Function at 0x47ac1c
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 0x47ac47
jmp 0x47af98
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 0x47ac8a
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 0x47ac58
mov eax, dword [ebp - 0xc]
add eax, 0x1eb0
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 0x1eb0], eax
jae 0x47acc0
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 0x47ac8e
mov eax, dword [ebp - 0xc]
add eax, 0x1eb0
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 0x1eb0], eax
jae 0x47acf6
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 0x47acc4
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 0x47ad6d
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 0x47ad30
mov eax, dword [ebp - 0xc]
add eax, 0x1eb0
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 0x1eb0], eax
jae 0x47adae
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 0x47ad71
mov eax, dword [ebp - 0xc]
add eax, 0x1eb0
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 0x1eb0], eax
jae 0x47adef
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 0x47adb2
mov eax, dword [ebp - 0xc]
add eax, 0x1eb0
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 0x1eb0], eax
jae 0x47ae30
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 0x47adf3
mov eax, dword [ebp - 0xc]
add eax, 0x1eb0
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 0x1eb0], eax
jae 0x47ae66
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 0x47ae34
mov eax, dword [ebp - 0xc]
add eax, 0x1eb0
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 0x1eb0], eax
jae 0x47ae9c
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 0x47ae6a
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 0x47aea0
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.0047b707
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 0x47af3a
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [ebp - 0x18], eax
push dword [ebp - 0x18]
push 0x4c7f1c
push dword [ebp - 0x10]
call fcn.004465bf
add esp, 0xc
push 4
mov eax, dword [ebp - 0xc]
add eax, 0x1cb3
push eax
push dword [ebp + 8]
call fcn.0047a4aa
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 0x47af98
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.004465bf
add esp, 0xc
mov esp, ebp
pop ebp
ret