Function at 0x418a1e
Capabilities:
Receive data
Receive data on socket

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x81c
push 0x418d9c
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [0x435544]
push ecx
call fcn.0041644f
add esp, 0xc
mov dword [ebp - 0x808], eax
cmp dword [ebp - 0x808], 0
jne 0x418a58
mov eax, 1
jmp 0x418d64
mov edx, dword [ebp + 0xc]
shr edx, 0x10
and edx, 0xffff
and edx, 0xffff
mov dword [ebp - 0x804], edx
cmp dword [ebp - 0x804], 0
je 0x418aaa
mov eax, dword [ebp - 0x804]
push eax
mov ecx, dword [ebp - 0x804]
push ecx
call fcn.00417d88
add esp, 4
push eax
push 3
mov edx, dword [ebp - 0x808]
push edx
mov eax, dword [ebp - 0x808]
call dword [eax + 8]
add esp, 0x10
jmp 0x418d64
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.00401a8a
add esp, 4
mov edx, dword [ebp + 0xc]
and edx, 0xffff
mov dword [ebp - 0x818], edx
mov eax, dword [ebp - 0x818]
sub eax, 1
mov dword [ebp - 0x818], eax
cmp dword [ebp - 0x818], 0x1f
ja case.0x418aef.4
mov edx, dword [ebp - 0x818]
xor ecx, ecx
mov cl, byte [edx + 0x418d7c]
jmp dword [ecx*4 + 0x418d68]
mov eax, dword [ebp - 0x808]
cmp dword [eax + 0x20], 0
je 0x418b29
mov dword [ebp - 0x810], 1
lea ecx, [ebp - 0x810]
push ecx
push 0x40047307
mov edx, dword [ebp - 0x808]
mov eax, dword [edx + 4]
push eax
call sub.WSOCK32.dll_ioctlsocket
jmp 0x418b33
mov dword [ebp - 0x810], 1
push 0
push 0x800
lea ecx, [ebp - 0x800]
push ecx
mov edx, dword [ebp - 0x808]
mov eax, dword [edx + 4]
push eax
call sub.WSOCK32.dll_recv
mov dword [ebp - 0x814], eax
cmp dword [ebp - 0x814], 0
jge 0x418b7b
call sub.WSOCK32.dll_WSAGetLastError
mov dword [ebp - 0x804], eax
cmp dword [ebp - 0x804], 0x2733
jne 0x418b7b
jmp case.0x418aef.4
cmp dword [ebp - 0x814], 0
jge 0x418bb5
mov ecx, dword [ebp - 0x804]
push ecx
mov edx, dword [ebp - 0x804]
push edx
call fcn.00417d88
add esp, 4
push eax
push 3
mov eax, dword [ebp - 0x808]
push eax
mov ecx, dword [ebp - 0x808]
call dword [ecx + 8]
add esp, 0x10
jmp 0x418d64
mov edx, dword [ebp - 0x814]
push edx
lea eax, [ebp - 0x800]
push eax
xor ecx, ecx
cmp dword [ebp - 0x810], 0
sete cl
push ecx
mov edx, dword [ebp - 0x808]
push edx
mov eax, dword [ebp - 0x808]
call dword [eax + 8]
add esp, 0x10
jmp 0x418d64
push 1
push 0x800
lea edx, [ebp - 0x800]
push edx
mov eax, dword [ebp - 0x808]
mov ecx, dword [eax + 4]
push ecx
call sub.WSOCK32.dll_recv
mov dword [ebp - 0x814], eax
cmp dword [ebp - 0x814], 0
jg 0x418c53
cmp dword [ebp - 0x814], 0
jne 0x418c29
mov dword [ebp - 0x81c], str.Internal_networking_trouble
jmp 0x418c3d
call sub.WSOCK32.dll_WSAGetLastError
push eax
call fcn.00417d88
add esp, 4
mov dword [ebp - 0x81c], eax
mov edx, dword [ebp - 0x81c]
push edx
call fcn.0041a994
add esp, 4
xor eax, eax
jmp 0x418d64
mov eax, dword [ebp - 0x814]
push eax
lea ecx, [ebp - 0x800]
push ecx
push 2
mov edx, dword [ebp - 0x808]
push edx
mov eax, dword [ebp - 0x808]
call dword [eax + 8]
add esp, 0x10
jmp 0x418d64
mov edx, dword [ebp - 0x808]
mov dword [edx + 0x18], 1
mov eax, dword [ebp - 0x808]
push eax
call fcn.00418666
add esp, 4
jmp case.0x418aef.4
mov dword [ebp - 0x80c], 1
push 0
push 0x800
lea ecx, [ebp - 0x800]
push ecx
mov edx, dword [ebp - 0x808]
mov eax, dword [edx + 4]
push eax
call sub.WSOCK32.dll_recv
mov dword [ebp - 0x814], eax
cmp dword [ebp - 0x814], 0
jge 0x418d19
call sub.WSOCK32.dll_WSAGetLastError
mov dword [ebp - 0x804], eax
cmp dword [ebp - 0x804], 0x2733
jne 0x418ceb
jmp 0x418d57
mov ecx, dword [ebp - 0x804]
push ecx
mov edx, dword [ebp - 0x804]
push edx
call fcn.00417d88
add esp, 4
push eax
push 3
mov eax, dword [ebp - 0x808]
push eax
mov ecx, dword [ebp - 0x808]
call dword [ecx + 8]
add esp, 0x10
jmp 0x418d64
mov edx, dword [ebp - 0x814]
push edx
lea eax, [ebp - 0x800]
push eax
push 0
mov ecx, dword [ebp - 0x808]
push ecx
mov edx, dword [ebp - 0x808]
call dword [edx + 8]
add esp, 0x10
mov ecx, dword [ebp - 0x80c]
and ecx, eax
mov dword [ebp - 0x80c], ecx
cmp dword [ebp - 0x814], 0
jg 0x418ca6
mov eax, dword [ebp - 0x80c]
jmp 0x418d64
mov eax, 1
mov esp, ebp
pop ebp
ret