Function at 0x14000bac0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push r14
sub rsp, 0x450
mov qword [rsp + 0x58], 0xfffffffffffffffe
mov qword [rsp + 0x480], rbx
mov rax, qword [0x1401c3e90]
xor rax, rsp
mov qword [rsp + 0x440], rax
mov r9, rdx
mov r14, rcx
mov r8d, dword [0x1401cbd80]
mov ecx, r8d
imul ecx, r8d
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
shl eax, 3
sub ecx, eax
xor edi, edi
cmp ecx, 0xe
jne 0x14000bb53
mov ecx, edi
lea rdx, [rsp + 0x1b0]
nop dword [rax]
mov eax, dword [rdx]
imul eax, eax, 0xfd
add r8d, eax
inc ecx
lea rdx, [rdx + 4]
movsxd rax, ecx
cmp rax, 0x284
jb 0x14000bb30
mov dword [0x1401cbd80], r8d
cmp qword [r14 + 0xa0], rdi
jne 0x14000bb63
xor al, al
jmp 0x14000bd85
mov rcx, qword [r9]
test rcx, rcx
jne 0x14000bb75
mov rbx, rdi
mov qword [rsp + 0x30], rbx
jmp 0x14000bb93
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov rbx, rax
mov qword [rsp + 0x30], rax
test rax, rax
jne 0x14000bb93
mov ecx, 0x8007000e
call fcn.140001920
nop
xor ecx, ecx
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x50], rcx
lea rcx, [rsp + 0x40]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
nop
mov r8d, dword [0x1401cbd80]
lea ecx, [r8 + 1]
imul ecx, r8d
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
shl eax, 3
sub ecx, eax
cmp ecx, 0xb
jne 0x14000bc7d
mov edx, edi
mov ecx, edx
and ecx, 1
dec ecx
not ecx
and ecx, r8d
mov eax, edx
sar eax, 1
xor ecx, eax
mov eax, ecx
and eax, 1
dec eax
not eax
and eax, r8d
sar ecx, 1
xor eax, ecx
mov ecx, eax
and ecx, 1
dec ecx
not ecx
and ecx, r8d
sar eax, 1
xor ecx, eax
mov eax, ecx
and eax, 1
dec eax
not eax
and eax, r8d
sar ecx, 1
xor eax, ecx
mov ecx, eax
and ecx, 1
dec ecx
not ecx
and ecx, r8d
sar eax, 1
xor ecx, eax
mov eax, ecx
and eax, 1
dec eax
not eax
and eax, r8d
sar ecx, 1
xor eax, ecx
mov ecx, eax
and ecx, 1
dec ecx
not ecx
and ecx, r8d
sar eax, 1
xor ecx, eax
mov eax, ecx
and eax, 1
dec eax
not eax
and eax, r8d
sar ecx, 1
xor eax, ecx
add r8d, eax
inc edx
cmp edx, 0x100
jl 0x14000bbe3
mov dword [0x1401cbd80], r8d
mov rcx, qword [r14 + 0xa0]
mov rax, qword [rcx]
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x28], rdx
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x20], rdx
lea r9, [rsp + 0x40]
lea r8, [rsp + 0x40]
mov rdx, rbx
call qword [rax + 0x58]
mov esi, eax
mov r10d, dword [0x1401cbd80]
lea edx, [r10 + 2]
lea ecx, [r10 + 1]
imul edx, ecx
imul edx, r10d
and edx, 0x80000007
jge 0x14000bcd2
dec edx
or edx, 0xfffffff8
inc edx
cmp edx, 7
jne 0x14000bcff
lea r8, [rsp + 0x60]
mov r9d, r10d
nop
lea ecx, [r10 + rdi]
mov eax, r9d
cdq
idiv ecx
mov dword [r8], edx
inc edi
dec r9d
lea r8, [r8 + 4]
movsxd rax, edi
cmp rax, 0x52
jb 0x14000bce0
test esi, esi
je 0x14000bd68
lea rcx, [0x1401c39a8]
mov rax, qword [0x1401c39a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x38], rax
mov r8d, esi
lea rdx, str.Navigate_error__d
lea rcx, [rsp + 0x38]
call fcn.140012850
mov rax, qword [r14]
lea rdx, [rsp + 0x38]
mov rcx, r14
call qword [rax + RegisterTypeLib]
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14000bd61
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rsp + 0x30]
test esi, esi
sete dil
lea rcx, [rsp + 0x40]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
nop
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
movzx eax, dil
mov rcx, qword [rsp + 0x440]
xor rcx, rsp
call fcn.1400d1680
mov rbx, qword [rsp + 0x480]
add rsp, 0x450
pop r14
pop rdi
pop rsi
ret