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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x2138
call fcn.0041d390
mov dword [ebp - 0x212c], ecx
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x2124], 0
mov dword [ebp - 0x2120], 0
cmp dword [ebp + 0xc], 0x2000
jle 0x4091fa
xor eax, eax
jmp 0x4095bb
push 0x2000
push 0
lea eax, [ebp - 0x211c]
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov dword [ebp - 0x11c], 0
mov ecx, dword [ebp - 0x11c]
mov byte [ebp + ecx - 0x211c], 0xb8
mov edx, dword [ebp - 0x11c]
add edx, 1
mov dword [ebp - 0x11c], edx
mov eax, dword [ebp - 0x11c]
mov byte [ebp + eax - 0x211c], 0x34
mov ecx, dword [ebp - 0x11c]
add ecx, 1
mov dword [ebp - 0x11c], ecx
push 2
lea edx, [ebp + 0xc]
push edx
mov eax, dword [ebp - 0x11c]
lea ecx, [ebp + eax - 0x211c]
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov edx, dword [ebp - 0x11c]
add edx, 2
mov dword [ebp - 0x11c], edx
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [ebp - 0x11c]
lea eax, [ebp + edx - 0x211c]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ecx, dword [ebp - 0x11c]
add ecx, dword [ebp + 0xc]
mov dword [ebp - 0x11c], ecx
mov edx, dword [ebp - 0x11c]
mov byte [ebp + edx - 0x211c], 0x34
mov eax, dword [ebp - 0x11c]
add eax, 1
mov dword [ebp - 0x11c], eax
mov ecx, dword [ebp - 0x11c]
mov byte [ebp + ecx - 0x211c], 0xb8
mov edx, dword [ebp - 0x11c]
add edx, 1
mov dword [ebp - 0x11c], edx
push 8
push 0x424668
lea eax, [ebp - 0x108]
push eax
call fcn.0040e210
add esp, 0xc
mov ecx, dword [ebp - 0x11c]
push ecx
lea edx, [ebp - 0x211c]
push edx
lea eax, [ebp - 0x108]
push eax
call fcn.0040e2e2
add esp, 0xc
lea ecx, [ebp - 0x211c]
mov dword [ebp - 0x10c], ecx
mov edx, dword [ebp - 0x11c]
mov dword [ebp - 0x110], edx
mov eax, dword [ebp - 0x212c]
add eax, 0x6030
mov dword [ebp - 0x114], eax
mov ecx, dword [ebp - 0x114]
mov dword [ecx + 8], 2
mov edx, dword [ebp - 0x114]
mov eax, dword [ebp - 0x110]
mov dword [edx + 0xc], eax
push 0
mov ecx, dword [ebp - 0x114]
push ecx
mov edx, dword [ebp + 0x10]
push edx
lea eax, [ebp - 0x2124]
push eax
push 1
lea ecx, [ebp - 0x110]
push ecx
mov edx, dword [ebp - 0x212c]
mov eax, dword [edx + 0x14]
push eax
call dword [sym.imp.ws2_32.dll_WSASend]
mov dword [ebp - 0x118], eax
cmp dword [ebp - 0x118], 0xffffffff
jne 0x4094f4
call dword [sym.imp.ws2_32.dll_WSAGetLastError]
mov dword [ebp - 0x2128], eax
cmp dword [ebp - 0x2128], 0x3e5
jne 0x409425
mov ecx, 1
test ecx, ecx
je 0x4093cb
mov dword [ebp - 0x2130], 0
jmp 0x4093eb
mov edx, dword [ebp - 0x212c]
mov eax, dword [edx + 0x6048]
push eax
push str.SEND_:_IO_PENDING_SID_d__n
call fcn.004045e0
add esp, 8
mov dword [ebp - 0x2130], eax
mov ecx, dword [ebp - 0x212c]
mov dx, word [ecx + 6]
add dx, 1
mov eax, dword [ebp - 0x212c]
mov word [eax + 6], dx
mov ecx, dword [ebp - 0x212c]
movsx edx, word [ecx + 6]
cmp edx, 3
jle 0x409417
jmp 0x4095b6
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x2124], eax
jmp 0x4094f2
cmp dword [ebp - 0x2128], 0x2733
jne 0x409499
mov ecx, 1
test ecx, ecx
je 0x409446
mov dword [ebp - 0x2134], 0
jmp 0x409466
mov edx, dword [ebp - 0x212c]
mov eax, dword [edx + 0x6048]
push eax
push str.SEND_:_WOULDBLOCK_SID_d__n
call fcn.004045e0
add esp, 8
mov dword [ebp - 0x2134], eax
mov ecx, dword [ebp - 0x212c]
mov dx, word [ecx + 8]
add dx, 1
mov eax, dword [ebp - 0x212c]
mov word [eax + 8], dx
mov ecx, dword [ebp - 0x212c]
movsx edx, word [ecx + 8]
cmp edx, 3
jle 0x409492
jmp 0x4095b1
xor eax, eax
jmp 0x4095bb
mov eax, 1
test eax, eax
je 0x4094ae
mov dword [ebp - 0x2138], 0
jmp 0x4094d5
mov ecx, dword [ebp - 0x2128]
push ecx
mov edx, dword [ebp - 0x212c]
mov eax, dword [edx + 0x6048]
push eax
push str.SEND_:_ERROR__SID_d_____d_n
call fcn.004045e0
add esp, 0xc
mov dword [ebp - 0x2138], eax
mov ecx, dword [ebp - 0x212c]
mov dx, word [ecx + 4]
add dx, 1
mov eax, dword [ebp - 0x212c]
mov word [eax + 4], dx
jmp 0x4095ac
jmp 0x409521
cmp dword [ebp - 0x118], 0
jne 0x409521
mov ecx, dword [ebp - 0x212c]
mov word [ecx + 6], 0
mov edx, dword [ebp - 0x212c]
mov word [edx + 8], 0
mov eax, dword [ebp - 0x212c]
mov word [eax + 4], 0
mov eax, dword [ebp - 0x2124]
jmp 0x4095bb
mov ecx, dword [ebp - 0x212c]
add ecx, 0x601c
mov dword [ebp - 0x114], ecx
mov edx, dword [ebp - 0x114]
mov dword [edx + 8], 3
mov eax, dword [ebp - 0x212c]
xor ecx, ecx
mov cl, byte [eax + 0x6044]
cmp ecx, 1
jne 0x409572
mov edx, dword [ebp - 0x212c]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x2120], ecx
jmp 0x409584
mov edx, dword [ebp - 0x212c]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x2120], ecx
mov edx, dword [ebp - 0x114]
push edx
mov eax, dword [ebp - 0x212c]
mov ecx, dword [eax + 0x6048]
push ecx
push 0
mov edx, dword [ebp - 0x2120]
push edx
call dword [sym.imp.kernel32.dll_PostQueuedCompletionStatus]
or eax, 0xffffffff
jmp 0x4095bb
jmp 0x40952c
jmp 0x40952c
jmp 0x40952c
mov esp, ebp
pop ebp
ret 0xc