Function at 0x1401c7000
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.140280460
sub rsp, rax
mov rax, qword [0x1403d66b0]
xor rax, rsp
mov qword [rsp + 0xf0], rax
mov rax, qword [rsp + 0x168]
xor r14d, r14d
mov r13d, dword [rsp + 0x160]
or r15d, 0xffffffff
mov rbx, qword [rsp + 0x180]
mov esi, edx
mov qword [rsp + 0x60], rcx
mov edi, r14d
mov rcx, qword [rsp + 0x178]
movsxd r12, r9d
mov qword [rsp + 0x40], r8
mov dword [rsp + 0x3c], edx
mov dword [rsp + 0x38], r13d
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x30], r14
test rcx, rcx
jne 0x1401c7092
call fcn.1401847a0
mov rcx, rax
mov qword [rsp + 0x50], rax
test rbx, rbx
cmove rbx, rcx
mov qword [rsp + 0x48], rbx
call fcn.140189bc0
movsxd rbp, eax
test esi, esi
jle 0x1401c74d4
test r12d, r12d
jle 0x1401c74d4
cmp r13d, r12d
jl 0x1401c74a0
lea ecx, [rbp*2 + 2]
cmp r13d, ecx
jl 0x1401c74a0
mov esi, r13d
lea rdx, [0x1403b52d0]
sub esi, ebp
mov r8d, 0x9b
dec esi
mov ecx, esi
call fcn.14017af20
mov r8d, 0x9c
lea rdx, [0x1403b52e8]
mov ecx, r13d
mov rdi, rax
call fcn.14017af20
mov qword [rsp + 0x30], rax
mov r13, rax
test rdi, rdi
je 0x1401c747c
test rax, rax
je 0x1401c747c
movsxd rbx, dword [rsp + 0x38]
xor edx, edx
mov r8, rbx
mov rcx, rax
call fcn.140282700
mov rdx, qword [rsp + 0x40]
sub rbx, r12
mov r8, r12
lea rcx, [rbx + r13]
call fcn.140282ac0
movzx eax, byte [r13]
lea rbx, [r13 + 1]
mov r12, r13
mov r9d, esi
inc r12
mov edx, ebp
add r12, rbp
lea ecx, [rax - 1]
mov r8, r12
shr ecx, 0x1f
not eax
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.1401c6a20
test eax, eax
jne 0x1401c7445
mov edx, r14d
test ebp, ebp
jle 0x1401c722b
cmp ebp, 0x20
jb 0x1401c722b
lea eax, [rbp - 1]
movsxd rcx, eax
lea r8, [rsp + 0x70]
add r8, rcx
lea rax, [rcx + rbx]
lea rcx, [rsp + 0x70]
cmp rcx, rax
ja 0x1401c71c1
cmp r8, rbx
jae 0x1401c722b
mov ecx, ebp
and ecx, 0x8000001f
jge 0x1401c71d2
dec ecx
or ecx, 0xffffffe0
inc ecx
mov eax, ebp
mov r8, rbx
sub eax, ecx
mov rcx, r14
movsxd r9, eax
lea rax, [rsp + 0x70]
sub r8, rax
nop word [rax + 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 0x1401c71f0
movsxd rdx, edx
cmp rdx, rbp
jge 0x1401c7256
lea rax, [rsp + 0x70]
sub rbx, rax
nop dword [rax + rax]
lea rcx, [rsp + 0x70]
add rcx, rdx
inc rdx
movzx eax, byte [rcx + rbx]
xor byte [rcx], al
cmp rdx, rbp
jl 0x1401c7240
mov rax, qword [rsp + 0x48]
lea r8, [rsp + 0x70]
mov r9d, ebp
mov qword [rsp + 0x20], rax
mov edx, esi
mov rcx, rdi
call fcn.1401c6a20
test eax, eax
jne 0x1401c7445
mov edx, r14d
test esi, esi
jle 0x1401c7308
cmp esi, 0x20
jb 0x1401c7308
lea eax, [rsi - 1]
movsxd rcx, eax
lea rax, [rcx + r12]
lea r8, [rcx + rdi]
cmp rdi, rax
ja 0x1401c72a6
cmp r8, r12
jae 0x1401c7308
mov ecx, esi
and ecx, 0x8000001f
jge 0x1401c72b7
dec ecx
or ecx, 0xffffffe0
inc ecx
mov eax, esi
mov r8, r12
sub eax, ecx
sub r8, rdi
mov r9, rdi
movsxd r10, eax
neg r9
mov rcx, rdi
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 0x1401c72d0
movsxd rax, edx
movsxd rbx, esi
cmp rax, rbx
jge 0x1401c7331
sub r12, rdi
lea rcx, [rax + rdi]
mov rdx, rbx
sub rdx, rax
movzx eax, byte [rcx + r12]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1401c7320
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], r14
mov qword [rsp + 0x20], rax
call fcn.1401b0a10
test eax, eax
je 0x1401c7445
mov r8, rbp
lea rdx, [rsp + 0xb0]
mov rcx, rdi
call fcn.140175590
mov r11d, dword [rsp + 0x40]
mov r9d, r14d
lea ecx, [rax - 1]
not eax
shr ecx, 0x1f
shr eax, 0x1f
and ecx, eax
neg ecx
and r11d, ecx
cmp rbp, rbx
jge 0x1401c73f4
lea r10, [rdi + rbp]
sub rbx, rbp
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, ebp
not eax
inc ebp
and r14d, eax
lea eax, [r8 - 1]
shr eax, 0x1f
not r8d
shr r8d, 0x1f
or r14d, ecx
and eax, r8d
neg eax
or eax, r9d
and r11d, eax
sub rbx, 1
jne 0x1401c73a0
test r11d, r9d
je 0x1401c74a4
lea eax, [r14 + 1]
mov r15d, esi
sub r15d, eax
cmp dword [rsp + 0x3c], r15d
jge 0x1401c7432
mov edx, 0xa1
mov dword [rsp + 0x20], 0xe1
lea r9, [0x1403b5318]
mov ecx, 4
lea r8d, [rdx - 0x34]
call fcn.140176d10
jmp 0x1401c74a4
mov rcx, qword [rsp + 0x60]
movsxd rdx, eax
add rdx, rdi
movsxd r8, r15d
call fcn.140282ac0
test rdi, rdi
je 0x1401c745d
movsxd rdx, esi
mov rcx, rdi
call fcn.140184950
mov rcx, rdi
call fcn.14017ae80
test r13, r13
je 0x1401c7477
movsxd rdx, dword [rsp + 0x38]
mov rcx, r13
call fcn.140184950
mov rcx, r13
call fcn.14017ae80
mov eax, r15d
jmp 0x1401c74d7
mov edx, 0xa1
mov dword [rsp + 0x20], 0x9e
lea r9, [0x1403b5300]
mov ecx, 4
lea r8d, [rdx - 0x60]
call fcn.140176d10
jmp 0x1401c7445
mov esi, dword [rsp + 0x3c]
mov edx, 0xa1
mov dword [rsp + 0x20], 0xee
lea r9, str..crypto_rsa_rsa_oaep.c
mov ecx, 4
lea r8d, [rdx - 0x28]
call fcn.140176d10
mov r13, qword [rsp + 0x30]
or r15d, 0xffffffff
jmp 0x1401c7445
or eax, 0xffffffff
mov rcx, qword [rsp + 0xf0]
xor rcx, rsp
call fcn.14027f960
mov rbx, qword [rsp + 0x148]
add rsp, 0x100
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret