Function at 0x14034d520
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
mov r14, qword [rsp + 0x108]
mov rbp, qword [rsp + 0x110]
mov qword [rsp + 0xd0], rcx
mov rdi, rdx
lea ebx, [r8 - 1]
mov qword [rsp + 0xe8], r9
test r14, r14
je 0x14034dae8
test rbp, rbp
mov rcx, r14
cmove rbp, r14
call fcn.1400e01a0
mov esi, eax
test eax, eax
jle 0x14034db30
lea r10d, [rax + rax]
mov r13d, ebx
sub r13d, r10d
cmp r13d, dword [rsp + 0xf0]
jle 0x14034daf8
cmp r10d, ebx
jge 0x14034da60
movsxd r11, dword [rsp + 0x100]
movsxd r15, eax
mov byte [rdi], 0
xor r9d, r9d
mov qword [rsp + 0x28], 0
mov rcx, qword [rsp + 0xf8]
lea r12, [rdi + r15 + 1]
mov qword [rsp + 0x20], r14
mov r8, r12
mov rdx, r11
mov dword [rsp + 0x30], r10d
call fcn.140268b40
mov r10d, dword [rsp + 0x30]
test eax, eax
je 0x14034dab0
mov r9d, ebx
lea r11, [rdi + 1]
lea rcx, [r12 + r15]
xor edx, edx
sub r9d, dword [rsp + 0xf0]
mov qword [rsp + 0x38], r11
sub r9d, r10d
lea r8d, [r9 - 1]
mov dword [rsp + 0x30], r9d
movsxd r8, r8d
call sub.msvcrt.dll_memset
mov r9d, dword [rsp + 0x30]
movsxd rcx, ebx
movsxd rax, dword [rsp + 0xf0]
mov r8d, dword [rsp + 0xf0]
mov rdx, qword [rsp + 0xe8]
add r9d, esi
sub rcx, rax
movsxd r9, r9d
sub rcx, r15
mov byte [r12 + r9 - 1], 1
add rcx, r12
call sub.msvcrt.dll_memcpy
mov r11, qword [rsp + 0x38]
xor r9d, r9d
mov r8, r15
mov rcx, qword [rsp + 0xd0]
mov rdx, r11
mov qword [rsp + 0x30], r11
call fcn.14009bff0
test eax, eax
jle 0x14034dab0
add r13d, esi
mov r8d, 0x72
lea rdx, str.crypto_rsa_rsa_oaep.c
movsxd r15, r13d
mov rcx, r15
call fcn.140095a80
mov r14, rax
test rax, rax
je 0x14034db70
mov r11, qword [rsp + 0x30]
mov qword [rsp + 0x20], rbp
mov r9d, esi
mov edx, r13d
mov rcx, rax
mov r8, r11
call fcn.14034d390
test eax, eax
js 0x14034db70
test r13d, r13d
mov r11, qword [rsp + 0x30]
jle 0x14034d868
lea eax, [r13 - 1]
cmp eax, 0xe
jbe 0x14034db7d
mov edx, r13d
xor eax, eax
shr edx, 4
shl rdx, 4
nop word [rax + rax]
movdqu xmm0, xmmword [r12 + rax]
movdqu xmm1, xmmword [r14 + rax]
pxor xmm0, xmm1
movups xmmword [r12 + rax], xmm0
add rax, 0x10
cmp rdx, rax
jne 0x14034d6f0
mov eax, r13d
and eax, 0xfffffff0
test r13b, 0xf
je 0x14034d868
movsxd rdx, eax
movzx ecx, byte [r14 + rdx]
xor byte [r12 + rdx], cl
lea edx, [rax + 1]
cmp r13d, edx
jle 0x14034d868
movsxd rdx, edx
movzx ecx, byte [r14 + rdx]
xor byte [r12 + rdx], cl
lea edx, [rax + 2]
cmp r13d, edx
jle 0x14034d868
movsxd rdx, edx
movzx ecx, byte [r14 + rdx]
xor byte [r12 + rdx], cl
lea edx, [rax + 3]
cmp r13d, edx
jle 0x14034d868
movsxd rdx, edx
movzx ecx, byte [r14 + rdx]
xor byte [r12 + rdx], cl
lea edx, [rax + 4]
cmp r13d, edx
jle 0x14034d868
movsxd rdx, edx
movzx ecx, byte [r14 + rdx]
xor byte [r12 + rdx], cl
lea edx, [rax + 5]
cmp r13d, edx
jle 0x14034d868
movsxd rdx, edx
movzx ecx, byte [r14 + rdx]
xor byte [r12 + rdx], cl
lea edx, [rax + 6]
cmp r13d, edx
jle 0x14034d868
movsxd rdx, edx
movzx ecx, byte [r14 + rdx]
xor byte [r12 + rdx], cl
lea edx, [rax + 7]
cmp r13d, edx
jle 0x14034d868
movsxd rdx, edx
movzx ecx, byte [r14 + rdx]
xor byte [r12 + rdx], cl
lea edx, [rax + 8]
cmp r13d, edx
jle 0x14034d868
movsxd rdx, edx
movzx ecx, byte [r14 + rdx]
xor byte [r12 + rdx], cl
lea edx, [rax + 9]
cmp r13d, edx
jle 0x14034d868
movsxd rdx, edx
movzx ecx, byte [r14 + rdx]
xor byte [r12 + rdx], cl
lea edx, [rax + 0xa]
cmp r13d, edx
jle 0x14034d868
movsxd rdx, edx
movzx ecx, byte [r14 + rdx]
xor byte [r12 + rdx], cl
lea edx, [rax + 0xb]
cmp r13d, edx
jle 0x14034d868
movsxd rdx, edx
movzx ecx, byte [r14 + rdx]
xor byte [r12 + rdx], cl
lea edx, [rax + 0xc]
cmp r13d, edx
jle 0x14034d868
movsxd rdx, edx
movzx ecx, byte [r14 + rdx]
xor byte [r12 + rdx], cl
lea edx, [rax + 0xd]
cmp r13d, edx
jle 0x14034d868
movsxd rdx, edx
add eax, 0xe
movzx ecx, byte [r14 + rdx]
xor byte [r12 + rdx], cl
cmp r13d, eax
jle 0x14034d868
cdqe
movzx edx, byte [r14 + rax]
xor byte [r12 + rax], dl
nop dword [rax]
mov qword [rsp + 0x20], rbp
lea rcx, [rsp + 0x40]
mov r8, r12
mov r9d, r13d
mov edx, esi
mov qword [rsp + 0x38], r11
xor r12d, r12d
mov qword [rsp + 0x30], rcx
call fcn.14034d390
mov rcx, qword [rsp + 0x30]
mov r11, qword [rsp + 0x38]
test eax, eax
js 0x14034dabe
lea eax, [rsi - 1]
cmp eax, 0xe
jbe 0x14034db84
movdqu xmm0, xmmword [rdi + 1]
mov eax, esi
pxor xmm0, xmmword [rsp + 0x40]
shr eax, 4
movups xmmword [rdi + 1], xmm0
cmp eax, 1
je 0x14034d8fa
movdqu xmm0, xmmword [rdi + 0x11]
pxor xmm0, xmmword [rsp + 0x50]
movups xmmword [rdi + 0x11], xmm0
cmp eax, 2
je 0x14034d8fa
movdqu xmm0, xmmword [rdi + 0x21]
pxor xmm0, xmmword [rsp + 0x60]
movups xmmword [rdi + 0x21], xmm0
cmp eax, 3
je 0x14034d8fa
movdqu xmm0, xmmword [rdi + 0x31]
pxor xmm0, xmmword [rsp + 0x70]
movups xmmword [rdi + 0x31], xmm0
mov eax, esi
and eax, 0xfffffff0
test sil, 0xf
je 0x14034da50
movsxd rdx, eax
movzx r8d, byte [rsp + rdx + 0x40]
xor byte [r11 + rdx], r8b
lea edx, [rax + 1]
cmp esi, edx
jle 0x14034da50
movsxd rdx, edx
movzx r8d, byte [rsp + rdx + 0x40]
xor byte [r11 + rdx], r8b
lea edx, [rax + 2]
cmp esi, edx
jle 0x14034da50
movsxd rdx, edx
movzx r8d, byte [rsp + rdx + 0x40]
xor byte [r11 + rdx], r8b
lea edx, [rax + 3]
cmp esi, edx
jle 0x14034da50
movsxd rdx, edx
movzx r8d, byte [rsp + rdx + 0x40]
xor byte [r11 + rdx], r8b
lea edx, [rax + 4]
cmp esi, edx
jle 0x14034da50
movsxd rdx, edx
movzx r8d, byte [rsp + rdx + 0x40]
xor byte [r11 + rdx], r8b
lea edx, [rax + 5]
cmp esi, edx
jle 0x14034da50
movsxd rdx, edx
movzx r8d, byte [rsp + rdx + 0x40]
xor byte [r11 + rdx], r8b
lea edx, [rax + 6]
cmp esi, edx
jle 0x14034da50
movsxd rdx, edx
movzx r8d, byte [rsp + rdx + 0x40]
xor byte [r11 + rdx], r8b
lea edx, [rax + 7]
cmp esi, edx
jle 0x14034da50
movsxd rdx, edx
movzx r8d, byte [rsp + rdx + 0x40]
xor byte [r11 + rdx], r8b
lea edx, [rax + 8]
cmp esi, edx
jle 0x14034da50
movsxd rdx, edx
movzx r8d, byte [rsp + rdx + 0x40]
xor byte [r11 + rdx], r8b
lea edx, [rax + 9]
cmp esi, edx
jle 0x14034da50
movsxd rdx, edx
movzx r8d, byte [rsp + rdx + 0x40]
xor byte [r11 + rdx], r8b
lea edx, [rax + 0xa]
cmp esi, edx
jle 0x14034da50
movsxd rdx, edx
movzx r8d, byte [rsp + rdx + 0x40]
xor byte [r11 + rdx], r8b
lea edx, [rax + 0xb]
cmp esi, edx
jle 0x14034da50
movsxd rdx, edx
movzx r8d, byte [rsp + rdx + 0x40]
xor byte [r11 + rdx], r8b
lea edx, [rax + 0xc]
cmp esi, edx
jle 0x14034da50
movsxd rdx, edx
movzx r8d, byte [rsp + rdx + 0x40]
xor byte [r11 + rdx], r8b
lea edx, [rax + 0xd]
cmp esi, edx
jle 0x14034da50
movsxd rdx, edx
add eax, 0xe
movzx r8d, byte [rsp + rdx + 0x40]
xor byte [r11 + rdx], r8b
cmp esi, eax
jle 0x14034da50
cdqe
movzx edx, byte [rsp + rax + 0x40]
xor byte [r11 + rax], dl
nop dword [rax]
mov r12d, 1
jmp 0x14034dabe
call fcn.1400bf100
lea r8, str.ossl_rsa_padding_add_PKCS1_OAEP_mgf1_ex
mov edx, 0x5c
xor r12d, r12d
lea rcx, str.crypto_rsa_rsa_oaep.c
call fcn.1400bf220
xor r8d, r8d
mov edx, 0x78
mov ecx, 4
call fcn.1400bf330
mov eax, r12d
add rsp, 0x88
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
xor r15d, r15d
xor r14d, r14d
lea rcx, [rsp + 0x40]
xor r12d, r12d
mov edx, 0x40
call fcn.140098720
mov r9d, 0x87
mov rdx, r15
mov rcx, r14
lea r8, str.crypto_rsa_rsa_oaep.c
call fcn.140095e80
jmp 0x14034da92
call fcn.1400e2fd0
mov r14, rax
jmp 0x14034d563
call fcn.1400bf100
lea r8, str.ossl_rsa_padding_add_PKCS1_OAEP_mgf1_ex
mov edx, 0x57
xor r12d, r12d
lea rcx, str.crypto_rsa_rsa_oaep.c
call fcn.1400bf220
xor r8d, r8d
mov edx, 0x6e
mov ecx, 4
call fcn.1400bf330
jmp 0x14034da92
call fcn.1400bf100
lea r8, str.ossl_rsa_padding_add_PKCS1_OAEP_mgf1_ex
mov edx, 0x51
xor r12d, r12d
lea rcx, str.crypto_rsa_rsa_oaep.c
call fcn.1400bf220
xor r8d, r8d
mov edx, 0xb5
mov ecx, 4
call fcn.1400bf330
jmp 0x14034da92
xor r12d, r12d
lea rcx, [rsp + 0x40]
jmp 0x14034dabe
xor eax, eax
jmp 0x14034d71e
xor eax, eax
jmp 0x14034d909