// File: wrighteagle2d[P]wrighteaglebase/Debug/../src/Logger.cpp
// Function: SightLogger::LogSight()
void SightLogger::LogSight() {
  if (mHeaderReady) {
    mSightMutex.Lock();

    if (mServerPlayMode != mpObserver->GetServerPlayMode()) {
      mServerPlayMode = mpObserver->GetServerPlayMode();
      mServerPlayMode_dirty = true;
    }

    mTime = mpWorldState->CurrentTime();

    if (mLeftScore != mpWorldState->GetTeammateScore() ||
        mRightScore != mpWorldState->GetOpponentScore() ||
        mLeftName != PlayerParam::instance().teamName() ||
        mRightName != PlayerParam::instance().opponentTeamName()) {
      mLeftName = PlayerParam::instance().teamName();
      mRightName = PlayerParam::instance().opponentTeamName();
      mLeftScore = mpWorldState->GetTeammateScore();
      mRightScore = mpWorldState->GetOpponentScore();
      mTeamState_dirty = true;
    }

    mpBall = &(mpWorldState->Ball());

    for (Unum i = 1; i <= TEAMSIZE; ++i) {
      mpLeftTeam[i] = &(mpWorldState->Teammate(i));
      mpRightTeam[i] = &(mpWorldState->Opponent(i));
    }

    mSightMutex.UnLock();
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
testb $0x1, 0x2e4(%rax)
je 0x5a9fd
movq -0x18(%rbp), %rdi
addq $0x200, %rdi            # imm = 0x200
callq 0x8ebb0
movq -0x18(%rbp), %rax
movl 0x2e8(%rax), %ecx
movl %ecx, -0x1c(%rbp)
movq 0x250(%rax), %rdi
callq 0x5c500
movq %rax, %rcx
movl -0x1c(%rbp), %eax
cmpl (%rcx), %eax
je 0x5a81a
movq -0x18(%rbp), %rax
movq 0x250(%rax), %rdi
callq 0x5c500
movq %rax, %rcx
movq -0x18(%rbp), %rax
movl (%rcx), %ecx
movl %ecx, 0x2e8(%rax)
movb $0x1, 0x2ec(%rax)
movq -0x18(%rbp), %rax
movq 0x258(%rax), %rdi
callq 0x12100
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq (%rcx), %rcx
movq %rcx, 0x2f0(%rax)
movl 0x2f8(%rax), %ecx
movl %ecx, -0x20(%rbp)
movq 0x258(%rax), %rdi
callq 0x5c520
movl %eax, %ecx
movl -0x20(%rbp), %eax
cmpl %ecx, %eax
jne 0x5a8d3
movq -0x18(%rbp), %rax
movl 0x2fc(%rax), %ecx
movl %ecx, -0x24(%rbp)
movq 0x258(%rax), %rdi
callq 0x5c540
movl %eax, %ecx
movl -0x24(%rbp), %eax
cmpl %ecx, %eax
jne 0x5a8d3
movq -0x18(%rbp), %rax
addq $0x308, %rax            # imm = 0x308
movq %rax, -0x30(%rbp)
callq 0x798a0
movq %rax, %rdi
callq 0x11db0
movq -0x30(%rbp), %rdi
movq %rax, %rsi
callq 0x5c560
testb $0x1, %al
jne 0x5a8d3
movq -0x18(%rbp), %rax
addq $0x328, %rax            # imm = 0x328
movq %rax, -0x38(%rbp)
callq 0x798a0
movq %rax, %rdi
callq 0x5c590
movq -0x38(%rbp), %rdi
movq %rax, %rsi
callq 0x5c560
testb $0x1, %al
jne 0x5a8d3
jmp 0x5a94e
callq 0x798a0
movq %rax, %rdi
callq 0x11db0
movq -0x18(%rbp), %rdi
movq %rax, %rsi
addq $0x308, %rdi            # imm = 0x308
callq 0xa080
callq 0x798a0
movq %rax, %rdi
callq 0x5c590
movq -0x18(%rbp), %rdi
movq %rax, %rsi
addq $0x328, %rdi            # imm = 0x328
callq 0xa080
movq -0x18(%rbp), %rax
movq 0x258(%rax), %rdi
callq 0x5c520
movl %eax, %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x2f8(%rax)
movq 0x258(%rax), %rdi
callq 0x5c540
movl %eax, %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x2fc(%rax)
movb $0x1, 0x348(%rax)
movq -0x18(%rbp), %rax
movq 0x258(%rax), %rdi
callq 0x32f60
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x350(%rax)
movl $0x1, -0xc(%rbp)
cmpl $0xb, -0xc(%rbp)
jg 0x5a9ed
movq -0x18(%rbp), %rax
movq 0x258(%rax), %rdi
leaq -0xc(%rbp), %rsi
callq 0x1a9d0
movq -0x18(%rbp), %rdi
movq %rax, -0x48(%rbp)
addq $0x358, %rdi            # imm = 0x358
leaq -0xc(%rbp), %rsi
callq 0x5bdd0
movq -0x48(%rbp), %rdx
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rdx, (%rcx)
movq 0x258(%rax), %rdi
leaq -0xc(%rbp), %rsi
callq 0x5c5b0
movq -0x18(%rbp), %rdi
movq %rax, -0x40(%rbp)
addq $0x3b0, %rdi            # imm = 0x3B0
leaq -0xc(%rbp), %rsi
callq 0x5bdd0
movq -0x40(%rbp), %rcx
movq %rcx, (%rax)
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x5a973
movq -0x18(%rbp), %rdi
addq $0x200, %rdi            # imm = 0x200
callq 0x8ebe0
addq $0x50, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)