Function at 0x140031f90
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 0x140032110
mov rdi, qword [0x140129dc0]
xor r15d, r15d
xor r14d, r14d
test rbx, rbx
je 0x1400322c0
mov qword [rsp + 0x28], r8
nop dword [rax + rax]
mov rcx, qword [rbx + 0x18]
xor esi, esi
test rcx, rcx
je 0x140031fec
call sym.wcslen
lea rsi, [rax + 1]
mov eax, dword [rbx + 4]
cmp eax, 2
je 0x1400321c0
cmp eax, 0x17
jne 0x1400320c8
mov ebp, 0x1c
mov r13d, 0x1c
cmp qword [rbx + 0x20], 0
je 0x1400320c8
mov rax, qword [rbx + 0x10]
cmp rax, r13
jb 0x1400320c8
test rax, rax
je 0x1400320c8
lea rcx, [r13 + rsi + 0x30]
call qword [rdi]
test rax, rax
je 0x140032300
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 0x1400320a7
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 0x140032095
test rsi, rsi
jne 0x1400321d0
test r14, r14
cmove r14, rax
test r15, r15
je 0x1400320c0
mov qword [r15 + 0x28], rax
mov r15, rax
nop dword [rax + rax]
mov rbx, qword [rbx + 0x40]
test rbx, rbx
jne 0x140031fd8
mov rbp, qword [rsp + 0x28]
test r14, r14
je 0x1400322c0
mov rcx, qword [rbp + 0x20]
mov qword [rbp + 0xb0], r14
test rcx, rcx
je 0x140032140
mov rax, qword [0x140129cf0]
call qword [rax]
mov qword [rbp + 0x20], 0
jmp 0x140032140
test rbx, rbx
je 0x140032129
mov rax, qword [0x140129cf0]
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 0x140032340
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 0x140032220
mov rcx, qword [rbp + 0xa0]
cmp rcx, 0xffffffffffffffff
je 0x140032186
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 0x140032360
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 0x1400321aa
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 0x14003200c
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 0x14003220a
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 0x1400321f0
mov rdx, qword [rax + 0x18]
mov byte [rdx + rsi], 0
jmp 0x1400320b0
mov rcx, qword [rbp + 0x78]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rcx, qword [rbp + 0x78]
mov rbx, qword [0x140129da0]
test rcx, rcx
je 0x140032246
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 0x140032260
call sym.Curl_freeaddrinfo
mov rcx, qword [rbp + 0xa0]
cmp rcx, 0xffffffffffffffff
jne 0x1400322b8
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 0x14003226d
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 0x1400322f0
mov rax, qword [0x140129cf0]
call qword [rax]
mov qword [rbp + 0x20], 0
mov esi, 0x2af9
jmp 0x140032129
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 0x140032332
mov rax, qword [0x140129cf0]
call qword [rax]
mov qword [rbp + 0x20], 0
mov esi, 8
jmp 0x140032129
call rbx
mov edx, 8
test eax, eax
cmove eax, edx
mov dword [rbp + 0xa8], eax
jmp 0x140032140
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [rbp + 0xa8], eax
jmp 0x140032186