Function at 0x180015660
Capabilities:
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
push rdi
sub rsp, 0x120
mov qword [rax + 0x10], rbx
mov rdi, rcx
mov qword [rax - 0x10], rbp
mov qword [rax - 0x18], rsi
mov esi, dword [rsp + 0x178]
mov qword [rax - 0x20], r12
mov r12d, r8d
mov qword [rax - 0x28], r13
lea r8, [rax + 8]
mov qword [rax - 0x30], r14
mov r13, rdx
mov qword [rax - 0x38], r15
mov edx, esi
movaps xmmword [rax - 0x48], xmm6
mov r15d, r9d
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
call fcn.180013810
movss xmm8, dword [rsp + 0x170]
xor ebx, ebx
mov r11d, eax
movss xmm9, dword [rsp + 0x168]
mov edx, esi
movss xmm6, dword [rsp + 0x160]
mov rcx, rdi
movss xmm7, dword [rsp + 0x158]
mov dword [rsp + 0x140], eax
cmp dword [rdi + 0x4c], ebx
je 0x180015746
xorps xmm0, xmm0
mov qword [rsp + 0x78], 1
xorps xmm1, xmm1
mov qword [rsp + 0xa0], rbx
lea r8, [rsp + 0x78]
mov dword [rsp + 0xa8], ebx
movups xmmword [rsp + 0x80], xmm0
movdqu xmmword [rsp + 0x90], xmm1
call fcn.180012380
test eax, eax
mov r10d, ebx
mov edi, ebx
cmovne r10d, dword [rsp + 0x90]
cmovne edi, dword [rsp + 0x9c]
jmp 0x180015793
call fcn.180011080
test eax, eax
js 0x1800157da
mov r8, qword [rdi + 8]
mov r11d, 0x100
movsxd r9, eax
movsx eax, r11w
movsx ecx, r11w
movzx edx, byte [r8 + r9 + 2]
imul edx, eax
movzx eax, byte [r8 + r9 + 3]
add dx, ax
movzx eax, byte [r8 + r9 + 9]
movsx r10d, dx
movzx edx, byte [r8 + r9 + 8]
imul edx, ecx
add dx, ax
movsx edi, dx
xorps xmm0, xmm0
cvtsi2ss xmm0, r10d
mulss xmm0, xmm7
addss xmm0, xmm9
cvtps2pd xmm0, xmm0
call fcn.1800415d0
cvttsd2si ebp, xmm0
xorps xmm1, xmm1
movaps xmm0, xmm8
cvtsi2ss xmm1, edi
mulss xmm1, xmm6
subss xmm0, xmm1
cvtps2pd xmm0, xmm0
call fcn.1800415d0
mov r11d, dword [rsp + 0x140]
cvttsd2si r14d, xmm0
jmp 0x1800157df
mov ebp, ebx
mov r14d, ebx
mov eax, dword [rsp + 0x150]
test r12d, r12d
mov rdi, qword [rsp + 0x130]
mov qword [rsp + 0x70], r13
mov r13, qword [rsp + 0x100]
mov dword [rsp + 0x60], r12d
mov r12, qword [rsp + 0x108]
mov dword [rsp + 0x68], eax
mov dword [rsp + 0x64], r15d
je 0x1800158e9
test r15d, r15d
je 0x1800158e9
movss xmm2, dword [0x18029dd68]
lea rax, [rsp + 0x150]
movaps xmm0, xmm6
mov dword [rsp + 0x150], ebx
minss xmm0, xmm7
mov qword [rsp + 0x130], rbx
lea r9, [rsp + 0x130]
mov qword [rsp + 0x20], rax
mov edx, r11d
mov rcx, rdi
divss xmm2, xmm0
call fcn.180015280
mov rsi, rax
test rax, rax
je 0x1800158e9
mov rbx, qword [rsp + 0x130]
lea rcx, [rsp + 0x60]
mov r9d, dword [rsp + 0x150]
mov r8, rbx
mov dword [rsp + 0x48], r14d
mov rdx, rax
mov dword [rsp + 0x40], ebp
movss dword [rsp + 0x38], xmm8
movss dword [rsp + 0x30], xmm9
movss dword [rsp + 0x28], xmm6
movss dword [rsp + 0x20], xmm7
call fcn.1800148b0
test rbx, rbx
je 0x1800158c7
mov rax, qword [0x1802ed010]
test rax, rax
je 0x1800158c7
dec dword [rax + 0x3b4]
mov rcx, rbx
call fcn.180042b90
mov rax, qword [0x1802ed010]
test rax, rax
je 0x1800158e1
dec dword [rax + 0x3b4]
mov rcx, rsi
call fcn.180042b90
movaps xmm9, xmmword [rsp + 0xb0]
movaps xmm8, xmmword [rsp + 0xc0]
movaps xmm7, xmmword [rsp + 0xd0]
movaps xmm6, xmmword [rsp + 0xe0]
mov r15, qword [rsp + 0xf0]
mov r14, qword [rsp + 0xf8]
mov rsi, qword [rsp + 0x110]
mov rbp, qword [rsp + 0x118]
mov rbx, qword [rsp + 0x138]
test rdi, rdi
je 0x18001594a
mov rax, qword [0x1802ed010]
test rax, rax
je 0x18001594a
dec dword [rax + 0x3b4]
mov rcx, rdi
add rsp, 0x120
pop rdi
jmp fcn.180042b90