Function at 0x1401a7ac0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x100
call fcn.1401d04b0
sub rsp, rax
mov rax, qword [0x1402bdaf8]
xor rax, rsp
mov qword [rsp + 0xf0], rax
mov rax, qword [rsp + 0x168]
xor ebx, ebx
movsxd r15, dword [rsp + 0x160]
or r12d, 0xffffffff
mov rdi, qword [rsp + 0x180]
mov r13, r8
mov qword [rsp + 0x58], rax
mov esi, ebx
mov rax, qword [rsp + 0x178]
mov ebp, ebx
movsxd r14, r9d
mov dword [rsp + 0x30], edx
mov qword [rsp + 0x60], rcx
mov dword [rsp + 0x44], r15d
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x38], rbx
test rax, rax
jne 0x1401a7b4b
call fcn.1401244c0
mov qword [rsp + 0x50], rax
test rdi, rdi
mov rcx, rax
cmove rdi, rax
mov qword [rsp + 0x48], rdi
call fcn.140114620
movsxd rdi, eax
cmp dword [rsp + 0x30], ebx
jle 0x1401a7f75
test r14d, r14d
jle 0x1401a7f75
cmp r15d, r14d
jl 0x1401a7edd
lea ecx, [rdi*2 + 2]
cmp r15d, ecx
jl 0x1401a7edd
mov esi, r15d
lea rdx, str.crypto_rsa_rsa_oaep.c
sub esi, edi
mov r8d, 0x9d
dec esi
movsxd rcx, esi
call fcn.1401102d0
mov r8d, 0x9e
lea rdx, str.crypto_rsa_rsa_oaep.c
mov rcx, r15
mov rbp, rax
call fcn.1401102d0
mov qword [rsp + 0x38], rax
test rbp, rbp
je 0x1401a7f51
test rax, rax
je 0x1401a7f51
mov r8, r15
xor edx, edx
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
sub r15, r14
mov r8, r14
add r15, qword [rsp + 0x38]
mov rdx, r13
mov rcx, r15
call sub.VCRUNTIME140.dll_memcpy
mov rdx, qword [rsp + 0x38]
mov r9d, esi
movzx eax, byte [rdx]
lea r15, [rdx + 1]
lea r14, [rdx + 1]
add r15, rdi
mov r8, r15
mov edx, edi
lea ecx, [rax - 1]
not eax
shr ecx, 0x1f
shr eax, 0x1f
and ecx, eax
mov rax, qword [rsp + 0x48]
neg ecx
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x40], ecx
lea rcx, [rsp + 0x70]
call fcn.1401a74b0
test eax, eax
jne 0x1401a7f03
mov edx, ebx
test edi, edi
jle 0x1401a7cdb
cmp edi, 0x20
jb 0x1401a7cdb
lea eax, [rdi - 1]
movsxd rcx, eax
lea r8, [rsp + 0x70]
add r8, rcx
lea rax, [rcx + r14]
lea rcx, [rsp + 0x70]
cmp rcx, rax
ja 0x1401a7c7a
cmp r8, r14
jae 0x1401a7cdb
mov ecx, edi
and ecx, 0x8000001f
jge 0x1401a7c8b
dec ecx
or ecx, 0xffffffe0
inc ecx
mov eax, edi
mov r8, r14
sub eax, ecx
mov rcx, rbx
movsxd r9, eax
lea rax, [rsp + 0x70]
sub r8, rax
lea rax, [rsp + 0x70]
add edx, 0x20
add rax, rcx
add rcx, 0x20
movdqu xmm0, xmmword [rax]
movdqu xmm1, xmmword [rax + r8]
pxor xmm1, xmm0
movdqu xmmword [rax], xmm1
movdqu xmm1, xmmword [rax + r8 + 0x10]
movdqu xmm0, xmmword [rax + 0x10]
pxor xmm1, xmm0
movdqu xmmword [rax + 0x10], xmm1
cmp rcx, r9
jl 0x1401a7ca0
movsxd rdx, edx
cmp rdx, rdi
jge 0x1401a7d07
lea rax, [rsp + 0x70]
sub r14, rax
nop dword [rax + rax]
lea rcx, [rsp + 0x70]
add rcx, rdx
inc rdx
movzx eax, byte [rcx + r14]
xor byte [rcx], al
cmp rdx, rdi
jl 0x1401a7cf0
mov rax, qword [rsp + 0x48]
lea r8, [rsp + 0x70]
mov r9d, edi
mov qword [rsp + 0x20], rax
mov edx, esi
mov rcx, rbp
call fcn.1401a74b0
test eax, eax
jne 0x1401a7f03
mov edx, ebx
test esi, esi
jle 0x1401a7db8
cmp esi, 0x20
jb 0x1401a7db8
lea eax, [rsi - 1]
movsxd rcx, eax
lea rax, [rcx + r15]
lea r8, [rcx + rbp]
cmp rbp, rax
ja 0x1401a7d56
cmp r8, r15
jae 0x1401a7db8
mov ecx, esi
and ecx, 0x8000001f
jge 0x1401a7d67
dec ecx
or ecx, 0xffffffe0
inc ecx
mov eax, esi
mov r8, r15
sub eax, ecx
sub r8, rbp
mov r9, rbp
movsxd r10, eax
neg r9
mov rcx, rbp
nop dword [rax]
movdqu xmm0, xmmword [rcx]
add edx, 0x20
movdqu xmm1, xmmword [r8 + rcx]
lea rcx, [rcx + 0x20]
lea rax, [r9 + rcx]
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x20], xmm1
movdqu xmm1, xmmword [r8 + rcx - 0x10]
movdqu xmm0, xmmword [rcx - 0x10]
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x10], xmm1
cmp rax, r10
jl 0x1401a7d80
movsxd rax, edx
movsxd r14, esi
cmp rax, r14
jge 0x1401a7de1
sub r15, rbp
lea rcx, [rax + rbp]
mov rdx, r14
sub rdx, rax
movzx eax, byte [rcx + r15]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1401a7dd0
mov rax, qword [rsp + 0x50]
lea r8, [rsp + 0xb0]
movsxd rdx, dword [rsp + 0x170]
xor r9d, r9d
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rax
call fcn.140114670
test eax, eax
je 0x1401a7f03
mov r8, rdi
lea rdx, [rsp + 0xb0]
mov rcx, rbp
call fcn.140110cf0
mov r11d, dword [rsp + 0x40]
mov r9d, ebx
lea ecx, [rax - 1]
not eax
shr ecx, 0x1f
shr eax, 0x1f
and ecx, eax
neg ecx
and r11d, ecx
cmp rdi, r14
jge 0x1401a7ea2
lea r10, [rdi + rbp]
sub r14, rdi
nop
movzx r8d, byte [r10]
lea r10, [r10 + 1]
mov eax, r8d
mov ecx, r9d
xor eax, 1
not ecx
lea edx, [rax - 1]
not eax
shr eax, 0x1f
shr edx, 0x1f
and edx, eax
neg edx
and ecx, edx
or r9d, edx
mov eax, ecx
and ecx, edi
not eax
inc edi
and ebx, eax
lea eax, [r8 - 1]
shr eax, 0x1f
not r8d
shr r8d, 0x1f
or ebx, ecx
and eax, r8d
neg eax
or eax, r9d
and r11d, eax
sub r14, 1
jne 0x1401a7e50
test r11d, r9d
je 0x1401a7edd
lea eax, [rbx + 1]
mov r12d, esi
sub r12d, eax
cmp dword [rsp + 0x30], r12d
jge 0x1401a7f3c
mov edx, 0x99
mov dword [rsp + 0x20], 0xe3
lea r9, str.crypto_rsa_rsa_oaep.c
mov ecx, 4
lea r8d, [rdx - 0x2c]
call fcn.140106130
mov edx, 0x99
mov dword [rsp + 0x20], 0xf0
lea r9, str.crypto_rsa_rsa_oaep.c
mov ecx, 4
lea r8d, [rdx - 0x20]
call fcn.140106130
or r12d, 0xffffffff
movsxd rdx, esi
lea r8, str.crypto_rsa_rsa_oaep.c
mov r9d, 0xf2
mov rcx, rbp
call fcn.140110430
movsxd rdx, dword [rsp + 0x44]
lea r8, str.crypto_rsa_rsa_oaep.c
mov rcx, qword [rsp + 0x38]
mov r9d, 0xf3
call fcn.140110430
mov eax, r12d
jmp 0x1401a7f78
mov rcx, qword [rsp + 0x60]
movsxd rdx, eax
add rdx, rbp
movsxd r8, r12d
call sub.VCRUNTIME140.dll_memcpy
jmp 0x1401a7f03
mov edx, 0x99
mov dword [rsp + 0x20], 0xa0
lea r9, str.crypto_rsa_rsa_oaep.c
mov ecx, 4
lea r8d, [rdx - 0x58]
call fcn.140106130
jmp 0x1401a7f03
or eax, 0xffffffff
mov rcx, qword [rsp + 0xf0]
xor rcx, rsp
call fcn.1401cf6b0
mov rbx, qword [rsp + 0x148]
add rsp, 0x100
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret