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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xc
mov eax, dword [ebp + 8]
push ebx
push esi
xor ebx, ebx
xor esi, esi
xor ecx, ecx
cmp eax, ebx
push edi
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebx
jne 0x45c39d
mov eax, 0x2b
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0xc]
mov edi, edx
and edi, 0xf00000
cmp edi, 0x300000
jg 0x45c3ff
je 0x45c3ec
cmp edi, 0x100000
je 0x45c3d5
cmp edi, 0x200000
jne 0x45c407
mov esi, dword [ebp + 0x10]
test esi, esi
jne 0x45c42c
mov eax, 0x2b
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp + 0x10]
test edi, edi
mov dword [esp + 0x10], edi
jne 0x45c428
mov eax, 0x2b
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0x10]
test ecx, ecx
jne 0x45c42c
mov eax, 0x2b
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edi, 0x400000
je 0x45c413
mov eax, 0x2b
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp + 0x10]
test edi, edi
mov ebx, edi
jne 0x45c42c
mov eax, 0x2b
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [esp + 0x14]
cmp edx, 0x20001d
jg 0x45c623
je 0x45c5b2
cmp edx, 0x20000d
jg 0x45c525
je 0x45c514
cmp edx, 0x10001e
jg 0x45c4cd
je 0x45c4b8
sub edx, 0x100001
je 0x45c49a
sub edx, 0x11
je 0x45c485
sub edx, 3
jne case.0x45c644.3145739
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x298]
mov dword [ecx], eax
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [eax + 0x851c]
mov eax, dword [esp + 0x10]
mov dword [eax], edx
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [eax + 0x308]
test eax, eax
jne 0x45c4a9
mov eax, 0x4af4d4
mov ecx, dword [esp + 0x10]
mov dword [ecx], eax
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [eax + 0x84e8]
mov eax, dword [esp + 0x10]
mov dword [eax], edx
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
sub edx, 0x200002
je 0x45c503
sub edx, 9
je 0x45c4f2
dec edx
jne case.0x45c644.3145739
mov ecx, dword [eax + 0x850c]
xor eax, eax
mov dword [esi], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [eax + 0x8508]
xor eax, eax
mov dword [esi], edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [eax + 0x84f8]
mov dword [esi], eax
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [eax + 0x25c]
xor eax, eax
mov dword [esi], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea ecx, [edx - 0x20000e]
cmp ecx, 0xc
ja case.0x45c644.3145739
jmp dword [ecx*4 + 0x45c78c]
mov edx, dword [eax + 0x84fc]
xor eax, eax
mov dword [esi], edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [eax + 0x8504]
mov dword [esi], eax
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [eax + 0x154]
xor eax, eax
mov dword [esi], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [eax + 0x8514]
xor eax, eax
mov dword [esi], edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [eax + 0x8510]
mov dword [esi], eax
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [eax + 0x8458]
xor eax, eax
mov dword [esi], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [eax + 0x8518]
xor eax, eax
mov dword [esi], edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [eax + 0x428]
cmp ecx, 0xffffffff
je 0x45c614
mov eax, dword [eax + 0x41c]
mov edx, dword [eax]
mov eax, dword [edx + ecx*4]
test eax, eax
je 0x45c614
mov ecx, dword [eax + 0x7c]
mov dword [esi], ecx
mov cl, byte [eax + 0x84]
test cl, cl
je 0x45c5f9
push eax
call fcn.00455150
add esp, 4
test eax, eax
jne 0x45c780
mov dword [esi], 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [eax + 0x7c]
push 2
lea edx, [esp + 0x13]
push 1
push edx
push eax
call dword [sym.imp.WSOCK32.dll_recv]
test eax, eax
jne 0x45c780
mov dword [esi], 0xffffffff
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edx, 0x40001b
jg 0x45c761
je 0x45c74d
add edx, 0xffcffffd
cmp edx, 0x10
ja case.0x45c644.3145739
jmp dword [edx*4 + 0x45c7c0]
mov edx, dword [eax + 0x360]
mov dword [ecx], edx
mov eax, dword [eax + 0x364]
mov dword [ecx + 4], eax
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [eax + 0x378]
mov dword [ecx], edx
mov eax, dword [eax + 0x37c]
mov dword [ecx + 4], eax
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [eax + 0x380]
mov dword [ecx], edx
mov eax, dword [eax + 0x384]
mov dword [ecx + 4], eax
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [eax + 0x388]
mov dword [ecx], edx
mov eax, dword [eax + 0x38c]
mov dword [ecx + 4], eax
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [eax + 0x390]
mov dword [ecx], edx
mov eax, dword [eax + 0x394]
mov dword [ecx + 4], eax
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
fild qword [eax + 0x340]
xor eax, eax
fstp qword [ecx]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
fild qword [eax + 0x338]
xor eax, eax
fstp qword [ecx]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
fild qword [eax + 0x368]
xor eax, eax
fstp qword [ecx]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
fild qword [eax + 0x370]
xor eax, eax
fstp qword [ecx]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
fild qword [eax + 0x328]
xor eax, eax
fstp qword [ecx]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
fild qword [eax + 0x330]
xor eax, eax
fstp qword [ecx]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [eax + 0x398]
mov dword [ecx], edx
mov eax, dword [eax + 0x39c]
mov dword [ecx + 4], eax
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push eax
call fcn.00455140
add esp, 4
mov dword [ebx], eax
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edx, 0x40001c
je 0x45c775
mov eax, 0x2b
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push eax
call fcn.0045d6d0
add esp, 4
mov dword [ebx], eax
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret