Function at 0x18018d080
Capabilities:
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x178]
sub rsp, 0x238
vmovaps xmmword [rax - 0x58], xmm6
vmovaps xmmword [rax - 0x68], xmm7
vmovaps xmmword [rax - 0x78], xmm8
vmovaps xmmword [rax - 0x88], xmm9
vmovaps xmmword [rax - 0x98], xmm10
vmovaps xmmword [rax - 0xa8], xmm11
vmovaps xmmword [rax - 0xb8], xmm12
vmovaps xmmword [rax - 0xc8], xmm13
vmovaps xmmword [rax - 0xd8], xmm14
vmovaps xmmword [rax - 0xe8], xmm15
mov r12, qword [0x180268200]
cmp byte [0x180270bc1], 0
je 0x18018d7ef
test r12, r12
je 0x18018d7ef
mov rax, qword [0x180262788]
cmp rax, qword [0x180262790]
je 0x18018d11c
mov qword [0x180262790], rax
vxorps xmm10, xmm10, xmm10
vmovss dword [rsp + 0x60], xmm10
xor ebx, ebx
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x70], rbx
lea ecx, [rbx + 0x28]
call fcn.1801b3ce4
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x78], rbx
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x70], 7
mov qword [rbp - 0x68], 8
vmovss xmm0, dword [0x18023bc20]
vmovss dword [rsp + 0x60], xmm0
mov r8, rax
lea edx, [rbx + 0x10]
lea rcx, [rsp + 0x78]
call fcn.1800a0700
nop
mov dword [rbp + 0x180], 0x12
lea r8, [rbp + 0x180]
lea rdx, [rsp + 0x50]
lea rcx, [0x180268220]
call fcn.1801ac590
mov rcx, qword [rax]
mov r14, qword [rcx + 0x20]
mov rdi, qword [rcx + 0x18]
cmp rdi, r14
je 0x18018d23b
nop word [rax + rax]
mov rbx, qword [rdi]
mov rcx, rbx
call fcn.180158e60
mov r9, qword [0x180267710]
mov rcx, qword [r9]
mov r8, qword [rcx + 0x20]
mov eax, dword [rax]
mov dword [rbp + 0x180], eax
lea rdx, [rbp + 0x180]
mov rcx, r9
call r8
mov rsi, rax
test rax, rax
je 0x18018d232
mov rcx, rbx
call fcn.1800c4990
mov rbx, rax
mov qword [rbp + 0x188], rsi
lea r8, [rbp + 0x188]
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x60]
call fcn.180161bf0
mov rdx, qword [rax]
mov ecx, dword [rbx]
mov dword [rdx + 0x18], ecx
mov ecx, dword [rbx + 4]
mov dword [rdx + 0x1c], ecx
mov eax, dword [rbx + 8]
mov dword [rdx + 0x20], eax
add rdi, 8
cmp rdi, r14
jne 0x18018d1c0
mov dword [rbp + 0x180], 1
lea r8, [rbp + 0x180]
lea rdx, [rsp + 0x50]
lea rcx, [0x180268220]
call fcn.1801ac590
mov rcx, qword [rax]
mov r15, qword [rcx + 0x18]
mov r13, qword [rcx + 0x20]
cmp r15, r13
je 0x18018d7e5
lea r14, vtable.CTraceFilterHitscan.0
vmovss xmm15, dword [0x18023baf0]
vmovss xmm14, dword [0x18023bee0]
nop dword [rax + rax]
mov rdi, qword [r15]
mov qword [rbp + 0x190], rdi
mov rcx, rdi
call fcn.1800e6780
mov rcx, qword [0x180267710]
mov rdx, qword [rcx]
mov r8, qword [rdx + 0x20]
mov eax, dword [rax]
mov dword [rbp + 0x180], eax
lea rdx, [rbp + 0x180]
call r8
mov rbx, rax
mov rdx, qword [rdi + 0x10]
lea rcx, [rdi + 0x10]
call qword [rdx + 0x40]
test al, al
jne 0x18018d7d8
mov rcx, rdi
call fcn.1800c3e00
cmp byte [rax], 0
jne 0x18018d7d8
mov rcx, rdi
call fcn.1800c4100
mov ecx, dword [rax]
shr ecx, 0xd
test cl, 1
jne 0x18018d7d8
xor edx, edx
mov rcx, rdi
call fcn.1800c61c0
test al, al
je 0x18018d7d8
test rbx, rbx
je 0x18018d7d8
mov rax, qword [rbx]
mov rdx, qword [rax + 0xbe8]
mov rcx, rbx
call rdx
cmp eax, 0x3d
je 0x18018d7d8
mov rax, qword [rbx]
mov rdx, qword [rax + 0xbe8]
mov rcx, rbx
call rdx
cmp eax, 0x12
je 0x18018d7d8
mov rcx, rdi
call fcn.1800caf30
mov rbx, rax
lea rdx, [rbp + 0x60]
mov rcx, rdi
call fcn.1800c5fd0
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 [rax]
vaddss xmm13, xmm0, dword [rbx]
mov rcx, rdi
call fcn.1800ebea0
vmovss xmm6, dword [rax]
mov rcx, rdi
call fcn.1800ebfa0
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, xmm0, xmm8
vmulss xmm1, xmm7, xmm8
vxorps xmm3, xmm9, xmmword [0x18023c2b0]
movzx ecx, dil
movabs rax, 0xcbf29ce484222325
xor rcx, rax
movabs rdx, 0x100000001b3
imul rcx, rdx
movzx eax, byte [rbp + 0x191]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [rbp + 0x192]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [rbp + 0x193]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [rbp + 0x194]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [rbp + 0x195]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [rbp + 0x196]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [rbp + 0x197]
xor rcx, rax
imul rcx, rdx
mov rdx, qword [rbp - 0x70]
and rdx, rcx
add rdx, rdx
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx + rdx*8 + 8]
cmp rax, qword [rsp + 0x68]
jne 0x18018d481
xor ebx, ebx
mov eax, ebx
jmp 0x18018d4a1
mov rcx, qword [rcx + rdx*8]
cmp rdi, qword [rax + 0x10]
je 0x18018d49f
nop dword [rax + rax]
cmp rax, rcx
je 0x18018d47b
mov rax, qword [rax + 8]
cmp rdi, qword [rax + 0x10]
jne 0x18018d490
xor ebx, ebx
test rax, rax
je 0x18018d4d6
mov qword [rbp + 0x198], rdi
lea r8, [rbp + 0x198]
lea rdx, [rbp + 0x70]
lea rcx, [rsp + 0x60]
call fcn.180161bf0
mov rcx, qword [rax]
vmovss xmm4, dword [rcx + 0x18]
vmovss xmm5, dword [rcx + 0x1c]
vmovss xmm3, dword [rcx + 0x20]
jmp 0x18018d4f4
vmulss xmm0, xmm3, xmm14
vmulss xmm1, xmm1, xmm14
vmulss xmm2, xmm2, xmm14
vaddss xmm3, xmm0, xmm11
vaddss xmm5, xmm1, xmm12
vaddss xmm4, xmm2, xmm13
vxorps xmm0, xmm0, xmm0
vmovups xmmword [rbp - 0x10], xmm0
vxorps xmm1, xmm1, xmm1
vmovups xmmword [rbp], xmm1
vmovss dword [rbp + 0x10], xmm10
vmovss dword [rbp + 0x14], xmm10
mov dword [rbp + 0x18], 0
vmovss dword [rbp + 0x1c], xmm10
mov qword [rbp + 0x20], 0
vmovss dword [rbp + 0x28], xmm10
vmovups xmmword [rbp + 0x30], xmm0
mov dword [rbp + 0x40], ebx
mov word [rbp + 0x44], bx
mov qword [rbp + 0x48], rbx
mov dword [rbp + 0x50], ebx
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x58], rdi
vmovss dword [rbp - 0x54], xmm10
vmovss dword [rbp - 0x44], xmm10
vmovss dword [rbp - 0x34], xmm10
vmovss dword [rbp - 0x24], xmm10
vsubss xmm3, xmm3, xmm11
vsubss xmm2, xmm5, xmm12
vsubss xmm0, xmm4, xmm13
vmovss dword [rbp - 0x50], xmm0
vmovss dword [rbp - 0x4c], xmm2
vmovss dword [rbp - 0x48], 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 0x18018d599
mov byte [rbp - 0x1f], 0
je 0x18018d59d
mov byte [rbp - 0x1f], 1
vmovss dword [rbp - 0x30], xmm10
vmovss dword [rbp - 0x2c], xmm10
vmovss dword [rbp - 0x28], xmm10
mov byte [rbp - 0x20], 1
vmovss dword [rbp - 0x40], xmm10
vmovss dword [rbp - 0x3c], xmm10
vmovss dword [rbp - 0x38], xmm10
vmovss dword [rbp - 0x60], xmm13
vmovss dword [rbp - 0x5c], xmm12
vmovss dword [rbp - 0x58], xmm11
mov rcx, qword [0x180267788]
mov rax, qword [rcx]
lea rdx, [rbp - 0x10]
mov qword [rsp + 0x20], rdx
lea r9, [rsp + 0x50]
mov r8d, 0x46004003
lea rdx, [rbp - 0x60]
call qword [rax + 0x20]
vmovss dword [rsp + 0x30], xmm13
vmovss dword [rsp + 0x34], xmm12
vmovss dword [rsp + 0x38], xmm11
vmovss xmm6, dword [rbp - 4]
vmovss dword [rsp + 0x3c], xmm6
vmovss xmm7, dword [rbp]
vmovss dword [rsp + 0x40], xmm7
vmovss xmm8, dword [rbp + 4]
vmovss dword [rsp + 0x44], xmm8
movzx ebx, byte [0x1802760d1]
mov rcx, rdi
call fcn.1800c4a90
mov r14d, dword [rax]
mov rcx, r12
call fcn.1800c4a90
test bl, bl
je 0x18018d656
mov ebx, dword [0x180275254]
cmp dword [rax], r14d
cmove ebx, dword [0x1802756d4]
jmp 0x18018d67e
sub r14d, 2
je 0x18018d678
cmp r14d, 1
je 0x18018d670
mov dword [rsp + 0x48], 0xffffffff
mov ebx, dword [rsp + 0x48]
jmp 0x18018d682
mov ebx, dword [0x180275454]
jmp 0x18018d67e
mov ebx, dword [0x180275f54]
mov dword [rsp + 0x48], ebx
mov rax, qword [rdi + 0x10]
lea rcx, [rdi + 0x10]
call qword [rax + 0x10]
test rax, rax
je 0x18018d74e
cmp dword [rax + 0x28], 0xf7
jne 0x18018d74e
cmp r12, rdi
jne 0x18018d6b3
mov ebx, dword [0x1802753d4]
jmp 0x18018d74a
mov rax, qword [rdi + 0x10]
lea rcx, [rdi + 0x10]
call qword [rax + 0x48]
mov dword [rbp + 0x188], eax
lea r8, [rbp + 0x188]
lea rdx, [rbp + 0x80]
lea rcx, [0x1802684e0]
call fcn.1800b8f20
mov rcx, qword [rax]
cmp byte [rcx + 0x14], 0
je 0x18018d6f6
mov rbx, qword [0x180276aa0]
mov ebx, dword [rbx + 0xb0]
jmp 0x18018d74a
mov rax, qword [rdi + 0x10]
lea rcx, [rdi + 0x10]
call qword [rax + 0x48]
mov edx, eax
mov r8d, 1
lea rcx, [0x1802769d0]
call fcn.18015e820
test rax, rax
je 0x18018d71f
mov ebx, dword [rax + 0x20]
jmp 0x18018d74a
mov rcx, rdi
call fcn.1800c3f00
mov ecx, dword [rax]
shr ecx, 4
test cl, 1
je 0x18018d739
mov ebx, dword [0x180275e54]
jmp 0x18018d74a
mov rcx, rdi
call fcn.1800c64c0
test al, al
cmovne ebx, dword [0x180275bd4]
mov dword [rsp + 0x48], ebx
mov rax, qword [rdi + 0x10]
lea rcx, [rdi + 0x10]
call qword [rax + 0x48]
cmp eax, dword [0x180267948]
jne 0x18018d786
mov ecx, dword [0x18026794c]
mov rax, qword [0x180267770]
sub ecx, dword [rax + 0x18]
mov eax, ecx
neg eax
cmovs eax, ecx
cmp eax, 0x20
cmovl ebx, dword [0x180275a54]
mov dword [rsp + 0x48], ebx
mov rdx, qword [0x180262790]
cmp rdx, qword [0x180262798]
je 0x18018d7c0
vmovss dword [rdx], xmm13
vmovss dword [rdx + 4], xmm12
vmovss dword [rdx + 8], xmm11
vmovss dword [rdx + 0xc], xmm6
vmovss dword [rdx + 0x10], xmm7
vmovss dword [rdx + 0x14], xmm8
mov dword [rdx + 0x18], ebx
add qword [0x180262790], 0x1c
jmp 0x18018d7d1
lea r8, [rsp + 0x30]
lea rcx, [0x180262788]
call fcn.18018ef70
lea r14, vtable.CTraceFilterHitscan.0
add r15, 8
cmp r15, r13
jne 0x18018d290
lea rcx, [rsp + 0x60]
call fcn.1800b2c50
lea r11, [rsp + 0x238]
vmovaps xmm6, xmmword [r11 - 0x18]
vmovaps xmm7, xmmword [r11 - 0x28]
vmovaps xmm8, xmmword [r11 - 0x38]
vmovaps xmm9, xmmword [r11 - 0x48]
vmovaps xmm10, xmmword [r11 - 0x58]
vmovaps xmm11, xmmword [r11 - 0x68]
vmovaps xmm12, xmmword [r11 - 0x78]
vmovaps xmm13, xmmword [r11 - 0x88]
vmovaps xmm14, xmmword [r11 - 0x98]
vmovaps xmm15, xmmword [r11 - 0xa8]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret