// File: /workspace/github_c_makefile_star2_O0/jaroslov[P]docoptc/./docopt.h
// Function: docopt_parse_state_init
static int docopt_parse_state_init(struct docopt_parse_state* dS, const char* doc, int argc, char **argv, unsigned int flags)
{
#if defined(DOCOPT_DEBUG)
    dS->log                         = stdout;
    dS->indent                      = 0;
    dS->scale                       = 2;
#else
    dS->log                         = fopen(DOCOPT_NULL_FILE, "w");
#endif
    if (!(dS->entries = (struct docopt_entries*)calloc(sizeof(struct docopt_entries), 1))) goto docoptFail;
    dS->argc                        = argc;
    dS->argv                        = argv;
    dS->curarg                      = 0;
    dS->entries->docstr.fst         = doc;
    dS->entries->docstr.lst         = doc + strlen(doc);
    dS->entries->flags              = flags;
    dS->entries->nentries           = 2;
    dS->entries->curentry           = 1;
    if (!(dS->entries->entries = (struct docopt_entry*)calloc(sizeof(struct docopt_entry), dS->entries->nentries))) goto docoptFail;
    dS->nterms                      = 1;
    dS->curterm                     = 0;
    if (!(dS->terms = (struct docopt_term*)calloc(sizeof(struct docopt_term), dS->nterms))) goto docoptFail;

    if (regcomp(&dS->re_pname, "^" DOCOPT_RE_PNAME, REG_EXTENDED)) goto docoptFail;
    if (regcomp(&dS->re_upper_argument, "^" DOCOPT_RE_UPPER_ARGUMENT, REG_EXTENDED)) goto docoptFail;
    if (regcomp(&dS->re_argument, "^" DOCOPT_RE_ARGUMENT, REG_EXTENDED)) goto docoptFail;
    if (regcomp(&dS->re_default, DOCOPT_RE_DEFAULT, REG_EXTENDED)) goto docoptFail;
    if (regcomp(&dS->re_optshort, "^" DOCOPT_RE_OPTSHORT, REG_EXTENDED)) goto docoptFail;
    if (regcomp(&dS->re_long, "^" DOCOPT_RE_LONG, REG_EXTENDED)) goto docoptFail;
    if (regcomp(&dS->re_repeat, "^" DOCOPT_RE_REPEAT, REG_EXTENDED)) goto docoptFail;
    if (regcomp(&dS->re_reserved, "^" DOCOPT_RE_RESERVED, REG_EXTENDED)) goto docoptFail;
    if (regcomp(&dS->re_usage_section_start, DOCOPT_RE_USAGE_SECTION_START, REG_EXTENDED | REG_ICASE)) goto docoptFail;
    if (regcomp(&dS->re_usage_section_stop, DOCOPT_RE_USAGE_SECTION_STOP, REG_EXTENDED | REG_ICASE)) goto docoptFail;
    if (regcomp(&dS->re_option_section_start, DOCOPT_RE_OPTION_SECTION_START, REG_EXTENDED | REG_ICASE)) goto docoptFail;
    if (regcomp(&dS->re_option_statement_start, DOCOPT_RE_OPTION_STATEMENT_START, REG_EXTENDED)) goto docoptFail;
    if (regcomp(&dS->re_naked_shorts, "^" DOCOPT_RE_NAKED_SHORTS, REG_EXTENDED)) goto docoptFail;
    if (regcomp(&dS->re_optref, "^" DOCOPT_RE_OPTREF, REG_EXTENDED)) goto docoptFail;

    return 0;
docoptFail:
    return 1;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movl %edx, -0x1c(%rbp)
movq %rcx, -0x28(%rbp)
movl %r8d, -0x2c(%rbp)
movq 0x2b7b6(%rip), %rax     # 0x32fd8
movq (%rax), %rcx
movq -0x10(%rbp), %rax
movq %rcx, (%rax)
movq -0x10(%rbp), %rax
movl $0x0, 0x180(%rax)
movq -0x10(%rbp), %rax
movl $0x2, 0x184(%rax)
movl $0x40, %edi
movl $0x1, %esi
callq 0x70c0
movq -0x10(%rbp), %rcx
movq %rax, 0x8(%rcx)
cmpq $0x0, %rax
jne 0x786a
jmp 0x7b6d
movl -0x1c(%rbp), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x16c(%rax)
movq -0x28(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x178(%rax)
movq -0x10(%rbp), %rax
movl $0x0, 0x168(%rax)
movq -0x18(%rbp), %rcx
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq %rcx, 0x8(%rax)
movq -0x18(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x18(%rbp), %rdi
callq 0x7070
movq -0x38(%rbp), %rcx
addq %rax, %rcx
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq %rcx, 0x10(%rax)
movl -0x2c(%rbp), %ecx
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movl %ecx, 0x18(%rax)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movl $0x2, 0x1c(%rax)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movl $0x1, 0x20(%rax)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movslq 0x1c(%rax), %rsi
movl $0x38, %edi
callq 0x70c0
movq -0x10(%rbp), %rcx
movq 0x8(%rcx), %rcx
movq %rax, 0x28(%rcx)
cmpq $0x0, %rax
jne 0x7921
jmp 0x7b6d
movq -0x10(%rbp), %rax
movl $0x1, 0x18(%rax)
movq -0x10(%rbp), %rax
movl $0x0, 0x1c(%rax)
movq -0x10(%rbp), %rax
movslq 0x18(%rax), %rsi
movl $0x8, %edi
callq 0x70c0
movq -0x10(%rbp), %rcx
movq %rax, 0x20(%rcx)
cmpq $0x0, %rax
jne 0x795c
jmp 0x7b6d
movq -0x10(%rbp), %rdi
addq $0x1c0, %rdi            # imm = 0x1C0
leaq 0x657c(%rip), %rsi      # 0xdeea
movl $0x1, %edx
callq 0x70b0
cmpl $0x0, %eax
je 0x7982
jmp 0x7b6d
movq -0x10(%rbp), %rdi
addq $0x200, %rdi            # imm = 0x200
leaq 0x6575(%rip), %rsi      # 0xdf09
movl $0x1, %edx
callq 0x70b0
cmpl $0x0, %eax
je 0x79a8
jmp 0x7b6d
movq -0x10(%rbp), %rdi
addq $0x240, %rdi            # imm = 0x240
leaq 0x6559(%rip), %rsi      # 0xdf13
movl $0x1, %edx
callq 0x70b0
cmpl $0x0, %eax
je 0x79ce
jmp 0x7b6d
movq -0x10(%rbp), %rdi
addq $0x280, %rdi            # imm = 0x280
leaq 0x654c(%rip), %rsi      # 0xdf2c
movl $0x1, %edx
callq 0x70b0
cmpl $0x0, %eax
je 0x79f4
jmp 0x7b6d
movq -0x10(%rbp), %rdi
addq $0x2c0, %rdi            # imm = 0x2C0
leaq 0x6548(%rip), %rsi      # 0xdf4e
movl $0x1, %edx
callq 0x70b0
cmpl $0x0, %eax
je 0x7a1a
jmp 0x7b6d
movq -0x10(%rbp), %rdi
addq $0x300, %rdi            # imm = 0x300
leaq 0x6577(%rip), %rsi      # 0xdfa3
movl $0x1, %edx
callq 0x70b0
cmpl $0x0, %eax
je 0x7a40
jmp 0x7b6d
movq -0x10(%rbp), %rdi
addq $0x340, %rdi            # imm = 0x340
leaq 0x6592(%rip), %rsi      # 0xdfe4
movl $0x1, %edx
callq 0x70b0
cmpl $0x0, %eax
je 0x7a66
jmp 0x7b6d
movq -0x10(%rbp), %rdi
addq $0x380, %rdi            # imm = 0x380
leaq 0x6576(%rip), %rsi      # 0xdfee
movl $0x1, %edx
callq 0x70b0
cmpl $0x0, %eax
je 0x7a8c
jmp 0x7b6d
movq -0x10(%rbp), %rdi
addq $0x3c0, %rdi            # imm = 0x3C0
leaq 0x6560(%rip), %rsi      # 0xdffe
movl $0x3, %edx
callq 0x70b0
cmpl $0x0, %eax
je 0x7ab2
jmp 0x7b6d
movq -0x10(%rbp), %rdi
addq $0x400, %rdi            # imm = 0x400
leaq 0x6544(%rip), %rsi      # 0xe008
movl $0x3, %edx
callq 0x70b0
cmpl $0x0, %eax
je 0x7ad8
jmp 0x7b6d
movq -0x10(%rbp), %rdi
addq $0x480, %rdi            # imm = 0x480
leaq 0x653b(%rip), %rsi      # 0xe025
movl $0x3, %edx
callq 0x70b0
cmpl $0x0, %eax
je 0x7afb
jmp 0x7b6d
movq -0x10(%rbp), %rdi
addq $0x4c0, %rdi            # imm = 0x4C0
leaq 0x653d(%rip), %rsi      # 0xe04a
movl $0x1, %edx
callq 0x70b0
cmpl $0x0, %eax
je 0x7b1e
jmp 0x7b6d
movq -0x10(%rbp), %rdi
addq $0x500, %rdi            # imm = 0x500
leaq 0x652c(%rip), %rsi      # 0xe05c
movl $0x1, %edx
callq 0x70b0
cmpl $0x0, %eax
je 0x7b41
jmp 0x7b6d
movq -0x10(%rbp), %rdi
addq $0x580, %rdi            # imm = 0x580
leaq 0x655e(%rip), %rsi      # 0xe0b1
movl $0x1, %edx
callq 0x70b0
cmpl $0x0, %eax
je 0x7b64
jmp 0x7b6d
movl $0x0, -0x4(%rbp)
jmp 0x7b74
movl $0x1, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x40, %rsp
popq %rbp
retq
nopl (%rax)