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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x220
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x16138]
mov dword [ebp - 4], ecx
mov dword [ebp - 8], 1
cmp dword [ebp - 4], 0x3e8
jne 0x470e9d
mov eax, dword [ebp - 4]
jmp 0x47113e
xor edx, edx
mov eax, dword [ebp + 8]
mov word [eax + 0x154f4], dx
mov ecx, dword [ebp + 8]
push ecx
call fcn.00470760
add esp, 4
mov edx, dword [ebp + 8]
cmp dword [edx + 0x3068], 0xffffffff
je 0x470fde
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x218], 0
mov dword [ebp - 0x110], 0
cmp dword [ebp - 0x218], 0x40
jae 0x470f1b
mov eax, dword [ebp - 0x218]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x3068]
mov dword [ebp + eax*4 - 0x214], edx
mov eax, dword [ebp - 0x218]
add eax, 1
mov dword [ebp - 0x218], eax
xor ecx, ecx
jne 0x470eed
cmp dword [ebp - 0x110], 0x40
jae 0x470f4d
mov edx, dword [ebp - 0x110]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x3068]
mov dword [ebp + edx*4 - 0x10c], ecx
mov edx, dword [ebp - 0x110]
add edx, 1
mov dword [ebp - 0x110], edx
xor eax, eax
jne 0x470f1f
lea ecx, [ebp - 0x220]
push ecx
push 0
lea edx, [ebp - 0x110]
push edx
lea eax, [ebp - 0x218]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x3068]
add edx, 1
push edx
call sub.WSOCK32.dll_select
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jle 0x470fde
lea eax, [ebp - 0x110]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x3068]
push edx
call sub.WSOCK32.dll___WSAFDIsSet
test eax, eax
je 0x470fd7
lea eax, [ebp - 0x218]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x3068]
push edx
call sub.WSOCK32.dll___WSAFDIsSet
test eax, eax
je 0x470fde
push 2
push 1
mov eax, dword [ebp + 8]
add eax, 0x134a4
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x3068]
push edx
call sub.WSOCK32.dll_recv
test eax, eax
jge 0x470fde
mov dword [ebp - 8], 0
cmp dword [ebp - 4], 0xffffffff
jne 0x470ffe
mov eax, dword [ebp + 8]
cmp dword [eax + 0x2c], 0
jne 0x471126
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x30], 0
jne 0x471126
cmp dword [ebp - 8], 0
jle 0x471126
mov edx, dword [ebp + 8]
mov dword [edx + 0x16138], 0
mov eax, dword [ebp + 8]
push eax
call fcn.00413140
add esp, 4
mov ecx, dword [ebp + 8]
push ecx
call fcn.004132f0
add esp, 4
mov edx, dword [ebp + 8]
push edx
call fcn.0045f5e0
add esp, 4
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
and ecx, 8
je 0x47108c
mov edx, dword [ebp + 8]
push edx
call fcn.0046e340
add esp, 4
mov eax, dword [ebp + 8]
push eax
call fcn.00413170
add esp, 4
mov ecx, dword [ebp + 8]
push ecx
call fcn.0046e8d0
add esp, 4
mov edx, dword [ebp + 8]
push edx
call fcn.00413330
add esp, 4
mov eax, dword [ebp + 8]
push eax
call fcn.0046e970
add esp, 4
mov ecx, dword [ebp + 8]
push ecx
call fcn.0046e4f0
add esp, 4
mov edx, dword [ebp + 8]
push edx
call fcn.0045f7f0
add esp, 4
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00470620
add esp, 8
test eax, eax
jne 0x47110c
mov edx, dword [ebp + 8]
push edx
call fcn.0046e340
add esp, 4
test eax, eax
jne 0x47110c
mov eax, dword [ebp + 8]
push eax
call fcn.00413170
add esp, 4
test eax, eax
jne 0x47110c
mov ecx, dword [ebp + 8]
push ecx
call fcn.0046e8d0
add esp, 4
test eax, eax
jne 0x47110c
mov edx, dword [ebp + 8]
push edx
call fcn.00413330
add esp, 4
test eax, eax
jne 0x47110c
mov eax, dword [ebp + 8]
push eax
call fcn.0046e970
add esp, 4
test eax, eax
jne 0x47110c
mov ecx, dword [ebp + 8]
push ecx
call fcn.0046e4f0
add esp, 4
test eax, eax
je 0x47111a
mov edx, dword [ebp + 8]
push edx
call fcn.0045f100
add esp, 4
jmp 0x47113e
mov eax, dword [ebp + 8]
push eax
call fcn.00460c70
add esp, 4
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
mov dword [ecx + 0x16138], edx
mov eax, dword [ebp + 8]
push eax
call fcn.0045f100
add esp, 4
mov esp, ebp
pop ebp
ret