Function at 0x14005a060
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0xf8
call fcn.1400a59c0
sub rsp, rax
mov rax, qword [0x14011e770]
xor rax, rsp
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0x168]
xor edi, edi
mov r12d, dword [rsp + 0x160]
or r13d, 0xffffffff
mov r15, qword [rsp + 0x180]
mov r14, r8
mov qword [rsp + 0x50], rax
mov ebp, edi
mov rax, qword [rsp + 0x178]
mov esi, edi
movsxd rbx, r9d
mov dword [rsp + 0x38], edx
mov qword [rsp + 0x58], rcx
mov dword [rsp + 0x34], r12d
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x3c], r13d
mov dword [rsp + 0x30], edi
test rax, rax
jne 0x14005a0ec
call fcn.140040c80
mov qword [rsp + 0x48], rax
test r15, r15
mov rcx, rax
cmove r15, rax
mov qword [rsp + 0x40], r15
call fcn.140039360
movsxd r15, eax
cmp dword [rsp + 0x38], esi
jle 0x14005a614
test ebx, ebx
jle 0x14005a614
cmp r12d, ebx
jl 0x14005a5f2
lea ecx, [r15*2 + 2]
cmp r12d, ecx
jl 0x14005a5f2
mov r13d, r12d
lea rdx, [0x14010bde0]
sub r13d, r15d
mov r8d, 0x9e
dec r13d
mov ecx, r13d
call fcn.140037280
mov r12, rax
test rax, rax
jne 0x14005a17c
mov dword [rsp + 0x20], 0xa0
lea r9, [0x14010bdf8]
mov edx, 0xa1
mov ecx, 4
lea r8d, [rdx - 0x60]
call fcn.140038ac0
jmp 0x14005a5af
mov ecx, dword [rsp + 0x34]
lea rdx, [0x14010be10]
mov r8d, 0xa4
call fcn.140037280
mov rsi, rax
test rax, rax
jne 0x14005a1ab
mov dword [rsp + 0x20], 0xa7
lea r9, [0x14010be28]
jmp 0x14005a164
mov ecx, dword [rsp + 0x34]
add r14, rbx
movsxd rax, ecx
add rsi, rax
test ecx, ecx
jle 0x14005a1f1
mov edx, ecx
nop
mov eax, ebx
lea ecx, [rbx - 1]
not eax
shr ecx, 0x1f
shr eax, 0x1f
dec rsi
and ecx, eax
dec ecx
mov eax, ecx
and eax, 1
sub ebx, eax
mov eax, ecx
and eax, 1
sub r14, rax
movzx eax, byte [r14]
and al, cl
mov byte [rsi], al
sub rdx, 1
jne 0x14005a1c0
movzx eax, byte [rsi]
lea r14, [r15 + 1]
add r14, rsi
lea rcx, [rsp + 0x60]
mov r9d, r13d
lea rbx, [rsi + 1]
mov r8, r14
mov edx, r15d
lea ebp, [rax - 1]
not eax
shr eax, 0x1f
shr ebp, 0x1f
and ebp, eax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x20], rax
neg ebp
call fcn.140059a80
test eax, eax
jne 0x14005a5af
mov edx, edi
test r15d, r15d
jle 0x14005a2db
cmp r15d, 0x20
jb 0x14005a2db
lea eax, [r15 - 1]
movsxd rcx, eax
lea r8, [rsp + 0x60]
add r8, rcx
lea rax, [rcx + rbx]
lea rcx, [rsp + 0x60]
cmp rcx, rax
ja 0x14005a26a
cmp r8, rbx
jae 0x14005a2db
mov ecx, r15d
and ecx, 0x8000001f
jge 0x14005a27c
dec ecx
or ecx, 0xffffffe0
inc ecx
mov eax, r15d
mov r8, rbx
sub eax, ecx
mov rcx, rdi
movsxd r9, eax
lea rax, [rsp + 0x60]
sub r8, rax
nop dword [rax]
nop word [rax + rax]
lea rax, [rsp + 0x60]
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 0x14005a2a0
movsxd rdx, edx
cmp rdx, r15
jge 0x14005a306
lea rax, [rsp + 0x60]
sub rbx, rax
nop dword [rax + rax]
lea rcx, [rsp + 0x60]
add rcx, rdx
inc rdx
movzx eax, byte [rcx + rbx]
xor byte [rcx], al
cmp rdx, r15
jl 0x14005a2f0
mov rax, qword [rsp + 0x40]
lea r8, [rsp + 0x60]
mov r9d, r15d
mov qword [rsp + 0x20], rax
mov edx, r13d
mov rcx, r12
call fcn.140059a80
test eax, eax
jne 0x14005a5af
mov edx, edi
test r13d, r13d
jle 0x14005a3ba
cmp r13d, 0x20
jb 0x14005a3ba
lea eax, [r13 - 1]
movsxd rcx, eax
lea rax, [rcx + r14]
lea r8, [rcx + r12]
cmp r12, rax
ja 0x14005a359
cmp r8, r14
jae 0x14005a3ba
mov ecx, r13d
and ecx, 0x8000001f
jge 0x14005a36b
dec ecx
or ecx, 0xffffffe0
inc ecx
mov eax, r13d
mov r8, r14
sub eax, ecx
sub r8, r12
mov r9, r12
movsxd r10, eax
neg r9
mov rcx, r12
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 0x14005a382
movsxd rax, edx
movsxd rbx, r13d
cmp rax, rbx
jge 0x14005a3f1
sub r14, r12
lea rdx, [rax + r12]
mov r8, rbx
sub r8, rax
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rdx + r14]
xor byte [rdx], al
lea rdx, [rdx + 1]
sub r8, 1
jne 0x14005a3e0
mov rax, qword [rsp + 0x48]
lea r8, [rsp + 0xa0]
movsxd rdx, dword [rsp + 0x170]
xor r9d, r9d
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rax
call fcn.140040390
test eax, eax
je 0x14005a5af
mov r8, r15
lea rdx, [rsp + 0xa0]
mov rcx, r12
call fcn.1400378a0
mov r9d, edi
lea ecx, [rax - 1]
not eax
shr ecx, 0x1f
shr eax, 0x1f
and ecx, eax
neg ecx
and ebp, ecx
cmp r15, rbx
jge 0x14005a4b9
lea r10, [r15 + r12]
sub rbx, r15
nop dword [rax + rax]
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, r15d
not eax
inc r15d
and edi, eax
lea eax, [r8 - 1]
shr eax, 0x1f
not r8d
shr r8d, 0x1f
or edi, ecx
and eax, r8d
neg eax
or eax, r9d
and ebp, eax
sub rbx, 1
jne 0x14005a460
mov dword [rsp + 0x30], edi
xor edi, edi
mov r10d, dword [rsp + 0x38]
mov ecx, r13d
mov r8d, dword [rsp + 0x30]
mov edx, r10d
inc r8d
mov eax, r10d
sub ecx, r8d
mov r11d, r13d
sub edx, ecx
xor eax, ecx
xor edx, ecx
mov ecx, r13d
or edx, eax
sub ecx, r10d
xor ecx, r10d
xor edx, r10d
shr edx, 0x1f
mov eax, r10d
dec edx
xor eax, r13d
or ecx, eax
and edx, r9d
and ebp, edx
xor ecx, r13d
shr ecx, 0x1f
and r8d, ebp
neg ecx
mov eax, ebp
mov edx, ecx
not eax
and ecx, r13d
not edx
and edx, r10d
or edx, ecx
mov ecx, r13d
sub ecx, edx
movsxd r10, edx
and ecx, eax
mov rdx, rdi
or ecx, r8d
mov r8d, ebp
sub r11d, ecx
movsxd r9, ecx
add r9, r12
mov dword [rsp + 0x3c], r11d
test r10, r10
jle 0x14005a583
mov rbx, qword [rsp + 0x58]
mov eax, edi
inc edi
xor eax, r11d
lea ecx, [rax - 1]
not eax
shr ecx, 0x1f
shr eax, 0x1f
and ecx, eax
mov eax, r13d
neg ecx
and rax, rcx
xor ecx, r8d
sub r9, rax
and r8d, ecx
movzx ecx, r8b
movzx eax, byte [rdx + r9]
and al, cl
not cl
and cl, byte [rdx + rbx]
or al, cl
mov byte [rdx + rbx], al
inc rdx
cmp rdx, r10
jl 0x14005a541
mov edx, 0xa1
mov dword [rsp + 0x20], 0x108
lea r9, str..crypto_rsa_rsa_oaep.c
mov ecx, 4
lea r8d, [rdx - 0x28]
call fcn.140038ac0
mov ecx, ebp
and ecx, 1
call fcn.140038c30
mov edx, 0x40
lea rcx, [rsp + 0x60]
call fcn.140004400
movsxd rdx, r13d
mov rcx, r12
call fcn.140004400
mov rcx, r12
call fcn.1400371e0
movsxd rdx, dword [rsp + 0x34]
mov rcx, rsi
call fcn.140004400
mov rcx, rsi
call fcn.1400371e0
mov eax, ebp
not ebp
and eax, dword [rsp + 0x3c]
or eax, ebp
jmp 0x14005a617
mov edx, 0xa1
mov dword [rsp + 0x20], 0x99
lea r9, [0x14010bdc8]
mov ecx, 4
lea r8d, [rdx - 0x28]
call fcn.140038ac0
mov eax, r13d
mov rcx, qword [rsp + 0xe0]
xor rcx, rsp
call fcn.1400a4f20
add rsp, 0xf8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret