// File: /workspace/github_cpp_makefile_star2_O3/wrighteagle2d[P]wrighteaglebase/Debug/../src/WorldState.cpp
// Function: WorldStateUpdater::AutoDelay(int)
void WorldStateUpdater::AutoDelay(int delay_add) {
  // team均delay一周期
  for (Unum i = 1; i <= TEAMSIZE; i++) {
    mpWorldState->mTeammate[i].AutoUpdate(
        delay_add, PlayerParam::instance().playerConfDecay());
    mpWorldState->mOpponent[i].AutoUpdate(
        delay_add, PlayerParam::instance().playerConfDecay());
  }

  //球delay一周期
  Ball().AutoUpdate(delay_add, PlayerParam::instance().ballConfDecay());

  //特殊处理
  SelfState().UpdateBodyDir(SelfState().GetBodyDir(),
                            SelfState().GetBodyDirDelay(),
                            1.0); //认为自己的身体方向肯定是清楚的
  SelfState().UpdateVel(SelfState().GetVel(), SelfState().GetVelDelay(),
                        1.0); //认为自己的速度肯定是清楚的
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movl %esi, %r14d
movq %rdi, -0x38(%rbp)
movl $0x21c, %r12d           # imm = 0x21C
xorl %r13d, %r13d
movq -0x38(%rbp), %rax
movq 0x8(%rax), %rbx
leaq (%rbx,%r12), %r15
addq $-0x174, %r15           # imm = 0xFE8C
callq 0x43dce
movsd 0x31f8(%rax), %xmm0
movsd %xmm0, -0x30(%rbp)
movq %r15, %rdi
movl %r14d, %esi
callq 0xf5a4
addl %r14d, 0xa0(%r15)
movsd 0xa8(%r15), %xmm0
movsd -0x30(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, 0xa8(%r15)
addl %r14d, 0xb8(%r15)
movsd 0xc0(%r15), %xmm0
mulsd %xmm1, %xmm0
movsd %xmm0, 0xc0(%r15)
addl %r14d, 0xe8(%r15)
movsd 0xf0(%r15), %xmm0
mulsd %xmm1, %xmm0
movsd %xmm0, 0xf0(%r15)
addl %r14d, 0x100(%r15)
mulsd 0x108(%r15), %xmm1
movsd %xmm1, 0x108(%r15)
movb %r13b, 0x122(%r15)
movw $0x0, 0x120(%r15)
movb %r13b, 0x111(%r15)
movb %r13b, 0x160(%r15)
movl 0xc8(%r15), %eax
testl %eax, %eax
jle 0x5c767
subl %r14d, %eax
testl %eax, %eax
cmovlel %r13d, %eax
movl %eax, -0xac(%rbx,%r12)
movl -0x50(%rbx,%r12), %eax
testl %eax, %eax
jle 0x5c77e
subl %r14d, %eax
testl %eax, %eax
cmovlel %r13d, %eax
movl %eax, -0x50(%rbx,%r12)
movl -0xa8(%rbx,%r12), %eax
testl %eax, %eax
jle 0x5c79b
subl %r14d, %eax
testl %eax, %eax
cmovlel %r13d, %eax
movl %eax, -0xa8(%rbx,%r12)
movl -0xa0(%rbx,%r12), %eax
testl %eax, %eax
jle 0x5c7b8
subl %r14d, %eax
testl %eax, %eax
cmovlel %r13d, %eax
movl %eax, -0xa0(%rbx,%r12)
movl -0xa4(%rbx,%r12), %eax
testl %eax, %eax
jle 0x5c7d5
subl %r14d, %eax
testl %eax, %eax
cmovlel %r13d, %eax
movl %eax, -0xa4(%rbx,%r12)
cmpl %r14d, -0x15c(%rbx,%r12)
jle 0x5c7e4
movb $0x1, (%rbx,%r12)
movq -0x38(%rbp), %rax
movq 0x8(%rax), %rbx
leaq (%rbx,%r12), %r15
addq $0xeb4, %r15            # imm = 0xEB4
callq 0x43dce
movsd 0x31f8(%rax), %xmm0
movsd %xmm0, -0x30(%rbp)
movq %r15, %rdi
movl %r14d, %esi
callq 0xf5a4
addl %r14d, 0xa0(%r15)
movsd 0xa8(%r15), %xmm0
movsd -0x30(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, 0xa8(%r15)
addl %r14d, 0xb8(%r15)
movsd 0xc0(%r15), %xmm0
mulsd %xmm1, %xmm0
movsd %xmm0, 0xc0(%r15)
addl %r14d, 0xe8(%r15)
movsd 0xf0(%r15), %xmm0
mulsd %xmm1, %xmm0
movsd %xmm0, 0xf0(%r15)
addl %r14d, 0x100(%r15)
mulsd 0x108(%r15), %xmm1
movsd %xmm1, 0x108(%r15)
movb %r13b, 0x122(%r15)
movw $0x0, 0x120(%r15)
movb %r13b, 0x111(%r15)
movb %r13b, 0x160(%r15)
movl 0xc8(%r15), %eax
testl %eax, %eax
jle 0x5c8c4
subl %r14d, %eax
testl %eax, %eax
cmovlel %r13d, %eax
movl %eax, 0xf7c(%rbx,%r12)
movl 0xfd8(%rbx,%r12), %eax
testl %eax, %eax
jle 0x5c8e1
subl %r14d, %eax
testl %eax, %eax
cmovlel %r13d, %eax
movl %eax, 0xfd8(%rbx,%r12)
movl 0xf80(%rbx,%r12), %eax
testl %eax, %eax
jle 0x5c8fe
subl %r14d, %eax
testl %eax, %eax
cmovlel %r13d, %eax
movl %eax, 0xf80(%rbx,%r12)
movl 0xf88(%rbx,%r12), %eax
testl %eax, %eax
jle 0x5c91b
subl %r14d, %eax
testl %eax, %eax
cmovlel %r13d, %eax
movl %eax, 0xf88(%rbx,%r12)
movl 0xf84(%rbx,%r12), %eax
testl %eax, %eax
jle 0x5c938
subl %r14d, %eax
testl %eax, %eax
cmovlel %r13d, %eax
movl %eax, 0xf84(%rbx,%r12)
cmpl %r14d, 0xecc(%rbx,%r12)
jle 0x5c94b
movb $0x1, 0x1028(%rbx,%r12)
addq $0x178, %r12            # imm = 0x178
cmpq $0x1244, %r12           # imm = 0x1244
jne 0x5c687
movq -0x38(%rbp), %rbx
movq 0x8(%rbx), %r15
addq $0x30, %r15
callq 0x43dce
movsd 0x3200(%rax), %xmm0
movq %r15, %rdi
movl %r14d, %esi
callq 0xf5a4
movslq 0x14(%rbx), %rax
movq 0x8(%rbx), %rcx
imulq $0x178, %rax, %rax      # imm = 0x178
leaq (%rax,%rcx), %rdi
addq $-0xd0, %rdi
movsd 0xb0(%rdi), %xmm0
movsd 0xc6b3(%rip), %xmm1     # 0x69060
ucomisd %xmm0, %xmm1
jbe 0x5c9c7
movsd 0xc6b5(%rip), %xmm2     # 0x69070
addsd %xmm2, %xmm0
ucomisd %xmm0, %xmm1
ja 0x5c9bb
jmp 0x5c9eb
ucomisd 0xc679(%rip), %xmm0     # 0x69048
jb 0x5c9eb
movsd 0xc68f(%rip), %xmm1     # 0x69068
movsd 0xc667(%rip), %xmm2     # 0x69048
addsd %xmm1, %xmm0
ucomisd %xmm2, %xmm0
jae 0x5c9e1
movsd %xmm0, 0xb0(%rdi)
movabsq $0x3ff0000000000000, %rax # imm = 0x3FF0000000000000
movq %rax, 0xc0(%rdi)
leaq 0x30(%rdi), %rsi
movl 0x40(%rdi), %edx
movsd 0xc645(%rip), %xmm0     # 0x69058
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0xf53c