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

Disassembly:
push rbp
mov rbp, rsp
push r15
push r14
push r13
mov r13, rcx
push r12
mov r12, r8
push rdi
push rsi
push rbx
mov rbx, rdx
sub rsp, 0x10
and rsp, 0xfffffffffffffff0
sub rsp, 0x90
movaps xmmword [rsp + 0x90], xmm6
mov rax, qword [r8 + 8]
mov rdi, qword [rdx]
lea rsi, [rax + 0x48]
call fcn.1400a3ad0
cmp rdi, rax
jne 0x1401032c8
test rsi, rsi
jne 0x140103450
xor ebx, ebx
call fcn.1400d55a0
movaps xmm6, xmmword [rsp + 0x90]
lea rsp, [rbp - 0x38]
mov r8, rbx
mov rcx, rax
pop rbx
mov r9d, 2
pop rsi
lea rdx, [0x14016f750]
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
jmp fcn.1400fe3e0
lea r14, [0x1403f1768]
mov rcx, r14
call fcn.140030b80
mov r9, qword [0x1403f1770]
test r9, r9
je 0x140103480
movzx eax, byte [rbx + 7]
movzx edx, byte [rbx + 4]
movzx ecx, byte [rbx]
shl eax, 0x18
lea eax, [rax + rdx - 0x61c88647]
movzx edx, byte [rbx + 6]
shl edx, 0x10
add eax, edx
movzx edx, byte [rbx + 5]
shl edx, 8
add eax, edx
movzx edx, byte [rbx + 3]
shl edx, 0x18
lea ecx, [rdx + rcx - 0x60b6453e]
movzx edx, byte [rbx + 2]
shl edx, 0x10
add ecx, edx
movzx edx, byte [rbx + 1]
shl edx, 8
add ecx, edx
lea edx, [rax + 0x1124109]
sub ecx, eax
xor ecx, 0x7f76d
mov eax, ecx
sub edx, ecx
shl eax, 8
xor eax, edx
mov edx, 0xfeedbef7
sub edx, ecx
mov r8d, eax
sub ecx, eax
sub edx, eax
shr r8d, 0xd
xor r8d, edx
mov edx, r8d
sub ecx, r8d
sub eax, r8d
shr edx, 0xc
xor edx, ecx
mov ecx, edx
sub eax, edx
sub r8d, edx
shl ecx, 0x10
xor ecx, eax
mov eax, ecx
sub r8d, ecx
sub edx, ecx
shr eax, 5
xor eax, r8d
mov r8d, eax
sub edx, eax
sub ecx, eax
shr r8d, 3
xor r8d, edx
mov edx, r8d
sub ecx, r8d
sub eax, r8d
shl edx, 0xa
xor edx, ecx
mov rcx, qword [r9 + 0x18]
sub eax, edx
shr edx, 0xf
xor edx, eax
mov eax, dword [rcx + 8]
sub eax, 1
and eax, edx
shl rax, 4
add rax, qword [rcx]
mov rdi, qword [rax]
test rdi, rdi
je 0x140103480
mov rcx, qword [rcx + 0x20]
mov rax, rcx
sub rdi, rcx
neg rax
jmp 0x1401033e8
mov rdi, qword [rdi + 0x38]
test rdi, rdi
je 0x140103480
add rdi, rax
cmp dword [rdi + 0x4c], edx
jne 0x1401033d8
cmp dword [rdi + 0x48], 8
jne 0x1401033d8
mov rcx, qword [rdi + 0x40]
mov r15, qword [rbx]
cmp qword [rcx], r15
jne 0x1401033d8
mov rcx, r14
call fcn.140030ef0
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x140103b10
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x20], rsi
mov r9, r12
mov r8d, 1
mov edx, 0x56
call fcn.1400c1320
movaps xmm6, xmmword [rsp + 0x90]
lea rsp, [rbp - 0x38]
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov ecx, 1
mov rdx, rsi
call sub.msvcrt.dll_calloc
mov rcx, rax
test rax, rax
je 0x14010328d
mov r8, rsi
mov rdx, r12
call sub.msvcrt.dll_memcpy
mov rbx, rax
jmp 0x14010328f
mov rcx, r14
call fcn.140030ef0
lea rax, [rsp + 0x70]
mov r8d, 8
mov rdx, rbx
mov rcx, rax
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x68], 0
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], 0
mov qword [rsp + 0x80], 0
mov qword [rsp + 0x88], 0
call fcn.1400546e0
mov edx, 0x43
mov ecx, 1
call sub.msvcrt.dll_calloc
mov r15, rax
test rax, rax
je 0x14010377f
mov edx, 0x7830
mov word [rax], dx
mov rdx, qword [rsp + 0x70]
lea rax, [0x1402ad0f0]
movzx ecx, dl
movzx edi, dh
mov r9, rdx
mov r8, rdx
movzx ecx, word [rax + rcx*2]
mov qword [rsp + 0x50], rdi
mov rdi, rdx
shr r8, 0x28
shr rdi, 0x10
shr r9, 0x20
movzx r10d, r8b
mov r8, rdx
movd xmm0, ecx
mov rcx, qword [rsp + 0x50]
movzx edi, dil
movzx r9d, r9b
shr r8, 0x30
mov r11, rdx
shr rdx, 0x38
pinsrw xmm0, word [rax + rcx*2], 1
movzx ecx, word [rax + rdi*2]
movzx r8d, r8b
shr r11, 0x18
movzx r11d, r11b
movd xmm3, ecx
movzx ecx, word [rax + r9*2]
pinsrw xmm3, word [rax + r11*2], 1
movd xmm1, ecx
movzx ecx, word [rax + r8*2]
pinsrw xmm1, word [rax + r10*2], 1
punpckldq xmm0, xmm3
movd xmm2, ecx
pinsrw xmm2, word [rax + rdx*2], 1
mov rdx, qword [rsp + 0x78]
movzx ecx, dl
punpckldq xmm1, xmm2
movzx edi, dh
mov r9, rdx
movzx ecx, word [rax + rcx*2]
mov qword [rsp + 0x50], rdi
punpcklqdq xmm0, xmm1
mov rdi, rdx
movups xmmword [r15 + 2], xmm0
shr rdi, 0x10
mov r8, rdx
shr r9, 0x20
movd xmm0, ecx
mov rcx, qword [rsp + 0x50]
movzx edi, dil
shr r8, 0x28
movzx r10d, r8b
movzx r9d, r9b
mov r8, rdx
mov r11, rdx
shr r8, 0x30
pinsrw xmm0, word [rax + rcx*2], 1
movzx ecx, word [rax + rdi*2]
shr rdx, 0x38
movzx r8d, r8b
shr r11, 0x18
movd xmm3, ecx
movzx ecx, word [rax + r9*2]
movzx r11d, r11b
pinsrw xmm3, word [rax + r11*2], 1
movd xmm1, ecx
movzx ecx, word [rax + r8*2]
pinsrw xmm1, word [rax + r10*2], 1
punpckldq xmm0, xmm3
movd xmm2, ecx
pinsrw xmm2, word [rax + rdx*2], 1
mov rdx, qword [rsp + 0x80]
movzx ecx, dl
punpckldq xmm1, xmm2
movzx edi, dh
mov r11, rdx
movzx ecx, word [rax + rcx*2]
mov qword [rsp + 0x50], rdi
punpcklqdq xmm0, xmm1
mov rdi, rdx
movups xmmword [r15 + 0x12], xmm0
shr rdi, 0x10
mov r9, rdx
mov r8, rdx
shr r8, 0x28
movd xmm0, ecx
mov rcx, qword [rsp + 0x50]
movzx edi, dil
shr r11, 0x18
shr r9, 0x20
movzx r10d, r8b
mov r8, rdx
shr r8, 0x30
movzx r11d, r11b
movzx r9d, r9b
shr rdx, 0x38
pinsrw xmm0, word [rax + rcx*2], 1
movzx ecx, word [rax + rdi*2]
movzx r8d, r8b
movd xmm3, ecx
pinsrw xmm3, word [rax + r11*2], 1
movzx ecx, word [rax + r9*2]
mov byte [r15 + 0x42], 0
movd xmm1, ecx
movzx ecx, word [rax + r8*2]
pinsrw xmm1, word [rax + r10*2], 1
punpckldq xmm0, xmm3
movd xmm2, ecx
pinsrw xmm2, word [rax + rdx*2], 1
mov rdx, qword [rsp + 0x88]
movzx ecx, dl
punpckldq xmm1, xmm2
movzx edi, dh
mov r9, rdx
movzx ecx, word [rax + rcx*2]
punpcklqdq xmm0, xmm1
mov qword [rsp + 0x50], rdi
mov rdi, rdx
movups xmmword [r15 + 0x22], xmm0
shr rdi, 0x10
mov r8, rdx
shr r9, 0x20
movd xmm0, ecx
mov rcx, qword [rsp + 0x50]
movzx edi, dil
shr r8, 0x28
movzx r10d, r8b
movzx r9d, r9b
mov r8, rdx
mov r11, rdx
shr r8, 0x30
pinsrw xmm0, word [rax + rcx*2], 1
movzx ecx, word [rax + rdi*2]
shr r11, 0x18
movzx r8d, r8b
movzx r11d, r11b
shr rdx, 0x38
movd xmm3, ecx
movzx ecx, word [rax + r9*2]
pinsrw xmm3, word [rax + r11*2], 1
movd xmm1, ecx
movzx ecx, word [rax + r8*2]
pinsrw xmm1, word [rax + r10*2], 1
punpckldq xmm0, xmm3
movd xmm2, ecx
pinsrw xmm2, word [rax + rdx*2], 1
punpckldq xmm1, xmm2
punpcklqdq xmm0, xmm1
movups xmmword [r15 + 0x32], xmm0
mov rcx, qword [r13 + 0x20]
xor r9d, r9d
lea r8, [rsp + 0x68]
mov rdx, r15
mov qword [rsp + 0x20], 0
call fcn.1400d7670
mov rcx, r15
mov rdi, rax
call sub.msvcrt.dll_free
test rdi, rdi
je 0x140103b7d
mov r8, qword [rsp + 0x58]
mov eax, 0x56
xor r9d, r9d
mov rdx, rdi
mov rcx, r13
mov word [rsp + 0x70], ax
movq xmm6, rdi
mov qword [rsp + 0x20], 0
call fcn.1400b8ca0
movq xmm4, rax
punpcklqdq xmm6, xmm4
test rax, rax
je 0x140103b37
mov rdx, qword [rax + 0x10]
test rdx, rdx
je 0x140103b37
mov byte [rdx + 0x21], 1
mov rax, qword [rax + 0x10]
mov edx, 0x50
mov ecx, 1
mov byte [rax + 0x20], 1
call sub.msvcrt.dll_calloc
mov rdi, rax
test rax, rax
je 0x140103c57
mov rax, qword [rbx]
mov rcx, r14
movups xmmword [rdi + 8], xmm6
mov qword [rdi], rax
call fcn.140030fb0
movzx eax, byte [rdi + 7]
movzx ecx, byte [rdi]
mov qword [rdi + 0x40], rdi
movzx edx, byte [rdi + 4]
mov dword [rdi + 0x48], 8
shl eax, 0x18
lea edx, [rax + rdx - 0x61c88647]
movzx eax, byte [rdi + 6]
shl eax, 0x10
add edx, eax
movzx eax, byte [rdi + 5]
shl eax, 8
add edx, eax
movzx eax, byte [rdi + 3]
shl eax, 0x18
lea eax, [rax + rcx - 0x60b6453e]
movzx ecx, byte [rdi + 2]
shl ecx, 0x10
add eax, ecx
movzx ecx, byte [rdi + 1]
shl ecx, 8
add eax, ecx
sub eax, edx
add edx, 0x1124109
xor eax, 0x7f76d
mov r9d, eax
sub edx, eax
shl r9d, 8
xor r9d, edx
mov edx, 0xfeedbef7
sub edx, eax
mov r8d, r9d
sub eax, r9d
sub edx, r9d
shr r8d, 0xd
xor r8d, edx
mov edx, eax
mov eax, r9d
mov ecx, r8d
sub edx, r8d
sub eax, r8d
shr ecx, 0xc
xor ecx, edx
mov edx, ecx
sub eax, ecx
sub r8d, ecx
shl edx, 0x10
xor edx, eax
mov eax, edx
sub r8d, edx
shr eax, 5
xor eax, r8d
sub ecx, edx
mov r8d, eax
sub ecx, eax
sub edx, eax
shr r8d, 3
xor ecx, r8d
mov ebx, ecx
sub edx, ecx
sub eax, ecx
shl ebx, 0xa
xor ebx, edx
sub eax, ebx
shr ebx, 0xf
xor ebx, eax
mov rax, qword [0x1403f1770]
mov dword [rdi + 0x4c], ebx
test rax, rax
je 0x140103bc3
mov rdx, qword [rax + 0x18]
mov qword [rdi + 0x28], 0
lea r13, [rdi + 0x18]
mov qword [rdi + 0x18], rdx
mov rcx, qword [rax + 0x18]
mov rdx, qword [rcx + 0x18]
sub rdx, qword [rcx + 0x20]
mov qword [rdi + 0x20], rdx
mov rdx, qword [rax + 0x18]
mov rdx, qword [rdx + 0x18]
mov qword [rdx + 0x10], rdi
mov rdx, qword [rax + 0x18]
mov qword [rdx + 0x18], r13
mov r15, qword [rax + 0x18]
mov ecx, dword [r15 + 0x10]
lea edx, [rcx + 1]
mov dword [r15 + 0x10], edx
mov rdx, qword [rax + 0x18]
mov eax, dword [rdx + 8]
sub eax, 1
and eax, ebx
shl rax, 4
add rax, qword [rdx]
mov rdx, qword [rax]
add dword [rax + 8], 1
mov qword [rdi + 0x30], 0
mov qword [rdi + 0x38], rdx
mov rdx, qword [rax]
test rdx, rdx
je 0x14010398d
mov qword [rdx + 0x18], r13
mov edx, dword [rax + 0xc]
mov qword [rax], r13
lea edx, [rdx + rdx*4 + 5]
add edx, edx
cmp dword [rax + 8], edx
jb 0x1401033ff
mov r15, qword [rdi + 0x18]
mov ebx, dword [r15 + 0x34]
test ebx, ebx
jne 0x1401033ff
mov ecx, dword [r15 + 8]
mov edx, 1
shl rcx, 5
call sub.msvcrt.dll_calloc
mov r13, rax
test rax, rax
je 0x140103c4f
mov edx, dword [r15 + 8]
mov eax, dword [r15 + 0x10]
mov ecx, dword [r15 + 0xc]
lea edx, [rdx + rdx - 1]
test edx, eax
setne dl
add ecx, 1
shr eax, cl
movzx edx, dl
add edx, eax
mov dword [r15 + 0x28], edx
mov rax, qword [rdi + 0x18]
mov dword [rax + 0x2c], 0
mov rcx, qword [rdi + 0x18]
mov eax, dword [rcx + 8]
test eax, eax
je 0x140103ab9
xor r9d, r9d
mov edx, r9d
shl rdx, 4
add rdx, qword [rcx]
mov rdx, qword [rdx]
test rdx, rdx
jne 0x140103a46
jmp 0x140103aac
mov qword [rcx + 0x18], rdx
mov rcx, qword [rdi + 0x18]
mov qword [rax], rdx
test r8, r8
je 0x140103aa9
mov eax, dword [rcx + 8]
mov rdx, r8
lea eax, [rax + rax - 1]
and eax, dword [rdx + 0x34]
mov r8, qword [rdx + 0x20]
shl rax, 4
add rax, r13
mov r11d, dword [rax + 8]
lea r10d, [r11 + 1]
mov dword [rax + 8], r10d
cmp r10d, dword [rcx + 0x28]
jbe 0x140103a89
add dword [rcx + 0x2c], 1
mov r10, qword [rdi + 0x18]
mov ecx, dword [rax + 0xc]
mov r15d, dword [r10 + 0x28]
imul r15d, ecx
cmp dword [rax + 8], r15d
jbe 0x140103a89
add ecx, 1
mov dword [rax + 0xc], ecx
mov qword [rdx + 0x18], 0
mov rcx, qword [rax]
mov qword [rdx + 0x20], rcx
test rcx, rcx
jne 0x140103a30
mov qword [rax], rdx
mov rcx, qword [rdi + 0x18]
test r8, r8
jne 0x140103a40
mov eax, dword [rcx + 8]
add r9d, 1
cmp r9d, eax
jb 0x140103a10
mov rcx, qword [rcx]
call sub.msvcrt.dll_free
mov rax, qword [rdi + 0x18]
shl dword [rax + 8], 1
mov rax, qword [rdi + 0x18]
add dword [rax + 0xc], 1
mov rax, qword [rdi + 0x18]
mov qword [rax], r13
mov rax, qword [rdi + 0x18]
mov edx, dword [rax + 0x10]
shr edx, 1
cmp dword [rax + 0x2c], edx
jbe 0x140103aeb
mov ebx, dword [rax + 0x30]
add ebx, 1
mov dword [rax + 0x30], ebx
mov rax, qword [rdi + 0x18]
cmp dword [rax + 0x30], 1
jbe 0x1401033ff
mov dword [rax + 0x34], 1
jmp 0x1401033ff
lea rax, str.NULL_node_client_in_item_of_voting_channel
mov r9d, 7
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], rax
lea r8, str.dap_stream_ch_chain_voting
call fcn.14005a0c0
jmp 0x140103430
movzx eax, word [rbx]
mov r9d, 7
xor edx, edx
xor ecx, ecx
lea r8, str.dap_stream_ch_chain_voting
mov dword [rsp + 0x40], eax
movzx eax, word [rbx + 2]
mov dword [rsp + 0x38], eax
movzx eax, word [rbx + 4]
mov dword [rsp + 0x30], eax
movzx eax, word [rbx + 6]
mov dword [rsp + 0x28], eax
lea rax, str.Cant_connect_to_remote_node__04hX::_04hX::_04hX::_04hX
mov qword [rsp + 0x20], rax
call fcn.14005a0c0
jmp 0x140103430
movzx eax, word [rbx]
mov r9d, 5
xor edx, edx
xor ecx, ecx
lea r8, str.dap_stream_ch_chain_voting
mov dword [rsp + 0x40], eax
movzx eax, word [rbx + 2]
mov dword [rsp + 0x38], eax
movzx eax, word [rbx + 4]
mov dword [rsp + 0x30], eax
movzx eax, word [rbx + 6]
mov dword [rsp + 0x28], eax
lea rax, str.Cant_find_validators_addr__04hX::_04hX::_04hX::_04hX_in_database
mov qword [rsp + 0x20], rax
call fcn.14005a0c0
jmp 0x140103430
pxor xmm0, xmm0
mov ecx, 0x40
movups xmmword [rdi + 0x20], xmm0
call sub.msvcrt.dll_malloc
mov qword [rdi + 0x18], rax
mov r15, rax
test rax, rax
je 0x140103c4f
lea r13, [rdi + 0x18]
mov qword [rax + 0x10], 0
mov edx, 1
mov ecx, 0x200
mov qword [rax + 0x28], 0
mov qword [rax + 0x30], 0
mov qword [rax + 0x38], 0
mov qword [rax + 0x18], r13
mov rax, qword [0x1402ad2f0]
mov qword [r15 + 0x20], 0x18
mov qword [r15 + 8], rax
call sub.msvcrt.dll_calloc
mov dword [r15 + 0x38], 0xa0111fe1
mov qword [r15], rax
test rax, rax
je 0x140103c4f
mov qword [0x1403f1770], rdi
mov rax, rdi
mov edx, 1
jmp 0x140103957
or ecx, 0xffffffff
call sub.msvcrt.dll_exit
lea rax, [0x1402ad060]
mov r9d, 8
lea r8, str.dap_stream_ch_chain_voting
mov edx, 0x73
mov qword [rsp + 0x20], rax
lea rcx, str.dap_stream_ch_chain_voting_message_write
call fcn.14005a0c0
jmp 0x140103430