Function at 0x46738c
Capabilities:
Link many functions at runtime

Disassembly:
push esi
push str.ws2_32.dll
call fcn.00466d24
add esp, 4
test eax, eax
mov dword [0x4b8ba4], eax
mov dword [0x4b8ba8], eax
jne 0x4673c2
push str.wsock32.dll
call fcn.00466d24
add esp, 4
test eax, eax
mov dword [0x4b8ba4], eax
je 0x467a59
push str.getaddrinfo
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x467449
mov eax, dword [0x4b8ba4]
test eax, eax
je 0x4674a6
push str.getaddrinfo
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x4b8ba4]
mov dword [0x4b8bac], eax
test ecx, ecx
je 0x4674b0
push str.freeaddrinfo
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x4b8ba4]
xor esi, esi
mov dword [0x4b8bb0], eax
test ecx, ecx
je 0x4674e6
push str.getnameinfo
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x4b8ba4]
mov dword [0x4b8bb4], eax
test ecx, ecx
je 0x4674e6
push str.gai_strerror
push ecx
jmp 0x4674de
push str.wship6.dll
call fcn.00466d24
add esp, 4
test eax, eax
mov dword [0x4b8bbc], eax
je 0x4674ec
push str.getaddrinfo
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x4b8bac], eax
mov eax, dword [0x4b8bbc]
test eax, eax
je 0x4674be
push str.freeaddrinfo
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x4b8bbc]
mov dword [0x4b8bb0], eax
test ecx, ecx
je 0x4674c8
push str.getnameinfo
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
jmp 0x4674ca
mov dword [0x4b8bac], 0
mov dword [0x4b8bb0], 0
xor esi, esi
jmp 0x4674e6
mov dword [0x4b8bb0], 0
xor eax, eax
mov dword [0x4b8bb4], eax
mov eax, dword [0x4b8ba4]
test eax, eax
je 0x4674ba
push str.gai_strerror
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
mov dword [0x4b8bb8], esi
mov eax, dword [0x4b8ba8]
test eax, eax
je 0x467503
push str.WSAAddressToStringA
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
jmp 0x467505
xor eax, eax
mov dword [0x4b8bc0], eax
mov eax, dword [0x4b8ba4]
test eax, eax
je 0x4678ab
push str.WSAAsyncSelect
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x4b8ba4]
mov dword [0x4b7698], eax
test ecx, ecx
je 0x4678b5
push str.WSAEventSelect
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x4b8ba4]
mov dword [0x4b82ec], eax
test ecx, ecx
je 0x4678bf
push 0x49e458
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x4b8ba4]
mov dword [0x4b9280], eax
test ecx, ecx
je 0x4678c9
push str.WSAGetLastError
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x4b8ba4]
mov dword [0x4b769c], eax
test ecx, ecx
je 0x4678d3
push str.WSAEnumNetworkEvents
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x4b8ba4]
mov dword [0x4b82f0], eax
test ecx, ecx
je 0x4678dd
push str.WSAStartup
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x4b8ba4]
mov dword [0x4b8bc4], eax
test ecx, ecx
je 0x4678e7
push str.WSACleanup
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x4b8ba4]
mov dword [0x4b8bc8], eax
test ecx, ecx
je 0x4678f1
push str.closesocket
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x4b8ba4]
mov dword [0x4b8bcc], eax
test ecx, ecx
je 0x4678fb
push str.ntohl
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x4b8ba4]
mov dword [0x4b8bd0], eax
test ecx, ecx
je 0x467905
push str.htonl
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x4b8ba4]
mov dword [0x4b8bd4], eax
test ecx, ecx
je 0x46790f
push str.htons
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x4b8ba4]
mov dword [0x4b8bd8], eax
test ecx, ecx
je 0x467919
push str.ntohs
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x4b8ba4]
mov dword [0x4b8bdc], eax
test ecx, ecx
je 0x467923
push str.gethostname
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x4b8ba4]
mov dword [0x4b8be0], eax
test ecx, ecx
je 0x46792d
push str.gethostbyname
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x4b8ba4]
mov dword [0x4b8be4], eax
test ecx, ecx
je 0x467937
push str.getservbyname
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x4b8ba4]
mov dword [0x4b8be8], eax
test ecx, ecx
je 0x467941
push str.inet_addr
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x4b8ba4]
mov dword [0x4b8bec], eax
test ecx, ecx
je 0x46794b
push str.inet_ntoa
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x4b8ba4]
mov dword [0x4b8bf0], eax
test ecx, ecx
je 0x467955
push str.inet_ntop
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x4b8ba4]
mov dword [0x4b8bf4], eax
test ecx, ecx
je 0x46795f
push 0x49e445
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x4b8ba4]
mov dword [0x4b8bf8], eax
test ecx, ecx
je 0x467969
push str.bind
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x4b8ba4]
mov dword [0x4b8bfc], eax
test ecx, ecx
je 0x467973
push str.setsockopt
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x4b8ba4]
mov dword [0x4b8c00], eax
test ecx, ecx
je 0x46797d
push 0x49e1e4
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x4b8ba4]
mov dword [0x4b8c04], eax
test ecx, ecx
je 0x467987
push str.listen
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x4b8ba4]
mov dword [0x4b8c08], eax
test ecx, ecx
je 0x467991
push str.send
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x4b8ba4]
mov dword [0x4b8c0c], eax
test ecx, ecx
je 0x46799b
push 0x4a0cab
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x4b8ba4]
mov dword [0x4b8c10], eax
test ecx, ecx
je 0x4679a5
push str.ioctlsocket
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x4b8ba4]
mov dword [0x4b8c14], eax
test ecx, ecx
je 0x4679af
push str.accept
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x4b8ba4]
mov dword [0x4b8c18], eax
test ecx, ecx
je 0x4679b9
push str.getpeername
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x4b8ba4]
mov dword [0x4b8c1c], eax
test ecx, ecx
je 0x467a3e
push str.recv
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x4b8ba4]
mov dword [0x4b8c20], eax
test ecx, ecx
je 0x467a48
push str.WSAIoctl
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
jmp 0x4679c5
mov dword [0x4b7698], 0
mov dword [0x4b82ec], 0
mov dword [0x4b9280], 0
mov dword [0x4b769c], 0
mov dword [0x4b82f0], 0
mov dword [0x4b8bc4], 0
mov dword [0x4b8bc8], 0
mov dword [0x4b8bcc], 0
mov dword [0x4b8bd0], 0
mov dword [0x4b8bd4], 0
mov dword [0x4b8bd8], 0
mov dword [0x4b8bdc], 0
mov dword [0x4b8be0], 0
mov dword [0x4b8be4], 0
mov dword [0x4b8be8], 0
mov dword [0x4b8bec], 0
mov dword [0x4b8bf0], 0
mov dword [0x4b8bf4], 0
mov dword [0x4b8bf8], 0
mov dword [0x4b8bfc], 0
mov dword [0x4b8c00], 0
mov dword [0x4b8c04], 0
mov dword [0x4b8c08], 0
mov dword [0x4b8c0c], 0
mov dword [0x4b8c10], 0
mov dword [0x4b8c14], 0
mov dword [0x4b8c18], 0
xor eax, eax
mov dword [0x4b8c1c], eax
mov dword [0x4b8c20], eax
mov dword [0x4b8c24], eax
push 0x4b8c2c
push 0x202
call dword [0x4b8bc4]
test eax, eax
jne 0x4679eb
movzx eax, byte [0x4b8c2c]
cmp ax, 2
je 0x467a2a
push 0x4b8c2c
push 2
call dword [0x4b8bc4]
test eax, eax
jne 0x467a09
movzx eax, byte [0x4b8c2c]
cmp ax, 2
je 0x467a2a
push 0x4b8c2c
push 0x101
call dword [0x4b8bc4]
test eax, eax
jne 0x467a4f
movzx eax, byte [0x4b8c2c]
cmp ax, 1
jne 0x467a4f
push 0x467a63
call fcn.004544f4
add esp, 4
mov dword [0x4b8c28], eax
pop esi
ret
mov dword [0x4b8c20], 0
xor eax, eax
jmp 0x4679c5
push str.Unable_to_initialise_WinSock
call fcn.0045d08b
push str.Unable_to_load_any_WinSock_library
call fcn.0045d08b
push edi
push esi
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
xor eax, eax
dec eax
mov esi, dword [edx + 4]
mov edi, dword [ecx + 4]
cmp esi, edi
jb 0x467a8d
cmp esi, edi
jbe 0x467a83
xor eax, eax
inc eax
jmp 0x467a8d
cmp edx, ecx
jb 0x467a8d
seta al
movzx eax, al
pop esi
pop edi
ret