Function at 0x4e1bea
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]
push dword [ebp + 8]
call fcn.004e06c6
mov ebx, eax
test ebx, ebx
je 0x4e1f23
cmp dword [ebx + 0xe4], 2
jne 0x4e1f23
mov eax, esi
shr eax, 0x10
and ax, 0xffff
test ax, ax
je 0x4e1c8e
movzx edx, ax
mov dword [ebx + 0x11c], edx
cmp dword [0x534d3c], 0
je 0x4e1c75
cmp si, 0x20
jne 0x4e1c4c
push 3
push 0x38
push ebx
push 0x535ddc
call fcn.004e0781
jmp 0x4e1c75
cmp dword [ebx + 0xf0], 0
je 0x4e1c66
push 3
push 0x40
push ebx
push 0x535de7
call fcn.004e0781
jmp 0x4e1c75
push 3
push 0x3b
push ebx
push 0x535df0
call fcn.004e0781
push ebx
call fcn.004e0653
test eax, eax
je 0x4e1f23
push ebx
call fcn.004e0575
jmp 0x4e1f23
push 0
call fcn.00526bc8
pop ecx
mov dword [ebx + 0x118], eax
push 0
push 0
push dword [0x537420]
push dword [ebx + 0x120]
call sub.WSOCK32.dll_WSAAsyncSelect
mov eax, 0x1001
sub eax, dword [ebx + 0xd4]
cmp eax, 1
jle 0x4e1e69
cmp dword [ebx + 0xf0], 0
je 0x4e1d1a
mov dword [ebp - 4], 0x10
lea edx, [ebp - 4]
push edx
lea ecx, [ebp - 0x14]
push ecx
push 0
dec eax
push eax
push 0x560b58
push dword [ebx + 0x120]
call sub.WSOCK32.dll_recvfrom
mov esi, eax
cmp dword [ebp - 4], 0
jle 0x4e1d30
push dword [ebp - 0x10]
call sub.WSOCK32.dll_htonl
mov dword [ebx + 0x100], eax
mov ax, word [ebp - 0x12]
push eax
call sub.WSOCK32.dll_ntohs
mov word [ebx + 0x104], ax
jmp 0x4e1d30
push 0
dec eax
push eax
push 0x560b58
push dword [ebx + 0x120]
call sub.WSOCK32.dll_recv
mov esi, eax
cmp esi, 0xffffffff
jne 0x4e1d6e
call sub.WSOCK32.dll_WSAGetLastError
cmp eax, 0x2733
jne 0x4e1d5e
push 0x23
push 0x438
push dword [0x537420]
push dword [ebx + 0x120]
call sub.WSOCK32.dll_WSAAsyncSelect
jmp 0x4e1f23
mov dword [ebx + 0x11c], eax
mov esi, 3
jmp 0x4e1efc
test esi, esi
jle 0x4e1efa
cmp dword [0x534d3c], 0
jne 0x4e1dbd
mov eax, dword [ebx + 0xd0]
test eax, eax
je 0x4e1d90
push eax
call fcn.00524270
pop ecx
xor edx, edx
mov dword [ebx + 0xd0], edx
xor ecx, ecx
mov dword [ebx + 0xd4], ecx
push 0x23
push 0x438
push dword [0x537420]
push dword [ebx + 0x120]
call sub.WSOCK32.dll_WSAAsyncSelect
jmp 0x4e1f23
mov eax, dword [ebx + 0xd0]
test eax, eax
je 0x4e1e05
mov edx, dword [ebx + 0xd4]
add edx, esi
add edx, 5
push edx
push eax
call fcn.0052480c
add esp, 8
test eax, eax
jne 0x4e1dfd
push 0x23
push 0x438
push dword [0x537420]
push dword [ebx + 0x120]
call sub.WSOCK32.dll_WSAAsyncSelect
jmp 0x4e1f23
mov dword [ebx + 0xd0], eax
jmp 0x4e1e38
lea ecx, [esi + 5]
push ecx
call fcn.00524378
pop ecx
mov edi, eax
mov dword [ebx + 0xd0], edi
test edi, edi
jne 0x4e1e38
push 0x23
push 0x438
push dword [0x537420]
push dword [ebx + 0x120]
call sub.WSOCK32.dll_WSAAsyncSelect
jmp 0x4e1f23
push esi
push 0x560b58
mov eax, dword [ebx + 0xd0]
add eax, dword [ebx + 0xd4]
push eax
call fcn.005181ec
add esp, 0xc
add dword [ebx + 0xd4], esi
mov edx, dword [ebx + 0xd0]
mov ecx, dword [ebx + 0xd4]
mov byte [edx + ecx], 0
xor eax, eax
mov dword [ebx + 0xe8], eax
cmp dword [ebx + 0xf0], 0
je 0x4e1e8b
push 0
push 0x40
push ebx
push str.UDPREAD
call fcn.004e0781
jmp 0x4e1e9a
push 0
push 0x3b
push ebx
push str.SOCKREAD
call fcn.004e0781
push ebx
call fcn.004e0653
test eax, eax
je 0x4e1f23
cmp dword [ebx + 0xe8], 0
jne 0x4e1ee8
mov eax, dword [ebx + 0xd0]
test eax, eax
je 0x4e1ebe
push eax
call fcn.00524270
pop ecx
xor edx, edx
mov dword [ebx + 0xd0], edx
xor ecx, ecx
mov dword [ebx + 0xd4], ecx
push 0x23
push 0x438
push dword [0x537420]
push dword [ebx + 0x120]
call sub.WSOCK32.dll_WSAAsyncSelect
jmp 0x4e1f23
cmp dword [ebx + 0xe8], 2
je 0x4e1e69
jmp 0x4e1cb1
xor esi, esi
cmp dword [0x534d3c], 0
je 0x4e1f1d
push esi
push 0x38
push ebx
push str.SOCKCLOSE
call fcn.004e0781
push ebx
call fcn.004e0653
test eax, eax
je 0x4e1f23
push ebx
call fcn.004e0575
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8