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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
mov dword [ebp - 0xc], 0
mov eax, dword [ebp + 8]
mov dword [0x42f3e4], eax
mov ecx, dword [ebp + 0xc]
mov dword [0x42f3b4], ecx
mov edx, dword [ebp + 0x10]
mov dword [0x42f3b0], edx
call fcn.0040bda0
cmp dword [0x42f3f0], 0
je 0x40c390
cmp dword [0x42f394], 0
je 0x40c35d
mov eax, dword [0x42f398]
sub eax, dword [0x42f394]
cmp eax, 2
jb 0x40c35d
call fcn.00413680
mov dword [0x42f394], 0
cmp dword [0x42f3a0], 0
je 0x40c390
mov ecx, dword [0x42f398]
sub ecx, dword [0x42f390]
cmp ecx, 0x1f3
jb 0x40c390
call fcn.00405c40
call fcn.00413740
mov edx, dword [0x42f398]
mov dword [0x42f390], edx
cmp dword [0x42f3f0], 0
je 0x40c566
mov eax, dword [0x42f400]
mov dword [ebp - 0x10], eax
jmp 0x40c3b6
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0xc]
add edx, 1
mov dword [ebp - 0xc], edx
cmp dword [ebp - 0x10], 0x42f400
je 0x40c518
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 0x10]
mov eax, dword [edx + 0x27]
and eax, 1
jne 0x40c3df
mov ecx, dword [ebp - 0x10]
cmp dword [ecx + 8], 0xffffffff
jne 0x40c3e1
jmp 0x40c3a7
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 8]
push ecx
call dword [sym.imp.WS2_32.dll___WSAFDIsSet]
test eax, eax
je 0x40c404
mov edx, dword [ebp - 0x10]
push edx
call fcn.0040cfa0
add esp, 4
jmp 0x40c45c
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx + 8]
push edx
call dword [sym.imp.WS2_32.dll___WSAFDIsSet]
test eax, eax
je 0x40c45c
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x27]
and ecx, 0x100
je 0x40c438
mov edx, dword [ebp - 0x10]
push edx
call fcn.004121b0
add esp, 4
jmp 0x40c3a7
mov eax, dword [ebp - 0x10]
push eax
call fcn.0040cc40
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jle 0x40c45c
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx + 0x2b]
push edx
call fcn.00410a50
add esp, 4
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx + 8]
push edx
call dword [sym.imp.WS2_32.dll___WSAFDIsSet]
test eax, eax
je 0x40c513
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x27]
and ecx, 2
je 0x40c504
mov edx, dword [ebp - 0x10]
mov eax, dword [edx + 0x27]
and eax, 0xfffffffd
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0x27], eax
push 0
push 0
lea edx, [ebp - 8]
push edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 8]
push ecx
call dword [sym.imp.WS2_32.dll_send]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jge 0x40c4f2
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0xb
je 0x40c4e3
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
je 0x40c4e3
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2734
je 0x40c4e3
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2749
jne 0x40c4e8
jmp 0x40c3a7
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x27], 1
mov eax, dword [ebp - 0x10]
push eax
push 0x14
push 0
call fcn.0040e7d0
add esp, 0xc
jmp 0x40c513
mov ecx, dword [ebp - 0x10]
push ecx
call fcn.0040d3f0
add esp, 4
mov dword [ebp - 8], eax
jmp 0x40c3a7
mov edx, dword [0x42f560]
mov dword [ebp - 0x10], edx
jmp 0x40c529
mov eax, dword [ebp - 4]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0x42f560
je 0x40c566
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx]
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0x10]
cmp dword [eax + 8], 0xffffffff
je 0x40c564
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [ebp - 0x10]
mov eax, dword [edx + 8]
push eax
call dword [sym.imp.WS2_32.dll___WSAFDIsSet]
test eax, eax
je 0x40c564
mov ecx, dword [ebp - 0x10]
push ecx
call fcn.0040d6e0
add esp, 4
jmp 0x40c523
cmp dword [0x42f5dc], 0
je 0x40c57d
cmp dword [0x42f3f0], 0
je 0x40c57d
call fcn.004044b0
mov dword [0x42f3e4], 0
mov dword [0x42f3b4], 0
mov dword [0x42f3b0], 0
mov esp, ebp
pop ebp
ret