Function at 0x69b9f0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x98
lea ebx, [rdx - 1]
mov qword [rsp + 0xf0], r8
mov rdi, rcx
mov ebp, r9d
call fcn.00574860
mov r14d, ebx
mov rcx, rax
mov r12, rax
call fcn.00573950
lea r10d, [rax + rax]
mov esi, eax
sub r14d, r10d
cmp ebp, r14d
jge 0x69be60
cmp ebx, r10d
jle 0x69be30
movsxd r15, eax
mov byte [rdi], 0
xor r9d, r9d
movsxd rdx, dword [rsp + 0x108]
lea rax, [r15 + 1]
mov qword [rsp + 0x20], r12
mov rcx, qword [rsp + 0x100]
mov qword [rsp + 0x28], 0
lea r13, [rdi + rax]
mov r8, r13
mov dword [rsp + 0x38], r10d
mov qword [rsp + 0x40], rax
call fcn.00560ec0
mov r10d, dword [rsp + 0x38]
test eax, eax
jne 0x69bad8
xor r15d, r15d
xor r14d, r14d
lea rcx, [rsp + 0x50]
xor r12d, r12d
mov edx, 0x40
call fcn.005fddf0
mov r9d, 0x68
mov rdx, r15
mov rcx, r14
lea r8, str.crypto_rsa_rsa_oaep.c
call fcn.00580830
mov eax, r12d
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r9d, ebx
lea rax, [rdi + 1]
lea rcx, [r13 + r15]
xor edx, edx
sub r9d, ebp
mov qword [rsp + 0x48], rax
sub r9d, r10d
lea r8d, [r9 - 1]
mov dword [rsp + 0x38], r9d
movsxd r8, r8d
call sub.msvcrt.dll_memset
mov r9d, dword [rsp + 0x38]
movsxd rax, ebp
movsxd rcx, ebx
sub rcx, rax
mov rdx, qword [rsp + 0xf0]
mov r8d, ebp
add r9d, esi
sub rcx, r15
movsxd r9, r9d
add rcx, r13
mov byte [r13 + r9 - 1], 1
call sub.msvcrt.dll_memcpy
mov edx, esi
lea rcx, [rdi + 1]
call fcn.005a29d0
test eax, eax
jle 0x69ba8c
lea ebx, [rsi + r14]
mov r8d, 0x55
lea rdx, str.crypto_rsa_rsa_oaep.c
movsxd r15, ebx
mov rcx, r15
call fcn.00580440
mov r14, rax
test rax, rax
je 0x69bea0
mov qword [rsp + 0x20], r12
mov r9d, esi
lea r8, [rdi + 1]
mov edx, ebx
mov rcx, rax
call fcn.0069a980
test eax, eax
js 0x69be90
test ebx, ebx
jle 0x69bcbc
lea rdx, [r14 + 1]
mov rax, r13
lea ecx, [rbx - 1]
mov r8d, ebx
sub rax, rdx
cmp rax, 0xe
jbe 0x69bed8
cmp ecx, 6
jbe 0x69bed8
cmp ecx, 0xe
jbe 0x69bef8
mov edx, ebx
xor eax, eax
shr edx, 4
shl rdx, 4
nop word [rax + rax]
movdqu xmm0, xmmword [r13 + rax]
movdqu xmm2, xmmword [r14 + rax]
pxor xmm0, xmm2
movups xmmword [r13 + rax], xmm0
add rax, 0x10
cmp rdx, rax
jne 0x69bbd0
mov eax, ebx
and eax, 0xfffffff0
mov edx, eax
cmp ebx, eax
je 0x69bcbc
mov r8d, ebx
sub ecx, eax
sub r8d, eax
cmp ecx, 6
jbe 0x69bc3c
mov ecx, eax
mov rax, qword [rsp + 0x40]
movq xmm0, qword [r14 + rcx]
add rax, rcx
add rax, rdi
movq xmm1, qword [rax]
pxor xmm0, xmm1
movq qword [rax], xmm0
mov eax, r8d
and eax, 0xfffffff8
add edx, eax
cmp r8d, eax
je 0x69bcbc
movsxd rax, edx
movzx ecx, byte [r14 + rax]
xor byte [r13 + rax], cl
lea eax, [rdx + 1]
cmp ebx, eax
jle 0x69bcbc
cdqe
movzx ecx, byte [r14 + rax]
xor byte [r13 + rax], cl
lea eax, [rdx + 2]
cmp ebx, eax
jle 0x69bcbc
cdqe
movzx ecx, byte [r14 + rax]
xor byte [r13 + rax], cl
lea eax, [rdx + 3]
cmp ebx, eax
jle 0x69bcbc
cdqe
movzx ecx, byte [r14 + rax]
xor byte [r13 + rax], cl
lea eax, [rdx + 4]
cmp ebx, eax
jle 0x69bcbc
cdqe
movzx ecx, byte [r14 + rax]
xor byte [r13 + rax], cl
lea eax, [rdx + 5]
cmp ebx, eax
jle 0x69bcbc
cdqe
add edx, 6
movzx ecx, byte [r14 + rax]
xor byte [r13 + rax], cl
cmp ebx, edx
jle 0x69bcbc
movsxd rdx, edx
movzx eax, byte [r14 + rdx]
xor byte [r13 + rdx], al
mov qword [rsp + 0x20], r12
lea rcx, [rsp + 0x50]
mov r9d, ebx
mov r8, r13
mov edx, esi
mov qword [rsp + 0x38], rcx
xor r12d, r12d
call fcn.0069a980
mov rcx, qword [rsp + 0x38]
test eax, eax
js 0x69ba9a
test esi, esi
jle 0x69be20
lea r8d, [rsi - 1]
cmp r8d, 0xe
jbe 0x69bf01
movdqu xmm0, xmmword [rdi + 1]
mov eax, esi
pxor xmm0, xmmword [rsp + 0x50]
shr eax, 4
movups xmmword [rdi + 1], xmm0
cmp eax, 1
je 0x69bd51
movdqu xmm0, xmmword [rdi + 0x11]
pxor xmm0, xmmword [rsp + 0x60]
movups xmmword [rdi + 0x11], xmm0
cmp eax, 2
je 0x69bd51
movdqu xmm0, xmmword [rdi + 0x21]
pxor xmm0, xmmword [rsp + 0x70]
movups xmmword [rdi + 0x21], xmm0
cmp eax, 3
je 0x69bd51
movdqu xmm0, xmmword [rdi + 0x31]
pxor xmm0, xmmword [rsp + 0x80]
movups xmmword [rdi + 0x31], xmm0
mov edx, esi
and edx, 0xfffffff0
mov eax, edx
cmp edx, esi
je 0x69be20
mov r9d, esi
sub r8d, edx
sub r9d, edx
cmp r8d, 6
jbe 0x69bd99
lea r8d, [rdx + 1]
movq xmm1, qword [rsp + rdx + 0x50]
mov edx, r9d
add rdi, r8
and edx, 0xfffffff8
movq xmm0, qword [rdi]
add eax, edx
pxor xmm0, xmm1
movq qword [rdi], xmm0
cmp r9d, edx
je 0x69be20
mov rdi, qword [rsp + 0x48]
movsxd rdx, eax
movzx r8d, byte [rsp + rdx + 0x50]
xor byte [rdi + rdx], r8b
lea edx, [rax + 1]
cmp esi, edx
jle 0x69be20
movsxd rdx, edx
movzx r8d, byte [rsp + rdx + 0x50]
xor byte [rdi + rdx], r8b
lea edx, [rax + 2]
cmp esi, edx
jle 0x69be20
movsxd rdx, edx
movzx r8d, byte [rsp + rdx + 0x50]
xor byte [rdi + rdx], r8b
lea edx, [rax + 3]
cmp esi, edx
jle 0x69be20
movsxd rdx, edx
movzx r8d, byte [rsp + rdx + 0x50]
xor byte [rdi + rdx], r8b
lea edx, [rax + 4]
cmp esi, edx
jle 0x69be20
movsxd rdx, edx
movzx r8d, byte [rsp + rdx + 0x50]
xor byte [rdi + rdx], r8b
lea edx, [rax + 5]
cmp esi, edx
jle 0x69be20
movsxd rdx, edx
add eax, 6
movzx r8d, byte [rsp + rdx + 0x50]
xor byte [rdi + rdx], r8b
cmp esi, eax
jle 0x69be20
cdqe
movzx edx, byte [rsp + rax + 0x50]
xor byte [rdi + rax], dl
mov r12d, 1
jmp 0x69ba9a
mov dword [rsp + 0x20], 0x43
lea r9, str.crypto_rsa_rsa_oaep.c
mov r8d, 0x78
xor r12d, r12d
mov edx, 0x9a
mov ecx, 4
call fcn.0055dd20
jmp 0x69babc
mov dword [rsp + 0x20], 0x3d
lea r9, str.crypto_rsa_rsa_oaep.c
mov r8d, 0x6e
xor r12d, r12d
mov edx, 0x9a
mov ecx, 4
call fcn.0055dd20
jmp 0x69babc
xor r12d, r12d
lea rcx, [rsp + 0x50]
jmp 0x69ba9a
mov dword [rsp + 0x20], 0x57
mov ecx, 4
mov edx, 0x9a
lea r9, str.crypto_rsa_rsa_oaep.c
mov r8d, 0x41
xor r12d, r12d
call fcn.0055dd20
lea rcx, [rsp + 0x50]
jmp 0x69ba9a
mov ecx, ebx
xor eax, eax
nop dword [rax]
movzx edx, byte [r14 + rax]
xor byte [r13 + rax], dl
add rax, 1
cmp rax, rcx
jne 0x69bee0
jmp 0x69bcbc
xor eax, eax
xor edx, edx
jmp 0x69bc0c
xor edx, edx
xor eax, eax
jmp 0x69bd60