Function at 0x561940
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push ebx
sub esp, 0x14
push ecx
push edi
lea edi, [esp + 8]
mov eax, 0xcccccccc
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
pop edi
pop ecx
cmp byte [0x6596a0], 0
je 0x56196d
mov al, byte [0x6596a1]
lea esp, [ebp - 4]
pop ebx
pop ebp
ret
mov byte [0x6596a0], 1
push str.wsock32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x620d10], eax
push str.ws2_32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x620d14], eax
cmp dword [0x620d10], 0
je 0x5619a6
cmp dword [0x620d14], 0
jne 0x5619ae
mov al, 0
lea esp, [ebp - 4]
pop ebx
pop ebp
ret
push str.WSAGetLastError
push dword [0x620d10]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x620d04], eax
push str.WSAStartup
push dword [0x620d10]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x620d0c], eax
push str.WSACleanup
push dword [0x620d10]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x620d08], eax
push str.__WSAFDIsSet
push dword [0x620d10]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x620d00], eax
cmp dword [0x620d04], 0
je 0x561a2a
cmp dword [0x620d0c], 0
je 0x561a2a
cmp dword [0x620d08], 0
je 0x561a2a
cmp dword [0x620d00], 0
jne 0x561a32
mov al, 0
lea esp, [ebp - 4]
pop ebx
pop ebp
ret
push str.gethostbyname
push dword [0x620d10]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x620c98], eax
push str.htons
push dword [0x620d10]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x620ca4], eax
push str.htonl
push dword [0x620d10]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x620ca8], eax
push str.ntohs
push dword [0x620d10]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x620cac], eax
push str.ntohl
push dword [0x620d10]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x620cb0], eax
push str.inet_ntoa
push dword [0x620d10]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x620cc0], eax
push str.select
push dword [0x620d10]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x620cc4], eax
push str.send
push dword [0x620d10]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x620cd0], eax
push str.bind
push dword [0x620d10]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x620cb4], eax
push str.connect
push dword [0x620d10]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x620ca0], eax
push str.listen
push dword [0x620d10]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x620cb8], eax
push str.accept
push dword [0x620d10]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x620cd8], eax
push str.recv
push dword [0x620d10]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x620cd4], eax
push str.socket
push dword [0x620d10]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x620c9c], eax
push str.getpeername
push dword [0x620d10]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x620cbc], eax
push str.getsockname
push dword [0x620d10]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x620ce4], eax
push str.recvfrom
push dword [0x620d10]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x620cdc], eax
push str.sendto
push dword [0x620d10]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x620ce0], eax
push str.inet_addr
push dword [0x620d10]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x620c94], eax
call fcn.0056d3b0
cmp al, 0
je 0x561c0b
push str.getsockopt
push dword [0x620d14]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x620ce8], eax
push str.setsockopt
push dword [0x620d14]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x620cfc], eax
jmp 0x561c37
push str.getsockopt
push dword [0x620d10]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x620ce8], eax
push str.setsockopt
push dword [0x620d10]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x620cfc], eax
push str.getaddrinfo
push dword [0x620d14]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x620cec], eax
push str.freeaddrinfo
push dword [0x620d14]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x620cf0], eax
mov dword [0x620cf4], 0x561920
push str.ioctlsocket
push dword [0x620d10]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x620ccc], eax
push str.ioctlsocket
push dword [0x620d10]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x620cf8], eax
push str.closesocket
push dword [0x620d10]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x620cc8], eax
push 0x620d18
push 0x101
call dword [0x620d0c]
mov byte [ebp - 5], 0
mov byte [ebp - 6], 0
mov byte [ebp - 7], 0
mov byte [ebp - 8], 0
mov byte [ebp - 9], 0
mov byte [ebp - 0xa], 0
mov byte [ebp - 0xb], 0
mov byte [ebp - 0xc], 0
mov byte [ebp - 0xd], 0
mov byte [ebp - 0xe], 0
mov byte [ebp - 0xf], 0
mov byte [ebp - 0x10], 0
mov byte [ebp - 0x11], 0
mov byte [ebp - 0x12], 0
mov byte [ebp - 0x13], 0
mov byte [ebp - 0x14], 0
mov byte [ebp - 0x15], 0
mov bl, 0
mov cl, 0
mov dl, 0
mov al, 0
cmp dword [0x620c94], 0
je 0x561d1f
cmp dword [0x620c98], 0
je 0x561d1f
mov al, 1
cmp al, 0
je 0x561d2e
cmp dword [0x620c9c], 0
je 0x561d2e
mov dl, 1
cmp dl, 0
je 0x561d3e
cmp dword [0x620ca0], 0
je 0x561d3e
mov cl, 1
cmp cl, 0
je 0x561d4e
cmp dword [0x620ca4], 0
je 0x561d4e
mov bl, 1
cmp bl, 0
je 0x561d60
cmp dword [0x620ca8], 0
je 0x561d60
mov byte [ebp - 0x15], 1
cmp byte [ebp - 0x15], 0
je 0x561d73
cmp dword [0x620cb4], 0
je 0x561d73
mov byte [ebp - 0x14], 1
cmp byte [ebp - 0x14], 0
je 0x561d86
cmp dword [0x620cb8], 0
je 0x561d86
mov byte [ebp - 0x13], 1
cmp byte [ebp - 0x13], 0
je 0x561d99
cmp dword [0x620cbc], 0
je 0x561d99
mov byte [ebp - 0x12], 1
cmp byte [ebp - 0x12], 0
je 0x561dac
cmp dword [0x620cc0], 0
je 0x561dac
mov byte [ebp - 0x11], 1
cmp byte [ebp - 0x11], 0
je 0x561dbf
cmp dword [0x620cc4], 0
je 0x561dbf
mov byte [ebp - 0x10], 1
cmp byte [ebp - 0x10], 0
je 0x561dd2
cmp dword [0x620cc8], 0
je 0x561dd2
mov byte [ebp - 0xf], 1
cmp byte [ebp - 0xf], 0
je 0x561de5
cmp dword [0x620ccc], 0
je 0x561de5
mov byte [ebp - 0xe], 1
cmp byte [ebp - 0xe], 0
je 0x561df8
cmp dword [0x620cd0], 0
je 0x561df8
mov byte [ebp - 0xd], 1
cmp byte [ebp - 0xd], 0
je 0x561e0b
cmp dword [0x620cd4], 0
je 0x561e0b
mov byte [ebp - 0xc], 1
cmp byte [ebp - 0xc], 0
je 0x561e1e
cmp dword [0x620cd8], 0
je 0x561e1e
mov byte [ebp - 0xb], 1
cmp byte [ebp - 0xb], 0
je 0x561e31
cmp dword [0x620cdc], 0
je 0x561e31
mov byte [ebp - 0xa], 1
cmp byte [ebp - 0xa], 0
je 0x561e44
cmp dword [0x620ce0], 0
je 0x561e44
mov byte [ebp - 9], 1
cmp byte [ebp - 9], 0
je 0x561e57
cmp dword [0x620ce4], 0
je 0x561e57
mov byte [ebp - 8], 1
cmp byte [ebp - 8], 0
je 0x561e6a
cmp dword [0x620ce8], 0
je 0x561e6a
mov byte [ebp - 7], 1
cmp byte [ebp - 7], 0
je 0x561e7d
cmp dword [0x620cfc], 0
je 0x561e7d
mov byte [ebp - 6], 1
cmp byte [ebp - 6], 0
je 0x561e90
cmp dword [0x620cf8], 0
je 0x561e90
mov byte [ebp - 5], 1
mov al, byte [ebp - 5]
mov byte [0x6596a1], al
mov al, byte [0x6596a1]
lea esp, [ebp - 4]
pop ebx
pop ebp
ret