Function at 0x140143df0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x88
lea ebx, [rdx - 1]
mov qword [rsp + 0xe0], r8
mov r12, rcx
mov edi, r9d
call fcn.1400c3ca0
mov rcx, rax
mov rbp, rax
call fcn.1400c5b40
mov r10d, ebx
lea r11d, [rax + rax]
mov esi, eax
sub r10d, r11d
cmp edi, r10d
jge 0x140144328
cmp ebx, r11d
jle 0x1401442f8
movsxd r14, eax
mov byte [r12], 0
xor r9d, r9d
movsxd rdx, dword [rsp + 0xf8]
mov qword [rsp + 0x28], 0
mov rcx, qword [rsp + 0xf0]
lea r13, [r12 + r14 + 1]
mov qword [rsp + 0x20], rbp
mov r8, r13
mov dword [rsp + 0x3c], r10d
mov dword [rsp + 0x38], r11d
call fcn.1400bc350
mov r11d, dword [rsp + 0x38]
mov r10d, dword [rsp + 0x3c]
test eax, eax
jne 0x140143eb0
xor eax, eax
add rsp, 0x88
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r9d, ebx
xor edx, edx
lea rcx, [r13 + r14]
mov dword [rsp + 0x3c], r10d
sub r9d, edi
lea r15, [r12 + 1]
sub r9d, r11d
lea r8d, [r9 - 1]
mov dword [rsp + 0x38], r9d
movsxd r8, r8d
call sub.msvcrt.dll_memset
mov r9d, dword [rsp + 0x38]
movsxd rax, edi
movsxd rcx, ebx
sub rcx, rax
mov rdx, qword [rsp + 0xe0]
mov r8d, edi
add r9d, esi
sub rcx, r14
movsxd r9, r9d
add rcx, r13
mov byte [r13 + r9 - 1], 1
call sub.msvcrt.dll_memcpy
mov edx, esi
mov rcx, r15
call fcn.1400b80d0
test eax, eax
jle 0x140143e90
mov r10d, dword [rsp + 0x3c]
mov r8d, 0x55
lea rdx, str.rsa_oaep.c
lea edi, [rsi + r10]
mov ecx, edi
call fcn.14006d260
mov rbx, rax
test rax, rax
je 0x140144358
mov qword [rsp + 0x20], rbp
mov r9d, esi
mov r8, r15
mov edx, edi
mov rcx, rax
call fcn.140142f10
test eax, eax
js 0x140143e90
test edi, edi
jle 0x140144100
lea rdx, [r12 + r14 + 0x11]
lea eax, [rdi - 1]
cmp rbx, rdx
lea rdx, [rbx + 0x10]
setae cl
cmp r13, rdx
setae dl
or cl, dl
je 0x140144388
cmp eax, 0xe
jbe 0x140144388
mov edx, edi
xor eax, eax
shr edx, 4
shl rdx, 4
nop
movdqu xmm0, xmmword [r13 + rax]
movdqu xmm1, xmmword [rbx + rax]
pxor xmm0, xmm1
movups xmmword [r13 + rax], xmm0
add rax, 0x10
cmp rax, rdx
jne 0x140143fa0
mov eax, edi
and eax, 0xfffffff0
test dil, 0xf
je 0x140144100
mov edx, eax
movzx ecx, byte [rbx + rdx]
xor byte [r13 + rdx], cl
lea edx, [rax + 1]
cmp edi, edx
jle 0x140144100
movsxd rdx, edx
movzx ecx, byte [rbx + rdx]
xor byte [r13 + rdx], cl
lea edx, [rax + 2]
cmp edi, edx
jle 0x140144100
movsxd rdx, edx
movzx ecx, byte [rbx + rdx]
xor byte [r13 + rdx], cl
lea edx, [rax + 3]
cmp edi, edx
jle 0x140144100
movsxd rdx, edx
movzx ecx, byte [rbx + rdx]
xor byte [r13 + rdx], cl
lea edx, [rax + 4]
cmp edi, edx
jle 0x140144100
movsxd rdx, edx
movzx ecx, byte [rbx + rdx]
xor byte [r13 + rdx], cl
lea edx, [rax + 5]
cmp edi, edx
jle 0x140144100
movsxd rdx, edx
movzx ecx, byte [rbx + rdx]
xor byte [r13 + rdx], cl
lea edx, [rax + 6]
cmp edi, edx
jle 0x140144100
movsxd rdx, edx
movzx ecx, byte [rbx + rdx]
xor byte [r13 + rdx], cl
lea edx, [rax + 7]
cmp edi, edx
jle 0x140144100
movsxd rdx, edx
movzx ecx, byte [rbx + rdx]
xor byte [r13 + rdx], cl
lea edx, [rax + 8]
cmp edi, edx
jle 0x140144100
movsxd rdx, edx
movzx ecx, byte [rbx + rdx]
xor byte [r13 + rdx], cl
lea edx, [rax + 9]
cmp edi, edx
jle 0x140144100
movsxd rdx, edx
movzx ecx, byte [rbx + rdx]
xor byte [r13 + rdx], cl
lea edx, [rax + 0xa]
cmp edi, edx
jle 0x140144100
movsxd rdx, edx
movzx ecx, byte [rbx + rdx]
xor byte [r13 + rdx], cl
lea edx, [rax + 0xb]
cmp edi, edx
jle 0x140144100
movsxd rdx, edx
movzx ecx, byte [rbx + rdx]
xor byte [r13 + rdx], cl
lea edx, [rax + 0xc]
cmp edi, edx
jle 0x140144100
movsxd rdx, edx
movzx ecx, byte [rbx + rdx]
xor byte [r13 + rdx], cl
lea edx, [rax + 0xd]
cmp edi, edx
jle 0x140144100
movsxd rdx, edx
add eax, 0xe
movzx ecx, byte [rbx + rdx]
xor byte [r13 + rdx], cl
cmp edi, eax
jle 0x140144100
cdqe
movzx edx, byte [rbx + rax]
xor byte [r13 + rax], dl
nop
mov qword [rsp + 0x20], rbp
lea rcx, [rsp + 0x40]
mov r9d, edi
mov r8, r13
mov edx, esi
call fcn.140142f10
test eax, eax
js 0x140143e90
test esi, esi
jle 0x1401442e0
lea eax, [rsi - 1]
cmp eax, 0xe
jbe 0x1401443aa
movdqu xmm0, xmmword [r12 + 1]
mov eax, esi
pxor xmm0, xmmword [rsp + 0x40]
shr eax, 4
movups xmmword [r12 + 1], xmm0
cmp eax, 1
je 0x140144193
movdqu xmm0, xmmword [r12 + 0x11]
pxor xmm0, xmmword [rsp + 0x50]
movups xmmword [r12 + 0x11], xmm0
cmp eax, 2
je 0x140144193
movdqu xmm0, xmmword [r12 + 0x21]
pxor xmm0, xmmword [rsp + 0x60]
movups xmmword [r12 + 0x21], xmm0
cmp eax, 3
je 0x140144193
movdqu xmm0, xmmword [r12 + 0x31]
pxor xmm0, xmmword [rsp + 0x70]
movups xmmword [r12 + 0x31], xmm0
mov eax, esi
and eax, 0xfffffff0
test sil, 0xf
je 0x1401442e0
movsxd rdx, eax
movzx ecx, byte [rsp + rdx + 0x40]
xor byte [r15 + rdx], cl
lea edx, [rax + 1]
cmp esi, edx
jle 0x1401442e0
movsxd rdx, edx
movzx ecx, byte [rsp + rdx + 0x40]
xor byte [r15 + rdx], cl
lea edx, [rax + 2]
cmp esi, edx
jle 0x1401442e0
movsxd rdx, edx
movzx ecx, byte [rsp + rdx + 0x40]
xor byte [r15 + rdx], cl
lea edx, [rax + 3]
cmp esi, edx
jle 0x1401442e0
movsxd rdx, edx
movzx ecx, byte [rsp + rdx + 0x40]
xor byte [r15 + rdx], cl
lea edx, [rax + 4]
cmp esi, edx
jle 0x1401442e0
movsxd rdx, edx
movzx ecx, byte [rsp + rdx + 0x40]
xor byte [r15 + rdx], cl
lea edx, [rax + 5]
cmp esi, edx
jle 0x1401442e0
movsxd rdx, edx
movzx ecx, byte [rsp + rdx + 0x40]
xor byte [r15 + rdx], cl
lea edx, [rax + 6]
cmp esi, edx
jle 0x1401442e0
movsxd rdx, edx
movzx ecx, byte [rsp + rdx + 0x40]
xor byte [r15 + rdx], cl
lea edx, [rax + 7]
cmp esi, edx
jle 0x1401442e0
movsxd rdx, edx
movzx ecx, byte [rsp + rdx + 0x40]
xor byte [r15 + rdx], cl
lea edx, [rax + 8]
cmp esi, edx
jle 0x1401442e0
movsxd rdx, edx
movzx ecx, byte [rsp + rdx + 0x40]
xor byte [r15 + rdx], cl
lea edx, [rax + 9]
cmp esi, edx
jle 0x1401442e0
movsxd rdx, edx
movzx ecx, byte [rsp + rdx + 0x40]
xor byte [r15 + rdx], cl
lea edx, [rax + 0xa]
cmp esi, edx
jle 0x1401442e0
movsxd rdx, edx
movzx ecx, byte [rsp + rdx + 0x40]
xor byte [r15 + rdx], cl
lea edx, [rax + 0xb]
cmp esi, edx
jle 0x1401442e0
movsxd rdx, edx
movzx ecx, byte [rsp + rdx + 0x40]
xor byte [r15 + rdx], cl
lea edx, [rax + 0xc]
cmp esi, edx
jle 0x1401442e0
movsxd rdx, edx
movzx ecx, byte [rsp + rdx + 0x40]
xor byte [r15 + rdx], cl
lea edx, [rax + 0xd]
cmp esi, edx
jle 0x1401442e0
movsxd rdx, edx
add eax, 0xe
movzx ecx, byte [rsp + rdx + 0x40]
xor byte [r15 + rdx], cl
cmp esi, eax
jle 0x1401442e0
cdqe
movzx edx, byte [rsp + rax + 0x40]
xor byte [r15 + rax], dl
nop word [rax + rax]
mov rcx, rbx
call fcn.14006d560
mov eax, 1
jmp 0x140143e92
mov r8d, 0x78
mov edx, 0xa0
mov ecx, 4
mov dword [rsp + 0x20], 0x3f
lea r9, str.rsa_oaep.c
call fcn.1400ba710
xor eax, eax
jmp 0x140143e92
mov r8d, 0x6e
mov edx, 0xa0
mov ecx, 4
mov dword [rsp + 0x20], 0x39
lea r9, str.rsa_oaep.c
call fcn.1400ba710
xor eax, eax
jmp 0x140143e92
mov r8d, 0x41
mov edx, 0xa0
mov ecx, 4
mov dword [rsp + 0x20], 0x57
lea r9, str.rsa_oaep.c
call fcn.1400ba710
jmp 0x140143e90
mov edx, eax
xor eax, eax
nop dword [rax]
movzx ecx, byte [rbx + rax]
xor byte [r13 + rax], cl
mov rcx, rax
add rax, 1
cmp rcx, rdx
jne 0x140144390
jmp 0x140144100
xor eax, eax
jmp 0x1401441a2