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

Disassembly:
mov r11, rsp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x130
mov qword [r11 - 0x70], 0xfffffffffffffffe
mov rax, qword [0x1401cd010]
xor rax, rsp
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x98], r9
mov rdi, r8
mov r12, rdx
mov rsi, rcx
mov qword [rsp + 0x48], rcx
mov qword [r11 - 0x78], rdx
mov qword [rsp + 0x78], r8
xor ebx, ebx
mov dword [rsp + 0x40], ebx
mov qword [rdx + 8], rbx
mov word [rdx + 0x10], bx
mov dword [rsp + 0x40], 1
mov byte [rdx], bl
mov rax, qword [rcx]
mov rax, qword [rax + 0x30]
call qword [case.0x1400ee2b6.0]
mov qword [rsp + 0x50], rax
mov r15, qword [rdi + 0x10]
mov r9, rdi
cmp qword [rdi + 0x18], 8
jb 0x140054bd5
mov r9, qword [rdi]
movabs rcx, 0xcbf29ce484222325
lea r8, [r15 + r15]
mov rdx, rbx
test r8, r8
je 0x140054c09
movzx eax, byte [rdx + r9]
xor rcx, rax
movabs r10, 0x100000001b3
imul rcx, r10
inc rdx
cmp rdx, r8
jb 0x140054beb
mov r14, qword [rsi + 0xf8]
and r14, rcx
add r14, r14
mov r13, qword [rsi + 0xe0]
mov rax, qword [r13 + r14*8]
mov rsi, qword [rsi + 0xd0]
cmp qword [r13 + r14*8], rsi
jne 0x140054c35
mov rcx, rsi
jmp 0x140054c3d
mov rcx, qword [r13 + r14*8 + 8]
mov rcx, qword [rcx]
cmp rax, rcx
je 0x140054d2f
lea rcx, [rax + 0x10]
mov rdx, rdi
cmp qword [rdi + 0x18], 8
jb 0x140054c57
mov rdx, qword [rdi]
mov r8, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 8
jb 0x140054c65
mov rcx, qword [rcx]
cmp r8, r15
jne 0x140054ca2
test r8, r8
je 0x140054ca7
movzx r9d, word [rcx]
movzx r10d, word [rdx]
cmp r9w, r10w
jb 0x140054ca2
sub rcx, rdx
cmp r9w, r10w
ja 0x140054ca2
cmp r8, 1
je 0x140054ca7
dec r8
add rdx, 2
movzx r9d, word [rdx + rcx]
movzx r10d, word [rdx]
cmp r9w, r10w
jae 0x140054c84
mov rax, qword [rax]
jmp 0x140054c29
mov rdx, rax
cmp qword [r13 + r14*8], rsi
jne 0x140054cb6
mov rcx, rsi
jmp 0x140054cbe
mov rcx, qword [r13 + r14*8 + 8]
mov rcx, qword [rcx]
cmp rax, rcx
je 0x140054d2a
lea rcx, [rax + 0x10]
mov r8, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 8
jb 0x140054cd5
mov rcx, qword [rcx]
mov r10, rdi
cmp qword [rdi + 0x18], 8
jb 0x140054ce2
mov r10, qword [rdi]
cmp r15, r8
jne 0x140054d2a
mov r11, r15
test r15, r15
je 0x140054dde
movzx r8d, word [r10]
movzx r9d, word [rcx]
cmp r8w, r9w
jb 0x140054d2a
sub r10, rcx
cmp r8w, r9w
ja 0x140054d2a
cmp r11, 1
je 0x140054dde
dec r11
add rcx, 2
movzx r8d, word [r10 + rcx]
movzx r9d, word [rcx]
cmp r8w, r9w
jae 0x140054d04
cmp rdx, rax
jne 0x140054d35
mov rdx, rsi
mov rax, rsi
mov r8, rbx
cmp rdx, rax
je 0x140054e17
inc r8
mov rcx, qword [rdx]
mov rdx, rcx
cmp rcx, rax
jne 0x140054d41
test r8, r8
je 0x140054e17
mov r13, qword [rsp + 0x48]
lea rsi, [r13 + 0xc8]
mov r8, rdi
lea rdx, [rsp + 0x58]
mov rcx, rsi
call fcn.14002b168
mov rcx, qword [rsi + 8]
mov rax, qword [rsp + 0x58]
cmp rax, rcx
jne 0x140054e12
mov qword [rsp + 0x58], rdi
mov r14, qword [rcx]
mov r15, qword [r14 + 8]
lea rax, [rsp + 0x58]
mov qword [rsp + 0x20], rax
mov r8, r15
mov rdx, r14
call fcn.140046228
mov rdx, rax
mov rcx, qword [rsi + 0x10]
movabs rax, 0x492492492492491
sub rax, rcx
cmp rax, 1
jae 0x140054de6
nop dword [rax]
nop word [rax + rax]
lea rcx, str.list_T__too_long
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
nop
mov rax, qword [rax]
jmp 0x140054caa
lea rax, [rcx + 1]
mov qword [rsi + 0x10], rax
mov qword [r14 + 8], rdx
mov qword [r15], rdx
mov r9, qword [rsi + 8]
mov r9, qword [r9]
lea r8, [r9 + 0x10]
lea rdx, [rsp + 0x58]
mov rcx, rsi
call fcn.140033478
mov rax, qword [rsp + 0x58]
mov ecx, dword [rax + 0x30]
jmp 0x140054e21
mov ecx, 1
mov r13, qword [rsp + 0x48]
sub ecx, 1
je 0x14005516d
mov esi, 3
sub ecx, esi
je 0x140054fe5
cmp ecx, 7
jne 0x140055391
cmp qword [rdi + 0x18], 8
jb 0x140054e4a
mov rdi, qword [rdi]
or r14, 0xffffffffffffffff
inc r14
cmp word [rdi + r14*2], bx
jne 0x140054e4e
xor edx, edx
lea r8d, [rdx + 0x40]
lea rcx, [rsp + 0xa0]
call sub.VCRUNTIME140.dll_memset
mov byte [rsp + 0xe0], bl
lea rax, [rsp + 0xa0]
mov qword [rsp + 0xc8], rax
mov dword [rsp + 0x20], 0xb
mov r9, r14
mov r8, rdi
mov rdx, qword [rsp + 0x50]
lea rcx, [rsp + 0xa0]
call fcn.140011df0
mov qword [rsp + 0x50], rbx
mov al, byte [rsp + 0xe0]
neg al
sbb rcx, rcx
lea rax, [rsp + 0xb8]
and rcx, rax
je 0x14005535d
mov dword [rsp + 0x48], 8
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x50]
call fcn.140012280
test eax, eax
jne 0x14005535d
mov rcx, qword [rsp + 0x98]
add rcx, 8
lea rdx, [0x1401d02e0]
call qword [sym.imp.VCRUNTIME140.dll___std_type_info_compare]
mov rdi, qword [rsp + 0x50]
mov ecx, 0x10
test eax, eax
jne 0x140054f46
mov word [rsp + 0x60], bx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
test rax, rax
je 0x140054f35
nop word [rax + rax]
lea rcx, [0x14013c798]
mov qword [rax], rcx
mov qword [rax + 8], rdi
mov qword [rsp + 0x58], rax
jmp 0x140054f3a
mov qword [rsp + 0x58], rbx
lea rdx, [rsp + 0x58]
mov edi, 9
jmp 0x140054f7d
mov word [rsp + 0x80], bx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
test rax, rax
je 0x140054f6e
lea rcx, [0x14013c6a8]
mov qword [rax], rcx
mov qword [rax + 8], rdi
mov qword [rsp + 0x78], rax
jmp 0x140054f73
mov qword [rsp + 0x78], rbx
lea rdx, [rsp + 0x78]
mov edi, 0x11
lea rcx, [r12 + 8]
call fcn.140003940
test dil, 0x10
je 0x140054fb1
and edi, 0xffffffef
mov dword [rsp + 0x40], edi
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x140054fb1
mov rax, qword [rcx]
mov edx, 1
mov rax, qword [rax + 0x28]
call qword [case.0x1400ee2b6.0]
nop
test dil, 8
je 0x140054fdb
and edi, 0xfffffff7
mov dword [rsp + 0x40], edi
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x140054fdb
mov rax, qword [rcx]
mov edx, 1
mov rax, qword [rax + 0x28]
call qword [case.0x1400ee2b6.0]
nop
mov byte [r12], 1
jmp 0x14005535d
cmp qword [rdi + 0x18], 8
jb 0x140054fef
mov rdi, qword [rdi]
or r14, 0xffffffffffffffff
inc r14
cmp word [rdi + r14*2], bx
jne 0x140054ff3
xor edx, edx
lea r8d, [rdx + 0x40]
lea rcx, [rsp + 0xa0]
call sub.VCRUNTIME140.dll_memset
mov byte [rsp + 0xe0], bl
lea rax, [rsp + 0xa0]
mov qword [rsp + 0xc8], rax
mov dword [rsp + 0x20], 4
mov r9, r14
mov r8, rdi
mov rdx, qword [rsp + 0x50]
lea rcx, [rsp + 0xa0]
call fcn.140011df0
mov dword [rsp + 0x48], ebx
mov al, byte [rsp + 0xe0]
neg al
sbb rcx, rcx
lea rax, [rsp + 0xb8]
and rcx, rax
lea rdx, [rsp + 0x48]
call fcn.140012440
nop dword [rax]
test eax, eax
je 0x14005535d
mov rcx, qword [rsp + 0x98]
add rcx, 8
lea rdx, [0x1401d0258]
call qword [sym.imp.VCRUNTIME140.dll___std_type_info_compare]
mov edi, dword [rsp + 0x48]
mov ecx, 0x10
test eax, eax
jne 0x1400550d0
nop
mov word [rsp + 0x60], bx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
test rax, rax
je 0x1400550c4
lea rcx, [0x14013c708]
mov qword [rax], rcx
mov dword [rax + 8], edi
mov qword [rsp + 0x58], rax
jmp 0x1400550c9
mov qword [rsp + 0x58], rbx
lea rdx, [rsp + 0x58]
jmp 0x140055106
mov word [rsp + 0x80], bx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
test rax, rax
je 0x1400550f7
lea rcx, [0x14013c5e8]
mov qword [rax], rcx
mov dword [rax + 8], edi
mov qword [rsp + 0x78], rax
jmp 0x1400550fc
mov qword [rsp + 0x78], rbx
lea rdx, [rsp + 0x78]
mov esi, 5
lea rcx, [r12 + 8]
call fcn.140003940
test sil, 4
je 0x14005513a
and esi, 0xfffffffb
mov dword [rsp + 0x40], esi
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x14005513a
mov rax, qword [rcx]
mov edx, 1
mov rax, qword [rax + 0x28]
call qword [case.0x1400ee2b6.0]
nop
test sil, 2
je 0x140054fdb
and esi, 0xfffffffd
mov dword [rsp + 0x40], esi
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x140055168
mov rax, qword [rcx]
mov edx, 1
mov rax, qword [rax + 0x28]
call qword [case.0x1400ee2b6.0]
nop
jmp 0x140054fdb
mov rsi, rdi
cmp qword [rdi + 0x18], 8
jb 0x14005517a
mov rsi, qword [rdi]
or r14, 0xffffffffffffffff
inc r14
cmp word [rsi + r14*2], bx
jne 0x14005517e
xor edx, edx
lea r8d, [rdx + 0x40]
lea rcx, [rsp + 0xa0]
call sub.VCRUNTIME140.dll_memset
mov byte [rsp + 0xe0], bl
lea rax, [rsp + 0xa0]
mov qword [rsp + 0xc8], rax
mov dword [rsp + 0x20], 1
mov r9, r14
mov r8, rsi
mov rdx, qword [rsp + 0x50]
lea rcx, [rsp + 0xa0]
call fcn.140011df0
movdqa xmm0, xmmword [0x140186810]
movdqu xmmword [rsp + 0x110], xmm0
mov word [rsp + 0x100], bx
mov al, byte [rsp + 0xe0]
neg al
sbb rcx, rcx
lea rax, [rsp + 0xb8]
and rcx, rax
lea rdx, [rsp + 0x100]
call fcn.14000c6dc
test al, al
je 0x140055268
lea rdx, [rsp + 0x100]
lea rcx, [rsp + 0x58]
call fcn.140017ef0
mov rdx, rax
lea rcx, [r12 + 8]
call fcn.140003940
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x14005524f
mov rax, qword [rcx]
mov edx, 1
mov rax, qword [rax + 0x28]
call qword [case.0x1400ee2b6.0]
nop
mov byte [r12], 1
jmp 0x1400552fc
cmp qword [rdi + 0x18], 8
jb 0x140055272
mov rdi, qword [rdi]
lea rcx, [0x14013c2d8]
mov qword [rsp + 0x78], rcx
lea rax, [0x140145d80]
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], rdi
mov word [rsp + 0x90], bx
lea rax, [r13 + 8]
cmp qword [rax + 0x18], 8
jb 0x1400552ab
mov rax, qword [rax]
mov qword [rsp + 0x58], rcx
lea rcx, str.Path
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x68], rax
mov word [rsp + 0x70], bx
lea rax, [rsp + 0x78]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
lea rax, str.RegistryWrapper::ReadFromOrapi___Registry_read_failed__perhaps_key_not_present_yet.
mov qword [rsp + 0x20], rax
mov edx, 0x43b
mov ecx, 0x12c46df
mov r8d, 0x32
call fcn.1400119d0
nop
mov rax, qword [rsp + 0x118]
cmp rax, 8
jb 0x140055344
lea rax, [rax*2 + 2]
mov rcx, qword [rsp + 0x100]
mov rdx, rcx
cmp rax, 0x1000
jb 0x14005533d
mov rcx, qword [rcx - 8]
sub rdx, rcx
lea rax, [rdx - 8]
cmp rax, 0x1f
jbe 0x14005533d
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
nop
movdqa xmm0, xmmword [0x140186810]
movdqu xmmword [rsp + 0x110], xmm0
mov word [rsp + 0x100], bx
lea rcx, [rsp + 0xa0]
call fcn.140009fe8
mov rax, r12
mov rcx, qword [rsp + 0x120]
xor rcx, rsp
call fcn.14012aa20
nop
add rsp, 0x130
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
xor edx, edx
mov ecx, 0x25095c1
call fcn.14000ad28
nop
jmp 0x1400553a0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov rax, rsp
mov qword [rax + 0x10], rdx
push rdi
sub rsp, 0x90
mov qword [rax - 0x58], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
mov rdi, r8
mov rbx, rdx
mov rsi, rcx
and dword [rax - 0x68], 0
call fcn.140054b4c
mov dword [rsp + 0x30], 1
cmp byte [rbx], 0
je 0x140055406
mov rax, rbx
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret
mov rcx, rdi
call fcn.140008a34
mov qword [rsp + 0x38], rax
lea r8, [rsp + 0x38]
lea rdx, [0x140145d80]
lea rcx, [rsp + 0x48]
call fcn.140015aac
mov r9, rax
lea rcx, [rsi + 8]
call fcn.140008a34
mov qword [rsp + 0x38], rax
lea r8, [rsp + 0x38]
lea rdx, str.Path
lea rcx, [rsp + 0x68]
call fcn.140015aac
mov qword [rsp + 0x28], r9
mov qword [rsp + 0x20], rax
lea r9, str.RegistryWrapper::Read___Registry_read_failed.
mov edx, 0x43b
mov ecx, 0x270e00b
mov r8d, 0xf
call fcn.140027434
xor edx, edx
lea rcx, [rsp + 0x48]
call fcn.140054650
lea rdx, [0x140186eb0]
lea rcx, [rsp + 0x48]
call sub.VCRUNTIME140.dll__CxxThrowException
int3