// File: /workspace/github_cpp_makefile_star2_O1/nilnilnil[P]autocomplete/src/main.cpp
// Function: main
int
main(int argc, char* argv[]) {
    parse_options(argc, argv);
    if (opt_show_help) {
        show_usage(argv);
        return 0;
    }

    struct mg_context *ctx;
    const char *options[] = {"listening_ports", port, NULL};

    started_at = time(NULL);

    cerr<<"INFO::Starting lib-face on port '"<<port<<"'\n";

    if (ac_file) {
        int nadded, nlines;
        const time_t start_time = time(NULL);
        int ret = do_import(ac_file, ac_sorted, minus_one, nadded, nlines);
        if (ret < 0) {
            fprintf(stderr, "ERROR::Could not add lines in file '%s'\n", ac_file);
        }
        else {
            fprintf(stderr, "INFO::Successfully added %d/%d records from \"%s\" in %d second(s)\n", 
                    nadded, nlines, ac_file, (int)(time(NULL) - start_time));
        }
    }

    ctx = mg_start(&callback, NULL, options);
    if (!ctx) {
        fprintf(stderr, "ERROR::Could not start the web server\n");
        return 1;
    }

    while (1) {
        // Never stop
        sleep(100);
    }
    mg_stop(ctx);

    return 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x50, %rsp
movq %rsi, %rbx
callq 0xabc3
cmpb $0x1, 0x11cbd(%rip)     # 0x1c9d1
jne 0xad2d
movq %rbx, %rdi
callq 0xab4a
xorl %eax, %eax
addq $0x50, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
leaq 0xa5f7(%rip), %rax      # 0x1532b
movq %rax, 0x10(%rsp)
movq 0x117c0(%rip), %rax     # 0x1c500
movq %rax, 0x18(%rsp)
movq $0x0, 0x20(%rsp)
xorl %edi, %edi
callq 0x5430
movq %rax, 0x11c6c(%rip)     # 0x1c9c8
movq 0x1128d(%rip), %rbx     # 0x1bff0
leaq 0xa5d1(%rip), %rsi      # 0x1533b
movl $0x21, %edx
movq %rbx, %rdi
callq 0x5590
movq 0x11782(%rip), %r14     # 0x1c500
testq %r14, %r14
je 0xad9f
movq %r14, %rdi
callq 0x5210
movq 0x1125e(%rip), %rdi     # 0x1bff0
movq %r14, %rsi
movq %rax, %rdx
callq 0x5590
jmp 0xadb6
movq (%rbx), %rax
movq -0x18(%rax), %rax
leaq (%rbx,%rax), %rdi
movl 0x20(%rbx,%rax), %esi
orl $0x1, %esi
callq 0x58b0
movq 0x11233(%rip), %rdi     # 0x1bff0
leaq 0xa5bf(%rip), %rsi      # 0x15383
movl $0x2, %edx
callq 0x5590
cmpq $0x0, 0x11c02(%rip)     # 0x1c9d8
jne 0xae00
leaq 0x11e(%rip), %rdi       # 0xaefd
leaq 0x10(%rsp), %rdx
xorl %esi, %esi
callq 0xf381
testq %rax, %rax
je 0xae89
movl $0x64, %edi
callq 0x5350
jmp 0xadf4
xorl %edi, %edi
callq 0x5430
movq %rax, %rbx
movq 0x11bc7(%rip), %rsi     # 0x1c9d8
leaq 0x30(%rsp), %r14
leaq 0x7(%rsp), %rdx
movq %r14, %rdi
callq 0xbfa4
movzbl 0x11ba6(%rip), %esi     # 0x1c9d0
leaq 0xc(%rsp), %rcx
leaq 0x8(%rsp), %r8
movq %r14, %rdi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0xa787
movl %eax, %ebp
leaq 0x40(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xae5e
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x54c0
movq 0x1116b(%rip), %rax     # 0x1bfd0
movq (%rax), %r14
testl %ebp, %ebp
jns 0xae9d
movq 0x11b65(%rip), %rdx     # 0x1c9d8
leaq 0xa4e3(%rip), %rsi      # 0x1535d
movq %r14, %rdi
xorl %eax, %eax
callq 0x56f0
jmp 0xadd8
leaq 0x10(%rsp), %rdi
callq 0x59f0
movl $0x1, %eax
jmp 0xad20
movl 0xc(%rsp), %ebp
movl 0x8(%rsp), %r15d
movq 0x11b2b(%rip), %r12     # 0x1c9d8
xorl %edi, %edi
callq 0x5430
subl %ebx, %eax
leaq 0xa4c9(%rip), %rsi      # 0x15386
movq %r14, %rdi
movl %ebp, %edx
movl %r15d, %ecx
movq %r12, %r8
movl %eax, %r9d
xorl %eax, %eax
callq 0x56f0
jmp 0xadd8
movq %rax, %rbx
leaq 0x40(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xaef5
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x54c0
movq %rbx, %rdi
callq 0x58e0