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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffff9a0
push ebx
xor eax, eax
mov dword [ebp - 0x65c], eax
mov dword [ebp - 0x660], eax
mov dword [ebp - 0x650], eax
mov dword [ebp - 0x654], eax
mov dword [ebp - 0x658], eax
mov dword [ebp - 0x64c], eax
mov dword [ebp - 4], eax
lea ebx, [ebp - 0x645]
xor eax, eax
push ebp
push 0x404fa5
push dword fs:[eax]
mov dword fs:[eax], esp
jmp 0x404f64
lea eax, [ebp - 4]
mov edx, ebx
mov ecx, 0x641
call fcn.00403b08
mov eax, ebx
mov edx, 0x641
call fcn.00404658
mov edx, dword [ebp - 4]
mov eax, 0x404fbc
call fcn.00403e64
test eax, eax
jle 0x404cda
mov eax, 0x404fcc
call fcn.00404b1c
mov edx, dword [ebp - 4]
mov eax, 0x404fec
call fcn.00403e64
test eax, eax
jle 0x404da5
lea eax, [ebp - 4]
push eax
mov edx, dword [ebp - 4]
mov eax, 0x404fec
call fcn.00403e64
push eax
mov eax, dword [ebp - 4]
call fcn.00403b20
mov ecx, eax
mov eax, dword [ebp - 4]
pop edx
call fcn.00403d80
lea eax, [ebp - 4]
push eax
mov edx, dword [ebp - 4]
mov eax, 0x404ffc
call fcn.00403e64
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.00403d80
mov eax, dword [ebp - 4]
call fcn.00403b20
mov edx, dword [ebp - 4]
cmp byte [edx + eax - 1], 0xd
jne 0x404d63
lea eax, [ebp - 4]
push eax
mov eax, dword [ebp - 4]
call fcn.00403b20
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.00403d80
lea eax, [ebp - 4]
mov ecx, 1
mov edx, 2
call fcn.00403dc0
lea edx, [ebp - 4]
mov ecx, 2
mov eax, 0x405008
call fcn.00403e08
lea eax, [ebp - 0x64c]
mov ecx, 0x404ffc
mov edx, dword [ebp - 4]
call fcn.00403b6c
mov eax, dword [ebp - 0x64c]
call fcn.00404b1c
mov edx, dword [ebp - 4]
mov eax, 0x405014
call fcn.00403e64
test eax, eax
jle 0x404dc0
mov dword [0x409828], 0xffffffff
mov edx, dword [ebp - 4]
mov eax, 0x405024
call fcn.00403e64
test eax, eax
jle 0x404dd8
xor eax, eax
mov dword [0x409828], eax
mov edx, dword [ebp - 4]
mov eax, 0x405038
call fcn.00403e64
test eax, eax
jle 0x404e4a
push 0x40504c
lea edx, [ebp - 0x654]
mov eax, dword [0x409824]
call fcn.00404ae4
push dword [ebp - 0x654]
push 0x405084
lea edx, [ebp - 0x658]
mov eax, dword [0x40981c]
call fcn.00404ae4
push dword [ebp - 0x658]
push 0x4050a4
push dword [0x409820]
push 0x404ffc
lea eax, [ebp - 0x650]
mov edx, 7
call fcn.00403be0
mov eax, dword [ebp - 0x650]
call fcn.00404b1c
mov edx, dword [ebp - 4]
mov eax, 0x4050bc
call fcn.00403e64
test eax, eax
jle 0x404e96
push 0x4050d0
lea edx, [ebp - 0x660]
mov eax, dword [0x409818]
call fcn.00404ae4
push dword [ebp - 0x660]
push 0x404ffc
lea eax, [ebp - 0x65c]
mov edx, 3
call fcn.00403be0
mov eax, dword [ebp - 0x65c]
call fcn.00404b1c
mov edx, dword [ebp - 4]
mov eax, 0x405104
call fcn.00403e64
test eax, eax
jle 0x404f64
lea eax, [ebp - 4]
push eax
mov edx, dword [ebp - 4]
mov eax, 0x405114
call fcn.00403e64
push eax
mov eax, dword [ebp - 4]
call fcn.00403b20
mov ecx, eax
mov eax, dword [ebp - 4]
pop edx
call fcn.00403d80
lea eax, [ebp - 4]
push eax
mov edx, dword [ebp - 4]
mov eax, 0x405124
call fcn.00403e64
inc eax
push eax
mov eax, dword [ebp - 4]
call fcn.00403b20
mov ecx, eax
mov eax, dword [ebp - 4]
pop edx
call fcn.00403d80
mov eax, dword [ebp - 4]
call fcn.00403b20
mov edx, dword [ebp - 4]
cmp byte [edx + eax - 1], 0xa
jne 0x404f24
lea eax, [ebp - 4]
push eax
mov eax, dword [ebp - 4]
call fcn.00403b20
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.00403d80
mov eax, dword [ebp - 4]
call fcn.00403b20
mov edx, dword [ebp - 4]
cmp byte [edx + eax - 1], 0xd
jne 0x404f52
lea eax, [ebp - 4]
push eax
mov eax, dword [ebp - 4]
call fcn.00403b20
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.00403d80
mov eax, dword [ebp - 4]
call fcn.004047ec
mov eax, 0x405130
call fcn.00404b1c
push 0
push 0x640
push ebx
mov eax, dword [0x409684]
push eax
call sub.wsock32.dll_recv
test eax, eax
jg 0x404ca4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x404fac
lea eax, [ebp - 0x660]
mov edx, 6
call fcn.004039ec
lea eax, [ebp - 4]
call fcn.004039c8
ret