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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffec
push ebx
push esi
push edi
mov esi, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
push eax
call fcn.004d3e78
mov ebx, eax
test ebx, ebx
je 0x4d56ef
cmp dword [ebx + 0xe4], 2
jne 0x4d56ef
mov eax, esi
shr eax, 0x10
test ax, 0xffff
je 0x4d5451
cmp dword [0x4fb7f4], 0
je 0x4d5438
cmp si, 0x20
jne 0x4d540f
push 3
push 0x36
push ebx
push 0x4fc804
call fcn.004d3f38
jmp 0x4d5438
cmp dword [ebx + 0xec], 0
je 0x4d5429
push 3
push 0x3e
push ebx
push 0x4fc80f
call fcn.004d3f38
jmp 0x4d5438
push 3
push 0x39
push ebx
push 0x4fc818
call fcn.004d3f38
push ebx
call fcn.004d3e04
test eax, eax
je 0x4d56ef
push ebx
call fcn.004d3d24
jmp 0x4d56ef
push 0
call fcn.0040ef0c
pop ecx
mov dword [ebx + 0x114], eax
push 0
push 0
mov edx, dword [0x4fd9ec]
push edx
mov ecx, dword [ebx + 0x118]
push ecx
call sub.WSOCK32.dll_WSAAsyncSelect
mov eax, 0x1001
sub eax, dword [ebx + 0xd4]
cmp eax, 1
jle 0x4d55f7
cmp dword [ebx + 0xec], 0
je 0x4d54e1
mov dword [ebp - 4], 0x10
lea edx, [ebp - 4]
push edx
lea ecx, [ebp - 0x14]
push ecx
push 0
dec eax
push eax
push 0x51fca8
mov edx, dword [ebx + 0x118]
push edx
call sub.WSOCK32.dll_recvfrom
mov esi, eax
cmp dword [ebp - 4], 0
jle 0x4d54f8
mov eax, dword [ebp - 0x10]
push eax
call sub.WSOCK32.dll_htonl
mov dword [ebx + 0xfc], eax
mov dx, word [ebp - 0x12]
push edx
call sub.WSOCK32.dll_ntohs
mov word [ebx + 0x100], ax
jmp 0x4d54f8
push 0
dec eax
push eax
push 0x51fca8
mov edx, dword [ebx + 0x118]
push edx
call sub.WSOCK32.dll_recv
mov esi, eax
test esi, esi
jle 0x4d568d
cmp dword [0x4fb7f4], 0
jne 0x4d5548
mov eax, dword [ebx + 0xd0]
test eax, eax
je 0x4d551a
push eax
call fcn.0040c454
pop ecx
xor edx, edx
mov dword [ebx + 0xd0], edx
xor ecx, ecx
mov dword [ebx + 0xd4], ecx
push 0x23
push 0x438
mov eax, dword [0x4fd9ec]
push eax
mov edx, dword [ebx + 0x118]
push edx
call sub.WSOCK32.dll_WSAAsyncSelect
jmp 0x4d56ef
mov eax, dword [ebx + 0xd0]
test eax, eax
je 0x4d5592
mov edx, dword [ebx + 0xd4]
add edx, esi
add edx, 5
push edx
push eax
call fcn.0040c9f0
add esp, 8
test eax, eax
jne 0x4d558a
push 0x23
push 0x438
mov ecx, dword [0x4fd9ec]
push ecx
mov eax, dword [ebx + 0x118]
push eax
call sub.WSOCK32.dll_WSAAsyncSelect
jmp 0x4d56ef
mov dword [ebx + 0xd0], eax
jmp 0x4d55c6
lea edx, [esi + 5]
push edx
call fcn.0040c55c
pop ecx
mov edi, eax
mov dword [ebx + 0xd0], edi
test edi, edi
jne 0x4d55c6
push 0x23
push 0x438
mov eax, dword [0x4fd9ec]
push eax
mov edx, dword [ebx + 0x118]
push edx
call sub.WSOCK32.dll_WSAAsyncSelect
jmp 0x4d56ef
push esi
push 0x51fca8
mov ecx, dword [ebx + 0xd0]
add ecx, dword [ebx + 0xd4]
push ecx
call fcn.00401128
add esp, 0xc
add dword [ebx + 0xd4], esi
mov eax, dword [ebx + 0xd0]
mov edx, dword [ebx + 0xd4]
mov byte [eax + edx], 0
xor ecx, ecx
mov dword [ebx + 0xe8], ecx
cmp dword [ebx + 0xec], 0
je 0x4d5619
push 0
push 0x3e
push ebx
push 0x4fc822
call fcn.004d3f38
jmp 0x4d5628
push 0
push 0x39
push ebx
push 0x4fc82b
call fcn.004d3f38
push ebx
call fcn.004d3e04
test eax, eax
je 0x4d56ef
cmp dword [ebx + 0xe8], 0
jne 0x4d567b
mov eax, dword [ebx + 0xd0]
test eax, eax
je 0x4d5650
push eax
call fcn.0040c454
pop ecx
xor edx, edx
mov dword [ebx + 0xd0], edx
xor ecx, ecx
mov dword [ebx + 0xd4], ecx
push 0x23
push 0x438
mov eax, dword [0x4fd9ec]
push eax
mov edx, dword [ebx + 0x118]
push edx
call sub.WSOCK32.dll_WSAAsyncSelect
jmp 0x4d56ef
cmp dword [ebx + 0xe8], 2
je 0x4d55f7
jmp 0x4d5476
inc esi
jne 0x4d56c6
call sub.WSOCK32.dll_WSAGetLastError
cmp eax, 0x2733
je 0x4d56a3
cmp eax, 0x2734
jne 0x4d56bf
push 0x23
push 0x438
mov ecx, dword [0x4fd9ec]
push ecx
mov eax, dword [ebx + 0x118]
push eax
call sub.WSOCK32.dll_WSAAsyncSelect
jmp 0x4d56ef
mov esi, 3
jmp 0x4d56c8
xor esi, esi
cmp dword [0x4fb7f4], 0
je 0x4d56e9
push esi
push 0x36
push ebx
push 0x4fc835
call fcn.004d3f38
push ebx
call fcn.004d3e04
test eax, eax
je 0x4d56ef
push ebx
call fcn.004d3d24
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8