// File: wrighteagle2d[P]wrighteaglebase/Debug/../src/WorldState.cpp
// Function: WorldStateUpdater::UpdateWorldState()
void WorldStateUpdater::UpdateWorldState() {
  /**更新场上的状态*/
  UpdateFieldInfo();

  if (PlayerParam::instance().isCoach() ||
      PlayerParam::instance().isTrainer() || mpObserver->mReceiveFullstateMsg) {
    if (mpObserver->mReceiveFullstateMsg) {
      SelfState().SetIsAlive(true);
      SelfState().UpdateIsSensed(true); // “真正”的自己
    }

    if (mpObserver->OurSide() == 'l') { // server发过来的信息坐标与自己一致
      Ball().UpdatePos(mpObserver->Ball_Fullstate().GetPos(), 0, 1.0);
      Ball().UpdateVel(mpObserver->Ball_Fullstate().GetVel(), 0, 1.0);

      for (Unum i = 1; i <= TEAMSIZE; i++) {
        Teammate(i).SetIsAlive(mpObserver->Teammate_Fullstate(i).IsAlive());
        Teammate(i).UpdatePlayerType(mpObserver->GetTeammateType(i));
        Teammate(i).UpdatePos(mpObserver->Teammate_Fullstate(i).GetPos(), 0,
                              1.0);
        Teammate(i).UpdateVel(mpObserver->Teammate_Fullstate(i).GetVel(), 0,
                              1.0);
        Teammate(i).UpdateBodyDir(
            mpObserver->Teammate_Fullstate(i).GetBodyDir(), 0, 1.0);
        Teammate(i).UpdateNeckDir(
            mpObserver->Teammate_Fullstate(i).GetNeckDir(), 0, 1.0);
        Teammate(i).UpdateCardType(
            mpObserver->Teammate_Fullstate(i).GetCardType());
        // TODO: arm, tackle lying等，暂时不用 -- TODO

        Opponent(i).SetIsAlive(mpObserver->Opponent_Fullstate(i).IsAlive());
        Opponent(i).UpdatePos(mpObserver->Opponent_Fullstate(i).GetPos(), 0,
                              1.0);
        Opponent(i).UpdateVel(mpObserver->Opponent_Fullstate(i).GetVel(), 0,
                              1.0);
        Opponent(i).UpdateBodyDir(
            mpObserver->Opponent_Fullstate(i).GetBodyDir(), 0, 1.0);
        Opponent(i).UpdateNeckDir(
            mpObserver->Opponent_Fullstate(i).GetNeckDir(), 0, 1.0);
        Opponent(i).UpdateCardType(
            mpObserver->Opponent_Fullstate(i).GetCardType());

        if (mpObserver->mReceiveFullstateMsg) {
          Teammate(i).UpdatePlayerType(
              mpObserver->Teammate_Fullstate(i).GetPlayerType());
          Teammate(i).UpdateStamina(
              mpObserver->Teammate_Fullstate(i).GetStamina());
          Teammate(i).UpdateEffort(
              mpObserver->Teammate_Fullstate(i).GetEffort());
          Teammate(i).UpdateRecovery(
              mpObserver->Teammate_Fullstate(i).GetRecovery());
          Teammate(i).UpdateCapacity(
              mpObserver->Teammate_Fullstate(i).GetCapacity());

          Opponent(i).UpdatePlayerType(
              mpObserver->Opponent_Fullstate(i).GetPlayerType());
          Opponent(i).UpdateStamina(
              mpObserver->Opponent_Fullstate(i).GetStamina());
          Opponent(i).UpdateEffort(
              mpObserver->Opponent_Fullstate(i).GetEffort());
          Opponent(i).UpdateRecovery(
              mpObserver->Opponent_Fullstate(i).GetRecovery());
          Opponent(i).UpdateCapacity(
              mpObserver->Opponent_Fullstate(i).GetCapacity());
        }
      }
    } else { // server发过来的信息坐标与自己相反，因为代码里总是假设自己在左边
      Ball().UpdatePos(mpObserver->Ball_Fullstate().GetPos() * -1.0, 0, 1.0);
      Ball().UpdateVel(mpObserver->Ball_Fullstate().GetVel() * -1.0, 0, 1.0);

      for (Unum i = 1; i <= TEAMSIZE; i++) {
        Teammate(i).SetIsAlive(mpObserver->Teammate_Fullstate(i).IsAlive());
        Teammate(i).UpdatePlayerType(mpObserver->GetTeammateType(i));
        Teammate(i).UpdatePos(mpObserver->Teammate_Fullstate(i).GetPos() * -1.0,
                              0, 1.0);
        Teammate(i).UpdateVel(mpObserver->Teammate_Fullstate(i).GetVel() * -1.0,
                              0, 1.0);
        Teammate(i).UpdateBodyDir(
            GetNormalizeAngleDeg(
                mpObserver->Teammate_Fullstate(i).GetBodyDir() + 180.0),
            0, 1.0);
        Teammate(i).UpdateNeckDir(
            GetNormalizeAngleDeg(
                mpObserver->Teammate_Fullstate(i).GetNeckDir() + 180.0),
            0, 1.0);
        Teammate(i).UpdateCardType(
            mpObserver->Teammate_Fullstate(i).GetCardType());
        // TODO: arm, tackle 等，暂时不用

        Opponent(i).SetIsAlive(mpObserver->Opponent_Fullstate(i).IsAlive());

        Opponent(i).UpdatePos(mpObserver->Opponent_Fullstate(i).GetPos() * -1.0,
                              0, 1.0);
        Opponent(i).UpdateVel(mpObserver->Opponent_Fullstate(i).GetVel() * -1.0,
                              0, 1.0);
        Opponent(i).UpdateBodyDir(
            GetNormalizeAngleDeg(
                mpObserver->Opponent_Fullstate(i).GetBodyDir() + 180.0),
            0, 1.0);
        Opponent(i).UpdateNeckDir(
            GetNormalizeAngleDeg(
                mpObserver->Opponent_Fullstate(i).GetNeckDir() + 180.0),
            0, 1.0);
        Opponent(i).UpdateCardType(
            mpObserver->Opponent_Fullstate(i).GetCardType());
      }
    }

    if (mpWorldState->GetTeammateGoalieUnum() > 0)
      Teammate(mpWorldState->GetTeammateGoalieUnum()).UpdateIsGoalie(true);
    if (mpWorldState->GetOpponentGoalieUnum() > 0)
      Opponent(mpWorldState->GetOpponentGoalieUnum()).UpdateIsGoalie(true);
    UpdateActionInfo();
  } else {
    // this procedure updates history state and there is a similar procedure in
    // UpdateFromAudio but updates current state.
    if (mpObserver->Ball_Fullstate().GetPosDelay() == 0) {
      WorldState &history = *mpWorldState->mpHistory->GetHistory(1);
      history.Ball().UpdatePos(mpObserver->Ball_Fullstate().GetPos(), 0, 1.0);
      history.Ball().UpdateGuessedTimes(0);
      history.Ball().UpdateVel(mpObserver->Ball_Fullstate().GetVel(), 0, 1.0);
      history.Ball().UpdatePosEps(0);
      history.Ball().UpdateVelEps(0);

      for (Unum i = 1; i <= TEAMSIZE; i++) {
        history.Teammate(i).SetIsAlive(
            mpObserver->Teammate_Fullstate(i).IsAlive());
        history.Teammate(i).UpdatePos(
            mpObserver->Teammate_Fullstate(i).GetPos(), 0, 1.0);
        history.Teammate(i).UpdateGuessedTimes(0);
        history.Teammate(i).UpdateVel(
            mpObserver->Teammate_Fullstate(i).GetVel(), 0, 1.0);
        history.Teammate(i).UpdatePosEps(0);
        history.Teammate(i).UpdateVelEps(0);
        history.Teammate(i).UpdateBodyDir(
            mpObserver->Teammate_Fullstate(i).GetBodyDir(), 0, 1.0);
        history.Teammate(i).UpdateNeckDir(
            mpObserver->Teammate_Fullstate(i).GetNeckDir(), 0, 1.0);
        if (i != mSelfUnum) {
          history.Teammate(i).UpdateStamina(
              mpObserver->Teammate_Fullstate(i).GetStamina());
          history.Teammate(i).UpdateCapacity(
              mpObserver->Teammate_Fullstate(i).GetCapacity());
        }

        history.Opponent(i).SetIsAlive(
            mpObserver->Opponent_Fullstate(i).IsAlive());
        history.Opponent(i).UpdatePlayerType(
            mpObserver->Opponent_Fullstate(i).GetPlayerType());
        history.Opponent(i).UpdatePos(
            mpObserver->Opponent_Fullstate(i).GetPos(), 0, 1.0);
        history.Opponent(i).UpdateGuessedTimes(0);
        history.Opponent(i).UpdateVel(
            mpObserver->Opponent_Fullstate(i).GetVel(), 0, 1.0);
        history.Opponent(i).UpdatePosEps(0);
        history.Opponent(i).UpdateVelEps(0);
        history.Opponent(i).UpdateBodyDir(
            mpObserver->Opponent_Fullstate(i).GetBodyDir());
        history.Opponent(i).UpdateNeckDir(
            mpObserver->Opponent_Fullstate(i).GetNeckDir());
        history.Opponent(i).UpdateStamina(
            mpObserver->Opponent_Fullstate(i).GetStamina());
        history.Opponent(i).UpdateCapacity(
            mpObserver->Opponent_Fullstate(i).GetCapacity());
      }
    }

    //更新所有的delay delay加上1 conf乘以1
    AutoDelay(1);

    //更新所有人的player_type和is_goalie
    for (int i = 1; i <= TEAMSIZE; i++) {
      Teammate(i).UpdatePlayerType(mpObserver->GetTeammateType(i));
      //			Opponent(i).UpdatePlayerType(mpObserver->GetOpponentType(i));
      //// 在UpdateFromAudio中更新,在此不更新

      Teammate(i).UpdateIsGoalie(false);
      Opponent(i).UpdateIsGoalie(false);
    }

    if (mpWorldState->GetTeammateGoalieUnum() > 0)
      Teammate(mpWorldState->GetTeammateGoalieUnum()).UpdateIsGoalie(true);
    if (mpWorldState->GetOpponentGoalieUnum() > 0)
      Opponent(mpWorldState->GetOpponentGoalieUnum()).UpdateIsGoalie(true);
    //	int id =	TimeTest::instance().Begin("before");
    //更新自己的听觉信息
    UpdateFromAudio();

    //预测一周期
    EstimateWorld();

    if (mpObserver->IsNewSight()) {
      UpdateSightDelay();
    }
    /*	TimeTest::instance().End(id);
            id = TimeTest::instance().Begin("test");
            TimeTest::instance().End(id);
            id = TimeTest::instance().Begin("middle");*/
    //更新自己的信息
    UpdateSelfInfo();

    if (mpObserver->IsNewSight()) {
      //更新所有可见的队员的信息
      UpdateKnownPlayers();

      //更新所有未知号码的球员
      UpdateUnknownPlayers();

      //更新球的信息
      UpdateBallInfo();

      EstimateToNow();
    }
    /*	TimeTest::instance().End(id);

            id = TimeTest::instance().Begin("end");*/
    /**处理碰撞*/
    UpdateInfoWhenCollided();

    //根据playmode更新确定的位置
    UpdateInfoFromPlayMode();

    //重新评估各球员的置信度 及置球员的生死
    EvaluateConf();

    //更新Action的信息
    UpdateActionInfo();

    MaintainPlayerStamina();

    MaintainConsistency();
    //	TimeTest::instance().End(id);
    //
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x2b0, %rsp            # imm = 0x2B0
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0xe0(%rbp)
callq 0xad830
callq 0x798a0
movq %rax, %rdi
callq 0x10de0
testb $0x1, (%rax)
jne 0xab817
callq 0x798a0
movq %rax, %rdi
callq 0x12080
testb $0x1, (%rax)
jne 0xab817
movq -0xe0(%rbp), %rax
movq (%rax), %rax
testb $0x1, 0x8(%rax)
je 0xac5f4
movq -0xe0(%rbp), %rax
movq (%rax), %rax
testb $0x1, 0x8(%rax)
je 0xab859
movq -0xe0(%rbp), %rdi
callq 0xbc740
movq %rax, %rdi
movl $0x1, %esi
callq 0x288a0
movq -0xe0(%rbp), %rdi
callq 0xbc740
movq %rax, %rdi
movl $0x1, %esi
callq 0x7d1d0
movq -0xe0(%rbp), %rax
movq (%rax), %rdi
callq 0x6e5b0
movsbl (%rax), %eax
cmpl $0x6c, %eax
jne 0xabf81
movq -0xe0(%rbp), %rdi
callq 0xbc760
movq %rax, %rcx
movq -0xe0(%rbp), %rax
movq %rcx, -0xf0(%rbp)
movq (%rax), %rdi
callq 0x77e40
movq %rax, %rdi
addq $0x8, %rdi
callq 0x11090
movq -0xf0(%rbp), %rdi
movq %rax, %rsi
xorl %edx, %edx
movsd 0x15757(%rip), %xmm0    # 0xc1010
callq 0x142f0
movq -0xe0(%rbp), %rdi
callq 0xbc760
movq %rax, %rcx
movq -0xe0(%rbp), %rax
movq %rcx, -0xe8(%rbp)
movq (%rax), %rdi
callq 0x77e40
movq %rax, %rdi
callq 0x10a80
movq -0xe8(%rbp), %rdi
movq %rax, %rsi
xorl %edx, %edx
movsd 0x15711(%rip), %xmm0    # 0xc1010
callq 0x142a0
movl $0x1, -0xc(%rbp)
cmpl $0xb, -0xc(%rbp)
jg 0xabf7c
movq -0xe0(%rbp), %rdi
movl -0xc(%rbp), %esi
callq 0xbc780
movq %rax, %rcx
movq -0xe0(%rbp), %rax
movq %rcx, -0x158(%rbp)
movq (%rax), %rdi
movl -0xc(%rbp), %esi
callq 0x29540
movq %rax, %rdi
callq 0x23f20
movq -0x158(%rbp), %rdi
movzbl %al, %esi
andl $0x1, %esi
callq 0x288a0
movq -0xe0(%rbp), %rdi
movl -0xc(%rbp), %esi
callq 0xbc780
movq %rax, %rcx
movq -0xe0(%rbp), %rax
movq %rcx, -0x150(%rbp)
movq (%rax), %rdi
movl -0xc(%rbp), %esi
callq 0xbc7b0
movq -0x150(%rbp), %rdi
movl (%rax), %esi
callq 0x77e60
movq -0xe0(%rbp), %rdi
movl -0xc(%rbp), %esi
callq 0xbc780
movq %rax, %rcx
movq -0xe0(%rbp), %rax
movq %rcx, -0x148(%rbp)
movq (%rax), %rdi
movl -0xc(%rbp), %esi
callq 0x29540
movq %rax, %rdi
addq $0x8, %rdi
callq 0x11090
movq -0x148(%rbp), %rdi
movq %rax, %rsi
xorl %edx, %edx
movsd 0x15632(%rip), %xmm0    # 0xc1010
callq 0x142f0
movq -0xe0(%rbp), %rdi
movl -0xc(%rbp), %esi
callq 0xbc780
movq %rax, %rcx
movq -0xe0(%rbp), %rax
movq %rcx, -0x140(%rbp)
movq (%rax), %rdi
movl -0xc(%rbp), %esi
callq 0x29540
movq %rax, %rdi
callq 0x10a80
movq -0x140(%rbp), %rdi
movq %rax, %rsi
xorl %edx, %edx
movsd 0x155e6(%rip), %xmm0    # 0xc1010
callq 0x142a0
movq -0xe0(%rbp), %rdi
movl -0xc(%rbp), %esi
callq 0xbc780
movq %rax, %rcx
movq -0xe0(%rbp), %rax
movq %rcx, -0x138(%rbp)
movq (%rax), %rdi
movl -0xc(%rbp), %esi
callq 0x29540
movq %rax, %rdi
callq 0x11170
movq -0x138(%rbp), %rdi
movsd (%rax), %xmm0
xorl %esi, %esi
movsd 0x15599(%rip), %xmm1    # 0xc1010
callq 0x77ef0
movq -0xe0(%rbp), %rdi
movl -0xc(%rbp), %esi
callq 0xbc780
movq %rax, %rcx
movq -0xe0(%rbp), %rax
movq %rcx, -0x130(%rbp)
movq (%rax), %rdi
movl -0xc(%rbp), %esi
callq 0x29540
movq %rax, %rdi
callq 0x118d0
movq -0x130(%rbp), %rdi
xorl %esi, %esi
movsd 0x15550(%rip), %xmm1    # 0xc1010
callq 0x77f60
movq -0xe0(%rbp), %rdi
movl -0xc(%rbp), %esi
callq 0xbc780
movq %rax, %rcx
movq -0xe0(%rbp), %rax
movq %rcx, -0x128(%rbp)
movq (%rax), %rdi
movl -0xc(%rbp), %esi
callq 0x29540
movq %rax, %rdi
callq 0x7d310
movq -0x128(%rbp), %rdi
movl %eax, %esi
callq 0x78050
movq -0xe0(%rbp), %rdi
movl -0xc(%rbp), %esi
callq 0xbc7e0
movq %rax, %rcx
movq -0xe0(%rbp), %rax
movq %rcx, -0x120(%rbp)
movq (%rax), %rdi
movl -0xc(%rbp), %esi
callq 0x77e10
movq %rax, %rdi
callq 0x23f20
movq -0x120(%rbp), %rdi
movzbl %al, %esi
andl $0x1, %esi
callq 0x288a0
movq -0xe0(%rbp), %rdi
movl -0xc(%rbp), %esi
callq 0xbc7e0
movq %rax, %rcx
movq -0xe0(%rbp), %rax
movq %rcx, -0x118(%rbp)
movq (%rax), %rdi
movl -0xc(%rbp), %esi
callq 0x77e10
movq %rax, %rdi
addq $0x8, %rdi
callq 0x11090
movq -0x118(%rbp), %rdi
movq %rax, %rsi
xorl %edx, %edx
movsd 0x1547a(%rip), %xmm0    # 0xc1010
callq 0x142f0
movq -0xe0(%rbp), %rdi
movl -0xc(%rbp), %esi
callq 0xbc7e0
movq %rax, %rcx
movq -0xe0(%rbp), %rax
movq %rcx, -0x110(%rbp)
movq (%rax), %rdi
movl -0xc(%rbp), %esi
callq 0x77e10
movq %rax, %rdi
callq 0x10a80
movq -0x110(%rbp), %rdi
movq %rax, %rsi
xorl %edx, %edx
movsd 0x1542e(%rip), %xmm0    # 0xc1010
callq 0x142a0
movq -0xe0(%rbp), %rdi
movl -0xc(%rbp), %esi
callq 0xbc7e0
movq %rax, %rcx
movq -0xe0(%rbp), %rax
movq %rcx, -0x108(%rbp)
movq (%rax), %rdi
movl -0xc(%rbp), %esi
callq 0x77e10
movq %rax, %rdi
callq 0x11170
movq -0x108(%rbp), %rdi
movsd (%rax), %xmm0
xorl %esi, %esi
movsd 0x153e1(%rip), %xmm1    # 0xc1010
callq 0x77ef0
movq -0xe0(%rbp), %rdi
movl -0xc(%rbp), %esi
callq 0xbc7e0
movq %rax, %rcx
movq -0xe0(%rbp), %rax
movq %rcx, -0x100(%rbp)
movq (%rax), %rdi
movl -0xc(%rbp), %esi
callq 0x77e10
movq %rax, %rdi
callq 0x118d0
movq -0x100(%rbp), %rdi
xorl %esi, %esi
movsd 0x15398(%rip), %xmm1    # 0xc1010
callq 0x77f60
movq -0xe0(%rbp), %rdi
movl -0xc(%rbp), %esi
callq 0xbc7e0
movq %rax, %rcx
movq -0xe0(%rbp), %rax
movq %rcx, -0xf8(%rbp)
movq (%rax), %rdi
movl -0xc(%rbp), %esi
callq 0x77e10
movq %rax, %rdi
callq 0x7d310
movq -0xf8(%rbp), %rdi
movl %eax, %esi
callq 0x78050
movq -0xe0(%rbp), %rax
movq (%rax), %rax
testb $0x1, 0x8(%rax)
je 0xabf6c
movq -0xe0(%rbp), %rdi
movl -0xc(%rbp), %esi
callq 0xbc780
movq %rax, %rcx
movq -0xe0(%rbp), %rax
movq %rcx, -0x1a8(%rbp)
movq (%rax), %rdi
movl -0xc(%rbp), %esi
callq 0x29540
movq %rax, %rdi
callq 0x10a60
movq -0x1a8(%rbp), %rdi
movl %eax, %esi
callq 0x77e60
movq -0xe0(%rbp), %rdi
movl -0xc(%rbp), %esi
callq 0xbc780
movq %rax, %rcx
movq -0xe0(%rbp), %rax
movq %rcx, -0x1a0(%rbp)
movq (%rax), %rdi
movl -0xc(%rbp), %esi
callq 0x29540
movq %rax, %rdi
callq 0x10cd0
movq -0x1a0(%rbp), %rdi
movsd (%rax), %xmm0
callq 0x77fd0
movq -0xe0(%rbp), %rdi
movl -0xc(%rbp), %esi
callq 0xbc780
movq %rax, %rcx
movq -0xe0(%rbp), %rax
movq %rcx, -0x198(%rbp)
movq (%rax), %rdi
movl -0xc(%rbp), %esi
callq 0x29540
movq %rax, %rdi
callq 0x11650
movq -0x198(%rbp), %rdi
movsd (%rax), %xmm0
callq 0x77ff0
movq -0xe0(%rbp), %rdi
movl -0xc(%rbp), %esi
callq 0xbc780
movq %rax, %rcx
movq -0xe0(%rbp), %rax
movq %rcx, -0x190(%rbp)
movq (%rax), %rdi
movl -0xc(%rbp), %esi
callq 0x29540
movq %rax, %rdi
callq 0x32a80
movq -0x190(%rbp), %rdi
movsd (%rax), %xmm0
callq 0x78010
movq -0xe0(%rbp), %rdi
movl -0xc(%rbp), %esi
callq 0xbc780
movq %rax, %rcx
movq -0xe0(%rbp), %rax
movq %rcx, -0x188(%rbp)
movq (%rax), %rdi
movl -0xc(%rbp), %esi
callq 0x29540
movq %rax, %rdi
callq 0x12be0
movq -0x188(%rbp), %rdi
movsd (%rax), %xmm0
callq 0x78030
movq -0xe0(%rbp), %rdi
movl -0xc(%rbp), %esi
callq 0xbc7e0
movq %rax, %rcx
movq -0xe0(%rbp), %rax
movq %rcx, -0x180(%rbp)
movq (%rax), %rdi
movl -0xc(%rbp), %esi
callq 0x77e10
movq %rax, %rdi
callq 0x10a60
movq -0x180(%rbp), %rdi
movl %eax, %esi
callq 0x77e60
movq -0xe0(%rbp), %rdi
movl -0xc(%rbp), %esi
callq 0xbc7e0
movq %rax, %rcx
movq -0xe0(%rbp), %rax
movq %rcx, -0x178(%rbp)
movq (%rax), %rdi
movl -0xc(%rbp), %esi
callq 0x77e10
movq %rax, %rdi
callq 0x10cd0
movq -0x178(%rbp), %rdi
movsd (%rax), %xmm0
callq 0x77fd0
movq -0xe0(%rbp), %rdi
movl -0xc(%rbp), %esi
callq 0xbc7e0
movq %rax, %rcx
movq -0xe0(%rbp), %rax
movq %rcx, -0x170(%rbp)
movq (%rax), %rdi
movl -0xc(%rbp), %esi
callq 0x77e10
movq %rax, %rdi
callq 0x11650
movq -0x170(%rbp), %rdi
movsd (%rax), %xmm0
callq 0x77ff0
movq -0xe0(%rbp), %rdi
movl -0xc(%rbp), %esi
callq 0xbc7e0
movq %rax, %rcx
movq -0xe0(%rbp), %rax
movq %rcx, -0x168(%rbp)
movq (%rax), %rdi
movl -0xc(%rbp), %esi
callq 0x77e10
movq %rax, %rdi
callq 0x32a80
movq -0x168(%rbp), %rdi
movsd (%rax), %xmm0
callq 0x78010
movq -0xe0(%rbp), %rdi
movl -0xc(%rbp), %esi
callq 0xbc7e0
movq %rax, %rcx
movq -0xe0(%rbp), %rax
movq %rcx, -0x160(%rbp)
movq (%rax), %rdi
movl -0xc(%rbp), %esi
callq 0x77e10
movq %rax, %rdi
callq 0x12be0
movq -0x160(%rbp), %rdi
movsd (%rax), %xmm0
callq 0x78030
jmp 0xabf6e
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0xab90b
jmp 0xac563
movq -0xe0(%rbp), %rdi
callq 0xbc760
movq %rax, %rcx
movq -0xe0(%rbp), %rax
movq %rcx, -0x1b8(%rbp)
movq (%rax), %rdi
callq 0x77e40
movq %rax, %rdi
addq $0x8, %rdi
callq 0x11090
movq %rax, %rdi
movsd 0x1586b(%rip), %xmm0    # 0xc1828
movsd %xmm0, -0x28(%rbp)
leaq -0x28(%rbp), %rsi
callq 0x13320
movq -0x1b8(%rbp), %rdi
movsd %xmm0, -0x20(%rbp)
movsd %xmm1, -0x18(%rbp)
leaq -0x20(%rbp), %rsi
xorl %edx, %edx
movsd 0x15026(%rip), %xmm0    # 0xc1010
callq 0x142f0
movq -0xe0(%rbp), %rdi
callq 0xbc760
movq %rax, %rcx
movq -0xe0(%rbp), %rax
movq %rcx, -0x1b0(%rbp)
movq (%rax), %rdi
callq 0x77e40
movq %rax, %rdi
callq 0x10a80
movq %rax, %rdi
movsd 0x15801(%rip), %xmm0    # 0xc1828
movsd %xmm0, -0x40(%rbp)
leaq -0x40(%rbp), %rsi
callq 0x13320
movq -0x1b0(%rbp), %rdi
movsd %xmm0, -0x38(%rbp)
movsd %xmm1, -0x30(%rbp)
leaq -0x38(%rbp), %rsi
xorl %edx, %edx
movsd 0x14fbc(%rip), %xmm0    # 0xc1010
callq 0x142a0
movl $0x1, -0x44(%rbp)
cmpl $0xb, -0x44(%rbp)
jg 0xac561
movq -0xe0(%rbp), %rdi
movl -0x44(%rbp), %esi
callq 0xbc780
movq %rax, %rcx
movq -0xe0(%rbp), %rax
movq %rcx, -0x220(%rbp)
movq (%rax), %rdi
movl -0x44(%rbp), %esi
callq 0x29540
movq %rax, %rdi
callq 0x23f20
movq -0x220(%rbp), %rdi
movzbl %al, %esi
andl $0x1, %esi
callq 0x288a0
movq -0xe0(%rbp), %rdi
movl -0x44(%rbp), %esi
callq 0xbc780
movq %rax, %rcx
movq -0xe0(%rbp), %rax
movq %rcx, -0x218(%rbp)
movq (%rax), %rdi
movl -0x44(%rbp), %esi
callq 0xbc7b0
movq -0x218(%rbp), %rdi
movl (%rax), %esi
callq 0x77e60
movq -0xe0(%rbp), %rdi
movl -0x44(%rbp), %esi
callq 0xbc780
movq %rax, %rcx
movq -0xe0(%rbp), %rax
movq %rcx, -0x210(%rbp)
movq (%rax), %rdi
movl -0x44(%rbp), %esi
callq 0x29540
movq %rax, %rdi
addq $0x8, %rdi
callq 0x11090
movq %rax, %rdi
movsd 0x156fe(%rip), %xmm0    # 0xc1828
movsd %xmm0, -0x60(%rbp)
leaq -0x60(%rbp), %rsi
callq 0x13320
movq -0x210(%rbp), %rdi
movsd %xmm0, -0x58(%rbp)
movsd %xmm1, -0x50(%rbp)
leaq -0x58(%rbp), %rsi
xorl %edx, %edx
movsd 0x14eb9(%rip), %xmm0    # 0xc1010
callq 0x142f0
movq -0xe0(%rbp), %rdi
movl -0x44(%rbp), %esi
callq 0xbc780
movq %rax, %rcx
movq -0xe0(%rbp), %rax
movq %rcx, -0x208(%rbp)
movq (%rax), %rdi
movl -0x44(%rbp), %esi
callq 0x29540
movq %rax, %rdi
callq 0x10a80
movq %rax, %rdi
movsd 0x1568e(%rip), %xmm0    # 0xc1828
movsd %xmm0, -0x78(%rbp)
leaq -0x78(%rbp), %rsi
callq 0x13320
movq -0x208(%rbp), %rdi
movsd %xmm0, -0x70(%rbp)
movsd %xmm1, -0x68(%rbp)
leaq -0x70(%rbp), %rsi
xorl %edx, %edx
movsd 0x14e49(%rip), %xmm0    # 0xc1010
callq 0x142a0
movq -0xe0(%rbp), %rdi
movl -0x44(%rbp), %esi
callq 0xbc780
movq %rax, %rcx
movq -0xe0(%rbp), %rax
movq %rcx, -0x200(%rbp)
movq (%rax), %rdi
movl -0x44(%rbp), %esi
callq 0x29540
movq %rax, %rdi
callq 0x11170
movsd 0x14e21(%rip), %xmm0    # 0xc1028
addsd (%rax), %xmm0
movsd 0x14e1d(%rip), %xmm1    # 0xc1030
movsd %xmm1, -0x80(%rbp)
leaq -0x80(%rbp), %rdi
callq 0x116b0
movq -0x200(%rbp), %rdi
xorl %esi, %esi
movsd 0x14dde(%rip), %xmm1    # 0xc1010
callq 0x77ef0
movq -0xe0(%rbp), %rdi
movl -0x44(%rbp), %esi
callq 0xbc780
movq %rax, %rcx
movq -0xe0(%rbp), %rax
movq %rcx, -0x1f8(%rbp)
movq (%rax), %rdi
movl -0x44(%rbp), %esi
callq 0x29540
movq %rax, %rdi
callq 0x118d0
movsd 0x14db6(%rip), %xmm1    # 0xc1028
addsd %xmm1, %xmm0
movsd 0x14db2(%rip), %xmm1    # 0xc1030
movsd %xmm1, -0x88(%rbp)
leaq -0x88(%rbp), %rdi
callq 0x116b0
movq -0x1f8(%rbp), %rdi
xorl %esi, %esi
movsd 0x14d6d(%rip), %xmm1    # 0xc1010
callq 0x77f60
movq -0xe0(%rbp), %rdi
movl -0x44(%rbp), %esi
callq 0xbc780
movq %rax, %rcx
movq -0xe0(%rbp), %rax
movq %rcx, -0x1f0(%rbp)
movq (%rax), %rdi
movl -0x44(%rbp), %esi
callq 0x29540
movq %rax, %rdi
callq 0x7d310
movq -0x1f0(%rbp), %rdi
movl %eax, %esi
callq 0x78050
movq -0xe0(%rbp), %rdi
movl -0x44(%rbp), %esi
callq 0xbc7e0
movq %rax, %rcx
movq -0xe0(%rbp), %rax
movq %rcx, -0x1e8(%rbp)
movq (%rax), %rdi
movl -0x44(%rbp), %esi
callq 0x77e10
movq %rax, %rdi
callq 0x23f20
movq -0x1e8(%rbp), %rdi
movzbl %al, %esi
andl $0x1, %esi
callq 0x288a0
movq -0xe0(%rbp), %rdi
movl -0x44(%rbp), %esi
callq 0xbc7e0
movq %rax, %rcx
movq -0xe0(%rbp), %rax
movq %rcx, -0x1e0(%rbp)
movq (%rax), %rdi
movl -0x44(%rbp), %esi
callq 0x77e10
movq %rax, %rdi
addq $0x8, %rdi
callq 0x11090
movq %rax, %rdi
movsd 0x154b8(%rip), %xmm0    # 0xc1828
movsd %xmm0, -0xa0(%rbp)
leaq -0xa0(%rbp), %rsi
callq 0x13320
movq -0x1e0(%rbp), %rdi
movsd %xmm0, -0x98(%rbp)
movsd %xmm1, -0x90(%rbp)
leaq -0x98(%rbp), %rsi
xorl %edx, %edx
movsd 0x14c64(%rip), %xmm0    # 0xc1010
callq 0x142f0
movq -0xe0(%rbp), %rdi
movl -0x44(%rbp), %esi
callq 0xbc7e0
movq %rax, %rcx
movq -0xe0(%rbp), %rax
movq %rcx, -0x1d8(%rbp)
movq (%rax), %rdi
movl -0x44(%rbp), %esi
callq 0x77e10
movq %rax, %rdi
callq 0x10a80
movq %rax, %rdi
movsd 0x15439(%rip), %xmm0    # 0xc1828
movsd %xmm0, -0xb8(%rbp)
leaq -0xb8(%rbp), %rsi
callq 0x13320
movq -0x1d8(%rbp), %rdi
movsd %xmm0, -0xb0(%rbp)
movsd %xmm1, -0xa8(%rbp)
leaq -0xb0(%rbp), %rsi
xorl %edx, %edx
movsd 0x14be5(%rip), %xmm0    # 0xc1010
callq 0x142a0
movq -0xe0(%rbp), %rdi
movl -0x44(%rbp), %esi
callq 0xbc7e0
movq %rax, %rcx
movq -0xe0(%rbp), %rax
movq %rcx, -0x1d0(%rbp)
movq (%rax), %rdi
movl -0x44(%rbp), %esi
callq 0x77e10
movq %rax, %rdi
callq 0x11170
movsd 0x14bbd(%rip), %xmm0    # 0xc1028
addsd (%rax), %xmm0
movsd 0x14bb9(%rip), %xmm1    # 0xc1030
movsd %xmm1, -0xc0(%rbp)
leaq -0xc0(%rbp), %rdi
callq 0x116b0
movq -0x1d0(%rbp), %rdi
xorl %esi, %esi
movsd 0x14b74(%rip), %xmm1    # 0xc1010
callq 0x77ef0
movq -0xe0(%rbp), %rdi
movl -0x44(%rbp), %esi
callq 0xbc7e0
movq %rax, %rcx
movq -0xe0(%rbp), %rax
movq %rcx, -0x1c8(%rbp)
movq (%rax), %rdi
movl -0x44(%rbp), %esi
callq 0x77e10
movq %rax, %rdi
callq 0x118d0
movsd 0x14b4c(%rip), %xmm1    # 0xc1028
addsd %xmm1, %xmm0
movsd 0x14b48(%rip), %xmm1    # 0xc1030
movsd %xmm1, -0xc8(%rbp)
leaq -0xc8(%rbp), %rdi
callq 0x116b0
movq -0x1c8(%rbp), %rdi
xorl %esi, %esi
movsd 0x14b03(%rip), %xmm1    # 0xc1010
callq 0x77f60
movq -0xe0(%rbp), %rdi
movl -0x44(%rbp), %esi
callq 0xbc7e0
movq %rax, %rcx
movq -0xe0(%rbp), %rax
movq %rcx, -0x1c0(%rbp)
movq (%rax), %rdi
movl -0x44(%rbp), %esi
callq 0x77e10
movq %rax, %rdi
callq 0x7d310
movq -0x1c0(%rbp), %rdi
movl %eax, %esi
callq 0x78050
movl -0x44(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x44(%rbp)
jmp 0xac060
jmp 0xac563
movq -0xe0(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x1eeb0
cmpl $0x0, %eax
jle 0xac5a3
movq -0xe0(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x1eeb0
movq -0xe0(%rbp), %rdi
movl %eax, %esi
callq 0xbc780
movq %rax, %rdi
movl $0x1, %esi
callq 0x7d1a0
movq -0xe0(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x25310
cmpl $0x0, %eax
jle 0xac5e3
movq -0xe0(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x25310
movq -0xe0(%rbp), %rdi
movl %eax, %esi
callq 0xbc7e0
movq %rax, %rdi
movl $0x1, %esi
callq 0x7d1a0
movq -0xe0(%rbp), %rdi
callq 0xaced0
jmp 0xaceba
movq -0xe0(%rbp), %rax
movq (%rax), %rdi
callq 0x77e40
movq %rax, %rdi
addq $0x8, %rdi
callq 0x1ddd0
cmpl $0x0, %eax
jne 0xaccb1
movq -0xe0(%rbp), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rdi
movl $0x1, %esi
callq 0xab5b0
movq %rax, -0xd0(%rbp)
movq -0xd0(%rbp), %rdi
callq 0x32f60
movq %rax, %rcx
movq -0xe0(%rbp), %rax
movq %rcx, -0x230(%rbp)
movq (%rax), %rdi
callq 0x77e40
movq %rax, %rdi
addq $0x8, %rdi
callq 0x11090
movq -0x230(%rbp), %rdi
movq %rax, %rsi
xorl %edx, %edx
movsd 0x14993(%rip), %xmm0    # 0xc1010
callq 0x142f0
movq -0xd0(%rbp), %rdi
callq 0x32f60
movq %rax, %rdi
xorl %esi, %esi
callq 0xbc810
movq -0xd0(%rbp), %rdi
callq 0x32f60
movq %rax, %rcx
movq -0xe0(%rbp), %rax
movq %rcx, -0x228(%rbp)
movq (%rax), %rdi
callq 0x77e40
movq %rax, %rdi
callq 0x10a80
movq -0x228(%rbp), %rdi
movq %rax, %rsi
xorl %edx, %edx
movsd 0x14937(%rip), %xmm0    # 0xc1010
callq 0x142a0
movq -0xd0(%rbp), %rdi
callq 0x32f60
movq %rax, %rdi
addq $0x8, %rdi
xorps %xmm0, %xmm0
callq 0xbc830
movq -0xd0(%rbp), %rdi
callq 0x32f60
movq %rax, %rdi
xorps %xmm0, %xmm0
callq 0xbc850
movl $0x1, -0xd4(%rbp)
cmpl $0xb, -0xd4(%rbp)
jg 0xaccaf
movq -0xd0(%rbp), %rdi
leaq -0xd4(%rbp), %rsi
callq 0x1a9d0
movq %rax, %rcx
movq -0xe0(%rbp), %rax
movq %rcx, -0x258(%rbp)
movq (%rax), %rdi
movl -0xd4(%rbp), %esi
callq 0x29540
movq %rax, %rdi
callq 0x23f20
movq -0x258(%rbp), %rdi
movzbl %al, %esi
andl $0x1, %esi
callq 0x288a0
movq -0xd0(%rbp), %rdi
leaq -0xd4(%rbp), %rsi
callq 0x1a9d0
movq %rax, %rcx
movq -0xe0(%rbp), %rax
movq %rcx, -0x250(%rbp)
movq (%rax), %rdi
movl -0xd4(%rbp), %esi
callq 0x29540
movq %rax, %rdi
addq $0x8, %rdi
callq 0x11090
movq -0x250(%rbp), %rdi
movq %rax, %rsi
xorl %edx, %edx
movsd 0x1484b(%rip), %xmm0    # 0xc1010
callq 0x142f0
movq -0xd0(%rbp), %rdi
leaq -0xd4(%rbp), %rsi
callq 0x1a9d0
movq %rax, %rdi
xorl %esi, %esi
callq 0xbc810
movq -0xd0(%rbp), %rdi
leaq -0xd4(%rbp), %rsi
callq 0x1a9d0
movq %rax, %rcx
movq -0xe0(%rbp), %rax
movq %rcx, -0x248(%rbp)
movq (%rax), %rdi
movl -0xd4(%rbp), %esi
callq 0x29540
movq %rax, %rdi
callq 0x10a80
movq -0x248(%rbp), %rdi
movq %rax, %rsi
xorl %edx, %edx
movsd 0x147db(%rip), %xmm0    # 0xc1010
callq 0x142a0
movq -0xd0(%rbp), %rdi
leaq -0xd4(%rbp), %rsi
callq 0x1a9d0
movq %rax, %rdi
addq $0x8, %rdi
xorps %xmm0, %xmm0
callq 0xbc830
movq -0xd0(%rbp), %rdi
leaq -0xd4(%rbp), %rsi
callq 0x1a9d0
movq %rax, %rdi
xorps %xmm0, %xmm0
callq 0xbc850
movq -0xd0(%rbp), %rdi
leaq -0xd4(%rbp), %rsi
callq 0x1a9d0
movq %rax, %rcx
movq -0xe0(%rbp), %rax
movq %rcx, -0x240(%rbp)
movq (%rax), %rdi
movl -0xd4(%rbp), %esi
callq 0x29540
movq %rax, %rdi
callq 0x11170
movq -0x240(%rbp), %rdi
movsd (%rax), %xmm0
xorl %esi, %esi
movsd 0x14747(%rip), %xmm1    # 0xc1010
callq 0x77ef0
movq -0xd0(%rbp), %rdi
leaq -0xd4(%rbp), %rsi
callq 0x1a9d0
movq %rax, %rcx
movq -0xe0(%rbp), %rax
movq %rcx, -0x238(%rbp)
movq (%rax), %rdi
movl -0xd4(%rbp), %esi
callq 0x29540
movq %rax, %rdi
callq 0x118d0
movq -0x238(%rbp), %rdi
xorl %esi, %esi
movsd 0x146f7(%rip), %xmm1    # 0xc1010
callq 0x77f60
movq -0xe0(%rbp), %rcx
movl -0xd4(%rbp), %eax
cmpl 0x14(%rcx), %eax
je 0xac9c8
movq -0xd0(%rbp), %rdi
leaq -0xd4(%rbp), %rsi
callq 0x1a9d0
movq %rax, %rcx
movq -0xe0(%rbp), %rax
movq %rcx, -0x268(%rbp)
movq (%rax), %rdi
movl -0xd4(%rbp), %esi
callq 0x29540
movq %rax, %rdi
callq 0x10cd0
movq -0x268(%rbp), %rdi
movsd (%rax), %xmm0
callq 0x77fd0
movq -0xd0(%rbp), %rdi
leaq -0xd4(%rbp), %rsi
callq 0x1a9d0
movq %rax, %rcx
movq -0xe0(%rbp), %rax
movq %rcx, -0x260(%rbp)
movq (%rax), %rdi
movl -0xd4(%rbp), %esi
callq 0x29540
movq %rax, %rdi
callq 0x12be0
movq -0x260(%rbp), %rdi
movsd (%rax), %xmm0
callq 0x78030
movq -0xd0(%rbp), %rdi
leaq -0xd4(%rbp), %rsi
callq 0x5c5b0
movq %rax, %rcx
movq -0xe0(%rbp), %rax
movq %rcx, -0x2a8(%rbp)
movq (%rax), %rdi
movl -0xd4(%rbp), %esi
callq 0x77e10
movq %rax, %rdi
callq 0x23f20
movq -0x2a8(%rbp), %rdi
movzbl %al, %esi
andl $0x1, %esi
callq 0x288a0
movq -0xd0(%rbp), %rdi
leaq -0xd4(%rbp), %rsi
callq 0x5c5b0
movq %rax, %rcx
movq -0xe0(%rbp), %rax
movq %rcx, -0x2a0(%rbp)
movq (%rax), %rdi
movl -0xd4(%rbp), %esi
callq 0x77e10
movq %rax, %rdi
callq 0x10a60
movq -0x2a0(%rbp), %rdi
movl %eax, %esi
callq 0x77e60
movq -0xd0(%rbp), %rdi
leaq -0xd4(%rbp), %rsi
callq 0x5c5b0
movq %rax, %rcx
movq -0xe0(%rbp), %rax
movq %rcx, -0x298(%rbp)
movq (%rax), %rdi
movl -0xd4(%rbp), %esi
callq 0x77e10
movq %rax, %rdi
addq $0x8, %rdi
callq 0x11090
movq -0x298(%rbp), %rdi
movq %rax, %rsi
xorl %edx, %edx
movsd 0x14562(%rip), %xmm0    # 0xc1010
callq 0x142f0
movq -0xd0(%rbp), %rdi
leaq -0xd4(%rbp), %rsi
callq 0x5c5b0
movq %rax, %rdi
xorl %esi, %esi
callq 0xbc810
movq -0xd0(%rbp), %rdi
leaq -0xd4(%rbp), %rsi
callq 0x5c5b0
movq %rax, %rcx
movq -0xe0(%rbp), %rax
movq %rcx, -0x290(%rbp)
movq (%rax), %rdi
movl -0xd4(%rbp), %esi
callq 0x77e10
movq %rax, %rdi
callq 0x10a80
movq -0x290(%rbp), %rdi
movq %rax, %rsi
xorl %edx, %edx
movsd 0x144f2(%rip), %xmm0    # 0xc1010
callq 0x142a0
movq -0xd0(%rbp), %rdi
leaq -0xd4(%rbp), %rsi
callq 0x5c5b0
movq %rax, %rdi
addq $0x8, %rdi
xorps %xmm0, %xmm0
callq 0xbc830
movq -0xd0(%rbp), %rdi
leaq -0xd4(%rbp), %rsi
callq 0x5c5b0
movq %rax, %rdi
xorps %xmm0, %xmm0
callq 0xbc850
movq -0xd0(%rbp), %rdi
leaq -0xd4(%rbp), %rsi
callq 0x5c5b0
movq %rax, %rcx
movq -0xe0(%rbp), %rax
movq %rcx, -0x288(%rbp)
movq (%rax), %rdi
movl -0xd4(%rbp), %esi
callq 0x77e10
movq %rax, %rdi
callq 0x11170
movq -0x288(%rbp), %rdi
movsd (%rax), %xmm0
xorl %esi, %esi
movsd 0x1445e(%rip), %xmm1    # 0xc1010
callq 0x77ef0
movq -0xd0(%rbp), %rdi
leaq -0xd4(%rbp), %rsi
callq 0x5c5b0
movq %rax, %rcx
movq -0xe0(%rbp), %rax
movq %rcx, -0x280(%rbp)
movq (%rax), %rdi
movl -0xd4(%rbp), %esi
callq 0x77e10
movq %rax, %rdi
callq 0x118d0
movq -0x280(%rbp), %rdi
xorl %esi, %esi
movsd 0x1440e(%rip), %xmm1    # 0xc1010
callq 0x77f60
movq -0xd0(%rbp), %rdi
leaq -0xd4(%rbp), %rsi
callq 0x5c5b0
movq %rax, %rcx
movq -0xe0(%rbp), %rax
movq %rcx, -0x278(%rbp)
movq (%rax), %rdi
movl -0xd4(%rbp), %esi
callq 0x77e10
movq %rax, %rdi
callq 0x10cd0
movq -0x278(%rbp), %rdi
movsd (%rax), %xmm0
callq 0x77fd0
movq -0xd0(%rbp), %rdi
leaq -0xd4(%rbp), %rsi
callq 0x5c5b0
movq %rax, %rcx
movq -0xe0(%rbp), %rax
movq %rcx, -0x270(%rbp)
movq (%rax), %rdi
movl -0xd4(%rbp), %esi
callq 0x77e10
movq %rax, %rdi
callq 0x12be0
movq -0x270(%rbp), %rdi
movsd (%rax), %xmm0
callq 0x78030
movl -0xd4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xd4(%rbp)
jmp 0xac71a
jmp 0xaccb1
movq -0xe0(%rbp), %rdi
movl $0x1, %esi
callq 0xada00
movl $0x1, -0xd8(%rbp)
cmpl $0xb, -0xd8(%rbp)
jg 0xacd64
movq -0xe0(%rbp), %rdi
movl -0xd8(%rbp), %esi
callq 0xbc780
movq %rax, %rcx
movq -0xe0(%rbp), %rax
movq %rcx, -0x2b0(%rbp)
movq (%rax), %rdi
movl -0xd8(%rbp), %esi
callq 0xbc7b0
movq -0x2b0(%rbp), %rdi
movl (%rax), %esi
callq 0x77e60
movq -0xe0(%rbp), %rdi
movl -0xd8(%rbp), %esi
callq 0xbc780
movq %rax, %rdi
xorl %esi, %esi
callq 0x7d1a0
movq -0xe0(%rbp), %rdi
movl -0xd8(%rbp), %esi
callq 0xbc7e0
movq %rax, %rdi
xorl %esi, %esi
callq 0x7d1a0
movl -0xd8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xd8(%rbp)
jmp 0xacccc
movq -0xe0(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x1eeb0
cmpl $0x0, %eax
jle 0xacda4
movq -0xe0(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x1eeb0
movq -0xe0(%rbp), %rdi
movl %eax, %esi
callq 0xbc780
movq %rax, %rdi
movl $0x1, %esi
callq 0x7d1a0
movq -0xe0(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x25310
cmpl $0x0, %eax
jle 0xacde4
movq -0xe0(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x25310
movq -0xe0(%rbp), %rdi
movl %eax, %esi
callq 0xbc7e0
movq %rax, %rdi
movl $0x1, %esi
callq 0x7d1a0
movq -0xe0(%rbp), %rdi
callq 0xadb90
movq -0xe0(%rbp), %rdi
xorl %edx, %edx
movl %edx, %esi
callq 0xaee70
movq -0xe0(%rbp), %rax
movq (%rax), %rdi
callq 0x28a50
testb $0x1, %al
jne 0xace15
jmp 0xace21
movq -0xe0(%rbp), %rdi
callq 0xaeed0
movq -0xe0(%rbp), %rdi
callq 0xaef70
movq -0xe0(%rbp), %rax
movq (%rax), %rdi
callq 0x28a50
testb $0x1, %al
jne 0xace42
jmp 0xace72
movq -0xe0(%rbp), %rdi
callq 0xaf790
movq -0xe0(%rbp), %rdi
callq 0xaf8c0
movq -0xe0(%rbp), %rdi
callq 0xb1270
movq -0xe0(%rbp), %rdi
callq 0xb30f0
movq -0xe0(%rbp), %rdi
callq 0xb31f0
movq -0xe0(%rbp), %rdi
callq 0xb36a0
movq -0xe0(%rbp), %rdi
callq 0xb4270
movq -0xe0(%rbp), %rdi
callq 0xaced0
movq -0xe0(%rbp), %rdi
callq 0xb43c0
movq -0xe0(%rbp), %rdi
callq 0xb4aa0
addq $0x2b0, %rsp            # imm = 0x2B0
popq %rbp
retq
nopw %cs:(%rax,%rax)