Function at 0x18003cf10
Capabilities:
Hash data using fnv

Disassembly:
push rbx
sub rsp, 0x20
mov rcx, qword [0x18008ca40]
add rcx, 0x40
call fcn.180002a50
mov rcx, qword [0x18008ca40]
lea rdx, str.prologue01
movabs rbx, 0x41b4893843bbdb74
mov eax, dword [rcx + 0x48]
mov qword [rcx + rax*8 + 0x170], rdx
mov rdx, rbx
inc dword [rcx + 0x48]
mov rcx, qword [0x18008ca40]
call fcn.180002ad0
mov rcx, qword [0x18008ca40]
add rcx, 0x40
call fcn.180002a50
mov rcx, qword [0x18008ca40]
lea rdx, str.Prologue01c
mov eax, dword [rcx + 0x48]
mov qword [rcx + rax*8 + 0x170], rdx
mov rdx, rbx
inc dword [rcx + 0x48]
mov rcx, qword [0x18008ca40]
call fcn.180002ad0
mov rcx, qword [0x18008ca40]
add rcx, 0x40
call fcn.180002a50
mov rcx, qword [0x18008ca40]
lea rdx, str.Prologue01d
mov eax, dword [rcx + 0x48]
mov qword [rcx + rax*8 + 0x170], rdx
mov rdx, rbx
inc dword [rcx + 0x48]
mov rcx, qword [0x18008ca40]
call fcn.180002ad0
mov rcx, qword [0x18008ca40]
add rcx, 0x40
call fcn.180002a50
mov rcx, qword [0x18008ca40]
lea rdx, str.Prologue01e
mov eax, dword [rcx + 0x48]
mov qword [rcx + rax*8 + 0x170], rdx
mov rdx, rbx
inc dword [rcx + 0x48]
mov rcx, qword [0x18008ca40]
call fcn.180002ad0
mov rcx, qword [0x18008ca40]
add rcx, 0x40
call fcn.180002a50
mov rcx, qword [0x18008ca40]
lea rdx, str.Prologue01f
mov eax, dword [rcx + 0x48]
mov qword [rcx + rax*8 + 0x170], rdx
mov rdx, rbx
inc dword [rcx + 0x48]
mov rcx, qword [0x18008ca40]
call fcn.180002ad0
mov rcx, qword [0x18008ca40]
add rcx, 0x40
call fcn.180002a50
mov rcx, qword [0x18008ca40]
lea rdx, str.Prologue01g
mov eax, dword [rcx + 0x48]
mov qword [rcx + rax*8 + 0x170], rdx
mov rdx, rbx
inc dword [rcx + 0x48]
mov rcx, qword [0x18008ca40]
call fcn.180002ad0
mov rcx, qword [0x18008ca40]
add rcx, 0x40
call fcn.180002a50
mov rcx, qword [0x18008ca40]
lea rdx, str.prologue01h
mov eax, dword [rcx + 0x48]
mov qword [rcx + rax*8 + 0x170], rdx
mov rdx, rbx
inc dword [rcx + 0x48]
mov rcx, qword [0x18008ca40]
call fcn.180002ad0
mov rcx, qword [0x18008ca40]
add rcx, 0x40
call fcn.180002a50
mov rcx, qword [0x18008ca40]
lea rdx, str.prologue01i
mov eax, dword [rcx + 0x48]
mov qword [rcx + rax*8 + 0x170], rdx
mov rdx, rbx
inc dword [rcx + 0x48]
mov rcx, qword [0x18008ca40]
call fcn.180002ad0
mov rcx, qword [0x18008ca40]
add rcx, 0x40
call fcn.180002a50
mov rcx, qword [0x18008ca40]
lea rdx, str.prologue01j
mov eax, dword [rcx + 0x48]
mov qword [rcx + rax*8 + 0x170], rdx
mov rdx, rbx
inc dword [rcx + 0x48]
mov rcx, qword [0x18008ca40]
call fcn.180002ad0
mov rcx, qword [0x18008ca40]
add rcx, 0x40
call fcn.180002a50
mov rcx, qword [0x18008ca40]
lea rdx, str.prologue01k
mov eax, dword [rcx + 0x48]
mov qword [rcx + rax*8 + 0x170], rdx
mov rdx, rbx
inc dword [rcx + 0x48]
mov rcx, qword [0x18008ca40]
call fcn.180002ad0
mov rcx, qword [0x18008ca40]
add rcx, 0x40
call fcn.180002a50
mov rcx, qword [0x18008ca40]
lea rdx, str.prologue01z
mov eax, dword [rcx + 0x48]
mov qword [rcx + rax*8 + 0x170], rdx
mov rdx, rbx
inc dword [rcx + 0x48]
mov rcx, qword [0x18008ca40]
call fcn.180002ad0
mov rcx, qword [0x18008ca40]
add rcx, 0x40
call fcn.180002a50
mov rcx, qword [0x18008ca40]
lea rdx, str.prologue02
mov eax, dword [rcx + 0x48]
mov qword [rcx + rax*8 + 0x170], rdx
mov rdx, rbx
inc dword [rcx + 0x48]
mov rcx, qword [0x18008ca40]
call fcn.180002ad0
mov rcx, qword [0x18008ca40]
add rcx, 0x40
call fcn.180002a50
mov rcx, qword [0x18008ca40]
lea rdx, str.prologue03
mov eax, dword [rcx + 0x48]
mov qword [rcx + rax*8 + 0x170], rdx
mov rdx, rbx
inc dword [rcx + 0x48]
mov rcx, qword [0x18008ca40]
call fcn.180002ad0
mov rcx, qword [0x18008ca40]
add rcx, 0x40
call fcn.180002a50
mov rcx, qword [0x18008ca40]
lea rdx, str.prologue03b
mov eax, dword [rcx + 0x48]
mov qword [rcx + rax*8 + 0x170], rdx
mov rdx, rbx
inc dword [rcx + 0x48]
mov rcx, qword [0x18008ca40]
call fcn.180002ad0
mov rcx, qword [0x18008ca40]
add rcx, 0x40
call fcn.180002a50
mov rcx, qword [0x18008ca40]
lea rdx, str.prologue03_grv_cov
mov eax, dword [rcx + 0x48]
mov qword [rcx + rax*8 + 0x170], rdx
inc dword [rcx + 0x48]
mov rdx, rbx
mov rcx, qword [0x18008ca40]
call fcn.180002ad0
mov rcx, qword [0x18008ca40]
add rcx, 0x40
call fcn.180002a50
mov rcx, qword [0x18008ca40]
lea rdx, str.prologue03_grv_dug
mov eax, dword [rcx + 0x48]
mov qword [rcx + rax*8 + 0x170], rdx
mov rdx, rbx
inc dword [rcx + 0x48]
mov rcx, qword [0x18008ca40]
call fcn.180002ad0
mov rcx, qword [0x18008ca40]
add rcx, 0x40
call fcn.180002a50
mov rcx, qword [0x18008ca40]
lea rdx, str.prologue03_grv_fun
mov eax, dword [rcx + 0x48]
mov qword [rcx + rax*8 + 0x170], rdx
mov rdx, rbx
inc dword [rcx + 0x48]
mov rcx, qword [0x18008ca40]
call fcn.180002ad0
mov rcx, qword [0x18008ca40]
add rcx, 0x40
call fcn.180002a50
mov rcx, qword [0x18008ca40]
lea rdx, str.prologue04
mov eax, dword [rcx + 0x48]
mov qword [rcx + rax*8 + 0x170], rdx
mov rdx, rbx
inc dword [rcx + 0x48]
mov rcx, qword [0x18008ca40]
call fcn.180002ad0
mov rcx, qword [0x18008ca40]
add rcx, 0x40
call fcn.180002a50
mov rcx, qword [0x18008ca40]
lea rdx, str.prologue04b
mov eax, dword [rcx + 0x48]
mov qword [rcx + rax*8 + 0x170], rdx
mov rdx, rbx
inc dword [rcx + 0x48]
mov rcx, qword [0x18008ca40]
call fcn.180002ad0
mov rcx, qword [0x18008ca40]
add rcx, 0x40
call fcn.180002a50
mov rcx, qword [0x18008ca40]
lea rdx, str.prologue04_cover
mov eax, dword [rcx + 0x48]
mov qword [rcx + rax*8 + 0x170], rdx
mov rdx, rbx
inc dword [rcx + 0x48]
mov rcx, qword [0x18008ca40]
call fcn.180002ad0
mov rcx, qword [0x18008ca40]
add rcx, 0x40
call fcn.180002a50
mov rcx, qword [0x18008ca40]
lea rdx, str.prologue05
mov eax, dword [rcx + 0x48]
mov qword [rcx + rax*8 + 0x170], rdx
mov rdx, rbx
inc dword [rcx + 0x48]
mov rcx, qword [0x18008ca40]
call fcn.180002ad0
mov rcx, qword [0x18008ca40]
add rcx, 0x40
call fcn.180002a50
mov rcx, qword [0x18008ca40]
lea rdx, str.prologue05b
mov eax, dword [rcx + 0x48]
mov qword [rcx + rax*8 + 0x170], rdx
mov rdx, rbx
inc dword [rcx + 0x48]
mov rcx, qword [0x18008ca40]
call fcn.180002ad0
mov rcx, qword [0x18008ca40]
add rcx, 0x40
call fcn.180002a50
mov rcx, qword [0x18008ca40]
lea rdx, str.prologue06
mov eax, dword [rcx + 0x48]
mov qword [rcx + rax*8 + 0x170], rdx
mov rdx, rbx
inc dword [rcx + 0x48]
mov rcx, qword [0x18008ca40]
call fcn.180002ad0
mov rcx, qword [0x18008ca40]
add rcx, 0x40
call fcn.180002a50
mov rcx, qword [0x18008ca40]
lea rdx, str.prologue06b
mov eax, dword [rcx + 0x48]
mov qword [rcx + rax*8 + 0x170], rdx
mov rdx, rbx
inc dword [rcx + 0x48]
mov rcx, qword [0x18008ca40]
call fcn.180002ad0
mov rcx, qword [0x18008ca40]
add rcx, 0x40
call fcn.180002a50
mov rcx, qword [0x18008ca40]
lea rdx, str.prologue06_int
mov eax, dword [rcx + 0x48]
mov qword [rcx + rax*8 + 0x170], rdx
mov rdx, rbx
inc dword [rcx + 0x48]
mov rcx, qword [0x18008ca40]
call fcn.180002ad0
mov rcx, qword [0x18008ca40]
add rcx, 0x40
call fcn.180002a50
mov rcx, qword [0x18008ca40]
lea rdx, str.prologuerd
mov eax, dword [rcx + 0x48]
mov qword [rcx + rax*8 + 0x170], rdx
mov rdx, rbx
inc dword [rcx + 0x48]
mov rcx, qword [0x18008ca40]
call fcn.180002ad0
mov rcx, qword [0x18008ca40]
add rcx, 0x40
call fcn.180002a50
mov rcx, qword [0x18008ca40]
lea rdx, str.prologuerdb
mov eax, dword [rcx + 0x48]
mov qword [rcx + rax*8 + 0x170], rdx
mov rdx, rbx
inc dword [rcx + 0x48]
mov rcx, qword [0x18008ca40]
call fcn.180002ad0
mov rcx, qword [0x18008ca40]
add rcx, 0x40
call fcn.180002a50
mov rcx, qword [0x18008ca40]
lea rdx, str.prologue_DistantLights
mov eax, dword [rcx + 0x48]
mov qword [rcx + rax*8 + 0x170], rdx
mov rdx, rbx
inc dword [rcx + 0x48]
mov rcx, qword [0x18008ca40]
call fcn.180002ad0
mov rcx, qword [0x18008ca40]
add rcx, 0x40
call fcn.180002a50
mov rcx, qword [0x18008ca40]
lea rdx, str.prologue_grv_torch
mov eax, dword [rcx + 0x48]
mov qword [rcx + rax*8 + 0x170], rdx
mov rdx, rbx
inc dword [rcx + 0x48]
mov rcx, qword [0x18008ca40]
call fcn.180002ad0
mov rcx, qword [0x18008ca40]
add rcx, 0x40
call fcn.180002a50
mov rcx, qword [0x18008ca40]
mov eax, dword [rcx + 0x48]
lea rdx, str.prologue_m2_door
mov qword [rcx + rax*8 + 0x170], rdx
mov rdx, rbx
inc dword [rcx + 0x48]
mov rcx, qword [0x18008ca40]
call fcn.180002ad0
mov rcx, qword [0x18008ca40]
add rcx, 0x40
call fcn.180002a50
mov rcx, qword [0x18008ca40]
lea rdx, str.prologue_LODLights
mov eax, dword [rcx + 0x48]
mov qword [rcx + rax*8 + 0x170], rdx
mov rdx, rbx
inc dword [rcx + 0x48]
mov rcx, qword [0x18008ca40]
call fcn.180002ad0
mov rcx, qword [0x18008ca40]
add rcx, 0x40
call fcn.180002a50
mov rcx, qword [0x18008ca40]
lea r8, str.DES_ProTree_start
mov rdx, rbx
mov eax, dword [rcx + 0x48]
mov qword [rcx + rax*8 + 0x170], r8
inc dword [rcx + 0x48]
mov rcx, qword [0x18008ca40]
call fcn.180002ad0
mov rcx, qword [0x18008ca40]
add rcx, 0x40
call fcn.180002a50
mov rcx, qword [0x18008ca40]
movabs rdx, 0xd80958fc74e988a6
call fcn.180002ad0
mov rax, qword [0x18008ca40]
movss xmm3, dword [0x180062498]
movss xmm2, dword [0x1800624fc]
movss xmm1, dword [0x1800624d8]
mov rcx, qword [rax + 0x40]
mov ecx, dword [rcx]
add rsp, 0x20
pop rbx
jmp fcn.180038ce0
jmp 0x18003cf10