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

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
mov qword [rax + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x958]
sub rsp, 0xa20
vmovaps xmmword [rax - 0x48], xmm6
vmovaps xmmword [rax - 0x58], xmm7
vmovaps xmmword [rax - 0x68], xmm8
vmovaps xmmword [rax - 0x78], xmm9
vmovaps xmmword [rax - 0x88], xmm10
vmovaps xmmword [rax - 0x98], xmm11
vmovaps xmmword [rax - 0xa8], xmm12
vmovaps xmmword [rax - 0xb8], xmm13
vmovaps xmmword [rax - 0xc8], xmm14
vmovaps xmmword [rax - 0xd8], xmm15
mov r12, qword [0x18023d8e0]
mov qword [rbp + 0x968], r12
cmp byte [0x18024d851], 0
je 0x1801706bc
test r12, r12
je 0x1801706bc
xor edx, edx
mov r8d, 0x800
lea rcx, [rbp + 0x80]
call sub.VCRUNTIME140.dll_memset
lea rcx, [rbp + 0x80]
call fcn.180171100
lea rax, [0x180244884]
lea r8, [rbp + 0x90]
sub r8, rax
lea r9, [rbp + 0x94]
sub r9, rax
lea r10, [rbp + 0xb0]
sub r10, rax
lea r11, [rbp + 0xb4]
sub r11, rax
lea rbx, [rbp + 0xd0]
sub rbx, rax
mov edx, 0x54
lea r14, [0x18024488c]
lea r15, [0x180244894]
lea r13, [0x180244898]
mov edi, 8
lea rsi, [0x180244880]
lea r12, [0x18024489c]
nop dword [rax]
nop word [rax + rax]
mov eax, dword [rbp + rdx + 0x2c]
mov dword [rdx + rsi - 0x50], eax
mov eax, dword [rbp + rdx + 0x30]
mov dword [rdx + rsi - 0x4c], eax
mov eax, dword [rbp + rdx + 0x34]
mov dword [rdx + rsi - 0x48], eax
mov eax, dword [rbp + rdx + 0x38]
mov dword [rdx + rsi - 0x44], eax
lea rcx, [rdx + rsi]
mov eax, dword [r8 + rcx - 0x50]
mov dword [rdx + rsi - 0x40], eax
mov eax, dword [rcx + r9 - 0x50]
mov dword [rdx + rsi - 0x3c], eax
mov eax, dword [rbp + rdx + 0x44]
mov dword [rdx + rsi - 0x38], eax
movzx eax, byte [rbp + rdx + 0x48]
mov byte [rdx + rsi - 0x34], al
mov eax, dword [rbp + rdx + 0x4c]
mov dword [rdx + rsi - 0x30], eax
mov eax, dword [rbp + rdx + 0x50]
mov dword [rdx + rsi - 0x2c], eax
mov eax, dword [rbp + rdx + 0x54]
mov dword [rdx + rsi - 0x28], eax
mov eax, dword [rbp + rdx + 0x58]
mov dword [rdx + rsi - 0x24], eax
mov eax, dword [rcx + r10 - 0x50]
mov dword [rdx + rsi - 0x20], eax
mov eax, dword [rcx + r11 - 0x50]
mov dword [rdx + rsi - 0x1c], eax
mov eax, dword [rbp + rdx + 0x64]
mov dword [rdx + rsi - 0x18], eax
movzx eax, byte [rbp + rdx + 0x68]
mov byte [rdx + rsi - 0x14], al
mov eax, dword [rbp + rdx + 0x6c]
mov dword [rdx + rsi - 0x10], eax
mov eax, dword [rbp + rdx + 0x70]
mov dword [rdx + rsi - 0xc], eax
mov eax, dword [rbp + rdx + 0x74]
mov dword [rdx + rsi - 8], eax
mov eax, dword [rbp + rdx + 0x78]
mov dword [rdx + rsi - 4], eax
mov eax, dword [rcx + rbx - 0x50]
mov dword [rdx + rsi], eax
mov eax, dword [rbp + rdx + 0x80]
mov dword [rdx + rsi + 4], eax
mov eax, dword [rbp + rdx + 0x84]
mov dword [rdx + rsi + 8], eax
movzx eax, byte [rbp + rdx + 0x88]
mov byte [r14 + rdx], al
mov eax, dword [rbp + rdx + 0x8c]
lea rcx, [0x180244890]
mov dword [rcx + rdx], eax
mov eax, dword [rbp + rdx + 0x90]
mov dword [r15 + rdx], eax
mov eax, dword [rbp + rdx + 0x94]
mov dword [rdx + r13], eax
mov eax, dword [rbp + rdx + 0x98]
mov dword [r12 + rdx], eax
mov eax, dword [rbp + rdx + 0x9c]
mov dword [rdx + rsi + 0x20], eax
mov eax, dword [rbp + rdx + 0xa0]
mov dword [rdx + rsi + 0x24], eax
mov eax, dword [rbp + rdx + 0xa4]
lea rcx, [0x1802448a8]
mov dword [rcx + rdx], eax
movzx eax, byte [rbp + rdx + 0xa8]
lea rcx, [0x1802448ac]
mov byte [rcx + rdx], al
mov eax, dword [rbp + rdx + 0xac]
lea rcx, [0x1802448b0]
mov dword [rcx + rdx], eax
mov eax, dword [rbp + rdx + 0xb0]
lea rcx, [0x1802448b4]
mov dword [rcx + rdx], eax
mov eax, dword [rbp + rdx + 0xb4]
lea rcx, [0x1802448b8]
mov dword [rcx + rdx], eax
mov eax, dword [rbp + rdx + 0xb8]
lea rcx, [0x1802448bc]
mov dword [rcx + rdx], eax
mov eax, dword [rbp + rdx + 0xbc]
mov dword [rdx + rsi + 0x40], eax
mov eax, dword [rbp + rdx + 0xc0]
mov dword [rdx + rsi + 0x44], eax
mov eax, dword [rbp + rdx + 0xc4]
lea rcx, [0x1802448c8]
mov dword [rcx + rdx], eax
movzx eax, byte [rbp + rdx + 0xc8]
lea rcx, [0x1802448cc]
mov byte [rcx + rdx], al
mov eax, dword [rbp + rdx + 0xcc]
lea rcx, [0x1802448d0]
mov dword [rcx + rdx], eax
mov eax, dword [rbp + rdx + 0xd0]
lea rcx, [0x1802448d4]
mov dword [rcx + rdx], eax
mov eax, dword [rbp + rdx + 0xd4]
lea rcx, [0x1802448d8]
mov dword [rcx + rdx], eax
mov eax, dword [rbp + rdx + 0xd8]
lea rcx, [0x1802448dc]
mov dword [rcx + rdx], eax
mov eax, dword [rbp + rdx + 0xdc]
mov dword [rdx + rsi + 0x60], eax
mov eax, dword [rbp + rdx + 0xe0]
mov dword [rdx + rsi + 0x64], eax
mov eax, dword [rbp + rdx + 0xe4]
lea rcx, [0x1802448e8]
mov dword [rcx + rdx], eax
movzx eax, byte [rbp + rdx + 0xe8]
lea rcx, [0x1802448ec]
mov byte [rcx + rdx], al
mov eax, dword [rbp + rdx + 0xec]
lea rcx, [0x1802448f0]
mov dword [rcx + rdx], eax
mov eax, dword [rbp + rdx + 0xf0]
lea rcx, [0x1802448f4]
mov dword [rcx + rdx], eax
mov eax, dword [rbp + rdx + 0xf4]
lea rcx, [0x1802448f8]
mov dword [rcx + rdx], eax
mov eax, dword [rbp + rdx + 0xf8]
lea rcx, [0x1802448fc]
mov dword [rcx + rdx], eax
mov eax, dword [rbp + rdx + 0xfc]
mov dword [rdx + rsi + 0x80], eax
mov eax, dword [rbp + rdx + 0x100]
mov dword [rdx + rsi + 0x84], eax
mov eax, dword [rbp + rdx + 0x104]
lea rcx, [0x180244908]
mov dword [rcx + rdx], eax
movzx eax, byte [rbp + rdx + 0x108]
lea rcx, [0x18024490c]
mov byte [rcx + rdx], al
mov eax, dword [rbp + rdx + 0x10c]
lea rcx, [0x180244910]
mov dword [rcx + rdx], eax
mov eax, dword [rbp + rdx + 0x110]
lea rcx, [0x180244914]
mov dword [rcx + rdx], eax
mov eax, dword [rbp + rdx + 0x114]
lea rcx, [0x180244918]
mov dword [rcx + rdx], eax
mov eax, dword [rbp + rdx + 0x118]
lea rcx, [0x18024491c]
mov dword [rcx + rdx], eax
mov eax, dword [rbp + rdx + 0x11c]
mov dword [rdx + rsi + 0xa0], eax
mov eax, dword [rbp + rdx + 0x120]
mov dword [rdx + rsi + 0xa4], eax
mov eax, dword [rbp + rdx + 0x124]
lea rcx, [0x180244928]
mov dword [rcx + rdx], eax
movzx eax, byte [rbp + rdx + 0x128]
lea rcx, [0x18024492c]
mov byte [rcx + rdx], al
lea rdx, [rdx + 0x100]
sub rdi, 1
jne 0x18016fdc0
vxorps xmm10, xmm10, xmm10
vmovss dword [rbp - 0x30], xmm10
xor r13d, r13d
mov qword [rbp - 0x28], r13
mov qword [rbp - 0x20], r13
mov ecx, 0x28
call fcn.180190644
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x18], r13
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [rbp - 0x10], xmm0
mov qword [rbp], 7
mov qword [rbp + 8], 8
vmovss xmm0, dword [0x180218a50]
vmovss dword [rbp - 0x30], xmm0
mov r8, rax
mov edx, 0x10
lea rcx, [rbp - 0x18]
call fcn.1800991c0
nop
mov dword [rbp + 0x960], 0x11
lea r8, [rbp + 0x960]
lea rdx, [rsp + 0x50]
lea rcx, [0x18023d900]
call fcn.1800c8090
mov rcx, qword [rax]
mov r14, qword [rcx + 0x20]
mov rdi, qword [rcx + 0x18]
cmp rdi, r14
mov r12, qword [rbp + 0x968]
je 0x18017022d
nop
mov rbx, qword [rdi]
mov rcx, rbx
call fcn.18014ad60
mov r9, qword [0x180243ec0]
mov rcx, qword [r9]
mov r8, qword [rcx + 0x20]
mov eax, dword [rax]
mov dword [rbp + 0x960], eax
lea rdx, [rbp + 0x960]
mov rcx, r9
call r8
mov rsi, rax
test rax, rax
je 0x180170224
mov rcx, rbx
call fcn.1800bdce0
mov rbx, rax
mov qword [rbp + 0x968], rsi
lea r8, [rbp + 0x968]
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x30]
call fcn.18014ccb0
mov r8, qword [rax]
mov ecx, dword [rbx]
mov dword [r8 + 0x18], ecx
mov edx, dword [rbx + 4]
mov dword [r8 + 0x1c], edx
mov eax, dword [rbx + 8]
mov dword [r8 + 0x20], eax
add rdi, 8
cmp rdi, r14
jne 0x1801701b0
mov dword [rbp + 0x960], 1
lea r8, [rbp + 0x960]
lea rdx, [rsp + 0x50]
lea rcx, [0x18023d900]
call fcn.1800c8090
mov rcx, qword [rax]
mov r15, qword [rcx + 0x20]
mov r14, qword [rcx + 0x18]
cmp r14, r15
je 0x1801706b3
vmovss xmm15, dword [0x18021894c]
vmovss xmm14, dword [0x180218d0c]
nop dword [rax]
nop word [rax + rax]
mov rdi, qword [r14]
mov rax, qword [rdi + 0x10]
lea rcx, [rdi + 0x10]
call qword [rax + 0x48]
mov rcx, rdi
call fcn.1800de120
mov rcx, qword [0x180243ec0]
mov rdx, qword [rcx]
mov r8, qword [rdx + 0x20]
mov eax, dword [rax]
mov dword [rbp + 0x960], eax
lea rdx, [rbp + 0x960]
call r8
mov rbx, rax
mov rcx, rdi
call fcn.1800bcf40
cmp byte [rax], 0
jne 0x1801706a6
mov rcx, rdi
call fcn.1800bd250
mov ecx, dword [rax]
shr ecx, 0xd
test cl, 1
jne 0x1801706a6
mov rax, qword [rdi + 0x10]
lea rcx, [rdi + 0x10]
call qword [rax + 0x40]
test al, al
jne 0x1801706a6
xor edx, edx
mov rcx, rdi
call fcn.1800bea50
test al, al
je 0x1801706a6
test rbx, rbx
je 0x1801706a6
mov rax, qword [rbx]
mov rdx, qword [rax + 0xbe8]
mov rcx, rbx
call rdx
cmp eax, 0x3d
je 0x1801706a6
mov rax, qword [rbx]
mov rdx, qword [rax + 0xbe8]
mov rcx, rbx
call rdx
cmp eax, 0x12
je 0x1801706a6
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x48]
mov rbx, rax
lea rdx, [rbp + 0x60]
mov rcx, rdi
call fcn.1800be8e0
vmovss xmm0, dword [rbx + 8]
vaddss xmm11, xmm0, dword [rax + 8]
vmovss xmm1, dword [rbx + 4]
vaddss xmm12, xmm1, dword [rax + 4]
vmovss xmm0, dword [rbx]
vaddss xmm13, xmm0, dword [rax]
mov rcx, rdi
call fcn.1800de220
vmovss xmm6, dword [rax]
mov rcx, rdi
call fcn.1800de320
vmovss xmm7, dword [rax]
vmulss xmm6, xmm15, xmm6
vmovaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
vmovaps xmm9, xmm0
vmovaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
vmovaps xmm8, xmm0
vmulss xmm6, xmm15, xmm7
vmovaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
vmovaps xmm7, xmm0
vmovaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
vmulss xmm2, xmm8, xmm0
vmulss xmm1, xmm7, xmm8
vxorps xmm3, xmm9, xmmword [0x180219380]
mov rax, rdi
shr rax, 8
movzx edx, al
movzx eax, dil
movabs rcx, 0xcbf29ce484222325
xor rax, rcx
movabs r8, 0x100000001b3
imul rax, r8
xor rdx, rax
imul rdx, r8
mov rax, rdi
shr rax, 0x10
movzx ecx, al
xor rdx, rcx
imul rdx, r8
mov rax, rdi
shr rax, 0x18
movzx ecx, al
xor rdx, rcx
imul rdx, r8
mov rax, rdi
shr rax, 0x20
movzx ecx, al
xor rdx, rcx
imul rdx, r8
mov rax, rdi
shr rax, 0x28
movzx ecx, al
xor rdx, rcx
imul rdx, r8
mov rax, rdi
shr rax, 0x30
movzx ecx, al
xor rdx, rcx
imul rdx, r8
mov rax, rdi
shr rax, 0x38
xor rdx, rax
imul rdx, r8
mov rcx, qword [rbp]
and rcx, rdx
add rcx, rcx
mov rdx, qword [rbp - 0x18]
mov rax, qword [rdx + rcx*8 + 8]
cmp rax, qword [rbp - 0x28]
je 0x1801704a1
mov rcx, qword [rdx + rcx*8]
cmp rdi, qword [rax + 0x10]
je 0x1801704a4
nop dword [rax]
cmp rax, rcx
je 0x1801704a1
mov rax, qword [rax + 8]
cmp rdi, qword [rax + 0x10]
jne 0x180170490
jmp 0x1801704a4
mov rax, r13
test rax, rax
je 0x1801704d8
mov qword [rbp + 0x968], rdi
lea r8, [rbp + 0x968]
lea rdx, [rbp + 0x70]
lea rcx, [rbp - 0x30]
call fcn.18014ccb0
mov rcx, qword [rax]
vmovss xmm1, dword [rcx + 0x18]
vmovss xmm4, dword [rcx + 0x1c]
vmovss xmm3, dword [rcx + 0x20]
jmp 0x1801704f6
vmulss xmm0, xmm3, xmm14
vmulss xmm1, xmm1, xmm14
vmulss xmm2, xmm2, xmm14
vaddss xmm3, xmm0, xmm11
vaddss xmm4, xmm1, xmm12
vaddss xmm1, xmm2, xmm13
lea rax, vtable.CTraceFilterHitscan.0
mov qword [rsp + 0x50], rax
vmovss dword [rsp + 0x68], xmm10
vmovss dword [rsp + 0x64], xmm10
vmovss dword [rsp + 0x60], xmm10
vmovss dword [rsp + 0x74], xmm10
vmovss dword [rsp + 0x70], xmm10
vmovss dword [rsp + 0x6c], xmm10
vmovups xmmword [rsp + 0x78], xmm10
mov dword [rbp - 0x78], 0
vmovss dword [rbp - 0x74], xmm10
mov qword [rbp - 0x70], r13
vmovss dword [rbp - 0x68], xmm10
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rbp - 0x60], xmm0
mov dword [rbp - 0x50], r13d
mov word [rbp - 0x4c], r13w
mov qword [rbp - 0x48], r13
mov dword [rbp - 0x40], r13d
mov qword [rsp + 0x58], rdi
vmovss dword [rbp + 0x1c], xmm10
vmovss dword [rbp + 0x2c], xmm10
vmovss dword [rbp + 0x3c], xmm10
vmovss dword [rbp + 0x4c], xmm10
vsubss xmm3, xmm3, xmm11
vsubss xmm2, xmm4, xmm12
vsubss xmm0, xmm1, xmm13
vmovss dword [rbp + 0x20], xmm0
vmovss dword [rbp + 0x24], xmm2
vmovss dword [rbp + 0x28], xmm3
vmulss xmm1, xmm0, xmm0
vmulss xmm0, xmm2, xmm2
vaddss xmm2, xmm1, xmm0
vmulss xmm1, xmm3, xmm3
vaddss xmm3, xmm2, xmm1
vucomiss xmm3, xmm10
jp 0x1801705b3
mov byte [rbp + 0x51], 0
je 0x1801705b7
mov byte [rbp + 0x51], 1
vmovss dword [rbp + 0x40], xmm10
vmovss dword [rbp + 0x44], xmm10
vmovss dword [rbp + 0x48], xmm10
mov byte [rbp + 0x50], 1
vmovss dword [rbp + 0x30], xmm10
vmovss dword [rbp + 0x34], xmm10
vmovss dword [rbp + 0x38], xmm10
vmovss dword [rbp + 0x10], xmm13
vmovss dword [rbp + 0x14], xmm12
vmovss dword [rbp + 0x18], xmm11
mov rcx, qword [0x180243f30]
mov rax, qword [rcx]
lea rdx, [rsp + 0x60]
mov qword [rsp + 0x20], rdx
lea r9, [rsp + 0x50]
mov r8d, 0x46004003
lea rdx, [rbp + 0x10]
call qword [rax + 0x20]
vmovss dword [rsp + 0x30], xmm13
vmovss dword [rsp + 0x34], xmm12
vmovss dword [rsp + 0x38], xmm11
vmovss xmm0, dword [rsp + 0x6c]
vmovss dword [rsp + 0x3c], xmm0
vmovss xmm1, dword [rsp + 0x70]
vmovss dword [rsp + 0x40], xmm1
vmovss xmm0, dword [rsp + 0x74]
vmovss dword [rsp + 0x44], xmm0
movzx eax, byte [0x180252f21]
mov byte [rsp + 0x20], al
mov r9, rdi
mov r8, r12
lea rdx, [rsp + 0x48]
call fcn.180187840
mov rax, qword [rdi + 0x10]
lea rcx, [rdi + 0x10]
call qword [rax + 0x48]
movsxd rcx, eax
shl rcx, 5
lea rax, [0x180244884]
add rcx, rax
vmovups xmm0, xmmword [rsp + 0x30]
vmovups xmmword [rcx], xmm0
vmovss xmm0, dword [rsp + 0x40]
vmovss dword [rcx + 0x10], xmm0
vmovss xmm1, dword [rsp + 0x44]
vmovss dword [rcx + 0x14], xmm1
mov eax, dword [rsp + 0x48]
mov dword [rcx + 0x18], eax
mov byte [rcx + 0x1c], 1
add r14, 8
cmp r14, r15
jne 0x180170280
lea rcx, [rbp - 0x30]
call fcn.1800abb30
lea r11, [rsp + 0xa20]
mov rbx, qword [r11 + 0x50]
vmovaps xmm6, xmmword [r11 - 0x10]
vmovaps xmm7, xmmword [r11 - 0x20]
vmovaps xmm8, xmmword [r11 - 0x30]
vmovaps xmm9, xmmword [r11 - 0x40]
vmovaps xmm10, xmmword [r11 - 0x50]
vmovaps xmm11, xmmword [r11 - 0x60]
vmovaps xmm12, xmmword [r11 - 0x70]
vmovaps xmm13, xmmword [r11 - 0x80]
vmovaps xmm14, xmmword [r11 - 0x90]
vmovaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret