// File: /workspace/github_cpp_makefile_star2_O1/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
pushq %rbx
pushq %rax
movq %rdi, %rbx
addq $0x18, %rdi
movq 0x20(%rbx), %rdx
leaq 0x18dc(%rip), %rcx      # 0x3b00
movl $0x3, %r8d
xorl %esi, %esi
callq 0x1130
leaq 0x38(%rbx), %rdi
movq 0x40(%rbx), %rdx
leaq 0x18c4(%rip), %rcx      # 0x3b04
movl $0x3, %r8d
xorl %esi, %esi
callq 0x1130
movl $0x40, 0x58(%rbx)
movabsq $0xa00000000, %rax      # imm = 0xA00000000
movq %rax, 0xa34(%rbx)
movl $0x2, 0x60(%rbx)
movl $0x8, 0x108(%rbx)
movl $0x7, 0x1b0(%rbx)
movl $0x1, %eax
movl %eax, 0x258(%rbx)
movl $0x61a80, %ecx          # imm = 0x61A80
movl %ecx, 0x300(%rbx)
movabsq $0x4e2000002710, %rdx   # imm = 0x4E2000002710
movq %rdx, 0x8e8(%rbx)
movl %eax, 0x840(%rbx)
movl $0xb, 0xa3c(%rbx)
movabsq $0x100000001, %rdx      # imm = 0x100000001
movq %rdx, 0x844(%rbx)
movabsq $0xd0000000c, %rsi      # imm = 0xD0000000C
movq %rsi, 0xa40(%rbx)
movabsq $0x9c4000007530, %rsi   # imm = 0x9C4000007530
movq %rsi, 0x8f0(%rbx)
movq %rdx, 0x84c(%rbx)
movabsq $0xf0000000e, %rsi      # imm = 0xF0000000E
movq %rsi, 0xa48(%rbx)
movabsq $0xea600000c350, %rsi   # imm = 0xEA600000C350
movq %rsi, 0x8f8(%rbx)
movl %eax, 0x854(%rbx)
movl $0x10, 0xa50(%rbx)
movabsq $0x1388000011170, %rsi  # imm = 0x1388000011170
movq %rsi, 0x900(%rbx)
movq %rdx, 0x858(%rbx)
movabsq $0x1200000011, %rsi     # imm = 0x1200000011
movq %rsi, 0xa54(%rbx)
movabsq $0x186a000015f90, %rsi  # imm = 0x186A000015F90
movq %rsi, 0x908(%rbx)
movq %rdx, 0x860(%rbx)
movabsq $0x1400000013, %rsi     # imm = 0x1400000013
movq %rsi, 0xa5c(%rbx)
movabsq $0x1d4c00001adb0, %rsi  # imm = 0x1D4C00001ADB0
movq %rsi, 0x910(%rbx)
movq %rdx, 0x868(%rbx)
movabsq $0x1600000015, %rsi     # imm = 0x1600000015
movq %rsi, 0xa64(%rbx)
movabsq $0x222e00001fbd0, %rsi  # imm = 0x222E00001FBD0
movq %rsi, 0x918(%rbx)
movq %rdx, 0x870(%rbx)
movabsq $0x1800000017, %rsi     # imm = 0x1800000017
movq %rsi, 0xa6c(%rbx)
movabsq $0x27100000249f0, %rsi  # imm = 0x27100000249F0
movq %rsi, 0x920(%rbx)
movq %rdx, 0x878(%rbx)
movabsq $0x1a00000019, %rdx     # imm = 0x1A00000019
movq %rdx, 0xa74(%rbx)
movl $0x29810, 0x928(%rbx)   # imm = 0x29810
movl %eax, 0x880(%rbx)
movl $0x1b, 0xa7c(%rbx)
movl $0x2bf20, 0x92c(%rbx)   # imm = 0x2BF20
movl %eax, 0x884(%rbx)
movl $0x1c, 0xa80(%rbx)
movl $0x2e630, 0x930(%rbx)   # imm = 0x2E630
movl %eax, 0x888(%rbx)
movl $0x1d, 0xa84(%rbx)
movl $0x30d40, 0x934(%rbx)   # imm = 0x30D40
movl %eax, 0x88c(%rbx)
movl $0x1e, 0xa88(%rbx)
movl $0x33450, 0x938(%rbx)   # imm = 0x33450
movl %eax, 0x890(%rbx)
movl $0x1f, 0xa8c(%rbx)
movl $0x35b60, 0x93c(%rbx)   # imm = 0x35B60
movl %eax, 0x894(%rbx)
movl $0x20, 0xa90(%rbx)
movl $0x38270, 0x940(%rbx)   # imm = 0x38270
movl %eax, 0x898(%rbx)
movl $0x21, 0xa94(%rbx)
movl $0x3a980, 0x944(%rbx)   # imm = 0x3A980
movl %eax, 0x89c(%rbx)
movl $0x22, 0xa98(%rbx)
movl $0x3d090, 0x948(%rbx)   # imm = 0x3D090
movl %eax, 0x8a0(%rbx)
movl $0x23, 0xa9c(%rbx)
movl $0x3f7a0, 0x94c(%rbx)   # imm = 0x3F7A0
movl %eax, 0x8a4(%rbx)
movl $0x24, 0xaa0(%rbx)
movl $0x41eb0, 0x950(%rbx)   # imm = 0x41EB0
movl %eax, 0x8a8(%rbx)
movl $0x25, 0xaa4(%rbx)
movl $0x445c0, 0x954(%rbx)   # imm = 0x445C0
movl %eax, 0x8ac(%rbx)
movl $0x26, 0xaa8(%rbx)
movl $0x46cd0, 0x958(%rbx)   # imm = 0x46CD0
movl %eax, 0x8b0(%rbx)
movl $0x27, 0xaac(%rbx)
movl $0x493e0, 0x95c(%rbx)   # imm = 0x493E0
movl %eax, 0x8b4(%rbx)
movl $0x28, 0xab0(%rbx)
movl $0x4baf0, 0x960(%rbx)   # imm = 0x4BAF0
movl %eax, 0x8b8(%rbx)
movl $0x29, 0xab4(%rbx)
movl $0x4e200, 0x964(%rbx)   # imm = 0x4E200
movl %eax, 0x8bc(%rbx)
movl $0x2a, 0xab8(%rbx)
movl $0x50910, 0x968(%rbx)   # imm = 0x50910
movl %eax, 0x8c0(%rbx)
movl $0x2b, 0xabc(%rbx)
movl $0x53020, 0x96c(%rbx)   # imm = 0x53020
movl %eax, 0x8c4(%rbx)
movl $0x2c, 0xac0(%rbx)
movl $0x55730, 0x970(%rbx)   # imm = 0x55730
movl %eax, 0x8c8(%rbx)
movl $0x2d, 0xac4(%rbx)
movl $0x57e40, 0x974(%rbx)   # imm = 0x57E40
movl %eax, 0x8cc(%rbx)
movl $0x2e, 0xac8(%rbx)
movl $0x5a550, 0x978(%rbx)   # imm = 0x5A550
movl %eax, 0x8d0(%rbx)
movl $0x2f, 0xacc(%rbx)
movl $0x5cc60, 0x97c(%rbx)   # imm = 0x5CC60
movl %eax, 0x8d4(%rbx)
movl $0x30, 0xad0(%rbx)
movl $0x5f370, 0x980(%rbx)   # imm = 0x5F370
movl %eax, 0x8d8(%rbx)
movl $0x31, 0xad4(%rbx)
movl %ecx, 0x984(%rbx)
movl %eax, 0x8dc(%rbx)
movl $0x32, 0xad8(%rbx)
movl $0x64191, 0x988(%rbx)   # imm = 0x64191
movl %eax, 0x8e0(%rbx)
addq $0x8, %rsp
popq %rbx
popq %rbp
retq