Function at 0x1402e53a0
Capabilities:
Encode data using xor

Disassembly:
endbr64
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xb8
mov rsi, qword [0x140485900]
xor edi, edi
mov r11, qword [rdx + 0x40]
mov rax, qword [rsi]
mov qword [rsp + 0xa8], rax
xor eax, eax
mov rbx, rcx
mov qword [rsp + 0x40], r11
mov rax, r11
mov qword [rsp + 0x48], rdx
xor ecx, ecx
mov qword [rsp + 0x50], r11
mov word [rsp + 0x58], di
mov byte [rsp + 0x5a], 1
cmp r11, 1
jne 0x1402e5416
jmp 0x1402e5427
sub rax, 1
mov ecx, 1
cmp rax, 1
je 0x1402e55d0
mov r10, rax
cmp qword [rdx + rax*8 - 8], 0
je 0x1402e5400
test cl, cl
je 0x1402e5427
mov qword [rsp + 0x50], r10
mov rcx, qword [r8 + 0x40]
xor r10d, r10d
mov qword [rsp + 0x68], r8
xor edx, edx
mov word [rsp + 0x78], r10w
mov qword [rsp + 0x60], rcx
mov rax, rcx
mov qword [rsp + 0x70], rcx
mov byte [rsp + 0x7a], 1
cmp rcx, 1
jne 0x1402e546e
jmp 0x1402e547f
sub rax, 1
mov edx, 1
cmp rax, 1
je 0x1402e55e0
mov r9, rax
cmp qword [r8 + rax*8 - 8], 0
je 0x1402e5458
test dl, dl
je 0x1402e547f
mov qword [rsp + 0x70], r9
cmp r11, rcx
mov rax, rcx
lea rdi, [r11 + rcx]
cmovae rax, r11
lea rcx, [rax + rax*4]
mov rax, rdi
shl rax, 6
cmp rax, 0x200
ja 0x1402e55f0
mov eax, 8
mov qword [rsp + 0x88], rbx
cmp rdi, rax
mov qword [rsp + 0x28], rcx
cmovbe rax, rdi
xor edx, edx
mov byte [rsp + 0x38], 0
mov word [rsp + 0x98], dx
mov qword [rbx + 0x40], rax
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x90], rax
mov rax, rcx
shr rax, 0x3c
mov byte [rsp + 0x9a], 1
mov qword [rsp + 0x30], 0
jne 0x1402e595f
shl rcx, 3
call sym.operator_new_unsigned_long_long_
lea r13, [rsp + 0x20]
lea r12, [rsp + 0x60]
mov qword [rsp + 0x20], rax
lea rbp, [rsp + 0x40]
lea rdi, [rsp + 0x80]
mov r9, r13
mov r8, r12
mov rdx, rbp
mov rcx, rdi
call sym._ZN5boost14multiprecision8backends18multiply_karatsubaILy0ELy0ELNS0_18cpp_int_check_typeE0ESaIyEEEvRNS1_15cpp_int_backendIXT_E
mov rax, qword [rsp + 0x90]
mov edx, 8
cmp rax, rdx
cmova rax, rdx
cmp byte [rsp + 0x38], 0
mov qword [rbx + 0x40], rax
je 0x1402e5740
cmp byte [rsp + 0x99], 0
jne 0x1402e556f
cmp byte [rsp + 0x9a], 0
je 0x1402e5808
cmp byte [rsp + 0x79], 0
jne 0x1402e5581
cmp byte [rsp + 0x7a], 0
je 0x1402e5770
cmp byte [rsp + 0x59], 0
je 0x1402e55b0
mov rax, qword [rsp + 0xa8]
sub rax, qword [rsi]
jne 0x1402e5a32
add rsp, 0xb8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
cmp byte [rsp + 0x5a], 0
jne 0x1402e5588
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
lea rdx, [rax*8]
call sym.operator_delete_void__unsigned_long_long_
jmp 0x1402e5588
mov qword [rsp + 0x50], 1
jmp 0x1402e5427
mov qword [rsp + 0x70], 1
jmp 0x1402e547f
add rcx, rdi
mov byte [rsp + 0x38], 0
mov rax, rcx
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x30], 0
shr rax, 0x3c
jne 0x1402e59c2
shl rcx, 3
call sym.operator_new_unsigned_long_long_
mov rdx, qword [rsp + 0x30]
mov qword [rsp + 0x20], rax
lea r13, [rsp + 0x20]
lea r12, [rsp + 0x60]
mov qword [rsp + 0x80], rdi
lea rbp, [rsp + 0x40]
mov r9, r13
mov r8, r12
lea rcx, [rdi + rdx]
lea rax, [rax + rdx*8]
mov qword [rsp + 0x90], rdi
mov rdx, rbp
lea rdi, [rsp + 0x80]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x88], rax
mov rcx, rdi
xor eax, eax
mov word [rsp + 0x98], ax
mov byte [rsp + 0x9a], 1
call sym._ZN5boost14multiprecision8backends18multiply_karatsubaILy0ELy0ELNS0_18cpp_int_check_typeE0ESaIyEEEvRNS1_15cpp_int_backendIXT_E
mov rdx, qword [rsp + 0x90]
mov eax, 8
movzx r8d, byte [rsp + 0x99]
cmp rdx, rax
cmovbe rax, rdx
shl rdx, 3
mov qword [rbx + 0x40], rax
shl rax, 3
cmp rax, rdx
cmova rax, rdx
test r8b, r8b
je 0x1402e57f0
cmp eax, 8
jae 0x1402e57a0
test eax, eax
je 0x1402e56d0
movzx eax, byte [rdi]
mov byte [rbx], al
cmp byte [rsp + 0x98], 0
jne 0x1402e582a
mov rax, qword [rbx + 0x40]
cmp rax, 1
jne 0x1402e56fe
jmp 0x1402e5706
sub rax, 1
mov qword [rbx + 0x40], rax
cmp rax, 1
je 0x1402e5706
cmp qword [rbx + rax*8 - 8], 0
je 0x1402e56f0
test r8b, r8b
jne 0x1402e5719
cmp byte [rsp + 0x9a], 0
je 0x1402e5991
cmp byte [rsp + 0x38], 0
jne 0x1402e556f
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x20]
lea rdx, [rax*8]
call sym.operator_delete_void__unsigned_long_long_
jmp 0x1402e556f
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x20]
lea rdx, [rax*8]
call sym.operator_delete_void__unsigned_long_long_
cmp byte [rsp + 0x99], 0
jne 0x1402e556f
jmp 0x1402e5561
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x68]
lea rdx, [rax*8]
call sym.operator_delete_void__unsigned_long_long_
cmp byte [rsp + 0x59], 0
jne 0x1402e5588
jmp 0x1402e55b0
mov rdx, qword [rdi]
lea r9, [rbx + 8]
and r9, 0xfffffffffffffff8
mov qword [rbx], rdx
mov edx, eax
mov rcx, qword [rdi + rdx - 8]
mov qword [rbx + rdx - 8], rcx
mov rdx, rbx
sub rdx, r9
add eax, edx
sub rdi, rdx
and eax, 0xfffffff8
cmp eax, 8
jb 0x1402e56d0
and eax, 0xfffffff8
xor edx, edx
mov ecx, edx
add edx, 8
mov r10, qword [rdi + rcx]
mov qword [r9 + rcx], r10
cmp edx, eax
jb 0x1402e57d6
jmp 0x1402e56d0
mov rdi, qword [rsp + 0x88]
cmp eax, 8
jae 0x1402e57a0
jmp 0x1402e56c7
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x88]
lea rdx, [rax*8]
call sym.operator_delete_void__unsigned_long_long_
jmp 0x1402e556f
mov rdx, qword [rbx + 0x40]
cmp rdx, 1
je 0x1402e59b3
cmp rdx, 7
ja 0x1402e5877
mov eax, 8
sub rax, rdx
lea rdx, [rbx + rdx*8]
shl rax, 3
lea rdi, [rdx + 8]
mov qword [rdx], 0
mov ecx, eax
and rdi, 0xfffffffffffffff8
mov qword [rdx + rcx - 8], 0
sub rdx, rdi
add eax, edx
shr eax, 3
mov ecx, eax
xor eax, eax
rep stosq qword [rdi], rax
mov qword [rbx + 0x40], 8
mov rax, rbx
lea rdx, [rbx + 0x40]
pcmpeqd xmm1, xmm1
movdqu xmm0, xmmword [rax]
add rax, 0x10
pxor xmm0, xmm1
movups xmmword [rax - 0x10], xmm0
cmp rax, rdx
jne 0x1402e588a
mov eax, 7
jmp 0x1402e58ba
mov qword [rbx + 0x40], rax
sub rax, 1
je 0x1402e58c1
cmp qword [rbx + rax*8], 0
je 0x1402e58b0
mov rax, qword [rbx]
xor edx, edx
cmp rax, 0xffffffffffffffff
je 0x1402e5908
add rax, 1
mov qword [rbx], rax
mov rax, qword [rbx + 0x40]
jmp 0x1402e56e2
mov rax, qword [rbx + rdx*8]
xor r11d, r11d
mov r10, rax
add r10, 1
adc r11, 0
add rax, 1
xor ecx, ecx
mov qword [rbx + rdx*8], rax
mov rax, r11
add rdx, 1
or rax, rcx
je 0x1402e592b
mov rax, qword [rbx + 0x40]
cmp rdx, rax
jb 0x1402e58e0
lea rdx, [rax + 1]
cmp rdx, 8
ja 0x1402e59ec
mov qword [rbx + 0x40], rdx
mov qword [rbx + rax*8], 1
mov rax, qword [rbx + 0x40]
cmp rax, 1
je 0x1402e5706
nop dword [rax]
cmp qword [rbx + rax*8 - 8], 0
jne 0x1402e56de
sub rax, 1
mov qword [rbx + 0x40], rax
cmp rax, 1
jne 0x1402e5940
jmp 0x1402e5706
shr rcx, 0x3d
je 0x1402e597b
mov rax, qword [rsp + 0xa8]
sub rax, qword [rsi]
jne 0x1402e5a32
call sym.std::__throw_bad_array_new_length__
mov rax, qword [rsp + 0xa8]
sub rax, qword [rsi]
jne 0x1402e5a32
call sym.std::__throw_bad_alloc__
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x88]
lea rdx, [rax*8]
call sym.operator_delete_void__unsigned_long_long_
jmp 0x1402e5719
cmp qword [rbx], 0
jne 0x1402e583e
jmp 0x1402e5706
shr rcx, 0x3d
je 0x1402e59da
mov rax, qword [rsp + 0xa8]
sub rax, qword [rsi]
jne 0x1402e5a32
call sym.std::__throw_bad_array_new_length__
mov rax, qword [rsp + 0xa8]
sub rax, qword [rsi]
jne 0x1402e5a32
call sym.std::__throw_bad_alloc__
mov qword [rbx + 0x40], 8
mov eax, 8
jmp 0x1402e5940
mov rcx, rdi
call method.boost::multiprecision::backends.cpp_int_backend_0ull__0ull___boost::multiprecision::cpp_integer_type_1___boost::multiprecision::cpp_int_check_type_0__std::allocator_unsigned_long_long___::cpp_int_backend__
mov rcx, r12
call method.boost::multiprecision::backends.cpp_int_backend_0ull__0ull___boost::multiprecision::cpp_integer_type_1___boost::multiprecision::cpp_int_check_type_0__std::allocator_unsigned_long_long___::cpp_int_backend__
mov rcx, rbp
call method.boost::multiprecision::backends.cpp_int_backend_0ull__0ull___boost::multiprecision::cpp_integer_type_1___boost::multiprecision::cpp_int_check_type_0__std::allocator_unsigned_long_long___::cpp_int_backend__
mov rax, qword [rsp + 0xa8]
sub rax, qword [rsi]
je 0x1402e5a7e
call dbg.__stack_chk_fail
endbr64
mov rbx, rax
lea r12, [rsp + 0x60]
lea rbp, [rsp + 0x40]
lea rdi, [rsp + 0x80]
jmp 0x1402e5a0d
mov rcx, rbx
call sym._Unwind_Resume
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop