// File: /workspace/github_cpp_makefile_star2_O1/wrighteagle2d[P]wrighteaglebase/Debug/../src/Parser.cpp
// Function: Parser::ParsePlayMode(char*)
void Parser::ParsePlayMode(char *msg) {
  ServerPlayMode spm = ServerPlayModeMap::instance().GetServerPlayMode(msg);

  if (spm == SPM_Null) {
    PRINT_ERROR("unknown server play mode: " << msg << " @ "
                                             << mpObserver->CurrentTime());
    return;
  }

  PlayMode pm = PM_No_Mode;
  mpObserver->SetServerPlayMode(spm);
  switch (spm) {
  case SPM_PlayOn:
    pm = PM_Play_On;
    break;              /* play_on */
  case SPM_KickIn_Left: /* kick_in */
    pm = (mpObserver->OurInitSide() == 'l') ? PM_Our_Kick_In : PM_Opp_Kick_In;
    break;
  case SPM_KickIn_Right:
    pm = (mpObserver->OurInitSide() == 'r') ? PM_Our_Kick_In : PM_Opp_Kick_In;
    break;
  case SPM_KickOff_Left:
    pm = (mpObserver->OurInitSide() == 'l') ? PM_Our_Kick_Off : PM_Opp_Kick_Off;
    break;
  case SPM_KickOff_Right:
    pm = (mpObserver->OurInitSide() == 'r') ? PM_Our_Kick_Off : PM_Opp_Kick_Off;
    break;
  case SPM_GoalKick_Left:
    pm = (mpObserver->OurInitSide() == 'l') ? PM_Our_Goal_Kick
                                            : PM_Opp_Goal_Kick;
    break;
  case SPM_GoalKick_Right:
    pm = (mpObserver->OurInitSide() == 'r') ? PM_Our_Goal_Kick
                                            : PM_Opp_Goal_Kick;
    break;
  case SPM_AfterGoal_Left:
    pm = (mpObserver->OurInitSide() == 'l') ? PM_Goal_Ours : PM_Goal_Opps;
    break;
  case SPM_AfterGoal_Right:
    pm = (mpObserver->OurInitSide() == 'r') ? PM_Goal_Ours : PM_Goal_Opps;
    break;
  case SPM_CornerKick_Left: /* corner_kick */
    pm = (mpObserver->OurInitSide() == 'l') ? PM_Our_Corner_Kick
                                            : PM_Opp_Corner_Kick;
    break;
  case SPM_CornerKick_Right:
    pm = (mpObserver->OurInitSide() == 'r') ? PM_Our_Corner_Kick
                                            : PM_Opp_Corner_Kick;
    break;
  case SPM_Drop_Ball:
    pm = PM_Drop_Ball;
    break;               /* drop_ball */
  case SPM_OffSide_Left: /* offside */
    pm = (mpObserver->OurInitSide() == 'l') ? PM_Opp_Offside_Kick
                                            : PM_Our_Offside_Kick;
    break;
  case SPM_OffSide_Right:
    pm = (mpObserver->OurInitSide() == 'r') ? PM_Opp_Offside_Kick
                                            : PM_Our_Offside_Kick;
    break;
  case SPM_CatchFault_Left:
    pm = (mpObserver->OurInitSide() == 'l') ? PM_Opp_CatchFault_Kick
                                            : PM_Our_CatchFault_Kick;
    break;
  case SPM_CatchFault_Right:
    pm = (mpObserver->OurInitSide() == 'r') ? PM_Opp_CatchFault_Kick
                                            : PM_Our_CatchFault_Kick;
    break;
  case SPM_FreeKick_Left:
    if (mLastServerPlayMode == SPM_GoalieCatchBall_Left)
      pm = (mpObserver->OurInitSide() == 'l') ? PM_Our_Goalie_Free_Kick
                                              : PM_Opp_Goalie_Free_Kick;
    else
      pm = (mpObserver->OurInitSide() == 'l') ? PM_Our_Free_Kick
                                              : PM_Opp_Free_Kick;
    break;
  case SPM_FreeKick_Right:
    if (mLastServerPlayMode == SPM_GoalieCatchBall_Right)
      pm = (mpObserver->OurInitSide() == 'r') ? PM_Our_Goalie_Free_Kick
                                              : PM_Opp_Goalie_Free_Kick;
    else
      pm = (mpObserver->OurInitSide() == 'r') ? PM_Our_Free_Kick
                                              : PM_Opp_Free_Kick;
    break;
  case SPM_Free_Kick_Fault_Left:
    pm = (mpObserver->OurInitSide() == 'r') ? PM_Our_Free_Kick_Fault_Kick
                                            : PM_Opp_Free_Kick_Fault_Kick;
    break;
  case SPM_Free_Kick_Fault_Right:
    pm = (mpObserver->OurInitSide() == 'l') ? PM_Our_Free_Kick_Fault_Kick
                                            : PM_Opp_Free_Kick_Fault_Kick;
    break;
  case SPM_FirstHalfOver: /* half_time */
    pm = PM_Half_Time;    /* play_mode to before_kick_off        */
    break;
  case SPM_BeforeKickOff:
    pm = PM_Before_Kick_Off;
    break; /* before_kick_off */
    break;
  case SPM_Back_Pass_Left:
    pm = (mpObserver->OurInitSide() == 'r') ? PM_Our_Back_Pass_Kick
                                            : PM_Opp_Back_Pass_Kick;
    break;
  case SPM_Back_Pass_Right:
    pm = (mpObserver->OurInitSide() == 'l') ? PM_Our_Back_Pass_Kick
                                            : PM_Opp_Back_Pass_Kick;
    break;
  case SPM_TimeOver:
    pm = PM_Time_Over;
    break;
  case SPM_TimeUp:
    pm = PM_Time_Up;
    break;
  case SPM_IndFreeKick_Left:
    pm = (mpObserver->OurInitSide() == 'l') ? PM_Our_Indirect_Free_Kick
                                            : PM_Opp_Indirect_Free_Kick;
    break;
  case SPM_IndFreeKick_Right:
    pm = (mpObserver->OurInitSide() == 'r') ? PM_Our_Indirect_Free_Kick
                                            : PM_Opp_Indirect_Free_Kick;
    break;
  case SPM_PenaltySetup_Left:
    pm = (mpObserver->OurInitSide() == 'l') ? PM_Our_Penalty_Setup
                                            : PM_Opp_Penalty_Setup;
    break;
  case SPM_PenaltySetup_Right:
    pm = (mpObserver->OurInitSide() == 'r') ? PM_Our_Penalty_Setup
                                            : PM_Opp_Penalty_Setup;
    break;
  case SPM_PenaltyReady_Left:
    pm = (mpObserver->OurInitSide() == 'l') ? PM_Our_Penalty_Ready
                                            : PM_Opp_Penalty_Ready;
    break;
  case SPM_PenaltyReady_Right:
    pm = (mpObserver->OurInitSide() == 'r') ? PM_Our_Penalty_Ready
                                            : PM_Opp_Penalty_Ready;
    break;
  case SPM_PenaltyTaken_Left:
    pm = (mpObserver->OurInitSide() == 'l') ? PM_Our_Penalty_Taken
                                            : PM_Opp_Penalty_Taken;
    break;
  case SPM_PenaltyTaken_Right:
    pm = (mpObserver->OurInitSide() == 'r') ? PM_Our_Penalty_Taken
                                            : PM_Opp_Penalty_Taken;
    break;
  case SPM_PenaltyScore_Left:
    pm = (mpObserver->OurInitSide() == 'l') ? PM_Our_Penalty_Score
                                            : PM_Opp_Penalty_Score;
    break;
  case SPM_PenaltyScore_Right:
    pm = (mpObserver->OurInitSide() == 'r') ? PM_Our_Penalty_Score
                                            : PM_Opp_Penalty_Score;
    break;
  case SPM_PenaltyMiss_Left:
    pm = (mpObserver->OurInitSide() == 'l') ? PM_Our_Penalty_Miss
                                            : PM_Opp_Penalty_Miss;
    break;
  case SPM_PenaltyMiss_Right:
    pm = (mpObserver->OurInitSide() == 'r') ? PM_Our_Penalty_Miss
                                            : PM_Opp_Penalty_Miss;
    break;
  case SPM_GoalieCatchBall_Left:
    pm = mpObserver->GetPlayMode();
    break;
  case SPM_GoalieCatchBall_Right:
    pm = mpObserver->GetPlayMode();
    break;
  case SPM_HalfTime:
    pm = PM_Half_Time;
    break;
  case SPM_PenaltyOnfield_Left:
    pm = (mpObserver->OurInitSide() == 'l') ? PM_Penalty_On_Our_Field
                                            : PM_Penalty_On_Opp_Field;
    break;
  case SPM_PenaltyOnfield_Right:
    pm = (mpObserver->OurInitSide() == 'r') ? PM_Penalty_On_Our_Field
                                            : PM_Penalty_On_Opp_Field;
    break;
  case SPM_PenaltyFoul_Left:
    pm = (mpObserver->OurInitSide() == 'l') ? PM_Our_Penalty_Foul
                                            : PM_Opp_Penalty_Foul;
    break;
  case SPM_PenaltyFoul_Right:
    pm = (mpObserver->OurInitSide() == 'r') ? PM_Our_Penalty_Foul
                                            : PM_Opp_Penalty_Foul;
    break;
  case SPM_PenaltyWinner_Left:
    pm = (mpObserver->OurInitSide() == 'l') ? PM_Our_Penalty_Winner
                                            : PM_Opp_Penalty_Winner;
    break;
  case SPM_PenaltyWinner_Right:
    pm = (mpObserver->OurInitSide() == 'r') ? PM_Our_Penalty_Winner
                                            : PM_Opp_Penalty_Winner;
    break;
  case SPM_Foul_Left:
    pm = (mpObserver->OurInitSide() == 'l') ? PM_Our_Foul : PM_Opp_Foul;
    break;
  case SPM_Foul_Right:
    pm = (mpObserver->OurInitSide() == 'r') ? PM_Our_Foul : PM_Opp_Foul;
    break;
  case SPM_TimeExtended:
    pm = PM_Extended_Time;
    break;
  case SPM_Foul_Charge_Left:
    pm = (mpObserver->OurInitSide() == 'r') ? PM_Our_Foul_Charge_Kick
                                            : PM_Opp_Foul_Charge_Kick;
    break;
  case SPM_Foul_Charge_Right:
    pm = (mpObserver->OurInitSide() == 'l') ? PM_Our_Foul_Charge_Kick
                                            : PM_Opp_Foul_Charge_Kick;
    break;
  default:
    PRINT_ERROR("unknown server play mode: " << msg << " @ "
                                             << mpObserver->CurrentTime());
    break;
  }
  mLastServerPlayMode = spm;

  if (pm == PM_Penalty_On_Our_Field) {
    if (mpObserver->SelfUnum() != PlayerParam::instance().ourGoalieUnum()) {
      mpObserver->SetOurSide((mpObserver->OurInitSide() == 'l') ? 'r' : 'l');
      mpObserver->Initialize();
    }
  } else if (pm == PM_Penalty_On_Opp_Field) {
    if (mpObserver->SelfUnum() == PlayerParam::instance().ourGoalieUnum()) {
      mpObserver->SetOurSide((mpObserver->OurInitSide() == 'l') ? 'r' : 'l');
      mpObserver->Initialize();
    }
  }

  if (pm != PM_No_Mode) {
    switch (pm) {
    case PM_Goal_Ours:
      mpObserver->OurScoreInc();
      mpObserver->SetKickOffMode(KO_Opps);
      pm = PM_Before_Kick_Off;
      break;
    case PM_Goal_Opps:
      mpObserver->OppScoreInc();
      mpObserver->SetKickOffMode(KO_Ours);
      pm = PM_Before_Kick_Off;
      break;
    case PM_Our_Penalty_Score:
      mpObserver->OurScoreInc();
      break;
    case PM_Opp_Penalty_Score:
      mpObserver->OppScoreInc();
      break;
    case PM_Half_Time:
    case PM_Extended_Time:
      ++mHalfTime;
      if (mHalfTime % 2 == 1) {
        mpObserver->SetKickOffMode(
            (mpObserver->OurInitSide() == 'l') ? KO_Ours : KO_Opps);
      } else {
        mpObserver->SetKickOffMode(
            (mpObserver->OurInitSide() == 'r') ? KO_Ours : KO_Opps);
      }

      break;
    case PM_Drop_Ball:
      mpObserver->DropBall();
      break;
    default:
      break;
    }
    mpObserver->SetPlayMode(pm);
  } else {
    PRINT_ERROR("Unkonow playmode : " << msg << " @ "
                                      << mpObserver->CurrentTime());
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x30, %rsp
movq %rsi, %r14
movq %rdi, %rbx
callq 0x55f0c
movq %rax, %r15
leaq -0x48(%rbp), %r12
leaq -0x21(%rbp), %rdx
movq %r12, %rdi
movq %r14, %rsi
callq 0x24892
movq %r15, %rdi
movq %r12, %rsi
callq 0x57198
movl %eax, %r15d
leaq -0x38(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x42861
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x94e0
testl %r15d, %r15d
je 0x42897
movq 0x10(%rbx), %rax
movl %r15d, 0x24(%rax)
movl %r15d, %ecx
decl %ecx
cmpl $0x3d, %ecx
ja 0x429a8
leaq 0x2a93d(%rip), %rdx     # 0x6d1c0
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
movl $0x1c, %r12d
jmp 0x42ce2
movq 0x44752(%rip), %r15     # 0x86ff0
leaq 0x2ab01(%rip), %rsi     # 0x6d3a6
movl $0x11, %edx
movq %r15, %rdi
callq 0x9560
leaq 0x2c909(%rip), %rsi     # 0x6f1c2
movl $0x1, %edx
movq %r15, %rdi
callq 0x9560
movq %r15, %rdi
movl $0x693, %esi            # imm = 0x693
callq 0x9880
movq %rax, %r15
leaq 0x2aba2(%rip), %rsi     # 0x6d47f
movl $0x3, %edx
movq %rax, %rdi
callq 0x9560
leaq 0x2ab63(%rip), %rsi     # 0x6d454
movl $0x1a, %edx
movq %r15, %rdi
callq 0x9560
testq %r14, %r14
je 0x4291b
movq %r14, %rdi
callq 0x9200
movq %r15, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x9560
jmp 0x42935
movq (%r15), %rax
movq -0x18(%rax), %rax
movq %r15, %rdi
addq %rax, %rdi
movl 0x20(%r15,%rax), %esi
orl $0x1, %esi
callq 0x9860
leaq 0x2c8eb(%rip), %rsi     # 0x6f227
movl $0x3, %edx
movq %r15, %rdi
callq 0x9560
movq 0x10(%rbx), %rsi
addq $0xc, %rsi
movq %r15, %rdi
callq 0xea74
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x9480
movsbl %al, %esi
movq %rbx, %rdi
callq 0x9070
movq %rax, %rdi
callq 0x9330
jmp 0x42df6
movl 0x1c(%rax), %r12d
jmp 0x42ce2
xorl %r12d, %r12d
cmpb $0x72, 0x28(%rax)
jmp 0x42c60
movl $0x1e, %r12d
jmp 0x42ce2
movq 0x44641(%rip), %r12     # 0x86ff0
leaq 0x2a9f0(%rip), %rsi     # 0x6d3a6
movl $0x11, %edx
movq %r12, %rdi
callq 0x9560
leaq 0x2c7f8(%rip), %rsi     # 0x6f1c2
movl $0x1, %edx
movq %r12, %rdi
callq 0x9560
movq %r12, %rdi
movl $0x763, %esi            # imm = 0x763
callq 0x9880
movq %rax, %r12
leaq 0x2aa91(%rip), %rsi     # 0x6d47f
movl $0x3, %edx
movq %rax, %rdi
callq 0x9560
leaq 0x2aa52(%rip), %rsi     # 0x6d454
movl $0x1a, %edx
movq %r12, %rdi
callq 0x9560
movq %r12, %rdi
movq %r14, %rsi
callq 0x94a0
movq %rax, %r12
leaq 0x2c803(%rip), %rsi     # 0x6f227
movl $0x3, %edx
movq %rax, %rdi
callq 0x9560
movq 0x10(%rbx), %rsi
addq $0xc, %rsi
movq %r12, %rdi
callq 0xea74
movq %rax, %rdi
callq 0x9240
xorl %r12d, %r12d
jmp 0x42ce2
cmpb $0x72, 0x28(%rax)
jmp 0x42bb1
cmpb $0x72, 0x28(%rax)
jmp 0x42a64
cmpb $0x6c, 0x28(%rax)
movl $0x11, %eax
movl $0x34, %r12d
jmp 0x42cde
cmpb $0x6c, 0x28(%rax)
jmp 0x42c0a
xorl %ecx, %ecx
cmpb $0x6c, 0x28(%rax)
jmp 0x42b8c
xorl %r12d, %r12d
cmpb $0x6c, 0x28(%rax)
jmp 0x42b79
cmpb $0x6c, 0x28(%rax)
jmp 0x42c6e
cmpb $0x6c, 0x28(%rax)
jmp 0x42b2f
cmpb $0x6c, 0x28(%rax)
jmp 0x42ace
cmpb $0x72, 0x28(%rax)
jmp 0x42bf6
cmpb $0x72, 0x28(%rax)
jmp 0x42ca7
cmpb $0x6c, 0x28(%rax)
jmp 0x42b07
cmpb $0x72, 0x28(%rax)
jmp 0x42af3
cmpb $0x72, 0x28(%rax)
movl $0xa, %eax
movl $0x2e, %r12d
jmp 0x42cde
movl $0x1, %r12d
jmp 0x42ce2
cmpb $0x6c, 0x28(%rax)
jmp 0x42b4e
cmpb $0x6c, 0x28(%rax)
movl $0x5, %eax
movl $0x28, %r12d
jmp 0x42cde
cmpb $0x72, 0x28(%rax)
movl $0x7, %eax
movl $0x2a, %r12d
jmp 0x42cde
cmpb $0x72, 0x28(%rax)
jmp 0x42bc5
movl $0x16, %r12d
jmp 0x42ce2
cmpb $0x72, 0x28(%rax)
movl $0xb, %eax
movl $0x2d, %r12d
jmp 0x42cde
movl $0x1d, %r12d
jmp 0x42ce2
cmpb $0x72, 0x28(%rax)
movl $0x3, %eax
movl $0x26, %r12d
jmp 0x42cde
cmpl $0x32, 0x18(%rbx)
movb 0x28(%rax), %al
jne 0x42ccd
cmpb $0x6c, %al
jmp 0x42c29
xorl %r12d, %r12d
cmpb $0x72, 0x28(%rax)
sete %r12b
xorl $0x21, %r12d
jmp 0x42ce2
xorl %ecx, %ecx
cmpb $0x72, 0x28(%rax)
setne %cl
leal (%rcx,%rcx,2), %r12d
addl $0x17, %r12d
jmp 0x42ce2
movl $0x1b, %r12d
jmp 0x42ce2
cmpb $0x6c, 0x28(%rax)
jmp 0x42bd9
cmpb $0x6c, 0x28(%rax)
movl $0x14, %eax
movl $0x37, %r12d
jmp 0x42cde
cmpb $0x6c, 0x28(%rax)
movl $0xe, %eax
movl $0x31, %r12d
jmp 0x42cde
cmpb $0x72, 0x28(%rax)
movl $0x2, %eax
movl $0x25, %r12d
jmp 0x42cde
cmpb $0x6c, 0x28(%rax)
jmp 0x42cb8
cmpb $0x6c, 0x28(%rax)
movl $0x4, %eax
movl $0x27, %r12d
jmp 0x42cde
cmpb $0x72, 0x28(%rax)
movl $0x12, %eax
movl $0x35, %r12d
jmp 0x42cde
cmpl $0x33, 0x18(%rbx)
movb 0x28(%rax), %al
jne 0x42cd1
cmpb $0x72, %al
movl $0x8, %eax
movl $0x2b, %r12d
jmp 0x42cde
cmpb $0x72, 0x28(%rax)
jmp 0x42c49
cmpb $0x6c, 0x28(%rax)
jmp 0x42c96
cmpb $0x6c, 0x28(%rax)
movl $0x2c, %eax
movl $0x9, %r12d
jmp 0x42cde
xorl %r12d, %r12d
cmpb $0x6c, 0x28(%rax)
sete %r12b
xorl $0x23, %r12d
jmp 0x42ce2
cmpb $0x72, 0x28(%rax)
movl $0xd, %eax
movl $0x30, %r12d
jmp 0x42cde
cmpb $0x72, 0x28(%rax)
jmp 0x42c85
cmpb $0x6c, 0x28(%rax)
movl $0x2f, %eax
movl $0xc, %r12d
jmp 0x42cde
cmpb $0x72, 0x28(%rax)
movl $0x10, %eax
movl $0x33, %r12d
jmp 0x42cde
cmpb $0x6c, 0x28(%rax)
movl $0xf, %eax
movl $0x32, %r12d
jmp 0x42cde
cmpb $0x72, 0x28(%rax)
movl $0x13, %eax
movl $0x36, %r12d
jmp 0x42cde
movl $0x1f, %r12d
jmp 0x42ce2
cmpb $0x6c, %al
jmp 0x42cd3
cmpb $0x72, %al
movl $0x6, %eax
movl $0x29, %r12d
cmovel %eax, %r12d
movl %r15d, 0x18(%rbx)
cmpl $0x1a, %r12d
je 0x42d75
cmpl $0x17, %r12d
jne 0x42d34
movq 0x10(%rbx), %rax
movl 0x2c(%rax), %r15d
callq 0x450ba
cmpl 0x31a0(%rax), %r15d
je 0x42d34
movq 0x10(%rbx), %rdi
cmpb $0x6c, 0x28(%rdi)
movl $0x72, %eax
movl $0x6c, %ecx
movl $0x6c, %edx
cmovel %eax, %edx
movb %dl, 0x29(%rdi)
cmovel %ecx, %eax
movb %al, 0x2a(%rdi)
callq 0x3ba04
cmpl $0x1a, %r12d
jle 0x42d8d
leal -0x1b(%r12), %eax
cmpl $0x6, %eax
ja 0x42da1
leaq 0x2a56d(%rip), %rcx     # 0x6d2b8
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl 0x48(%rbx), %edx
incl %edx
movl %edx, 0x48(%rbx)
andl $0x80000001, %edx       # imm = 0x80000001
movq 0x10(%rbx), %rax
movb 0x28(%rax), %cl
cmpl $0x1, %edx
jne 0x42db0
xorl %edx, %edx
cmpb $0x6c, %cl
jmp 0x42db5
movq 0x10(%rbx), %rax
movl 0x2c(%rax), %r15d
callq 0x450ba
cmpl 0x31a0(%rax), %r15d
je 0x42d0c
jmp 0x42d34
testl %r12d, %r12d
je 0x42e03
cmpl $0x11, %r12d
jne 0x42dee
movq 0x10(%rbx), %rax
incl 0x34(%rax)
jmp 0x42dee
cmpl $0x34, %r12d
jne 0x42dee
movq 0x10(%rbx), %rax
incl 0x38(%rax)
jmp 0x42dee
xorl %edx, %edx
cmpb $0x72, %cl
setne %dl
movl %edx, 0x20(%rax)
jmp 0x42dee
movq 0x10(%rbx), %rax
movb $0x1, 0x118(%rax)
jmp 0x42dee
movq 0x10(%rbx), %rax
incl 0x34(%rax)
movl $0x1, 0x20(%rax)
jmp 0x42de8
movq 0x10(%rbx), %rax
incl 0x38(%rax)
movl $0x0, 0x20(%rax)
movl $0x16, %r12d
movq 0x10(%rbx), %rax
movl %r12d, 0x1c(%rax)
addq $0x30, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
movq 0x441e6(%rip), %r15     # 0x86ff0
leaq 0x2a595(%rip), %rsi     # 0x6d3a6
movl $0x11, %edx
movq %r15, %rdi
callq 0x9560
leaq 0x2c39d(%rip), %rsi     # 0x6f1c2
movl $0x1, %edx
movq %r15, %rdi
callq 0x9560
movq %r15, %rdi
movl $0x79b, %esi            # imm = 0x79B
callq 0x9880
movq %rax, %r15
leaq 0x2a636(%rip), %rsi     # 0x6d47f
movl $0x3, %edx
movq %rax, %rdi
callq 0x9560
leaq 0x2a612(%rip), %rsi     # 0x6d46f
movl $0x13, %edx
jmp 0x428f6
movq %rax, %rbx
leaq -0x38(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x42e83
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x94e0
movq %rbx, %rdi
callq 0x98b0
nop