// File: wrighteagle2d[P]wrighteaglebase/Debug/../src/NetworkTest.cpp
// Function: StatisticUnit::PrintCommond(_IO_FILE*)
void StatisticUnit::PrintCommond(FILE *fp) {
  if (fp == 0) {
    return;
  }

  int miss = 0;
  double missrate = 0.0;

  fprintf(fp, "Command        Send      Execute   Lost      Miss rate\n");
  miss = CMDSend.Dashs - CMDExecute.Dashs;
  missrate = 0.0;
  if (CMDSend.Dashs != 0) {
    missrate = (double)miss / CMDSend.Dashs;
  }
  fprintf(fp, "dash           %-10d%-10d%-10d%1.9f\n", CMDSend.Dashs,
          CMDExecute.Dashs, miss, missrate);

  miss = CMDSend.Turns - CMDExecute.Turns;
  missrate = 0.0;
  if (CMDSend.Turns != 0) {
    missrate = (double)miss / CMDSend.Turns;
  }
  fprintf(fp, "turn           %-10d%-10d%-10d%1.9f\n", CMDSend.Turns,
          CMDExecute.Turns, miss, missrate);

  miss = CMDSend.Kicks - CMDExecute.Kicks;
  missrate = 0.0;
  if (CMDSend.Kicks != 0) {
    missrate = (double)miss / CMDSend.Kicks;
  }
  fprintf(fp, "kick           %-10d%-10d%-10d%1.9f\n", CMDSend.Kicks,
          CMDExecute.Kicks, miss, missrate);

  miss = CMDSend.Says - CMDExecute.Says;
  missrate = 0.0;
  if (CMDSend.Says != 0) {
    missrate = (double)miss / CMDSend.Says;
  }
  fprintf(fp, "say            %-10d%-10d%-10d%1.9f\n", CMDSend.Says,
          CMDExecute.Says, miss, missrate);

  miss = CMDSend.TurnNecks - CMDExecute.TurnNecks;
  missrate = 0.0;
  if (CMDSend.TurnNecks != 0) {
    missrate = (double)miss / CMDSend.TurnNecks;
  }
  fprintf(fp, "turn_neck      %-10d%-10d%-10d%1.9f\n", CMDSend.TurnNecks,
          CMDExecute.TurnNecks, miss, missrate);

  miss = CMDSend.Catchs - CMDExecute.Catchs;
  missrate = 0.0;
  if (CMDSend.Catchs != 0) {
    missrate = (double)miss / CMDSend.Catchs;
  }
  fprintf(fp, "catch          %-10d%-10d%-10d%1.9f\n", CMDSend.Catchs,
          CMDExecute.Catchs, miss, missrate);

  miss = CMDSend.Moves - CMDExecute.Moves;
  missrate = 0.0;
  if (CMDSend.Moves != 0) {
    missrate = (double)miss / CMDSend.Moves;
  }
  fprintf(fp, "move           %-10d%-10d%-10d%1.9f\n", CMDSend.Moves,
          CMDExecute.Moves, miss, missrate);

  miss = CMDSend.ChangeViews - CMDExecute.ChangeViews;
  missrate = 0.0;
  if (CMDSend.ChangeViews != 0) {
    missrate = (double)miss / CMDSend.ChangeViews;
  }
  fprintf(fp, "change_view    %-10d%-10d%-10d%1.9f\n", CMDSend.ChangeViews,
          CMDExecute.ChangeViews, miss, missrate);

  miss = CMDSend.Tackles - CMDExecute.Tackles;
  missrate = 0.0;
  if (CMDSend.Tackles != 0) {
    missrate = (double)miss / CMDSend.Tackles;
  }
  fprintf(fp, "tackle         %-10d%-10d%-10d%1.9f\n", CMDSend.Tackles,
          CMDExecute.Tackles, miss, missrate);

  miss = CMDSend.Pointtos - CMDExecute.Pointtos;
  missrate = 0.0;
  if (CMDSend.Pointtos != 0) {
    missrate = (double)miss / CMDSend.Pointtos;
  }
  fprintf(fp, "pointto        %-10d%-10d%-10d%1.9f\n", CMDSend.Pointtos,
          CMDExecute.Pointtos, miss, missrate);

  miss = CMDSend.Attentiontos - CMDExecute.Attentiontos;
  missrate = 0.0;
  if (CMDSend.Attentiontos != 0) {
    missrate = (double)miss / CMDSend.Attentiontos;
  }
  fprintf(fp, "attentionto    %-10d%-10d%-10d%1.9f\n", CMDSend.Attentiontos,
          CMDExecute.Attentiontos, miss, missrate);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x62314
jmp 0x62740
movl $0x0, -0x14(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0x20(%rbp)
movq -0x10(%rbp), %rdi
leaq 0x60959(%rip), %rsi     # 0xc2c87
movb $0x0, %al
callq 0xa890
movq -0x28(%rbp), %rax
movl 0x5c(%rax), %ecx
subl 0x88(%rax), %ecx
movl %ecx, -0x14(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0x20(%rbp)
cmpl $0x0, 0x5c(%rax)
je 0x6236a
movq -0x28(%rbp), %rax
cvtsi2sdl -0x14(%rbp), %xmm0
cvtsi2sdl 0x5c(%rax), %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x20(%rbp)
movq -0x28(%rbp), %rax
movq -0x10(%rbp), %rdi
movl 0x5c(%rax), %edx
movl 0x88(%rax), %ecx
movl -0x14(%rbp), %r8d
movsd -0x20(%rbp), %xmm0
leaq 0x60934(%rip), %rsi     # 0xc2cbf
movb $0x1, %al
callq 0xa890
movq -0x28(%rbp), %rax
movl 0x60(%rax), %ecx
subl 0x8c(%rax), %ecx
movl %ecx, -0x14(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0x20(%rbp)
cmpl $0x0, 0x60(%rax)
je 0x623c7
movq -0x28(%rbp), %rax
cvtsi2sdl -0x14(%rbp), %xmm0
cvtsi2sdl 0x60(%rax), %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x20(%rbp)
movq -0x28(%rbp), %rax
movq -0x10(%rbp), %rdi
movl 0x60(%rax), %edx
movl 0x8c(%rax), %ecx
movl -0x14(%rbp), %r8d
movsd -0x20(%rbp), %xmm0
leaq 0x608fc(%rip), %rsi     # 0xc2ce4
movb $0x1, %al
callq 0xa890
movq -0x28(%rbp), %rax
movl 0x58(%rax), %ecx
subl 0x84(%rax), %ecx
movl %ecx, -0x14(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0x20(%rbp)
cmpl $0x0, 0x58(%rax)
je 0x62424
movq -0x28(%rbp), %rax
cvtsi2sdl -0x14(%rbp), %xmm0
cvtsi2sdl 0x58(%rax), %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x20(%rbp)
movq -0x28(%rbp), %rax
movq -0x10(%rbp), %rdi
movl 0x58(%rax), %edx
movl 0x84(%rax), %ecx
movl -0x14(%rbp), %r8d
movsd -0x20(%rbp), %xmm0
leaq 0x608c4(%rip), %rsi     # 0xc2d09
movb $0x1, %al
callq 0xa890
movq -0x28(%rbp), %rax
movl 0x64(%rax), %ecx
subl 0x90(%rax), %ecx
movl %ecx, -0x14(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0x20(%rbp)
cmpl $0x0, 0x64(%rax)
je 0x62481
movq -0x28(%rbp), %rax
cvtsi2sdl -0x14(%rbp), %xmm0
cvtsi2sdl 0x64(%rax), %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x20(%rbp)
movq -0x28(%rbp), %rax
movq -0x10(%rbp), %rdi
movl 0x64(%rax), %edx
movl 0x90(%rax), %ecx
movl -0x14(%rbp), %r8d
movsd -0x20(%rbp), %xmm0
leaq 0x6088c(%rip), %rsi     # 0xc2d2e
movb $0x1, %al
callq 0xa890
movq -0x28(%rbp), %rax
movl 0x68(%rax), %ecx
subl 0x94(%rax), %ecx
movl %ecx, -0x14(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0x20(%rbp)
cmpl $0x0, 0x68(%rax)
je 0x624de
movq -0x28(%rbp), %rax
cvtsi2sdl -0x14(%rbp), %xmm0
cvtsi2sdl 0x68(%rax), %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x20(%rbp)
movq -0x28(%rbp), %rax
movq -0x10(%rbp), %rdi
movl 0x68(%rax), %edx
movl 0x94(%rax), %ecx
movl -0x14(%rbp), %r8d
movsd -0x20(%rbp), %xmm0
leaq 0x60854(%rip), %rsi     # 0xc2d53
movb $0x1, %al
callq 0xa890
movq -0x28(%rbp), %rax
movl 0x6c(%rax), %ecx
subl 0x98(%rax), %ecx
movl %ecx, -0x14(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0x20(%rbp)
cmpl $0x0, 0x6c(%rax)
je 0x6253b
movq -0x28(%rbp), %rax
cvtsi2sdl -0x14(%rbp), %xmm0
cvtsi2sdl 0x6c(%rax), %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x20(%rbp)
movq -0x28(%rbp), %rax
movq -0x10(%rbp), %rdi
movl 0x6c(%rax), %edx
movl 0x98(%rax), %ecx
movl -0x14(%rbp), %r8d
movsd -0x20(%rbp), %xmm0
leaq 0x6081c(%rip), %rsi     # 0xc2d78
movb $0x1, %al
callq 0xa890
movq -0x28(%rbp), %rax
movl 0x70(%rax), %ecx
subl 0x9c(%rax), %ecx
movl %ecx, -0x14(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0x20(%rbp)
cmpl $0x0, 0x70(%rax)
je 0x62598
movq -0x28(%rbp), %rax
cvtsi2sdl -0x14(%rbp), %xmm0
cvtsi2sdl 0x70(%rax), %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x20(%rbp)
movq -0x28(%rbp), %rax
movq -0x10(%rbp), %rdi
movl 0x70(%rax), %edx
movl 0x9c(%rax), %ecx
movl -0x14(%rbp), %r8d
movsd -0x20(%rbp), %xmm0
leaq 0x607e4(%rip), %rsi     # 0xc2d9d
movb $0x1, %al
callq 0xa890
movq -0x28(%rbp), %rax
movl 0x74(%rax), %ecx
subl 0xa0(%rax), %ecx
movl %ecx, -0x14(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0x20(%rbp)
cmpl $0x0, 0x74(%rax)
je 0x625f5
movq -0x28(%rbp), %rax
cvtsi2sdl -0x14(%rbp), %xmm0
cvtsi2sdl 0x74(%rax), %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x20(%rbp)
movq -0x28(%rbp), %rax
movq -0x10(%rbp), %rdi
movl 0x74(%rax), %edx
movl 0xa0(%rax), %ecx
movl -0x14(%rbp), %r8d
movsd -0x20(%rbp), %xmm0
leaq 0x607ac(%rip), %rsi     # 0xc2dc2
movb $0x1, %al
callq 0xa890
movq -0x28(%rbp), %rax
movl 0x80(%rax), %ecx
subl 0xac(%rax), %ecx
movl %ecx, -0x14(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0x20(%rbp)
cmpl $0x0, 0x80(%rax)
je 0x6265b
movq -0x28(%rbp), %rax
cvtsi2sdl -0x14(%rbp), %xmm0
cvtsi2sdl 0x80(%rax), %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x20(%rbp)
movq -0x28(%rbp), %rax
movq -0x10(%rbp), %rdi
movl 0x80(%rax), %edx
movl 0xac(%rax), %ecx
movl -0x14(%rbp), %r8d
movsd -0x20(%rbp), %xmm0
leaq 0x60768(%rip), %rsi     # 0xc2de7
movb $0x1, %al
callq 0xa890
movq -0x28(%rbp), %rax
movl 0x78(%rax), %ecx
subl 0xa4(%rax), %ecx
movl %ecx, -0x14(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0x20(%rbp)
cmpl $0x0, 0x78(%rax)
je 0x626bb
movq -0x28(%rbp), %rax
cvtsi2sdl -0x14(%rbp), %xmm0
cvtsi2sdl 0x78(%rax), %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x20(%rbp)
movq -0x28(%rbp), %rax
movq -0x10(%rbp), %rdi
movl 0x78(%rax), %edx
movl 0xa4(%rax), %ecx
movl -0x14(%rbp), %r8d
movsd -0x20(%rbp), %xmm0
leaq 0x60730(%rip), %rsi     # 0xc2e0c
movb $0x1, %al
callq 0xa890
movq -0x28(%rbp), %rax
movl 0x7c(%rax), %ecx
subl 0xa8(%rax), %ecx
movl %ecx, -0x14(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0x20(%rbp)
cmpl $0x0, 0x7c(%rax)
je 0x62718
movq -0x28(%rbp), %rax
cvtsi2sdl -0x14(%rbp), %xmm0
cvtsi2sdl 0x7c(%rax), %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x20(%rbp)
movq -0x28(%rbp), %rax
movq -0x10(%rbp), %rdi
movl 0x7c(%rax), %edx
movl 0xa8(%rax), %ecx
movl -0x14(%rbp), %r8d
movsd -0x20(%rbp), %xmm0
leaq 0x606f8(%rip), %rsi     # 0xc2e31
movb $0x1, %al
callq 0xa890
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)