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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x41bd90
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
sub esp, 0x588
mov eax, dword [0x41f100]
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x57c], ecx
mov dword [ebp - 0x428], 0
mov dword [ebp - 0x41c], 0
mov dword [ebp - 0x424], 0
mov dword [ebp - 0x42c], 0
mov eax, dword [ebp - 0x57c]
cmp dword [eax + 0x30], 0
jbe 0x40c572
mov ecx, dword [ebp - 0x57c]
mov edx, dword [ecx + 0x30]
push edx
push 0
mov eax, dword [ebp - 0x57c]
mov ecx, dword [eax + 0x38]
push ecx
call fcn.00410a90
add esp, 0xc
mov edx, dword [ebp - 0x57c]
mov dword [edx + 0x30], 0
mov eax, dword [ebp - 0x57c]
cmp dword [eax + 0x24], 0
jbe 0x40c5e1
mov ecx, dword [ebp - 0x57c]
mov edx, dword [ecx + 0x24]
push edx
mov eax, dword [ebp - 0x57c]
mov ecx, dword [eax + 0x2c]
push ecx
mov edx, dword [ebp - 0x57c]
mov eax, dword [edx + 0x38]
push eax
call fcn.00410750
add esp, 0xc
mov ecx, dword [ebp - 0x57c]
mov edx, dword [ebp - 0x57c]
mov eax, dword [edx + 0x24]
mov dword [ecx + 0x30], eax
mov ecx, dword [ebp - 0x57c]
mov edx, dword [ecx + 0x24]
push edx
push 0
mov eax, dword [ebp - 0x57c]
mov ecx, dword [eax + 0x2c]
push ecx
call fcn.00410a90
add esp, 0xc
mov edx, dword [ebp - 0x57c]
mov dword [edx + 0x24], 0
mov eax, dword [ebp - 0x57c]
mov ecx, dword [eax + 0x38]
mov edx, dword [ebp - 0x57c]
add ecx, dword [edx + 0x30]
mov dword [ebp - 0x428], ecx
mov eax, dword [ebp - 0x57c]
mov ecx, dword [ebp - 0x57c]
mov edx, dword [eax + 0x34]
sub edx, dword [ecx + 0x30]
mov dword [ebp - 0x41c], edx
push 0
mov eax, dword [ebp - 0x41c]
push eax
mov ecx, dword [ebp - 0x428]
push ecx
mov edx, dword [ebp + 8]
push edx
call sub.WS2_32.dll_recv
mov dword [ebp - 0x42c], eax
cmp dword [ebp - 0x42c], 0xffffffff
jne 0x40c659
call sub.WS2_32.dll_WSAGetLastError
cmp eax, 0x2733
je 0x40c659
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x57c]
call fcn.0040c480
jmp 0x40cf4a
cmp dword [ebp - 0x42c], 0
jle 0x40c67a
mov ecx, dword [ebp - 0x57c]
mov edx, dword [ecx + 0x30]
add edx, dword [ebp - 0x42c]
mov eax, dword [ebp - 0x57c]
mov dword [eax + 0x30], edx
cmp dword [ebp - 0x42c], 0
jg 0x40c5e1
mov ecx, dword [ebp - 0x57c]
mov edx, dword [ecx + 0x38]
mov dword [ebp - 0x428], edx
mov eax, dword [ebp - 0x57c]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x41c], ecx
mov dword [ebp - 0x424], 0
cmp dword [ebp - 0x41c], 0x11
jle 0x40cefd
mov edx, dword [ebp - 0x57c]
mov eax, dword [edx + 0x38]
add eax, dword [ebp - 0x424]
mov dword [ebp - 0x428], eax
mov dword [ebp - 0x420], 0
push 0x15
push 0
lea ecx, [ebp - 0x4bc]
push ecx
call fcn.00410a90
add esp, 0xc
push 0x69
push 0
lea edx, [ebp - 0x4a0]
push edx
call fcn.00410a90
add esp, 0xc
push 0x11
push str.ePLDTProtocol_0.1
mov eax, dword [ebp - 0x428]
push eax
call fcn.00412460
add esp, 0xc
test eax, eax
jne 0x40c753
push 0x11
mov ecx, dword [ebp - 0x428]
push ecx
lea edx, [ebp - 0x4bc]
push edx
call fcn.00412330
add esp, 0xc
mov eax, dword [ebp - 0x428]
add eax, 0x11
mov dword [ebp - 0x428], eax
mov ecx, dword [ebp - 0x420]
add ecx, 0x11
mov dword [ebp - 0x420], ecx
jmp 0x40c777
push str.ePLDTProtocol___Error_Header::protocol
mov ecx, dword [0x41ffe0]
call fcn.0040d740
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0x57c]
call fcn.0040c480
jmp 0x40cf4a
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x41c]
sub eax, dword [ebp - 0x420]
push eax
mov ecx, dword [ebp - 0x428]
push ecx
lea edx, [ebp - 0x4a0]
push edx
mov ecx, dword [ebp - 0x57c]
call fcn.0040bd90
mov dword [ebp - 0x580], eax
mov eax, dword [ebp - 0x580]
mov dword [ebp - 0x4a4], eax
cmp dword [ebp - 0x4a4], 0xffffffff
je 0x40c7e5
mov ecx, dword [ebp - 0x428]
add ecx, dword [ebp - 0x4a4]
mov dword [ebp - 0x428], ecx
mov edx, dword [ebp - 0x420]
add edx, dword [ebp - 0x4a4]
mov dword [ebp - 0x420], edx
jmp 0x40c800
mov dword [ebp - 0x564], str.Body::MsgType__character
push 0x41e340
lea eax, [ebp - 0x564]
push eax
call fcn.0041131a
mov ecx, dword [ebp - 0x41c]
sub ecx, dword [ebp - 0x420]
push ecx
mov edx, dword [ebp - 0x428]
push edx
lea eax, [ebp - 0x48b]
push eax
mov ecx, dword [ebp - 0x57c]
call fcn.0040bd90
mov dword [ebp - 0x584], eax
mov ecx, dword [ebp - 0x584]
mov dword [ebp - 0x4a4], ecx
cmp dword [ebp - 0x4a4], 0xffffffff
je 0x40c867
mov edx, dword [ebp - 0x428]
add edx, dword [ebp - 0x4a4]
mov dword [ebp - 0x428], edx
mov eax, dword [ebp - 0x420]
add eax, dword [ebp - 0x4a4]
mov dword [ebp - 0x420], eax
jmp 0x40c882
mov dword [ebp - 0x568], str.Body::MsgType__number
push 0x41e340
lea ecx, [ebp - 0x568]
push ecx
call fcn.0041131a
lea edx, [ebp - 0x48b]
push edx
call fcn.0041074b
add esp, 4
mov dword [ebp - 0x588], eax
cmp dword [ebp - 0x588], 0x12c
jg 0x40c8e1
cmp dword [ebp - 0x588], 0x12c
je case.0x40c8da.0
mov eax, dword [ebp - 0x588]
sub eax, 0xc8
mov dword [ebp - 0x588], eax
cmp dword [ebp - 0x588], 0x1e
ja case.0x40c8da.1
mov ecx, dword [ebp - 0x588]
movzx edx, byte [ecx + 0x40cf6d]
jmp dword [edx*4 + 0x40cf65]
cmp dword [ebp - 0x588], 0x136
je case.0x40c8da.0
cmp dword [ebp - 0x588], 0x1f4
je 0x40c995
cmp dword [ebp - 0x588], 0x258
je case.0x40c8da.0
jmp case.0x40c8da.1
mov eax, dword [ebp - 0x41c]
sub eax, dword [ebp - 0x420]
push eax
mov ecx, dword [ebp - 0x428]
push ecx
lea edx, [ebp - 0x476]
push edx
mov ecx, dword [ebp - 0x57c]
call fcn.0040bd90
mov dword [ebp - 0x58c], eax
mov eax, dword [ebp - 0x58c]
mov dword [ebp - 0x4a4], eax
cmp dword [ebp - 0x4a4], 0xffffffff
je 0x40c975
mov ecx, dword [ebp - 0x428]
add ecx, dword [ebp - 0x4a4]
mov dword [ebp - 0x428], ecx
mov edx, dword [ebp - 0x420]
add edx, dword [ebp - 0x4a4]
mov dword [ebp - 0x420], edx
jmp 0x40c990
mov dword [ebp - 0x56c], 0x41c7a0
push 0x41e340
lea eax, [ebp - 0x56c]
push eax
call fcn.0041131a
jmp case.0x40c8da.1
mov ecx, dword [ebp - 0x41c]
sub ecx, dword [ebp - 0x420]
push ecx
mov edx, dword [ebp - 0x428]
push edx
lea eax, [ebp - 0x476]
push eax
mov ecx, dword [ebp - 0x57c]
call fcn.0040bd90
mov dword [ebp - 0x590], eax
mov ecx, dword [ebp - 0x590]
mov dword [ebp - 0x4a4], ecx
cmp dword [ebp - 0x4a4], 0xffffffff
je 0x40c9fc
mov edx, dword [ebp - 0x428]
add edx, dword [ebp - 0x4a4]
mov dword [ebp - 0x428], edx
mov eax, dword [ebp - 0x420]
add eax, dword [ebp - 0x4a4]
mov dword [ebp - 0x420], eax
jmp 0x40ca17
mov dword [ebp - 0x570], str.Body::Username_ID_
push 0x41e340
lea ecx, [ebp - 0x570]
push ecx
call fcn.0041131a
mov edx, dword [ebp - 0x41c]
sub edx, dword [ebp - 0x420]
push edx
mov eax, dword [ebp - 0x428]
push eax
lea ecx, [ebp - 0x461]
push ecx
mov ecx, dword [ebp - 0x57c]
call fcn.0040bd90
mov dword [ebp - 0x594], eax
mov edx, dword [ebp - 0x594]
mov dword [ebp - 0x4a4], edx
cmp dword [ebp - 0x4a4], 0xffffffff
je 0x40ca7e
mov eax, dword [ebp - 0x428]
add eax, dword [ebp - 0x4a4]
mov dword [ebp - 0x428], eax
mov ecx, dword [ebp - 0x420]
add ecx, dword [ebp - 0x4a4]
mov dword [ebp - 0x420], ecx
jmp case.0x40c8da.1
mov dword [ebp - 0x574], str.Body::Minute
push 0x41e340
lea edx, [ebp - 0x574]
push edx
call fcn.0041131a
push 4
push 0x41c7d8
mov eax, dword [ebp - 0x428]
push eax
call fcn.00412460
add esp, 0xc
test eax, eax
jne 0x40caeb
push 4
mov ecx, dword [ebp - 0x428]
push ecx
lea edx, [ebp - 0x44c]
push edx
call fcn.00412330
add esp, 0xc
mov eax, dword [ebp - 0x428]
add eax, 4
mov dword [ebp - 0x428], eax
mov ecx, dword [ebp - 0x420]
add ecx, 4
mov dword [ebp - 0x420], ecx
jmp 0x40cb06
mov dword [ebp - 0x578], str.Body::End
push 0x41e340
lea edx, [ebp - 0x578]
push edx
call fcn.0041131a
lea eax, [ebp - 0x48b]
push eax
call fcn.0041074b
add esp, 4
mov dword [ebp - 0x598], eax
cmp dword [ebp - 0x598], 0xe6
jg 0x40cb5d
cmp dword [ebp - 0x598], 0xe6
je 0x40cbd9
cmp dword [ebp - 0x598], 1
je 0x40cb92
cmp dword [ebp - 0x598], 0xc8
je 0x40cba6
cmp dword [ebp - 0x598], 0xd2
je 0x40cbc1
jmp 0x40cc45
cmp dword [ebp - 0x598], 0x12c
je 0x40cbf1
cmp dword [ebp - 0x598], 0x1f4
je 0x40cc09
cmp dword [ebp - 0x598], 0x258
je 0x40cc2f
jmp 0x40cc45
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0x57c]
call fcn.0040c480
jmp 0x40cc45
push 0
push 0
lea edx, [ebp - 0x476]
push edx
mov ecx, dword [0x41ffc8]
call fcn.00406bf0
jmp 0x40cc45
push 0
push 1
lea eax, [ebp - 0x476]
push eax
mov ecx, dword [0x41ffc8]
call fcn.00406bf0
jmp 0x40cc45
push 0
push 2
lea ecx, [ebp - 0x476]
push ecx
mov ecx, dword [0x41ffc8]
call fcn.00406bf0
jmp 0x40cc45
push 0
push 3
lea edx, [ebp - 0x476]
push edx
mov ecx, dword [0x41ffc8]
call fcn.00406bf0
jmp 0x40cc45
lea eax, [ebp - 0x461]
push eax
call fcn.0041074b
add esp, 4
push eax
push 4
lea ecx, [ebp - 0x476]
push ecx
mov ecx, dword [0x41ffc8]
call fcn.00406bf0
jmp 0x40cc45
push 0
push 7
lea edx, [ebp - 0x476]
push edx
mov ecx, dword [0x41ffc8]
call fcn.00406bf0
push 0x400
push 0
lea eax, [ebp - 0x418]
push eax
call fcn.00410a90
add esp, 0xc
mov ecx, dword [ebp - 0x420]
push ecx
mov edx, dword [ebp - 0x57c]
mov eax, dword [edx + 0x38]
add eax, dword [ebp - 0x424]
push eax
lea ecx, [ebp - 0x418]
push ecx
call fcn.00412330
add esp, 0xc
lea edx, [ebp - 0x418]
push edx
mov ecx, dword [ebp - 0x57c]
call fcn.0040be10
jmp 0x40cecd
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x424]
add edx, dword [ebp - 0x420]
mov dword [ebp - 0x424], edx
mov eax, dword [ebp - 0x41c]
sub eax, dword [ebp - 0x420]
mov dword [ebp - 0x41c], eax
jmp 0x40c6af
cmp dword [ebp - 0x41c], 0
jle 0x40cf4a
mov ecx, dword [ebp - 0x57c]
mov edx, dword [ecx + 0x38]
add edx, dword [ebp - 0x424]
mov dword [ebp - 0x428], edx
mov eax, dword [ebp - 0x41c]
push eax
mov ecx, dword [ebp - 0x428]
push ecx
mov edx, dword [ebp - 0x57c]
mov eax, dword [edx + 0x2c]
push eax
call fcn.00410750
add esp, 0xc
mov ecx, dword [ebp - 0x57c]
mov edx, dword [ebp - 0x41c]
mov dword [ecx + 0x24], edx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x14]
call fcn.004106b5
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4