Function at 0x180117590
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.180188f30
sub rsp, rax
mov rax, qword [0x180237160]
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 0x1801174e3
call fcn.1800e8ab0
mov qword [rsp + 0x48], rax
test r15, r15
mov rcx, rax
cmove r15, rax
call fcn.1800b94f0
mov dword [rsp + 0x30], eax
test esi, esi
jle 0x1801179f3
test ebx, ebx
jle 0x1801179f3
mov edx, dword [rsp + 0x40]
cmp edx, ebx
jl 0x1801179d1
lea ecx, [rax + rax + 2]
cmp edx, ecx
jl 0x1801179d1
mov ecx, edx
lea rdx, str.crypto_rsa_rsa_oaep.c
mov r8d, 0x9d
sub ecx, eax
dec ecx
movsxd rax, ecx
mov dword [rsp + 0x44], ecx
mov rcx, rax
mov qword [rsp + 0x60], rax
call fcn.1800b71e0
mov qword [rsp + 0x58], rax
test rax, rax
jne 0x180117576
mov dword [rsp + 0x20], 0x9f
mov edx, 0x99
lea r9, str.crypto_rsa_rsa_oaep.c
mov ecx, 4
lea r8d, [rdx - 0x58]
call fcn.1800b8900
jmp 0x18011796f
movsxd rsi, dword [rsp + 0x40]
lea rdx, str.crypto_rsa_rsa_oaep.c
mov r8d, 0xa3
mov rcx, rsi
call fcn.1800b71e0
mov r12, rax
test rax, rax
jne 0x1801175a2
mov dword [rsp + 0x20], 0xa6
jmp 0x180117557
mov eax, dword [rsp + 0x40]
add rdi, rbx
add r12, rsi
test eax, eax
jle 0x1801175e0
mov edx, eax
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 0x1801175b2
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.180117000
test eax, eax
jne 0x18011796f
mov rdx, rbp
test rsi, rsi
jle 0x180117653
lea rax, [rsp + 0x70]
sub rdi, rax
nop dword [rax]
lea rcx, [rsp + rdx + 0x70]
inc rdx
movzx eax, byte [rdi + rcx]
xor byte [rcx], al
cmp rdx, rsi
jl 0x180117640
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.180117000
test eax, eax
jne 0x18011796f
mov rax, qword [rsp + 0x60]
test rax, rax
jle 0x18011769f
mov rdx, r15
sub rbx, r15
mov r8, rax
movzx eax, byte [rbx + rdx]
inc rdx
xor byte [rdx - 1], al
dec r8
jne 0x180117690
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.180105440
test eax, eax
je 0x18011796f
lea rdx, [rsp + 0xb0]
mov r8, rsi
mov rcx, r15
call fcn.1800b7a20
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 0x18011778d
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 0x180117720
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 0x1801178c2
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 0x1801178a1
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 0x180117870
mov r9d, dword [rsp + 0x44]
add r11d, r11d
cmp r11d, ebp
jl 0x180117830
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 0x180117942
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 0x1801178f0
mov edx, 0x99
lea r9, str.crypto_rsa_rsa_oaep.c
mov ecx, 4
lea r8d, [rdx - 0x20]
mov dword [rsp + 0x20], 0x107
call fcn.1800b8900
mov ecx, r13d
and ecx, 1
call fcn.1800b88a0
lea rcx, [rsp + 0x70]
mov edx, 0x40
call fcn.1800b6ec0
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
lea r8, str.crypto_rsa_rsa_oaep.c
mov r9d, 0x10b
call fcn.1800b72f0
movsxd rdx, dword [rsp + 0x40]
lea r8, str.crypto_rsa_rsa_oaep.c
mov r9d, 0x10c
mov rcx, r12
call fcn.1800b72f0
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 0x1801179f6
mov edx, 0x99
lea r9, str.crypto_rsa_rsa_oaep.c
mov ecx, 4
lea r8d, [rdx - 0x20]
mov dword [rsp + 0x20], 0x98
call fcn.1800b8900
or eax, 0xffffffff
mov rcx, qword [rsp + 0xf0]
xor rcx, rsp
call fcn.180183a50
mov rbx, qword [rsp + 0x150]
add rsp, 0x100
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret