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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x150]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0x1f
je 0x100ae166
jmp 0x100ae4b7
mov eax, dword [ebp - 0xc]
add eax, 0x1cb0
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x1eb0], eax
mov eax, dword [ebp - 0xc]
add eax, 0x1eb0
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 0x1eb0], eax
jae 0x100ae1a9
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1eb0]
mov byte [eax], 0xff
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1eb0]
inc eax
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x1eb0], eax
xor eax, eax
jne 0x100ae177
mov eax, dword [ebp - 0xc]
add eax, 0x1eb0
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 0x1eb0], eax
jae 0x100ae1df
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1eb0]
mov byte [eax], 0xfa
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1eb0]
inc eax
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x1eb0], eax
xor eax, eax
jne 0x100ae1ad
mov eax, dword [ebp - 0xc]
add eax, 0x1eb0
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 0x1eb0], eax
jae 0x100ae215
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1eb0]
mov byte [eax], 0x1f
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1eb0]
inc eax
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x1eb0], eax
xor eax, eax
jne 0x100ae1e3
mov eax, dword [ebp - 0xc]
movzx eax, word [eax + 0x1ca8]
push eax
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 4], ax
mov eax, dword [ebp - 0xc]
movzx eax, word [eax + 0x1caa]
push eax
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 8], ax
lea eax, [ebp - 4]
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 8]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0xc]
add eax, 0x1eb0
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 0x1eb0], eax
jae 0x100ae28c
xor eax, eax
inc eax
imul eax, eax, 0
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ecx + 0x1eb0]
mov edx, dword [ebp - 0x1c]
mov al, byte [edx + eax]
mov byte [ecx], al
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1eb0]
inc eax
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x1eb0], eax
xor eax, eax
jne 0x100ae24f
mov eax, dword [ebp - 0xc]
add eax, 0x1eb0
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 0x1eb0], eax
jae 0x100ae2cd
xor eax, eax
inc eax
shl eax, 0
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ecx + 0x1eb0]
mov edx, dword [ebp - 0x1c]
mov al, byte [edx + eax]
mov byte [ecx], al
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1eb0]
inc eax
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x1eb0], eax
xor eax, eax
jne 0x100ae290
mov eax, dword [ebp - 0xc]
add eax, 0x1eb0
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 0x1eb0], eax
jae 0x100ae30e
xor eax, eax
inc eax
imul eax, eax, 0
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ecx + 0x1eb0]
mov edx, dword [ebp - 0x20]
mov al, byte [edx + eax]
mov byte [ecx], al
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1eb0]
inc eax
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x1eb0], eax
xor eax, eax
jne 0x100ae2d1
mov eax, dword [ebp - 0xc]
add eax, 0x1eb0
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 0x1eb0], eax
jae 0x100ae34f
xor eax, eax
inc eax
shl eax, 0
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ecx + 0x1eb0]
mov edx, dword [ebp - 0x20]
mov al, byte [edx + eax]
mov byte [ecx], al
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1eb0]
inc eax
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x1eb0], eax
xor eax, eax
jne 0x100ae312
mov eax, dword [ebp - 0xc]
add eax, 0x1eb0
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 0x1eb0], eax
jae 0x100ae385
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1eb0]
mov byte [eax], 0xff
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1eb0]
inc eax
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x1eb0], eax
xor eax, eax
jne 0x100ae353
mov eax, dword [ebp - 0xc]
add eax, 0x1eb0
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 0x1eb0], eax
jae 0x100ae3bb
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1eb0]
mov byte [eax], 0xf0
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1eb0]
inc eax
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x1eb0], eax
xor eax, eax
jne 0x100ae389
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ecx + 0x1eb0]
mov dword [eax + 0x1eb4], ecx
mov eax, dword [ebp - 0xc]
add eax, 0x1cb0
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x1eb0], eax
xor eax, eax
jne 0x100ae3bf
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0xc]
mov eax, dword [eax + 0x1eb4]
sub eax, dword [ecx + 0x1eb0]
dec eax
dec eax
push eax
mov eax, dword [ebp - 0xc]
add eax, 0x1cb2
push eax
push 0x3e
push dword [ebp - 0x10]
call fcn.100aee4f
add esp, 0x10
push 0
push 3
mov eax, dword [ebp - 0xc]
add eax, 0x1cb0
push eax
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp + 8]
push dword [ecx + eax + 0x1a8]
call dword [sym.imp.WS2_32.dll_send]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jge 0x100ae459
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [ebp - 0x18], eax
push dword [ebp - 0x18]
push 0x100eef3c
push dword [ebp - 0x10]
call fcn.10083b69
add esp, 0xc
push 4
mov eax, dword [ebp - 0xc]
add eax, 0x1cb3
push eax
push dword [ebp + 8]
call fcn.100ad9c9
add esp, 0xc
push 0
push 2
mov eax, dword [ebp - 0xc]
add eax, 0x1cb7
push eax
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp + 8]
push dword [ecx + eax + 0x1a8]
call dword [sym.imp.WS2_32.dll_send]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jge 0x100ae4b7
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [ebp - 0x18], eax
push dword [ebp - 0x18]
push str.Sending_data_failed___d_
push dword [ebp - 0x10]
call fcn.10083b69
add esp, 0xc
mov esp, ebp
pop ebp
ret