Function at 0x1400fd850
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.1400a2010
cmp rdi, rax
jne 0x1400fd8d8
test rsi, rsi
jne 0x1400fda60
xor ebx, ebx
call fcn.1400d1610
movaps xmm6, xmmword [rsp + 0x90]
lea rsp, [rbp - 0x38]
mov r8, rbx
mov rcx, rax
pop rbx
mov r9d, 2
pop rsi
lea rdx, [0x140169890]
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
jmp fcn.1400f89d0
lea r14, [0x1403eb748]
mov rcx, r14
call fcn.140030c20
mov r9, qword [0x1403eb750]
test r9, r9
je 0x1400fda90
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 0x1400fda90
mov rcx, qword [rcx + 0x20]
mov rax, rcx
sub rdi, rcx
neg rax
jmp 0x1400fd9f8
mov rdi, qword [rdi + 0x38]
test rdi, rdi
je 0x1400fda90
add rdi, rax
cmp dword [rdi + 0x4c], edx
jne 0x1400fd9e8
cmp dword [rdi + 0x48], 8
jne 0x1400fd9e8
mov rcx, qword [rdi + 0x40]
mov r15, qword [rbx]
cmp qword [rcx], r15
jne 0x1400fd9e8
mov rcx, r14
call fcn.140030f90
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x1400fe120
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x20], rsi
mov r9, r12
mov r8d, 1
mov edx, 0x56
call fcn.1400bd850
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 0x1400fd89d
mov r8, rsi
mov rdx, r12
call sub.msvcrt.dll_memcpy
mov rbx, rax
jmp 0x1400fd89f
mov rcx, r14
call fcn.140030f90
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.140054770
mov edx, 0x43
mov ecx, 1
call sub.msvcrt.dll_calloc
mov r15, rax
test rax, rax
je 0x1400fdd8f
mov edx, 0x7830
mov word [rax], dx
mov rdx, qword [rsp + 0x70]
lea rax, [0x1402a7df0]
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.1400d3630
mov rcx, r15
mov rdi, rax
call sub.msvcrt.dll_free
test rdi, rdi
je 0x1400fe18d
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.1400b52d0
movq xmm4, rax
punpcklqdq xmm6, xmm4
test rax, rax
je 0x1400fe147
mov rdx, qword [rax + 0x10]
test rdx, rdx
je 0x1400fe147
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 0x1400fe267
mov rax, qword [rbx]
mov rcx, r14
movups xmmword [rdi + 8], xmm6
mov qword [rdi], rax
call fcn.140031050
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 [0x1403eb750]
mov dword [rdi + 0x4c], ebx
test rax, rax
je 0x1400fe1d3
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 0x1400fdf9d
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 0x1400fda0f
mov r15, qword [rdi + 0x18]
mov ebx, dword [r15 + 0x34]
test ebx, ebx
jne 0x1400fda0f
mov ecx, dword [r15 + 8]
mov edx, 1
shl rcx, 5
call sub.msvcrt.dll_calloc
mov r13, rax
test rax, rax
je 0x1400fe25f
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 0x1400fe0c9
xor r9d, r9d
mov edx, r9d
shl rdx, 4
add rdx, qword [rcx]
mov rdx, qword [rdx]
test rdx, rdx
jne 0x1400fe056
jmp 0x1400fe0bc
mov qword [rcx + 0x18], rdx
mov rcx, qword [rdi + 0x18]
mov qword [rax], rdx
test r8, r8
je 0x1400fe0b9
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 0x1400fe099
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 0x1400fe099
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 0x1400fe040
mov qword [rax], rdx
mov rcx, qword [rdi + 0x18]
test r8, r8
jne 0x1400fe050
mov eax, dword [rcx + 8]
add r9d, 1
cmp r9d, eax
jb 0x1400fe020
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 0x1400fe0fb
mov ebx, dword [rax + 0x30]
add ebx, 1
mov dword [rax + 0x30], ebx
mov rax, qword [rdi + 0x18]
cmp dword [rax + 0x30], 1
jbe 0x1400fda0f
mov dword [rax + 0x34], 1
jmp 0x1400fda0f
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.14005a150
jmp 0x1400fda40
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.14005a150
jmp 0x1400fda40
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.14005a150
jmp 0x1400fda40
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 0x1400fe25f
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 [0x1402a7ff0]
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 0x1400fe25f
mov qword [0x1403eb750], rdi
mov rax, rdi
mov edx, 1
jmp 0x1400fdf67
or ecx, 0xffffffff
call sub.msvcrt.dll_exit
lea rax, [0x1402a7d60]
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.14005a150
jmp 0x1400fda40