Function at 0x140007800
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x170]
sub rsp, 0x270
mov rax, qword [0x140137010]
xor rax, rsp
mov qword [rbp + 0x160], rax
mov rbx, rdx
mov qword [rbp - 0x68], rcx
xor r15d, r15d
mov dword [rsp + 0x30], r15d
xorps xmm0, xmm0
movups xmmword [rbp + 0xc0], xmm0
movups xmmword [rbp + 0xd0], xmm0
movups xmmword [rbp + 0xe0], xmm0
movups xmmword [rbp + 0xf0], xmm0
mov dword [rbp + 0xc0], r15d
mov qword [rbp + 0xc8], r15
mov qword [rbp + 0xd0], r15
lea ecx, [r15 + 0x30]
call fcn.1400b5790
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rbp + 0xc8], rax
mov qword [rbp + 0xd8], r15
xorps xmm0, xmm0
movdqa xmmword [rbp + 0xe0], xmm0
mov qword [rbp + 0xf0], 7
mov qword [rbp + 0xf8], 8
mov dword [rbp + 0xc0], 0x3f800000
mov r8, rax
lea edx, [r15 + 0x10]
lea rcx, [rbp + 0xd8]
call fcn.140003c70
nop
mov r13, qword [rbx]
mov rbx, qword [rbx + 8]
mov qword [rbp - 0x70], rbx
cmp r13, rbx
je 0x1400082e2
movabs rsi, 0x100000001b3
nop
mov rax, qword [r13 + 0x28]
cmp qword [r13 + 0x20], rax
je 0x1400082d5
xorps xmm0, xmm0
movups xmmword [rbp + 0x50], xmm0
movups xmmword [rbp + 0x60], xmm0
movups xmmword [rbp + 0x70], xmm0
movups xmmword [rbp + 0x80], xmm0
movups xmmword [rbp + 0x90], xmm0
movups xmmword [rbp + 0xa0], xmm0
movups xmmword [rbp + 0xb0], xmm0
mov rdx, r13
lea rcx, [rbp + 0x50]
call fcn.1400038d0
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x70], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x80], xmm1
movdqa xmmword [rbp + 0x90], xmm0
movups xmm1, xmmword [r13 + 0x44]
movaps xmmword [rbp + 0xa0], xmm1
movsd xmm0, qword [r13 + 0x54]
movsd qword [rbp + 0xb0], xmm0
mov eax, dword [r13 + 0x5c]
mov dword [rbp + 0xb8], eax
mov r14, qword [r13 + 0x20]
mov r12, qword [r13 + 0x28]
cmp r14, r12
je 0x140008004
nop word [rax + rax]
mov rdi, qword [r14]
mov rax, rdi
shr rax, 8
movzx r8d, al
movzx eax, dil
movabs rcx, 0xcbf29ce484222325
xor rax, rcx
imul rax, rsi
xor r8, rax
imul r8, rsi
mov rax, rdi
shr rax, 0x10
movzx ecx, al
xor r8, rcx
imul r8, rsi
mov rax, rdi
shr rax, 0x18
movzx ecx, al
xor r8, rcx
imul r8, rsi
mov rax, rdi
shr rax, 0x20
movzx ecx, al
xor r8, rcx
imul r8, rsi
mov rax, rdi
shr rax, 0x28
movzx ecx, al
xor r8, rcx
imul r8, rsi
mov rax, rdi
shr rax, 0x30
movzx ecx, al
xor r8, rcx
imul r8, rsi
mov rax, rdi
shr rax, 0x38
xor r8, rax
imul r8, rsi
and r8, qword [rbp + 0xf0]
mov rcx, r8
add rcx, rcx
mov rax, qword [rbp + 0xd8]
mov rdx, qword [rax + rcx*8 + 8]
cmp rdx, qword [rbp + 0xc8]
je 0x140007a61
add r8, r8
mov rcx, qword [rax + r8*8]
cmp rdi, qword [rdx + 0x10]
je 0x140007a64
nop dword [rax]
cmp rdx, rcx
je 0x140007a61
mov rdx, qword [rdx + 8]
cmp rdi, qword [rdx + 0x10]
jne 0x140007a50
jmp 0x140007a64
mov rdx, r15
mov rbx, qword [rbp + 0xc8]
test rdx, rdx
cmovne rbx, rdx
cmp rbx, qword [rbp + 0xc8]
jne 0x140007f10
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x38], xmm1
mov qword [rbp + 0x48], r15
movdqu xmmword [rbp + 0x20], xmm1
mov qword [rbp + 0x30], r15
mov esi, r15d
mov r15, qword [rdi + 0x38]
mov rdi, qword [rdi + 0x30]
cmp rdi, r15
je 0x140007b85
test byte [rdi], 0x11
je 0x140007ab5
add esi, dword [rdi + 0x10]
jmp 0x140007b78
mov rbx, qword [rdi + 8]
mov rcx, qword [rdi + 0x10]
add rcx, rbx
cmp rbx, rcx
jae 0x140007b78
nop dword [rax]
mov rcx, qword [r14]
mov rax, qword [rcx + 0x18]
mov r8d, dword [rax + rbx*4]
shl r8, 5
mov rdx, qword [rcx]
movsd xmm0, qword [r8 + rdx]
movsd qword [rsp + 0x78], xmm0
mov eax, dword [r8 + rdx + 8]
mov dword [rbp - 0x80], eax
movsd xmm0, qword [r8 + rdx + 0xc]
movsd qword [rbp - 0x7c], xmm0
mov eax, dword [r8 + rdx + 0x14]
mov dword [rbp - 0x74], eax
mov rdx, qword [rbp + 0x40]
cmp rdx, qword [rbp + 0x48]
je 0x140007b2d
movups xmm0, xmmword [rsp + 0x78]
movups xmmword [rdx], xmm0
movsd xmm1, qword [rbp - 0x78]
movsd qword [rdx + 0x10], xmm1
add qword [rbp + 0x40], 0x18
jmp 0x140007b3b
lea r8, [rsp + 0x78]
lea rcx, [rbp + 0x38]
call fcn.14000a360
mov eax, ebx
sub eax, esi
mov dword [rsp + 0x34], eax
mov rdx, qword [rbp + 0x28]
cmp rdx, qword [rbp + 0x30]
je 0x140007b56
mov dword [rdx], eax
add qword [rbp + 0x28], 4
jmp 0x140007b64
lea r8, [rsp + 0x34]
lea rcx, [rbp + 0x20]
call fcn.14000a270
inc rbx
mov rax, qword [rdi + 0x10]
add rax, qword [rdi + 8]
cmp rbx, rax
jb 0x140007ad0
add rdi, 0x48
cmp rdi, r15
jne 0x140007aa8
mov rax, qword [rbp + 0x40]
cmp qword [rbp + 0x38], rax
je 0x1400080d8
mov rax, qword [rbp + 0x28]
cmp qword [rbp + 0x20], rax
je 0x1400080d8
mov ecx, 0x58
call fcn.1400b5790
mov rsi, rax
mov qword [rbp + 0x100], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov dword [rax + 8], 1
mov dword [rax + 0xc], 1
lea rax, vtable.std::_Ref_count_obj2_struct_geodata::Mesh_.0
mov qword [rsi], rax
lea rbx, [rsi + 0x10]
movups xmmword [rbx], xmm0
movups xmmword [rbx + 0x10], xmm0
movups xmmword [rbx + 0x20], xmm0
movups xmmword [rbx + 0x30], xmm0
xor r15d, r15d
mov qword [rbx], r15
mov qword [rbx + 8], r15
mov qword [rbx + 0x10], r15
mov qword [rbx + 0x18], r15
mov qword [rbx + 0x20], r15
mov qword [rbx + 0x28], r15
mov qword [rbx + 0x30], r15
mov qword [rbx + 0x38], r15
mov qword [rbx + 0x40], r15
movups xmmword [rbp + 0x100], xmm0
or dword [rsp + 0x30], 1
mov qword [rbp + 0x100], rbx
mov qword [rbp + 0x108], rsi
lea rax, [rbp + 0x38]
cmp rbx, rax
je 0x140007c5a
mov rax, qword [rbp + 0x38]
mov qword [rbx], rax
mov qword [rbp + 0x38], r15
mov rcx, qword [rbx + 8]
mov rax, qword [rbp + 0x40]
mov qword [rbx + 8], rax
mov qword [rbp + 0x40], rcx
mov rcx, qword [rbx + 0x10]
mov rax, qword [rbp + 0x48]
mov qword [rbx + 0x10], rax
mov qword [rbp + 0x48], rcx
lea rdx, [rbx + 0x18]
lea rax, [rbp + 0x20]
cmp rdx, rax
je 0x140007c95
mov rcx, qword [rdx]
mov rax, qword [rbp + 0x20]
mov qword [rdx], rax
mov qword [rbp + 0x20], rcx
mov rcx, qword [rdx + 8]
mov rax, qword [rbp + 0x28]
mov qword [rdx + 8], rax
mov qword [rbp + 0x28], rcx
mov rcx, qword [rdx + 0x10]
mov rax, qword [rbp + 0x30]
mov qword [rdx + 0x10], rax
mov qword [rbp + 0x30], rcx
lea rdx, [rbp - 0x50]
mov rcx, r14
call fcn.140008410
mov rdi, rax
add rbx, 0x30
cmp rbx, rax
je 0x140007d17
cmp qword [rbx], 0
je 0x140007cf6
mov rdx, qword [rbx + 0x10]
sub rdx, qword [rbx]
mov rcx, qword [rbx]
and rdx, 0xffffffffffffffc0
cmp rdx, 0x1000
jb 0x140007ce6
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140008318
mov rcx, r8
call fcn.1400b5af4
mov qword [rbx], r15
mov qword [rbx + 8], r15
mov qword [rbx + 0x10], r15
mov rax, qword [rdi]
mov qword [rbx], rax
mov rax, qword [rdi + 8]
mov qword [rbx + 8], rax
mov rax, qword [rdi + 0x10]
mov qword [rbx + 0x10], rax
mov qword [rdi], r15
mov qword [rdi + 8], r15
mov qword [rdi + 0x10], r15
mov rcx, qword [rbp - 0x50]
test rcx, rcx
je 0x140007d55
mov rdx, qword [rbp - 0x40]
sub rdx, rcx
and rdx, 0xffffffffffffffc0
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007d50
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140008318
call fcn.1400b5af4
mov rax, qword [r14 + 8]
test rax, rax
je 0x140007d62
lock inc dword [rax + 8]
mov rax, qword [r14]
mov qword [rsp + 0x38], rax
mov rax, qword [r14 + 8]
mov qword [rsp + 0x40], rax
lock inc dword [rsi + 8]
mov rax, qword [rbp + 0x100]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], rsi
lea r8, [rsp + 0x38]
lea rdx, [rbp - 0x60]
lea rcx, [rbp + 0xc0]
call fcn.140009470
mov rbx, qword [rbp - 0x60]
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x140007de1
mov eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140007de1
mov rdi, qword [rsp + 0x50]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax]
mov eax, 0xffffffff
lock xadd dword [rdi + 0xc], eax
cmp eax, 1
jne 0x140007de1
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
call qword [rax + 8]
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x140007e22
mov eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140007e22
mov rdi, qword [rsp + 0x40]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax]
mov eax, 0xffffffff
lock xadd dword [rdi + 0xc], eax
cmp eax, 1
jne 0x140007e22
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov eax, 0xffffffff
lock xadd dword [rsi + 8], eax
cmp eax, 1
jne 0x140007e52
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax]
mov eax, 0xffffffff
lock xadd dword [rsi + 0xc], eax
cmp eax, 1
jne 0x140007e52
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 8]
nop
mov rcx, qword [rbp + 0x20]
test rcx, rcx
je 0x140007ea4
mov rax, qword [rbp + 0x30]
sub rax, rcx
sar rax, 2
lea rdx, [rax*4]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007e93
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000831f
call fcn.1400b5af4
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x20], xmm0
mov qword [rbp + 0x30], r15
mov r8, qword [rbp + 0x38]
test r8, r8
je 0x140007f10
mov rcx, qword [rbp + 0x48]
sub rcx, r8
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*2]
shl rdx, 3
mov rax, r8
cmp rdx, 0x1000
jb 0x140007efc
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140008326
mov rcx, r8
call fcn.1400b5af4
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x38], xmm0
mov qword [rbp + 0x48], r15
cmp qword [rbx + 0x20], 0
je 0x140007fe3
mov rax, qword [rbx + 0x28]
test rax, rax
je 0x140007f28
lock inc dword [rax + 8]
mov rax, qword [rbx + 0x20]
mov qword [rbp + 0x110], rax
mov rax, qword [rbx + 0x28]
mov qword [rbp + 0x118], rax
movaps xmm0, xmmword [0x1401013f0]
movaps xmmword [rbp - 0x30], xmm0
movaps xmm1, xmmword [0x140101400]
movaps xmmword [rbp - 0x20], xmm1
movaps xmm0, xmmword [0x140101460]
movaps xmmword [rbp - 0x10], xmm0
movaps xmm1, xmmword [0x140101650]
movaps xmmword [rbp], xmm1
lea rax, [r14 + 0x28]
lea r9, [r14 + 0x1c]
lea r8, [r14 + 0x10]
mov qword [rsp + 0x20], rax
lea rdx, [rbp - 0x30]
lea rcx, [rbp + 0x120]
call fcn.140091d10
nop
lea rdx, [rbp + 0x110]
lea rcx, [rbp + 0x50]
call fcn.14001e330
nop
mov rcx, qword [rbp + 0x118]
test rcx, rcx
je 0x140007fe3
mov eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140007fe3
mov rbx, qword [rbp + 0x118]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140007fe3
mov rcx, qword [rbp + 0x118]
mov rax, qword [rcx]
call qword [rax + 8]
add r14, 0x38
cmp r14, r12
movabs rsi, 0x100000001b3
mov r15d, 0
jne 0x140007990
mov rbx, qword [rbp - 0x70]
mov rax, qword [rbp - 0x68]
mov r10, qword [rax + 8]
mov r9, qword [r10 + 8]
cmp r9, qword [r10 + 0x10]
je 0x140008255
xorps xmm0, xmm0
movups xmmword [r9], xmm0
mov qword [r9 + 0x10], r15
mov qword [r9 + 0x18], r15
movaps xmm0, xmmword [rbp + 0x50]
movups xmmword [r9], xmm0
movaps xmm1, xmmword [rbp + 0x60]
movups xmmword [r9 + 0x10], xmm1
mov qword [rbp + 0x60], r15
mov qword [rbp + 0x68], 0xf
mov byte [rbp + 0x50], 0
mov rdx, qword [rbp + 0x80]
mov qword [rbp + 0x80], r15
mov rcx, qword [rbp + 0x78]
mov qword [rbp + 0x78], r15
mov rax, qword [rbp + 0x70]
mov qword [rbp + 0x70], r15
mov qword [r9 + 0x20], rax
mov qword [r9 + 0x28], rcx
mov qword [r9 + 0x30], rdx
mov rdx, qword [rbp + 0x98]
mov qword [rbp + 0x98], r15
mov rcx, qword [rbp + 0x90]
mov qword [rbp + 0x90], r15
mov rax, qword [rbp + 0x88]
mov qword [rbp + 0x88], r15
mov qword [r9 + 0x38], rax
mov qword [r9 + 0x40], rcx
mov qword [r9 + 0x48], rdx
movaps xmm0, xmmword [rbp + 0xa0]
movups xmmword [r9 + 0x50], xmm0
movsd xmm1, qword [rbp + 0xb0]
movsd qword [r9 + 0x60], xmm1
mov eax, dword [rbp + 0xb8]
mov dword [r9 + 0x68], eax
add qword [r10 + 8], 0x70
jmp 0x140008265
mov rax, qword [r14 + 8]
test rax, rax
je 0x1400080e5
lock inc dword [rax + 8]
mov rax, qword [r14]
mov qword [rsp + 0x58], rax
mov rax, qword [r14 + 8]
mov qword [rsp + 0x60], rax
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x68], xmm0
lea r8, [rsp + 0x58]
lea rdx, [rbp + 0x10]
lea rcx, [rbp + 0xc0]
call fcn.140009470
nop
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x140008155
mov eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140008155
mov rbx, qword [rsp + 0x70]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140008155
mov rcx, qword [rsp + 0x70]
mov rax, qword [rcx]
call qword [rax + 8]
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x140008196
mov eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140008196
mov rbx, qword [rsp + 0x60]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140008196
mov rcx, qword [rsp + 0x60]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rcx, qword [rbp + 0x20]
test rcx, rcx
je 0x1400081ec
mov rax, qword [rbp + 0x30]
sub rax, rcx
sar rax, 2
lea rdx, [rax*4]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400081d7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000831f
call fcn.1400b5af4
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x20], xmm0
mov qword [rbp + 0x30], 0
mov r8, qword [rbp + 0x38]
test r8, r8
je 0x140007fe3
mov rcx, qword [rbp + 0x48]
sub rcx, r8
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*2]
shl rdx, 3
mov rax, r8
cmp rdx, 0x1000
jb 0x140008248
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140008326
mov rcx, r8
call fcn.1400b5af4
jmp 0x140007fe3
lea r8, [rbp + 0x50]
mov rdx, r9
mov rcx, r10
call fcn.140009fd0
nop
mov rcx, qword [rbp + 0x88]
test rcx, rcx
je 0x1400082c3
mov rax, qword [rbp + 0x98]
sub rax, rcx
sar rax, 2
lea rdx, [rax*4]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400082ac
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000832d
call fcn.1400b5af4
mov qword [rbp + 0x88], r15
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x90], xmm0
lea rcx, [rbp + 0x70]
call fcn.1400039f0
lea rcx, [rbp + 0x50]
call fcn.140003b00
add r13, 0x60
cmp r13, rbx
jne 0x1400078f0
lea rcx, [rbp + 0xc0]
call fcn.140008350
mov rcx, qword [rbp + 0x160]
xor rcx, rsp
call fcn.1400b5770
mov rbx, qword [rsp + 0x2c0]
add rsp, 0x270
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3