// File: Shenggan[P]SnowFlake/test/../SnowFlake.h
// Function: SnowFlake::SnowFlake(int, int)
SnowFlake(int datacenter_Id, int machine_Id) {
        if ((uint64_t)datacenter_Id > max_datacenter_num_ || datacenter_Id < 0) {
            LLOG(ERRO) << "datacenterId can't be greater than max_datacenter_num_ or less than 0";
            exit(0);
        }
        if ((uint64_t)machine_Id > max_machine_num_ || machine_Id < 0) {
            LLOG(ERRO) << "machineId can't be greater than max_machine_num_or less than 0";
            exit(0);
        }
        datacenterId = datacenter_Id;
        machineId = machine_Id;
        sequence = 0L;
        lastStmp = 0L;
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1d0, %rsp            # imm = 0x1D0
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movl %edx, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x188(%rbp)
addq $0x20, %rdi
callq 0x5170
movslq -0xc(%rbp), %rax
cmpq $0x1f, %rax
ja 0x354d
cmpl $0x0, -0xc(%rbp)
jge 0x36f8
callq 0x2b40
movq %rax, %rdi
callq 0x2bf0
movl %eax, %ecx
movl $0x2, %eax
cmpl %ecx, %eax
jl 0x36f1
leaq -0x91(%rbp), %rdi
movq %rdi, -0x190(%rbp)
callq 0x23b0
movq -0x190(%rbp), %rdx
leaq 0x2aef(%rip), %rsi      # 0x6079
leaq -0x90(%rbp), %rdi
callq 0x2c00
jmp 0x3598
leaq -0xc9(%rbp), %rdi
movq %rdi, -0x198(%rbp)
callq 0x23b0
movq -0x198(%rbp), %rdx
leaq 0x2b0b(%rip), %rsi      # 0x60c4
leaq -0xc8(%rbp), %rdi
callq 0x2c00
jmp 0x35c7
leaq -0x70(%rbp), %rdi
movl $0x2, %esi
leaq -0x90(%rbp), %rdx
leaq -0xc8(%rbp), %rcx
movl $0x32, %r8d
callq 0x2cb0
jmp 0x35eb
leaq 0x2adc(%rip), %rsi      # 0x60ce
leaq -0x70(%rbp), %rdi
callq 0x5190
movq %rax, -0x1a0(%rbp)
jmp 0x3604
callq 0x2b40
movq %rax, -0x1a8(%rbp)
jmp 0x3612
movq -0x1a0(%rbp), %rsi
movq -0x1a8(%rbp), %rdi
callq 0x32e0
jmp 0x3627
leaq -0x70(%rbp), %rdi
callq 0x3470
leaq -0xc8(%rbp), %rdi
callq 0x20e0
leaq -0xc9(%rbp), %rdi
callq 0x2250
leaq -0x90(%rbp), %rdi
callq 0x20e0
leaq -0x91(%rbp), %rdi
callq 0x2250
jmp 0x36f1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
jmp 0x36e0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
jmp 0x36c8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
jmp 0x36bc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
leaq -0x70(%rbp), %rdi
callq 0x3470
leaq -0xc8(%rbp), %rdi
callq 0x20e0
leaq -0xc9(%rbp), %rdi
callq 0x2250
leaq -0x90(%rbp), %rdi
callq 0x20e0
leaq -0x91(%rbp), %rdi
callq 0x2250
jmp 0x38ef
xorl %edi, %edi
callq 0x2290
movslq -0x10(%rbp), %rax
cmpq $0x1f, %rax
ja 0x370c
cmpl $0x0, -0x10(%rbp)
jge 0x38c0
callq 0x2b40
movq %rax, %rdi
callq 0x2bf0
movl %eax, %ecx
movl $0x2, %eax
cmpl %ecx, %eax
jl 0x38b9
leaq -0x151(%rbp), %rdi
movq %rdi, -0x1b0(%rbp)
callq 0x23b0
movq -0x1b0(%rbp), %rdx
leaq 0x2930(%rip), %rsi      # 0x6079
leaq -0x150(%rbp), %rdi
callq 0x2c00
jmp 0x3757
leaq -0x179(%rbp), %rdi
movq %rdi, -0x1b8(%rbp)
callq 0x23b0
movq -0x1b8(%rbp), %rdx
leaq 0x294c(%rip), %rsi      # 0x60c4
leaq -0x178(%rbp), %rdi
callq 0x2c00
jmp 0x3786
leaq -0x130(%rbp), %rdi
movl $0x2, %esi
leaq -0x150(%rbp), %rdx
leaq -0x178(%rbp), %rcx
movl $0x36, %r8d
callq 0x2cb0
jmp 0x37ad
leaq 0x2960(%rip), %rsi      # 0x6114
leaq -0x130(%rbp), %rdi
callq 0x5270
movq %rax, -0x1c0(%rbp)
jmp 0x37c9
callq 0x2b40
movq %rax, -0x1c8(%rbp)
jmp 0x37d7
movq -0x1c0(%rbp), %rsi
movq -0x1c8(%rbp), %rdi
callq 0x32e0
jmp 0x37ec
leaq -0x130(%rbp), %rdi
callq 0x3470
leaq -0x178(%rbp), %rdi
callq 0x20e0
leaq -0x179(%rbp), %rdi
callq 0x2250
leaq -0x150(%rbp), %rdi
callq 0x20e0
leaq -0x151(%rbp), %rdi
callq 0x2250
jmp 0x38b9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
jmp 0x38ab
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
jmp 0x3893
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
jmp 0x3887
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
leaq -0x130(%rbp), %rdi
callq 0x3470
leaq -0x178(%rbp), %rdi
callq 0x20e0
leaq -0x179(%rbp), %rdi
callq 0x2250
leaq -0x150(%rbp), %rdi
callq 0x20e0
leaq -0x151(%rbp), %rdi
callq 0x2250
jmp 0x38ef
xorl %edi, %edi
callq 0x2290
movq -0x188(%rbp), %rax
movslq -0xc(%rbp), %rcx
movq %rcx, (%rax)
movslq -0x10(%rbp), %rcx
movq %rcx, 0x8(%rax)
movq $0x0, 0x10(%rax)
movq $0x0, 0x18(%rax)
addq $0x1d0, %rsp            # imm = 0x1D0
popq %rbp
retq
movq -0xa0(%rbp), %rdi
callq 0x23a0
nopl (%rax,%rax)