Function at 0x14001e480
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.140119ed0
mov r13, rax
test rax, rax
je 0x14001e840
test rbx, rbx
mov rcx, r14
cmove rbx, r14
call fcn.140004630
mov r9d, eax
test eax, eax
js 0x14001e840
cmp dword [rsp + 0x108], 0xffffffff
je 0x14001e8c0
cmp dword [rsp + 0x108], 0xfffffffd
jl 0x14001e930
mov rcx, qword [r12 + 0x28]
mov dword [rsp + 0x38], r9d
call fcn.1400b9f20
mov rcx, r12
lea esi, [rax - 1]
call fcn.14021bd70
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 0x14001e8f0
test esi, esi
jne 0x14001e536
add rdi, 1
sub eax, 1
lea edx, [r9 + 1]
cmp edx, eax
jge 0x14001e970
mov r11d, eax
sub r11d, r9d
cmp dword [rsp + 0x108], 0xfffffffd
je 0x14001e8d0
lea edx, [r11 - 1]
cmp edx, dword [rsp + 0x108]
jle 0x14001e9b0
cdqe
cmp byte [rdi + rax - 1], 0xbc
jne 0x14001e880
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.14000e980
mov r10d, dword [rsp + 0x44]
mov r11d, dword [rsp + 0x48]
test rax, rax
mov r9d, dword [rsp + 0x4c]
mov r12, rax
je 0x14001ea83
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.14021f520
test eax, eax
js 0x14001e84d
mov r10d, dword [rsp + 0x44]
mov r9d, dword [rsp + 0x48]
mov r11d, dword [rsp + 0x4c]
test r10d, r10d
jle 0x14001e700
lea eax, [r11 - 2]
cmp eax, 0xe
jbe 0x14001ea40
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 0x14001e620
mov edx, r10d
and edx, 0xfffffff0
mov eax, edx
cmp edx, r10d
je 0x14001e700
mov r8d, r11d
sub r8d, edx
lea ecx, [r8 - 1]
sub r8d, 2
cmp r8d, 6
jbe 0x14001e684
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 0x14001e700
movsxd rdx, eax
movzx ecx, byte [rdi + rdx]
xor byte [r12 + rdx], cl
lea edx, [rax + 1]
cmp r10d, edx
jle 0x14001e700
movsxd rdx, edx
movzx ecx, byte [rdi + rdx]
xor byte [r12 + rdx], cl
lea edx, [rax + 2]
cmp r10d, edx
jle 0x14001e700
movsxd rdx, edx
movzx ecx, byte [rdi + rdx]
xor byte [r12 + rdx], cl
lea edx, [rax + 3]
cmp r10d, edx
jle 0x14001e700
movsxd rdx, edx
movzx ecx, byte [rdi + rdx]
xor byte [r12 + rdx], cl
lea edx, [rax + 4]
cmp r10d, edx
jle 0x14001e700
movsxd rdx, edx
movzx ecx, byte [rdi + rdx]
xor byte [r12 + rdx], cl
lea edx, [rax + 5]
cmp r10d, edx
jle 0x14001e700
movsxd rdx, edx
add eax, 6
movzx ecx, byte [rdi + rdx]
xor byte [r12 + rdx], cl
cmp r10d, eax
jle 0x14001e700
cdqe
movzx edx, byte [rdi + rax]
xor byte [r12 + rax], dl
movzx r8d, byte [r12]
test esi, esi
je 0x14001e71e
mov ecx, 8
mov eax, 0xff
sub ecx, esi
sar eax, cl
and r8d, eax
mov byte [r12], r8b
test r8b, r8b
jne 0x14001ea49
cmp r11d, 2
jle 0x14001e9d0
lea edx, [r11 - 3]
mov eax, 1
add rdx, 2
jmp 0x14001e74d
add rax, 1
cmp rax, rdx
je 0x14001e9d0
movzx r8d, byte [r12 + rax]
mov ebx, eax
test r8b, r8b
je 0x14001e740
add ebx, 1
cmp r8b, 1
jne 0x14001e9d0
cmp dword [rsp + 0x108], 0xfffffffe
je 0x14001e782
mov esi, r10d
sub esi, ebx
cmp esi, dword [rsp + 0x108]
jne 0x14001ea00
xor r8d, r8d
mov rdx, r14
mov rcx, r13
mov dword [rsp + 0x48], r10d
mov dword [rsp + 0x44], r9d
call fcn.14011b920
test eax, eax
je 0x14001e9c8
mov r8d, 8
lea rdx, [0x14034e750]
mov rcx, r13
call fcn.140119fb0
test eax, eax
je 0x14001e9c8
movsxd rsi, dword [rsp + 0x44]
mov rdx, qword [rsp + 0xe8]
mov rcx, r13
mov r8, rsi
call fcn.140119fb0
test eax, eax
je 0x14001e9c8
mov r10d, dword [rsp + 0x48]
cmp r10d, ebx
je 0x14001e805
sub r10d, ebx
movsxd rdx, ebx
mov rcx, r13
add rdx, r12
movsxd r8, r10d
call fcn.140119fb0
test eax, eax
je 0x14001e9c8
lea r14, [rsp + 0x50]
xor r8d, r8d
mov rcx, r13
mov rdx, r14
call fcn.14011a230
test eax, eax
je 0x14001e9c8
mov rdx, qword [rsp + 0x38]
mov r8, rsi
mov rcx, r14
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x14001ea53
mov r15d, 1
jmp 0x14001e84d
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.14000ea40
mov rcx, r13
call fcn.140119ef0
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.1401106f0
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.140110820
xor r8d, r8d
mov edx, 0x86
mov ecx, 4
call fcn.140110910
jmp 0x14001e84d
mov dword [rsp + 0x108], eax
jmp 0x14001e4f3
cdqe
lea ecx, [r11 - 2]
cmp byte [rdi + rax - 1], 0xbc
mov dword [rsp + 0x108], ecx
je 0x14001e574
jmp 0x14001e880
lea rbp, str.crypto_rsa_rsa_pss.c
xor r12d, r12d
xor r15d, r15d
call fcn.1401106f0
lea r8, str.RSA_verify_PKCS1_PSS_mgf1
mov edx, 0x4c
mov rcx, rbp
call fcn.140110820
xor r8d, r8d
mov edx, 0x85
mov ecx, 4
call fcn.140110910
jmp 0x14001e84d
lea rbp, str.crypto_rsa_rsa_pss.c
xor r12d, r12d
xor r15d, r15d
call fcn.1401106f0
lea r8, str.RSA_verify_PKCS1_PSS_mgf1
mov edx, 0x45
mov rcx, rbp
call fcn.140110820
xor r8d, r8d
mov edx, 0x88
mov ecx, 4
call fcn.140110910
jmp 0x14001e84d
call fcn.1401106f0
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.140110820
xor r8d, r8d
mov edx, 0x6d
mov ecx, 4
call fcn.140110910
jmp 0x14001e84d
call fcn.1401106f0
lea r8, str.RSA_verify_PKCS1_PSS_mgf1
mov edx, 0x5a
jmp 0x14001e981
xor r15d, r15d
jmp 0x14001e84d
call fcn.1401106f0
mov rcx, rbp
mov edx, 0x70
lea r8, str.RSA_verify_PKCS1_PSS_mgf1
call fcn.140110820
xor r8d, r8d
mov edx, 0x87
mov ecx, 4
call fcn.140110910
jmp 0x14001e84d
call fcn.1401106f0
mov rcx, rbp
mov edx, 0x74
lea r8, str.RSA_verify_PKCS1_PSS_mgf1
call fcn.140110820
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.140110910
jmp 0x14001e84d
xor eax, eax
xor edx, edx
jmp 0x14001e64e
mov ebx, 1
jmp 0x14001e75c
call fcn.1401106f0
mov rcx, rbp
mov edx, 0x84
lea r8, str.RSA_verify_PKCS1_PSS_mgf1
call fcn.140110820
xor r8d, r8d
mov edx, 0x68
mov ecx, 4
call fcn.140110910
jmp 0x14001e84d
call fcn.1401106f0
mov rcx, rbp
mov edx, 0x65
lea r8, str.RSA_verify_PKCS1_PSS_mgf1
call fcn.140110820
xor r8d, r8d
mov edx, 0xc0100
mov ecx, 4
call fcn.140110910
jmp 0x14001e84d