// File: /workspace/github_cpp_makefile_star2_O2/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 0x891e
cmpb $0x1, 0x11fd6(%rip)     # 0x1a9e1
jne 0x8a24
movq %rbx, %rdi
callq 0x88a7
xorl %eax, %eax
addq $0x50, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
leaq 0x9900(%rip), %rax      # 0x1232b
movq %rax, 0x10(%rsp)
movq 0x11ad9(%rip), %rax     # 0x1a510
movq %rax, 0x18(%rsp)
andq $0x0, 0x20(%rsp)
xorl %edi, %edi
callq 0x5420
movq %rax, 0x11f88(%rip)     # 0x1a9d8
movq 0x11591(%rip), %rdi     # 0x19fe8
leaq 0x98dd(%rip), %rsi      # 0x1233b
callq 0x5480
movq 0x11aa6(%rip), %rsi     # 0x1a510
movq %rax, %rdi
callq 0x5480
leaq 0x990a(%rip), %rsi      # 0x12383
movq %rax, %rdi
callq 0x5480
cmpq $0x0, 0x11f5f(%rip)     # 0x1a9e8
jne 0x8ab3
leaq 0x10a(%rip), %rdi       # 0x8b9c
leaq 0x10(%rsp), %rdx
xorl %esi, %esi
callq 0xc582
testq %rax, %rax
je 0x8b29
pushq $0x64
popq %rbx
movl %ebx, %edi
callq 0x5340
jmp 0x8aaa
xorl %edi, %edi
callq 0x5420
movq %rax, %rbx
movq 0x11f24(%rip), %rsi     # 0x1a9e8
leaq 0x30(%rsp), %r14
leaq 0x7(%rsp), %rdx
movq %r14, %rdi
callq 0x97ec
movzbl 0x11f03(%rip), %esi     # 0x1a9e0
pushq $-0x1
popq %rdx
leaq 0xc(%rsp), %rcx
leaq 0x8(%rsp), %r8
movq %r14, %rdi
callq 0x85b2
movl %eax, %ebp
leaq 0x30(%rsp), %rdi
callq 0x5210
movq 0x114c3(%rip), %rax     # 0x19fc8
movq (%rax), %r14
testl %ebp, %ebp
jns 0x8b4d
movq 0x11ed5(%rip), %rdx     # 0x1a9e8
leaq 0x9843(%rip), %rsi      # 0x1235d
movq %r14, %rdi
xorl %eax, %eax
callq 0x5700
jmp 0x8a8b
movq 0x11498(%rip), %rax     # 0x19fc8
movq (%rax), %rcx
leaq 0x988e(%rip), %rdi      # 0x123c8
pushq $0x26
popq %rsi
pushq $0x1
popq %rdx
callq 0x59c0
pushq $0x1
popq %rax
jmp 0x8a17
movl 0xc(%rsp), %ebp
movl 0x8(%rsp), %r15d
movq 0x11e8b(%rip), %r12     # 0x1a9e8
xorl %edi, %edi
callq 0x5420
subl %ebx, %eax
leaq 0x9819(%rip), %rsi      # 0x12386
movq %r14, %rdi
movl %ebp, %edx
movl %r15d, %ecx
movq %r12, %r8
movl %eax, %r9d
xorl %eax, %eax
callq 0x5700
jmp 0x8a8b
movq %rax, %rbx
leaq 0x30(%rsp), %rdi
callq 0x5210
movq %rbx, %rdi
callq 0x58e0