// File: /workspace/github_c_makefile_star2_O1/S01den[P]Lost_CavernRL/item.c
// Function: initObjects
void initObjects(Weapons listWeapons[], Armor listArmor[])
{
	int i = 0;

	for(i = 0; i < NBR_ARMORS; i++)
	{
		listArmor[i].state = 100;
		listArmor[i].indice = i;
		listArmor[i].x = 0;
		listArmor[i].y = 0;
	}
	for(i = 0; i < NBR_WEAPONS; i++)
	{
		listWeapons[i].indice = i;
		listWeapons[i].x = 0;
		listWeapons[i].y = 0;
	}

	listWeapons[0].name = "BONE SPEAR";
	listWeapons[0].degat = 6;
	listWeapons[0].efficiency = 85;
	listWeapons[0].strengthRequired = 11;
	listWeapons[0].state = 100;
	listWeapons[0].range = 1;
	listWeapons[0].type = 0;
	listWeapons[0].cost = 5;
	listWeapons[0].rarity = 1;
	listWeapons[0].description = "Your best friend's femur";

	listWeapons[1].name = "DARTS";
	listWeapons[1].degat = 8;
	listWeapons[1].efficiency = 70;
	listWeapons[1].strengthRequired = 5;
	listWeapons[1].state = 10;
	listWeapons[1].range = 4;
	listWeapons[1].type = 1;
	listWeapons[1].cost = 5;
	listWeapons[1].rarity = 1;
	listWeapons[1].description = "Random effect !";

	listWeapons[2].name = "BLASTER V1";
	listWeapons[2].degat = 9;
	listWeapons[2].efficiency = 80;
	listWeapons[2].strengthRequired = 5;
	listWeapons[2].state = 10;
	listWeapons[2].range = 6;
	listWeapons[2].type = 1;
	listWeapons[2].cost = 10;
	listWeapons[2].rarity = 1;
	listWeapons[2].description = "A blaster, nothing else";
	
	listWeapons[3].name = "FISTS";
	listWeapons[3].degat = 0;
	listWeapons[3].efficiency = 100;
	listWeapons[3].strengthRequired = 0;
	listWeapons[3].state = -1;
	listWeapons[3].range = 1;
	listWeapons[3].type = 0;
	listWeapons[3].cost = 0;
	listWeapons[3].rarity = 1;
	listWeapons[3].description = "Just your hands...";

	listWeapons[4].name = "BLASTER MK-X";
	listWeapons[4].degat = 15;
	listWeapons[4].efficiency = 90;
	listWeapons[4].strengthRequired = 5;
	listWeapons[4].state = 5;
	listWeapons[4].range = 12;
	listWeapons[4].type = 1;
	listWeapons[4].cost = 20;
	listWeapons[4].rarity = 2;
	listWeapons[4].description = "Only 99999.99$";

	listWeapons[5].name = "POCKET BLASTER";
	listWeapons[5].degat = 8;
	listWeapons[5].efficiency = 100;
	listWeapons[5].strengthRequired = 1;
	listWeapons[5].state = 15;
	listWeapons[5].range = 9;
	listWeapons[5].type = 1;
	listWeapons[5].cost = 5;
	listWeapons[5].rarity = 1;
	listWeapons[5].description = "This toy is offered by MultiplexCorp-ToysTM, all rights reserved.";

	listWeapons[6].name = "FLAME THROWER XZ-3";
	listWeapons[6].degat = 3;
	listWeapons[6].efficiency = 100;
	listWeapons[6].strengthRequired = 10;
	listWeapons[6].state = 6;
	listWeapons[6].range = 6;
	listWeapons[6].type = 2; // type 2 = flame
	listWeapons[6].cost = 20;
	listWeapons[6].rarity = 2;
	listWeapons[6].description = "A smart flame thrower running on bbqOS 12.3.5, jailbreaked by geoHOT";

	listWeapons[7].name = "CRYSTAL CANON";
	listWeapons[7].degat = 0;
	listWeapons[7].efficiency = 100;
	listWeapons[7].strengthRequired = 11;
	listWeapons[7].state = 100;
	listWeapons[7].range = 4;
	listWeapons[7].type = 3; // crystal-canon type
	listWeapons[7].cost = 30;
	listWeapons[7].rarity = 3;
	listWeapons[7].description = "A strange artefact which shines when gems are close. Probably dangerous.";

	listWeapons[8].name = "SOLAR GUN";
	listWeapons[8].degat = 6;
	listWeapons[8].efficiency = 80;
	listWeapons[8].strengthRequired = 10;
	listWeapons[8].state = 10;
	listWeapons[8].range = 6;
	listWeapons[8].type = 2;
	listWeapons[8].cost = 15;
	listWeapons[8].rarity = 2;
	listWeapons[8].description = "Works even where there isn't sun !";

	listWeapons[9].name = "PORTATIVE CANON";
	listWeapons[9].degat = 9;
	listWeapons[9].efficiency = 80;
	listWeapons[9].strengthRequired = 12;
	listWeapons[9].state = 50;
	listWeapons[9].range = 6;
	listWeapons[9].type = 1;
	listWeapons[9].cost = 10;
	listWeapons[9].rarity = 2;
	listWeapons[9].description = "BE CAREFUL !";

	listWeapons[10].name = "CRYSTAL SWORD";
	listWeapons[10].degat = 1;
	listWeapons[10].efficiency = 100;
	listWeapons[10].strengthRequired = 9;
	listWeapons[10].state = 1;
	listWeapons[10].range = 1;
	listWeapons[10].type = 0;
	listWeapons[10].cost = 20;
	listWeapons[10].rarity = 3;
	listWeapons[10].description = "A strange artefact which shines when gems are close. Probably indestructible";

	listWeapons[11].name = "ELECTRIC SPEAR";
	listWeapons[11].degat = 7;
	listWeapons[11].efficiency = 85;
	listWeapons[11].strengthRequired = 10;
	listWeapons[11].state = 100;
	listWeapons[11].range = 1;
	listWeapons[11].type = 0;
	listWeapons[11].cost = 7;
	listWeapons[11].rarity = 1;
	listWeapons[11].description = "Power supply: 3735928559V";

	listWeapons[12].name = "HUNTING KNIFE";
	listWeapons[12].degat = 6;
	listWeapons[12].efficiency = 95;
	listWeapons[12].strengthRequired = 5;
	listWeapons[12].state = 100;
	listWeapons[12].range = 1;
	listWeapons[12].type = 0;
	listWeapons[12].cost = 5;
	listWeapons[12].rarity = 1;
	listWeapons[12].description = "Who is the idiot who brought that in a cavern ?";

	listWeapons[13].name = "AXE";
	listWeapons[13].degat = 8;
	listWeapons[13].efficiency = 75;
	listWeapons[13].strengthRequired = 12;
	listWeapons[13].state = 100;
	listWeapons[13].range = 1;
	listWeapons[13].type = 0;
	listWeapons[13].cost = 10;
	listWeapons[13].rarity = 1;
	listWeapons[13].description = "Old but gold";

	listWeapons[14].name = "GOD TENTACLE";
	listWeapons[14].degat = 100;
	listWeapons[14].efficiency = 10;
	listWeapons[14].strengthRequired = 15;
	listWeapons[14].state = 100;
	listWeapons[14].range = 1;
	listWeapons[14].type = 0;
	listWeapons[14].cost = 0;
	listWeapons[14].rarity = 3;
	listWeapons[14].description = "Yes, a god tentacle.";

	listArmor[0].name = "BONE ARMOR";
	listArmor[0].resistance = 9;
	listArmor[0].state = 100;
	listArmor[0].strengthRequired = 11;
	listArmor[0].rarity = 1;
	listArmor[0].description = "A bit creepy";
	listArmor[0].cost = 5;

	listArmor[1].name = "MEDICAL SUIT"; // heal the player
	listArmor[1].resistance = 8;
	listArmor[1].state = 100;
	listArmor[1].strengthRequired = 7;
	listArmor[1].rarity = 2;
	listArmor[1].description = "This armor, gracefully offered by MultiplexCorp, will heal all your wounds";
	listArmor[1].cost = 20;

	listArmor[2].name = "EXPLORER SUIT";
	listArmor[2].resistance = 10;
	listArmor[2].state = 100;
	listArmor[2].strengthRequired = 8;	
	listArmor[2].rarity = 1;
	listArmor[2].description = "This suit belonged to another idiot";
	listArmor[2].cost = 10;

	listArmor[3].name = "HUNTER ARMOR";
	listArmor[3].resistance = 12;
	listArmor[3].state = 100;
	listArmor[3].strengthRequired = 11;
	listArmor[3].rarity = 1;
	listArmor[3].description = "There aren't anything to hunt in this cavern...";
	listArmor[3].cost = 5;

	listArmor[4].name = "GUARDIAN HABIT";
	listArmor[4].resistance = 11;
	listArmor[4].state = 100;
	listArmor[4].strengthRequired = 9;
	listArmor[4].rarity = 1;
	listArmor[4].description = "Theft is bad.";	
	listArmor[4].cost = 5;		

	listArmor[5].name = "EXOSKELETON MK-1";
	listArmor[5].resistance = 14;
	listArmor[5].state = 100;
	listArmor[5].strengthRequired = 12;
	listArmor[5].rarity = 2;
	listArmor[5].description = "Can brave the flames ! Flying will be added during the next update.";
	listArmor[5].cost = 35;

	listArmor[6].name = "ANTI-RAD ARMOR"; // this armor can avoid radiations on radioactive zones
	listArmor[6].resistance = 8;
	listArmor[6].state = 100;
	listArmor[6].strengthRequired = 10;	
	listArmor[6].rarity = 2;
	listArmor[6].description = "Ignore the power of radioactivity ! The name isn't explicit enough ?";
	listArmor[6].cost = 20;

	listArmor[7].name = "CRYSTAL ARMOR";
	listArmor[7].resistance = 1;
	listArmor[7].state = 50;
	listArmor[7].strengthRequired = 1;
	listArmor[7].rarity = 3;
	listArmor[7].description = "Could resist to nuke with a certain ammount of gem...";
	listArmor[7].cost = 30;

	listArmor[8].name = "SYMBIOT"; // when you're equiped with this, every time you kill an enemy you get HP
	listArmor[8].resistance = 0;
	listArmor[8].state = 100;
	listArmor[8].strengthRequired = 0;
	listArmor[8].rarity = 3;
	listArmor[8].description = "Can make you a bit... hungry";
	listArmor[8].cost = 0;

	listArmor[9].name = "ARMORLESS";
	listArmor[9].resistance = 0;
	listArmor[9].strengthRequired = 0;
	listArmor[9].state = -1;
	listArmor[9].rarity = 1;
	listArmor[9].description = "Exhibitionist !";
	listArmor[9].cost = 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
leaq 0x2c(%rsi), %rax
xorl %ecx, %ecx
movl $0x64, -0x14(%rax)
movl %ecx, -0xc(%rax)
movq $0x0, -0x4(%rax)
incq %rcx
addq $0x30, %rax
cmpq $0xa, %rcx
jne 0x8468
leaq 0x38(%rdi), %rax
xorl %ecx, %ecx
movl %ecx, -0xc(%rax)
movq $0x0, -0x4(%rax)
incq %rcx
addq $0x40, %rax
cmpq $0xf, %rcx
jne 0x848d
leaq 0x8004(%rip), %rax      # 0x104b0
movq %rax, (%rdi)
movaps 0x7eea(%rip), %xmm0     # 0x103a0
movups %xmm0, 0x10(%rdi)
movl $0x1, %r11d
movq %r11, 0x20(%rdi)
movl $0x5, %edx
movl %edx, 0x28(%rdi)
movl $0x1, %eax
movl %eax, 0x30(%rdi)
leaq 0x7fe0(%rip), %rcx      # 0x104bb
movq %rcx, 0x8(%rdi)
leaq 0x7fee(%rip), %rcx      # 0x104d4
movq %rcx, 0x40(%rdi)
movaps 0x7ebf(%rip), %xmm0     # 0x103b0
movups %xmm0, 0x50(%rdi)
movabsq $0x100000004, %rcx      # imm = 0x100000004
movq %rcx, 0x60(%rdi)
movl %edx, 0x68(%rdi)
movl %eax, 0x70(%rdi)
leaq 0x7fca(%rip), %rcx      # 0x104da
movq %rcx, 0x48(%rdi)
leaq 0x7fcf(%rip), %rcx      # 0x104ea
movq %rcx, 0x80(%rdi)
movaps 0x7e97(%rip), %xmm0     # 0x103c0
movups %xmm0, 0x90(%rdi)
movabsq $0x100000006, %r14      # imm = 0x100000006
movq %r14, 0xa0(%rdi)
movl $0xa, %r8d
movl %r8d, 0xa8(%rdi)
movl %eax, 0xb0(%rdi)
leaq 0x7f9a(%rip), %rcx      # 0x104f5
movq %rcx, 0x88(%rdi)
leaq 0x7fa4(%rip), %rcx      # 0x1050d
movq %rcx, 0xc0(%rdi)
movaps 0x7e59(%rip), %xmm0     # 0x103d0
movups %xmm0, 0xd0(%rdi)
movq %r11, 0xe0(%rdi)
xorl %ecx, %ecx
movl %ecx, 0xe8(%rdi)
movl %eax, 0xf0(%rdi)
leaq 0x7f79(%rip), %r9       # 0x10513
movq %r9, 0xc8(%rdi)
leaq 0x7f7e(%rip), %r9       # 0x10526
movq %r9, 0x100(%rdi)
movaps 0x7e2a(%rip), %xmm0     # 0x103e0
movups %xmm0, 0x110(%rdi)
movabsq $0x10000000c, %r9       # imm = 0x10000000C
movq %r9, 0x120(%rdi)
movl $0x14, %r9d
movl %r9d, 0x128(%rdi)
movl $0x2, %r10d
movl %r10d, 0x130(%rdi)
leaq 0x7f44(%rip), %rbx      # 0x10533
movq %rbx, 0x108(%rdi)
leaq 0x7f45(%rip), %rbx      # 0x10542
movq %rbx, 0x140(%rdi)
movaps 0x7de5(%rip), %xmm0     # 0x103f0
movups %xmm0, 0x150(%rdi)
movabsq $0x100000009, %rbx      # imm = 0x100000009
movq %rbx, 0x160(%rdi)
movl %edx, 0x168(%rdi)
movl %eax, 0x170(%rdi)
leaq 0x7f1b(%rip), %rbx      # 0x10551
movq %rbx, 0x148(%rdi)
leaq 0x7f4f(%rip), %rbx      # 0x10593
movq %rbx, 0x180(%rdi)
movaps 0x7dae(%rip), %xmm0     # 0x10400
movups %xmm0, 0x190(%rdi)
movabsq $0x200000006, %r15      # imm = 0x200000006
movq %r15, 0x1a0(%rdi)
movl %r9d, 0x1a8(%rdi)
movl %r10d, 0x1b0(%rdi)
leaq 0x7f27(%rip), %rbx      # 0x105a6
movq %rbx, 0x188(%rdi)
leaq 0x7f5e(%rip), %rbx      # 0x105eb
movq %rbx, 0x1c0(%rdi)
movaps 0x7d75(%rip), %xmm0     # 0x10410
movups %xmm0, 0x1d0(%rdi)
movabsq $0x300000004, %rbx      # imm = 0x300000004
movq %rbx, 0x1e0(%rdi)
movl $0x1e, %ebp
movl %ebp, 0x1e8(%rdi)
movl $0x3, %ebx
movl %ebx, 0x1f0(%rdi)
leaq 0x7f29(%rip), %r12      # 0x105f9
movq %r12, 0x1c8(%rdi)
leaq 0x7f64(%rip), %r12      # 0x10642
movq %r12, 0x200(%rdi)
movaps 0x7d34(%rip), %xmm0     # 0x10420
movups %xmm0, 0x210(%rdi)
movq %r15, 0x220(%rdi)
movl $0xf, 0x228(%rdi)
movl %r10d, 0x230(%rdi)
leaq 0x7f3a(%rip), %r15      # 0x1064c
movq %r15, 0x208(%rdi)
leaq 0x7f4f(%rip), %r15      # 0x1066f
movq %r15, 0x240(%rdi)
movaps 0x7d02(%rip), %xmm0     # 0x10430
movups %xmm0, 0x250(%rdi)
movq %r14, 0x260(%rdi)
movl %r8d, 0x268(%rdi)
movl %r10d, 0x270(%rdi)
leaq 0x7f2e(%rip), %r14      # 0x1067f
movq %r14, 0x248(%rdi)
leaq 0x7f2d(%rip), %r14      # 0x1068c
movq %r14, 0x280(%rdi)
movaps 0x7cd3(%rip), %xmm0     # 0x10440
movups %xmm0, 0x290(%rdi)
movq %r11, 0x2a0(%rdi)
movl %r9d, 0x2a8(%rdi)
movl %ebx, 0x2b0(%rdi)
leaq 0x7f0b(%rip), %r14      # 0x1069a
movq %r14, 0x288(%rdi)
leaq 0x7f4a(%rip), %r14      # 0x106e7
movq %r14, 0x2c0(%rdi)
movaps 0x7ca5(%rip), %xmm0     # 0x10450
movups %xmm0, 0x2d0(%rdi)
movq %r11, 0x2e0(%rdi)
movl $0x7, 0x2e8(%rdi)
movl %eax, 0x2f0(%rdi)
leaq 0x7f26(%rip), %r14      # 0x106f6
movq %r14, 0x2c8(%rdi)
leaq 0x7f32(%rip), %r14      # 0x10710
movq %r14, 0x300(%rdi)
movaps 0x7c74(%rip), %xmm0     # 0x10460
movups %xmm0, 0x310(%rdi)
movq %r11, 0x320(%rdi)
movl %edx, 0x328(%rdi)
movl %eax, 0x330(%rdi)
leaq 0x7f11(%rip), %r14      # 0x1071e
movq %r14, 0x308(%rdi)
leaq 0x7f33(%rip), %r14      # 0x1074e
movq %r14, 0x340(%rdi)
movaps 0x7c47(%rip), %xmm0     # 0x10470
movups %xmm0, 0x350(%rdi)
movq %r11, 0x360(%rdi)
movl %r8d, 0x368(%rdi)
movl %eax, 0x370(%rdi)
leaq 0x7f07(%rip), %r14      # 0x10752
movq %r14, 0x348(%rdi)
leaq 0x7f06(%rip), %r14      # 0x1075f
movq %r14, 0x380(%rdi)
movaps 0x7c19(%rip), %xmm0     # 0x10480
movups %xmm0, 0x390(%rdi)
movq %r11, 0x3a0(%rdi)
movl %ecx, 0x3a8(%rdi)
movl %ebx, 0x3b0(%rdi)
leaq 0x7ee4(%rip), %r11      # 0x1076c
movq %r11, 0x388(%rdi)
leaq 0x7eeb(%rip), %rdi      # 0x10781
movq %rdi, (%rsi)
movl %eax, 0x24(%rsi)
leaq 0x7ee9(%rip), %rdi      # 0x1078c
movq %rdi, 0x8(%rsi)
movaps 0x7be2(%rip), %xmm0     # 0x10490
movups %xmm0, 0x10(%rsi)
leaq 0x7ee0(%rip), %rdi      # 0x10799
movq %rdi, 0x30(%rsi)
movl %r10d, 0x54(%rsi)
leaq 0x7ede(%rip), %rdi      # 0x107a6
movq %rdi, 0x38(%rsi)
movaps 0x7bcd(%rip), %xmm0     # 0x104a0
movups %xmm0, 0x40(%rsi)
leaq 0x7f13(%rip), %rdi      # 0x107f1
movq %rdi, 0x60(%rsi)
movabsq $0x640000000a, %rdi     # imm = 0x640000000A
movq %rdi, 0x74(%rsi)
movl $0x8, 0x7c(%rsi)
movl %eax, 0x84(%rsi)
leaq 0x7efb(%rip), %rdi      # 0x107ff
movq %rdi, 0x68(%rsi)
movl %r8d, 0x70(%rsi)
leaq 0x7f10(%rip), %rdi      # 0x10823
movq %rdi, 0x90(%rsi)
movabsq $0x640000000c, %rdi     # imm = 0x640000000C
movq %rdi, 0xa4(%rsi)
movl $0xb, 0xac(%rsi)
movl %eax, 0xb4(%rsi)
leaq 0x7eee(%rip), %rdi      # 0x10830
movq %rdi, 0x98(%rsi)
movl %edx, 0xa0(%rsi)
leaq 0x7f0a(%rip), %rdi      # 0x10860
movq %rdi, 0xc0(%rsi)
movabsq $0x640000000b, %rdi     # imm = 0x640000000B
movq %rdi, 0xd4(%rsi)
movl $0x9, 0xdc(%rsi)
movl %eax, 0xe4(%rsi)
leaq 0x7eea(%rip), %rdi      # 0x1086f
movq %rdi, 0xc8(%rsi)
movl %edx, 0xd0(%rsi)
leaq 0x7ee4(%rip), %rdx      # 0x1087d
movq %rdx, 0xf0(%rsi)
movabsq $0x640000000e, %rdx     # imm = 0x640000000E
movq %rdx, 0x104(%rsi)
movl $0xc, 0x10c(%rsi)
movl %r10d, 0x114(%rsi)
leaq 0x7ec5(%rip), %rdx      # 0x1088e
movq %rdx, 0xf8(%rsi)
movl $0x23, 0x100(%rsi)
leaq 0x7ef1(%rip), %rdx      # 0x108d2
movq %rdx, 0x120(%rsi)
movabsq $0x6400000008, %rdx     # imm = 0x6400000008
movq %rdx, 0x134(%rsi)
movl %r8d, 0x13c(%rsi)
movl %r10d, 0x144(%rsi)
leaq 0x7ed3(%rip), %rdx      # 0x108e1
movq %rdx, 0x128(%rsi)
movl %r9d, 0x130(%rsi)
leaq 0x7f03(%rip), %rdx      # 0x10926
movq %rdx, 0x150(%rsi)
movabsq $0x3200000001, %rdx     # imm = 0x3200000001
movq %rdx, 0x164(%rsi)
movl %eax, 0x16c(%rsi)
movl %ebx, 0x174(%rsi)
leaq 0x7ee6(%rip), %rdx      # 0x10934
movq %rdx, 0x158(%rsi)
movl %ebp, 0x160(%rsi)
leaq 0x7f08(%rip), %rdx      # 0x1096a
movq %rdx, 0x180(%rsi)
movabsq $0x6400000000, %rdx     # imm = 0x6400000000
movq %rdx, 0x194(%rsi)
movl %ecx, 0x19c(%rsi)
movl %ebx, 0x1a4(%rsi)
leaq 0x7ee5(%rip), %rdx      # 0x10972
movq %rdx, 0x188(%rsi)
movl %ecx, 0x190(%rsi)
leaq 0x7eee(%rip), %rdx      # 0x1098f
movq %rdx, 0x1b0(%rsi)
movl %ecx, 0x1c4(%rsi)
movl %ecx, 0x1cc(%rsi)
movl $0xffffffff, 0x1c8(%rsi) # imm = 0xFFFFFFFF
movl %eax, 0x1d4(%rsi)
leaq 0x7ece(%rip), %rax      # 0x10999
movq %rax, 0x1b8(%rsi)
movl %ecx, 0x1c0(%rsi)
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
nopl (%rax)