Function at 0x1400809f0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x80]
sub rsp, 0x180
mov byte [rsp + 0x40], r9b
mov r13, r8
mov r14, rdx
mov qword [rsp + 0x68], rdx
mov qword [rbp + 0x50], rdx
xor ebx, ebx
mov esi, ebx
mov dword [rsp + 0x44], ebx
mov rax, qword gs:[0x58]
mov edx, 4
mov rcx, qword [rax]
mov rdi, 0xffffffff80000001
mov qword [rsp + 0x60], rdi
mov eax, dword [rdx + rcx]
cmp dword [0x1403ed728], eax
jle 0x140080c04
lea rcx, [0x1403ed728]
call fcn.14011a460
cmp dword [0x1403ed728], 0xffffffff
jne 0x140080c04
xorps xmm0, xmm0
movups xmmword [0x1403ed730], xmm0
movups xmmword [0x1403ed740], xmm0
movups xmmword [0x1403ed750], xmm0
movups xmmword [0x1403ed760], xmm0
mov qword [rbp - 0x40], rbx
mov qword [rbp - 0x38], 7
mov word [rbp - 0x50], bx
lea rdx, str.HKLM
lea rcx, [rbp - 0x50]
call fcn.140031d84
mov qword [rbp - 0x30], 0xffffffff80000002
mov qword [rbp - 0x18], rbx
mov qword [rbp - 0x10], 7
mov word [rbp - 0x28], bx
lea rdx, str.HKCU
lea rcx, [rbp - 0x28]
call fcn.140031d84
mov qword [rbp - 8], rdi
mov qword [rbp + 0x10], rbx
mov qword [rbp + 0x18], 7
mov word [rbp], bx
lea rdx, [0x1403672c0]
lea rcx, [rbp]
call fcn.140031d84
mov qword [rbp + 0x20], 0xffffffff80000003
mov qword [rbp + 0x38], rbx
mov qword [rbp + 0x40], 7
mov word [rbp + 0x28], bx
lea rdx, str.HKCR
lea rcx, [rbp + 0x28]
call fcn.140031d84
mov qword [rbp + 0x48], 0xffffffff80000000
xorps xmm0, xmm0
movss dword [0x1403ed730], xmm0
mov qword [0x1403ed738], rbx
mov qword [0x1403ed740], rbx
lea ecx, [rbx + 0x38]
call fcn.14011a288
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [0x1403ed738], rax
mov qword [0x1403ed748], rbx
xorps xmm0, xmm0
movdqa xmmword [0x1403ed750], xmm0
mov qword [0x1403ed760], 7
mov qword [0x1403ed768], 8
movss xmm0, dword [0x14037f8f4]
movss dword [0x1403ed730], xmm0
mov r8, rax
lea edx, [rbx + 0x10]
lea rcx, [0x1403ed748]
call fcn.14007a580
nop
lea rbx, [rbp - 0x50]
nop word [rax + rax]
mov r8, rbx
lea rdx, [rbp + 0x68]
lea rcx, [0x1403ed730]
call fcn.140084530
add rbx, 0x28
lea rax, [rbp + 0x50]
cmp rbx, rax
jne 0x140080bb0
lea r9, [fcn.14007a930]
mov edx, 0x28
lea r8d, [rdx - 0x24]
lea rcx, [rbp - 0x50]
call fcn.14011a570
lea rcx, [0x14030fad0]
call fcn.14011a23c
nop
lea rcx, [0x1403ed728]
call fcn.14011a400
xor ebx, ebx
mov r8, qword [r13 + 0x10]
mov rdx, r13
mov r11, qword [r13 + 0x18]
cmp r11, 8
jb 0x140080c19
mov rdx, qword [r13]
mov edi, 0xa
lea r12, [rdi - 0xb]
movabs r10, 0x7ffffffffffffffe
test r8, r8
je 0x140080e5b
mov rax, r8
mov rcx, rdx
mov r9, rbx
cmp word [rdx], 0x5c
je 0x140080c57
cmp rax, 1
je 0x140080c5a
dec rax
add rcx, 2
cmp word [rcx], 0x5c
jne 0x140080c44
mov r9, rcx
test r9, r9
je 0x140080e5b
sub r9, rdx
sar r9, 1
mov qword [rsp + 0x50], r9
cmp r9, r12
je 0x140080e60
mov qword [rbp - 0x58], 7
mov word [rbp - 0x70], bx
mov qword [rbp + 0x58], r9
mov qword [rbp + 0x60], r8
mov r15, r9
cmp r8, r9
cmovb r15, r8
mov rsi, r13
cmp r11, 8
jb 0x140080ca2
mov rsi, qword [r13]
cmp r15, 7
ja 0x140080cd7
mov qword [rbp - 0x60], r15
lea rbx, [r15 + r15]
mov r8, rbx
mov rdx, rsi
lea rcx, [rbp - 0x70]
call fcn.1401389a0
xor eax, eax
mov word [rbp + rbx - 0x70], ax
mov r14, qword [rbp - 0x58]
mov r15, qword [rbp - 0x60]
mov rdi, qword [rbp - 0x70]
jmp 0x140080d84
cmp r15, r10
ja 0x1400811fc
mov r14, r15
or r14, 7
cmp r14, r10
jbe 0x140080cf8
mov r14, r10
mov rcx, 0xfffffffffffffffe
jmp 0x140080d22
cmp r14, rdi
cmovb r14, rdi
lea rcx, [r14 + 1]
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
ja 0x140081208
add rcx, rcx
cmp rcx, 0x1000
jb 0x140080d4e
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140081208
mov rcx, rax
call fcn.14011a288
test rax, rax
je 0x140081202
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x140080d60
test rcx, rcx
je 0x140080d5d
call fcn.14011a288
mov rdi, rax
jmp 0x140080d60
mov rdi, rbx
mov qword [rbp - 0x60], r15
mov qword [rbp - 0x58], r14
lea rbx, [r15 + r15]
mov r8, rbx
mov rdx, rsi
mov rcx, rdi
call fcn.1401389a0
xor eax, eax
mov word [rdi + rbx], ax
mov qword [rbp - 0x70], rdi
mov esi, 4
lea r8, [rbp - 0x70]
cmp r14, 8
setae byte [rsp + 0x48]
cmovae r8, rdi
movabs r9, 0xcbf29ce484222325
add r15, r15
mov rdx, rax
je 0x140080dd4
movabs r10, 0x100000001b3
nop word [rax + rax]
movzx eax, byte [rdx + r8]
xor r9, rax
imul r9, r10
inc rdx
cmp rdx, r15
jb 0x140080dc0
lea r8, [rbp - 0x70]
lea rdx, [rsp + 0x70]
lea rcx, [0x1403ed730]
call fcn.14007a6c0
mov rcx, qword [rax + 8]
mov rax, qword [0x1403ed738]
mov rbx, rax
test rcx, rcx
cmovne rbx, rcx
cmp byte [rsp + 0x48], 0
je 0x140080e41
lea rdx, [r14*2 + 2]
mov rax, rdi
cmp rdx, 0x1000
jb 0x140080e32
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140081202
mov rcx, rdi
call fcn.14011a254
mov rax, qword [0x1403ed738]
mov r15, qword [rsp + 0x50]
mov r14, qword [rsp + 0x68]
cmp rbx, rax
je 0x140080e65
mov rax, qword [rbx + 0x30]
mov qword [rsp + 0x60], rax
jmp 0x140080e65
mov r15, r12
jmp 0x140080e65
mov r15, qword [rsp + 0x50]
xorps xmm0, xmm0
movups xmmword [r14], xmm0
xor eax, eax
mov qword [r14], rax
mov qword [r14 + 8], rax
or esi, 1
mov dword [rsp + 0x44], esi
lea ecx, [rax + 0x28]
call fcn.14011a288
mov rdi, rax
mov qword [rsp + 0x50], rax
cmp byte [rsp + 0x40], 0
je 0x140080f0e
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov dword [rax + 8], 1
mov dword [rax + 0xc], 1
lea rax, vtable.std::_Ref_count_obj2_class_CoreTech::CObfuscatedRegKey_.0
mov qword [rdi], rax
lea rbx, [rdi + 0x10]
mov rcx, rbx
call fcn.1400ec0d0
nop
or esi, 8
mov dword [rsp + 0x44], esi
mov qword [r14], rbx
mov rbx, qword [r14 + 8]
mov qword [r14 + 8], rdi
test rbx, rbx
je 0x140080f97
mov eax, r12d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x140080f93
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r12d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140080f93
mov rax, qword [rbx]
mov rcx, rbx
jmp 0x140080f90
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov dword [rax + 8], 1
mov dword [rax + 0xc], 1
lea rax, vtable.std::_Ref_count_obj2_class_CoreTech::CRegKey_.0
mov qword [rdi], rax
lea rbx, [rdi + 0x10]
mov rcx, rbx
call fcn.1400ebc90
nop
or esi, 0x10
mov dword [rsp + 0x44], esi
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], rdi
lea rdx, [rsp + 0x50]
mov rcx, r14
call fcn.140081320
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x140080f97
mov eax, r12d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140080f93
mov rbx, qword [rsp + 0x58]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r12d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140080f93
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx]
call qword [rax + 8]
mov esi, dword [rsp + 0x44]
mov r14, qword [r14]
test r14, r14
je 0x14008110a
mov rax, qword [r14]
mov rax, qword [rax + 0x98]
mov qword [rsp + 0x50], rax
lea rcx, [r15 + 1]
xor edi, edi
mov qword [rbp - 0x80], rdi
mov qword [rbp - 0x78], 7
mov word [rsp + 0x70], di
mov rax, qword [r13 + 0x10]
cmp rax, rcx
jb 0x14008120e
sub rax, rcx
cmp rax, 0xffffffffffffffff
cmovb r12, rax
mov rax, r13
cmp qword [r13 + 0x18], 8
jb 0x140080fef
mov rax, qword [r13]
lea r15, [rax + rcx*2]
cmp r12, 7
ja 0x140081020
mov qword [rbp - 0x80], r12
lea rbx, [r12 + r12]
mov r8, rbx
mov rdx, r15
lea rcx, [rsp + 0x70]
call fcn.1401389a0
mov word [rsp + rbx + 0x70], di
mov rdi, qword [rsp + 0x70]
jmp 0x1400810d8
movabs rbx, 0x7ffffffffffffffe
cmp r12, rbx
ja 0x140081214
mov rax, r12
or rax, 7
cmp rax, rbx
jbe 0x140081048
mov rax, 0xfffffffffffffffe
jmp 0x14008107a
mov rbx, rax
cmp rax, 0xa
mov eax, 0xa
cmovb rbx, rax
lea rax, [rbx + 1]
movabs rcx, 0x7fffffffffffffff
cmp rax, rcx
ja 0x14008121a
add rax, rax
cmp rax, 0x1000
jb 0x1400810a3
lea rcx, [rax + 0x27]
cmp rcx, rax
jbe 0x14008121a
call fcn.14011a288
test rax, rax
je 0x1400811f6
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x1400810b3
test rax, rax
je 0x1400810b3
mov rcx, rax
call fcn.14011a288
mov rdi, rax
mov qword [rbp - 0x80], r12
mov qword [rbp - 0x78], rbx
lea rbx, [r12 + r12]
mov r8, rbx
mov rdx, r15
mov rcx, rdi
call fcn.1401389a0
xor eax, eax
mov word [rdi + rbx], ax
mov qword [rsp + 0x70], rdi
or esi, 0x20
or esi, 2
mov dword [rsp + 0x44], esi
lea r8, [rsp + 0x70]
cmp qword [rbp - 0x78], 8
cmovae r8, rdi
mov r9d, 0x2001f
mov rdx, qword [rsp + 0x60]
mov rcx, r14
call qword [rsp + 0x50]
test eax, eax
je 0x14008110a
mov bl, 1
jmp 0x14008110c
xor bl, bl
test sil, 2
je 0x14008115a
and esi, 0xfffffffd
mov dword [rsp + 0x44], esi
mov rdx, qword [rbp - 0x78]
cmp rdx, 8
jb 0x14008115a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140081155
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400811f6
call fcn.14011a254
test bl, bl
je 0x1400811d6
mov ecx, 1
call fcn.1400e2070
test eax, eax
je 0x1400811d6
lea rcx, str.obfuscated
lea rax, str.not_obfuscated
cmp byte [rsp + 0x40], 0
cmovne rax, rcx
mov qword [rsp + 0x60], rax
cmp qword [r13 + 0x18], 8
jb 0x140081193
mov r13, qword [r13]
mov qword [rsp + 0x50], r13
lea rax, [rsp + 0x60]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
lea rax, str.Unable_to_open_registry_key:__s___s_
mov qword [rsp + 0x20], rax
mov r9d, 0x318
lea r8, str.Intel::Analytics::CALEScriptHostImpl::OpenRegKey
lea rdx, str.E:BT227953e1_7041_41ca_b223_f1309dea168eClientAnalyticsSDK_srcALEScriptHostImplALEScriptHostImpl.cpp
mov ecx, 1
call fcn.140035050
mov rax, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x1c0]
add rsp, 0x180
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.14013d31c
int3
call fcn.140032ec0
int3
call fcn.14013d31c
int3
call fcn.14003300c
int3
call fcn.140031f50
int3
call fcn.140032ec0
int3
call fcn.14003300c
int3