Function at 0x14005c6c0
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r13
push r14
push r15
mov eax, 0xb0
call fcn.1400a06f0
sub rsp, rax
mov rax, qword [0x1400fb010]
xor rax, rsp
mov qword [rsp + 0x90], rax
mov rbp, qword [rsp + 0x120]
lea esi, [rdx - 1]
mov rax, qword [rsp + 0x110]
mov r15d, r9d
mov rbx, qword [rsp + 0x128]
mov r14, rcx
mov dword [rsp + 0x30], r9d
mov qword [rsp + 0x48], r8
mov qword [rsp + 0x40], rax
test rbp, rbp
jne 0x14005c727
call fcn.14001a8e0
mov rbp, rax
test rbx, rbx
mov rcx, rbp
cmove rbx, rbp
mov qword [rsp + 0x38], rbx
call fcn.14001a4b0
movsxd rdi, eax
mov r13d, esi
lea eax, [rdi + rdi]
sub r13d, eax
lea ecx, [r13 - 1]
cmp r15d, ecx
jle 0x14005c779
mov edx, 0x9a
mov dword [rsp + 0x20], 0x3c
lea r9, str.crypto_rsa_rsa_oaep.c
mov ecx, 4
lea r8d, [rdx - 0x2c]
call fcn.140006c60
xor eax, eax
jmp 0x14005ca8b
inc eax
cmp esi, eax
jge 0x14005c7a8
mov edx, 0x9a
mov dword [rsp + 0x20], 0x42
lea r9, str.crypto_rsa_rsa_oaep.c
mov ecx, 4
lea r8d, [rdx - 0x22]
call fcn.140006c60
xor eax, eax
jmp 0x14005ca8b
movsxd rdx, dword [rsp + 0x118]
lea r15, [r14 + 1]
mov rcx, qword [rsp + 0x40]
add r15, rdi
mov byte [r14], 0
mov r8, r15
mov qword [rsp + 0xa8], r12
xor r9d, r9d
lea r12, [r14 + 1]
mov rbx, rdi
xor r14d, r14d
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rbp
call fcn.140019890
test eax, eax
je 0x14005ca81
movsxd rbp, dword [rsp + 0x30]
lea rcx, [rdi + r15]
sub r13d, ebp
xor edx, edx
dec r13d
movsxd r8, r13d
call sub.VCRUNTIME140.dll_memset
mov rdx, qword [rsp + 0x48]
mov eax, esi
sub eax, ebp
movsxd rcx, esi
sub eax, edi
mov r8d, ebp
sub rcx, rbp
dec eax
cdqe
sub rcx, rbx
add rcx, r15
mov byte [rax + r15], 1
call sub.VCRUNTIME140.dll_memcpy
mov edx, edi
mov rcx, r12
call fcn.14000e8b0
test eax, eax
jle 0x14005ca81
sub esi, edi
lea r8d, [r14 + 0x57]
movsxd rbp, esi
lea rdx, str.crypto_rsa_rsa_oaep.c
mov rcx, rbp
call fcn.140007c10
mov r13, rax
test rax, rax
jne 0x14005c887
lea r9, str.crypto_rsa_rsa_oaep.c
mov dword [rsp + 0x20], 0x59
mov edx, 0x9a
lea ecx, [rax + 4]
lea r8d, [r14 + 0x41]
call fcn.140006c60
jmp 0x14005ca81
mov rax, qword [rsp + 0x38]
mov r9d, edi
mov r8, r12
mov qword [rsp + 0x20], rax
mov edx, esi
mov rcx, r13
call fcn.14005c4f0
test eax, eax
js 0x14005ca6c
mov edx, r14d
test esi, esi
jle 0x14005c938
cmp esi, 0x20
jb 0x14005c938
lea eax, [rsi - 1]
movsxd rcx, eax
lea rax, [rcx + r13]
lea r8, [rcx + r15]
cmp r15, rax
ja 0x14005c8d5
cmp r8, r13
jae 0x14005c938
mov ecx, esi
and ecx, 0x8000001f
jge 0x14005c8e6
dec ecx
or ecx, 0xffffffe0
inc ecx
mov eax, esi
mov r8, r13
sub eax, ecx
sub r8, r15
mov r9, r15
movsxd r10, eax
neg r9
mov rcx, r15
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 0x14005c900
movsxd rax, edx
cmp rax, rbp
jge 0x14005c960
mov rdx, r13
lea rcx, [rax + r15]
sub rdx, r15
sub rbp, rax
nop dword [rax]
movzx eax, byte [rcx + rdx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rbp, 1
jne 0x14005c950
mov rax, qword [rsp + 0x38]
lea rcx, [rsp + 0x50]
mov r9d, esi
mov qword [rsp + 0x20], rax
mov r8, r15
mov edx, edi
call fcn.14005c4f0
test eax, eax
js 0x14005ca6c
test edi, edi
jle 0x14005ca28
cmp edi, 0x20
jb 0x14005ca28
lea eax, [rdi - 1]
movsxd rcx, eax
lea rax, [rsp + 0x50]
add rax, rcx
lea rdx, [rcx + r12]
cmp r12, rax
ja 0x14005c9b6
lea rax, [rsp + 0x50]
cmp rdx, rax
jae 0x14005ca28
mov eax, edi
and eax, 0x8000001f
jge 0x14005c9c6
dec eax
or eax, 0xffffffe0
inc eax
sub edi, eax
lea rdx, [rsp + 0x50]
lea r8, [rsp + 0x60]
movsxd r10, edi
sub rdx, r12
sub r8, r12
mov r9, r12
mov rcx, r12
neg r9
nop dword [rax]
nop dword [rax + rax]
movdqu xmm0, xmmword [rcx]
add r14d, 0x20
movdqu xmm1, xmmword [rdx + rcx]
lea rcx, [rcx + 0x20]
lea rax, [r9 + rcx]
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x20], xmm1
movdqu xmm0, xmmword [rcx - 0x10]
movdqu xmm1, xmmword [r8 + rcx - 0x20]
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x10], xmm1
cmp rax, r10
jl 0x14005c9f0
movsxd rax, r14d
cmp rax, rbx
jge 0x14005ca50
lea rdx, [rsp + 0x50]
sub rdx, r12
lea rcx, [rax + r12]
sub rbx, rax
nop
movzx eax, byte [rcx + rdx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rbx, 1
jne 0x14005ca40
mov r8d, 0x67
lea rdx, str.crypto_rsa_rsa_oaep.c
mov rcx, r13
call fcn.140007c60
mov eax, 1
jmp 0x14005ca83
mov r8d, 0x6b
lea rdx, str.crypto_rsa_rsa_oaep.c
mov rcx, r13
call fcn.140007c60
xor eax, eax
mov r12, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.140002dc0
add rsp, 0xb0
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbp
pop rbx
ret