Function at 0x1401c1760
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.1402563f0
sub rsp, rax
mov rax, qword [0x1403bb2d8]
xor rax, rsp
mov qword [rsp + 0xf0], rax
mov eax, dword [rsp + 0x160]
mov r15, qword [rsp + 0x180]
xor ebp, ebp
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x168]
movsxd rbx, r9d
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x178]
mov rdi, r8
mov esi, edx
mov dword [rsp + 0x38], edx
mov r14, rcx
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x34], 0xffffffff
mov dword [rsp + 0x3c], ebp
mov r13d, ebp
mov r12d, ebp
test rax, rax
jne 0x1401c17f3
call fcn.1401333d0
mov qword [rsp + 0x48], rax
test r15, r15
mov rcx, rax
cmove r15, rax
call fcn.1400c6d30
mov dword [rsp + 0x30], eax
test esi, esi
jle 0x1401c1d57
test ebx, ebx
jle 0x1401c1d57
mov edx, dword [rsp + 0x40]
cmp edx, ebx
jl 0x1401c1d2b
lea ecx, [rax + rax + 2]
cmp edx, ecx
jl 0x1401c1d2b
mov ecx, edx
lea rdx, str.crypto_rsa_rsa_oaep.c
mov r8d, 0xcd
sub ecx, eax
dec ecx
movsxd rax, ecx
mov dword [rsp + 0x44], ecx
mov rcx, rax
mov qword [rsp + 0x60], rax
call fcn.1400b4570
mov qword [rsp + 0x58], rax
test rax, rax
jne 0x1401c1892
call fcn.1400baf40
lea r8, str.RSA_padding_check_PKCS1_OAEP_mgf1
lea rcx, str.crypto_rsa_rsa_oaep.c
mov edx, 0xcf
call fcn.1400bafb0
xor r8d, r8d
mov edx, 0xc0100
lea ecx, [r8 + 4]
call fcn.1400bb200
jmp 0x1401c1cc9
movsxd rsi, dword [rsp + 0x40]
lea rdx, str.crypto_rsa_rsa_oaep.c
mov r8d, 0xd3
mov rcx, rsi
call fcn.1400b4570
mov r12, rax
test rax, rax
jne 0x1401c18e8
call fcn.1400baf40
lea r8, str.RSA_padding_check_PKCS1_OAEP_mgf1
lea rcx, str.crypto_rsa_rsa_oaep.c
mov edx, 0xd5
call fcn.1400bafb0
lea ecx, [r12 + 4]
xor r8d, r8d
mov edx, 0xc0100
call fcn.1400bb200
jmp 0x1401c1cc9
mov eax, dword [rsp + 0x40]
add rdi, rbx
add r12, rsi
test eax, eax
jle 0x1401c192e
mov edx, eax
nop dword [rax + rax]
mov eax, ebx
lea ecx, [rbx - 1]
dec r12
not eax
shr ecx, 0x1f
shr eax, 0x1f
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]
dec rdx
mov byte [r12], cl
jne 0x1401c1900
movzx eax, byte [r12]
movsxd rdx, dword [rsp + 0x30]
mov r9d, dword [rsp + 0x44]
lea r13d, [rax - 1]
not eax
lea rbx, [rdx + r12 + 1]
shr r13d, 0x1f
shr eax, 0x1f
lea rcx, [rsp + 0x70]
and r13d, eax
mov r8, rbx
lea rdi, [r12 + 1]
mov rsi, rdx
mov qword [rsp + 0x20], r15
neg r13d
call fcn.1401c1230
test eax, eax
jne 0x1401c1cc9
mov rdx, rbp
test rsi, rsi
jle 0x1401c19a3
lea rax, [rsp + 0x70]
sub rdi, rax
nop word [rax + rax]
lea rcx, [rsp + rdx + 0x70]
inc rdx
movzx eax, byte [rdi + rcx]
xor byte [rcx], al
cmp rdx, rsi
jl 0x1401c1990
mov edi, dword [rsp + 0x30]
mov edx, dword [rsp + 0x44]
mov qword [rsp + 0x20], r15
mov r15, qword [rsp + 0x58]
lea r8, [rsp + 0x70]
mov r9d, edi
mov rcx, r15
call fcn.1401c1230
test eax, eax
jne 0x1401c1cc9
mov rax, qword [rsp + 0x60]
test rax, rax
jle 0x1401c19ef
mov rdx, r15
sub rbx, r15
mov r8, rax
movzx eax, byte [rbx + rdx]
inc rdx
xor byte [rdx - 1], al
dec r8
jne 0x1401c19e0
mov rax, qword [rsp + 0x48]
movsxd rdx, dword [rsp + 0x170]
mov rcx, qword [rsp + 0x50]
lea r8, [rsp + 0xb0]
xor r9d, r9d
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], rax
call fcn.1400b4470
test eax, eax
je 0x1401c1cc9
lea rdx, [rsp + 0xb0]
mov r8, rsi
mov rcx, r15
call fcn.14013a5e0
mov r10d, ebp
mov ebx, edi
lea ecx, [rax - 1]
not eax
shr ecx, 0x1f
shr eax, 0x1f
and ecx, eax
mov rax, qword [rsp + 0x60]
neg ecx
and r13d, ecx
cmp rsi, rax
jge 0x1401c1add
mov r9, rax
lea r11, [rsi + r15]
mov r14d, ebp
sub r9, rsi
nop dword [rax + rax]
movzx r8d, byte [r11]
inc r11
mov eax, r8d
xor eax, 1
lea edx, [rax - 1]
not eax
shr eax, 0x1f
shr edx, 0x1f
and edx, eax
mov eax, r10d
not eax
neg edx
and eax, edx
or r10d, edx
mov dword [rsp + 0x30], eax
not eax
mov dword [rsp + 0x34], eax
mov ecx, dword [rsp + 0x30]
mov eax, dword [rsp + 0x34]
and ecx, ebx
inc ebx
and eax, r14d
mov r14d, ecx
or r14d, eax
lea eax, [r8 - 1]
not r8d
shr eax, 0x1f
shr r8d, 0x1f
and eax, r8d
neg eax
or eax, r10d
and r13d, eax
dec r9
jne 0x1401c1a70
mov dword [rsp + 0x3c], r14d
mov r14, qword [rsp + 0x68]
mov r11d, dword [rsp + 0x38]
mov r9d, dword [rsp + 0x44]
mov ecx, r11d
mov eax, r11d
mov ebx, r9d
sub ebx, dword [rsp + 0x3c]
mov r8d, r9d
dec ebx
sub r8d, edi
sub ecx, ebx
xor eax, ebx
mov dword [rsp + 0x34], ebx
xor ecx, ebx
or ecx, eax
mov eax, r11d
xor ecx, r11d
shr ecx, 0x1f
dec ecx
and ecx, r10d
and r13d, ecx
lea ecx, [r8 - 1]
xor eax, ecx
mov edx, ecx
mov dword [rsp + 0x50], r13d
sub edx, r11d
xor edx, r11d
or edx, eax
xor edx, ecx
lea ecx, [r8 - 1]
shr edx, 0x1f
neg edx
mov dword [rsp + 0x38], edx
not edx
mov dword [rsp + 0x30], edx
mov edx, dword [rsp + 0x38]
mov eax, dword [rsp + 0x30]
and edx, ecx
and eax, r11d
mov r11d, 1
or edx, eax
mov dword [rsp + 0x48], edx
cmp ecx, r11d
jle 0x1401c1c12
mov r14, qword [rsp + 0x58]
sub r8d, ebx
lea r15d, [rdi + 1]
lea r13d, [r8 - 1]
mov ebp, ecx
nop word [rax + rax]
mov eax, r13d
movsxd rdi, r11d
and eax, r11d
lea ecx, [rax - 1]
not eax
shr eax, 0x1f
shr ecx, 0x1f
and ecx, eax
mov eax, r9d
sub eax, r11d
dec ecx
cmp r15d, eax
jge 0x1401c1bf1
movzx ebx, cl
sub eax, r15d
lea r8, [rsi + r14 + 1]
mov r10d, ebx
mov r9d, eax
not r10d
nop word [rax + rax]
movzx eax, byte [rdi + r8]
movzx ecx, byte [r8]
mov dword [rsp + 0x38], ebx
mov dword [rsp + 0x30], r10d
mov edx, dword [rsp + 0x38]
inc r8
and dl, al
mov eax, dword [rsp + 0x30]
and al, cl
or dl, al
dec r9
mov byte [r8 - 1], dl
jne 0x1401c1bc0
mov r9d, dword [rsp + 0x44]
add r11d, r11d
cmp r11d, ebp
jl 0x1401c1b80
mov r13d, dword [rsp + 0x50]
mov r14, qword [rsp + 0x68]
mov r15, qword [rsp + 0x58]
mov ebx, dword [rsp + 0x34]
mov edx, dword [rsp + 0x48]
xor ebp, ebp
movsxd r9, edx
test edx, edx
jle 0x1401c1c92
mov r8d, ebx
mov r10d, ebx
movzx r11d, r13b
shr r8d, 0x1f
neg r10d
sub rsi, r14
lea rbx, [rsi + r15 + 1]
nop word [rax + rax]
mov ecx, ebp
lea edx, [r10 + rbp]
inc r14
shr edx, 0x1f
shr ecx, 0x1f
inc ebp
xor dl, r8b
movzx eax, cl
xor al, r8b
or dl, al
xor dl, cl
movzx ecx, byte [rbx + r14 - 1]
neg dl
movzx eax, dl
and eax, r11d
mov dword [rsp + 0x50], eax
not eax
mov dword [rsp + 0x48], eax
movzx eax, byte [r14 - 1]
mov edx, dword [rsp + 0x48]
and dl, al
mov eax, dword [rsp + 0x50]
and al, cl
or dl, al
dec r9
mov byte [r14 - 1], dl
jne 0x1401c1c40
call fcn.1400baf40
lea r8, str.RSA_padding_check_PKCS1_OAEP_mgf1
lea rcx, str.crypto_rsa_rsa_oaep.c
mov edx, 0x13a
call fcn.1400bafb0
xor r8d, r8d
lea edx, [r8 + 0x79]
lea ecx, [rdx - 0x75]
call fcn.1400bb200
mov ecx, r13d
and ecx, 1
call fcn.1400a4ef0
lea rcx, [rsp + 0x70]
mov edx, 0x40
call fcn.1400f5f80
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
lea r8, str.crypto_rsa_rsa_oaep.c
mov r9d, 0x13f
call fcn.1400b4670
movsxd rdx, dword [rsp + 0x40]
lea r8, str.crypto_rsa_rsa_oaep.c
mov r9d, 0x140
mov rcx, r12
call fcn.1400b4670
mov dword [rsp + 0x48], r13d
not r13d
mov dword [rsp + 0x50], r13d
mov eax, dword [rsp + 0x48]
and eax, dword [rsp + 0x34]
mov ecx, dword [rsp + 0x50]
or eax, ecx
jmp 0x1401c1d5a
call fcn.1400baf40
lea r8, str.RSA_padding_check_PKCS1_OAEP_mgf1
lea rcx, str.crypto_rsa_rsa_oaep.c
mov edx, 0xc8
call fcn.1400bafb0
xor r8d, r8d
lea edx, [r8 + 0x79]
lea ecx, [rdx - 0x75]
call fcn.1400bb200
or eax, 0xffffffff
mov rcx, qword [rsp + 0xf0]
xor rcx, rsp
call fcn.140254fb0
mov rbx, qword [rsp + 0x150]
add rsp, 0x100
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret