Function at 0x18012fa70
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 8], rcx
push rbx
push rbp
push rdi
push r12
push r14
push r15
mov eax, 0x48
call fcn.1800b9c10
sub rsp, rax
mov r12, rcx
mov rcx, qword [rsp + 0xa0]
xor ebx, ebx
test rcx, rcx
mov rbp, rdx
mov r14d, ebx
cmove rcx, r9
mov qword [rsp + 0xa0], rcx
mov rcx, r9
call fcn.1800cbf00
mov edi, dword [rsp + 0xa8]
movsxd r15, eax
test eax, eax
js 0x18012fbda
cmp edi, 0xffffffff
jne 0x18012fb94
mov edi, r15d
mov rcx, qword [r12 + 0x28]
mov qword [rsp + 0x88], rsi
mov qword [rsp + 0x40], r13
call fcn.1800e3b30
mov rcx, r12
lea esi, [rax - 1]
and esi, 7
mov dword [rsp + 0xa8], esi
call fcn.18012efb0
mov r13d, eax
test esi, esi
jne 0x18012fb19
mov byte [rbp], bl
inc rbp
dec r13d
lea eax, [r15 + 2]
cmp r13d, eax
jge 0x18012fbdf
call fcn.1800cb1c0
lea r8, str.RSA_padding_add_PKCS1_PSS_mgf1
mov edx, 0xc1
lea rcx, str.crypto_rsa_rsa_pss.c
call fcn.1800cb230
mov edx, WSASetLastError
xor r8d, r8d
lea ecx, [r8 + 4]
call fcn.1800cb480
mov r12, rbx
mov rsi, qword [rsp + 0x88]
mov r13, qword [rsp + 0x40]
mov rcx, r12
call fcn.1800def40
lea r8, str.crypto_rsa_rsa_pss.c
movsxd rdx, edi
mov r9d, 0xfc
mov rcx, r14
call fcn.1800ca910
mov eax, ebx
add rsp, 0x48
pop r15
pop r14
pop r12
pop rdi
pop rbp
pop rbx
ret
cmp edi, 0xfffffffe
jne 0x18012fba3
mov edi, 0xfffffffd
jmp 0x18012fadd
cmp edi, 0xfffffffd
jge 0x18012fadd
call fcn.1800cb1c0
lea r8, str.RSA_padding_add_PKCS1_PSS_mgf1
lea rcx, str.crypto_rsa_rsa_pss.c
mov edx, 0xb6
call fcn.1800cb230
xor r8d, r8d
mov edx, 0x88
lea ecx, [r8 + 4]
call fcn.1800cb480
mov r12, rbx
jmp 0x18012fb64
mov esi, r13d
sub esi, r15d
cmp edi, 0xfffffffd
jne 0x18012fc3c
lea edi, [rsi - 2]
test edi, edi
jle 0x18012fc7b
movsxd r12, edi
lea rdx, str.crypto_rsa_rsa_pss.c
mov r8d, 0xcb
mov rcx, r12
call fcn.1800ca810
mov r14, rax
test rax, rax
jne 0x18012fc59
call fcn.1800cb1c0
lea r8, str.RSA_padding_add_PKCS1_PSS_mgf1
lea rcx, str.crypto_rsa_rsa_pss.c
mov edx, 0xcd
call fcn.1800cb230
mov edx, 0xc0100
jmp 0x18012fb48
lea eax, [rsi - 2]
cmp edi, eax
jle 0x18012fbed
call fcn.1800cb1c0
lea r8, str.RSA_padding_add_PKCS1_PSS_mgf1
mov edx, 0xc7
jmp 0x18012fb37
mov rcx, qword [rsp + 0x80]
xor r9d, r9d
mov r8, r12
mov rcx, qword [rcx + 8]
mov rdx, rax
call fcn.1800d2cb0
test eax, eax
jle 0x18012fb54
lea eax, [rsi - 1]
cdqe
add rax, rbp
mov qword [rsp + 0x38], rax
call fcn.1800de700
mov r12, rax
mov qword [rsp + 0x30], rax
test rax, rax
je 0x18012fb57
mov rdx, qword [rsp + 0x98]
xor r8d, r8d
mov rcx, rax
call fcn.1800e0240
test eax, eax
je 0x18012fb57
mov rcx, qword [rsp + 0x30]
mov r12d, 8
lea rdx, [0x180253630]
mov r8d, r12d
call fcn.1800de730
test eax, eax
je 0x18012fdac
mov rdx, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x30]
mov r8, r15
call fcn.1800de730
test eax, eax
je 0x18012fdac
test edi, edi
je 0x18012fd14
mov rcx, qword [rsp + 0x30]
movsxd r8, edi
mov rdx, r14
call fcn.1800de730
test eax, eax
je 0x18012fdac
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x30]
xor r8d, r8d
call fcn.1800de850
test eax, eax
je 0x18012fdac
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.180130b90
test eax, eax
jne 0x18012fdac
sub esi, edi
sub esi, 2
movsxd rdx, esi
add rdx, rbp
inc rdx
xor byte [rdx - 1], 1
test edi, edi
jle 0x18012fd83
movsxd r8, edi
nop dword [rax + rax]
movzx eax, byte [rbx + r14]
inc rbx
inc rdx
xor byte [rdx - 1], al
cmp rbx, r8
jl 0x18012fd70
mov eax, dword [rsp + 0xa8]
test eax, eax
je 0x18012fd9f
sub r12d, eax
mov eax, 0xff
movzx ecx, r12b
sar eax, cl
and byte [rbp], al
movsxd rax, r13d
mov ebx, 1
mov byte [rax + rbp - 1], 0xbc
mov r12, qword [rsp + 0x30]
jmp 0x18012fb57