// File: superblocks[P]superblocks/set-gil.cpp
// Function: Superblocks::init()
void Superblocks::init() {

	coin = "GIL";
	coin_name = "Gil";

	hash_length = 64;

	// normal (step 0)
	reward[0] = 0;

	// variable block (step 1)
	reward[1] = 10;
	seed_type[1] = SEED_WITH_PREVIOUS_BLOCK_HASH;
	cutout_start[1] = 8;
	cutout_length[1] = 7;
	rnd_range_low[1] = 1;
	rnd_range_high[1] = 400000;
	reward[1]  = 10;  luck_x[1] =  10000; luck_type[1]  = LUCK_WITH_LESS_THAN_X;

	// variable blocks (step 2+)
	reward[2]  = 11; luck_x[2]  =  20000; luck_type[2]  = LUCK_WITH_LESS_THAN_X;
	reward[3]  = 12; luck_x[3]  =  30000; luck_type[3]  = LUCK_WITH_LESS_THAN_X;
	reward[4]  = 13; luck_x[4]  =  40000; luck_type[4]  = LUCK_WITH_LESS_THAN_X;
	reward[5]  = 14; luck_x[5]  =  50000; luck_type[5]  = LUCK_WITH_LESS_THAN_X;
	reward[6]  = 15; luck_x[6]  =  60000; luck_type[6]  = LUCK_WITH_LESS_THAN_X;
	reward[7]  = 16; luck_x[7]  =  70000; luck_type[7]  = LUCK_WITH_LESS_THAN_X;
	reward[8]  = 17; luck_x[8]  =  80000; luck_type[8]  = LUCK_WITH_LESS_THAN_X;
	reward[9]  = 18; luck_x[9]  =  90000; luck_type[9]  = LUCK_WITH_LESS_THAN_X;
	reward[10] = 19; luck_x[10] = 100000; luck_type[10] = LUCK_WITH_LESS_THAN_X;
	reward[11] = 20; luck_x[11] = 110000; luck_type[11] = LUCK_WITH_LESS_THAN_X;
	reward[12] = 21; luck_x[12] = 120000; luck_type[12] = LUCK_WITH_LESS_THAN_X;
	reward[13] = 22; luck_x[13] = 130000; luck_type[13] = LUCK_WITH_LESS_THAN_X;
	reward[14] = 23; luck_x[14] = 140000; luck_type[14] = LUCK_WITH_LESS_THAN_X;
	reward[15] = 24; luck_x[15] = 150000; luck_type[15] = LUCK_WITH_LESS_THAN_X;
	reward[16] = 25; luck_x[16] = 160000; luck_type[16] = LUCK_WITH_LESS_THAN_X;
	reward[17] = 26; luck_x[17] = 170000; luck_type[17] = LUCK_WITH_LESS_THAN_X;
	reward[18] = 27; luck_x[18] = 180000; luck_type[18] = LUCK_WITH_LESS_THAN_X;
	reward[19] = 28; luck_x[19] = 190000; luck_type[19] = LUCK_WITH_LESS_THAN_X;
	reward[20] = 29; luck_x[20] = 200000; luck_type[20] = LUCK_WITH_LESS_THAN_X;
	reward[21] = 30; luck_x[21] = 210000; luck_type[21] = LUCK_WITH_LESS_THAN_X;
	reward[22] = 31; luck_x[22] = 220000; luck_type[22] = LUCK_WITH_LESS_THAN_X;
	reward[23] = 32; luck_x[23] = 230000; luck_type[23] = LUCK_WITH_LESS_THAN_X;
	reward[24] = 33; luck_x[24] = 240000; luck_type[24] = LUCK_WITH_LESS_THAN_X;
	reward[25] = 34; luck_x[25] = 250000; luck_type[25] = LUCK_WITH_LESS_THAN_X;
	reward[26] = 35; luck_x[26] = 260000; luck_type[26] = LUCK_WITH_LESS_THAN_X;
	reward[27] = 36; luck_x[27] = 270000; luck_type[27] = LUCK_WITH_LESS_THAN_X;
	reward[28] = 37; luck_x[28] = 280000; luck_type[28] = LUCK_WITH_LESS_THAN_X;
	reward[29] = 38; luck_x[29] = 290000; luck_type[29] = LUCK_WITH_LESS_THAN_X;
	reward[30] = 39; luck_x[30] = 300000; luck_type[30] = LUCK_WITH_LESS_THAN_X;
	reward[31] = 40; luck_x[31] = 310000; luck_type[31] = LUCK_WITH_LESS_THAN_X;
	reward[32] = 41; luck_x[32] = 320000; luck_type[32] = LUCK_WITH_LESS_THAN_X;
	reward[33] = 42; luck_x[33] = 330000; luck_type[33] = LUCK_WITH_LESS_THAN_X;
	reward[34] = 43; luck_x[34] = 340000; luck_type[34] = LUCK_WITH_LESS_THAN_X;
	reward[35] = 44; luck_x[35] = 350000; luck_type[35] = LUCK_WITH_LESS_THAN_X;
	reward[36] = 45; luck_x[36] = 360000; luck_type[36] = LUCK_WITH_LESS_THAN_X;
	reward[37] = 46; luck_x[37] = 370000; luck_type[37] = LUCK_WITH_LESS_THAN_X;
	reward[38] = 47; luck_x[38] = 380000; luck_type[38] = LUCK_WITH_LESS_THAN_X;
	reward[39] = 48; luck_x[39] = 390000; luck_type[39] = LUCK_WITH_LESS_THAN_X;
	reward[40] = 49; luck_x[40] = 400000; luck_type[40] = LUCK_WITH_LESS_THAN_X;
	reward[41] = 50; luck_x[41] = 410001; luck_type[41] = LUCK_WITH_LESS_THAN_X;
 
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x10(%rbp)
addq $0x18, %rdi
leaq 0x1cb1(%rip), %rsi      # 0x5b00
callq 0x21c0
movq -0x10(%rbp), %rdi
addq $0x38, %rdi
leaq 0x1ca1(%rip), %rsi      # 0x5b04
callq 0x21c0
movq -0x10(%rbp), %rax
movl $0x40, 0x58(%rax)
movl $0x0, 0xa34(%rax)
movl $0xa, 0xa38(%rax)
movl $0x2, 0x60(%rax)
movl $0x8, 0x108(%rax)
movl $0x7, 0x1b0(%rax)
movl $0x1, 0x258(%rax)
movl $0x61a80, 0x300(%rax)   # imm = 0x61A80
movl $0xa, 0xa38(%rax)
movl $0x2710, 0x8e8(%rax)    # imm = 0x2710
movl $0x1, 0x840(%rax)
movl $0xb, 0xa3c(%rax)
movl $0x4e20, 0x8ec(%rax)    # imm = 0x4E20
movl $0x1, 0x844(%rax)
movl $0xc, 0xa40(%rax)
movl $0x7530, 0x8f0(%rax)    # imm = 0x7530
movl $0x1, 0x848(%rax)
movl $0xd, 0xa44(%rax)
movl $0x9c40, 0x8f4(%rax)    # imm = 0x9C40
movl $0x1, 0x84c(%rax)
movl $0xe, 0xa48(%rax)
movl $0xc350, 0x8f8(%rax)    # imm = 0xC350
movl $0x1, 0x850(%rax)
movl $0xf, 0xa4c(%rax)
movl $0xea60, 0x8fc(%rax)    # imm = 0xEA60
movl $0x1, 0x854(%rax)
movl $0x10, 0xa50(%rax)
movl $0x11170, 0x900(%rax)   # imm = 0x11170
movl $0x1, 0x858(%rax)
movl $0x11, 0xa54(%rax)
movl $0x13880, 0x904(%rax)   # imm = 0x13880
movl $0x1, 0x85c(%rax)
movl $0x12, 0xa58(%rax)
movl $0x15f90, 0x908(%rax)   # imm = 0x15F90
movl $0x1, 0x860(%rax)
movl $0x13, 0xa5c(%rax)
movl $0x186a0, 0x90c(%rax)   # imm = 0x186A0
movl $0x1, 0x864(%rax)
movl $0x14, 0xa60(%rax)
movl $0x1adb0, 0x910(%rax)   # imm = 0x1ADB0
movl $0x1, 0x868(%rax)
movl $0x15, 0xa64(%rax)
movl $0x1d4c0, 0x914(%rax)   # imm = 0x1D4C0
movl $0x1, 0x86c(%rax)
movl $0x16, 0xa68(%rax)
movl $0x1fbd0, 0x918(%rax)   # imm = 0x1FBD0
movl $0x1, 0x870(%rax)
movl $0x17, 0xa6c(%rax)
movl $0x222e0, 0x91c(%rax)   # imm = 0x222E0
movl $0x1, 0x874(%rax)
movl $0x18, 0xa70(%rax)
movl $0x249f0, 0x920(%rax)   # imm = 0x249F0
movl $0x1, 0x878(%rax)
movl $0x19, 0xa74(%rax)
movl $0x27100, 0x924(%rax)   # imm = 0x27100
movl $0x1, 0x87c(%rax)
movl $0x1a, 0xa78(%rax)
movl $0x29810, 0x928(%rax)   # imm = 0x29810
movl $0x1, 0x880(%rax)
movl $0x1b, 0xa7c(%rax)
movl $0x2bf20, 0x92c(%rax)   # imm = 0x2BF20
movl $0x1, 0x884(%rax)
movl $0x1c, 0xa80(%rax)
movl $0x2e630, 0x930(%rax)   # imm = 0x2E630
movl $0x1, 0x888(%rax)
movl $0x1d, 0xa84(%rax)
movl $0x30d40, 0x934(%rax)   # imm = 0x30D40
movl $0x1, 0x88c(%rax)
movl $0x1e, 0xa88(%rax)
movl $0x33450, 0x938(%rax)   # imm = 0x33450
movl $0x1, 0x890(%rax)
movl $0x1f, 0xa8c(%rax)
movl $0x35b60, 0x93c(%rax)   # imm = 0x35B60
movl $0x1, 0x894(%rax)
movl $0x20, 0xa90(%rax)
movl $0x38270, 0x940(%rax)   # imm = 0x38270
movl $0x1, 0x898(%rax)
movl $0x21, 0xa94(%rax)
movl $0x3a980, 0x944(%rax)   # imm = 0x3A980
movl $0x1, 0x89c(%rax)
movl $0x22, 0xa98(%rax)
movl $0x3d090, 0x948(%rax)   # imm = 0x3D090
movl $0x1, 0x8a0(%rax)
movl $0x23, 0xa9c(%rax)
movl $0x3f7a0, 0x94c(%rax)   # imm = 0x3F7A0
movl $0x1, 0x8a4(%rax)
movl $0x24, 0xaa0(%rax)
movl $0x41eb0, 0x950(%rax)   # imm = 0x41EB0
movl $0x1, 0x8a8(%rax)
movl $0x25, 0xaa4(%rax)
movl $0x445c0, 0x954(%rax)   # imm = 0x445C0
movl $0x1, 0x8ac(%rax)
movl $0x26, 0xaa8(%rax)
movl $0x46cd0, 0x958(%rax)   # imm = 0x46CD0
movl $0x1, 0x8b0(%rax)
movl $0x27, 0xaac(%rax)
movl $0x493e0, 0x95c(%rax)   # imm = 0x493E0
movl $0x1, 0x8b4(%rax)
movl $0x28, 0xab0(%rax)
movl $0x4baf0, 0x960(%rax)   # imm = 0x4BAF0
movl $0x1, 0x8b8(%rax)
movl $0x29, 0xab4(%rax)
movl $0x4e200, 0x964(%rax)   # imm = 0x4E200
movl $0x1, 0x8bc(%rax)
movl $0x2a, 0xab8(%rax)
movl $0x50910, 0x968(%rax)   # imm = 0x50910
movl $0x1, 0x8c0(%rax)
movl $0x2b, 0xabc(%rax)
movl $0x53020, 0x96c(%rax)   # imm = 0x53020
movl $0x1, 0x8c4(%rax)
movl $0x2c, 0xac0(%rax)
movl $0x55730, 0x970(%rax)   # imm = 0x55730
movl $0x1, 0x8c8(%rax)
movl $0x2d, 0xac4(%rax)
movl $0x57e40, 0x974(%rax)   # imm = 0x57E40
movl $0x1, 0x8cc(%rax)
movl $0x2e, 0xac8(%rax)
movl $0x5a550, 0x978(%rax)   # imm = 0x5A550
movl $0x1, 0x8d0(%rax)
movl $0x2f, 0xacc(%rax)
movl $0x5cc60, 0x97c(%rax)   # imm = 0x5CC60
movl $0x1, 0x8d4(%rax)
movl $0x30, 0xad0(%rax)
movl $0x5f370, 0x980(%rax)   # imm = 0x5F370
movl $0x1, 0x8d8(%rax)
movl $0x31, 0xad4(%rax)
movl $0x61a80, 0x984(%rax)   # imm = 0x61A80
movl $0x1, 0x8dc(%rax)
movl $0x32, 0xad8(%rax)
movl $0x64191, 0x988(%rax)   # imm = 0x64191
movl $0x1, 0x8e0(%rax)
addq $0x10, %rsp
popq %rbp
retq