Function at 0x18003fedc
Capabilities:
Get file size
Hash data using fnv
Read file on windows

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x188
lea rbp, str.MiniModMenuRegistry.txt
xor r12d, r12d
mov rdx, rbp
lea rcx, [rsp + 0x70]
mov dil, r12b
call fcn.18003dd9c
mov qword [rsp + 0x30], r12
lea r8d, [r12 + 1]
mov rcx, rax
mov dword [rsp + 0x28], 0x80
xor r9d, r9d
mov dword [rsp + 0x20], 3
mov edx, 0x80000000
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov qword [rsp + 0x40], rax
mov r14, rax
cmp rax, 0xffffffffffffffff
jne 0x18003ff92
lea rbx, str.C:UsersSethDesktopcodeStarfield_Console_Replacer_src_settings.cpp
mov sil, 0x43
mov rcx, rbx
cmp sil, 0x5c
je 0x18003ff5c
cmp sil, 0x2f
jne 0x18003ff5f
mov rcx, rbx
inc rbx
mov sil, byte [rbx]
test sil, sil
jne 0x18003ff50
inc rcx
mov qword [rsp + 0x20], rbp
lea r9, str._could_not_open_settings_file:__s
mov r8d, 0x130
lea rdx, str.TurboSettingsParser
call fcn.18003def0
xor al, al
jmp 0x180040362
lea rdx, [rsp + 0x1e8]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
jne 0x18003fffa
lea rbx, str.C:UsersSethDesktopcodeStarfield_Console_Replacer_src_settings.cpp
mov sil, 0x43
mov rcx, rbx
cmp sil, 0x5c
je 0x18003ffc0
cmp sil, 0x2f
jne 0x18003ffc3
mov rcx, rbx
inc rbx
mov sil, byte [rbx]
test sil, sil
jne 0x18003ffb4
inc rcx
mov qword [rsp + 0x20], rbp
lea r9, str._could_not_get_size_of_settings_file:__s
mov r8d, 0x136
lea rdx, str.TurboSettingsParser
call fcn.18003def0
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x18003ff8b
mov rbp, qword [rsp + 0x1e8]
mov r9d, 4
mov rdx, rbp
mov r8d, 0x3000
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r13, rax
mov sil, 0x43
test rax, rax
jne 0x18004006f
lea rbx, str.C:UsersSethDesktopcodeStarfield_Console_Replacer_src_settings.cpp
mov al, sil
mov rcx, rbx
mov rdx, rbx
cmp al, 0x5c
je 0x18004003c
cmp al, 0x2f
jne 0x18004003f
mov rdx, rcx
inc rcx
mov al, byte [rcx]
test al, al
jne 0x180040034
lea rcx, [rdx + 1]
mov qword [rsp + 0x20], rbp
lea rdx, str.TurboSettingsParser
mov r8d, 0x13e
lea r9, str._could_not_allocate_llu_bytes_for_settings_file
call fcn.18003def0
jmp 0x180040319
lea r9, [rsp + 0x1d0]
mov qword [rsp + 0x20], r12
mov r8d, ebp
mov rdx, r13
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x1800402c7
mov eax, dword [rsp + 0x1d0]
cmp rax, rbp
jne 0x1800402c7
lea rbx, str.C:UsersSethDesktopcodeStarfield_Console_Replacer_src_settings.cpp
mov rdi, r12
test rbp, rbp
je 0x18004029d
mov qword [rsp + 0x1d8], r12
mov r14, rdi
mov qword [rsp + 0x1e0], r12
cmp rdi, rbp
jae 0x180040109
lea r15, [r14 + r13]
cmp byte [r15], 0xa
je 0x1800400f6
movzx ecx, byte [r15]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isspace]
xor r12d, r12d
test eax, eax
jne 0x1800400f9
mov qword [rsp + 0x1d8], r15
mov rdi, r14
jmp 0x18004010c
xor r12d, r12d
inc r14
cmp r14, rbp
jb 0x1800400ce
mov r14, rdi
mov r15, rdi
jmp 0x180040117
xor r12d, r12d
mov r14, rdi
mov r15, rdi
cmp rdi, rbp
jae 0x18004014c
cmp byte [r15 + r13], 0x3d
je 0x18004012b
inc r15
cmp r15, rbp
jb 0x180040117
mov r15, r14
jmp 0x180040157
lea rdi, [r13 - 1]
add rdi, r15
jmp 0x180040137
dec rdi
movzx ecx, byte [rdi]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isspace]
test eax, eax
jne 0x180040134
mov byte [rdi + 1], r12b
lea rdi, [r15 + 1]
mov r14, rdi
mov r15, rdi
cmp rdi, rbp
jae 0x180040186
lea r12, [r15 + r13]
cmp byte [r12], 0xa
je 0x180040171
movzx ecx, byte [r12]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isspace]
test eax, eax
je 0x18004017b
inc r15
cmp r15, rbp
jb 0x180040157
jmp 0x18004018e
mov qword [rsp + 0x1e0], r12
mov rdi, r15
mov r14, rdi
cmp rdi, rbp
jae 0x1800401c1
lea r15, [r14 + r13]
cmp byte [r15], 0xa
je 0x1800401a2
inc r14
cmp r14, rbp
jb 0x18004018e
jmp 0x1800401c1
mov ecx, 0xa
jmp 0x1800401b0
dec r15
movzx ecx, byte [r15]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isspace]
test eax, eax
jne 0x1800401a9
mov byte [r15 + 1], al
mov rdi, r14
mov r15, qword [rsp + 0x1d8]
movabs r14, 0xcbf29ce484222325
mov rcx, r15
mov al, byte [r15]
jmp 0x1800401f4
inc rcx
movzx eax, al
xor r14, rax
movabs rdx, 0x100000001b3
imul r14, rdx
mov al, byte [rcx]
test al, al
jne 0x1800401db
mov r12, qword [rsp + 0x1e0]
lea r9, str._key__s___hash__llx___value__s_
mov qword [rsp + 0x30], r12
lea rdx, str.TurboSettingsParser
mov qword [rsp + 0x28], r14
mov r8d, 0x17e
mov rcx, rbx
mov qword [rsp + 0x20], r15
call fcn.18003c7cc
mov rdx, qword [0x1800537b8]
and qword [rsp + 0x60], 0
cmp rdx, qword [0x1800537c0]
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], r12
je 0x180040276
mov qword [rdx], r14
mov qword [rdx + 8], r15
mov qword [rdx + 0x10], r12
xor r12d, r12d
mov qword [rdx + 0x18], r12
mov rdx, qword [0x1800537b8]
add rdx, 0x20
mov qword [0x1800537b8], rdx
jmp 0x18004028a
lea r8, [rsp + 0x48]
call fcn.180040a4c
mov rdx, qword [0x1800537b8]
xor r12d, r12d
inc rdi
cmp rdi, rbp
jb 0x1800400b6
mov r14, qword [rsp + 0x40]
jmp 0x1800402a4
mov rdx, qword [0x1800537b8]
mov rcx, qword [0x1800537b0]
mov r8, rdx
mov r9b, byte [rsp + 0x1d0]
sub r8, rcx
sar r8, 5
mov dil, 1
call fcn.180040698
jmp 0x180040319
lea rbx, str.C:UsersSethDesktopcodeStarfield_Console_Replacer_src_settings.cpp
mov al, sil
mov rcx, rbx
mov rdx, rbx
cmp al, 0x5c
je 0x1800402df
cmp al, 0x2f
jne 0x1800402e2
mov rdx, rcx
inc rcx
mov al, byte [rcx]
test al, al
jne 0x1800402d7
lea rcx, [rdx + 1]
mov r8d, 0x144
lea rdx, str.TurboSettingsParser
lea r9, str._could_not_read_from_settings_registry
call fcn.18003def0
xor edx, edx
mov r8d, 0x8000
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
jne 0x18004035f
mov rcx, rbx
cmp sil, 0x5c
je 0x180040335
cmp sil, 0x2f
jne 0x180040338
mov rcx, rbx
inc rbx
mov sil, byte [rbx]
test sil, sil
jne 0x180040329
inc rcx
lea r9, str._error_while_closing_settings_registry
mov r8d, 0x18e
lea rdx, str.TurboSettingsParser
call fcn.18003def0
mov al, dil
add rsp, 0x188
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret