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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffec
push ebx
push esi
push edi
mov edi, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
push eax
call fcn.004a2654
mov ebx, eax
test ebx, ebx
je 0x4a3e63
cmp dword [ebx + 0xe4], 2
jne 0x4a3e63
mov eax, edi
shr eax, 0x10
test ax, 0xffff
je 0x4a3c09
cmp dword [0x4d2374], 0
je 0x4a3bf0
cmp di, 0x20
jne 0x4a3bc7
push 3
push 0x2d
push ebx
push 0x4d32c8
call fcn.004a2714
jmp 0x4a3bf0
cmp dword [ebx + 0xec], 0
je 0x4a3be1
push 3
push 0x35
push ebx
push 0x4d32d3
call fcn.004a2714
jmp 0x4a3bf0
push 3
push 0x30
push ebx
push 0x4d32dc
call fcn.004a2714
push ebx
call fcn.004a25e0
test eax, eax
je 0x4a3e63
push ebx
call fcn.004a250c
jmp 0x4a3e63
push 0
call fcn.004c92e8
pop ecx
mov dword [ebx + 0x110], eax
mov eax, 0x1001
sub eax, dword [ebx + 0xd4]
cmp eax, 1
jg 0x4a3c46
push 0x23
push 0x438
mov edx, dword [0x4d429c]
push edx
mov ecx, dword [ebx + 0x114]
push ecx
call sub.WSOCK32.dll_WSAAsyncSelect
jmp 0x4a3d68
cmp dword [ebx + 0xec], 0
je 0x4a3c9d
mov dword [ebp - 4], 0x10
lea edx, [ebp - 4]
push edx
lea ecx, [ebp - 0x14]
push ecx
push 0
dec eax
push eax
push 0x4ed344
mov eax, dword [ebx + 0x114]
push eax
call sub.WSOCK32.dll_recvfrom
mov esi, eax
cmp dword [ebp - 4], 0
jle 0x4a3cb4
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 0x4a3cb4
push 0
dec eax
push eax
push 0x4ed344
mov edx, dword [ebx + 0x114]
push edx
call sub.WSOCK32.dll_recv
mov esi, eax
test esi, esi
jle 0x4a3e00
cmp dword [0x4d2374], 0
jne 0x4a3ceb
mov eax, dword [ebx + 0xd0]
test eax, eax
je 0x4a3cd6
push eax
call fcn.004c749c
pop ecx
xor edx, edx
mov dword [ebx + 0xd0], edx
xor ecx, ecx
mov dword [ebx + 0xd4], ecx
jmp 0x4a3e63
mov eax, dword [ebx + 0xd0]
test eax, eax
je 0x4a3d1a
mov edx, dword [ebx + 0xd4]
add edx, esi
add edx, 5
push edx
push eax
call fcn.004c7a38
add esp, 8
test eax, eax
je 0x4a3e63
mov dword [ebx + 0xd0], eax
jmp 0x4a3d37
lea ecx, [esi + 5]
push ecx
call fcn.004c75a4
pop ecx
mov dword [ebx + 0xd0], eax
cmp dword [ebx + 0xd0], 0
je 0x4a3e63
push esi
push 0x4ed344
mov eax, dword [ebx + 0xd0]
add eax, dword [ebx + 0xd4]
push eax
call fcn.004bccbc
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 + 0xec], 0
je 0x4a3d8a
push 0
push 0x35
push ebx
push str.UDPREAD
call fcn.004a2714
jmp 0x4a3d99
push 0
push 0x30
push ebx
push str.SOCKREAD
call fcn.004a2714
push ebx
call fcn.004a25e0
test eax, eax
je 0x4a3e63
cmp dword [ebx + 0xe8], 0
jne 0x4a3dd6
mov eax, dword [ebx + 0xd0]
test eax, eax
je 0x4a3dc1
push eax
call fcn.004c749c
pop ecx
xor edx, edx
mov dword [ebx + 0xd0], edx
xor ecx, ecx
mov dword [ebx + 0xd4], ecx
jmp 0x4a3e63
cmp dword [ebx + 0xe8], 2
je 0x4a3d68
cmp di, 0x20
jne 0x4a3e63
push 0x23
push 0x438
mov eax, dword [0x4d429c]
push eax
mov edx, dword [ebx + 0x114]
push edx
call sub.WSOCK32.dll_WSAAsyncSelect
jmp 0x4a3e63
test esi, esi
jge 0x4a3e3a
call sub.WSOCK32.dll_WSAGetLastError
cmp eax, 0x2733
je 0x4a3e17
cmp eax, 0x2734
jne 0x4a3e33
push 0x23
push 0x438
mov ecx, dword [0x4d429c]
push ecx
mov eax, dword [ebx + 0x114]
push eax
call sub.WSOCK32.dll_WSAAsyncSelect
jmp 0x4a3e63
mov esi, 3
jmp 0x4a3e3c
xor esi, esi
cmp dword [0x4d2374], 0
je 0x4a3e5d
push esi
push 0x2d
push ebx
push str.SOCKCLOSE
call fcn.004a2714
push ebx
call fcn.004a25e0
test eax, eax
je 0x4a3e63
push ebx
call fcn.004a250c
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8