Function at 0x1800018d4
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r12
push r14
push r15
sub rsp, 0x50
mov rdi, qword [0x18001e350]
mov r15, rdx
movaps xmmword [rax - 0x28], xmm7
mov r12, rcx
movaps xmmword [rax - 0x38], xmm8
movaps xmmword [rax - 0x48], xmm9
test rdi, rdi
jne 0x1800019a4
mov rax, qword gs:[0x60]
mov r8, qword [rax + 0x18]
mov rbx, qword [r8 + 0x10]
mov r10, rbx
mov r8, qword [r10 + 0x30]
movsxd rax, dword [r8 + 0x3c]
mov r9d, dword [rax + r8 + 0x88]
add r9, r8
cmp r9, r8
je 0x180001990
mov edx, dword [r9 + 0x18]
test edx, edx
je 0x180001990
mov esi, dword [r9 + 0x20]
dec edx
mov r11d, 0x811c9dc5
lea rax, [rsi + rdx*4]
mov ecx, dword [rax + r8]
add rcx, r8
mov al, byte [rcx]
inc rcx
test al, al
je 0x18000198c
movsx eax, al
xor eax, r11d
imul r11d, eax, 0x1000193
mov al, byte [rcx]
inc rcx
test al, al
jne 0x180001969
cmp r11d, 0x58336ad5
je 0x180001b5f
test edx, edx
jne 0x18000194d
mov rax, qword [r10]
mov r10, rax
cmp rax, rbx
jne 0x180001929
xor edi, edi
mov qword [0x18001e350], rdi
movsd xmm9, qword [r15]
mov r9, rdi
subsd xmm9, qword [r12]
test rdi, rdi
jne 0x180001a4a
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rbx, qword [rcx + 0x10]
mov r10, rbx
mov r8, qword [r10 + 0x30]
movsxd rax, dword [r8 + 0x3c]
mov r9d, dword [rax + r8 + 0x88]
add r9, r8
cmp r9, r8
je 0x180001a35
mov edx, dword [r9 + 0x18]
test edx, edx
je 0x180001a35
mov ebp, dword [r9 + 0x20]
dec edx
mov r11d, 0x811c9dc5
lea rax, [r8 + rdx*4]
mov ecx, dword [rax + rbp]
add rcx, r8
mov al, byte [rcx]
inc rcx
test al, al
je 0x180001a31
movsx eax, al
xor eax, r11d
imul r11d, eax, 0x1000193
mov al, byte [rcx]
inc rcx
test al, al
jne 0x180001a0e
cmp r11d, 0x58336ad5
je 0x180001b7c
test edx, edx
jne 0x1800019f3
mov rax, qword [r10]
mov r10, rax
cmp rax, rbx
jne 0x1800019cf
xor r9d, r9d
mov qword [0x18001e350], r9
movsd xmm0, qword [r15 + 8]
mov rbx, r9
subsd xmm0, qword [r12 + 8]
test r9, r9
jne 0x180001aee
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rsi, qword [rcx + 0x10]
mov r11, rsi
mov r8, qword [r11 + 0x30]
movsxd rax, dword [r8 + 0x3c]
mov r10d, dword [rax + r8 + 0x88]
add r10, r8
cmp r10, r8
je 0x180001ada
mov edx, dword [r10 + 0x18]
test edx, edx
je 0x180001ada
mov r14d, dword [r10 + 0x20]
dec edx
mov ebx, 0x811c9dc5
lea rax, [r8 + rdx*4]
mov ecx, dword [rax + r14]
add rcx, r8
mov al, byte [rcx]
inc rcx
test al, al
je 0x180001ad6
movsx eax, al
xor eax, ebx
imul ebx, eax, 0x1000193
mov al, byte [rcx]
inc rcx
test al, al
jne 0x180001ab6
cmp ebx, 0x58336ad5
je 0x180001b9a
test edx, edx
jne 0x180001a9b
mov rax, qword [r11]
mov r11, rax
cmp rax, rsi
jne 0x180001a77
xor ebx, ebx
mov qword [0x18001e350], rbx
movsd xmm8, qword [r15 + 0x10]
movsd xmm1, qword [0x18001b178]
subsd xmm8, qword [r12 + 0x10]
call r9
movsd xmm1, qword [0x18001b178]
movaps xmm7, xmm0
movaps xmm0, xmm9
call rdi
movsd xmm1, qword [0x18001b178]
addsd xmm7, xmm0
movaps xmm0, xmm8
call rbx
addsd xmm0, xmm7
movaps xmm7, xmmword [rsp + 0x40]
lea r11, [rsp + 0x50]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
movaps xmm8, xmmword [r11 - 0x20]
movaps xmm9, xmmword [r11 - 0x30]
mov rsp, r11
pop r15
pop r14
pop r12
jmp fcn.1800115a4
mov ecx, dword [r9 + 0x24]
add rcx, r8
movzx edx, word [rcx + rdx*2]
mov ecx, dword [r9 + 0x1c]
add rcx, r8
mov edi, dword [rcx + rdx*4]
add rdi, r8
jmp 0x18000199d
mov ecx, dword [r9 + 0x24]
add rcx, r8
movzx edx, word [rcx + rdx*2]
mov ecx, dword [r9 + 0x1c]
add rcx, r8
mov r9d, dword [rcx + rdx*4]
add r9, r8
jmp 0x180001a43
mov ecx, dword [r10 + 0x24]
add rcx, r8
movzx edx, word [rcx + rdx*2]
mov ecx, dword [r10 + 0x1c]
add rcx, r8
mov ebx, dword [rcx + rdx*4]
add rbx, r8
jmp 0x180001ae7