Function at 0x1400e8a20
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x3a0]
sub rsp, 0x4a0
mov r13, r9
mov rsi, r8
mov rdi, rcx
xor r15d, r15d
mov dword [rsp + 0x38], r15d
mov r10, qword [rdx + 0x18]
mov rax, qword [rdx + 0x20]
sub rax, r10
sar rax, 4
test rax, rax
je 0x1400e9ef8
movzx ecx, word [r10]
mov rax, qword [rdx]
mov ebx, dword [rax + rcx*4]
mov rdx, qword [r8 + 0x18]
mov rax, qword [r8 + 0x20]
sub rax, rdx
sar rax, 4
cmp rax, 2
jbe 0x1400e9ef8
mov rcx, qword [r8]
movzx eax, word [rdx + 0x20]
mov eax, dword [rcx + rax*4]
mov dword [rsp + 0x34], eax
movzx eax, word [rdx]
mov edx, dword [rcx + rax*4]
mov rcx, rdi
call fcn.140109690
mov rdx, qword [rax + 0x18]
mov rcx, qword [rax + 0x20]
sub rcx, rdx
sar rcx, 4
cmp rcx, 2
jbe 0x1400e9ef8
movzx ecx, word [rdx + 0x20]
mov rax, qword [rax]
mov edx, dword [rax + rcx*4]
mov dword [rsp + 0x20], edx
mov rcx, rdi
call fcn.140109690
mov qword [rsp + 0x48], rax
xor r14b, r14b
mov dword [rsp + 0x2c], r15d
xor dil, dil
mov dword [rsp + 0x40], r15d
mov byte [rsp + 0x24], dil
mov dword [rsp + 0x28], r15d
mov byte [rsp + 0x25], dil
xor r12b, r12b
mov edx, dword [rsi + 0x44]
mov rcx, qword [rbp + 0x3e0]
call fcn.1400dc9f0
mov rax, qword [rax]
mov rax, qword [rax]
mov r8, qword [rsp + 0x48]
mov r9d, dword [rsp + 0x34]
cmp byte [rax + 0x19], dil
jne 0x1400e8eff
mov ecx, dword [rax + 0x20]
cmp ecx, 0x1e
jne 0x1400e8b64
test r14b, r14b
je 0x1400e8b52
mov rcx, qword [rax + 0x28]
mov edx, dword [rsp + 0x2c]
cmp dword [rcx], edx
jne 0x1400e8c78
mov r14b, 1
mov rcx, qword [rax + 0x28]
mov ecx, dword [rcx]
mov dword [rsp + 0x2c], ecx
jmp 0x1400e8c1b
cmp ecx, 0x1f
jne 0x1400e8b90
test dil, dil
je 0x1400e8b7e
mov rcx, qword [rax + 0x28]
mov edx, dword [rsp + 0x40]
cmp dword [rcx], edx
jne 0x1400e8cd5
mov dil, 1
mov rcx, qword [rax + 0x28]
mov ecx, dword [rcx]
mov dword [rsp + 0x40], ecx
jmp 0x1400e8c1b
cmp ecx, 0x20
jne 0x1400e8bd0
cmp r9d, 3
jne 0x1400e8d44
cmp ebx, 4
jne 0x1400e8d44
cmp byte [rsp + 0x24], 0
je 0x1400e8bbf
mov rcx, qword [rax + 0x28]
mov edx, dword [rsp + 0x28]
cmp dword [rcx], edx
jne 0x1400e8d0b
mov byte [rsp + 0x24], 1
mov rcx, qword [rax + 0x28]
mov ecx, dword [rcx]
mov dword [rsp + 0x28], ecx
jmp 0x1400e8c1b
cmp ecx, 0xb
je 0x1400e8ff4
cmp ecx, 0xf
jne 0x1400e8be3
mov r15b, 1
jmp 0x1400e8c1b
cmp ecx, 0x1499
jne 0x1400e8bf2
mov byte [rsp + 0x25], 1
jmp 0x1400e8c1b
cmp ecx, 0x14a5
jne 0x1400e8c1b
cmp ebx, 4
jne 0x1400e8e3e
movzx ecx, word [r8 + 0x3a]
cmp cx, 0x1c
je 0x1400e8c18
cmp cx, 0x1d
jne 0x1400e8d7d
mov r12b, 1
mov rcx, qword [rax + 0x10]
cmp byte [rcx + 0x19], 0
je 0x1400e8c4f
mov rcx, qword [rax + 8]
cmp byte [rcx + 0x19], 0
jne 0x1400e8c43
nop
cmp rax, qword [rcx + 0x10]
jne 0x1400e8c43
mov rax, rcx
mov rcx, qword [rcx + 8]
cmp byte [rcx + 0x19], 0
je 0x1400e8c30
mov rax, rcx
cmp byte [rax + 0x19], 0
jmp 0x1400e8b2f
mov rax, rcx
mov rdx, qword [rcx]
cmp byte [rdx + 0x19], 0
jne 0x1400e8c6f
nop dword [rax + rax]
mov rax, rdx
mov rcx, qword [rdx]
mov rdx, rcx
cmp byte [rcx + 0x19], 0
je 0x1400e8c60
cmp byte [rax + 0x19], 0
jmp 0x1400e8b2f
mov r9, rsi
mov r8d, 0xfffffff2
lea rdx, [rbp + 0xd0]
mov rcx, qword [rbp + 0x3e0]
call fcn.140110380
mov rbx, rax
lea rdx, str.Variable_has_conflicting_location_decorations
mov rcx, rax
call fcn.14003e3a0
mov ebx, dword [rbx + 0x160]
lea rcx, [rbp + 0xd0]
call fcn.1400765f0
mov eax, ebx
mov rbx, qword [rsp + 0x4f0]
add rsp, 0x4a0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov r9, rsi
mov r8d, 0xfffffff2
lea rdx, [rbp + 0xd0]
mov rcx, qword [rbp + 0x3e0]
call fcn.140110380
mov rbx, rax
lea rdx, str.Variable_has_conflicting_component_decorations
mov rcx, rax
call fcn.14003e3a0
mov ebx, dword [rbx + 0x160]
jmp 0x1400e8cac
mov r9, rsi
mov r8d, 0xfffffff2
lea rdx, [rbp + 0xd0]
mov rcx, qword [rbp + 0x3e0]
call fcn.140110380
mov rbx, rax
lea rdx, str.Variable_has_conflicting_index_decorations
mov rcx, rax
call fcn.14003e3a0
mov ebx, dword [rbx + 0x160]
jmp 0x1400e8cac
mov r9, rsi
mov r8d, 0xfffffff2
lea rdx, [rbp + 0xd0]
mov rcx, qword [rbp + 0x3e0]
call fcn.140110380
mov rbx, rax
lea rdx, str.Index_can_only_be_applied_to_Fragment_output_variables
mov rcx, rax
call fcn.14003e3a0
mov ebx, dword [rbx + 0x160]
jmp 0x1400e8cac
mov r9, rsi
mov r8d, 0xfffffff2
lea rdx, [rbp + 0xd0]
mov rcx, qword [rbp + 0x3e0]
call fcn.140110380
mov rbx, rax
xor r9d, r9d
mov r8d, 0x1a7a
lea rdx, [rsp + 0x58]
mov rcx, qword [rbp + 0x3e0]
call fcn.14010c350
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x1400e8dc5
mov rax, qword [rax]
mov rdx, rax
mov rcx, rbx
call fcn.14003e850
lea rdx, str.PerVertexKHR_must_be_declared_as_arrays
mov rcx, rbx
call fcn.14003e3a0
mov ebx, dword [rbx + 0x160]
mov rdx, qword [rsp + 0x70]
cmp rdx, 0x10
jb 0x1400e8e22
inc rdx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400e8e1d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400e9efe
call fcn.140116b70
mov qword [rsp + 0x68], 0
mov qword [rsp + 0x70], 0xf
mov byte [rsp + 0x58], 0
jmp 0x1400e8cac
mov r9, rsi
mov r8d, 0xfffffff2
lea rdx, [rbp + 0xd0]
mov rcx, qword [rbp + 0x3e0]
call fcn.140110380
mov rbx, rax
xor r9d, r9d
mov r8d, 0x1a79
lea rdx, [rsp + 0x58]
mov rcx, qword [rbp + 0x3e0]
call fcn.14010c350
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x1400e8e86
mov rax, qword [rax]
mov rdx, rax
mov rcx, rbx
call fcn.14003e850
lea rdx, str.PerVertexKHR_can_only_be_applied_to_Fragment_Execution_Models
mov rcx, rbx
call fcn.14003e3a0
mov ebx, dword [rbx + 0x160]
mov rdx, qword [rsp + 0x70]
cmp rdx, 0x10
jb 0x1400e8ee3
inc rdx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400e8ede
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400e9f04
call fcn.140116b70
mov qword [rsp + 0x68], 0
mov qword [rsp + 0x70], 0xf
mov byte [rsp + 0x58], 0
jmp 0x1400e8cac
mov rdx, qword [rbp + 0x3e8]
mov rcx, qword [rdx + 0x18]
mov rax, qword [rdx + 0x20]
sub rax, rcx
sar rax, 4
test rax, rax
je 0x1400e9ef8
movzx ecx, word [rcx]
mov rax, qword [rdx]
mov edx, dword [rax + rcx*4]
sub edx, 1
je 0x1400e8f6f
sub edx, 1
je 0x1400e8f69
sub edx, 1
je 0x1400e8f61
sub edx, 1
je 0x1400e8f54
cmp edx, 0x1490
jne 0x1400e8fca
cmp r9d, 3
jne 0x1400e8fca
cmp byte [rsp + 0x25], 0
jmp 0x1400e8f72
cmp r9d, 3
je 0x1400e8fca
test r12b, r12b
je 0x1400e8fca
jmp 0x1400e8f74
cmp r9d, 3
je 0x1400e8fca
jmp 0x1400e8f74
cmp r9d, 3
je 0x1400e8fca
test r15b, r15b
jne 0x1400e8fca
mov rbx, qword [rsp + 0x48]
movzx eax, word [rbx + 0x3a]
sub ax, 0x1c
cmp ax, 1
ja 0x1400e8fc5
mov rcx, qword [rbx + 0x18]
mov rax, qword [rbx + 0x20]
sub rax, rcx
sar rax, 4
cmp rax, 1
jbe 0x1400e9ef8
movzx ecx, word [rcx + 0x10]
mov rax, qword [rbx]
mov ebx, dword [rax + rcx*4]
mov edx, ebx
mov r15, qword [rbp + 0x3e0]
mov rcx, r15
call fcn.140109690
mov r8, rax
mov qword [rsp + 0x48], rax
jmp 0x1400e8fd5
mov r8, qword [rsp + 0x48]
mov r15, qword [rbp + 0x3e0]
mov ebx, dword [rsp + 0x20]
movzx edi, word [r8 + 0x3a]
cmp di, 0x1e
jne 0x1400e8ffb
mov r8d, 0xb
mov edx, ebx
mov rcx, r15
call fcn.1400e9f50
test al, al
je 0x1400e8ffb
xor eax, eax
jmp 0x1400e8cba
mov r8d, 2
mov edx, ebx
mov rcx, r15
call fcn.1400e9f50
test r14b, r14b
jne 0x1400e90df
test al, al
jne 0x1400e90df
xor ebx, ebx
cmp di, 0x1e
sete bl
mov r9, rsi
mov r8d, 0xfffffff2
lea rdx, [rbp + 0xd0]
mov rcx, r15
call fcn.140110380
mov rdi, rax
xor r9d, r9d
lea r8d, [rbx + 0x1334]
lea rdx, [rsp + 0x58]
mov rcx, r15
call fcn.14010c350
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x1400e9066
mov rax, qword [rax]
mov rdx, rax
mov rcx, rdi
call fcn.14003e850
lea rdx, str.Variable_must_be_decorated_with_a_location
mov rcx, rdi
call fcn.14003e3a0
mov ebx, dword [rdi + 0x160]
mov rdx, qword [rsp + 0x70]
cmp rdx, 0x10
jb 0x1400e90c3
inc rdx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400e90be
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400e9f0a
call fcn.140116b70
mov qword [rsp + 0x68], 0
mov qword [rsp + 0x70], 0xf
mov byte [rsp + 0x58], 0
jmp 0x1400e8cac
lea rax, str.output
lea rdx, str.input
cmp dword [rsp + 0x34], 3
cmove rdx, rax
xor r12d, r12d
mov qword [rsp + 0x78], r12
mov qword [rbp - 0x78], r12
mov qword [rbp - 0x70], 0xf
mov byte [rsp + 0x78], r12b
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], r12b
jne 0x1400e9116
lea rcx, [rsp + 0x78]
call fcn.140001ad0
nop
test r14b, r14b
je 0x1400e944b
mov ebx, 1
mov r15d, ebx
mov rsi, qword [rsp + 0x48]
cmp word [rsi + 0x3a], 0x1c
jne 0x1400e91c2
mov rcx, qword [rsi + 0x18]
mov rax, qword [rsi + 0x20]
sub rax, rcx
sar rax, 4
cmp rax, 2
jbe 0x1400e9f10
movzx ecx, word [rcx + 0x20]
mov rax, qword [rsi]
mov r8d, dword [rax + rcx*4]
lea rdx, [rsp + 0x48]
mov r14, qword [rbp + 0x3e0]
mov rcx, r14
call fcn.1401095a0
movzx edx, byte [rax + 4]
mov r15d, dword [rax]
cmp byte [rax + 8], 0
je 0x1400e9190
test dl, dl
jne 0x1400e9193
mov r15d, ebx
mov rcx, qword [rsi + 0x18]
mov rax, qword [rsi + 0x20]
sub rax, rcx
sar rax, 4
cmp rax, rbx
jbe 0x1400e9f16
movzx ecx, word [rcx + 0x10]
mov rax, qword [rsi]
mov edx, dword [rax + rcx*4]
mov rcx, r14
call fcn.140109690
mov rsi, rax
jmp 0x1400e91c9
mov r14, qword [rbp + 0x3e0]
mov dword [rsp + 0x30], r12d
lea r8, [rsp + 0x30]
mov rdx, rsi
mov rcx, r14
call fcn.1400ea190
mov edi, eax
test eax, eax
jne 0x1400e9eb3
mov rdx, rsi
mov rcx, r14
call fcn.1400ea010
mov r14d, eax
mov esi, r12d
test r15d, r15d
je 0x1400e9eb1
mov r12, qword [rbp + 0x400]
mov r8d, dword [rsp + 0x30]
nop
mov ecx, esi
imul ecx, r8d
add ecx, dword [rsp + 0x2c]
lea edx, [rcx*4]
mov eax, edx
cmp edx, 0x4000
jae 0x1400e9eb1
lea ebx, [rcx + r8]
shl ebx, 2
test r14d, r14d
je 0x1400e9247
add eax, dword [rsp + 0x40]
lea ebx, [rdx + r14]
add ebx, dword [rsp + 0x40]
mov rdi, r13
cmp byte [rsp + 0x24], 0
je 0x1400e925a
cmp dword [rsp + 0x28], 1
cmove rdi, r12
mov dword [rsp + 0x20], eax
cmp eax, ebx
jae 0x1400e928e
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x48]
mov rcx, rdi
call fcn.14007b110
cmp byte [rsp + 0x50], 0
je 0x1400e929e
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
cmp eax, ebx
jb 0x1400e9262
mov r8d, dword [rsp + 0x30]
inc esi
cmp esi, r15d
jae 0x1400e9eb1
jmp 0x1400e9210
mov r9, qword [rbp + 0x3e8]
mov r8d, 0xfffffff2
lea rdx, [rbp + 0xd0]
mov rbx, qword [rbp + 0x3e0]
mov rcx, rbx
call fcn.140110380
mov rdi, rax
xor r9d, r9d
mov rcx, rbx
cmp dword [rsp + 0x34], 3
jne 0x1400e92e8
mov r8d, 0x2212
lea rdx, [rbp + 0x40]
call fcn.14010c350
nop
mov esi, 1
jmp 0x1400e92fe
mov r8d, 0x2211
lea rdx, [rsp + 0x58]
call fcn.14010c350
nop
mov esi, 2
mov dword [rsp + 0x38], esi
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x1400e9310
mov rax, qword [rax]
mov rdx, rax
mov rcx, rdi
call fcn.14003e850
lea rdx, str.Entry_point_has_conflicting
mov rcx, rdi
call fcn.14003e3a0
lea rdx, [rsp + 0x78]
cmp qword [rbp - 0x70], 0x10
cmovae rdx, qword [rsp + 0x78]
mov r8, qword [rbp - 0x78]
mov rcx, rdi
call fcn.14003e850
lea rdx, str._location_assignment_at_location
mov rcx, rdi
call fcn.14003e3a0
mov ebx, dword [rsp + 0x20]
mov edx, ebx
shr edx, 2
mov rcx, rdi
call fcn.1400706f0
lea rdx, str.__component
mov rcx, rdi
call fcn.14003e3a0
and ebx, 3
mov edx, ebx
mov rcx, rdi
call fcn.1400706f0
mov edi, dword [rdi + 0x160]
test sil, 2
je 0x1400e93e5
and esi, 0xfffffffd
mov rdx, qword [rsp + 0x70]
cmp rdx, 0x10
jb 0x1400e93ce
inc rdx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400e93c9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400e9f1c
call fcn.140116b70
mov qword [rsp + 0x68], 0
mov qword [rsp + 0x70], 0xf
mov byte [rsp + 0x58], 0
test sil, 1
je 0x1400e943a
mov rdx, qword [rbp + 0x58]
cmp rdx, 0x10
jb 0x1400e9426
inc rdx
mov rcx, qword [rbp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400e9421
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400e9f22
call fcn.140116b70
mov qword [rbp + 0x50], 0
mov qword [rbp + 0x58], 0xf
mov byte [rbp + 0x40], 0
lea rcx, [rbp + 0xd0]
call fcn.1400765f0
jmp 0x1400e9eb3
mov dword [rbp], 0
mov qword [rbp + 8], r12
mov qword [rbp + 0x10], r12
mov ecx, 0x18
call fcn.140116b34
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rbp + 8], rax
mov qword [rbp + 0x18], r12
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x20], xmm0
mov qword [rbp + 0x30], 7
mov esi, 8
mov qword [rbp + 0x38], rsi
mov dword [rbp], 0x3f800000
mov r8, rax
mov edi, 0x10
mov edx, edi
lea rcx, [rbp + 0x18]
call fcn.140001960
nop
mov dword [rbp - 0x40], 0
mov qword [rbp - 0x38], r12
mov qword [rbp - 0x30], r12
lea ecx, [rsi + 0x10]
call fcn.140116b34
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x28], r12
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], 7
mov qword [rbp - 8], rsi
mov dword [rbp - 0x40], 0x3f800000
mov r8, rax
mov edx, edi
lea rcx, [rbp - 0x28]
call fcn.140001960
nop
mov edx, ebx
mov rcx, r15
call fcn.1400dc9f0
mov rbx, qword [rax]
mov rbx, qword [rbx]
movabs rcx, 0xcbf29ce484222325
movabs r11, 0x100000001b3
mov r9, qword [rbp + 8]
cmp byte [rbx + 0x19], 0
jne 0x1400e9753
mov r10, qword [rbp - 0x38]
nop dword [rax]
mov eax, dword [rbx + 0x20]
cmp eax, 0x1e
jne 0x1400e9635
mov r8d, dword [rbx + 0x40]
mov eax, r8d
shr eax, 8
movzx edx, al
movzx eax, r8b
xor rax, rcx
imul rax, r11
xor rdx, rax
imul rdx, r11
mov eax, r8d
shr eax, 0x10
movzx ecx, al
xor rdx, rcx
imul rdx, r11
mov eax, r8d
shr rax, 0x18
xor rdx, rax
imul rdx, r11
mov rax, qword [rbp + 0x30]
and rax, rdx
add rax, rax
mov rdx, qword [rbp + 0x18]
mov rcx, qword [rdx + rax*8 + 8]
cmp rcx, r9
je 0x1400e95b4
mov rax, qword [rdx + rax*8]
cmp r8d, dword [rcx + 0x10]
je 0x1400e95af
nop dword [rax + rax]
cmp rcx, rax
je 0x1400e95b4
mov rcx, qword [rcx + 8]
cmp r8d, dword [rcx + 0x10]
jne 0x1400e95a0
test rcx, rcx
jne 0x1400e95b7
mov rcx, r9
mov rax, qword [rbx + 0x28]
cmp rcx, r9
jne 0x1400e95d9
mov edi, dword [rax]
mov dword [rsp + 0x30], r8d
lea r8, [rsp + 0x30]
lea rdx, [rbp + 0x40]
lea rcx, [rbp]
jmp 0x1400e96c7
mov eax, dword [rax]
cmp dword [rcx + 0x14], eax
je 0x1400e96f1
mov r9, qword [rsp + 0x48]
mov r8d, 0xfffffff2
lea rdx, [rbp + 0xd0]
mov rcx, r15
call fcn.140110380
mov rdi, rax
lea rdx, str.Member_index
mov rcx, rax
call fcn.14003e3a0
mov edx, dword [rbx + 0x40]
mov rcx, rdi
call fcn.140070520
lea rdx, str._has_conflicting_location_assignments
mov rcx, rdi
call fcn.14003e3a0
mov edi, dword [rdi + 0x160]
jmp 0x1400e9e7c
cmp eax, 0x1f
jne 0x1400e96f1
mov edx, dword [rbx + 0x40]
mov eax, edx
shr eax, 8
movzx r8d, al
movzx eax, dl
xor rax, rcx
imul rax, r11
xor r8, rax
imul r8, r11
mov eax, edx
shr eax, 0x10
movzx ecx, al
xor r8, rcx
imul r8, r11
mov eax, edx
shr rax, 0x18
xor r8, rax
imul r8, r11
and r8, qword [rbp - 0x10]
add r8, r8
mov rax, qword [rbp - 0x28]
mov rcx, qword [rax + r8*8 + 8]
cmp rcx, r10
je 0x1400e96a8
mov rax, qword [rax + r8*8]
cmp edx, dword [rcx + 0x10]
je 0x1400e96a3
cmp rcx, rax
je 0x1400e96a8
mov rcx, qword [rcx + 8]
cmp edx, dword [rcx + 0x10]
jne 0x1400e9695
test rcx, rcx
jne 0x1400e96ab
mov rcx, r10
mov rax, qword [rbx + 0x28]
cmp rcx, r10
jne 0x1400e96e6
mov edi, dword [rax]
mov dword [rsp + 0x28], edx
lea r8, [rsp + 0x28]
lea rdx, [rbp + 0x60]
lea rcx, [rbp - 0x40]
call fcn.1400e87d0
mov rcx, qword [rax]
mov dword [rcx + 0x14], edi
mov r9, qword [rbp + 8]
mov r10, qword [rbp - 0x38]
movabs r11, 0x100000001b3
jmp 0x1400e96f1
mov eax, dword [rax]
cmp dword [rcx + 0x14], eax
jne 0x1400e9964
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x19], 0
je 0x1400e971d
mov rax, qword [rbx + 8]
cmp byte [rax + 0x19], 0
jne 0x1400e9718
cmp rbx, qword [rax + 0x10]
jne 0x1400e9718
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x1400e9705
mov rbx, rax
jmp 0x1400e973f
mov rbx, rax
mov rcx, qword [rax]
cmp byte [rcx + 0x19], 0
jne 0x1400e973f
nop dword [rax]
mov rbx, rcx
mov rax, qword [rcx]
mov rcx, rax
cmp byte [rax + 0x19], 0
je 0x1400e9730
movabs rcx, 0xcbf29ce484222325
cmp byte [rbx + 0x19], 0
je 0x1400e9530
mov edi, 1
mov dword [rsp + 0x30], edi
mov r10, qword [rsp + 0x48]
mov rax, qword [r10 + 0x20]
sub rax, qword [r10 + 0x18]
sar rax, 4
cmp rax, rdi
jbe 0x1400e9e9e
nop word [rax + rax]
lea ebx, [rdi - 1]
mov edx, ebx
mov eax, ebx
shr eax, 8
movzx r14d, al
movzx eax, bl
xor rax, rcx
imul rax, r11
xor r14, rax
imul r14, r11
mov eax, ebx
shr eax, 0x10
movzx ecx, al
xor r14, rcx
imul r14, r11
mov eax, ebx
shr rax, 0x18
xor r14, rax
mov rax, r14
imul rax, r11
mov rcx, qword [rbp + 0x30]
and rcx, rax
add rcx, rcx
mov r8, qword [rbp + 0x18]
mov rax, qword [r8 + rcx*8 + 8]
cmp rax, r9
je 0x1400e97f3
mov rcx, qword [r8 + rcx*8]
cmp edx, dword [rax + 0x10]
je 0x1400e97ee
nop
cmp rax, rcx
je 0x1400e97f3
mov rax, qword [rax + 8]
cmp ebx, dword [rax + 0x10]
jne 0x1400e97e0
test rax, rax
jne 0x1400e97f6
mov rax, r9
cmp rax, r9
je 0x1400e9db4
mov r12d, dword [rax + 0x14]
mov ecx, edi
mov rdx, qword [r10 + 0x18]
mov rax, qword [r10 + 0x20]
sub rax, rdx
sar rax, 4
cmp rax, rcx
jbe 0x1400e9f40
add rcx, rcx
movzx ecx, word [rdx + rcx*8]
mov rax, qword [r10]
mov edx, dword [rax + rcx*4]
mov rcx, r15
call fcn.140109690
mov r13, rax
mov dword [rsp + 0x20], 0
lea r8, [rsp + 0x20]
mov rdx, rax
mov rcx, r15
call fcn.1400ea190
mov edi, eax
test eax, eax
jne 0x1400e9e89
mov rdx, r13
mov rcx, r15
call fcn.1400ea010
mov esi, eax
xor r15d, r15d
movabs rax, 0x100000001b3
imul r14, rax
mov rcx, qword [rbp - 0x10]
and rcx, r14
add rcx, rcx
mov rdx, qword [rbp - 0x28]
mov rax, qword [rdx + rcx*8 + 8]
cmp rax, qword [rbp - 0x38]
je 0x1400e98c8
mov rcx, qword [rdx + rcx*8]
cmp ebx, dword [rax + 0x10]
je 0x1400e98a5
cmp rax, rcx
je 0x1400e98c8
mov rax, qword [rax + 8]
cmp ebx, dword [rax + 0x10]
jne 0x1400e9897
test rax, rax
je 0x1400e98c8
mov dword [rsp + 0x28], ebx
lea r8, [rsp + 0x28]
lea rdx, [rsp + 0x58]
lea rcx, [rbp - 0x40]
call fcn.1400e87d0
mov rcx, qword [rax]
mov r15d, dword [rcx + 0x14]
lea edi, [r12*4]
mov ecx, edi
cmp edi, 0x4000
jae 0x1400e9a09
cmp word [r13 + 0x3a], 0x1c
jne 0x1400e99b5
lea eax, [rsi - 1]
cmp eax, 2
ja 0x1400e99b5
mov r14d, r12d
mov ecx, dword [rsp + 0x20]
lea eax, [rcx + r12]
cmp r12d, eax
jae 0x1400e9a09
add esi, r15d
nop dword [rax]
mov ebx, r15d
cmp r15d, esi
jae 0x1400e9950
nop dword [rax + rax]
lea eax, [rdi + rbx]
mov dword [rsp + 0x28], eax
lea r8, [rsp + 0x28]
lea rdx, [rbp + 0x60]
mov rcx, qword [rbp + 0x3f8]
call fcn.14007b110
cmp byte [rbp + 0x68], 0
je 0x1400e9a53
inc ebx
cmp ebx, esi
jb 0x1400e9920
mov ecx, dword [rsp + 0x20]
inc r14d
add edi, 4
lea eax, [rcx + r12]
cmp r14d, eax
jb 0x1400e9910
jmp 0x1400e9a09
mov r9, qword [rsp + 0x48]
mov r8d, 0xfffffff2
lea rdx, [rbp + 0xd0]
mov rcx, r15
call fcn.140110380
mov rdi, rax
lea rdx, str.Member_index
mov rcx, rax
call fcn.14003e3a0
mov edx, dword [rbx + 0x40]
mov rcx, rdi
call fcn.140070520
lea rdx, str._has_conflicting_component_assignments
mov rcx, rdi
call fcn.14003e3a0
mov edi, dword [rdi + 0x160]
jmp 0x1400e9e7c
mov ebx, dword [rsp + 0x20]
add ebx, r12d
shl ebx, 2
test esi, esi
je 0x1400e99cc
add ecx, r15d
lea ebx, [rdi + rsi]
add ebx, r15d
mov dword [rsp + 0x2c], ecx
cmp ecx, ebx
jae 0x1400e9a09
mov r13, qword [rbp + 0x3f8]
nop dword [rax + rax]
lea r8, [rsp + 0x2c]
lea rdx, [rbp + 0x40]
mov rcx, r13
call fcn.14007b110
cmp byte [rbp + 0x48], 0
je 0x1400e9bee
mov eax, dword [rsp + 0x2c]
inc eax
mov dword [rsp + 0x2c], eax
cmp eax, ebx
jb 0x1400e99e0
mov edi, dword [rsp + 0x30]
inc edi
mov dword [rsp + 0x30], edi
mov r10, qword [rsp + 0x48]
mov rcx, qword [r10 + 0x20]
sub rcx, qword [r10 + 0x18]
sar rcx, 4
mov eax, edi
cmp rax, rcx
jae 0x1400e9e9e
mov r9, qword [rbp + 8]
mov r15, qword [rbp + 0x3e0]
movabs rcx, 0xcbf29ce484222325
movabs r11, 0x100000001b3
jmp 0x1400e9780
mov r9, qword [rbp + 0x3e8]
mov r8d, 0xfffffff2
lea rdx, [rbp + 0xd0]
mov rsi, qword [rbp + 0x3e0]
mov rcx, rsi
call fcn.140110380
mov rdi, rax
xor r9d, r9d
mov rcx, rsi
cmp dword [rsp + 0x34], 3
jne 0x1400e9a9d
mov r8d, 0x2212
lea rdx, [rbp - 0x68]
call fcn.14010c350
nop
mov esi, 4
jmp 0x1400e9ab2
mov r8d, 0x2211
lea rdx, [rbp + 0x70]
call fcn.14010c350
nop
mov esi, 8
mov dword [rsp + 0x38], esi
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x1400e9ac4
mov rax, qword [rax]
mov rdx, rax
mov rcx, rdi
call fcn.14003e850
lea rdx, str.Entry_point_has_conflicting
mov rcx, rdi
call fcn.14003e3a0
lea rdx, [rsp + 0x78]
cmp qword [rbp - 0x70], 0x10
cmovae rdx, qword [rsp + 0x78]
mov r8, qword [rbp - 0x78]
mov rcx, rdi
call fcn.14003e850
lea rdx, str._location_assignment_at_location
mov rcx, rdi
call fcn.14003e3a0
mov edx, r14d
mov rcx, rdi
call fcn.1400706f0
lea rdx, str.__component
mov rcx, rdi
call fcn.14003e3a0
mov edx, ebx
mov rcx, rdi
call fcn.1400706f0
mov edi, dword [rdi + 0x160]
test sil, 8
je 0x1400e9b94
and esi, 0xfffffff7
mov rdx, qword [rbp + 0x88]
cmp rdx, 0x10
jb 0x1400e9b7a
inc rdx
mov rcx, qword [rbp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400e9b75
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400e9f28
call fcn.140116b70
mov qword [rbp + 0x80], 0
mov qword [rbp + 0x88], 0xf
mov byte [rbp + 0x70], 0
test sil, 4
je 0x1400e9be9
mov rdx, qword [rbp - 0x50]
cmp rdx, 0x10
jb 0x1400e9bd5
inc rdx
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400e9bd0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400e9f2e
call fcn.140116b70
mov qword [rbp - 0x58], 0
mov qword [rbp - 0x50], 0xf
mov byte [rbp - 0x68], 0
jmp 0x1400e9e7c
mov r9, qword [rbp + 0x3e8]
mov r8d, 0xfffffff2
lea rdx, [rbp + 0x238]
mov rbx, qword [rbp + 0x3e0]
mov rcx, rbx
call fcn.140110380
mov rdi, rax
xor r9d, r9d
mov rcx, rbx
cmp dword [rsp + 0x34], 3
jne 0x1400e9c3b
mov r8d, 0x2212
lea rdx, [rbp + 0xb0]
call fcn.14010c350
nop
mov esi, 0x10
jmp 0x1400e9c53
mov r8d, 0x2211
lea rdx, [rbp + 0x90]
call fcn.14010c350
nop
mov esi, 0x20
mov dword [rsp + 0x38], esi
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x1400e9c65
mov rax, qword [rax]
mov rdx, rax
mov rcx, rdi
call fcn.14003e850
lea rdx, str.Entry_point_has_conflicting
mov rcx, rdi
call fcn.14003e3a0
lea rdx, [rsp + 0x78]
cmp qword [rbp - 0x70], 0x10
cmovae rdx, qword [rsp + 0x78]
mov r8, qword [rbp - 0x78]
mov rcx, rdi
call fcn.14003e850
lea rdx, str._location_assignment_at_location
mov rcx, rdi
call fcn.14003e3a0
mov ebx, dword [rsp + 0x2c]
mov edx, ebx
shr edx, 2
mov rcx, rdi
call fcn.1400706f0
lea rdx, str.__component
mov rcx, rdi
call fcn.14003e3a0
and ebx, 3
mov edx, ebx
mov rcx, rdi
call fcn.1400706f0
mov edi, dword [rdi + 0x160]
test sil, 0x20
je 0x1400e9d44
and esi, 0xffffffdf
mov rdx, qword [rbp + 0xa8]
cmp rdx, 0x10
jb 0x1400e9d27
inc rdx
mov rcx, qword [rbp + 0x90]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400e9d22
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400e9f34
call fcn.140116b70
mov qword [rbp + 0xa0], 0
mov qword [rbp + 0xa8], 0xf
mov byte [rbp + 0x90], 0
test sil, 0x10
je 0x1400e9da8
mov rdx, qword [rbp + 0xc8]
cmp rdx, 0x10
jb 0x1400e9d8b
inc rdx
mov rcx, qword [rbp + 0xb0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400e9d86
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400e9f3a
call fcn.140116b70
mov qword [rbp + 0xc0], 0
mov qword [rbp + 0xc8], 0xf
mov byte [rbp + 0xb0], 0
lea rcx, [rbp + 0x238]
jmp 0x1400e9e83
mov r9, r10
mov r8d, 0xfffffff2
lea rdx, [rbp + 0xd0]
mov rcx, r15
call fcn.140110380
mov rbx, rax
xor r9d, r9d
mov r8d, 0x1337
lea rdx, [rbp - 0x68]
mov rcx, r15
call fcn.14010c350
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x1400e9df3
mov rax, qword [rax]
mov rdx, rax
mov rcx, rbx
call fcn.14003e850
lea rdx, str.Member_index
mov rcx, rbx
call fcn.14003e3a0
lea edx, [rdi - 1]
mov rcx, rbx
call fcn.1400706f0
lea rdx, str._is_missing_a_location_assignment
mov rcx, rbx
call fcn.14003e3a0
mov edi, dword [rbx + 0x160]
mov rdx, qword [rbp - 0x50]
cmp rdx, 0x10
jb 0x1400e9e68
inc rdx
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400e9e63
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400e9f46
call fcn.140116b70
mov qword [rbp - 0x58], 0
mov qword [rbp - 0x50], 0xf
mov byte [rbp - 0x68], 0
lea rcx, [rbp + 0xd0]
call fcn.1400765f0
nop
lea rcx, [rbp - 0x40]
call fcn.140033c20
nop
lea rcx, [rbp]
call fcn.140033c20
jmp 0x1400e9eb3
lea rcx, [rbp - 0x40]
call fcn.140033c20
nop
lea rcx, [rbp]
call fcn.140033c20
xor edi, edi
mov rdx, qword [rbp - 0x70]
cmp rdx, 0x10
jb 0x1400e9eeb
inc rdx
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400e9ee6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400e9ef2
call fcn.140116b70
mov eax, edi
jmp 0x1400e8cba
call fcn.14011d1bc
int3
call fcn.140075ff0
nop
call fcn.14011d1bc
nop
call fcn.14011d1bc
nop
call fcn.14011d1bc
nop
call fcn.140075ff0
int3
call fcn.140075ff0
nop
call fcn.14011d1bc
nop
call fcn.14011d1bc
nop
call fcn.14011d1bc
nop
call fcn.14011d1bc
nop
call fcn.14011d1bc
nop
call fcn.14011d1bc
nop
call fcn.140075ff0
nop
call fcn.14011d1bc
int3