Function at 0x180116330
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
push rbx
push rbp
push rsi
push rdi
push r13
push r14
push r15
mov eax, 0x40
call fcn.180188f30
sub rsp, rax
mov rsi, rcx
mov rcx, qword [rsp + 0xa0]
xor ebx, ebx
test rcx, rcx
mov rbp, rdx
mov r13d, ebx
cmove rcx, r9
mov qword [rsp + 0xa0], rcx
mov rcx, r9
call fcn.1800b94f0
mov edi, dword [rsp + 0xa8]
movsxd r15, eax
test eax, eax
js 0x18011647a
cmp edi, 0xffffffff
jne 0x180116440
mov edi, r15d
mov rcx, qword [rsi + 0x18]
mov qword [rsp + 0x80], r12
call fcn.1800d3660
mov rcx, rsi
lea r14d, [rax - 1]
and r14d, 7
mov dword [rsp + 0xa8], r14d
call fcn.1800f1f50
mov r12d, eax
test r14d, r14d
jne 0x1801163d3
mov byte [rbp], bl
inc rbp
dec r12d
lea eax, [r15 + 2]
cmp r12d, eax
jge 0x18011647f
mov dword [rsp + 0x20], 0xba
mov r8d, WSAGetLastError
lea r9, str.crypto_rsa_rsa_pss.c
mov ecx, 4
mov edx, 0x98
call fcn.1800b8900
mov r14, rbx
mov r12, qword [rsp + 0x80]
mov rcx, r14
call fcn.180104e00
lea r8, str.crypto_rsa_rsa_pss.c
movsxd rdx, edi
mov r9d, 0xf7
mov rcx, r13
call fcn.1800b72f0
mov eax, ebx
add rsp, 0x40
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbp
pop rbx
ret
cmp edi, 0xfffffffe
jne 0x18011644f
mov edi, 0xfffffffd
jmp 0x180116399
cmp edi, 0xfffffffd
jge 0x180116399
mov edx, 0x98
lea r9, str.crypto_rsa_rsa_pss.c
mov ecx, 4
lea r8d, [rdx - 0x10]
mov dword [rsp + 0x20], 0xae
call fcn.1800b8900
mov r14, rbx
jmp 0x18011640f
mov esi, r12d
sub esi, r15d
cmp edi, 0xfffffffd
jne 0x1801164bf
lea edi, [rsi - 2]
test edi, edi
jle 0x1801164e5
lea rdx, str.crypto_rsa_rsa_pss.c
movsxd rcx, edi
mov r8d, 0xc5
call fcn.1800b71e0
mov r13, rax
test rax, rax
jne 0x1801164d3
mov dword [rsp + 0x20], 0xc8
lea r8d, [rax + 0x41]
jmp 0x1801163ee
lea eax, [rsi - 2]
cmp edi, eax
jle 0x18011648d
mov dword [rsp + 0x20], 0xc1
jmp 0x1801163e8
mov edx, edi
mov rcx, rax
call fcn.1800ba5f0
test eax, eax
jle 0x180116404
lea eax, [rsi - 1]
cdqe
add rax, rbp
mov qword [rsp + 0x38], rax
call fcn.180104dd0
mov r14, rax
mov qword [rsp + 0x30], rax
test rax, rax
je 0x180116407
mov rdx, qword [rsp + 0x98]
xor r8d, r8d
mov rcx, rax
call fcn.180104e40
test eax, eax
je 0x180116407
mov rcx, qword [rsp + 0x30]
mov r14d, 8
lea rdx, [0x1801eb880]
mov r8d, r14d
call fcn.1801050b0
test eax, eax
je 0x18011660d
mov rdx, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x30]
mov r8, r15
call fcn.1801050b0
test eax, eax
je 0x18011660d
test edi, edi
je 0x18011657e
mov rcx, qword [rsp + 0x30]
movsxd r8, edi
mov rdx, r13
call fcn.1801050b0
test eax, eax
je 0x18011660d
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x30]
xor r8d, r8d
call fcn.1801050e0
test eax, eax
je 0x18011660d
mov rax, qword [rsp + 0xa0]
mov r8, qword [rsp + 0x38]
lea edx, [rsi - 1]
mov r9d, r15d
mov rcx, rbp
mov qword [rsp + 0x20], rax
call fcn.180117000
test eax, eax
jne 0x18011660d
sub esi, edi
sub esi, 2
movsxd rdx, esi
add rdx, rbp
inc rdx
xor byte [rdx - 1], 1
test edi, edi
jle 0x1801165e4
movsxd r8, edi
movzx eax, byte [rbx + r13]
inc rbx
inc rdx
xor byte [rdx - 1], al
cmp rbx, r8
jl 0x1801165d1
mov eax, dword [rsp + 0xa8]
test eax, eax
je 0x180116600
sub r14d, eax
mov eax, 0xff
movzx ecx, r14b
sar eax, cl
and byte [rbp], al
movsxd rax, r12d
mov ebx, 1
mov byte [rax + rbp - 1], 0xbc
mov r14, qword [rsp + 0x30]
jmp 0x180116407