Function at 0x140101e90
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x100
call fcn.1401ddd50
sub rsp, rax
mov rax, qword [0x140375828]
xor rax, rsp
mov qword [rsp + 0xf0], rax
mov eax, dword [rsp + 0x160]
xor esi, esi
mov rbp, qword [rsp + 0x180]
or r12d, 0xffffffff
mov dword [rsp + 0x40], eax
mov rdi, r8
mov rax, qword [rsp + 0x168]
mov r13d, esi
mov qword [rsp + 0x58], rax
mov r15d, esi
mov rax, qword [rsp + 0x178]
movsxd rbx, r9d
mov dword [rsp + 0x34], edx
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x3c], r12d
mov dword [rsp + 0x30], esi
test rax, rax
jne 0x140101f1f
call fcn.1401233c0
mov qword [rsp + 0x48], rax
test rbp, rbp
mov rcx, rax
cmove rbp, rax
mov qword [rsp + 0x50], rbp
call fcn.1401036f0
movsxd r14, eax
cmp dword [rsp + 0x34], esi
jle 0x140102523
test ebx, ebx
jle 0x140102523
mov eax, dword [rsp + 0x40]
cmp eax, ebx
jl 0x140102501
lea ecx, [r14*2 + 2]
cmp eax, ecx
jl 0x140102501
mov ebp, eax
lea rdx, [0x14032c750]
sub ebp, r14d
mov r8d, 0x9e
dec ebp
mov ecx, ebp
call fcn.1400e5c30
mov r12, rax
test rax, rax
jne 0x140101fae
mov dword [rsp + 0x20], 0xa0
lea r9, [0x14032c768]
mov edx, 0xa1
mov ecx, 4
lea r8d, [rdx - 0x60]
call fcn.1400e3440
jmp 0x1401024ad
mov ecx, dword [rsp + 0x40]
lea rdx, [0x14032c780]
mov r8d, 0xa4
call fcn.1400e5c30
mov r15, rax
test rax, rax
jne 0x140101fdd
mov dword [rsp + 0x20], 0xa7
lea r9, [0x14032c798]
jmp 0x140101f96
mov ecx, dword [rsp + 0x40]
add rdi, rbx
movsxd rax, ecx
add r15, rax
test ecx, ecx
jle 0x14010201e
mov edx, ecx
mov eax, ebx
lea ecx, [rbx - 1]
not eax
shr ecx, 0x1f
shr eax, 0x1f
dec r15
and ecx, eax
dec ecx
mov eax, ecx
and eax, 1
sub ebx, eax
mov eax, ecx
and eax, 1
sub rdi, rax
and cl, byte [rdi]
mov byte [r15], cl
sub rdx, 1
jne 0x140101ff0
movzx eax, byte [r15]
lea rdi, [r15 + 1]
add rdi, r14
mov qword [rsp + 0x60], r14
mov r9d, ebp
lea rcx, [rsp + 0x70]
mov r8, rdi
lea rbx, [r15 + 1]
lea r13d, [rax - 1]
mov edx, r14d
not eax
shr r13d, 0x1f
shr eax, 0x1f
and r13d, eax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x20], rax
neg r13d
call fcn.1401018b0
test eax, eax
jne 0x1401024ad
mov edx, esi
test r14d, r14d
jle 0x14010210b
cmp r14d, 0x20
jb 0x14010210b
lea eax, [r14 - 1]
movsxd rcx, eax
lea r9, [rsp + 0x70]
add r9, rcx
lea rax, [rcx + rbx]
lea rcx, [rsp + 0x70]
cmp rcx, rax
ja 0x1401020a1
cmp r9, rbx
jae 0x14010210b
mov ecx, r14d
and ecx, 0x8000001f
jge 0x1401020b3
dec ecx
or ecx, 0xffffffe0
inc ecx
mov eax, r14d
mov r9, rbx
sub eax, ecx
mov rcx, rsi
movsxd r10, eax
lea rax, [rsp + 0x70]
sub r9, rax
nop dword [rax]
lea rax, [rsp + 0x70]
add edx, 0x20
add rax, rcx
add rcx, 0x20
movdqu xmm0, xmmword [rax]
movdqu xmm1, xmmword [rax + r9]
pxor xmm1, xmm0
movdqu xmmword [rax], xmm1
movdqu xmm1, xmmword [rax + r9 + 0x10]
movdqu xmm0, xmmword [rax + 0x10]
pxor xmm1, xmm0
movdqu xmmword [rax + 0x10], xmm1
cmp rcx, r10
jl 0x1401020d0
movsxd rdx, edx
cmp rdx, r14
jge 0x140102136
lea rax, [rsp + 0x70]
sub rbx, rax
nop dword [rax + rax]
lea rcx, [rsp + 0x70]
add rcx, rdx
inc rdx
movzx eax, byte [rcx + rbx]
xor byte [rcx], al
cmp rdx, r14
jl 0x140102120
mov rax, qword [rsp + 0x50]
lea r8, [rsp + 0x70]
mov r9d, r14d
mov qword [rsp + 0x20], rax
mov edx, ebp
mov rcx, r12
call fcn.1401018b0
test eax, eax
jne 0x1401024ad
mov edx, esi
test ebp, ebp
jle 0x1401021e8
cmp ebp, 0x20
jb 0x1401021e8
lea eax, [rbp - 1]
movsxd rcx, eax
lea rax, [rcx + rdi]
lea r8, [rcx + r12]
cmp r12, rax
ja 0x140102185
cmp r8, rdi
jae 0x1401021e8
mov ecx, ebp
and ecx, 0x8000001f
jge 0x140102196
dec ecx
or ecx, 0xffffffe0
inc ecx
mov eax, ebp
mov r8, rdi
sub eax, ecx
sub r8, r12
mov r9, r12
movsxd r10, eax
neg r9
mov rcx, r12
nop dword [rax]
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 0x1401021b0
movsxd rax, edx
movsxd rbx, ebp
cmp rax, rbx
jge 0x140102210
sub rdi, r12
lea rdx, [rax + r12]
mov r8, rbx
sub r8, rax
movzx eax, byte [rdx + rdi]
xor byte [rdx], al
lea rdx, [rdx + 1]
sub r8, 1
jne 0x140102200
mov rax, qword [rsp + 0x48]
lea r8, [rsp + 0xb0]
movsxd rdx, dword [rsp + 0x170]
xor r9d, r9d
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rax
call fcn.1400e6bc0
test eax, eax
je 0x1401024ad
mov r8, r14
lea rdx, [rsp + 0xb0]
mov rcx, r12
call fcn.1400f32e0
mov r9d, esi
mov r10, r14
mov edi, r14d
lea ecx, [rax - 1]
not eax
shr ecx, 0x1f
shr eax, 0x1f
and ecx, eax
neg ecx
and r13d, ecx
cmp r14, rbx
jge 0x1401022eb
lea r11, [r14 + r12]
sub rbx, r14
mov r14d, esi
movzx r8d, byte [r11]
lea r11, [r11 + 1]
mov eax, r8d
xor eax, 1
lea edx, [rax - 1]
not eax
shr eax, 0x1f
shr edx, 0x1f
and edx, eax
mov eax, r9d
not eax
neg edx
and eax, edx
or r9d, edx
mov dword [rsp + 0x3c], eax
not eax
mov dword [rsp + 0x30], eax
mov ecx, dword [rsp + 0x3c]
mov eax, dword [rsp + 0x30]
and ecx, edi
and r14d, eax
inc edi
lea eax, [r8 - 1]
or r14d, ecx
shr eax, 0x1f
not r8d
shr r8d, 0x1f
and eax, r8d
neg eax
or eax, r9d
and r13d, eax
sub rbx, 1
jne 0x140102281
mov dword [rsp + 0x30], r14d
mov r14, r10
mov r11d, dword [rsp + 0x34]
mov ebx, ebp
sub ebx, dword [rsp + 0x30]
mov ecx, r11d
dec ebx
mov eax, r11d
sub ecx, ebx
mov dword [rsp + 0x3c], ebx
xor ecx, ebx
xor eax, ebx
or ecx, eax
mov r8d, ebp
xor ecx, r11d
sub r8d, r10d
shr ecx, 0x1f
mov eax, r11d
dec ecx
and ecx, r9d
and r13d, ecx
lea ecx, [r8 - 1]
xor eax, ecx
mov dword [rsp + 0x48], r13d
mov edx, ecx
sub edx, r11d
xor edx, r11d
or edx, eax
xor edx, ecx
lea ecx, [r8 - 1]
shr edx, 0x1f
neg edx
mov dword [rsp + 0x34], edx
not edx
mov dword [rsp + 0x30], edx
mov eax, dword [rsp + 0x34]
mov edx, dword [rsp + 0x30]
and eax, ecx
and edx, r11d
mov r11d, 1
or edx, eax
mov dword [rsp + 0x50], edx
cmp ecx, r11d
jle 0x14010240b
sub r8d, ebx
mov esi, ecx
inc r14
lea r13d, [r8 - 1]
nop dword [rax]
mov eax, r13d
and eax, r11d
lea ecx, [rax - 1]
not eax
shr eax, 0x1f
shr ecx, 0x1f
and ecx, eax
mov eax, ebp
sub eax, r11d
dec ecx
movsxd r9, eax
cmp r14, r9
jge 0x1401023ef
movzx ebx, cl
lea rax, [r14 + r12]
mov r10d, ebx
movsxd rdi, r11d
not r10d
sub r9, r14
nop word [rax + rax]
movzx ecx, byte [rax + rdi]
lea rax, [rax + 1]
mov dword [rsp + 0x34], ebx
mov dword [rsp + 0x30], r10d
mov r8d, dword [rsp + 0x34]
mov edx, dword [rsp + 0x30]
and r8b, cl
movzx ecx, byte [rax - 1]
and dl, cl
or dl, r8b
mov byte [rax - 1], dl
sub r9, 1
jne 0x1401023c0
add r11d, r11d
cmp r11d, esi
jl 0x140102380
mov r13d, dword [rsp + 0x48]
xor esi, esi
mov r14, qword [rsp + 0x60]
mov ebx, dword [rsp + 0x3c]
mov edx, dword [rsp + 0x50]
movsxd r9, edx
test edx, edx
jle 0x140102480
mov rdi, qword [rsp + 0x68]
mov r8d, ebx
mov r10d, ebx
shr r8d, 0x1f
neg r10d
movzx r11d, r13b
sub r14, rdi
lea rbx, [r14 + r12]
nop
mov ecx, esi
lea edx, [r10 + rsi]
shr edx, 0x1f
lea rdi, [rdi + 1]
shr ecx, 0x1f
xor dl, r8b
movzx eax, cl
inc esi
xor al, r8b
or dl, al
xor dl, cl
neg dl
movzx eax, dl
and eax, r11d
mov dword [rsp + 0x50], eax
not eax
mov dword [rsp + 0x48], eax
movzx eax, byte [rbx + rdi]
mov edx, dword [rsp + 0x50]
mov ecx, dword [rsp + 0x48]
and dl, al
movzx eax, byte [rdi - 1]
and cl, al
or cl, dl
mov byte [rdi - 1], cl
sub r9, 1
jne 0x140102430
mov edx, 0xa1
mov dword [rsp + 0x20], 0x108
lea r9, str..crypto_rsa_rsa_oaep.c
mov ecx, 4
lea r8d, [rdx - 0x28]
call fcn.1400e3440
mov ecx, r13d
and ecx, 1
call fcn.1400e3770
mov edx, 0x40
lea rcx, [rsp + 0x70]
call fcn.140121e10
movsxd rdx, ebp
mov rcx, r12
call fcn.140121e10
mov rcx, r12
call fcn.1400e5b90
movsxd rdx, dword [rsp + 0x40]
mov rcx, r15
call fcn.140121e10
mov rcx, r15
call fcn.1400e5b90
mov dword [rsp + 0x50], r13d
not r13d
mov dword [rsp + 0x48], r13d
mov ecx, dword [rsp + 0x50]
and ecx, dword [rsp + 0x3c]
mov eax, dword [rsp + 0x48]
or eax, ecx
jmp 0x140102526
mov edx, 0xa1
mov dword [rsp + 0x20], 0x99
lea r9, [0x14032c738]
mov ecx, 4
lea r8d, [rdx - 0x28]
call fcn.1400e3440
mov eax, r12d
mov rcx, qword [rsp + 0xf0]
xor rcx, rsp
call fcn.1401dd140
mov rbx, qword [rsp + 0x150]
add rsp, 0x100
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret