Function at 0x140313a80
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
mov r15, qword [rsp + 0x110]
mov r12, qword [rsp + 0x118]
mov qword [rsp + 0xf0], r8
mov rdi, rcx
mov ebp, r9d
lea ebx, [rdx - 1]
test r15, r15
je 0x140313f48
test r12, r12
mov rcx, r15
mov r14d, ebx
cmove r12, r15
call fcn.1401e7dc0
lea r10d, [rax + rax]
mov esi, eax
sub r14d, r10d
cmp r14d, ebp
jle 0x140313f18
cmp r10d, ebx
jge 0x140313ee8
cdqe
mov byte [rdi], 0
movsxd r11, dword [rsp + 0x108]
xor r9d, r9d
mov qword [rsp + 0x38], rax
add rax, 1
mov rcx, qword [rsp + 0x100]
mov qword [rsp + 0x28], 0
lea r13, [rdi + rax]
mov rdx, r11
mov qword [rsp + 0x20], r15
mov r8, r13
mov dword [rsp + 0x30], r10d
mov qword [rsp + 0x40], rax
call fcn.1401d52e0
mov r10d, dword [rsp + 0x30]
test eax, eax
jne 0x140313b88
xor r14d, r14d
xor r15d, r15d
lea rcx, [rsp + 0x50]
xor r12d, r12d
mov edx, 0x40
call fcn.1402746b0
mov r9d, 0x68
mov rdx, r14
mov rcx, r15
lea r8, str.crypto_rsa_rsa_oaep.c
call fcn.1401f5190
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
mov rax, qword [rsp + 0x38]
xor edx, edx
lea r15, [rdi + 1]
sub r9d, ebp
mov qword [rsp + 0x48], r15
sub r9d, r10d
lea rcx, [r13 + rax]
lea r8d, [r9 - 1]
mov dword [rsp + 0x30], r9d
movsxd r8, r8d
call fcn.14042d780
mov r9d, dword [rsp + 0x30]
movsxd rax, ebp
movsxd rcx, ebx
sub rcx, rax
mov rdx, qword [rsp + 0xf0]
sub rcx, qword [rsp + 0x38]
mov r8d, ebp
add r9d, esi
add rcx, r13
movsxd r9, r9d
mov byte [r13 + r9 - 1], 1
call fcn.14042d770
mov edx, esi
mov rcx, r15
call fcn.140218860
test eax, eax
jle 0x140313b3b
lea ebx, [r14 + rsi]
lea rbp, str.crypto_rsa_rsa_oaep.c
mov r8d, 0x55
movsxd r14, ebx
mov rdx, rbp
mov rcx, r14
call fcn.1401f4da0
mov r15, rax
test rax, rax
je 0x140313f68
mov qword [rsp + 0x20], r12
mov r8, qword [rsp + 0x48]
mov r9d, esi
mov edx, ebx
mov rcx, rax
call fcn.1403138f0
test eax, eax
js 0x140313f58
test ebx, ebx
jle 0x140313d76
lea rcx, [r15 + 1]
mov rdx, r13
lea eax, [rbx - 1]
mov r8d, ebx
sub rdx, rcx
cmp rdx, 0xe
jbe 0x140313f98
cmp eax, 6
jbe 0x140313f98
cmp eax, 0xe
jbe 0x140313fb8
mov edx, ebx
xor eax, eax
shr edx, 4
shl rdx, 4
nop dword [rax]
movdqu xmm0, xmmword [r13 + rax]
movdqu xmm2, xmmword [r15 + rax]
pxor xmm0, xmm2
movups xmmword [r13 + rax], xmm0
add rax, 0x10
cmp rax, rdx
jne 0x140313c88
mov eax, ebx
and eax, 0xfffffff0
mov edx, eax
cmp ebx, eax
je 0x140313d76
mov r8d, ebx
sub r8d, eax
lea ecx, [r8 - 1]
cmp ecx, 6
jbe 0x140313cf6
mov ecx, eax
mov rax, qword [rsp + 0x40]
movq xmm0, qword [r15 + 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 0x140313d76
movsxd rax, edx
movzx ecx, byte [r15 + rax]
xor byte [r13 + rax], cl
lea eax, [rdx + 1]
cmp ebx, eax
jle 0x140313d76
cdqe
movzx ecx, byte [r15 + rax]
xor byte [r13 + rax], cl
lea eax, [rdx + 2]
cmp ebx, eax
jle 0x140313d76
cdqe
movzx ecx, byte [r15 + rax]
xor byte [r13 + rax], cl
lea eax, [rdx + 3]
cmp ebx, eax
jle 0x140313d76
cdqe
movzx ecx, byte [r15 + rax]
xor byte [r13 + rax], cl
lea eax, [rdx + 4]
cmp ebx, eax
jle 0x140313d76
cdqe
movzx ecx, byte [r15 + rax]
xor byte [r13 + rax], cl
lea eax, [rdx + 5]
cmp ebx, eax
jle 0x140313d76
cdqe
add edx, 6
movzx ecx, byte [r15 + rax]
xor byte [r13 + rax], cl
cmp ebx, edx
jle 0x140313d76
movsxd rdx, edx
movzx eax, byte [r15 + 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 + 0x30], rcx
xor r12d, r12d
call fcn.1403138f0
mov rcx, qword [rsp + 0x30]
test eax, eax
js 0x140313b49
test esi, esi
jle 0x140313ed9
lea eax, [rsi - 1]
cmp eax, 0xe
jbe 0x140313fc1
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 0x140313e09
movdqu xmm0, xmmword [rdi + 0x11]
pxor xmm0, xmmword [rsp + 0x60]
movups xmmword [rdi + 0x11], xmm0
cmp eax, 2
je 0x140313e09
movdqu xmm0, xmmword [rdi + 0x21]
pxor xmm0, xmmword [rsp + 0x70]
movups xmmword [rdi + 0x21], xmm0
cmp eax, 3
je 0x140313e09
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 esi, edx
je 0x140313ed9
mov r8d, esi
sub r8d, edx
lea r9d, [r8 - 1]
cmp r9d, 6
jbe 0x140313e52
lea r9, [rdi + rdx + 1]
movq xmm1, qword [rsp + rdx + 0x50]
mov edx, r8d
movq xmm0, qword [r9]
and edx, 0xfffffff8
add eax, edx
pxor xmm0, xmm1
movq qword [r9], xmm0
cmp r8d, edx
je 0x140313ed9
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 0x140313ed9
movsxd rdx, edx
movzx r8d, byte [rsp + rdx + 0x50]
xor byte [rdi + rdx], r8b
lea edx, [rax + 2]
cmp esi, edx
jle 0x140313ed9
movsxd rdx, edx
movzx r8d, byte [rsp + rdx + 0x50]
xor byte [rdi + rdx], r8b
lea edx, [rax + 3]
cmp esi, edx
jle 0x140313ed9
movsxd rdx, edx
movzx r8d, byte [rsp + rdx + 0x50]
xor byte [rdi + rdx], r8b
lea edx, [rax + 4]
cmp esi, edx
jle 0x140313ed9
movsxd rdx, edx
movzx r8d, byte [rsp + rdx + 0x50]
xor byte [rdi + rdx], r8b
lea edx, [rax + 5]
cmp esi, edx
jle 0x140313ed9
movsxd rdx, edx
add eax, 6
movzx r8d, byte [rsp + rdx + 0x50]
xor byte [rdi + rdx], r8b
cmp esi, eax
jle 0x140313ed9
cdqe
movzx edx, byte [rsp + rax + 0x50]
xor byte [rdi + rax], dl
mov r12d, 1
jmp 0x140313b49
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.1401d1f90
jmp 0x140313b6b
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.1401d1f90
jmp 0x140313b6b
call fcn.1401e8cc0
mov r15, rax
jmp 0x140313abd
xor r12d, r12d
lea rcx, [rsp + 0x50]
jmp 0x140313b49
mov ecx, 4
mov r9, rbp
mov edx, 0x9a
xor r12d, r12d
mov dword [rsp + 0x20], 0x57
mov r8d, 0x41
call fcn.1401d1f90
lea rcx, [rsp + 0x50]
jmp 0x140313b49
mov ecx, ebx
xor eax, eax
nop dword [rax]
movzx edx, byte [r15 + rax]
xor byte [r13 + rax], dl
add rax, 1
cmp rax, rcx
jne 0x140313fa0
jmp 0x140313d76
xor eax, eax
xor edx, edx
jmp 0x140313cc6
xor edx, edx
xor eax, eax
jmp 0x140313e18