Function at 0x140106c20
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0xf0
call fcn.1400b2870
sub rsp, rax
mov rax, qword [0x14021e0c0]
xor rax, rsp
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0x158]
xor esi, esi
movsxd rbp, dword [rsp + 0x150]
or r15d, 0xffffffff
mov rbx, qword [rsp + 0x170]
mov r13, r8
mov qword [rsp + 0x50], rax
mov edi, esi
mov rax, qword [rsp + 0x168]
mov r14d, esi
movsxd r12, r9d
mov dword [rsp + 0x38], edx
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x48], rax
test rax, rax
jne 0x140106ca2
call fcn.1400dec90
mov qword [rsp + 0x48], rax
test rbx, rbx
mov rcx, rax
cmove rbx, rax
mov qword [rsp + 0x40], rbx
call fcn.1400e58e0
movsxd rbx, eax
cmp dword [rsp + 0x38], esi
jle 0x1401070e1
test r12d, r12d
jle 0x1401070e1
cmp ebp, r12d
jl 0x14010704e
lea ecx, [rbx*2 + 2]
cmp ebp, ecx
jl 0x14010704e
mov r14d, ebp
lea rdx, str.crypto_rsa_rsa_oaep.c
sub r14d, ebx
mov r8d, 0x9d
dec r14d
movsxd rcx, r14d
call fcn.1400b3cb0
mov r8d, 0x9e
lea rdx, str.crypto_rsa_rsa_oaep.c
mov rcx, rbp
mov rdi, rax
call fcn.1400b3cb0
mov qword [rsp + 0x30], rax
test rdi, rdi
je 0x1401070bd
test rax, rax
je 0x1401070bd
mov r8, rbp
xor edx, edx
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
mov r8, r12
sub rbp, r12
mov r12, qword [rsp + 0x30]
mov rdx, r13
lea rcx, [r12 + rbp]
call sub.VCRUNTIME140.dll_memcpy
movzx eax, byte [r12]
lea rbp, [r12 + 1]
inc r12
mov r9d, r14d
add r12, rbx
mov edx, ebx
mov r8, r12
lea ecx, [rax - 1]
not eax
shr ecx, 0x1f
shr eax, 0x1f
and ecx, eax
mov rax, qword [rsp + 0x40]
neg ecx
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x3c], ecx
lea rcx, [rsp + 0x60]
call fcn.140106610
test eax, eax
jne 0x140107089
mov edx, esi
test ebx, ebx
jle 0x140106e3b
cmp ebx, 0x20
jb 0x140106e3b
lea eax, [rbx - 1]
movsxd rcx, eax
lea r8, [rsp + 0x60]
add r8, rcx
lea rax, [rcx + rbp]
lea rcx, [rsp + 0x60]
cmp rcx, rax
ja 0x140106dd0
cmp r8, rbp
jae 0x140106e3b
mov ecx, ebx
and ecx, 0x8000001f
jge 0x140106de1
dec ecx
or ecx, 0xffffffe0
inc ecx
mov eax, ebx
mov r8, rbp
sub eax, ecx
mov rcx, rsi
movsxd r9, eax
lea rax, [rsp + 0x60]
sub r8, rax
nop word [rax + rax]
lea rax, [rsp + 0x60]
add edx, 0x20
add rax, rcx
add rcx, 0x20
movdqu xmm0, xmmword [rax]
movdqu xmm1, xmmword [rax + r8]
pxor xmm1, xmm0
movdqu xmmword [rax], xmm1
movdqu xmm1, xmmword [rax + r8 + 0x10]
movdqu xmm0, xmmword [rax + 0x10]
pxor xmm1, xmm0
movdqu xmmword [rax + 0x10], xmm1
cmp rcx, r9
jl 0x140106e00
movsxd rdx, edx
cmp rdx, rbx
jge 0x140106e66
lea rax, [rsp + 0x60]
sub rbp, rax
nop dword [rax + rax]
lea rcx, [rsp + 0x60]
add rcx, rdx
inc rdx
movzx eax, byte [rcx + rbp]
xor byte [rcx], al
cmp rdx, rbx
jl 0x140106e50
mov rax, qword [rsp + 0x40]
lea r8, [rsp + 0x60]
mov r9d, ebx
mov qword [rsp + 0x20], rax
mov edx, r14d
mov rcx, rdi
call fcn.140106610
test eax, eax
jne 0x140107089
mov edx, esi
test r14d, r14d
jle 0x140106f1a
cmp r14d, 0x20
jb 0x140106f1a
lea eax, [r14 - 1]
movsxd rcx, eax
lea rax, [rcx + r12]
lea r8, [rcx + rdi]
cmp rdi, rax
ja 0x140106eb9
cmp r8, r12
jae 0x140106f1a
mov ecx, r14d
and ecx, 0x8000001f
jge 0x140106ecb
dec ecx
or ecx, 0xffffffe0
inc ecx
mov eax, r14d
mov r8, r12
sub eax, ecx
sub r8, rdi
mov r9, rdi
movsxd r10, eax
neg r9
mov rcx, rdi
movdqu xmm0, xmmword [rcx]
add edx, 0x20
movdqu xmm1, xmmword [r8 + rcx]
lea rcx, [rcx + 0x20]
lea rax, [r9 + rcx]
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x20], xmm1
movdqu xmm1, xmmword [r8 + rcx - 0x10]
movdqu xmm0, xmmword [rcx - 0x10]
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x10], xmm1
cmp rax, r10
jl 0x140106ee2
movsxd rax, edx
movsxd rbp, r14d
cmp rax, rbp
jge 0x140106f51
sub r12, rdi
lea rcx, [rax + rdi]
mov rdx, rbp
sub rdx, rax
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rcx + r12]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x140106f40
mov rax, qword [rsp + 0x48]
lea r8, [rsp + 0xa0]
movsxd rdx, dword [rsp + 0x160]
xor r9d, r9d
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rax
call fcn.1400de140
test eax, eax
je 0x140107089
mov r8, rbx
lea rdx, [rsp + 0xa0]
mov rcx, rdi
call fcn.140001250
mov r11d, dword [rsp + 0x3c]
mov r9d, esi
lea ecx, [rax - 1]
not eax
shr ecx, 0x1f
shr eax, 0x1f
and ecx, eax
neg ecx
and r11d, ecx
cmp rbx, rbp
jge 0x140107012
lea r10, [rdi + rbx]
sub rbp, rbx
nop
movzx r8d, byte [r10]
lea r10, [r10 + 1]
mov eax, r8d
mov ecx, r9d
xor eax, 1
not ecx
lea edx, [rax - 1]
not eax
shr eax, 0x1f
shr edx, 0x1f
and edx, eax
neg edx
and ecx, edx
or r9d, edx
mov eax, ecx
and ecx, ebx
not eax
inc ebx
and esi, eax
lea eax, [r8 - 1]
shr eax, 0x1f
not r8d
shr r8d, 0x1f
or esi, ecx
and eax, r8d
neg eax
or eax, r9d
and r11d, eax
sub rbp, 1
jne 0x140106fc0
test r11d, r9d
je 0x140107049
lea eax, [rsi + 1]
mov r15d, r14d
sub r15d, eax
cmp dword [rsp + 0x38], r15d
jge 0x140107076
mov edx, 0x99
mov dword [rsp + 0x20], 0xe3
lea r9, str.crypto_rsa_rsa_oaep.c
mov ecx, 4
lea r8d, [rdx - 0x2c]
call fcn.1400c3630
mov r14, qword [rsp + 0x30]
mov edx, 0x99
mov dword [rsp + 0x20], 0xf0
lea r9, str.crypto_rsa_rsa_oaep.c
mov ecx, 4
lea r8d, [rdx - 0x20]
call fcn.1400c3630
or r15d, 0xffffffff
jmp 0x14010708e
mov rcx, qword [rsp + 0x58]
movsxd rdx, eax
add rdx, rdi
movsxd r8, r15d
call sub.VCRUNTIME140.dll_memcpy
mov r14, qword [rsp + 0x30]
mov r8d, 0xf2
lea rdx, str.crypto_rsa_rsa_oaep.c
mov rcx, rdi
call fcn.1400b3d00
mov r8d, 0xf3
lea rdx, str.crypto_rsa_rsa_oaep.c
mov rcx, r14
call fcn.1400b3d00
mov eax, r15d
jmp 0x1401070e4
mov edx, 0x99
mov dword [rsp + 0x20], 0xa0
lea r9, str.crypto_rsa_rsa_oaep.c
mov ecx, 4
lea r8d, [rdx - 0x58]
call fcn.1400c3630
jmp 0x140107089
or eax, 0xffffffff
mov rcx, qword [rsp + 0xe0]
xor rcx, rsp
call fcn.1400b2240
mov rbx, qword [rsp + 0x138]
add rsp, 0xf0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret