Function at 0x18020e760
Capabilities:
Encode data using xor

Disassembly:
mov r11, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xa0
mov rax, qword [0x180428208]
xor rax, rsp
mov qword [rsp + 0x88], rax
cmp dword [rdx + 0x20], 1
mov r12, r9
mov r15, qword [rsp + 0xf0]
mov rdi, r8
mov qword [rsp + 0x30], r8
mov r14, rdx
movzx r13d, cl
jne 0x18020e9fd
mov qword [r11 + 8], rbx
mov qword [r11 - 0x30], rbp
mov rbp, qword [rdx + 0x18]
mov qword [r11 - 0x38], rsi
cmp rbp, 0xffffffffffffffff
jne 0x18020e7ce
mov rcx, rdx
call fcn.1800d90d0
mov rbp, rax
mov qword [r14 + 0x18], rax
cmp rbp, r12
mov rbx, rbp
mov rcx, r15
cmovb rbx, r12
mov rdx, rbx
call fcn.1800d5ea0
mov rcx, qword [r15]
mov r8, qword [r15 + 8]
sub r8, rcx
and r8, 0xfffffffffffffff8
je 0x18020e7fa
xor edx, edx
call fcn.180283390
mov rcx, qword [r14]
mov rax, qword [r14 + 8]
sub rax, rcx
sar rax, 3
cmp rbx, rax
jbe 0x18020e830
mov rax, qword [r14 + 0x10]
mov rdx, rbx
sub rax, rcx
mov rcx, r14
sar rax, 3
cmp rbx, rax
jbe 0x18020e82b
and rdx, 0xfffffffffffffff8
add rdx, 8
call fcn.1800d5ea0
mov rsi, qword [r14]
mov r9, r12
mov rcx, rsi
mov r8, rdi
mov rdx, rbp
call fcn.1800d99d0
mov rdx, qword [rsp + 0x30]
mov rcx, rbp
mov edi, eax
mov r10, rdx
mov eax, eax
xor r10, rsi
shr rax, 0x1f
xor rcx, r12
dec rax
mov r8, rbp
shr rax, 0x3f
dec rax
and rcx, rax
and r10, rax
xor rdx, r10
xor r8, rcx
mov r9, rdx
mov rax, r12
xor rax, rcx
cmp rax, r8
cmovb rbp, r12
xor rsi, r10
xor rbp, rcx
mov rdx, rsi
mov rcx, qword [r15]
mov qword [rsp + 0x20], rbp
call fcn.1800d9720
mov rsi, qword [rsp + 0x90]
mov rbp, qword [rsp + 0x98]
test edi, edi
jle 0x18020e8b9
test r13b, r13b
je 0x18020e8b9
mov dl, 1
jmp 0x18020e8bb
xor edx, edx
mov rcx, r14
call fcn.1800d9000
mov r8, qword [r15]
lea rax, [r13 - 1]
mov r11, qword [r14]
xor edx, edx
shr rax, 0x3f
dec rax
mov qword [r14 + 0x18], 0xffffffffffffffff
movq xmm4, rax
punpcklqdq xmm4, xmm4
test rbx, rbx
je 0x18020e9d4
cmp rbx, 4
jb 0x18020e99e
lea rcx, [r11 - 8]
lea rcx, [rcx + rbx*8]
lea r9, [r8 - 8]
lea r9, [r9 + rbx*8]
cmp r8, rcx
ja 0x18020e918
cmp r9, r11
jae 0x18020e99e
mov r10, rbx
and r10, 0xfffffffffffffffc
mov rcx, r11
lea r9, [r8 + 0x10]
sub rcx, r8
nop dword [rax]
movdqu xmm2, xmmword [r9 - 0x10]
add rdx, 4
movdqu xmm1, xmmword [rcx + r9 - 0x10]
lea r9, [r9 + 0x20]
movdqa xmm3, xmm2
xorps xmm3, xmm1
andps xmm3, xmm4
movdqa xmm0, xmm3
xorps xmm3, xmm2
xorps xmm0, xmm1
movdqu xmmword [r9 - 0x30], xmm3
movdqu xmm2, xmmword [r9 - 0x20]
movdqu xmmword [rcx + r9 - 0x30], xmm0
movdqu xmm1, xmmword [rcx + r9 - 0x20]
movdqa xmm3, xmm1
xorps xmm3, xmm2
andps xmm3, xmm4
movdqa xmm0, xmm3
xorps xmm3, xmm2
xorps xmm0, xmm1
movdqu xmmword [rcx + r9 - 0x20], xmm0
movdqu xmmword [r9 - 0x20], xmm3
cmp rdx, r10
jne 0x18020e930
cmp rdx, rbx
je 0x18020e9d4
sub r11, r8
lea r10, [r8 + rdx*8]
sub rbx, rdx
nop dword [rax + rax]
mov r8, qword [r10]
lea r10, [r10 + 8]
mov r9, r8
xor r9, qword [r10 + r11 - 8]
and r9, rax
xor qword [r10 + r11 - 8], r9
xor r9, r8
mov qword [r10 - 8], r9
sub rbx, 1
jne 0x18020e9b0
mov rbx, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0x88]
xor rcx, rsp
call fcn.1800a5910
add rsp, 0xa0
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
lea rdx, str.BigInt::sub_rev_requires_this_is_positive
lea rcx, [rsp + 0x40]
call fcn.180080200
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x50]
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x30], xmm0
call fcn.180099290
lea rdx, [0x18041eee8]
lea rcx, [rsp + 0x50]
call fcn.1802818b4
int3