Function at 0x52b9a0
Capabilities:
Get socket status
Receive data
Receive data on socket
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffe68
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x194], ebx
mov dword [ebp - 0x198], ebx
mov dword [ebp - 0x190], ebx
mov dword [ebp - 8], ecx
mov dword [ebp - 4], edx
mov edi, eax
mov eax, dword [ebp - 4]
call fcn.00404ac0
mov eax, dword [ebp - 8]
call fcn.00404ac0
mov eax, dword [ebp + 8]
call fcn.00404ac0
xor eax, eax
push ebp
push 0x52bd4b
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.004789b4
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x52ba02
or esi, 0xffffffff
jmp 0x52bd0d
cmp ebx, 0xffffffff
jne 0x52ba0f
or esi, 0xffffffff
jmp 0x52bd0d
test ebx, ebx
jne 0x52ba1a
xor esi, esi
jmp 0x52bd0d
test ebx, ebx
jle 0x52bb5f
lea eax, [ebp - 0x17c]
mov edx, 0x64
call fcn.0040769c
cmp dword [ebp + 8], 0
jne 0x52ba41
mov byte [ebp - 0x17c], 0x6e
jmp 0x52ba57
cmp dword [ebp - 4], 0
jne 0x52ba50
mov byte [ebp - 0x17c], 0x82
jmp 0x52ba57
mov byte [ebp - 0x17c], 0x6f
xor eax, eax
mov dword [ebp - 0x14], eax
mov eax, 0x52bd68
call fcn.004093b4
test al, al
je 0x52ba77
lea edx, [ebp - 0x14]
mov eax, 0x52bd68
call fcn.00477ec4
mov eax, 0x52bd84
call fcn.004093b4
test al, al
je 0x52ba92
lea edx, [ebp - 0x14]
mov eax, 0x52bd84
call fcn.00477ec4
mov eax, 0x52bd9c
call fcn.004093b4
test al, al
je 0x52baaf
lea edx, [ebp - 0x14]
mov eax, 0x52bd9c
call fcn.00477ec4
jmp 0x52baca
mov eax, 0x52bdb4
call fcn.004093b4
test al, al
je 0x52baca
lea edx, [ebp - 0x14]
mov eax, 0x52bdb4
call fcn.00477ec4
mov eax, dword [ebp - 0x14]
mov ecx, 0x2710
xor edx, edx
div ecx
imul eax, eax, 0x2710
add eax, 0x457
mov dword [ebp - 0x178], eax
mov eax, dword [ebp - 4]
call fcn.00404ad0
mov edx, eax
lea eax, [ebp - 0x174]
call fcn.004095fc
mov eax, dword [ebp - 8]
call fcn.00404ad0
mov edx, eax
lea eax, [ebp - 0x154]
call fcn.004095fc
mov eax, dword [ebp + 8]
call fcn.00404ad0
mov edx, eax
lea eax, [ebp - 0x144]
call fcn.004095fc
call fcn.00478698
mov dword [ebp - 0x124], eax
push 0
push 0x64
lea eax, [ebp - 0x17c]
push eax
push ebx
call sub.wsock32.dll_send
cmp eax, 0x64
je 0x52bb5f
mov esi, 0xfffffffd
push 2
push ebx
call sub.wsock32.dll_shutdown
push ebx
call sub.wsock32.dll_closesocket
jmp 0x52bd0d
mov dword [ebp - 0x10], 3
xor eax, eax
mov dword [ebp - 0xc], eax
lea eax, [ebp - 0x118]
call fcn.004736a8
lea edx, [ebp - 0x118]
mov eax, ebx
call fcn.00473698
lea eax, [ebp - 0x10]
push eax
push 0
push 0
lea eax, [ebp - 0x118]
push eax
push 0
call sub.wsock32.dll_select
cmp eax, 0xffffffff
jne 0x52bbb4
or esi, 0xffffffff
push 2
push ebx
call sub.wsock32.dll_shutdown
push ebx
call sub.wsock32.dll_closesocket
jmp 0x52bd0d
test eax, eax
jne 0x52bbcd
xor esi, esi
push 2
push ebx
call sub.wsock32.dll_shutdown
push ebx
call sub.wsock32.dll_closesocket
jmp 0x52bd0d
test eax, eax
jle 0x52bcff
lea edx, [ebp - 0x118]
mov eax, ebx
call fcn.00473680
test al, al
je 0x52bcff
lea eax, [ebp - 0x18c]
mov edx, 0x10
call fcn.0040769c
push 0
push 0x10
lea eax, [ebp - 0x18c]
push eax
push ebx
call sub.wsock32.dll_recv
cmp eax, 0x10
je 0x52bc28
mov esi, 0xfffffffd
push 2
push ebx
call sub.wsock32.dll_shutdown
push ebx
call sub.wsock32.dll_closesocket
jmp 0x52bd0d
lea edx, [ebp - 0x118]
mov eax, ebx
call fcn.00473658
xor eax, eax
mov al, byte [ebp - 0x18c]
cmp eax, 0xd5
jg 0x52bc5c
je 0x52bcec
sub eax, 0xd2
je 0x52bc75
dec eax
je 0x52bc7f
dec eax
je 0x52bc86
jmp 0x52bcff
sub eax, 0xfb
je 0x52bcf3
sub eax, 2
je 0x52bcfa
jmp 0x52bcff
mov esi, 0xd2
jmp 0x52bcff
mov esi, 0xd3
jmp 0x52bcff
lea eax, [ebp - 0x190]
lea edx, [ebp - 0x18b]
mov ecx, 0xf
call fcn.00404880
mov edx, dword [ebp - 0x190]
mov eax, dword [edi + 0x380]
call fcn.00494798
lea edx, [ebp - 0x198]
mov eax, dword [edi + 0x380]
call fcn.00494704
mov eax, dword [ebp - 0x198]
lea edx, [ebp - 0x194]
call fcn.00408bd0
mov eax, dword [ebp - 0x194]
call fcn.004784d4
test al, al
je 0x52bce5
mov esi, 0xd4
jmp 0x52bcff
mov esi, 0xfffffffc
jmp 0x52bcff
mov esi, 0xd5
jmp 0x52bcff
mov esi, 0xfb
jmp 0x52bcff
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 0x52bd52
lea eax, [ebp - 0x198]
call fcn.00404610
lea eax, [ebp - 0x194]
mov edx, 2
call fcn.00404634
lea eax, [ebp - 8]
mov edx, 2
call fcn.00404634
lea eax, [ebp + 8]
call fcn.00404610
ret