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

Disassembly:
sub esp, 0x904
mov al, byte [0x1009ac7f]
push ebx
push ebp
push esi
push edi
push 0x7f
mov byte [esp + 0x98], al
xor ebp, ebp
lea eax, [esp + 0x99]
push ebp
push eax
call fcn.1005b850
mov al, byte [0x1009ac80]
push 0x7f
mov byte [esp + 0x24], al
lea eax, [esp + 0x25]
push ebp
push eax
call fcn.1005b850
mov edi, dword [esp + 0x930]
mov edi, dword [edi]
mov dword [esp + 0x28], edi
mov ebx, dword [edi + 0x154]
mov eax, dword [ebx + 0x1eb4]
sub eax, dword [ebx + 0x1eb0]
add eax, 2
push eax
lea eax, [ebx + 0x1cb0]
push eax
push 0x3c
push edi
call fcn.1003fe81
mov eax, dword [ebx + 0x1eb0]
add esp, 0x28
movzx ecx, byte [eax]
inc eax
mov dword [ebx + 0x1eb0], eax
cmp ecx, 0x18
je 0x10040890
cmp ecx, 0x23
je 0x10040815
cmp ecx, 0x27
jne 0x10040925
push ebp
push ecx
push 0xfa
mov ebp, 0xff
push ebp
push 0x10091e9c
lea eax, [esp + 0x128]
push 0x800
push eax
call fcn.1002f9d1
mov ebx, dword [ebx + 0x1cac]
add esp, 0x1c
push 4
pop esi
test ebx, ebx
je 0x100407b6
mov ecx, dword [ebx]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10040743
sub ecx, edx
lea edi, [esi + 1]
add edi, ecx
cmp edi, 0x7fa
jae 0x100407ab
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x98]
push eax
push str._127_____127s
push dword [ebx]
call fcn.1005bce1
add esp, 0x10
test eax, eax
je 0x100407ab
lea eax, [esp + 0x14]
push eax
push 1
lea eax, [esp + 0x9c]
push eax
push 0
mov eax, 0x800
sub eax, esi
push str._c_s_c_s
push eax
lea eax, [esp + 0x12c]
add eax, esi
push eax
call fcn.1002f9d1
add esp, 0x1c
mov esi, edi
mov ebx, dword [ebx + 4]
test ebx, ebx
jne 0x1004073e
mov edi, dword [esp + 0x10]
push 0xf0
push ebp
mov eax, 0x800
sub eax, esi
push 0x10091ec4
push eax
lea eax, [esp + 0x124]
add eax, esi
push eax
call fcn.1002f9d1
add esp, 0x14
add esi, 2
push 0
push esi
lea eax, [esp + 0x11c]
push eax
mov eax, dword [esp + 0x924]
push dword [eax + 0x1a8]
call dword [sym.imp.WS2_32.dll_send]
test eax, eax
jns 0x1004090e
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push 0x10091ecc
jmp 0x10040905
add ebx, 0x1c28
mov ecx, ebx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10040820
push 0xf0
mov ebp, 0xff
push ebp
push ebx
push 0
push 0x23
push 0xfa
push ebp
push str._c_c_c_c_s_c_c
sub ecx, edx
lea eax, [esp + 0x134]
push 0x800
push eax
lea esi, [ecx + 6]
call fcn.1002f9d1
add esp, 0x28
lea eax, [esp + 0x114]
push 0
push esi
push eax
mov eax, dword [esp + 0x924]
push dword [eax + 0x1a8]
call dword [sym.imp.WS2_32.dll_send]
test eax, eax
jns 0x1004090e
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push 0x10091e80
jmp 0x10040905
add ebx, 0x1c08
mov ecx, ebx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1004089b
push 0xf0
mov ebp, 0xff
push ebp
push ebx
push 0
push 0x18
push 0xfa
push ebp
push 0x10091e44
sub ecx, edx
lea eax, [esp + 0x134]
push 0x800
push eax
lea esi, [ecx + 6]
call fcn.1002f9d1
add esp, 0x28
lea eax, [esp + 0x114]
push 0
push esi
push eax
mov eax, dword [esp + 0x924]
push dword [eax + 0x1a8]
call dword [sym.imp.WS2_32.dll_send]
test eax, eax
jns 0x1004090e
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push 0x10091e54
push edi
call fcn.100293e3
add esp, 0xc
lea eax, [esi - 2]
push eax
lea eax, [esp + 0x11a]
push eax
push 0x3e
push edi
call fcn.1003fe81
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x904
ret