Function at 0x6c130c70
Capabilities:
Send data
Send data on socket
Set socket configuration

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x7c
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x90]
mov ebx, dword [esp + 0x9c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x98]
cmp dword [ecx + 8], 1
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x24], eax
je 0x6c130cda
lea eax, [esp + 0x40]
mov dword [esp + 4], 0x8004667e
mov dword [esp + 8], eax
mov eax, dword [ecx]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x40], 0
mov dword [esp], eax
call dword [sym.imp.ws2_32.dll_ioctlsocket]
sub esp, 0xc
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + 4]
mov dword [ecx + 8], 1
test edx, edx
je 0x6c130ee9
mov eax, dword [esp + 0x24]
mov dword [eax], 0
mov eax, dword [esp + 0x14]
test eax, eax
je 0x6c130e72
lea eax, [esp + 0x40]
mov dword [esp + 0x2c], eax
lea eax, [ecx + 0xc]
mov dword [esp + 0x28], eax
lea esi, [esi]
mov edx, dword [ecx + 0x1c]
mov dword [esp + 0x20], ecx
mov eax, dword [esp + 0x14]
mov dword [esp + 0x44], 7
mov ebx, dword [ecx + 0x14]
mov dword [esp + 0x50], 1
mov edi, dword [ecx + 0x18]
mov dword [esp + 0x5c], 6
movq xmm0, qword [0x6c14e408]
mov dword [esp + 0x64], 0
cmp eax, edx
mov dword [esp + 0x68], 0
cmovbe edx, eax
mov eax, dword [ecx + 0x2c]
mov dword [esp + 0x40], ebx
mov dword [esp + 0x58], edi
mov dword [esp + 8], edx
mov dword [esp + 0x4c], edx
lea esi, [eax + ebx]
add ebx, edx
mov dword [esp + 0x48], eax
add eax, ebx
mov dword [esp], esi
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x54], esi
mov dword [esp + 0x6c], 0
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x18]
movq qword [esp + 0x30], xmm0
mov dword [esp + 4], eax
call sub.ucrtbase.dll_memcpy
lea eax, [esp + 0x30]
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.6c143438
sub esp, 0x10
test eax, eax
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
je 0x6c130e00
test byte [0x6c145258], 4
jne 0x6c130ec0
add esp, 0x7c
mov eax, 0x2f7d
pop ebx
pop esi
pop edi
pop ebp
ret
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0x1c], edx
add ebx, dword [esp + 0x40]
mov dword [esp + 0x20], ecx
mov ebp, dword [ecx + 0x2c]
add ebx, dword [esp + 0x58]
mov edi, dword [ecx]
mov esi, dword [sym.imp.ws2_32.dll_send]
jmp 0x6c130e35
call dword [sym.imp.ws2_32.dll_WSAGetLastError]
cmp eax, 0x2714
jne 0x6c130e80
mov dword [esp + 0xc], 0
mov dword [esp + 8], ebx
mov dword [esp + 4], ebp
mov dword [esp], edi
call esi
sub esp, 0x10
cmp eax, 0xffffffff
je 0x6c130e28
test eax, eax
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
jle 0x6c130e80
mov eax, dword [esp + 0x24]
add dword [esp + 0x18], edx
add dword [eax], edx
sub dword [esp + 0x14], edx
jne 0x6c130d18
xor eax, eax
add esp, 0x7c
pop ebx
pop esi
pop edi
pop ebp
ret
test byte [0x6c145258], 4
je 0x6c130dee
mov dword [esp + 0xc], str.send_failed_n
mov dword [esp + 8], str.send_ssl_chunk
mov dword [esp + 4], 0x6c145258
mov dword [esp], 2
call fcn.6c130610
jmp 0x6c130dee
mov dword [esp + 0xc], str.EncryptMessage_failed_n
mov dword [esp + 8], str.send_ssl_chunk
mov dword [esp + 4], 0x6c145258
mov dword [esp], 2
call fcn.6c130610
jmp 0x6c130dee
mov esi, dword [ecx]
mov edi, dword [sym.imp.ws2_32.dll_send]
mov ebp, dword [sym.imp.ws2_32.dll_WSAGetLastError]
jmp 0x6c130f09
call ebp
cmp eax, 0x2714
jne 0x6c130f37
mov eax, dword [esp + 0x14]
mov dword [esp + 0xc], ebx
mov dword [esp], esi
mov dword [esp + 8], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 4], eax
call edi
sub esp, 0x10
cmp eax, 0xffffffff
je 0x6c130f00
mov edi, dword [esp + 0x24]
mov dword [edi], eax
xor eax, eax
jmp 0x6c130e74
mov eax, dword [esp + 0x24]
mov dword [eax], 0xffffffff
add esp, 0x7c
mov eax, ebp
pop ebx
pop esi
pop edi
pop ebp
jmp eax