Function at 0x180115f70
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0xa8
call fcn.180188f30
sub rsp, rax
mov rax, qword [0x180237160]
xor rax, rsp
mov qword [rsp + 0x90], rax
mov rdi, qword [rsp + 0x110]
mov r13, r9
mov rsi, r8
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x48], rdx
mov rbx, rcx
xor ebp, ebp
call fcn.180104dd0
mov qword [rsp + 0x30], rax
test rax, rax
je 0x1801162d7
test r13, r13
mov rcx, rsi
cmove r13, rsi
call fcn.1800b94f0
movsxd r14, eax
test eax, eax
js 0x18011606e
mov esi, dword [rsp + 0x118]
cmp esi, 0xffffffff
jne 0x180116049
mov esi, r14d
mov rcx, qword [rbx + 0x18]
call fcn.1800d3660
mov rcx, rbx
lea r15d, [rax - 1]
and r15d, 7
call fcn.1800f1f50
mov ecx, r15d
mov edx, 0xff
mov r11d, eax
shl edx, cl
test byte [rdi], dl
je 0x180116078
mov edx, 0x7e
lea r9, str.crypto_rsa_rsa_pss.c
mov dword [rsp + 0x20], 0x46
lea ecx, [rdx - 0x7a]
lea r8d, [rdx + 7]
call fcn.1800b8900
mov rsi, qword [rsp + 0x30]
jmp 0x1801162da
cmp esi, 0xfffffffd
jge 0x180115ff5
mov edx, 0x7e
lea r9, str.crypto_rsa_rsa_pss.c
mov dword [rsp + 0x20], 0x3f
lea ecx, [rdx - 0x7a]
lea r8d, [rdx + 0xa]
call fcn.1800b8900
mov rsi, qword [rsp + 0x30]
jmp 0x1801162da
test r15d, r15d
jne 0x180116083
inc rdi
dec r11d
lea eax, [r14 + 2]
cmp r11d, eax
jge 0x1801160b8
mov dword [rsp + 0x20], 0x4e
mov r8d, WSAGetLastError
mov edx, 0x7e
lea r9, str.crypto_rsa_rsa_pss.c
lea ecx, [rdx - 0x7a]
call fcn.1800b8900
mov rsi, qword [rsp + 0x30]
jmp 0x1801162da
mov ecx, r11d
sub ecx, r14d
cmp esi, 0xfffffffd
jne 0x1801160e0
lea esi, [rcx - 2]
movsxd rax, r11d
cmp byte [rax + rdi - 1], 0xbc
je 0x1801160f1
mov dword [rsp + 0x20], 0x58
mov r8d, 0x86
jmp 0x18011609a
lea eax, [rcx - 2]
cmp esi, eax
jle 0x1801160c6
mov dword [rsp + 0x20], 0x54
jmp 0x180116094
lea r12d, [rcx - 1]
lea rdx, str.crypto_rsa_rsa_pss.c
mov r8d, 0x5d
movsxd rbx, r12d
mov rcx, rbx
lea rax, [rbx + rdi]
mov qword [rsp + 0x38], rax
call fcn.1800b71e0
mov rbp, rax
test rax, rax
jne 0x18011612f
mov dword [rsp + 0x20], 0x5f
lea r8d, [rax + 0x41]
jmp 0x18011609a
mov r8, qword [rsp + 0x38]
mov r9d, r14d
mov edx, r12d
mov rcx, rax
mov qword [rsp + 0x20], r13
call fcn.180117000
test eax, eax
js 0x18011606e
test r12d, r12d
jle 0x18011616f
mov rcx, rbp
sub rdi, rbp
nop word [rax + rax]
movzx eax, byte [rdi + rcx]
inc rcx
xor byte [rcx - 1], al
dec rbx
jne 0x180116160
test r15d, r15d
je 0x180116186
mov ecx, 8
mov eax, 0xff
sub ecx, r15d
sar eax, cl
and byte [rbp], al
xor r13d, r13d
mov ebx, r13d
cmp byte [rbp], bl
jne 0x1801161ae
lea ecx, [r12 - 1]
mov rax, rbp
nop dword [rax]
cmp ebx, ecx
jge 0x1801161ae
inc rax
inc ebx
cmp byte [rax], r13b
je 0x1801161a0
movsxd rax, ebx
inc ebx
cmp byte [rax + rbp], 1
je 0x1801161e3
mov edx, 0x7e
lea r9, str.crypto_rsa_rsa_pss.c
mov dword [rsp + 0x20], WSAGetLastError
lea ecx, [rdx - 0x7a]
lea r8d, [rdx + 9]
call fcn.1800b8900
mov rsi, qword [rsp + 0x30]
jmp 0x1801162dd
cmp esi, 0xfffffffe
je 0x18011621b
mov eax, r12d
sub eax, ebx
cmp eax, esi
je 0x18011621b
mov edx, 0x7e
lea r9, str.crypto_rsa_rsa_pss.c
mov dword [rsp + 0x20], WSAGetLastError
lea ecx, [rdx - 0x7a]
lea r8d, [rdx + 0xa]
call fcn.1800b8900
mov rsi, qword [rsp + 0x30]
jmp 0x1801162dd
mov rsi, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x40]
xor r8d, r8d
mov rcx, rsi
call fcn.180104e40
test eax, eax
je 0x1801162dd
lea rdx, [0x1801eb880]
mov r8d, 8
mov rcx, rsi
call fcn.1801050b0
test eax, eax
je 0x1801162dd
mov rdx, qword [rsp + 0x48]
mov r8, r14
mov rcx, rsi
call fcn.1801050b0
test eax, eax
je 0x1801162dd
sub r12d, ebx
je 0x180116283
movsxd rdx, ebx
movsxd r8, r12d
mov rcx, rsi
add rdx, rbp
call fcn.1801050b0
test eax, eax
je 0x1801162dd
lea rdx, [rsp + 0x50]
xor r8d, r8d
mov rcx, rsi
call fcn.1801050e0
test eax, eax
je 0x1801162dd
mov rdx, qword [rsp + 0x38]
lea rcx, [rsp + 0x50]
mov r8, r14
call fcn.180189e30
test eax, eax
je 0x1801162cf
mov edx, 0x7e
lea r9, str.crypto_rsa_rsa_pss.c
mov dword [rsp + 0x20], 0x7c
lea ecx, [rdx - 0x7a]
lea r8d, [rdx - 0x16]
call fcn.1800b8900
jmp 0x1801162dd
mov r13d, 1
jmp 0x1801162dd
mov rsi, rax
xor r13d, r13d
lea rdx, str.crypto_rsa_rsa_pss.c
mov r8d, 0x83
mov rcx, rbp
call fcn.1800b72b0
mov rcx, rsi
call fcn.180104e00
mov eax, r13d
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.180183a50
add rsp, 0xa8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret