Function at 0x14014e320
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x190]
sub rsp, 0x290
mov rax, qword [0x140424b58]
xor rax, rsp
mov qword [rbp + 0x180], rax
mov qword [rsp + 0x60], rcx
xor edi, edi
mov r15d, edi
mov dword [rsp + 0x40], edi
mov dword [rsp + 0x48], edi
mov r13, qword [rcx + 0x18]
mov r12d, 0xf
mov qword [rbp + 0xb8], r12
mov r9d, 7
mov qword [rbp + 0xb0], r9
mov eax, dword [str.ifcsite]
mov dword [rbp + 0xa0], eax
movzx eax, word [0x140366d6c]
mov word [rbp + 0xa4], ax
movzx eax, byte [0x140366d6e]
mov byte [rbp + 0xa6], al
mov byte [rbp + 0xa7], dil
mov rdi, qword [r13 + 0x70]
mov rbx, qword [rdi + 8]
mov r14, rdi
mov rsi, qword [rbp + 0xa0]
cmp byte [rbx + 0x19], r15b
jne 0x14014e41f
mov r15d, r9d
lea rcx, [rbx + 0x20]
lea rdx, [rbp + 0xa0]
mov rdi, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0x10
jb 0x14014e3ea
mov rcx, qword [rcx]
mov r8, rdi
cmp r15, rdi
cmovb r8, r15
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14014e463
sets al
test al, al
jne 0x14014e468
mov r14, rbx
mov rbx, qword [rbx]
cmp byte [rbx + 0x19], 0
je 0x14014e3d1
mov r15d, dword [rsp + 0x40]
mov rdi, qword [r13 + 0x70]
mov r9d, 7
cmp byte [r14 + 0x19], 0
jne 0x14014e478
lea rdx, [r14 + 0x20]
mov rbx, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x14014e438
mov rdx, qword [rdx]
lea rcx, [rbp + 0xa0]
cmp r12, 0x10
cmovae rcx, rsi
mov r8, r9
cmp rbx, r9
cmovb r8, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14014e46e
sets al
test al, al
jne 0x14014e478
jmp 0x14014e47b
cmp rdi, r15
jae 0x14014e404
mov rbx, qword [rbx + 0x10]
jmp 0x14014e40a
mov eax, 7
cmp rax, rbx
jae 0x14014e47b
mov r14, rdi
lea rbx, [r14 + 0x40]
mov qword [rbp - 0x80], rbx
cmp r12, 0x10
jb 0x14014e4bb
lea rdx, [r12 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x14014e4b3
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14014f35b
mov rcx, rsi
call fcn.1401a68e0
cmp qword [rbx + 8], 0
jne 0x14014e626
mov qword [rbp + 0xb8], r12
mov edi, 0xb
mov qword [rbp + 0xb0], rdi
movsd xmm0, qword [str.ifcbuilding]
movsd qword [rbp + 0xa0], xmm0
movzx eax, word [0x140366d78]
mov word [rbp + 0xa8], ax
movzx eax, byte [0x140366d7a]
mov byte [rbp + 0xaa], al
mov byte [rbp + 0xab], 0
mov r13, qword [r13 + 0x70]
mov rbx, qword [r13 + 8]
mov r14, r13
mov rsi, qword [rbp + 0xa0]
cmp byte [rbx + 0x19], 0
jne 0x14014e584
cmp r12, 0x10
setae r12b
mov r15d, edi
nop
lea rcx, [rbx + 0x20]
lea rdx, [rbp + 0xa0]
test r12b, r12b
cmovne rdx, rsi
mov rdi, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0x10
jb 0x14014e550
mov rcx, qword [rcx]
mov r8, rdi
cmp r15, rdi
cmovb r8, r15
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14014e5c8
sets al
test al, al
jne 0x14014e5cd
mov r14, rbx
mov rbx, qword [rbx]
cmp byte [rbx + 0x19], 0
je 0x14014e530
mov r15d, dword [rsp + 0x40]
mov edi, 0xb
lea r12d, [rdi + 4]
cmp byte [r14 + 0x19], 0
jne 0x14014e5d8
lea rdx, [r14 + 0x20]
mov rbx, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x14014e59d
mov rdx, qword [rdx]
lea rcx, [rbp + 0xa0]
cmp r12, 0x10
cmovae rcx, rsi
mov r8, rdi
cmp rbx, rdi
cmovb r8, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14014e5d3
sets al
test al, al
jne 0x14014e5d8
jmp 0x14014e5db
cmp rdi, r15
jae 0x14014e56a
mov rbx, qword [rbx + 0x10]
jmp 0x14014e570
cmp rdi, rbx
jae 0x14014e5db
mov r14, r13
lea rbx, [r14 + 0x40]
mov qword [rbp - 0x80], rbx
cmp r12, 0x10
jb 0x14014e61b
lea rdx, [r12 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x14014e613
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14014f35b
mov rcx, rsi
call fcn.1401a68e0
cmp qword [rbx + 8], 0
je 0x14014f3c4
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x70], xmm0
xor r13d, r13d
mov edi, r13d
mov qword [rbp - 0x58], r13
mov qword [rbp - 0x60], r13
mov rsi, qword [rbx]
mov rsi, qword [rsi]
mov qword [rbp - 0x78], rsi
mov r12, qword [rbp - 0x68]
cmp byte [rsi + 0x19], r13b
jne 0x14014f09a
movabs rdi, 0x7fffffffffffffff
movzx r14d, byte [rsp + 0x44]
movzx r15d, byte [rsp + 0x44]
nop word [rax + rax]
mov rbx, qword [rsi + 0x20]
mov rcx, qword [rbx + 0x20]
test rcx, rcx
jne 0x14014e689
mov rcx, rbx
call fcn.1402563a0
mov rcx, qword [rbx + 0x20]
mov dword [rsp + 0x20], r13d
lea r9, vtable.type_info.0
lea r8, vtable.type_info.0
xor edx, edx
call sub.VCRUNTIME140.dll___RTDynamicCast
mov r13, rax
test rax, rax
je 0x14014f02e
cmp byte [rax + 0xc8], 0
je 0x14014e729
lea r8, [rax + 0xa8]
mov rcx, qword [r8 + 0x10]
mov rax, rdi
sub rax, rcx
cmp rax, 0x12
jb 0x14014f3e5
mov rax, r8
cmp qword [r8 + 0x18], 0x10
jb 0x14014e6e0
mov rax, qword [r8]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0x12
lea r9, str._which_is_of_type
movzx edx, r14b
lea rcx, [rbp + 0x120]
call fcn.140029020
mov ecx, dword [rsp + 0x40]
or ecx, 0x20
lea rax, [rbp + 0x120]
mov qword [rsp + 0x70], rax
or ecx, 1
xor r9d, r9d
lea r10d, [r9 + 0xf]
jmp 0x14014e75a
mov r10d, 0xf
mov qword [rbp + 0x158], r10
xor r9d, r9d
mov qword [rbp + 0x150], r9
mov byte [rbp + 0x140], r9b
lea rax, [rbp + 0x140]
mov qword [rsp + 0x70], rax
mov ecx, dword [rsp + 0x40]
or ecx, 2
mov dword [rsp + 0x48], ecx
mov dword [rsp + 0x40], ecx
cmp byte [r13 + 0x58], 0
je 0x14014e8a3
mov qword [rbp + 0x110], r9
mov qword [rbp + 0x118], r9
lea r8, [r13 + 0x38]
mov qword [rsp + 0x68], r8
mov rcx, qword [r8 + 0x10]
mov qword [rsp + 0x50], rcx
cmp qword [r8 + 0x18], 0x10
jb 0x14014e79c
mov r8, qword [r8]
mov qword [rsp + 0x68], r8
cmp rcx, 0x10
jae 0x14014e7d4
movups xmm0, xmmword [r8]
movups xmmword [rbp + 0x100], xmm0
mov qword [rbp + 0x110], rcx
mov rcx, r10
mov qword [rsp + 0x58], rcx
mov qword [rbp + 0x118], rcx
mov rax, qword [rbp + 0x100]
mov qword [rsp + 0x78], rax
jmp 0x14014e886
mov rdi, rcx
or rdi, 0xf
movabs rcx, 0x7fffffffffffffff
cmp rdi, rcx
cmova rdi, rcx
mov qword [rsp + 0x58], rdi
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x14014e82a
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14014f3eb
mov rcx, rax
call fcn.14032af80
test rax, rax
je 0x14014f14d
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x14014e841
test rcx, rcx
je 0x14014e83e
call fcn.14032af80
mov rbx, rax
mov qword [rsp + 0x78], rax
jmp 0x14014e846
mov rbx, r9
mov qword [rsp + 0x78], rbx
mov qword [rbp + 0x100], rbx
mov r8, qword [rsp + 0x50]
inc r8
mov rdx, qword [rsp + 0x68]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsp + 0x50]
mov qword [rbp + 0x110], rax
mov qword [rbp + 0x118], rdi
xor r9d, r9d
movabs rdi, 0x7fffffffffffffff
lea r10d, [r9 + 0xf]
lea rdx, [rbp + 0x100]
mov qword [rsp + 0x50], rdx
mov eax, dword [rsp + 0x40]
or eax, 4
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x48], eax
jmp 0x14014e913
mov qword [rbp + 0xf8], r10
mov eax, 7
mov qword [rbp + 0xf0], rax
mov eax, dword [str.unnamed]
mov dword [rbp + 0xe0], eax
movzx eax, word [0x140360004]
mov word [rbp + 0xe4], ax
movzx eax, byte [0x140360006]
mov byte [rbp + 0xe6], al
mov byte [rbp + 0xe7], 0
lea rdx, [rbp + 0xe0]
mov qword [rsp + 0x50], rdx
or ecx, 8
mov dword [rsp + 0x40], ecx
mov dword [rsp + 0x48], ecx
mov rax, qword [rbp + 0x118]
mov qword [rsp + 0x58], rax
mov rax, qword [rbp + 0x100]
mov qword [rsp + 0x78], rax
mov r8, qword [rdx + 0x10]
mov qword [rsp + 0x68], r8
mov rax, rdi
sub rax, r8
cmp rax, 0x1e
jb 0x14014f39d
cmp qword [rdx + 0x18], 0x10
jb 0x14014e93b
mov rdx, qword [rdx]
mov qword [rsp + 0x50], rdx
mov qword [rbp + 0xd0], r9
mov qword [rbp + 0xd8], r9
lea rax, [r8 + 0x1e]
mov qword [rbp - 0x50], rax
mov rbx, r10
lea rdi, [rbp + 0xc0]
cmp rax, 0xf
jbe 0x14014ea05
mov rbx, rax
or rbx, 0xf
movabs rcx, 0x7fffffffffffffff
cmp rbx, rcx
jbe 0x14014e98a
mov rbx, rcx
movabs rax, 0x8000000000000027
jmp 0x14014e9b1
cmp rbx, 0x16
mov ecx, 0x16
cmovb rbx, rcx
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x14014e9de
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14014f3f1
mov rcx, rax
call fcn.14032af80
test rax, rax
je 0x14014f13f
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
mov rdx, qword [rsp + 0x50]
mov rax, qword [rbp - 0x50]
mov r8, qword [rsp + 0x68]
jmp 0x14014e9fe
test rcx, rcx
je 0x14014e9fb
call fcn.14032af80
mov rdi, rax
mov rdx, qword [rsp + 0x50]
mov rax, qword [rbp - 0x50]
mov r8, qword [rsp + 0x68]
jmp 0x14014e9fe
mov rdi, r9
mov qword [rbp + 0xc0], rdi
mov qword [rbp + 0xd0], rax
mov qword [rbp + 0xd8], rbx
movups xmm0, xmmword [str.looking_at_spatial_structure__]
movups xmmword [rdi], xmm0
movsd xmm1, qword [0x140367290]
movsd qword [rdi + 0x10], xmm1
mov eax, dword [0x140367298]
mov dword [rdi + 0x18], eax
movzx eax, word [0x14036729c]
mov word [rdi + 0x1c], ax
lea rcx, [rdi + 0x1e]
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsp + 0x68]
mov byte [rdi + rax + 0x1e], 0
mov ebx, dword [rsp + 0x40]
or ebx, 0x40
mov dword [rsp + 0x48], ebx
mov rdx, qword [rbp + 0xd0]
mov r8, qword [rbp + 0xd8]
mov rax, r8
sub rax, rdx
lea rcx, [rbp + 0xc0]
cmp rax, 1
jb 0x14014eaac
lea rax, [rdx + 1]
mov qword [rbp + 0xd0], rax
cmp r8, 0x10
cmovae rcx, qword [rbp + 0xc0]
movzx eax, byte [0x14035aa38]
mov byte [rcx + rdx], al
mov byte [rcx + rdx + 1], 0
lea rax, [rbp + 0xc0]
jmp 0x14014eac8
mov qword [rsp + 0x20], 1
lea r9, [0x14035aa38]
xor r8d, r8d
lea edx, [r8 + 1]
call fcn.140021e20
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x160], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x170], xmm1
xor edi, edi
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], dil
bts ebx, 7
mov dword [rsp + 0x48], ebx
mov r9, qword [rsp + 0x70]
lea r8, [rbp + 0x160]
movzx edx, r15b
lea rcx, [rbp + 0xa0]
call fcn.1400401f0
bts ebx, 8
mov dword [rsp + 0x40], ebx
mov dword [rsp + 0x48], ebx
lea edx, [rdi + 1]
lea rcx, [rbp - 0x48]
call fcn.140081480
nop
lea rdx, [rbp + 0xa0]
cmp qword [rbp + 0xb8], 0x10
cmovae rdx, qword [rbp + 0xa0]
mov r8, qword [rbp + 0xb0]
lea rcx, [rbp - 0x48]
call fcn.140074140
nop
lea rcx, [rbp - 0x48]
call fcn.140136850
nop
lea rcx, [rbp - 0x48]
call fcn.14004d2e0
nop
mov rdx, qword [rbp + 0xb8]
cmp rdx, 0x10
jb 0x14014eba8
inc rdx
mov rcx, qword [rbp + 0xa0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14014eba3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14014f131
call fcn.1401a68e0
mov qword [rbp + 0xb0], rdi
mov qword [rbp + 0xb8], 0xf
mov byte [rbp + 0xa0], 0
mov rdx, qword [rbp + 0x178]
cmp rdx, 0x10
jb 0x14014ec03
inc rdx
mov rcx, qword [rbp + 0x160]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14014ebfd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14014f138
call fcn.1401a68e0
nop
mov rdx, qword [rbp + 0xd8]
cmp rdx, 0x10
jb 0x14014ec44
inc rdx
mov rcx, qword [rbp + 0xc0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14014ec3f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14014f13f
call fcn.1401a68e0
mov qword [rbp + 0xd0], rdi
mov qword [rbp + 0xd8], 0xf
mov byte [rbp + 0xc0], 0
test bl, 8
je 0x14014ecab
and ebx, 0xfffffff7
mov dword [rsp + 0x40], ebx
mov rdx, qword [rbp + 0xf8]
cmp rdx, 0x10
jb 0x14014ecab
inc rdx
mov rcx, qword [rbp + 0xe0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14014eca5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14014f146
call fcn.1401a68e0
nop
test bl, 4
je 0x14014ecf6
and ebx, 0xfffffffb
mov dword [rsp + 0x40], ebx
mov rax, qword [rsp + 0x58]
cmp rax, 0x10
jb 0x14014ecf6
lea rdx, [rax + 1]
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14014ecf0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14014f14d
call fcn.1401a68e0
nop
test bl, 2
je 0x14014ed44
and ebx, 0xfffffffd
mov dword [rsp + 0x40], ebx
mov rdx, qword [rbp + 0x158]
cmp rdx, 0x10
jb 0x14014ed44
inc rdx
mov rcx, qword [rbp + 0x140]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14014ed3e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14014f154
call fcn.1401a68e0
nop
test bl, 1
je 0x14014ed73
and ebx, 0xfffffffe
mov dword [rsp + 0x40], ebx
mov r8, qword [rbp + 0x138]
cmp r8, 0x10
jb 0x14014ed73
inc r8
mov rdx, qword [rbp + 0x120]
lea rcx, [rbp + 0x120]
call fcn.14002d7c0
mov r11, qword [rsp + 0x60]
mov r8, qword [r11 + 0x18]
mov rdx, qword [r11 + 0x20]
mov rax, qword [rdx]
movsxd rcx, dword [rax + 4]
mov r9, qword [rcx + rdx + 8]
movzx edx, r9b
movabs rax, 0xcbf29ce484222325
xor rdx, rax
movabs r10, 0x100000001b3
imul rdx, r10
mov rax, r9
shr rax, 8
movzx ecx, al
xor rdx, rcx
imul rdx, r10
mov rax, r9
shr rax, 0x10
movzx ecx, al
xor rdx, rcx
imul rdx, r10
mov rax, r9
shr rax, 0x18
movzx ecx, al
xor rdx, rcx
imul rdx, r10
mov rax, r9
shr rax, 0x20
movzx ecx, al
xor rdx, rcx
imul rdx, r10
mov rax, r9
shr rax, 0x28
movzx ecx, al
xor rdx, rcx
imul rdx, r10
mov rax, r9
shr rax, 0x30
movzx ecx, al
xor rdx, rcx
imul rdx, r10
mov rax, r9
shr rax, 0x38
xor rdx, rax
imul rdx, r10
mov r10, qword [r8 + 0xb0]
and r10, rdx
mov rdx, qword [r8 + 0x98]
mov rax, r10
add rax, rax
mov rcx, qword [rdx + rax*8]
mov qword [rsp + 0x58], rcx
cmp rcx, qword [r8 + 0x88]
je 0x14014f024
add r10, r10
mov rax, qword [rdx + r10*8 + 8]
cmp qword [rcx + 0x10], r9
je 0x14014ee77
nop word [rax + rax]
cmp rcx, rax
je 0x14014f024
mov rcx, qword [rcx]
mov qword [rsp + 0x58], rcx
cmp qword [rcx + 0x10], r9
jne 0x14014ee60
mov rdi, qword [rcx]
cmp rcx, rax
je 0x14014ee91
nop
mov rdx, rdi
cmp r9, qword [rdi + 0x10]
jne 0x14014ee91
mov rdi, qword [rdi]
cmp rdx, rax
jne 0x14014ee80
cmp rcx, rdi
je 0x14014f024
mov r15, qword [rbp - 0x58]
xor esi, esi
jmp 0x14014eea7
mov r11, qword [rsp + 0x60]
mov rax, qword [r11 + 0x18]
mov rdx, qword [rcx + 0x18]
mov r8, qword [rax + 0x60]
mov rax, qword [r8 + 8]
mov rcx, r8
cmp byte [rax + 0x19], 0
jne 0x14014eed8
cmp qword [rax + 0x20], rdx
jae 0x14014eecc
mov rax, qword [rax + 0x10]
jmp 0x14014eed2
mov rcx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x14014eec0
cmp byte [rcx + 0x19], 0
jne 0x14014eeef
cmp rdx, qword [rcx + 0x20]
jb 0x14014eeef
cmp rcx, r8
je 0x14014eeef
mov rbx, qword [rcx + 0x28]
jmp 0x14014eef2
mov rbx, rsi
mov rcx, qword [rbx + 0x20]
test rcx, rcx
jne 0x14014ef07
mov rcx, rbx
call fcn.1402563a0
mov rcx, qword [rbx + 0x20]
mov dword [rsp + 0x20], esi
lea r9, vtable.type_info.0
lea r8, vtable.type_info.0
xor edx, edx
call sub.VCRUNTIME140.dll___RTDynamicCast
test rax, rax
je 0x14014effb
mov rbx, qword [rax + 0xb0]
mov rax, qword [rax + 0xb8]
cmp rbx, rax
je 0x14014effb
mov r14, rax
mov rsi, qword [rsp + 0x60]
mov rcx, qword [rbx]
call fcn.140147000
mov rcx, qword [r13]
movsxd r8, dword [rcx + 4]
mov rcx, qword [rax]
movsxd rdx, dword [rcx + 4]
mov rcx, qword [r8 + r13 + 8]
cmp qword [rdx + rax + 8], rcx
jne 0x14014efe8
call fcn.1400f2f10
test al, al
jne 0x14014efa7
mov edx, 1
lea rcx, [rbp - 0x48]
call fcn.140081480
nop
lea rdx, str.selecting_this_spatial_structure_as_root_structure
lea rcx, [rbp - 0x48]
call fcn.140073ad0
nop
lea rcx, [rbp - 0x48]
call fcn.140136850
nop
lea rcx, [rbp - 0x48]
call fcn.14004d2e0
xor r9d, r9d
mov r8, rsi
mov rdx, r13
xor ecx, ecx
call fcn.14014c7b0
mov qword [rsp + 0x70], rax
cmp r12, r15
je 0x14014efcf
mov qword [r12], rax
add r12, 8
mov qword [rbp - 0x68], r12
jmp 0x14014efe8
lea r8, [rsp + 0x70]
mov rdx, r12
lea rcx, [rbp - 0x70]
call fcn.140021a30
mov r15, qword [rbp - 0x60]
mov r12, qword [rbp - 0x68]
add rbx, 8
cmp rbx, r14
jne 0x14014ef48
mov qword [rbp - 0x58], r15
xor esi, esi
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
mov rcx, rax
mov qword [rsp + 0x58], rax
cmp rax, rdi
jne 0x14014eea2
mov rsi, qword [rbp - 0x78]
movzx r14d, byte [rsp + 0x44]
movzx r15d, byte [rsp + 0x44]
movabs rdi, 0x7fffffffffffffff
mov rax, qword [rsi + 0x10]
cmp byte [rax + 0x19], 0
je 0x14014f05e
mov rax, qword [rsi + 8]
cmp byte [rax + 0x19], 0
jne 0x14014f055
cmp rsi, qword [rax + 0x10]
jne 0x14014f055
mov rsi, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x14014f042
mov rsi, rax
mov qword [rbp - 0x78], rax
jmp 0x14014f080
mov rsi, rax
mov qword [rbp - 0x78], rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
jne 0x14014f080
nop
mov rsi, rax
mov qword [rbp - 0x78], rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x14014f070
xor r13d, r13d
cmp byte [rsi + 0x19], r13b
je 0x14014e670
mov rdi, qword [rbp - 0x58]
mov r15d, dword [rsp + 0x40]
mov rbx, qword [rbp - 0x80]
mov rsi, r12
mov r14, qword [rbp - 0x70]
sub rsi, r14
sar rsi, 3
test rsi, rsi
jne 0x14014f1d4
lea rcx, str.failed_to_determine_primary_site_element__taking_all_the_IfcSite
call fcn.1401411d0
mov rbx, qword [rbx]
mov rbx, qword [rbx]
cmp byte [rbx + 0x19], sil
jne 0x14014f1ca
mov r14, qword [rsp + 0x60]
mov rsi, qword [rbx + 0x20]
mov rcx, qword [rsi + 0x20]
test rcx, rcx
jne 0x14014f0eb
mov rcx, rsi
call fcn.1402563a0
mov rcx, qword [rsi + 0x20]
mov dword [rsp + 0x20], r13d
lea r9, vtable.type_info.0
lea r8, vtable.type_info.0
xor edx, edx
call sub.VCRUNTIME140.dll___RTDynamicCast
test rax, rax
je 0x14014f173
xor r9d, r9d
mov r8, r14
mov rdx, rax
xor ecx, ecx
call fcn.14014c7b0
mov qword [rbp - 0x80], rax
cmp r12, rdi
je 0x14014f15b
mov qword [r12], rax
add r12, 8
mov qword [rbp - 0x68], r12
jmp 0x14014f173
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]
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
lea r8, [rbp - 0x80]
mov rdx, r12
lea rcx, [rbp - 0x70]
call fcn.140021a30
mov rdi, qword [rbp - 0x60]
mov r12, qword [rbp - 0x68]
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x19], 0
je 0x14014f19f
mov rax, qword [rbx + 8]
cmp byte [rax + 0x19], 0
jne 0x14014f19a
cmp rbx, qword [rax + 0x10]
jne 0x14014f19a
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x14014f187
mov rbx, rax
jmp 0x14014f1bc
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
jne 0x14014f1bc
nop dword [rax + rax]
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x14014f1b0
cmp byte [rbx + 0x19], 0
je 0x14014f0d2
mov r14, qword [rbp - 0x70]
mov rsi, r12
sub rsi, r14
sar rsi, 3
cmp rsi, 1
jne 0x14014f1ef
mov rcx, qword [r14]
mov rax, qword [rsp + 0x60]
mov rax, qword [rax + 0x28]
mov qword [rax + 8], rcx
jmp 0x14014f32e
jbe 0x14014f3a3
mov ecx, 0x478
call fcn.14032af80
mov rbx, rax
mov qword [rbp - 0x80], rax
mov qword [rbp + 0xf0], r13
mov qword [rbp + 0xf8], 0xf
mov byte [rbp + 0xe0], 0
mov r8d, 4
lea rdx, str.Root
lea rcx, [rbp + 0xe0]
call fcn.140028740
nop
or r15d, 0x10
mov dword [rsp + 0x48], r15d
lea rdx, [rbp + 0xe0]
mov rcx, rbx
call fcn.140313ce0
nop
mov rbx, qword [rsp + 0x60]
mov rcx, qword [rbx + 0x28]
mov qword [rcx + 8], rax
test r15b, 0x10
je 0x14014f2a9
mov rdx, qword [rbp + 0xf8]
cmp rdx, 0x10
jb 0x14014f2a9
inc rdx
mov rcx, qword [rbp + 0xe0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14014f2a4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14014f2a4
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1401a68e0
mov rax, qword [rbx + 0x28]
mov rcx, qword [rax + 8]
mov qword [rcx + 0x448], r13
mov rax, qword [rbx + 0x28]
mov rcx, qword [rax + 8]
mov dword [rcx + 0x450], esi
mov rax, qword [rbx + 0x28]
mov rcx, qword [rax + 8]
mov edx, dword [rcx + 0x450]
mov eax, 8
mul rdx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.1401a68d0
mov rcx, qword [rbx + 0x28]
mov rdx, qword [rcx + 8]
mov qword [rdx + 0x458], rax
nop
mov rdx, qword [r14 + r13*8]
mov rax, qword [rbx + 0x28]
mov rcx, qword [rax + 8]
mov qword [rdx + 0x448], rcx
mov rax, qword [rbx + 0x28]
mov rcx, qword [rax + 8]
mov rax, qword [rcx + 0x458]
mov qword [rax + r13*8], rdx
inc r13
cmp r13, rsi
jb 0x14014f300
test r14, r14
je 0x14014f36d
sub rdi, r14
and rdi, 0xfffffffffffffff8
mov rax, r14
cmp rdi, 0x1000
jb 0x14014f362
add rdi, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14014f362
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rdx, rdi
mov rcx, r14
call fcn.1401a68e0
mov rcx, qword [rbp + 0x180]
xor rcx, rsp
call fcn.14032b620
lea r11, [rsp + 0x290]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.140028540
nop
lea rdx, str.failed_to_determine_primary_site_element
lea rcx, [rbp + 0x120]
call fcn.1400223b0
nop
lea rcx, [rbp + 0x120]
call fcn.14014fcf0
nop
lea rdx, str.no_root_element_found__expected_IfcBuilding_or_preferably_IfcSite_
lea rcx, [rbp + 0x120]
call fcn.1400223b0
nop
lea rcx, [rbp + 0x120]
call fcn.14014fcf0
nop
call fcn.140028540
nop
call fcn.1400072b0
nop
call fcn.1400072b0
int3