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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
mov ebx, ecx
xor ecx, ecx
push edi
mov edi, eax
mov dword [ebp - 4], ecx
cmp ebx, 0x28
ja 0x40523a
mov eax, ebx
imul eax, eax, 0x58
cmp dword [eax + 0x67df88], 1
mov dword [ebp - 8], eax
jl 0x404fb8
mov eax, dword [eax + 0x67df8c]
mov dword [ebp - 0xc], eax
cmp edi, 0x1770
jbe 0x404fc2
push 0x272
push str.IOCP.cpp
push edi
push str._IOCP__::_Error_Max_msg__d___s__d
push 0x688660
call fcn.0040a296
mov eax, dword [0x6885e0]
mov ecx, dword [eax]
push 0x688660
push 0x6885e0
call ecx
mov eax, ebx
add esp, 0x1c
mov ebx, 0x6885e0
call fcn.00405550
pop edi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret 4
push esi
lea esi, [eax + 0x2f18]
mov eax, dword [esi + 0x2efc]
cmp dword [esi + 0x2f0c], ecx
jle 0x40505c
lea edx, [eax + edi]
push edi
cmp edx, 0x176f
jbe 0x405037
push eax
mov eax, dword [esi + 0x2f00]
push eax
push ebx
push str._IOCP__::__Index___d__MAX_BUFFER_OVER__d__d__d
push 0x688660
call fcn.0040a296
mov ecx, dword [0x6885e0]
mov edx, dword [ecx]
push 0x688660
push 0x6885e0
call edx
mov eax, ebx
add esp, 0x20
mov ebx, 0x6885e0
mov dword [esi + 0x2f0c], 0
call fcn.00405550
pop esi
pop edi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [ebp + 8]
push ecx
lea edx, [eax + esi + 0x178c]
push edx
call fcn.0040b630
add esp, 0xc
add dword [esi + 0x2efc], edi
pop esi
pop edi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret 4
mov dword [esi + 0x2f00], ecx
cmp eax, ecx
jle 0x405090
push eax
lea eax, [esi + 0x178c]
push eax
lea ecx, [esi + 0x1c]
push ecx
call fcn.0040b630
mov edx, dword [esi + 0x2efc]
add esp, 0xc
mov dword [esi + 0x2f00], edx
mov dword [esi + 0x2efc], 0
mov eax, dword [esi + 0x2f00]
lea ecx, [eax + edi]
push edi
cmp ecx, 0x176f
jbe 0x4050eb
push eax
push ebx
push str._IOCP__::__Index___d__MAX_BUFFER_OVER__d__d__d
push 0x688660
call fcn.0040a296
mov edx, dword [0x6885e0]
mov eax, dword [edx]
push 0x688660
push 0x6885e0
call eax
mov eax, ebx
add esp, 0x1c
mov ebx, 0x6885e0
mov dword [esi + 0x2f0c], 0
call fcn.00405550
pop esi
pop edi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [ebp + 8]
push ecx
lea edx, [eax + esi + 0x1c]
push edx
call fcn.0040b630
add dword [esi + 0x2f00], edi
mov ecx, dword [esi + 0x2f00]
mov edi, dword [ebp - 8]
add esp, 0xc
push 0
lea eax, [esi + 0x1c]
push esi
mov dword [esi + 0x18], eax
lea eax, [esi + 0x14]
push 0
mov dword [eax], ecx
lea ecx, [ebp - 4]
push ecx
push 1
mov dword [esi + 0x2f04], 0
mov dword [esi + 0x2f08], 1
mov edx, dword [edi + 0x67df3c]
push eax
push edx
call dword [sym.imp.WS2_32.dll_WSASend]
cmp eax, 0xffffffff
jne 0x40521c
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x3e5
je 0x405225
mov eax, dword [esi + 0x18]
mov dword [esi + 0x2f0c], 0
movsx eax, byte [eax]
cmp eax, 0xc1
jne 0x4051b9
mov esi, dword [esi + 0x18]
lea ecx, [edi + 0x67df40]
push ecx
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
movzx edx, byte [esi + 2]
push eax
movzx eax, byte [esi]
push edx
push eax
push ebx
push 0x2b9
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
jmp 0x405202
cmp eax, 0xc2
jne 0x405205
mov esi, dword [esi + 0x18]
lea eax, [edi + 0x67df40]
push eax
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
movzx ecx, byte [esi + 3]
movzx edx, byte [esi]
push eax
push ecx
push edx
push ebx
push 0x2bf
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, ebx
mov ebx, 0x6885e0
call fcn.00405550
pop esi
pop edi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, dword [ebp - 0xc]
inc dword [eax + 0x5e28]
mov dword [esi + 0x2f0c], 1
pop esi
pop edi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, dword [ebp + 8]
movzx edx, byte [eax + 2]
movzx ecx, byte [eax + 1]
push edx
movzx edx, byte [eax]
push ecx
push edx
push edi
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
pop edi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret 4