Function at 0x4d6124
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.004d3e78
mov ebx, eax
test ebx, ebx
je 0x4d63b8
cmp dword [ebx + 0xe4], 2
jne 0x4d63b8
mov eax, dword [ebp + 0xc]
shr eax, 0x10
test ax, 0xffff
je 0x4d61a3
cmp dword [0x4fb7f4], 0
je 0x4d618a
cmp dword [ebx + 0xec], 0
je 0x4d617b
push 3
push 0x3f
push ebx
push 0x4fc906
call fcn.004d3f38
jmp 0x4d618a
push 3
push 0x3a
push ebx
push 0x4fc910
call fcn.004d3f38
push ebx
call fcn.004d3e04
test eax, eax
je 0x4d63b8
push ebx
call fcn.004d3d24
jmp 0x4d63b8
cmp dword [ebx + 0xdc], 0
je 0x4d63b8
cmp dword [ebx + 0xec], 0
je 0x4d624d
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.00401198
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.00401128
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 + 0x118]
push eax
call sub.WSOCK32.dll_sendto
mov esi, eax
jmp 0x4d626b
push 0
mov eax, dword [ebx + 0xe0]
push eax
mov edx, dword [ebx + 0xdc]
push edx
mov ecx, dword [ebx + 0x118]
push ecx
call sub.WSOCK32.dll_send
mov esi, eax
test esi, esi
jge 0x4d62eb
call sub.WSOCK32.dll_WSAGetLastError
cmp eax, 0x2733
je 0x4d6282
cmp eax, 0x2734
jne 0x4d62a0
push 0x23
push 0x438
mov eax, dword [0x4fd9ec]
push eax
mov edx, dword [ebx + 0x118]
push edx
call sub.WSOCK32.dll_WSAAsyncSelect
jmp 0x4d63b8
cmp dword [0x4fb7f4], 0
je 0x4d62d2
cmp dword [ebx + 0xec], 0
je 0x4d62c3
push 3
push 0x3f
push ebx
push 0x4fc91b
call fcn.004d3f38
jmp 0x4d62d2
push 3
push 0x3a
push ebx
push 0x4fc925
call fcn.004d3f38
push ebx
call fcn.004d3e04
test eax, eax
je 0x4d63b8
push ebx
call fcn.004d3d24
jmp 0x4d63b8
push 0
call fcn.0040ef0c
pop ecx
mov dword [ebx + 0x110], eax
test esi, esi
jle 0x4d634f
add dword [ebx + 0x104], esi
cmp esi, dword [ebx + 0xe0]
jge 0x4d634f
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.0040114c
add esp, 0xc
mov edx, dword [ebx + 0xe0]
add edx, 5
push edx
mov ecx, dword [ebx + 0xdc]
push ecx
call fcn.0040c9f0
add esp, 8
test eax, eax
je 0x4d63b8
mov dword [ebx + 0xdc], eax
jmp 0x4d63b8
mov eax, dword [ebx + 0xdc]
push eax
call fcn.0040c454
pop ecx
xor edx, edx
mov dword [ebx + 0xdc], edx
xor ecx, ecx
mov dword [ebx + 0xe0], ecx
cmp dword [ebx + 0xec], 0
je 0x4d6386
cmp dword [ebx + 0xf0], 0
jne 0x4d6386
push ebx
call fcn.004d3d24
jmp 0x4d63b8
cmp dword [0x4fb7f4], 0
je 0x4d63b8
cmp dword [ebx + 0xec], 0
je 0x4d63a9
push 0
push 0x3f
push ebx
push 0x4fc930
call fcn.004d3f38
jmp 0x4d63b8
push 0
push 0x3a
push ebx
push 0x4fc93a
call fcn.004d3f38
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8