Function at 0x140057bd0
Capabilities:
Parse credit card information

Disassembly:
mov byte [rsp + 0x10], dl
mov qword [rsp + 8], rcx
push rsi
push rdi
mov eax, 0x2868
call fcn.14022cf60
sub rsp, rax
mov rax, qword [0x1402bbe00]
xor rax, rsp
mov qword [rsp + 0x2858], rax
mov qword [rsp + 0x140], 0
mov rax, qword [rsp + 0x2880]
movzx eax, byte [rax + 0xf0]
mov dword [rsp + 0x88], eax
mov eax, dword [rsp + 0x88]
sub eax, 4
mov dword [rsp + 0x88], eax
cmp dword [rsp + 0x88], 0x6e
ja case.0x140057c5c.10
movsxd rax, dword [rsp + 0x88]
lea rcx, [0x140000000]
movzx eax, byte [rcx + rax + 0x5b758]
mov eax, dword [rcx + rax*4 + 0x5b700]
add rax, rcx
jmp rax
xor edx, edx
mov rcx, qword [rsp + 0x2880]
call fcn.140052f00
jmp 0x14005b6e4
mov r8b, 0x34
mov rdx, qword [rsp + 0x2880]
lea rcx, [rsp + 0x1228]
call fcn.1400501f0
lea rcx, [rsp + 0x1c00]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x6c0]
lea rcx, [rsp + 0x1c00]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x6c0]
mov rcx, qword [rsp + 0x2880]
call fcn.14004cd20
jmp 0x14005b6e4
mov r8b, 0x6c
mov rdx, qword [rsp + 0x2880]
lea rcx, [rsp + 0xf80]
call fcn.1400501f0
lea rcx, [rsp + 0x1c28]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x720]
lea rcx, [rsp + 0x1c28]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x720]
mov rcx, qword [rsp + 0x2880]
call fcn.14004ccd0
jmp 0x14005b6e4
mov rdx, qword [rsp + 0x2880]
lea rcx, [rsp + 0x12a0]
call fcn.14004fb50
lea rcx, [rsp + 0x1c50]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x780]
lea rcx, [rsp + 0x1c50]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x780]
mov rcx, qword [rsp + 0x2880]
call fcn.14004d030
jmp 0x14005b6e4
mov rdx, qword [rsp + 0x2880]
lea rcx, [rsp + 0x12c8]
call fcn.14004fb50
lea rcx, [rsp + 0x1c78]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x7e0]
lea rcx, [rsp + 0x1c78]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x7e0]
mov rcx, qword [rsp + 0x2880]
call fcn.14004d030
jmp 0x14005b6e4
movzx eax, byte [rsp + 0x2888]
test eax, eax
jne 0x140057e1c
xor edx, edx
mov rcx, qword [rsp + 0x2880]
call fcn.1400539f0
jmp 0x14005b6e4
jmp case.0x140057c5c.10
mov r8b, 0x3d
mov rdx, qword [rsp + 0x2880]
lea rcx, [rsp + 0x12f0]
call fcn.1400501f0
lea rcx, [rsp + 0x1fc0]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x1ac0]
lea rcx, [rsp + 0x1fc0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0x2880]
movzx eax, byte [rax + 0x118]
cmp eax, 0x3e
jne 0x140057f3d
mov r8b, 0x3e
mov rdx, qword [rsp + 0x2880]
lea rcx, [rsp + 0x1318]
call fcn.1400501f0
lea rcx, [rsp + 0x1ca0]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x1a98]
lea rcx, [rsp + 0x1ca0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rdx, str.Invalid_parentheses_expression_with_no_inside_expression
lea rcx, [rsp + 0x1ac0]
call fcn.140023960
lea rax, [rsp + 0x870]
lea rcx, [rsp + 0x1a98]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x8a0]
lea rcx, [rsp + 0x1ac0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea r8, [rsp + 0x870]
lea rdx, [rsp + 0x8a0]
mov rcx, qword [rsp + 0x2880]
call fcn.14004c310
jmp 0x14005b6e4
mov rax, qword [rsp + 0x2880]
mov rax, qword [rax + 0x188]
mov qword [rsp + 0x280], rax
mov rax, qword [rsp + 0x2880]
movzx eax, byte [rax + 0x190]
mov byte [rsp + 0x6a], al
mov rax, qword [rsp + 0x2880]
cmp qword [rax + 0x188], 0
jge 0x140057f88
mov rax, qword [rsp + 0x2880]
mov byte [rax + 0x190], 0
mov rax, qword [rsp + 0x2880]
cmp qword [rax + 0x188], 0
jle 0x140057fb3
mov rax, qword [rsp + 0x2880]
mov rax, qword [rax + 0x188]
mov qword [rsp + 0x138], rax
jmp 0x140057fbf
mov qword [rsp + 0x138], 0
mov rax, qword [rsp + 0x138]
inc rax
mov rcx, qword [rsp + 0x2880]
mov qword [rcx + 0x188], rax
xor edx, edx
mov rcx, qword [rsp + 0x2880]
call fcn.140051570
mov qword [rsp + 0x140], rax
mov rax, qword [rsp + 0x2880]
movzx ecx, byte [rsp + 0x6a]
mov byte [rax + 0x190], cl
mov rax, qword [rsp + 0x2880]
mov rcx, qword [rsp + 0x280]
mov qword [rax + 0x188], rcx
mov r8b, 0x3e
mov rdx, qword [rsp + 0x2880]
lea rcx, [rsp + 0x11d8]
call fcn.1400501f0
lea rcx, [rsp + 0x1bd8]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x1a98]
lea rcx, [rsp + 0x1bd8]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x900]
lea rcx, [rsp + 0x1a98]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x930]
lea rcx, [rsp + 0x1ac0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea r9, [rsp + 0x900]
lea r8, [rsp + 0x930]
mov rdx, qword [rsp + 0x140]
mov rcx, qword [rsp + 0x2880]
call fcn.14004c740
jmp 0x14005b6e4
mov r8b, 0x6a
mov rdx, qword [rsp + 0x2880]
lea rcx, [rsp + 0x1200]
call fcn.1400501f0
lea rcx, [rsp + 0x1cc8]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x1cf0]
lea rcx, [rsp + 0x1cc8]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
mov rcx, qword [rsp + 0x2880]
call fcn.140054f10
mov qword [rsp + 0x1f0], rax
lea rax, [rsp + 0x9c0]
lea rcx, [rsp + 0x1cf0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
mov r8, qword [rsp + 0x1f0]
lea rdx, [rsp + 0x9c0]
mov rcx, qword [rsp + 0x2880]
call fcn.14004e5e0
jmp 0x14005b6e4
mov r8b, 0xe
mov rdx, qword [rsp + 0x2880]
lea rcx, [rsp + 0x11b0]
call fcn.1400501f0
lea rcx, [rsp + 0x1d18]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x1a20]
lea rcx, [rsp + 0x1d18]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
mov r8b, 4
mov rdx, qword [rsp + 0x2880]
lea rcx, [rsp + 0x1340]
call fcn.1400501f0
lea rcx, [rsp + 0x1d40]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x1980]
lea rcx, [rsp + 0x1d40]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rdx, [0x14027e29c]
lea rcx, [rsp + 0x1988]
call fcn.140036550
movzx eax, al
test eax, eax
je 0x140058261
mov rcx, qword [rsp + 0x2880]
call fcn.140054f10
lea rcx, [rsp + 0xa50]
lea rdx, [rsp + 0x1a20]
mov rdi, rcx
mov rsi, rdx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
mov r8, rax
lea rdx, [rsp + 0xa50]
mov rcx, qword [rsp + 0x2880]
call fcn.14004e580
jmp 0x14005b6e4
lea rdx, str.simd
lea rcx, [rsp + 0x1988]
call fcn.140036550
movzx eax, al
test eax, eax
je 0x1400583b0
lea rax, [rsp + 0xa80]
lea rcx, [rsp + 0x1980]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0xab0]
lea rcx, [rsp + 0x1a20]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea r8, [rsp + 0xa80]
lea rdx, [rsp + 0xab0]
mov rcx, qword [rsp + 0x2880]
call fcn.14004d0d0
mov qword [rsp + 0x1f8], rax
mov rcx, qword [rsp + 0x2880]
call fcn.140054f10
mov qword [rsp + 0x148], rax
mov rcx, qword [rsp + 0x148]
call fcn.140053290
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0xe0]
movzx eax, word [rax]
mov dword [rsp + 0xf8], eax
cmp dword [rsp + 0xf8], 0x4e
je 0x140058327
jmp 0x14005833d
mov rax, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0x1f8]
mov qword [rax + 0x70], rcx
jmp 0x14005839e
mov rax, qword [rsp + 0xe0]
movzx eax, word [rax]
imul rax, rax, 0x10
lea rcx, str.invalid_node
mov rdx, qword [rsp + 0xe0]
movzx edx, word [rdx]
imul rdx, rdx, 0x10
lea rdi, str.invalid_node
mov rax, qword [rcx + rax]
mov qword [rsp + 0x28], rax
mov eax, dword [rdi + rdx + 8]
mov dword [rsp + 0x20], eax
mov r9, qword [rsp + 0x1988]
mov r8d, dword [rsp + 0x1990]
lea rdx, str.Expected_a_fixed_array_type_after__.s__got__.s
mov rcx, qword [rsp + 0xe0]
call fcn.14004bfb0
mov rax, qword [rsp + 0x148]
jmp 0x14005b6e4
lea rdx, [0x14027e2e4]
lea rcx, [rsp + 0x1988]
call fcn.1400375b0
movzx eax, al
test eax, eax
je 0x140058542
lea rax, [rsp + 0xae0]
lea rcx, [rsp + 0x1980]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0xb10]
lea rcx, [rsp + 0x1a20]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea r8, [rsp + 0xae0]
lea rdx, [rsp + 0xb10]
mov rcx, qword [rsp + 0x2880]
call fcn.14004d0d0
mov qword [rsp + 0x100], rax
mov rcx, qword [rsp + 0x2880]
call fcn.140054f10
mov qword [rsp + 0x150], rax
mov rcx, qword [rsp + 0x150]
call fcn.140053290
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0xa0]
movzx eax, word [rax]
mov dword [rsp + 0x98], eax
cmp dword [rsp + 0x98], 0x4b
je 0x1400584b9
cmp dword [rsp + 0x98], 0x4e
je 0x14005848a
cmp dword [rsp + 0x98], 0x4f
je 0x1400584a3
jmp 0x1400584cf
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x100]
mov qword [rax + 0x70], rcx
jmp 0x140058530
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x100]
mov qword [rax + 0x68], rcx
jmp 0x140058530
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x100]
mov qword [rax + 0x68], rcx
jmp 0x140058530
mov rax, qword [rsp + 0xa0]
movzx eax, word [rax]
imul rax, rax, 0x10
lea rcx, str.invalid_node
mov rdx, qword [rsp + 0xa0]
movzx edx, word [rdx]
imul rdx, rdx, 0x10
lea rdi, str.invalid_node
mov rax, qword [rcx + rax]
mov qword [rsp + 0x28], rax
mov eax, dword [rdi + rdx + 8]
mov dword [rsp + 0x20], eax
mov r9, qword [rsp + 0x1988]
mov r8d, dword [rsp + 0x1990]
lea rdx, str.Expected_an_array_or_pointer_type_after__.s__got__.s
mov rcx, qword [rsp + 0xa0]
call fcn.14004bfb0
mov rax, qword [rsp + 0x150]
jmp 0x14005b6e4
lea rdx, str.partial
lea rcx, [rsp + 0x1988]
call fcn.140037550
movzx eax, al
test eax, eax
je 0x14005874b
lea rax, [rsp + 0xb40]
lea rcx, [rsp + 0x1980]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0xb70]
lea rcx, [rsp + 0x1a20]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea r8, [rsp + 0xb40]
lea rdx, [rsp + 0xb70]
mov rcx, qword [rsp + 0x2880]
call fcn.14004d0d0
mov qword [rsp + 0x200], rax
movzx edx, byte [rsp + 0x2888]
mov rcx, qword [rsp + 0x2880]
call fcn.140051570
mov qword [rsp + 0x158], rax
mov rcx, qword [rsp + 0x158]
call fcn.140053290
mov qword [rsp + 0xa8], rax
cmp qword [rsp + 0xa8], 0
jne 0x140058681
mov r9, qword [rsp + 0x1988]
mov r8d, dword [rsp + 0x1990]
lea rdx, str.Expected_a_compound_literal_after__.s
lea rcx, [rsp + 0x1980]
call fcn.140023960
lea rax, [rsp + 0xba0]
lea rcx, [rsp + 0x1980]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0xbd0]
lea rcx, [rsp + 0x1a20]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea r8, [rsp + 0xba0]
lea rdx, [rsp + 0xbd0]
mov rcx, qword [rsp + 0x2880]
call fcn.14004c310
jmp 0x14005b6e4
mov rax, qword [rsp + 0xa8]
movzx eax, word [rax]
mov dword [rsp + 0xd8], eax
cmp dword [rsp + 0xd8], 9
je 0x1400586bf
cmp dword [rsp + 0xd8], 0x4e
je 0x1400586a9
jmp 0x1400586d8
lea rdx, str.partial_has_been_replaced_with_sparse_for_non_contiguous_enumerated_array_types
mov rcx, qword [rsp + 0xa8]
call fcn.14004bfb0
jmp 0x140058739
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x200]
mov qword [rax + 0xa8], rcx
jmp 0x140058739
mov rax, qword [rsp + 0xa8]
movzx eax, word [rax]
imul rax, rax, 0x10
lea rcx, str.invalid_node
mov rdx, qword [rsp + 0xa8]
movzx edx, word [rdx]
imul rdx, rdx, 0x10
lea rdi, str.invalid_node
mov rax, qword [rcx + rax]
mov qword [rsp + 0x28], rax
mov eax, dword [rdi + rdx + 8]
mov dword [rsp + 0x20], eax
mov r9, qword [rsp + 0x1988]
mov r8d, dword [rsp + 0x1990]
lea rdx, str.Expected_a_compound_literal_after__.s__got__.s
mov rcx, qword [rsp + 0xa8]
call fcn.14004bfb0
mov rax, qword [rsp + 0x158]
jmp 0x14005b6e4
lea rdx, [0x14027e3dc]
lea rcx, [rsp + 0x1988]
call fcn.140033ff0
movzx eax, al
test eax, eax
je 0x14005889a
lea rax, [rsp + 0xc00]
lea rcx, [rsp + 0x1980]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0xc30]
lea rcx, [rsp + 0x1a20]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea r8, [rsp + 0xc00]
lea rdx, [rsp + 0xc30]
mov rcx, qword [rsp + 0x2880]
call fcn.14004d0d0
mov qword [rsp + 0x208], rax
mov rcx, qword [rsp + 0x2880]
call fcn.140054f10
mov qword [rsp + 0x160], rax
mov rcx, qword [rsp + 0x160]
call fcn.140053290
mov qword [rsp + 0xe8], rax
mov rax, qword [rsp + 0xe8]
movzx eax, word [rax]
mov dword [rsp + 0xfc], eax
cmp dword [rsp + 0xfc], 0x4e
je 0x140058811
jmp 0x140058827
mov rax, qword [rsp + 0xe8]
mov rcx, qword [rsp + 0x208]
mov qword [rax + 0x70], rcx
jmp 0x140058888
mov rax, qword [rsp + 0xe8]
movzx eax, word [rax]
imul rax, rax, 0x10
lea rcx, str.invalid_node
mov rdx, qword [rsp + 0xe8]
movzx edx, word [rdx]
imul rdx, rdx, 0x10
lea rdi, str.invalid_node
mov rax, qword [rcx + rax]
mov qword [rsp + 0x28], rax
mov eax, dword [rdi + rdx + 8]
mov dword [rsp + 0x20], eax
mov r9, qword [rsp + 0x1988]
mov r8d, dword [rsp + 0x1990]
lea rdx, str.Expected_an_enumerated_array_type_after__.s__got__.s
mov rcx, qword [rsp + 0xe8]
call fcn.14004bfb0
mov rax, qword [rsp + 0x160]
jmp 0x14005b6e4
lea rdx, str.bounds_check
lea rcx, [rsp + 0x1988]
call fcn.140054360
movzx eax, al
test eax, eax
je 0x1400588f6
movzx edx, byte [rsp + 0x2888]
mov rcx, qword [rsp + 0x2880]
call fcn.140051570
mov qword [rsp + 0x210], rax
mov r8w, 1
lea rdx, [rsp + 0x1980]
mov rcx, qword [rsp + 0x210]
call fcn.140057620
jmp 0x14005b6e4
lea rdx, [0x14027dca0]
lea rcx, [rsp + 0x1988]
call fcn.140054300
movzx eax, al
test eax, eax
je 0x140058952
movzx edx, byte [rsp + 0x2888]
mov rcx, qword [rsp + 0x2880]
call fcn.140051570
mov qword [rsp + 0x218], rax
mov r8w, 2
lea rdx, [rsp + 0x1980]
mov rcx, qword [rsp + 0x218]
call fcn.140057620
jmp 0x14005b6e4
lea rdx, str.type_assert
lea rcx, [rsp + 0x1988]
call fcn.140034110
movzx eax, al
test eax, eax
je 0x1400589ae
movzx edx, byte [rsp + 0x2888]
mov rcx, qword [rsp + 0x2880]
call fcn.140051570
mov qword [rsp + 0x220], rax
mov r8w, 4
lea rdx, [rsp + 0x1980]
mov rcx, qword [rsp + 0x220]
call fcn.140057620
jmp 0x14005b6e4
lea rdx, str.no_type_assert
lea rcx, [rsp + 0x1988]
call fcn.1400543c0
movzx eax, al
test eax, eax
je 0x140058a0a
movzx edx, byte [rsp + 0x2888]
mov rcx, qword [rsp + 0x2880]
call fcn.140051570
mov qword [rsp + 0x228], rax
mov r8w, 8
lea rdx, [rsp + 0x1980]
mov rcx, qword [rsp + 0x228]
call fcn.140057620
jmp 0x14005b6e4
lea rdx, str.relative
lea rcx, [rsp + 0x1988]
call fcn.14005b7d0
movzx eax, al
test eax, eax
je 0x140058b08
lea rax, [rsp + 0xc60]
lea rcx, [rsp + 0x1980]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0xc90]
lea rcx, [rsp + 0x1a20]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea r8, [rsp + 0xc60]
lea rdx, [rsp + 0xc90]
mov rcx, qword [rsp + 0x2880]
call fcn.14004d0d0
mov qword [rsp + 0xf0], rax
mov rax, qword [rsp + 0x2880]
movzx eax, byte [rax + 0xf0]
cmp eax, 0x3d
je 0x140058ab2
lea rdx, str.expected_relative__integer_type____type_
mov rcx, qword [rsp + 0xf0]
call fcn.14004bfb0
jmp 0x140058acf
mov rdx, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0x2880]
call fcn.140055020
mov qword [rsp + 0xf0], rax
mov rcx, qword [rsp + 0x2880]
call fcn.140054f10
mov qword [rsp + 0x230], rax
mov r8, qword [rsp + 0x230]
mov rdx, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0x2880]
call fcn.14004e770
jmp 0x14005b6e4
lea rdx, [0x14027df18]
lea rcx, [rsp + 0x1988]
call fcn.140054360
movzx eax, al
test eax, eax
jne 0x140058b3e
lea rdx, [0x14027df28]
lea rcx, [rsp + 0x1988]
call fcn.140054300
movzx eax, al
test eax, eax
je 0x140058b75
lea rax, [rsp + 0xcc0]
lea rcx, [rsp + 0x1980]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0xcc0]
mov rcx, qword [rsp + 0x2880]
call fcn.1400573f0
jmp 0x14005b6e4
lea rax, [rsp + 0xcf0]
lea rcx, [rsp + 0x1980]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0xd20]
lea rcx, [rsp + 0x1a20]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea r8, [rsp + 0xcf0]
lea rdx, [rsp + 0xd20]
mov rcx, qword [rsp + 0x2880]
call fcn.14004d0d0
jmp 0x14005b6e4
mov r8b, 0x60
mov rdx, qword [rsp + 0x2880]
lea rcx, [rsp + 0x1368]
call fcn.1400501f0
lea rcx, [rsp + 0x1d68]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x1a70]
lea rcx, [rsp + 0x1d68]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0x2880]
movzx eax, byte [rax + 0xf0]
cmp eax, 0x41
jne 0x140058e51
mov r8b, 0x41
mov rdx, qword [rsp + 0x2880]
lea rcx, [rsp + 0x1390]
call fcn.1400501f0
lea rcx, [rsp + 0x1d90]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x1e08]
lea rcx, [rsp + 0x1d90]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
mov rdx, qword [rsp + 0x2880]
lea rcx, [rsp + 0x3b8]
call fcn.140041230
lea rcx, [rsp + 0x2a8]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x2a8]
lea rcx, [rsp + 0x13b8]
call fcn.140053620
lea rcx, [rsp + 0xdb0]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x318]
lea rcx, [rsp + 0xdb0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0x2880]
movzx eax, byte [rax + 0xf0]
cmp eax, 0x42
je 0x140058d5a
mov rax, qword [rsp + 0x2880]
movzx eax, byte [rax + 0xf0]
cmp eax, 1
je 0x140058d5a
xor edx, edx
mov rcx, qword [rsp + 0x2880]
call fcn.140051570
mov qword [rsp + 0x238], rax
lea rdx, [rsp + 0x238]
lea rcx, [rsp + 0x318]
call fcn.1400536e0
mov rcx, qword [rsp + 0x2880]
call fcn.1400413c0
movzx eax, al
test eax, eax
jne 0x140058d58
jmp 0x140058d5a
jmp 0x140058cee
mov r8b, 0x42
mov rdx, qword [rsp + 0x2880]
lea rcx, [rsp + 0x13e0]
call fcn.1400501f0
lea rcx, [rsp + 0x1db8]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x1de0]
lea rcx, [rsp + 0x1db8]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
cmp qword [rsp + 0x330], 0
jne 0x140058dc3
lea rdx, str.Expected_a_least_1_argument_in_a_procedure_group
lea rcx, [rsp + 0x1a70]
call fcn.140023960
lea rax, [rsp + 0xe60]
lea rcx, [rsp + 0x1de0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0xe90]
lea rcx, [rsp + 0x1e08]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0xec0]
lea rcx, [rsp + 0x1a70]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x318]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0xe60]
lea r8, [rsp + 0xe90]
lea rdx, [rsp + 0xec0]
mov rcx, qword [rsp + 0x2880]
call fcn.14004d1a0
jmp 0x14005b6e4
lea rax, [rsp + 0xef0]
lea rcx, [rsp + 0x1a70]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0xef0]
mov rcx, qword [rsp + 0x2880]
call fcn.1400515a0
mov qword [rsp + 0x90], rax
lea rax, [rsp + 0x19f8]
mov rdi, rax
xor eax, eax
mov ecx, 0x28
rep stosb byte [rdi], al
lea rax, [rsp + 0x2f0]
mov rdi, rax
xor eax, eax
mov ecx, 0x28
rep stosb byte [rdi], al
mov qword [rsp + 0x78], 0
mov rcx, qword [rsp + 0x2880]
call fcn.140050030
mov rax, qword [rsp + 0x2880]
movzx eax, byte [rax + 0xf0]
cmp eax, 0x52
jne 0x140058fb3
mov r8b, 0x52
mov rdx, qword [rsp + 0x2880]
lea rcx, [rsp + 0x1408]
call fcn.1400501f0
lea rcx, [rsp + 0x1e30]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x19f8]
lea rcx, [rsp + 0x1e30]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0x2880]
mov rax, qword [rax + 0x188]
mov qword [rsp + 0x240], rax
mov rax, qword [rsp + 0x2880]
mov qword [rax + 0x188], 0xffffffffffffffff
mov rdx, qword [rsp + 0x2880]
lea rcx, [rsp + 0x1430]
call fcn.140054490
lea rcx, [rsp + 0x810]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2f0]
lea rcx, [rsp + 0x810]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0x2880]
mov rcx, qword [rsp + 0x240]
mov qword [rax + 0x188], rcx
lea rdx, [rsp + 0x78]
mov rcx, qword [rsp + 0x2880]
call fcn.140053ea0
mov rax, qword [rsp + 0x78]
and rax, 0x10
test rax, rax
je 0x140058ffe
mov rax, qword [rsp + 0x2880]
add rax, 0xf0
lea rdx, str.require_results_has_now_been_replaced_as_an_attribute___require_results__on_the_declaration
mov rcx, rax
call fcn.140023960
mov rax, qword [rsp + 0x78]
and rax, 0xffffffffffffffef
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x90]
movzx eax, word [rax]
cmp eax, 0x4a
je 0x140059038
mov qword [rsp + 0x20], 0
mov r9d, 0x969
lea r8, str.c:devtoolsOdin_srcparser.cpp
lea rdx, str.type__kind__Ast_ProcType
lea rcx, str.Assertion_Failure
call fcn.14000ba00
int3
xor eax, eax
test eax, eax
jne 0x140058ffe
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x78]
mov qword [rax + 0x78], rcx
mov rax, qword [rsp + 0x2880]
movzx eax, byte [rax + 0x194]
test eax, eax
je 0x1400590bd
mov rax, qword [rsp + 0x2880]
cmp qword [rax + 0x188], 0
jge 0x1400590bd
cmp qword [rsp + 0x78], 0
je 0x140059090
lea rdx, str.A_procedure_type_cannot_have_suffix_tags
lea rcx, [rsp + 0x1a70]
call fcn.140023960
movzx eax, byte [rsp + 0x19f8]
test eax, eax
je 0x1400590b0
lea rdx, str.where_clauses_are_not_allowed_on_procedure_types
lea rcx, [rsp + 0x19f8]
call fcn.140023960
mov rax, qword [rsp + 0x90]
jmp 0x14005b6e4
mov rcx, qword [rsp + 0x2880]
call fcn.140050030
mov dl, 0x34
mov rcx, qword [rsp + 0x2880]
call fcn.140050930
movzx eax, al
test eax, eax
je 0x14005915e
movzx eax, byte [rsp + 0x19f8]
test eax, eax
je 0x140059100
lea rdx, str.where_clauses_are_not_allowed_on_procedure_literals_without_a_defined_body__replaced_with_____
lea rcx, [rsp + 0x19f8]
call fcn.140023960
lea rax, [rsp + 0x3f0]
lea rcx, [rsp + 0x19f8]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2f0]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x3f0]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x78]
xor r8d, r8d
mov rdx, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x2880]
call fcn.14004d270
jmp 0x14005b6e4
mov rax, qword [rsp + 0x2880]
movzx eax, byte [rax + 0xf0]
cmp eax, 0x41
jne 0x1400592df
mov rax, qword [rsp + 0x2880]
mov rax, qword [rax + 0x1e8]
mov qword [rsp + 0x248], rax
mov qword [rsp + 0x80], 0
mov rax, qword [rsp + 0x2880]
mov rcx, qword [rsp + 0x90]
mov qword [rax + 0x1e8], rcx
mov rcx, qword [rsp + 0x2880]
call fcn.140052b50
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x2880]
mov rcx, qword [rsp + 0x248]
mov qword [rax + 0x1e8], rcx
mov rax, qword [rsp + 0x78]
and rax, 2
test rax, rax
je 0x140059204
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 2]
or eax, 2
mov rcx, qword [rsp + 0x80]
mov byte [rcx + 2], al
mov rax, qword [rsp + 0x78]
and rax, 1
test rax, rax
je 0x14005922c
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 2]
or eax, 1
mov rcx, qword [rsp + 0x80]
mov byte [rcx + 2], al
mov rax, qword [rsp + 0x78]
and rax, 8
test rax, rax
je 0x140059254
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 2]
or eax, 8
mov rcx, qword [rsp + 0x80]
mov byte [rcx + 2], al
mov rax, qword [rsp + 0x78]
and rax, 4
test rax, rax
je 0x14005927c
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 2]
or eax, 4
mov rcx, qword [rsp + 0x80]
mov byte [rcx + 2], al
lea rax, [rsp + 0x420]
lea rcx, [rsp + 0x19f8]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2f0]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x420]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x78]
mov r8, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x2880]
call fcn.14004d270
jmp 0x14005b6e4
mov dl, 0x59
mov rcx, qword [rsp + 0x2880]
call fcn.140050930
movzx eax, al
test eax, eax
je 0x1400593e1
mov rax, qword [rsp + 0x2880]
mov rax, qword [rax + 0x1e8]
mov qword [rsp + 0x250], rax
mov qword [rsp + 0x108], 0
mov rax, qword [rsp + 0x2880]
mov rcx, qword [rsp + 0x90]
mov qword [rax + 0x1e8], rcx
mov rcx, qword [rsp + 0x2880]
call fcn.140051b90
mov rdx, rax
mov rcx, qword [rsp + 0x2880]
call fcn.140056d30
mov qword [rsp + 0x108], rax
mov rax, qword [rsp + 0x2880]
mov rcx, qword [rsp + 0x250]
mov qword [rax + 0x1e8], rcx
lea rdx, str.do_for_procedure_bodies_is_not_allowed__prefer_
mov rcx, qword [rsp + 0x108]
call fcn.14004bfb0
lea rax, [rsp + 0x450]
lea rcx, [rsp + 0x19f8]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2f0]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x450]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x78]
mov r8, qword [rsp + 0x108]
mov rdx, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x2880]
call fcn.14004d270
jmp 0x14005b6e4
cmp qword [rsp + 0x78], 0
je 0x1400593fd
lea rdx, str.A_procedure_type_cannot_have_suffix_tags
lea rcx, [rsp + 0x1a70]
call fcn.140023960
movzx eax, byte [rsp + 0x19f8]
test eax, eax
je 0x14005941d
lea rdx, str.where_clauses_are_not_allowed_on_procedure_types
lea rcx, [rsp + 0x19f8]
call fcn.140023960
mov rax, qword [rsp + 0x90]
jmp 0x14005b6e4
mov r8b, 0x10
mov rdx, qword [rsp + 0x2880]
lea rcx, [rsp + 0x1458]
call fcn.1400501f0
lea rcx, [rsp + 0x2448]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2038]
lea rcx, [rsp + 0x2448]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
xor edx, edx
mov rcx, qword [rsp + 0x2880]
call fcn.140052f00
mov qword [rsp + 0x110], rax
mov rcx, qword [rsp + 0x110]
call fcn.140050c80
movzx eax, al
test eax, eax
je 0x1400594b3
lea rdx, str.Invalid_polymorphic_type_definition_with_a_blank_identifier
mov rcx, qword [rsp + 0x110]
call fcn.14004bfb0
mov qword [rsp + 0x168], 0
mov dl, 0x16
mov rcx, qword [rsp + 0x2880]
call fcn.140050930
movzx eax, al
test eax, eax
je 0x1400594ea
mov rcx, qword [rsp + 0x2880]
call fcn.140054f10
mov qword [rsp + 0x168], rax
lea rax, [rsp + 0x480]
lea rcx, [rsp + 0x2038]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
mov r9, qword [rsp + 0x168]
mov r8, qword [rsp + 0x110]
lea rdx, [rsp + 0x480]
mov rcx, qword [rsp + 0x2880]
call fcn.14004e640
jmp 0x14005b6e4
mov r8b, 0x50
mov rdx, qword [rsp + 0x2880]
lea rcx, [rsp + 0x1480]
call fcn.1400501f0
lea rcx, [rsp + 0x1ed0]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x1f70]
lea rcx, [rsp + 0x1ed0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x4b0]
lea rcx, [rsp + 0x1f70]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
xor r8d, r8d
lea rdx, [rsp + 0x4b0]
mov rcx, qword [rsp + 0x2880]
call fcn.14004e520
jmp 0x14005b6e4
mov r8b, 0x11
mov rdx, qword [rsp + 0x2880]
lea rcx, [rsp + 0x14a8]
call fcn.1400501f0
lea rcx, [rsp + 0x2088]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2218]
lea rcx, [rsp + 0x2088]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
mov rcx, qword [rsp + 0x2880]
call fcn.140054f10
mov qword [rsp + 0x258], rax
lea rax, [rsp + 0x4e0]
lea rcx, [rsp + 0x2218]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
mov r8, qword [rsp + 0x258]
lea rdx, [rsp + 0x4e0]
mov rcx, qword [rsp + 0x2880]
call fcn.14004e7d0
jmp 0x14005b6e4
mov r8b, 0x3f
mov rdx, qword [rsp + 0x2880]
lea rcx, [rsp + 0x14d0]
call fcn.1400501f0
lea rcx, [rsp + 0x1bb0]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x1b10]
lea rcx, [rsp + 0x1bb0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
mov qword [rsp + 0x118], 0
mov rax, qword [rsp + 0x2880]
movzx eax, byte [rax + 0xf0]
cmp eax, 0x11
jne 0x140059776
mov r8b, 0x11
mov rdx, qword [rsp + 0x2880]
lea rcx, [rsp + 0x14f8]
call fcn.1400501f0
lea rcx, [rsp + 0x2588]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
mov r8b, 0x40
mov rdx, qword [rsp + 0x2880]
lea rcx, [rsp + 0x1520]
call fcn.1400501f0
lea rcx, [rsp + 0x26a0]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
mov rcx, qword [rsp + 0x2880]
call fcn.140054f10
lea rcx, [rsp + 0x510]
lea rdx, [rsp + 0x1b10]
mov rdi, rcx
mov rsi, rdx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
mov r8, rax
lea rdx, [rsp + 0x510]
mov rcx, qword [rsp + 0x2880]
call fcn.14004e830
jmp 0x14005b6e4
mov rax, qword [rsp + 0x2880]
movzx eax, byte [rax + 0xf0]
cmp eax, 0x12
jne 0x1400597f9
mov r8b, 0x12
mov rdx, qword [rsp + 0x2880]
lea rcx, [rsp + 0x1548]
call fcn.1400501f0
lea rcx, [rsp + 0x1f48]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x540]
lea rcx, [rsp + 0x1f48]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
xor r8d, r8d
lea rdx, [rsp + 0x540]
mov rcx, qword [rsp + 0x2880]
call fcn.14004c400
mov qword [rsp + 0x118], rax
jmp 0x1400598f2
mov dl, 0x66
mov rcx, qword [rsp + 0x2880]
call fcn.140050930
movzx eax, al
test eax, eax
je 0x140059885
mov r8b, 0x40
mov rdx, qword [rsp + 0x2880]
lea rcx, [rsp + 0x1570]
call fcn.1400501f0
lea rcx, [rsp + 0x2790]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
mov rcx, qword [rsp + 0x2880]
call fcn.140054f10
lea rcx, [rsp + 0x570]
lea rdx, [rsp + 0x1b10]
mov rdi, rcx
mov rsi, rdx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
mov r8, rax
lea rdx, [rsp + 0x570]
mov rcx, qword [rsp + 0x2880]
call fcn.14004e900
jmp 0x14005b6e4
mov rax, qword [rsp + 0x2880]
movzx eax, byte [rax + 0xf0]
cmp eax, 0x40
je 0x1400598f2
mov rax, qword [rsp + 0x2880]
mov rax, qword [rax + 0x188]
inc rax
mov rcx, qword [rsp + 0x2880]
mov qword [rcx + 0x188], rax
xor edx, edx
mov rcx, qword [rsp + 0x2880]
call fcn.140051570
mov qword [rsp + 0x118], rax
mov rax, qword [rsp + 0x2880]
mov rax, qword [rax + 0x188]
dec rax
mov rcx, qword [rsp + 0x2880]
mov qword [rcx + 0x188], rax
mov r8b, 0x40
mov rdx, qword [rsp + 0x2880]
lea rcx, [rsp + 0x1278]
call fcn.1400501f0
lea rcx, [rsp + 0x2678]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
mov rcx, qword [rsp + 0x2880]
call fcn.140054f10
lea rcx, [rsp + 0x5a0]
lea rdx, [rsp + 0x1b10]
mov rdi, rcx
mov rsi, rdx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
mov r9, rax
mov r8, qword [rsp + 0x118]
lea rdx, [rsp + 0x5a0]
mov rcx, qword [rsp + 0x2880]
call fcn.14004e890
jmp 0x14005b6e4
mov r8b, 0x65
mov rdx, qword [rsp + 0x2880]
lea rcx, [rsp + 0x10e8]
call fcn.1400501f0
lea rcx, [rsp + 0x20d8]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x21a0]
lea rcx, [rsp + 0x20d8]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
mov qword [rsp + 0x178], 0
mov qword [rsp + 0x170], 0
lea r9, [0x140278d18]
mov r8b, 0x3f
mov rdx, qword [rsp + 0x2880]
lea rcx, [rsp + 0x15c0]
call fcn.140050370
lea rcx, [rsp + 0x2100]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2498]
lea rcx, [rsp + 0x2100]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
mov dl, 1
mov rcx, qword [rsp + 0x2880]
call fcn.140051570
mov qword [rsp + 0x178], rax
mov r8b, 0x40
mov rdx, qword [rsp + 0x2880]
lea rcx, [rsp + 0x15e8]
call fcn.1400501f0
lea rcx, [rsp + 0x2128]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2600]
lea rcx, [rsp + 0x2128]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
mov rcx, qword [rsp + 0x2880]
call fcn.140054f10
mov qword [rsp + 0x170], rax
lea rax, [rsp + 0x5d0]
lea rcx, [rsp + 0x21a0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
mov r9, qword [rsp + 0x170]
mov r8, qword [rsp + 0x178]
lea rdx, [rsp + 0x5d0]
mov rcx, qword [rsp + 0x2880]
call fcn.14004ed00
jmp 0x14005b6e4
mov r8b, 0x72
mov rdx, qword [rsp + 0x2880]
lea rcx, [rsp + 0x1610]
call fcn.1400501f0
lea rcx, [rsp + 0x2240]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2330]
lea rcx, [rsp + 0x2240]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
mov qword [rsp + 0x190], 0
mov qword [rsp + 0x188], 0
mov qword [rsp + 0x180], 0
lea r9, str.matrix
mov r8b, 0x3f
mov rdx, qword [rsp + 0x2880]
lea rcx, [rsp + 0x1638]
call fcn.140050370
lea rcx, [rsp + 0x2290]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2740]
lea rcx, [rsp + 0x2290]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
mov dl, 1
mov rcx, qword [rsp + 0x2880]
call fcn.140051570
mov qword [rsp + 0x190], rax
mov r8b, 0x46
mov rdx, qword [rsp + 0x2880]
lea rcx, [rsp + 0x1660]
call fcn.1400501f0
lea rcx, [rsp + 0x27e0]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
mov dl, 1
mov rcx, qword [rsp + 0x2880]
call fcn.140051570
mov qword [rsp + 0x188], rax
mov r8b, 0x40
mov rdx, qword [rsp + 0x2880]
lea rcx, [rsp + 0x1688]
call fcn.1400501f0
lea rcx, [rsp + 0x2308]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2510]
lea rcx, [rsp + 0x2308]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
mov rcx, qword [rsp + 0x2880]
call fcn.140054f10
mov qword [rsp + 0x180], rax
lea rax, [rsp + 0x600]
lea rcx, [rsp + 0x2330]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0x180]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x188]
mov r8, qword [rsp + 0x190]
lea rdx, [rsp + 0x600]
mov rcx, qword [rsp + 0x2880]
call fcn.14004ed70
jmp 0x14005b6e4
mov r8b, 0x61
mov rdx, qword [rsp + 0x2880]
lea rcx, [rsp + 0x16b0]
call fcn.1400501f0
lea rcx, [rsp + 0x2470]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x1ae8]
lea rcx, [rsp + 0x2470]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
mov qword [rsp + 0xc0], 0
mov byte [rsp + 0x61], 0
mov byte [rsp + 0x62], 0
mov byte [rsp + 0x65], 0
mov qword [rsp + 0xb8], 0
mov qword [rsp + 0xb0], 0
mov dl, 0x3d
mov rcx, qword [rsp + 0x2880]
call fcn.140050930
movzx eax, al
test eax, eax
je 0x140059e23
mov qword [rsp + 0x198], 0
mov byte [rsp + 0x28], 1
mov byte [rsp + 0x20], 1
mov r9b, 0x3e
xor r8d, r8d
lea rdx, [rsp + 0x198]
mov rcx, qword [rsp + 0x2880]
call fcn.140055680
mov qword [rsp + 0xc0], rax
cmp qword [rsp + 0x198], 0
jne 0x140059db5
lea rdx, str.Expected_at_least_1_polymorphic_parameter
mov rcx, qword [rsp + 0xc0]
call fcn.14004bfb0
mov qword [rsp + 0xc0], 0
lea r9, str.parameter_list
mov r8b, 0x3e
mov rdx, qword [rsp + 0x2880]
lea rcx, [rsp + 0x16d8]
call fcn.140050370
lea rcx, [rsp + 0x2650]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x630]
lea rcx, [rsp + 0x1ae8]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea r8, [rsp + 0x630]
mov rdx, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x2880]
call fcn.140057050
mov rax, qword [rsp + 0x2880]
mov rax, qword [rax + 0x188]
mov qword [rsp + 0x120], rax
mov rax, qword [rsp + 0x2880]
mov qword [rax + 0x188], 0xffffffffffffffff
mov dl, 0xe
mov rcx, qword [rsp + 0x2880]
call fcn.140050930
movzx eax, al
test eax, eax
je 0x14005a1d9
lea r9, [0x140278b7c]
mov r8b, 4
mov rdx, qword [rsp + 0x2880]
lea rcx, [rsp + 0x1700]
call fcn.140050370
lea rcx, [rsp + 0x1e80]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x19a8]
lea rcx, [rsp + 0x1e80]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rdx, [0x14027e670]
lea rcx, [rsp + 0x19b0]
call fcn.140033ff0
movzx eax, al
test eax, eax
je 0x140059f0a
movzx eax, byte [rsp + 0x61]
test eax, eax
je 0x140059f00
mov r9, qword [rsp + 0x19b0]
mov r8d, dword [rsp + 0x19b8]
lea rdx, str.Duplicate_struct_tag__.s
lea rcx, [rsp + 0x19a8]
call fcn.140023960
mov byte [rsp + 0x61], 1
jmp 0x14005a1d4
lea rdx, [0x14027e698]
lea rcx, [rsp + 0x19b0]
call fcn.140034170
movzx eax, al
test eax, eax
je 0x14005a00e
cmp qword [rsp + 0xb8], 0
je 0x140059f58
mov r9, qword [rsp + 0x19b0]
mov r8d, dword [rsp + 0x19b8]
lea rdx, str.Duplicate_struct_tag__.s
lea rcx, [rsp + 0x19a8]
call fcn.140023960
mov dl, 1
mov rcx, qword [rsp + 0x2880]
call fcn.140051570
mov qword [rsp + 0xb8], rax
cmp qword [rsp + 0xb8], 0
je 0x14005a009
mov rax, qword [rsp + 0xb8]
movzx eax, word [rax]
cmp eax, 0xf
je 0x14005a009
call fcn.140023bc0
lea rax, [rsp + 0x6b]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rdx, [rsp + 0x6b]
lea rcx, [rsp + 0x6c]
call fcn.14021ac20
nop
mov rcx, qword [rsp + 0xb8]
call fcn.140041350
mov qword [rsp + 0x1a0], rax
lea rdx, str.align_requires_parentheses_around_the_expression
lea rcx, [rsp + 0x19a8]
call fcn.140023ab0
mov rdx, qword [rsp + 0x1a0]
lea rcx, str._tSuggestion:_align__s_
call fcn.140023910
mov rcx, qword [rsp + 0x1a0]
call fcn.14021fa10
nop
lea rcx, [rsp + 0x6c]
call fcn.14005b880
jmp 0x14005a1d4
lea rdx, str.field_align
lea rcx, [rsp + 0x19b0]
call fcn.140034110
movzx eax, al
test eax, eax
je 0x14005a112
cmp qword [rsp + 0xb0], 0
je 0x14005a05c
mov r9, qword [rsp + 0x19b0]
mov r8d, dword [rsp + 0x19b8]
lea rdx, str.Duplicate_struct_tag__.s
lea rcx, [rsp + 0x19a8]
call fcn.140023960
mov dl, 1
mov rcx, qword [rsp + 0x2880]
call fcn.140051570
mov qword [rsp + 0xb0], rax
cmp qword [rsp + 0xb0], 0
je 0x14005a10d
mov rax, qword [rsp + 0xb0]
movzx eax, word [rax]
cmp eax, 0xf
je 0x14005a10d
call fcn.140023bc0
lea rax, [rsp + 0x6d]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rdx, [rsp + 0x6d]
lea rcx, [rsp + 0x6e]
call fcn.140215b80
nop
mov rcx, qword [rsp + 0xb0]
call fcn.140041350
mov qword [rsp + 0x1a8], rax
lea rdx, str.field_align_requires_parentheses_around_the_expression
lea rcx, [rsp + 0x19a8]
call fcn.140023ab0
mov rdx, qword [rsp + 0x1a8]
lea rcx, str._tSuggestion:_field_align__s_
call fcn.140023910
mov rcx, qword [rsp + 0x1a8]
call fcn.14021fa10
nop
lea rcx, [rsp + 0x6e]
call fcn.14005b900
jmp 0x14005a1d4
lea rdx, [0x14027e758]
lea rcx, [rsp + 0x19b0]
call fcn.140034050
movzx eax, al
test eax, eax
je 0x14005a161
movzx eax, byte [rsp + 0x62]
test eax, eax
je 0x14005a15a
mov r9, qword [rsp + 0x19b0]
mov r8d, dword [rsp + 0x19b8]
lea rdx, str.Duplicate_struct_tag__.s
lea rcx, [rsp + 0x19a8]
call fcn.140023960
mov byte [rsp + 0x62], 1
jmp 0x14005a1d4
lea rdx, str.no_copy
lea rcx, [rsp + 0x19b0]
call fcn.140037550
movzx eax, al
test eax, eax
je 0x14005a1b0
movzx eax, byte [rsp + 0x65]
test eax, eax
je 0x14005a1a9
mov r9, qword [rsp + 0x19b0]
mov r8d, dword [rsp + 0x19b8]
lea rdx, str.Duplicate_struct_tag__.s
lea rcx, [rsp + 0x19a8]
call fcn.140023960
mov byte [rsp + 0x65], 1
jmp 0x14005a1d4
mov r9, qword [rsp + 0x19b0]
mov r8d, dword [rsp + 0x19b8]
lea rdx, str.Invalid_struct_tag__.s
lea rcx, [rsp + 0x19a8]
call fcn.140023960
jmp 0x140059e4d
mov rax, qword [rsp + 0x2880]
mov rcx, qword [rsp + 0x120]
mov qword [rax + 0x188], rcx
movzx eax, byte [rsp + 0x62]
test eax, eax
je 0x14005a21b
movzx eax, byte [rsp + 0x61]
test eax, eax
je 0x14005a21b
mov byte [rsp + 0x61], 0
lea rdx, str.raw_union_cannot_also_be_packed
lea rcx, [rsp + 0x1ae8]
call fcn.140023960
lea rax, [rsp + 0x1b38]
mov rdi, rax
xor eax, eax
mov ecx, 0x28
rep stosb byte [rdi], al
lea rax, [rsp + 0x390]
mov rdi, rax
xor eax, eax
mov ecx, 0x28
rep stosb byte [rdi], al
mov rcx, qword [rsp + 0x2880]
call fcn.140050030
mov rax, qword [rsp + 0x2880]
movzx eax, byte [rax + 0xf0]
cmp eax, 0x52
jne 0x14005a33a
mov r8b, 0x52
mov rdx, qword [rsp + 0x2880]
lea rcx, [rsp + 0x1728]
call fcn.1400501f0
lea rcx, [rsp + 0x1ea8]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x1b38]
lea rcx, [rsp + 0x1ea8]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0x2880]
mov rax, qword [rax + 0x188]
mov qword [rsp + 0x120], rax
mov rax, qword [rsp + 0x2880]
mov qword [rax + 0x188], 0xffffffffffffffff
mov rdx, qword [rsp + 0x2880]
lea rcx, [rsp + 0x1750]
call fcn.140054490
lea rcx, [rsp + 0x660]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x390]
lea rcx, [rsp + 0x660]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0x2880]
mov rcx, qword [rsp + 0x120]
mov qword [rax + 0x188], rcx
mov rcx, qword [rsp + 0x2880]
call fcn.140050030
lea r9, [0x140278cf4]
mov r8b, 0x41
mov rdx, qword [rsp + 0x2880]
lea rcx, [rsp + 0x1778]
call fcn.140050370
lea rcx, [rsp + 0x1ef8]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2830]
lea rcx, [rsp + 0x1ef8]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
mov qword [rsp + 0x1b0], 0
lea rdx, [rsp + 0x1b0]
mov rcx, qword [rsp + 0x2880]
call fcn.140055560
mov qword [rsp + 0x128], rax
mov rdx, qword [rsp + 0x2880]
lea rcx, [rsp + 0x17c8]
call fcn.1400509d0
lea rcx, [rsp + 0x1f20]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x24e8]
lea rcx, [rsp + 0x1f20]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x288]
mov rdi, rax
xor eax, eax
mov ecx, 0x10
rep stosb byte [rdi], al
cmp qword [rsp + 0x128], 0
je 0x14005a485
mov rax, qword [rsp + 0x128]
movzx eax, word [rax]
cmp eax, 0x44
je 0x14005a461
mov qword [rsp + 0x20], 0
mov r9d, 0xa5c
lea r8, str.c:devtoolsOdin_srcparser.cpp
lea rdx, str.fields__kind__Ast_FieldList
lea rcx, str.Assertion_Failure
call fcn.14000ba00
int3
xor eax, eax
test eax, eax
jne 0x14005a427
lea rax, [rsp + 0x288]
mov rcx, qword [rsp + 0x128]
mov rdi, rax
lea rsi, [rcx + 0x60]
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
mov rdx, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x2880]
call fcn.140057a10
lea rax, [rsp + 0x690]
lea rcx, [rsp + 0x1b38]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2c0]
lea rcx, [rsp + 0x288]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x6f0]
lea rcx, [rsp + 0x1ae8]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x390]
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x690]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0x40], rax
movzx eax, byte [rsp + 0x65]
mov byte [rsp + 0x38], al
movzx eax, byte [rsp + 0x62]
mov byte [rsp + 0x30], al
movzx eax, byte [rsp + 0x61]
mov byte [rsp + 0x28], al
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x1b0]
lea r8, [rsp + 0x2c0]
lea rdx, [rsp + 0x6f0]
mov rcx, qword [rsp + 0x2880]
call fcn.14004e960
jmp 0x14005b6e4
mov r8b, 0x62
mov rdx, qword [rsp + 0x2880]
lea rcx, [rsp + 0x17f0]
call fcn.1400501f0
lea rcx, [rsp + 0x1f98]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x1b88]
lea rcx, [rsp + 0x1f98]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
mov qword [rsp + 0xd0], 0
mov qword [rsp + 0xc8], 0
mov byte [rsp + 0x63], 0
mov byte [rsp + 0x66], 0
mov byte [rsp + 0x64], 0
mov byte [rsp + 0x67], 0
lea rax, [rsp + 0x2560]
mov rcx, qword [rsp + 0x2880]
mov rdi, rax
lea rsi, [rcx + 0xf0]
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
mov dl, 0x3d
mov rcx, qword [rsp + 0x2880]
call fcn.140050930
movzx eax, al
test eax, eax
je 0x14005a6ff
mov qword [rsp + 0x1b8], 0
mov byte [rsp + 0x28], 1
mov byte [rsp + 0x20], 1
mov r9b, 0x3e
xor r8d, r8d
lea rdx, [rsp + 0x1b8]
mov rcx, qword [rsp + 0x2880]
call fcn.140055680
mov qword [rsp + 0xd0], rax
cmp qword [rsp + 0x1b8], 0
jne 0x14005a691
lea rdx, str.Expected_at_least_1_polymorphic_parametric
mov rcx, qword [rsp + 0xd0]
call fcn.14004bfb0
mov qword [rsp + 0xd0], 0
lea r9, str.parameter_list
mov r8b, 0x3e
mov rdx, qword [rsp + 0x2880]
lea rcx, [rsp + 0x1818]
call fcn.140050370
lea rcx, [rsp + 0x25d8]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0xf50]
lea rcx, [rsp + 0x1b88]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea r8, [rsp + 0xf50]
mov rdx, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0x2880]
call fcn.140057050
mov dl, 0xe
mov rcx, qword [rsp + 0x2880]
call fcn.140050930
movzx eax, al
test eax, eax
je 0x14005a987
lea r9, [0x140278b7c]
mov r8b, 4
mov rdx, qword [rsp + 0x2880]
lea rcx, [rsp + 0x1840]
call fcn.140050370
lea rcx, [rsp + 0x1fe8]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x19d0]
lea rcx, [rsp + 0x1fe8]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rdx, [0x14027e698]
lea rcx, [rsp + 0x19d8]
call fcn.140034170
movzx eax, al
test eax, eax
je 0x14005a86e
cmp qword [rsp + 0xc8], 0
je 0x14005a7b8
mov r9, qword [rsp + 0x19d8]
mov r8d, dword [rsp + 0x19e0]
lea rdx, str.Duplicate_union_tag__.s
lea rcx, [rsp + 0x19d0]
call fcn.140023960
mov dl, 1
mov rcx, qword [rsp + 0x2880]
call fcn.140051570
mov qword [rsp + 0xc8], rax
cmp qword [rsp + 0xc8], 0
je 0x14005a869
mov rax, qword [rsp + 0xc8]
movzx eax, word [rax]
cmp eax, 0xf
je 0x14005a869
call fcn.140023bc0
lea rax, [rsp + 0x6f]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rdx, [rsp + 0x6f]
lea rcx, [rsp + 0x70]
call fcn.140216c60
nop
mov rcx, qword [rsp + 0xc8]
call fcn.140041350
mov qword [rsp + 0x1c0], rax
lea rdx, str.align_requires_parentheses_around_the_expression
lea rcx, [rsp + 0x19d0]
call fcn.140023ab0
mov rdx, qword [rsp + 0x1c0]
lea rcx, str._tSuggestion:_align__s_
call fcn.140023910
mov rcx, qword [rsp + 0x1c0]
call fcn.14021fa10
nop
lea rcx, [rsp + 0x70]
call fcn.14005b980
jmp 0x14005a982
lea rdx, [0x14027e824]
lea rcx, [rsp + 0x19d8]
call fcn.140033ff0
movzx eax, al
test eax, eax
je 0x14005a8c0
movzx eax, byte [rsp + 0x63]
test eax, eax
je 0x14005a8b6
mov r9, qword [rsp + 0x19d8]
mov r8d, dword [rsp + 0x19e0]
lea rdx, str.Duplicate_union_tag__.s
lea rcx, [rsp + 0x19d0]
call fcn.140023960
mov byte [rsp + 0x63], 1
jmp 0x14005a982
lea rdx, [0x14027e830]
lea rcx, [rsp + 0x19d8]
call fcn.1400340b0
movzx eax, al
test eax, eax
je 0x14005a90f
movzx eax, byte [rsp + 0x64]
test eax, eax
je 0x14005a908
mov r9, qword [rsp + 0x19d8]
mov r8d, dword [rsp + 0x19e0]
lea rdx, str.Duplicate_union_tag__.s
lea rcx, [rsp + 0x19d0]
call fcn.140023960
mov byte [rsp + 0x64], 1
jmp 0x14005a982
lea rdx, str.maybe
lea rcx, [rsp + 0x19d8]
call fcn.140034170
movzx eax, al
test eax, eax
je 0x14005a95e
movzx eax, byte [rsp + 0x66]
test eax, eax
je 0x14005a957
mov r9, qword [rsp + 0x19d8]
mov r8d, dword [rsp + 0x19e0]
lea rdx, str.Duplicate_union_tag__.s
lea rcx, [rsp + 0x19d0]
call fcn.140023960
mov byte [rsp + 0x66], 1
jmp 0x14005a982
mov r9, qword [rsp + 0x19d8]
mov r8d, dword [rsp + 0x19e0]
lea rdx, str.Invalid_union_tag__.s
lea rcx, [rsp + 0x19d0]
call fcn.140023960
jmp 0x14005a6ff
movzx eax, byte [rsp + 0x63]
test eax, eax
je 0x14005a9b6
movzx eax, byte [rsp + 0x64]
test eax, eax
je 0x14005a9b6
mov rax, qword [rsp + 0x2880]
add rax, 0xf0
lea rdx, str.shared_nil_and_no_nil_cannot_be_applied_together
mov rcx, rax
call fcn.140023960
movzx eax, byte [rsp + 0x66]
test eax, eax
je 0x14005a9dc
mov rax, qword [rsp + 0x2880]
add rax, 0xf0
lea rdx, str.maybe_functionality_has_now_been_merged_with_standard_union_functionality
mov rcx, rax
call fcn.140023960
movzx eax, byte [rsp + 0x63]
test eax, eax
je 0x14005a9ec
mov byte [rsp + 0x67], 2
jmp 0x14005a9fa
movzx eax, byte [rsp + 0x64]
test eax, eax
je 0x14005a9fa
mov byte [rsp + 0x67], 3
mov rcx, qword [rsp + 0x2880]
call fcn.140050030
lea rax, [rsp + 0x1b60]
mov rdi, rax
xor eax, eax
mov ecx, 0x28
rep stosb byte [rdi], al
lea rax, [rsp + 0x368]
mov rdi, rax
xor eax, eax
mov ecx, 0x28
rep stosb byte [rdi], al
mov rax, qword [rsp + 0x2880]
movzx eax, byte [rax + 0xf0]
cmp eax, 0x52
jne 0x14005ab19
mov r8b, 0x52
mov rdx, qword [rsp + 0x2880]
lea rcx, [rsp + 0x1868]
call fcn.1400501f0
lea rcx, [rsp + 0x2010]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x1b60]
lea rcx, [rsp + 0x2010]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0x2880]
mov rax, qword [rax + 0x188]
mov qword [rsp + 0x260], rax
mov rax, qword [rsp + 0x2880]
mov qword [rax + 0x188], 0xffffffffffffffff
mov rdx, qword [rsp + 0x2880]
lea rcx, [rsp + 0x1890]
call fcn.140054490
lea rcx, [rsp + 0x750]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x368]
lea rcx, [rsp + 0x750]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0x2880]
mov rcx, qword [rsp + 0x260]
mov qword [rax + 0x188], rcx
mov rcx, qword [rsp + 0x2880]
call fcn.140050030
lea r9, [0x140278cfc]
mov r8b, 0x41
mov rdx, qword [rsp + 0x2880]
lea rcx, [rsp + 0x18b8]
call fcn.140050370
lea rcx, [rsp + 0x2060]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x26f0]
lea rcx, [rsp + 0x2060]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
mov rdx, qword [rsp + 0x2880]
lea rcx, [rsp + 0x18e0]
call fcn.140057900
lea rcx, [rsp + 0x7b0]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x8d0]
lea rcx, [rsp + 0x7b0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
mov rdx, qword [rsp + 0x2880]
lea rcx, [rsp + 0x1908]
call fcn.1400509d0
lea rcx, [rsp + 0x20b0]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x27b8]
lea rcx, [rsp + 0x20b0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
mov rdx, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0x2880]
call fcn.140057a10
lea rax, [rsp + 0x840]
lea rcx, [rsp + 0x1b60]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x960]
lea rcx, [rsp + 0x1b88]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x368]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x840]
mov qword [rsp + 0x30], rax
movzx eax, byte [rsp + 0x67]
mov byte [rsp + 0x28], al
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0xd0]
lea r8, [rsp + 0x8d0]
lea rdx, [rsp + 0x960]
mov rcx, qword [rsp + 0x2880]
call fcn.14004eab0
jmp 0x14005b6e4
mov r8b, 0x63
mov rdx, qword [rsp + 0x2880]
lea rcx, [rsp + 0x1930]
call fcn.1400501f0
lea rcx, [rsp + 0x2150]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x21f0]
lea rcx, [rsp + 0x2150]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
mov qword [rsp + 0x1c8], 0
mov rax, qword [rsp + 0x2880]
movzx eax, byte [rax + 0xf0]
cmp eax, 0x41
je 0x14005ad32
mov rcx, qword [rsp + 0x2880]
call fcn.140054f10
mov qword [rsp + 0x1c8], rax
mov rcx, qword [rsp + 0x2880]
call fcn.140050030
mov r8b, 0x41
mov rdx, qword [rsp + 0x2880]
lea rcx, [rsp + 0x1958]
call fcn.1400501f0
lea rcx, [rsp + 0x2178]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x24c0]
lea rcx, [rsp + 0x2178]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
mov rdx, qword [rsp + 0x2880]
lea rcx, [rsp + 0xfa8]
call fcn.1400537c0
lea rcx, [rsp + 0x990]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x9f0]
lea rcx, [rsp + 0x990]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
mov rdx, qword [rsp + 0x2880]
lea rcx, [rsp + 0xfd0]
call fcn.1400509d0
lea rcx, [rsp + 0x21c8]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2538]
lea rcx, [rsp + 0x21c8]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0xa20]
lea rcx, [rsp + 0x21f0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea r9, [rsp + 0x9f0]
mov r8, qword [rsp + 0x1c8]
lea rdx, [rsp + 0xa20]
mov rcx, qword [rsp + 0x2880]
call fcn.14004ebe0
jmp 0x14005b6e4
mov r8b, 0x64
mov rdx, qword [rsp + 0x2880]
lea rcx, [rsp + 0xff8]
call fcn.1400501f0
lea rcx, [rsp + 0x2268]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x22e0]
lea rcx, [rsp + 0x2268]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
mov r8b, 0x3f
mov rdx, qword [rsp + 0x2880]
lea rcx, [rsp + 0x1020]
call fcn.1400501f0
lea rcx, [rsp + 0x25b0]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
mov qword [rsp + 0x1d0], 0
mov qword [rsp + 0x130], 0
mov rax, qword [rsp + 0x2880]
movzx eax, byte [rax + 0x191]
mov byte [rsp + 0x71], al
mov rax, qword [rsp + 0x2880]
mov byte [rax + 0x191], 1
mov dl, 1
mov rcx, qword [rsp + 0x2880]
call fcn.140051570
mov qword [rsp + 0x1d0], rax
mov rax, qword [rsp + 0x2880]
movzx ecx, byte [rsp + 0x71]
mov byte [rax + 0x191], cl
mov dl, 0x44
mov rcx, qword [rsp + 0x2880]
call fcn.140050930
movzx eax, al
test eax, eax
je 0x14005af6e
mov rcx, qword [rsp + 0x2880]
call fcn.140054f10
mov qword [rsp + 0x130], rax
jmp 0x14005b064
mov dl, 0x46
mov rcx, qword [rsp + 0x2880]
call fcn.140050930
movzx eax, al
test eax, eax
je 0x14005b064
mov rax, qword [rsp + 0x2880]
add rax, 0x118
mov rdx, rax
lea rcx, [rsp + 0x3c8]
call fcn.140050150
lea rcx, [rsp + 0x2d0]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x298]
lea rcx, [rsp + 0x2d0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0xd50]
mov rcx, qword [rsp + 0x2880]
mov rdi, rax
lea rsi, [rcx + 0x118]
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea r8, [rsp + 0xd50]
mov rdx, qword [rsp + 0x2880]
lea rcx, [rsp + 0x1598]
call fcn.140049b10
lea rcx, [rsp + 0x22b8]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
mov r9, qword [rsp + 0x298]
mov r8d, dword [rsp + 0x2a0]
lea rdx, str.Expected_a_semicolon__got_a__.s
lea rcx, [rsp + 0x22b8]
call fcn.140023960
mov rcx, qword [rsp + 0x2880]
call fcn.140054f10
mov qword [rsp + 0x130], rax
mov r8b, 0x40
mov rdx, qword [rsp + 0x2880]
lea rcx, [rsp + 0x1048]
call fcn.1400501f0
lea rcx, [rsp + 0x2628]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0xd80]
lea rcx, [rsp + 0x22e0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
mov r9, qword [rsp + 0x130]
mov r8, qword [rsp + 0x1d0]
lea rdx, [rsp + 0xd80]
mov rcx, qword [rsp + 0x2880]
call fcn.14004ec90
jmp 0x14005b6e4
mov r8b, 0x71
mov rdx, qword [rsp + 0x2880]
lea rcx, [rsp + 0x1070]
call fcn.1400501f0
lea rcx, [rsp + 0x1e58]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x2420]
lea rcx, [rsp + 0x1e58]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x340]
mov rdi, rax
xor eax, eax
mov ecx, 0x28
rep stosb byte [rdi], al
mov qword [rsp + 0x1d8], 0
mov dl, 0x3d
mov rcx, qword [rsp + 0x2880]
call fcn.140050930
movzx eax, al
test eax, eax
je 0x14005b2d8
mov rdx, qword [rsp + 0x2880]
lea rcx, [rsp + 0x3d8]
call fcn.140041230
lea rcx, [rsp + 0x2e0]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0x2e0]
lea rcx, [rsp + 0x1098]
call fcn.140053620
lea rcx, [rsp + 0xdd8]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x340]
lea rcx, [rsp + 0xdd8]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0x2880]
movzx eax, byte [rax + 0xf0]
cmp eax, 0x3e
je 0x14005b280
mov rax, qword [rsp + 0x2880]
movzx eax, byte [rax + 0xf0]
cmp eax, 1
je 0x14005b280
mov rcx, qword [rsp + 0x2880]
call fcn.140054f10
mov qword [rsp + 0x268], rax
lea rdx, [rsp + 0x268]
lea rcx, [rsp + 0x340]
call fcn.1400536e0
mov rax, qword [rsp + 0x2880]
movzx eax, byte [rax + 0xf0]
cmp eax, 0x46
jne 0x14005b24f
mov rax, qword [rsp + 0x2880]
movzx eax, byte [rax + 0xf0]
cmp eax, 1
jne 0x14005b251
jmp 0x14005b280
mov rdx, qword [rsp + 0x2880]
lea rcx, [rsp + 0x10c0]
call fcn.14004fb50
lea rcx, [rsp + 0x26c8]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
jmp 0x14005b1cd
mov r8b, 0x3e
mov rdx, qword [rsp + 0x2880]
lea rcx, [rsp + 0x1110]
call fcn.1400501f0
lea rcx, [rsp + 0x2718]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
mov dl, 0x33
mov rcx, qword [rsp + 0x2880]
call fcn.140050930
movzx eax, al
test eax, eax
je 0x14005b2d8
mov rcx, qword [rsp + 0x2880]
call fcn.140054f10
mov qword [rsp + 0x1d8], rax
mov byte [rsp + 0x69], 0
mov byte [rsp + 0x68], 0
mov byte [rsp + 0x60], 0
mov rax, qword [rsp + 0x2880]
movzx eax, byte [rax + 0xf0]
cmp eax, 0xe
jne 0x14005b50d
mov rdx, qword [rsp + 0x2880]
lea rcx, [rsp + 0x1138]
call fcn.14004fb50
lea rcx, [rsp + 0x2768]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0x2880]
movzx eax, byte [rax + 0xf0]
cmp eax, 4
jne 0x14005b4eb
mov rdx, qword [rsp + 0x2880]
lea rcx, [rsp + 0x1160]
call fcn.14004fb50
lea rcx, [rsp + 0x2358]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x1a48]
lea rcx, [rsp + 0x2358]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x1e0]
lea rcx, [rsp + 0x1a50]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rdx, str.side_effects
lea rcx, [rsp + 0x1e0]
call fcn.140054360
movzx eax, al
test eax, eax
je 0x14005b3e7
movzx eax, byte [rsp + 0x69]
test eax, eax
je 0x14005b3dd
lea rdx, str.Duplicate_directive_on_inline_asm_expression:_side_effects
lea rcx, [rsp + 0x1a48]
call fcn.140023960
mov byte [rsp + 0x69], 1
jmp 0x14005b4e9
lea rdx, str.align_stack
lea rcx, [rsp + 0x1e0]
call fcn.140034110
movzx eax, al
test eax, eax
je 0x14005b429
movzx eax, byte [rsp + 0x68]
test eax, eax
je 0x14005b41f
lea rdx, str.Duplicate_directive_on_inline_asm_expression:_align_stack
lea rcx, [rsp + 0x1a48]
call fcn.140023960
mov byte [rsp + 0x68], 1
jmp 0x14005b4e9
lea rdx, [0x140278dfc]
lea rcx, [rsp + 0x1e0]
call fcn.1400375b0
movzx eax, al
test eax, eax
je 0x14005b48a
movzx eax, byte [rsp + 0x60]
cmp eax, 1
jne 0x14005b464
lea rdx, str.Duplicate_directive_on_inline_asm_expression:_att
lea rcx, [rsp + 0x1a48]
call fcn.140023960
jmp 0x14005b488
movzx eax, byte [rsp + 0x60]
test eax, eax
je 0x14005b483
lea rdx, str.Conflicting_asm_dialects
lea rcx, [rsp + 0x1a48]
call fcn.140023960
jmp 0x14005b488
mov byte [rsp + 0x60], 1
jmp 0x14005b4e9
lea rdx, str.intel
lea rcx, [rsp + 0x1e0]
call fcn.140034170
movzx eax, al
test eax, eax
je 0x14005b4e9
movzx eax, byte [rsp + 0x60]
cmp eax, 2
jne 0x14005b4c5
lea rdx, str.Duplicate_directive_on_inline_asm_expression:_intel
lea rcx, [rsp + 0x1a48]
call fcn.140023960
jmp 0x14005b4e9
movzx eax, byte [rsp + 0x60]
test eax, eax
je 0x14005b4e4
lea rdx, str.Conflicting_asm_dialects
lea rcx, [rsp + 0x1a48]
call fcn.140023960
jmp 0x14005b4e9
mov byte [rsp + 0x60], 2
jmp 0x14005b508
mov rax, qword [rsp + 0x2880]
add rax, 0xf0
lea rdx, str.Expected_an_identifier_after_hash
mov rcx, rax
call fcn.140023960
jmp 0x14005b2e7
mov rcx, qword [rsp + 0x2880]
call fcn.140050030
mov r8b, 0x41
mov rdx, qword [rsp + 0x2880]
lea rcx, [rsp + 0x1188]
call fcn.1400501f0
lea rcx, [rsp + 0x2380]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x23f8]
lea rcx, [rsp + 0x2380]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
xor edx, edx
mov rcx, qword [rsp + 0x2880]
call fcn.140051570
mov qword [rsp + 0x278], rax
mov r8b, 0x46
mov rdx, qword [rsp + 0x2880]
lea rcx, [rsp + 0x1250]
call fcn.1400501f0
lea rcx, [rsp + 0x2808]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
xor edx, edx
mov rcx, qword [rsp + 0x2880]
call fcn.140051570
mov qword [rsp + 0x270], rax
mov dl, 0x46
mov rcx, qword [rsp + 0x2880]
call fcn.140050930
mov rdx, qword [rsp + 0x2880]
lea rcx, [rsp + 0x17a0]
call fcn.1400509d0
lea rcx, [rsp + 0x23a8]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x23d0]
lea rcx, [rsp + 0x23a8]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0xe00]
lea rcx, [rsp + 0x23d0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0xe30]
lea rcx, [rsp + 0x23f8]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0xf20]
lea rcx, [rsp + 0x2420]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x28
rep movsb byte [rdi], byte [rsi]
movzx eax, byte [rsp + 0x60]
mov byte [rsp + 0x50], al
movzx eax, byte [rsp + 0x68]
mov byte [rsp + 0x48], al
movzx eax, byte [rsp + 0x69]
mov byte [rsp + 0x40], al
mov rax, qword [rsp + 0x270]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x278]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x1d8]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x340]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0xe00]
lea r8, [rsp + 0xe30]
lea rdx, [rsp + 0xf20]
mov rcx, qword [rsp + 0x2880]
call fcn.14004d850
jmp 0x14005b6e4
xor eax, eax
mov rcx, qword [rsp + 0x2858]
xor rcx, rsp
call fcn.14022cfc0
add rsp, 0x2868
pop rdi
pop rsi
ret