Function at 0x1400f24a0
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 r14, qword [rsp + 0x100]
mov qword [rsp + 0xe8], rdx
mov rbp, rcx
mov rdi, r8
mov rbx, r9
call fcn.1400a47d0
mov rsi, rax
test rax, rax
je 0x1400f27fc
test rbx, rbx
mov rcx, rdi
cmove rbx, rdi
call fcn.1400b8150
movsxd r15, eax
test r15d, r15d
js 0x1400f27fc
cmp dword [rsp + 0x108], 0xffffffff
je 0x1400f2810
cmp dword [rsp + 0x108], 0xfffffffd
jl 0x1400f2870
mov rcx, qword [rbp + 0x18]
call fcn.140071750
mov rcx, rbp
lea r12d, [rax - 1]
call fcn.1400ed550
and r12d, 7
mov edx, 0xff
movzx r13d, byte [r14]
mov ecx, r12d
shl edx, cl
and r13d, edx
jne 0x1400f2840
test r12d, r12d
jne 0x1400f2550
add r14, 1
sub eax, 1
lea edx, [r15 + 1]
cmp edx, eax
jge 0x1400f28a8
mov r11d, eax
sub r11d, r15d
cmp dword [rsp + 0x108], 0xfffffffd
je 0x1400f2820
lea edx, [r11 - 1]
cmp edx, dword [rsp + 0x108]
jle 0x1400f28e0
cdqe
cmp byte [r14 + rax - 1], 0xbc
jne 0x1400f27d8
lea eax, [r11 - 1]
mov r8d, 0x5d
mov dword [rsp + 0x44], r11d
lea r10, str.crypto_rsa_rsa_pss.c
movsxd rcx, eax
mov dword [rsp + 0x30], eax
mov rdx, r10
lea rax, [r14 + rcx]
mov qword [rsp + 0x38], r10
mov qword [rsp + 0x48], rax
call fcn.1400c4810
mov r10, qword [rsp + 0x38]
mov r11d, dword [rsp + 0x44]
test rax, rax
mov rbp, rax
je 0x1400f2a60
mov qword [rsp + 0x20], rbx
mov ebx, dword [rsp + 0x30]
mov r9d, r15d
mov rcx, rax
mov r8, qword [rsp + 0x48]
mov qword [rsp + 0x38], r10
mov edx, ebx
mov dword [rsp + 0x44], r11d
call fcn.1401e6170
mov r10, qword [rsp + 0x38]
test eax, eax
js 0x1400f27a2
test ebx, ebx
movzx eax, byte [rbp]
mov r11d, dword [rsp + 0x44]
je 0x1400f2a15
lea eax, [r11 - 2]
cmp eax, 6
jbe 0x1400f2638
lea rcx, [r14 + 1]
mov rdx, rbp
sub rdx, rcx
cmp rdx, 0xe
ja 0x1400f28f0
mov ecx, dword [rsp + 0x30]
xor eax, eax
nop
movzx edx, byte [r14 + rax]
xor byte [rbp + rax], dl
add rax, 1
cmp rax, rcx
jne 0x1400f2640
movzx eax, byte [rbp]
test r12d, r12d
je 0x1400f2670
mov ecx, 8
mov eax, 0xff
sub ecx, r12d
sar eax, cl
and al, byte [rbp]
mov byte [rbp], al
test al, al
jne 0x1400f2a0b
cmp r11d, 2
jle 0x1400f2a28
mov edx, dword [rsp + 0x30]
mov ebx, 1
jmp 0x1400f269d
add rbx, 1
cmp rbx, rdx
je 0x1400f2a28
movzx eax, byte [rbp + rbx]
test al, al
je 0x1400f2690
add ebx, 1
cmp al, 1
jne 0x1400f2a28
cmp dword [rsp + 0x108], 0xfffffffe
je 0x1400f26ce
mov eax, dword [rsp + 0x30]
sub eax, ebx
cmp eax, dword [rsp + 0x108]
jne 0x1400f2a90
xor r8d, r8d
mov rdx, rdi
mov rcx, rsi
mov qword [rsp + 0x38], r10
call fcn.1400a48c0
mov r10, qword [rsp + 0x38]
test eax, eax
je 0x1400f27a2
mov r8d, 8
lea rdx, [0x1402ae7d8]
mov rcx, rsi
call fcn.1400a4c10
mov r10, qword [rsp + 0x38]
test eax, eax
je 0x1400f27a2
mov rdx, qword [rsp + 0xe8]
mov r8, r15
mov rcx, rsi
call fcn.1400a4c10
mov r10, qword [rsp + 0x38]
test eax, eax
je 0x1400f27a2
cmp dword [rsp + 0x30], ebx
je 0x1400f2759
mov r8d, dword [rsp + 0x30]
movsxd rdx, ebx
mov rcx, rsi
mov qword [rsp + 0x38], r10
add rdx, rbp
sub r8d, ebx
movsxd r8, r8d
call fcn.1400a4c10
mov r10, qword [rsp + 0x38]
test eax, eax
je 0x1400f27a2
lea rbx, [rsp + 0x50]
xor r8d, r8d
mov rcx, rsi
mov qword [rsp + 0x30], r10
mov rdx, rbx
call fcn.1400a4cb0
mov r10, qword [rsp + 0x30]
test eax, eax
je 0x1400f27a2
mov rdx, qword [rsp + 0x48]
mov r8, r15
mov rcx, rbx
mov qword [rsp + 0x30], r10
call sub.msvcrt.dll_memcmp
mov r10, qword [rsp + 0x30]
test eax, eax
jne 0x1400f2ad1
mov r13d, 1
mov r8d, 0x83
mov rdx, r10
mov rcx, rbp
call fcn.1400c47e0
mov rcx, rsi
call fcn.1400a47f0
mov eax, r13d
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r8d, 0x86
mov edx, 0x7e
mov ecx, 4
mov dword [rsp + 0x20], 0x58
lea r9, str.crypto_rsa_rsa_pss.c
call fcn.1400a0f90
lea r10, str.crypto_rsa_rsa_pss.c
xor ebp, ebp
xor r13d, r13d
jmp 0x1400f27a2
mov dword [rsp + 0x108], r15d
jmp 0x1400f2514
cdqe
lea ecx, [r11 - 2]
cmp byte [r14 + rax - 1], 0xbc
mov dword [rsp + 0x108], ecx
je 0x1400f258f
jmp 0x1400f27d8
mov r8d, 0x85
mov edx, 0x7e
mov ecx, 4
mov dword [rsp + 0x20], 0x46
lea r9, str.crypto_rsa_rsa_pss.c
call fcn.1400a0f90
lea r10, str.crypto_rsa_rsa_pss.c
jmp 0x1400f2803
mov r8d, 0x88
mov edx, 0x7e
xor ebp, ebp
xor r13d, r13d
mov dword [rsp + 0x20], 0x3f
lea r9, str.crypto_rsa_rsa_pss.c
mov ecx, 4
call fcn.1400a0f90
lea r10, str.crypto_rsa_rsa_pss.c
jmp 0x1400f27a2
mov dword [rsp + 0x20], 0x4e
mov r8d, 0x6d
mov edx, 0x7e
mov ecx, 4
lea r9, str.crypto_rsa_rsa_pss.c
call fcn.1400a0f90
lea r10, str.crypto_rsa_rsa_pss.c
jmp 0x1400f2803
mov dword [rsp + 0x20], 0x54
jmp 0x1400f28b0
cmp eax, 0xe
jbe 0x1400f2ac3
shr ebx, 4
xor eax, eax
mov edx, ebx
shl rdx, 4
nop dword [rax]
movdqu xmm0, xmmword [rbp + rax]
movdqu xmm2, xmmword [r14 + rax]
pxor xmm0, xmm2
movups xmmword [rbp + rax], xmm0
add rax, 0x10
cmp rdx, rax
jne 0x1400f2908
mov ebx, dword [rsp + 0x30]
mov r8d, ebx
and r8d, 0xfffffff0
and ebx, 0xf
mov eax, r8d
je 0x1400f29f6
mov edx, r11d
sub edx, r8d
lea ecx, [rdx - 1]
sub edx, 2
cmp edx, 6
jbe 0x1400f2975
lea rdx, [rbp + r8]
movq xmm0, qword [r14 + r8]
movq xmm1, qword [rdx]
pxor xmm0, xmm1
movq qword [rdx], xmm0
mov edx, ecx
and edx, 0xfffffff8
add eax, edx
and ecx, 7
je 0x1400f29f6
movsxd rdx, eax
mov ebx, dword [rsp + 0x30]
movzx ecx, byte [r14 + rdx]
xor byte [rbp + rdx], cl
lea edx, [rax + 1]
cmp ebx, edx
jle 0x1400f29f6
movsxd rdx, edx
movzx ecx, byte [r14 + rdx]
xor byte [rbp + rdx], cl
lea edx, [rax + 2]
cmp ebx, edx
jle 0x1400f29f6
movsxd rdx, edx
movzx ecx, byte [r14 + rdx]
xor byte [rbp + rdx], cl
lea edx, [rax + 3]
cmp ebx, edx
jle 0x1400f29f6
movsxd rdx, edx
movzx ecx, byte [r14 + rdx]
xor byte [rbp + rdx], cl
lea edx, [rax + 4]
cmp ebx, edx
jle 0x1400f29f6
movsxd rdx, edx
movzx ecx, byte [r14 + rdx]
xor byte [rbp + rdx], cl
lea edx, [rax + 5]
cmp ebx, edx
jle 0x1400f29f6
movsxd rdx, edx
add eax, 6
movzx ecx, byte [r14 + rdx]
xor byte [rbp + rdx], cl
cmp ebx, eax
jle 0x1400f29f6
cdqe
movzx edx, byte [r14 + rax]
xor byte [rbp + rax], dl
movzx eax, byte [rbp]
test r12d, r12d
jne 0x1400f265b
test al, al
je 0x1400f2682
mov ebx, 1
jmp 0x1400f26a9
test r12d, r12d
jne 0x1400f265b
test al, al
jne 0x1400f2a0b
nop word [rax + rax]
mov r8d, 0x87
mov edx, 0x7e
mov ecx, 4
mov dword [rsp + 0x20], 0x6a
lea r9, str.crypto_rsa_rsa_pss.c
mov qword [rsp + 0x30], r10
call fcn.1400a0f90
mov r10, qword [rsp + 0x30]
jmp 0x1400f27a2
mov dword [rsp + 0x20], 0x5f
mov r9, r10
mov r8d, 0x41
mov edx, 0x7e
mov ecx, 4
mov qword [rsp + 0x30], r10
call fcn.1400a0f90
mov r10, qword [rsp + 0x30]
jmp 0x1400f2803
mov r8d, 0x88
mov edx, 0x7e
mov ecx, 4
mov dword [rsp + 0x20], 0x6e
lea r9, str.crypto_rsa_rsa_pss.c
mov qword [rsp + 0x30], r10
call fcn.1400a0f90
mov r10, qword [rsp + 0x30]
jmp 0x1400f27a2
mov ecx, dword [rsp + 0x30]
xor eax, eax
xor r8d, r8d
jmp 0x1400f294e
mov r8d, 0x68
mov edx, 0x7e
mov ecx, 4
mov dword [rsp + 0x20], 0x7c
lea r9, str.crypto_rsa_rsa_pss.c
call fcn.1400a0f90
mov r10, qword [rsp + 0x30]
jmp 0x1400f27a2