Function at 0x140108f10
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x68
mov eax, r8d
mov qword [rsp + 0xb0], rcx
mov ecx, r9d
add eax, 7
mov qword [rsp + 0xb8], rdx
mov dword [rsp + 0xc0], r8d
mov dword [rsp + 0x38], eax
shr eax, 3
mov dword [rsp + 0xc8], r9d
mov qword [rsp + 0x58], 0
mov dword [rsp + 0x34], eax
mov esi, eax
call fcn.1400fd660
mov r15d, eax
test r15, r15
je 0x140109277
mov r13, r15
add r13, qword [rsp + 0xd0]
mov rax, rsi
sub rax, r15
lea rbp, [rax - 1]
mov qword [rsp + 0x40], rax
lea r12, [r13 + 8]
mov rdi, rbp
cmp r12, rbp
cmovae rdi, r12
lea rbx, [r15 + rdi]
mov rcx, rbx
call fcn.1400eb9c0
test rax, rax
mov r14, rax
je 0x140109110
lea rax, [rax + rdi]
mov r8, qword [rsp + 0xb0]
mov r9, r15
xor ecx, ecx
mov rdx, rax
mov qword [rsp + 0x48], rax
call fcn.14011ee50
test eax, eax
mov edi, eax
mov r9, qword [rsp + 0x58]
je 0x1401090d0
test r9, r9
je 0x14010901e
cmp dword [rsp + 0x34], 7
mov rax, r9
ja 0x140109091
test rsi, rsi
lea rdx, [rax + rsi]
je 0x140109011
nop dword [rax]
mov byte [rax], 0
add rax, 1
cmp rax, rdx
jne 0x140109000
mov r9, qword [rsp + 0x58]
mov rcx, r9
call fcn.1400ebb20
test r14, r14
je 0x140109044
cmp rbx, 7
mov rax, r14
ja 0x140109060
test rbx, rbx
lea rdx, [rax + rbx]
je 0x14010903c
mov byte [rax], 0
add rax, 1
cmp rax, rdx
jne 0x140109030
mov rcx, r14
call fcn.1400ebb20
mov eax, edi
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [rbx - 8]
mov rax, rcx
shr rax, 3
lea rdx, [r14 + rax*8 + 8]
mov rax, r14
mov qword [rax], 0
add rax, 8
cmp rdx, rax
jne 0x140109073
and rcx, 0xfffffffffffffff8
and ebx, 7
lea rax, [r14 + rcx + 8]
jmp 0x140109027
lea rcx, [rsi - 8]
mov r8, rcx
shr r8, 3
lea rdx, [r9 + r8*8 + 8]
mov qword [rax], 0
add rax, 8
cmp rax, rdx
jne 0x1401090a1
neg r8
lea rsi, [rcx + r8*8]
and rcx, 0xfffffffffffffff8
lea rax, [r9 + rcx + 8]
jmp 0x140108ff0
mov r8, qword [rsp + 0xb8]
lea rcx, [rsp + 0x58]
xor edx, edx
mov r9, rsi
call fcn.14011ee50
test eax, eax
mov edi, eax
jne 0x140109105
add r13, 2
mov r9, qword [rsp + 0x58]
cmp rsi, r13
jae 0x140109130
mov edi, 0x42
jmp 0x140108fdd
mov r9, qword [rsp + 0x58]
jmp 0x140108fdd
call fcn.14014d590
mov r9, qword [rsp + 0x58]
mov edi, eax
test r9, r9
jne 0x140108fe2
jmp 0x140109044
cmp byte [r9 + rsi - 1], 0xbc
je 0x140109142
mov edi, 8
jmp 0x140108fdd
mov ecx, dword [rsp + 0x38]
mov r13d, 0xff
movzx edx, byte [r9]
and ecx, 0xfffffff8
sub ecx, dword [rsp + 0xc0]
sar r13d, cl
mov eax, r13d
not eax
test edx, eax
je 0x140109170
mov edi, 8
jmp 0x140108fe2
mov ecx, dword [rsp + 0xc8]
lea rax, [r9 + rbp]
mov rdx, rbp
mov r9, r15
mov r8, rax
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x20], ecx
mov rcx, r14
call fcn.140107c90
xor eax, eax
test rbp, rbp
je 0x1401091b4
mov rdx, rax
add rdx, qword [rsp + 0x58]
movzx ecx, byte [r14 + rax]
add rax, 1
xor byte [rdx], cl
cmp rbp, rax
jne 0x14010919c
mov rax, qword [rsp + 0x58]
and byte [rax], r13b
mov rax, qword [rsp + 0x40]
sub rax, qword [rsp + 0xd0]
sub rax, 2
mov rdx, rax
je 0x140109297
mov r9, qword [rsp + 0x58]
cmp byte [r9], 0
jne 0x140109166
xor eax, eax
jmp 0x1401091f0
cmp byte [r9 + rax], 0
jne 0x140109166
add rax, 1
cmp rax, rdx
jne 0x1401091e5
cmp byte [r9 + rax], 1
lea rbp, [rax + 1]
jne 0x140109138
mov rdx, qword [rsp + 0x48]
lea rcx, [r14 + 8]
mov r8, r15
mov qword [rsp + 0x40], r9
mov qword [r14], 0
call sub.msvcrt.dll_memcpy
mov r9, qword [rsp + 0x40]
mov r8, qword [rsp + 0xd0]
lea rcx, [r14 + r15 + 8]
lea rdx, [r9 + rbp]
call sub.msvcrt.dll_memcpy
mov ecx, dword [rsp + 0xc8]
mov r9, r12
mov r8, r14
mov rdx, r14
call fcn.1400fce50
mov rcx, qword [rsp + 0x38]
mov r8, r15
mov rdx, r14
call sub.msvcrt.dll_memcmp
test eax, eax
mov r9, qword [rsp + 0x58]
jne 0x140109138
jmp 0x140108fdd
lea r9, str._gcry_rsa_pss_verify
lea rdx, str.rsa_common.c
lea rcx, str.hlen
mov r8d, 0x39e
call fcn.1400ea370
xor eax, eax
mov r9, qword [rsp + 0x58]
jmp 0x1401091f9