// File: KJTang[P]SimpleCompiler/AST.cpp
// Function: BinaryExprAST::eval[abi:cxx11]()
std::string BinaryExprAST::eval() {
    std::string str = "";
    switch (mOpr) {
        case '+': {
            str += LHS->eval() + RHS->eval() + "ADD" + insEnd;
            break;
        }
        case '-': {
            str += LHS->eval() + RHS->eval() + "SUB" + insEnd;
            break;
        }
        case '*': {
            str += LHS->eval() + RHS->eval() + "MUL" + insEnd;
            break;
        }
        case '/': {
            str += LHS->eval() + RHS->eval() + "DIV" + insEnd;
            break;
        }
        case '=': {
            str += RHS->eval() + "SAVE " + LHS->eval().substr(5);
            break;
        }
        case '>': {
            str += LHS->eval() + RHS->eval() + "GT" + insEnd;
            break;
        }
        case '<': {
            str += LHS->eval() + RHS->eval() + "LT" + insEnd;
            break;
        }
        case (int)Token::OP_GTE: {
            str += LHS->eval() + RHS->eval() + "GTE" + insEnd;
            break;
        }
        case (int)Token::OP_LTE: {
            str += LHS->eval() + RHS->eval() + "LTE" + insEnd;
            break;
        }
        case (int)Token::OP_EQU: {
            str += LHS->eval() + RHS->eval() + "EQU" + insEnd;
            break;
        }
        case (int)Token::OP_NE: {
            str += LHS->eval() + RHS->eval() + "NE" + insEnd;
            break;
        }
        // case ',': {
        //     str = LHS->eval() , RHS->eval();
        //     break;
        // }
        default: {
            std::cout<<"Unknown BinaryExprAST opr: "<<mOpr<<std::endl;
            break;
        }
    }
    return str;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x740, %rsp            # imm = 0x740
movq %rdi, -0x718(%rbp)
movq %rdi, %rax
movq %rax, -0x728(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x720(%rbp)
movb $0x0, -0x11(%rbp)
leaq -0x12(%rbp), %rdi
movq %rdi, -0x710(%rbp)
callq 0x3480
movq -0x718(%rbp), %rdi
movq -0x710(%rbp), %rdx
leaq 0xf7b3(%rip), %rsi      # 0x1b2db
callq 0x3390
jmp 0xbb2f
leaq -0x12(%rbp), %rdi
callq 0x3300
movq -0x720(%rbp), %rax
movl 0xc(%rax), %eax
addl $-0x2, %eax
movl %eax, %ecx
movq %rcx, -0x730(%rbp)
subl $0x3c, %eax
ja 0xcb06
movq -0x730(%rbp), %rax
leaq 0xf5bf(%rip), %rcx      # 0x1b124
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x12(%rbp), %rdi
callq 0x3300
jmp 0xcb8a
movq -0x720(%rbp), %rax
movq 0x10(%rax), %rsi
movq (%rsi), %rax
movq 0x18(%rax), %rax
leaq -0xa8(%rbp), %rdi
callq *%rax
jmp 0xbba5
movq -0x720(%rbp), %rax
movq 0x18(%rax), %rsi
movq (%rsi), %rax
movq 0x18(%rax), %rax
leaq -0xc8(%rbp), %rdi
callq *%rax
jmp 0xbbc2
leaq -0x88(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
leaq -0xc8(%rbp), %rdx
callq 0xe070
jmp 0xbbde
leaq 0xf446(%rip), %rdx      # 0x1b02b
leaq -0x68(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0xe180
jmp 0xbbf7
leaq 0x1c6a2(%rip), %rdx     # 0x282a0
leaq -0x48(%rbp), %rdi
leaq -0x68(%rbp), %rsi
callq 0xdf10
jmp 0xbc0d
movq -0x718(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x3360
jmp 0xbc1f
leaq -0x48(%rbp), %rdi
callq 0x34f8
leaq -0x68(%rbp), %rdi
callq 0x34f8
leaq -0x88(%rbp), %rdi
callq 0x34f8
leaq -0xc8(%rbp), %rdi
callq 0x34f8
leaq -0xa8(%rbp), %rdi
callq 0x34f8
jmp 0xcb58
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xcb7e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xbcd9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xbccd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xbcc1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xbcb8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x48(%rbp), %rdi
callq 0x34f8
leaq -0x68(%rbp), %rdi
callq 0x34f8
leaq -0x88(%rbp), %rdi
callq 0x34f8
leaq -0xc8(%rbp), %rdi
callq 0x34f8
leaq -0xa8(%rbp), %rdi
callq 0x34f8
jmp 0xcb7e
movq -0x720(%rbp), %rax
movq 0x10(%rax), %rsi
movq (%rsi), %rax
movq 0x18(%rax), %rax
leaq -0x148(%rbp), %rdi
callq *%rax
jmp 0xbd07
movq -0x720(%rbp), %rax
movq 0x18(%rax), %rsi
movq (%rsi), %rax
movq 0x18(%rax), %rax
leaq -0x168(%rbp), %rdi
callq *%rax
jmp 0xbd24
leaq -0x128(%rbp), %rdi
leaq -0x148(%rbp), %rsi
leaq -0x168(%rbp), %rdx
callq 0xe070
jmp 0xbd40
leaq 0xf2e8(%rip), %rdx      # 0x1b02f
leaq -0x108(%rbp), %rdi
leaq -0x128(%rbp), %rsi
callq 0xe180
jmp 0xbd5c
leaq 0x1c53d(%rip), %rdx     # 0x282a0
leaq -0xe8(%rbp), %rdi
leaq -0x108(%rbp), %rsi
callq 0xdf10
jmp 0xbd78
movq -0x718(%rbp), %rdi
leaq -0xe8(%rbp), %rsi
callq 0x3360
jmp 0xbd8d
leaq -0xe8(%rbp), %rdi
callq 0x34f8
leaq -0x108(%rbp), %rdi
callq 0x34f8
leaq -0x128(%rbp), %rdi
callq 0x34f8
leaq -0x168(%rbp), %rdi
callq 0x34f8
leaq -0x148(%rbp), %rdi
callq 0x34f8
jmp 0xcb58
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xbe42
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xbe36
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xbe2a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xbe1e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0xe8(%rbp), %rdi
callq 0x34f8
leaq -0x108(%rbp), %rdi
callq 0x34f8
leaq -0x128(%rbp), %rdi
callq 0x34f8
leaq -0x168(%rbp), %rdi
callq 0x34f8
leaq -0x148(%rbp), %rdi
callq 0x34f8
jmp 0xcb7e
movq -0x720(%rbp), %rax
movq 0x10(%rax), %rsi
movq (%rsi), %rax
movq 0x18(%rax), %rax
leaq -0x1e8(%rbp), %rdi
callq *%rax
jmp 0xbe70
movq -0x720(%rbp), %rax
movq 0x18(%rax), %rsi
movq (%rsi), %rax
movq 0x18(%rax), %rax
leaq -0x208(%rbp), %rdi
callq *%rax
jmp 0xbe8d
leaq -0x1c8(%rbp), %rdi
leaq -0x1e8(%rbp), %rsi
leaq -0x208(%rbp), %rdx
callq 0xe070
jmp 0xbea9
leaq 0xf183(%rip), %rdx      # 0x1b033
leaq -0x1a8(%rbp), %rdi
leaq -0x1c8(%rbp), %rsi
callq 0xe180
jmp 0xbec5
leaq 0x1c3d4(%rip), %rdx     # 0x282a0
leaq -0x188(%rbp), %rdi
leaq -0x1a8(%rbp), %rsi
callq 0xdf10
jmp 0xbee1
movq -0x718(%rbp), %rdi
leaq -0x188(%rbp), %rsi
callq 0x3360
jmp 0xbef6
leaq -0x188(%rbp), %rdi
callq 0x34f8
leaq -0x1a8(%rbp), %rdi
callq 0x34f8
leaq -0x1c8(%rbp), %rdi
callq 0x34f8
leaq -0x208(%rbp), %rdi
callq 0x34f8
leaq -0x1e8(%rbp), %rdi
callq 0x34f8
jmp 0xcb58
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xbfab
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xbf9f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xbf93
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xbf87
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x188(%rbp), %rdi
callq 0x34f8
leaq -0x1a8(%rbp), %rdi
callq 0x34f8
leaq -0x1c8(%rbp), %rdi
callq 0x34f8
leaq -0x208(%rbp), %rdi
callq 0x34f8
leaq -0x1e8(%rbp), %rdi
callq 0x34f8
jmp 0xcb7e
movq -0x720(%rbp), %rax
movq 0x10(%rax), %rsi
movq (%rsi), %rax
movq 0x18(%rax), %rax
leaq -0x288(%rbp), %rdi
callq *%rax
jmp 0xbfd9
movq -0x720(%rbp), %rax
movq 0x18(%rax), %rsi
movq (%rsi), %rax
movq 0x18(%rax), %rax
leaq -0x2a8(%rbp), %rdi
callq *%rax
jmp 0xbff6
leaq -0x268(%rbp), %rdi
leaq -0x288(%rbp), %rsi
leaq -0x2a8(%rbp), %rdx
callq 0xe070
jmp 0xc012
leaq 0xf01e(%rip), %rdx      # 0x1b037
leaq -0x248(%rbp), %rdi
leaq -0x268(%rbp), %rsi
callq 0xe180
jmp 0xc02e
leaq 0x1c26b(%rip), %rdx     # 0x282a0
leaq -0x228(%rbp), %rdi
leaq -0x248(%rbp), %rsi
callq 0xdf10
jmp 0xc04a
movq -0x718(%rbp), %rdi
leaq -0x228(%rbp), %rsi
callq 0x3360
jmp 0xc05f
leaq -0x228(%rbp), %rdi
callq 0x34f8
leaq -0x248(%rbp), %rdi
callq 0x34f8
leaq -0x268(%rbp), %rdi
callq 0x34f8
leaq -0x2a8(%rbp), %rdi
callq 0x34f8
leaq -0x288(%rbp), %rdi
callq 0x34f8
jmp 0xcb58
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xc114
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xc108
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xc0fc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xc0f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x228(%rbp), %rdi
callq 0x34f8
leaq -0x248(%rbp), %rdi
callq 0x34f8
leaq -0x268(%rbp), %rdi
callq 0x34f8
leaq -0x2a8(%rbp), %rdi
callq 0x34f8
leaq -0x288(%rbp), %rdi
callq 0x34f8
jmp 0xcb7e
movq -0x720(%rbp), %rax
movq 0x18(%rax), %rsi
movq (%rsi), %rax
movq 0x18(%rax), %rax
leaq -0x308(%rbp), %rdi
callq *%rax
jmp 0xc142
leaq 0xf1cb(%rip), %rdx      # 0x1b314
leaq -0x2e8(%rbp), %rdi
leaq -0x308(%rbp), %rsi
callq 0xe180
jmp 0xc15e
movq -0x720(%rbp), %rax
movq 0x10(%rax), %rsi
movq (%rsi), %rax
movq 0x18(%rax), %rax
leaq -0x348(%rbp), %rdi
callq *%rax
jmp 0xc17b
leaq -0x328(%rbp), %rdi
leaq -0x348(%rbp), %rsi
movl $0x5, %edx
movq $-0x1, %rcx
callq 0x32c0
jmp 0xc19c
leaq -0x2c8(%rbp), %rdi
leaq -0x2e8(%rbp), %rsi
leaq -0x328(%rbp), %rdx
callq 0xe070
jmp 0xc1b8
movq -0x718(%rbp), %rdi
leaq -0x2c8(%rbp), %rsi
callq 0x3360
jmp 0xc1cd
leaq -0x2c8(%rbp), %rdi
callq 0x34f8
leaq -0x328(%rbp), %rdi
callq 0x34f8
leaq -0x348(%rbp), %rdi
callq 0x34f8
leaq -0x2e8(%rbp), %rdi
callq 0x34f8
leaq -0x308(%rbp), %rdi
callq 0x34f8
jmp 0xcb58
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xc282
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xc276
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xc26a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xc25e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x2c8(%rbp), %rdi
callq 0x34f8
leaq -0x328(%rbp), %rdi
callq 0x34f8
leaq -0x348(%rbp), %rdi
callq 0x34f8
leaq -0x2e8(%rbp), %rdi
callq 0x34f8
leaq -0x308(%rbp), %rdi
callq 0x34f8
jmp 0xcb7e
movq -0x720(%rbp), %rax
movq 0x10(%rax), %rsi
movq (%rsi), %rax
movq 0x18(%rax), %rax
leaq -0x3c8(%rbp), %rdi
callq *%rax
jmp 0xc2b0
movq -0x720(%rbp), %rax
movq 0x18(%rax), %rsi
movq (%rsi), %rax
movq 0x18(%rax), %rax
leaq -0x3e8(%rbp), %rdi
callq *%rax
jmp 0xc2cd
leaq -0x3a8(%rbp), %rdi
leaq -0x3c8(%rbp), %rsi
leaq -0x3e8(%rbp), %rdx
callq 0xe070
jmp 0xc2e9
leaq 0xed4b(%rip), %rdx      # 0x1b03b
leaq -0x388(%rbp), %rdi
leaq -0x3a8(%rbp), %rsi
callq 0xe180
jmp 0xc305
leaq 0x1bf94(%rip), %rdx     # 0x282a0
leaq -0x368(%rbp), %rdi
leaq -0x388(%rbp), %rsi
callq 0xdf10
jmp 0xc321
movq -0x718(%rbp), %rdi
leaq -0x368(%rbp), %rsi
callq 0x3360
jmp 0xc336
leaq -0x368(%rbp), %rdi
callq 0x34f8
leaq -0x388(%rbp), %rdi
callq 0x34f8
leaq -0x3a8(%rbp), %rdi
callq 0x34f8
leaq -0x3e8(%rbp), %rdi
callq 0x34f8
leaq -0x3c8(%rbp), %rdi
callq 0x34f8
jmp 0xcb58
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xc3eb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xc3df
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xc3d3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xc3c7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x368(%rbp), %rdi
callq 0x34f8
leaq -0x388(%rbp), %rdi
callq 0x34f8
leaq -0x3a8(%rbp), %rdi
callq 0x34f8
leaq -0x3e8(%rbp), %rdi
callq 0x34f8
leaq -0x3c8(%rbp), %rdi
callq 0x34f8
jmp 0xcb7e
movq -0x720(%rbp), %rax
movq 0x10(%rax), %rsi
movq (%rsi), %rax
movq 0x18(%rax), %rax
leaq -0x468(%rbp), %rdi
callq *%rax
jmp 0xc419
movq -0x720(%rbp), %rax
movq 0x18(%rax), %rsi
movq (%rsi), %rax
movq 0x18(%rax), %rax
leaq -0x488(%rbp), %rdi
callq *%rax
jmp 0xc436
leaq -0x448(%rbp), %rdi
leaq -0x468(%rbp), %rsi
leaq -0x488(%rbp), %rdx
callq 0xe070
jmp 0xc452
leaq 0xebe5(%rip), %rdx      # 0x1b03e
leaq -0x428(%rbp), %rdi
leaq -0x448(%rbp), %rsi
callq 0xe180
jmp 0xc46e
leaq 0x1be2b(%rip), %rdx     # 0x282a0
leaq -0x408(%rbp), %rdi
leaq -0x428(%rbp), %rsi
callq 0xdf10
jmp 0xc48a
movq -0x718(%rbp), %rdi
leaq -0x408(%rbp), %rsi
callq 0x3360
jmp 0xc49f
leaq -0x408(%rbp), %rdi
callq 0x34f8
leaq -0x428(%rbp), %rdi
callq 0x34f8
leaq -0x448(%rbp), %rdi
callq 0x34f8
leaq -0x488(%rbp), %rdi
callq 0x34f8
leaq -0x468(%rbp), %rdi
callq 0x34f8
jmp 0xcb58
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xc554
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xc548
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xc53c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xc530
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x408(%rbp), %rdi
callq 0x34f8
leaq -0x428(%rbp), %rdi
callq 0x34f8
leaq -0x448(%rbp), %rdi
callq 0x34f8
leaq -0x488(%rbp), %rdi
callq 0x34f8
leaq -0x468(%rbp), %rdi
callq 0x34f8
jmp 0xcb7e
movq -0x720(%rbp), %rax
movq 0x10(%rax), %rsi
movq (%rsi), %rax
movq 0x18(%rax), %rax
leaq -0x508(%rbp), %rdi
callq *%rax
jmp 0xc582
movq -0x720(%rbp), %rax
movq 0x18(%rax), %rsi
movq (%rsi), %rax
movq 0x18(%rax), %rax
leaq -0x528(%rbp), %rdi
callq *%rax
jmp 0xc59f
leaq -0x4e8(%rbp), %rdi
leaq -0x508(%rbp), %rsi
leaq -0x528(%rbp), %rdx
callq 0xe070
jmp 0xc5bb
leaq 0xea7f(%rip), %rdx      # 0x1b041
leaq -0x4c8(%rbp), %rdi
leaq -0x4e8(%rbp), %rsi
callq 0xe180
jmp 0xc5d7
leaq 0x1bcc2(%rip), %rdx     # 0x282a0
leaq -0x4a8(%rbp), %rdi
leaq -0x4c8(%rbp), %rsi
callq 0xdf10
jmp 0xc5f3
movq -0x718(%rbp), %rdi
leaq -0x4a8(%rbp), %rsi
callq 0x3360
jmp 0xc608
leaq -0x4a8(%rbp), %rdi
callq 0x34f8
leaq -0x4c8(%rbp), %rdi
callq 0x34f8
leaq -0x4e8(%rbp), %rdi
callq 0x34f8
leaq -0x528(%rbp), %rdi
callq 0x34f8
leaq -0x508(%rbp), %rdi
callq 0x34f8
jmp 0xcb58
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xc6bd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xc6b1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xc6a5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xc699
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x4a8(%rbp), %rdi
callq 0x34f8
leaq -0x4c8(%rbp), %rdi
callq 0x34f8
leaq -0x4e8(%rbp), %rdi
callq 0x34f8
leaq -0x528(%rbp), %rdi
callq 0x34f8
leaq -0x508(%rbp), %rdi
callq 0x34f8
jmp 0xcb7e
movq -0x720(%rbp), %rax
movq 0x10(%rax), %rsi
movq (%rsi), %rax
movq 0x18(%rax), %rax
leaq -0x5a8(%rbp), %rdi
callq *%rax
jmp 0xc6eb
movq -0x720(%rbp), %rax
movq 0x18(%rax), %rsi
movq (%rsi), %rax
movq 0x18(%rax), %rax
leaq -0x5c8(%rbp), %rdi
callq *%rax
jmp 0xc708
leaq -0x588(%rbp), %rdi
leaq -0x5a8(%rbp), %rsi
leaq -0x5c8(%rbp), %rdx
callq 0xe070
jmp 0xc724
leaq 0xe91a(%rip), %rdx      # 0x1b045
leaq -0x568(%rbp), %rdi
leaq -0x588(%rbp), %rsi
callq 0xe180
jmp 0xc740
leaq 0x1bb59(%rip), %rdx     # 0x282a0
leaq -0x548(%rbp), %rdi
leaq -0x568(%rbp), %rsi
callq 0xdf10
jmp 0xc75c
movq -0x718(%rbp), %rdi
leaq -0x548(%rbp), %rsi
callq 0x3360
jmp 0xc771
leaq -0x548(%rbp), %rdi
callq 0x34f8
leaq -0x568(%rbp), %rdi
callq 0x34f8
leaq -0x588(%rbp), %rdi
callq 0x34f8
leaq -0x5c8(%rbp), %rdi
callq 0x34f8
leaq -0x5a8(%rbp), %rdi
callq 0x34f8
jmp 0xcb58
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xc826
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xc81a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xc80e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xc802
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x548(%rbp), %rdi
callq 0x34f8
leaq -0x568(%rbp), %rdi
callq 0x34f8
leaq -0x588(%rbp), %rdi
callq 0x34f8
leaq -0x5c8(%rbp), %rdi
callq 0x34f8
leaq -0x5a8(%rbp), %rdi
callq 0x34f8
jmp 0xcb7e
movq -0x720(%rbp), %rax
movq 0x10(%rax), %rsi
movq (%rsi), %rax
movq 0x18(%rax), %rax
leaq -0x648(%rbp), %rdi
callq *%rax
jmp 0xc854
movq -0x720(%rbp), %rax
movq 0x18(%rax), %rsi
movq (%rsi), %rax
movq 0x18(%rax), %rax
leaq -0x668(%rbp), %rdi
callq *%rax
jmp 0xc871
leaq -0x628(%rbp), %rdi
leaq -0x648(%rbp), %rsi
leaq -0x668(%rbp), %rdx
callq 0xe070
jmp 0xc88d
leaq 0xe7b5(%rip), %rdx      # 0x1b049
leaq -0x608(%rbp), %rdi
leaq -0x628(%rbp), %rsi
callq 0xe180
jmp 0xc8a9
leaq 0x1b9f0(%rip), %rdx     # 0x282a0
leaq -0x5e8(%rbp), %rdi
leaq -0x608(%rbp), %rsi
callq 0xdf10
jmp 0xc8c5
movq -0x718(%rbp), %rdi
leaq -0x5e8(%rbp), %rsi
callq 0x3360
jmp 0xc8da
leaq -0x5e8(%rbp), %rdi
callq 0x34f8
leaq -0x608(%rbp), %rdi
callq 0x34f8
leaq -0x628(%rbp), %rdi
callq 0x34f8
leaq -0x668(%rbp), %rdi
callq 0x34f8
leaq -0x648(%rbp), %rdi
callq 0x34f8
jmp 0xcb58
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xc98f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xc983
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xc977
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xc96b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x5e8(%rbp), %rdi
callq 0x34f8
leaq -0x608(%rbp), %rdi
callq 0x34f8
leaq -0x628(%rbp), %rdi
callq 0x34f8
leaq -0x668(%rbp), %rdi
callq 0x34f8
leaq -0x648(%rbp), %rdi
callq 0x34f8
jmp 0xcb7e
movq -0x720(%rbp), %rax
movq 0x10(%rax), %rsi
movq (%rsi), %rax
movq 0x18(%rax), %rax
leaq -0x6e8(%rbp), %rdi
callq *%rax
jmp 0xc9bd
movq -0x720(%rbp), %rax
movq 0x18(%rax), %rsi
movq (%rsi), %rax
movq 0x18(%rax), %rax
leaq -0x708(%rbp), %rdi
callq *%rax
jmp 0xc9da
leaq -0x6c8(%rbp), %rdi
leaq -0x6e8(%rbp), %rsi
leaq -0x708(%rbp), %rdx
callq 0xe070
jmp 0xc9f6
leaq 0xe650(%rip), %rdx      # 0x1b04d
leaq -0x6a8(%rbp), %rdi
leaq -0x6c8(%rbp), %rsi
callq 0xe180
jmp 0xca12
leaq 0x1b887(%rip), %rdx     # 0x282a0
leaq -0x688(%rbp), %rdi
leaq -0x6a8(%rbp), %rsi
callq 0xdf10
jmp 0xca2e
movq -0x718(%rbp), %rdi
leaq -0x688(%rbp), %rsi
callq 0x3360
jmp 0xca43
leaq -0x688(%rbp), %rdi
callq 0x34f8
leaq -0x6a8(%rbp), %rdi
callq 0x34f8
leaq -0x6c8(%rbp), %rdi
callq 0x34f8
leaq -0x708(%rbp), %rdi
callq 0x34f8
leaq -0x6e8(%rbp), %rdi
callq 0x34f8
jmp 0xcb58
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xcaf8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xcaec
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xcae0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xcad4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x688(%rbp), %rdi
callq 0x34f8
leaq -0x6a8(%rbp), %rdi
callq 0x34f8
leaq -0x6c8(%rbp), %rdi
callq 0x34f8
leaq -0x708(%rbp), %rdi
callq 0x34f8
leaq -0x6e8(%rbp), %rdi
callq 0x34f8
jmp 0xcb7e
movq 0x1b4c3(%rip), %rdi     # 0x27fd0
leaq 0xe806(%rip), %rsi      # 0x1b31a
callq 0x3280
movq %rax, -0x738(%rbp)
jmp 0xcb22
movq -0x738(%rbp), %rdi
movq -0x720(%rbp), %rax
movl 0xc(%rax), %esi
callq 0x3450
movq %rax, -0x740(%rbp)
jmp 0xcb41
movq -0x740(%rbp), %rdi
movq 0x1b469(%rip), %rsi     # 0x27fb8
callq 0x32e0
jmp 0xcb56
jmp 0xcb58
movb $0x1, -0x11(%rbp)
testb $0x1, -0x11(%rbp)
jne 0xcb6e
movq -0x718(%rbp), %rdi
callq 0x34f8
movq -0x728(%rbp), %rax
addq $0x740, %rsp            # imm = 0x740
popq %rbp
retq
movq -0x718(%rbp), %rdi
callq 0x34f8
movq -0x20(%rbp), %rdi
callq 0x3470
nopw %cs:(%rax,%rax)