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

  coin = "STR"; 
	coin_name = "Starcoin";

	hash_length = 64;

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

	// superblocks

	seed_type[1] = SEED_WITH_PREVIOUS_BLOCK_HASH;
	cutout_start[1] = 5;
	cutout_length[1] = 7;
	rnd_range_low[1] = 1;
	rnd_range_high[1] = 14400;
	luck_type[1] = LUCK_WITH_MORE_THAN_X_AND_LESS_THAN_Y;
	luck_x[1] = 10000;
	luck_y[1] = 10121;
		secondary_rand[1] = 1;
		secondary_rand_type[1] = SECONDARY_REWARD_PLUS_RAND_MINUS_X;
		secondary_cutout_start[1] = 6;
		secondary_cutout_length[1] = 7; 
		secondary_rand_low[1] = 1;
		secondary_rand_high[1] = 601;
		secondary_rand_x[1] = 1;
	reward[1] = 200;


	seed_type[2] = SEED_WITH_PREVIOUS_BLOCK_HASH;
	cutout_start[2] = 5;
	cutout_length[2] = 7;
	rnd_range_low[2] = 1;
	rnd_range_high[2] = 14400;
	luck_type[2] = LUCK_WITH_MORE_THAN_X_AND_LESS_THAN_Y;
	luck_x[2] = 4000;
	luck_y[2] = 4011;
		secondary_rand[2] = 1;
		secondary_rand_type[2] = SECONDARY_REWARD_PLUS_RAND_MINUS_X;
		secondary_cutout_start[2] = 7;
		secondary_cutout_length[2] = 7;
		secondary_rand_low[2] = 1;
		secondary_rand_high[2] = 6001;
		secondary_rand_x[2] = 1;
	reward[2] = 2000;


	seed_type[3] = SEED_WITH_PREVIOUS_BLOCK_HASH;
	cutout_start[3] = 6;
	cutout_length[3] = 7;
	rnd_range_low[3] = 1;
	rnd_range_high[3] = 500000;
	luck_type[3] = LUCK_WITH_MORE_THAN_X_AND_LESS_THAN_Y;
	luck_x[3] = 300000;
	luck_y[3] = 300026;
		secondary_rand[3] = 1;
		secondary_rand_type[3] = SECONDARY_REWARD_PLUS_RAND_MINUS_X;
		secondary_cutout_start[3] = 4;
		secondary_cutout_length[3] = 7;
		secondary_rand_low[3] = 1;
		secondary_rand_high[3] = 20001;
		secondary_rand_x[3] = 1;
	reward[3] = 10000;


	seed_type[4] = SEED_WITH_PREVIOUS_BLOCK_HASH;
	cutout_start[4] = 6;
	cutout_length[4] = 7;
	rnd_range_low[4] = 1;
	rnd_range_high[4] = 500000;
	luck_type[4] = LUCK_WITH_MORE_THAN_X_AND_LESS_THAN_Y;
	luck_x[4] = 460000;
	luck_y[4] = 460003;
	reward[4] = 100000;



}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
pushq %rax
movq %rdi, %rbx
addq $0x18, %rdi
movq 0x20(%rbx), %rdx
leaq 0x1344(%rip), %rcx      # 0x3e80
movl $0x3, %r8d
xorl %esi, %esi
callq 0x1120
leaq 0x38(%rbx), %rdi
movq 0x40(%rbx), %rdx
leaq 0x132c(%rip), %rcx      # 0x3e84
movl $0x8, %r8d
xorl %esi, %esi
callq 0x1120
movl $0x40, 0x58(%rbx)
movabsq $0xc800000064, %rax     # imm = 0xC800000064
movq %rax, 0x188(%rbx)
movl $0x2, %eax
movl %eax, 0x60(%rbx)
movl $0x5, 0x74(%rbx)
movl $0x7, %ecx
movl %ecx, 0x88(%rbx)
movl $0x1, %edx
movl %edx, 0x9c(%rbx)
movl $0x3840, 0xb0(%rbx)     # imm = 0x3840
movl $0x3, %esi
movl %esi, 0x150(%rbx)
movl $0x2710, 0x164(%rbx)    # imm = 0x2710
movl $0x2789, 0x178(%rbx)    # imm = 0x2789
movl %edx, 0xc4(%rbx)
movl %edx, 0xd8(%rbx)
movl $0x6, %edi
movl %edi, 0x128(%rbx)
movl %ecx, 0x13c(%rbx)
movl %edx, 0xec(%rbx)
movl $0x259, 0x100(%rbx)     # imm = 0x259
movl %edx, 0x114(%rbx)
movabsq $0x200000002, %r8       # imm = 0x200000002
movq %r8, 0x64(%rbx)
movabsq $0x600000005, %r8       # imm = 0x600000005
movq %r8, 0x78(%rbx)
movabsq $0x700000007, %r8       # imm = 0x700000007
movq %r8, 0x8c(%rbx)
movabsq $0x100000001, %r9       # imm = 0x100000001
movq %r9, 0xa0(%rbx)
movabsq $0x7a12000003840, %r10  # imm = 0x7A12000003840
movq %r10, 0xb4(%rbx)
movabsq $0x300000003, %r10      # imm = 0x300000003
movq %r10, 0x154(%rbx)
movabsq $0x493e000000fa0, %r10  # imm = 0x493E000000FA0
movq %r10, 0x168(%rbx)
movabsq $0x493fa00000fab, %r10  # imm = 0x493FA00000FAB
movq %r10, 0x17c(%rbx)
movq %r9, 0xc8(%rbx)
movq %r9, 0xdc(%rbx)
movabsq $0x400000007, %r10      # imm = 0x400000007
movq %r10, 0x12c(%rbx)
movq %r8, 0x140(%rbx)
movq %r9, 0xf0(%rbx)
movabsq $0x4e2100001771, %r8    # imm = 0x4E2100001771
movq %r8, 0x104(%rbx)
movq %r9, 0x118(%rbx)
movabsq $0x2710000007d0, %r8    # imm = 0x2710000007D0
movq %r8, 0x190(%rbx)
movl %eax, 0x6c(%rbx)
movl %edi, 0x80(%rbx)
movl %ecx, 0x94(%rbx)
movl %edx, 0xa8(%rbx)
movl $0x7a120, 0xbc(%rbx)    # imm = 0x7A120
movl %esi, 0x15c(%rbx)
movl $0x704e0, 0x170(%rbx)   # imm = 0x704E0
movl $0x704e3, 0x184(%rbx)   # imm = 0x704E3
movl $0x186a0, 0x198(%rbx)   # imm = 0x186A0
addq $0x8, %rsp
popq %rbx
popq %rbp
retq