Function at 0x459190
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Initialize winsock library
Receive data
Receive data on socket

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x5f
push 0
push 0
dec ecx
jne 0x459199
push ecx
xchg dword [ebp - 4], ecx
push ebx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.004040cc
mov eax, dword [ebp - 8]
call fcn.004040cc
mov eax, dword [ebp - 0xc]
call fcn.004040cc
mov eax, dword [ebp + 8]
call fcn.004040cc
xor eax, eax
push ebp
push 0x45967b
push dword fs:[eax]
mov dword fs:[eax], esp
xor ebx, ebx
cmp dword [ebp - 4], 0
je 0x459640
lea eax, [ebp - 0x1a4]
push eax
push 0x101
call sub.wsock32.dll_WSAStartup
push 0
push 1
push 2
call sub.wsock32.dll_socket
mov dword [ebp - 0x10], eax
mov word [ebp - 0x1b4], 2
mov edx, 0x19
mov eax, dword [ebp - 8]
call fcn.00408c64
push eax
call sub.wsock32.dll_htons
mov edx, 0x19
mov eax, dword [ebp - 8]
call fcn.00408c64
push eax
call sub.wsock32.dll_htons
mov word [ebp - 0x1b2], ax
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 4]
call fcn.0044cf0c
mov eax, dword [ebp - 0x14]
call fcn.004040dc
push eax
call sub.wsock32.dll_inet_addr
mov dword [ebp - 0x1b0], eax
push 0x10
lea eax, [ebp - 0x1b4]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.wsock32.dll_connect
push 0
push 0x100
lea eax, [ebp - 0x2b4]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.wsock32.dll_recv
inc eax
je 0x459640
lea eax, [ebp - 0x2b8]
push eax
lea eax, [ebp - 0x2bc]
lea edx, [ebp - 0x2b4]
mov ecx, 0x100
call fcn.00403ec8
mov eax, dword [ebp - 0x2bc]
mov ecx, 3
mov edx, 1
call fcn.00404120
mov eax, dword [ebp - 0x2b8]
mov edx, 0x459694
call fcn.00404028
jne 0x459640
push 0x4596a0
push dword [ebp - 4]
push 0x4596b0
lea eax, [ebp - 0x2c0]
mov edx, 3
call fcn.00403fd8
mov edx, dword [ebp - 0x2c0]
lea eax, [ebp - 0x10]
call fcn.00459124
push 0
push 0x100
lea eax, [ebp - 0x2b4]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.wsock32.dll_recv
inc eax
je 0x459640
lea eax, [ebp - 0x2c4]
push eax
lea eax, [ebp - 0x2c8]
lea edx, [ebp - 0x2b4]
mov ecx, 0x100
call fcn.00403ec8
mov eax, dword [ebp - 0x2c8]
mov ecx, 3
mov edx, 1
call fcn.00404120
mov eax, dword [ebp - 0x2c4]
mov edx, 0x4596bc
call fcn.00404028
jne 0x459640
push 0x4596c8
push dword [ebp - 0xc]
push 0x4596e0
push 0x4596b0
lea eax, [ebp - 0x2cc]
mov edx, 4
call fcn.00403fd8
mov edx, dword [ebp - 0x2cc]
lea eax, [ebp - 0x10]
call fcn.00459124
push 0
push 0x100
lea eax, [ebp - 0x2b4]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.wsock32.dll_recv
inc eax
je 0x459640
lea eax, [ebp - 0x2d0]
push eax
lea eax, [ebp - 0x2d4]
lea edx, [ebp - 0x2b4]
mov ecx, 0x100
call fcn.00403ec8
mov eax, dword [ebp - 0x2d4]
mov ecx, 3
mov edx, 1
call fcn.00404120
mov eax, dword [ebp - 0x2d0]
mov edx, 0x4596bc
call fcn.00404028
jne 0x459640
push 0x4596ec
push dword [ebp - 0xc]
push 0x4596e0
push 0x4596b0
lea eax, [ebp - 0x2d8]
mov edx, 4
call fcn.00403fd8
mov edx, dword [ebp - 0x2d8]
lea eax, [ebp - 0x10]
call fcn.00459124
push 0
push 0x100
lea eax, [ebp - 0x2b4]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.wsock32.dll_recv
inc eax
je 0x459640
lea eax, [ebp - 0x2dc]
push eax
lea eax, [ebp - 0x2e0]
lea edx, [ebp - 0x2b4]
mov ecx, 0x100
call fcn.00403ec8
mov eax, dword [ebp - 0x2e0]
mov ecx, 3
mov edx, 1
call fcn.00404120
mov eax, dword [ebp - 0x2dc]
mov edx, 0x4596bc
call fcn.00404028
jne 0x459640
lea eax, [ebp - 0x10]
mov edx, 0x459700
call fcn.00459124
push 0
push 0x100
lea eax, [ebp - 0x2b4]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.wsock32.dll_recv
inc eax
je 0x459640
lea eax, [ebp - 0x2e4]
push eax
lea eax, [ebp - 0x2e8]
lea edx, [ebp - 0x2b4]
mov ecx, 0x100
call fcn.00403ec8
mov eax, dword [ebp - 0x2e8]
mov ecx, 3
mov edx, 1
call fcn.00404120
mov eax, dword [ebp - 0x2e4]
mov edx, 0x459710
call fcn.00404028
jne 0x459640
push 0x45971c
push dword [ebp - 0xc]
push 0x4596b0
lea eax, [ebp - 0x2ec]
mov edx, 3
call fcn.00403fd8
mov edx, dword [ebp - 0x2ec]
lea eax, [ebp - 0x10]
call fcn.00459124
push 0x45972c
mov eax, dword [0x49eec8]
push dword [eax]
push 0x4596b0
lea eax, [ebp - 0x2f0]
mov edx, 3
call fcn.00403fd8
mov edx, dword [ebp - 0x2f0]
lea eax, [ebp - 0x10]
call fcn.00459124
push 0x459740
push dword [ebp - 0xc]
push 0x4596b0
lea eax, [ebp - 0x2f4]
mov edx, 3
call fcn.00403fd8
mov edx, dword [ebp - 0x2f4]
lea eax, [ebp - 0x10]
call fcn.00459124
lea eax, [ebp - 0x10]
mov edx, 0x459750
call fcn.00459124
push dword [ebp + 8]
push 0x4596b0
push 0x4596b0
lea eax, [ebp - 0x2f8]
mov edx, 3
call fcn.00403fd8
mov edx, dword [ebp - 0x2f8]
lea eax, [ebp - 0x10]
call fcn.00459124
lea eax, [ebp - 0x10]
mov edx, 0x459788
call fcn.00459124
push 0
push 0x100
lea eax, [ebp - 0x2b4]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.wsock32.dll_recv
inc eax
je 0x459640
lea eax, [ebp - 0x2fc]
push eax
lea eax, [ebp - 0x300]
lea edx, [ebp - 0x2b4]
mov ecx, 0x100
call fcn.00403ec8
mov eax, dword [ebp - 0x300]
mov ecx, 3
mov edx, 1
call fcn.00404120
mov eax, dword [ebp - 0x2fc]
mov edx, 0x4596bc
call fcn.00404028
jne 0x459640
lea eax, [ebp - 0x10]
mov edx, 0x459798
call fcn.00459124
mov bl, 1
call sub.wsock32.dll_WSACleanup
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x459682
lea eax, [ebp - 0x300]
mov edx, 0x13
call fcn.00403cbc
lea eax, [ebp - 0x14]
call fcn.00403c98
lea eax, [ebp - 0xc]
mov edx, 3
call fcn.00403cbc
lea eax, [ebp + 8]
call fcn.00403c98
ret