Function at 0x1801a0040
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
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
movaps xmmword [rax - 0x98], xmm11
movaps xmmword [rax - 0xa8], xmm12
movaps xmmword [rax - 0xb8], xmm13
movaps xmmword [rax - 0xc8], xmm14
movaps xmmword [rax - 0xd8], xmm15
mov r12, qword [0x180285a40]
mov qword [rbp + 0x968], r12
cmp byte [0x180295d41], 0
je 0x1801a0aa3
test r12, r12
je 0x1801a0aa3
xor edx, edx
mov r8d, 0x800
lea rcx, [rbp + 0x80]
call sub.VCRUNTIME140.dll_memset
lea rcx, [rbp + 0x80]
call fcn.1801a1820
lea rax, [0x18028d2b4]
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 r13, [0x18028d2bc]
mov esi, 8
lea rdi, [0x18028d308]
mov r14, rdi
lea r15, [0x18028d2b0]
lea r12, [0x18028d2c4]
nop dword [rax]
mov eax, dword [rbp + rdx + 0x2c]
mov dword [rdx + r15 - 0x50], eax
mov eax, dword [rbp + rdx + 0x30]
mov dword [rdx + r15 - 0x4c], eax
mov eax, dword [rbp + rdx + 0x34]
mov dword [rdx + r15 - 0x48], eax
mov eax, dword [rbp + rdx + 0x38]
mov dword [rdx + r15 - 0x44], eax
mov eax, dword [rdi + r8 - 0x54]
mov dword [rdx + r15 - 0x40], eax
mov eax, dword [r14 + r9 - 0x54]
mov dword [rdx + r15 - 0x3c], eax
mov eax, dword [rbp + rdx + 0x44]
mov dword [rdx + r15 - 0x38], eax
movzx eax, byte [rbp + rdx + 0x48]
mov byte [rdx + r15 - 0x34], al
mov eax, dword [rbp + rdx + 0x4c]
mov dword [rdx + r15 - 0x30], eax
mov eax, dword [rbp + rdx + 0x50]
mov dword [rdx + r15 - 0x2c], eax
mov eax, dword [rbp + rdx + 0x54]
mov dword [rdx + r15 - 0x28], eax
mov eax, dword [rbp + rdx + 0x58]
mov dword [rdx + r15 - 0x24], eax
lea rcx, [rdx + r15]
mov eax, dword [r10 + rcx - 0x50]
mov dword [rdx + r15 - 0x20], eax
mov eax, dword [rcx + r11 - 0x50]
mov dword [rdx + r15 - 0x1c], eax
mov eax, dword [rbp + rdx + 0x64]
mov dword [rdx + r15 - 0x18], eax
movzx eax, byte [rbp + rdx + 0x68]
mov byte [rdx + r15 - 0x14], al
mov eax, dword [rbp + rdx + 0x6c]
mov dword [rdx + r15 - 0x10], eax
mov eax, dword [rbp + rdx + 0x70]
mov dword [rdx + r15 - 0xc], eax
mov eax, dword [rbp + rdx + 0x74]
mov dword [rdx + r15 - 8], eax
mov eax, dword [rbp + rdx + 0x78]
mov dword [rdx + r15 - 4], eax
mov eax, dword [rcx + rbx - 0x50]
mov dword [rdx + r15], eax
mov eax, dword [rbp + rdx + 0x80]
mov dword [rdx + r15 + 4], eax
mov eax, dword [rbp + rdx + 0x84]
mov dword [rdx + r15 + 8], eax
movzx eax, byte [rbp + rdx + 0x88]
mov byte [rdx + r13], al
mov eax, dword [rbp + rdx + 0x8c]
lea rcx, [0x18028d2c0]
mov dword [rdx + rcx], eax
mov eax, dword [rbp + rdx + 0x90]
mov dword [rdx + r12], eax
mov eax, dword [rbp + rdx + 0x94]
lea rcx, [0x18028d2c8]
mov dword [rdx + rcx], eax
mov eax, dword [rbp + rdx + 0x98]
lea rcx, [0x18028d2cc]
mov dword [rdx + rcx], eax
mov eax, dword [rbp + rdx + 0x9c]
mov dword [rdx + r15 + 0x20], eax
mov eax, dword [rbp + rdx + 0xa0]
mov dword [rdx + r15 + 0x24], eax
mov eax, dword [rbp + rdx + 0xa4]
lea rcx, [0x18028d2d8]
mov dword [rdx + rcx], eax
movzx eax, byte [rbp + rdx + 0xa8]
lea rcx, [0x18028d2dc]
mov byte [rdx + rcx], al
mov eax, dword [rbp + rdx + 0xac]
lea rcx, [0x18028d2e0]
mov dword [rdx + rcx], eax
mov eax, dword [rbp + rdx + 0xb0]
lea rcx, [0x18028d2e4]
mov dword [rdx + rcx], eax
mov eax, dword [rbp + rdx + 0xb4]
lea rcx, [0x18028d2e8]
mov dword [rdx + rcx], eax
mov eax, dword [rbp + rdx + 0xb8]
lea rcx, [0x18028d2ec]
mov dword [rdx + rcx], eax
mov eax, dword [rbp + rdx + 0xbc]
mov dword [rdx + r15 + 0x40], eax
mov eax, dword [rbp + rdx + 0xc0]
mov dword [rdx + r15 + 0x44], eax
mov eax, dword [rbp + rdx + 0xc4]
lea rcx, [0x18028d2f8]
mov dword [rdx + rcx], eax
movzx eax, byte [rbp + rdx + 0xc8]
lea rcx, [0x18028d2fc]
mov byte [rdx + rcx], al
mov eax, dword [rbp + rdx + 0xcc]
lea rcx, [0x18028d300]
mov dword [rdx + rcx], eax
mov eax, dword [rbp + rdx + 0xd0]
lea rcx, [0x18028d304]
mov dword [rdx + rcx], eax
mov eax, dword [rbp + rdx + 0xd4]
lea rcx, [0x18028d308]
mov dword [rdx + rcx], eax
mov eax, dword [rbp + rdx + 0xd8]
lea rcx, [0x18028d30c]
mov dword [rdx + rcx], eax
mov eax, dword [rbp + rdx + 0xdc]
mov dword [rdx + r15 + 0x60], eax
mov eax, dword [rbp + rdx + 0xe0]
mov dword [rdx + r15 + 0x64], eax
mov eax, dword [rbp + rdx + 0xe4]
lea rcx, [0x18028d318]
mov dword [rdx + rcx], eax
movzx eax, byte [rbp + rdx + 0xe8]
lea rcx, [0x18028d31c]
mov byte [rdx + rcx], al
mov eax, dword [rbp + rdx + 0xec]
lea rcx, [0x18028d320]
mov dword [rdx + rcx], eax
mov eax, dword [rbp + rdx + 0xf0]
lea rcx, [0x18028d324]
mov dword [rdx + rcx], eax
mov eax, dword [rbp + rdx + 0xf4]
lea rcx, [0x18028d328]
mov dword [rdx + rcx], eax
mov eax, dword [rbp + rdx + 0xf8]
lea rcx, [0x18028d32c]
mov dword [rdx + rcx], eax
mov eax, dword [rbp + rdx + 0xfc]
mov dword [rdx + r15 + 0x80], eax
mov eax, dword [rbp + rdx + 0x100]
mov dword [rdx + r15 + 0x84], eax
mov eax, dword [rbp + rdx + 0x104]
lea rcx, [0x18028d338]
mov dword [rdx + rcx], eax
movzx eax, byte [rbp + rdx + 0x108]
lea rcx, [0x18028d33c]
mov byte [rdx + rcx], al
mov eax, dword [rbp + rdx + 0x10c]
lea rcx, [0x18028d340]
mov dword [rdx + rcx], eax
mov eax, dword [rbp + rdx + 0x110]
lea rcx, [0x18028d344]
mov dword [rdx + rcx], eax
mov eax, dword [rbp + rdx + 0x114]
lea rcx, [0x18028d348]
mov dword [rdx + rcx], eax
mov eax, dword [rbp + rdx + 0x118]
lea rcx, [0x18028d34c]
mov dword [rdx + rcx], eax
mov eax, dword [rbp + rdx + 0x11c]
mov dword [rdx + r15 + 0xa0], eax
mov eax, dword [rbp + rdx + 0x120]
mov dword [rdx + r15 + 0xa4], eax
mov eax, dword [rbp + rdx + 0x124]
lea rcx, [0x18028d358]
mov dword [rdx + rcx], eax
movzx eax, byte [rbp + rdx + 0x128]
lea rcx, [0x18028d35c]
mov byte [rdx + rcx], al
lea rdx, [rdx + 0x100]
lea rdi, [rdi + 0x100]
lea r14, [r14 + 0x100]
sub rsi, 1
jne 0x1801a0150
xorps xmm14, xmm14
mov dword [rbp - 0x30], esi
xor r13d, r13d
mov qword [rbp - 0x28], r13
mov qword [rbp - 0x20], r13
mov ecx, 0x28
call fcn.1801d1d28
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x18], r13
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x10], xmm0
mov qword [rbp], 7
mov qword [rbp + 8], 8
mov dword [rbp - 0x30], 0x3f800000
mov r8, rax
mov edx, 0x10
lea rcx, [rbp - 0x18]
call fcn.1800a3a00
nop
mov dword [rbp + 0x960], 0x12
lea r8, [rbp + 0x960]
lea rdx, [rsp + 0x50]
lea rcx, [0x180285a68]
call fcn.1800d5850
mov rcx, qword [rax]
mov r14, qword [rcx + 0x20]
mov rdi, qword [rcx + 0x18]
cmp rdi, r14
mov r12, qword [rbp + 0x968]
je 0x1801a05f2
mov rcx, qword [rdi]
test rcx, rcx
je 0x1801a05e9
call fcn.180161c40
mov r9, qword [0x18028c748]
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 0x1801a05e9
mov rcx, qword [rdi]
call fcn.1800cb3d0
mov rbx, rax
mov qword [rbp + 0x968], rsi
lea r8, [rbp + 0x968]
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x30]
call fcn.18017cc50
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 0x1801a0573
mov dword [rbp + 0x960], 1
lea r8, [rbp + 0x960]
lea rdx, [rsp + 0x50]
lea rcx, [0x180285a68]
call fcn.1800d5850
mov rcx, qword [rax]
mov r15, qword [rcx + 0x20]
mov r14, qword [rcx + 0x18]
cmp r14, r15
je 0x1801a0a9a
movss xmm15, dword [0x18025de6c]
movss xmm13, dword [0x18025e274]
nop word [rax + rax]
mov rdi, qword [r14]
test rdi, rdi
je 0x1801a0a8d
mov rax, qword [rdi + 0x10]
lea rcx, [rdi + 0x10]
call qword [rax + 0x48]
mov rcx, rdi
call fcn.1800ef100
mov rcx, qword [0x18028c748]
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.1800b6850
cmp byte [rax], 0
jne 0x1801a0a8d
mov rcx, rdi
call fcn.1800ca5e0
mov ecx, dword [rax]
shr ecx, 0xd
test cl, 1
jne 0x1801a0a8d
mov rax, qword [rdi + 0x10]
lea rcx, [rdi + 0x10]
call qword [rax + 0x40]
test al, al
jne 0x1801a0a8d
xor edx, edx
mov rcx, rdi
call fcn.1800cc030
test al, al
je 0x1801a0a8d
test rbx, rbx
je 0x1801a0a8d
mov rax, qword [rbx]
mov rdx, qword [rax + 0xbe8]
mov rcx, rbx
call rdx
cmp eax, 0x3d
je 0x1801a0a8d
mov rax, qword [rbx]
mov rdx, qword [rax + 0xbe8]
mov rcx, rbx
call rdx
cmp eax, 0x12
je 0x1801a0a8d
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x48]
mov rbx, rax
lea rdx, [rbp + 0x60]
mov rcx, rdi
call fcn.1800cbed0
movss xmm10, dword [rbx + 8]
addss xmm10, dword [rax + 8]
movss xmm11, dword [rbx + 4]
addss xmm11, dword [rax + 4]
movss xmm12, dword [rbx]
addss xmm12, dword [rax]
mov rcx, rdi
call fcn.1800ef300
movss xmm6, dword [rax]
mov rcx, rdi
call fcn.1800ef400
movss xmm7, dword [rax]
mulss xmm6, xmm15
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
movaps xmm8, xmm0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
movaps xmm6, xmm0
mulss xmm7, xmm15
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
movaps xmm9, xmm0
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
movaps xmm2, xmm6
mulss xmm2, xmm0
mulss xmm9, xmm6
xorps xmm8, xmmword [0x18025eb10]
mov rax, rdi
shr rax, 8
movzx edx, al
movzx eax, dil
movabs rcx, 0xcbf29ce484222325
xor rax, rcx
movabs rbx, 0x100000001b3
imul rax, rbx
xor rdx, rax
imul rdx, rbx
mov rax, rdi
shr rax, 0x10
movzx ecx, al
xor rdx, rcx
imul rdx, rbx
mov rax, rdi
shr rax, 0x18
movzx ecx, al
xor rdx, rcx
imul rdx, rbx
mov rax, rdi
shr rax, 0x20
movzx ecx, al
xor rdx, rcx
imul rdx, rbx
mov rax, rdi
shr rax, 0x28
movzx ecx, al
xor rdx, rcx
imul rdx, rbx
mov rax, rdi
shr rax, 0x30
movzx ecx, al
xor rdx, rcx
imul rdx, rbx
mov rax, rdi
shr rax, 0x38
xor rdx, rax
imul rdx, rbx
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 0x1801a0869
mov rcx, qword [rdx + rcx*8]
cmp rdi, qword [rax + 0x10]
je 0x1801a086c
cmp rax, rcx
je 0x1801a0869
mov rax, qword [rax + 8]
cmp rdi, qword [rax + 0x10]
jne 0x1801a0858
jmp 0x1801a086c
mov rax, r13
test rax, rax
je 0x1801a08a2
mov qword [rbp + 0x968], rdi
lea r8, [rbp + 0x968]
lea rdx, [rbp + 0x70]
lea rcx, [rbp - 0x30]
call fcn.18017cc50
mov rcx, qword [rax]
movss xmm1, dword [rcx + 0x18]
movss xmm9, dword [rcx + 0x1c]
movss xmm8, dword [rcx + 0x20]
jmp 0x1801a08c3
mulss xmm8, xmm13
mulss xmm9, xmm13
mulss xmm2, xmm13
addss xmm8, xmm10
addss xmm9, xmm11
movaps xmm1, xmm12
addss xmm1, xmm2
lea rax, vtable.CTraceFilterHitscan.0
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x64], 0
mov dword [rsp + 0x60], 0
mov qword [rsp + 0x70], 0
mov dword [rsp + 0x6c], 0
mov qword [rsp + 0x7c], 0
mov dword [rsp + 0x78], 0
mov dword [rbp - 0x7c], 0
mov qword [rbp - 0x78], 0
mov dword [rbp - 0x70], r13d
mov qword [rbp - 0x6c], r13
xorps xmm0, xmm0
movups 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
mov dword [rbp + 0x1c], 0
mov dword [rbp + 0x2c], 0
mov dword [rbp + 0x3c], 0
mov dword [rbp + 0x4c], 0
subss xmm8, xmm10
subss xmm9, xmm11
subss xmm1, xmm12
movss dword [rbp + 0x20], xmm1
movss dword [rbp + 0x24], xmm9
movss dword [rbp + 0x28], xmm8
mulss xmm1, xmm1
mulss xmm9, xmm9
addss xmm1, xmm9
mulss xmm8, xmm8
addss xmm1, xmm8
ucomiss xmm1, xmm14
jp 0x1801a0996
mov byte [rbp + 0x51], 0
je 0x1801a099a
mov byte [rbp + 0x51], 1
mov qword [rbp + 0x40], 0
mov dword [rbp + 0x48], 0
mov byte [rbp + 0x50], 1
mov qword [rbp + 0x30], 0
mov dword [rbp + 0x38], 0
movss dword [rbp + 0x10], xmm12
movss dword [rbp + 0x14], xmm11
movss dword [rbp + 0x18], xmm10
mov rcx, qword [0x18028c7b8]
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]
movss dword [rsp + 0x30], xmm12
movss dword [rsp + 0x34], xmm11
movss dword [rsp + 0x38], xmm10
movss xmm0, dword [rsp + 0x6c]
movss dword [rsp + 0x3c], xmm0
movss xmm1, dword [rsp + 0x70]
movss dword [rsp + 0x40], xmm1
movss xmm0, dword [rsp + 0x74]
movss dword [rsp + 0x44], xmm0
movzx eax, byte [0x18029fd91]
mov byte [rsp + 0x20], al
mov r9, rdi
mov r8, r12
lea rdx, [rsp + 0x48]
call fcn.1801c9750
mov rax, qword [rdi + 0x10]
lea rcx, [rdi + 0x10]
call qword [rax + 0x48]
movsxd rcx, eax
shl rcx, 5
lea rax, [0x18028d2b4]
add rcx, rax
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rcx], xmm0
movss xmm0, dword [rsp + 0x40]
movss dword [rcx + 0x10], xmm0
movss xmm1, dword [rsp + 0x44]
movss 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 0x1801a0640
lea rcx, [rbp - 0x30]
call fcn.1800b66e0
lea r11, [rsp + 0xa20]
mov rbx, qword [r11 + 0x50]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret