Function at 0x14001b2c0
Capabilities:
Encode data using xor

Disassembly:
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x70
mov rbp, rcx
mov rsi, rdx
mov rdi, r8
cmp rdx, r8
je 0x14001b590
mov r13, qword [rdx + 0x18]
mov r12, qword [r8 + 0x18]
cmp r13, r12
jb 0x14001b428
movabs rax, 0x1fffffffffffffff
mov qword [rsp + 0x30], r13
mov r14, qword [rdx + 0x20]
mov qword [rsp + 0x28], rax
cmp rax, r13
jb 0x14001b63b
test r13, r13
je 0x14001b5a0
lea rsi, [r13*8]
mov rcx, rsi
call method.CryptoPP.AlignedAllocate_unsigned_long_long_
mov qword [rsp + 0x38], rax
mov rbx, rax
test rax, rax
je 0x14001b585
test r14, r14
je 0x14001b578
mov r9, rsi
mov r8, r14
mov rdx, rsi
mov rcx, rax
call method.CryptoPP.memcpy_s_void__unsigned_long_long__void_const__unsigned_long_long_
mov r12, qword [rdi + 0x18]
test r12, r12
je 0x14001b37a
mov rcx, qword [rdi + 0x20]
xor eax, eax
nop dword [rax]
mov rdx, qword [rcx + rax*8]
xor qword [rbx + rax*8], rdx
add rax, 1
cmp rax, qword [rdi + 0x18]
jb 0x14001b368
lea rsi, [rsp + 0x40]
mov rcx, rsi
call method.CryptoPP::Integer.Integer__
mov r12, qword [rsp + 0x60]
mov rdx, rsi
mov rcx, rbp
mov rdi, qword [rsp + 0x50]
movdqu xmm0, xmmword [rsp + 0x50]
mov r14, qword [rsp + 0x58]
mov qword [rsp + 0x60], rbx
movabs rax, 0x1fffffffffffffff
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x38], r12
movups xmmword [rsp + 0x28], xmm0
call method.CryptoPP::Integer.Integer_CryptoPP::Integer_const_
lea rax, fcn.140242100
mov qword [rsp + 0x40], rax
test rbx, rbx
je 0x14001b3fd
mov rcx, r13
mov rdi, rbx
xor eax, eax
rep stosq qword [rdi], rax
mov rcx, rbx
call method.CryptoPP.AlignedDeallocate_void_
mov rdi, qword [rsp + 0x28]
mov r14, qword [rsp + 0x30]
mov r12, qword [rsp + 0x38]
test r12, r12
je 0x14001b544
cmp rdi, r14
mov rcx, r14
cmovbe rcx, rdi
mov rdi, r12
xor eax, eax
rep stosq qword [rdi], rax
mov rcx, r12
call method.CryptoPP.AlignedDeallocate_void_
jmp 0x14001b544
movabs rax, 0x1fffffffffffffff
mov qword [rsp + 0x30], r12
mov r13, qword [r8 + 0x20]
mov qword [rsp + 0x28], rax
cmp rax, r12
jb 0x14001b5e2
lea rdi, [r12*8]
mov rcx, rdi
call method.CryptoPP.AlignedAllocate_unsigned_long_long_
mov qword [rsp + 0x38], rax
mov rbx, rax
test rax, rax
je 0x14001b480
test r13, r13
je 0x14001b560
mov r9, rdi
mov r8, r13
mov rdx, rdi
mov rcx, rax
call method.CryptoPP.memcpy_s_void__unsigned_long_long__void_const__unsigned_long_long_
cmp qword [rsi + 0x18], 0
je 0x14001b4a2
mov rcx, qword [rsi + 0x20]
xor eax, eax
nop dword [rax]
mov rdx, qword [rcx + rax*8]
xor qword [rbx + rax*8], rdx
add rax, 1
cmp rax, qword [rsi + 0x18]
jb 0x14001b490
lea rsi, [rsp + 0x40]
mov rcx, rsi
call method.CryptoPP::Integer.Integer__
mov r13, qword [rsp + 0x60]
mov rdx, rsi
mov rcx, rbp
mov rdi, qword [rsp + 0x50]
movdqu xmm0, xmmword [rsp + 0x50]
mov r14, qword [rsp + 0x58]
mov qword [rsp + 0x60], rbx
movabs rax, 0x1fffffffffffffff
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x38], r13
movups xmmword [rsp + 0x28], xmm0
call method.CryptoPP::Integer.Integer_CryptoPP::Integer_const_
lea rax, fcn.140242100
mov qword [rsp + 0x40], rax
test rbx, rbx
je 0x14001b525
mov rcx, r12
mov rdi, rbx
xor eax, eax
rep stosq qword [rdi], rax
mov rcx, rbx
call method.CryptoPP.AlignedDeallocate_void_
mov rdi, qword [rsp + 0x28]
mov r14, qword [rsp + 0x30]
mov r13, qword [rsp + 0x38]
test r13, r13
je 0x14001b544
cmp rdi, r14
mov rcx, r14
cmovbe rcx, rdi
mov rdi, r13
xor eax, eax
rep stosq qword [rdi], rax
mov rcx, r13
call method.CryptoPP.AlignedDeallocate_void_
mov rax, rbp
add rsp, 0x70
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
mov r8, rdi
xor edx, edx
mov rcx, rax
call sym.memset
jmp 0x14001b480
mov r8, rsi
xor edx, edx
mov rcx, rax
call sym.memset
mov r12, qword [rdi + 0x18]
jmp 0x14001b35a
lea rdx, [0x14042a140]
call method.CryptoPP::Integer.Integer_CryptoPP::Integer_const_
jmp 0x14001b544
mov qword [rsp + 0x38], 0
xor ebx, ebx
jmp 0x14001b35a
mov ecx, 0x30
lea rsi, [rsp + 0x40]
call sym.__cxa_allocate_exception
lea rdx, [0x140360888]
mov rcx, rsi
mov rdi, rax
call fcn.140351ac0
mov r8, rsi
mov edx, 1
mov rcx, rdi
call fcn.140244f70
lea rax, fcn.1402132b0
mov rcx, rsi
mov qword [rdi], rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
lea r8, [fcn.1402132b0]
lea rdx, [0x1403982a0]
mov rcx, rdi
call sym.__cxa_throw
mov ecx, 0x30
lea rsi, [rsp + 0x40]
call sym.__cxa_allocate_exception
lea rdx, [0x140360888]
mov rcx, rsi
mov rdi, rax
call fcn.140351ac0
mov r8, rsi
mov edx, 1
mov rcx, rdi
call fcn.140244f70
jmp 0x14001b613