Function at 0x4a4884
Capabilities:
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffd8
push ebx
push esi
mov eax, dword [ebp + 8]
push eax
call fcn.004a2654
mov ebx, eax
test ebx, ebx
je 0x4a4b18
cmp dword [ebx + 0xe4], 2
jne 0x4a4b18
mov eax, dword [ebp + 0xc]
shr eax, 0x10
test ax, 0xffff
je 0x4a4903
cmp dword [0x4d2374], 0
je 0x4a48ea
cmp dword [ebx + 0xec], 0
je 0x4a48db
push 3
push 0x36
push ebx
push 0x4d33ca
call fcn.004a2714
jmp 0x4a48ea
push 3
push 0x31
push ebx
push 0x4d33d4
call fcn.004a2714
push ebx
call fcn.004a25e0
test eax, eax
je 0x4a4b18
push ebx
call fcn.004a250c
jmp 0x4a4b18
cmp dword [ebx + 0xdc], 0
je 0x4a4b18
cmp dword [ebx + 0xec], 0
je 0x4a49ad
lea eax, [ebp - 8]
mov dword [ebp - 0xc], eax
lea edx, [ebx + 0xf4]
mov dword [eax], edx
xor ecx, ecx
mov dword [eax + 4], ecx
mov word [ebp - 0xe], 4
mov word [ebp - 0x10], 2
lea esi, [ebp - 0x18]
push 0x10
push 0
lea eax, [ebp - 0x28]
push eax
call fcn.004bcd2c
add esp, 0xc
mov word [ebp - 0x28], 2
movsx edx, word [esi + 0xa]
push edx
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx]
push eax
lea edx, [ebp - 0x24]
push edx
call fcn.004bccbc
add esp, 0xc
mov cx, word [ebx + 0xf8]
push ecx
call sub.WSOCK32.dll_htons
mov word [ebp - 0x26], ax
mov eax, dword [esi + 0xc]
mov edx, dword [eax]
mov ecx, dword [edx]
mov dword [ebp - 0x24], ecx
push 0x10
lea eax, [ebp - 0x28]
push eax
push 0
mov edx, dword [ebx + 0xe0]
push edx
mov ecx, dword [ebx + 0xdc]
push ecx
mov eax, dword [ebx + 0x114]
push eax
call sub.WSOCK32.dll_sendto
mov esi, eax
jmp 0x4a49cb
push 0
mov eax, dword [ebx + 0xe0]
push eax
mov edx, dword [ebx + 0xdc]
push edx
mov ecx, dword [ebx + 0x114]
push ecx
call sub.WSOCK32.dll_send
mov esi, eax
test esi, esi
jge 0x4a4a4b
call sub.WSOCK32.dll_WSAGetLastError
cmp eax, 0x2733
je 0x4a49e2
cmp eax, 0x2734
jne 0x4a4a00
push 0x23
push 0x438
mov eax, dword [0x4d429c]
push eax
mov edx, dword [ebx + 0x114]
push edx
call sub.WSOCK32.dll_WSAAsyncSelect
jmp 0x4a4b18
cmp dword [0x4d2374], 0
je 0x4a4a32
cmp dword [ebx + 0xec], 0
je 0x4a4a23
push 3
push 0x36
push ebx
push 0x4d33df
call fcn.004a2714
jmp 0x4a4a32
push 3
push 0x31
push ebx
push 0x4d33e9
call fcn.004a2714
push ebx
call fcn.004a25e0
test eax, eax
je 0x4a4b18
push ebx
call fcn.004a250c
jmp 0x4a4b18
push 0
call fcn.004c92e8
pop ecx
mov dword [ebx + 0x10c], eax
test esi, esi
jle 0x4a4aaf
add dword [ebx + 0x104], esi
cmp esi, dword [ebx + 0xe0]
jge 0x4a4aaf
sub dword [ebx + 0xe0], esi
mov ecx, dword [ebx + 0xe0]
push ecx
mov eax, dword [ebx + 0xdc]
add esi, eax
push esi
push eax
call fcn.004bcce0
add esp, 0xc
mov edx, dword [ebx + 0xe0]
add edx, 5
push edx
mov ecx, dword [ebx + 0xdc]
push ecx
call fcn.004c7a38
add esp, 8
test eax, eax
je 0x4a4b18
mov dword [ebx + 0xdc], eax
jmp 0x4a4b18
mov eax, dword [ebx + 0xdc]
push eax
call fcn.004c749c
pop ecx
xor edx, edx
mov dword [ebx + 0xdc], edx
xor ecx, ecx
mov dword [ebx + 0xe0], ecx
cmp dword [ebx + 0xec], 0
je 0x4a4ae6
cmp dword [ebx + 0xf0], 0
jne 0x4a4ae6
push ebx
call fcn.004a250c
jmp 0x4a4b18
cmp dword [0x4d2374], 0
je 0x4a4b18
cmp dword [ebx + 0xec], 0
je 0x4a4b09
push 0
push 0x36
push ebx
push str.UDPWRITE
call fcn.004a2714
jmp 0x4a4b18
push 0
push 0x31
push ebx
push str.SOCKWRITE
call fcn.004a2714
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8