Changeset 1631
- Timestamp:
- 06/21/08 18:26:02 (2 months ago)
- Files:
-
- libemu/trunk/src/environment/win32/env_w32_dll_export_kernel32_hooks.c (modified) (32 diffs)
- libemu/trunk/src/environment/win32/env_w32_dll_export_msvcrt_hooks.c (modified) (2 diffs)
- libemu/trunk/src/environment/win32/env_w32_dll_export_urlmon_hooks.c (modified) (3 diffs)
- libemu/trunk/src/environment/win32/env_w32_dll_export_ws2_32_hooks.c (modified) (18 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
libemu/trunk/src/environment/win32/env_w32_dll_export_kernel32_hooks.c
r1607 r1631 43 43 #include "../../../config.h" 44 44 #include "emu/emu.h" 45 #include "emu/emu_log.h" 45 46 #include "emu/emu_memory.h" 46 47 #include "emu/emu_cpu.h" … … 59 60 int32_t env_w32_hook_CloseHandle(struct emu_env *env, struct emu_env_hook *hook) 60 61 { 61 printf("Hook me Captain Cook!\n");62 printf("%s:%i %s\n",__FILE__,__LINE__,__FUNCTION__);62 logDebug(env->emu, "Hook me Captain Cook!\n"); 63 logDebug(env->emu, "%s:%i %s\n",__FILE__,__LINE__,__FUNCTION__); 63 64 64 65 struct emu_cpu *c = emu_cpu_get(env->emu); … … 88 89 int32_t env_w32_hook_CreateFileA(struct emu_env *env, struct emu_env_hook *hook) 89 90 { 90 printf("Hook me Captain Cook!\n");91 printf("%s:%i %s\n",__FILE__,__LINE__,__FUNCTION__);91 logDebug(env->emu, "Hook me Captain Cook!\n"); 92 logDebug(env->emu, "%s:%i %s\n",__FILE__,__LINE__,__FUNCTION__); 92 93 93 94 struct emu_cpu *c = emu_cpu_get(env->emu); … … 148 149 int32_t env_w32_hook_CreateProcessA(struct emu_env *env, struct emu_env_hook *hook) 149 150 { 150 printf("Hook me Captain Cook!\n");151 printf("%s:%i %s\n",__FILE__,__LINE__,__FUNCTION__);151 logDebug(env->emu, "Hook me Captain Cook!\n"); 152 logDebug(env->emu, "%s:%i %s\n",__FILE__,__LINE__,__FUNCTION__); 152 153 153 154 struct emu_cpu *c = emu_cpu_get(env->emu); … … 309 310 int32_t env_w32_hook_DeleteFileA(struct emu_env *env, struct emu_env_hook *hook) 310 311 { 311 printf("Hook me Captain Cook!\n");312 printf("%s:%i %s\n",__FILE__,__LINE__,__FUNCTION__);312 logDebug(env->emu, "Hook me Captain Cook!\n"); 313 logDebug(env->emu, "%s:%i %s\n",__FILE__,__LINE__,__FUNCTION__); 313 314 314 315 struct emu_cpu *c = emu_cpu_get(env->emu); … … 336 337 int32_t env_w32_hook_ExitProcess(struct emu_env *env, struct emu_env_hook *hook) 337 338 { 338 printf("Hook me Captain Cook!\n");339 printf("%s:%i %s\n",__FILE__,__LINE__,__FUNCTION__);339 logDebug(env->emu, "Hook me Captain Cook!\n"); 340 logDebug(env->emu, "%s:%i %s\n",__FILE__,__LINE__,__FUNCTION__); 340 341 341 342 struct emu_cpu *c = emu_cpu_get(env->emu); … … 361 362 int32_t env_w32_hook_ExitThread(struct emu_env *env, struct emu_env_hook *hook) 362 363 { 363 printf("Hook me Captain Cook!\n");364 printf("%s:%i %s\n",__FILE__,__LINE__,__FUNCTION__);364 logDebug(env->emu, "Hook me Captain Cook!\n"); 365 logDebug(env->emu, "%s:%i %s\n",__FILE__,__LINE__,__FUNCTION__); 365 366 366 367 struct emu_cpu *c = emu_cpu_get(env->emu); … … 386 387 int32_t env_w32_hook_fclose(struct emu_env *env, struct emu_env_hook *hook) 387 388 { 388 printf("Hook me Captain Cook!\n");389 printf("%s:%i %s\n",__FILE__,__LINE__,__FUNCTION__);389 logDebug(env->emu, "Hook me Captain Cook!\n"); 390 logDebug(env->emu, "%s:%i %s\n",__FILE__,__LINE__,__FUNCTION__); 390 391 391 392 struct emu_cpu *c = emu_cpu_get(env->emu); … … 408 409 409 410 410 printf("fclose(0x%08x)\n", p_stream);411 logDebug(env->emu, "fclose(0x%08x)\n", p_stream); 411 412 412 413 emu_cpu_reg32_set(c, eax, 0); … … 420 421 int32_t env_w32_hook_fopen(struct emu_env *env, struct emu_env_hook *hook) 421 422 { 422 printf("Hook me Captain Cook!\n");423 printf("%s:%i %s\n",__FILE__,__LINE__,__FUNCTION__);423 logDebug(env->emu, "Hook me Captain Cook!\n"); 424 logDebug(env->emu, "%s:%i %s\n",__FILE__,__LINE__,__FUNCTION__); 424 425 425 426 struct emu_cpu *c = emu_cpu_get(env->emu); … … 466 467 int32_t env_w32_hook_fwrite(struct emu_env *env, struct emu_env_hook *hook) 467 468 { 468 printf("Hook me Captain Cook!\n");469 printf("%s:%i %s\n",__FILE__,__LINE__,__FUNCTION__);469 logDebug(env->emu, "Hook me Captain Cook!\n"); 470 logDebug(env->emu, "%s:%i %s\n",__FILE__,__LINE__,__FUNCTION__); 470 471 471 472 struct emu_cpu *c = emu_cpu_get(env->emu); … … 501 502 502 503 503 printf("fwrite(0x%08x, %d, %d, 0x%08x)\n", p_buffer, size, count, p_stream);504 logDebug(env->emu, "fwrite(0x%08x, %d, %d, 0x%08x)\n", p_buffer, size, count, p_stream); 504 505 505 506 emu_cpu_reg32_set(c, eax, size*count); … … 542 543 emu_profile_argument_add_string(env->profile, "", "", emu_string_char(procname)); 543 544 544 printf("procname name is '%s'\n", emu_string_char(procname));545 logDebug(env->emu, "procname name is '%s'\n", emu_string_char(procname)); 545 546 546 547 int i; … … 549 550 if ( env->env.win->loaded_dlls[i]->baseaddr == module ) 550 551 { 551 printf("dll is %s %08x %08x \n",552 logDebug(env->emu, "dll is %s %08x %08x \n", 552 553 env->env.win->loaded_dlls[i]->dllname, 553 554 module, … … 566 567 else 567 568 { 568 printf("found %s at addr %08x\n",emu_string_char(procname), dll->baseaddr + hook->hook.win->virtualaddr );569 logDebug(env->emu, "found %s at addr %08x\n",emu_string_char(procname), dll->baseaddr + hook->hook.win->virtualaddr ); 569 570 emu_cpu_reg32_set(c, eax, dll->baseaddr + hook->hook.win->virtualaddr); 570 571 … … 585 586 int32_t env_w32_hook_GetSystemDirectoryA(struct emu_env *env, struct emu_env_hook *hook) 586 587 { 587 printf("Hook me Captain Cook!\n");588 printf("%s:%i %s\n",__FILE__,__LINE__,__FUNCTION__);588 logDebug(env->emu, "Hook me Captain Cook!\n"); 589 logDebug(env->emu, "%s:%i %s\n",__FILE__,__LINE__,__FUNCTION__); 589 590 590 591 struct emu_cpu *c = emu_cpu_get(env->emu); … … 624 625 int32_t env_w32_hook_GetTickCount(struct emu_env *env, struct emu_env_hook *hook) 625 626 { 626 printf("Hook me Captain Cook!\n");627 printf("%s:%i %s\n",__FILE__,__LINE__,__FUNCTION__);627 logDebug(env->emu, "Hook me Captain Cook!\n"); 628 logDebug(env->emu, "%s:%i %s\n",__FILE__,__LINE__,__FUNCTION__); 628 629 629 630 struct emu_cpu *c = emu_cpu_get(env->emu); … … 646 647 int32_t env_w32_hook__lcreat(struct emu_env *env, struct emu_env_hook *hook) 647 648 { 648 printf("Hook me Captain Cook!\n");649 printf("%s:%i %s\n",__FILE__,__LINE__,__FUNCTION__);649 logDebug(env->emu, "Hook me Captain Cook!\n"); 650 logDebug(env->emu, "%s:%i %s\n",__FILE__,__LINE__,__FUNCTION__); 650 651 651 652 struct emu_cpu *c = emu_cpu_get(env->emu); … … 675 676 int32_t env_w32_hook__lclose(struct emu_env *env, struct emu_env_hook *hook) 676 677 { 677 printf("Hook me Captain Cook!\n");678 printf("%s:%i %s\n",__FILE__,__LINE__,__FUNCTION__);678 logDebug(env->emu, "Hook me Captain Cook!\n"); 679 logDebug(env->emu, "%s:%i %s\n",__FILE__,__LINE__,__FUNCTION__); 679 680 680 681 struct emu_cpu *c = emu_cpu_get(env->emu); … … 696 697 int32_t env_w32_hook__lwrite(struct emu_env *env, struct emu_env_hook *hook) 697 698 { 698 printf("Hook me Captain Cook!\n");699 printf("%s:%i %s\n",__FILE__,__LINE__,__FUNCTION__);699 logDebug(env->emu, "Hook me Captain Cook!\n"); 700 logDebug(env->emu, "%s:%i %s\n",__FILE__,__LINE__,__FUNCTION__); 700 701 701 702 struct emu_cpu *c = emu_cpu_get(env->emu); … … 761 762 if (strncasecmp(env->env.win->loaded_dlls[i]->dllname, dllname, strlen(env->env.win->loaded_dlls[i]->dllname)) == 0) 762 763 { 763 printf("found dll %s, baseaddr is %08x \n",env->env.win->loaded_dlls[i]->dllname,env->env.win->loaded_dlls[i]->baseaddr);764 logDebug(env->emu, "found dll %s, baseaddr is %08x \n",env->env.win->loaded_dlls[i]->dllname,env->env.win->loaded_dlls[i]->baseaddr); 764 765 emu_cpu_reg32_set(c, eax, env->env.win->loaded_dlls[i]->baseaddr); 765 766 found_dll = 1; … … 777 778 else 778 779 { 779 printf("error could not find %s\n", dllname);780 logDebug(env->emu, "error could not find %s\n", dllname); 780 781 emu_cpu_reg32_set(c, eax, 0x0); 781 782 emu_profile_function_returnvalue_ptr_set(env->profile, "HMODULE", 0x0); … … 792 793 int32_t env_w32_hook_malloc(struct emu_env *env, struct emu_env_hook *hook) 793 794 { 794 printf("Hook me Captain Cook!\n");795 printf("%s:%i %s\n",__FILE__,__LINE__,__FUNCTION__);795 logDebug(env->emu, "Hook me Captain Cook!\n"); 796 logDebug(env->emu, "%s:%i %s\n",__FILE__,__LINE__,__FUNCTION__); 796 797 797 798 struct emu_cpu *c = emu_cpu_get(env->emu); … … 811 812 PUSH_DWORD(c, size); 812 813 813 printf("malloc %i bytes\n", size);814 logDebug(env->emu, "malloc %i bytes\n", size); 814 815 815 816 uint32_t addr; … … 826 827 int32_t env_w32_hook_memset(struct emu_env *env, struct emu_env_hook *hook) 827 828 { 828 printf("Hook me Captain Cook!\n");829 printf("%s:%i %s\n",__FILE__,__LINE__,__FUNCTION__);829 logDebug(env->emu, "Hook me Captain Cook!\n"); 830 logDebug(env->emu, "%s:%i %s\n",__FILE__,__LINE__,__FUNCTION__); 830 831 831 832 struct emu_cpu *c = emu_cpu_get(env->emu); … … 856 857 857 858 858 printf("memset(0x%08x, 0x%08x, %i)\n", dest, writeme, size);859 logDebug(env->emu, "memset(0x%08x, 0x%08x, %i)\n", dest, writeme, size); 859 860 860 861 emu_cpu_reg32_set(c, eax, dest); … … 867 868 int32_t env_w32_hook_SetUnhandledExceptionFilter(struct emu_env *env, struct emu_env_hook *hook) 868 869 { 869 printf("Hook me Captain Cook!\n");870 printf("%s:%i %s\n",__FILE__,__LINE__,__FUNCTION__);870 logDebug(env->emu, "Hook me Captain Cook!\n"); 871 logDebug(env->emu, "%s:%i %s\n",__FILE__,__LINE__,__FUNCTION__); 871 872 872 873 struct emu_cpu *c = emu_cpu_get(env->emu); … … 883 884 POP_DWORD(c, &lpfilter); 884 885 885 printf("Exception filter %08x\n", lpfilter);886 logDebug(env->emu, "Exception filter %08x\n", lpfilter); 886 887 887 888 emu_cpu_reg32_set(c, eax, 0x7C81CDDA); … … 893 894 int32_t env_w32_hook_WaitForSingleObject(struct emu_env *env, struct emu_env_hook *hook) 894 895 { 895 printf("Hook me Captain Cook!\n");896 printf("%s:%i %s\n",__FILE__,__LINE__,__FUNCTION__);896 logDebug(env->emu, "Hook me Captain Cook!\n"); 897 logDebug(env->emu, "%s:%i %s\n",__FILE__,__LINE__,__FUNCTION__); 897 898 898 899 struct emu_cpu *c = emu_cpu_get(env->emu); … … 918 919 emu_profile_argument_add_int(env->profile, "DWORD", "dwMilliseconds", msecs); 919 920 920 printf("WaitForSingleObject(hHandle=%i, dwMilliseconds=%i)\n", handle, msecs);921 logDebug(env->emu, "WaitForSingleObject(hHandle=%i, dwMilliseconds=%i)\n", handle, msecs); 921 922 922 923 uint32_t returnvalue; … … 939 940 int32_t env_w32_hook_WinExec(struct emu_env *env, struct emu_env_hook *hook) 940 941 { 941 printf("Hook me Captain Cook!\n");942 printf("%s:%i %s\n",__FILE__,__LINE__,__FUNCTION__);942 logDebug(env->emu, "Hook me Captain Cook!\n"); 943 logDebug(env->emu, "%s:%i %s\n",__FILE__,__LINE__,__FUNCTION__); 943 944 944 945 struct emu_cpu *c = emu_cpu_get(env->emu); … … 982 983 int32_t env_w32_hook_WriteFile(struct emu_env *env, struct emu_env_hook *hook) 983 984 { 984 printf("Hook me Captain Cook!\n");985 printf("%s:%i %s\n",__FILE__,__LINE__,__FUNCTION__);985 logDebug(env->emu, "Hook me Captain Cook!\n"); 986 logDebug(env->emu, "%s:%i %s\n",__FILE__,__LINE__,__FUNCTION__); 986 987 987 988 struct emu_cpu *c = emu_cpu_get(env->emu); libemu/trunk/src/environment/win32/env_w32_dll_export_msvcrt_hooks.c
r1607 r1631 35 35 #include "../../../config.h" 36 36 #include "emu/emu.h" 37 #include "emu/emu_log.h" 37 38 #include "emu/emu_memory.h" 38 39 #include "emu/emu_cpu.h" … … 50 51 int32_t env_w32_hook__execv(struct emu_env *env, struct emu_env_hook *hook) 51 52 { 52 printf("Hook me Captain Cook!\n");53 printf("%s:%i %s\n",__FILE__,__LINE__,__FUNCTION__);53 logDebug(env->emu, "Hook me Captain Cook!\n"); 54 logDebug(env->emu, "%s:%i %s\n",__FILE__,__LINE__,__FUNCTION__); 54 55 55 56 struct emu_cpu *c = emu_cpu_get(env->emu); libemu/trunk/src/environment/win32/env_w32_dll_export_urlmon_hooks.c
r1607 r1631 35 35 #include "../../../config.h" 36 36 #include "emu/emu.h" 37 #include "emu/emu_log.h" 37 38 #include "emu/emu_memory.h" 38 39 #include "emu/emu_cpu.h" … … 50 51 int32_t env_w32_hook_URLDownloadToFileA(struct emu_env *env, struct emu_env_hook *hook) 51 52 { 52 printf("Hook me Captain Cook!\n");53 printf("%s:%i %s\n",__FILE__,__LINE__,__FUNCTION__);53 logDebug(env->emu, "Hook me Captain Cook!\n"); 54 logDebug(env->emu, "%s:%i %s\n",__FILE__,__LINE__,__FUNCTION__); 54 55 55 56 struct emu_cpu *c = emu_cpu_get(env->emu); … … 105 106 106 107 107 // printf(" %s -> %s\n", emu_string_char(url), emu_string_char(filename));108 // logDebug(env->emu, " %s -> %s\n", emu_string_char(url), emu_string_char(filename)); 108 109 109 110 emu_string_free(url); libemu/trunk/src/environment/win32/env_w32_dll_export_ws2_32_hooks.c
r1607 r1631 42 42 #include "../../../config.h" 43 43 #include "emu/emu.h" 44 #include "emu/emu_log.h" 44 45 #include "emu/emu_memory.h" 45 46 #include "emu/emu_cpu.h" … … 86 87 emu_profile_argument_add_none(env->profile); 87 88 88 printf("accept(s=%i, addr=%x, addrlen=%i);\n", s, addr, addrlen);89 logDebug(env->emu, "accept(s=%i, addr=%x, addrlen=%i);\n", s, addr, addrlen); 89 90 90 91 uint32_t returnvalue; … … 162 163 emu_profile_argument_add_int(env->profile, "int", "namelen", namelen); 163 164 164 printf("bind(s=%i, name=%x, namelen=%i\n", s, name, namelen);165 logDebug(env->emu, "bind(s=%i, name=%x, namelen=%i\n", s, name, namelen); 165 166 166 167 … … 187 188 int32_t env_w32_hook_closesocket(struct emu_env *env, struct emu_env_hook *hook) 188 189 { 189 printf("Hook me Captain Cook!\n");190 printf("%s:%i %s\n",__FILE__,__LINE__,__FUNCTION__);190 logDebug(env->emu, "Hook me Captain Cook!\n"); 191 logDebug(env->emu, "%s:%i %s\n",__FILE__,__LINE__,__FUNCTION__); 191 192 192 193 struct emu_cpu *c = emu_cpu_get(env->emu); … … 225 226 int32_t env_w32_hook_connect(struct emu_env *env, struct emu_env_hook *hook) 226 227 { 227 printf("Hook me Captain Cook!\n");228 printf("%s:%i %s\n",__FILE__,__LINE__,__FUNCTION__);228 logDebug(env->emu, "Hook me Captain Cook!\n"); 229 logDebug(env->emu, "%s:%i %s\n",__FILE__,__LINE__,__FUNCTION__); 229 230 230 231 struct emu_cpu *c = emu_cpu_get(env->emu); … … 294 295 int32_t env_w32_hook_listen(struct emu_env *env, struct emu_env_hook *hook) 295 296 { 296 printf("Hook me Captain Cook!\n");297 printf("%s:%i %s\n",__FILE__,__LINE__,__FUNCTION__);297 logDebug(env->emu, "Hook me Captain Cook!\n"); 298 logDebug(env->emu, "%s:%i %s\n",__FILE__,__LINE__,__FUNCTION__); 298 299 299 300 struct emu_cpu *c = emu_cpu_get(env->emu); … … 319 320 emu_profile_argument_add_int(env->profile, "int", "backlog", backlog); 320 321 321 printf("listen(s=%i, backlog=%i)\n", s, backlog);322 logDebug(env->emu, "listen(s=%i, backlog=%i)\n", s, backlog); 322 323 323 324 … … 342 343 int32_t env_w32_hook_recv(struct emu_env *env, struct emu_env_hook *hook) 343 344 { 344 printf("Hook me Captain Cook!\n");345 printf("%s:%i %s\n",__FILE__,__LINE__,__FUNCTION__);345 logDebug(env->emu, "Hook me Captain Cook!\n"); 346 logDebug(env->emu, "%s:%i %s\n",__FILE__,__LINE__,__FUNCTION__); 346 347 347 348 struct emu_cpu *c = emu_cpu_get(env->emu); … … 400 401 401 402 402 printf("recv(%i, 0x%08x, %i) == %i \n", s, buf, xlen, (int32_t)len);403 logDebug(env->emu, "recv(%i, 0x%08x, %i) == %i \n", s, buf, xlen, (int32_t)len); 403 404 if ((int32_t)returnvalue > 0) 404 405 emu_memory_write_block(emu_memory_get(env->emu), buf, buffer, len); … … 414 415 int32_t env_w32_hook_send(struct emu_env *env, struct emu_env_hook *hook) 415 416 { 416 printf("Hook me Captain Cook!\n");417 printf("%s:%i %s\n",__FILE__,__LINE__,__FUNCTION__);417 logDebug(env->emu, "Hook me Captain Cook!\n"); 418 logDebug(env->emu, "%s:%i %s\n",__FILE__,__LINE__,__FUNCTION__); 418 419 419 420 struct emu_cpu *c = emu_cpu_get(env->emu); … … 443 444 444 445 char *buffer = (char *)malloc(len); 445 printf("send(%i, 0x%08x, %i, %i)\n", s, buf, len, flags);446 logDebug(env->emu, "send(%i, 0x%08x, %i, %i)\n", s, buf, len, flags); 446 447 emu_memory_read_block(emu_memory_get(env->emu), buf, buffer, len); 447 448 … … 472 473 int32_t env_w32_hook_sendto(struct emu_env *env, struct emu_env_hook *hook) 473 474 { 474 printf("Hook me Captain Cook!\n");475 printf("%s:%i %s\n",__FILE__,__LINE__,__FUNCTION__);475 logDebug(env->emu, "Hook me Captain Cook!\n"); 476 logDebug(env->emu, "%s:%i %s\n",__FILE__,__LINE__,__FUNCTION__); 476 477 477 478 struct emu_cpu *c = emu_cpu_get(env->emu); … … 517 518 free(buffer); 518 519 519 printf("eip_save is %08x\n", eip_save);520 logDebug(env->emu, "eip_save is %08x\n", eip_save); 520 521 emu_cpu_eip_set(c, eip_save); 521 522 return 0; … … 524 525 int32_t env_w32_hook_socket(struct emu_env *env, struct emu_env_hook *hook) 525 526 { 526 printf("Hook me Captain Cook!\n");527 printf("%s:%i %s\n",__FILE__,__LINE__,__FUNCTION__);527 logDebug(env->emu, "Hook me Captain Cook!\n"); 528 logDebug(env->emu, "%s:%i %s\n",__FILE__,__LINE__,__FUNCTION__); 528 529 529 530 struct emu_cpu *c = emu_cpu_get(env->emu); … … 575 576 int32_t env_w32_hook_WSASocketA(struct emu_env *env, struct emu_env_hook *hook) 576 577 { 577 printf("Hook me Captain Cook!\n");578 printf("%s:%i %s\n",__FILE__,__LINE__,__FUNCTION__);578 logDebug(env->emu, "Hook me Captain Cook!\n"); 579 logDebug(env->emu, "%s:%i %s\n",__FILE__,__LINE__,__FUNCTION__); 579 580 580 581 struct emu_cpu *c = emu_cpu_get(env->emu); … … 625 626 626 627 627 printf("SOCKET WSASocket(af=%i, type=%i, protocol=%i, lpProtocolInfo=%x, group=%i, dwFlags=%i);\n",628 logDebug(env->emu, "SOCKET WSASocket(af=%i, type=%i, protocol=%i, lpProtocolInfo=%x, group=%i, dwFlags=%i);\n", 628 629 af, type, protocol, protocolinfo, group, flags); 629 630 … … 653 654 int32_t env_w32_hook_WSAStartup(struct emu_env *env, struct emu_env_hook *hook) 654 655 { 655 printf("Hook me Captain Cook!\n");656 printf("%s:%i %s\n",__FILE__,__LINE__,__FUNCTION__);656 logDebug(env->emu, "Hook me Captain Cook!\n"); 657 logDebug(env->emu, "%s:%i %s\n",__FILE__,__LINE__,__FUNCTION__); 657 658 658 659 struct emu_cpu *c = emu_cpu_get(env->emu); … … 672 673 uint32_t wsaversionreq; 673 674 POP_DWORD(c, &wsaversionreq); 674 printf("WSAStartup version %x\n", wsaversionreq);675 logDebug(env->emu, "WSAStartup version %x\n", wsaversionreq); 675 676 emu_profile_argument_add_int(env->profile, "WORD", "wVersionRequested", wsaversionreq); 676 677
