Function at 0x1400e8bf0
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 0x1400ea0c8
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 0x1400ea0c8
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.140109870
mov rdx, qword [rax + 0x18]
mov rcx, qword [rax + 0x20]
sub rcx, rdx
sar rcx, 4
cmp rcx, 2
jbe 0x1400ea0c8
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.140109870
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.1400dcbd0
mov rax, qword [rax]
mov rax, qword [rax]
mov r8, qword [rsp + 0x48]
mov r9d, dword [rsp + 0x34]
cmp byte [rax + 0x19], dil
jne 0x1400e90cf
mov ecx, dword [rax + 0x20]
cmp ecx, 0x1e
jne 0x1400e8d34
test r14b, r14b
je 0x1400e8d22
mov rcx, qword [rax + 0x28]
mov edx, dword [rsp + 0x2c]
cmp dword [rcx], edx
jne 0x1400e8e48
mov r14b, 1
mov rcx, qword [rax + 0x28]
mov ecx, dword [rcx]
mov dword [rsp + 0x2c], ecx
jmp 0x1400e8deb
cmp ecx, 0x1f
jne 0x1400e8d60
test dil, dil
je 0x1400e8d4e
mov rcx, qword [rax + 0x28]
mov edx, dword [rsp + 0x40]
cmp dword [rcx], edx
jne 0x1400e8ea5
mov dil, 1
mov rcx, qword [rax + 0x28]
mov ecx, dword [rcx]
mov dword [rsp + 0x40], ecx
jmp 0x1400e8deb
cmp ecx, 0x20
jne 0x1400e8da0
cmp r9d, 3
jne 0x1400e8f14
cmp ebx, 4
jne 0x1400e8f14
cmp byte [rsp + 0x24], 0
je 0x1400e8d8f
mov rcx, qword [rax + 0x28]
mov edx, dword [rsp + 0x28]
cmp dword [rcx], edx
jne 0x1400e8edb
mov byte [rsp + 0x24], 1
mov rcx, qword [rax + 0x28]
mov ecx, dword [rcx]
mov dword [rsp + 0x28], ecx
jmp 0x1400e8deb
cmp ecx, 0xb
je 0x1400e91c4
cmp ecx, 0xf
jne 0x1400e8db3
mov r15b, 1
jmp 0x1400e8deb
cmp ecx, 0x1499
jne 0x1400e8dc2
mov byte [rsp + 0x25], 1
jmp 0x1400e8deb
cmp ecx, 0x14a5
jne 0x1400e8deb
cmp ebx, 4
jne 0x1400e900e
movzx ecx, word [r8 + 0x3a]
cmp cx, 0x1c
je 0x1400e8de8
cmp cx, 0x1d
jne 0x1400e8f4d
mov r12b, 1
mov rcx, qword [rax + 0x10]
cmp byte [rcx + 0x19], 0
je 0x1400e8e1f
mov rcx, qword [rax + 8]
cmp byte [rcx + 0x19], 0
jne 0x1400e8e13
nop
cmp rax, qword [rcx + 0x10]
jne 0x1400e8e13
mov rax, rcx
mov rcx, qword [rcx + 8]
cmp byte [rcx + 0x19], 0
je 0x1400e8e00
mov rax, rcx
cmp byte [rax + 0x19], 0
jmp 0x1400e8cff
mov rax, rcx
mov rdx, qword [rcx]
cmp byte [rdx + 0x19], 0
jne 0x1400e8e3f
nop dword [rax + rax]
mov rax, rdx
mov rcx, qword [rdx]
mov rdx, rcx
cmp byte [rcx + 0x19], 0
je 0x1400e8e30
cmp byte [rax + 0x19], 0
jmp 0x1400e8cff
mov r9, rsi
mov r8d, 0xfffffff2
lea rdx, [rbp + 0xd0]
mov rcx, qword [rbp + 0x3e0]
call fcn.140110560
mov rbx, rax
lea rdx, str.Variable_has_conflicting_location_decorations
mov rcx, rax
call fcn.14003e540
mov ebx, dword [rbx + 0x160]
lea rcx, [rbp + 0xd0]
call fcn.140076780
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.140110560
mov rbx, rax
lea rdx, str.Variable_has_conflicting_component_decorations
mov rcx, rax
call fcn.14003e540
mov ebx, dword [rbx + 0x160]
jmp 0x1400e8e7c
mov r9, rsi
mov r8d, 0xfffffff2
lea rdx, [rbp + 0xd0]
mov rcx, qword [rbp + 0x3e0]
call fcn.140110560
mov rbx, rax
lea rdx, str.Variable_has_conflicting_index_decorations
mov rcx, rax
call fcn.14003e540
mov ebx, dword [rbx + 0x160]
jmp 0x1400e8e7c
mov r9, rsi
mov r8d, 0xfffffff2
lea rdx, [rbp + 0xd0]
mov rcx, qword [rbp + 0x3e0]
call fcn.140110560
mov rbx, rax
lea rdx, str.Index_can_only_be_applied_to_Fragment_output_variables
mov rcx, rax
call fcn.14003e540
mov ebx, dword [rbx + 0x160]
jmp 0x1400e8e7c
mov r9, rsi
mov r8d, 0xfffffff2
lea rdx, [rbp + 0xd0]
mov rcx, qword [rbp + 0x3e0]
call fcn.140110560
mov rbx, rax
xor r9d, r9d
mov r8d, 0x1a7a
lea rdx, [rsp + 0x58]
mov rcx, qword [rbp + 0x3e0]
call fcn.14010c530
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x1400e8f95
mov rax, qword [rax]
mov rdx, rax
mov rcx, rbx
call fcn.14003e9f0
lea rdx, str.PerVertexKHR_must_be_declared_as_arrays
mov rcx, rbx
call fcn.14003e540
mov ebx, dword [rbx + 0x160]
mov rdx, qword [rsp + 0x70]
cmp rdx, 0x10
jb 0x1400e8ff2
inc rdx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400e8fed
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400ea0ce
call fcn.140116d50
mov qword [rsp + 0x68], 0
mov qword [rsp + 0x70], 0xf
mov byte [rsp + 0x58], 0
jmp 0x1400e8e7c
mov r9, rsi
mov r8d, 0xfffffff2
lea rdx, [rbp + 0xd0]
mov rcx, qword [rbp + 0x3e0]
call fcn.140110560
mov rbx, rax
xor r9d, r9d
mov r8d, 0x1a79
lea rdx, [rsp + 0x58]
mov rcx, qword [rbp + 0x3e0]
call fcn.14010c530
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x1400e9056
mov rax, qword [rax]
mov rdx, rax
mov rcx, rbx
call fcn.14003e9f0
lea rdx, str.PerVertexKHR_can_only_be_applied_to_Fragment_Execution_Models
mov rcx, rbx
call fcn.14003e540
mov ebx, dword [rbx + 0x160]
mov rdx, qword [rsp + 0x70]
cmp rdx, 0x10
jb 0x1400e90b3
inc rdx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400e90ae
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400ea0d4
call fcn.140116d50
mov qword [rsp + 0x68], 0
mov qword [rsp + 0x70], 0xf
mov byte [rsp + 0x58], 0
jmp 0x1400e8e7c
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 0x1400ea0c8
movzx ecx, word [rcx]
mov rax, qword [rdx]
mov edx, dword [rax + rcx*4]
sub edx, 1
je 0x1400e913f
sub edx, 1
je 0x1400e9139
sub edx, 1
je 0x1400e9131
sub edx, 1
je 0x1400e9124
cmp edx, 0x1490
jne 0x1400e919a
cmp r9d, 3
jne 0x1400e919a
cmp byte [rsp + 0x25], 0
jmp 0x1400e9142
cmp r9d, 3
je 0x1400e919a
test r12b, r12b
je 0x1400e919a
jmp 0x1400e9144
cmp r9d, 3
je 0x1400e919a
jmp 0x1400e9144
cmp r9d, 3
je 0x1400e919a
test r15b, r15b
jne 0x1400e919a
mov rbx, qword [rsp + 0x48]
movzx eax, word [rbx + 0x3a]
sub ax, 0x1c
cmp ax, 1
ja 0x1400e9195
mov rcx, qword [rbx + 0x18]
mov rax, qword [rbx + 0x20]
sub rax, rcx
sar rax, 4
cmp rax, 1
jbe 0x1400ea0c8
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.140109870
mov r8, rax
mov qword [rsp + 0x48], rax
jmp 0x1400e91a5
mov r8, qword [rsp + 0x48]
mov r15, qword [rbp + 0x3e0]
mov ebx, dword [rsp + 0x20]
movzx edi, word [r8 + 0x3a]
cmp di, 0x1e
jne 0x1400e91cb
mov r8d, 0xb
mov edx, ebx
mov rcx, r15
call fcn.1400ea120
test al, al
je 0x1400e91cb
xor eax, eax
jmp 0x1400e8e8a
mov r8d, 2
mov edx, ebx
mov rcx, r15
call fcn.1400ea120
test r14b, r14b
jne 0x1400e92af
test al, al
jne 0x1400e92af
xor ebx, ebx
cmp di, 0x1e
sete bl
mov r9, rsi
mov r8d, 0xfffffff2
lea rdx, [rbp + 0xd0]
mov rcx, r15
call fcn.140110560
mov rdi, rax
xor r9d, r9d
lea r8d, [rbx + 0x1334]
lea rdx, [rsp + 0x58]
mov rcx, r15
call fcn.14010c530
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x1400e9236
mov rax, qword [rax]
mov rdx, rax
mov rcx, rdi
call fcn.14003e9f0
lea rdx, str.Variable_must_be_decorated_with_a_location
mov rcx, rdi
call fcn.14003e540
mov ebx, dword [rdi + 0x160]
mov rdx, qword [rsp + 0x70]
cmp rdx, 0x10
jb 0x1400e9293
inc rdx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400e928e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400ea0da
call fcn.140116d50
mov qword [rsp + 0x68], 0
mov qword [rsp + 0x70], 0xf
mov byte [rsp + 0x58], 0
jmp 0x1400e8e7c
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 0x1400e92e6
lea rcx, [rsp + 0x78]
call fcn.140001ad0
nop
test r14b, r14b
je 0x1400e961b
mov ebx, 1
mov r15d, ebx
mov rsi, qword [rsp + 0x48]
cmp word [rsi + 0x3a], 0x1c
jne 0x1400e9392
mov rcx, qword [rsi + 0x18]
mov rax, qword [rsi + 0x20]
sub rax, rcx
sar rax, 4
cmp rax, 2
jbe 0x1400ea0e0
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.140109780
movzx edx, byte [rax + 4]
mov r15d, dword [rax]
cmp byte [rax + 8], 0
je 0x1400e9360
test dl, dl
jne 0x1400e9363
mov r15d, ebx
mov rcx, qword [rsi + 0x18]
mov rax, qword [rsi + 0x20]
sub rax, rcx
sar rax, 4
cmp rax, rbx
jbe 0x1400ea0e6
movzx ecx, word [rcx + 0x10]
mov rax, qword [rsi]
mov edx, dword [rax + rcx*4]
mov rcx, r14
call fcn.140109870
mov rsi, rax
jmp 0x1400e9399
mov r14, qword [rbp + 0x3e0]
mov dword [rsp + 0x30], r12d
lea r8, [rsp + 0x30]
mov rdx, rsi
mov rcx, r14
call fcn.1400ea360
mov edi, eax
test eax, eax
jne 0x1400ea083
mov rdx, rsi
mov rcx, r14
call fcn.1400ea1e0
mov r14d, eax
mov esi, r12d
test r15d, r15d
je 0x1400ea081
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 0x1400ea081
lea ebx, [rcx + r8]
shl ebx, 2
test r14d, r14d
je 0x1400e9417
add eax, dword [rsp + 0x40]
lea ebx, [rdx + r14]
add ebx, dword [rsp + 0x40]
mov rdi, r13
cmp byte [rsp + 0x24], 0
je 0x1400e942a
cmp dword [rsp + 0x28], 1
cmove rdi, r12
mov dword [rsp + 0x20], eax
cmp eax, ebx
jae 0x1400e945e
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x48]
mov rcx, rdi
call fcn.14007b2b0
cmp byte [rsp + 0x50], 0
je 0x1400e946e
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
cmp eax, ebx
jb 0x1400e9432
mov r8d, dword [rsp + 0x30]
inc esi
cmp esi, r15d
jae 0x1400ea081
jmp 0x1400e93e0
mov r9, qword [rbp + 0x3e8]
mov r8d, 0xfffffff2
lea rdx, [rbp + 0xd0]
mov rbx, qword [rbp + 0x3e0]
mov rcx, rbx
call fcn.140110560
mov rdi, rax
xor r9d, r9d
mov rcx, rbx
cmp dword [rsp + 0x34], 3
jne 0x1400e94b8
mov r8d, 0x2212
lea rdx, [rbp + 0x40]
call fcn.14010c530
nop
mov esi, 1
jmp 0x1400e94ce
mov r8d, 0x2211
lea rdx, [rsp + 0x58]
call fcn.14010c530
nop
mov esi, 2
mov dword [rsp + 0x38], esi
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x1400e94e0
mov rax, qword [rax]
mov rdx, rax
mov rcx, rdi
call fcn.14003e9f0
lea rdx, str.Entry_point_has_conflicting
mov rcx, rdi
call fcn.14003e540
lea rdx, [rsp + 0x78]
cmp qword [rbp - 0x70], 0x10
cmovae rdx, qword [rsp + 0x78]
mov r8, qword [rbp - 0x78]
mov rcx, rdi
call fcn.14003e9f0
lea rdx, str._location_assignment_at_location
mov rcx, rdi
call fcn.14003e540
mov ebx, dword [rsp + 0x20]
mov edx, ebx
shr edx, 2
mov rcx, rdi
call fcn.140070880
lea rdx, str.__component
mov rcx, rdi
call fcn.14003e540
and ebx, 3
mov edx, ebx
mov rcx, rdi
call fcn.140070880
mov edi, dword [rdi + 0x160]
test sil, 2
je 0x1400e95b5
and esi, 0xfffffffd
mov rdx, qword [rsp + 0x70]
cmp rdx, 0x10
jb 0x1400e959e
inc rdx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400e9599
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400ea0ec
call fcn.140116d50
mov qword [rsp + 0x68], 0
mov qword [rsp + 0x70], 0xf
mov byte [rsp + 0x58], 0
test sil, 1
je 0x1400e960a
mov rdx, qword [rbp + 0x58]
cmp rdx, 0x10
jb 0x1400e95f6
inc rdx
mov rcx, qword [rbp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400e95f1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400ea0f2
call fcn.140116d50
mov qword [rbp + 0x50], 0
mov qword [rbp + 0x58], 0xf
mov byte [rbp + 0x40], 0
lea rcx, [rbp + 0xd0]
call fcn.140076780
jmp 0x1400ea083
mov dword [rbp], 0
mov qword [rbp + 8], r12
mov qword [rbp + 0x10], r12
mov ecx, 0x18
call fcn.140116d14
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.140116d14
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.1400dcbd0
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 0x1400e9923
mov r10, qword [rbp - 0x38]
nop dword [rax]
mov eax, dword [rbx + 0x20]
cmp eax, 0x1e
jne 0x1400e9805
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 0x1400e9784
mov rax, qword [rdx + rax*8]
cmp r8d, dword [rcx + 0x10]
je 0x1400e977f
nop dword [rax + rax]
cmp rcx, rax
je 0x1400e9784
mov rcx, qword [rcx + 8]
cmp r8d, dword [rcx + 0x10]
jne 0x1400e9770
test rcx, rcx
jne 0x1400e9787
mov rcx, r9
mov rax, qword [rbx + 0x28]
cmp rcx, r9
jne 0x1400e97a9
mov edi, dword [rax]
mov dword [rsp + 0x30], r8d
lea r8, [rsp + 0x30]
lea rdx, [rbp + 0x40]
lea rcx, [rbp]
jmp 0x1400e9897
mov eax, dword [rax]
cmp dword [rcx + 0x14], eax
je 0x1400e98c1
mov r9, qword [rsp + 0x48]
mov r8d, 0xfffffff2
lea rdx, [rbp + 0xd0]
mov rcx, r15
call fcn.140110560
mov rdi, rax
lea rdx, str.Member_index
mov rcx, rax
call fcn.14003e540
mov edx, dword [rbx + 0x40]
mov rcx, rdi
call fcn.1400706b0
lea rdx, str._has_conflicting_location_assignments
mov rcx, rdi
call fcn.14003e540
mov edi, dword [rdi + 0x160]
jmp 0x1400ea04c
cmp eax, 0x1f
jne 0x1400e98c1
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 0x1400e9878
mov rax, qword [rax + r8*8]
cmp edx, dword [rcx + 0x10]
je 0x1400e9873
cmp rcx, rax
je 0x1400e9878
mov rcx, qword [rcx + 8]
cmp edx, dword [rcx + 0x10]
jne 0x1400e9865
test rcx, rcx
jne 0x1400e987b
mov rcx, r10
mov rax, qword [rbx + 0x28]
cmp rcx, r10
jne 0x1400e98b6
mov edi, dword [rax]
mov dword [rsp + 0x28], edx
lea r8, [rsp + 0x28]
lea rdx, [rbp + 0x60]
lea rcx, [rbp - 0x40]
call fcn.1400e89a0
mov rcx, qword [rax]
mov dword [rcx + 0x14], edi
mov r9, qword [rbp + 8]
mov r10, qword [rbp - 0x38]
movabs r11, 0x100000001b3
jmp 0x1400e98c1
mov eax, dword [rax]
cmp dword [rcx + 0x14], eax
jne 0x1400e9b34
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x19], 0
je 0x1400e98ed
mov rax, qword [rbx + 8]
cmp byte [rax + 0x19], 0
jne 0x1400e98e8
cmp rbx, qword [rax + 0x10]
jne 0x1400e98e8
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x1400e98d5
mov rbx, rax
jmp 0x1400e990f
mov rbx, rax
mov rcx, qword [rax]
cmp byte [rcx + 0x19], 0
jne 0x1400e990f
nop dword [rax]
mov rbx, rcx
mov rax, qword [rcx]
mov rcx, rax
cmp byte [rax + 0x19], 0
je 0x1400e9900
movabs rcx, 0xcbf29ce484222325
cmp byte [rbx + 0x19], 0
je 0x1400e9700
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 0x1400ea06e
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 0x1400e99c3
mov rcx, qword [r8 + rcx*8]
cmp edx, dword [rax + 0x10]
je 0x1400e99be
nop
cmp rax, rcx
je 0x1400e99c3
mov rax, qword [rax + 8]
cmp ebx, dword [rax + 0x10]
jne 0x1400e99b0
test rax, rax
jne 0x1400e99c6
mov rax, r9
cmp rax, r9
je 0x1400e9f84
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 0x1400ea110
add rcx, rcx
movzx ecx, word [rdx + rcx*8]
mov rax, qword [r10]
mov edx, dword [rax + rcx*4]
mov rcx, r15
call fcn.140109870
mov r13, rax
mov dword [rsp + 0x20], 0
lea r8, [rsp + 0x20]
mov rdx, rax
mov rcx, r15
call fcn.1400ea360
mov edi, eax
test eax, eax
jne 0x1400ea059
mov rdx, r13
mov rcx, r15
call fcn.1400ea1e0
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 0x1400e9a98
mov rcx, qword [rdx + rcx*8]
cmp ebx, dword [rax + 0x10]
je 0x1400e9a75
cmp rax, rcx
je 0x1400e9a98
mov rax, qword [rax + 8]
cmp ebx, dword [rax + 0x10]
jne 0x1400e9a67
test rax, rax
je 0x1400e9a98
mov dword [rsp + 0x28], ebx
lea r8, [rsp + 0x28]
lea rdx, [rsp + 0x58]
lea rcx, [rbp - 0x40]
call fcn.1400e89a0
mov rcx, qword [rax]
mov r15d, dword [rcx + 0x14]
lea edi, [r12*4]
mov ecx, edi
cmp edi, 0x4000
jae 0x1400e9bd9
cmp word [r13 + 0x3a], 0x1c
jne 0x1400e9b85
lea eax, [rsi - 1]
cmp eax, 2
ja 0x1400e9b85
mov r14d, r12d
mov ecx, dword [rsp + 0x20]
lea eax, [rcx + r12]
cmp r12d, eax
jae 0x1400e9bd9
add esi, r15d
nop dword [rax]
mov ebx, r15d
cmp r15d, esi
jae 0x1400e9b20
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.14007b2b0
cmp byte [rbp + 0x68], 0
je 0x1400e9c23
inc ebx
cmp ebx, esi
jb 0x1400e9af0
mov ecx, dword [rsp + 0x20]
inc r14d
add edi, 4
lea eax, [rcx + r12]
cmp r14d, eax
jb 0x1400e9ae0
jmp 0x1400e9bd9
mov r9, qword [rsp + 0x48]
mov r8d, 0xfffffff2
lea rdx, [rbp + 0xd0]
mov rcx, r15
call fcn.140110560
mov rdi, rax
lea rdx, str.Member_index
mov rcx, rax
call fcn.14003e540
mov edx, dword [rbx + 0x40]
mov rcx, rdi
call fcn.1400706b0
lea rdx, str._has_conflicting_component_assignments
mov rcx, rdi
call fcn.14003e540
mov edi, dword [rdi + 0x160]
jmp 0x1400ea04c
mov ebx, dword [rsp + 0x20]
add ebx, r12d
shl ebx, 2
test esi, esi
je 0x1400e9b9c
add ecx, r15d
lea ebx, [rdi + rsi]
add ebx, r15d
mov dword [rsp + 0x2c], ecx
cmp ecx, ebx
jae 0x1400e9bd9
mov r13, qword [rbp + 0x3f8]
nop dword [rax + rax]
lea r8, [rsp + 0x2c]
lea rdx, [rbp + 0x40]
mov rcx, r13
call fcn.14007b2b0
cmp byte [rbp + 0x48], 0
je 0x1400e9dbe
mov eax, dword [rsp + 0x2c]
inc eax
mov dword [rsp + 0x2c], eax
cmp eax, ebx
jb 0x1400e9bb0
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 0x1400ea06e
mov r9, qword [rbp + 8]
mov r15, qword [rbp + 0x3e0]
movabs rcx, 0xcbf29ce484222325
movabs r11, 0x100000001b3
jmp 0x1400e9950
mov r9, qword [rbp + 0x3e8]
mov r8d, 0xfffffff2
lea rdx, [rbp + 0xd0]
mov rsi, qword [rbp + 0x3e0]
mov rcx, rsi
call fcn.140110560
mov rdi, rax
xor r9d, r9d
mov rcx, rsi
cmp dword [rsp + 0x34], 3
jne 0x1400e9c6d
mov r8d, 0x2212
lea rdx, [rbp - 0x68]
call fcn.14010c530
nop
mov esi, 4
jmp 0x1400e9c82
mov r8d, 0x2211
lea rdx, [rbp + 0x70]
call fcn.14010c530
nop
mov esi, 8
mov dword [rsp + 0x38], esi
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x1400e9c94
mov rax, qword [rax]
mov rdx, rax
mov rcx, rdi
call fcn.14003e9f0
lea rdx, str.Entry_point_has_conflicting
mov rcx, rdi
call fcn.14003e540
lea rdx, [rsp + 0x78]
cmp qword [rbp - 0x70], 0x10
cmovae rdx, qword [rsp + 0x78]
mov r8, qword [rbp - 0x78]
mov rcx, rdi
call fcn.14003e9f0
lea rdx, str._location_assignment_at_location
mov rcx, rdi
call fcn.14003e540
mov edx, r14d
mov rcx, rdi
call fcn.140070880
lea rdx, str.__component
mov rcx, rdi
call fcn.14003e540
mov edx, ebx
mov rcx, rdi
call fcn.140070880
mov edi, dword [rdi + 0x160]
test sil, 8
je 0x1400e9d64
and esi, 0xfffffff7
mov rdx, qword [rbp + 0x88]
cmp rdx, 0x10
jb 0x1400e9d4a
inc rdx
mov rcx, qword [rbp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400e9d45
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400ea0f8
call fcn.140116d50
mov qword [rbp + 0x80], 0
mov qword [rbp + 0x88], 0xf
mov byte [rbp + 0x70], 0
test sil, 4
je 0x1400e9db9
mov rdx, qword [rbp - 0x50]
cmp rdx, 0x10
jb 0x1400e9da5
inc rdx
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400e9da0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400ea0fe
call fcn.140116d50
mov qword [rbp - 0x58], 0
mov qword [rbp - 0x50], 0xf
mov byte [rbp - 0x68], 0
jmp 0x1400ea04c
mov r9, qword [rbp + 0x3e8]
mov r8d, 0xfffffff2
lea rdx, [rbp + 0x238]
mov rbx, qword [rbp + 0x3e0]
mov rcx, rbx
call fcn.140110560
mov rdi, rax
xor r9d, r9d
mov rcx, rbx
cmp dword [rsp + 0x34], 3
jne 0x1400e9e0b
mov r8d, 0x2212
lea rdx, [rbp + 0xb0]
call fcn.14010c530
nop
mov esi, 0x10
jmp 0x1400e9e23
mov r8d, 0x2211
lea rdx, [rbp + 0x90]
call fcn.14010c530
nop
mov esi, 0x20
mov dword [rsp + 0x38], esi
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x1400e9e35
mov rax, qword [rax]
mov rdx, rax
mov rcx, rdi
call fcn.14003e9f0
lea rdx, str.Entry_point_has_conflicting
mov rcx, rdi
call fcn.14003e540
lea rdx, [rsp + 0x78]
cmp qword [rbp - 0x70], 0x10
cmovae rdx, qword [rsp + 0x78]
mov r8, qword [rbp - 0x78]
mov rcx, rdi
call fcn.14003e9f0
lea rdx, str._location_assignment_at_location
mov rcx, rdi
call fcn.14003e540
mov ebx, dword [rsp + 0x2c]
mov edx, ebx
shr edx, 2
mov rcx, rdi
call fcn.140070880
lea rdx, str.__component
mov rcx, rdi
call fcn.14003e540
and ebx, 3
mov edx, ebx
mov rcx, rdi
call fcn.140070880
mov edi, dword [rdi + 0x160]
test sil, 0x20
je 0x1400e9f14
and esi, 0xffffffdf
mov rdx, qword [rbp + 0xa8]
cmp rdx, 0x10
jb 0x1400e9ef7
inc rdx
mov rcx, qword [rbp + 0x90]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400e9ef2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400ea104
call fcn.140116d50
mov qword [rbp + 0xa0], 0
mov qword [rbp + 0xa8], 0xf
mov byte [rbp + 0x90], 0
test sil, 0x10
je 0x1400e9f78
mov rdx, qword [rbp + 0xc8]
cmp rdx, 0x10
jb 0x1400e9f5b
inc rdx
mov rcx, qword [rbp + 0xb0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400e9f56
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400ea10a
call fcn.140116d50
mov qword [rbp + 0xc0], 0
mov qword [rbp + 0xc8], 0xf
mov byte [rbp + 0xb0], 0
lea rcx, [rbp + 0x238]
jmp 0x1400ea053
mov r9, r10
mov r8d, 0xfffffff2
lea rdx, [rbp + 0xd0]
mov rcx, r15
call fcn.140110560
mov rbx, rax
xor r9d, r9d
mov r8d, 0x1337
lea rdx, [rbp - 0x68]
mov rcx, r15
call fcn.14010c530
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x1400e9fc3
mov rax, qword [rax]
mov rdx, rax
mov rcx, rbx
call fcn.14003e9f0
lea rdx, str.Member_index
mov rcx, rbx
call fcn.14003e540
lea edx, [rdi - 1]
mov rcx, rbx
call fcn.140070880
lea rdx, str._is_missing_a_location_assignment
mov rcx, rbx
call fcn.14003e540
mov edi, dword [rbx + 0x160]
mov rdx, qword [rbp - 0x50]
cmp rdx, 0x10
jb 0x1400ea038
inc rdx
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400ea033
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400ea116
call fcn.140116d50
mov qword [rbp - 0x58], 0
mov qword [rbp - 0x50], 0xf
mov byte [rbp - 0x68], 0
lea rcx, [rbp + 0xd0]
call fcn.140076780
nop
lea rcx, [rbp - 0x40]
call fcn.140033dc0
nop
lea rcx, [rbp]
call fcn.140033dc0
jmp 0x1400ea083
lea rcx, [rbp - 0x40]
call fcn.140033dc0
nop
lea rcx, [rbp]
call fcn.140033dc0
xor edi, edi
mov rdx, qword [rbp - 0x70]
cmp rdx, 0x10
jb 0x1400ea0bb
inc rdx
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400ea0b6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400ea0c2
call fcn.140116d50
mov eax, edi
jmp 0x1400e8e8a
call fcn.14011d39c
int3
call fcn.140076180
nop
call fcn.14011d39c
nop
call fcn.14011d39c
nop
call fcn.14011d39c
nop
call fcn.140076180
int3
call fcn.140076180
nop
call fcn.14011d39c
nop
call fcn.14011d39c
nop
call fcn.14011d39c
nop
call fcn.14011d39c
nop
call fcn.14011d39c
nop
call fcn.14011d39c
nop
call fcn.140076180
nop
call fcn.14011d39c
int3