LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_items.c
// Function: drop_make_touchable
static void drop_make_touchable (edict_t *ent)
{
	ent->touch = Touch_Item;
	if (deathmatch->value)
	{
		ent->nextthink = level.time + 29;
		ent->think = G_FreeEdict;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x45bad(%rip), %rcx     # 0x82880
movq %rcx, 0x220(%rax)
movq 0x461df(%rip), %rax     # 0x82ec0
movq (%rax), %rax
movss 0x20(%rax), %xmm0
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
jne 0x3ccf5
jp 0x3ccf5
jmp 0x3cd27
movss 0x36163(%rip), %xmm0    # 0x72e60
movq 0x4609c(%rip), %rax     # 0x82da0
addss 0x4(%rax), %xmm0
movq -0x8(%rbp), %rax
movss %xmm0, 0x200(%rax)
movq -0x8(%rbp), %rax
movq 0x45710(%rip), %rcx     # 0x82430
movq %rcx, 0x210(%rax)
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_items.c
// Function: Use_Item
void Use_Item (edict_t *ent, edict_t *other, edict_t *activator)
{
	ent->svflags &= ~SVF_NOCLIENT;
	ent->use = NULL;

	if (ent->spawnflags & ITEM_NO_TOUCH)
	{
		ent->solid = SOLID_BBOX;
		ent->touch = NULL;
	}
	else
	{
		ent->solid = SOLID_TRIGGER;
		ent->touch = Touch_Item;
	}

	gi.linkentity (ent);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rax
movl 0xc8(%rax), %ecx
andl $-0x2, %ecx
movl %ecx, 0xc8(%rax)
movq -0x8(%rbp), %rax
movq $0x0, 0x228(%rax)
movq -0x8(%rbp), %rax
movl 0x140(%rax), %eax
andl $0x2, %eax
cmpl $0x0, %eax
je 0x3cd97
movq -0x8(%rbp), %rax
movl $0x2, 0x108(%rax)
movq -0x8(%rbp), %rax
movq $0x0, 0x220(%rax)
jmp 0x3cdb7
movq -0x8(%rbp), %rax
movl $0x1, 0x108(%rax)
movq -0x8(%rbp), %rax
movq 0x45ad0(%rip), %rcx     # 0x82880
movq %rcx, 0x220(%rax)
movq 0x45842(%rip), %rax     # 0x82600
movq 0x90(%rax), %rax
movq -0x8(%rbp), %rdi
callq *%rax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_items.c
// Function: SP_item_health
void SP_item_health (edict_t *self)
{
	if ( deathmatch->value && ((int)dmflags->value & DF_NO_HEALTH) )
	{
		G_FreeEdict (self);
		return;
	}

	self->model = "models/items/healing/medium/tris.md2";
	self->count = 10;
	SpawnItem (self, FindItem ("Health"));
	gi.soundindex ("items/n_health.wav");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq 0x45a6d(%rip), %rax     # 0x82ec0
movq (%rax), %rax
movss 0x20(%rax), %xmm0
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
jne 0x3d467
jp 0x3d467
jmp 0x3d489
movq 0x451aa(%rip), %rax     # 0x82618
movq (%rax), %rax
cvttss2si 0x20(%rax), %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x3d489
movq -0x8(%rbp), %rdi
callq 0x19cd0
jmp 0x3d4da
movq -0x8(%rbp), %rax
leaq 0x36ba6(%rip), %rcx     # 0x7403a
movq %rcx, 0x120(%rax)
movq -0x8(%rbp), %rax
movl $0xa, 0x290(%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x10(%rbp)
leaq 0x32af5(%rip), %rdi     # 0x6ffad
callq 0x18a90
movq -0x10(%rbp), %rdi
movq %rax, %rsi
callq 0x19040
leaq 0x35a35(%rip), %rdi     # 0x72f05
movq 0x45129(%rip), %rax     # 0x82600
callq *0x48(%rax)
addq $0x10, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_items.c
// Function: SP_item_health_small
void SP_item_health_small (edict_t *self)
{
	if ( deathmatch->value && ((int)dmflags->value & DF_NO_HEALTH) )
	{
		G_FreeEdict (self);
		return;
	}

	self->model = "models/items/healing/stimpack/tris.md2";
	self->count = 2;
	SpawnItem (self, FindItem ("Health"));
	self->style = HEALTH_IGNORE_MAX;
	gi.soundindex ("items/s_health.wav");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq 0x459cd(%rip), %rax     # 0x82ec0
movq (%rax), %rax
movss 0x20(%rax), %xmm0
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
jne 0x3d507
jp 0x3d507
jmp 0x3d529
movq 0x4510a(%rip), %rax     # 0x82618
movq (%rax), %rax
cvttss2si 0x20(%rax), %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x3d529
movq -0x8(%rbp), %rdi
callq 0x19cd0
jmp 0x3d588
movq -0x8(%rbp), %rax
leaq 0x36b2b(%rip), %rcx     # 0x7405f
movq %rcx, 0x120(%rax)
movq -0x8(%rbp), %rax
movl $0x2, 0x290(%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x10(%rbp)
leaq 0x32a55(%rip), %rdi     # 0x6ffad
callq 0x18a90
movq -0x10(%rbp), %rdi
movq %rax, %rsi
callq 0x19040
movq -0x8(%rbp), %rax
movl $0x1, 0x32c(%rax)
leaq 0x35974(%rip), %rdi     # 0x72ef2
movq 0x4507b(%rip), %rax     # 0x82600
callq *0x48(%rax)
addq $0x10, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_items.c
// Function: SP_item_health_large
void SP_item_health_large (edict_t *self)
{
	if ( deathmatch->value && ((int)dmflags->value & DF_NO_HEALTH) )
	{
		G_FreeEdict (self);
		return;
	}

	self->model = "models/items/healing/large/tris.md2";
	self->count = 25;
	SpawnItem (self, FindItem ("Health"));
	gi.soundindex ("items/l_health.wav");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq 0x4591d(%rip), %rax     # 0x82ec0
movq (%rax), %rax
movss 0x20(%rax), %xmm0
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
jne 0x3d5b7
jp 0x3d5b7
jmp 0x3d5d9
movq 0x4505a(%rip), %rax     # 0x82618
movq (%rax), %rax
cvttss2si 0x20(%rax), %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x3d5d9
movq -0x8(%rbp), %rdi
callq 0x19cd0
jmp 0x3d62a
movq -0x8(%rbp), %rax
leaq 0x36aa2(%rip), %rcx     # 0x74086
movq %rcx, 0x120(%rax)
movq -0x8(%rbp), %rax
movl $0x19, 0x290(%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x10(%rbp)
leaq 0x329a5(%rip), %rdi     # 0x6ffad
callq 0x18a90
movq -0x10(%rbp), %rdi
movq %rax, %rsi
callq 0x19040
leaq 0x358f8(%rip), %rdi     # 0x72f18
movq 0x44fd9(%rip), %rax     # 0x82600
callq *0x48(%rax)
addq $0x10, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_items.c
// Function: SP_item_health_mega
void SP_item_health_mega (edict_t *self)
{
	if ( deathmatch->value && ((int)dmflags->value & DF_NO_HEALTH) )
	{
		G_FreeEdict (self);
		return;
	}

	self->model = "models/items/mega_h/tris.md2";
	self->count = 100;
	SpawnItem (self, FindItem ("Health"));
	gi.soundindex ("items/m_health.wav");
	self->style = HEALTH_IGNORE_MAX|HEALTH_TIMED;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq 0x4587d(%rip), %rax     # 0x82ec0
movq (%rax), %rax
movss 0x20(%rax), %xmm0
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
jne 0x3d657
jp 0x3d657
jmp 0x3d679
movq 0x44fba(%rip), %rax     # 0x82618
movq (%rax), %rax
cvttss2si 0x20(%rax), %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x3d679
movq -0x8(%rbp), %rdi
callq 0x19cd0
jmp 0x3d6d8
movq -0x8(%rbp), %rax
leaq 0x36a26(%rip), %rcx     # 0x740aa
movq %rcx, 0x120(%rax)
movq -0x8(%rbp), %rax
movl $0x64, 0x290(%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x10(%rbp)
leaq 0x32905(%rip), %rdi     # 0x6ffad
callq 0x18a90
movq -0x10(%rbp), %rdi
movq %rax, %rsi
callq 0x19040
leaq 0x36853(%rip), %rdi     # 0x73f13
movq 0x44f39(%rip), %rax     # 0x82600
callq *0x48(%rax)
movq -0x8(%rbp), %rax
movl $0x3, 0x32c(%rax)
addq $0x10, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_items.c
// Function: SetItemNames
void SetItemNames (void)
{
	int		i;
	gitem_t	*it;

	for (i=0 ; i<game.num_items ; i++)
	{
		it = &itemlist[i];
		gi.configstring (CS_ITEMS+i, it->pickup_name);
	}

	jacket_armor_index = ITEM_INDEX(FindItem("Jacket Armor"));
	combat_armor_index = ITEM_INDEX(FindItem("Combat Armor"));
	body_armor_index   = ITEM_INDEX(FindItem("Body Armor"));
	power_screen_index = ITEM_INDEX(FindItem("Power Screen"));
	power_shield_index = ITEM_INDEX(FindItem("Power Shield"));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
movq 0x45627(%rip), %rcx     # 0x82d40
cmpl 0x61c(%rcx), %eax
jge 0x3d763
movslq -0x4(%rbp), %rcx
movq 0x45714(%rip), %rax     # 0x82e40
imulq $0x88, %rcx, %rcx
addq %rcx, %rax
movq %rax, -0x10(%rbp)
movq 0x44ebf(%rip), %rax     # 0x82600
movq 0x30(%rax), %rax
movl -0x4(%rbp), %edi
addl $0x420, %edi            # imm = 0x420
movq -0x10(%rbp), %rcx
movq 0x50(%rcx), %rsi
callq *%rax
movl -0x4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4(%rbp)
jmp 0x3d70f
leaq 0x32ccb(%rip), %rdi     # 0x70435
callq 0x18a90
movq 0x456ca(%rip), %rcx     # 0x82e40
subq %rcx, %rax
movl $0x88, %ecx
cqto
idivq %rcx
movl %eax, 0x4f58b(%rip)     # 0x8cd14
leaq 0x33ea2(%rip), %rdi     # 0x71632
callq 0x18a90
movq 0x456a4(%rip), %rcx     # 0x82e40
subq %rcx, %rax
movl $0x88, %ecx
cqto
idivq %rcx
movl %eax, 0x4f569(%rip)     # 0x8cd18
leaq 0x33e89(%rip), %rdi     # 0x7163f
callq 0x18a90
movq 0x4567e(%rip), %rcx     # 0x82e40
subq %rcx, %rax
movl $0x88, %ecx
cqto
idivq %rcx
movl %eax, 0x4f547(%rip)     # 0x8cd1c
leaq 0x35906(%rip), %rdi     # 0x730e2
callq 0x18a90
movq 0x45658(%rip), %rcx     # 0x82e40
subq %rcx, %rax
movl $0x88, %ecx
cqto
idivq %rcx
movl %eax, 0x4f529(%rip)     # 0x8cd24
leaq 0x33e48(%rip), %rdi     # 0x7164a
callq 0x18a90
movq 0x45632(%rip), %rcx     # 0x82e40
subq %rcx, %rax
movl $0x88, %ecx
cqto
idivq %rcx
movl %eax, 0x4f4ff(%rip)     # 0x8cd20
addq $0x10, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_main.c
// Function: ShutdownGame
void ShutdownGame (void)
{
	gi.dprintf ("==== ShutdownGame ====\n");

	sl_GameEnd( &gi, level );	// StdLog - Mark Davies

	gi.FreeTags (TAG_LEVEL);
	gi.FreeTags (TAG_GAME);

#ifdef _WIN32
	OutputDebugString("ShutdownGame() was called.\n");
	OutputDebugString("Dump objects since startup.\n");
	_CrtMemDumpAllObjectsSince(&startup1);
	OutputDebugString("Memory stats since startup.\n");
	_CrtMemDumpStatistics(&startup1);
	_CrtDumpMemoryLeaks();
#endif

}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x160, %rsp            # imm = 0x160
leaq 0x36885(%rip), %rdi     # 0x740c7
movq 0x44db7(%rip), %rcx     # 0x82600
movb $0x0, %al
callq *0x8(%rcx)
movq 0x4554b(%rip), %rsi     # 0x82da0
movq %rsp, %rdi
movl $0x2b, %ecx
rep  movsq (%rsi), %es:(%rdi)
movq 0x44d99(%rip), %rdi     # 0x82600
callq 0x19c70
movl $0x2fe, %edi            # imm = 0x2FE
movq 0x44d88(%rip), %rax     # 0x82600
callq *0x118(%rax)
movl $0x2fd, %edi            # imm = 0x2FD
movq 0x44d76(%rip), %rax     # 0x82600
callq *0x118(%rax)
addq $0x160, %rsp            # imm = 0x160
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_main.c
// Function: GetGameAPI
q_exported game_export_t *GetGameAPI (game_import_t *import)
{
	gi = *import;

	globals.apiversion = GAME_API_VERSION;
	globals.Init = InitGame;
	globals.Shutdown = ShutdownGame;
	globals.SpawnEntities = SpawnEntities;

	globals.WriteGame = WriteGame;
	globals.ReadGame = ReadGame;
	globals.WriteLevel = WriteLevel;
	globals.ReadLevel = ReadLevel;

	globals.ClientThink = ClientThink;
	globals.ClientConnect = ClientConnect;
	globals.ClientUserinfoChanged = ClientUserinfoChanged;
	globals.ClientDisconnect = ClientDisconnect;
	globals.ClientBegin = ClientBegin;
	globals.ClientCommand = ClientCommand;

	globals.RunFrame = G_RunFrame;

	globals.ServerCommand = ServerCommand;

	globals.edict_size = sizeof(edict_t);

	return &globals;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rsi
movq 0x44d49(%rip), %rdi     # 0x82600
movl $0x160, %edx            # imm = 0x160
callq 0x18dc0
movq 0x45240(%rip), %rax     # 0x82b08
movl $0x3, (%rax)
movq 0x45233(%rip), %rax     # 0x82b08
movq 0x44dac(%rip), %rcx     # 0x82688
movq %rcx, 0x8(%rax)
movq 0x45221(%rip), %rax     # 0x82b08
movq 0x454da(%rip), %rcx     # 0x82dc8
movq %rcx, 0x10(%rax)
movq 0x4520f(%rip), %rax     # 0x82b08
movq 0x44bb0(%rip), %rcx     # 0x824b0
movq %rcx, 0x18(%rax)
movq 0x451fd(%rip), %rax     # 0x82b08
movq 0x4523e(%rip), %rcx     # 0x82b50
movq %rcx, 0x20(%rax)
movq 0x451eb(%rip), %rax     # 0x82b08
movq 0x44c6c(%rip), %rcx     # 0x82590
movq %rcx, 0x28(%rax)
movq 0x451d9(%rip), %rax     # 0x82b08
movq 0x44df2(%rip), %rcx     # 0x82728
movq %rcx, 0x30(%rax)
movq 0x451c7(%rip), %rax     # 0x82b08
movq 0x45570(%rip), %rcx     # 0x82eb8
movq %rcx, 0x38(%rax)
movq 0x451b5(%rip), %rax     # 0x82b08
movq 0x44e76(%rip), %rcx     # 0x827d0
movq %rcx, 0x68(%rax)
movq 0x451a3(%rip), %rax     # 0x82b08
movq 0x4542c(%rip), %rcx     # 0x82d98
movq %rcx, 0x40(%rax)
movq 0x45191(%rip), %rax     # 0x82b08
movq 0x44df2(%rip), %rcx     # 0x82770
movq %rcx, 0x50(%rax)
movq 0x4517f(%rip), %rax     # 0x82b08
movq 0x44b08(%rip), %rcx     # 0x82498
movq %rcx, 0x58(%rax)
movq 0x4516d(%rip), %rax     # 0x82b08
movq 0x4502e(%rip), %rcx     # 0x829d0
movq %rcx, 0x48(%rax)
movq 0x4515b(%rip), %rax     # 0x82b08
movq 0x44f74(%rip), %rcx     # 0x82928
movq %rcx, 0x60(%rax)
movq 0x45149(%rip), %rax     # 0x82b08
movq 0x44cf2(%rip), %rcx     # 0x826b8
movq %rcx, 0x70(%rax)
movq 0x45137(%rip), %rax     # 0x82b08
movq 0x450b8(%rip), %rcx     # 0x82a90
movq %rcx, 0x78(%rax)
movq 0x45125(%rip), %rax     # 0x82b08
movl $0x4a8, 0x88(%rax)      # imm = 0x4A8
movq 0x45114(%rip), %rax     # 0x82b08
addq $0x10, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_main.c
// Function: ClientEndServerFrames
void ClientEndServerFrames (void)
{
	int		i;
	edict_t	*ent;

	// calc the player views now that all pushing
	// and damage has been added
	for (i=0 ; i<maxclients->value ; i++)
	{
		ent = g_edicts + 1 + i;
		if (!ent->inuse || !ent->client)
			continue;
		ClientEndServerFrame (ent);
	}

}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl $0x0, -0x4(%rbp)
cvtsi2ssl -0x4(%rbp), %xmm1
movq 0x446b5(%rip), %rax     # 0x82530
movq (%rax), %rax
movss 0x20(%rax), %xmm0
ucomiss %xmm1, %xmm0
jbe 0x3ded5
movq 0x446c9(%rip), %rax     # 0x82558
movq (%rax), %rax
addq $0x4a8, %rax            # imm = 0x4A8
movslq -0x4(%rbp), %rcx
imulq $0x4a8, %rcx, %rcx      # imm = 0x4A8
addq %rcx, %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
cmpl $0x0, 0x60(%rax)
je 0x3debf
movq -0x10(%rbp), %rax
cmpq $0x0, 0x58(%rax)
jne 0x3dec1
jmp 0x3deca
movq -0x10(%rbp), %rdi
callq 0x18bd0
movl -0x4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4(%rbp)
jmp 0x3de6f
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_main.c
// Function: CreateTargetChangeLevel
edict_t *CreateTargetChangeLevel(char *map)
{
	edict_t *ent;

	ent = G_Spawn ();
	ent->classname = "target_changelevel";
	Com_sprintf(level.nextmap, sizeof(level.nextmap), "%s", map);
	ent->map = level.nextmap;
	return ent;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
callq 0x19950
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
leaq 0x32662(%rip), %rcx     # 0x70562
movq %rcx, 0x138(%rax)
movq -0x8(%rbp), %rcx
movq 0x44e8e(%rip), %rdi     # 0x82da0
addq $0x88, %rdi
movl $0x40, %esi
leaq 0x31a78(%rip), %rdx     # 0x6f99d
movb $0x0, %al
callq 0x18f90
movq -0x10(%rbp), %rax
movq 0x44e69(%rip), %rcx     # 0x82da0
addq $0x88, %rcx
movq %rcx, 0x270(%rax)
movq -0x10(%rbp), %rax
addq $0x10, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_main.c
// Function: Randomize_Map_List
void Randomize_Map_List(int Num_Of_Maps)
{
	int i;
	int Rand_Num;

	if (Num_Of_Maps > MAX_MAPS)
		Num_Of_Maps = MAX_MAPS;

	for (i = 0; i < MAX_MAPS; i++)
		Maps_Picked[i] = 0;

	for (i = 1; i < Num_Of_Maps; i++)
	{
		Rand_Num = rand() % (Num_Of_Maps - 2);
		while (Maps_Picked[Rand_Num])
		{
			Rand_Num++;
			if (Rand_Num == Num_Of_Maps)
				Rand_Num = 0;
		}

		Maps_Picked[Rand_Num] = i;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl %edi, -0x4(%rbp)
cmpl $0x12c, -0x4(%rbp)      # imm = 0x12C
jle 0x3df6b
movl $0x12c, -0x4(%rbp)      # imm = 0x12C
movl $0x0, -0x8(%rbp)
cmpl $0x12c, -0x8(%rbp)      # imm = 0x12C
jge 0x3df97
movslq -0x8(%rbp), %rcx
movq 0x44eb2(%rip), %rax     # 0x82e38
movw $0x0, (%rax,%rcx,2)
movl -0x8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x8(%rbp)
jmp 0x3df72
movl $0x1, -0x8(%rbp)
movl -0x8(%rbp), %eax
cmpl -0x4(%rbp), %eax
jge 0x3e003
callq 0x19c80
movl -0x4(%rbp), %ecx
subl $0x2, %ecx
cltd
idivl %ecx
movl %edx, -0xc(%rbp)
movslq -0xc(%rbp), %rcx
movq 0x44e76(%rip), %rax     # 0x82e38
cmpw $0x0, (%rax,%rcx,2)
je 0x3dfe3
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
movl -0xc(%rbp), %eax
cmpl -0x4(%rbp), %eax
jne 0x3dfe1
movl $0x0, -0xc(%rbp)
jmp 0x3dfb7
movl -0x8(%rbp), %eax
movw %ax, %dx
movslq -0xc(%rbp), %rcx
movq 0x44e44(%rip), %rax     # 0x82e38
movw %dx, (%rax,%rcx,2)
movl -0x8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x8(%rbp)
jmp 0x3df9e
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_main.c
// Function: playerCount
int playerCount() {
        edict_t * player = NULL;
        unsigned int num_players = 0;

        player = ctf_findplayer(NULL, NULL, CTF_TEAM_IGNORETEAM);
        while (player)
        {
                num_players++;
                player = ctf_findplayer(player, NULL, CTF_TEAM_IGNORETEAM);
        }
        return (num_players);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq $0x0, -0x8(%rbp)
movl $0x0, -0xc(%rbp)
xorl %eax, %eax
movl %eax, %esi
movl $0xfffffffc, %edx       # imm = 0xFFFFFFFC
movq %rsi, %rdi
callq 0x19340
movq %rax, -0x8(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x3e214
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
movq -0x8(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
movl $0xfffffffc, %edx       # imm = 0xFFFFFFFC
callq 0x19340
movq %rax, -0x8(%rbp)
jmp 0x3e1ec
movl -0xc(%rbp), %eax
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_main.c
// Function: Create_New_File
void Create_New_File(void)
{
int i;
HIGHSCORE_STATS_TYPE *ptr0, *ptr1;

	ptr0 = &Highscore_Table[0];
	ptr1 = &Default_Highscore_Table[0];

	for(i = 0; i < MAX_HIGHSCORE_ENTRIES; i++, ptr0++, ptr1++)
		*ptr0 = *ptr1;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq 0x44879(%rip), %rax     # 0x82aa8
movq %rax, -0x10(%rbp)
movq 0x44516(%rip), %rax     # 0x82750
movq %rax, -0x18(%rbp)
movl $0x0, -0x4(%rbp)
cmpl $0x7, -0x4(%rbp)
jge 0x3e280
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movl $0x28, %edx
callq 0x18dc0
movl -0x4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4(%rbp)
movq -0x10(%rbp), %rax
addq $0x28, %rax
movq %rax, -0x10(%rbp)
movq -0x18(%rbp), %rax
addq $0x28, %rax
movq %rax, -0x18(%rbp)
jmp 0x3e245
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_main.c
// Function: Check_Made_Table
void Check_Made_Table(edict_t *cl_ent)
{
long score;
int index = 0;
int i;

   	score = stats_get(cl_ent, STATS_SCORE);

	if(score <= Highscore_Table[MAX_HIGHSCORE_ENTRIES - 1].Score)
		return;


	for(i = 0; i < MAX_HIGHSCORE_ENTRIES; i++)
	{
		if(score > Highscore_Table[i].Score)
		{
			index = i;
			break;
		}
	}

	for(i = MAX_HIGHSCORE_ENTRIES - 1; i > index; i--)
	{
		Highscore_Table[i].Score = Highscore_Table[i - 1].Score;
		strcpy(Highscore_Table[i].Player, Highscore_Table[i-1].Player);
	}


	Highscore_Table[index].Score = score;
	strcpy(Highscore_Table[i].Player, cl_ent->client->pers.netname);

}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movl $0x0, -0x14(%rbp)
movq -0x8(%rbp), %rdi
movl $0x3, %esi
callq 0x18030
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq 0x447e8(%rip), %rcx     # 0x82aa8
cmpq 0x110(%rcx), %rax
jg 0x3e2ce
jmp 0x3e3cb
movl $0x0, -0x18(%rbp)
cmpl $0x7, -0x18(%rbp)
jge 0x3e30c
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rdx
movq 0x447be(%rip), %rcx     # 0x82aa8
imulq $0x28, %rdx, %rdx
addq %rdx, %rcx
cmpq 0x20(%rcx), %rax
jle 0x3e2ff
movl -0x18(%rbp), %eax
movl %eax, -0x14(%rbp)
jmp 0x3e30c
jmp 0x3e301
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x3e2d5
movl $0x6, -0x18(%rbp)
movl -0x18(%rbp), %eax
cmpl -0x14(%rbp), %eax
jle 0x3e384
movl -0x18(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rcx
movq 0x4477d(%rip), %rax     # 0x82aa8
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
movq 0x20(%rax), %rcx
movslq -0x18(%rbp), %rdx
movq 0x44767(%rip), %rax     # 0x82aa8
imulq $0x28, %rdx, %rdx
addq %rdx, %rax
movq %rcx, 0x20(%rax)
movslq -0x18(%rbp), %rax
movq 0x44751(%rip), %rdi     # 0x82aa8
imulq $0x28, %rax, %rax
addq %rax, %rdi
movl -0x18(%rbp), %eax
subl $0x1, %eax
cltq
movq 0x4473b(%rip), %rsi     # 0x82aa8
imulq $0x28, %rax, %rax
addq %rax, %rsi
callq 0x182c0
movl -0x18(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x3e313
movq -0x10(%rbp), %rcx
movslq -0x14(%rbp), %rdx
movq 0x44715(%rip), %rax     # 0x82aa8
imulq $0x28, %rdx, %rdx
addq %rdx, %rax
movq %rcx, 0x20(%rax)
movslq -0x18(%rbp), %rax
movq 0x446ff(%rip), %rdi     # 0x82aa8
imulq $0x28, %rax, %rax
addq %rax, %rdi
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rsi
addq $0xc0, %rsi
addq $0x200, %rsi            # imm = 0x200
callq 0x182c0
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_main.c
// Function: Write_Highscore_Table
void Write_Highscore_Table(void)
{
edict_t     *cl_ent;
char Buf[512];
FILE *fp;
int i;
size_t Obj_Read;

	if(maplistindex < 0)
		return;

	sprintf(Buf, "%s/%s.scr", gamedir->string, level.mapname);


	fp = fopen(Buf, "rb");

	if(fp == 0)
		Create_New_File();
	else
	{
		Obj_Read = fread(Highscore_Table, sizeof(HIGHSCORE_STATS_TYPE), MAX_HIGHSCORE_ENTRIES, fp);
		if(Obj_Read < MAX_HIGHSCORE_ENTRIES)
		{
			fclose(fp);
			Create_New_File();
		}
	}

	fp = fopen(Buf, "wb");
	if(fp == 0)
		return;


    for(i = 0; i < game.maxclients; i++)
    {
        cl_ent = g_edicts + 1 + i;
		Check_Made_Table(cl_ent);
    }

	
	fwrite(Highscore_Table, sizeof(HIGHSCORE_STATS_TYPE), MAX_HIGHSCORE_ENTRIES, fp);
	fclose(fp);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x230, %rsp            # imm = 0x230
movq 0x449e6(%rip), %rax     # 0x82dd8
cmpl $0x0, (%rax)
jge 0x3e3fc
jmp 0x3e546
leaq -0x210(%rbp), %rdi
movq 0x44aa6(%rip), %rax     # 0x82eb0
movq (%rax), %rax
movq 0x8(%rax), %rdx
leaq 0x35d2a(%rip), %rsi     # 0x74142
movq 0x44981(%rip), %rcx     # 0x82da0
addq $0x48, %rcx
movb $0x0, %al
callq 0x19940
leaq -0x210(%rbp), %rdi
leaq 0x35d14(%rip), %rsi     # 0x7414c
callq 0x196a0
movq %rax, -0x218(%rbp)
cmpq $0x0, -0x218(%rbp)
jne 0x3e455
callq 0x193a0
jmp 0x3e496
movq -0x218(%rbp), %rcx
movq 0x44645(%rip), %rdi     # 0x82aa8
movl $0x28, %esi
movl $0x7, %edx
callq 0x18430
movq %rax, -0x228(%rbp)
cmpq $0x7, -0x228(%rbp)
jae 0x3e494
movq -0x218(%rbp), %rdi
callq 0x18600
callq 0x193a0
jmp 0x3e496
leaq -0x210(%rbp), %rdi
leaq 0x35cab(%rip), %rsi     # 0x7414f
callq 0x196a0
movq %rax, -0x218(%rbp)
cmpq $0x0, -0x218(%rbp)
jne 0x3e4bf
jmp 0x3e546
movl $0x0, -0x21c(%rbp)
movl -0x21c(%rbp), %eax
movq 0x4486a(%rip), %rcx     # 0x82d40
cmpl 0x610(%rcx), %eax
jge 0x3e51d
movq 0x44073(%rip), %rax     # 0x82558
movq (%rax), %rax
addq $0x4a8, %rax            # imm = 0x4A8
movslq -0x21c(%rbp), %rcx
imulq $0x4a8, %rcx, %rcx      # imm = 0x4A8
addq %rcx, %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rdi
callq 0x18630
movl -0x21c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x21c(%rbp)
jmp 0x3e4c9
movq -0x218(%rbp), %rcx
movq 0x4457d(%rip), %rdi     # 0x82aa8
movl $0x28, %esi
movl $0x7, %edx
callq 0x19960
movq -0x218(%rbp), %rdi
callq 0x18600
addq $0x230, %rsp            # imm = 0x230
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_main.c
// Function: One_Man_Left
int One_Man_Left(void)
{
edict_t *cl_ent;
int i;
int Living_People = 0;

	for(i = 0; i < game.maxclients; i++)
    {
        cl_ent = g_edicts + 1 + i;

		if(cl_ent->health > 0)
			Living_People++;

		if(Living_People > 1)
			return(false);
	}

	return(true);

}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movl $0x0, -0x18(%rbp)
movl $0x0, -0x14(%rbp)
movl -0x14(%rbp), %eax
movq 0x447b4(%rip), %rcx     # 0x82d40
cmpl 0x610(%rcx), %eax
jge 0x3e5e8
movq 0x43fbd(%rip), %rax     # 0x82558
movq (%rax), %rax
addq $0x4a8, %rax            # imm = 0x4A8
movslq -0x14(%rbp), %rcx
imulq $0x4a8, %rcx, %rcx      # imm = 0x4A8
addq %rcx, %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
cmpl $0x0, 0x254(%rax)
jle 0x3e5cc
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
cmpl $0x1, -0x18(%rbp)
jle 0x3e5db
movl $0x0, -0x4(%rbp)
jmp 0x3e5ef
jmp 0x3e5dd
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x3e582
movl $0x1, -0x4(%rbp)
movl -0x4(%rbp), %eax
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_main.c
// Function: Declare_Railgun_Victor
edict_t *Declare_Railgun_Victor(void)
{
int Highscore = -9999;
edict_t *Winner;
edict_t *cl_ent;
int i;
int score;
    
	Winner = g_edicts + 1;

	for(i = 0; i < game.maxclients; i++)
    {
        cl_ent = g_edicts + 1 + i;

		if(cl_ent->health <= 0)
			continue;

		score = stats_get(cl_ent, STATS_SCORE);

    	if(score > Highscore)
		{
			Winner = cl_ent;
			Highscore = score;
		}
    }

	return(Winner);

}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl $0xffffd8f1, -0x4(%rbp) # imm = 0xFFFFD8F1
movq 0x43f42(%rip), %rax     # 0x82558
movq (%rax), %rax
addq $0x4a8, %rax            # imm = 0x4A8
movq %rax, -0x10(%rbp)
movl $0x0, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
movq 0x4470c(%rip), %rcx     # 0x82d40
cmpl 0x610(%rcx), %eax
jge 0x3e6a1
movq 0x43f15(%rip), %rax     # 0x82558
movq (%rax), %rax
addq $0x4a8, %rax            # imm = 0x4A8
movslq -0x1c(%rbp), %rcx
imulq $0x4a8, %rcx, %rcx      # imm = 0x4A8
addq %rcx, %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
cmpl $0x0, 0x254(%rax)
jg 0x3e66d
jmp 0x3e696
movq -0x18(%rbp), %rdi
movl $0x3, %esi
callq 0x18030
movl %eax, -0x20(%rbp)
movl -0x20(%rbp), %eax
cmpl -0x4(%rbp), %eax
jle 0x3e694
movq -0x18(%rbp), %rax
movq %rax, -0x10(%rbp)
movl -0x20(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x3e696
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x3e62a
movq -0x10(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_main.c
// Function: CheckNeedPass
void CheckNeedPass (void)
{
	int need;

	// if password or spectator_password has changed, update needpass
	// as needed
	if (password->modified || spectator_password->modified) 
	{
		password->modified = spectator_password->modified = false;

		need = 0;

		if (*password->string && Q_stricmp(password->string, "none"))
			need |= 1;
		if (*spectator_password->string && Q_stricmp(spectator_password->string, "none"))
			need |= 2;

		gi.cvar_set("needpass", va("%d", need));
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq 0x43ed9(%rip), %rax     # 0x82858
movq (%rax), %rax
cmpl $0x0, 0x1c(%rax)
jne 0x3e99c
movq 0x44299(%rip), %rax     # 0x82c28
movq (%rax), %rax
cmpl $0x0, 0x1c(%rax)
je 0x3ea74
movq 0x44285(%rip), %rax     # 0x82c28
movq (%rax), %rax
movl $0x0, 0x1c(%rax)
movq 0x43ea4(%rip), %rax     # 0x82858
movq (%rax), %rax
movl $0x0, 0x1c(%rax)
movl $0x0, -0x4(%rbp)
movq 0x43e8c(%rip), %rax     # 0x82858
movq (%rax), %rax
movq 0x8(%rax), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
je 0x3ea03
movq 0x43e76(%rip), %rax     # 0x82858
movq (%rax), %rax
movq 0x8(%rax), %rdi
leaq 0x35770(%rip), %rsi     # 0x74160
callq 0x186f0
cmpl $0x0, %eax
je 0x3ea03
movl -0x4(%rbp), %eax
orl $0x1, %eax
movl %eax, -0x4(%rbp)
movq 0x4421e(%rip), %rax     # 0x82c28
movq (%rax), %rax
movq 0x8(%rax), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
je 0x3ea41
movq 0x44208(%rip), %rax     # 0x82c28
movq (%rax), %rax
movq 0x8(%rax), %rdi
leaq 0x35732(%rip), %rsi     # 0x74160
callq 0x186f0
cmpl $0x0, %eax
je 0x3ea41
movl -0x4(%rbp), %eax
orl $0x2, %eax
movl %eax, -0x4(%rbp)
movq 0x43bb8(%rip), %rax     # 0x82600
movq 0x128(%rax), %rax
movq %rax, -0x10(%rbp)
movl -0x4(%rbp), %esi
leaq 0x30e19(%rip), %rdi     # 0x6f876
movb $0x0, %al
callq 0x19560
movq %rax, %rsi
movq -0x10(%rbp), %rax
leaq 0x356f3(%rip), %rdi     # 0x74165
callq *%rax
addq $0x10, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_main.c
// Function: ExitLevel
void ExitLevel (void)
{
	int		i;
	edict_t	*ent;
	char	command [MAX_INFO_STRING];

	Com_sprintf (command, sizeof(command), "gamemap \"%s\"\n", level.changemap);

	gi.AddCommandString (command);
	level.changemap = NULL;
	level.exitintermission = 0;
	level.intermissiontime = 0;
	ClientEndServerFrames ();

	// clear some things before going to next level
	for (i = 0; i < maxclients->value; i++)
	{
		ent = g_edicts + 1 + i;
		if (ent && ent->inuse)
		{
			if (ent->health > ent->client->pers.max_health)
				ent->health = ent->client->pers.max_health;
		}
	}

	// clean up stats before start of next level
	stats_cleanup(); // STATS - LM_Hati
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x210, %rsp            # imm = 0x210
leaq -0x210(%rbp), %rdi
movq 0x43f27(%rip), %rax     # 0x82da0
movq 0xd0(%rax), %rcx
movl $0x200, %esi            # imm = 0x200
leaq 0x31a47(%rip), %rdx     # 0x708d3
movb $0x0, %al
callq 0x18f90
movq 0x43766(%rip), %rax     # 0x82600
movq 0x150(%rax), %rax
leaq -0x210(%rbp), %rdi
callq *%rax
movq 0x43eef(%rip), %rax     # 0x82da0
movq $0x0, 0xd0(%rax)
movq 0x43edd(%rip), %rax     # 0x82da0
movl $0x0, 0xd8(%rax)
movq 0x43ecc(%rip), %rax     # 0x82da0
xorps %xmm0, %xmm0
movss %xmm0, 0xc8(%rax)
callq 0x19130
movl $0x0, -0x4(%rbp)
cvtsi2ssl -0x4(%rbp), %xmm1
movq 0x43639(%rip), %rax     # 0x82530
movq (%rax), %rax
movss 0x20(%rax), %xmm0
ucomiss %xmm1, %xmm0
jbe 0x3ef7b
movq 0x4364d(%rip), %rax     # 0x82558
movq (%rax), %rax
addq $0x4a8, %rax            # imm = 0x4A8
movslq -0x4(%rbp), %rcx
imulq $0x4a8, %rcx, %rcx      # imm = 0x4A8
addq %rcx, %rax
movq %rax, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x3ef6b
movq -0x10(%rbp), %rax
cmpl $0x0, 0x60(%rax)
je 0x3ef6b
movq -0x10(%rbp), %rax
movl 0x254(%rax), %eax
movq -0x10(%rbp), %rcx
movq 0x58(%rcx), %rcx
cmpl 0x30c(%rcx), %eax
jle 0x3ef69
movq -0x10(%rbp), %rax
movq 0x58(%rax), %rax
movl 0x30c(%rax), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x254(%rax)
jmp 0x3ef6b
jmp 0x3ef6d
movl -0x4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4(%rbp)
jmp 0x3eeeb
movb $0x0, %al
callq 0x19100
addq $0x210, %rsp            # imm = 0x210
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_misc.c
// Function: VelocityForDamage
void VelocityForDamage (int damage, vec3_t v)
{
	v[0] = 100.0 * crandom();
	v[1] = 100.0 * crandom();
	v[2] = 200.0 + 100.0 * random();

	if (damage < 50)
		VectorScale (v, 0.7f, v);
	else 
		VectorScale (v, 1.2f, v);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl %edi, -0x4(%rbp)
movq %rsi, -0x10(%rbp)
callq 0x19c80
andl $0x7fff, %eax           # imm = 0x7FFF
cvtsi2ss %eax, %xmm0
movss 0x31243(%rip), %xmm1    # 0x70288
divss %xmm1, %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x323d3(%rip), %xmm1    # 0x71428
subsd %xmm1, %xmm0
movsd 0x33b37(%rip), %xmm1    # 0x72b98
mulsd %xmm0, %xmm1
movsd 0x35153(%rip), %xmm0    # 0x741c0
mulsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movq -0x10(%rbp), %rax
movss %xmm0, (%rax)
callq 0x19c80
andl $0x7fff, %eax           # imm = 0x7FFF
cvtsi2ss %eax, %xmm0
movss 0x311f5(%rip), %xmm1    # 0x70288
divss %xmm1, %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x32385(%rip), %xmm1    # 0x71428
subsd %xmm1, %xmm0
movsd 0x33ae9(%rip), %xmm1    # 0x72b98
mulsd %xmm0, %xmm1
movsd 0x35105(%rip), %xmm0    # 0x741c0
mulsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movq -0x10(%rbp), %rax
movss %xmm0, 0x4(%rax)
callq 0x19c80
andl $0x7fff, %eax           # imm = 0x7FFF
cvtsi2ss %eax, %xmm0
movss 0x311a6(%rip), %xmm1    # 0x70288
divss %xmm1, %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x350ce(%rip), %xmm1    # 0x741c0
mulsd %xmm1, %xmm0
movsd 0x350ca(%rip), %xmm1    # 0x741c8
addsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movq -0x10(%rbp), %rax
movss %xmm0, 0x8(%rax)
cmpl $0x32, -0x4(%rbp)
jge 0x3f12c
movq -0x10(%rbp), %rdi
movq -0x10(%rbp), %rsi
movss 0x3136b(%rip), %xmm0    # 0x70490
callq 0x18a80
jmp 0x3f141
movq -0x10(%rbp), %rdi
movq -0x10(%rbp), %rsi
movss 0x350ac(%rip), %xmm0    # 0x741e8
callq 0x18a80
addq $0x10, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_misc.c
// Function: ClipGibVelocity
void ClipGibVelocity (edict_t *ent)
{
	if (ent->velocity[0] < -300)
		ent->velocity[0] = -300;
	else if (ent->velocity[0] > 300)
		ent->velocity[0] = 300;
	if (ent->velocity[1] < -300)
		ent->velocity[1] = -300;
	else if (ent->velocity[1] > 300)
		ent->velocity[1] = 300;
	if (ent->velocity[2] < 200)
		ent->velocity[2] = 200;	// always some upwards
	else if (ent->velocity[2] > 500)
		ent->velocity[2] = 500;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movss 0x35088(%rip), %xmm0    # 0x741ec
ucomiss 0x1c0(%rax), %xmm0
jbe 0x3f183
movq -0x8(%rbp), %rax
movss 0x35073(%rip), %xmm0    # 0x741ec
movss %xmm0, 0x1c0(%rax)
jmp 0x3f1b2
movq -0x8(%rbp), %rax
movss 0x1c0(%rax), %xmm0
movss 0x312ed(%rip), %xmm1    # 0x70484
ucomiss %xmm1, %xmm0
jbe 0x3f1b0
movq -0x8(%rbp), %rax
movss 0x312dc(%rip), %xmm0    # 0x70484
movss %xmm0, 0x1c0(%rax)
jmp 0x3f1b2
movq -0x8(%rbp), %rax
movss 0x3502e(%rip), %xmm0    # 0x741ec
ucomiss 0x1c4(%rax), %xmm0
jbe 0x3f1dd
movq -0x8(%rbp), %rax
movss 0x35019(%rip), %xmm0    # 0x741ec
movss %xmm0, 0x1c4(%rax)
jmp 0x3f20c
movq -0x8(%rbp), %rax
movss 0x1c4(%rax), %xmm0
movss 0x31293(%rip), %xmm1    # 0x70484
ucomiss %xmm1, %xmm0
jbe 0x3f20a
movq -0x8(%rbp), %rax
movss 0x31282(%rip), %xmm0    # 0x70484
movss %xmm0, 0x1c4(%rax)
jmp 0x3f20c
movq -0x8(%rbp), %rax
movss 0x31088(%rip), %xmm0    # 0x702a0
ucomiss 0x1c8(%rax), %xmm0
jbe 0x3f237
movq -0x8(%rbp), %rax
movss 0x31073(%rip), %xmm0    # 0x702a0
movss %xmm0, 0x1c8(%rax)
jmp 0x3f266
movq -0x8(%rbp), %rax
movss 0x1c8(%rax), %xmm0
movss 0x34fa5(%rip), %xmm1    # 0x741f0
ucomiss %xmm1, %xmm0
jbe 0x3f264
movq -0x8(%rbp), %rax
movss 0x34f94(%rip), %xmm0    # 0x741f0
movss %xmm0, 0x1c8(%rax)
jmp 0x3f266
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_misc.c
// Function: gib_think
void gib_think (edict_t *self)
{
	self->s.frame++;
	self->nextthink = level.time + FRAMETIME;

	if (self->s.frame == 10)
	{
		self->think = G_FreeEdict;
		self->nextthink = level.time + 8 + random()*10;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movl 0x38(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x38(%rax)
movss 0x31003(%rip), %xmm0    # 0x70294
movq 0x43b08(%rip), %rax     # 0x82da0
addss 0x4(%rax), %xmm0
movq -0x8(%rbp), %rax
movss %xmm0, 0x200(%rax)
movq -0x8(%rbp), %rax
cmpl $0xa, 0x38(%rax)
jne 0x3f319
movq -0x8(%rbp), %rax
movq 0x43172(%rip), %rcx     # 0x82430
movq %rcx, 0x210(%rax)
movss 0x30c2f(%rip), %xmm0    # 0x6fefc
movq 0x43acc(%rip), %rax     # 0x82da0
addss 0x4(%rax), %xmm0
movss %xmm0, -0xc(%rbp)
callq 0x19c80
movss -0xc(%rbp), %xmm1
andl $0x7fff, %eax           # imm = 0x7FFF
cvtsi2ss %eax, %xmm0
movss 0x30f8f(%rip), %xmm2    # 0x70288
divss %xmm2, %xmm0
movss 0x30beb(%rip), %xmm2    # 0x6fef0
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movq -0x8(%rbp), %rax
movss %xmm0, 0x200(%rax)
addq $0x10, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_misc.c
// Function: gib_touch
void gib_touch (edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf)
{
	vec3_t	normal_angles, right;

	if (!self->groundentity)
		return;

	self->touch = NULL;

	if (plane)
	{
		gi.sound (self, CHAN_VOICE, gi.soundindex ("misc/fhit3.wav"), 1, ATTN_NORM, 0);

		vectoangles (plane->normal, normal_angles);
		AngleVectors (normal_angles, NULL, right, NULL);
		vectoangles (right, self->s.angles);

		if (self->s.modelindex == sm_meat_index)
		{
			self->s.frame++;
			self->think = gib_think;
			self->nextthink = level.time + FRAMETIME;
		}
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq -0x8(%rbp), %rax
cmpq $0x0, 0x2b8(%rax)
jne 0x3f34b
jmp 0x3f431
movq -0x8(%rbp), %rax
movq $0x0, 0x220(%rax)
cmpq $0x0, -0x18(%rbp)
je 0x3f431
movq 0x43294(%rip), %rax     # 0x82600
movq 0x20(%rax), %rax
movq %rax, -0x40(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq 0x34e99(%rip), %rdi     # 0x7421c
movq 0x43276(%rip), %rax     # 0x82600
callq *0x48(%rax)
movq -0x48(%rbp), %rdi
movl %eax, %edx
movq -0x40(%rbp), %rax
movl $0x2, %esi
movss 0x30b48(%rip), %xmm1    # 0x6feec
xorps %xmm2, %xmm2
movaps %xmm1, %xmm0
callq *%rax
movq -0x18(%rbp), %rdi
leaq -0x2c(%rbp), %rsi
callq 0x192a0
leaq -0x2c(%rbp), %rdi
leaq -0x38(%rbp), %rdx
xorl %eax, %eax
movl %eax, %ecx
movq %rcx, %rsi
callq 0x183e0
leaq -0x38(%rbp), %rdi
movq -0x8(%rbp), %rsi
addq $0x10, %rsi
callq 0x192a0
movq -0x8(%rbp), %rax
movl 0x28(%rax), %eax
movq 0x43c04(%rip), %rcx     # 0x82ff0
cmpl (%rcx), %eax
jne 0x3f42f
movq -0x8(%rbp), %rax
movl 0x38(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x38(%rax)
movq -0x8(%rbp), %rax
movq 0x43810(%rip), %rcx     # 0x82c18
movq %rcx, 0x210(%rax)
movss 0x30e7d(%rip), %xmm0    # 0x70294
movq 0x43982(%rip), %rax     # 0x82da0
addss 0x4(%rax), %xmm0
movq -0x8(%rbp), %rax
movss %xmm0, 0x200(%rax)
jmp 0x3f431
addq $0x50, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_misc.c
// Function: BecomeExplosion1
void BecomeExplosion1 (edict_t *self)
{
	if (!self->dontfree)
	{
		gi.WriteByte (svc_temp_entity);
		gi.WriteByte (TE_EXPLOSION1);
		gi.WritePosition (self->s.origin);
		gi.multicast (self->s.origin, MULTICAST_PVS);
		
		G_FreeEdict (self);
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
cmpl $0x0, 0x49c(%rax)
jne 0x4007b
movl $0x3, %edi
movq 0x425db(%rip), %rax     # 0x82600
callq *0xc8(%rax)
movl $0x5, %edi
movq 0x425c9(%rip), %rax     # 0x82600
callq *0xc8(%rax)
movq 0x425bc(%rip), %rax     # 0x82600
movq 0xf0(%rax), %rax
movq -0x8(%rbp), %rdi
addq $0x4, %rdi
callq *%rax
movq 0x425a4(%rip), %rax     # 0x82600
movq 0xb0(%rax), %rax
movq -0x8(%rbp), %rdi
addq $0x4, %rdi
movl $0x2, %esi
callq *%rax
movq -0x8(%rbp), %rdi
callq 0x19cd0
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_misc.c
// Function: BecomeExplosion2
void BecomeExplosion2 (edict_t *self)
{
	if (!self->dontfree)
	{
		gi.WriteByte (svc_temp_entity);
		gi.WriteByte (TE_EXPLOSION2);
		gi.WritePosition (self->s.origin);
		gi.multicast (self->s.origin, MULTICAST_PVS);

		G_FreeEdict (self);
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
cmpl $0x0, 0x49c(%rax)
jne 0x4010b
movl $0x3, %edi
movq 0x4254b(%rip), %rax     # 0x82600
callq *0xc8(%rax)
movl $0x6, %edi
movq 0x42539(%rip), %rax     # 0x82600
callq *0xc8(%rax)
movq 0x4252c(%rip), %rax     # 0x82600
movq 0xf0(%rax), %rax
movq -0x8(%rbp), %rdi
addq $0x4, %rdi
callq *%rax
movq 0x42514(%rip), %rax     # 0x82600
movq 0xb0(%rax), %rax
movq -0x8(%rbp), %rdi
addq $0x4, %rdi
movl $0x2, %esi
callq *%rax
movq -0x8(%rbp), %rdi
callq 0x19cd0
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_misc.c
// Function: SP_path_corner
void SP_path_corner (edict_t *self)
{
	if (!self->targetname)
	{
		gi.dprintf ("path_corner with no targetname at %s\n", vtos(self->s.origin));
		G_FreeEdict (self);
		return;
	}

	self->solid = SOLID_TRIGGER;
	self->touch = path_corner_touch;
	VectorSet (self->mins, -8, -8, -8);
	VectorSet (self->maxs, 8, 8, 8);
	self->svflags |= SVF_NOCLIENT;
	gi.linkentity (self);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
cmpq $0x0, 0x158(%rax)
jne 0x40426
movq 0x4220f(%rip), %rax     # 0x82600
movq 0x8(%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
addq $0x4, %rdi
callq 0x19260
movq -0x10(%rbp), %rcx
movq %rax, %rsi
leaq 0x33e64(%rip), %rdi     # 0x74278
movb $0x0, %al
callq *%rcx
movq -0x8(%rbp), %rdi
callq 0x19cd0
jmp 0x404e5
movq -0x8(%rbp), %rax
movl $0x1, 0x108(%rax)
movq -0x8(%rbp), %rax
movq 0x429b1(%rip), %rcx     # 0x82df0
movq %rcx, 0x220(%rax)
movq -0x8(%rbp), %rax
movss 0x30fbe(%rip), %xmm0    # 0x71410
movss %xmm0, 0xcc(%rax)
movq -0x8(%rbp), %rax
movss 0x30faa(%rip), %xmm0    # 0x71410
movss %xmm0, 0xd0(%rax)
movq -0x8(%rbp), %rax
movss 0x30f96(%rip), %xmm0    # 0x71410
movss %xmm0, 0xd4(%rax)
movq -0x8(%rbp), %rax
movss 0x2fa6e(%rip), %xmm0    # 0x6fefc
movss %xmm0, 0xd8(%rax)
movq -0x8(%rbp), %rax
movss 0x2fa5a(%rip), %xmm0    # 0x6fefc
movss %xmm0, 0xdc(%rax)
movq -0x8(%rbp), %rax
movss 0x2fa46(%rip), %xmm0    # 0x6fefc
movss %xmm0, 0xe0(%rax)
movq -0x8(%rbp), %rax
movl 0xc8(%rax), %ecx
orl $0x1, %ecx
movl %ecx, 0xc8(%rax)
movq 0x42128(%rip), %rax     # 0x82600
movq 0x90(%rax), %rax
movq -0x8(%rbp), %rdi
callq *%rax
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_misc.c
// Function: SP_point_combat
void SP_point_combat (edict_t *self)
{
	if (deathmatch->value)
	{
		G_FreeEdict (self);
		return;
	}
	self->solid = SOLID_TRIGGER;
	self->touch = point_combat_touch;
	VectorSet (self->mins, -8, -8, -16);
	VectorSet (self->maxs, 8, 8, 16);
	self->svflags = SVF_NOCLIENT;
	gi.linkentity (self);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq 0x426fd(%rip), %rax     # 0x82ec0
movq (%rax), %rax
movss 0x20(%rax), %xmm0
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
jne 0x407d7
jp 0x407d7
jmp 0x407e5
movq -0x8(%rbp), %rdi
callq 0x19cd0
jmp 0x4089f
movq -0x8(%rbp), %rax
movl $0x1, 0x108(%rax)
movq -0x8(%rbp), %rax
movq 0x4268a(%rip), %rcx     # 0x82e88
movq %rcx, 0x220(%rax)
movq -0x8(%rbp), %rax
movss 0x30bff(%rip), %xmm0    # 0x71410
movss %xmm0, 0xcc(%rax)
movq -0x8(%rbp), %rax
movss 0x30beb(%rip), %xmm0    # 0x71410
movss %xmm0, 0xd0(%rax)
movq -0x8(%rbp), %rax
movss 0x2fc4f(%rip), %xmm0    # 0x70488
movss %xmm0, 0xd4(%rax)
movq -0x8(%rbp), %rax
movss 0x2f6af(%rip), %xmm0    # 0x6fefc
movss %xmm0, 0xd8(%rax)
movq -0x8(%rbp), %rax
movss 0x2f69b(%rip), %xmm0    # 0x6fefc
movss %xmm0, 0xdc(%rax)
movq -0x8(%rbp), %rax
movss 0x33983(%rip), %xmm0    # 0x741f8
movss %xmm0, 0xe0(%rax)
movq -0x8(%rbp), %rax
movl $0x1, 0xc8(%rax)
movq 0x41d6e(%rip), %rax     # 0x82600
movq 0x90(%rax), %rax
movq -0x8(%rbp), %rdi
callq *%rax
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_misc.c
// Function: SP_viewthing
void SP_viewthing(edict_t *ent)
{
	gi.dprintf ("viewthing spawned\n");

	ent->movetype = MOVETYPE_NONE;
	ent->solid = SOLID_BBOX;
	ent->s.renderfx = RF_FRAMELERP;
	VectorSet (ent->mins, -16, -16, -24);
	VectorSet (ent->maxs, 16, 16, 32);
	ent->s.modelindex = gi.modelindex ("models/objects/banner/tris.md2");
	gi.linkentity (ent);
	ent->nextthink = level.time + 0.5;
	ent->think = TH_viewthing;
	return;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
leaq 0x339ae(%rip), %rdi     # 0x742c1
movq 0x41ce6(%rip), %rcx     # 0x82600
movb $0x0, %al
callq *0x8(%rcx)
movq -0x8(%rbp), %rax
movl $0x0, 0x118(%rax)
movq -0x8(%rbp), %rax
movl $0x2, 0x108(%rax)
movq -0x8(%rbp), %rax
movl $0x40, 0x44(%rax)
movq -0x8(%rbp), %rax
movss 0x2fb36(%rip), %xmm0    # 0x70488
movss %xmm0, 0xcc(%rax)
movq -0x8(%rbp), %rax
movss 0x2fb22(%rip), %xmm0    # 0x70488
movss %xmm0, 0xd0(%rax)
movq -0x8(%rbp), %rax
movss 0x33886(%rip), %xmm0    # 0x74200
movss %xmm0, 0xd4(%rax)
movq -0x8(%rbp), %rax
movss 0x3386a(%rip), %xmm0    # 0x741f8
movss %xmm0, 0xd8(%rax)
movq -0x8(%rbp), %rax
movss 0x33856(%rip), %xmm0    # 0x741f8
movss %xmm0, 0xdc(%rax)
movq -0x8(%rbp), %rax
movss 0x2fabe(%rip), %xmm0    # 0x70474
movss %xmm0, 0xe0(%rax)
leaq 0x3390f(%rip), %rdi     # 0x742d4
movq 0x41c34(%rip), %rax     # 0x82600
callq *0x40(%rax)
movl %eax, %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x28(%rax)
movq 0x41c21(%rip), %rax     # 0x82600
movq 0x90(%rax), %rax
movq -0x8(%rbp), %rdi
callq *%rax
movq 0x423ad(%rip), %rax     # 0x82da0
movss 0x4(%rax), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x30a24(%rip), %xmm1    # 0x71428
addsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movq -0x8(%rbp), %rax
movss %xmm0, 0x200(%rax)
movq -0x8(%rbp), %rax
movq 0x41a25(%rip), %rcx     # 0x82448
movq %rcx, 0x210(%rax)
addq $0x10, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_misc.c
// Function: SP_light
void SP_light (edict_t *self)
{
	// no targeted lights in deathmatch, because they cause global messages
	if (!self->targetname || deathmatch->value)
	{
		G_FreeEdict (self);
		return;
	}

	if (self->style >= 32)
	{
		self->use = light_use;
		if (self->spawnflags & START_OFF)
			gi.configstring (CS_LIGHTS+self->style, "a");
		else
			gi.configstring (CS_LIGHTS+self->style, "m");
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
cmpq $0x0, 0x158(%rax)
je 0x40b15
movq 0x423bf(%rip), %rax     # 0x82ec0
movq (%rax), %rax
movss 0x20(%rax), %xmm0
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
jne 0x40b15
jp 0x40b15
jmp 0x40b20
movq -0x8(%rbp), %rdi
callq 0x19cd0
jmp 0x40b9d
movq -0x8(%rbp), %rax
cmpl $0x20, 0x32c(%rax)
jl 0x40b9d
movq -0x8(%rbp), %rax
leaq 0x78(%rip), %rcx        # 0x40bb0
movq %rcx, 0x228(%rax)
movq -0x8(%rbp), %rax
movl 0x140(%rax), %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x40b77
movq 0x41aa8(%rip), %rax     # 0x82600
movq 0x30(%rax), %rax
movq -0x8(%rbp), %rcx
movl 0x32c(%rcx), %edi
addl $0x320, %edi            # imm = 0x320
leaq 0x2eb45(%rip), %rsi     # 0x6f6b8
callq *%rax
jmp 0x40b9b
movq 0x41a82(%rip), %rax     # 0x82600
movq 0x30(%rax), %rax
movq -0x8(%rbp), %rcx
movl 0x32c(%rcx), %edi
addl $0x320, %edi            # imm = 0x320
leaq 0x2e6b6(%rip), %rsi     # 0x6f24f
callq *%rax
jmp 0x40b9d
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_misc.c
// Function: light_use
static void light_use (edict_t *self, edict_t *other, edict_t *activator)
{
	if (self->spawnflags & START_OFF)
	{
		gi.configstring (CS_LIGHTS+self->style, "m");
		self->spawnflags &= ~START_OFF;
	}
	else
	{
		gi.configstring (CS_LIGHTS+self->style, "a");
		self->spawnflags |= START_OFF;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rax
movl 0x140(%rax), %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x40c0f
movq 0x41a23(%rip), %rax     # 0x82600
movq 0x30(%rax), %rax
movq -0x8(%rbp), %rcx
movl 0x32c(%rcx), %edi
addl $0x320, %edi            # imm = 0x320
leaq 0x2e657(%rip), %rsi     # 0x6f24f
callq *%rax
movq -0x8(%rbp), %rax
movl 0x140(%rax), %ecx
andl $-0x2, %ecx
movl %ecx, 0x140(%rax)
jmp 0x40c46
movq 0x419ea(%rip), %rax     # 0x82600
movq 0x30(%rax), %rax
movq -0x8(%rbp), %rcx
movl 0x32c(%rcx), %edi
addl $0x320, %edi            # imm = 0x320
leaq 0x2ea87(%rip), %rsi     # 0x6f6b8
callq *%rax
movq -0x8(%rbp), %rax
movl 0x140(%rax), %ecx
orl $0x1, %ecx
movl %ecx, 0x140(%rax)
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_misc.c
// Function: func_wall_use
void func_wall_use (edict_t *self, edict_t *other, edict_t *activator)
{
	if (self->solid == SOLID_NOT)
	{
		self->solid = SOLID_BSP;
		self->svflags &= ~SVF_NOCLIENT;
		KillBox (self);
	}
	else
	{
		self->solid = SOLID_NOT;
		self->svflags |= SVF_NOCLIENT;
	}
	gi.linkentity (self);

	if (!(self->spawnflags & 2))
		self->use = NULL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rax
cmpl $0x0, 0x108(%rax)
jne 0x40c9d
movq -0x8(%rbp), %rax
movl $0x3, 0x108(%rax)
movq -0x8(%rbp), %rax
movl 0xc8(%rax), %ecx
andl $-0x2, %ecx
movl %ecx, 0xc8(%rax)
movq -0x8(%rbp), %rdi
callq 0x18b60
jmp 0x40cbe
movq -0x8(%rbp), %rax
movl $0x0, 0x108(%rax)
movq -0x8(%rbp), %rax
movl 0xc8(%rax), %ecx
orl $0x1, %ecx
movl %ecx, 0xc8(%rax)
movq 0x4193b(%rip), %rax     # 0x82600
movq 0x90(%rax), %rax
movq -0x8(%rbp), %rdi
callq *%rax
movq -0x8(%rbp), %rax
movl 0x140(%rax), %eax
andl $0x2, %eax
cmpl $0x0, %eax
jne 0x40cf3
movq -0x8(%rbp), %rax
movq $0x0, 0x228(%rax)
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)