// File: SethKasmann[P]clever-girl/src/evaluation.cpp
// Function: operator<<(std::ostream&, Evaluate const&)
std::ostream& operator<<(std::ostream& o, const Evaluate& e)
{
    Color c = e.mState.getOurColor();
    std::string us = c == white ? "White" : "Black";
    std::string them = c == white ? "Black" : "White";
    int pstMid = e.mState.getPstScore(middle) * (256 - e.mGamePhase) / 256;
    int pstLate = e.mState.getPstScore(late) * e.mGamePhase / 256;

    o << e.mState
      << "-------------------------------------------------------------\n"
      << "| Evaluation Type |    " << us << "    |    " << them 
      << "    | Total       |\n"
      << "-------------------------------------------------------------\n"
      << "| Material        |"
      << std::setw(13) << e.mMaterial[ c] << "|"
      << std::setw(13) << e.mMaterial[!c] << "|"
      << std::setw(13) << e.mMaterial[ c] - e.mMaterial[!c] << "|\n"
      << "-------------------------------------------------------------\n"
      << "| Mobility        |" 
      << std::setw(13) << e.mMobility[ c] << "|" 
      << std::setw(13) << e.mMobility[!c] << "|"
      << std::setw(13) << e.mMobility[ c] - e.mMobility[!c] << "|\n"
      << "-------------------------------------------------------------\n"
      << "| Pawn Structure  |"
      << std::setw(13) << e.mPawnStructure[ c] << "|" 
      << std::setw(13) << e.mPawnStructure[!c] << "|"
      << std::setw(13) << e.mPawnStructure[ c] - e.mPawnStructure[!c] 
      << "|\n"
      << "-------------------------------------------------------------\n"
      << "| King Safety     |"
      << std::setw(13) << e.mKingSafety[ c] << "|" 
      << std::setw(13) << e.mKingSafety[!c] << "|"
      << std::setw(13) << e.mKingSafety[ c] - e.mKingSafety[!c] << "|\n"
      << "-------------------------------------------------------------\n"
      << "| Attacks         |"
      << std::setw(13) << e.mAttacks[ c] << "|" 
      << std::setw(13) << e.mAttacks[!c] << "|"
      << std::setw(13) << e.mAttacks[ c] - e.mAttacks[!c] << "|\n"
      << "-------------------------------------------------------------\n"
      << "| PST (mid/late)  |"
      << std::setw(13) << pstMid << "|" 
      << std::setw(13) << pstLate << "|"
      << std::setw(13) << pstMid + pstLate << "|\n"
      << "-------------------------------------------------------------\n"
      << "| Total           |             |             |"
      << std::setw(13) << e.mScore << "|\n"
      << "-------------------------------------------------------------\n";


      return o;
}

