// File: /workspace/github_cpp_makefile_star2_O3/essarrdee[P]mutantaliens/mutantaliens.cpp
// Function: init_tutorial_species()
void init_tutorial_species()
{
	init_human_sp();
	noise wn[TERRAIN_TYPES] = {{1.0,"footsteps",false},{1.5,"footsteps",false},{1.5f,"footsteps",false},{2.0,"footsteps",false},{0.0,"",false},
	{2.3f,"footsteps",false},{0.0,"",false},{0.0,"",false},{0.0,"",false},{0.0,"",false},{0.0,"",false},{0.0,"",false}};
	walk_noise[0] = std::vector<noise>(wn,wn+TERRAIN_TYPES);
	//delete [] wn;
	noise rn[TERRAIN_TYPES] = {{2.0,"footsteps",false},{3.0,"footsteps",false},{3.5f,"footsteps",false},{3.0,"footsteps",false},{0.0,"",false},
	{3.3f,"footsteps",false},{0.0,"",false},{0.0,"",false},{0.0,"",false},{0.0,"",false},{0.0,"",false},{0.0,"",false}};
	run_noise[0] = std::vector<noise>(rn,rn+TERRAIN_TYPES);
	//delete [] rn;
	{
		species* alien = new species();
		alien->damage_known = true;
		alien->health_known = true;
		alien->size_known = true;
		alien->walk_known = true;
		alien->run_known = true;
		alien->id = 1;
		alien->crit_known = false;
		alien->body_sections_tried = 0;
		alien->size = 0;
		alien->syl1 = "small";
		alien->syl2 = "alien";
		alien->ch = 's';
		alien->name = "small alien";
		alien->description = "A small, fast, weak, frail alien. We stole this specimen from a zoo on Mars. Actually we stole its great-great-grandparent, three days ago, and let it breed.";
		alien->colour = COLOR_MAGENTA;
		alien->crit_part_name = "splanchlet";
		alien->damage = 2;
		alien->min_health = 6;
		alien->health_range = 0;
		alien->body_sections = 4;
		alien->psychic_range = 0;
		alien->vis_range = 6;
		alien->hearing_thres = 1.0f;
		alien->hearing_adapt = 0.3f;
		alien->smell_clarity = 0.15f;

		alien->walk_energy = 13;
		alien->run_energy = 21;
		alien->stamina = 41*alien->run_energy;

		std::string walk_str = "scampering";
		std::string run_str = "scampering";
		float extra_noise = 7.0f;
		walk_noise[1] = std::vector<noise>(wn,wn+TERRAIN_TYPES);
		run_noise[1] = std::vector<noise>(rn,rn+TERRAIN_TYPES);
		for(int i=0;i<TERRAIN_TYPES;i++)
		{
			walk_noise[1][i].describe = walk_str;
			walk_noise[1][i].volume +=extra_noise;
			run_noise[1][i].describe = run_str;
			run_noise[1][i].volume +=extra_noise*1.6f;
		}
		zoo.push_back(alien);
	}
	{
		species* alien = new species();
		alien->damage_known = true;
		alien->health_known = true;
		alien->size_known = true;
		alien->walk_known = true;
		alien->run_known = true;
		alien->id = 2;
		alien->crit_known = false;
		alien->body_sections_tried = 0;
		alien->size = 0;
		alien->syl1 = "medium";
		alien->syl2 = "alien";
		alien->ch = 's';
		alien->name = "medium alien";
		alien->description = "It's about your size, and it walks and runs at about your speed. It can take several hits before it stops chasing you. It doesn't screw around. ";
		alien->colour = COLOR_CYAN;
		alien->crit_part_name = "splanch";
		alien->damage = 6;
		alien->min_health = 14;
		alien->health_range = 0;
		alien->body_sections = 7;
		alien->psychic_range = 10;
		alien->vis_range = 8;
		alien->hearing_thres = 8.0f;
		alien->hearing_adapt = 0.4f;
		alien->smell_clarity = 0.1f*(randfloat()+1.0f);

		alien->walk_energy = 10;
		alien->run_energy = 19;
		alien->stamina = 17*alien->run_energy;

		std::string walk_str = "trotting";
		std::string run_str = "galloping";
		float extra_noise = 9.0f;
		walk_noise[2] = std::vector<noise>(wn,wn+TERRAIN_TYPES);
		run_noise[2] = std::vector<noise>(rn,rn+TERRAIN_TYPES);
		for(int i=0;i<TERRAIN_TYPES;i++)
		{
			walk_noise[2][i].describe = walk_str;
			walk_noise[2][i].volume +=extra_noise;
			run_noise[2][i].describe = run_str;
			run_noise[2][i].volume +=extra_noise*1.6f;
		}
		zoo.push_back(alien);
	}
	{
		species* alien = new species();
		alien->damage_known = true;
		alien->health_known = true;
		alien->size_known = true;
		alien->walk_known = true;
		alien->run_known = true;
		alien->id = 1;
		alien->crit_known = false;
		alien->body_sections_tried = 0;
		alien->size = 0;
		alien->syl1 = "huge";
		alien->syl2 = "alien";
		alien->ch = 's';
		alien->name = "huge alien";
		alien->description = "If you took a mammoth on steroids and rearranged its bodyparts, maybe you'd end up with something like this alien's head. You don't want to let this get near you. Fortunately, it moves very slowly.";
		alien->colour = COLOR_YELLOW;
		alien->crit_part_name = "splanchum";
		alien->damage = 18;
		alien->min_health = 26;
		alien->health_range = 0;
		alien->body_sections = 12;
		alien->psychic_range = 24;
		alien->vis_range = 4;
		alien->hearing_thres = 11.0f;
		alien->hearing_adapt = 0.3f;
		alien->smell_clarity = 0.1f*(randfloat()+1.0f);

		alien->walk_energy = 6;
		alien->run_energy = 11;
		alien->stamina = 41*alien->run_energy;

		std::string walk_str = "thumping";
		std::string run_str = "charging";
		float extra_noise = 11.5f;
		walk_noise[3] = std::vector<noise>(wn,wn+TERRAIN_TYPES);
		run_noise[3] = std::vector<noise>(rn,rn+TERRAIN_TYPES);
		for(int i=0;i<TERRAIN_TYPES;i++)
		{
			walk_noise[3][i].describe = walk_str;
			walk_noise[3][i].volume +=extra_noise;
			run_noise[3][i].describe = run_str;
			run_noise[3][i].volume +=extra_noise*1.6f;
		}
		zoo.push_back(alien);
	}
	for(int i=4; i<ZOO_SIZE+1; i++)
	{
		species* alien = new species();
		alien->damage_known = false;
		alien->health_known = false;
		alien->size_known = false;
		alien->walk_known = false;
		alien->run_known = false;
		alien->id = i;
		alien->crit_known = false;
		alien->ch = ' ';
	}
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x578, %rsp            # imm = 0x578
callq 0x7b5f
leaq 0x308(%rsp), %rdi
movl $0x3f800000, -0x8(%rdi) # imm = 0x3F800000
leaq 0x318(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x10b26(%rip), %rbx     # 0x188bc
leaq 0x10b28(%rip), %r14     # 0x188c5
movq %rbx, %rsi
movq %r14, %rdx
callq 0x15b1a
movb $0x0, 0x10(%r15)
leaq 0x330(%rsp), %r15
movl $0x3fc00000, (%r15)     # imm = 0x3FC00000
leaq 0x338(%rsp), %rdi
leaq 0x348(%rsp), %rax
movq %rax, -0x10(%rax)
movq %rbx, %rsi
movq %r14, %rdx
callq 0x15b1a
leaq 0x360(%rsp), %r15
movb $0x0, -0x8(%r15)
movl $0x3fc00000, (%r15)     # imm = 0x3FC00000
leaq 0x368(%rsp), %rdi
leaq 0x378(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x10ab2(%rip), %rsi     # 0x188bc
leaq 0x10ab4(%rip), %rdx     # 0x188c5
callq 0x15b1a
leaq 0x390(%rsp), %r15
movb $0x0, -0x8(%r15)
movl $0x40000000, (%r15)     # imm = 0x40000000
leaq 0x398(%rsp), %rdi
leaq 0x3a8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x10a77(%rip), %rsi     # 0x188bc
leaq 0x10a79(%rip), %rdx     # 0x188c5
callq 0x15b1a
leaq 0x3c0(%rsp), %r15
movb $0x0, -0x8(%r15)
movl $0x0, (%r15)
leaq 0x3c8(%rsp), %rdi
leaq 0x3d8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x122e3(%rip), %rdx     # 0x1a163
movq %rdx, %rsi
callq 0x15b1a
leaq 0x3f0(%rsp), %r15
movb $0x0, -0x8(%r15)
movl $0x40133333, (%r15)     # imm = 0x40133333
leaq 0x3f8(%rsp), %rdi
leaq 0x408(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x10a05(%rip), %rsi     # 0x188bc
leaq 0x10a07(%rip), %rdx     # 0x188c5
callq 0x15b1a
leaq 0x420(%rsp), %r15
movb $0x0, -0x8(%r15)
movl $0x0, (%r15)
leaq 0x428(%rsp), %rdi
leaq 0x438(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x12271(%rip), %rdx     # 0x1a163
movq %rdx, %rsi
callq 0x15b1a
leaq 0x450(%rsp), %r15
movb $0x0, -0x8(%r15)
movl $0x0, (%r15)
leaq 0x458(%rsp), %rdi
leaq 0x468(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x1223a(%rip), %rdx     # 0x1a163
movq %rdx, %rsi
callq 0x15b1a
leaq 0x480(%rsp), %r15
movb $0x0, -0x8(%r15)
movl $0x0, (%r15)
leaq 0x488(%rsp), %rdi
leaq 0x498(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x12203(%rip), %rdx     # 0x1a163
movq %rdx, %rsi
callq 0x15b1a
leaq 0x4b0(%rsp), %r15
movb $0x0, -0x8(%r15)
movl $0x0, (%r15)
leaq 0x4b8(%rsp), %rdi
leaq 0x4c8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x121cc(%rip), %rdx     # 0x1a163
movq %rdx, %rsi
callq 0x15b1a
leaq 0x4e0(%rsp), %r15
movb $0x0, -0x8(%r15)
movl $0x0, (%r15)
leaq 0x4e8(%rsp), %rdi
leaq 0x4f8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x12195(%rip), %rdx     # 0x1a163
movq %rdx, %rsi
callq 0x15b1a
leaq 0x510(%rsp), %r15
movb $0x0, -0x8(%r15)
movl $0x0, (%r15)
leaq 0x518(%rsp), %rdi
leaq 0x528(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x1215e(%rip), %rdx     # 0x1a163
movq %rdx, %rsi
callq 0x15b1a
xorl %eax, %eax
leaq 0x558(%rsp), %r13
movb %al, -0x20(%r13)
movl $0x0, -0x18(%r13)
movq %r13, -0x10(%r13)
movq $0x0, -0x8(%r13)
movb %al, (%r13)
movb %al, 0x10(%r13)
leaq 0x570(%rsp), %r12
leaq 0x30(%rsp), %rdi
leaq 0x300(%rsp), %rsi
leaq 0x10(%rsp), %rcx
movq %r12, %rdx
callq 0x1596a
movq 0x662a0(%rip), %rax     # 0x6e300
movq 0x10(%rax), %rcx
leaq 0x30(%rsp), %r15
movaps (%r15), %xmm0
movups (%rax), %xmm1
movups %xmm0, (%rax)
movq 0x10(%r15), %rdx
movq %rdx, 0x10(%rax)
leaq 0x90(%rsp), %r14
movaps %xmm1, (%r14)
movq %rcx, 0x10(%r14)
xorps %xmm0, %xmm0
movaps %xmm0, (%r15)
movq $0x0, 0x10(%r15)
movq %r14, %rdi
callq 0x158d2
movq %r15, %rdi
callq 0x158d2
movl $0x40000000, (%r14)     # imm = 0x40000000
leaq 0x98(%rsp), %rdi
leaq 0xa8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x107f0(%rip), %rsi     # 0x188bc
leaq 0x107f2(%rip), %rdx     # 0x188c5
callq 0x15b1a
leaq 0xc0(%rsp), %r15
movb $0x0, -0x8(%r15)
movl $0x40400000, (%r15)     # imm = 0x40400000
leaq 0xc8(%rsp), %rdi
leaq 0xd8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x107b5(%rip), %rsi     # 0x188bc
leaq 0x107b7(%rip), %rdx     # 0x188c5
callq 0x15b1a
leaq 0xf0(%rsp), %r15
movb $0x0, -0x8(%r15)
movl $0x40600000, (%r15)     # imm = 0x40600000
leaq 0xf8(%rsp), %rdi
leaq 0x108(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x1077a(%rip), %rsi     # 0x188bc
leaq 0x1077c(%rip), %rdx     # 0x188c5
callq 0x15b1a
leaq 0x120(%rsp), %r15
movb $0x0, -0x8(%r15)
movl $0x40400000, (%r15)     # imm = 0x40400000
leaq 0x128(%rsp), %rdi
leaq 0x138(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x1073f(%rip), %rsi     # 0x188bc
leaq 0x10741(%rip), %rdx     # 0x188c5
callq 0x15b1a
leaq 0x150(%rsp), %r15
movb $0x0, -0x8(%r15)
movl $0x0, (%r15)
leaq 0x158(%rsp), %rdi
leaq 0x168(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x11fab(%rip), %rdx     # 0x1a163
movq %rdx, %rsi
callq 0x15b1a
leaq 0x180(%rsp), %r15
movb $0x0, -0x8(%r15)
movl $0x40533333, (%r15)     # imm = 0x40533333
leaq 0x188(%rsp), %rdi
leaq 0x198(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x106cd(%rip), %rsi     # 0x188bc
leaq 0x106cf(%rip), %rdx     # 0x188c5
callq 0x15b1a
leaq 0x1b0(%rsp), %r15
movb $0x0, -0x8(%r15)
movl $0x0, (%r15)
leaq 0x1b8(%rsp), %rdi
leaq 0x1c8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x11f39(%rip), %rdx     # 0x1a163
movq %rdx, %rsi
callq 0x15b1a
leaq 0x1e0(%rsp), %r15
movb $0x0, -0x8(%r15)
movl $0x0, (%r15)
leaq 0x1e8(%rsp), %rdi
leaq 0x1f8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x11f02(%rip), %rdx     # 0x1a163
movq %rdx, %rsi
callq 0x15b1a
leaq 0x210(%rsp), %r15
movb $0x0, -0x8(%r15)
movl $0x0, (%r15)
leaq 0x218(%rsp), %rdi
leaq 0x228(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x11ecb(%rip), %rdx     # 0x1a163
movq %rdx, %rsi
callq 0x15b1a
leaq 0x240(%rsp), %r15
movb $0x0, -0x8(%r15)
movl $0x0, (%r15)
leaq 0x248(%rsp), %rdi
leaq 0x258(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x11e94(%rip), %rdx     # 0x1a163
movq %rdx, %rsi
callq 0x15b1a
leaq 0x270(%rsp), %r15
movb $0x0, -0x8(%r15)
movl $0x0, (%r15)
leaq 0x278(%rsp), %rdi
leaq 0x288(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x11e5d(%rip), %rdx     # 0x1a163
movq %rdx, %rsi
callq 0x15b1a
leaq 0x2a0(%rsp), %r15
movb $0x0, -0x8(%r15)
movl $0x0, (%r15)
leaq 0x2a8(%rsp), %rdi
leaq 0x2b8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x11e26(%rip), %rdx     # 0x1a163
movq %rdx, %rsi
callq 0x15b1a
xorl %eax, %eax
leaq 0x2e8(%rsp), %rbp
movb %al, -0x20(%rbp)
movl $0x0, -0x18(%rbp)
movq %rbp, -0x10(%rbp)
movq $0x0, -0x8(%rbp)
movb %al, (%rbp)
movb %al, 0x10(%rbp)
leaq 0x300(%rsp), %rdx
leaq 0x10(%rsp), %rdi
leaq 0x90(%rsp), %rsi
leaq 0x70(%rsp), %rcx
callq 0x1596a
movq 0x65f87(%rip), %rax     # 0x6e318
movq 0x10(%rax), %rcx
leaq 0x10(%rsp), %r15
movaps (%r15), %xmm0
movups (%rax), %xmm1
movups %xmm0, (%rax)
movq 0x10(%r15), %rdx
movq %rdx, 0x10(%rax)
leaq 0x30(%rsp), %rdi
movaps %xmm1, (%rdi)
movq %rcx, 0x10(%rdi)
xorps %xmm0, %xmm0
movaps %xmm0, (%r15)
movq $0x0, 0x10(%r15)
callq 0x158d2
movq %r15, %rdi
callq 0x158d2
movl $0x150, %edi            # imm = 0x150
callq 0x5250
movq %rax, %r15
xorl %ebx, %ebx
movl $0x150, %edx            # imm = 0x150
movq %rax, %rdi
xorl %esi, %esi
callq 0x5180
leaq 0x68(%r15), %rax
movq %rax, 0x58(%r15)
movb %bl, 0x68(%r15)
leaq 0x98(%r15), %rax
movq %rax, 0x88(%r15)
movb %bl, 0x98(%r15)
leaq 0xb0(%r15), %rdi
leaq 0xc0(%r15), %rax
movq %rax, 0xb0(%r15)
movb %bl, 0xc0(%r15)
leaq 0xe0(%r15), %rax
movq %rax, 0xd0(%r15)
movb %bl, 0xe0(%r15)
leaq 0x100(%r15), %rax
movq %rax, 0xf0(%r15)
movb %bl, 0x100(%r15)
leaq 0x120(%r15), %rax
movq %rax, 0x110(%r15)
movb %bl, 0x120(%r15)
movq %r15, %rax
addq $0x140, %rax            # imm = 0x140
movq %rax, 0x130(%r15)
movb %bl, 0x140(%r15)
movq %r15, 0x8(%rsp)
movb $0x1, 0x49(%r15)
movl $0x1010101, 0x45(%r15)  # imm = 0x1010101
movl $0x1, (%r15)
movl $0x0, 0x40(%r15)
leaq 0x10419(%rip), %rcx     # 0x188c6
movl $0x5, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x5380
movq 0x8(%rsp), %rdi
movq 0xd8(%rdi), %rdx
addq $0xd0, %rdi
leaq 0x1057b(%rip), %rcx     # 0x18a51
movl $0x5, %r8d
xorl %esi, %esi
callq 0x5380
movq 0x8(%rsp), %rdi
movb $0x73, 0x24(%rdi)
movq 0xf8(%rdi), %rdx
addq $0xf0, %rdi
leaq 0x103cb(%rip), %rcx     # 0x188cc
movl $0xb, %r8d
xorl %esi, %esi
callq 0x5380
movq 0x8(%rsp), %rdi
movq 0x118(%rdi), %rdx
addq $0x110, %rdi            # imm = 0x110
leaq 0x103b0(%rip), %rcx     # 0x188d8
movl $0x9d, %r8d
xorl %esi, %esi
callq 0x5380
movq 0x8(%rsp), %rdi
movl $0x5, 0x28(%rdi)
movq 0x138(%rdi), %rdx
addq $0x130, %rdi            # imm = 0x130
leaq 0x10420(%rip), %rcx     # 0x18976
movl $0xa, %r8d
xorl %esi, %esi
callq 0x5380
movq 0x8(%rsp), %rax
movl $0x4, 0x3c(%rax)
movaps 0xfb5a(%rip), %xmm0     # 0x180d0
movups %xmm0, 0x4(%rax)
movq $0x3e99999a, 0x1c(%rax) # imm = 0x3E99999A
movsd 0xfb56(%rip), %xmm0     # 0x180e0
movsd %xmm0, 0x14(%rax)
movabsq $0x150000000d, %rcx     # imm = 0x150000000D
movq %rcx, 0x2c(%rax)
movl $0x35d, 0x34(%rax)      # imm = 0x35D
leaq 0x40(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x103cd(%rip), %rsi     # 0x18981
leaq 0x103d0(%rip), %rdx     # 0x1898b
leaq 0x30(%rsp), %rdi
callq 0x15b1a
leaq 0x20(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x103ac(%rip), %rsi     # 0x18981
leaq 0x103af(%rip), %rdx     # 0x1898b
leaq 0x10(%rsp), %rdi
callq 0x15b1a
leaq 0x50(%rsp), %rdi
leaq 0x300(%rsp), %rsi
leaq 0x7(%rsp), %rcx
movq %r12, %rdx
callq 0x1596a
movq %r12, %r14
movq 0x65cf6(%rip), %rax     # 0x6e300
movq 0x28(%rax), %rcx
leaq 0x50(%rsp), %r15
movaps (%r15), %xmm0
movq 0x10(%r15), %rdx
movq %rdx, 0x28(%rax)
movups 0x18(%rax), %xmm1
movups %xmm0, 0x18(%rax)
leaq 0x70(%rsp), %rdi
movaps %xmm1, (%rdi)
movq %rcx, 0x10(%rdi)
xorps %xmm0, %xmm0
movaps %xmm0, (%r15)
movq $0x0, 0x10(%r15)
callq 0x158d2
movq %r15, %rdi
callq 0x158d2
leaq 0x50(%rsp), %rdi
leaq 0x90(%rsp), %rsi
leaq 0x7(%rsp), %rcx
leaq 0x300(%rsp), %rdx
callq 0x1596a
movq 0x65ca3(%rip), %rax     # 0x6e318
movq 0x28(%rax), %rcx
leaq 0x50(%rsp), %r15
movaps (%r15), %xmm0
movq 0x10(%r15), %rdx
movq %rdx, 0x28(%rax)
movups 0x18(%rax), %xmm1
movups %xmm0, 0x18(%rax)
leaq 0x70(%rsp), %rdi
movaps %xmm1, (%rdi)
movq %rcx, 0x10(%rdi)
xorps %xmm0, %xmm0
movaps %xmm0, (%r15)
movq $0x0, 0x10(%r15)
callq 0x158d2
movq %r15, %rdi
callq 0x158d2
movl $0x8, %ebx
leaq 0x30(%rsp), %r15
leaq 0x10(%rsp), %r12
movq 0x65c30(%rip), %rax     # 0x6e300
movq 0x18(%rax), %rdi
addq %rbx, %rdi
movq %r15, %rsi
callq 0x5170
movq 0x65c1a(%rip), %rax     # 0x6e300
movq 0x18(%rax), %rax
movss -0x8(%rax,%rbx), %xmm0
addss 0xf914(%rip), %xmm0     # 0x1800c
movss %xmm0, -0x8(%rax,%rbx)
movq 0x65c13(%rip), %rax     # 0x6e318
movq 0x18(%rax), %rdi
addq %rbx, %rdi
movq %r12, %rsi
callq 0x5170
movq 0x65bfd(%rip), %rax     # 0x6e318
movq 0x18(%rax), %rax
movss -0x8(%rax,%rbx), %xmm0
addss 0xf8e3(%rip), %xmm0     # 0x18010
movss %xmm0, -0x8(%rax,%rbx)
addq $0x30, %rbx
cmpq $0x278, %rbx            # imm = 0x278
jne 0x86c9
movq 0x65cb1(%rip), %rsi     # 0x6e3f8
cmpq 0x65cb2(%rip), %rsi     # 0x6e400
je 0x8765
movq 0x8(%rsp), %rax
movq %rax, (%rsi)
addq $0x8, 0x65c98(%rip)     # 0x6e3f8
movq %r14, %r12
jmp 0x8779
leaq 0x65c84(%rip), %rdi     # 0x6e3f0
leaq 0x8(%rsp), %rdx
callq 0x16212
movq %r14, %r12
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x878d
callq 0x5230
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0x87a1
callq 0x5230
movl $0x150, %edi            # imm = 0x150
callq 0x5250
movq %rax, %r15
xorl %ebx, %ebx
movl $0x150, %edx            # imm = 0x150
movq %rax, %rdi
xorl %esi, %esi
callq 0x5180
leaq 0x68(%r15), %rax
movq %rax, 0x58(%r15)
movb %bl, 0x68(%r15)
leaq 0x98(%r15), %rax
movq %rax, 0x88(%r15)
movb %bl, 0x98(%r15)
leaq 0xb0(%r15), %rdi
leaq 0xc0(%r15), %rax
movq %rax, 0xb0(%r15)
movb %bl, 0xc0(%r15)
leaq 0xe0(%r15), %rax
movq %rax, 0xd0(%r15)
movb %bl, 0xe0(%r15)
leaq 0x100(%r15), %rax
movq %rax, 0xf0(%r15)
movb %bl, 0x100(%r15)
leaq 0x120(%r15), %rax
movq %rax, 0x110(%r15)
movb %bl, 0x120(%r15)
movq %r15, %rax
addq $0x140, %rax            # imm = 0x140
movq %rax, 0x130(%r15)
movb %bl, 0x140(%r15)
movq %r15, 0x8(%rsp)
movb $0x1, 0x49(%r15)
movl $0x1010101, 0x45(%r15)  # imm = 0x1010101
movl $0x2, (%r15)
movl $0x0, 0x40(%r15)
leaq 0x10112(%rip), %rcx     # 0x1898c
movl $0x6, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x5380
movq 0x8(%rsp), %rdi
movq 0xd8(%rdi), %rdx
addq $0xd0, %rdi
leaq 0x101ae(%rip), %rcx     # 0x18a51
movl $0x5, %r8d
xorl %esi, %esi
callq 0x5380
movq 0x8(%rsp), %rdi
movb $0x73, 0x24(%rdi)
movq 0xf8(%rdi), %rdx
addq $0xf0, %rdi
leaq 0x100c5(%rip), %rcx     # 0x18993
movl $0xc, %r8d
xorl %esi, %esi
callq 0x5380
movq 0x8(%rsp), %rdi
movq 0x118(%rdi), %rdx
addq $0x110, %rdi            # imm = 0x110
leaq 0x100ab(%rip), %rcx     # 0x189a0
movl $0x90, %r8d
xorl %esi, %esi
callq 0x5380
movq 0x8(%rsp), %rdi
movl $0x6, 0x28(%rdi)
movq 0x138(%rdi), %rdx
addq $0x130, %rdi            # imm = 0x130
leaq 0x1010e(%rip), %rcx     # 0x18a31
movl $0x7, %r8d
xorl %esi, %esi
callq 0x5380
movq 0x8(%rsp), %rax
movl $0x7, 0x3c(%rax)
movl $0xa, 0x20(%rax)
movaps 0xf7a6(%rip), %xmm0     # 0x180f0
movups %xmm0, 0x4(%rax)
movsd 0xf7aa(%rip), %xmm0     # 0x18100
movsd %xmm0, 0x18(%rax)
callq 0x5070
xorps %xmm0, %xmm0
cvtsi2ss %eax, %xmm0
mulss 0xf695(%rip), %xmm0     # 0x18004
addss 0xf69d(%rip), %xmm0     # 0x18014
mulss 0xf699(%rip), %xmm0     # 0x18018
movq 0x8(%rsp), %rax
movss %xmm0, 0x14(%rax)
movabsq $0x130000000a, %rcx     # imm = 0x130000000A
movq %rcx, 0x2c(%rax)
movl $0x143, 0x34(%rax)      # imm = 0x143
leaq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
movq %rax, (%rdi)
leaq 0x10087(%rip), %rsi     # 0x18a39
leaq 0x10088(%rip), %rdx     # 0x18a41
callq 0x15b1a
leaq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
movq %rax, (%rdi)
leaq 0x10070(%rip), %rsi     # 0x18a42
leaq 0x10072(%rip), %rdx     # 0x18a4b
callq 0x15b1a
leaq 0x50(%rsp), %rdi
leaq 0x300(%rsp), %rsi
leaq 0x7(%rsp), %rcx
movq %r12, %rdx
callq 0x1596a
movq 0x65901(%rip), %rax     # 0x6e300
movq 0x40(%rax), %rcx
leaq 0x50(%rsp), %r15
movaps (%r15), %xmm0
movq 0x10(%r15), %rdx
movq %rdx, 0x40(%rax)
movups 0x30(%rax), %xmm1
movups %xmm0, 0x30(%rax)
leaq 0x70(%rsp), %rdi
movaps %xmm1, (%rdi)
movq %rcx, 0x10(%rdi)
xorps %xmm0, %xmm0
movaps %xmm0, (%r15)
movq $0x0, 0x10(%r15)
callq 0x158d2
movq %r15, %rdi
callq 0x158d2
leaq 0x50(%rsp), %rdi
leaq 0x90(%rsp), %rsi
leaq 0x7(%rsp), %rcx
leaq 0x300(%rsp), %rdx
callq 0x1596a
movq 0x658ae(%rip), %rax     # 0x6e318
movq 0x40(%rax), %rcx
leaq 0x50(%rsp), %r15
movaps (%r15), %xmm0
movq 0x10(%r15), %rdx
movq %rdx, 0x40(%rax)
movups 0x30(%rax), %xmm1
movups %xmm0, 0x30(%rax)
leaq 0x70(%rsp), %rdi
movaps %xmm1, (%rdi)
movq %rcx, 0x10(%rdi)
xorps %xmm0, %xmm0
movaps %xmm0, (%r15)
movq $0x0, 0x10(%r15)
callq 0x158d2
movq %r15, %rdi
callq 0x158d2
movl $0x8, %ebx
leaq 0x30(%rsp), %r15
leaq 0x10(%rsp), %r12
movq 0x6583b(%rip), %rax     # 0x6e300
movq 0x30(%rax), %rdi
addq %rbx, %rdi
movq %r15, %rsi
callq 0x5170
movq 0x65825(%rip), %rax     # 0x6e300
movq 0x30(%rax), %rax
movss -0x8(%rax,%rbx), %xmm0
addss 0xf52f(%rip), %xmm0     # 0x1801c
movss %xmm0, -0x8(%rax,%rbx)
movq 0x6581e(%rip), %rax     # 0x6e318
movq 0x30(%rax), %rdi
addq %rbx, %rdi
movq %r12, %rsi
callq 0x5170
movq 0x65808(%rip), %rax     # 0x6e318
movq 0x30(%rax), %rax
movss -0x8(%rax,%rbx), %xmm0
addss 0xf4fe(%rip), %xmm0     # 0x18020
movss %xmm0, -0x8(%rax,%rbx)
addq $0x30, %rbx
cmpq $0x278, %rbx            # imm = 0x278
jne 0x8abe
movq 0x658bc(%rip), %rsi     # 0x6e3f8
cmpq 0x658bd(%rip), %rsi     # 0x6e400
je 0x8b57
movq 0x8(%rsp), %rax
movq %rax, (%rsi)
addq $0x8, 0x658a3(%rip)     # 0x6e3f8
jmp 0x8b68
leaq 0x65892(%rip), %rdi     # 0x6e3f0
leaq 0x8(%rsp), %rdx
callq 0x16212
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x8b7c
callq 0x5230
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0x8b90
callq 0x5230
movl $0x150, %edi            # imm = 0x150
callq 0x5250
movq %rax, %r15
xorl %ebx, %ebx
movl $0x150, %edx            # imm = 0x150
movq %rax, %rdi
xorl %esi, %esi
callq 0x5180
leaq 0x68(%r15), %rax
movq %rax, 0x58(%r15)
movb %bl, 0x68(%r15)
leaq 0x98(%r15), %rax
movq %rax, 0x88(%r15)
movb %bl, 0x98(%r15)
leaq 0xb0(%r15), %rdi
leaq 0xc0(%r15), %rax
movq %rax, 0xb0(%r15)
movb %bl, 0xc0(%r15)
leaq 0xe0(%r15), %rax
movq %rax, 0xd0(%r15)
movb %bl, 0xe0(%r15)
leaq 0x100(%r15), %rax
movq %rax, 0xf0(%r15)
movb %bl, 0x100(%r15)
leaq 0x120(%r15), %rax
movq %rax, 0x110(%r15)
movb %bl, 0x120(%r15)
movq %r15, %rax
addq $0x140, %rax            # imm = 0x140
movq %rax, 0x130(%r15)
movb %bl, 0x140(%r15)
movq %r15, 0x8(%rsp)
movb $0x1, 0x49(%r15)
movl $0x1010101, 0x45(%r15)  # imm = 0x1010101
movl $0x1, (%r15)
movl $0x0, 0x40(%r15)
leaq 0xfaf2(%rip), %rcx      # 0x1875b
movl $0x4, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x5380
movq 0x8(%rsp), %rdi
movq 0xd8(%rdi), %rdx
addq $0xd0, %rdi
leaq 0xfdbf(%rip), %rcx      # 0x18a51
movl $0x5, %r8d
xorl %esi, %esi
callq 0x5380
movq 0x8(%rsp), %rdi
movb $0x73, 0x24(%rdi)
movq 0xf8(%rdi), %rdx
addq $0xf0, %rdi
leaq 0xfd8f(%rip), %rcx      # 0x18a4c
movl $0xa, %r8d
xorl %esi, %esi
callq 0x5380
movq 0x8(%rsp), %rdi
movq 0x118(%rdi), %rdx
addq $0x110, %rdi            # imm = 0x110
leaq 0xfd73(%rip), %rcx      # 0x18a57
movl $0xc5, %r8d
xorl %esi, %esi
callq 0x5380
movq 0x8(%rsp), %rdi
movl $0x3, 0x28(%rdi)
movq 0x138(%rdi), %rdx
addq $0x130, %rdi            # imm = 0x130
leaq 0xfe0b(%rip), %rcx      # 0x18b1d
movl $0x9, %r8d
xorl %esi, %esi
callq 0x5380
movq 0x8(%rsp), %rax
movl $0xc, 0x3c(%rax)
movl $0x18, 0x20(%rax)
movaps 0xf3d7(%rip), %xmm0     # 0x18110
movups %xmm0, 0x4(%rax)
movsd 0xf3db(%rip), %xmm0     # 0x18120
movsd %xmm0, 0x18(%rax)
callq 0x5070
xorps %xmm0, %xmm0
cvtsi2ss %eax, %xmm0
mulss 0xf2a6(%rip), %xmm0     # 0x18004
addss 0xf2ae(%rip), %xmm0     # 0x18014
mulss 0xf2aa(%rip), %xmm0     # 0x18018
movq 0x8(%rsp), %rax
movss %xmm0, 0x14(%rax)
movabsq $0xb00000006, %rcx      # imm = 0xB00000006
movq %rcx, 0x2c(%rax)
movl $0x1c3, 0x34(%rax)      # imm = 0x1C3
leaq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
movq %rax, (%rdi)
leaq 0xfd86(%rip), %rsi      # 0x18b27
leaq 0xfd87(%rip), %rdx      # 0x18b2f
callq 0x15b1a
leaq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
movq %rax, (%rdi)
leaq 0xfd6f(%rip), %rsi      # 0x18b30
leaq 0xfd70(%rip), %rdx      # 0x18b38
callq 0x15b1a
leaq 0x50(%rsp), %rdi
leaq 0x300(%rsp), %rsi
leaq 0x7(%rsp), %rcx
movq %r14, %rdx
callq 0x1596a
movq 0x65512(%rip), %rax     # 0x6e300
movq 0x58(%rax), %rcx
leaq 0x50(%rsp), %rbx
movaps (%rbx), %xmm0
movq 0x10(%rbx), %rdx
movq %rdx, 0x58(%rax)
movups 0x48(%rax), %xmm1
movups %xmm0, 0x48(%rax)
leaq 0x70(%rsp), %rdi
movaps %xmm1, (%rdi)
movq %rcx, 0x10(%rdi)
xorps %xmm0, %xmm0
movaps %xmm0, (%rbx)
movq $0x0, 0x10(%rbx)
callq 0x158d2
movq %rbx, %rdi
callq 0x158d2
leaq 0x50(%rsp), %rdi
leaq 0x90(%rsp), %rsi
leaq 0x7(%rsp), %rcx
leaq 0x300(%rsp), %rdx
callq 0x1596a
movq 0x654c1(%rip), %rax     # 0x6e318
movq 0x58(%rax), %rcx
leaq 0x50(%rsp), %rbx
movaps (%rbx), %xmm0
movq 0x10(%rbx), %rdx
movq %rdx, 0x58(%rax)
movups 0x48(%rax), %xmm1
movups %xmm0, 0x48(%rax)
leaq 0x70(%rsp), %rdi
movaps %xmm1, (%rdi)
movq %rcx, 0x10(%rdi)
xorps %xmm0, %xmm0
movaps %xmm0, (%rbx)
movq $0x0, 0x10(%rbx)
callq 0x158d2
movq %rbx, %rdi
callq 0x158d2
movl $0x8, %r15d
leaq 0x30(%rsp), %rbx
leaq 0x10(%rsp), %r14
movq 0x6544f(%rip), %rax     # 0x6e300
movq 0x48(%rax), %rdi
addq %r15, %rdi
movq %rbx, %rsi
callq 0x5170
movq 0x65439(%rip), %rax     # 0x6e300
movq 0x48(%rax), %rax
movss -0x8(%rax,%r15), %xmm0
addss 0xf14a(%rip), %xmm0     # 0x18024
movss %xmm0, -0x8(%rax,%r15)
movq 0x65430(%rip), %rax     # 0x6e318
movq 0x48(%rax), %rdi
addq %r15, %rdi
movq %r14, %rsi
callq 0x5170
movq 0x6541a(%rip), %rax     # 0x6e318
movq 0x48(%rax), %rax
movss -0x8(%rax,%r15), %xmm0
addss 0xf117(%rip), %xmm0     # 0x18028
movss %xmm0, -0x8(%rax,%r15)
addq $0x30, %r15
cmpq $0x278, %r15            # imm = 0x278
jne 0x8eaa
movq 0x654cc(%rip), %rsi     # 0x6e3f8
cmpq 0x654cd(%rip), %rsi     # 0x6e400
je 0x8f47
movq 0x8(%rsp), %rax
movq %rax, (%rsi)
addq $0x8, 0x654b3(%rip)     # 0x6e3f8
jmp 0x8f58
leaq 0x654a2(%rip), %rdi     # 0x6e3f0
leaq 0x8(%rsp), %rdx
callq 0x16212
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x8f6c
callq 0x5230
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0x8f80
callq 0x5230
movl $0x4, %r14d
xorl %r15d, %r15d
movl $0x150, %edi            # imm = 0x150
callq 0x5250
movq %rax, %rbx
movl $0x150, %edx            # imm = 0x150
movq %rax, %rdi
xorl %esi, %esi
callq 0x5180
leaq 0x68(%rbx), %rax
movq %rax, 0x58(%rbx)
movb %r15b, 0x68(%rbx)
leaq 0x98(%rbx), %rax
movq %rax, 0x88(%rbx)
movb %r15b, 0x98(%rbx)
leaq 0xc0(%rbx), %rax
movq %rax, 0xb0(%rbx)
movb %r15b, 0xc0(%rbx)
leaq 0xe0(%rbx), %rax
movq %rax, 0xd0(%rbx)
movb %r15b, 0xe0(%rbx)
leaq 0x100(%rbx), %rax
movq %rax, 0xf0(%rbx)
movb %r15b, 0x100(%rbx)
leaq 0x120(%rbx), %rax
movq %rax, 0x110(%rbx)
movb %r15b, 0x120(%rbx)
movq %rbx, %rax
addq $0x140, %rax            # imm = 0x140
movq %rax, 0x130(%rbx)
movb %r15b, 0x140(%rbx)
movb %r15b, 0x49(%rbx)
movl $0x0, 0x45(%rbx)
movl %r14d, (%rbx)
movb $0x20, 0x24(%rbx)
incl %r14d
cmpl $0x8, %r14d
jne 0x8f89
leaq 0x2e8(%rsp), %rbx
xorl %r14d, %r14d
movq 0x2d8(%rsp,%r14), %rdi
leaq (%rbx,%r14), %rax
cmpq %rdi, %rax
je 0x9071
callq 0x5230
addq $-0x30, %r14
cmpq $-0x270, %r14           # imm = 0xFD90
jne 0x905b
leaq 0x558(%rsp), %rbx
xorl %r14d, %r14d
movq 0x548(%rsp,%r14), %rdi
leaq (%rbx,%r14), %rax
cmpq %rdi, %rax
je 0x909f
callq 0x5230
addq $-0x30, %r14
cmpq $-0x270, %r14           # imm = 0xFD90
jne 0x9089
addq $0x578, %rsp            # imm = 0x578
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x9197
jmp 0x9197
jmp 0x9197
jmp 0x9197
jmp 0x9197
jmp 0x90f9
jmp 0x918e
jmp 0x9197
jmp 0x9197
jmp 0x90f9
jmp 0x918e
jmp 0x9197
jmp 0x9197
movq %rax, %rbx
jmp 0x91ae
jmp 0x918e
jmp 0x918e
jmp 0x911f
jmp 0x911f
jmp 0x911f
jmp 0x911f
jmp 0x911f
jmp 0x911f
jmp 0x911f
jmp 0x911f
jmp 0x911f
jmp 0x911f
movq %rax, %rbx
movq -0x28(%r15), %rdi
leaq -0x18(%r15), %rax
cmpq %rdi, %rax
je 0x9134
callq 0x5230
addq $-0x30, %r15
cmpq %r14, %r15
jne 0x9122
jmp 0x91e1
jmp 0x9144
movq %rax, %rbx
jmp 0x91e1
jmp 0x9160
jmp 0x9160
jmp 0x9160
jmp 0x9160
jmp 0x9160
jmp 0x9160
jmp 0x9160
jmp 0x9160
jmp 0x9160
jmp 0x9160
movq %rax, %rbx
leaq 0x300(%rsp), %r14
movq -0x28(%r15), %rdi
leaq -0x18(%r15), %rax
cmpq %rdi, %rax
je 0x917d
callq 0x5230
addq $-0x30, %r15
cmpq %r14, %r15
jne 0x916b
jmp 0x9200
jmp 0x918e
jmp 0x918e
jmp 0x918e
movq %rax, %rbx
jmp 0x91c2
jmp 0x9197
jmp 0x9197
movq %rax, %rbx
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x91ae
callq 0x5230
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0x91c2
callq 0x5230
movq $-0x270, %r14           # imm = 0xFD90
movq -0x10(%rbp), %rdi
cmpq %rdi, %rbp
je 0x91d7
callq 0x5230
addq $-0x30, %rbp
addq $0x30, %r14
jne 0x91c9
movq $-0x270, %r14           # imm = 0xFD90
movq -0x10(%r13), %rdi
cmpq %rdi, %r13
je 0x91f6
callq 0x5230
addq $-0x30, %r13
addq $0x30, %r14
jne 0x91e8
movq %rbx, %rdi
callq 0x53d0