LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: Heptagon196[P]Gos/GosAST.cpp
// Function: Gos::AST::Cond::Cond(Gos::GosTokenizer&)
Build(Cond) {
        Log(Cond);
        Expect(LogicOr);
        token = tokenizer.GetToken();
        if (token.type == QUESTION) {
            branch = 1;
            Expect(Exp);
            tokenizer.EatToken(COLON);
            Expect(Exp);
        } else {
            tokenizer.BackToken();
        }
    }

// Assembly:
subq $0x78, %rsp
movq %rdi, 0x70(%rsp)
movq %rsi, 0x68(%rsp)
movq 0x70(%rsp), %rdi
movq %rdi, 0x38(%rsp)
callq 0x1d1d40
movq 0x38(%rsp), %rax
leaq 0x1376af(%rip), %rcx    # 0x300458
addq $0x10, %rcx
movq %rcx, (%rax)
movl $0x0, 0x8(%rax)
testb $0x1, 0x1394a2(%rip)    # 0x302260
je 0x1c8dc5
jmp 0x1c8f6e
movq 0x38(%rsp), %rax
addq $0x10, %rax
movq %rax, 0x28(%rsp)
movl $0x78, %edi
callq 0x13110
movq %rax, 0x30(%rsp)
jmp 0x1c8de4
movq 0x30(%rsp), %rdi
movq 0x68(%rsp), %rsi
callq 0x1c8b90
jmp 0x1c8df5
movq 0x28(%rsp), %rdi
movq 0x30(%rsp), %rax
movq %rax, 0x60(%rsp)
leaq 0x60(%rsp), %rsi
callq 0x1d1cb0
jmp 0x1c8e10
movq 0x68(%rsp), %rdi
callq 0x1c5260
movq %rax, 0x20(%rsp)
jmp 0x1c8e21
movq 0x20(%rsp), %rsi
movq 0x38(%rsp), %rdi
addq $0x28, %rdi
callq 0x1d1da0
jmp 0x1c8e36
movq 0x38(%rsp), %rax
cmpl $0x31, 0x28(%rax)
jne 0x1c8f60
movq 0x38(%rsp), %rax
movl $0x1, 0x8(%rax)
addq $0x10, %rax
movq %rax, 0x10(%rsp)
movl $0x60, %edi
callq 0x13110
movq %rax, 0x18(%rsp)
jmp 0x1c8e6b
movq 0x18(%rsp), %rdi
movq 0x68(%rsp), %rsi
callq 0x1c92d0
jmp 0x1c8e7c
movq 0x10(%rsp), %rdi
movq 0x18(%rsp), %rax
movq %rax, 0x48(%rsp)
leaq 0x48(%rsp), %rsi
callq 0x1d1cb0
jmp 0x1c8e97
movq 0x68(%rsp), %rdi
movl $0x30, %esi
callq 0x1c5300
jmp 0x1c8ea8
movq 0x38(%rsp), %rax
addq $0x10, %rax
movq %rax, (%rsp)
movl $0x60, %edi
callq 0x13110
movq %rax, 0x8(%rsp)
jmp 0x1c8ec6
movq 0x8(%rsp), %rdi
movq 0x68(%rsp), %rsi
callq 0x1c92d0
jmp 0x1c8ed7
movq (%rsp), %rdi
movq 0x8(%rsp), %rax
movq %rax, 0x40(%rsp)
leaq 0x40(%rsp), %rsi
callq 0x1d1cb0
jmp 0x1c8ef1
jmp 0x1c8f6e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x58(%rsp)
movl %eax, 0x54(%rsp)
jmp 0x1c8f73
movq 0x30(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x58(%rsp)
movl %eax, 0x54(%rsp)
movl $0x78, %esi
callq 0x130c0
jmp 0x1c8f73
movq 0x18(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x58(%rsp)
movl %eax, 0x54(%rsp)
movl $0x60, %esi
callq 0x130c0
jmp 0x1c8f73
movq 0x8(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x58(%rsp)
movl %eax, 0x54(%rsp)
movl $0x60, %esi
callq 0x130c0
jmp 0x1c8f73
movq 0x68(%rsp), %rdi
callq 0x1c5530
jmp 0x1c8f6c
jmp 0x1c8f6e
addq $0x78, %rsp
retq
movq 0x38(%rsp), %rdi
callq 0x1c6f10
movq 0x58(%rsp), %rdi
callq 0x133f0
nopw (%rax,%rax)
// File: Heptagon196[P]Gos/GosAST.cpp
// Function: Gos::AST::Assign::Assign(Gos::GosTokenizer&)
Build(Assign) {
        Log(Assign);
        Expect(Unary);
        token = tokenizer.GetToken();
        if (token.type != ASSIGN && token.type != ASSIGN_ADD &&
            token.type != ASSIGN_SUB && token.type != ASSIGN_MUL &&
            token.type != ASSIGN_DIV && token.type != ASSIGN_REM &&
            token.type != ASSIGN_XOR && token.type != ASSIGN_AND &&
            token.type != ASSIGN_OR) {
            GosASTError::UnexpectedToken(token);
            return;
        }
        Expect(Cond);
    }

// Assembly:
subq $0x98, %rsp
movq %rdi, 0x90(%rsp)
movq %rsi, 0x88(%rsp)
movq 0x90(%rsp), %rdi
movq %rdi, 0x28(%rsp)
callq 0x1d1d40
movq 0x28(%rsp), %rax
leaq 0x137443(%rip), %rcx    # 0x3004e8
addq $0x10, %rcx
movq %rcx, (%rax)
movl $0x0, 0x8(%rax)
testb $0x1, 0x1391a6(%rip)    # 0x302260
je 0x1c90c1
jmp 0x1c928c
movq 0x28(%rsp), %rax
addq $0x10, %rax
movq %rax, 0x18(%rsp)
movl $0x60, %edi
callq 0x13110
movq %rax, 0x20(%rsp)
jmp 0x1c90e0
movq 0x20(%rsp), %rdi
movq 0x88(%rsp), %rsi
callq 0x1c7de0
jmp 0x1c90f4
movq 0x18(%rsp), %rdi
movq 0x20(%rsp), %rax
movq %rax, 0x80(%rsp)
leaq 0x80(%rsp), %rsi
callq 0x1d1cb0
jmp 0x1c9115
movq 0x88(%rsp), %rdi
callq 0x1c5260
movq %rax, 0x10(%rsp)
jmp 0x1c9129
movq 0x10(%rsp), %rsi
movq 0x28(%rsp), %rdi
addq $0x28, %rdi
callq 0x1d1da0
jmp 0x1c913e
movq 0x28(%rsp), %rax
cmpl $0xf, 0x28(%rax)
je 0x1c9240
movq 0x28(%rsp), %rax
cmpl $0x10, 0x28(%rax)
je 0x1c9240
movq 0x28(%rsp), %rax
cmpl $0x11, 0x28(%rax)
je 0x1c9240
movq 0x28(%rsp), %rax
cmpl $0x12, 0x28(%rax)
je 0x1c9240
movq 0x28(%rsp), %rax
cmpl $0x13, 0x28(%rax)
je 0x1c9240
movq 0x28(%rsp), %rax
cmpl $0x14, 0x28(%rax)
je 0x1c9240
movq 0x28(%rsp), %rax
cmpl $0x15, 0x28(%rax)
je 0x1c9240
movq 0x28(%rsp), %rax
cmpl $0x16, 0x28(%rax)
je 0x1c9240
movq 0x28(%rsp), %rax
cmpl $0x17, 0x28(%rax)
je 0x1c9240
movq 0x28(%rsp), %rsi
addq $0x28, %rsi
leaq 0x38(%rsp), %rdi
callq 0x1c5960
jmp 0x1c91d6
leaq 0x38(%rsp), %rdi
callq 0x1c68c0
jmp 0x1c91e2
leaq 0x38(%rsp), %rdi
callq 0x1c57d0
jmp 0x1c928c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x78(%rsp)
movl %eax, 0x74(%rsp)
jmp 0x1c92b1
movq 0x20(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x78(%rsp)
movl %eax, 0x74(%rsp)
movl $0x60, %esi
callq 0x130c0
jmp 0x1c92b1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x78(%rsp)
movl %eax, 0x74(%rsp)
leaq 0x38(%rsp), %rdi
callq 0x1c57d0
jmp 0x1c92b1
movq 0x28(%rsp), %rax
addq $0x10, %rax
movq %rax, (%rsp)
movl $0x60, %edi
callq 0x13110
movq %rax, 0x8(%rsp)
jmp 0x1c925e
movq 0x8(%rsp), %rdi
movq 0x88(%rsp), %rsi
callq 0x1c8d80
jmp 0x1c9272
movq (%rsp), %rdi
movq 0x8(%rsp), %rax
movq %rax, 0x30(%rsp)
leaq 0x30(%rsp), %rsi
callq 0x1d1cb0
jmp 0x1c928c
addq $0x98, %rsp
retq
movq 0x8(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x78(%rsp)
movl %eax, 0x74(%rsp)
movl $0x60, %esi
callq 0x130c0
movq 0x28(%rsp), %rdi
callq 0x1c6f10
movq 0x78(%rsp), %rdi
callq 0x133f0
nopw %cs:(%rax,%rax)
// File: Heptagon196[P]Gos/GosAST.cpp
// Function: Gos::AST::StatBlock::StatBlock(Gos::GosTokenizer&)
Build(StatBlock) {
        Log(StatBlock);
        tokenizer.EatToken(L_CURLY);
        token = tokenizer.GetToken();
        while (token.type != R_CURLY) {
            tokenizer.BackToken();
            Expect(Statement);
            if (gosASTHasError) {
                return;
            }
            token = tokenizer.GetToken();
        }
    }

// Assembly:
subq $0x58, %rsp
movq %rdi, 0x50(%rsp)
movq %rsi, 0x48(%rsp)
movq 0x50(%rsp), %rdi
movq %rdi, 0x28(%rsp)
callq 0x1d1d40
movq 0x28(%rsp), %rax
leaq 0x135d7f(%rip), %rcx    # 0x300608
addq $0x10, %rcx
movq %rcx, (%rax)
movl $0x0, 0x8(%rax)
testb $0x1, 0x1379c2(%rip)    # 0x302260
je 0x1ca8a5
jmp 0x1ca9a9
movq 0x48(%rsp), %rdi
movl $0x36, %esi
callq 0x1c5300
jmp 0x1ca8b6
movq 0x48(%rsp), %rdi
callq 0x1c5260
movq %rax, 0x20(%rsp)
jmp 0x1ca8c7
movq 0x20(%rsp), %rsi
movq 0x28(%rsp), %rdi
addq $0x28, %rdi
callq 0x1d1da0
jmp 0x1ca8dc
jmp 0x1ca8de
movq 0x28(%rsp), %rax
cmpl $0x37, 0x28(%rax)
je 0x1ca9a9
movq 0x48(%rsp), %rdi
callq 0x1c5530
jmp 0x1ca8f9
movq 0x28(%rsp), %rax
addq $0x10, %rax
movq %rax, 0x10(%rsp)
movl $0x60, %edi
callq 0x13110
movq %rax, 0x18(%rsp)
jmp 0x1ca918
movq 0x18(%rsp), %rdi
movq 0x48(%rsp), %rsi
callq 0x1c9980
jmp 0x1ca929
movq 0x10(%rsp), %rdi
movq 0x18(%rsp), %rax
movq %rax, 0x30(%rsp)
leaq 0x30(%rsp), %rsi
callq 0x1d1cb0
jmp 0x1ca944
testb $0x1, 0x137915(%rip)    # 0x302260
je 0x1ca97e
jmp 0x1ca9a9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x40(%rsp)
movl %eax, 0x3c(%rsp)
jmp 0x1ca9ae
movq 0x18(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x40(%rsp)
movl %eax, 0x3c(%rsp)
movl $0x60, %esi
callq 0x130c0
jmp 0x1ca9ae
movq 0x48(%rsp), %rdi
callq 0x1c5260
movq %rax, 0x8(%rsp)
jmp 0x1ca98f
movq 0x8(%rsp), %rsi
movq 0x28(%rsp), %rdi
addq $0x28, %rdi
callq 0x1d1da0
jmp 0x1ca9a4
jmp 0x1ca8de
addq $0x58, %rsp
retq
movq 0x28(%rsp), %rdi
callq 0x1c6f10
movq 0x40(%rsp), %rdi
callq 0x133f0
nopw %cs:(%rax,%rax)
// File: Heptagon196[P]Gos/GosAST.cpp
// Function: Gos::AST::DefArg::DefArg(Gos::GosTokenizer&)
Build(DefArg) {
        Log(DefArg);
        Expect(Symbol);
        tokenizer.EatToken(COLON);
        Expect(Symbol);
    }

// Assembly:
subq $0x58, %rsp
movq %rdi, 0x50(%rsp)
movq %rsi, 0x48(%rsp)
movq 0x50(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq 0x1d1d40
movq 0x20(%rsp), %rax
leaq 0x135c9f(%rip), %rcx    # 0x300698
addq $0x10, %rcx
movq %rcx, (%rax)
movl $0x0, 0x8(%rax)
testb $0x1, 0x137852(%rip)    # 0x302260
je 0x1caa15
jmp 0x1caaba
movq 0x20(%rsp), %rax
addq $0x10, %rax
movq %rax, 0x10(%rsp)
movl $0x60, %edi
callq 0x13110
movq %rax, 0x18(%rsp)
jmp 0x1caa34
movq 0x18(%rsp), %rdi
movq 0x48(%rsp), %rsi
callq 0x1c7030
jmp 0x1caa45
movq 0x10(%rsp), %rdi
movq 0x18(%rsp), %rax
movq %rax, 0x40(%rsp)
leaq 0x40(%rsp), %rsi
callq 0x1d1cb0
jmp 0x1caa60
movq 0x48(%rsp), %rdi
movl $0x30, %esi
callq 0x1c5300
jmp 0x1caa71
movq 0x20(%rsp), %rax
addq $0x10, %rax
movq %rax, (%rsp)
movl $0x60, %edi
callq 0x13110
movq %rax, 0x8(%rsp)
jmp 0x1caa8f
movq 0x8(%rsp), %rdi
movq 0x48(%rsp), %rsi
callq 0x1c7030
jmp 0x1caaa0
movq (%rsp), %rdi
movq 0x8(%rsp), %rax
movq %rax, 0x28(%rsp)
leaq 0x28(%rsp), %rsi
callq 0x1d1cb0
jmp 0x1caaba
addq $0x58, %rsp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x38(%rsp)
movl %eax, 0x34(%rsp)
jmp 0x1cab0b
movq 0x18(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x38(%rsp)
movl %eax, 0x34(%rsp)
movl $0x60, %esi
callq 0x130c0
jmp 0x1cab0b
movq 0x8(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x38(%rsp)
movl %eax, 0x34(%rsp)
movl $0x60, %esi
callq 0x130c0
movq 0x20(%rsp), %rdi
callq 0x1c6f10
movq 0x38(%rsp), %rdi
callq 0x133f0
nop
// File: Heptagon196[P]Gos/GosAST.cpp
// Function: Gos::AST::DefArgList::DefArgList(Gos::GosTokenizer&)
Build(DefArgList) {
        Log(DefArgList);
        Expect(DefArg);
        while (!tokenizer.IsEOF() && (token = tokenizer.GetToken()).type == COM) {
            Expect(DefArg);
        }
        tokenizer.BackToken();
    }

// Assembly:
subq $0x78, %rsp
movq %rdi, 0x70(%rsp)
movq %rsi, 0x68(%rsp)
movq 0x70(%rsp), %rdi
movq %rdi, 0x40(%rsp)
callq 0x1d1d40
movq 0x40(%rsp), %rax
leaq 0x135b97(%rip), %rcx    # 0x3006e0
addq $0x10, %rcx
movq %rcx, (%rax)
movl $0x0, 0x8(%rax)
testb $0x1, 0x137702(%rip)    # 0x302260
je 0x1cab65
jmp 0x1cacc4
movq 0x40(%rsp), %rax
addq $0x10, %rax
movq %rax, 0x30(%rsp)
movl $0x60, %edi
callq 0x13110
movq %rax, 0x38(%rsp)
jmp 0x1cab84
movq 0x38(%rsp), %rdi
movq 0x68(%rsp), %rsi
callq 0x1ca9d0
jmp 0x1cab95
movq 0x30(%rsp), %rdi
movq 0x38(%rsp), %rax
movq %rax, 0x60(%rsp)
leaq 0x60(%rsp), %rsi
callq 0x1d1cb0
jmp 0x1cabb0
jmp 0x1cabb2
movq 0x68(%rsp), %rdi
callq 0x1c5580
movb %al, 0x2f(%rsp)
jmp 0x1cabc2
movb 0x2f(%rsp), %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, 0x2e(%rsp)
jne 0x1cac0d
jmp 0x1cabd3
movq 0x68(%rsp), %rdi
callq 0x1c5260
movq %rax, 0x20(%rsp)
jmp 0x1cabe4
movq 0x20(%rsp), %rsi
movq 0x40(%rsp), %rdi
addq $0x28, %rdi
callq 0x1d1da0
movq %rax, 0x18(%rsp)
jmp 0x1cabfe
movq 0x18(%rsp), %rax
cmpl $0x2d, (%rax)
sete %al
movb %al, 0x2e(%rsp)
movb 0x2e(%rsp), %al
testb $0x1, %al
jne 0x1cac1a
jmp 0x1cacb8
movq 0x40(%rsp), %rax
addq $0x10, %rax
movq %rax, 0x8(%rsp)
movl $0x60, %edi
callq 0x13110
movq %rax, 0x10(%rsp)
jmp 0x1cac39
movq 0x10(%rsp), %rdi
movq 0x68(%rsp), %rsi
callq 0x1ca9d0
jmp 0x1cac4a
movq 0x8(%rsp), %rdi
movq 0x10(%rsp), %rax
movq %rax, 0x48(%rsp)
leaq 0x48(%rsp), %rsi
callq 0x1d1cb0
jmp 0x1cac65
jmp 0x1cabb2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x58(%rsp)
movl %eax, 0x54(%rsp)
jmp 0x1cacc9
movq 0x38(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x58(%rsp)
movl %eax, 0x54(%rsp)
movl $0x60, %esi
callq 0x130c0
jmp 0x1cacc9
movq 0x10(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x58(%rsp)
movl %eax, 0x54(%rsp)
movl $0x60, %esi
callq 0x130c0
jmp 0x1cacc9
movq 0x68(%rsp), %rdi
callq 0x1c5530
jmp 0x1cacc4
addq $0x78, %rsp
retq
movq 0x40(%rsp), %rdi
callq 0x1c6f10
movq 0x58(%rsp), %rdi
callq 0x133f0
nopl (%rax)
// File: Heptagon196[P]Gos/GosAST.cpp
// Function: Gos::AST::ArgsList::ArgsList(Gos::GosTokenizer&)
Build(ArgsList) {
        Log(ArgsList);
        Expect(Exp);
        while (!tokenizer.IsEOF() && (token = tokenizer.GetToken()).type == COM) {
            Expect(Exp);
        }
        tokenizer.BackToken();
    }

// Assembly:
subq $0x78, %rsp
movq %rdi, 0x70(%rsp)
movq %rsi, 0x68(%rsp)
movq 0x70(%rsp), %rdi
movq %rdi, 0x40(%rsp)
callq 0x1d1d40
movq 0x40(%rsp), %rax
leaq 0x135a1f(%rip), %rcx    # 0x300728
addq $0x10, %rcx
movq %rcx, (%rax)
movl $0x0, 0x8(%rax)
testb $0x1, 0x137542(%rip)    # 0x302260
je 0x1cad25
jmp 0x1cae84
movq 0x40(%rsp), %rax
addq $0x10, %rax
movq %rax, 0x30(%rsp)
movl $0x60, %edi
callq 0x13110
movq %rax, 0x38(%rsp)
jmp 0x1cad44
movq 0x38(%rsp), %rdi
movq 0x68(%rsp), %rsi
callq 0x1c92d0
jmp 0x1cad55
movq 0x30(%rsp), %rdi
movq 0x38(%rsp), %rax
movq %rax, 0x60(%rsp)
leaq 0x60(%rsp), %rsi
callq 0x1d1cb0
jmp 0x1cad70
jmp 0x1cad72
movq 0x68(%rsp), %rdi
callq 0x1c5580
movb %al, 0x2f(%rsp)
jmp 0x1cad82
movb 0x2f(%rsp), %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, 0x2e(%rsp)
jne 0x1cadcd
jmp 0x1cad93
movq 0x68(%rsp), %rdi
callq 0x1c5260
movq %rax, 0x20(%rsp)
jmp 0x1cada4
movq 0x20(%rsp), %rsi
movq 0x40(%rsp), %rdi
addq $0x28, %rdi
callq 0x1d1da0
movq %rax, 0x18(%rsp)
jmp 0x1cadbe
movq 0x18(%rsp), %rax
cmpl $0x2d, (%rax)
sete %al
movb %al, 0x2e(%rsp)
movb 0x2e(%rsp), %al
testb $0x1, %al
jne 0x1cadda
jmp 0x1cae78
movq 0x40(%rsp), %rax
addq $0x10, %rax
movq %rax, 0x8(%rsp)
movl $0x60, %edi
callq 0x13110
movq %rax, 0x10(%rsp)
jmp 0x1cadf9
movq 0x10(%rsp), %rdi
movq 0x68(%rsp), %rsi
callq 0x1c92d0
jmp 0x1cae0a
movq 0x8(%rsp), %rdi
movq 0x10(%rsp), %rax
movq %rax, 0x48(%rsp)
leaq 0x48(%rsp), %rsi
callq 0x1d1cb0
jmp 0x1cae25
jmp 0x1cad72
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x58(%rsp)
movl %eax, 0x54(%rsp)
jmp 0x1cae89
movq 0x38(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x58(%rsp)
movl %eax, 0x54(%rsp)
movl $0x60, %esi
callq 0x130c0
jmp 0x1cae89
movq 0x10(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x58(%rsp)
movl %eax, 0x54(%rsp)
movl $0x60, %esi
callq 0x130c0
jmp 0x1cae89
movq 0x68(%rsp), %rdi
callq 0x1c5530
jmp 0x1cae84
addq $0x78, %rsp
retq
movq 0x40(%rsp), %rdi
callq 0x1c6f10
movq 0x58(%rsp), %rdi
callq 0x133f0
nopl (%rax)
// File: Heptagon196[P]Gos/GosAST.cpp
// Function: Gos::AST::IDList::IDList(Gos::GosTokenizer&)
Build(IDList) {
        Log(IDList);
        Expect(Symbol);
        while (!tokenizer.IsEOF() && (token = tokenizer.GetToken()).type == COM) {
            Expect(Symbol);
        }
        tokenizer.BackToken();
    }

// Assembly:
subq $0x78, %rsp
movq %rdi, 0x70(%rsp)
movq %rsi, 0x68(%rsp)
movq 0x70(%rsp), %rdi
movq %rdi, 0x40(%rsp)
callq 0x1d1d40
movq 0x40(%rsp), %rax
leaq 0x134adf(%rip), %rcx    # 0x3007b8
addq $0x10, %rcx
movq %rcx, (%rax)
movl $0x0, 0x8(%rax)
testb $0x1, 0x136572(%rip)    # 0x302260
je 0x1cbcf5
jmp 0x1cbe54
movq 0x40(%rsp), %rax
addq $0x10, %rax
movq %rax, 0x30(%rsp)
movl $0x60, %edi
callq 0x13110
movq %rax, 0x38(%rsp)
jmp 0x1cbd14
movq 0x38(%rsp), %rdi
movq 0x68(%rsp), %rsi
callq 0x1c7030
jmp 0x1cbd25
movq 0x30(%rsp), %rdi
movq 0x38(%rsp), %rax
movq %rax, 0x60(%rsp)
leaq 0x60(%rsp), %rsi
callq 0x1d1cb0
jmp 0x1cbd40
jmp 0x1cbd42
movq 0x68(%rsp), %rdi
callq 0x1c5580
movb %al, 0x2f(%rsp)
jmp 0x1cbd52
movb 0x2f(%rsp), %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, 0x2e(%rsp)
jne 0x1cbd9d
jmp 0x1cbd63
movq 0x68(%rsp), %rdi
callq 0x1c5260
movq %rax, 0x20(%rsp)
jmp 0x1cbd74
movq 0x20(%rsp), %rsi
movq 0x40(%rsp), %rdi
addq $0x28, %rdi
callq 0x1d1da0
movq %rax, 0x18(%rsp)
jmp 0x1cbd8e
movq 0x18(%rsp), %rax
cmpl $0x2d, (%rax)
sete %al
movb %al, 0x2e(%rsp)
movb 0x2e(%rsp), %al
testb $0x1, %al
jne 0x1cbdaa
jmp 0x1cbe48
movq 0x40(%rsp), %rax
addq $0x10, %rax
movq %rax, 0x8(%rsp)
movl $0x60, %edi
callq 0x13110
movq %rax, 0x10(%rsp)
jmp 0x1cbdc9
movq 0x10(%rsp), %rdi
movq 0x68(%rsp), %rsi
callq 0x1c7030
jmp 0x1cbdda
movq 0x8(%rsp), %rdi
movq 0x10(%rsp), %rax
movq %rax, 0x48(%rsp)
leaq 0x48(%rsp), %rsi
callq 0x1d1cb0
jmp 0x1cbdf5
jmp 0x1cbd42
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x58(%rsp)
movl %eax, 0x54(%rsp)
jmp 0x1cbe59
movq 0x38(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x58(%rsp)
movl %eax, 0x54(%rsp)
movl $0x60, %esi
callq 0x130c0
jmp 0x1cbe59
movq 0x10(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x58(%rsp)
movl %eax, 0x54(%rsp)
movl $0x60, %esi
callq 0x130c0
jmp 0x1cbe59
movq 0x68(%rsp), %rdi
callq 0x1c5530
jmp 0x1cbe54
addq $0x78, %rsp
retq
movq 0x40(%rsp), %rdi
callq 0x1c6f10
movq 0x58(%rsp), %rdi
callq 0x133f0
nopl (%rax)
// File: Heptagon196[P]Gos/GosAST.cpp
// Function: Gos::AST::SingleAttr::SingleAttr(Gos::GosTokenizer&)
Build(SingleAttr) {
        Log(SingleAttr);
        Expect(Symbol);
        token = tokenizer.GetToken();
        if (token.type == L_ROUND) {
            token = tokenizer.GetToken();
            if (token.type != R_ROUND) {
                tokenizer.BackToken();
                Expect(IDList);
                tokenizer.EatToken(R_ROUND);
            }
        } else {
            tokenizer.BackToken();
        }
    }

// Assembly:
subq $0x68, %rsp
movq %rdi, 0x60(%rsp)
movq %rsi, 0x58(%rsp)
movq 0x60(%rsp), %rdi
movq %rdi, 0x30(%rsp)
callq 0x1d1d40
movq 0x30(%rsp), %rax
leaq 0x134967(%rip), %rcx    # 0x300800
addq $0x10, %rcx
movq %rcx, (%rax)
movl $0x0, 0x8(%rax)
testb $0x1, 0x1363b2(%rip)    # 0x302260
je 0x1cbeb5
jmp 0x1cc030
movq 0x30(%rsp), %rax
addq $0x10, %rax
movq %rax, 0x20(%rsp)
movl $0x60, %edi
callq 0x13110
movq %rax, 0x28(%rsp)
jmp 0x1cbed4
movq 0x28(%rsp), %rdi
movq 0x58(%rsp), %rsi
callq 0x1c7030
jmp 0x1cbee5
movq 0x20(%rsp), %rdi
movq 0x28(%rsp), %rax
movq %rax, 0x50(%rsp)
leaq 0x50(%rsp), %rsi
callq 0x1d1cb0
jmp 0x1cbf00
movq 0x58(%rsp), %rdi
callq 0x1c5260
movq %rax, 0x18(%rsp)
jmp 0x1cbf11
movq 0x18(%rsp), %rsi
movq 0x30(%rsp), %rdi
addq $0x28, %rdi
callq 0x1d1da0
jmp 0x1cbf26
movq 0x30(%rsp), %rax
cmpl $0x32, 0x28(%rax)
jne 0x1cc022
movq 0x58(%rsp), %rdi
callq 0x1c5260
movq %rax, 0x10(%rsp)
jmp 0x1cbf46
movq 0x10(%rsp), %rsi
movq 0x30(%rsp), %rdi
addq $0x28, %rdi
callq 0x1d1da0
jmp 0x1cbf5b
movq 0x30(%rsp), %rax
cmpl $0x33, 0x28(%rax)
je 0x1cc020
movq 0x58(%rsp), %rdi
callq 0x1c5530
jmp 0x1cbf76
movq 0x30(%rsp), %rax
addq $0x10, %rax
movq %rax, (%rsp)
movl $0x60, %edi
callq 0x13110
movq %rax, 0x8(%rsp)
jmp 0x1cbf94
movq 0x8(%rsp), %rdi
movq 0x58(%rsp), %rsi
callq 0x1cbcb0
jmp 0x1cbfa5
movq (%rsp), %rdi
movq 0x8(%rsp), %rax
movq %rax, 0x38(%rsp)
leaq 0x38(%rsp), %rsi
callq 0x1d1cb0
jmp 0x1cbfbf
movq 0x58(%rsp), %rdi
movl $0x33, %esi
callq 0x1c5300
jmp 0x1cbfd0
jmp 0x1cc020
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x48(%rsp)
movl %eax, 0x44(%rsp)
jmp 0x1cc035
movq 0x28(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x48(%rsp)
movl %eax, 0x44(%rsp)
movl $0x60, %esi
callq 0x130c0
jmp 0x1cc035
movq 0x8(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x48(%rsp)
movl %eax, 0x44(%rsp)
movl $0x60, %esi
callq 0x130c0
jmp 0x1cc035
jmp 0x1cc030
movq 0x58(%rsp), %rdi
callq 0x1c5530
jmp 0x1cc02e
jmp 0x1cc030
addq $0x68, %rsp
retq
movq 0x30(%rsp), %rdi
callq 0x1c6f10
movq 0x48(%rsp), %rdi
callq 0x133f0
nopl (%rax)
// File: Heptagon196[P]Gos/GosAST.cpp
// Function: Gos::AST::Attribute::Attribute(Gos::GosTokenizer&)
Build(Attribute) {
        Log(Attribute);
        tokenizer.EatToken(L_SQUARE);
        Expect(SingleAttr);
        while (!tokenizer.IsEOF() && (token = tokenizer.GetToken()).type != R_SQUARE) {
            if (token.type != COM) {
                GosASTError::ErrorToken(token, { COM, token.line });
                return;
            }
            Expect(SingleAttr);
        }
    }

// Assembly:
subq $0xe8, %rsp
movq %rdi, 0xe0(%rsp)
movq %rsi, 0xd8(%rsp)
movq 0xe0(%rsp), %rdi
movq %rdi, 0x40(%rsp)
callq 0x1d1d40
movq 0x40(%rsp), %rax
leaq 0x1347c3(%rip), %rcx    # 0x300848
addq $0x10, %rcx
movq %rcx, (%rax)
movl $0x0, 0x8(%rax)
testb $0x1, 0x1361c6(%rip)    # 0x302260
je 0x1cc0a1
jmp 0x1cc2e8
movq 0xd8(%rsp), %rdi
movl $0x34, %esi
callq 0x1c5300
jmp 0x1cc0b5
movq 0x40(%rsp), %rax
addq $0x10, %rax
movq %rax, 0x30(%rsp)
movl $0x60, %edi
callq 0x13110
movq %rax, 0x38(%rsp)
jmp 0x1cc0d4
movq 0x38(%rsp), %rdi
movq 0xd8(%rsp), %rsi
callq 0x1cbe70
jmp 0x1cc0e8
movq 0x30(%rsp), %rdi
movq 0x38(%rsp), %rax
movq %rax, 0xc0(%rsp)
leaq 0xc0(%rsp), %rsi
callq 0x1d1cb0
jmp 0x1cc109
jmp 0x1cc10b
movq 0xd8(%rsp), %rdi
callq 0x1c5580
movb %al, 0x2f(%rsp)
jmp 0x1cc11e
movb 0x2f(%rsp), %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, 0x2e(%rsp)
jne 0x1cc16c
jmp 0x1cc12f
movq 0xd8(%rsp), %rdi
callq 0x1c5260
movq %rax, 0x20(%rsp)
jmp 0x1cc143
movq 0x20(%rsp), %rsi
movq 0x40(%rsp), %rdi
addq $0x28, %rdi
callq 0x1d1da0
movq %rax, 0x18(%rsp)
jmp 0x1cc15d
movq 0x18(%rsp), %rax
cmpl $0x35, (%rax)
setne %al
movb %al, 0x2e(%rsp)
movb 0x2e(%rsp), %al
testb $0x1, %al
jne 0x1cc179
jmp 0x1cc2e8
movq 0x40(%rsp), %rax
cmpl $0x2d, 0x28(%rax)
je 0x1cc270
movq 0x40(%rsp), %rsi
addq $0x28, %rsi
leaq 0x88(%rsp), %rdi
callq 0x1c5960
jmp 0x1cc1a0
movq 0x40(%rsp), %rax
movl 0x2c(%rax), %edx
leaq 0x50(%rsp), %rdi
movl $0x2d, %esi
callq 0x1c3940
jmp 0x1cc1b9
leaq 0x88(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x1c69d0
jmp 0x1cc1cd
leaq 0x50(%rsp), %rdi
callq 0x1c57d0
leaq 0x88(%rsp), %rdi
callq 0x1c57d0
jmp 0x1cc2e8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd0(%rsp)
movl %eax, 0xcc(%rsp)
jmp 0x1cc2f0
movq 0x38(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd0(%rsp)
movl %eax, 0xcc(%rsp)
movl $0x60, %esi
callq 0x130c0
jmp 0x1cc2f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd0(%rsp)
movl %eax, 0xcc(%rsp)
jmp 0x1cc25e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd0(%rsp)
movl %eax, 0xcc(%rsp)
leaq 0x50(%rsp), %rdi
callq 0x1c57d0
leaq 0x88(%rsp), %rdi
callq 0x1c57d0
jmp 0x1cc2f0
movq 0x40(%rsp), %rax
addq $0x10, %rax
movq %rax, 0x8(%rsp)
movl $0x60, %edi
callq 0x13110
movq %rax, 0x10(%rsp)
jmp 0x1cc28f
movq 0x10(%rsp), %rdi
movq 0xd8(%rsp), %rsi
callq 0x1cbe70
jmp 0x1cc2a3
movq 0x8(%rsp), %rdi
movq 0x10(%rsp), %rax
movq %rax, 0x48(%rsp)
leaq 0x48(%rsp), %rsi
callq 0x1d1cb0
jmp 0x1cc2be
jmp 0x1cc10b
movq 0x10(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd0(%rsp)
movl %eax, 0xcc(%rsp)
movl $0x60, %esi
callq 0x130c0
jmp 0x1cc2f0
addq $0xe8, %rsp
retq
movq 0x40(%rsp), %rdi
callq 0x1c6f10
movq 0xd0(%rsp), %rdi
callq 0x133f0
nopw (%rax,%rax)
// File: Heptagon196[P]Gos/GosAST.cpp
// Function: Gos::AST::Empty::PrintAST(int)
Print(Empty) {
        PrintIndent();
        std::cout << "-";
        PrintToken();
        PrintNodes();
    }

// Assembly:
subq $0x88, %rsp
movq %rdi, 0x80(%rsp)
movl %esi, 0x7c(%rsp)
movq 0x80(%rsp), %rax
movq %rax, 0x20(%rsp)
movl $0x0, 0x78(%rsp)
movl 0x78(%rsp), %eax
cmpl 0x7c(%rsp), %eax
jge 0x1cc7f2
movq 0x1347e7(%rip), %rdi    # 0x300fc0
leaq 0x544e4(%rip), %rsi     # 0x220cc4
callq 0x13380
movl 0x78(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x78(%rsp)
jmp 0x1cc7c8
movq 0x1347c7(%rip), %rdi    # 0x300fc0
movq %rdi, 0x8(%rsp)
leaq 0x5436b(%rip), %rsi     # 0x220b70
callq 0x13380
movq 0x8(%rsp), %rdi
leaq 0x544af(%rip), %rsi     # 0x220cc5
callq 0x13380
movq 0x20(%rsp), %rsi
movq %rax, 0x10(%rsp)
addq $0x28, %rsi
leaq 0x58(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0x1c3a10
movq 0x10(%rsp), %rdi
movq 0x18(%rsp), %rsi
callq 0x131a0
jmp 0x1cc849
leaq 0x58(%rsp), %rdi
callq 0x52f50
movq 0x134766(%rip), %rdi    # 0x300fc0
movq 0x13477f(%rip), %rsi    # 0x300fe0
callq 0x135d0
movq 0x20(%rsp), %rax
addq $0x10, %rax
movq %rax, 0x40(%rsp)
movq 0x40(%rsp), %rdi
callq 0x1d1b70
movq %rax, 0x38(%rsp)
movq 0x40(%rsp), %rdi
callq 0x1d1ba0
movq %rax, 0x30(%rsp)
leaq 0x38(%rsp), %rdi
leaq 0x30(%rsp), %rsi
callq 0x1d1bd0
xorb $-0x1, %al
testb $0x1, %al
jne 0x1cc8a9
jmp 0x1cc8f3
leaq 0x38(%rsp), %rdi
callq 0x1d1c10
movq (%rax), %rax
movq %rax, 0x28(%rsp)
movq 0x28(%rsp), %rdi
movl 0x7c(%rsp), %esi
addl $0x1, %esi
movq (%rdi), %rax
callq *0x8(%rax)
leaq 0x38(%rsp), %rdi
callq 0x1d1c20
jmp 0x1cc892
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x50(%rsp)
movl %eax, 0x4c(%rsp)
leaq 0x58(%rsp), %rdi
callq 0x52f50
jmp 0x1cc8fb
addq $0x88, %rsp
retq
movq 0x50(%rsp), %rdi
callq 0x133f0
nopw %cs:(%rax,%rax)
// File: Heptagon196[P]Gos/GosAST.cpp
// Function: Gos::AST::Symbol::PrintAST(int)
Print(Symbol) {
        PrintIndent();
        PrintName();
        PrintToken();
        PrintNodes();
    }

// Assembly:
subq $0x118, %rsp            # imm = 0x118
movq %rdi, 0x110(%rsp)
movl %esi, 0x10c(%rsp)
movq 0x110(%rsp), %rax
movq %rax, 0x38(%rsp)
movl $0x0, 0x108(%rsp)
movl 0x108(%rsp), %eax
cmpl 0x10c(%rsp), %eax
jge 0x1cc974
movq 0x13466b(%rip), %rdi    # 0x300fc0
leaq 0x54368(%rip), %rsi     # 0x220cc4
callq 0x13380
movl 0x108(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x108(%rsp)
jmp 0x1cc93e
leaq 0xb8(%rsp), %rdi
movq %rdi, 0x28(%rsp)
callq 0x1d1f00
movq 0x28(%rsp), %rdi
callq 0x2b420
movq %rax, 0xd8(%rsp)
movq %rdx, 0xe0(%rsp)
leaq 0xb7(%rsp), %rdi
movq %rdi, 0x30(%rsp)
callq 0x13570
movq 0x30(%rsp), %rdx
leaq 0xe8(%rsp), %rdi
leaq 0xd8(%rsp), %rsi
callq 0x52e80
jmp 0x1cc9ce
leaq 0xb7(%rsp), %rdi
callq 0x136a0
leaq 0xe8(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq 0x55b20
movq 0x20(%rsp), %rsi
movq %rax, %rcx
addq $-0xb, %rcx
leaq 0x80(%rsp), %rdi
movl $0xa, %edx
callq 0x1b4b20
jmp 0x1cca0d
leaq 0xe8(%rsp), %rdi
movq %rdi, 0x18(%rsp)
leaq 0x80(%rsp), %rsi
movq %rsi, 0x10(%rsp)
callq 0x7b460
movq 0x10(%rsp), %rdi
callq 0x52f50
movq 0x18(%rsp), %rsi
movq 0x13457e(%rip), %rdi    # 0x300fc0
callq 0x131a0
jmp 0x1cca49
movq 0x134570(%rip), %rdi    # 0x300fc0
leaq 0x5426e(%rip), %rsi     # 0x220cc5
callq 0x13380
movq %rax, 0x8(%rsp)
jmp 0x1cca63
movq 0x38(%rsp), %rsi
addq $0x28, %rsi
leaq 0x60(%rsp), %rdi
callq 0x1c3a10
jmp 0x1cca78
movq 0x8(%rsp), %rdi
leaq 0x60(%rsp), %rsi
callq 0x131a0
jmp 0x1cca89
leaq 0x60(%rsp), %rdi
callq 0x52f50
movq 0x134526(%rip), %rdi    # 0x300fc0
movq 0x13453f(%rip), %rsi    # 0x300fe0
callq 0x135d0
jmp 0x1ccaa8
movq 0x38(%rsp), %rax
addq $0x10, %rax
movq %rax, 0x58(%rsp)
movq 0x58(%rsp), %rdi
callq 0x1d1b70
movq %rax, 0x50(%rsp)
movq 0x58(%rsp), %rdi
callq 0x1d1ba0
movq %rax, 0x48(%rsp)
leaq 0x50(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x1d1bd0
xorb $-0x1, %al
testb $0x1, %al
jne 0x1ccaee
jmp 0x1ccb80
leaq 0x50(%rsp), %rdi
callq 0x1d1c10
movq (%rax), %rax
movq %rax, 0x40(%rsp)
movq 0x40(%rsp), %rdi
movl 0x10c(%rsp), %esi
incl %esi
movq (%rdi), %rax
movq 0x8(%rax), %rax
callq *%rax
jmp 0x1ccb19
jmp 0x1ccb1b
leaq 0x50(%rsp), %rdi
callq 0x1d1c20
jmp 0x1ccad4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa8(%rsp)
movl %eax, 0xa4(%rsp)
leaq 0xb7(%rsp), %rdi
callq 0x136a0
jmp 0x1ccba2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa8(%rsp)
movl %eax, 0xa4(%rsp)
jmp 0x1ccb95
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa8(%rsp)
movl %eax, 0xa4(%rsp)
leaq 0x60(%rsp), %rdi
callq 0x52f50
jmp 0x1ccb95
leaq 0xe8(%rsp), %rdi
callq 0x52f50
addq $0x118, %rsp            # imm = 0x118
retq
leaq 0xe8(%rsp), %rdi
callq 0x52f50
movq 0xa8(%rsp), %rdi
callq 0x133f0
nop
// File: Heptagon196[P]Gos/GosAST.cpp
// Function: Gos::AST::String::PrintAST(int)
Print(String) {
        PrintIndent();
        PrintName();
        PrintToken();
        PrintNodes();
    }

// Assembly:
subq $0x118, %rsp            # imm = 0x118
movq %rdi, 0x110(%rsp)
movl %esi, 0x10c(%rsp)
movq 0x110(%rsp), %rax
movq %rax, 0x38(%rsp)
movl $0x0, 0x108(%rsp)
movl 0x108(%rsp), %eax
cmpl 0x10c(%rsp), %eax
jge 0x1cceb4
movq 0x13412b(%rip), %rdi    # 0x300fc0
leaq 0x53e28(%rip), %rsi     # 0x220cc4
callq 0x13380
movl 0x108(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x108(%rsp)
jmp 0x1cce7e
leaq 0xb8(%rsp), %rdi
movq %rdi, 0x28(%rsp)
callq 0x1d2020
movq 0x28(%rsp), %rdi
callq 0x2b420
movq %rax, 0xd8(%rsp)
movq %rdx, 0xe0(%rsp)
leaq 0xb7(%rsp), %rdi
movq %rdi, 0x30(%rsp)
callq 0x13570
movq 0x30(%rsp), %rdx
leaq 0xe8(%rsp), %rdi
leaq 0xd8(%rsp), %rsi
callq 0x52e80
jmp 0x1ccf0e
leaq 0xb7(%rsp), %rdi
callq 0x136a0
leaq 0xe8(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq 0x55b20
movq 0x20(%rsp), %rsi
movq %rax, %rcx
addq $-0xb, %rcx
leaq 0x80(%rsp), %rdi
movl $0xa, %edx
callq 0x1b4b20
jmp 0x1ccf4d
leaq 0xe8(%rsp), %rdi
movq %rdi, 0x18(%rsp)
leaq 0x80(%rsp), %rsi
movq %rsi, 0x10(%rsp)
callq 0x7b460
movq 0x10(%rsp), %rdi
callq 0x52f50
movq 0x18(%rsp), %rsi
movq 0x13403e(%rip), %rdi    # 0x300fc0
callq 0x131a0
jmp 0x1ccf89
movq 0x134030(%rip), %rdi    # 0x300fc0
leaq 0x53d2e(%rip), %rsi     # 0x220cc5
callq 0x13380
movq %rax, 0x8(%rsp)
jmp 0x1ccfa3
movq 0x38(%rsp), %rsi
addq $0x28, %rsi
leaq 0x60(%rsp), %rdi
callq 0x1c3a10
jmp 0x1ccfb8
movq 0x8(%rsp), %rdi
leaq 0x60(%rsp), %rsi
callq 0x131a0
jmp 0x1ccfc9
leaq 0x60(%rsp), %rdi
callq 0x52f50
movq 0x133fe6(%rip), %rdi    # 0x300fc0
movq 0x133fff(%rip), %rsi    # 0x300fe0
callq 0x135d0
jmp 0x1ccfe8
movq 0x38(%rsp), %rax
addq $0x10, %rax
movq %rax, 0x58(%rsp)
movq 0x58(%rsp), %rdi
callq 0x1d1b70
movq %rax, 0x50(%rsp)
movq 0x58(%rsp), %rdi
callq 0x1d1ba0
movq %rax, 0x48(%rsp)
leaq 0x50(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x1d1bd0
xorb $-0x1, %al
testb $0x1, %al
jne 0x1cd02e
jmp 0x1cd0c0
leaq 0x50(%rsp), %rdi
callq 0x1d1c10
movq (%rax), %rax
movq %rax, 0x40(%rsp)
movq 0x40(%rsp), %rdi
movl 0x10c(%rsp), %esi
incl %esi
movq (%rdi), %rax
movq 0x8(%rax), %rax
callq *%rax
jmp 0x1cd059
jmp 0x1cd05b
leaq 0x50(%rsp), %rdi
callq 0x1d1c20
jmp 0x1cd014
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa8(%rsp)
movl %eax, 0xa4(%rsp)
leaq 0xb7(%rsp), %rdi
callq 0x136a0
jmp 0x1cd0e2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa8(%rsp)
movl %eax, 0xa4(%rsp)
jmp 0x1cd0d5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa8(%rsp)
movl %eax, 0xa4(%rsp)
leaq 0x60(%rsp), %rdi
callq 0x52f50
jmp 0x1cd0d5
leaq 0xe8(%rsp), %rdi
callq 0x52f50
addq $0x118, %rsp            # imm = 0x118
retq
leaq 0xe8(%rsp), %rdi
callq 0x52f50
movq 0xa8(%rsp), %rdi
callq 0x133f0
nop
// File: Heptagon196[P]Gos/GosAST.cpp
// Function: Gos::AST::Primary::PrintAST(int)
Print(Primary) {
        SkipIf(token.type != L_SQUARE);
        PrintIndent();
        PrintName();
        PrintNodes();
    }

// Assembly:
subq $0xe8, %rsp
movq %rdi, 0xe0(%rsp)
movl %esi, 0xdc(%rsp)
movq 0xe0(%rsp), %rdi
movq %rdi, 0x28(%rsp)
addq $0x10, %rdi
callq 0x1d1e80
cmpq $0x0, %rax
jbe 0x1cd154
movq 0x28(%rsp), %rax
cmpl $0x34, 0x28(%rax)
je 0x1cd154
movq 0x28(%rsp), %rdi
addq $0x10, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x1d1e60
movq (%rax), %rdi
movl 0xdc(%rsp), %esi
movq (%rdi), %rax
callq *0x8(%rax)
jmp 0x1cd33a
movl $0x0, 0xd8(%rsp)
movl 0xd8(%rsp), %eax
cmpl 0xdc(%rsp), %eax
jge 0x1cd195
movq 0x133e4a(%rip), %rdi    # 0x300fc0
leaq 0x53b47(%rip), %rsi     # 0x220cc4
callq 0x13380
movl 0xd8(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xd8(%rsp)
jmp 0x1cd15f
leaq 0x88(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0x1d20b0
movq 0x18(%rsp), %rdi
callq 0x2b420
movq %rax, 0xa8(%rsp)
movq %rdx, 0xb0(%rsp)
leaq 0x87(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq 0x13570
movq 0x20(%rsp), %rdx
leaq 0xb8(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
callq 0x52e80
jmp 0x1cd1ef
leaq 0x87(%rsp), %rdi
callq 0x136a0
leaq 0xb8(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq 0x55b20
movq 0x10(%rsp), %rsi
movq %rax, %rcx
addq $-0xb, %rcx
leaq 0x50(%rsp), %rdi
movl $0xa, %edx
callq 0x1b4b20
jmp 0x1cd22b
leaq 0xb8(%rsp), %rdi
movq %rdi, 0x8(%rsp)
leaq 0x50(%rsp), %rsi
movq %rsi, (%rsp)
callq 0x7b460
movq (%rsp), %rdi
callq 0x52f50
movq 0x8(%rsp), %rsi
movq 0x133d65(%rip), %rdi    # 0x300fc0
callq 0x131a0
jmp 0x1cd262
movq 0x133d57(%rip), %rdi    # 0x300fc0
movq 0x133d70(%rip), %rsi    # 0x300fe0
callq 0x135d0
jmp 0x1cd277
movq 0x28(%rsp), %rax
addq $0x10, %rax
movq %rax, 0x48(%rsp)
movq 0x48(%rsp), %rdi
callq 0x1d1b70
movq %rax, 0x40(%rsp)
movq 0x48(%rsp), %rdi
callq 0x1d1ba0
movq %rax, 0x38(%rsp)
leaq 0x40(%rsp), %rdi
leaq 0x38(%rsp), %rsi
callq 0x1d1bd0
xorb $-0x1, %al
testb $0x1, %al
jne 0x1cd2ba
jmp 0x1cd32d
leaq 0x40(%rsp), %rdi
callq 0x1d1c10
movq (%rax), %rax
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rdi
movl 0xdc(%rsp), %esi
incl %esi
movq (%rdi), %rax
movq 0x8(%rax), %rax
callq *%rax
jmp 0x1cd2e5
jmp 0x1cd2e7
leaq 0x40(%rsp), %rdi
callq 0x1d1c20
jmp 0x1cd2a3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x78(%rsp)
movl %eax, 0x74(%rsp)
leaq 0x87(%rsp), %rdi
callq 0x136a0
jmp 0x1cd342
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x78(%rsp)
movl %eax, 0x74(%rsp)
leaq 0xb8(%rsp), %rdi
callq 0x52f50
jmp 0x1cd342
leaq 0xb8(%rsp), %rdi
callq 0x52f50
addq $0xe8, %rsp
retq
movq 0x78(%rsp), %rdi
callq 0x133f0
nopl (%rax)
// File: Heptagon196[P]Gos/GosAST.cpp
// Function: Gos::AST::PostFix::PrintAST(int)
Print(PostFix) {
        SkipIf(nodes.size() == 1);
        PrintIndent();
        PrintName();
        PrintToken();
        PrintNodes();
    }

// Assembly:
subq $0x118, %rsp            # imm = 0x118
movq %rdi, 0x110(%rsp)
movl %esi, 0x10c(%rsp)
movq 0x110(%rsp), %rdi
movq %rdi, 0x38(%rsp)
addq $0x10, %rdi
callq 0x1d1e80
cmpq $0x0, %rax
jbe 0x1cd3bd
movq 0x38(%rsp), %rdi
addq $0x10, %rdi
callq 0x1d1e80
cmpq $0x1, %rax
jne 0x1cd3bd
movq 0x38(%rsp), %rdi
addq $0x10, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x1d1e60
movq (%rax), %rdi
movl 0x10c(%rsp), %esi
movq (%rdi), %rax
callq *0x8(%rax)
jmp 0x1cd617
movl $0x0, 0x108(%rsp)
movl 0x108(%rsp), %eax
cmpl 0x10c(%rsp), %eax
jge 0x1cd3fe
movq 0x133be1(%rip), %rdi    # 0x300fc0
leaq 0x538de(%rip), %rsi     # 0x220cc4
callq 0x13380
movl 0x108(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x108(%rsp)
jmp 0x1cd3c8
leaq 0xb8(%rsp), %rdi
movq %rdi, 0x28(%rsp)
callq 0x1d2140
movq 0x28(%rsp), %rdi
callq 0x2b420
movq %rax, 0xd8(%rsp)
movq %rdx, 0xe0(%rsp)
leaq 0xb7(%rsp), %rdi
movq %rdi, 0x30(%rsp)
callq 0x13570
movq 0x30(%rsp), %rdx
leaq 0xe8(%rsp), %rdi
leaq 0xd8(%rsp), %rsi
callq 0x52e80
jmp 0x1cd458
leaq 0xb7(%rsp), %rdi
callq 0x136a0
leaq 0xe8(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq 0x55b20
movq 0x20(%rsp), %rsi
movq %rax, %rcx
addq $-0xb, %rcx
leaq 0x80(%rsp), %rdi
movl $0xa, %edx
callq 0x1b4b20
jmp 0x1cd497
leaq 0xe8(%rsp), %rdi
movq %rdi, 0x18(%rsp)
leaq 0x80(%rsp), %rsi
movq %rsi, 0x10(%rsp)
callq 0x7b460
movq 0x10(%rsp), %rdi
callq 0x52f50
movq 0x18(%rsp), %rsi
movq 0x133af4(%rip), %rdi    # 0x300fc0
callq 0x131a0
jmp 0x1cd4d3
movq 0x133ae6(%rip), %rdi    # 0x300fc0
leaq 0x537e4(%rip), %rsi     # 0x220cc5
callq 0x13380
movq %rax, 0x8(%rsp)
jmp 0x1cd4ed
movq 0x38(%rsp), %rsi
addq $0x28, %rsi
leaq 0x60(%rsp), %rdi
callq 0x1c3a10
jmp 0x1cd502
movq 0x8(%rsp), %rdi
leaq 0x60(%rsp), %rsi
callq 0x131a0
jmp 0x1cd513
leaq 0x60(%rsp), %rdi
callq 0x52f50
movq 0x133a9c(%rip), %rdi    # 0x300fc0
movq 0x133ab5(%rip), %rsi    # 0x300fe0
callq 0x135d0
jmp 0x1cd532
movq 0x38(%rsp), %rax
addq $0x10, %rax
movq %rax, 0x58(%rsp)
movq 0x58(%rsp), %rdi
callq 0x1d1b70
movq %rax, 0x50(%rsp)
movq 0x58(%rsp), %rdi
callq 0x1d1ba0
movq %rax, 0x48(%rsp)
leaq 0x50(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x1d1bd0
xorb $-0x1, %al
testb $0x1, %al
jne 0x1cd578
jmp 0x1cd60a
leaq 0x50(%rsp), %rdi
callq 0x1d1c10
movq (%rax), %rax
movq %rax, 0x40(%rsp)
movq 0x40(%rsp), %rdi
movl 0x10c(%rsp), %esi
incl %esi
movq (%rdi), %rax
movq 0x8(%rax), %rax
callq *%rax
jmp 0x1cd5a3
jmp 0x1cd5a5
leaq 0x50(%rsp), %rdi
callq 0x1d1c20
jmp 0x1cd55e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa8(%rsp)
movl %eax, 0xa4(%rsp)
leaq 0xb7(%rsp), %rdi
callq 0x136a0
jmp 0x1cd62c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa8(%rsp)
movl %eax, 0xa4(%rsp)
jmp 0x1cd61f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa8(%rsp)
movl %eax, 0xa4(%rsp)
leaq 0x60(%rsp), %rdi
callq 0x52f50
jmp 0x1cd61f
leaq 0xe8(%rsp), %rdi
callq 0x52f50
addq $0x118, %rsp            # imm = 0x118
retq
leaq 0xe8(%rsp), %rdi
callq 0x52f50
movq 0xa8(%rsp), %rdi
callq 0x133f0
nopl (%rax)
// File: Heptagon196[P]Gos/GosAST.cpp
// Function: Gos::AST::Cast::PrintAST(int)
Print(Cast) {
        SkipIf(token.type != AS);
        PrintIndent();
        PrintName();
        PrintNodes();
    }

// Assembly:
subq $0xe8, %rsp
movq %rdi, 0xe0(%rsp)
movl %esi, 0xdc(%rsp)
movq 0xe0(%rsp), %rdi
movq %rdi, 0x28(%rsp)
addq $0x10, %rdi
callq 0x1d1e80
cmpq $0x0, %rax
jbe 0x1cd9a4
movq 0x28(%rsp), %rax
cmpl $0xe, 0x28(%rax)
je 0x1cd9a4
movq 0x28(%rsp), %rdi
addq $0x10, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x1d1e60
movq (%rax), %rdi
movl 0xdc(%rsp), %esi
movq (%rdi), %rax
callq *0x8(%rax)
jmp 0x1cdb8a
movl $0x0, 0xd8(%rsp)
movl 0xd8(%rsp), %eax
cmpl 0xdc(%rsp), %eax
jge 0x1cd9e5
movq 0x1335fa(%rip), %rdi    # 0x300fc0
leaq 0x532f7(%rip), %rsi     # 0x220cc4
callq 0x13380
movl 0xd8(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xd8(%rsp)
jmp 0x1cd9af
leaq 0x88(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0x1d2260
movq 0x18(%rsp), %rdi
callq 0x2b420
movq %rax, 0xa8(%rsp)
movq %rdx, 0xb0(%rsp)
leaq 0x87(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq 0x13570
movq 0x20(%rsp), %rdx
leaq 0xb8(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
callq 0x52e80
jmp 0x1cda3f
leaq 0x87(%rsp), %rdi
callq 0x136a0
leaq 0xb8(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq 0x55b20
movq 0x10(%rsp), %rsi
movq %rax, %rcx
addq $-0xb, %rcx
leaq 0x50(%rsp), %rdi
movl $0xa, %edx
callq 0x1b4b20
jmp 0x1cda7b
leaq 0xb8(%rsp), %rdi
movq %rdi, 0x8(%rsp)
leaq 0x50(%rsp), %rsi
movq %rsi, (%rsp)
callq 0x7b460
movq (%rsp), %rdi
callq 0x52f50
movq 0x8(%rsp), %rsi
movq 0x133515(%rip), %rdi    # 0x300fc0
callq 0x131a0
jmp 0x1cdab2
movq 0x133507(%rip), %rdi    # 0x300fc0
movq 0x133520(%rip), %rsi    # 0x300fe0
callq 0x135d0
jmp 0x1cdac7
movq 0x28(%rsp), %rax
addq $0x10, %rax
movq %rax, 0x48(%rsp)
movq 0x48(%rsp), %rdi
callq 0x1d1b70
movq %rax, 0x40(%rsp)
movq 0x48(%rsp), %rdi
callq 0x1d1ba0
movq %rax, 0x38(%rsp)
leaq 0x40(%rsp), %rdi
leaq 0x38(%rsp), %rsi
callq 0x1d1bd0
xorb $-0x1, %al
testb $0x1, %al
jne 0x1cdb0a
jmp 0x1cdb7d
leaq 0x40(%rsp), %rdi
callq 0x1d1c10
movq (%rax), %rax
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rdi
movl 0xdc(%rsp), %esi
incl %esi
movq (%rdi), %rax
movq 0x8(%rax), %rax
callq *%rax
jmp 0x1cdb35
jmp 0x1cdb37
leaq 0x40(%rsp), %rdi
callq 0x1d1c20
jmp 0x1cdaf3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x78(%rsp)
movl %eax, 0x74(%rsp)
leaq 0x87(%rsp), %rdi
callq 0x136a0
jmp 0x1cdb92
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x78(%rsp)
movl %eax, 0x74(%rsp)
leaq 0xb8(%rsp), %rdi
callq 0x52f50
jmp 0x1cdb92
leaq 0xb8(%rsp), %rdi
callq 0x52f50
addq $0xe8, %rsp
retq
movq 0x78(%rsp), %rdi
callq 0x133f0
nopl (%rax)
// File: Heptagon196[P]Gos/GosAST.cpp
// Function: Gos::AST::Cond::PrintAST(int)
Print(Cond) {
        SkipIf(token.type != QUESTION);
        PrintIndent();
        PrintName();
        PrintNodes();
    }

// Assembly:
subq $0xe8, %rsp
movq %rdi, 0xe0(%rsp)
movl %esi, 0xdc(%rsp)
movq 0xe0(%rsp), %rdi
movq %rdi, 0x28(%rsp)
addq $0x10, %rdi
callq 0x1d1e80
cmpq $0x0, %rax
jbe 0x1cf224
movq 0x28(%rsp), %rax
cmpl $0x31, 0x28(%rax)
je 0x1cf224
movq 0x28(%rsp), %rdi
addq $0x10, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x1d1e60
movq (%rax), %rdi
movl 0xdc(%rsp), %esi
movq (%rdi), %rax
callq *0x8(%rax)
jmp 0x1cf40a
movl $0x0, 0xd8(%rsp)
movl 0xd8(%rsp), %eax
cmpl 0xdc(%rsp), %eax
jge 0x1cf265
movq 0x131d7a(%rip), %rdi    # 0x300fc0
leaq 0x51a77(%rip), %rsi     # 0x220cc4
callq 0x13380
movl 0xd8(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xd8(%rsp)
jmp 0x1cf22f
leaq 0x88(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0x1d26c0
movq 0x18(%rsp), %rdi
callq 0x2b420
movq %rax, 0xa8(%rsp)
movq %rdx, 0xb0(%rsp)
leaq 0x87(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq 0x13570
movq 0x20(%rsp), %rdx
leaq 0xb8(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
callq 0x52e80
jmp 0x1cf2bf
leaq 0x87(%rsp), %rdi
callq 0x136a0
leaq 0xb8(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq 0x55b20
movq 0x10(%rsp), %rsi
movq %rax, %rcx
addq $-0xb, %rcx
leaq 0x50(%rsp), %rdi
movl $0xa, %edx
callq 0x1b4b20
jmp 0x1cf2fb
leaq 0xb8(%rsp), %rdi
movq %rdi, 0x8(%rsp)
leaq 0x50(%rsp), %rsi
movq %rsi, (%rsp)
callq 0x7b460
movq (%rsp), %rdi
callq 0x52f50
movq 0x8(%rsp), %rsi
movq 0x131c95(%rip), %rdi    # 0x300fc0
callq 0x131a0
jmp 0x1cf332
movq 0x131c87(%rip), %rdi    # 0x300fc0
movq 0x131ca0(%rip), %rsi    # 0x300fe0
callq 0x135d0
jmp 0x1cf347
movq 0x28(%rsp), %rax
addq $0x10, %rax
movq %rax, 0x48(%rsp)
movq 0x48(%rsp), %rdi
callq 0x1d1b70
movq %rax, 0x40(%rsp)
movq 0x48(%rsp), %rdi
callq 0x1d1ba0
movq %rax, 0x38(%rsp)
leaq 0x40(%rsp), %rdi
leaq 0x38(%rsp), %rsi
callq 0x1d1bd0
xorb $-0x1, %al
testb $0x1, %al
jne 0x1cf38a
jmp 0x1cf3fd
leaq 0x40(%rsp), %rdi
callq 0x1d1c10
movq (%rax), %rax
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rdi
movl 0xdc(%rsp), %esi
incl %esi
movq (%rdi), %rax
movq 0x8(%rax), %rax
callq *%rax
jmp 0x1cf3b5
jmp 0x1cf3b7
leaq 0x40(%rsp), %rdi
callq 0x1d1c20
jmp 0x1cf373
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x78(%rsp)
movl %eax, 0x74(%rsp)
leaq 0x87(%rsp), %rdi
callq 0x136a0
jmp 0x1cf412
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x78(%rsp)
movl %eax, 0x74(%rsp)
leaq 0xb8(%rsp), %rdi
callq 0x52f50
jmp 0x1cf412
leaq 0xb8(%rsp), %rdi
callq 0x52f50
addq $0xe8, %rsp
retq
movq 0x78(%rsp), %rdi
callq 0x133f0
nopl (%rax)
// File: Heptagon196[P]Gos/GosAST.cpp
// Function: Gos::AST::Const::PrintAST(int)
Print(Const) {
        SkipIf(true);
        PrintIndent();
        PrintName();
        PrintNodes();
    }

// Assembly:
subq $0xe8, %rsp
movq %rdi, 0xe0(%rsp)
movl %esi, 0xdc(%rsp)
movq 0xe0(%rsp), %rdi
movq %rdi, 0x28(%rsp)
addq $0x10, %rdi
callq 0x1d1e80
cmpq $0x0, %rax
jbe 0x1cf479
movq 0x28(%rsp), %rdi
addq $0x10, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x1d1e60
movq (%rax), %rdi
movl 0xdc(%rsp), %esi
movq (%rdi), %rax
callq *0x8(%rax)
jmp 0x1cf65f
movl $0x0, 0xd8(%rsp)
movl 0xd8(%rsp), %eax
cmpl 0xdc(%rsp), %eax
jge 0x1cf4ba
movq 0x131b25(%rip), %rdi    # 0x300fc0
leaq 0x51822(%rip), %rsi     # 0x220cc4
callq 0x13380
movl 0xd8(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xd8(%rsp)
jmp 0x1cf484
leaq 0x88(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0x1d2750
movq 0x18(%rsp), %rdi
callq 0x2b420
movq %rax, 0xa8(%rsp)
movq %rdx, 0xb0(%rsp)
leaq 0x87(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq 0x13570
movq 0x20(%rsp), %rdx
leaq 0xb8(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
callq 0x52e80
jmp 0x1cf514
leaq 0x87(%rsp), %rdi
callq 0x136a0
leaq 0xb8(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq 0x55b20
movq 0x10(%rsp), %rsi
movq %rax, %rcx
addq $-0xb, %rcx
leaq 0x50(%rsp), %rdi
movl $0xa, %edx
callq 0x1b4b20
jmp 0x1cf550
leaq 0xb8(%rsp), %rdi
movq %rdi, 0x8(%rsp)
leaq 0x50(%rsp), %rsi
movq %rsi, (%rsp)
callq 0x7b460
movq (%rsp), %rdi
callq 0x52f50
movq 0x8(%rsp), %rsi
movq 0x131a40(%rip), %rdi    # 0x300fc0
callq 0x131a0
jmp 0x1cf587
movq 0x131a32(%rip), %rdi    # 0x300fc0
movq 0x131a4b(%rip), %rsi    # 0x300fe0
callq 0x135d0
jmp 0x1cf59c
movq 0x28(%rsp), %rax
addq $0x10, %rax
movq %rax, 0x48(%rsp)
movq 0x48(%rsp), %rdi
callq 0x1d1b70
movq %rax, 0x40(%rsp)
movq 0x48(%rsp), %rdi
callq 0x1d1ba0
movq %rax, 0x38(%rsp)
leaq 0x40(%rsp), %rdi
leaq 0x38(%rsp), %rsi
callq 0x1d1bd0
xorb $-0x1, %al
testb $0x1, %al
jne 0x1cf5df
jmp 0x1cf652
leaq 0x40(%rsp), %rdi
callq 0x1d1c10
movq (%rax), %rax
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rdi
movl 0xdc(%rsp), %esi
incl %esi
movq (%rdi), %rax
movq 0x8(%rax), %rax
callq *%rax
jmp 0x1cf60a
jmp 0x1cf60c
leaq 0x40(%rsp), %rdi
callq 0x1d1c20
jmp 0x1cf5c8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x78(%rsp)
movl %eax, 0x74(%rsp)
leaq 0x87(%rsp), %rdi
callq 0x136a0
jmp 0x1cf667
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x78(%rsp)
movl %eax, 0x74(%rsp)
leaq 0xb8(%rsp), %rdi
callq 0x52f50
jmp 0x1cf667
leaq 0xb8(%rsp), %rdi
callq 0x52f50
addq $0xe8, %rsp
retq
movq 0x78(%rsp), %rdi
callq 0x133f0
nopw %cs:(%rax,%rax)
// File: Heptagon196[P]Gos/GosAST.cpp
// Function: Gos::AST::Exp::PrintAST(int)
Print(Exp) {
        SkipIf(true);
        PrintIndent();
        PrintName();
        PrintNodes();
    }

// Assembly:
subq $0xe8, %rsp
movq %rdi, 0xe0(%rsp)
movl %esi, 0xdc(%rsp)
movq 0xe0(%rsp), %rdi
movq %rdi, 0x28(%rsp)
addq $0x10, %rdi
callq 0x1d1e80
cmpq $0x0, %rax
jbe 0x1cf8f9
movq 0x28(%rsp), %rdi
addq $0x10, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x1d1e60
movq (%rax), %rdi
movl 0xdc(%rsp), %esi
movq (%rdi), %rax
callq *0x8(%rax)
jmp 0x1cfadf
movl $0x0, 0xd8(%rsp)
movl 0xd8(%rsp), %eax
cmpl 0xdc(%rsp), %eax
jge 0x1cf93a
movq 0x1316a5(%rip), %rdi    # 0x300fc0
leaq 0x513a2(%rip), %rsi     # 0x220cc4
callq 0x13380
movl 0xd8(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xd8(%rsp)
jmp 0x1cf904
leaq 0x88(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0x1d2870
movq 0x18(%rsp), %rdi
callq 0x2b420
movq %rax, 0xa8(%rsp)
movq %rdx, 0xb0(%rsp)
leaq 0x87(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq 0x13570
movq 0x20(%rsp), %rdx
leaq 0xb8(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
callq 0x52e80
jmp 0x1cf994
leaq 0x87(%rsp), %rdi
callq 0x136a0
leaq 0xb8(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq 0x55b20
movq 0x10(%rsp), %rsi
movq %rax, %rcx
addq $-0xb, %rcx
leaq 0x50(%rsp), %rdi
movl $0xa, %edx
callq 0x1b4b20
jmp 0x1cf9d0
leaq 0xb8(%rsp), %rdi
movq %rdi, 0x8(%rsp)
leaq 0x50(%rsp), %rsi
movq %rsi, (%rsp)
callq 0x7b460
movq (%rsp), %rdi
callq 0x52f50
movq 0x8(%rsp), %rsi
movq 0x1315c0(%rip), %rdi    # 0x300fc0
callq 0x131a0
jmp 0x1cfa07
movq 0x1315b2(%rip), %rdi    # 0x300fc0
movq 0x1315cb(%rip), %rsi    # 0x300fe0
callq 0x135d0
jmp 0x1cfa1c
movq 0x28(%rsp), %rax
addq $0x10, %rax
movq %rax, 0x48(%rsp)
movq 0x48(%rsp), %rdi
callq 0x1d1b70
movq %rax, 0x40(%rsp)
movq 0x48(%rsp), %rdi
callq 0x1d1ba0
movq %rax, 0x38(%rsp)
leaq 0x40(%rsp), %rdi
leaq 0x38(%rsp), %rsi
callq 0x1d1bd0
xorb $-0x1, %al
testb $0x1, %al
jne 0x1cfa5f
jmp 0x1cfad2
leaq 0x40(%rsp), %rdi
callq 0x1d1c10
movq (%rax), %rax
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rdi
movl 0xdc(%rsp), %esi
incl %esi
movq (%rdi), %rax
movq 0x8(%rax), %rax
callq *%rax
jmp 0x1cfa8a
jmp 0x1cfa8c
leaq 0x40(%rsp), %rdi
callq 0x1d1c20
jmp 0x1cfa48
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x78(%rsp)
movl %eax, 0x74(%rsp)
leaq 0x87(%rsp), %rdi
callq 0x136a0
jmp 0x1cfae7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x78(%rsp)
movl %eax, 0x74(%rsp)
leaq 0xb8(%rsp), %rdi
callq 0x52f50
jmp 0x1cfae7
leaq 0xb8(%rsp), %rdi
callq 0x52f50
addq $0xe8, %rsp
retq
movq 0x78(%rsp), %rdi
callq 0x133f0
nopw %cs:(%rax,%rax)
// File: Heptagon196[P]Gos/GosASTCompiler.cpp
// Function: Gos::Compiler::Scope::GetVarID(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&)
int Gos::Compiler::Scope::GetVarID(const std::string& name, std::string& errorInfo) {
    if (varID.find(name) != varID.end()) {
        return varID[name];
    }
    if (fa != nullptr) {
        return fa->GetVarID(name, errorInfo);
    }
    std::stringstream ss;
    ss << "Error: " << compilingFileName << ": " << compilingLine << ": no such variable: " << name;
    errorInfo = ss.str();
    return 0;
}

// Assembly:
subq $0x218, %rsp            # imm = 0x218
movq %rdi, 0x208(%rsp)
movq %rsi, 0x200(%rsp)
movq %rdx, 0x1f8(%rsp)
movq 0x208(%rsp), %rdi
movq %rdi, 0x28(%rsp)
addq $0x28, %rdi
movq 0x200(%rsp), %rsi
callq 0x1b4750
movq 0x28(%rsp), %rdi
movq %rax, 0x1f0(%rsp)
addq $0x28, %rdi
callq 0x1b4780
movq %rax, 0x1e8(%rsp)
leaq 0x1f0(%rsp), %rdi
leaq 0x1e8(%rsp), %rsi
callq 0x1b4730
xorb $-0x1, %al
testb $0x1, %al
jne 0x1d4e08
jmp 0x1d4e2c
movq 0x28(%rsp), %rdi
addq $0x28, %rdi
movq 0x200(%rsp), %rsi
callq 0x1b4880
movl (%rax), %eax
movl %eax, 0x214(%rsp)
jmp 0x1d4f51
movq 0x28(%rsp), %rax
cmpq $0x0, (%rax)
je 0x1d4e60
movq 0x28(%rsp), %rax
movq (%rax), %rdi
movq 0x200(%rsp), %rsi
movq 0x1f8(%rsp), %rdx
callq 0x1d4d90
movl %eax, 0x214(%rsp)
jmp 0x1d4f51
leaq 0x60(%rsp), %rdi
callq 0x131b0
leaq 0x70(%rsp), %rdi
leaq 0x4bd46(%rip), %rsi     # 0x220bbc
callq 0x13380
movq %rax, 0x20(%rsp)
jmp 0x1d4e82
movq 0x20(%rsp), %rdi
leaq 0x12d3e2(%rip), %rsi    # 0x302270
callq 0x131a0
movq %rax, 0x18(%rsp)
jmp 0x1d4e9a
movq 0x18(%rsp), %rdi
leaq 0x37f51(%rip), %rsi     # 0x20cdf7
callq 0x13380
movq %rax, 0x10(%rsp)
jmp 0x1d4eb2
movq 0x10(%rsp), %rdi
movl 0x12d43b(%rip), %esi    # 0x3022f8
callq 0x131d0
movq %rax, 0x8(%rsp)
jmp 0x1d4ec9
movq 0x8(%rsp), %rdi
leaq 0x4d122(%rip), %rsi     # 0x221ff7
callq 0x13380
movq %rax, (%rsp)
jmp 0x1d4ee0
movq (%rsp), %rdi
movq 0x200(%rsp), %rsi
callq 0x131a0
jmp 0x1d4ef3
leaq 0x30(%rsp), %rdi
leaq 0x60(%rsp), %rsi
callq 0x13340
jmp 0x1d4f04
movq 0x1f8(%rsp), %rdi
leaq 0x30(%rsp), %rsi
callq 0x7b460
leaq 0x30(%rsp), %rdi
callq 0x52f50
movl $0x0, 0x214(%rsp)
leaq 0x60(%rsp), %rdi
callq 0x13240
jmp 0x1d4f51
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x58(%rsp)
movl %eax, 0x54(%rsp)
leaq 0x60(%rsp), %rdi
callq 0x13240
jmp 0x1d4f60
movl 0x214(%rsp), %eax
addq $0x218, %rsp            # imm = 0x218
retq
movq 0x58(%rsp), %rdi
callq 0x133f0
nopw (%rax,%rax)