Function at 0x1400f36b0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], r8
push r15
sub rsp, 0x50
mov r10, rcx
mov r11d, edx
mov ecx, r9d
call fcn.1400df580
mov r15d, eax
test eax, eax
js 0x1400f380b
mov qword [rsp + 0x60], rbx
mov edx, 0xff
mov qword [rsp + 0x68], rbp
mov qword [rsp + 0x78], rsi
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r14
mov r14d, dword [rsp + 0x90]
dec r14d
and r14d, 7
mov ecx, r14d
shl edx, cl
test byte [r10], dl
jne 0x1400f37e3
test r14d, r14d
lea ecx, [r11 - 1]
lea rbx, [r10 + 1]
cmovne ecx, r11d
cmovne rbx, r10
mov esi, ecx
sub esi, eax
sub esi, 1
jns 0x1400f3789
cmp dword [0x140a04560], 0
je 0x1400f3782
mov rax, qword [0x140a04558]
test rax, rax
je 0x1400f3762
lea rdx, str.RsaUnPad_PSS:_Hash_too_large
mov ecx, 1
call rax
mov eax, 0xffffff16
jmp 0x1400f37e8
mov ecx, 2
call fcn.14017cf98
mov rcx, rax
lea r8, str.RsaUnPad_PSS:_Hash_too_large
lea rdx, [0x140998764]
call fcn.1400af550
mov eax, 0xffffff16
jmp 0x1400f37e8
mov ebp, dword [rsp + 0x88]
cmp ebp, 0xffffffff
jne 0x1400f379a
mov ebp, r15d
jmp 0x1400f37ac
cmp ebp, r15d
jg 0x1400f3949
cmp ebp, 0xffffffff
jl 0x1400f3949
lea eax, [rbp + 1]
cmp esi, eax
jl 0x1400f3949
lea eax, [rcx - 1]
cmp byte [rax + rbx], 0xbc
je 0x1400f3834
cmp dword [0x140a04560], 0
je 0x1400f37e3
mov rax, qword [0x140a04558]
test rax, rax
je 0x1400f3812
lea rdx, str.RsaUnPad_PSS:_Padding_Term_Error
mov ecx, 1
call rax
mov eax, 0xffffff3f
mov r13, qword [rsp + 0x38]
mov r12, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x60]
mov r14, qword [rsp + 0x30]
add rsp, 0x50
pop r15
ret
mov ecx, 2
call fcn.14017cf98
mov rcx, rax
lea r8, str.RsaUnPad_PSS:_Padding_Term_Error
lea rdx, [0x140998764]
call fcn.1400af550
jmp 0x1400f37e3
mov rax, qword [0x140a04578]
movsxd r12, esi
mov rcx, r12
test rax, rax
je 0x1400f384a
call rax
jmp 0x1400f384f
call fcn.140182c38
mov rdi, rax
test rax, rax
jne 0x1400f385c
lea eax, [rdi - 0x7d]
jmp 0x1400f37e8
mov ecx, dword [rsp + 0x80]
lea rdx, [rbx + r12]
mov r9, rdi
mov dword [rsp + 0x20], esi
mov r8d, r15d
call fcn.1400f2990
mov r13d, eax
test eax, eax
je 0x1400f38a3
mov rdx, qword [0x140a04568]
mov rcx, rdi
test rdx, rdx
je 0x1400f3896
call rdx
mov eax, r13d
jmp 0x1400f37e8
call fcn.14017d748
mov eax, r13d
jmp 0x1400f37e8
mov eax, 1
xor edx, edx
mov ecx, r14d
mov r9, rdi
shl al, cl
sub r9, rbx
dec al
and byte [rdi], al
and byte [rbx], al
mov eax, esi
sub eax, ebp
dec eax
movsxd r8, eax
test eax, eax
jle 0x1400f38e9
mov rcx, rbx
nop dword [rax + rax]
movzx eax, byte [rcx]
cmp byte [r9 + rcx], al
jne 0x1400f390e
inc rcx
inc edx
mov rax, rcx
sub rax, rbx
cmp rax, r8
jl 0x1400f38d0
movsxd rcx, edx
movzx eax, byte [rbx + rcx]
xor al, 1
cmp byte [rcx + rdi], al
je 0x1400f39d9
mov rax, qword [0x140a04568]
mov rcx, rdi
test rax, rax
je 0x1400f397d
call rax
jmp 0x1400f3982
mov rax, qword [0x140a04568]
mov rcx, rdi
test rax, rax
je 0x1400f3921
call rax
jmp 0x1400f3926
call fcn.14017d748
cmp dword [0x140a04560], 0
je 0x1400f3949
mov rax, qword [0x140a04558]
test rax, rax
je 0x1400f3953
lea rdx, str.RsaUnPad_PSS:_Padding_Error_Match
mov ecx, 1
call rax
mov eax, 0xffffff06
jmp 0x1400f37e8
mov ecx, 2
call fcn.14017cf98
mov rcx, rax
lea r8, str.RsaUnPad_PSS:_Padding_Error_Match
lea rdx, [0x140998764]
call fcn.1400af550
mov eax, 0xffffff06
jmp 0x1400f37e8
call fcn.14017d748
cmp dword [0x140a04560], 0
je 0x1400f3949
mov rax, qword [0x140a04558]
test rax, rax
je 0x1400f39af
lea rdx, str.RsaUnPad_PSS:_Padding_Error_End
mov ecx, 1
call rax
mov eax, 0xffffff06
jmp 0x1400f37e8
mov ecx, 2
call fcn.14017cf98
mov rcx, rax
lea r8, str.RsaUnPad_PSS:_Padding_Error_End
lea rdx, [0x140998764]
call fcn.1400af550
mov eax, 0xffffff06
jmp 0x1400f37e8
inc edx
mov r8d, esi
sub r8d, edx
mov r10d, edx
cmp edx, esi
jge 0x1400f3b14
cmp r8d, 8
jb 0x1400f3b14
lea eax, [rsi - 1]
movsxd rdx, edx
movsxd rcx, eax
lea r11, [rbx + rdx]
add rdx, rdi
lea rax, [rcx + rdi]
lea r14, [rbx + rcx]
cmp r11, rax
ja 0x1400f3a1c
cmp r14, rdx
jae 0x1400f3b14
cmp r8d, 0x40
jb 0x1400f3acb
mov ecx, r8d
and ecx, 0x8000003f
jge 0x1400f3a38
dec ecx
or ecx, 0xffffffc0
inc ecx
mov eax, esi
sub eax, ecx
lea rcx, [r11 + 0x10]
movsxd r14, eax
mov rdx, rdi
mov r11, 0xfffffffffffffff0
sub rdx, rbx
sub r11, rbx
nop dword [rax]
nop word [rax + rax]
movdqu xmm0, xmmword [rcx - 0x10]
add r10d, 0x40
movdqu xmm1, xmmword [rdx + rcx - 0x10]
movdqu xmm2, xmmword [rdx + rcx]
lea rcx, [rcx + 0x40]
pxor xmm1, xmm0
lea rax, [r11 + rcx]
movdqu xmmword [rcx - 0x50], xmm1
movdqu xmm0, xmmword [rcx - 0x40]
movdqu xmm1, xmmword [rdx + rcx - 0x30]
pxor xmm2, xmm0
movdqu xmmword [rcx - 0x40], xmm2
movdqu xmm0, xmmword [rcx - 0x30]
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x30], xmm1
movdqu xmm0, xmmword [rcx - 0x20]
movdqu xmm1, xmmword [rdx + rcx - 0x20]
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x20], xmm1
cmp rax, r14
jl 0x1400f3a60
mov eax, r8d
and al, 0x3f
cmp al, 8
jb 0x1400f3b14
jmp 0x1400f3ad1
mov rdx, rdi
sub rdx, rbx
and r8d, 0x80000007
jge 0x1400f3ae4
dec r8d
or r8d, 0xfffffff8
inc r8d
sub esi, r8d
movsxd rcx, r10d
movsxd r8, esi
add rcx, rbx
movq xmm0, qword [rcx]
add r10d, 8
movq xmm1, qword [rdx + rcx]
pxor xmm1, xmm0
movq qword [rcx], xmm1
add rcx, 8
mov rax, rcx
sub rax, rbx
cmp rax, r8
jl 0x1400f3af0
movsxd rax, r10d
cmp rax, r12
jge 0x1400f3b41
mov rdx, r12
lea rcx, [rbx + rax]
sub rdx, rax
nop word [rax + rax]
movzx eax, byte [r9 + rcx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1400f3b30
mov rax, qword [0x140a04568]
mov rcx, rdi
test rax, rax
je 0x1400f3b54
call rax
jmp 0x1400f3b59
call fcn.14017d748
movsxd rax, ebp
sub rbx, rax
mov rax, qword [rsp + 0x70]
add rbx, r12
mov qword [rax], rbx
lea eax, [r15 + rbp]
jmp 0x1400f37e8