// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_misc.c
// Function: SP_misc_teleporter
void SP_misc_teleporter (edict_t *ent)
{
	edict_t		*trig;

	if (!ent->target)
	{
		gi.dprintf ("teleporter without a target.\n");
		G_FreeEdict (ent);
		return;
	}

	gi.setmodel (ent, "models/objects/dmspot/tris.md2");
	ent->s.skinnum = 1;
	ent->s.effects = EF_TELEPORTER;
	ent->s.sound = gi.soundindex ("world/amb10.wav");
	ent->solid = SOLID_BBOX;

	VectorSet (ent->mins, -32, -32, -24);
	VectorSet (ent->maxs, 32, 32, -16);
	gi.linkentity (ent);

	trig = G_Spawn ();
	trig->touch = teleporter_touch;
	trig->solid = SOLID_TRIGGER;
	trig->target = ent->target;
	trig->owner = ent;
	VectorCopy (ent->s.origin, trig->s.origin);
	VectorSet (trig->mins, -8, -8, 8);
	VectorSet (trig->maxs, 8, 8, 24);
	gi.linkentity (trig);
	
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
cmpq $0x0, 0x150(%rax)
jne 0x4587b
leaq 0x2ee25(%rip), %rdi     # 0x74686
movq 0x3cd98(%rip), %rcx     # 0x82600
movb $0x0, %al
callq *0x8(%rcx)
movq -0x8(%rbp), %rdi
callq 0x19cd0
jmp 0x45a6d
movq 0x3cd7e(%rip), %rax     # 0x82600
movq 0x58(%rax), %rax
movq -0x8(%rbp), %rdi
leaq 0x2ee13(%rip), %rsi     # 0x746a4
callq *%rax
movq -0x8(%rbp), %rax
movl $0x1, 0x3c(%rax)
movq -0x8(%rbp), %rax
movl $0x20000, 0x40(%rax)    # imm = 0x20000
leaq 0x2ee13(%rip), %rdi     # 0x746c3
movq 0x3cd49(%rip), %rax     # 0x82600
callq *0x48(%rax)
movl %eax, %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x4c(%rax)
movq -0x8(%rbp), %rax
movl $0x2, 0x108(%rax)
movq -0x8(%rbp), %rax
movss 0x2bb2f(%rip), %xmm0    # 0x7140c
movss %xmm0, 0xcc(%rax)
movq -0x8(%rbp), %rax
movss 0x2bb1b(%rip), %xmm0    # 0x7140c
movss %xmm0, 0xd0(%rax)
movq -0x8(%rbp), %rax
movss 0x2e8fb(%rip), %xmm0    # 0x74200
movss %xmm0, 0xd4(%rax)
movq -0x8(%rbp), %rax
movss 0x2ab5b(%rip), %xmm0    # 0x70474
movss %xmm0, 0xd8(%rax)
movq -0x8(%rbp), %rax
movss 0x2ab47(%rip), %xmm0    # 0x70474
movss %xmm0, 0xdc(%rax)
movq -0x8(%rbp), %rax
movss 0x2ab47(%rip), %xmm0    # 0x70488
movss %xmm0, 0xe0(%rax)
movq 0x3ccb0(%rip), %rax     # 0x82600
movq 0x90(%rax), %rax
movq -0x8(%rbp), %rdi
callq *%rax
callq 0x19950
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq 0x3d077(%rip), %rcx     # 0x829e8
movq %rcx, 0x220(%rax)
movq -0x10(%rbp), %rax
movl $0x1, 0x108(%rax)
movq -0x8(%rbp), %rax
movq 0x150(%rax), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x150(%rax)
movq -0x8(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x110(%rax)
movq -0x8(%rbp), %rax
movss 0x4(%rax), %xmm0
movq -0x10(%rbp), %rax
movss %xmm0, 0x4(%rax)
movq -0x8(%rbp), %rax
movss 0x8(%rax), %xmm0
movq -0x10(%rbp), %rax
movss %xmm0, 0x8(%rax)
movq -0x8(%rbp), %rax
movss 0xc(%rax), %xmm0
movq -0x10(%rbp), %rax
movss %xmm0, 0xc(%rax)
movq -0x10(%rbp), %rax
movss 0x2ba23(%rip), %xmm0    # 0x71410
movss %xmm0, 0xcc(%rax)
movq -0x10(%rbp), %rax
movss 0x2ba0f(%rip), %xmm0    # 0x71410
movss %xmm0, 0xd0(%rax)
movq -0x10(%rbp), %rax
movss 0x2a4e7(%rip), %xmm0    # 0x6fefc
movss %xmm0, 0xd4(%rax)
movq -0x10(%rbp), %rax
movss 0x2a4d3(%rip), %xmm0    # 0x6fefc
movss %xmm0, 0xd8(%rax)
movq -0x10(%rbp), %rax
movss 0x2a4bf(%rip), %xmm0    # 0x6fefc
movss %xmm0, 0xdc(%rax)
movq -0x10(%rbp), %rax
movss 0x2aa3b(%rip), %xmm0    # 0x7048c
movss %xmm0, 0xe0(%rax)
movq 0x3cba0(%rip), %rax     # 0x82600
movq 0x90(%rax), %rax
movq -0x10(%rbp), %rdi
callq *%rax
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)