Function at 0x14001dfc0
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 rdi, qword [rsp + 0x100]
mov qword [rsp + 0xe8], rdx
mov r12, rcx
mov r14, r8
mov rbx, r9
call fcn.140119a10
mov r13, rax
test rax, rax
je 0x14001e380
test rbx, rbx
mov rcx, r14
cmove rbx, r14
call fcn.140004170
mov r9d, eax
test eax, eax
js 0x14001e380
cmp dword [rsp + 0x108], 0xffffffff
je 0x14001e400
cmp dword [rsp + 0x108], 0xfffffffd
jl 0x14001e470
mov rcx, qword [r12 + 0x28]
mov dword [rsp + 0x38], r9d
call fcn.1400b9a60
mov rcx, r12
lea esi, [rax - 1]
call fcn.14021b8b0
and esi, 7
movzx r15d, byte [rdi]
mov edx, 0xff
mov ecx, esi
mov r9d, dword [rsp + 0x38]
shl edx, cl
and r15d, edx
jne 0x14001e430
test esi, esi
jne 0x14001e076
add rdi, 1
sub eax, 1
lea edx, [r9 + 1]
cmp edx, eax
jge 0x14001e4b0
mov r11d, eax
sub r11d, r9d
cmp dword [rsp + 0x108], 0xfffffffd
je 0x14001e410
lea edx, [r11 - 1]
cmp edx, dword [rsp + 0x108]
jle 0x14001e4f0
cdqe
cmp byte [rdi + rax - 1], 0xbc
jne 0x14001e3c0
lea r10d, [r11 - 1]
mov r8d, 0x63
mov dword [rsp + 0x4c], r9d
lea rbp, str.crypto_rsa_rsa_pss.c
movsxd rcx, r10d
mov rdx, rbp
mov dword [rsp + 0x48], r11d
lea rax, [rdi + rcx]
mov dword [rsp + 0x44], r10d
mov qword [rsp + 0x38], rax
call fcn.14000e4c0
mov r10d, dword [rsp + 0x44]
mov r11d, dword [rsp + 0x48]
test rax, rax
mov r9d, dword [rsp + 0x4c]
mov r12, rax
je 0x14001e5c3
mov qword [rsp + 0x20], rbx
mov r8, qword [rsp + 0x38]
mov edx, r10d
mov rcx, rax
mov dword [rsp + 0x4c], r11d
mov dword [rsp + 0x48], r9d
mov dword [rsp + 0x44], r10d
call fcn.14021f060
test eax, eax
js 0x14001e38d
mov r10d, dword [rsp + 0x44]
mov r9d, dword [rsp + 0x48]
mov r11d, dword [rsp + 0x4c]
test r10d, r10d
jle 0x14001e240
lea eax, [r11 - 2]
cmp eax, 0xe
jbe 0x14001e580
mov edx, r10d
xor eax, eax
shr edx, 4
shl rdx, 4
movdqu xmm0, xmmword [r12 + rax]
movdqu xmm2, xmmword [rdi + rax]
pxor xmm0, xmm2
movups xmmword [r12 + rax], xmm0
add rax, 0x10
cmp rax, rdx
jne 0x14001e160
mov edx, r10d
and edx, 0xfffffff0
mov eax, edx
cmp edx, r10d
je 0x14001e240
mov r8d, r11d
sub r8d, edx
lea ecx, [r8 - 1]
sub r8d, 2
cmp r8d, 6
jbe 0x14001e1c4
lea r8, [r12 + rdx]
movq xmm0, qword [rdi + rdx]
mov edx, ecx
movq xmm1, qword [r8]
and edx, 0xfffffff8
add eax, edx
pxor xmm0, xmm1
movq qword [r8], xmm0
cmp ecx, edx
je 0x14001e240
movsxd rdx, eax
movzx ecx, byte [rdi + rdx]
xor byte [r12 + rdx], cl
lea edx, [rax + 1]
cmp r10d, edx
jle 0x14001e240
movsxd rdx, edx
movzx ecx, byte [rdi + rdx]
xor byte [r12 + rdx], cl
lea edx, [rax + 2]
cmp r10d, edx
jle 0x14001e240
movsxd rdx, edx
movzx ecx, byte [rdi + rdx]
xor byte [r12 + rdx], cl
lea edx, [rax + 3]
cmp r10d, edx
jle 0x14001e240
movsxd rdx, edx
movzx ecx, byte [rdi + rdx]
xor byte [r12 + rdx], cl
lea edx, [rax + 4]
cmp r10d, edx
jle 0x14001e240
movsxd rdx, edx
movzx ecx, byte [rdi + rdx]
xor byte [r12 + rdx], cl
lea edx, [rax + 5]
cmp r10d, edx
jle 0x14001e240
movsxd rdx, edx
add eax, 6
movzx ecx, byte [rdi + rdx]
xor byte [r12 + rdx], cl
cmp r10d, eax
jle 0x14001e240
cdqe
movzx edx, byte [rdi + rax]
xor byte [r12 + rax], dl
movzx r8d, byte [r12]
test esi, esi
je 0x14001e25e
mov ecx, 8
mov eax, 0xff
sub ecx, esi
sar eax, cl
and r8d, eax
mov byte [r12], r8b
test r8b, r8b
jne 0x14001e589
cmp r11d, 2
jle 0x14001e510
lea edx, [r11 - 3]
mov eax, 1
add rdx, 2
jmp 0x14001e28d
add rax, 1
cmp rax, rdx
je 0x14001e510
movzx r8d, byte [r12 + rax]
mov ebx, eax
test r8b, r8b
je 0x14001e280
add ebx, 1
cmp r8b, 1
jne 0x14001e510
cmp dword [rsp + 0x108], 0xfffffffe
je 0x14001e2c2
mov esi, r10d
sub esi, ebx
cmp esi, dword [rsp + 0x108]
jne 0x14001e540
xor r8d, r8d
mov rdx, r14
mov rcx, r13
mov dword [rsp + 0x48], r10d
mov dword [rsp + 0x44], r9d
call fcn.14011b460
test eax, eax
je 0x14001e508
mov r8d, 8
lea rdx, [0x14034e730]
mov rcx, r13
call fcn.140119af0
test eax, eax
je 0x14001e508
movsxd rsi, dword [rsp + 0x44]
mov rdx, qword [rsp + 0xe8]
mov rcx, r13
mov r8, rsi
call fcn.140119af0
test eax, eax
je 0x14001e508
mov r10d, dword [rsp + 0x48]
cmp r10d, ebx
je 0x14001e345
sub r10d, ebx
movsxd rdx, ebx
mov rcx, r13
add rdx, r12
movsxd r8, r10d
call fcn.140119af0
test eax, eax
je 0x14001e508
lea r14, [rsp + 0x50]
xor r8d, r8d
mov rcx, r13
mov rdx, r14
call fcn.140119d70
test eax, eax
je 0x14001e508
mov rdx, qword [rsp + 0x38]
mov r8, rsi
mov rcx, r14
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x14001e593
mov r15d, 1
jmp 0x14001e38d
xor r12d, r12d
xor r15d, r15d
lea rbp, str.crypto_rsa_rsa_pss.c
mov r8d, 0x8b
mov rdx, rbp
mov rcx, r12
call fcn.14000e580
mov rcx, r13
call fcn.140119a30
mov eax, r15d
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
call fcn.140110230
lea rbp, str.crypto_rsa_rsa_pss.c
mov edx, 0x5e
xor r12d, r12d
lea r8, str.RSA_verify_PKCS1_PSS_mgf1
mov rcx, rbp
call fcn.140110360
xor r8d, r8d
mov edx, 0x86
mov ecx, 4
call fcn.140110450
jmp 0x14001e38d
mov dword [rsp + 0x108], eax
jmp 0x14001e033
cdqe
lea ecx, [r11 - 2]
cmp byte [rdi + rax - 1], 0xbc
mov dword [rsp + 0x108], ecx
je 0x14001e0b4
jmp 0x14001e3c0
lea rbp, str.crypto_rsa_rsa_pss.c
xor r12d, r12d
xor r15d, r15d
call fcn.140110230
lea r8, str.RSA_verify_PKCS1_PSS_mgf1
mov edx, 0x4c
mov rcx, rbp
call fcn.140110360
xor r8d, r8d
mov edx, 0x85
mov ecx, 4
call fcn.140110450
jmp 0x14001e38d
lea rbp, str.crypto_rsa_rsa_pss.c
xor r12d, r12d
xor r15d, r15d
call fcn.140110230
lea r8, str.RSA_verify_PKCS1_PSS_mgf1
mov edx, 0x45
mov rcx, rbp
call fcn.140110360
xor r8d, r8d
mov edx, 0x88
mov ecx, 4
call fcn.140110450
jmp 0x14001e38d
call fcn.140110230
lea r8, str.RSA_verify_PKCS1_PSS_mgf1
mov edx, 0x54
lea rbp, str.crypto_rsa_rsa_pss.c
xor r12d, r12d
mov rcx, rbp
call fcn.140110360
xor r8d, r8d
mov edx, 0x6d
mov ecx, 4
call fcn.140110450
jmp 0x14001e38d
call fcn.140110230
lea r8, str.RSA_verify_PKCS1_PSS_mgf1
mov edx, 0x5a
jmp 0x14001e4c1
xor r15d, r15d
jmp 0x14001e38d
call fcn.140110230
mov rcx, rbp
mov edx, 0x70
lea r8, str.RSA_verify_PKCS1_PSS_mgf1
call fcn.140110360
xor r8d, r8d
mov edx, 0x87
mov ecx, 4
call fcn.140110450
jmp 0x14001e38d
call fcn.140110230
mov rcx, rbp
mov edx, 0x74
lea r8, str.RSA_verify_PKCS1_PSS_mgf1
call fcn.140110360
mov dword [rsp + 0x20], esi
mov edx, 0x88
mov r9d, dword [rsp + 0x108]
lea r8, str.expected:__d_retrieved:__d
mov ecx, 4
call fcn.140110450
jmp 0x14001e38d
xor eax, eax
xor edx, edx
jmp 0x14001e18e
mov ebx, 1
jmp 0x14001e29c
call fcn.140110230
mov rcx, rbp
mov edx, 0x84
lea r8, str.RSA_verify_PKCS1_PSS_mgf1
call fcn.140110360
xor r8d, r8d
mov edx, 0x68
mov ecx, 4
call fcn.140110450
jmp 0x14001e38d
call fcn.140110230
mov rcx, rbp
mov edx, 0x65
lea r8, str.RSA_verify_PKCS1_PSS_mgf1
call fcn.140110360
xor r8d, r8d
mov edx, 0xc0100
mov ecx, 4
call fcn.140110450
jmp 0x14001e38d