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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
mov eax, dword [0x42867c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, 0x433458
mov ebx, 0x67df8c
push edi
mov byte [ebp - 0xc], 0xc1
mov dword [ebp - 0xb], 0x46462006
mov byte [ebp - 7], 0x58
xor edi, edi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x10], ebx
cmp byte [esi + 0x48], 1
jne 0x4034ac
mov dword [ebp - 0x18], 0
cmp edi, 0x28
ja 0x403461
cmp dword [ebx - 4], 1
jl 0x403491
mov esi, dword [ebx]
mov eax, dword [esi + 0x5e14]
mov dword [ebp - 0x1c], esi
add esi, 0x2f18
cmp dword [esi + 0x2f0c], 0
jle 0x40329d
lea ecx, [eax + 6]
cmp ecx, 0x176f
jbe 0x40327b
mov edx, dword [esi + 0x2f00]
push 6
push eax
push edx
push edi
push str._IOCP__::__Index___d__MAX_BUFFER_OVER__d__d__d
push 0x688660
call fcn.0040a296
mov eax, dword [0x6885e0]
mov ecx, dword [eax]
push 0x688660
push 0x6885e0
call ecx
add esp, 0x20
mov dword [esi + 0x2f0c], 0
mov eax, edi
mov ebx, 0x6885e0
call fcn.00405550
mov ebx, dword [ebp - 0x10]
jmp 0x403491
mov edx, dword [ebp - 0xc]
mov cx, word [ebp - 8]
mov dword [eax + esi + 0x178c], edx
mov word [eax + esi + 0x1790], cx
add dword [esi + 0x2efc], 6
jmp 0x403491
mov dword [esi + 0x2f00], 0
test eax, eax
jle 0x4032d5
push eax
lea edx, [esi + 0x178c]
push edx
lea eax, [esi + 0x1c]
push eax
call fcn.0040b630
mov ecx, dword [esi + 0x2efc]
add esp, 0xc
mov dword [esi + 0x2f00], ecx
mov dword [esi + 0x2efc], 0
mov eax, dword [esi + 0x2f00]
lea edx, [eax + 6]
cmp edx, 0x176f
jbe 0x403314
push 6
push eax
push edi
push str._IOCP__::__Index___d__MAX_BUFFER_OVER__d__d__d
push 0x688660
call fcn.0040a296
mov eax, dword [0x6885e0]
mov ecx, dword [eax]
push 0x688660
push 0x6885e0
call ecx
add esp, 0x1c
jmp 0x40325d
mov edx, dword [ebp - 0xc]
mov cx, word [ebp - 8]
mov dword [eax + esi + 0x1c], edx
mov word [eax + esi + 0x20], cx
add dword [esi + 0x2f00], 6
mov ecx, dword [esi + 0x2f00]
push 0
push esi
lea eax, [esi + 0x14]
push 0
mov dword [eax], ecx
lea ecx, [ebp - 0x18]
push ecx
lea edx, [esi + 0x1c]
push 1
mov dword [esi + 0x18], edx
mov dword [esi + 0x2f04], 0
mov dword [esi + 0x2f08], 1
mov edx, dword [ebx - 0x50]
push eax
push edx
call dword [sym.imp.WS2_32.dll_WSASend]
cmp eax, 0xffffffff
jne 0x40344c
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x3e5
je 0x403455
mov eax, dword [esi + 0x18]
mov dword [esi + 0x2f0c], 0
movsx eax, byte [eax]
cmp eax, 0xc1
jne 0x4033ed
mov esi, dword [esi + 0x18]
add ebx, 0xffffffb4
push ebx
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
movzx ecx, byte [esi + 2]
movzx edx, byte [esi]
push eax
push ecx
push edx
push edi
push 0x2b9
push str._IOCP__::___d_WSASend__d__failed_with_error___x___x___d__s
push 0x688660
call fcn.0040a296
mov eax, dword [0x6885e0]
mov ecx, dword [eax]
push 0x688660
push 0x6885e0
call ecx
add esp, 0x28
mov eax, edi
mov ebx, 0x6885e0
call fcn.00405550
mov ebx, dword [ebp - 0x10]
jmp 0x403491
cmp eax, 0xc2
jne 0x403267
mov esi, dword [esi + 0x18]
add ebx, 0xffffffb4
push ebx
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
movzx edx, byte [esi + 3]
push eax
movzx eax, byte [esi]
push edx
push eax
push edi
push 0x2bf
push str._IOCP__::___d_WSASend__d__failed_with_error___x___x___d__s
push 0x688660
call fcn.0040a296
mov ecx, dword [0x6885e0]
mov edx, dword [ecx]
push 0x688660
push 0x6885e0
call edx
add esp, 0x28
mov eax, edi
mov ebx, 0x6885e0
call fcn.00405550
mov ebx, dword [ebp - 0x10]
jmp 0x403491
mov eax, dword [ebp - 0x1c]
inc dword [eax + 0x5e28]
mov dword [esi + 0x2f0c], 1
jmp 0x403491
push 0x20
push 6
push 0xc1
push 6
push str._IOCP__::__DataSend__Index__d___x__x__x
push 0x688660
call fcn.0040a296
mov eax, dword [0x6885e0]
mov ecx, dword [eax]
push 0x688660
push 0x6885e0
call ecx
add esp, 0x20
mov esi, dword [ebp - 0x14]
push esi
push str._CMD_ALLGSCLOSE__::_Disconnecting_SERVER___s_
push 0xff0000
mov eax, 0x42a6d8
call fcn.00407e40
add esp, 0xc
add ebx, 0x58
add esi, 0x4c
inc edi
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x14], esi
cmp ebx, 0x67ed4c
jl 0x4031e4
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0040a0fc
mov esp, ebp
pop ebp
ret