// File: /workspace/github_cpp_makefile_star2_O2/cybozu[P]yrmcds/src/config.cpp
// Function: yrmcds::config::load(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
void config::load(const std::string& path) {
    cybozu::config_parser cp(path);

    if( cp.exists(VIRTUAL_IP) )
        m_vip.parse(cp.get(VIRTUAL_IP));

    if( cp.exists(PORT) ) {
        int n = cp.get_as_int(PORT);
        if( n < 1 || n > 65535 )
            throw bad_config("Bad port: " + cp.get(PORT));
        m_port = static_cast<std::uint16_t>(n);
    }

    if( cp.exists(REPL_PORT) ) {
        int n = cp.get_as_int(REPL_PORT);
        if( n < 1 || n > 65535 )
            throw bad_config("Bad repl port: " + cp.get(REPL_PORT));
        m_repl_port = static_cast<std::uint16_t>(n);
    }

    if( cp.exists(BIND_IP) ) {
        for( auto& s: cybozu::tokenize(cp.get(BIND_IP), ' ') ) {
            m_bind_ip.emplace_back(s);
        }
    }

    if( cp.exists(MAX_CONNECTIONS) ) {
        int conns = cp.get_as_int(MAX_CONNECTIONS);
        if( conns < 0 )
            throw bad_config("max_connections must be >= 0");
        m_max_connections = conns;
    }

    if( cp.exists(TEMP_DIR) ) {
        m_tempdir = cp.get(TEMP_DIR);
        if( ! cybozu::is_dir(m_tempdir) )
            throw bad_config("Not a directory: " + m_tempdir);
        if( ! cybozu::is_writable(m_tempdir) )
            throw bad_config("Directory not writable: " + m_tempdir);
    }

    if( cp.exists(USER) ) {
        m_user = cp.get(USER);
    }

    if( cp.exists(GROUP) ) {
        m_group = cp.get(GROUP);
    }

    if( cp.exists(LOG_THRESHOLD) ) {
        auto it = THRESHOLDS.find(cp.get(LOG_THRESHOLD));
        if( it == THRESHOLDS.end() )
            throw bad_config("Invalid threshold: " + cp.get(LOG_THRESHOLD));
        m_threshold = it->second;
    }

    if( cp.exists(LOG_FILE) ) {
        m_logfile = cp.get(LOG_FILE);
        if( m_logfile.size() == 0 || m_logfile[0] != '/' )
            throw bad_config("Invalid log file: " + m_logfile);
    }

    if( cp.exists(BUCKETS) ) {
        int buckets = cp.get_as_int(BUCKETS);
        if( buckets < 1 )
            throw bad_config("buckets must be > 0");
        if( buckets < 10000 )
            cybozu::logger::warning() << "Too small bucket count!";
        m_buckets = buckets;
    }

    if( cp.exists(MAX_DATA_SIZE) ) {
        std::string t = cp.get(MAX_DATA_SIZE);
        if( t.empty() )
            throw bad_config("max_data_size must not be empty");
        m_max_data_size = parse_unit(t, MAX_DATA_SIZE);
    }

    if( cp.exists(HEAP_DATA_LIMIT) ) {
        std::string t = cp.get(HEAP_DATA_LIMIT);
        if( t.empty() )
            throw bad_config("heap_data_limit must not be empty");
        m_heap_data_limit = parse_unit(t, HEAP_DATA_LIMIT);
        if( m_heap_data_limit < 4096 )
            throw bad_config("too small heap_data_limit");
    }

    if( cp.exists(MEMORY_LIMIT) ) {
        std::string t = cp.get(MEMORY_LIMIT);
        if( t.empty() )
            throw bad_config("memory_limit must not be empty");
        m_memory_limit = parse_unit(t, MEMORY_LIMIT);
    }

    if( cp.exists(REPL_BUFSIZE) ) {
        int bufs = cp.get_as_int(REPL_BUFSIZE);
        if( bufs < 1 )
            throw bad_config("repl_buffer_size must be > 0");
        m_repl_bufsize = bufs;
    }

    if( cp.exists(INITIAL_REPL_SLEEP_DELAY_USEC) ) {
        std::uint64_t n = cp.get_as_uint64(INITIAL_REPL_SLEEP_DELAY_USEC);
        m_initial_repl_sleep_delay_usec = n;
    }

    if( cp.exists(SECURE_ERASE) ) {
        m_secure_erase = cp.get_as_bool(SECURE_ERASE);
    }

    if( cp.exists(LOCK_MEMORY) ) {
        m_lock_memory = cp.get_as_bool(LOCK_MEMORY);
    }

    if( cp.exists(WORKERS) ) {
        int n = cp.get_as_int(WORKERS);
        if( n < 1 )
            throw bad_config("workers must be > 0");
        if( n > MAX_WORKERS )
            throw bad_config("workers must be <= " +
                             std::to_string(MAX_WORKERS));
        m_workers = n;
    }

    if( cp.exists(GC_INTERVAL) ) {
        int n = cp.get_as_int(GC_INTERVAL);
        if( n < 1 )
            throw bad_config("gc_interval must be > 0");
        m_gc_interval = n;
    }

    if( cp.exists(SLAVE_TIMEOUT) ) {
        int n = cp.get_as_int(SLAVE_TIMEOUT);
        if( n < 1 )
            throw bad_config("slave_timeout must be > 0");
        m_slave_timeout = n;
    }

    m_counter_config.load(cp);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x80, %rsp
movq %rdi, %rbx
leaq 0x48(%rsp), %rdi
callq 0xd0f2
leaq 0x1abe9(%rip), %rsi     # 0x26656
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x84d8
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0xcee2
movl %eax, %ebp
leaq 0x8(%rsp), %rdi
callq 0x71d0
testb %bpl, %bpl
je 0xbad6
leaq 0x1abb3(%rip), %rsi     # 0x26656
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x84d8
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0xd042
movq %rbx, %rdi
movq %rax, %rsi
callq 0x10850
leaq 0x8(%rsp), %rdi
callq 0x71d0
leaq 0x1ab84(%rip), %rsi     # 0x26661
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x84d8
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0xcee2
movl %eax, %ebp
leaq 0x8(%rsp), %rdi
callq 0x71d0
testb %bpl, %bpl
je 0xbb54
leaq 0x1ab4e(%rip), %rsi     # 0x26661
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x84d8
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0xcf6e
movl %eax, %r14d
leaq 0x8(%rsp), %rdi
callq 0x71d0
movl $0xffff0000, %eax       # imm = 0xFFFF0000
leal (%r14,%rax), %ecx
cmpl %eax, %ecx
jbe 0xc5a5
movw %r14w, 0x20(%rbx)
leaq 0x1ab0b(%rip), %rsi     # 0x26666
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x84d8
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0xcee2
movl %eax, %ebp
leaq 0x8(%rsp), %rdi
callq 0x71d0
testb %bpl, %bpl
je 0xbbd2
leaq 0x1aad5(%rip), %rsi     # 0x26666
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x84d8
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0xcf6e
movl %eax, %r14d
leaq 0x8(%rsp), %rdi
callq 0x71d0
movl $0xffff0000, %eax       # imm = 0xFFFF0000
leal (%r14,%rax), %ecx
cmpl %eax, %ecx
jbe 0xc616
movw %r14w, 0x22(%rbx)
leaq 0x1aa97(%rip), %rsi     # 0x26670
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x84d8
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0xcee2
movl %eax, %ebp
leaq 0x8(%rsp), %rdi
callq 0x71d0
testb %bpl, %bpl
je 0xbc75
leaq 0x1aa61(%rip), %rsi     # 0x26670
leaq 0x8(%rsp), %rdi
leaq 0x7(%rsp), %rdx
callq 0x84d8
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0xd042
leaq 0x28(%rsp), %rdi
pushq $0x20
popq %rdx
movq %rax, %rsi
callq 0xb372
leaq 0x8(%rsp), %rdi
callq 0x71d0
movq 0x28(%rsp), %r14
movq 0x30(%rsp), %r12
leaq 0x28(%rbx), %r15
cmpq %r12, %r14
je 0xbc6b
movq %r15, %rdi
movq %r14, %rsi
callq 0xd13a
addq $0x20, %r14
jmp 0xbc55
leaq 0x28(%rsp), %rdi
callq 0x8780
leaq 0x1aa04(%rip), %rsi     # 0x26680
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x84d8
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0xcee2
movl %eax, %ebp
leaq 0x8(%rsp), %rdi
callq 0x71d0
testb %bpl, %bpl
je 0xbce7
leaq 0x1a9ce(%rip), %rsi     # 0x26680
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x84d8
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0xcf6e
movl %eax, %ebp
leaq 0x8(%rsp), %rdi
callq 0x71d0
testl %ebp, %ebp
js 0xc687
movl %ebp, 0x40(%rbx)
leaq 0x1a9a2(%rip), %rsi     # 0x26690
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x84d8
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0xcee2
movl %eax, %ebp
leaq 0x8(%rsp), %rdi
callq 0x71d0
testb %bpl, %bpl
je 0xbd7b
leaq 0x1a96c(%rip), %rsi     # 0x26690
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x84d8
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0xd042
leaq 0x48(%rbx), %r14
movq %r14, %rdi
movq %rax, %rsi
callq 0x7290
leaq 0x8(%rsp), %rdi
callq 0x71d0
movq %r14, %rdi
callq 0xd176
testb %al, %al
je 0xc6d5
movq %r14, %rdi
callq 0xd1a6
testb %al, %al
je 0xc721
leaq 0x1a917(%rip), %rsi     # 0x26699
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x84d8
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0xcee2
movl %eax, %ebp
leaq 0x8(%rsp), %rdi
callq 0x71d0
testb %bpl, %bpl
je 0xbdec
leaq 0x1a8e1(%rip), %rsi     # 0x26699
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x84d8
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0xd042
leaq 0x68(%rbx), %rdi
movq %rax, %rsi
callq 0x7290
leaq 0x8(%rsp), %rdi
callq 0x71d0
leaq 0x1a8ab(%rip), %rsi     # 0x2669e
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x84d8
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0xcee2
movl %eax, %ebp
leaq 0x8(%rsp), %rdi
callq 0x71d0
testb %bpl, %bpl
je 0xbe60
leaq 0x1a875(%rip), %rsi     # 0x2669e
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x84d8
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0xd042
leaq 0x88(%rbx), %rdi
movq %rax, %rsi
callq 0x7290
leaq 0x8(%rsp), %rdi
callq 0x71d0
leaq 0x1a83d(%rip), %rsi     # 0x266a4
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x84d8
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0xcee2
movl %eax, %ebp
leaq 0x8(%rsp), %rdi
callq 0x71d0
testb %bpl, %bpl
je 0xbeea
leaq 0x1a807(%rip), %rsi     # 0x266a4
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x84d8
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0xd042
leaq 0x2fcbe(%rip), %rdi     # 0x3bb80
movq %rax, %rsi
callq 0xe120
movq %rax, %r14
leaq 0x8(%rsp), %rdi
callq 0x71d0
testq %r14, %r14
je 0xc76d
movl 0x28(%r14), %eax
movl %eax, 0xa8(%rbx)
leaq 0x1a7c1(%rip), %rsi     # 0x266b2
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x84d8
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0xcee2
movl %eax, %ebp
leaq 0x8(%rsp), %rdi
callq 0x71d0
testb %bpl, %bpl
je 0xbf7b
leaq 0x1a78b(%rip), %rsi     # 0x266b2
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x84d8
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0xd042
leaq 0xb0(%rbx), %r15
movq %r15, %rdi
movq %rax, %rsi
callq 0x7290
leaq 0x8(%rsp), %rdi
callq 0x71d0
cmpq $0x0, 0xb8(%rbx)
je 0xc559
movq (%r15), %rax
cmpb $0x2f, (%rax)
jne 0xc559
leaq 0x1a739(%rip), %rsi     # 0x266bb
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x84d8
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0xcee2
movl %eax, %ebp
leaq 0x8(%rsp), %rdi
callq 0x71d0
testb %bpl, %bpl
je 0xc01d
leaq 0x1a703(%rip), %rsi     # 0x266bb
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x84d8
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0xcf6e
movl %eax, %ebp
leaq 0x8(%rsp), %rdi
callq 0x71d0
testl %ebp, %ebp
jle 0xc7de
cmpl $0x270f, %ebp           # imm = 0x270F
ja 0xc017
leaq 0x8(%rsp), %rdi
callq 0xd0b4
leaq 0x1a405(%rip), %rsi     # 0x26408
leaq 0x8(%rsp), %rdi
callq 0xd0da
leaq 0x8(%rsp), %rdi
callq 0x86e4
movl %ebp, 0xd0(%rbx)
leaq 0x1a69f(%rip), %rsi     # 0x266c3
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x84d8
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0xcee2
movl %eax, %ebp
leaq 0x8(%rsp), %rdi
callq 0x71d0
testb %bpl, %bpl
je 0xc0bd
leaq 0x1a669(%rip), %rsi     # 0x266c3
leaq 0x28(%rsp), %rdi
leaq 0x7(%rsp), %rdx
callq 0x84d8
leaq 0x48(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0xd042
leaq 0x8(%rsp), %rdi
movq %rax, %rsi
callq 0x7720
leaq 0x28(%rsp), %rdi
callq 0x71d0
cmpq $0x0, 0x10(%rsp)
je 0xc82c
leaq 0x1a621(%rip), %rsi     # 0x266c3
leaq 0x8(%rsp), %rdi
callq 0xcd42
movq %rax, 0xd8(%rbx)
leaq 0x8(%rsp), %rdi
callq 0x71d0
leaq 0x1a61c(%rip), %rsi     # 0x266e0
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x84d8
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0xcee2
movl %eax, %ebp
leaq 0x8(%rsp), %rdi
callq 0x71d0
testb %bpl, %bpl
je 0xc169
leaq 0x1a5e6(%rip), %rsi     # 0x266e0
leaq 0x28(%rsp), %rdi
leaq 0x7(%rsp), %rdx
callq 0x84d8
leaq 0x48(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0xd042
leaq 0x8(%rsp), %rdi
movq %rax, %rsi
callq 0x7720
leaq 0x28(%rsp), %rdi
callq 0x71d0
cmpq $0x0, 0x10(%rsp)
je 0xc87a
leaq 0x1a59e(%rip), %rsi     # 0x266e0
leaq 0x8(%rsp), %rdi
callq 0xcd42
movq %rax, 0xe0(%rbx)
cmpq $0xfff, %rax            # imm = 0xFFF
jbe 0xc8c8
leaq 0x8(%rsp), %rdi
callq 0x71d0
leaq 0x1a580(%rip), %rsi     # 0x266f0
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x84d8
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0xcee2
movl %eax, %ebp
leaq 0x8(%rsp), %rdi
callq 0x71d0
testb %bpl, %bpl
je 0xc209
leaq 0x1a54a(%rip), %rsi     # 0x266f0
leaq 0x28(%rsp), %rdi
leaq 0x7(%rsp), %rdx
callq 0x84d8
leaq 0x48(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0xd042
leaq 0x8(%rsp), %rdi
movq %rax, %rsi
callq 0x7720
leaq 0x28(%rsp), %rdi
callq 0x71d0
cmpq $0x0, 0x10(%rsp)
je 0xc916
leaq 0x1a502(%rip), %rsi     # 0x266f0
leaq 0x8(%rsp), %rdi
callq 0xcd42
movq %rax, 0xe8(%rbx)
leaq 0x8(%rsp), %rdi
callq 0x71d0
leaq 0x1a4f0(%rip), %rsi     # 0x26700
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x84d8
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0xcee2
movl %eax, %ebp
leaq 0x8(%rsp), %rdi
callq 0x71d0
testb %bpl, %bpl
je 0xc27e
leaq 0x1a4ba(%rip), %rsi     # 0x26700
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x84d8
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0xcf6e
movl %eax, %ebp
leaq 0x8(%rsp), %rdi
callq 0x71d0
testl %ebp, %ebp
jle 0xc964
movl %ebp, 0xf0(%rbx)
leaq 0x1a49b(%rip), %rsi     # 0x26720
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x84d8
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0xcee2
movl %eax, %ebp
leaq 0x8(%rsp), %rdi
callq 0x71d0
testb %bpl, %bpl
je 0xc2ed
leaq 0x1a465(%rip), %rsi     # 0x26720
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x84d8
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0xd1ba
movq %rax, %r14
leaq 0x8(%rsp), %rdi
callq 0x71d0
movq %r14, 0xf8(%rbx)
leaq 0x1a44a(%rip), %rsi     # 0x2673e
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x84d8
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0xcee2
movl %eax, %ebp
leaq 0x8(%rsp), %rdi
callq 0x71d0
testb %bpl, %bpl
je 0xc358
leaq 0x1a414(%rip), %rsi     # 0x2673e
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x84d8
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0xcef0
movb %al, 0x100(%rbx)
leaq 0x8(%rsp), %rdi
callq 0x71d0
leaq 0x1a3ec(%rip), %rsi     # 0x2674b
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x84d8
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0xcee2
movl %eax, %ebp
leaq 0x8(%rsp), %rdi
callq 0x71d0
testb %bpl, %bpl
je 0xc3c3
leaq 0x1a3b6(%rip), %rsi     # 0x2674b
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x84d8
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0xcef0
movb %al, 0x101(%rbx)
leaq 0x8(%rsp), %rdi
callq 0x71d0
leaq 0x1a38d(%rip), %rsi     # 0x26757
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x84d8
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0xcee2
movl %eax, %ebp
leaq 0x8(%rsp), %rdi
callq 0x71d0
testb %bpl, %bpl
je 0xc441
leaq 0x1a357(%rip), %rsi     # 0x26757
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x84d8
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0xcf6e
movl %eax, %ebp
leaq 0x8(%rsp), %rdi
callq 0x71d0
testl %ebp, %ebp
jle 0xc9b2
cmpl $0x41, %ebp
jae 0xca00
movl %ebp, 0x104(%rbx)
leaq 0x1a317(%rip), %rsi     # 0x2675f
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x84d8
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0xcee2
movl %eax, %ebp
leaq 0x8(%rsp), %rdi
callq 0x71d0
testb %bpl, %bpl
je 0xc4b6
leaq 0x1a2e1(%rip), %rsi     # 0x2675f
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x84d8
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0xcf6e
movl %eax, %ebp
leaq 0x8(%rsp), %rdi
callq 0x71d0
testl %ebp, %ebp
jle 0xca5b
movl %ebp, 0x108(%rbx)
leaq 0x1a2ae(%rip), %rsi     # 0x2676b
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x84d8
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0xcee2
movl %eax, %ebp
leaq 0x8(%rsp), %rdi
callq 0x71d0
testb %bpl, %bpl
je 0xc52b
leaq 0x1a278(%rip), %rsi     # 0x2676b
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x84d8
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0xcf6e
movl %eax, %ebp
leaq 0x8(%rsp), %rdi
callq 0x71d0
testl %ebp, %ebp
jle 0xcaa6
movl %ebp, 0x10c(%rbx)
addq $0x110, %rbx            # imm = 0x110
leaq 0x48(%rsp), %rsi
movq %rbx, %rdi
callq 0xb648
leaq 0x48(%rsp), %rdi
callq 0xd84e
addq $0x80, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
pushq $0x10
popq %rdi
callq 0x7240
movq %rax, %r14
leaq 0x19f28(%rip), %rsi     # 0x26493
leaq 0x8(%rsp), %rdi
movq %r15, %rdx
callq 0x9655
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0xd09e
xorl %ebp, %ebp
leaq 0x2ddaf(%rip), %rsi     # 0x3a340
movq 0x2e9e8(%rip), %rdx     # 0x3af80
movq %r14, %rdi
callq 0x7950
jmp 0xcaef
pushq $0x10
popq %rdi
callq 0x7240
movq %rax, %r14
leaq 0x1a0aa(%rip), %rsi     # 0x26661
leaq 0x28(%rsp), %rdi
leaq 0x7(%rsp), %rdx
callq 0x84d8
leaq 0x48(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0xd042
leaq 0x19de8(%rip), %rsi     # 0x263c4
leaq 0x8(%rsp), %rdi
movq %rax, %rdx
callq 0x9655
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0xd09e
xorl %ebp, %ebp
leaq 0x2dd3e(%rip), %rsi     # 0x3a340
movq 0x2e977(%rip), %rdx     # 0x3af80
movq %r14, %rdi
callq 0x7950
jmp 0xcaef
pushq $0x10
popq %rdi
callq 0x7240
movq %rax, %r14
leaq 0x1a03e(%rip), %rsi     # 0x26666
leaq 0x28(%rsp), %rdi
leaq 0x7(%rsp), %rdx
callq 0x84d8
leaq 0x48(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0xd042
leaq 0x19df7(%rip), %rsi     # 0x26444
leaq 0x8(%rsp), %rdi
movq %rax, %rdx
callq 0x9655
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0xd09e
xorl %ebp, %ebp
leaq 0x2dccd(%rip), %rsi     # 0x3a340
movq 0x2e906(%rip), %rdx     # 0x3af80
movq %r14, %rdi
callq 0x7950
jmp 0xcaef
pushq $0x10
popq %rdi
callq 0x7240
movq %rax, %r14
leaq 0x19d3e(%rip), %rsi     # 0x263d7
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x84d8
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0xd09e
xorl %ebp, %ebp
leaq 0x2dc7f(%rip), %rsi     # 0x3a340
movq 0x2e8b8(%rip), %rdx     # 0x3af80
movq %r14, %rdi
callq 0x7950
jmp 0xcaef
pushq $0x10
popq %rdi
callq 0x7240
movq %rax, %r15
leaq 0x19d6d(%rip), %rsi     # 0x26454
leaq 0x8(%rsp), %rdi
movq %r14, %rdx
callq 0x9655
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r15, %rdi
callq 0xd09e
xorl %ebp, %ebp
leaq 0x2dc33(%rip), %rsi     # 0x3a340
movq 0x2e86c(%rip), %rdx     # 0x3af80
movq %r15, %rdi
callq 0x7950
jmp 0xcaef
pushq $0x10
popq %rdi
callq 0x7240
movq %rax, %r15
leaq 0x19d33(%rip), %rsi     # 0x26466
leaq 0x8(%rsp), %rdi
movq %r14, %rdx
callq 0x9655
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r15, %rdi
callq 0xd09e
xorl %ebp, %ebp
leaq 0x2dbe7(%rip), %rsi     # 0x3a340
movq 0x2e820(%rip), %rdx     # 0x3af80
movq %r15, %rdi
callq 0x7950
jmp 0xcaef
pushq $0x10
popq %rdi
callq 0x7240
movq %rax, %r14
leaq 0x19f25(%rip), %rsi     # 0x266a4
leaq 0x28(%rsp), %rdi
leaq 0x7(%rsp), %rdx
callq 0x84d8
leaq 0x48(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0xd042
leaq 0x19cdb(%rip), %rsi     # 0x2647f
leaq 0x8(%rsp), %rdi
movq %rax, %rdx
callq 0x9655
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0xd09e
xorl %ebp, %ebp
leaq 0x2db76(%rip), %rsi     # 0x3a340
movq 0x2e7af(%rip), %rdx     # 0x3af80
movq %r14, %rdi
callq 0x7950
jmp 0xcaef
pushq $0x10
popq %rdi
callq 0x7240
movq %rax, %r14
leaq 0x19c04(%rip), %rsi     # 0x263f4
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x84d8
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0xd09e
xorl %ebp, %ebp
leaq 0x2db28(%rip), %rsi     # 0x3a340
movq 0x2e761(%rip), %rdx     # 0x3af80
movq %r14, %rdi
callq 0x7950
jmp 0xcaef
pushq $0x10
popq %rdi
callq 0x7240
movq %rax, %r14
leaq 0x19c68(%rip), %rsi     # 0x264a6
leaq 0x28(%rsp), %rdi
leaq 0x7(%rsp), %rdx
callq 0x84d8
movb $0x1, %bpl
leaq 0x28(%rsp), %rsi
movq %r14, %rdi
callq 0xd09e
xorl %ebp, %ebp
leaq 0x2dada(%rip), %rsi     # 0x3a340
movq 0x2e713(%rip), %rdx     # 0x3af80
movq %r14, %rdi
callq 0x7950
jmp 0xcaef
pushq $0x10
popq %rdi
callq 0x7240
movq %rax, %r14
leaq 0x19c3a(%rip), %rsi     # 0x264c6
leaq 0x28(%rsp), %rdi
leaq 0x7(%rsp), %rdx
callq 0x84d8
movb $0x1, %bpl
leaq 0x28(%rsp), %rsi
movq %r14, %rdi
callq 0xd09e
xorl %ebp, %ebp
leaq 0x2da8c(%rip), %rsi     # 0x3a340
movq 0x2e6c5(%rip), %rdx     # 0x3af80
movq %r14, %rdi
callq 0x7950
jmp 0xcaef
pushq $0x10
popq %rdi
callq 0x7240
movq %rax, %r14
leaq 0x19c0e(%rip), %rsi     # 0x264e8
leaq 0x28(%rsp), %rdi
leaq 0x7(%rsp), %rdx
callq 0x84d8
movb $0x1, %bpl
leaq 0x28(%rsp), %rsi
movq %r14, %rdi
callq 0xd09e
xorl %ebp, %ebp
leaq 0x2da3e(%rip), %rsi     # 0x3a340
movq 0x2e677(%rip), %rdx     # 0x3af80
movq %r14, %rdi
callq 0x7950
jmp 0xcaef
pushq $0x10
popq %rdi
callq 0x7240
movq %rax, %r14
leaq 0x19bda(%rip), %rsi     # 0x26502
leaq 0x28(%rsp), %rdi
leaq 0x7(%rsp), %rdx
callq 0x84d8
movb $0x1, %bpl
leaq 0x28(%rsp), %rsi
movq %r14, %rdi
callq 0xd09e
xorl %ebp, %ebp
leaq 0x2d9f0(%rip), %rsi     # 0x3a340
movq 0x2e629(%rip), %rdx     # 0x3af80
movq %r14, %rdi
callq 0x7950
jmp 0xcaef
pushq $0x10
popq %rdi
callq 0x7240
movq %rax, %r14
leaq 0x19bab(%rip), %rsi     # 0x26521
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x84d8
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0xd09e
xorl %ebp, %ebp
leaq 0x2d9a2(%rip), %rsi     # 0x3a340
movq 0x2e5db(%rip), %rdx     # 0x3af80
movq %r14, %rdi
callq 0x7950
jmp 0xcaef
pushq $0x10
popq %rdi
callq 0x7240
movq %rax, %r14
leaq 0x19b7a(%rip), %rsi     # 0x2653e
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x84d8
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0xd09e
xorl %ebp, %ebp
leaq 0x2d954(%rip), %rsi     # 0x3a340
movq 0x2e58d(%rip), %rdx     # 0x3af80
movq %r14, %rdi
callq 0x7950
jmp 0xcaef
pushq $0x10
popq %rdi
callq 0x7240
movq %rax, %r14
leaq 0x28(%rsp), %rdi
pushq $0x40
popq %rsi
callq 0xd28d
leaq 0x19b33(%rip), %rsi     # 0x26552
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x8abf
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0xd09e
xorl %ebp, %ebp
leaq 0x2d8f9(%rip), %rsi     # 0x3a340
movq 0x2e532(%rip), %rdx     # 0x3af80
movq %r14, %rdi
callq 0x7950
jmp 0xcaef
pushq $0x10
popq %rdi
callq 0x7240
movq %rax, %r14
leaq 0x19af9(%rip), %rsi     # 0x26566
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x84d8
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0xd09e
xorl %ebp, %ebp
leaq 0x2d8ab(%rip), %rsi     # 0x3a340
movq 0x2e4e4(%rip), %rdx     # 0x3af80
movq %r14, %rdi
callq 0x7950
jmp 0xcaef
pushq $0x10
popq %rdi
callq 0x7240
movq %rax, %r14
leaq 0x19ac6(%rip), %rsi     # 0x2657e
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x84d8
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0xd09e
xorl %ebp, %ebp
leaq 0x2d860(%rip), %rsi     # 0x3a340
movq 0x2e499(%rip), %rdx     # 0x3af80
movq %r14, %rdi
callq 0x7950
jmp 0xcaf5
jmp 0xcaf5
jmp 0xcaf5
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x71d0
jmp 0xcb10
jmp 0xcb0a
jmp 0xcb0a
jmp 0xcb0a
movq %rax, %rbx
movb $0x1, %bpl
leaq 0x28(%rsp), %rdi
jmp 0xcc4d
jmp 0xcc45
jmp 0xcc5c
jmp 0xcc45
jmp 0xcc5c
jmp 0xcc5c
jmp 0xcc45
jmp 0xcc5c
jmp 0xcc45
jmp 0xcc5c
jmp 0xcb53
jmp 0xcb6a
jmp 0xcb53
jmp 0xcb6a
jmp 0xcb53
jmp 0xcb6a
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
callq 0x71d0
testb %bpl, %bpl
jne 0xcb6d
jmp 0xcd10
movq %rax, %rbx
movq %r14, %rdi
callq 0x7390
jmp 0xcd10
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x86e4
jmp 0xcd30
jmp 0xcd1e
jmp 0xcc45
jmp 0xcc5c
jmp 0xcc5c
jmp 0xcba4
jmp 0xcbbb
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x71d0
testb %bpl, %bpl
jne 0xcbbe
jmp 0xcd30
movq %rax, %rbx
movq %r15, %rdi
jmp 0xcc62
jmp 0xcc45
jmp 0xcc5c
jmp 0xcc5c
jmp 0xcc5c
jmp 0xcd0d
jmp 0xcd1e
jmp 0xcd0d
jmp 0xcd1e
jmp 0xcd0d
jmp 0xcd1e
jmp 0xcd0d
jmp 0xcd1e
jmp 0xcd0d
jmp 0xcd1e
jmp 0xcd0d
jmp 0xcd1e
jmp 0xcd0d
jmp 0xcd1e
jmp 0xcd0d
jmp 0xcd1e
jmp 0xcd0d
jmp 0xcd1e
jmp 0xcd0d
jmp 0xcd1e
jmp 0xcd0d
jmp 0xcd1e
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x71d0
testb %bpl, %bpl
jne 0xcc5f
jmp 0xcd30
movq %rax, %rbx
movq %r14, %rdi
callq 0x7390
jmp 0xcd30
jmp 0xcd1e
jmp 0xcd1e
jmp 0xcd1e
jmp 0xcd1e
jmp 0xcd1e
jmp 0xcd0d
jmp 0xcd1e
jmp 0xcd1e
jmp 0xcd0d
jmp 0xcd1e
jmp 0xcd0d
jmp 0xcd1e
jmp 0xcd1e
jmp 0xcd0d
jmp 0xcd1e
jmp 0xcd0d
jmp 0xcd1e
jmp 0xcd0d
jmp 0xcd1e
jmp 0xcd0d
jmp 0xcd1e
jmp 0xcd0d
jmp 0xcd1e
jmp 0xcd0d
jmp 0xcd1e
jmp 0xcd0d
jmp 0xcd1e
jmp 0xccc9
jmp 0xcd0d
jmp 0xcd1e
jmp 0xccc9
jmp 0xcd0d
jmp 0xcd1e
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
jmp 0xcd15
jmp 0xcd0d
jmp 0xcd1e
jmp 0xcd0d
jmp 0xcd1e
jmp 0xcd0d
jmp 0xcd0d
jmp 0xcd1e
jmp 0xcd0d
jmp 0xcd0d
jmp 0xcd1e
jmp 0xcd0d
jmp 0xcd0d
jmp 0xcd1e
jmp 0xcd0d
jmp 0xcd0d
jmp 0xcd1e
jmp 0xcd0d
jmp 0xcd0d
jmp 0xcd1e
jmp 0xcd0d
jmp 0xcd1e
jmp 0xcd0d
jmp 0xcd0d
jmp 0xcd1e
jmp 0xcd0d
jmp 0xcd1e
jmp 0xcd0d
jmp 0xcd1e
jmp 0xcd0d
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x71d0
jmp 0xcd30
jmp 0xcd1e
movq %rax, %rbx
jmp 0xcd30
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
callq 0x8780
leaq 0x48(%rsp), %rdi
callq 0xd84e
movq %rbx, %rdi
callq 0x7990