Function at 0x18022a3b0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], r8
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xf]
sub rsp, 0xb0
mov rdi, r9
mov rsi, rdx
mov rax, qword [r9]
mov byte [rax + 0x1f], 0
xorps xmm0, xmm0
movdqu xmmword [rbp - 9], xmm0
xor ebx, ebx
mov qword [rbp + 7], rbx
mov rax, qword [r9]
mov rcx, qword [r9 + 8]
sub rcx, rax
mov qword [rbp - 0x71], rax
mov qword [rbp - 0x69], rcx
mov r14, qword [rbp + 0x6f]
mov rax, qword [r14]
mov rcx, qword [r14 + 8]
sub rcx, rax
mov qword [rbp - 0x61], rax
mov qword [rbp - 0x59], rcx
movaps xmm0, xmmword [rbp - 0x71]
movdqa xmmword [rbp - 0x71], xmm0
movaps xmm1, xmmword [rbp - 0x61]
movdqa xmmword [rbp - 0x61], xmm1
lea rax, [rbp - 0x71]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x61]
lea r8, [rbp - 9]
mov dl, 3
mov r15, qword [rbp + 0x77]
mov rcx, r15
call fcn.18022ab80
mov rax, qword [rdi]
mov byte [rax + 0x1f], 1
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x21], xmm0
mov qword [rbp - 0x11], rbx
mov rax, qword [rdi]
mov rcx, qword [rdi + 8]
sub rcx, rax
mov qword [rbp - 0x61], rax
mov qword [rbp - 0x59], rcx
mov rax, qword [r14]
mov rcx, qword [r14 + 8]
sub rcx, rax
mov qword [rbp - 0x71], rax
mov qword [rbp - 0x69], rcx
movaps xmm0, xmmword [rbp - 0x61]
movdqa xmmword [rbp - 0x61], xmm0
movaps xmm1, xmmword [rbp - 0x71]
movdqa xmmword [rbp - 0x71], xmm1
lea rax, [rbp - 0x61]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x71]
lea r8, [rbp - 0x21]
mov dl, 3
mov rcx, r15
call fcn.18022ab80
mov rax, qword [rdi]
cmp byte [rax + 0xf], bl
je 0x18022a71b
mov byte [rax + 0x1f], 2
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x39], xmm0
mov qword [rbp - 0x29], rbx
mov rax, qword [rdi]
mov rcx, qword [rdi + 8]
sub rcx, rax
mov qword [rbp - 0x61], rax
mov qword [rbp - 0x59], rcx
mov rax, qword [r14]
mov rcx, qword [r14 + 8]
sub rcx, rax
mov qword [rbp - 0x71], rax
mov qword [rbp - 0x69], rcx
movaps xmm0, xmmword [rbp - 0x61]
movdqa xmmword [rbp - 0x61], xmm0
movaps xmm1, xmmword [rbp - 0x71]
movdqa xmmword [rbp - 0x71], xmm1
lea rax, [rbp - 0x61]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x71]
lea r8, [rbp - 0x39]
mov dl, 3
mov rcx, r15
call fcn.18022ab80
mov rcx, qword [rsi + 8]
sub rcx, qword [rsi]
mov rax, qword [rbp - 0x19]
mov r13, qword [rbp - 0x21]
sub rax, r13
cmp rax, rcx
jne 0x18022a6f1
mov rcx, qword [rbp - 0x31]
mov r12, qword [rbp - 0x39]
sub rcx, r12
mov r11, qword [rbp + 0x5f]
mov rax, qword [r11 + 8]
sub rax, qword [r11]
cmp rcx, rax
jne 0x18022a6f1
mov rax, qword [rbp + 0x7f]
mov r15, qword [rax + 0x48]
add r15, r15
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x51], xmm0
mov r14d, ebx
mov qword [rbp - 0x41], rbx
je 0x18022a5b8
movabs rax, 0x7fffffffffffffff
cmp r15, rax
ja 0x18022a6eb
lea edx, [rbx + 1]
mov rcx, r15
call fcn.18009de10
mov rdi, rax
mov qword [rbp - 0x51], rax
lea r14, [rax + r15]
mov qword [rbp - 0x41], r14
mov r8, r15
xor edx, edx
mov rcx, rax
call fcn.180283390
mov r10, r14
mov qword [rbp - 0x49], r14
mov r11, qword [rbp + 0x5f]
jmp 0x18022a5c0
mov r10, qword [rbp - 0x49]
mov rdi, qword [rbp - 0x51]
mov rdx, qword [rsi]
cmp qword [rsi + 8], rdx
je 0x18022a618
mov r8, r13
sub r8, rdi
mov r9, r12
sub r9, rdi
nop word [rax + rax]
lea rcx, [rdi + rbx]
movzx eax, byte [r8 + rcx]
xor al, byte [rdx + rbx]
mov byte [rcx], al
mov rax, qword [r11]
movzx edx, byte [rax + rbx]
xor dl, byte [rcx + r9]
mov rax, qword [rsi + 8]
sub rax, qword [rsi]
add rax, rdi
mov byte [rax + rbx], dl
inc rbx
mov rdx, qword [rsi]
mov rax, qword [rsi + 8]
sub rax, rdx
cmp rbx, rax
jb 0x18022a5e0
sub r10, rdi
mov qword [rbp - 0x61], rdi
mov qword [rbp - 0x59], r10
mov rax, qword [rbp - 1]
mov rbx, qword [rbp - 9]
sub rax, rbx
mov qword [rbp - 0x71], rbx
mov qword [rbp - 0x69], rax
movaps xmm0, xmmword [rbp - 0x61]
movdqa xmmword [rbp - 0x61], xmm0
movaps xmm1, xmmword [rbp - 0x71]
movdqa xmmword [rbp - 0x71], xmm1
lea rax, [rbp - 0x61]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x71]
mov r8, qword [rbp + 0x4f]
mov dl, 1
mov rcx, qword [rbp + 0x77]
call fcn.18022ab80
nop
test rdi, rdi
je 0x18022a67f
sub r14, rdi
mov r8d, 1
mov rdx, r14
mov rcx, rdi
call fcn.18009df10
nop
test r12, r12
je 0x18022a69a
mov rdx, qword [rbp - 0x29]
sub rdx, r12
mov r8d, 1
mov rcx, r12
call fcn.18009df10
nop
test r13, r13
je 0x18022a6b5
mov rdx, qword [rbp - 0x11]
sub rdx, r13
mov r8d, 1
mov rcx, r13
call fcn.18009df10
nop
test rbx, rbx
je 0x18022a6d0
mov rdx, qword [rbp + 7]
sub rdx, rbx
mov r8d, 1
mov rcx, rbx
call fcn.18009df10
nop
mov rbx, qword [rsp + 0xf8]
add rsp, 0xb0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1800030ee
nop
mov dword [rsp + 0x20], 0x23
lea r9, [0x1803e2a30]
lea r8, str.randomize_tree_hash
lea rdx, str.Bitmask_size_doesnt_match_node_size.
lea rcx, str.bitmask_l.size____left.size____bitmask_r.size____right.size__
call fcn.1800d1f70
nop
mov dword [rsp + 0x20], reloc.WS2_32.dll_WSAGetLastError
lea r9, [0x1803e48b0]
lea r8, str.set_key_mask_mode
lea rdx, str.Invalid_Key_Mask_for_current_XMSS_Address::Type.
lea rcx, str.value___Key_Mask::Mask_LSB_Mode__get_type_____Type::OTS_Hash_Address
call fcn.1800d1f70
int3