// File: /workspace/github_cpp_makefile_star2_O3/acliusBackHome[P]kamaya/dist/x86.hpp
// Function: x86::Assembler::Assembler(std::ostream&, std::vector<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>>>, std::allocator<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>>>>>&)
Assembler(ostream &out, vector<Qua> &_quas) : of(out), quas(_quas) {
    quaEmit[QuaType::Q_ADD] =
        std::bind(&Assembler::quaADD, this, std::placeholders::_1);
    quaEmit[QuaType::Q_SUB] =
        std::bind(&Assembler::quaSUB, this, std::placeholders::_1);
    quaEmit[QuaType::Q_MUL] =
        std::bind(&Assembler::quaMUL, this, std::placeholders::_1);
    quaEmit[QuaType::Q_DIV] =
        std::bind(&Assembler::quaDIV, this, std::placeholders::_1);
    quaEmit[QuaType::Q_MOD] =
        std::bind(&Assembler::quaMOD, this, std::placeholders::_1);
    quaEmit[QuaType::Q_POW] =
        std::bind(&Assembler::quaPOW, this, std::placeholders::_1);
    quaEmit[QuaType::Q_LT] =
        std::bind(&Assembler::quaLT, this, std::placeholders::_1);
    quaEmit[QuaType::Q_LE] =
        std::bind(&Assembler::quaLE, this, std::placeholders::_1);
    quaEmit[QuaType::Q_GT] =
        std::bind(&Assembler::quaGT, this, std::placeholders::_1);
    quaEmit[QuaType::Q_GE] =
        std::bind(&Assembler::quaGE, this, std::placeholders::_1);
    quaEmit[QuaType::Q_EQ] =
        std::bind(&Assembler::quaEQ, this, std::placeholders::_1);
    quaEmit[QuaType::Q_NE] =
        std::bind(&Assembler::quaNE, this, std::placeholders::_1);
    quaEmit[QuaType::Q_JMP] =
        std::bind(&Assembler::quaJMP, this, std::placeholders::_1);
    quaEmit[QuaType::Q_JLT] =
        std::bind(&Assembler::quaJLT, this, std::placeholders::_1);
    quaEmit[QuaType::Q_JLE] =
        std::bind(&Assembler::quaJLE, this, std::placeholders::_1);
    quaEmit[QuaType::Q_JGT] =
        std::bind(&Assembler::quaJGT, this, std::placeholders::_1);
    quaEmit[QuaType::Q_JGE] =
        std::bind(&Assembler::quaJGE, this, std::placeholders::_1);
    quaEmit[QuaType::Q_JE] =
        std::bind(&Assembler::quaJE, this, std::placeholders::_1);
    quaEmit[QuaType::Q_JNE] =
        std::bind(&Assembler::quaJNE, this, std::placeholders::_1);
    quaEmit[QuaType::Q_ASSIGN] =
        std::bind(&Assembler::quaASSIGN, this, std::placeholders::_1);
    quaEmit[QuaType::Q_ALLOC] =
        std::bind(&Assembler::quaALLOC, this, std::placeholders::_1);
    quaEmit[QuaType::Q_DATA] =
        std::bind(&Assembler::quaDATA, this, std::placeholders::_1);
    quaEmit[QuaType::Q_CALL] =
        std::bind(&Assembler::quaCALL, this, std::placeholders::_1);
    quaEmit[QuaType::Q_RET] =
        std::bind(&Assembler::quaRET, this, std::placeholders::_1);
    quaEmit[QuaType::Q_FUNC] =
        std::bind(&Assembler::quaFUNC, this, std::placeholders::_1);
    quaEmit[QuaType::Q_READ] =
        std::bind(&Assembler::quaREAD, this, std::placeholders::_1);
    quaEmit[QuaType::Q_PRINT] =
        std::bind(&Assembler::quaPRINT, this, std::placeholders::_1);
    quaEmit[QuaType::Q_EXIT] =
        std::bind(&Assembler::quaEXIT, this, std::placeholders::_1);
    quaEmit[QuaType::Q_LOGICAND] =
        std::bind(&Assembler::quaLOGICAND, this, std::placeholders::_1);
    quaEmit[QuaType::Q_LOGICOR] =
        std::bind(&Assembler::quaLOGICOR, this, std::placeholders::_1);
    quaEmit[QuaType::Q_LOGICNOT] =
        std::bind(&Assembler::quaLOGICNOT, this, std::placeholders::_1);
    quaMap = map<string, QuaType>{
        {"+", QuaType::Q_ADD},         {"-", QuaType::Q_SUB},
        {"*", QuaType::Q_MUL},         {"/", QuaType::Q_DIV},
        {"%", QuaType::Q_MOD},         {"^", QuaType::Q_POW},
        {"<", QuaType::Q_LT},          {"<=", QuaType::Q_LE},
        {">", QuaType::Q_GT},          {">=", QuaType::Q_GE},
        {"==", QuaType::Q_EQ},         {"!=", QuaType::Q_NE},
        {"jmp", QuaType::Q_JMP},       {"j<", QuaType::Q_JLT},
        {"j<=", QuaType::Q_JLE},       {"j>", QuaType::Q_JGT},
        {"j>=", QuaType::Q_JGE},       {"j==", QuaType::Q_JE},
        {":=", QuaType::Q_ASSIGN},     {"j!=", QuaType::Q_JNE},
        {"alloc", QuaType::Q_ALLOC},   {".data", QuaType::Q_DATA},
        {"call", QuaType::Q_CALL},     {"return", QuaType::Q_RET},
        {"function", QuaType::Q_FUNC}, {"read", QuaType::Q_READ},
        {"print", QuaType::Q_PRINT},   {"exit", QuaType::Q_EXIT},
        {"&&", QuaType::Q_LOGICAND},   {"||", QuaType::Q_LOGICOR},
        {"!", QuaType::Q_LOGICNOT}

    };
    wideMap = map<size_t, string>{{1, "db"}, {2, "dw"}, {4, "dd"}, {8, "dq"}};
    pow_count = 0;
  }

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x538, %rsp            # imm = 0x538
movq %rdi, %rbx
movq %rsi, (%rdi)
leaq 0x10(%rdi), %rax
movq %rax, -0x80(%rbp)
leaq 0x18(%rdi), %r15
xorl %eax, %eax
movl %eax, 0x18(%rdi)
movq %rax, 0x20(%rdi)
movq %r15, 0x28(%rdi)
movq %r15, 0x30(%rdi)
movq %rax, 0x38(%rdi)
leaq 0x40(%rdi), %rcx
movq %rcx, -0x78(%rbp)
leaq 0x48(%rdi), %rcx
movl %eax, 0x48(%rdi)
movq %rax, 0x50(%rdi)
movq %rcx, 0x58(%rdi)
movq %rcx, -0x30(%rbp)
movq %rcx, 0x60(%rdi)
movq %rax, 0x68(%rdi)
leaq 0x70(%rdi), %r12
leaq 0x78(%rdi), %rcx
movl %eax, 0x78(%rdi)
movq %rax, 0x80(%rdi)
movq %rcx, 0x88(%rdi)
movq %rcx, 0x90(%rdi)
movq %rax, 0x98(%rdi)
movq %rdx, 0xa0(%rdi)
xorps %xmm0, %xmm0
movups %xmm0, 0xa8(%rdi)
movq %rax, 0xb8(%rdi)
leaq 0xc8(%rdi), %rcx
movl %eax, 0xc8(%rdi)
movq %rax, 0xd0(%rdi)
movq %rcx, 0xd8(%rdi)
movq %rcx, 0xe0(%rdi)
leaq 0xf8(%rdi), %rcx
movups %xmm0, 0xe8(%rdi)
movups %xmm0, 0xf8(%rdi)
movq %rcx, 0x108(%rdi)
movq %rcx, 0x110(%rdi)
movups %xmm0, 0x118(%rdi)
movups %xmm0, 0x128(%rdi)
leaq 0x24c0f(%rip), %rcx     # 0x37122
movq %rcx, -0x558(%rbp)
movq %rax, -0x550(%rbp)
movq %rdi, -0x548(%rbp)
leaq -0x68(%rbp), %rsi
movl %eax, (%rsi)
movq %r12, %rdi
callq 0x14330
leaq -0x558(%rbp), %rsi
movq %rax, %rdi
callq 0x14398
leaq 0x24e6a(%rip), %rax     # 0x373b6
movq %rax, -0x558(%rbp)
movq $0x0, -0x550(%rbp)
movq %rbx, -0x548(%rbp)
leaq -0x68(%rbp), %rsi
movl $0x1, (%rsi)
movq %r12, %rdi
callq 0x14330
leaq -0x558(%rbp), %rsi
movq %rax, %rdi
callq 0x14398
leaq 0x250bd(%rip), %rax     # 0x3764a
movq %rax, -0x558(%rbp)
movq $0x0, -0x550(%rbp)
movq %rbx, -0x548(%rbp)
leaq -0x68(%rbp), %rsi
movl $0x2, (%rsi)
movq %r12, %rdi
callq 0x14330
leaq -0x558(%rbp), %rsi
movq %rax, %rdi
callq 0x14398
leaq 0x252c2(%rip), %rax     # 0x37890
movq %rax, -0x558(%rbp)
movq $0x0, -0x550(%rbp)
movq %rbx, -0x548(%rbp)
leaq -0x68(%rbp), %rsi
movl $0x3, (%rsi)
movq %r12, %rdi
callq 0x14330
leaq -0x558(%rbp), %rsi
movq %rax, %rdi
callq 0x14398
leaq 0x257c1(%rip), %rax     # 0x37dd0
movq %rax, -0x558(%rbp)
movq $0x0, -0x550(%rbp)
movq %rbx, -0x548(%rbp)
leaq -0x68(%rbp), %rsi
movl $0x4, (%rsi)
movq %r12, %rdi
callq 0x14330
leaq -0x558(%rbp), %rsi
movq %rax, %rdi
callq 0x14398
leaq 0x25486(%rip), %rax     # 0x37ad6
movq %rax, -0x558(%rbp)
movq $0x0, -0x550(%rbp)
movq %rbx, -0x548(%rbp)
leaq -0x68(%rbp), %rsi
movl $0x5, (%rsi)
movq %r12, %rdi
callq 0x14330
leaq -0x558(%rbp), %rsi
movq %rax, %rdi
callq 0x14398
leaq 0x25e8f(%rip), %rax     # 0x38520
movq %rax, -0x558(%rbp)
movq $0x0, -0x550(%rbp)
movq %rbx, -0x548(%rbp)
leaq -0x68(%rbp), %rsi
movl $0x6, (%rsi)
movq %r12, %rdi
callq 0x14330
leaq -0x558(%rbp), %rsi
movq %rax, %rdi
callq 0x14398
leaq 0x25ebe(%rip), %rax     # 0x38590
movq %rax, -0x558(%rbp)
movq $0x0, -0x550(%rbp)
movq %rbx, -0x548(%rbp)
leaq -0x68(%rbp), %rsi
movl $0x7, (%rsi)
movq %r12, %rdi
callq 0x14330
leaq -0x558(%rbp), %rsi
movq %rax, %rdi
callq 0x14398
leaq 0x25eed(%rip), %rax     # 0x38600
movq %rax, -0x558(%rbp)
movq $0x0, -0x550(%rbp)
movq %rbx, -0x548(%rbp)
leaq -0x68(%rbp), %rsi
movl $0x8, (%rsi)
movq %r12, %rdi
callq 0x14330
leaq -0x558(%rbp), %rsi
movq %rax, %rdi
callq 0x14398
leaq 0x25f1c(%rip), %rax     # 0x38670
movq %rax, -0x558(%rbp)
movq $0x0, -0x550(%rbp)
movq %rbx, -0x548(%rbp)
leaq -0x68(%rbp), %rsi
movl $0x9, (%rsi)
movq %r12, %rdi
callq 0x14330
leaq -0x558(%rbp), %rsi
movq %rax, %rdi
callq 0x14398
leaq 0x25f4b(%rip), %rax     # 0x386e0
movq %rax, -0x558(%rbp)
movq $0x0, -0x550(%rbp)
movq %rbx, -0x548(%rbp)
leaq -0x68(%rbp), %rsi
movl $0xa, (%rsi)
movq %r12, %rdi
callq 0x14330
leaq -0x558(%rbp), %rsi
movq %rax, %rdi
callq 0x14398
leaq 0x25f7a(%rip), %rax     # 0x38750
movq %rax, -0x558(%rbp)
movq $0x0, -0x550(%rbp)
movq %rbx, -0x548(%rbp)
leaq -0x68(%rbp), %rsi
movl $0xb, (%rsi)
movq %r12, %rdi
callq 0x14330
leaq -0x558(%rbp), %rsi
movq %rax, %rdi
callq 0x14398
leaq 0x26541(%rip), %rax     # 0x38d58
movq %rax, -0x558(%rbp)
movq $0x0, -0x550(%rbp)
movq %rbx, -0x548(%rbp)
leaq -0x68(%rbp), %rsi
movl $0xc, (%rsi)
movq %r12, %rdi
callq 0x14330
leaq -0x558(%rbp), %rsi
movq %rax, %rdi
callq 0x14398
leaq 0x268b2(%rip), %rax     # 0x3910a
movq %rax, -0x558(%rbp)
movq $0x0, -0x550(%rbp)
movq %rbx, -0x548(%rbp)
leaq -0x68(%rbp), %rsi
movl $0xd, (%rsi)
movq %r12, %rdi
callq 0x14330
leaq -0x558(%rbp), %rsi
movq %rax, %rdi
callq 0x14398
leaq 0x269fd(%rip), %rax     # 0x39296
movq %rax, -0x558(%rbp)
movq $0x0, -0x550(%rbp)
movq %rbx, -0x548(%rbp)
leaq -0x68(%rbp), %rsi
movl $0xe, (%rsi)
movq %r12, %rdi
callq 0x14330
leaq -0x558(%rbp), %rsi
movq %rax, %rdi
callq 0x14398
leaq 0x26b48(%rip), %rax     # 0x39422
movq %rax, -0x558(%rbp)
movq $0x0, -0x550(%rbp)
movq %rbx, -0x548(%rbp)
leaq -0x68(%rbp), %rsi
movl $0xf, (%rsi)
movq %r12, %rdi
callq 0x14330
leaq -0x558(%rbp), %rsi
movq %rax, %rdi
callq 0x14398
leaq 0x26c93(%rip), %rax     # 0x395ae
movq %rax, -0x558(%rbp)
movq $0x0, -0x550(%rbp)
movq %rbx, -0x548(%rbp)
leaq -0x68(%rbp), %rsi
movl $0x10, (%rsi)
movq %r12, %rdi
callq 0x14330
leaq -0x558(%rbp), %rsi
movq %rax, %rdi
callq 0x14398
leaq 0x26dde(%rip), %rax     # 0x3973a
movq %rax, -0x558(%rbp)
movq $0x0, -0x550(%rbp)
movq %rbx, -0x548(%rbp)
leaq -0x68(%rbp), %rsi
movl $0x11, (%rsi)
movq %r12, %rdi
callq 0x14330
leaq -0x558(%rbp), %rsi
movq %rax, %rdi
callq 0x14398
leaq 0x26f29(%rip), %rax     # 0x398c6
movq %rax, -0x558(%rbp)
movq $0x0, -0x550(%rbp)
movq %rbx, -0x548(%rbp)
leaq -0x68(%rbp), %rsi
movl $0x12, (%rsi)
movq %r12, %rdi
callq 0x14330
leaq -0x558(%rbp), %rsi
movq %rax, %rdi
callq 0x14398
leaq 0x25638(%rip), %rax     # 0x38016
movq %rax, -0x558(%rbp)
movq $0x0, -0x550(%rbp)
movq %rbx, -0x548(%rbp)
leaq -0x68(%rbp), %rsi
movl $0x13, (%rsi)
movq %r12, %rdi
callq 0x14330
leaq -0x558(%rbp), %rsi
movq %rax, %rdi
callq 0x14398
leaq 0x25809(%rip), %rax     # 0x38228
movq %rax, -0x558(%rbp)
movq $0x0, -0x550(%rbp)
movq %rbx, -0x548(%rbp)
leaq -0x68(%rbp), %rsi
movl $0x14, (%rsi)
movq %r12, %rdi
callq 0x14330
leaq -0x558(%rbp), %rsi
movq %rax, %rdi
callq 0x14398
leaq 0x26ff2(%rip), %rax     # 0x39a52
movq %rax, -0x558(%rbp)
movq $0x0, -0x550(%rbp)
movq %rbx, -0x548(%rbp)
leaq -0x68(%rbp), %rsi
movl $0x15, (%rsi)
movq %r12, %rdi
callq 0x14330
leaq -0x558(%rbp), %rsi
movq %rax, %rdi
callq 0x14398
leaq 0x270b1(%rip), %rax     # 0x39b52
movq %rax, -0x558(%rbp)
movq $0x0, -0x550(%rbp)
movq %rbx, -0x548(%rbp)
leaq -0x68(%rbp), %rsi
movl $0x16, (%rsi)
movq %r12, %rdi
callq 0x14330
leaq -0x558(%rbp), %rsi
movq %rax, %rdi
callq 0x14398
leaq 0x270e6(%rip), %rax     # 0x39bc8
movq %rax, -0x558(%rbp)
movq $0x0, -0x550(%rbp)
movq %rbx, -0x548(%rbp)
leaq -0x68(%rbp), %rsi
movl $0x17, (%rsi)
movq %r12, %rdi
callq 0x14330
leaq -0x558(%rbp), %rsi
movq %rax, %rdi
callq 0x14398
leaq 0x271e1(%rip), %rax     # 0x39d04
movq %rax, -0x558(%rbp)
movq $0x0, -0x550(%rbp)
movq %rbx, -0x548(%rbp)
leaq -0x68(%rbp), %rsi
movl $0x18, (%rsi)
movq %r12, %rdi
callq 0x14330
leaq -0x558(%rbp), %rsi
movq %rax, %rdi
callq 0x14398
leaq 0x27334(%rip), %rax     # 0x39e98
movq %rax, -0x558(%rbp)
movq $0x0, -0x550(%rbp)
movq %rbx, -0x548(%rbp)
leaq -0x68(%rbp), %rsi
movl $0x19, (%rsi)
movq %r12, %rdi
callq 0x14330
leaq -0x558(%rbp), %rsi
movq %rax, %rdi
callq 0x14398
leaq 0x273e1(%rip), %rax     # 0x39f86
movq %rax, -0x558(%rbp)
movq $0x0, -0x550(%rbp)
movq %rbx, -0x548(%rbp)
leaq -0x68(%rbp), %rsi
movl $0x1a, (%rsi)
movq %r12, %rdi
callq 0x14330
leaq -0x558(%rbp), %rsi
movq %rax, %rdi
callq 0x14398
leaq 0x2743a(%rip), %rax     # 0x3a020
movq %rax, -0x558(%rbp)
movq $0x0, -0x550(%rbp)
movq %rbx, -0x548(%rbp)
leaq -0x68(%rbp), %rsi
movl $0x1b, (%rsi)
movq %r12, %rdi
callq 0x14330
leaq -0x558(%rbp), %rsi
movq %rax, %rdi
callq 0x14398
leaq 0x25c09(%rip), %rax     # 0x38830
movq %rax, -0x558(%rbp)
movq $0x0, -0x550(%rbp)
movq %rbx, -0x548(%rbp)
leaq -0x68(%rbp), %rsi
movl $0x1d, (%rsi)
movq %r12, %rdi
callq 0x14330
leaq -0x558(%rbp), %rsi
movq %rax, %rdi
callq 0x14398
leaq 0x25e5c(%rip), %rax     # 0x38ac4
movq %rax, -0x558(%rbp)
movq $0x0, -0x550(%rbp)
movq %rbx, -0x548(%rbp)
leaq -0x68(%rbp), %rsi
movl $0x1c, (%rsi)
movq %r12, %rdi
callq 0x14330
leaq -0x558(%rbp), %rsi
movq %rax, %rdi
callq 0x14398
leaq 0x25b17(%rip), %rax     # 0x387c0
movq %rax, -0x558(%rbp)
movq $0x0, -0x550(%rbp)
movq %rbx, -0x548(%rbp)
leaq -0x68(%rbp), %rsi
movl $0x1e, (%rsi)
movq %r12, %rdi
callq 0x14330
leaq -0x558(%rbp), %rsi
movq %rax, %rdi
callq 0x14398
leaq -0x548(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x3116b(%rip), %rsi     # 0x43e60
leaq 0x31165(%rip), %rdx     # 0x43e61
leaq -0x558(%rbp), %r13
movq %r13, %rdi
movq %r12, -0x70(%rbp)
callq 0xf868
leaq -0x530(%rbp), %r14
movl $0x0, -0x8(%r14)
leaq -0x520(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x33540(%rip), %rsi     # 0x46270
leaq 0x3353a(%rip), %rdx     # 0x46271
movq %r14, %rdi
callq 0xf868
leaq -0x508(%rbp), %r14
movl $0x1, -0x8(%r14)
leaq -0x4f8(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x325d7(%rip), %rsi     # 0x45337
leaq 0x325d1(%rip), %rdx     # 0x45338
movq %r14, %rdi
callq 0xf868
leaq -0x4e0(%rbp), %r14
movl $0x2, -0x8(%r14)
leaq -0x4d0(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x325a9(%rip), %rsi     # 0x45339
leaq 0x325a3(%rip), %rdx     # 0x4533a
movq %r14, %rdi
callq 0xf868
leaq -0x4b8(%rbp), %r14
movl $0x3, -0x8(%r14)
leaq -0x4a8(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x3257b(%rip), %rsi     # 0x4533b
leaq 0x32575(%rip), %rdx     # 0x4533c
movq %r14, %rdi
callq 0xf868
leaq -0x490(%rbp), %r14
movl $0x4, -0x8(%r14)
leaq -0x480(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x30993(%rip), %rsi     # 0x43783
leaq 0x3098d(%rip), %rdx     # 0x43784
movq %r14, %rdi
callq 0xf868
leaq -0x468(%rbp), %r14
movl $0x5, -0x8(%r14)
leaq -0x458(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x30208(%rip), %rsi     # 0x43028
leaq 0x30202(%rip), %rdx     # 0x43029
movq %r14, %rdi
callq 0xf868
leaq -0x440(%rbp), %r14
movl $0x6, -0x8(%r14)
leaq -0x430(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x301db(%rip), %rsi     # 0x4302b
leaq 0x301d6(%rip), %rdx     # 0x4302d
movq %r14, %rdi
callq 0xf868
leaq -0x418(%rbp), %r14
movl $0x7, -0x8(%r14)
leaq -0x408(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x30104(%rip), %rsi     # 0x42f84
leaq 0x300fe(%rip), %rdx     # 0x42f85
movq %r14, %rdi
callq 0xf868
leaq -0x3f0(%rbp), %r14
movl $0x8, -0x8(%r14)
leaq -0x3e0(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x30182(%rip), %rsi     # 0x43032
leaq 0x3017d(%rip), %rdx     # 0x43034
movq %r14, %rdi
callq 0xf868
leaq -0x3c8(%rbp), %r14
movl $0x9, -0x8(%r14)
leaq -0x3b8(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x30156(%rip), %rsi     # 0x43036
leaq 0x30151(%rip), %rdx     # 0x43038
movq %r14, %rdi
callq 0xf868
leaq -0x3a0(%rbp), %r14
movl $0xa, -0x8(%r14)
leaq -0x390(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x3012a(%rip), %rsi     # 0x4303a
leaq 0x30125(%rip), %rdx     # 0x4303c
movq %r14, %rdi
callq 0xf868
leaq -0x378(%rbp), %r14
movl $0xb, -0x8(%r14)
leaq -0x368(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x300fd(%rip), %rsi     # 0x4303d
leaq 0x300f9(%rip), %rdx     # 0x43040
movq %r14, %rdi
callq 0xf868
leaq -0x350(%rbp), %r14
movl $0xc, -0x8(%r14)
leaq -0x340(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x300b7(%rip), %rsi     # 0x43027
leaq 0x300b2(%rip), %rdx     # 0x43029
movq %r14, %rdi
callq 0xf868
leaq -0x328(%rbp), %r14
movl $0xd, -0x8(%r14)
leaq -0x318(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x3008a(%rip), %rsi     # 0x4302a
leaq 0x30086(%rip), %rdx     # 0x4302d
movq %r14, %rdi
callq 0xf868
leaq -0x300(%rbp), %r14
movl $0xe, -0x8(%r14)
leaq -0x2f0(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x3005e(%rip), %rsi     # 0x4302e
leaq 0x30059(%rip), %rdx     # 0x43030
movq %r14, %rdi
callq 0xf868
leaq -0x2d8(%rbp), %r14
movl $0xf, -0x8(%r14)
leaq -0x2c8(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x30031(%rip), %rsi     # 0x43031
leaq 0x3002d(%rip), %rdx     # 0x43034
movq %r14, %rdi
callq 0xf868
leaq -0x2b0(%rbp), %r14
movl $0x10, -0x8(%r14)
leaq -0x2a0(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x30005(%rip), %rsi     # 0x43035
leaq 0x30001(%rip), %rdx     # 0x43038
movq %r14, %rdi
callq 0xf868
leaq -0x288(%rbp), %r14
movl $0x11, -0x8(%r14)
leaq -0x278(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x322dd(%rip), %rsi     # 0x4533d
leaq 0x322d8(%rip), %rdx     # 0x4533f
movq %r14, %rdi
callq 0xf868
leaq -0x260(%rbp), %r14
movl $0x13, -0x8(%r14)
leaq -0x250(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x2ffa9(%rip), %rsi     # 0x43039
leaq 0x2ffa5(%rip), %rdx     # 0x4303c
movq %r14, %rdi
callq 0xf868
leaq -0x238(%rbp), %r14
movl $0x12, -0x8(%r14)
leaq -0x228(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x30dd9(%rip), %rsi     # 0x43e99
leaq 0x30dd7(%rip), %rdx     # 0x43e9e
movq %r14, %rdi
callq 0xf868
leaq -0x210(%rbp), %r14
movl $0x14, -0x8(%r14)
leaq -0x200(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x32250(%rip), %rsi     # 0x45340
leaq 0x3224e(%rip), %rdx     # 0x45345
movq %r14, %rdi
callq 0xf868
leaq -0x1e8(%rbp), %r14
movl $0x15, -0x8(%r14)
leaq -0x1d8(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x3297e(%rip), %rsi     # 0x45a9e
leaq 0x3297b(%rip), %rdx     # 0x45aa2
movq %r14, %rdi
callq 0xf868
leaq -0x1c0(%rbp), %r14
movl $0x16, -0x8(%r14)
leaq -0x1b0(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x30d12(%rip), %rsi     # 0x43e62
leaq 0x30d11(%rip), %rdx     # 0x43e68
movq %r14, %rdi
callq 0xf868
leaq -0x198(%rbp), %r14
movl $0x17, -0x8(%r14)
leaq -0x188(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x2fd4b(%rip), %rsi     # 0x42ecb
leaq 0x2fd4c(%rip), %rdx     # 0x42ed3
movq %r14, %rdi
callq 0xf868
leaq -0x170(%rbp), %r14
movl $0x18, -0x8(%r14)
leaq -0x160(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x32196(%rip), %rsi     # 0x45346
leaq 0x32193(%rip), %rdx     # 0x4534a
movq %r14, %rdi
callq 0xf868
leaq -0x148(%rbp), %r14
movl $0x19, -0x8(%r14)
leaq -0x138(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x30c6e(%rip), %rsi     # 0x43e4e
leaq 0x30c6c(%rip), %rdx     # 0x43e53
movq %r14, %rdi
callq 0xf868
leaq -0x120(%rbp), %r14
movl $0x1a, -0x8(%r14)
leaq -0x110(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x3213b(%rip), %rsi     # 0x4534b
leaq 0x32138(%rip), %rdx     # 0x4534f
movq %r14, %rdi
callq 0xf868
leaq -0xf8(%rbp), %r14
movl $0x1b, -0x8(%r14)
leaq -0xe8(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x32110(%rip), %rsi     # 0x45350
leaq 0x3210b(%rip), %rdx     # 0x45352
movq %r14, %rdi
callq 0xf868
movq %r15, %r12
leaq -0xd0(%rbp), %r14
movl $0x1d, -0x8(%r14)
leaq -0xc0(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x320e0(%rip), %rsi     # 0x45353
leaq 0x320db(%rip), %rdx     # 0x45355
movq %r14, %rdi
callq 0xf868
leaq -0xa8(%rbp), %r14
movl $0x1c, -0x8(%r14)
leaq -0x98(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0x320b3(%rip), %rsi     # 0x45356
leaq 0x320ad(%rip), %rdx     # 0x45357
movq %r14, %rdi
callq 0xf868
leaq -0x558(%rbp), %r14
movl $0x1e, 0x4d0(%r14)
leaq -0x68(%rbp), %rdi
leaq -0x32(%rbp), %rcx
leaq -0x31(%rbp), %r8
movl $0x1f, %edx
movq %r14, %rsi
callq 0x1442e
movq -0x80(%rbp), %rdi
callq 0x14b98
movq -0x58(%rbp), %rax
testq %rax, %rax
je 0x1332a
leaq -0x60(%rbp), %rcx
movl (%rcx), %edx
movl %edx, 0x18(%rbx)
movq %rax, 0x20(%rbx)
movq 0x10(%rcx), %rdx
movq %rdx, 0x28(%rbx)
movq 0x18(%rcx), %rdx
movq %rdx, 0x30(%rbx)
movq %r12, 0x8(%rax)
movq 0x20(%rcx), %rax
movq %rax, 0x38(%rbx)
xorl %eax, %eax
movq %rax, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
movq %rax, 0x20(%rcx)
leaq -0x68(%rbp), %rdi
callq 0x14856
xorl %r13d, %r13d
movq -0xa8(%rbp,%r13), %rdi
leaq (%r15,%r13), %rax
cmpq %rdi, %rax
je 0x1334c
callq 0x42b0
addq $-0x28, %r13
cmpq $-0x4d8, %r13           # imm = 0xFB28
jne 0x13336
leaq -0x550(%rbp), %rdi
movq $0x1, -0x8(%rdi)
leaq -0x540(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x31fde(%rip), %rsi     # 0x45358
leaq 0x31fd9(%rip), %rdx     # 0x4535a
callq 0xf868
leaq -0x530(%rbp), %r15
movq $0x2, (%r15)
leaq -0x528(%rbp), %rdi
leaq -0x518(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x31fae(%rip), %rsi     # 0x4535b
leaq 0x31fa9(%rip), %rdx     # 0x4535d
callq 0xf868
leaq -0x508(%rbp), %r15
movq $0x4, (%r15)
leaq -0x500(%rbp), %rdi
leaq -0x4f0(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x344ef(%rip), %rsi     # 0x478cf
leaq 0x344ea(%rip), %rdx     # 0x478d1
callq 0xf868
leaq -0x4e0(%rbp), %r15
movq $0x8, (%r15)
leaq -0x4d8(%rbp), %rdi
leaq -0x4c8(%rbp), %r13
movq %r13, -0x10(%r13)
leaq 0x31f4b(%rip), %rsi     # 0x4535e
leaq 0x31f46(%rip), %rdx     # 0x45360
callq 0xf868
leaq -0x68(%rbp), %rdi
leaq -0x558(%rbp), %rsi
leaq -0x32(%rbp), %rcx
leaq -0x31(%rbp), %r8
movl $0x4, %edx
callq 0x144b2
movq -0x78(%rbp), %rdi
callq 0x14e22
movq -0x58(%rbp), %rax
testq %rax, %rax
je 0x1348d
leaq -0x60(%rbp), %rcx
movl (%rcx), %edx
movl %edx, 0x48(%rbx)
movq %rax, 0x50(%rbx)
movq 0x10(%rcx), %rdx
movq %rdx, 0x58(%rbx)
movq 0x18(%rcx), %rdx
movq %rdx, 0x60(%rbx)
movq -0x30(%rbp), %rdx
movq %rdx, 0x8(%rax)
movq 0x20(%rcx), %rax
movq %rax, 0x68(%rbx)
xorl %eax, %eax
movq %rax, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
movq %rax, 0x20(%rcx)
leaq -0x68(%rbp), %rdi
callq 0x13ebe
leaq -0x4c8(%rbp), %r14
xorl %r15d, %r15d
movq -0x4d8(%rbp,%r15), %rdi
leaq (%r14,%r15), %rax
cmpq %rdi, %rax
je 0x134b6
callq 0x42b0
addq $-0x28, %r15
cmpq $-0xa0, %r15
jne 0x134a0
movl $0x0, 0x8(%rbx)
addq $0x538, %rsp            # imm = 0x538
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, -0x30(%rbp)
movq $-0xa0, %r14
movq -0x10(%r13), %rdi
cmpq %rdi, %r13
je 0x134f5
callq 0x42b0
addq $-0x28, %r13
addq $0x28, %r14
jne 0x134e7
jmp 0x135b6
jmp 0x13508
jmp 0x13508
movq %rax, -0x30(%rbp)
addq $-0x10, %r15
movq -0x10(%r15), %rdi
cmpq %rdi, %r15
je 0x1351e
callq 0x42b0
leaq -0x28(%r15), %rax
addq $-0x18, %r15
cmpq %r14, %r15
movq %rax, %r15
jne 0x13510
jmp 0x135b6
jmp 0x135c0
movq %rax, -0x30(%rbp)
movq $-0x4d8, %r14           # imm = 0xFB28
movq -0x10(%r15), %rdi
cmpq %rdi, %r15
je 0x13551
callq 0x42b0
addq $-0x28, %r15
addq $0x28, %r14
jne 0x13543
jmp 0x135b6
jmp 0x13597
jmp 0x13597
jmp 0x13597
jmp 0x13597
jmp 0x13597
jmp 0x13597
jmp 0x13597
jmp 0x13597
jmp 0x13597
jmp 0x13597
jmp 0x13597
jmp 0x13597
jmp 0x13597
jmp 0x13597
jmp 0x13597
jmp 0x13597
jmp 0x13597
jmp 0x13597
jmp 0x13597
jmp 0x13597
jmp 0x13597
jmp 0x13597
jmp 0x13597
jmp 0x13597
jmp 0x13597
jmp 0x13597
jmp 0x13597
jmp 0x13597
jmp 0x13597
movq %rax, -0x30(%rbp)
movq -0x28(%r14), %rdi
leaq -0x18(%r14), %rax
cmpq %rdi, %rax
je 0x135ad
callq 0x42b0
addq $-0x28, %r14
cmpq %r13, %r14
jne 0x1359b
movq -0x70(%rbp), %r12
movq -0x30(%rbp), %r15
jmp 0x13605
movq %rax, -0x30(%rbp)
jmp 0x135b6
jmp 0x13602
jmp 0x13602
jmp 0x13602
jmp 0x13602
jmp 0x13602
jmp 0x13602
jmp 0x13602
jmp 0x13602
jmp 0x13602
jmp 0x13602
jmp 0x13602
jmp 0x13602
jmp 0x13602
jmp 0x13602
jmp 0x13602
jmp 0x13602
jmp 0x13602
jmp 0x13602
jmp 0x13602
jmp 0x13602
jmp 0x13602
jmp 0x13602
jmp 0x13602
jmp 0x13602
jmp 0x13602
jmp 0x13602
jmp 0x13602
jmp 0x13602
jmp 0x13602
jmp 0x13602
movq %rax, %r15
leaq 0xa8(%rbx), %rax
movq %rax, -0x30(%rbp)
leaq 0xf0(%rbx), %r13
leaq 0xc0(%rbx), %r14
addq $0x120, %rbx            # imm = 0x120
movq %rbx, %rdi
callq 0x14e5a
movq %r13, %rdi
callq 0x13a36
movq %r14, %rdi
callq 0x13a36
movq -0x30(%rbp), %rdi
callq 0x14536
movq %r12, %rdi
callq 0x14f1c
movq -0x78(%rbp), %rdi
callq 0x13ebe
movq -0x80(%rbp), %rdi
callq 0x14856
movq %r15, %rdi
callq 0x4560