Function at 0x14000bf53
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xb8
mov rsi, r9
mov rdi, r8
mov rbx, rdx
mov qword [rsp + 0x40], rcx
mov rax, qword [0x14009b0a0]
xor rax, rsp
mov qword [rsp + 0xb0], rax
mov r15, qword [rdx]
test r15, r15
je 0x14000bfa4
mov rcx, qword [rbx + 8]
xor eax, eax
xor edx, edx
or rax, qword [rcx + rdx*8]
inc rdx
cmp r15, rdx
jne 0x14000bf96
jmp 0x14000bfa6
xor eax, eax
mov rcx, rax
shr rcx, 1
and eax, 1
or rax, rcx
jne 0x14000bfd0
lea rcx, str._mp_eq_integer_d__0_
lea rdx, str..._mpint.c
mov r8d, 0x701
call fcn.14005e2f0
mov r15, qword [rbx]
mov qword [rsp + 0x68], rsi
test r15, r15
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x48], rbx
je 0x14000c04f
mov r8, qword [rbx + 8]
xor ecx, ecx
xor ebp, ebp
xor edi, edi
xor eax, eax
xor ebx, ebx
mov r10, rdi
mov rsi, rbp
mov r9, rcx
mov rbp, qword [r8 + rbx*8]
mov rcx, rbp
shr rcx, 1
mov edx, ebp
and edx, 1
or rdx, rcx
neg rdx
sar rdx, 0x3f
xor rax, rdi
and rax, rdx
mov rdi, rax
mov rax, rbp
xor rbp, rsi
and rbp, rdx
xor rbp, rsi
xor rdi, r10
mov rcx, rbx
xor rcx, r9
and rcx, rdx
xor rcx, r9
inc rbx
cmp r15, rbx
jne 0x14000bff2
shl rcx, 6
mov r13d, 0x40
sub r13, rcx
jmp 0x14000c059
xor ebp, ebp
mov r13d, 0x40
xor edi, edi
xor r10d, r10d
mov edx, 6
dec rdx
mov esi, 1
mov ecx, edx
shl esi, cl
mov r9, rbp
mov r8, r10
movsxd r10, esi
mov ecx, 0x40
sub ecx, r10d
mov rsi, rbp
shr rsi, cl
mov rcx, rsi
shr rcx, 1
and esi, 1
or rsi, rcx
neg rsi
shr rsi, 0x3f
mov ecx, r10d
shld rbp, rdi, cl
or rsi, 0xfffffffffffffffe
mov rbx, rdi
shl rbx, cl
add r10, r8
xor rbp, r9
inc rsi
and rbp, rsi
xor rbp, r9
xor rbx, rdi
and rbx, rsi
xor rdi, rbx
xor r10, r8
and r10, rsi
xor r10, r8
test rdx, rdx
jne 0x14000c061
shr rbp, 0x20
mov ecx, 0x90d876cd
lea rdx, [rcx + 0x2028d09]
imul rdx, rbp
shr rdx, 0x22
neg rdx
add rdx, rcx
add rdx, 0x6565fb1d
imul rdx, rbp
shr rdx, 0x22
neg rdx
add rdx, rcx
add rdx, 0x255eab1b
imul rdx, rbp
shr rdx, 0x21
neg rdx
add rdx, rcx
add rdx, 0xb552941
imul rdx, rbp
shr rdx, 0x20
neg rdx
add rdx, rcx
add rdx, 0x1a0194eb
imul rdx, rbp
shr rdx, 0x1f
neg rdx
add rdx, rcx
add rdx, 0x66845d36
imul rdx, rbp
shr rdx, 0x1f
neg rdx
add rdx, rcx
add rdx, 0x5c210374
imul rdx, rbp
shr rdx, 0x1f
sub rcx, rdx
imul rcx, rbp
and rcx, 0xfffffffffc000000
shl rcx, 6
movabs rdi, 0x682799a000000000
sub rdi, rcx
xor ebx, ebx
mov edx, 5
mov r8, 0xffffffffffffffff
mov r9, rbx
mov rsi, rdi
mov ebp, 1
mov ecx, edx
shl ebp, cl
mov rax, r10
shr rax, cl
and eax, 1
mov ecx, ebp
shld rbx, rdi, cl
shl rdi, cl
xor rbx, r9
neg rax
and rbx, rax
xor rbx, r9
xor rdi, rsi
and rdi, rax
xor rdi, rsi
dec rdx
cmp rdx, r8
jne 0x14000c191
mov rax, qword [rsp + 0x40]
add r15, qword [rax]
shl r15, 6
or r15, 3
mov eax, 0xbf
cmp r15, rax
cmovb rax, r15
add r15, 0x3f
sub r15, rax
and r15, 0xffffffffffffffc0
lea r14, [r15 + 0x100]
shr r14, 6
mov rcx, r14
call fcn.140008d41
mov r12, rax
add r13, r15
shr r13, 6
mov rcx, rax
mov rdx, rax
mov r8, rdi
mov r9, r13
call fcn.14000c615
inc r13
mov rcx, r12
mov rdx, r12
mov r8, rbx
mov r9, r13
call fcn.14000c615
mov rcx, r14
call fcn.140008d41
lea r13, [r15 + 0xbf]
add r15, 0xc0
shr r15, 6
mov r8d, 1
mov rcx, rax
mov qword [rsp + 0x50], rax
mov rdx, rax
mov r9, r15
call fcn.14000c615
mov rdi, qword [rsp + 0x48]
mov rcx, qword [rdi]
add rcx, r14
call fcn.140008d41
mov rsi, rax
mov rcx, qword [rax]
cmp r14, rcx
cmova rcx, r14
call fcn.140008d41
mov rbp, rax
add r14, qword [rax]
mov rcx, r14
call fcn.140008d41
mov rbx, rax
mov rax, qword [rbp]
mov rcx, qword [r12]
mov rdx, qword [rbx]
cmp rcx, rax
cmova rax, rcx
cmp rax, rdx
cmova rax, rdx
add rax, rax
mov rdx, qword [rdi]
mov rdi, qword [rsi]
cmp rcx, rdx
cmova rdx, rcx
cmp rdx, rdi
cmova rdx, rdi
lea rcx, [rax + rax*2]
add rdx, rdx
lea rax, [rdx + rdx*2]
cmp rax, rcx
cmova rcx, rax
call fcn.140008d41
mov rdi, rax
mov rax, qword [rbx]
shr r13, 6
cmp rax, r13
mov qword [rsp + 0x58], r13
mov rcx, r13
cmovb rcx, rax
mov rdx, rax
sub rdx, rcx
cmp rdx, rax
cmovae rdx, rax
mov qword [rsp + 0xa0], rdx
shl rcx, 3
add rcx, qword [rbx + 8]
mov qword [rsp + 0xa8], rcx
mov rax, qword [rsp + 0x40]
mov r13, qword [rax]
shl r13, 6
or r13, 4
cmp r13, 0x15
jb 0x14000c3dc
mov r14d, 0x14
mov r15, 0xffffffffffffffff
movups xmm0, xmmword [rdi]
movaps xmmword [rsp + 0x90], xmm0
mov rcx, rsi
mov rdx, r12
mov r8, qword [rsp + 0x48]
lea r9, [rsp + 0x90]
call fcn.140009da6
mov rdx, qword [rbp]
mov rcx, qword [rbp + 8]
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], r15
mov qword [rsp + 0x30], 1
mov r8, qword [rsp + 0x50]
mov r9, rsi
call fcn.140009a7f
movups xmm0, xmmword [rdi]
movaps xmmword [rsp + 0x80], xmm0
mov rcx, rbx
mov rdx, r12
mov r8, rbp
lea r9, [rsp + 0x80]
call fcn.140009da6
mov r8d, 0x3f
mov rcx, r12
lea rdx, [rsp + 0xa0]
call fcn.14000954e
add r14, r14
add r14, 0xffffffffffffffff
cmp r14, r13
jb 0x14000c34a
mov rcx, rsi
call fcn.140008e0b
mov rcx, rbp
call fcn.140008e0b
mov rcx, rbx
call fcn.140008e0b
mov rcx, rdi
call fcn.140008e0b
mov rsi, qword [rsp + 0x40]
mov rcx, qword [rsi]
add rcx, qword [r12]
call fcn.140008d41
mov r15, rax
mov rcx, rax
mov rdx, r12
mov r8, rsi
call fcn.1400095e1
mov rax, qword [r15]
mov rdx, qword [rsp + 0x58]
cmp rax, rdx
cmovb rdx, rax
mov rcx, rax
sub rcx, rdx
cmp rcx, rax
cmovae rcx, rax
lea rdi, [rsp + 0x70]
mov qword [rdi], rcx
shl rdx, 3
add rdx, qword [r15 + 8]
mov qword [rdi + 8], rdx
mov rcx, qword [rsi]
call fcn.140008d41
mov r13, rax
mov r8d, 0x3f
mov rcx, rax
mov rdx, rdi
call fcn.14000954e
mov rbp, qword [rsp + 0x48]
mov rcx, qword [rbp]
call fcn.140008d41
mov r14, rax
mov rcx, rax
mov rdx, r13
mov r8, rbp
call fcn.1400095e1
mov rdx, qword [r14]
mov rcx, qword [r14 + 8]
mov rax, 0xffffffffffffffff
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x30], 1
mov r8, rsi
mov r9, r14
call fcn.140009a7f
xor ebx, ebx
mov esi, 2
mov rcx, r14
mov rdx, rbp
call fcn.140009b8b
mov edi, eax
and eax, 1
mov rdx, qword [r14]
mov rcx, qword [r14 + 8]
mov qword [rsp + 0x30], rax
neg rax
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rax
mov r8, r14
mov r9, rbp
call fcn.140009a7f
add ebx, edi
dec esi
jne 0x14000c4bc
mov r9d, ebx
mov rdx, qword [r13]
mov rcx, qword [r13 + 8]
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov r8, r13
call 0x140009aef
mov rcx, r14
mov rdx, rbp
call fcn.140009b8b
test eax, eax
mov rbp, qword [rsp + 0x60]
je 0x14000c53e
lea rcx, str._mp_cmp_hs_remainder__d_
lea rdx, str..._mpint.c
mov r8d, 0x812
call fcn.14005e2f0
test rbp, rbp
mov rbx, qword [rsp + 0x68]
je 0x14000c586
mov rax, qword [rbp]
mov rcx, qword [rbp + 8]
mov rsi, qword [r13]
mov rdx, qword [r13 + 8]
cmp rax, rsi
cmovb rsi, rax
lea rdi, [rsi*8]
mov r8, rdi
call fcn.140051ac0
mov rdx, qword [rbp]
sub rdx, rsi
shl rdx, 3
add rdi, qword [rbp + 8]
mov rcx, rdi
call fcn.14004857c
test rbx, rbx
je 0x14000c5c6
mov rax, qword [rbx]
mov rcx, qword [rbx + 8]
mov rsi, qword [r14]
mov rdx, qword [r14 + 8]
cmp rax, rsi
cmovb rsi, rax
lea rdi, [rsi*8]
mov r8, rdi
call fcn.140051ac0
mov rdx, qword [rbx]
sub rdx, rsi
shl rdx, 3
add rdi, qword [rbx + 8]
mov rcx, rdi
call fcn.14004857c
mov rcx, r12
call fcn.140008e0b
mov rcx, qword [rsp + 0x50]
call fcn.140008e0b
mov rcx, r15
call fcn.140008e0b
mov rcx, r13
call fcn.140008e0b
mov rcx, r14
call fcn.140008e0b
mov rcx, qword [rsp + 0xb0]
xor rcx, rsp
call fcn.140050a10
nop
add rsp, 0xb8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret