LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_cpp_makefile_star2_O2/acliusBackHome[P]kamaya/dist/ParseException.cpp
// Function: ParseException::what() const
const char *ParseException::what() const noexcept {
    const string &info = get_info();
    char *temp = new char[get_info().length() + 1];
    strcpy(temp, get_info().c_str());
    return temp;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x40, %rsp
movq %rdi, %rbx
leaq -0x50(%rbp), %rdi
movq %rbx, %rsi
callq 0x2b5a8
leaq -0x30(%rbp), %rdi
movq %rbx, %rsi
callq 0x2b5a8
movq -0x28(%rbp), %rdi
incq %rdi
callq 0x4030
movq %rax, %r14
leaq -0x30(%rbp), %rdi
callq 0x4598
leaq -0x30(%rbp), %rdi
movq %rbx, %rsi
callq 0x2b5a8
leaq -0x30(%rbp), %rbx
movq (%rbx), %rsi
movq %r14, %rdi
callq 0x4260
movq %rbx, %rdi
callq 0x4598
leaq -0x50(%rbp), %rdi
callq 0x4598
movq %r14, %rax
addq $0x40, %rsp
popq %rbx
popq %r14
popq %rbp
retq
movq %rax, %rdi
callq 0xca0b
// File: /workspace/github_cpp_makefile_star2_O2/acliusBackHome[P]kamaya/dist/ParseExpressionConstCalculate.cpp
// Function: ParseExpression::calculate_const_add(ConstValueType, ParseConstant const&, ParseConstant const&)
void ParseExpression::
calculate_const_add(ConstValueType cal_type,
                    const ParseConstant &const1, const ParseConstant &const2) {
    switch (cal_type) {
        case C_BOOL:
        case C_SIGNED: {
            const_value = (size_t)
                    new ParseConstant(const1.get_signed() + const2.get_signed());
            return;
        }
        case C_UNSIGNED: {
            const_value = (size_t)
                    new ParseConstant(const1.get_unsigned() + const2.get_unsigned());
            return;
        }
        case C_FLOAT: {
            const_value = (size_t)
                    new ParseConstant(const1.get_float() + const2.get_float());
            return;
        }
        case C_STRING:
        default:
            break;
    }
    const_value = (size_t) -1;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x20, %rsp
movq %rdi, %rbx
decl %esi
cmpl $0x3, %esi
ja 0x2bf05
movq %rcx, %r15
movq %rdx, %r12
leaq 0x1072c(%rip), %rax     # 0x3c594
movslq (%rax,%rsi,4), %rcx
addq %rax, %rcx
jmpq *%rcx
pushq $0x10
popq %rdi
callq 0x42a0
movq %rax, %r14
movq %r12, %rdi
callq 0x27b16
movq %rax, %r12
movq %r15, %rdi
callq 0x27b16
addq %r12, %rax
movq %r14, %rdi
movq %rax, %rsi
callq 0x27a24
jmp 0x2bf09
pushq $0x10
popq %rdi
callq 0x42a0
movq %rax, %r14
movq %r12, %rdi
callq 0x27b82
movq %rax, %r12
movq %r15, %rdi
callq 0x27b82
addq %r12, %rax
movq %r14, %rdi
movq %rax, %rsi
callq 0x27a4c
jmp 0x2bf09
pushq $0x10
popq %rdi
callq 0x42a0
movq %rax, %r14
movq %r12, %rdi
callq 0x27c08
fstpt -0x2c(%rbp)
fldz
fstp %st(0)
movq %r15, %rdi
callq 0x27c08
fldt -0x2c(%rbp)
faddp %st, %st(1)
fstpt (%rsp)
movq %r14, %rdi
callq 0x27a9a
fldz
fstp %st(0)
jmp 0x2bf09
pushq $-0x1
popq %r14
movq %r14, 0x18(%rbx)
addq $0x20, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
fstp %st(0)
jmp 0x2bf20
jmp 0x2bf20
movq %rax, %rbx
movq %r14, %rdi
callq 0x4270
movq %rbx, %rdi
callq 0x4500
nop
// File: /workspace/github_cpp_makefile_star2_O2/acliusBackHome[P]kamaya/dist/ParseExpressionConstCalculate.cpp
// Function: ParseExpression::calculate_const_eq(ConstValueType, ParseConstant const&, ParseConstant const&)
void ParseExpression::
calculate_const_eq(ConstValueType cal_type,
                   const ParseConstant &const1, const ParseConstant &const2) {
    switch (cal_type) {
        case C_BOOL:
        case C_SIGNED: {
            const_value = (size_t)
                    new ParseConstant(const1.get_signed() == const2.get_signed());
            return;
        }
        case C_UNSIGNED: {
            const_value = (size_t)
                    new ParseConstant(const1.get_unsigned() == const2.get_unsigned());
            return;
        }
        case C_FLOAT: {
            const_value = (size_t)
                    new ParseConstant(const1.get_float() == const2.get_float());
            return;
        }
        case C_STRING:
            const_value = (size_t)
                    new ParseConstant(const1.get_string() == const2.get_string());
            return;
        default:
            break;
    }
    const_value = (size_t) -1;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x50, %rsp
movq %rdi, %rbx
cmpl $0x4, %esi
ja 0x2c87e
movq %rcx, %r14
movq %rdx, %r12
movl %esi, %eax
leaq 0xfe80(%rip), %rcx      # 0x3c5f4
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
pushq $0x10
popq %rdi
callq 0x42a0
movq %rax, %r15
movq %r12, %rdi
callq 0x27b16
movq %rax, %r12
movq %r14, %rdi
callq 0x27b16
xorl %esi, %esi
cmpq %rax, %r12
sete %sil
movq %r15, %rdi
callq 0x27a74
jmp 0x2c878
pushq $0x10
popq %rdi
callq 0x42a0
movq %rax, %r15
movq %r12, %rdi
callq 0x27c08
fstpt -0x2c(%rbp)
fldz
fstp %st(0)
movq %r14, %rdi
callq 0x27c08
fldt -0x2c(%rbp)
fucompi %st(1), %st
fstp %st(0)
setnp %al
sete %cl
andb %al, %cl
movzbl %cl, %esi
movq %r15, %rdi
callq 0x27a74
fldz
fstp %st(0)
jmp 0x2c878
pushq $0x10
popq %rdi
callq 0x42a0
movq %rax, %r15
leaq -0x70(%rbp), %rdi
movq %r12, %rsi
callq 0x27cde
leaq -0x50(%rbp), %rdi
movq %r14, %rsi
callq 0x27cde
leaq -0x70(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x2ce71
movzbl %al, %esi
movq %r15, %rdi
callq 0x27a74
movq %r15, 0x18(%rbx)
leaq -0x50(%rbp), %rdi
callq 0x4598
leaq -0x70(%rbp), %rdi
callq 0x4598
jmp 0x2c883
pushq $0x10
popq %rdi
callq 0x42a0
movq %rax, %r15
movq %r12, %rdi
callq 0x27b82
movq %rax, %r12
movq %r14, %rdi
callq 0x27b82
xorl %esi, %esi
cmpq %rax, %r12
sete %sil
movq %r15, %rdi
callq 0x27a74
movq %r15, 0x18(%rbx)
jmp 0x2c883
orq $-0x1, 0x18(%rbx)
addq $0x50, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
leaq -0x50(%rbp), %rdi
callq 0x4598
jmp 0x2c8a1
movq %rax, %rbx
leaq -0x70(%rbp), %rdi
callq 0x4598
jmp 0x2c8b7
jmp 0x2c8b4
jmp 0x2c8b4
fstp %st(0)
jmp 0x2c8b4
movq %rax, %rbx
movq %r15, %rdi
callq 0x4270
movq %rbx, %rdi
callq 0x4500
nop
// File: /workspace/github_cpp_makefile_star2_O2/acliusBackHome[P]kamaya/dist/ParseExpressionConstCalculate.cpp
// Function: ParseExpression::calculate_const_neg(ConstValueType, ParseConstant const&)
void ParseExpression::calculate_const_neg(ConstValueType cal_type, const ParseConstant &constant) {
    switch (cal_type) {
        case C_BOOL:
        case C_SIGNED: {
            const_value = (size_t)
                    new ParseConstant(-constant.get_signed());
            return;
        }
        case C_UNSIGNED: {
            const_value = (size_t)
                    new ParseConstant(-constant.get_unsigned());
            return;
        }
        case C_FLOAT: {
            const_value = (size_t)
                    new ParseConstant(-constant.get_float());
            return;
        }
        case C_STRING:
        default:
            break;
    }
    const_value = (size_t) -1;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x18, %rsp
movq %rdi, %rbx
decl %esi
cmpl $0x3, %esi
ja 0x2cce0
movq %rdx, %r15
leaq 0xf9d1(%rip), %rax      # 0x3c63c
movslq (%rax,%rsi,4), %rcx
addq %rax, %rcx
jmpq *%rcx
pushq $0x10
popq %rdi
callq 0x42a0
movq %rax, %r14
movq %r15, %rdi
callq 0x27b16
negq %rax
movq %r14, %rdi
movq %rax, %rsi
callq 0x27a24
jmp 0x2cce4
pushq $0x10
popq %rdi
callq 0x42a0
movq %rax, %r14
movq %r15, %rdi
callq 0x27b82
negq %rax
movq %r14, %rdi
movq %rax, %rsi
callq 0x27a4c
jmp 0x2cce4
pushq $0x10
popq %rdi
callq 0x42a0
movq %rax, %r14
movq %r15, %rdi
callq 0x27c08
fchs
fstpt (%rsp)
movq %r14, %rdi
callq 0x27a9a
fldz
fstp %st(0)
jmp 0x2cce4
pushq $-0x1
popq %r14
movq %r14, 0x18(%rbx)
addq $0x18, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
fstp %st(0)
jmp 0x2ccf9
jmp 0x2ccf9
movq %rax, %rbx
movq %r14, %rdi
callq 0x4270
movq %rbx, %rdi
callq 0x4500
// File: /workspace/github_cpp_makefile_star2_O2/acliusBackHome[P]kamaya/dist/x86.cpp
// Function: x86::Assembler::getWideStr[abi:cxx11](unsigned long)
string Assembler::getWideStr(size_t size) {
  if (wideMap.find(size) == wideMap.end()) {
    log("IN getWide: ERROR SIZE " + to_string(size));
    return "BadWide";
  }
  return wideMap[size];
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x48, %rsp
movq %rsi, %r14
movq %rdi, %rbx
leaq -0x20(%rbp), %rsi
movq %rdx, (%rsi)
leaq 0x40(%r14), %r15
movq %r15, %rdi
callq 0x1e288
leaq 0x48(%r14), %rcx
cmpq %rcx, %rax
je 0x2e688
leaq -0x20(%rbp), %rsi
movq %r15, %rdi
callq 0x30be6
movq %rbx, %rdi
movq %rax, %rsi
callq 0x43a0
jmp 0x2e6dc
movq -0x20(%rbp), %rsi
leaq -0x60(%rbp), %r15
movq %r15, %rdi
callq 0xc865
leaq 0xe084(%rip), %rsi      # 0x3c723
leaq -0x40(%rbp), %rdi
movq %r15, %rdx
callq 0xc837
leaq -0x40(%rbp), %rsi
movq %r14, %rdi
callq 0x2e70c
leaq -0x40(%rbp), %rdi
callq 0x4598
leaq -0x60(%rbp), %rdi
callq 0x4598
leaq 0xe06b(%rip), %rsi      # 0x3c73b
leaq -0x40(%rbp), %rdx
movq %rbx, %rdi
callq 0x4130
movq %rbx, %rax
addq $0x48, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
leaq -0x40(%rbp), %rdi
callq 0x4598
jmp 0x2e6fb
movq %rax, %rbx
leaq -0x60(%rbp), %rdi
callq 0x4598
movq %rbx, %rdi
callq 0x4500
// File: /workspace/github_cpp_makefile_star2_O2/acliusBackHome[P]kamaya/dist/x86.cpp
// Function: x86::Assembler::quaADD(std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>> const&)
void Assembler::quaADD(const Qua &qua) {
  // 2	(+,[esp+8],1,[esp+13])
  const string &x = get<1>(qua);
  const string &y = get<2>(qua);
  const string &z = get<3>(qua);
  mov("eax", x);
  mov("ebx", y);
  add("eax", "ebx");
  mov(z, "eax");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x110, %rsp            # imm = 0x110
movq %rsi, %r14
movq %rdi, %rbx
leaq 0xdfe4(%rip), %rsi      # 0x3c743
leaq -0x118(%rbp), %rdi
leaq -0x11(%rbp), %rdx
callq 0x4130
leaq 0x40(%r14), %rsi
leaq -0xf8(%rbp), %rdi
callq 0x43a0
leaq -0x118(%rbp), %rsi
leaq -0xf8(%rbp), %rdx
movq %rbx, %rdi
callq 0x30c38
leaq -0xf8(%rbp), %rdi
callq 0x4598
leaq -0x118(%rbp), %rdi
callq 0x4598
leaq 0xdf93(%rip), %rsi      # 0x3c747
leaq -0xd8(%rbp), %rdi
leaq -0x11(%rbp), %rdx
callq 0x4130
leaq 0x20(%r14), %rsi
leaq -0xb8(%rbp), %rdi
callq 0x43a0
leaq -0xd8(%rbp), %rsi
leaq -0xb8(%rbp), %rdx
movq %rbx, %rdi
callq 0x30c38
leaq -0xb8(%rbp), %rdi
callq 0x4598
leaq -0xd8(%rbp), %rdi
callq 0x4598
leaq 0xdf3a(%rip), %rsi      # 0x3c743
leaq -0x98(%rbp), %rdi
leaq -0x11(%rbp), %rdx
callq 0x4130
leaq 0xdf27(%rip), %rsi      # 0x3c747
leaq -0x78(%rbp), %rdi
leaq -0x12(%rbp), %rdx
callq 0x4130
leaq -0x98(%rbp), %rsi
leaq -0x78(%rbp), %rdx
movq %rbx, %rdi
callq 0x30d2a
leaq -0x78(%rbp), %rdi
callq 0x4598
leaq -0x98(%rbp), %rdi
callq 0x4598
leaq -0x58(%rbp), %rdi
movq %r14, %rsi
callq 0x43a0
leaq 0xdedb(%rip), %rsi      # 0x3c743
leaq -0x38(%rbp), %rdi
leaq -0x11(%rbp), %rdx
callq 0x4130
leaq -0x58(%rbp), %rsi
leaq -0x38(%rbp), %rdx
movq %rbx, %rdi
callq 0x30c38
leaq -0x38(%rbp), %rdi
callq 0x4598
leaq -0x58(%rbp), %rdi
callq 0x4598
addq $0x110, %rsp            # imm = 0x110
popq %rbx
popq %r14
popq %rbp
retq
movq %rax, %rbx
leaq -0x38(%rbp), %rdi
callq 0x4598
jmp 0x2e8b4
movq %rax, %rbx
leaq -0x58(%rbp), %rdi
jmp 0x2e910
movq %rax, %rbx
leaq -0x78(%rbp), %rdi
callq 0x4598
jmp 0x2e8cb
movq %rax, %rbx
leaq -0x98(%rbp), %rdi
jmp 0x2e910
jmp 0x2e917
movq %rax, %rbx
leaq -0xb8(%rbp), %rdi
callq 0x4598
jmp 0x2e8ea
movq %rax, %rbx
leaq -0xd8(%rbp), %rdi
jmp 0x2e910
jmp 0x2e917
movq %rax, %rbx
leaq -0xf8(%rbp), %rdi
callq 0x4598
jmp 0x2e909
movq %rax, %rbx
leaq -0x118(%rbp), %rdi
callq 0x4598
jmp 0x2e91a
movq %rax, %rbx
movq %rbx, %rdi
callq 0x4500
// File: /workspace/github_cpp_makefile_star2_O2/acliusBackHome[P]kamaya/dist/x86.cpp
// Function: x86::Assembler::quaSUB(std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>> const&)
void Assembler::quaSUB(const Qua &qua) {
  const string &x = get<1>(qua);
  const string &y = get<2>(qua);
  const string &z = get<3>(qua);
  mov("eax", x);
  mov("ebx", y);
  sub("eax", "ebx");
  mov(z, "eax");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x110, %rsp            # imm = 0x110
movq %rsi, %r14
movq %rdi, %rbx
leaq 0xde06(%rip), %rsi      # 0x3c743
leaq -0x118(%rbp), %rdi
leaq -0x11(%rbp), %rdx
callq 0x4130
leaq 0x40(%r14), %rsi
leaq -0xf8(%rbp), %rdi
callq 0x43a0
leaq -0x118(%rbp), %rsi
leaq -0xf8(%rbp), %rdx
movq %rbx, %rdi
callq 0x30c38
leaq -0xf8(%rbp), %rdi
callq 0x4598
leaq -0x118(%rbp), %rdi
callq 0x4598
leaq 0xddb5(%rip), %rsi      # 0x3c747
leaq -0xd8(%rbp), %rdi
leaq -0x11(%rbp), %rdx
callq 0x4130
leaq 0x20(%r14), %rsi
leaq -0xb8(%rbp), %rdi
callq 0x43a0
leaq -0xd8(%rbp), %rsi
leaq -0xb8(%rbp), %rdx
movq %rbx, %rdi
callq 0x30c38
leaq -0xb8(%rbp), %rdi
callq 0x4598
leaq -0xd8(%rbp), %rdi
callq 0x4598
leaq 0xdd5c(%rip), %rsi      # 0x3c743
leaq -0x98(%rbp), %rdi
leaq -0x11(%rbp), %rdx
callq 0x4130
leaq 0xdd49(%rip), %rsi      # 0x3c747
leaq -0x78(%rbp), %rdi
leaq -0x12(%rbp), %rdx
callq 0x4130
leaq -0x98(%rbp), %rsi
leaq -0x78(%rbp), %rdx
movq %rbx, %rdi
callq 0x30e1c
leaq -0x78(%rbp), %rdi
callq 0x4598
leaq -0x98(%rbp), %rdi
callq 0x4598
leaq -0x58(%rbp), %rdi
movq %r14, %rsi
callq 0x43a0
leaq 0xdcfd(%rip), %rsi      # 0x3c743
leaq -0x38(%rbp), %rdi
leaq -0x11(%rbp), %rdx
callq 0x4130
leaq -0x58(%rbp), %rsi
leaq -0x38(%rbp), %rdx
movq %rbx, %rdi
callq 0x30c38
leaq -0x38(%rbp), %rdi
callq 0x4598
leaq -0x58(%rbp), %rdi
callq 0x4598
addq $0x110, %rsp            # imm = 0x110
popq %rbx
popq %r14
popq %rbp
retq
movq %rax, %rbx
leaq -0x38(%rbp), %rdi
callq 0x4598
jmp 0x2ea92
movq %rax, %rbx
leaq -0x58(%rbp), %rdi
jmp 0x2eaee
movq %rax, %rbx
leaq -0x78(%rbp), %rdi
callq 0x4598
jmp 0x2eaa9
movq %rax, %rbx
leaq -0x98(%rbp), %rdi
jmp 0x2eaee
jmp 0x2eaf5
movq %rax, %rbx
leaq -0xb8(%rbp), %rdi
callq 0x4598
jmp 0x2eac8
movq %rax, %rbx
leaq -0xd8(%rbp), %rdi
jmp 0x2eaee
jmp 0x2eaf5
movq %rax, %rbx
leaq -0xf8(%rbp), %rdi
callq 0x4598
jmp 0x2eae7
movq %rax, %rbx
leaq -0x118(%rbp), %rdi
callq 0x4598
jmp 0x2eaf8
movq %rax, %rbx
movq %rbx, %rdi
callq 0x4500
// File: /workspace/github_cpp_makefile_star2_O2/acliusBackHome[P]kamaya/dist/x86.cpp
// Function: x86::Assembler::quaMUL(std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>> const&)
void Assembler::quaMUL(const Qua &qua) {
  const string &x = get<1>(qua);
  const string &y = get<2>(qua);
  const string &z = get<3>(qua);
  mov("eax", x);
  mov("ebx", y);
  mul("ebx");
  mov(z, "eax");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0xf0, %rsp
movq %rsi, %r14
movq %rdi, %rbx
leaq 0xdc28(%rip), %rsi      # 0x3c743
leaq -0xf8(%rbp), %rdi
leaq -0x11(%rbp), %rdx
callq 0x4130
leaq 0x40(%r14), %rsi
leaq -0xd8(%rbp), %rdi
callq 0x43a0
leaq -0xf8(%rbp), %rsi
leaq -0xd8(%rbp), %rdx
movq %rbx, %rdi
callq 0x30c38
leaq -0xd8(%rbp), %rdi
callq 0x4598
leaq -0xf8(%rbp), %rdi
callq 0x4598
leaq 0xdbd7(%rip), %rsi      # 0x3c747
leaq -0xb8(%rbp), %rdi
leaq -0x11(%rbp), %rdx
callq 0x4130
leaq 0x20(%r14), %rsi
leaq -0x98(%rbp), %rdi
callq 0x43a0
leaq -0xb8(%rbp), %rsi
leaq -0x98(%rbp), %rdx
movq %rbx, %rdi
callq 0x30c38
leaq -0x98(%rbp), %rdi
callq 0x4598
leaq -0xb8(%rbp), %rdi
callq 0x4598
leaq 0xdb82(%rip), %rsi      # 0x3c747
leaq -0x78(%rbp), %rdi
leaq -0x11(%rbp), %rdx
callq 0x4130
leaq -0x78(%rbp), %rsi
movq %rbx, %rdi
callq 0x30f0e
leaq -0x78(%rbp), %rdi
callq 0x4598
leaq -0x58(%rbp), %rdi
movq %r14, %rsi
callq 0x43a0
leaq 0xdb49(%rip), %rsi      # 0x3c743
leaq -0x38(%rbp), %rdi
leaq -0x11(%rbp), %rdx
callq 0x4130
leaq -0x58(%rbp), %rsi
leaq -0x38(%rbp), %rdx
movq %rbx, %rdi
callq 0x30c38
leaq -0x38(%rbp), %rdi
callq 0x4598
leaq -0x58(%rbp), %rdi
callq 0x4598
addq $0xf0, %rsp
popq %rbx
popq %r14
popq %rbp
retq
movq %rax, %rbx
leaq -0x38(%rbp), %rdi
callq 0x4598
jmp 0x2ec46
movq %rax, %rbx
leaq -0x58(%rbp), %rdi
jmp 0x2ec91
movq %rax, %rbx
leaq -0x78(%rbp), %rdi
jmp 0x2ec91
jmp 0x2ec98
movq %rax, %rbx
leaq -0x98(%rbp), %rdi
callq 0x4598
jmp 0x2ec6b
movq %rax, %rbx
leaq -0xb8(%rbp), %rdi
jmp 0x2ec91
jmp 0x2ec98
movq %rax, %rbx
leaq -0xd8(%rbp), %rdi
callq 0x4598
jmp 0x2ec8a
movq %rax, %rbx
leaq -0xf8(%rbp), %rdi
callq 0x4598
jmp 0x2ec9b
movq %rax, %rbx
movq %rbx, %rdi
callq 0x4500
nop
// File: /workspace/github_cpp_makefile_star2_O2/acliusBackHome[P]kamaya/dist/x86.cpp
// Function: x86::Assembler::quaDIV(std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>> const&)
void Assembler::quaDIV(const Qua &qua) {
  const string &x = get<1>(qua);
  const string &y = get<2>(qua);
  const string &z = get<3>(qua);
  mov("eax", x);
  mov("ebx", y);
  div("ebx");
  mov(z, "eax"); // eax存商 edx存余数
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0xf0, %rsp
movq %rsi, %r14
movq %rdi, %rbx
leaq 0xda84(%rip), %rsi      # 0x3c743
leaq -0xf8(%rbp), %rdi
leaq -0x11(%rbp), %rdx
callq 0x4130
leaq 0x40(%r14), %rsi
leaq -0xd8(%rbp), %rdi
callq 0x43a0
leaq -0xf8(%rbp), %rsi
leaq -0xd8(%rbp), %rdx
movq %rbx, %rdi
callq 0x30c38
leaq -0xd8(%rbp), %rdi
callq 0x4598
leaq -0xf8(%rbp), %rdi
callq 0x4598
leaq 0xda33(%rip), %rsi      # 0x3c747
leaq -0xb8(%rbp), %rdi
leaq -0x11(%rbp), %rdx
callq 0x4130
leaq 0x20(%r14), %rsi
leaq -0x98(%rbp), %rdi
callq 0x43a0
leaq -0xb8(%rbp), %rsi
leaq -0x98(%rbp), %rdx
movq %rbx, %rdi
callq 0x30c38
leaq -0x98(%rbp), %rdi
callq 0x4598
leaq -0xb8(%rbp), %rdi
callq 0x4598
leaq 0xd9de(%rip), %rsi      # 0x3c747
leaq -0x78(%rbp), %rdi
leaq -0x11(%rbp), %rdx
callq 0x4130
leaq -0x78(%rbp), %rsi
movq %rbx, %rdi
callq 0x30fe2
leaq -0x78(%rbp), %rdi
callq 0x4598
leaq -0x58(%rbp), %rdi
movq %r14, %rsi
callq 0x43a0
leaq 0xd9a5(%rip), %rsi      # 0x3c743
leaq -0x38(%rbp), %rdi
leaq -0x11(%rbp), %rdx
callq 0x4130
leaq -0x58(%rbp), %rsi
leaq -0x38(%rbp), %rdx
movq %rbx, %rdi
callq 0x30c38
leaq -0x38(%rbp), %rdi
callq 0x4598
leaq -0x58(%rbp), %rdi
callq 0x4598
addq $0xf0, %rsp
popq %rbx
popq %r14
popq %rbp
retq
movq %rax, %rbx
leaq -0x38(%rbp), %rdi
callq 0x4598
jmp 0x2edea
movq %rax, %rbx
leaq -0x58(%rbp), %rdi
jmp 0x2ee35
movq %rax, %rbx
leaq -0x78(%rbp), %rdi
jmp 0x2ee35
jmp 0x2ee3c
movq %rax, %rbx
leaq -0x98(%rbp), %rdi
callq 0x4598
jmp 0x2ee0f
movq %rax, %rbx
leaq -0xb8(%rbp), %rdi
jmp 0x2ee35
jmp 0x2ee3c
movq %rax, %rbx
leaq -0xd8(%rbp), %rdi
callq 0x4598
jmp 0x2ee2e
movq %rax, %rbx
leaq -0xf8(%rbp), %rdi
callq 0x4598
jmp 0x2ee3f
movq %rax, %rbx
movq %rbx, %rdi
callq 0x4500
nop
// File: /workspace/github_cpp_makefile_star2_O2/acliusBackHome[P]kamaya/dist/x86.cpp
// Function: x86::Assembler::quaPOW(std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>> const&)
void Assembler::quaPOW(const Qua &qua) {
  const string &x = get<1>(qua);
  const string &y = get<2>(qua);
  const string &z = get<3>(qua);
  mov("eax", "1");
  mov("ebx", x);
  mov("ecx", y);
  pow_label();
  mul("ebx");
  loop_label();
  mov(z, "eax");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x130, %rsp            # imm = 0x130
movq %rsi, %r14
movq %rdi, %rbx
leaq 0xd8e0(%rip), %rsi      # 0x3c743
leaq -0x138(%rbp), %rdi
leaq -0x11(%rbp), %rdx
callq 0x4130
leaq 0x9898(%rip), %rsi      # 0x38712
leaq -0x118(%rbp), %rdi
leaq -0x12(%rbp), %rdx
callq 0x4130
leaq -0x138(%rbp), %rsi
leaq -0x118(%rbp), %rdx
movq %rbx, %rdi
callq 0x30c38
leaq -0x118(%rbp), %rdi
callq 0x4598
leaq -0x138(%rbp), %rdi
callq 0x4598
leaq 0xd888(%rip), %rsi      # 0x3c747
leaq -0xf8(%rbp), %rdi
leaq -0x11(%rbp), %rdx
callq 0x4130
leaq 0x40(%r14), %rsi
leaq -0xd8(%rbp), %rdi
callq 0x43a0
leaq -0xf8(%rbp), %rsi
leaq -0xd8(%rbp), %rdx
movq %rbx, %rdi
callq 0x30c38
leaq -0xd8(%rbp), %rdi
callq 0x4598
leaq -0xf8(%rbp), %rdi
callq 0x4598
leaq 0xd837(%rip), %rsi      # 0x3c74b
leaq -0xb8(%rbp), %rdi
leaq -0x11(%rbp), %rdx
callq 0x4130
leaq 0x20(%r14), %rsi
leaq -0x98(%rbp), %rdi
callq 0x43a0
leaq -0xb8(%rbp), %rsi
leaq -0x98(%rbp), %rdx
movq %rbx, %rdi
callq 0x30c38
leaq -0x98(%rbp), %rdi
callq 0x4598
leaq -0xb8(%rbp), %rdi
callq 0x4598
movq %rbx, %rdi
callq 0x310b6
leaq 0xd7d6(%rip), %rsi      # 0x3c747
leaq -0x78(%rbp), %rdi
leaq -0x11(%rbp), %rdx
callq 0x4130
leaq -0x78(%rbp), %rsi
movq %rbx, %rdi
callq 0x30f0e
leaq -0x78(%rbp), %rdi
callq 0x4598
movq %rbx, %rdi
callq 0x31134
leaq -0x58(%rbp), %rdi
movq %r14, %rsi
callq 0x43a0
leaq 0xd795(%rip), %rsi      # 0x3c743
leaq -0x38(%rbp), %rdi
leaq -0x11(%rbp), %rdx
callq 0x4130
leaq -0x58(%rbp), %rsi
leaq -0x38(%rbp), %rdx
movq %rbx, %rdi
callq 0x30c38
leaq -0x38(%rbp), %rdi
callq 0x4598
leaq -0x58(%rbp), %rdi
callq 0x4598
addq $0x130, %rsp            # imm = 0x130
popq %rbx
popq %r14
popq %rbp
retq
movq %rax, %rbx
leaq -0x38(%rbp), %rdi
callq 0x4598
jmp 0x2effa
movq %rax, %rbx
leaq -0x58(%rbp), %rdi
jmp 0x2f064
movq %rax, %rbx
leaq -0x78(%rbp), %rdi
jmp 0x2f064
jmp 0x2f06b
movq %rax, %rbx
leaq -0x98(%rbp), %rdi
callq 0x4598
jmp 0x2f01f
movq %rax, %rbx
leaq -0xb8(%rbp), %rdi
jmp 0x2f064
jmp 0x2f06b
movq %rax, %rbx
leaq -0xd8(%rbp), %rdi
callq 0x4598
jmp 0x2f03e
movq %rax, %rbx
leaq -0xf8(%rbp), %rdi
jmp 0x2f064
jmp 0x2f06b
movq %rax, %rbx
leaq -0x118(%rbp), %rdi
callq 0x4598
jmp 0x2f05d
movq %rax, %rbx
leaq -0x138(%rbp), %rdi
callq 0x4598
jmp 0x2f06e
movq %rax, %rbx
movq %rbx, %rdi
callq 0x4500
// File: /workspace/github_cpp_makefile_star2_O2/acliusBackHome[P]kamaya/dist/x86.cpp
// Function: x86::Assembler::quaMOD(std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>> const&)
void Assembler::quaMOD(const Qua &qua) {
  const string &x = get<1>(qua);
  const string &y = get<2>(qua);
  const string &z = get<3>(qua);
  mov("eax", x);
  mov("ebx", y);
  div("ebx");
  mov(z, "edx"); // eax存商 edx存余数
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0xf0, %rsp
movq %rsi, %r14
movq %rdi, %rbx
leaq 0xd6b2(%rip), %rsi      # 0x3c743
leaq -0xf8(%rbp), %rdi
leaq -0x11(%rbp), %rdx
callq 0x4130
leaq 0x40(%r14), %rsi
leaq -0xd8(%rbp), %rdi
callq 0x43a0
leaq -0xf8(%rbp), %rsi
leaq -0xd8(%rbp), %rdx
movq %rbx, %rdi
callq 0x30c38
leaq -0xd8(%rbp), %rdi
callq 0x4598
leaq -0xf8(%rbp), %rdi
callq 0x4598
leaq 0xd661(%rip), %rsi      # 0x3c747
leaq -0xb8(%rbp), %rdi
leaq -0x11(%rbp), %rdx
callq 0x4130
leaq 0x20(%r14), %rsi
leaq -0x98(%rbp), %rdi
callq 0x43a0
leaq -0xb8(%rbp), %rsi
leaq -0x98(%rbp), %rdx
movq %rbx, %rdi
callq 0x30c38
leaq -0x98(%rbp), %rdi
callq 0x4598
leaq -0xb8(%rbp), %rdi
callq 0x4598
leaq 0xd60c(%rip), %rsi      # 0x3c747
leaq -0x78(%rbp), %rdi
leaq -0x11(%rbp), %rdx
callq 0x4130
leaq -0x78(%rbp), %rsi
movq %rbx, %rdi
callq 0x30fe2
leaq -0x78(%rbp), %rdi
callq 0x4598
leaq -0x58(%rbp), %rdi
movq %r14, %rsi
callq 0x43a0
leaq 0xd5df(%rip), %rsi      # 0x3c74f
leaq -0x38(%rbp), %rdi
leaq -0x11(%rbp), %rdx
callq 0x4130
leaq -0x58(%rbp), %rsi
leaq -0x38(%rbp), %rdx
movq %rbx, %rdi
callq 0x30c38
leaq -0x38(%rbp), %rdi
callq 0x4598
leaq -0x58(%rbp), %rdi
callq 0x4598
addq $0xf0, %rsp
popq %rbx
popq %r14
popq %rbp
retq
movq %rax, %rbx
leaq -0x38(%rbp), %rdi
callq 0x4598
jmp 0x2f1bc
movq %rax, %rbx
leaq -0x58(%rbp), %rdi
jmp 0x2f207
movq %rax, %rbx
leaq -0x78(%rbp), %rdi
jmp 0x2f207
jmp 0x2f20e
movq %rax, %rbx
leaq -0x98(%rbp), %rdi
callq 0x4598
jmp 0x2f1e1
movq %rax, %rbx
leaq -0xb8(%rbp), %rdi
jmp 0x2f207
jmp 0x2f20e
movq %rax, %rbx
leaq -0xd8(%rbp), %rdi
callq 0x4598
jmp 0x2f200
movq %rax, %rbx
leaq -0xf8(%rbp), %rdi
callq 0x4598
jmp 0x2f211
movq %rax, %rbx
movq %rbx, %rdi
callq 0x4500
nop
// File: /workspace/github_cpp_makefile_star2_O2/acliusBackHome[P]kamaya/dist/x86.cpp
// Function: x86::Assembler::quaASSIGN(std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>> const&)
void Assembler::quaASSIGN(const Qua &qua) {
  // (:=,0,_,[esp+0])
  const string &dist = get<3>(qua);
  const string &src = get<1>(qua);
  if (dist == "eax" || src == "eax") {
    mov(dist, src);
  } else {
    mov("eax", src);
    mov(dist, "eax");
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0xc8, %rsp
movq %rsi, %r14
movq %rdi, %rbx
leaq 0x40(%rsi), %r15
leaq 0xd508(%rip), %rsi      # 0x3c743
movq %r14, %rdi
callq 0x1ddf5
testb %al, %al
jne 0x2f25a
leaq 0xd4f5(%rip), %rsi      # 0x3c743
movq %r15, %rdi
callq 0x1ddf5
testb %al, %al
je 0x2f29a
leaq -0xe0(%rbp), %rdi
movq %r14, %rsi
callq 0x43a0
leaq -0xa0(%rbp), %rdi
movq %r15, %rsi
callq 0x43a0
leaq -0xe0(%rbp), %r14
leaq -0xa0(%rbp), %rdx
movq %rbx, %rdi
movq %r14, %rsi
callq 0x30c38
leaq -0xa0(%rbp), %rdi
jmp 0x2f319
leaq 0xd4a2(%rip), %rsi      # 0x3c743
leaq -0x80(%rbp), %rdi
leaq -0x19(%rbp), %rdx
callq 0x4130
leaq -0x60(%rbp), %rdi
movq %r15, %rsi
callq 0x43a0
leaq -0x80(%rbp), %rsi
leaq -0x60(%rbp), %rdx
movq %rbx, %rdi
callq 0x30c38
leaq -0x60(%rbp), %rdi
callq 0x4598
leaq -0x80(%rbp), %rdi
callq 0x4598
leaq -0xc0(%rbp), %rdi
movq %r14, %rsi
callq 0x43a0
leaq 0xd451(%rip), %rsi      # 0x3c743
leaq -0x40(%rbp), %rdi
leaq -0x19(%rbp), %rdx
callq 0x4130
leaq -0xc0(%rbp), %r14
leaq -0x40(%rbp), %rdx
movq %rbx, %rdi
movq %r14, %rsi
callq 0x30c38
leaq -0x40(%rbp), %rdi
callq 0x4598
movq %r14, %rdi
callq 0x4598
addq $0xc8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
leaq -0x40(%rbp), %rdi
callq 0x4598
jmp 0x2f345
movq %rax, %rbx
leaq -0xc0(%rbp), %rdi
jmp 0x2f385
movq %rax, %rbx
leaq -0x60(%rbp), %rdi
callq 0x4598
jmp 0x2f35f
movq %rax, %rbx
leaq -0x80(%rbp), %rdi
jmp 0x2f385
movq %rax, %rbx
jmp 0x2f38a
movq %rax, %rbx
leaq -0xa0(%rbp), %rdi
callq 0x4598
jmp 0x2f37e
movq %rax, %rbx
leaq -0xe0(%rbp), %rdi
callq 0x4598
movq %rbx, %rdi
callq 0x4500
// File: /workspace/github_cpp_makefile_star2_O2/acliusBackHome[P]kamaya/dist/x86.cpp
// Function: x86::Assembler::quaALLOC(std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>> const&)
void Assembler::quaALLOC(const Qua &qua) {
  static int stackTop = 0;
  // (alloc,1648,4,_2@T2)
  string top = get<1>(qua);
  string sz = get<2>(qua);
  stackTop = max(stackTop, stoi(top));
  if (stackTop < stoi(top)) {
    stackTop = stoi(top);
    sub("esp", sz);
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x90, %rsp
movq %rsi, %r14
movq %rdi, %rbx
addq $0x40, %rsi
leaq -0x38(%rbp), %rdi
callq 0x43a0
addq $0x20, %r14
leaq -0x98(%rbp), %rdi
movq %r14, %rsi
callq 0x43a0
leaq -0x38(%rbp), %rdi
pushq $0xa
popq %rdx
xorl %esi, %esi
callq 0x311d6
movl %eax, %r14d
movl 0x2508b(%rip), %eax     # 0x54468
cmpl %r14d, %eax
cmovgl %eax, %r14d
movl %r14d, 0x2507d(%rip)    # 0x54468
leaq -0x38(%rbp), %rdi
pushq $0xa
popq %rdx
xorl %esi, %esi
callq 0x311d6
cmpl %eax, %r14d
jge 0x2f458
leaq -0x38(%rbp), %rdi
pushq $0xa
popq %rdx
xorl %esi, %esi
callq 0x311d6
movl %eax, 0x25056(%rip)     # 0x54468
leaq 0xd33a(%rip), %rsi      # 0x3c753
leaq -0x78(%rbp), %rdi
leaq -0x11(%rbp), %rdx
callq 0x4130
leaq -0x58(%rbp), %rdi
leaq -0x98(%rbp), %rsi
callq 0x43a0
leaq -0x78(%rbp), %rsi
leaq -0x58(%rbp), %rdx
movq %rbx, %rdi
callq 0x30e1c
leaq -0x58(%rbp), %rdi
callq 0x4598
leaq -0x78(%rbp), %rdi
callq 0x4598
leaq -0x98(%rbp), %rdi
callq 0x4598
leaq -0x38(%rbp), %rdi
callq 0x4598
addq $0x90, %rsp
popq %rbx
popq %r14
popq %rbp
retq
movq %rax, %rbx
leaq -0x58(%rbp), %rdi
callq 0x4598
jmp 0x2f48a
movq %rax, %rbx
leaq -0x78(%rbp), %rdi
callq 0x4598
jmp 0x2f4a1
jmp 0x2f49e
jmp 0x2f49e
movq %rax, %rbx
jmp 0x2f4ad
movq %rax, %rbx
leaq -0x98(%rbp), %rdi
callq 0x4598
leaq -0x38(%rbp), %rdi
callq 0x4598
movq %rbx, %rdi
callq 0x4500
// File: /workspace/github_cpp_makefile_star2_O2/acliusBackHome[P]kamaya/dist/x86.cpp
// Function: x86::Assembler::quaLOGICAND(std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>> const&)
void Assembler::quaLOGICAND(const Qua &qua) {
  // (||,[ebp+28],[ebp+29],[ebp+30])
  const string &a = get<1>(qua);
  const string &b = get<2>(qua);
  const string &c = get<3>(qua);
  mov("eax", a);
  mov("ebx", b);
  _and("eax", "ebx");
  mov(c, "eax");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x110, %rsp            # imm = 0x110
movq %rsi, %r14
movq %rdi, %rbx
leaq 0xd010(%rip), %rsi      # 0x3c743
leaq -0x118(%rbp), %rdi
leaq -0x11(%rbp), %rdx
callq 0x4130
leaq 0x40(%r14), %rsi
leaq -0xf8(%rbp), %rdi
callq 0x43a0
leaq -0x118(%rbp), %rsi
leaq -0xf8(%rbp), %rdx
movq %rbx, %rdi
callq 0x30c38
leaq -0xf8(%rbp), %rdi
callq 0x4598
leaq -0x118(%rbp), %rdi
callq 0x4598
leaq 0xcfbf(%rip), %rsi      # 0x3c747
leaq -0xd8(%rbp), %rdi
leaq -0x11(%rbp), %rdx
callq 0x4130
leaq 0x20(%r14), %rsi
leaq -0xb8(%rbp), %rdi
callq 0x43a0
leaq -0xd8(%rbp), %rsi
leaq -0xb8(%rbp), %rdx
movq %rbx, %rdi
callq 0x30c38
leaq -0xb8(%rbp), %rdi
callq 0x4598
leaq -0xd8(%rbp), %rdi
callq 0x4598
leaq 0xcf66(%rip), %rsi      # 0x3c743
leaq -0x98(%rbp), %rdi
leaq -0x11(%rbp), %rdx
callq 0x4130
leaq 0xcf53(%rip), %rsi      # 0x3c747
leaq -0x78(%rbp), %rdi
leaq -0x12(%rbp), %rdx
callq 0x4130
leaq -0x98(%rbp), %rsi
leaq -0x78(%rbp), %rdx
movq %rbx, %rdi
callq 0x311f8
leaq -0x78(%rbp), %rdi
callq 0x4598
leaq -0x98(%rbp), %rdi
callq 0x4598
leaq -0x58(%rbp), %rdi
movq %r14, %rsi
callq 0x43a0
leaq 0xcf07(%rip), %rsi      # 0x3c743
leaq -0x38(%rbp), %rdi
leaq -0x11(%rbp), %rdx
callq 0x4130
leaq -0x58(%rbp), %rsi
leaq -0x38(%rbp), %rdx
movq %rbx, %rdi
callq 0x30c38
leaq -0x38(%rbp), %rdi
callq 0x4598
leaq -0x58(%rbp), %rdi
callq 0x4598
addq $0x110, %rsp            # imm = 0x110
popq %rbx
popq %r14
popq %rbp
retq
movq %rax, %rbx
leaq -0x38(%rbp), %rdi
callq 0x4598
jmp 0x2f888
movq %rax, %rbx
leaq -0x58(%rbp), %rdi
jmp 0x2f8e4
movq %rax, %rbx
leaq -0x78(%rbp), %rdi
callq 0x4598
jmp 0x2f89f
movq %rax, %rbx
leaq -0x98(%rbp), %rdi
jmp 0x2f8e4
jmp 0x2f8eb
movq %rax, %rbx
leaq -0xb8(%rbp), %rdi
callq 0x4598
jmp 0x2f8be
movq %rax, %rbx
leaq -0xd8(%rbp), %rdi
jmp 0x2f8e4
jmp 0x2f8eb
movq %rax, %rbx
leaq -0xf8(%rbp), %rdi
callq 0x4598
jmp 0x2f8dd
movq %rax, %rbx
leaq -0x118(%rbp), %rdi
callq 0x4598
jmp 0x2f8ee
movq %rax, %rbx
movq %rbx, %rdi
callq 0x4500
// File: /workspace/github_cpp_makefile_star2_O2/acliusBackHome[P]kamaya/dist/x86.cpp
// Function: x86::Assembler::quaLOGICOR(std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>> const&)
void Assembler::quaLOGICOR(const Qua &qua) {
  // (||,[ebp+28],[ebp+29],[ebp+30])
  const string &a = get<1>(qua);
  const string &b = get<2>(qua);
  const string &c = get<3>(qua);
  mov("eax", a);
  mov("ebx", b);
  _or("eax", "ebx");
  mov(c, "eax");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x110, %rsp            # imm = 0x110
movq %rsi, %r14
movq %rdi, %rbx
leaq 0xce32(%rip), %rsi      # 0x3c743
leaq -0x118(%rbp), %rdi
leaq -0x11(%rbp), %rdx
callq 0x4130
leaq 0x40(%r14), %rsi
leaq -0xf8(%rbp), %rdi
callq 0x43a0
leaq -0x118(%rbp), %rsi
leaq -0xf8(%rbp), %rdx
movq %rbx, %rdi
callq 0x30c38
leaq -0xf8(%rbp), %rdi
callq 0x4598
leaq -0x118(%rbp), %rdi
callq 0x4598
leaq 0xcde1(%rip), %rsi      # 0x3c747
leaq -0xd8(%rbp), %rdi
leaq -0x11(%rbp), %rdx
callq 0x4130
leaq 0x20(%r14), %rsi
leaq -0xb8(%rbp), %rdi
callq 0x43a0
leaq -0xd8(%rbp), %rsi
leaq -0xb8(%rbp), %rdx
movq %rbx, %rdi
callq 0x30c38
leaq -0xb8(%rbp), %rdi
callq 0x4598
leaq -0xd8(%rbp), %rdi
callq 0x4598
leaq 0xcd88(%rip), %rsi      # 0x3c743
leaq -0x98(%rbp), %rdi
leaq -0x11(%rbp), %rdx
callq 0x4130
leaq 0xcd75(%rip), %rsi      # 0x3c747
leaq -0x78(%rbp), %rdi
leaq -0x12(%rbp), %rdx
callq 0x4130
leaq -0x98(%rbp), %rsi
leaq -0x78(%rbp), %rdx
movq %rbx, %rdi
callq 0x312ea
leaq -0x78(%rbp), %rdi
callq 0x4598
leaq -0x98(%rbp), %rdi
callq 0x4598
leaq -0x58(%rbp), %rdi
movq %r14, %rsi
callq 0x43a0
leaq 0xcd29(%rip), %rsi      # 0x3c743
leaq -0x38(%rbp), %rdi
leaq -0x11(%rbp), %rdx
callq 0x4130
leaq -0x58(%rbp), %rsi
leaq -0x38(%rbp), %rdx
movq %rbx, %rdi
callq 0x30c38
leaq -0x38(%rbp), %rdi
callq 0x4598
leaq -0x58(%rbp), %rdi
callq 0x4598
addq $0x110, %rsp            # imm = 0x110
popq %rbx
popq %r14
popq %rbp
retq
movq %rax, %rbx
leaq -0x38(%rbp), %rdi
callq 0x4598
jmp 0x2fa66
movq %rax, %rbx
leaq -0x58(%rbp), %rdi
jmp 0x2fac2
movq %rax, %rbx
leaq -0x78(%rbp), %rdi
callq 0x4598
jmp 0x2fa7d
movq %rax, %rbx
leaq -0x98(%rbp), %rdi
jmp 0x2fac2
jmp 0x2fac9
movq %rax, %rbx
leaq -0xb8(%rbp), %rdi
callq 0x4598
jmp 0x2fa9c
movq %rax, %rbx
leaq -0xd8(%rbp), %rdi
jmp 0x2fac2
jmp 0x2fac9
movq %rax, %rbx
leaq -0xf8(%rbp), %rdi
callq 0x4598
jmp 0x2fabb
movq %rax, %rbx
leaq -0x118(%rbp), %rdi
callq 0x4598
jmp 0x2facc
movq %rax, %rbx
movq %rbx, %rdi
callq 0x4500
// File: /workspace/github_cpp_makefile_star2_O2/acliusBackHome[P]kamaya/dist/x86.cpp
// Function: x86::Assembler::getBlockName(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
string Assembler::getBlockName(string jto) {
  string blockName;
  const string &block = "block";
  size_t linenum = stoi(jto);
  map<size_t, size_t> &lineToBlockID = get<1>(bbla);
  map<size_t, size_t>::iterator iter = lineToBlockID.find(linenum);
  if (iter != lineToBlockID.end()) {
    blockName = block + to_string(iter->second);
  } else {
    log("cannot find this linenum");
  }
  return blockName;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x68, %rsp
movq %rdx, %r15
movq %rsi, %r14
movq %rdi, %rbx
leaq 0x10(%rdi), %rax
movq %rax, (%rdi)
andq $0x0, 0x8(%rdi)
movb $0x0, 0x10(%rdi)
leaq 0xcc11(%rip), %rsi      # 0x3c79e
leaq -0x80(%rbp), %rdi
leaq -0x38(%rbp), %rdx
callq 0x4130
pushq $0xa
popq %rdx
movq %r15, %rdi
xorl %esi, %esi
callq 0x311d6
cltq
leaq -0x60(%rbp), %rsi
movq %rax, (%rsi)
leaq 0xf0(%r14), %rdi
callq 0x1ed50
leaq 0xf8(%r14), %rcx
cmpq %rcx, %rax
je 0x2fc03
movq 0x28(%rax), %rsi
leaq -0x58(%rbp), %rdi
callq 0xc865
leaq -0x38(%rbp), %rdi
leaq -0x80(%rbp), %rsi
leaq -0x58(%rbp), %rdx
callq 0x296ac
leaq -0x38(%rbp), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0x4340
movq %r14, %rdi
callq 0x4598
leaq -0x58(%rbp), %rdi
jmp 0x2fc27
leaq 0xcc31(%rip), %rsi      # 0x3c83b
leaq -0x38(%rbp), %rdi
leaq -0x58(%rbp), %rdx
callq 0x4130
leaq -0x38(%rbp), %rsi
movq %r14, %rdi
callq 0x2e70c
leaq -0x38(%rbp), %rdi
callq 0x4598
leaq -0x80(%rbp), %rdi
callq 0x4598
movq %rbx, %rax
addq $0x68, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %r14
leaq -0x38(%rbp), %rdi
jmp 0x2fc55
jmp 0x2fc60
movq %rax, %r14
leaq -0x58(%rbp), %rdi
callq 0x4598
jmp 0x2fc63
jmp 0x2fc60
jmp 0x2fc60
movq %rax, %r14
leaq -0x80(%rbp), %rdi
callq 0x4598
jmp 0x2fc71
movq %rax, %r14
movq %rbx, %rdi
callq 0x4598
movq %r14, %rdi
callq 0x4500
nop
// File: /workspace/github_cpp_makefile_star2_O2/acliusBackHome[P]kamaya/dist/x86.cpp
// Function: x86::Assembler::quaJLT(std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>> const&)
void Assembler::quaJLT(const Qua &qua) {
  // (j<,[esp+8],10,19)
  const string &x = get<1>(qua);
  const string &y = get<2>(qua);
  const string &jto = get<3>(qua);
  string blockName = getBlockName(jto);
  cmp(x, y);
  jlt(blockName);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0xa0, %rsp
movq %rsi, %r15
movq %rdi, %r14
leaq -0xc0(%rbp), %r12
movq %r12, %rdi
callq 0x43a0
leaq -0xa0(%rbp), %rbx
movq %rbx, %rdi
movq %r14, %rsi
movq %r12, %rdx
callq 0x2fb60
leaq 0x40(%r15), %r12
leaq -0xc0(%rbp), %rdi
callq 0x4598
leaq -0x80(%rbp), %rdi
movq %r12, %rsi
callq 0x43a0
addq $0x20, %r15
leaq -0x60(%rbp), %rdi
movq %r15, %rsi
callq 0x43a0
leaq -0x80(%rbp), %rsi
leaq -0x60(%rbp), %rdx
movq %r14, %rdi
callq 0x314b0
leaq -0x60(%rbp), %rdi
callq 0x4598
leaq -0x80(%rbp), %rdi
callq 0x4598
leaq -0x40(%rbp), %rdi
leaq -0xa0(%rbp), %r15
movq %r15, %rsi
callq 0x43a0
leaq -0x40(%rbp), %rsi
movq %r14, %rdi
callq 0x3166c
leaq -0x40(%rbp), %rdi
callq 0x4598
leaq -0xa0(%rbp), %rdi
callq 0x4598
addq $0xa0, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %r14
leaq -0x40(%rbp), %rdi
callq 0x4598
movq %r15, %rbx
jmp 0x2fd88
movq %rax, %r14
leaq -0x60(%rbp), %rdi
callq 0x4598
jmp 0x2fd72
movq %rax, %r14
leaq -0x80(%rbp), %rdi
callq 0x4598
jmp 0x2fd88
movq %rax, %r14
movq %r12, %rbx
jmp 0x2fd88
movq %rax, %r14
movq %rbx, %rdi
callq 0x4598
movq %r14, %rdi
callq 0x4500
// File: /workspace/github_cpp_makefile_star2_O2/acliusBackHome[P]kamaya/dist/x86.cpp
// Function: x86::Assembler::quaJLE(std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>> const&)
void Assembler::quaJLE(const Qua &qua) {
  // (j<=,[esp+8],10,19)
  const string &x = get<1>(qua);
  const string &y = get<2>(qua);
  const string &jto = get<3>(qua);
  string blockName = getBlockName(jto);
  cmp(x, y);
  jle(blockName);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0xa0, %rsp
movq %rsi, %r15
movq %rdi, %r14
leaq -0xc0(%rbp), %r12
movq %r12, %rdi
callq 0x43a0
leaq -0xa0(%rbp), %rbx
movq %rbx, %rdi
movq %r14, %rsi
movq %r12, %rdx
callq 0x2fb60
leaq 0x40(%r15), %r12
leaq -0xc0(%rbp), %rdi
callq 0x4598
leaq -0x80(%rbp), %rdi
movq %r12, %rsi
callq 0x43a0
addq $0x20, %r15
leaq -0x60(%rbp), %rdi
movq %r15, %rsi
callq 0x43a0
leaq -0x80(%rbp), %rsi
leaq -0x60(%rbp), %rdx
movq %r14, %rdi
callq 0x314b0
leaq -0x60(%rbp), %rdi
callq 0x4598
leaq -0x80(%rbp), %rdi
callq 0x4598
leaq -0x40(%rbp), %rdi
leaq -0xa0(%rbp), %r15
movq %r15, %rsi
callq 0x43a0
leaq -0x40(%rbp), %rsi
movq %r14, %rdi
callq 0x31740
leaq -0x40(%rbp), %rdi
callq 0x4598
leaq -0xa0(%rbp), %rdi
callq 0x4598
addq $0xa0, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %r14
leaq -0x40(%rbp), %rdi
callq 0x4598
movq %r15, %rbx
jmp 0x2fe9e
movq %rax, %r14
leaq -0x60(%rbp), %rdi
callq 0x4598
jmp 0x2fe88
movq %rax, %r14
leaq -0x80(%rbp), %rdi
callq 0x4598
jmp 0x2fe9e
movq %rax, %r14
movq %r12, %rbx
jmp 0x2fe9e
movq %rax, %r14
movq %rbx, %rdi
callq 0x4598
movq %r14, %rdi
callq 0x4500
// File: /workspace/github_cpp_makefile_star2_O2/acliusBackHome[P]kamaya/dist/x86.cpp
// Function: x86::Assembler::quaJGT(std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>> const&)
void Assembler::quaJGT(const Qua &qua) {
  // (j>,[esp+8],10,19)
  const string &x = get<1>(qua);
  const string &y = get<2>(qua);
  const string &jto = get<3>(qua);
  string blockName = getBlockName(jto);
  cmp(x, y);
  jgt(blockName);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0xa0, %rsp
movq %rsi, %r15
movq %rdi, %r14
leaq -0xc0(%rbp), %r12
movq %r12, %rdi
callq 0x43a0
leaq -0xa0(%rbp), %rbx
movq %rbx, %rdi
movq %r14, %rsi
movq %r12, %rdx
callq 0x2fb60
leaq 0x40(%r15), %r12
leaq -0xc0(%rbp), %rdi
callq 0x4598
leaq -0x80(%rbp), %rdi
movq %r12, %rsi
callq 0x43a0
addq $0x20, %r15
leaq -0x60(%rbp), %rdi
movq %r15, %rsi
callq 0x43a0
leaq -0x80(%rbp), %rsi
leaq -0x60(%rbp), %rdx
movq %r14, %rdi
callq 0x314b0
leaq -0x60(%rbp), %rdi
callq 0x4598
leaq -0x80(%rbp), %rdi
callq 0x4598
leaq -0x40(%rbp), %rdi
leaq -0xa0(%rbp), %r15
movq %r15, %rsi
callq 0x43a0
leaq -0x40(%rbp), %rsi
movq %r14, %rdi
callq 0x31814
leaq -0x40(%rbp), %rdi
callq 0x4598
leaq -0xa0(%rbp), %rdi
callq 0x4598
addq $0xa0, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %r14
leaq -0x40(%rbp), %rdi
callq 0x4598
movq %r15, %rbx
jmp 0x2ffb4
movq %rax, %r14
leaq -0x60(%rbp), %rdi
callq 0x4598
jmp 0x2ff9e
movq %rax, %r14
leaq -0x80(%rbp), %rdi
callq 0x4598
jmp 0x2ffb4
movq %rax, %r14
movq %r12, %rbx
jmp 0x2ffb4
movq %rax, %r14
movq %rbx, %rdi
callq 0x4598
movq %r14, %rdi
callq 0x4500
// File: /workspace/github_cpp_makefile_star2_O2/acliusBackHome[P]kamaya/dist/x86.cpp
// Function: x86::Assembler::quaJGE(std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>> const&)
void Assembler::quaJGE(const Qua &qua) {
  // (j>=,[esp+8],10,19)
  const string &x = get<1>(qua);
  const string &y = get<2>(qua);
  const string &jto = get<3>(qua);
  string blockName = getBlockName(jto);
  cmp(x, y);
  jge(blockName);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0xa0, %rsp
movq %rsi, %r15
movq %rdi, %r14
leaq -0xc0(%rbp), %r12
movq %r12, %rdi
callq 0x43a0
leaq -0xa0(%rbp), %rbx
movq %rbx, %rdi
movq %r14, %rsi
movq %r12, %rdx
callq 0x2fb60
leaq 0x40(%r15), %r12
leaq -0xc0(%rbp), %rdi
callq 0x4598
leaq -0x80(%rbp), %rdi
movq %r12, %rsi
callq 0x43a0
addq $0x20, %r15
leaq -0x60(%rbp), %rdi
movq %r15, %rsi
callq 0x43a0
leaq -0x80(%rbp), %rsi
leaq -0x60(%rbp), %rdx
movq %r14, %rdi
callq 0x314b0
leaq -0x60(%rbp), %rdi
callq 0x4598
leaq -0x80(%rbp), %rdi
callq 0x4598
leaq -0x40(%rbp), %rdi
leaq -0xa0(%rbp), %r15
movq %r15, %rsi
callq 0x43a0
leaq -0x40(%rbp), %rsi
movq %r14, %rdi
callq 0x318e8
leaq -0x40(%rbp), %rdi
callq 0x4598
leaq -0xa0(%rbp), %rdi
callq 0x4598
addq $0xa0, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %r14
leaq -0x40(%rbp), %rdi
callq 0x4598
movq %r15, %rbx
jmp 0x300ca
movq %rax, %r14
leaq -0x60(%rbp), %rdi
callq 0x4598
jmp 0x300b4
movq %rax, %r14
leaq -0x80(%rbp), %rdi
callq 0x4598
jmp 0x300ca
movq %rax, %r14
movq %r12, %rbx
jmp 0x300ca
movq %rax, %r14
movq %rbx, %rdi
callq 0x4598
movq %r14, %rdi
callq 0x4500
// File: /workspace/github_cpp_makefile_star2_O2/acliusBackHome[P]kamaya/dist/x86.cpp
// Function: x86::Assembler::quaJE(std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>> const&)
void Assembler::quaJE(const Qua &qua) {
  //(j==,[ebp+20],10,25)
  const string &x = get<1>(qua);
  const string &y = get<2>(qua);
  const string &jto = get<3>(qua);
  string blockName = getBlockName(jto);
  cmp(x, y);
  je(blockName);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0xa0, %rsp
movq %rsi, %r15
movq %rdi, %r14
leaq -0xc0(%rbp), %r12
movq %r12, %rdi
callq 0x43a0
leaq -0xa0(%rbp), %rbx
movq %rbx, %rdi
movq %r14, %rsi
movq %r12, %rdx
callq 0x2fb60
leaq 0x40(%r15), %r12
leaq -0xc0(%rbp), %rdi
callq 0x4598
leaq -0x80(%rbp), %rdi
movq %r12, %rsi
callq 0x43a0
addq $0x20, %r15
leaq -0x60(%rbp), %rdi
movq %r15, %rsi
callq 0x43a0
leaq -0x80(%rbp), %rsi
leaq -0x60(%rbp), %rdx
movq %r14, %rdi
callq 0x314b0
leaq -0x60(%rbp), %rdi
callq 0x4598
leaq -0x80(%rbp), %rdi
callq 0x4598
leaq -0x40(%rbp), %rdi
leaq -0xa0(%rbp), %r15
movq %r15, %rsi
callq 0x43a0
leaq -0x40(%rbp), %rsi
movq %r14, %rdi
callq 0x319bc
leaq -0x40(%rbp), %rdi
callq 0x4598
leaq -0xa0(%rbp), %rdi
callq 0x4598
addq $0xa0, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %r14
leaq -0x40(%rbp), %rdi
callq 0x4598
movq %r15, %rbx
jmp 0x301e0
movq %rax, %r14
leaq -0x60(%rbp), %rdi
callq 0x4598
jmp 0x301ca
movq %rax, %r14
leaq -0x80(%rbp), %rdi
callq 0x4598
jmp 0x301e0
movq %rax, %r14
movq %r12, %rbx
jmp 0x301e0
movq %rax, %r14
movq %rbx, %rdi
callq 0x4598
movq %r14, %rdi
callq 0x4500
// File: /workspace/github_cpp_makefile_star2_O2/acliusBackHome[P]kamaya/dist/x86.cpp
// Function: x86::Assembler::quaJNE(std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>> const&)
void Assembler::quaJNE(const Qua &qua) {
  //(j!=,[ebp+20],10,25)
  const string &x = get<1>(qua);
  const string &y = get<2>(qua);
  const string &jto = get<3>(qua);
  string blockName = getBlockName(jto);
  cmp(x, y);
  jne(blockName);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0xa0, %rsp
movq %rsi, %r15
movq %rdi, %r14
leaq -0xc0(%rbp), %r12
movq %r12, %rdi
callq 0x43a0
leaq -0xa0(%rbp), %rbx
movq %rbx, %rdi
movq %r14, %rsi
movq %r12, %rdx
callq 0x2fb60
leaq 0x40(%r15), %r12
leaq -0xc0(%rbp), %rdi
callq 0x4598
leaq -0x80(%rbp), %rdi
movq %r12, %rsi
callq 0x43a0
addq $0x20, %r15
leaq -0x60(%rbp), %rdi
movq %r15, %rsi
callq 0x43a0
leaq -0x80(%rbp), %rsi
leaq -0x60(%rbp), %rdx
movq %r14, %rdi
callq 0x314b0
leaq -0x60(%rbp), %rdi
callq 0x4598
leaq -0x80(%rbp), %rdi
callq 0x4598
leaq -0x40(%rbp), %rdi
leaq -0xa0(%rbp), %r15
movq %r15, %rsi
callq 0x43a0
leaq -0x40(%rbp), %rsi
movq %r14, %rdi
callq 0x31a90
leaq -0x40(%rbp), %rdi
callq 0x4598
leaq -0xa0(%rbp), %rdi
callq 0x4598
addq $0xa0, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %r14
leaq -0x40(%rbp), %rdi
callq 0x4598
movq %r15, %rbx
jmp 0x302f6
movq %rax, %r14
leaq -0x60(%rbp), %rdi
callq 0x4598
jmp 0x302e0
movq %rax, %r14
leaq -0x80(%rbp), %rdi
callq 0x4598
jmp 0x302f6
movq %rax, %r14
movq %r12, %rbx
jmp 0x302f6
movq %rax, %r14
movq %rbx, %rdi
callq 0x4598
movq %r14, %rdi
callq 0x4500