// File: wrighteagle2d[P]wrighteaglebase/Debug/../src/PlayerState.cpp
// Function: PlayerState::GetReverseFrom(PlayerState const&)
void PlayerState::GetReverseFrom(const PlayerState &o) {
  SetIsAlive(o.IsAlive());

  UpdateIsGoalie(o.IsGoalie());
  UpdateIsSensed(o.IsSensed());

  UpdatePlayerType(o.GetPlayerType());
  UpdateViewWidth(o.GetViewWidth());

  UpdateBallCatchable(o.IsBallCatchable());
  UpdateCatchBan(o.GetCatchBan());

  UpdateKickable(o.IsKickable());
  UpdateKicked(o.IsKicked());
  UpdateCardType(o.GetCardType());

  UpdateStamina(o.GetStamina());
  UpdateEffort(o.GetEffort());
  UpdateCapacity(o.GetCapacity());
  UpdateRecovery(o.GetRecovery());

  UpdateMaxTurnAngle(o.GetMaxTurnAngle());

  UpdateBodyDir(GetNormalizeAngleDeg(o.GetBodyDir() + 180.0),
                o.GetBodyDirDelay(), o.GetBodyDirConf());
  UpdateNeckDir(GetNormalizeAngleDeg(o.GetNeckDir() + 180.0),
                o.GetNeckDirDelay(), o.GetNeckDirConf());

  UpdatePos(o.GetPos().Rotate(180.0), o.GetPosDelay(), o.GetPosConf());
  UpdateVel(o.GetVel().Rotate(180.0), o.GetVelDelay(), o.GetVelConf());

  UpdateTackleBan(o.GetTackleBan());
  UpdateTackleProb(o.GetTackleProb(false), false);
  UpdateTackleProb(o.GetTackleProb(true), true);
  UpdateDangerousTackleCondition(o.UnderDangerousTackleCondition());

  UpdateFoulChargedCycle(o.GetFoulChargedCycle());

  UpdateArmPoint(GetNormalizeAngleDeg(o.GetArmPointDir() + 180.0),
                 o.GetArmPointDelay(), o.GetArmPointConf(), o.GetArmPointDist(),
                 o.GetArmPointMovableBan(), o.GetArmPointExpireBan());
  UpdateFocusOn(o.GetFocusOnSide(), o.GetFocusOnUnum(), o.GetFocusOnDelay(),
                o.GetFocusOnConf());
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xc0, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x70(%rbp)
movq -0x10(%rbp), %rdi
callq 0x23f20
movq -0x70(%rbp), %rdi
movzbl %al, %esi
andl $0x1, %esi
callq 0x288a0
movq -0x10(%rbp), %rdi
callq 0x1d780
movq -0x70(%rbp), %rdi
movzbl %al, %esi
andl $0x1, %esi
callq 0x7d1a0
movq -0x10(%rbp), %rdi
callq 0x7d200
movq -0x70(%rbp), %rdi
movzbl %al, %esi
andl $0x1, %esi
callq 0x7d1d0
movq -0x10(%rbp), %rdi
callq 0x10a60
movq -0x70(%rbp), %rdi
movl %eax, %esi
callq 0x77e60
movq -0x10(%rbp), %rdi
callq 0x11070
movq -0x70(%rbp), %rdi
movl %eax, %esi
callq 0x7d220
movq -0x10(%rbp), %rdi
callq 0x184c0
movq -0x70(%rbp), %rdi
movzbl %al, %esi
andl $0x1, %esi
callq 0x7d240
movq -0x10(%rbp), %rdi
callq 0x11010
movq -0x70(%rbp), %rdi
movl %eax, %esi
callq 0x7d270
movq -0x10(%rbp), %rdi
callq 0x10ef0
movq -0x70(%rbp), %rdi
movzbl %al, %esi
andl $0x1, %esi
callq 0x7d290
movq -0x10(%rbp), %rdi
callq 0x7d2f0
movq -0x70(%rbp), %rdi
movzbl %al, %esi
andl $0x1, %esi
callq 0x7d2c0
movq -0x10(%rbp), %rdi
callq 0x7d310
movq -0x70(%rbp), %rdi
movl %eax, %esi
callq 0x78050
movq -0x10(%rbp), %rdi
callq 0x10cd0
movq -0x70(%rbp), %rdi
movsd (%rax), %xmm0
callq 0x77fd0
movq -0x10(%rbp), %rdi
callq 0x11650
movq -0x70(%rbp), %rdi
movsd (%rax), %xmm0
callq 0x77ff0
movq -0x10(%rbp), %rdi
callq 0x12be0
movq -0x70(%rbp), %rdi
movsd (%rax), %xmm0
callq 0x78030
movq -0x10(%rbp), %rdi
callq 0x32a80
movq -0x70(%rbp), %rdi
movsd (%rax), %xmm0
callq 0x78010
movq -0x10(%rbp), %rdi
callq 0x325d0
movq -0x70(%rbp), %rdi
callq 0x7d330
movq -0x10(%rbp), %rdi
callq 0x11170
movsd 0x44ac2(%rip), %xmm0    # 0xc1028
addsd (%rax), %xmm0
movsd 0x44abe(%rip), %xmm1    # 0xc1030
movsd %xmm1, -0x18(%rbp)
leaq -0x18(%rbp), %rdi
callq 0x116b0
movsd %xmm0, -0xb8(%rbp)
movq -0x10(%rbp), %rdi
callq 0x5c650
movl %eax, -0xbc(%rbp)
movq -0x10(%rbp), %rdi
callq 0x32a60
movl -0xbc(%rbp), %esi
movq -0x70(%rbp), %rdi
movaps %xmm0, %xmm1
movsd -0xb8(%rbp), %xmm0
callq 0x77ef0
movq -0x10(%rbp), %rdi
callq 0x118d0
movsd 0x44a5d(%rip), %xmm1    # 0xc1028
addsd %xmm1, %xmm0
movsd 0x44a59(%rip), %xmm1    # 0xc1030
movsd %xmm1, -0x20(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x116b0
movsd %xmm0, -0xa8(%rbp)
movq -0x10(%rbp), %rdi
callq 0x5c670
movl %eax, -0xac(%rbp)
movq -0x10(%rbp), %rdi
callq 0x5c690
movl -0xac(%rbp), %esi
movq -0x70(%rbp), %rdi
movaps %xmm0, %xmm1
movsd -0xa8(%rbp), %xmm0
callq 0x77f60
movq -0x10(%rbp), %rdi
addq $0x8, %rdi
callq 0x11090
movq %rax, %rdi
movsd 0x449f1(%rip), %xmm0    # 0xc1028
movsd %xmm0, -0x38(%rbp)
leaq -0x38(%rbp), %rsi
callq 0x11110
movsd %xmm0, -0x30(%rbp)
movsd %xmm1, -0x28(%rbp)
movq -0x10(%rbp), %rdi
addq $0x8, %rdi
callq 0x1ddd0
movl %eax, -0xa0(%rbp)
movq -0x10(%rbp), %rdi
addq $0x8, %rdi
callq 0x1d930
movl -0xa0(%rbp), %edx
movq -0x70(%rbp), %rdi
movsd (%rax), %xmm0
leaq -0x30(%rbp), %rsi
callq 0x142f0
movq -0x10(%rbp), %rdi
callq 0x10a80
movq %rax, %rdi
movsd 0x4498e(%rip), %xmm0    # 0xc1028
movsd %xmm0, -0x50(%rbp)
leaq -0x50(%rbp), %rsi
callq 0x11110
movsd %xmm0, -0x48(%rbp)
movsd %xmm1, -0x40(%rbp)
movq -0x10(%rbp), %rdi
callq 0x28a30
movl %eax, -0x9c(%rbp)
movq -0x10(%rbp), %rdi
callq 0x32aa0
movl -0x9c(%rbp), %edx
movq -0x70(%rbp), %rdi
movsd (%rax), %xmm0
leaq -0x48(%rbp), %rsi
callq 0x142a0
movq -0x10(%rbp), %rdi
callq 0x12c40
movq -0x70(%rbp), %rdi
movl %eax, %esi
callq 0x78140
movq -0x10(%rbp), %rdi
xorl %esi, %esi
callq 0x10fb0
movq -0x70(%rbp), %rdi
xorl %esi, %esi
callq 0x7d350
movq -0x10(%rbp), %rdi
movl $0x1, %esi
callq 0x10fb0
movq -0x70(%rbp), %rdi
movl $0x1, %esi
callq 0x7d350
movq -0x10(%rbp), %rdi
callq 0x7d3e0
movq -0x70(%rbp), %rdi
movzbl %al, %esi
andl $0x1, %esi
callq 0x7d3b0
movq -0x10(%rbp), %rdi
callq 0x12c60
movq -0x70(%rbp), %rdi
movl %eax, %esi
callq 0x78180
movq -0x10(%rbp), %rdi
callq 0x7d400
movsd 0x448c4(%rip), %xmm1    # 0xc1028
addsd %xmm1, %xmm0
movsd 0x448c0(%rip), %xmm1    # 0xc1030
movsd %xmm1, -0x58(%rbp)
leaq -0x58(%rbp), %rdi
callq 0x116b0
movsd %xmm0, -0x98(%rbp)
movq -0x10(%rbp), %rdi
callq 0x7d440
movl %eax, -0x8c(%rbp)
movq -0x10(%rbp), %rdi
callq 0x7d460
movsd %xmm0, -0x88(%rbp)
movq -0x10(%rbp), %rdi
callq 0x7d480
movsd %xmm0, -0x80(%rbp)
movq -0x10(%rbp), %rdi
callq 0x10ff0
movl %eax, -0x74(%rbp)
movq -0x10(%rbp), %rdi
callq 0x7d4a0
movsd -0x98(%rbp), %xmm0
movl -0x8c(%rbp), %esi
movsd -0x88(%rbp), %xmm1
movsd -0x80(%rbp), %xmm2
movl -0x74(%rbp), %edx
movq -0x70(%rbp), %rdi
movl %eax, %ecx
callq 0x78090
movq -0x10(%rbp), %rdi
callq 0x7d530
movb %al, -0x61(%rbp)
movq -0x10(%rbp), %rdi
callq 0x10e60
movl %eax, -0x60(%rbp)
movq -0x10(%rbp), %rdi
callq 0x7d550
movl %eax, -0x5c(%rbp)
movq -0x10(%rbp), %rdi
callq 0x7d570
movq -0x70(%rbp), %rdi
movb -0x61(%rbp), %al
movl -0x60(%rbp), %edx
movl -0x5c(%rbp), %ecx
movsbl %al, %esi
callq 0x7d4c0
addq $0xc0, %rsp
popq %rbp
retq
nopl (%rax)