Function at 0x180031750
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x100
call fcn.1801c83e0
sub rsp, rax
mov rax, qword [0x1802d1460]
xor rax, rsp
mov qword [rsp + 0xf0], rax
mov rax, qword [rsp + 0x168]
movsxd rbx, dword [rsp + 0x160]
mov rsi, qword [rsp + 0x180]
xor r12d, r12d
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x178]
or ebp, 0xffffffff
movsxd r13, r9d
mov qword [rsp + 0x40], r8
mov r14d, edx
mov dword [rsp + 0x38], edx
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x48], rax
mov edi, r12d
mov qword [rsp + 0x30], r12
test rax, rax
jne 0x1800317da
call fcn.180022100
mov qword [rsp + 0x48], rax
test rsi, rsi
mov rcx, rax
cmove rsi, rax
mov qword [rsp + 0x50], rsi
call fcn.18001d1d0
movsxd r15, eax
test r14d, r14d
jle 0x180031acc
test r13d, r13d
jle 0x180031acc
cmp ebx, r13d
jl 0x180031a4e
lea ecx, [r15 + r15 + 2]
cmp ebx, ecx
jl 0x180031a4e
mov r14d, ebx
lea rdx, [0x1802b4500]
mov r8d, reloc.WS2_32.dll___WSAFDIsSet
sub r14d, r15d
dec r14d
mov ecx, r14d
call fcn.18000bcf0
lea rdx, [0x1802b4518]
mov r8d, 0x98
mov ecx, ebx
mov rdi, rax
call fcn.18000bcf0
mov rsi, rax
mov qword [rsp + 0x30], rax
test rdi, rdi
je 0x180031aa8
test rax, rax
je 0x180031aa8
mov r8, rbx
xor edx, edx
mov rcx, rax
call fcn.1801c9e80
mov rdx, qword [rsp + 0x40]
sub rbx, r13
lea rcx, [rsi + rbx]
mov r8, r13
call fcn.1801c9a10
movzx r11d, byte [rsi]
mov rcx, rsi
lea eax, [r11 - 1]
lea r13, [r15 + rcx + 1]
not r11d
shr eax, 0x1f
shr r11d, 0x1f
lea rcx, [rsp + 0x70]
and eax, r11d
mov r9d, r14d
mov r8, r13
neg eax
mov edx, r15d
lea rbx, [rsi + 1]
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x20], rax
call fcn.180031360
test eax, eax
jne 0x180031a8a
mov rdx, r12
test r15d, r15d
jle 0x180031903
lea rax, [rsp + 0x70]
sub rbx, rax
nop word [rax + rax]
lea rcx, [rsp + rdx + 0x70]
inc rdx
movzx eax, byte [rbx + rcx]
xor byte [rcx], al
cmp rdx, r15
jl 0x1800318f0
mov rax, qword [rsp + 0x50]
lea r8, [rsp + 0x70]
mov r9d, r15d
mov edx, r14d
mov rcx, rdi
mov qword [rsp + 0x20], rax
call fcn.180031360
test eax, eax
jne 0x180031a8a
movsxd rbx, r14d
test r14d, r14d
jle 0x180031951
mov rcx, rdi
sub r13, rdi
mov rdx, rbx
nop dword [rax]
movzx eax, byte [r13 + rcx]
inc rcx
xor byte [rcx - 1], al
dec rdx
jne 0x180031940
mov rax, qword [rsp + 0x48]
movsxd rdx, dword [rsp + 0x170]
mov rcx, qword [rsp + 0x60]
lea r8, [rsp + 0xb0]
xor r9d, r9d
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], rax
call fcn.180034a70
test eax, eax
je 0x180031a8a
lea rdx, [rsp + 0xb0]
mov r8, r15
mov rcx, rdi
call fcn.18000c730
mov r11d, dword [rsp + 0x40]
mov r9d, r12d
lea ecx, [rax - 1]
not eax
shr ecx, 0x1f
shr eax, 0x1f
and ecx, eax
neg ecx
and r11d, ecx
cmp r15, rbx
jge 0x180031a14
lea r10, [r15 + rdi]
sub rbx, r15
nop
movzx r8d, byte [r10]
mov ecx, r9d
inc r10
mov eax, r8d
not ecx
xor eax, 1
lea edx, [rax - 1]
not eax
shr eax, 0x1f
shr edx, 0x1f
and edx, eax
neg edx
and ecx, edx
or r9d, edx
mov eax, ecx
and ecx, r15d
inc r15d
not eax
and r12d, eax
lea eax, [r8 - 1]
not r8d
shr eax, 0x1f
shr r8d, 0x1f
or r12d, ecx
and eax, r8d
neg eax
or eax, r9d
and r11d, eax
dec rbx
jne 0x1800319c0
test r11d, r9d
je 0x180031a4e
lea eax, [r12 + 1]
mov ebp, r14d
sub ebp, eax
cmp dword [rsp + 0x38], ebp
jge 0x180031a77
mov edx, 0xa1
lea r9, [0x1802b4548]
mov ecx, 4
lea r8d, [rdx - 0x34]
mov dword [rsp + 0x20], 0xdd
call fcn.180004810
or ebp, 0xffffffff
mov edx, 0xa1
lea r9, str..crypto_rsa_rsa_oaep.c
mov ecx, 4
lea r8d, [rdx - 0x28]
mov dword [rsp + 0x20], 0xea
call fcn.180004810
mov rsi, qword [rsp + 0x30]
jmp 0x180031a8a
mov rcx, qword [rsp + 0x58]
movsxd rdx, eax
movsxd r8, ebp
add rdx, rdi
call fcn.1801c9a10
test rdi, rdi
je 0x180031a97
mov rcx, rdi
call fcn.18000bff0
test rsi, rsi
je 0x180031aa4
mov rcx, rsi
call fcn.18000bff0
mov eax, ebp
jmp 0x180031acf
mov edx, 0xa1
lea r9, [0x1802b4530]
mov ecx, 4
lea r8d, [rdx - 0x60]
mov dword [rsp + 0x20], 0x9a
call fcn.180004810
jmp 0x180031a8a
or eax, 0xffffffff
mov rcx, qword [rsp + 0xf0]
xor rcx, rsp
call fcn.1801c74b0
mov rbx, qword [rsp + 0x148]
add rsp, 0x100
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret