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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x28
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov dword [0x413540], eax
mov eax, dword [ebp + 0x10]
mov dword [0x4136f0], edi
mov dword [0x413680], eax
lea eax, [ebp - 0x1c]
push eax
call sub.msvcrt.dll__ftime
movsx eax, word [ebp - 0x18]
add esp, 0x10
imul edx, dword [ebp - 0x1c], 0x3e8
lea eax, [edx + eax]
mov edx, dword [0x413790]
mov dword [0x413580], eax
test edx, edx
je 0x408a40
mov edx, dword [0x4131a0]
test edx, edx
jne 0x408aa8
mov esi, dword [0x413770]
test esi, esi
jne 0x408a77
mov ecx, dword [0x413790]
test ecx, ecx
je 0x408a40
mov ebx, dword [0x413460]
cmp ebx, 0x413460
je 0x4089ee
nop
lea esi, [esi]
test byte [ebx + 0x28], 1
mov esi, dword [ebx]
jne 0x4089e0
mov eax, dword [ebx + 8]
cmp eax, 0xffffffff
je 0x4089e0
mov edx, dword [ebp + 0x10]
sub esp, 8
push edx
push eax
call sub.WS2_32.DLL___WSAFDIsSet
pop edx
test eax, eax
pop ecx
je 0x408ad0
sub esp, 0xc
push ebx
call fcn.00407e60
add esp, 0x10
mov eax, dword [ebp + 0xc]
sub esp, 8
push eax
mov eax, dword [ebx + 8]
push eax
call sub.WS2_32.DLL___WSAFDIsSet
pop edx
test eax, eax
pop ecx
je 0x4089e0
mov eax, dword [ebx + 0x28]
test al, 2
je 0x408afe
and eax, 0xfffffffd
mov dword [ebx + 0x28], eax
lea eax, [ebp - 0x10]
push 0
push 0
push eax
mov eax, dword [ebx + 8]
push eax
call sub.WS2_32.DLL_send
test eax, eax
mov dword [ebp - 0x10], eax
js 0x408b4b
sub esp, 4
push ebx
push 0x14
push 0
call fcn.004025a0
add esp, 0x10
nop
cmp esi, 0x413460
mov ebx, esi
jne 0x408950
mov ebx, dword [0x4131b0]
cmp ebx, 0x4131b0
jne 0x408a0a
jmp 0x408a40
cmp esi, 0x4131b0
mov ebx, esi
je 0x408a40
mov eax, dword [ebx + 8]
mov esi, dword [ebx]
cmp eax, 0xffffffff
je 0x408a00
sub esp, 8
push edi
push eax
call sub.WS2_32.DLL___WSAFDIsSet
pop edx
test eax, eax
pop ecx
je 0x408a00
sub esp, 0xc
push ebx
mov ebx, esi
call fcn.004076e0
add esp, 0x10
cmp esi, 0x4131b0
jne 0x408a0a
lea esi, [esi]
mov eax, dword [0x413020]
test eax, eax
je 0x408a52
mov eax, dword [0x413790]
test eax, eax
jne 0x408a70
xor eax, eax
mov dword [0x4136f0], eax
xor eax, eax
mov dword [0x413540], eax
xor eax, eax
mov dword [0x413680], eax
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
call fcn.00401480
jmp 0x408a52
mov eax, dword [0x413580]
mov ebx, dword [0x413220]
sub eax, ebx
cmp eax, 0x1f2
jbe 0x40892b
call fcn.00405660
call fcn.00405490
mov eax, dword [0x413580]
mov dword [0x413220], eax
jmp 0x40892b
sub eax, edx
cmp eax, 1
jbe 0x40891d
call fcn.004051d0
mov esi, dword [0x413770]
xor eax, eax
mov dword [0x4131a0], eax
test esi, esi
je 0x40892b
jmp 0x408a77
sub esp, 8
push edi
mov eax, dword [ebx + 8]
push eax
call sub.WS2_32.DLL___WSAFDIsSet
pop edx
test eax, eax
pop ecx
je 0x40898b
test byte [ebx + 0x29], 1
je 0x408b20
sub esp, 0xc
push ebx
call fcn.00404a80
add esp, 0x10
jmp 0x4089e0
sub esp, 0xc
push ebx
mov ebx, esi
call fcn.00407a60
add esp, 0x10
cmp esi, 0x413460
mov dword [ebp - 0x10], eax
jne 0x408950
jmp 0x4089ee
sub esp, 0xc
push ebx
call fcn.00407c60
add esp, 0x10
test eax, eax
mov dword [ebp - 0x10], eax
jle 0x40898b
mov eax, dword [ebx + 0x2c]
sub esp, 0xc
push eax
call fcn.00406460
add esp, 0x10
jmp 0x40898b
call sub.WS2_32.DLL_WSAGetLastError
cmp eax, 0xb
je 0x4089e0
call sub.WS2_32.DLL_WSAGetLastError
cmp eax, 0x2733
je 0x4089e0
call sub.WS2_32.DLL_WSAGetLastError
cmp eax, 0x2734
je 0x4089e0
call sub.WS2_32.DLL_WSAGetLastError
cmp eax, 0x2749
je 0x4089e0
mov dword [ebx + 0x28], 1
jmp 0x4089ce