// Assembly:
subq $0x4d8, %rsp            # imm = 0x4D8
movq %rdi, 0x4d0(%rsp)
movq %rsi, 0x4c8(%rsp)
movq 0x4c8(%rsp), %rax
movq 0x8(%rax), %rdi
callq 0x24ca0
movl %eax, 0x4c4(%rsp)
cmpl $0x0, 0x4c4(%rsp)
jne 0x2384a
leaq 0x1d7b8(%rip), %rax     # 0x40ff8
movq %rax, 0x408(%rsp)
jmp 0x2385b
leaq 0x1d7ad(%rip), %rax     # 0x40ffe
movq %rax, 0x408(%rsp)
jmp 0x2385b
movq 0x408(%rsp), %rax
movq %rax, 0x3f8(%rsp)
leaq 0x49f(%rsp), %rdi
movq %rdi, 0x400(%rsp)
callq 0x54c0
movq 0x3f8(%rsp), %rsi
movq 0x400(%rsp), %rdx
leaq 0x4a0(%rsp), %rdi
callq 0x5370
jmp 0x2389f
leaq 0x49f(%rsp), %rdi
callq 0x52e0
cmpl $0x0, 0x4c4(%rsp)
jne 0x238c7
leaq 0x1d741(%rip), %rax     # 0x40ffe
movq %rax, 0x3f0(%rsp)
jmp 0x238d8
leaq 0x1d72a(%rip), %rax     # 0x40ff8
movq %rax, 0x3f0(%rsp)
jmp 0x238d8
movq 0x3f0(%rsp), %rax
movq %rax, 0x3e0(%rsp)
leaq 0x467(%rsp), %rdi
movq %rdi, 0x3e8(%rsp)
callq 0x54c0
movq 0x3e0(%rsp), %rsi
movq 0x3e8(%rsp), %rdx
leaq 0x468(%rsp), %rdi
callq 0x5370
jmp 0x2391c
leaq 0x467(%rsp), %rdi
callq 0x52e0
movq 0x4c8(%rsp), %rax
movq 0x8(%rax), %rdi
xorl %esi, %esi
callq 0x24d00
movl %eax, 0x3dc(%rsp)
jmp 0x23945
movl 0x3dc(%rsp), %eax
cvtsi2ss %eax, %xmm0
movq 0x4c8(%rsp), %rax
movss (%rax), %xmm2
movss 0x1d68c(%rip), %xmm1    # 0x40ff0
subss %xmm2, %xmm1
mulss %xmm1, %xmm0
movss 0x1d680(%rip), %xmm1    # 0x40ff4
mulss %xmm1, %xmm0
cvttss2si %xmm0, %eax
movl %eax, 0x460(%rsp)
movq 0x4c8(%rsp), %rax
movq 0x8(%rax), %rdi
movl $0x1, %esi
callq 0x24d00
movl %eax, 0x3d8(%rsp)
jmp 0x239a2
movl 0x3d8(%rsp), %eax
cvtsi2ss %eax, %xmm0
movq 0x4c8(%rsp), %rax
movss (%rax), %xmm1
mulss %xmm1, %xmm0
movss 0x1d62f(%rip), %xmm1    # 0x40ff4
mulss %xmm1, %xmm0
cvttss2si %xmm0, %eax
movl %eax, 0x45c(%rsp)
movq 0x4d0(%rsp), %rdi
movq 0x4c8(%rsp), %rax
movq 0x8(%rax), %rsi
callq 0x38ae0
movq %rax, 0x3d0(%rsp)
jmp 0x239f7
movq 0x3d0(%rsp), %rdi
leaq 0x1d5fe(%rip), %rsi     # 0x41004
callq 0x5290
movq %rax, 0x3c8(%rsp)
jmp 0x23a15
movq 0x3c8(%rsp), %rdi
leaq 0x1d61f(%rip), %rsi     # 0x41043
callq 0x5290
movq %rax, 0x3c0(%rsp)
jmp 0x23a33
movq 0x3c0(%rsp), %rdi
leaq 0x4a0(%rsp), %rsi
callq 0x5220
movq %rax, 0x3b8(%rsp)
jmp 0x23a52
movq 0x3b8(%rsp), %rdi
leaq 0x1d5fa(%rip), %rsi     # 0x4105b
callq 0x5290
movq %rax, 0x3b0(%rsp)
jmp 0x23a70
movq 0x3b0(%rsp), %rdi
leaq 0x468(%rsp), %rsi
callq 0x5220
movq %rax, 0x3a8(%rsp)
jmp 0x23a8f
movq 0x3a8(%rsp), %rdi
leaq 0x1d5c7(%rip), %rsi     # 0x41065
callq 0x5290
movq %rax, 0x3a0(%rsp)
jmp 0x23aad
movq 0x3a0(%rsp), %rdi
leaq 0x1d548(%rip), %rsi     # 0x41004
callq 0x5290
movq %rax, 0x398(%rsp)
jmp 0x23acb
movq 0x398(%rsp), %rdi
leaq 0x1d5a0(%rip), %rsi     # 0x4107a
callq 0x5290
movq %rax, 0x390(%rsp)
jmp 0x23ae9
movl $0xd, %edi
callq 0x257e0
movl %eax, 0x38c(%rsp)
jmp 0x23afc
movq 0x390(%rsp), %rdi
movl 0x38c(%rsp), %eax
movl %eax, 0x458(%rsp)
movl 0x458(%rsp), %esi
callq 0x52f0
movq %rax, 0x380(%rsp)
jmp 0x23b28
movq 0x4c8(%rsp), %rdi
addq $0x2c, %rdi
movl 0x4c4(%rsp), %eax
movl %eax, %esi
callq 0x25800
movq 0x380(%rsp), %rdi
movl (%rax), %esi
callq 0x5490
movq %rax, 0x378(%rsp)
jmp 0x23b5b
movq 0x378(%rsp), %rdi
leaq 0x1d07b(%rip), %rsi     # 0x40be5
callq 0x5290
movq %rax, 0x370(%rsp)
jmp 0x23b79
movl $0xd, %edi
callq 0x257e0
movl %eax, 0x36c(%rsp)
jmp 0x23b8c
movq 0x370(%rsp), %rdi
movl 0x36c(%rsp), %eax
movl %eax, 0x454(%rsp)
movl 0x454(%rsp), %esi
callq 0x52f0
movq %rax, 0x360(%rsp)
jmp 0x23bb8
movq 0x4c8(%rsp), %rax
addq $0x2c, %rax
movq %rax, 0x350(%rsp)
movl 0x4c4(%rsp), %edi
callq 0x24ce0
movl %eax, 0x35c(%rsp)
jmp 0x23be1
movq 0x350(%rsp), %rdi
movl 0x35c(%rsp), %eax
movl %eax, %eax
movl %eax, %esi
callq 0x25800
movq 0x360(%rsp), %rdi
movl (%rax), %esi
callq 0x5490
movq %rax, 0x348(%rsp)
jmp 0x23c12
movq 0x348(%rsp), %rdi
leaq 0x1cfc4(%rip), %rsi     # 0x40be5
callq 0x5290
movq %rax, 0x340(%rsp)
jmp 0x23c30
movl $0xd, %edi
callq 0x257e0
movl %eax, 0x33c(%rsp)
jmp 0x23c43
movq 0x340(%rsp), %rdi
movl 0x33c(%rsp), %eax
movl %eax, 0x450(%rsp)
movl 0x450(%rsp), %esi
callq 0x52f0
movq %rax, 0x330(%rsp)
jmp 0x23c6f
movq 0x4c8(%rsp), %rdi
addq $0x2c, %rdi
movl 0x4c4(%rsp), %eax
movl %eax, %esi
callq 0x25800
movl (%rax), %eax
movl %eax, 0x31c(%rsp)
movq 0x4c8(%rsp), %rax
addq $0x2c, %rax
movq %rax, 0x320(%rsp)
movl 0x4c4(%rsp), %edi
callq 0x24ce0
movl %eax, 0x32c(%rsp)
jmp 0x23cbb
movq 0x320(%rsp), %rdi
movl 0x32c(%rsp), %eax
movl %eax, %eax
movl %eax, %esi
callq 0x25800
movl 0x31c(%rsp), %esi
movq 0x330(%rsp), %rdi
movl (%rax), %eax
subl %eax, %esi
callq 0x5490
movq %rax, 0x310(%rsp)
jmp 0x23cf5
movq 0x310(%rsp), %rdi
leaq 0x1d373(%rip), %rsi     # 0x41077
callq 0x5290
movq %rax, 0x308(%rsp)
jmp 0x23d13
movq 0x308(%rsp), %rdi
leaq 0x1d2e2(%rip), %rsi     # 0x41004
callq 0x5290
movq %rax, 0x300(%rsp)
jmp 0x23d31
movq 0x300(%rsp), %rdi
leaq 0x1d34e(%rip), %rsi     # 0x4108e
callq 0x5290
movq %rax, 0x2f8(%rsp)
jmp 0x23d4f
movl $0xd, %edi
callq 0x257e0
movl %eax, 0x2f4(%rsp)
jmp 0x23d62
movq 0x2f8(%rsp), %rdi
movl 0x2f4(%rsp), %eax
movl %eax, 0x44c(%rsp)
movl 0x44c(%rsp), %esi
callq 0x52f0
movq %rax, 0x2e8(%rsp)
jmp 0x23d8e
movq 0x4c8(%rsp), %rdi
addq $0x14, %rdi
movl 0x4c4(%rsp), %eax
movl %eax, %esi
callq 0x25800
movq 0x2e8(%rsp), %rdi
movl (%rax), %esi
callq 0x5490
movq %rax, 0x2e0(%rsp)
jmp 0x23dc1
movq 0x2e0(%rsp), %rdi
leaq 0x1ce15(%rip), %rsi     # 0x40be5
callq 0x5290
movq %rax, 0x2d8(%rsp)
jmp 0x23ddf
movl $0xd, %edi
callq 0x257e0
movl %eax, 0x2d4(%rsp)
jmp 0x23df2
movq 0x2d8(%rsp), %rdi
movl 0x2d4(%rsp), %eax
movl %eax, 0x448(%rsp)
movl 0x448(%rsp), %esi
callq 0x52f0
movq %rax, 0x2c8(%rsp)
jmp 0x23e1e
movq 0x4c8(%rsp), %rax
addq $0x14, %rax
movq %rax, 0x2b8(%rsp)
movl 0x4c4(%rsp), %edi
callq 0x24ce0
movl %eax, 0x2c4(%rsp)
jmp 0x23e47
movq 0x2b8(%rsp), %rdi
movl 0x2c4(%rsp), %eax
movl %eax, %eax
movl %eax, %esi
callq 0x25800
movq 0x2c8(%rsp), %rdi
movl (%rax), %esi
callq 0x5490
movq %rax, 0x2b0(%rsp)
jmp 0x23e78
movq 0x2b0(%rsp), %rdi
leaq 0x1cd5e(%rip), %rsi     # 0x40be5
callq 0x5290
movq %rax, 0x2a8(%rsp)
jmp 0x23e96
movl $0xd, %edi
callq 0x257e0
movl %eax, 0x2a4(%rsp)
jmp 0x23ea9
movq 0x2a8(%rsp), %rdi
movl 0x2a4(%rsp), %eax
movl %eax, 0x444(%rsp)
movl 0x444(%rsp), %esi
callq 0x52f0
movq %rax, 0x298(%rsp)
jmp 0x23ed5
movq 0x4c8(%rsp), %rdi
addq $0x14, %rdi
movl 0x4c4(%rsp), %eax
movl %eax, %esi
callq 0x25800
movl (%rax), %eax
movl %eax, 0x284(%rsp)
movq 0x4c8(%rsp), %rax
addq $0x14, %rax
movq %rax, 0x288(%rsp)
movl 0x4c4(%rsp), %edi
callq 0x24ce0
movl %eax, 0x294(%rsp)
jmp 0x23f21
movq 0x288(%rsp), %rdi
movl 0x294(%rsp), %eax
movl %eax, %eax
movl %eax, %esi
callq 0x25800
movl 0x284(%rsp), %esi
movq 0x298(%rsp), %rdi
movl (%rax), %eax
subl %eax, %esi
callq 0x5490
movq %rax, 0x278(%rsp)
jmp 0x23f5b
movq 0x278(%rsp), %rdi
leaq 0x1d10d(%rip), %rsi     # 0x41077
callq 0x5290
movq %rax, 0x270(%rsp)
jmp 0x23f79
movq 0x270(%rsp), %rdi
leaq 0x1d07c(%rip), %rsi     # 0x41004
callq 0x5290
movq %rax, 0x268(%rsp)
jmp 0x23f97
movq 0x268(%rsp), %rdi
leaq 0x1d0fc(%rip), %rsi     # 0x410a2
callq 0x5290
movq %rax, 0x260(%rsp)
jmp 0x23fb5
movl $0xd, %edi
callq 0x257e0
movl %eax, 0x25c(%rsp)
jmp 0x23fc8
movq 0x260(%rsp), %rdi
movl 0x25c(%rsp), %eax
movl %eax, 0x440(%rsp)
movl 0x440(%rsp), %esi
callq 0x52f0
movq %rax, 0x250(%rsp)
jmp 0x23ff4
movq 0x4c8(%rsp), %rdi
addq $0x24, %rdi
movl 0x4c4(%rsp), %eax
movl %eax, %esi
callq 0x25800
movq 0x250(%rsp), %rdi
movl (%rax), %esi
callq 0x5490
movq %rax, 0x248(%rsp)
jmp 0x24027
movq 0x248(%rsp), %rdi
leaq 0x1cbaf(%rip), %rsi     # 0x40be5
callq 0x5290
movq %rax, 0x240(%rsp)
jmp 0x24045
movl $0xd, %edi
callq 0x257e0
movl %eax, 0x23c(%rsp)
jmp 0x24058
movq 0x240(%rsp), %rdi
movl 0x23c(%rsp), %eax
movl %eax, 0x43c(%rsp)
movl 0x43c(%rsp), %esi
callq 0x52f0
movq %rax, 0x230(%rsp)
jmp 0x24084
movq 0x4c8(%rsp), %rax
addq $0x24, %rax
movq %rax, 0x220(%rsp)
movl 0x4c4(%rsp), %edi
callq 0x24ce0
movl %eax, 0x22c(%rsp)
jmp 0x240ad
movq 0x220(%rsp), %rdi
movl 0x22c(%rsp), %eax
movl %eax, %eax
movl %eax, %esi
callq 0x25800
movq 0x230(%rsp), %rdi
movl (%rax), %esi
callq 0x5490
movq %rax, 0x218(%rsp)
jmp 0x240de
movq 0x218(%rsp), %rdi
leaq 0x1caf8(%rip), %rsi     # 0x40be5
callq 0x5290
movq %rax, 0x210(%rsp)
jmp 0x240fc
movl $0xd, %edi
callq 0x257e0
movl %eax, 0x20c(%rsp)
jmp 0x2410f
movq 0x210(%rsp), %rdi
movl 0x20c(%rsp), %eax
movl %eax, 0x438(%rsp)
movl 0x438(%rsp), %esi
callq 0x52f0
movq %rax, 0x200(%rsp)
jmp 0x2413b
movq 0x4c8(%rsp), %rdi
addq $0x24, %rdi
movl 0x4c4(%rsp), %eax
movl %eax, %esi
callq 0x25800
movl (%rax), %eax
movl %eax, 0x1ec(%rsp)
movq 0x4c8(%rsp), %rax
addq $0x24, %rax
movq %rax, 0x1f0(%rsp)
movl 0x4c4(%rsp), %edi
callq 0x24ce0
movl %eax, 0x1fc(%rsp)
jmp 0x24187
movq 0x1f0(%rsp), %rdi
movl 0x1fc(%rsp), %eax
movl %eax, %eax
movl %eax, %esi
callq 0x25800
movl 0x1ec(%rsp), %esi
movq 0x200(%rsp), %rdi
movl (%rax), %eax
subl %eax, %esi
callq 0x5490
movq %rax, 0x1e0(%rsp)
jmp 0x241c1
movq 0x1e0(%rsp), %rdi
leaq 0x1cea7(%rip), %rsi     # 0x41077
callq 0x5290
movq %rax, 0x1d8(%rsp)
jmp 0x241df
movq 0x1d8(%rsp), %rdi
leaq 0x1ce16(%rip), %rsi     # 0x41004
callq 0x5290
movq %rax, 0x1d0(%rsp)
jmp 0x241fd
movq 0x1d0(%rsp), %rdi
leaq 0x1ceaa(%rip), %rsi     # 0x410b6
callq 0x5290
movq %rax, 0x1c8(%rsp)
jmp 0x2421b
movl $0xd, %edi
callq 0x257e0
movl %eax, 0x1c4(%rsp)
jmp 0x2422e
movq 0x1c8(%rsp), %rdi
movl 0x1c4(%rsp), %eax
movl %eax, 0x434(%rsp)
movl 0x434(%rsp), %esi
callq 0x52f0
movq %rax, 0x1b8(%rsp)
jmp 0x2425a
movq 0x4c8(%rsp), %rdi
addq $0x1c, %rdi
movl 0x4c4(%rsp), %eax
movl %eax, %esi
callq 0x25800
movq 0x1b8(%rsp), %rdi
movl (%rax), %esi
callq 0x5490
movq %rax, 0x1b0(%rsp)
jmp 0x2428d
movq 0x1b0(%rsp), %rdi
leaq 0x1c949(%rip), %rsi     # 0x40be5
callq 0x5290
movq %rax, 0x1a8(%rsp)
jmp 0x242ab
movl $0xd, %edi
callq 0x257e0
movl %eax, 0x1a4(%rsp)
jmp 0x242be
movq 0x1a8(%rsp), %rdi
movl 0x1a4(%rsp), %eax
movl %eax, 0x430(%rsp)
movl 0x430(%rsp), %esi
callq 0x52f0
movq %rax, 0x198(%rsp)
jmp 0x242ea
movq 0x4c8(%rsp), %rax
addq $0x1c, %rax
movq %rax, 0x188(%rsp)
movl 0x4c4(%rsp), %edi
callq 0x24ce0
movl %eax, 0x194(%rsp)
jmp 0x24313
movq 0x188(%rsp), %rdi
movl 0x194(%rsp), %eax
movl %eax, %eax
movl %eax, %esi
callq 0x25800
movq 0x198(%rsp), %rdi
movl (%rax), %esi
callq 0x5490
movq %rax, 0x180(%rsp)
jmp 0x24344
movq 0x180(%rsp), %rdi
leaq 0x1c892(%rip), %rsi     # 0x40be5
callq 0x5290
movq %rax, 0x178(%rsp)
jmp 0x24362
movl $0xd, %edi
callq 0x257e0
movl %eax, 0x174(%rsp)
jmp 0x24375
movq 0x178(%rsp), %rdi
movl 0x174(%rsp), %eax
movl %eax, 0x42c(%rsp)
movl 0x42c(%rsp), %esi
callq 0x52f0
movq %rax, 0x168(%rsp)
jmp 0x243a1
movq 0x4c8(%rsp), %rdi
addq $0x1c, %rdi
movl 0x4c4(%rsp), %eax
movl %eax, %esi
callq 0x25800
movl (%rax), %eax
movl %eax, 0x154(%rsp)
movq 0x4c8(%rsp), %rax
addq $0x1c, %rax
movq %rax, 0x158(%rsp)
movl 0x4c4(%rsp), %edi
callq 0x24ce0
movl %eax, 0x164(%rsp)
jmp 0x243ed
movq 0x158(%rsp), %rdi
movl 0x164(%rsp), %eax
movl %eax, %eax
movl %eax, %esi
callq 0x25800
movl 0x154(%rsp), %esi
movq 0x168(%rsp), %rdi
movl (%rax), %eax
subl %eax, %esi
callq 0x5490
movq %rax, 0x148(%rsp)
jmp 0x24427
movq 0x148(%rsp), %rdi
leaq 0x1cc41(%rip), %rsi     # 0x41077
callq 0x5290
movq %rax, 0x140(%rsp)
jmp 0x24445
movq 0x140(%rsp), %rdi
leaq 0x1cbb0(%rip), %rsi     # 0x41004
callq 0x5290
movq %rax, 0x138(%rsp)
jmp 0x24463
movq 0x138(%rsp), %rdi
leaq 0x1cc58(%rip), %rsi     # 0x410ca
callq 0x5290
movq %rax, 0x130(%rsp)
jmp 0x24481
movl $0xd, %edi
callq 0x257e0
movl %eax, 0x12c(%rsp)
jmp 0x24494
movq 0x130(%rsp), %rdi
movl 0x12c(%rsp), %eax
movl %eax, 0x428(%rsp)
movl 0x428(%rsp), %esi
callq 0x52f0
movq %rax, 0x120(%rsp)
jmp 0x244c0
movq 0x4c8(%rsp), %rdi
addq $0x34, %rdi
movl 0x4c4(%rsp), %eax
movl %eax, %esi
callq 0x25800
movq 0x120(%rsp), %rdi
movl (%rax), %esi
callq 0x5490
movq %rax, 0x118(%rsp)
jmp 0x244f3
movq 0x118(%rsp), %rdi
leaq 0x1c6e3(%rip), %rsi     # 0x40be5
callq 0x5290
movq %rax, 0x110(%rsp)
jmp 0x24511
movl $0xd, %edi
callq 0x257e0
movl %eax, 0x10c(%rsp)
jmp 0x24524
movq 0x110(%rsp), %rdi
movl 0x10c(%rsp), %eax
movl %eax, 0x424(%rsp)
movl 0x424(%rsp), %esi
callq 0x52f0
movq %rax, 0x100(%rsp)
jmp 0x24550
movq 0x4c8(%rsp), %rax
addq $0x34, %rax
movq %rax, 0xf0(%rsp)
movl 0x4c4(%rsp), %edi
callq 0x24ce0
movl %eax, 0xfc(%rsp)
jmp 0x24579
movq 0xf0(%rsp), %rdi
movl 0xfc(%rsp), %eax
movl %eax, %eax
movl %eax, %esi
callq 0x25800
movq 0x100(%rsp), %rdi
movl (%rax), %esi
callq 0x5490
movq %rax, 0xe8(%rsp)
jmp 0x245aa
movq 0xe8(%rsp), %rdi
leaq 0x1c62c(%rip), %rsi     # 0x40be5
callq 0x5290
movq %rax, 0xe0(%rsp)
jmp 0x245c8
movl $0xd, %edi
callq 0x257e0
movl %eax, 0xdc(%rsp)
jmp 0x245db
movq 0xe0(%rsp), %rdi
movl 0xdc(%rsp), %eax
movl %eax, 0x420(%rsp)
movl 0x420(%rsp), %esi
callq 0x52f0
movq %rax, 0xd0(%rsp)
jmp 0x24607
movq 0x4c8(%rsp), %rdi
addq $0x34, %rdi
movl 0x4c4(%rsp), %eax
movl %eax, %esi
callq 0x25800
movl (%rax), %eax
movl %eax, 0xbc(%rsp)
movq 0x4c8(%rsp), %rax
addq $0x34, %rax
movq %rax, 0xc0(%rsp)
movl 0x4c4(%rsp), %edi
callq 0x24ce0
movl %eax, 0xcc(%rsp)
jmp 0x24653
movq 0xc0(%rsp), %rdi
movl 0xcc(%rsp), %eax
movl %eax, %eax
movl %eax, %esi
callq 0x25800
movl 0xbc(%rsp), %esi
movq 0xd0(%rsp), %rdi
movl (%rax), %eax
subl %eax, %esi
callq 0x5490
movq %rax, 0xb0(%rsp)
jmp 0x2468d
movq 0xb0(%rsp), %rdi
leaq 0x1c9db(%rip), %rsi     # 0x41077
callq 0x5290
movq %rax, 0xa8(%rsp)
jmp 0x246ab
movq 0xa8(%rsp), %rdi
leaq 0x1c94a(%rip), %rsi     # 0x41004
callq 0x5290
movq %rax, 0xa0(%rsp)
jmp 0x246c9
movq 0xa0(%rsp), %rdi
leaq 0x1ca06(%rip), %rsi     # 0x410de
callq 0x5290
movq %rax, 0x98(%rsp)
jmp 0x246e7
movl $0xd, %edi
callq 0x257e0
movl %eax, 0x94(%rsp)
jmp 0x246fa
movq 0x98(%rsp), %rdi
movl 0x94(%rsp), %eax
movl %eax, 0x41c(%rsp)
movl 0x41c(%rsp), %esi
callq 0x52f0
movq %rax, 0x88(%rsp)
jmp 0x24726
movq 0x88(%rsp), %rdi
movl 0x460(%rsp), %esi
callq 0x5490
movq %rax, 0x80(%rsp)
jmp 0x24744
movq 0x80(%rsp), %rdi
leaq 0x1c492(%rip), %rsi     # 0x40be5
callq 0x5290
movq %rax, 0x78(%rsp)
jmp 0x2475f
movl $0xd, %edi
callq 0x257e0
movl %eax, 0x74(%rsp)
jmp 0x2476f
movq 0x78(%rsp), %rdi
movl 0x74(%rsp), %eax
movl %eax, 0x418(%rsp)
movl 0x418(%rsp), %esi
callq 0x52f0
movq %rax, 0x68(%rsp)
jmp 0x24792
movq 0x68(%rsp), %rdi
movl 0x45c(%rsp), %esi
callq 0x5490
movq %rax, 0x60(%rsp)
jmp 0x247aa
movq 0x60(%rsp), %rdi
leaq 0x1c42f(%rip), %rsi     # 0x40be5
callq 0x5290
movq %rax, 0x58(%rsp)
jmp 0x247c2
movl $0xd, %edi
callq 0x257e0
movl %eax, 0x54(%rsp)
jmp 0x247d2
movq 0x58(%rsp), %rdi
movl 0x54(%rsp), %eax
movl %eax, 0x414(%rsp)
movl 0x414(%rsp), %esi
callq 0x52f0
movq %rax, 0x48(%rsp)
jmp 0x247f5
movq 0x48(%rsp), %rdi
movl 0x460(%rsp), %esi
movl 0x45c(%rsp), %eax
addl %eax, %esi
callq 0x5490
movq %rax, 0x40(%rsp)
jmp 0x24816
movq 0x40(%rsp), %rdi
leaq 0x1c855(%rip), %rsi     # 0x41077
callq 0x5290
movq %rax, 0x38(%rsp)
jmp 0x2482e
movq 0x38(%rsp), %rdi
leaq 0x1c7ca(%rip), %rsi     # 0x41004
callq 0x5290
movq %rax, 0x30(%rsp)
jmp 0x24846
movq 0x30(%rsp), %rdi
leaq 0x1c8a0(%rip), %rsi     # 0x410f2
callq 0x5290
movq %rax, 0x28(%rsp)
jmp 0x2485e
movl $0xd, %edi
callq 0x257e0
movl %eax, 0x24(%rsp)
jmp 0x2486e
movq 0x28(%rsp), %rdi
movl 0x24(%rsp), %eax
movl %eax, 0x410(%rsp)
movl 0x410(%rsp), %esi
callq 0x52f0
movq %rax, 0x18(%rsp)
jmp 0x24891
movq 0x18(%rsp), %rdi
movq 0x4c8(%rsp), %rax
movl 0x10(%rax), %esi
callq 0x5490
movq %rax, 0x10(%rsp)
jmp 0x248ad
movq 0x10(%rsp), %rdi
leaq 0x1c7be(%rip), %rsi     # 0x41077
callq 0x5290
movq %rax, 0x8(%rsp)
jmp 0x248c5
movq 0x8(%rsp), %rdi
leaq 0x1c733(%rip), %rsi     # 0x41004
callq 0x5290
jmp 0x248d8
movq 0x4d0(%rsp), %rax
movq %rax, (%rsp)
leaq 0x468(%rsp), %rdi
callq 0x5538
leaq 0x4a0(%rsp), %rdi
callq 0x5538
movq (%rsp), %rax
addq $0x4d8, %rsp            # imm = 0x4D8
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x490(%rsp)
movl %eax, 0x48c(%rsp)
leaq 0x49f(%rsp), %rdi
callq 0x52e0
jmp 0x2497e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x490(%rsp)
movl %eax, 0x48c(%rsp)
leaq 0x467(%rsp), %rdi
callq 0x52e0
jmp 0x24971
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x490(%rsp)
movl %eax, 0x48c(%rsp)
leaq 0x468(%rsp), %rdi
callq 0x5538
leaq 0x4a0(%rsp), %rdi
callq 0x5538
movq 0x490(%rsp), %rdi
callq 0x54b0
nopl (%rax,%rax)