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

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0xf8
lea rbp, [rsp + 0xf0]
mov r14, qword [rbp + 0x90]
mov r13, qword [rbp + 0xa0]
mov rbx, rcx
mov rsi, rdx
mov r12, r8
mov edi, r9d
test r14, r14
je 0x14007e4d1
mov qword [r14], 0
test rbx, rbx
je 0x14007e7c8
call fcn.140073e30
mov rdx, rax
mov rax, qword [rbx]
test rax, rax
je 0x14007e4ef
cmp qword [rax], rdx
je 0x14007e4ff
mov rcx, rbx
call fcn.1400b1670
test eax, eax
je 0x14007e7c8
test rsi, rsi
je 0x14007e570
call fcn.14007ae70
mov rdx, rax
mov rax, qword [rsi]
test rax, rax
je 0x14007e519
cmp qword [rax], rdx
je 0x14007e570
mov rcx, rsi
call fcn.1400b1670
test eax, eax
jne 0x14007e570
lea rax, str.address__NULL__G_IS_SOCKET_ADDRESS__address_
nop dword [rax]
mov qword [rsp + 0x20], rax
lea r9, str.g_socket_send_message_with_timeout
lea r8, [0x14037bda0]
mov edx, 8
lea rcx, [0x14037bea6]
call fcn.1400d2190
xor r10d, r10d
mov eax, r10d
lea rsp, [rbp + 8]
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
test edi, edi
je 0x14007e580
lea rax, str.num_vectors__0__vectors___NULL
test r12, r12
je 0x14007e530
mov r8d, dword [rbp + 0x78]
test r8d, r8d
je 0x14007e597
cmp qword [rbp + 0x70], 0
lea rax, str.num_messages__0__messages___NULL
je 0x14007e530
cmp qword [rbp + 0x98], 0
je 0x14007e5d1
call fcn.140043d10
mov rdx, rax
mov rax, qword [rbp + 0x98]
mov rax, qword [rax]
test rax, rax
je 0x14007e5bd
cmp qword [rax], rdx
je 0x14007e5d1
mov rcx, qword [rbp + 0x98]
call fcn.1400b1670
test eax, eax
je 0x14007e7d8
test r13, r13
je 0x14007e5e8
cmp qword [r13], 0
lea rax, [0x14037d210]
jne 0x14007e530
call fcn.1400d4a80
mov rcx, qword [rbx + 0x18]
mov rdx, r13
mov r15, rax
call fcn.1402cb260
test eax, eax
je 0x14007e554
mov rax, qword [rbx + 0x18]
cmp byte [rax + 0x28], 0
js 0x14007e8b0
mov rcx, qword [rbp + 0x98]
mov rdx, r13
call fcn.140042df0
mov r10d, eax
test eax, eax
jne 0x14007e554
cmp edi, 0xffffffff
je 0x14007e970
cmp dword [rbp + 0x78], 0xffffffff
je 0x14007e7e8
test edi, edi
jne 0x14007e9f0
mov ecx, dword [rbp + 0x78]
mov byte [rbp - 0x85], 0
mov eax, 1
lea rdx, [rbp - 0x85]
test ecx, ecx
jne 0x14007e80c
sub rsp, 0x10
mov edi, 1
mov qword [rsp + 0x58], rdx
lea r9, [rsp + 0x50]
mov dword [r9], eax
test rsi, rsi
je 0x14007e968
mov rcx, rsi
mov dword [rbp - 0x98], r10d
mov qword [rbp - 0xa0], r9
call fcn.14007b0c0
lea rdx, [rbp - 0x80]
mov r8, r13
mov rcx, rsi
mov r12, rax
call fcn.14029b810
mov r10d, dword [rbp - 0x98]
test eax, eax
je 0x14007e557
mov r9, qword [rbp - 0xa0]
lea rax, [rbp - 0x84]
mov dword [rbp - 0xa0], r10d
mov qword [rbp - 0x98], rax
mov qword [rbp + 0x90], r14
mov r14, r9
mov rax, qword [rbx + 0x18]
movsxd rcx, dword [rax + 0xc]
test rsi, rsi
je 0x14007e930
lea rax, [rbp - 0x80]
mov dword [rsp + 0x30], r12d
mov r8d, edi
mov rdx, r14
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x28], rax
mov eax, dword [rbp + 0x80]
mov dword [rsp + 0x20], eax
mov r9, qword [rbp - 0x98]
call qword [sym.imp.WS2_32.dll_WSASendTo]
test eax, eax
je 0x14007eabb
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2714
je 0x14007e6e1
cmp eax, 0x2733
jne 0x14007eb12
mov rax, qword [rbx + 0x18]
lea rcx, [rax + 0x58]
call fcn.140341618
mov rax, qword [rbx + 0x18]
and dword [rax + 0x40], 0xfffffffd
mov rax, qword [rbx + 0x18]
and dword [rax + 0x44], 0xfffffffd
mov rax, qword [rbx + 0x18]
lea rcx, [rax + 0x58]
call fcn.140341260
cmp qword [rbp + 0x88], 0
je 0x14007eb87
mov qword [rsp + 0x28], r13
mov r9, r15
mov edx, 4
mov rcx, rbx
mov rax, qword [rbp + 0x98]
mov qword [rsp + 0x20], rax
mov r8, qword [rbp + 0x88]
call fcn.1400764b0
test eax, eax
jne 0x14007e6e1
mov r10d, dword [rbp - 0xa0]
jmp 0x14007e557
lea rax, [0x14037c4d8]
jmp 0x14007e530
lea rax, [0x14037d1d8]
jmp 0x14007e530
cmp qword [rbp + 0x70], 0
je 0x14007eb92
mov rax, qword [rbp + 0x70]
cmp qword [rax], 0
je 0x14007eb92
test edi, edi
jne 0x14007e80c
mov byte [rbp - 0x85], 0
mov rcx, qword [0x14048def0]
mov rax, qword [rcx]
test rax, rax
je 0x14007ea70
lea rdx, str.GSocketControlMessage_not_supported_on_Windows
lea rcx, [0x14037be29]
mov dword [rbp - 0x98], r10d
call fcn.1400c7f40
mov rsi, qword [0x14048eee0]
mov r10d, dword [rbp - 0x98]
mov rbx, rax
mov eax, dword [rsi]
test eax, eax
jne 0x14007e865
lea rcx, [0x14037c0b8]
call fcn.1400daa90
mov r10d, dword [rbp - 0x98]
mov dword [rsi], eax
test r13, r13
je 0x14007e557
cmp qword [r13], 0
mov dword [rbp - 0x98], r10d
je 0x14007ea9c
mov r9, rbx
lea r8, [0x14037c4f0]
mov edx, 0x10
lea rcx, [0x14037c3ca]
call fcn.1400d2190
mov r10d, dword [rbp - 0x98]
jmp 0x14007e557
and byte [rax + 0x28], 0x7f
mov rcx, qword [0x14048def0]
mov rax, qword [rcx]
test rax, rax
je 0x14007ea20
lea rdx, str.Socket_I_O_timed_out
lea rcx, [0x14037be29]
call fcn.1400c7f40
mov rsi, qword [0x14048eee0]
mov rbx, rax
mov eax, dword [rsi]
test eax, eax
jne 0x14007e8f8
lea rcx, [0x14037c0b8]
call fcn.1400daa90
mov dword [rsi], eax
test r13, r13
je 0x14007e554
cmp qword [r13], 0
je 0x14007ea37
mov r9, rbx
lea r8, [0x14037c4f0]
mov edx, 0x10
lea rcx, [0x14037c3ca]
call fcn.1400d2190
jmp 0x14007e554
mov qword [rsp + 0x30], 0
mov r8d, edi
mov rdx, r14
mov qword [rsp + 0x28], 0
mov eax, dword [rbp + 0x80]
mov dword [rsp + 0x20], eax
mov r9, qword [rbp - 0x98]
call qword [sym.imp.WS2_32.dll_WSASend]
jmp 0x14007e72f
xor r12d, r12d
jmp 0x14007e6c2
cmp qword [r12], 0
je 0x14007eadb
lea rax, [r12 + 0x10]
xor edi, edi
nop word [rax + rax]
add rax, 0x10
add edi, 1
cmp qword [rax - 0x10], 0
jne 0x14007e988
cmp dword [rbp + 0x78], 0xffffffff
je 0x14007ea4f
mov eax, dword [rbp + 0x78]
test eax, eax
jne 0x14007e80c
movsxd rax, edi
shl rax, 4
call fcn.1403423d0
sub rsp, rax
lea r9, [rsp + 0x50]
xor edx, edx
xor eax, eax
nop dword [rax + rax]
mov rcx, qword [r12 + rax]
add edx, 1
mov qword [r9 + rax + 8], rcx
mov rcx, qword [r12 + rax + 8]
mov dword [r9 + rax], ecx
add rax, 0x10
cmp edx, edi
jl 0x14007e9c8
jmp 0x14007e67b
mov edx, dword [rbp + 0x78]
test edx, edx
jne 0x14007e80c
movsxd rax, edi
shl rax, 4
call fcn.1403423d0
sub rsp, rax
lea r9, [rsp + 0x50]
test edi, edi
jle 0x14007e67b
jmp 0x14007e9bf
call fcn.1400e7370
test eax, eax
je 0x14007e8c7
call fcn.1400cb3d0
jmp 0x14007e8c7
mov r8, rbx
mov edx, 0x18
mov ecx, eax
call fcn.1400cac00
mov qword [r13], rax
jmp 0x14007e554
cmp qword [rbp + 0x70], 0
je 0x14007e9fb
mov rax, qword [rbp + 0x70]
cmp qword [rax], 0
jne 0x14007e801
jmp 0x14007e9fb
mov dword [rbp - 0x98], r10d
call fcn.1400e7370
mov r10d, dword [rbp - 0x98]
test eax, eax
je 0x14007e81f
call fcn.1400cb3d0
mov r10d, dword [rbp - 0x98]
jmp 0x14007e81f
mov r8, rbx
mov edx, 0xf
mov ecx, eax
call fcn.1400cac00
mov r10d, dword [rbp - 0x98]
mov qword [r13], rax
jmp 0x14007e557
mov r14, qword [rbp + 0x90]
test r14, r14
je 0x14007ead0
mov eax, dword [rbp - 0x84]
mov qword [r14], rax
mov r10d, 1
jmp 0x14007e557
cmp dword [rbp + 0x78], 0xffffffff
jne 0x14007e647
cmp qword [rbp + 0x70], 0
je 0x14007eafa
mov rax, qword [rbp + 0x70]
cmp qword [rax], 0
jne 0x14007e805
mov byte [rbp - 0x85], 0
lea rdx, [rbp - 0x85]
mov eax, 1
jmp 0x14007e665
mov r10d, dword [rbp - 0xa0]
mov ecx, eax
test r13, r13
je 0x14007e557
mov dword [rbp - 0x98], eax
call fcn.1400264c0
mov ecx, dword [rbp - 0x98]
mov ebx, eax
call fcn.140075150
mov r10d, dword [rbp - 0xa0]
cmp ebx, 0x1b
mov rsi, rax
mov dword [rbp - 0x98], r10d
je 0x14007eb9f
lea rcx, str.Error_sending_message:__s
call fcn.1400cb540
mov rdi, rax
call fcn.140025c60
mov qword [rsp + 0x20], rsi
mov r9, rdi
mov r8d, ebx
mov edx, eax
mov rcx, r13
call fcn.1400cab90
mov r10d, dword [rbp - 0x98]
jmp 0x14007e557
mov r10d, 0xffffffe5
jmp 0x14007e557
test edi, edi
je 0x14007eafa
jmp 0x14007e9fb
call fcn.140025c60
mov r9, rsi
mov r8d, 0x1b
mov rcx, r13
mov edx, eax
call fcn.1400cacb0
mov r10d, dword [rbp - 0x98]
jmp 0x14007e557