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

Disassembly:
sub esp, 0x780
mov eax, dword [0x4d31c4]
xor eax, esp
mov dword [esp + 0x77c], eax
push edi
mov edi, dword [esp + 0x788]
mov dword [esp + 8], edi
cmp dword [edi + 0x64], 0
je 0x48d632
call fcn.00498750
test eax, eax
je 0x48d632
push dword [edi + 0x64]
call fcn.004987f0
add esp, 4
test eax, eax
je 0x48d9a3
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 0x48d958
mov ebp, dword [sym.imp.WS2_32.dll_ntohs]
nop
cmp dword [edi + 0x64], 0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x10], eax
je 0x48d69a
call fcn.00498750
test eax, eax
je 0x48d69a
push dword [edi + 0x64]
call fcn.004987f0
add esp, 4
test eax, eax
je 0x48d9fa
cmp ebx, 2
jl 0x48d925
push dword [esp + 0x1b0]
call ebp
movzx eax, ax
mov dword [esp + 0x20], eax
cmp ebx, 4
jl 0x48d925
push dword [esp + 0x1b2]
call ebp
movzx esi, ax
cmp ebx, 6
jl 0x48d925
push dword [esp + 0x1b4]
call ebp
movzx eax, ax
mov dword [esp + 0x24], eax
cmp ebx, 8
jl 0x48d925
push dword [esp + 0x1b6]
call ebp
cmp ebx, 0xa
jl 0x48d925
push dword [esp + 0x1b8]
call ebp
cmp ebx, 0xc
jl 0x48d925
push dword [esp + 0x1ba]
mov dword [esp + 0x20], 0xc
call ebp
test si, si
js 0x48d925
push 0xc0
call fcn.004854c0
mov edi, eax
add esp, 4
test edi, edi
je 0x48d921
push 0xc0
push 0
push edi
call fcn.00466310
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.00465d90
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.004854d0
add esp, 0x20
mov dword [edi + 0xbc], eax
test eax, eax
je 0x48d8d1
mov dword [esp + 0x10], 0
test esi, esi
je 0x48d8ae
push 0x100
lea eax, [esp + 0xb4]
push eax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x1bc]
push ebx
push eax
call fcn.0048c7a0
add esp, 0x14
test eax, eax
js 0x48d8d1
mov eax, dword [esp + 0x1c]
lea esi, [eax + 2]
cmp esi, ebx
jg 0x48d8d1
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 0x48d8d1
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 0x48d837
sub esi, ecx
lea eax, [esi + 0xc]
push eax
call fcn.004854c0
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x48d8cb
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.00465d90
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 0x48d7c0
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 0x48d925
mov ebp, dword [sym.imp.WS2_32.dll_ntohs]
cmp dword [edi + 0xbc], 0
je 0x48d918
xor esi, esi
cmp dword [edi + 0xb8], esi
jle 0x48d90a
nop dword [eax]
nop dword [eax + eax]
mov eax, dword [edi + 0xbc]
push dword [eax + esi*4]
call fcn.00485570
inc esi
add esp, 4
cmp esi, dword [edi + 0xb8]
jl 0x48d8f0
push dword [edi + 0xbc]
call fcn.00485570
add esp, 4
push edi
call fcn.00485570
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 0x48d670
push dword [edi]
call fcn.004806c0
add esp, 4
cmp eax, 0x2733
je 0x48d98a
cmp eax, 0x2714
je 0x48d98a
push eax
push eax
call fcn.00480720
add esp, 4
push eax
push str.Error__s___d__while_reading_request.
push 1
call fcn.0048b8c0
add esp, 0x10
mov ecx, dword [esp + 0x78c]
pop esi
pop ebp
pop ebx
pop edi
xor ecx, esp
call fcn.004634b5
add esp, 0x780
ret
push 0x4dba04
push 0x4dba18
push 0x577
push 0x4dba40
push 0x4dba48
push 0xdeaddead
call fcn.004973e0
add esp, 0x18
push str.server_port_read
push str._evthread_is_debug_lock_held__s___lock_
push 0x577
push 0x4dbaa8
push 0x4dbab0
push 2
call fcn.0046857e
add esp, 4
push eax
call fcn.004040c0
add esp, 0x18
call fcn.00476c0e
push 0x4daa18
push 0x4daa40
push 0x4bc
push 0x4daaa4
push 0x4daab4
push 0xdeaddead
call fcn.004973e0
add esp, 0x18
push str.request_parse
push 0x4dab0c
push 0x4bc
push 0x4dab50
push 0x4dab70
push 2
call fcn.0046857e
add esp, 4
push eax
call fcn.004040c0
add esp, 0x18
call fcn.00476c0e
int3