// File: wrighteagle2d[P]wrighteaglebase/Debug/../src/WorldState.cpp
// Function: WorldStateUpdater::UpdateInfoFromPlayMode()
void WorldStateUpdater::UpdateInfoFromPlayMode() {
  double x, y;

  switch (mpWorldState->GetPlayMode()) {
  case PM_Our_Kick_Off:
  case PM_Opp_Kick_Off:
  case PM_Before_Kick_Off:
  case PM_Goal_Opps:
  case PM_Goal_Ours:
    Ball().UpdatePos(Vector(0, 0));
    Ball().UpdateVel(Vector(0, 0));
    break;

  case PM_Our_Penalty_Setup:
  case PM_Opp_Penalty_Setup:
    Ball().UpdatePos(Vector(ServerParam::instance().PITCH_LENGTH / 2.0 -
                                ServerParam::instance().penDistX(),
                            0.0));
    Ball().UpdateVel(Vector(0, 0));
    break;

  case PM_Our_Goalie_Free_Kick:
    Ball().UpdateVel(Vector(0, 0));
    if (mSelfUnum == mpWorldState->GetTeammateGoalieUnum()) {
      const PlayerState &self_state = mpWorldState->GetTeammate(mSelfUnum);
      const double dist =
          self_state.GetPlayerSize() + ServerParam::instance().ballSize();
      Ball().UpdatePos(self_state.GetPos() +
                       Vector(dist, 0.0).Rotate(self_state.GetBodyDir()));
    }
    break;

  case PM_Our_Kick_In:
  case PM_Opp_Kick_In:
    x = Ball().GetPos().X();
    y = Sign(mpWorldState->GetHistory(1)->GetBall().GetPos().Y()) *
        ServerParam::instance().PITCH_WIDTH * 0.5;
    Ball().UpdatePos(Vector(x, y));
    Ball().UpdateVel(Vector(0, 0));
    break;

  case PM_Our_Corner_Kick:
    x = ServerParam::instance().PITCH_LENGTH * 0.5 - 1.0;
    y = Sign(mpWorldState->GetHistory(1)->GetBall().GetPos().Y()) *
        (ServerParam::instance().PITCH_WIDTH * 0.5 - 1.0);
    Ball().UpdatePos(Vector(x, y));
    Ball().UpdateVel(Vector(0, 0));
    break;

  case PM_Opp_Corner_Kick:
    x = -ServerParam::instance().PITCH_LENGTH * 0.5 - 1.0;
    y = Sign(mpWorldState->GetHistory(1)->GetBall().GetPos().Y()) *
        (ServerParam::instance().PITCH_WIDTH * 0.5 - 1.0);
    Ball().UpdatePos(Vector(x, y));
    Ball().UpdateVel(Vector(0, 0));
    break;

  default:
    break;
  }

  //以下信息只在playMode改变时更新
  if (mpWorldState->GetPlayModeTime() == mpWorldState->CurrentTime()) {
    switch (mpWorldState->GetPlayMode()) {
    case PM_Our_Kick_Off:
    case PM_Opp_Kick_Off:
      // Ball().UpdatePos(Vector(0,0));
      // Ball().UpdateVel(Vector(0,0));
      break;
    case PM_Our_Goal_Kick:
      x = -1.0 * (ServerParam::instance().PITCH_LENGTH * 0.5 -
                  ServerParam::instance().GOAL_AREA_LENGTH);
      y = Sign(mpWorldState->GetHistory(1)->GetBall().GetPos().Y()) *
          ServerParam::instance().GOAL_AREA_WIDTH * 0.5;
      Ball().UpdatePos(Vector(x, y));
      Ball().UpdateVel(Vector(0, 0));
      break;
    case PM_Opp_Goal_Kick:
      x = 1.0 * (ServerParam::instance().PITCH_LENGTH * 0.5 -
                 ServerParam::instance().GOAL_AREA_LENGTH);
      y = Sign(mpWorldState->GetHistory(1)->GetBall().GetPos().Y()) *
          ServerParam::instance().GOAL_AREA_WIDTH * 0.5;
      Ball().UpdatePos(Vector(x, y));
      Ball().UpdateVel(Vector(0, 0));
      break;
    case PM_Our_Back_Pass_Kick:
    case PM_Opp_Back_Pass_Kick:
    case PM_Our_Foul_Charge_Kick:
    case PM_Opp_Foul_Charge_Kick:
      // TODO:we2008算法使用到了截球点,但是WE2009中此结果不支持使用截球信息,因此对此做了简化.
      Ball().UpdateVel(Vector(0, 0));
      break;
    case PM_Our_Offside_Kick:
    case PM_Opp_Offside_Kick:
      Ball().UpdateVel(Vector(0, 0));
      break;
    default:
      break;
    }
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x340, %rsp            # imm = 0x340
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x240(%rbp)
movq 0x8(%rax), %rdi
callq 0x10ed0
addl $-0x2, %eax
movl %eax, %ecx
movq %rcx, -0x238(%rbp)
subl $0x2f, %eax
ja 0xb3e18
movq -0x238(%rbp), %rax
leaq 0x120d2(%rip), %rcx     # 0xc57b8
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x240(%rbp), %rdi
callq 0xbc760
movq %rax, -0x250(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0x30(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0x38(%rbp)
leaq -0x28(%rbp), %rdi
leaq -0x30(%rbp), %rsi
leaq -0x38(%rbp), %rdx
callq 0x11a10
movq -0x250(%rbp), %rdi
leaq -0x28(%rbp), %rsi
xorl %edx, %edx
movsd 0xd8d8(%rip), %xmm0     # 0xc1010
callq 0x142f0
movq -0x240(%rbp), %rdi
callq 0xbc760
movq %rax, -0x248(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0x50(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0x58(%rbp)
leaq -0x48(%rbp), %rdi
leaq -0x50(%rbp), %rsi
leaq -0x58(%rbp), %rdx
callq 0x11a10
movq -0x248(%rbp), %rdi
leaq -0x48(%rbp), %rsi
xorl %edx, %edx
movsd 0xd88a(%rip), %xmm0     # 0xc1010
callq 0x142a0
jmp 0xb3e1a
movq -0x240(%rbp), %rdi
callq 0xbc760
movq %rax, -0x260(%rbp)
callq 0x855e0
leaq 0x10889(%rip), %rax     # 0xc4038
movsd (%rax), %xmm0
movsd 0xdcf5(%rip), %xmm1     # 0xc14b0
divsd %xmm1, %xmm0
movsd %xmm0, -0x268(%rbp)
callq 0x855e0
movq %rax, %rdi
callq 0x25480
movsd -0x268(%rbp), %xmm0
subsd (%rax), %xmm0
movsd %xmm0, -0x70(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0x78(%rbp)
leaq -0x68(%rbp), %rdi
leaq -0x70(%rbp), %rsi
leaq -0x78(%rbp), %rdx
callq 0x11a10
movq -0x260(%rbp), %rdi
leaq -0x68(%rbp), %rsi
xorl %edx, %edx
movsd 0xd7fd(%rip), %xmm0     # 0xc1010
callq 0x142f0
movq -0x240(%rbp), %rdi
callq 0xbc760
movq %rax, -0x258(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0x90(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0x98(%rbp)
leaq -0x88(%rbp), %rdi
leaq -0x90(%rbp), %rsi
leaq -0x98(%rbp), %rdx
callq 0x11a10
movq -0x258(%rbp), %rdi
leaq -0x88(%rbp), %rsi
xorl %edx, %edx
movsd 0xd79d(%rip), %xmm0     # 0xc1010
callq 0x142a0
jmp 0xb3e1a
movq -0x240(%rbp), %rdi
callq 0xbc760
movq %rax, -0x278(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0xb0(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0xb8(%rbp)
leaq -0xa8(%rbp), %rdi
leaq -0xb0(%rbp), %rsi
leaq -0xb8(%rbp), %rdx
callq 0x11a10
movq -0x278(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
xorl %edx, %edx
movsd 0xd738(%rip), %xmm0     # 0xc1010
callq 0x142a0
movq -0x240(%rbp), %rax
movl 0x14(%rax), %ecx
movl %ecx, -0x26c(%rbp)
movq 0x8(%rax), %rdi
callq 0x1eeb0
movl %eax, %ecx
movl -0x26c(%rbp), %eax
cmpl %ecx, %eax
jne 0xb3a14
movq -0x240(%rbp), %rsi
movq 0x8(%rsi), %rdi
addq $0x14, %rsi
callq 0x12520
movq %rax, -0xc0(%rbp)
movq -0xc0(%rbp), %rdi
callq 0x57020
movsd (%rax), %xmm0
movsd %xmm0, -0x290(%rbp)
callq 0x855e0
movq %rax, %rdi
callq 0x12f10
movsd -0x290(%rbp), %xmm0
movq -0x240(%rbp), %rdi
addsd (%rax), %xmm0
movsd %xmm0, -0xc8(%rbp)
callq 0xbc760
movq %rax, -0x280(%rbp)
movq -0xc0(%rbp), %rdi
addq $0x8, %rdi
callq 0x11090
movq %rax, -0x288(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0x100(%rbp)
leaq -0xf8(%rbp), %rdi
leaq -0xc8(%rbp), %rsi
leaq -0x100(%rbp), %rdx
callq 0x11a10
movq -0xc0(%rbp), %rdi
callq 0x11170
movq %rax, %rsi
leaq -0xf8(%rbp), %rdi
callq 0x11110
movq -0x288(%rbp), %rdi
movsd %xmm0, -0xe8(%rbp)
movsd %xmm1, -0xe0(%rbp)
leaq -0xe8(%rbp), %rsi
callq 0x11360
movq -0x280(%rbp), %rdi
movsd %xmm0, -0xd8(%rbp)
movsd %xmm1, -0xd0(%rbp)
leaq -0xd8(%rbp), %rsi
xorl %edx, %edx
movsd 0xd601(%rip), %xmm0     # 0xc1010
callq 0x142f0
jmp 0xb3e1a
movq -0x240(%rbp), %rdi
callq 0xbc760
movq %rax, %rdi
addq $0x8, %rdi
callq 0x11090
movq %rax, %rdi
callq 0x176f0
movq %rax, %rcx
movq -0x240(%rbp), %rax
movsd (%rcx), %xmm0
movsd %xmm0, -0x10(%rbp)
movq 0x8(%rax), %rdi
movl $0x1, %esi
callq 0xab550
movq %rax, %rdi
callq 0x10570
movq %rax, %rdi
addq $0x8, %rdi
callq 0x11090
movq %rax, %rdi
callq 0x17700
movq %rax, %rdi
callq 0x1f2e0
cvtsi2sd %eax, %xmm0
movsd %xmm0, -0x2a8(%rbp)
callq 0x855e0
movsd -0x2a8(%rbp), %xmm0
movq -0x240(%rbp), %rdi
leaq 0x1059b(%rip), %rax     # 0xc4040
mulsd (%rax), %xmm0
movsd 0xd56f(%rip), %xmm1     # 0xc1020
mulsd %xmm1, %xmm0
movsd %xmm0, -0x18(%rbp)
callq 0xbc760
movq %rax, -0x2a0(%rbp)
leaq -0x110(%rbp), %rdi
leaq -0x10(%rbp), %rsi
leaq -0x18(%rbp), %rdx
callq 0x11a10
movq -0x2a0(%rbp), %rdi
leaq -0x110(%rbp), %rsi
xorl %edx, %edx
movsd 0xd51e(%rip), %xmm0     # 0xc1010
callq 0x142f0
movq -0x240(%rbp), %rdi
callq 0xbc760
movq %rax, -0x298(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0x128(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0x130(%rbp)
leaq -0x120(%rbp), %rdi
leaq -0x128(%rbp), %rsi
leaq -0x130(%rbp), %rdx
callq 0x11a10
movq -0x298(%rbp), %rdi
leaq -0x120(%rbp), %rsi
xorl %edx, %edx
movsd 0xd4be(%rip), %xmm0     # 0xc1010
callq 0x142a0
jmp 0xb3e1a
callq 0x855e0
movq -0x240(%rbp), %rax
leaq 0x104c9(%rip), %rcx     # 0xc4038
movsd (%rcx), %xmm0
movsd 0xd4a5(%rip), %xmm1     # 0xc1020
mulsd %xmm1, %xmm0
movsd 0xdca1(%rip), %xmm1     # 0xc1828
addsd %xmm1, %xmm0
movsd %xmm0, -0x10(%rbp)
movq 0x8(%rax), %rdi
movl $0x1, %esi
callq 0xab550
movq %rax, %rdi
callq 0x10570
movq %rax, %rdi
addq $0x8, %rdi
callq 0x11090
movq %rax, %rdi
callq 0x17700
movq %rax, %rdi
callq 0x1f2e0
cvtsi2sd %eax, %xmm0
movsd %xmm0, -0x2c0(%rbp)
callq 0x855e0
movsd -0x2c0(%rbp), %xmm0
movq -0x240(%rbp), %rdi
leaq 0x10457(%rip), %rax     # 0xc4040
movsd (%rax), %xmm1
movsd 0xd42b(%rip), %xmm2     # 0xc1020
mulsd %xmm2, %xmm1
movsd 0xdc27(%rip), %xmm2     # 0xc1828
addsd %xmm2, %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0x18(%rbp)
callq 0xbc760
movq %rax, -0x2b8(%rbp)
leaq -0x140(%rbp), %rdi
leaq -0x10(%rbp), %rsi
leaq -0x18(%rbp), %rdx
callq 0x11a10
movq -0x2b8(%rbp), %rdi
leaq -0x140(%rbp), %rsi
xorl %edx, %edx
movsd 0xd3ca(%rip), %xmm0     # 0xc1010
callq 0x142f0
movq -0x240(%rbp), %rdi
callq 0xbc760
movq %rax, -0x2b0(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0x158(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0x160(%rbp)
leaq -0x150(%rbp), %rdi
leaq -0x158(%rbp), %rsi
leaq -0x160(%rbp), %rdx
callq 0x11a10
movq -0x2b0(%rbp), %rdi
leaq -0x150(%rbp), %rsi
xorl %edx, %edx
movsd 0xd36a(%rip), %xmm0     # 0xc1010
callq 0x142a0
jmp 0xb3e1a
callq 0x855e0
movq -0x240(%rbp), %rax
leaq 0x10375(%rip), %rcx     # 0xc4038
movsd (%rcx), %xmm0
movq %xmm0, %rcx
movabsq $-0x8000000000000000, %rdx # imm = 0x8000000000000000
xorq %rdx, %rcx
movq %rcx, %xmm0
movsd 0xd33a(%rip), %xmm1     # 0xc1020
mulsd %xmm1, %xmm0
movsd 0xdb36(%rip), %xmm1     # 0xc1828
addsd %xmm1, %xmm0
movsd %xmm0, -0x10(%rbp)
movq 0x8(%rax), %rdi
movl $0x1, %esi
callq 0xab550
movq %rax, %rdi
callq 0x10570
movq %rax, %rdi
addq $0x8, %rdi
callq 0x11090
movq %rax, %rdi
callq 0x17700
movq %rax, %rdi
callq 0x1f2e0
cvtsi2sd %eax, %xmm0
movsd %xmm0, -0x2d8(%rbp)
callq 0x855e0
movsd -0x2d8(%rbp), %xmm0
movq -0x240(%rbp), %rdi
leaq 0x102ec(%rip), %rax     # 0xc4040
movsd (%rax), %xmm1
movsd 0xd2c0(%rip), %xmm2     # 0xc1020
mulsd %xmm2, %xmm1
movsd 0xdabc(%rip), %xmm2     # 0xc1828
addsd %xmm2, %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0x18(%rbp)
callq 0xbc760
movq %rax, -0x2d0(%rbp)
leaq -0x170(%rbp), %rdi
leaq -0x10(%rbp), %rsi
leaq -0x18(%rbp), %rdx
callq 0x11a10
movq -0x2d0(%rbp), %rdi
leaq -0x170(%rbp), %rsi
xorl %edx, %edx
movsd 0xd25f(%rip), %xmm0     # 0xc1010
callq 0x142f0
movq -0x240(%rbp), %rdi
callq 0xbc760
movq %rax, -0x2c8(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0x188(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0x190(%rbp)
leaq -0x180(%rbp), %rdi
leaq -0x188(%rbp), %rsi
leaq -0x190(%rbp), %rdx
callq 0x11a10
movq -0x2c8(%rbp), %rdi
leaq -0x180(%rbp), %rsi
xorl %edx, %edx
movsd 0xd1ff(%rip), %xmm0     # 0xc1010
callq 0x142a0
jmp 0xb3e1a
jmp 0xb3e1a
movq -0x240(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x253d0
movq %rax, %rcx
movq -0x240(%rbp), %rax
movq %rcx, -0x2e0(%rbp)
movq 0x8(%rax), %rdi
callq 0x12100
movq -0x2e0(%rbp), %rdi
movq %rax, %rsi
callq 0x120a0
testb $0x1, %al
jne 0xb3e5c
jmp 0xb4263
movq -0x240(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x10ed0
addl $-0x2, %eax
movl %eax, %ecx
movq %rcx, -0x2e8(%rbp)
subl $0x2e, %eax
ja 0xb425f
movq -0x2e8(%rbp), %rax
leaq 0x119e9(%rip), %rcx     # 0xc5878
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
jmp 0xb4261
callq 0x855e0
leaq 0x1018f(%rip), %rax     # 0xc4038
movsd (%rax), %xmm0
movsd %xmm0, -0x308(%rbp)
callq 0x855e0
movsd -0x308(%rbp), %xmm1
movq -0x240(%rbp), %rax
leaq 0x10198(%rip), %rcx     # 0xc4068
movsd (%rcx), %xmm0
movq %xmm0, %rcx
movabsq $-0x8000000000000000, %rdx # imm = 0x8000000000000000
xorq %rdx, %rcx
movq %rcx, %xmm0
movsd 0xd12d(%rip), %xmm2     # 0xc1020
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
movsd 0xd925(%rip), %xmm0     # 0xc1828
mulsd %xmm1, %xmm0
movsd %xmm0, -0x10(%rbp)
movq 0x8(%rax), %rdi
movl $0x1, %esi
callq 0xab550
movq %rax, %rdi
callq 0x10570
movq %rax, %rdi
addq $0x8, %rdi
callq 0x11090
movq %rax, %rdi
callq 0x17700
movq %rax, %rdi
callq 0x1f2e0
cvtsi2sd %eax, %xmm0
movsd %xmm0, -0x300(%rbp)
callq 0x855e0
movsd -0x300(%rbp), %xmm0
movq -0x240(%rbp), %rdi
leaq 0x1010b(%rip), %rax     # 0xc4070
mulsd (%rax), %xmm0
movsd 0xd0af(%rip), %xmm1     # 0xc1020
mulsd %xmm1, %xmm0
movsd %xmm0, -0x18(%rbp)
callq 0xbc760
movq %rax, -0x2f8(%rbp)
leaq -0x1a0(%rbp), %rdi
leaq -0x10(%rbp), %rsi
leaq -0x18(%rbp), %rdx
callq 0x11a10
movq -0x2f8(%rbp), %rdi
leaq -0x1a0(%rbp), %rsi
xorl %edx, %edx
movsd 0xd05e(%rip), %xmm0     # 0xc1010
callq 0x142f0
movq -0x240(%rbp), %rdi
callq 0xbc760
movq %rax, -0x2f0(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0x1b8(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0x1c0(%rbp)
leaq -0x1b0(%rbp), %rdi
leaq -0x1b8(%rbp), %rsi
leaq -0x1c0(%rbp), %rdx
callq 0x11a10
movq -0x2f0(%rbp), %rdi
leaq -0x1b0(%rbp), %rsi
xorl %edx, %edx
movsd 0xcffe(%rip), %xmm0     # 0xc1010
callq 0x142a0
jmp 0xb4261
callq 0x855e0
leaq 0x10010(%rip), %rax     # 0xc4038
movsd (%rax), %xmm0
movsd %xmm0, -0x328(%rbp)
callq 0x855e0
movsd -0x328(%rbp), %xmm1
movq -0x240(%rbp), %rax
leaq 0x10019(%rip), %rcx     # 0xc4068
movsd (%rcx), %xmm0
movq %xmm0, %rcx
movabsq $-0x8000000000000000, %rdx # imm = 0x8000000000000000
xorq %rdx, %rcx
movq %rcx, %xmm0
movsd 0xcfae(%rip), %xmm2     # 0xc1020
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
movsd 0xcf8e(%rip), %xmm0     # 0xc1010
mulsd %xmm1, %xmm0
movsd %xmm0, -0x10(%rbp)
movq 0x8(%rax), %rdi
movl $0x1, %esi
callq 0xab550
movq %rax, %rdi
callq 0x10570
movq %rax, %rdi
addq $0x8, %rdi
callq 0x11090
movq %rax, %rdi
callq 0x17700
movq %rax, %rdi
callq 0x1f2e0
cvtsi2sd %eax, %xmm0
movsd %xmm0, -0x320(%rbp)
callq 0x855e0
movsd -0x320(%rbp), %xmm0
movq -0x240(%rbp), %rdi
leaq 0xff8c(%rip), %rax      # 0xc4070
mulsd (%rax), %xmm0
movsd 0xcf30(%rip), %xmm1     # 0xc1020
mulsd %xmm1, %xmm0
movsd %xmm0, -0x18(%rbp)
callq 0xbc760
movq %rax, -0x318(%rbp)
leaq -0x1d0(%rbp), %rdi
leaq -0x10(%rbp), %rsi
leaq -0x18(%rbp), %rdx
callq 0x11a10
movq -0x318(%rbp), %rdi
leaq -0x1d0(%rbp), %rsi
xorl %edx, %edx
movsd 0xcedf(%rip), %xmm0     # 0xc1010
callq 0x142f0
movq -0x240(%rbp), %rdi
callq 0xbc760
movq %rax, -0x310(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0x1e8(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0x1f0(%rbp)
leaq -0x1e0(%rbp), %rdi
leaq -0x1e8(%rbp), %rsi
leaq -0x1f0(%rbp), %rdx
callq 0x11a10
movq -0x310(%rbp), %rdi
leaq -0x1e0(%rbp), %rsi
xorl %edx, %edx
movsd 0xce7f(%rip), %xmm0     # 0xc1010
callq 0x142a0
jmp 0xb4261
movq -0x240(%rbp), %rdi
callq 0xbc760
movq %rax, -0x330(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0x208(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0x210(%rbp)
leaq -0x200(%rbp), %rdi
leaq -0x208(%rbp), %rsi
leaq -0x210(%rbp), %rdx
callq 0x11a10
movq -0x330(%rbp), %rdi
leaq -0x200(%rbp), %rsi
xorl %edx, %edx
movsd 0xce1a(%rip), %xmm0     # 0xc1010
callq 0x142a0
jmp 0xb4261
movq -0x240(%rbp), %rdi
callq 0xbc760
movq %rax, -0x338(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0x228(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0x230(%rbp)
leaq -0x220(%rbp), %rdi
leaq -0x228(%rbp), %rsi
leaq -0x230(%rbp), %rdx
callq 0x11a10
movq -0x338(%rbp), %rdi
leaq -0x220(%rbp), %rsi
xorl %edx, %edx
movsd 0xcdb8(%rip), %xmm0     # 0xc1010
callq 0x142a0
jmp 0xb4261
jmp 0xb4261
jmp 0xb4263
addq $0x340, %rsp            # imm = 0x340
popq %rbp
retq
nopl (%rax)