// File: /workspace/github_c_makefile_star2_O3/QwazyWabbitWOS[P]lmctf60/g_cmds.c
// Function: ClientCommand
void ClientCommand (edict_t *ent)
{
	char	*cmd;

	if (!ent->client)
		return;		// not fully in game yet

	cmd = gi.argv(0);


#ifdef BAT_DEBUG
	if(Q_stricmp (cmd, "danman") == 0)
	{
		Cmd_DanMan(ent);
		return;
	}
#endif


	if (Q_stricmp (cmd, "test") == 0) {
		Cmd_Test_f(ent);
		return;
	}

	if (Q_stricmp (cmd, "players") == 0)
	{
		Cmd_Players_f (ent);
		return;
	}
	if (Q_stricmp (cmd, "say") == 0)
	{
		Cmd_Say_f (ent, false, false);
		return;
	}
	if (Q_stricmp (cmd, "say_team") == 0)
	{
		Cmd_Say_f (ent, true, false);
		return;
	}
	if (Q_stricmp (cmd, "score") == 0)
	{
		Cmd_Score_f (ent);
		return;
	}
// ADC
	else if (Q_stricmp (cmd, "squadboard") == 0)
	{
		Cmd_Squadboard_f (ent);
		return;
	}
	else if (Q_stricmp (cmd, "squad") == 0)
	{
		char* newcategory = gi.argv(1);

		if (strlen (newcategory) == 0)
			strncpy (ent->client->pers.squad, UNSET_CATEGORY_STR,
			    MAX_CATEGORY_LEN-1);
		else
			strncpy (ent->client->pers.squad, newcategory,
			    MAX_CATEGORY_LEN-1);

		ent->client->pers.squad[MAX_CATEGORY_LEN-1] = 0;
		return;
	}
	else if (Q_stricmp (cmd, "squadstatus") == 0)
	{
		char* newstatus = gi.argv(1);

		if (strlen (newstatus) == 0)
			strncpy (ent->client->pers.squadStatus, UNSET_STATUS_STR,
			    MAX_STATUS_LEN-1);
		else
			strncpy (ent->client->pers.squadStatus, newstatus,
			    MAX_STATUS_LEN-1);

		ent->client->pers.squadStatus[MAX_STATUS_LEN-1] = 0;
		return;
	}
// ADC
	if (Q_stricmp (cmd, "help") == 0)
	{
		Cmd_Help_f (ent);
		return;
	}
	else if (Q_stricmp (cmd, "referee") == 0)
	{
		Cmd_Referee_f (ent);
		return;
	}
	else if (Q_stricmp (cmd, "gameversion") == 0)
	{
		ctf_SafePrint(ent, PRINT_HIGH, va("%s %s %s\n", GAMEVERSION, VER, __DATE__));
		return;
	}
	else if (Q_stricmp (cmd, "ctfhelp") == 0)
	{
		Cmd_Ctfhelp_f (ent);
		return;
	}
	else if (Q_stricmp (cmd, "ctfmenu") == 0)
	{
		Cmd_Ctfmenu_f (ent);
		return;
	}
	else if (Q_stricmp (cmd, "refmenu") == 0)
	{
		Cmd_Refmenu_f (ent);
		return;
	}
	else if (Q_stricmp (cmd, "refcommands") == 0)
	{
		Cmd_Refcommands_f(ent);
		return;
	}
	else if (Q_stricmp(cmd, "lock") == 0 || Q_stricmp(cmd, "unlock") == 0)
	{
		Cmd_LockTeams_f(ent);
		return;
	}
	else if (Q_stricmp(cmd, "startmatch") == 0)
	{
		Cmd_StartMatch_f(ent);
		return;
	}
	else if (Q_stricmp(cmd, "stopmatch") == 0)
	{
		Cmd_StopMatch_f(ent);
		return;
	}
	else if (Q_stricmp(cmd, "pausematch") == 0 || Q_stricmp(cmd, "unpausematch") == 0)
	{
		Cmd_PauseMatch_f(ent);
		return;
	}
	else if (Q_stricmp(cmd, "setpassword") == 0)
	{
		Cmd_SetPassword_f(ent);
		return;
	}
	else if (Q_stricmp(cmd, "settimelimit") == 0)
    {
        Cmd_SetTimelimit_f(ent);
        return;
    }
	else if (Q_stricmp(cmd, "togglefastswitch") == 0)
	{
		Cmd_ToggleFastSwitch_f(ent);
		return;
	}
	else if (Q_stricmp(cmd, "changemap") == 0)
	{
		Cmd_ChangeMap_f(ent);
		return;
	}
	else if (Q_stricmp (cmd, "users") == 0)
	{
		Cmd_Users_f (ent);
		return;
	}
	else if (Q_stricmp (cmd, "ctfkick") == 0)
	{
		Cmd_Kick_f (ent);
		return;
	}
	else if (Q_stricmp (cmd, "fobserve") == 0)
	{
		Cmd_Fobserve_f (ent);
		return;
	}
	else if (Q_stricmp (cmd, "quadtime") == 0)
	{
		Cmd_QuadTime_f (ent);
		return;
	}
	else if (Q_stricmp (cmd, "angleinfo") == 0)
	{
		Cmd_AngleInfo_f (ent);
		return;
	}
	else if (Q_stricmp (cmd, "gotomap") == 0)
	{
		Cmd_GotoMap_f (ent);
		return;
	}
	else if (Q_stricmp (cmd, "match") == 0)
	{
		Cmd_Match_f (ent);
		return;
	}
	else if (Q_stricmp (cmd, "pingalert") == 0)
	{
		Cmd_PingAlert_f (ent);
		return;
	}
	else if (Q_stricmp (cmd, "voteyes") == 0)   //Vampire -- voting menu
	{
		if (VoteStarted)
			Vote_YES (ent);
		else
			gi.cprintf(ent, PRINT_LOW,"A vote has not been initiated.\n");
		return;
	}
	else if (Q_stricmp (cmd, "voteno") == 0)    //Vampire -- voting menu
	{
		if (VoteStarted)
			Vote_NO (ent);
		else
			gi.cprintf(ent, PRINT_LOW,"A vote has not been initiated.\n");
		return;
	}

	if (level.intermissiontime)
		return;

	if (GamePaused() && !(ent->client->ctf.extra_flags & CTF_EXTRAFLAGS_REFEREE)) // LM_JORM -- Don't let players do certain things if paused
		return;

	if (Q_stricmp (cmd, "use") == 0)
		Cmd_Use_f (ent);
	else if (Q_stricmp (cmd, "hook") == 0)
		Cmd_Hook_f (ent);
	else if (Q_stricmp (cmd, "unhook") == 0)
		Cmd_Unhook_f (ent);
	else if (Q_stricmp (cmd, "weapprev") == 0)
		Cmd_WeapPrev_f (ent);
	else if (Q_stricmp (cmd, "weapnext") == 0)
		Cmd_WeapNext_f (ent);
	else if (Q_stricmp (cmd, "weaplast") == 0)
		Cmd_WeapLast_f (ent);
	else if (Q_stricmp (cmd, "drop") == 0)
		Cmd_Drop_f (ent);
	else if (Q_stricmp (cmd, "help") == 0)
		Cmd_Help_f (ent);
	else if (Q_stricmp (cmd, "inven") == 0)
		Cmd_Inven_f (ent);
	else if (Q_stricmp (cmd, "invnext") == 0)
		SelectNextItem (ent, -1);
	else if (Q_stricmp (cmd, "invprev") == 0)
		SelectPrevItem (ent, -1);
	else if (Q_stricmp (cmd, "invnextw") == 0)
		SelectNextItem (ent, IT_WEAPON);
	else if (Q_stricmp (cmd, "invprevw") == 0)
		SelectPrevItem (ent, IT_WEAPON);
	else if (Q_stricmp (cmd, "invnextp") == 0)
		SelectNextItem (ent, IT_POWERUP);
	else if (Q_stricmp (cmd, "invprevp") == 0)
		SelectPrevItem (ent, IT_POWERUP);
	else if (Q_stricmp (cmd, "invuse") == 0)
		Cmd_InvUse_f (ent);
	else if (Q_stricmp (cmd, "invdrop") == 0)
		Cmd_InvDrop_f (ent);
	else if (Q_stricmp (cmd, "kill") == 0)
		Cmd_Kill_f (ent);
	else if (Q_stricmp (cmd, "putaway") == 0)
		Cmd_PutAway_f (ent);
	else if (Q_stricmp (cmd, "wave") == 0)
		Cmd_Wave_f (ent);
	else if (Q_stricmp (cmd, "fov") == 0)
	{
		ent->client->ps.fov = atoi(gi.argv(1));
		if (ent->client->ps.fov < 1)
			ent->client->ps.fov = 90;
		else if (ent->client->ps.fov > 160)
			ent->client->ps.fov = 160;
	}
	// TEAM_CODE -- LM_JORM
	else if (Q_stricmp (cmd, "team") == 0)
		Cmd_Team_f (ent);
	else if (Q_stricmp (cmd, "flagstatus") == 0)
		Cmd_FlagStatus_f (ent);
	else if (Q_stricmp (cmd, "id") == 0)
		Cmd_Id_f (ent);
	else if (Q_stricmp (cmd, "position") == 0)
		Cmd_Position_f (ent);
	else if (Q_stricmp (cmd, "radiomenu") == 0)
		Toggle_Radio_Menu (ent);
	else if (Q_stricmp (cmd, "play_team") == 0)
		Cmd_PlayTeamSound_f (ent);
	else if (Q_stricmp (cmd, "play_voice") == 0)
		Cmd_PlayVoiceSound_f (ent);
	else if (Q_stricmp (cmd, "radio") == 0)
		Cmd_Radio_f (ent);
#ifdef OLDOBSERVERCODE
	else if (Q_stricmp (cmd, "observe") == 0)
		Observe (ent);
	else if (Q_stricmp (cmd, "chasecam") == 0)
		ChaseCam (ent);
#else
	//bat
	// I'm still gonna let them use the observe command
	//'cause people are used to it.
	else if (Q_stricmp (cmd, "observe") == 0)
		Cmd_Observe_f(ent, CTF_TEAM_OBSERVER);
	else if (Q_stricmp (cmd, "observe_red") == 0)
		Cmd_Observe_f(ent, CTF_TEAM_OBSERVER_RED);
	else if (Q_stricmp (cmd, "observe_blue") == 0)
		Cmd_Observe_f(ent, CTF_TEAM_OBSERVER_BLUE);

#endif
	else if (Q_stricmp (cmd, "stats") == 0) // STATS - LM_Hati
		Cmd_PlayerStats_f (ent);            // STATS - LM_Hati
	else if (Q_stricmp (cmd, "statsall") == 0) // STATS - LM_Surt
		Cmd_StatsAll_f (ent);            // STATS - LM_Surt
#ifdef OLDOBSERVERCODE
	else if (Q_stricmp (cmd, "togglecamera") == 0) //surt for locking the camera view
		Obs_CamLock_Exec (ent); //surt for locking the camera view
#endif
	else if (Q_stricmp (cmd, "compass") == 0)
		Cmd_Compass_f (ent);
	else if (Q_stricmp (cmd, "give") == 0)
		Cmd_Give_f (ent);
	else if (Q_stricmp (cmd, "god") == 0)
		Cmd_God_f (ent);
	else if (Q_stricmp (cmd, "notarget") == 0)
		Cmd_Notarget_f (ent);
	else if (Q_stricmp (cmd, "noclip") == 0)
		Cmd_Noclip_f (ent);
	//else if (Q_stricmp (cmd, "infoent") == 0)
	//	Cmd_InfoEnt_f (ent);


	//bat
	else if(Q_stricmp (cmd, "pause_match") == 0)
	{
		if (ent->client->ctf.extra_flags & CTF_EXTRAFLAGS_REFEREE)
			RefTogglePause(ent);
	}


	// END TEAM CODE
	else if (Q_stricmp(cmd, "playerlist") == 0)
		Cmd_PlayerList_f(ent);
	else	// anything that doesn't match a command will be a chat
		Cmd_Say_f (ent, false, true);
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
cmpq $0x0, 0x58(%rdi)
je 0x2adf3
movq %rdi, %rbx
movq 0x3e020(%rip), %r15     # 0x68600
xorl %edi, %edi
callq *0x140(%r15)
movq %rax, %r14
leaq 0x2b346(%rip), %rsi     # 0x55939
movq %rax, %rdi
callq 0x18690
testl %eax, %eax
je 0x2adf3
leaq 0x2b334(%rip), %rsi     # 0x5593e
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2ad09
leaq 0x2b325(%rip), %rsi     # 0x55946
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2ad16
leaq 0x2b312(%rip), %rsi     # 0x5594a
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2ad1d
leaq 0x2b304(%rip), %rsi     # 0x55953
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2ad31
leaq 0x2b2f3(%rip), %rsi     # 0x55959
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2ad3e
leaq 0x2b2e7(%rip), %rsi     # 0x55964
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2ad4b
leaq 0x2b2d6(%rip), %rsi     # 0x5596a
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2ad74
leaq 0x2e489(%rip), %rsi     # 0x58b34
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2ad9d
leaq 0x28030(%rip), %rsi     # 0x526f2
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2adc6
leaq 0x2b29d(%rip), %rsi     # 0x55976
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2adf9
leaq 0x2b2b4(%rip), %rsi     # 0x559a4
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2ae31
leaq 0x27aee(%rip), %rsi     # 0x521f5
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2ae3e
leaq 0x27fc0(%rip), %rsi     # 0x526de
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2ae4b
leaq 0x2b277(%rip), %rsi     # 0x559ac
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2ae65
leaq 0x2daa6(%rip), %rsi     # 0x581f2
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2ae58
leaq 0x2b255(%rip), %rsi     # 0x559b8
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2ae58
leaq 0x2b245(%rip), %rsi     # 0x559bf
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2ae72
leaq 0x2b239(%rip), %rsi     # 0x559ca
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2ae7f
leaq 0x2b22e(%rip), %rsi     # 0x559d6
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2b19d
leaq 0x2b215(%rip), %rsi     # 0x559d4
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2b19d
leaq 0x2b20b(%rip), %rsi     # 0x559e1
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2ae8c
leaq 0x2b200(%rip), %rsi     # 0x559ed
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2ae99
leaq 0x2b1f6(%rip), %rsi     # 0x559fa
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2aea6
leaq 0x2b1f0(%rip), %rsi     # 0x55a0b
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2aeb3
leaq 0x27db8(%rip), %rsi     # 0x525ea
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2ad09
leaq 0x2b1cc(%rip), %rsi     # 0x55a15
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2aec0
leaq 0x2b1bd(%rip), %rsi     # 0x55a1d
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2aecd
leaq 0x2b1af(%rip), %rsi     # 0x55a26
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2aeda
leaq 0x2b1a1(%rip), %rsi     # 0x55a2f
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2aee7
leaq 0x27d0f(%rip), %rsi     # 0x525b4
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2aef4
leaq 0x2b292(%rip), %rsi     # 0x55b4e
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2af01
leaq 0x27dbb(%rip), %rsi     # 0x5268e
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2af0e
leaq 0x2b14f(%rip), %rsi     # 0x55a39
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2af1b
leaq 0x2b160(%rip), %rsi     # 0x55a61
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2af34
movq 0x3e488(%rip), %rax     # 0x68da0
movss 0xc8(%rax), %xmm0
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
jne 0x2adf3
jp 0x2adf3
xorl %eax, %eax
callq 0x18160
testl %eax, %eax
je 0x2a94e
movq 0x58(%rbx), %rax
testb $0x2, 0x1108(%rax)
je 0x2adf3
leaq 0x2b172(%rip), %rsi     # 0x55ac7
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2af66
leaq 0x2f909(%rip), %rsi     # 0x5a275
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2af73
leaq 0x2b0e5(%rip), %rsi     # 0x55a68
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2af80
leaq 0x2b0d5(%rip), %rsi     # 0x55a6f
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2af8d
leaq 0x2b0c7(%rip), %rsi     # 0x55a78
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2af9a
leaq 0x2b0b9(%rip), %rsi     # 0x55a81
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2afa7
leaq 0x2b0ef(%rip), %rsi     # 0x55ace
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2afb4
leaq 0x2e13e(%rip), %rsi     # 0x58b34
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2ad9d
leaq 0x2b07d(%rip), %rsi     # 0x55a8a
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2afc1
leaq 0x2b06c(%rip), %rsi     # 0x55a90
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2afce
leaq 0x2b05d(%rip), %rsi     # 0x55a98
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2afd8
leaq 0x2b04e(%rip), %rsi     # 0x55aa0
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2afe2
leaq 0x2b040(%rip), %rsi     # 0x55aa9
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2afec
leaq 0x2b032(%rip), %rsi     # 0x55ab2
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2aff6
leaq 0x2b024(%rip), %rsi     # 0x55abb
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2b008
leaq 0x2b016(%rip), %rsi     # 0x55ac4
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2b01a
leaq 0x2b006(%rip), %rsi     # 0x55acb
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2b027
leaq 0x2d37d(%rip), %rsi     # 0x57e59
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2b034
leaq 0x2afe0(%rip), %rsi     # 0x55ad3
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2b041
leaq 0x2afd1(%rip), %rsi     # 0x55adb
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2b04e
leaq 0x2afbf(%rip), %rsi     # 0x55ae0
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2b05b
leaq 0x286f0(%rip), %rsi     # 0x53228
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2b097
leaq 0x276e9(%rip), %rsi     # 0x52238
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2b0a4
leaq 0x2c312(%rip), %rsi     # 0x56e78
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2b0bd
leaq 0x283fa(%rip), %rsi     # 0x52f77
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2b0ca
leaq 0x276cd(%rip), %rsi     # 0x52261
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2b0d7
leaq 0x2af39(%rip), %rsi     # 0x55ae4
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2b0e4
leaq 0x2af2c(%rip), %rsi     # 0x55aee
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2b0f1
leaq 0x2af20(%rip), %rsi     # 0x55af9
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2b0fe
leaq 0x2ae2e(%rip), %rsi     # 0x55a1e
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2b10b
leaq 0x2aef8(%rip), %rsi     # 0x55aff
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2b115
leaq 0x2aeed(%rip), %rsi     # 0x55b0b
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2b11f
leaq 0x2aee3(%rip), %rsi     # 0x55b18
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2b131
leaq 0x2aed2(%rip), %rsi     # 0x55b1e
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2b13e
leaq 0x2aec4(%rip), %rsi     # 0x55b27
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2b14b
leaq 0x2aeb5(%rip), %rsi     # 0x55b2f
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2b158
leaq 0x2aea3(%rip), %rsi     # 0x55b34
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2b165
leaq 0x2ae90(%rip), %rsi     # 0x55b38
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2b172
leaq 0x2ae82(%rip), %rsi     # 0x55b41
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2b17f
leaq 0x2ae72(%rip), %rsi     # 0x55b48
movq %r14, %rdi
callq 0x18690
testl %eax, %eax
je 0x2b18c
leaq 0x2ae67(%rip), %rsi     # 0x55b54
movq %r14, %rdi
callq 0x18690
movq %rbx, %rdi
testl %eax, %eax
je 0x2b1aa
xorl %esi, %esi
movl $0x1, %edx
jmp 0x2ad27
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0x18820
movq %rbx, %rdi
xorl %esi, %esi
jmp 0x2ad25
movq %rbx, %rdi
movl $0x1, %esi
xorl %edx, %edx
popq %rbx
popq %r14
popq %r15
jmp 0x18e60
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0x194d0
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0x19460
movl $0x1, %edi
callq *0x140(%r15)
movl $0x2d0, %edi            # imm = 0x2D0
addq 0x58(%rbx), %rdi
cmpb $0x0, (%rax)
je 0x2adaa
movl $0xf, %edx
movq %rax, %rsi
callq 0x181c0
jmp 0x2adb9
movl $0x1, %edi
callq *0x140(%r15)
movl $0x2e0, %edi            # imm = 0x2E0
addq 0x58(%rbx), %rdi
cmpb $0x0, (%rax)
je 0x2add3
movl $0x1f, %edx
movq %rax, %rsi
callq 0x181c0
jmp 0x2ade8
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0x186d0
movq $0x0, 0x7(%rdi)
movq $0x6373694d, (%rdi)     # imm = 0x6373694D
movq 0x58(%rbx), %rax
movb $0x0, 0x2df(%rax)
jmp 0x2adf3
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0x18570
movups 0x2ada7(%rip), %xmm0    # 0x55b81
movups %xmm0, 0xf(%rdi)
movups 0x2ad8d(%rip), %xmm0    # 0x55b72
movups %xmm0, (%rdi)
movq 0x58(%rbx), %rax
movb $0x0, 0x2ff(%rax)
popq %rbx
popq %r14
popq %r15
retq
leaq 0x2ab82(%rip), %rdi     # 0x55982
leaq 0x28adf(%rip), %rsi     # 0x538e6
leaq 0x2ab7e(%rip), %rdx     # 0x5598c
leaq 0x2ab83(%rip), %rcx     # 0x55998
xorl %eax, %eax
callq 0x19340
movl $0x2, %esi
movq %rbx, %rdi
movq %rax, %rdx
popq %rbx
popq %r14
popq %r15
jmp 0x18da0
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0x18d10
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0x197d0
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0x188b0
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0x18cc0
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0x192a0
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0x18f60
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0x18c00
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0x18aa0
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0x184d0
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0x19ac0
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0x197c0
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0x19160
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0x18d20
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0x196a0
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0x19250
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0x18e00
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0x18660
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0x18e40
movq 0x3d786(%rip), %rax     # 0x686a8
cmpl $0x0, (%rax)
je 0x2af4d
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0x19b08
movq 0x3d76d(%rip), %rax     # 0x686a8
cmpl $0x0, (%rax)
je 0x2af4d
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0x19ac8
movq 0x10(%r15), %rcx
leaq 0x2aae9(%rip), %rdx     # 0x55a41
movq %rbx, %rdi
xorl %esi, %esi
xorl %eax, %eax
popq %rbx
popq %r14
popq %r15
jmpq *%rcx
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0x19020
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0x18500
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0x197b0
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0x19450
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0x18770
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0x196d0
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0x18090
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0x19650
movq %rbx, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
jmp 0x2affe
movq %rbx, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
jmp 0x2b010
movq %rbx, %rdi
movl $0x1, %esi
jmp 0x2affe
movq %rbx, %rdi
movl $0x1, %esi
jmp 0x2b010
movq %rbx, %rdi
movl $0x20, %esi
popq %rbx
popq %r14
popq %r15
jmp 0x18940
movq %rbx, %rdi
movl $0x20, %esi
popq %rbx
popq %r14
popq %r15
jmp 0x18cb0
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0x183b0
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0x18c60
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0x18530
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0x19280
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0x19360
movl $0x1, %edi
callq *0x140(%r15)
movq %rax, %rdi
callq 0x195e0
cvtsi2ss %eax, %xmm0
movq 0x58(%rbx), %rcx
movss %xmm0, 0x70(%rcx)
testl %eax, %eax
jle 0x2b0b1
cmpl $0xa1, %eax
jb 0x2adf3
movl $0x43200000, 0x70(%rcx) # imm = 0x43200000
jmp 0x2adf3
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0x18720
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0x19950
movl $0x42b40000, 0x70(%rcx) # imm = 0x42B40000
jmp 0x2adf3
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0x183c0
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0x185f0
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0x191a0
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0x18c70
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0x18e20
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0x18210
movq %rbx, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
jmp 0x2b127
movq %rbx, %rdi
movl $0xfffffffd, %esi       # imm = 0xFFFFFFFD
jmp 0x2b127
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
popq %rbx
popq %r14
popq %r15
jmp 0x19690
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0x18b30
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0x191d0
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0x19120
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0x18360
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0x18bc0
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0x18600
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0x19240
movq 0x58(%rbx), %rax
testb $0x2, 0x1108(%rax)
je 0x2adf3
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0x19ab0
popq %rbx
popq %r14
popq %r15
jmp 0x190c0