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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
mov r12, qword [r8 + 0xe8]
mov rbx, qword [r8 + 0x20]
mov esi, ecx
mov rbp, r8
test ecx, ecx
jne 0x140031c40
mov rdi, qword [0x14011e810]
xor r15d, r15d
xor r14d, r14d
test rbx, rbx
je 0x140031df0
mov qword [rsp + 0x28], r8
nop dword [rax + rax]
mov rcx, qword [rbx + 0x18]
xor esi, esi
test rcx, rcx
je 0x140031b1c
call sym.wcslen
lea rsi, [rax + 1]
mov eax, dword [rbx + 4]
cmp eax, 2
je 0x140031cf0
cmp eax, 0x17
jne 0x140031bf8
mov ebp, 0x1c
mov r13d, 0x1c
cmp qword [rbx + 0x20], 0
je 0x140031bf8
mov rax, qword [rbx + 0x10]
cmp rax, r13
jb 0x140031bf8
test rax, rax
je 0x140031bf8
lea rcx, [r13 + rsi + 0x30]
call qword [rdi]
test rax, rax
je 0x140031e30
movdqu xmm0, xmmword [rbx]
mov r8, qword [rbx + 0x20]
lea r11, [rax + 0x30]
mov dword [rax + 0x10], ebp
mov qword [rax + 0x18], 0
lea r10, [rax + 0x38]
mov qword [rax + 0x28], 0
and r10, 0xfffffffffffffff8
mov qword [rax + 0x20], r11
movups xmmword [rax], xmm0
mov rdx, qword [r8]
mov qword [rax + 0x30], rdx
mov rdx, qword [r8 + r13 - 8]
mov qword [r11 + r13 - 8], rdx
mov rdx, r11
sub rdx, r10
sub r8, rdx
add edx, r13d
and edx, 0xfffffff8
cmp edx, 8
jb 0x140031bd7
and edx, 0xfffffff8
xor ecx, ecx
mov r9d, ecx
add ecx, 8
mov rbp, qword [r8 + r9]
mov qword [r10 + r9], rbp
cmp ecx, edx
jb 0x140031bc5
test rsi, rsi
jne 0x140031d00
test r14, r14
cmove r14, rax
test r15, r15
je 0x140031bf0
mov qword [r15 + 0x28], rax
mov r15, rax
nop dword [rax + rax]
mov rbx, qword [rbx + 0x40]
test rbx, rbx
jne 0x140031b08
mov rbp, qword [rsp + 0x28]
test r14, r14
je 0x140031df0
mov rcx, qword [rbp + 0x20]
mov qword [rbp + 0xb0], r14
test rcx, rcx
je 0x140031c70
mov rax, qword [0x14011e740]
call qword [rax]
mov qword [rbp + 0x20], 0
jmp 0x140031c70
test rbx, rbx
je 0x140031c59
mov rax, qword [0x14011e740]
mov rcx, rbx
call qword [rax]
mov qword [rbp + 0x20], 0
mov rbx, qword [sym.imp.WS2_32.dll_WSAGetLastError]
call rbx
test eax, eax
jne 0x140031e70
mov dword [rbp + 0xa8], esi
mov rcx, qword [rbp + 0x78]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [rbp + 0x80]
test eax, eax
jne 0x140031d50
mov rcx, qword [rbp + 0xa0]
cmp rcx, 0xffffffffffffffff
je 0x140031cb6
xor r9d, r9d
mov byte [rsp + 0x3f], 1
lea rdx, [rsp + 0x3f]
mov r8d, 1
call qword [sym.imp.WS2_32.dll_send]
test eax, eax
js 0x140031e90
mov dword [rbp + 0x80], 1
mov rcx, qword [rbp + 0x78]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rcx, qword [r12]
test rcx, rcx
je 0x140031cda
call qword [sym.imp.KERNEL32.dll_SetEvent]
nop
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov ebp, 0x10
mov r13d, 0x10
jmp 0x140031b3c
mov rdx, qword [rbx + 0x18]
add r11, r13
mov qword [rax + 0x18], r11
movzx edx, word [rdx]
mov byte [r11], dl
cmp rsi, 1
je 0x140031d3a
mov edx, 1
nop dword [rax]
mov r8, qword [rbx + 0x18]
mov rcx, qword [rax + 0x18]
movzx r8d, word [r8 + rdx*2]
mov byte [rcx + rdx], r8b
add rdx, 1
cmp rsi, rdx
jne 0x140031d20
mov rdx, qword [rax + 0x18]
mov byte [rdx + rsi], 0
jmp 0x140031be0
mov rcx, qword [rbp + 0x78]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rcx, qword [rbp + 0x78]
mov rbx, qword [0x14011e7f0]
test rcx, rcx
je 0x140031d76
call qword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
mov rcx, qword [rbp + 0x78]
call qword [rbx]
mov rcx, qword [rbp + 0x88]
call qword [rbx]
mov rcx, qword [rbp + 0xb0]
test rcx, rcx
je 0x140031d90
call sym.Curl_freeaddrinfo
mov rcx, qword [rbp + 0xa0]
cmp rcx, 0xffffffffffffffff
jne 0x140031de8
lea rdi, [rbp + 8]
mov qword [rbp], 0
xor eax, eax
mov qword [rbp + 0xe8], 0
and rdi, 0xfffffffffffffff8
sub rbp, rdi
lea ecx, [rbp + 0xf0]
shr ecx, 3
rep stosq qword [rdi], rax
mov rcx, r12
mov rax, qword [rbx]
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp rax
call qword [sym.imp.WS2_32.dll_closesocket]
jmp 0x140031d9d
mov ecx, 0x2af9
call qword [sym.imp.WS2_32.dll_WSASetLastError]
mov rcx, qword [rbp + 0x20]
mov qword [rbp + 0xb0], 0
test rcx, rcx
je 0x140031e20
mov rax, qword [0x14011e740]
call qword [rax]
mov qword [rbp + 0x20], 0
mov esi, 0x2af9
jmp 0x140031c59
mov rbp, qword [rsp + 0x28]
mov rcx, r14
call sym.Curl_freeaddrinfo
mov qword [rbp + 0xb0], 0
mov rcx, qword [rbp + 0x20]
test rcx, rcx
je 0x140031e62
mov rax, qword [0x14011e740]
call qword [rax]
mov qword [rbp + 0x20], 0
mov esi, 8
jmp 0x140031c59
call rbx
mov edx, 8
test eax, eax
cmove eax, edx
mov dword [rbp + 0xa8], eax
jmp 0x140031c70
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [rbp + 0xa8], eax
jmp 0x140031cb6