Function at 0x43a3b0
Capabilities:
Get socket status
Receive data
Receive data on socket

Disassembly:
sub esp, 0x328
mov eax, dword [esp + 0x33c]
push ebx
push ebp
push esi
push edi
mov dword [esp + 0x10], 0
mov dword [eax], 0
nop
mov ecx, dword [esp + 0x33c]
mov ebp, dword [ecx]
mov eax, dword [ebp + 0x19c]
xor ecx, ecx
mov ebx, 0x493e0
test eax, eax
jle 0x43a3ef
mov ecx, 1
mov edx, dword [ebp + 0x1a0]
test edx, edx
jle 0x43a3fc
or ecx, 2
sub ecx, 1
je 0x43a413
sub ecx, 1
je 0x43a40f
sub ecx, 1
jne 0x43a415
cmp eax, edx
jl 0x43a413
mov ebx, edx
jmp 0x43a415
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
mov eax, 0x10624dd3
mul ecx
mov edi, edx
shr edi, 6
mov edx, edi
imul edx, edx, 0x3e8
mov esi, dword [ebp + 0x4d0]
sub ecx, edx
imul ecx, ecx, 0x3e8
sub ecx, dword [ebp + 0x4d4]
mov eax, 0x10624dd3
imul ecx
sub esi, edi
imul esi, esi, 0x3e8
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
add ebx, esi
je 0x43a66c
test ebx, ebx
jl 0x43a66c
xor edi, edi
xor ebp, ebp
xor esi, esi
cmp dword [esp + 0x340], 0xffffffff
je 0x43a657
test ebx, ebx
jle 0x43a4b0
mov esi, ebx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
mov eax, 0x10624dd3
mul ecx
shr edx, 6
mov eax, edx
imul eax, eax, 0x3e8
sub ecx, eax
imul ecx, ecx, 0x3e8
mov edi, edx
mov ebp, ecx
mov ecx, dword [esp + 0x340]
mov eax, 1
mov dword [esp + 0x12c], ecx
mov dword [esp + 0x128], eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x230], 0
test ebx, ebx
jle 0x43a50a
mov eax, 0x10624dd3
imul esi
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x18], eax
imul eax, eax, 0x3e8
mov ecx, esi
sub ecx, eax
imul ecx, ecx, 0x3e8
mov dword [esp + 0x1c], ecx
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x24]
push eax
mov eax, dword [esp + 0x348]
lea ecx, [esp + 0x238]
push ecx
lea edx, [esp + 0x134]
push edx
inc eax
push eax
call dword [sym.imp.WS2_32.dll_select]
mov dword [esp + 0x14], eax
cmp eax, 0xffffffff
jne 0x43a5b7
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
test eax, eax
je 0x43a556
cmp dword [0x4cbda8], 0
jne 0x43a5b3
cmp eax, 0x2714
jne 0x43a5b3
test ebx, ebx
jle 0x43a50a
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
mov eax, 0x10624dd3
mul ecx
shr edx, 6
mov eax, edx
imul eax, eax, 0x3e8
sub ecx, eax
imul ecx, ecx, 0x3e8
sub ecx, ebp
mov esi, edi
sub esi, edx
mov eax, 0x10624dd3
imul esi, esi, 0x3e8
imul ecx
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub esi, ecx
add esi, ebx
test esi, esi
jg 0x43a4dd
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x328
ret
mov eax, dword [esp + 0x14]
test eax, eax
jl 0x43a5a5
je 0x43a5a5
mov edi, dword [esp + 0x340]
lea edx, [esp + 0x128]
push edx
push edi
xor esi, esi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x43a5dd
mov esi, 1
lea eax, [esp + 0x20]
push eax
push edi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x43a5ef
or esi, 4
test esi, esi
jle 0x43a5a5
mov esi, dword [esp + 0x348]
mov ecx, dword [esp + 0x344]
push 0
push esi
push ecx
push edi
call dword [sym.imp.WS2_32.dll_recv]
cmp eax, 0xffffffff
jne 0x43a632
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
je 0x43a3d0
mov eax, 0x38
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x328
ret
cmp esi, eax
je 0x43a67c
test eax, eax
je 0x43a5a5
add dword [esp + 0x344], eax
sub esi, eax
add dword [esp + 0x10], eax
mov dword [esp + 0x348], esi
jmp 0x43a3d0
push ebx
call dword [sym.imp.KERNEL32.dll_Sleep]
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x328
ret
mov eax, 0x1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x328
ret
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x34c]
pop edi
pop esi
add eax, edx
pop ebp
mov dword [ecx], eax
xor eax, eax
pop ebx
add esp, 0x328
ret