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

Disassembly:
push ebp
mov ebp, esp
push ebx
sub esp, 0x44
mov dword [ebp - 0xc], 0xc
mov dword [ebp - 0x10], 8
mov dword [ebp - 0x14], 0xf4240
mov dword [ebp - 0x18], 0
call dbg.os_random
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x24], 0
cmp dword [ebp + 0xc], 0
jne 0x4ae409
mov dword [esp + 0xc], str.Empty_command__not_sending_message_to_cluster
mov dword [esp + 8], str.OS_SendSecureTCPCluster
mov dword [esp + 4], 0x314
mov dword [esp], str.os_net_os_net.c
call dbg._merror
mov eax, 0xffffffff
jmp 0x4ae5f8
mov eax, dword [ebp + 0x14]
cmp dword [ebp - 0x14], eax
jae 0x4ae44d
mov eax, dword [ebp - 0x14]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.Data_of_length__u_exceeds_maximum_allowed__u
mov dword [esp + 8], str.OS_SendSecureTCPCluster
mov dword [esp + 4], 0x319
mov dword [esp], str.os_net_os_net.c
call dbg._merror
mov eax, 0xffffffff
jmp 0x4ae5f8
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call sym._strlen
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0xc], eax
jae 0x4ae49f
mov eax, dword [ebp - 0xc]
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x20]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.Command_of_length__u_exceeds_maximum_allowed__u
mov dword [esp + 8], str.OS_SendSecureTCPCluster
mov dword [esp + 4], 0x320
mov dword [esp], str.os_net_os_net.c
call dbg._merror
mov eax, 0xffffffff
jmp 0x4ae5f8
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xc]
add edx, eax
mov eax, dword [ebp + 0x14]
add eax, edx
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call sym._malloc
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jne 0x4ae50b
mov eax, dword [sym.imp.msvcrt.dll__errno]
call eax
mov eax, dword [eax]
mov dword [esp], eax
call sym._strerror
mov ebx, eax
mov eax, dword [sym.imp.msvcrt.dll__errno]
call eax
mov eax, dword [eax]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0x508cb0
mov dword [esp + 8], str.OS_SendSecureTCPCluster
mov dword [esp + 4], 0x326
mov dword [esp], str.os_net_os_net.c
call dbg._merror_exit
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call dbg.wnet_order_big
mov edx, dword [ebp - 0x18]
mov dword [edx], eax
mov eax, dword [ebp - 0x18]
lea ebx, [eax + 4]
mov eax, dword [ebp + 0x14]
mov dword [esp], eax
call dbg.wnet_order_big
mov dword [ebx], eax
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
add edx, eax
mov eax, dword [ebp - 0x20]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 4], eax
mov dword [esp], edx
call sym._memcpy
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
add edx, eax
mov eax, dword [ebp - 0x18]
add eax, edx
mov byte [eax], 0x20
mov eax, dword [ebp - 0xc]
sub eax, dword [ebp - 0x20]
lea edx, [eax - 1]
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
add eax, ecx
lea ecx, [eax + 1]
mov eax, dword [ebp - 0x18]
add eax, ecx
mov dword [esp + 8], edx
mov dword [esp + 4], 0x2d
mov dword [esp], eax
call sym._memset
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xc]
add edx, eax
mov eax, dword [ebp - 0x18]
add edx, eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 4], eax
mov dword [esp], edx
call sym._memcpy
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp + 8]
mov dword [esp + 0xc], 0
mov dword [esp + 8], edx
mov edx, dword [ebp - 0x18]
mov dword [esp + 4], edx
mov dword [esp], eax
mov eax, dword [sym.imp.WSOCK32.DLL_send]
call eax
sub esp, 0x10
mov edx, eax
mov eax, dword [ebp - 0x24]
cmp edx, eax
jne 0x4ae5e2
mov eax, 0
jmp 0x4ae5e7
mov eax, 0xfffffffa
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x18]
mov dword [esp], eax
call sym._free
mov eax, dword [ebp - 0x28]
mov ebx, dword [ebp - 4]
leave
ret