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

Disassembly:
sub esp, 0x780
mov eax, dword [0x469a54]
xor eax, esp
mov dword [esp + 0x77c], eax
push edi
mov edi, dword [esp + 0x788]
mov dword [esp + 8], edi
cmp dword [edi + 0x5c], 0
je 0x42a9d2
call fcn.0041cc60
test eax, eax
je 0x42a9d2
push dword [edi + 0x5c]
call fcn.0041cd40
add esp, 4
test eax, eax
je 0x42ad9b
push ebx
push ebp
push esi
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 0x80
push eax
lea eax, [esp + 0x34]
push eax
push 0
push 0x5dc
lea eax, [esp + 0x1c0]
push eax
push dword [edi]
call dword [sym.imp.WS2_32.dll_recvfrom]
mov ebx, eax
test ebx, ebx
js 0x42acf9
mov ebp, dword [sym.imp.WS2_32.dll_ntohs]
nop
cmp dword [edi + 0x5c], 0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x10], eax
je 0x42aa3a
call fcn.0041cc60
test eax, eax
je 0x42aa3a
push dword [edi + 0x5c]
call fcn.0041cd40
add esp, 4
test eax, eax
je 0x42ad44
cmp ebx, 2
jl 0x42acc6
push dword [esp + 0x1b0]
call ebp
movzx eax, ax
mov dword [esp + 0x20], eax
cmp ebx, 4
jl 0x42acc6
push dword [esp + 0x1b2]
call ebp
movzx esi, ax
cmp ebx, 6
jl 0x42acc6
push dword [esp + 0x1b4]
call ebp
movzx eax, ax
mov dword [esp + 0x24], eax
cmp ebx, 8
jl 0x42acc6
push dword [esp + 0x1b6]
call ebp
cmp ebx, 0xa
jl 0x42acc6
push dword [esp + 0x1b8]
call ebp
cmp ebx, 0xc
jl 0x42acc6
push dword [esp + 0x1ba]
mov dword [esp + 0x20], 0xc
call ebp
test si, si
js 0x42acc6
push 0xc0
call fcn.00408540
mov edi, eax
add esp, 4
test edi, edi
je 0x42acc2
push 0xc0
push 0
push edi
call fcn.00430ba0
mov eax, dword [esp + 0x2c]
push dword [esp + 0x1c]
mov word [edi + 8], ax
lea eax, [esp + 0x40]
push eax
lea eax, [edi + 0x10]
push eax
call fcn.00430620
mov eax, dword [esp + 0x28]
and esi, 0x110
mov dword [edi + 0x90], eax
lea eax, [edi + 0xb4]
mov dword [eax], esi
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x3c]
movzx esi, ax
push esi
push 4
mov dword [edi + 0xb8], 0
mov dword [esp + 0x48], esi
call fcn.00408570
add esp, 0x20
mov dword [edi + 0xbc], eax
test eax, eax
je 0x42ac71
mov dword [esp + 0x10], 0
test esi, esi
je 0x42ac4e
push 0x100
lea eax, [esp + 0xb4]
push eax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x1bc]
push ebx
push eax
call fcn.00429b40
add esp, 0x14
test eax, eax
js 0x42ac71
mov eax, dword [esp + 0x1c]
lea esi, [eax + 2]
cmp esi, ebx
jg 0x42ac71
movzx eax, word [esp + eax + 0x1b0]
push eax
call ebp
lea ecx, [esi + 2]
movzx eax, ax
mov dword [esp + 0x24], eax
cmp ecx, ebx
jg 0x42ac71
movzx eax, word [esp + esi + 0x1b0]
push eax
mov dword [esp + 0x20], ecx
call ebp
movzx eax, ax
lea esi, [esp + 0xb0]
mov dword [esp + 0x20], eax
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x42abd7
sub esi, ecx
lea eax, [esi + 0xc]
push eax
call fcn.00408540
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x42ac6b
mov eax, dword [esp + 0x24]
inc esi
movzx ecx, ax
mov eax, dword [esp + 0x20]
mov dword [ebp], ecx
movzx ecx, ax
lea eax, [esp + 0xb0]
push esi
push eax
lea eax, [ebp + 8]
mov dword [ebp + 4], ecx
push eax
call fcn.00430620
mov ecx, dword [edi + 0xb8]
add esp, 0xc
mov eax, dword [edi + 0xbc]
mov esi, dword [esp + 0x10]
inc esi
mov dword [esp + 0x10], esi
mov dword [eax + ecx*4], ebp
inc dword [edi + 0xb8]
mov ebp, dword [sym.imp.WS2_32.dll_ntohs]
cmp esi, dword [esp + 0x28]
jl 0x42ab60
mov eax, dword [esp + 0x14]
mov dword [edi + 0xc], eax
mov edi, eax
push dword [edi + 0x10]
mov eax, dword [edi + 0xc]
push dword [esp + 0x30]
inc dword [edi + 4]
call eax
add esp, 8
jmp 0x42acc6
mov ebp, dword [sym.imp.WS2_32.dll_ntohs]
mov eax, dword [edi + 0xbc]
test eax, eax
je 0x42acb9
xor esi, esi
cmp dword [edi + 0xb8], esi
jle 0x42acb0
nop word [eax + eax]
mov eax, dword [edi + 0xbc]
push dword [eax + esi*4]
call fcn.00408660
inc esi
add esp, 4
cmp esi, dword [edi + 0xb8]
jl 0x42ac90
mov eax, dword [edi + 0xbc]
push eax
call fcn.00408660
add esp, 4
push edi
call fcn.00408660
add esp, 4
mov edi, dword [esp + 0x14]
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 0x80
push eax
lea eax, [esp + 0x34]
push eax
push 0
push 0x5dc
lea eax, [esp + 0x1c0]
push eax
push dword [edi]
call dword [sym.imp.WS2_32.dll_recvfrom]
mov ebx, eax
test ebx, ebx
jns 0x42aa10
push dword [edi]
call fcn.00417bd0
add esp, 4
cmp eax, 0x2733
je 0x42ad2b
cmp eax, 0x2714
je 0x42ad2b
push eax
push eax
call fcn.00417c30
add esp, 4
push eax
push str.Error__s___d__while_reading_request.
push 2
call fcn.004288a0
add esp, 0x10
mov ecx, dword [esp + 0x78c]
pop esi
pop ebp
pop ebx
pop edi
xor ecx, esp
call fcn.0042eefa
add esp, 0x780
ret
push 0x465d34
push 0x465d44
push 0x4ca
push 0x465d70
push 0x465d78
push 0xdeaddead
call fcn.0041bd20
add esp, 0x18
push str.request_parse
push 0x465dac
push 0x4ca
push 0x465dd8
push 0x465de0
push 2
call fcn.00434b42
add esp, 4
push eax
call fcn.004046e0
add esp, 0x18
call fcn.00435eff
push 0x466144
push 0x46619c
push 0x585
push 0x4661c4
push 0x4661cc
push 0xdeaddead
call fcn.0041bd20
add esp, 0x18
push str.server_port_read
push str.evthread_is_debug_lock_held___s___lock_
push 0x585
push 0x46622c
push 0x466234
push 2
call fcn.00434b42
add esp, 4
push eax
call fcn.004046e0
add esp, 0x18
call fcn.00435eff
int3