// File: /workspace/github_cpp_makefile_star2_O1/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 0x7b75
leaq 0x308(%rsp), %rdi
movl $0x3f800000, -0x8(%rdi) # imm = 0x3F800000
leaq 0x318(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x10a67(%rip), %rsi     # 0x1884c
leaq 0x10a69(%rip), %rdx     # 0x18855
callq 0x16274
leaq 0x330(%rsp), %r14
movb $0x0, -0x8(%r14)
movl $0x3fc00000, (%r14)     # imm = 0x3FC00000
leaq 0x338(%rsp), %rdi
leaq 0x348(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x10a2c(%rip), %rsi     # 0x1884c
leaq 0x10a2e(%rip), %rdx     # 0x18855
callq 0x16274
leaq 0x360(%rsp), %r14
movb $0x0, -0x8(%r14)
movl $0x3fc00000, (%r14)     # imm = 0x3FC00000
leaq 0x368(%rsp), %rdi
leaq 0x378(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x109f1(%rip), %rsi     # 0x1884c
leaq 0x109f3(%rip), %rdx     # 0x18855
callq 0x16274
leaq 0x390(%rsp), %r14
movb $0x0, -0x8(%r14)
movl $0x40000000, (%r14)     # imm = 0x40000000
leaq 0x398(%rsp), %rdi
leaq 0x3a8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x109b6(%rip), %rsi     # 0x1884c
leaq 0x109b8(%rip), %rdx     # 0x18855
callq 0x16274
leaq 0x3c0(%rsp), %r14
movb $0x0, -0x8(%r14)
movl $0x0, (%r14)
leaq 0x3c8(%rsp), %rdi
leaq 0x3d8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x12222(%rip), %rdx     # 0x1a0f3
movq %rdx, %rsi
callq 0x16274
leaq 0x3f0(%rsp), %r14
movb $0x0, -0x8(%r14)
movl $0x40133333, (%r14)     # imm = 0x40133333
leaq 0x3f8(%rsp), %rdi
leaq 0x408(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x10944(%rip), %rsi     # 0x1884c
leaq 0x10946(%rip), %rdx     # 0x18855
callq 0x16274
leaq 0x420(%rsp), %r14
movb $0x0, -0x8(%r14)
movl $0x0, (%r14)
leaq 0x428(%rsp), %rdi
leaq 0x438(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x121b0(%rip), %rdx     # 0x1a0f3
movq %rdx, %rsi
callq 0x16274
leaq 0x450(%rsp), %r14
movb $0x0, -0x8(%r14)
movl $0x0, (%r14)
leaq 0x458(%rsp), %rdi
leaq 0x468(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x12179(%rip), %rdx     # 0x1a0f3
movq %rdx, %rsi
callq 0x16274
leaq 0x480(%rsp), %r14
movb $0x0, -0x8(%r14)
movl $0x0, (%r14)
leaq 0x488(%rsp), %rdi
leaq 0x498(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x12142(%rip), %rdx     # 0x1a0f3
movq %rdx, %rsi
callq 0x16274
leaq 0x4b0(%rsp), %r14
movb $0x0, -0x8(%r14)
movl $0x0, (%r14)
leaq 0x4b8(%rsp), %rdi
leaq 0x4c8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x1210b(%rip), %rdx     # 0x1a0f3
movq %rdx, %rsi
callq 0x16274
leaq 0x4e0(%rsp), %r14
movb $0x0, -0x8(%r14)
movl $0x0, (%r14)
leaq 0x4e8(%rsp), %rdi
leaq 0x4f8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x120d4(%rip), %rdx     # 0x1a0f3
movq %rdx, %rsi
callq 0x16274
leaq 0x510(%rsp), %r14
movb $0x0, -0x8(%r14)
movl $0x0, (%r14)
leaq 0x518(%rsp), %rdi
leaq 0x528(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x1209d(%rip), %rdx     # 0x1a0f3
movq %rdx, %rsi
callq 0x16274
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 0x160ba
movq 0x6625f(%rip), %rax     # 0x6e310
xorps %xmm0, %xmm0
leaq 0x90(%rsp), %r14
movaps %xmm0, (%r14)
movq $0x0, 0x10(%r14)
movups (%rax), %xmm0
movq 0x10(%rax), %rcx
leaq 0x30(%rsp), %r15
movaps (%r15), %xmm1
movups %xmm1, (%rax)
movq 0x10(%r15), %rdx
movq %rdx, 0x10(%rax)
movq 0x10(%r14), %rax
movq %rcx, 0x10(%r14)
movaps (%r14), %xmm1
movaps %xmm0, (%r14)
movaps %xmm1, (%r15)
movq %rax, 0x10(%r15)
movq %r14, %rdi
callq 0x1602e
movq %r15, %rdi
callq 0x1602e
movl $0x40000000, (%r14)     # imm = 0x40000000
leaq 0x98(%rsp), %rdi
leaq 0xa8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x1071f(%rip), %rsi     # 0x1884c
leaq 0x10721(%rip), %rdx     # 0x18855
callq 0x16274
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 0x106e4(%rip), %rsi     # 0x1884c
leaq 0x106e6(%rip), %rdx     # 0x18855
callq 0x16274
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 0x106a9(%rip), %rsi     # 0x1884c
leaq 0x106ab(%rip), %rdx     # 0x18855
callq 0x16274
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 0x1066e(%rip), %rsi     # 0x1884c
leaq 0x10670(%rip), %rdx     # 0x18855
callq 0x16274
leaq 0x150(%rsp), %r15
movb $0x0, -0x8(%r15)
movl $0x0, (%r15)
leaq 0x158(%rsp), %rdi
leaq 0x168(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x11eda(%rip), %rdx     # 0x1a0f3
movq %rdx, %rsi
callq 0x16274
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 0x105fc(%rip), %rsi     # 0x1884c
leaq 0x105fe(%rip), %rdx     # 0x18855
callq 0x16274
leaq 0x1b0(%rsp), %r15
movb $0x0, -0x8(%r15)
movl $0x0, (%r15)
leaq 0x1b8(%rsp), %rdi
leaq 0x1c8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x11e68(%rip), %rdx     # 0x1a0f3
movq %rdx, %rsi
callq 0x16274
leaq 0x1e0(%rsp), %r15
movb $0x0, -0x8(%r15)
movl $0x0, (%r15)
leaq 0x1e8(%rsp), %rdi
leaq 0x1f8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x11e31(%rip), %rdx     # 0x1a0f3
movq %rdx, %rsi
callq 0x16274
leaq 0x210(%rsp), %r15
movb $0x0, -0x8(%r15)
movl $0x0, (%r15)
leaq 0x218(%rsp), %rdi
leaq 0x228(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x11dfa(%rip), %rdx     # 0x1a0f3
movq %rdx, %rsi
callq 0x16274
leaq 0x240(%rsp), %r15
movb $0x0, -0x8(%r15)
movl $0x0, (%r15)
leaq 0x248(%rsp), %rdi
leaq 0x258(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x11dc3(%rip), %rdx     # 0x1a0f3
movq %rdx, %rsi
callq 0x16274
leaq 0x270(%rsp), %r15
movb $0x0, -0x8(%r15)
movl $0x0, (%r15)
leaq 0x278(%rsp), %rdi
leaq 0x288(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x11d8c(%rip), %rdx     # 0x1a0f3
movq %rdx, %rsi
callq 0x16274
leaq 0x2a0(%rsp), %r15
movb $0x0, -0x8(%r15)
movl $0x0, (%r15)
leaq 0x2a8(%rsp), %rdi
leaq 0x2b8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x11d55(%rip), %rdx     # 0x1a0f3
movq %rdx, %rsi
callq 0x16274
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 0x160ba
movq 0x65f36(%rip), %rax     # 0x6e328
xorps %xmm0, %xmm0
leaq 0x30(%rsp), %rdi
movaps %xmm0, (%rdi)
movq $0x0, 0x10(%rdi)
movups (%rax), %xmm0
movq 0x10(%rax), %rcx
leaq 0x10(%rsp), %r15
movaps (%r15), %xmm1
movups %xmm1, (%rax)
movq 0x10(%r15), %rdx
movq %rdx, 0x10(%rax)
movq 0x10(%rdi), %rax
movq %rcx, 0x10(%rdi)
movaps (%rdi), %xmm1
movaps %xmm0, (%rdi)
movaps %xmm1, (%r15)
movq %rax, 0x10(%r15)
callq 0x1602e
movq %r15, %rdi
callq 0x1602e
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)
movq %rbx, 0x60(%r15)
movb %bl, 0x68(%r15)
leaq 0x98(%r15), %rax
movq %rax, 0x88(%r15)
movq %rbx, 0x90(%r15)
movb %bl, 0x98(%r15)
leaq 0xb0(%r15), %rdi
leaq 0xc0(%r15), %rax
movq %rax, 0xb0(%r15)
movq %rbx, 0xb8(%r15)
movb %bl, 0xc0(%r15)
leaq 0xe0(%r15), %rax
movq %rax, 0xd0(%r15)
movq %rbx, 0xd8(%r15)
movb %bl, 0xe0(%r15)
leaq 0x100(%r15), %rax
movq %rax, 0xf0(%r15)
movq %rbx, 0xf8(%r15)
movb %bl, 0x100(%r15)
leaq 0x120(%r15), %rax
movq %rax, 0x110(%r15)
movq %rbx, 0x118(%r15)
movb %bl, 0x120(%r15)
movq %r15, %rax
addq $0x140, %rax            # imm = 0x140
movq %rax, 0x130(%r15)
movq %rbx, 0x138(%r15)
movb %bl, 0x140(%r15)
movq %r15, 0x8(%rsp)
movb $0x1, 0x49(%r15)
movl $0x1010101, 0x45(%r15)  # imm = 0x1010101
movl $0x1, (%r15)
movb %bl, 0x44(%r15)
movl %ebx, 0x40(%r15)
movl %ebx, 0x38(%r15)
movq 0xb8(%r15), %rdx
leaq 0x10301(%rip), %rcx     # 0x18856
movl $0x5, %r8d
xorl %esi, %esi
callq 0x5380
movq 0x8(%rsp), %rdi
movq 0xd8(%rdi), %rdx
addq $0xd0, %rdi
leaq 0x10465(%rip), %rcx     # 0x189e1
movl $0x5, %r8d
xorl %esi, %esi
callq 0x5380
movq 0x8(%rsp), %rdi
movb $0x73, 0x24(%rdi)
movq 0xf8(%rdi), %rdx
addq $0xf0, %rdi
leaq 0x102b5(%rip), %rcx     # 0x1885c
movl $0xb, %r8d
xorl %esi, %esi
callq 0x5380
movq 0x8(%rsp), %rdi
movq 0x118(%rdi), %rdx
addq $0x110, %rdi            # imm = 0x110
leaq 0x1029a(%rip), %rcx     # 0x18868
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 0x1030a(%rip), %rcx     # 0x18906
movl $0xa, %r8d
xorl %esi, %esi
callq 0x5380
movq 0x8(%rsp), %rax
movl $0x4, 0x3c(%rax)
movaps 0xfab4(%rip), %xmm0     # 0x180d0
movups %xmm0, 0x4(%rax)
movq $0x3e99999a, 0x1c(%rax) # imm = 0x3E99999A
movsd 0xfab0(%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 0x102b7(%rip), %rsi     # 0x18911
leaq 0x102ba(%rip), %rdx     # 0x1891b
leaq 0x30(%rsp), %rdi
callq 0x16274
leaq 0x20(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x10296(%rip), %rsi     # 0x18911
leaq 0x10299(%rip), %rdx     # 0x1891b
leaq 0x10(%rsp), %rdi
callq 0x16274
leaq 0x50(%rsp), %rdi
leaq 0x300(%rsp), %rsi
leaq 0x7(%rsp), %rcx
movq %r12, %rdx
callq 0x160ba
movq %r12, %r14
movq 0x65c60(%rip), %rax     # 0x6e310
xorps %xmm0, %xmm0
leaq 0x70(%rsp), %rdi
movaps %xmm0, (%rdi)
movq $0x0, 0x10(%rdi)
movups 0x18(%rax), %xmm0
movq 0x28(%rax), %rcx
leaq 0x50(%rsp), %r15
movaps (%r15), %xmm1
movups %xmm1, 0x18(%rax)
movq 0x10(%r15), %rdx
movq %rdx, 0x28(%rax)
movq 0x10(%rdi), %rax
movq %rcx, 0x10(%rdi)
movaps (%rdi), %xmm1
movaps %xmm0, (%rdi)
movaps %xmm1, (%r15)
movq %rax, 0x10(%r15)
callq 0x1602e
movq %r15, %rdi
callq 0x1602e
leaq 0x50(%rsp), %rdi
leaq 0x90(%rsp), %rsi
leaq 0x7(%rsp), %rcx
leaq 0x300(%rsp), %rdx
callq 0x160ba
movq 0x65bff(%rip), %rax     # 0x6e328
leaq 0x70(%rsp), %rdi
xorps %xmm0, %xmm0
movaps %xmm0, (%rdi)
movq $0x0, 0x10(%rdi)
movups 0x18(%rax), %xmm0
movq 0x28(%rax), %rcx
leaq 0x50(%rsp), %r15
movaps (%r15), %xmm1
movups %xmm1, 0x18(%rax)
movq 0x10(%r15), %rdx
movq %rdx, 0x28(%rax)
movq 0x10(%rdi), %rax
movq %rcx, 0x10(%rdi)
movaps (%rdi), %xmm1
movaps %xmm0, (%rdi)
movaps %xmm1, (%r15)
movq %rax, 0x10(%r15)
callq 0x1602e
movq %r15, %rdi
callq 0x1602e
movl $0x8, %ebx
leaq 0x30(%rsp), %r15
leaq 0x10(%rsp), %r12
movq 0x65b7e(%rip), %rax     # 0x6e310
movq 0x18(%rax), %rdi
addq %rbx, %rdi
movq %r15, %rsi
callq 0x5170
movq 0x65b68(%rip), %rax     # 0x6e310
movq 0x18(%rax), %rax
movss -0x8(%rax,%rbx), %xmm0
addss 0xf852(%rip), %xmm0     # 0x1800c
movss %xmm0, -0x8(%rax,%rbx)
movq 0x65b61(%rip), %rax     # 0x6e328
movq 0x18(%rax), %rdi
addq %rbx, %rdi
movq %r12, %rsi
callq 0x5170
movq 0x65b4b(%rip), %rax     # 0x6e328
movq 0x18(%rax), %rax
movss -0x8(%rax,%rbx), %xmm0
addss 0xf821(%rip), %xmm0     # 0x18010
movss %xmm0, -0x8(%rax,%rbx)
addq $0x30, %rbx
cmpq $0x278, %rbx            # imm = 0x278
jne 0x878b
movq 0x65bff(%rip), %rsi     # 0x6e408
cmpq 0x65c00(%rip), %rsi     # 0x6e410
je 0x8827
movq 0x8(%rsp), %rax
movq %rax, (%rsi)
addq $0x8, 0x65be6(%rip)     # 0x6e408
movq %r14, %r12
jmp 0x883b
leaq 0x65bd2(%rip), %rdi     # 0x6e400
leaq 0x8(%rsp), %rdx
callq 0x16996
movq %r14, %r12
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x884f
callq 0x5230
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0x8863
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)
movq %rbx, 0x60(%r15)
movb %bl, 0x68(%r15)
leaq 0x98(%r15), %rax
movq %rax, 0x88(%r15)
movq %rbx, 0x90(%r15)
movb %bl, 0x98(%r15)
leaq 0xb0(%r15), %rdi
leaq 0xc0(%r15), %rax
movq %rax, 0xb0(%r15)
movq %rbx, 0xb8(%r15)
movb %bl, 0xc0(%r15)
leaq 0xe0(%r15), %rax
movq %rax, 0xd0(%r15)
movq %rbx, 0xd8(%r15)
movb %bl, 0xe0(%r15)
leaq 0x100(%r15), %rax
movq %rax, 0xf0(%r15)
movq %rbx, 0xf8(%r15)
movb %bl, 0x100(%r15)
leaq 0x120(%r15), %rax
movq %rax, 0x110(%r15)
movq %rbx, 0x118(%r15)
movb %bl, 0x120(%r15)
movq %r15, %rax
addq $0x140, %rax            # imm = 0x140
movq %rax, 0x130(%r15)
movq %rbx, 0x138(%r15)
movb %bl, 0x140(%r15)
movq %r15, 0x8(%rsp)
movb $0x1, 0x49(%r15)
movl $0x1010101, 0x45(%r15)  # imm = 0x1010101
movl $0x2, (%r15)
movb %bl, 0x44(%r15)
movl %ebx, 0x40(%r15)
movl %ebx, 0x38(%r15)
movq 0xb8(%r15), %rdx
leaq 0xffa7(%rip), %rcx      # 0x1891c
movl $0x6, %r8d
xorl %esi, %esi
callq 0x5380
movq 0x8(%rsp), %rdi
movq 0xd8(%rdi), %rdx
addq $0xd0, %rdi
leaq 0x10045(%rip), %rcx     # 0x189e1
movl $0x5, %r8d
xorl %esi, %esi
callq 0x5380
movq 0x8(%rsp), %rdi
movb $0x73, 0x24(%rdi)
movq 0xf8(%rdi), %rdx
addq $0xf0, %rdi
leaq 0xff5c(%rip), %rcx      # 0x18923
movl $0xc, %r8d
xorl %esi, %esi
callq 0x5380
movq 0x8(%rsp), %rdi
movq 0x118(%rdi), %rdx
addq $0x110, %rdi            # imm = 0x110
leaq 0xff42(%rip), %rcx      # 0x18930
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 0xffa5(%rip), %rcx      # 0x189c1
movl $0x7, %r8d
xorl %esi, %esi
callq 0x5380
movq 0x8(%rsp), %rax
movl $0x7, 0x3c(%rax)
movl $0xa, 0x20(%rax)
movaps 0xf6ad(%rip), %xmm0     # 0x180f0
movups %xmm0, 0x4(%rax)
movsd 0xf6b1(%rip), %xmm0     # 0x18100
movsd %xmm0, 0x18(%rax)
callq 0x5070
xorps %xmm0, %xmm0
cvtsi2ss %eax, %xmm0
mulss 0xf59c(%rip), %xmm0     # 0x18004
addss 0xf5a4(%rip), %xmm0     # 0x18014
mulss 0xf5a0(%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 0xff1e(%rip), %rsi      # 0x189c9
leaq 0xff1f(%rip), %rdx      # 0x189d1
callq 0x16274
leaq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
movq %rax, (%rdi)
leaq 0xff07(%rip), %rsi      # 0x189d2
leaq 0xff09(%rip), %rdx      # 0x189db
callq 0x16274
leaq 0x50(%rsp), %rdi
leaq 0x300(%rsp), %rsi
leaq 0x7(%rsp), %rcx
movq %r12, %rdx
callq 0x160ba
movq 0x65818(%rip), %rax     # 0x6e310
xorps %xmm0, %xmm0
leaq 0x70(%rsp), %rdi
movaps %xmm0, (%rdi)
movq $0x0, 0x10(%rdi)
movups 0x30(%rax), %xmm0
movq 0x40(%rax), %rcx
leaq 0x50(%rsp), %r15
movaps (%r15), %xmm1
movups %xmm1, 0x30(%rax)
movq 0x10(%r15), %rdx
movq %rdx, 0x40(%rax)
movq 0x10(%rdi), %rax
movq %rcx, 0x10(%rdi)
movaps (%rdi), %xmm1
movaps %xmm0, (%rdi)
movaps %xmm1, (%r15)
movq %rax, 0x10(%r15)
callq 0x1602e
movq %r15, %rdi
callq 0x1602e
leaq 0x50(%rsp), %rdi
leaq 0x90(%rsp), %rsi
leaq 0x7(%rsp), %rcx
leaq 0x300(%rsp), %rdx
callq 0x160ba
movq 0x657b7(%rip), %rax     # 0x6e328
leaq 0x70(%rsp), %rdi
xorps %xmm0, %xmm0
movaps %xmm0, (%rdi)
movq $0x0, 0x10(%rdi)
movups 0x30(%rax), %xmm0
movq 0x40(%rax), %rcx
leaq 0x50(%rsp), %r15
movaps (%r15), %xmm1
movups %xmm1, 0x30(%rax)
movq 0x10(%r15), %rdx
movq %rdx, 0x40(%rax)
movq 0x10(%rdi), %rax
movq %rcx, 0x10(%rdi)
movaps (%rdi), %xmm1
movaps %xmm0, (%rdi)
movaps %xmm1, (%r15)
movq %rax, 0x10(%r15)
callq 0x1602e
movq %r15, %rdi
callq 0x1602e
movl $0x8, %ebx
leaq 0x30(%rsp), %r15
leaq 0x10(%rsp), %r12
movq 0x65736(%rip), %rax     # 0x6e310
movq 0x30(%rax), %rdi
addq %rbx, %rdi
movq %r15, %rsi
callq 0x5170
movq 0x65720(%rip), %rax     # 0x6e310
movq 0x30(%rax), %rax
movss -0x8(%rax,%rbx), %xmm0
addss 0xf41a(%rip), %xmm0     # 0x1801c
movss %xmm0, -0x8(%rax,%rbx)
movq 0x65719(%rip), %rax     # 0x6e328
movq 0x30(%rax), %rdi
addq %rbx, %rdi
movq %r12, %rsi
callq 0x5170
movq 0x65703(%rip), %rax     # 0x6e328
movq 0x30(%rax), %rax
movss -0x8(%rax,%rbx), %xmm0
addss 0xf3e9(%rip), %xmm0     # 0x18020
movss %xmm0, -0x8(%rax,%rbx)
addq $0x30, %rbx
cmpq $0x278, %rbx            # imm = 0x278
jne 0x8bd3
movq 0x657b7(%rip), %rsi     # 0x6e408
cmpq 0x657b8(%rip), %rsi     # 0x6e410
je 0x8c6c
movq 0x8(%rsp), %rax
movq %rax, (%rsi)
addq $0x8, 0x6579e(%rip)     # 0x6e408
jmp 0x8c7d
leaq 0x6578d(%rip), %rdi     # 0x6e400
leaq 0x8(%rsp), %rdx
callq 0x16996
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x8c91
callq 0x5230
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0x8ca5
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)
movq %rbx, 0x60(%r15)
movb %bl, 0x68(%r15)
leaq 0x98(%r15), %rax
movq %rax, 0x88(%r15)
movq %rbx, 0x90(%r15)
movb %bl, 0x98(%r15)
leaq 0xb0(%r15), %rdi
leaq 0xc0(%r15), %rax
movq %rax, 0xb0(%r15)
movq %rbx, 0xb8(%r15)
movb %bl, 0xc0(%r15)
leaq 0xe0(%r15), %rax
movq %rax, 0xd0(%r15)
movq %rbx, 0xd8(%r15)
movb %bl, 0xe0(%r15)
leaq 0x100(%r15), %rax
movq %rax, 0xf0(%r15)
movq %rbx, 0xf8(%r15)
movb %bl, 0x100(%r15)
leaq 0x120(%r15), %rax
movq %rax, 0x110(%r15)
movq %rbx, 0x118(%r15)
movb %bl, 0x120(%r15)
movq %r15, %rax
addq $0x140, %rax            # imm = 0x140
movq %rax, 0x130(%r15)
movq %rbx, 0x138(%r15)
movb %bl, 0x140(%r15)
movq %r15, 0x8(%rsp)
movb $0x1, 0x49(%r15)
movl $0x1010101, 0x45(%r15)  # imm = 0x1010101
movl $0x1, (%r15)
movb %bl, 0x44(%r15)
movl %ebx, 0x40(%r15)
movl %ebx, 0x38(%r15)
movq 0xb8(%r15), %rdx
leaq 0xf934(%rip), %rcx      # 0x186eb
movl $0x4, %r8d
xorl %esi, %esi
callq 0x5380
movq 0x8(%rsp), %rdi
movq 0xd8(%rdi), %rdx
addq $0xd0, %rdi
leaq 0xfc03(%rip), %rcx      # 0x189e1
movl $0x5, %r8d
xorl %esi, %esi
callq 0x5380
movq 0x8(%rsp), %rdi
movb $0x73, 0x24(%rdi)
movq 0xf8(%rdi), %rdx
addq $0xf0, %rdi
leaq 0xfbd3(%rip), %rcx      # 0x189dc
movl $0xa, %r8d
xorl %esi, %esi
callq 0x5380
movq 0x8(%rsp), %rdi
movq 0x118(%rdi), %rdx
addq $0x110, %rdi            # imm = 0x110
leaq 0xfbb7(%rip), %rcx      # 0x189e7
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 0xfc4f(%rip), %rcx      # 0x18aad
movl $0x9, %r8d
xorl %esi, %esi
callq 0x5380
movq 0x8(%rsp), %rax
movl $0xc, 0x3c(%rax)
movl $0x18, 0x20(%rax)
movaps 0xf28b(%rip), %xmm0     # 0x18110
movups %xmm0, 0x4(%rax)
movsd 0xf28f(%rip), %xmm0     # 0x18120
movsd %xmm0, 0x18(%rax)
callq 0x5070
xorps %xmm0, %xmm0
cvtsi2ss %eax, %xmm0
mulss 0xf15a(%rip), %xmm0     # 0x18004
addss 0xf162(%rip), %xmm0     # 0x18014
mulss 0xf15e(%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 0xfbca(%rip), %rsi      # 0x18ab7
leaq 0xfbcb(%rip), %rdx      # 0x18abf
callq 0x16274
leaq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
movq %rax, (%rdi)
leaq 0xfbb3(%rip), %rsi      # 0x18ac0
leaq 0xfbb4(%rip), %rdx      # 0x18ac8
callq 0x16274
leaq 0x50(%rsp), %rdi
leaq 0x300(%rsp), %rsi
leaq 0x7(%rsp), %rcx
movq %r14, %rdx
callq 0x160ba
movq 0x653d6(%rip), %rax     # 0x6e310
xorps %xmm0, %xmm0
leaq 0x70(%rsp), %rdi
movaps %xmm0, (%rdi)
movq $0x0, 0x10(%rdi)
movups 0x48(%rax), %xmm0
movq 0x58(%rax), %rcx
leaq 0x50(%rsp), %rbx
movaps (%rbx), %xmm1
movups %xmm1, 0x48(%rax)
movq 0x10(%rbx), %rdx
movq %rdx, 0x58(%rax)
movq 0x10(%rdi), %rax
movq %rcx, 0x10(%rdi)
movaps (%rdi), %xmm1
movaps %xmm0, (%rdi)
movaps %xmm1, (%rbx)
movq %rax, 0x10(%rbx)
callq 0x1602e
movq %rbx, %rdi
callq 0x1602e
leaq 0x50(%rsp), %rdi
leaq 0x90(%rsp), %rsi
leaq 0x7(%rsp), %rcx
leaq 0x300(%rsp), %rdx
callq 0x160ba
movq 0x65377(%rip), %rax     # 0x6e328
leaq 0x70(%rsp), %rdi
xorps %xmm0, %xmm0
movaps %xmm0, (%rdi)
movq $0x0, 0x10(%rdi)
movups 0x48(%rax), %xmm0
movq 0x58(%rax), %rcx
leaq 0x50(%rsp), %rbx
movaps (%rbx), %xmm1
movups %xmm1, 0x48(%rax)
movq 0x10(%rbx), %rdx
movq %rdx, 0x58(%rax)
movq 0x10(%rdi), %rax
movq %rcx, 0x10(%rdi)
movaps (%rdi), %xmm1
movaps %xmm0, (%rdi)
movaps %xmm1, (%rbx)
movq %rax, 0x10(%rbx)
callq 0x1602e
movq %rbx, %rdi
callq 0x1602e
movl $0x8, %r15d
leaq 0x30(%rsp), %rbx
leaq 0x10(%rsp), %r14
movq 0x652f7(%rip), %rax     # 0x6e310
movq 0x48(%rax), %rdi
addq %r15, %rdi
movq %rbx, %rsi
callq 0x5170
movq 0x652e1(%rip), %rax     # 0x6e310
movq 0x48(%rax), %rax
movss -0x8(%rax,%r15), %xmm0
addss 0xefe2(%rip), %xmm0     # 0x18024
movss %xmm0, -0x8(%rax,%r15)
movq 0x652d8(%rip), %rax     # 0x6e328
movq 0x48(%rax), %rdi
addq %r15, %rdi
movq %r14, %rsi
callq 0x5170
movq 0x652c2(%rip), %rax     # 0x6e328
movq 0x48(%rax), %rax
movss -0x8(%rax,%r15), %xmm0
addss 0xefaf(%rip), %xmm0     # 0x18028
movss %xmm0, -0x8(%rax,%r15)
addq $0x30, %r15
cmpq $0x278, %r15            # imm = 0x278
jne 0x9012
movq 0x65374(%rip), %rsi     # 0x6e408
cmpq 0x65375(%rip), %rsi     # 0x6e410
je 0x90af
movq 0x8(%rsp), %rax
movq %rax, (%rsi)
addq $0x8, 0x6535b(%rip)     # 0x6e408
jmp 0x90c0
leaq 0x6534a(%rip), %rdi     # 0x6e400
leaq 0x8(%rsp), %rdx
callq 0x16996
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x90d4
callq 0x5230
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0x90e8
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)
movq %r15, 0x60(%rbx)
movb %r15b, 0x68(%rbx)
leaq 0x98(%rbx), %rax
movq %rax, 0x88(%rbx)
movq %r15, 0x90(%rbx)
movb %r15b, 0x98(%rbx)
leaq 0xc0(%rbx), %rax
movq %rax, 0xb0(%rbx)
movq %r15, 0xb8(%rbx)
movb %r15b, 0xc0(%rbx)
leaq 0xe0(%rbx), %rax
movq %rax, 0xd0(%rbx)
movq %r15, 0xd8(%rbx)
movb %r15b, 0xe0(%rbx)
leaq 0x100(%rbx), %rax
movq %rax, 0xf0(%rbx)
movq %r15, 0xf8(%rbx)
movb %r15b, 0x100(%rbx)
leaq 0x120(%rbx), %rax
movq %rax, 0x110(%rbx)
movq %r15, 0x118(%rbx)
movb %r15b, 0x120(%rbx)
movq %rbx, %rax
addq $0x140, %rax            # imm = 0x140
movq %rax, 0x130(%rbx)
movq %r15, 0x138(%rbx)
movb %r15b, 0x140(%rbx)
movb %r15b, 0x49(%rbx)
movl $0x0, 0x45(%rbx)
movl %r14d, (%rbx)
movb %r15b, 0x44(%rbx)
movb $0x20, 0x24(%rbx)
incl %r14d
cmpl $0x8, %r14d
jne 0x90f1
leaq 0x2e8(%rsp), %rbx
xorl %r14d, %r14d
movq 0x2d8(%rsp,%r14), %rdi
leaq (%rbx,%r14), %rax
cmpq %rdi, %rax
je 0x920b
callq 0x5230
addq $-0x30, %r14
cmpq $-0x270, %r14           # imm = 0xFD90
jne 0x91f5
leaq 0x558(%rsp), %rbx
xorl %r14d, %r14d
movq 0x548(%rsp,%r14), %rdi
leaq (%rbx,%r14), %rax
cmpq %rdi, %rax
je 0x9239
callq 0x5230
addq $-0x30, %r14
cmpq $-0x270, %r14           # imm = 0xFD90
jne 0x9223
addq $0x578, %rsp            # imm = 0x578
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x9361
jmp 0x9361
jmp 0x9361
jmp 0x9361
jmp 0x9361
jmp 0x9293
jmp 0x9358
jmp 0x9361
jmp 0x9361
jmp 0x9293
jmp 0x9358
jmp 0x9361
jmp 0x9361
movq %rax, %rbx
jmp 0x9378
jmp 0x9358
jmp 0x9358
jmp 0x92b9
jmp 0x92b9
jmp 0x92b9
jmp 0x92b9
jmp 0x92b9
jmp 0x92b9
jmp 0x92b9
jmp 0x92b9
jmp 0x92b9
jmp 0x92b9
movq %rax, %rbx
cmpq %r15, %r14
je 0x93ab
leaq 0x90(%rsp), %r14
movq -0x28(%r15), %rdi
leaq -0x18(%r15), %rax
cmpq %rdi, %rax
je 0x92df
callq 0x5230
addq $-0x30, %r15
cmpq %r14, %r15
jne 0x92cd
jmp 0x93ab
movq %rax, %rbx
movq %r14, %r15
jmp 0x92bc
movq %rax, %rbx
jmp 0x93ab
jmp 0x9311
jmp 0x9311
jmp 0x9311
jmp 0x9311
jmp 0x9311
jmp 0x9311
jmp 0x9311
jmp 0x9311
jmp 0x9311
jmp 0x9311
movq %rax, %rbx
leaq 0x300(%rsp), %r15
cmpq %r14, %r15
je 0x93ca
movq -0x28(%r14), %rdi
leaq -0x18(%r14), %rax
cmpq %rdi, %rax
je 0x9337
callq 0x5230
addq $-0x30, %r14
cmpq %r15, %r14
jne 0x9325
jmp 0x93ca
movq %rax, %rbx
leaq 0x300(%rsp), %r14
jmp 0x9314
jmp 0x9358
jmp 0x9358
jmp 0x9358
movq %rax, %rbx
jmp 0x938c
jmp 0x9361
jmp 0x9361
movq %rax, %rbx
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x9378
callq 0x5230
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0x938c
callq 0x5230
movq $-0x270, %r14           # imm = 0xFD90
movq -0x10(%rbp), %rdi
cmpq %rdi, %rbp
je 0x93a1
callq 0x5230
addq $-0x30, %rbp
addq $0x30, %r14
jne 0x9393
movq $-0x270, %r14           # imm = 0xFD90
movq -0x10(%r13), %rdi
cmpq %rdi, %r13
je 0x93c0
callq 0x5230
addq $-0x30, %r13
addq $0x30, %r14
jne 0x93b2
movq %rbx, %rdi
callq 0x53d0