Function at 0x52c434
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Create tcp socket
Get socket status
Receive data
Receive data on socket
Send data
Send data on socket
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffd4c
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x2b0], ebx
mov dword [ebp - 0x2b4], ebx
mov dword [ebp - 0x2ac], ebx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 8], ecx
mov dword [ebp - 4], edx
mov edi, eax
mov eax, dword [ebp - 4]
call fcn.00404f18
mov eax, dword [ebp - 8]
call fcn.00404f18
mov eax, dword [ebp + 8]
call fcn.00404f18
xor eax, eax
push ebp
push 0x52c8a7
push dword fs:[eax]
mov dword fs:[eax], esp
push 6
push 1
push 2
call sub.wsock32.dll_socket
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x52c49f
or esi, 0xffffffff
jmp 0x52c861
lea eax, [ebp - 0x10]
mov edx, dword [0x538e18]
mov ecx, 0x10
call fcn.00404cd8
mov word [ebp - 0x2c], 2
mov eax, dword [ebp - 0x10]
call fcn.00404f28
push eax
call sub.wsock32.dll_inet_addr
mov dword [ebp - 0x28], eax
push 0x53f
call sub.wsock32.dll_htons
mov word [ebp - 0x2a], ax
mov dword [ebp - 0xc], 1
lea eax, [ebp - 0xc]
push eax
push 0x8004667e
push ebx
call sub.wsock32.dll_ioctlsocket
push 0x10
lea eax, [ebp - 0x2c]
push eax
push ebx
call sub.wsock32.dll_connect
mov dword [ebp - 0x18], 3
mov dword [ebp - 0x14], 0x1f4
lea eax, [ebp - 0x130]
call fcn.00474074
lea edx, [ebp - 0x130]
mov eax, ebx
call fcn.00474064
lea eax, [ebp - 0x18]
push eax
push 0
lea eax, [ebp - 0x130]
push eax
push 0
push 0
call sub.wsock32.dll_select
cmp eax, 0xffffffff
jne 0x52c550
or esi, 0xffffffff
push 2
push ebx
call sub.wsock32.dll_shutdown
push ebx
call sub.wsock32.dll_closesocket
jmp 0x52c861
test eax, eax
jne 0x52c569
xor esi, esi
push 2
push ebx
call sub.wsock32.dll_shutdown
push ebx
call sub.wsock32.dll_closesocket
jmp 0x52c861
test eax, eax
jle 0x52c6b3
lea edx, [ebp - 0x130]
mov eax, ebx
call fcn.0047404c
test al, al
je 0x52c6b3
lea eax, [ebp - 0x298]
mov edx, 0x64
call fcn.00407bcc
cmp dword [ebp + 8], 0
jne 0x52c5a5
mov byte [ebp - 0x298], 0x6e
jmp 0x52c5bb
cmp dword [ebp - 4], 0
jne 0x52c5b4
mov byte [ebp - 0x298], 0x82
jmp 0x52c5bb
mov byte [ebp - 0x298], 0x6f
xor eax, eax
mov dword [ebp - 0x1c], eax
mov eax, 0x52c8c4
call fcn.0040995c
test al, al
je 0x52c5db
lea edx, [ebp - 0x1c]
mov eax, 0x52c8c4
call fcn.004788a8
mov eax, 0x52c8e0
call fcn.0040995c
test al, al
je 0x52c5f6
lea edx, [ebp - 0x1c]
mov eax, 0x52c8e0
call fcn.004788a8
mov eax, 0x52c8f8
call fcn.0040995c
test al, al
je 0x52c611
lea edx, [ebp - 0x1c]
mov eax, 0x52c8f8
call fcn.004788a8
mov eax, dword [ebp - 0x1c]
mov ecx, 0x2710
xor edx, edx
div ecx
imul eax, eax, 0x2710
add eax, 0x457
mov dword [ebp - 0x294], eax
mov eax, dword [ebp - 4]
call fcn.00404f28
mov edx, eax
lea eax, [ebp - 0x290]
call fcn.00409bb8
mov eax, dword [ebp - 8]
call fcn.00404f28
mov edx, eax
lea eax, [ebp - 0x270]
call fcn.00409bb8
mov eax, dword [ebp + 8]
call fcn.00404f28
mov edx, eax
lea eax, [ebp - 0x260]
call fcn.00409bb8
call fcn.0047905c
mov dword [ebp - 0x240], eax
push 0
push 0x64
lea eax, [ebp - 0x298]
push eax
push ebx
call sub.wsock32.dll_send
cmp eax, 0x64
je 0x52c6a6
mov esi, 0xfffffffd
push 2
push ebx
call sub.wsock32.dll_shutdown
push ebx
call sub.wsock32.dll_closesocket
jmp 0x52c861
lea edx, [ebp - 0x130]
mov eax, ebx
call fcn.00474024
mov dword [ebp - 0x18], 3
xor eax, eax
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x234]
call fcn.00474074
lea edx, [ebp - 0x234]
mov eax, ebx
call fcn.00474064
lea eax, [ebp - 0x18]
push eax
push 0
push 0
lea eax, [ebp - 0x234]
push eax
push 0
call sub.wsock32.dll_select
cmp eax, 0xffffffff
jne 0x52c708
or esi, 0xffffffff
push 2
push ebx
call sub.wsock32.dll_shutdown
push ebx
call sub.wsock32.dll_closesocket
jmp 0x52c861
test eax, eax
jne 0x52c721
xor esi, esi
push 2
push ebx
call sub.wsock32.dll_shutdown
push ebx
call sub.wsock32.dll_closesocket
jmp 0x52c861
test eax, eax
jle 0x52c853
lea edx, [ebp - 0x234]
mov eax, ebx
call fcn.0047404c
test al, al
je 0x52c853
lea eax, [ebp - 0x2a8]
mov edx, 0x10
call fcn.00407bcc
push 0
push 0x10
lea eax, [ebp - 0x2a8]
push eax
push ebx
call sub.wsock32.dll_recv
cmp eax, 0x10
je 0x52c77c
mov esi, 0xfffffffd
push 2
push ebx
call sub.wsock32.dll_shutdown
push ebx
call sub.wsock32.dll_closesocket
jmp 0x52c861
lea edx, [ebp - 0x234]
mov eax, ebx
call fcn.00474024
xor eax, eax
mov al, byte [ebp - 0x2a8]
cmp eax, 0xd5
jg 0x52c7b0
je 0x52c840
sub eax, 0xd2
je 0x52c7c9
dec eax
je 0x52c7d3
dec eax
je 0x52c7da
jmp 0x52c853
sub eax, 0xfb
je 0x52c847
sub eax, 2
je 0x52c84e
jmp 0x52c853
mov esi, 0xd2
jmp 0x52c853
mov esi, 0xd3
jmp 0x52c853
lea eax, [ebp - 0x2ac]
lea edx, [ebp - 0x2a7]
mov ecx, 0xf
call fcn.00404cd8
mov edx, dword [ebp - 0x2ac]
mov eax, dword [edi + 0x380]
call fcn.004abed8
lea edx, [ebp - 0x2b4]
mov eax, dword [edi + 0x380]
call fcn.004abe44
mov eax, dword [ebp - 0x2b4]
lea edx, [ebp - 0x2b0]
call fcn.00409138
mov eax, dword [ebp - 0x2b0]
call fcn.00478e98
test al, al
je 0x52c839
mov esi, 0xd4
jmp 0x52c853
mov esi, 0xfffffffc
jmp 0x52c853
mov esi, 0xd5
jmp 0x52c853
mov esi, 0xfb
jmp 0x52c853
mov esi, 0xfd
push 2
push ebx
call sub.wsock32.dll_shutdown
push ebx
call sub.wsock32.dll_closesocket
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x52c8ae
lea eax, [ebp - 0x2b4]
call fcn.00404a68
lea eax, [ebp - 0x2b0]
mov edx, 2
call fcn.00404a8c
lea eax, [ebp - 0x10]
call fcn.00404a68
lea eax, [ebp - 8]
mov edx, 2
call fcn.00404a8c
lea eax, [ebp + 8]
call fcn.00404a68
ret