Function at 0x43d5c0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
mov ebx, eax
sub esp, 0x2bc
mov dword [ebp - 0x280], eax
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x80000000
mov dword [esp + 8], 0
mov dword [esp + 4], str.static
mov dword [esp], 0
call sub.user32.dll_CreateWindowExA
sub esp, 0x30
mov edi, eax
mov dword [ebp - 0x27c], eax
mov dword [esp + 4], 0x2825
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
xor eax, eax
test edi, edi
mov dword [esp + 4], str.CreateWindowEx_failed_n
setne al
mov dword [esp], eax
call fcn.00465cf0
lea eax, [ebp - 0x264]
mov dword [ebp - 0x25c], ebx
mov dword [esp + 0x14], eax
lea eax, [ebp - 0x25c]
mov dword [esp + 0xc], eax
mov eax, dword [sym.imp.kernel32.dll_CreateThread]
mov dword [ebp - 0x258], edi
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0x43e370
mov dword [esp + 4], 0
mov dword [esp], 0
mov dword [ebp - 0x28c], eax
call eax
sub esp, 0x18
mov ebx, eax
mov dword [esp + 4], 0x282a
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x34]
mov dword [esp + 4], str.CreateThread_error__u_n
mov dword [esp + 8], eax
xor eax, eax
test ebx, ebx
setne al
mov dword [esp], eax
call fcn.00465cf0
mov eax, dword [sym.imp.kernel32.dll_WaitForSingleObject]
mov dword [esp], ebx
mov dword [esp + 4], 0x2710
mov dword [ebp - 0x290], eax
call eax
sub esp, 8
mov ebx, eax
mov dword [esp + 4], 0x282c
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
xor eax, eax
test ebx, ebx
mov dword [esp + 4], str.thread_failed_to_terminate_n
sete al
lea ebx, [ebp - 0x254]
mov dword [esp], eax
call fcn.00465cf0
mov eax, dword [sym.imp.kernel32.dll_Sleep]
mov dword [esp], 0x64
mov dword [ebp - 0x288], eax
call eax
xor edx, edx
xor eax, eax
sub esp, 4
mov dword [ebx + eax], edx
add eax, 4
cmp eax, 0x1c
jb 0x43d760
mov edi, dword [ebp - 0x27c]
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0x464
mov dword [esp + 4], edi
mov dword [esp + 8], 0x464
mov dword [esp], ebx
call sub.user32.dll_PeekMessageA
sub esp, 0x14
mov esi, eax
mov dword [esp + 4], 0x2831
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov dword [esp + 8], esi
mov dword [esp], esi
mov dword [esp + 4], str.got__d_n
call fcn.00465cf0
mov dword [esp + 4], 0x2832
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov eax, dword [ebp - 0x254]
mov dword [esp + 4], str.got__p_n
cmp eax, edi
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp + 4], 0x2833
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov eax, dword [ebp - 0x250]
mov dword [esp + 4], str.got__04x_n
cmp eax, 0x464
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp + 4], 0x2834
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov esi, dword [ebp - 0x280]
mov eax, dword [ebp - 0x24c]
mov dword [esp + 4], str.got__08lx_n
cmp eax, esi
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp + 4], 0x2835
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov eax, dword [ebp - 0x248]
mov dword [esp + 4], str.got__08lx_n
cmp eax, 2
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
mov dword [ebp - 0x280], esi
mov dword [esp], esi
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x12345678
mov dword [esp + 4], 0
call dword [sym.imp.kernel32.dll_CreateIoCompletionPort]
sub esp, 0x10
mov dword [ebp - 0x284], eax
mov dword [esp + 4], 0x2838
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
mov esi, dword fs:[0x18]
call fcn.00465a80
mov ecx, dword [ebp - 0x284]
mov eax, dword [esi + 0x34]
mov dword [esp + 4], str.CreateIoCompletionPort_error__u_n
mov dword [esp + 8], eax
xor eax, eax
test ecx, ecx
setne al
mov dword [esp], eax
call fcn.00465cf0
mov edx, dword [ebp - 0x288]
mov dword [esp], 0x64
call edx
mov dword [ebp - 0x27c], edi
sub esp, 4
mov dword [esp + 4], edi
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0x464
mov dword [esp + 8], 0x464
mov dword [esp], ebx
call sub.user32.dll_PeekMessageA
sub esp, 0x14
mov edi, eax
mov dword [esp + 4], 0x283c
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov eax, dword [ebp - 0x248]
mov dword [esp + 4], str.got__04x__08lx__08lx_n
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x24c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x250]
mov dword [esp + 8], eax
xor eax, eax
test edi, edi
sete al
mov dword [esp], eax
call fcn.00465cf0
lea edx, [ebp - 0x218]
xor eax, eax
mov ecx, pe_nt_image_headers32
mov edi, edx
mov dword [ebp - 0x230], edx
rep stosd dword es:[edi], eax
mov ecx, dword [ebp - 0x280]
lea eax, [ebp - 0x238]
mov dword [ebp - 0x22c], 0
mov dword [ebp - 0x228], 0
mov dword [ebp - 0x238], ecx
lea ecx, [ebp - 0x264]
mov dword [esp + 0x14], ecx
mov ecx, dword [ebp - 0x28c]
mov dword [ebp - 0x224], 0
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x234], 0x200
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x438880
mov dword [esp + 4], 0
mov dword [esp], 0
call ecx
sub esp, 0x18
mov edi, eax
mov dword [esp + 4], 0x2844
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov eax, dword [esi + 0x34]
mov dword [esp + 4], str.CreateThread_error__u_n
mov dword [esp + 8], eax
xor eax, eax
test edi, edi
setne al
mov dword [esp], eax
call fcn.00465cf0
mov ecx, dword [ebp - 0x290]
mov dword [esp], edi
mov dword [esp + 4], 0x2710
call ecx
sub esp, 8
mov edi, eax
mov dword [esp + 4], 0x2846
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
xor eax, eax
test edi, edi
mov dword [esp + 4], str.thread_failed_to_terminate_n
sete al
mov dword [esp], eax
call fcn.00465cf0
mov edx, dword [ebp - 0x288]
mov dword [esp], 0x64
call edx
mov edi, dword [ebp - 0x27c]
sub esp, 4
mov dword [esp + 4], edi
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0x464
mov dword [esp + 8], 0x464
mov dword [esp], ebx
call sub.user32.dll_PeekMessageA
sub esp, 0x14
mov edi, eax
mov dword [esp + 4], 0x284a
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov eax, dword [ebp - 0x248]
mov dword [esp + 4], str.got__04x__08lx__08lx_n
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x24c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x250]
mov dword [esp + 8], eax
xor eax, eax
test edi, edi
sete al
mov dword [esp], eax
call fcn.00465cf0
mov eax, dword [ebp - 0x284]
lea ecx, [ebp - 0x26c]
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 0xc], ecx
lea ecx, [ebp - 0x260]
mov dword [esp], eax
mov eax, dword [sym.imp.kernel32.dll_GetQueuedCompletionStatus]
mov dword [esp + 8], ecx
lea ecx, [ebp - 0x268]
mov dword [esp + 4], ecx
mov dword [ebp - 0x268], 0xdeadbeef
mov dword [ebp - 0x260], 0xdeadbeef
mov dword [ebp - 0x26c], 0xdeadbeef
mov dword [esp + 0x10], 0x64
mov dword [ebp - 0x28c], eax
call eax
sub esp, 0x14
mov edi, eax
mov dword [esp + 4], 0x2851
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.got__d_n
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp + 4], 0x2852
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov edi, dword [esi + 0x34]
mov eax, 1
cmp edi, 0x102
je 0x43dc0f
xor eax, eax
cmp edi, 0x3e3
sete al
mov dword [esp], eax
call fcn.00465b60
test eax, eax
setne al
movzx eax, al
mov dword [esp + 8], edi
mov dword [esp + 4], str.got__u_n
mov dword [esp], eax
call fcn.00465cf0
mov edx, dword fs:[0x18]
cmp dword [edx + 0x34], 0x102
mov dword [ebp - 0x290], edx
jne 0x43e230
mov dword [esp + 4], 0x2856
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov eax, dword [ebp - 0x268]
mov dword [esp + 4], str.got_bytes__u_n
cmp eax, 0xdeadbeef
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp + 4], 0x2857
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov eax, dword [ebp - 0x260]
mov dword [esp + 4], str.got_key__lx_n
cmp eax, 0xdeadbeef
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp + 4], 0x2858
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov eax, dword [ebp - 0x26c]
mov dword [esp + 4], str.got_ovl__p_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
mov edi, dword [ebp - 0x288]
mov dword [esp], 0x64
call edi
mov eax, dword [ebp - 0x27c]
sub esp, 4
mov dword [esp], ebx
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0x464
mov dword [esp + 8], 0x464
mov dword [esp + 4], eax
call sub.user32.dll_PeekMessageA
sub esp, 0x14
mov esi, eax
mov dword [esp + 4], 0x286b
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov eax, dword [ebp - 0x248]
mov dword [esp + 4], str.got__04x__08lx__08lx_n
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x24c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x250]
mov dword [esp + 8], eax
xor eax, eax
test esi, esi
sete al
mov dword [esp], eax
call fcn.00465cf0
mov ecx, dword [ebp - 0x280]
mov dword [esp], ecx
call sub.ws2_32.dll_closesocket
sub esp, 4
mov dword [esp], 0x64
call edi
mov eax, dword [ebp - 0x27c]
sub esp, 4
mov dword [esp], ebx
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0x464
mov dword [esp + 8], 0x464
mov dword [esp + 4], eax
call sub.user32.dll_PeekMessageA
sub esp, 0x14
mov ebx, eax
mov dword [esp + 4], 0x2871
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov eax, dword [ebp - 0x248]
mov dword [esp + 4], str.got__04x__08lx__08lx_n
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x24c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x250]
mov dword [esp + 8], eax
xor eax, eax
test ebx, ebx
sete al
mov dword [esp], eax
call fcn.00465cf0
mov edx, dword [ebp - 0x290]
lea eax, [ebp - 0x26c]
mov dword [ebp - 0x268], 0xdeadbeef
mov dword [ebp - 0x260], 0xdeadbeef
mov dword [edx + 0x34], 0xdeadbeef
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x260]
mov dword [esp + 8], eax
lea eax, [ebp - 0x268]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x284]
mov dword [ebp - 0x280], edx
mov dword [esp], eax
mov eax, dword [ebp - 0x28c]
mov dword [ebp - 0x26c], 0
mov dword [esp + 0x10], 0x64
call eax
sub esp, 0x14
mov ebx, eax
mov dword [esp + 4], 0x2878
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.got__d_n
mov ebx, 0x470694
mov dword [esp], eax
mov edi, ebx
call fcn.00465cf0
mov esi, dword [str.windows]
mov ecx, 5
repe cmpsb byte [esi], byte es:[edi]
seta al
sbb al, 0
test al, al
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00465e60
mov edx, dword [ebp - 0x280]
mov esi, edx
jmp 0x43df18
mov dword [esp + 4], 0x287a
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov edx, dword [esi + 0x34]
mov eax, 1
cmp edx, 0x4d4
je 0x43deff
xor eax, eax
cmp edx, 0x40
sete al
mov dword [esp + 8], edx
mov dword [esp], eax
mov dword [esp + 4], str.got__u_n
call fcn.00465cf0
call fcn.00465eb0
call fcn.00465e90
test eax, eax
jne 0x43ded3
mov dword [esp + 4], 0x287b
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov eax, dword [ebp - 0x268]
mov dword [esp + 4], str.got_bytes__u_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp + 4], 0x287c
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov eax, dword [ebp - 0x260]
mov dword [esp + 4], 0x472feb
cmp eax, 0x12345678
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp + 4], 0x287d
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov eax, dword [ebp - 0x26c]
lea edx, [ebp - 0x22c]
mov dword [esp + 4], str.got_ovl__p_n
cmp eax, edx
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
mov eax, dword [ebp - 0x26c]
test eax, eax
je 0x43e095
mov dword [esp + 4], 0x2880
mov edi, ebx
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov eax, dword [ebp - 0x26c]
mov eax, dword [eax + 4]
mov dword [esp + 4], str.got__lx_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
mov esi, dword [str.windows]
mov ecx, 5
repe cmpsb byte [esi], byte es:[edi]
seta al
sbb al, 0
test al, al
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00465e60
jmp 0x43e08c
mov dword [esp + 4], 0x2882
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov eax, dword [ebp - 0x26c]
mov edx, dword [eax]
mov dword [esp + 4], str.got__lx_n
cmp edx, 0xc0000241
mov dword [esp + 8], edx
sete al
cmp edx, 0xc000013b
sete dl
or eax, edx
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
call fcn.00465eb0
call fcn.00465e90
test eax, eax
jne 0x43e040
lea eax, [ebp - 0x26c]
mov edi, dword [ebp - 0x284]
mov dword [ebp - 0x268], 0xdeadbeef
mov ebx, dword fs:[0x18]
mov dword [ebx + 0x34], 0xdeadbeef
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x260]
mov dword [esp + 8], eax
lea eax, [ebp - 0x268]
mov dword [ebp - 0x260], 0xdeadbeef
mov dword [ebp - 0x26c], 0xdeadbeef
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x28c]
mov dword [esp], edi
mov dword [esp + 0x10], 0x64
call eax
sub esp, 0x14
mov esi, eax
mov dword [esp + 4], 0x288b
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.got__d_n
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp + 4], 0x288c
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov eax, dword [ebx + 0x34]
mov dword [esp + 4], str.got__u_n
mov dword [esp + 8], eax
xor eax, eax
cmp dword [ebx + 0x34], 0x102
sete al
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp + 4], 0x288d
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov eax, dword [ebp - 0x268]
mov dword [esp + 4], str.got_bytes__u_n
cmp eax, 0xdeadbeef
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp + 4], 0x288e
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov eax, dword [ebp - 0x260]
mov dword [esp + 4], str.got_key__lu_n
cmp eax, 0xdeadbeef
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp + 4], 0x288f
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov eax, dword [ebp - 0x26c]
mov dword [esp + 4], str.got_ovl__p_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp], edi
call dword [sym.imp.kernel32.dll_CloseHandle]
mov eax, dword [ebp - 0x27c]
sub esp, 4
mov dword [esp], eax
call sub.user32.dll_DestroyWindow
sub esp, 4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 4], 0x285c
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov eax, dword [ebp - 0x268]
mov dword [esp + 4], str.got_bytes__u_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp + 4], 0x285d
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov eax, dword [ebp - 0x260]
mov dword [esp + 4], 0x472feb
cmp eax, 0x12345678
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp + 4], 0x285e
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov eax, dword [ebp - 0x26c]
lea edx, [ebp - 0x22c]
mov dword [esp + 4], str.got_ovl__p_n
cmp eax, edx
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
mov edx, dword [ebp - 0x26c]
test edx, edx
je 0x43e359
mov dword [esp + 4], 0x2861
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov eax, dword [ebp - 0x26c]
mov eax, dword [eax + 4]
mov dword [esp + 4], str.got__lx_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
mov dword [esp + 4], 0x2862
mov dword [esp], str..._wine_dlls_ws2_32_tests_sock.c
call fcn.00465a80
mov eax, dword [ebp - 0x26c]
mov eax, dword [eax]
mov dword [esp + 4], str.got__lx_n
cmp eax, 0xc0000120
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00465cf0
mov eax, dword [ebp - 0x280]
mov dword [esp], eax
call sub.ws2_32.dll_closesocket
sub esp, 4
jmp 0x43e095