// File: /workspace/github_c_makefile_star2_O0/mijallen[P]SimpleHTTPServer/lib/libyaml/src/parser.c
// Function: yaml_parser_parse_node
static int
yaml_parser_parse_node(yaml_parser_t *parser, yaml_event_t *event,
        int block, int indentless_sequence)
{
    yaml_token_t *token;
    yaml_char_t *anchor = NULL;
    yaml_char_t *tag_handle = NULL;
    yaml_char_t *tag_suffix = NULL;
    yaml_char_t *tag = NULL;
    yaml_mark_t start_mark, end_mark, tag_mark;
    int implicit;

    token = PEEK_TOKEN(parser);
    if (!token) return 0;

    if (token->type == YAML_ALIAS_TOKEN)
    {
        parser->state = POP(parser, parser->states);
        ALIAS_EVENT_INIT(*event, token->data.alias.value,
                token->start_mark, token->end_mark);
        SKIP_TOKEN(parser);
        return 1;
    }

    else
    {
        start_mark = end_mark = token->start_mark;

        if (token->type == YAML_ANCHOR_TOKEN)
        {
            anchor = token->data.anchor.value;
            start_mark = token->start_mark;
            end_mark = token->end_mark;
            SKIP_TOKEN(parser);
            token = PEEK_TOKEN(parser);
            if (!token) goto error;
            if (token->type == YAML_TAG_TOKEN)
            {
                tag_handle = token->data.tag.handle;
                tag_suffix = token->data.tag.suffix;
                tag_mark = token->start_mark;
                end_mark = token->end_mark;
                SKIP_TOKEN(parser);
                token = PEEK_TOKEN(parser);
                if (!token) goto error;
            }
        }
        else if (token->type == YAML_TAG_TOKEN)
        {
            tag_handle = token->data.tag.handle;
            tag_suffix = token->data.tag.suffix;
            start_mark = tag_mark = token->start_mark;
            end_mark = token->end_mark;
            SKIP_TOKEN(parser);
            token = PEEK_TOKEN(parser);
            if (!token) goto error;
            if (token->type == YAML_ANCHOR_TOKEN)
            {
                anchor = token->data.anchor.value;
                end_mark = token->end_mark;
                SKIP_TOKEN(parser);
                token = PEEK_TOKEN(parser);
                if (!token) goto error;
            }
        }

        if (tag_handle) {
            if (!*tag_handle) {
                tag = tag_suffix;
                yaml_free(tag_handle);
                tag_handle = tag_suffix = NULL;
            }
            else {
                yaml_tag_directive_t *tag_directive;
                for (tag_directive = parser->tag_directives.start;
                        tag_directive != parser->tag_directives.top;
                        tag_directive ++) {
                    if (strcmp((char *)tag_directive->handle, (char *)tag_handle) == 0) {
                        size_t prefix_len = strlen((char *)tag_directive->prefix);
                        size_t suffix_len = strlen((char *)tag_suffix);
                        tag = yaml_malloc(prefix_len+suffix_len+1);
                        if (!tag) {
                            parser->error = YAML_MEMORY_ERROR;
                            goto error;
                        }
                        memcpy(tag, tag_directive->prefix, prefix_len);
                        memcpy(tag+prefix_len, tag_suffix, suffix_len);
                        tag[prefix_len+suffix_len] = '\0';
                        yaml_free(tag_handle);
                        yaml_free(tag_suffix);
                        tag_handle = tag_suffix = NULL;
                        break;
                    }
                }
                if (!tag) {
                    yaml_parser_set_parser_error_context(parser,
                            "while parsing a node", start_mark,
                            "found undefined tag handle", tag_mark);
                    goto error;
                }
            }
        }

        implicit = (!tag || !*tag);
        if (indentless_sequence && token->type == YAML_BLOCK_ENTRY_TOKEN) {
            end_mark = token->end_mark;
            parser->state = YAML_PARSE_INDENTLESS_SEQUENCE_ENTRY_STATE;
            SEQUENCE_START_EVENT_INIT(*event, anchor, tag, implicit,
                    YAML_BLOCK_SEQUENCE_STYLE, start_mark, end_mark);
            return 1;
        }
        else {
            if (token->type == YAML_SCALAR_TOKEN) {
                int plain_implicit = 0;
                int quoted_implicit = 0;
                end_mark = token->end_mark;
                if ((token->data.scalar.style == YAML_PLAIN_SCALAR_STYLE && !tag)
                        || (tag && strcmp((char *)tag, "!") == 0)) {
                    plain_implicit = 1;
                }
                else if (!tag) {
                    quoted_implicit = 1;
                }
                parser->state = POP(parser, parser->states);
                SCALAR_EVENT_INIT(*event, anchor, tag,
                        token->data.scalar.value, token->data.scalar.length,
                        plain_implicit, quoted_implicit,
                        token->data.scalar.style, start_mark, end_mark);
                SKIP_TOKEN(parser);
                return 1;
            }
            else if (token->type == YAML_FLOW_SEQUENCE_START_TOKEN) {
                end_mark = token->end_mark;
                parser->state = YAML_PARSE_FLOW_SEQUENCE_FIRST_ENTRY_STATE;
                SEQUENCE_START_EVENT_INIT(*event, anchor, tag, implicit,
                        YAML_FLOW_SEQUENCE_STYLE, start_mark, end_mark);
                return 1;
            }
            else if (token->type == YAML_FLOW_MAPPING_START_TOKEN) {
                end_mark = token->end_mark;
                parser->state = YAML_PARSE_FLOW_MAPPING_FIRST_KEY_STATE;
                MAPPING_START_EVENT_INIT(*event, anchor, tag, implicit,
                        YAML_FLOW_MAPPING_STYLE, start_mark, end_mark);
                return 1;
            }
            else if (block && token->type == YAML_BLOCK_SEQUENCE_START_TOKEN) {
                end_mark = token->end_mark;
                parser->state = YAML_PARSE_BLOCK_SEQUENCE_FIRST_ENTRY_STATE;
                SEQUENCE_START_EVENT_INIT(*event, anchor, tag, implicit,
                        YAML_BLOCK_SEQUENCE_STYLE, start_mark, end_mark);
                return 1;
            }
            else if (block && token->type == YAML_BLOCK_MAPPING_START_TOKEN) {
                end_mark = token->end_mark;
                parser->state = YAML_PARSE_BLOCK_MAPPING_FIRST_KEY_STATE;
                MAPPING_START_EVENT_INIT(*event, anchor, tag, implicit,
                        YAML_BLOCK_MAPPING_STYLE, start_mark, end_mark);
                return 1;
            }
            else if (anchor || tag) {
                yaml_char_t *value = yaml_malloc(1);
                if (!value) {
                    parser->error = YAML_MEMORY_ERROR;
                    goto error;
                }
                value[0] = '\0';
                parser->state = POP(parser, parser->states);
                SCALAR_EVENT_INIT(*event, anchor, tag, value, 0,
                        implicit, 0, YAML_PLAIN_SCALAR_STYLE,
                        start_mark, end_mark);
                return 1;
            }
            else {
                yaml_parser_set_parser_error_context(parser,
                        (block ? "while parsing a block node"
                         : "while parsing a flow node"), start_mark,
                        "did not find expected node content", token->start_mark);
                goto error;
            }
        }
    }

error:
    yaml_free(anchor);
    yaml_free(tag_handle);
    yaml_free(tag_suffix);
    yaml_free(tag);

    return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x120, %rsp            # imm = 0x120
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movl %edx, -0x1c(%rbp)
movl %ecx, -0x20(%rbp)
movq $0x0, -0x30(%rbp)
movq $0x0, -0x38(%rbp)
movq $0x0, -0x40(%rbp)
movq $0x0, -0x48(%rbp)
movq -0x10(%rbp), %rax
cmpl $0x0, 0x130(%rax)
jne 0x198c4
movq -0x10(%rbp), %rdi
callq 0x21c0
cmpl $0x0, %eax
je 0x198d8
movq -0x10(%rbp), %rax
movq 0x118(%rax), %rax
movq %rax, -0xc8(%rbp)
jmp 0x198e3
xorl %eax, %eax
movq %rax, -0xc8(%rbp)
jmp 0x198e3
movq -0xc8(%rbp), %rax
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
jne 0x19901
movl $0x0, -0x4(%rbp)
jmp 0x1a7c3
movq -0x28(%rbp), %rax
cmpl $0x12, (%rax)
jne 0x19a04
movq -0x10(%rbp), %rcx
movq 0x180(%rcx), %rax
movq %rax, %rdx
addq $-0x4, %rdx
movq %rdx, 0x180(%rcx)
movl -0x4(%rax), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x188(%rax)
movq -0x18(%rbp), %rdi
xorl %esi, %esi
movl $0x68, %edx
callq 0x2120
movq -0x18(%rbp), %rax
movl $0x5, (%rax)
movq -0x18(%rbp), %rax
movq -0x28(%rbp), %rcx
movq 0x20(%rcx), %rdx
movq %rdx, 0x38(%rax)
movq 0x28(%rcx), %rdx
movq %rdx, 0x40(%rax)
movq 0x30(%rcx), %rcx
movq %rcx, 0x48(%rax)
movq -0x18(%rbp), %rax
movq -0x28(%rbp), %rcx
movq 0x38(%rcx), %rdx
movq %rdx, 0x50(%rax)
movq 0x40(%rcx), %rdx
movq %rdx, 0x58(%rax)
movq 0x48(%rcx), %rcx
movq %rcx, 0x60(%rax)
movq -0x28(%rbp), %rax
movq 0x8(%rax), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x10(%rbp), %rax
movl $0x0, 0x130(%rax)
movq -0x10(%rbp), %rax
movq 0x128(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x128(%rax)
movq -0x10(%rbp), %rax
movq 0x118(%rax), %rax
cmpl $0x2, (%rax)
sete %al
andb $0x1, %al
movzbl %al, %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0xfc(%rax)
movq -0x10(%rbp), %rax
movq 0x118(%rax), %rcx
addq $0x50, %rcx
movq %rcx, 0x118(%rax)
movl $0x1, -0x4(%rbp)
jmp 0x1a7c3
movq -0x28(%rbp), %rax
movq 0x20(%rax), %rcx
movq %rcx, -0x78(%rbp)
movq 0x28(%rax), %rcx
movq %rcx, -0x70(%rbp)
movq 0x30(%rax), %rax
movq %rax, -0x68(%rbp)
movq -0x78(%rbp), %rax
movq %rax, -0x60(%rbp)
movq -0x70(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x68(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x28(%rbp), %rax
cmpl $0x13, (%rax)
jne 0x19c49
movq -0x28(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x30(%rbp)
movq -0x28(%rbp), %rax
movq 0x20(%rax), %rcx
movq %rcx, -0x60(%rbp)
movq 0x28(%rax), %rcx
movq %rcx, -0x58(%rbp)
movq 0x30(%rax), %rax
movq %rax, -0x50(%rbp)
movq -0x28(%rbp), %rax
movq 0x38(%rax), %rcx
movq %rcx, -0x78(%rbp)
movq 0x40(%rax), %rcx
movq %rcx, -0x70(%rbp)
movq 0x48(%rax), %rax
movq %rax, -0x68(%rbp)
movq -0x10(%rbp), %rax
movl $0x0, 0x130(%rax)
movq -0x10(%rbp), %rax
movq 0x128(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x128(%rax)
movq -0x10(%rbp), %rax
movq 0x118(%rax), %rax
cmpl $0x2, (%rax)
sete %al
andb $0x1, %al
movzbl %al, %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0xfc(%rax)
movq -0x10(%rbp), %rax
movq 0x118(%rax), %rcx
addq $0x50, %rcx
movq %rcx, 0x118(%rax)
movq -0x10(%rbp), %rax
cmpl $0x0, 0x130(%rax)
jne 0x19afe
movq -0x10(%rbp), %rdi
callq 0x21c0
cmpl $0x0, %eax
je 0x19b12
movq -0x10(%rbp), %rax
movq 0x118(%rax), %rax
movq %rax, -0xd0(%rbp)
jmp 0x19b1d
xorl %eax, %eax
movq %rax, -0xd0(%rbp)
jmp 0x19b1d
movq -0xd0(%rbp), %rax
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
jne 0x19b34
jmp 0x1a798
movq -0x28(%rbp), %rax
cmpl $0x14, (%rax)
jne 0x19c44
movq -0x28(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x38(%rbp)
movq -0x28(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x40(%rbp)
movq -0x28(%rbp), %rax
movq 0x20(%rax), %rcx
movq %rcx, -0x90(%rbp)
movq 0x28(%rax), %rcx
movq %rcx, -0x88(%rbp)
movq 0x30(%rax), %rax
movq %rax, -0x80(%rbp)
movq -0x28(%rbp), %rax
movq 0x38(%rax), %rcx
movq %rcx, -0x78(%rbp)
movq 0x40(%rax), %rcx
movq %rcx, -0x70(%rbp)
movq 0x48(%rax), %rax
movq %rax, -0x68(%rbp)
movq -0x10(%rbp), %rax
movl $0x0, 0x130(%rax)
movq -0x10(%rbp), %rax
movq 0x128(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x128(%rax)
movq -0x10(%rbp), %rax
movq 0x118(%rax), %rax
cmpl $0x2, (%rax)
sete %al
andb $0x1, %al
movzbl %al, %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0xfc(%rax)
movq -0x10(%rbp), %rax
movq 0x118(%rax), %rcx
addq $0x50, %rcx
movq %rcx, 0x118(%rax)
movq -0x10(%rbp), %rax
cmpl $0x0, 0x130(%rax)
jne 0x19c0c
movq -0x10(%rbp), %rdi
callq 0x21c0
cmpl $0x0, %eax
je 0x19c20
movq -0x10(%rbp), %rax
movq 0x118(%rax), %rax
movq %rax, -0xd8(%rbp)
jmp 0x19c2b
xorl %eax, %eax
movq %rax, -0xd8(%rbp)
jmp 0x19c2b
movq -0xd8(%rbp), %rax
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
jne 0x19c42
jmp 0x1a798
jmp 0x19c44
jmp 0x19e5b
movq -0x28(%rbp), %rax
cmpl $0x14, (%rax)
jne 0x19e59
movq -0x28(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x38(%rbp)
movq -0x28(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x40(%rbp)
movq -0x28(%rbp), %rax
movq 0x20(%rax), %rcx
movq %rcx, -0x90(%rbp)
movq 0x28(%rax), %rcx
movq %rcx, -0x88(%rbp)
movq 0x30(%rax), %rax
movq %rax, -0x80(%rbp)
movq -0x90(%rbp), %rax
movq %rax, -0x60(%rbp)
movq -0x88(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x80(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x28(%rbp), %rax
movq 0x38(%rax), %rcx
movq %rcx, -0x78(%rbp)
movq 0x40(%rax), %rcx
movq %rcx, -0x70(%rbp)
movq 0x48(%rax), %rax
movq %rax, -0x68(%rbp)
movq -0x10(%rbp), %rax
movl $0x0, 0x130(%rax)
movq -0x10(%rbp), %rax
movq 0x128(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x128(%rax)
movq -0x10(%rbp), %rax
movq 0x118(%rax), %rax
cmpl $0x2, (%rax)
sete %al
andb $0x1, %al
movzbl %al, %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0xfc(%rax)
movq -0x10(%rbp), %rax
movq 0x118(%rax), %rcx
addq $0x50, %rcx
movq %rcx, 0x118(%rax)
movq -0x10(%rbp), %rax
cmpl $0x0, 0x130(%rax)
jne 0x19d3f
movq -0x10(%rbp), %rdi
callq 0x21c0
cmpl $0x0, %eax
je 0x19d53
movq -0x10(%rbp), %rax
movq 0x118(%rax), %rax
movq %rax, -0xe0(%rbp)
jmp 0x19d5e
xorl %eax, %eax
movq %rax, -0xe0(%rbp)
jmp 0x19d5e
movq -0xe0(%rbp), %rax
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
jne 0x19d75
jmp 0x1a798
movq -0x28(%rbp), %rax
cmpl $0x13, (%rax)
jne 0x19e57
movq -0x28(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x30(%rbp)
movq -0x28(%rbp), %rax
movq 0x38(%rax), %rcx
movq %rcx, -0x78(%rbp)
movq 0x40(%rax), %rcx
movq %rcx, -0x70(%rbp)
movq 0x48(%rax), %rax
movq %rax, -0x68(%rbp)
movq -0x10(%rbp), %rax
movl $0x0, 0x130(%rax)
movq -0x10(%rbp), %rax
movq 0x128(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x128(%rax)
movq -0x10(%rbp), %rax
movq 0x118(%rax), %rax
cmpl $0x2, (%rax)
sete %al
andb $0x1, %al
movzbl %al, %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0xfc(%rax)
movq -0x10(%rbp), %rax
movq 0x118(%rax), %rcx
addq $0x50, %rcx
movq %rcx, 0x118(%rax)
movq -0x10(%rbp), %rax
cmpl $0x0, 0x130(%rax)
jne 0x19e1f
movq -0x10(%rbp), %rdi
callq 0x21c0
cmpl $0x0, %eax
je 0x19e33
movq -0x10(%rbp), %rax
movq 0x118(%rax), %rax
movq %rax, -0xe8(%rbp)
jmp 0x19e3e
xorl %eax, %eax
movq %rax, -0xe8(%rbp)
jmp 0x19e3e
movq -0xe8(%rbp), %rax
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
jne 0x19e55
jmp 0x1a798
jmp 0x19e57
jmp 0x19e59
jmp 0x19e5b
cmpq $0x0, -0x38(%rbp)
je 0x1a021
movq -0x38(%rbp), %rax
cmpb $0x0, (%rax)
jne 0x19e95
movq -0x40(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x38(%rbp), %rdi
callq 0x2140
movq $0x0, -0x40(%rbp)
movq $0x0, -0x38(%rbp)
jmp 0x1a01f
movq -0x10(%rbp), %rax
movq 0x1a8(%rax), %rax
movq %rax, -0xa0(%rbp)
movq -0xa0(%rbp), %rax
movq -0x10(%rbp), %rcx
cmpq 0x1b8(%rcx), %rax
je 0x19fbc
movq -0xa0(%rbp), %rax
movq (%rax), %rdi
movq -0x38(%rbp), %rsi
callq 0x2160
cmpl $0x0, %eax
jne 0x19fa3
movq -0xa0(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x20d0
movq %rax, -0xa8(%rbp)
movq -0x40(%rbp), %rdi
callq 0x20d0
movq %rax, -0xb0(%rbp)
movq -0xa8(%rbp), %rdi
addq -0xb0(%rbp), %rdi
addq $0x1, %rdi
callq 0x2080
movq %rax, -0x48(%rbp)
cmpq $0x0, -0x48(%rbp)
jne 0x19f33
movq -0x10(%rbp), %rax
movl $0x1, (%rax)
jmp 0x1a798
movq -0x48(%rbp), %rdi
movq -0xa0(%rbp), %rax
movq 0x8(%rax), %rsi
movq -0xa8(%rbp), %rdx
callq 0x2180
movq -0x48(%rbp), %rdi
addq -0xa8(%rbp), %rdi
movq -0x40(%rbp), %rsi
movq -0xb0(%rbp), %rdx
callq 0x2180
movq -0x48(%rbp), %rax
movq -0xa8(%rbp), %rcx
addq -0xb0(%rbp), %rcx
movb $0x0, (%rax,%rcx)
movq -0x38(%rbp), %rdi
callq 0x2140
movq -0x40(%rbp), %rdi
callq 0x2140
movq $0x0, -0x40(%rbp)
movq $0x0, -0x38(%rbp)
jmp 0x19fbc
jmp 0x19fa5
movq -0xa0(%rbp), %rax
addq $0x10, %rax
movq %rax, -0xa0(%rbp)
jmp 0x19ea7
cmpq $0x0, -0x48(%rbp)
jne 0x1a01d
movq -0x10(%rbp), %rdi
leaq 0x12958(%rip), %rsi     # 0x2c926
leaq -0x60(%rbp), %rcx
leaq 0x12962(%rip), %rdx     # 0x2c93b
leaq -0x90(%rbp), %rax
movq (%rcx), %r8
movq %r8, (%rsp)
movq 0x8(%rcx), %r8
movq %r8, 0x8(%rsp)
movq 0x10(%rcx), %rcx
movq %rcx, 0x10(%rsp)
movq (%rax), %rcx
movq %rcx, 0x18(%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x20(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x28(%rsp)
callq 0x1d3d0
jmp 0x1a798
jmp 0x1a01f
jmp 0x1a021
movb $0x1, %al
cmpq $0x0, -0x48(%rbp)
movb %al, -0xe9(%rbp)
je 0x1a042
movq -0x48(%rbp), %rax
cmpb $0x0, (%rax)
setne %al
xorb $-0x1, %al
movb %al, -0xe9(%rbp)
movb -0xe9(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
movl %eax, -0x94(%rbp)
cmpl $0x0, -0x20(%rbp)
je 0x1a122
movq -0x28(%rbp), %rax
cmpl $0xe, (%rax)
jne 0x1a122
movq -0x28(%rbp), %rax
movq 0x38(%rax), %rcx
movq %rcx, -0x78(%rbp)
movq 0x40(%rax), %rcx
movq %rcx, -0x70(%rbp)
movq 0x48(%rax), %rax
movq %rax, -0x68(%rbp)
movq -0x10(%rbp), %rax
movl $0xa, 0x188(%rax)
movq -0x18(%rbp), %rdi
xorl %esi, %esi
movl $0x68, %edx
callq 0x2120
movq -0x18(%rbp), %rax
movl $0x7, (%rax)
movq -0x18(%rbp), %rax
movq -0x60(%rbp), %rcx
movq %rcx, 0x38(%rax)
movq -0x58(%rbp), %rcx
movq %rcx, 0x40(%rax)
movq -0x50(%rbp), %rcx
movq %rcx, 0x48(%rax)
movq -0x18(%rbp), %rax
movq -0x78(%rbp), %rcx
movq %rcx, 0x50(%rax)
movq -0x70(%rbp), %rcx
movq %rcx, 0x58(%rax)
movq -0x68(%rbp), %rcx
movq %rcx, 0x60(%rax)
movq -0x30(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x48(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x10(%rax)
movl -0x94(%rbp), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x18(%rax)
movq -0x18(%rbp), %rax
movl $0x1, 0x1c(%rax)
movl $0x1, -0x4(%rbp)
jmp 0x1a7c3
movq -0x28(%rbp), %rax
cmpl $0x15, (%rax)
jne 0x1a2e9
movl $0x0, -0xb4(%rbp)
movl $0x0, -0xb8(%rbp)
movq -0x28(%rbp), %rax
movq 0x38(%rax), %rcx
movq %rcx, -0x78(%rbp)
movq 0x40(%rax), %rcx
movq %rcx, -0x70(%rbp)
movq 0x48(%rax), %rax
movq %rax, -0x68(%rbp)
movq -0x28(%rbp), %rax
cmpl $0x1, 0x18(%rax)
jne 0x1a170
cmpq $0x0, -0x48(%rbp)
je 0x1a18c
cmpq $0x0, -0x48(%rbp)
je 0x1a198
movq -0x48(%rbp), %rdi
leaq 0x1272f(%rip), %rsi     # 0x2c8b1
callq 0x2160
cmpl $0x0, %eax
jne 0x1a198
movl $0x1, -0xb4(%rbp)
jmp 0x1a1ab
cmpq $0x0, -0x48(%rbp)
jne 0x1a1a9
movl $0x1, -0xb8(%rbp)
jmp 0x1a1ab
movq -0x10(%rbp), %rcx
movq 0x180(%rcx), %rax
movq %rax, %rdx
addq $-0x4, %rdx
movq %rdx, 0x180(%rcx)
movl -0x4(%rax), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x188(%rax)
movq -0x18(%rbp), %rdi
xorl %esi, %esi
movl $0x68, %edx
callq 0x2120
movq -0x18(%rbp), %rax
movl $0x6, (%rax)
movq -0x18(%rbp), %rax
movq -0x60(%rbp), %rcx
movq %rcx, 0x38(%rax)
movq -0x58(%rbp), %rcx
movq %rcx, 0x40(%rax)
movq -0x50(%rbp), %rcx
movq %rcx, 0x48(%rax)
movq -0x18(%rbp), %rax
movq -0x78(%rbp), %rcx
movq %rcx, 0x50(%rax)
movq -0x70(%rbp), %rcx
movq %rcx, 0x58(%rax)
movq -0x68(%rbp), %rcx
movq %rcx, 0x60(%rax)
movq -0x30(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x48(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x28(%rbp), %rax
movq 0x8(%rax), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x18(%rax)
movq -0x28(%rbp), %rax
movq 0x10(%rax), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x20(%rax)
movl -0xb4(%rbp), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x28(%rax)
movl -0xb8(%rbp), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x2c(%rax)
movq -0x28(%rbp), %rax
movl 0x18(%rax), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x30(%rax)
movq -0x10(%rbp), %rax
movl $0x0, 0x130(%rax)
movq -0x10(%rbp), %rax
movq 0x128(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x128(%rax)
movq -0x10(%rbp), %rax
movq 0x118(%rax), %rax
cmpl $0x2, (%rax)
sete %al
andb $0x1, %al
movzbl %al, %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0xfc(%rax)
movq -0x10(%rbp), %rax
movq 0x118(%rax), %rcx
addq $0x50, %rcx
movq %rcx, 0x118(%rax)
movl $0x1, -0x4(%rbp)
jmp 0x1a7c3
movq -0x28(%rbp), %rax
cmpl $0xa, (%rax)
jne 0x1a3ae
movq -0x28(%rbp), %rax
movq 0x38(%rax), %rcx
movq %rcx, -0x78(%rbp)
movq 0x40(%rax), %rcx
movq %rcx, -0x70(%rbp)
movq 0x48(%rax), %rax
movq %rax, -0x68(%rbp)
movq -0x10(%rbp), %rax
movl $0xe, 0x188(%rax)
movq -0x18(%rbp), %rdi
xorl %esi, %esi
movl $0x68, %edx
callq 0x2120
movq -0x18(%rbp), %rax
movl $0x7, (%rax)
movq -0x18(%rbp), %rax
movq -0x60(%rbp), %rcx
movq %rcx, 0x38(%rax)
movq -0x58(%rbp), %rcx
movq %rcx, 0x40(%rax)
movq -0x50(%rbp), %rcx
movq %rcx, 0x48(%rax)
movq -0x18(%rbp), %rax
movq -0x78(%rbp), %rcx
movq %rcx, 0x50(%rax)
movq -0x70(%rbp), %rcx
movq %rcx, 0x58(%rax)
movq -0x68(%rbp), %rcx
movq %rcx, 0x60(%rax)
movq -0x30(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x48(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x10(%rax)
movl -0x94(%rbp), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x18(%rax)
movq -0x18(%rbp), %rax
movl $0x2, 0x1c(%rax)
movl $0x1, -0x4(%rbp)
jmp 0x1a7c3
movq -0x28(%rbp), %rax
cmpl $0xc, (%rax)
jne 0x1a473
movq -0x28(%rbp), %rax
movq 0x38(%rax), %rcx
movq %rcx, -0x78(%rbp)
movq 0x40(%rax), %rcx
movq %rcx, -0x70(%rbp)
movq 0x48(%rax), %rax
movq %rax, -0x68(%rbp)
movq -0x10(%rbp), %rax
movl $0x13, 0x188(%rax)
movq -0x18(%rbp), %rdi
xorl %esi, %esi
movl $0x68, %edx
callq 0x2120
movq -0x18(%rbp), %rax
movl $0x9, (%rax)
movq -0x18(%rbp), %rax
movq -0x60(%rbp), %rcx
movq %rcx, 0x38(%rax)
movq -0x58(%rbp), %rcx
movq %rcx, 0x40(%rax)
movq -0x50(%rbp), %rcx
movq %rcx, 0x48(%rax)
movq -0x18(%rbp), %rax
movq -0x78(%rbp), %rcx
movq %rcx, 0x50(%rax)
movq -0x70(%rbp), %rcx
movq %rcx, 0x58(%rax)
movq -0x68(%rbp), %rcx
movq %rcx, 0x60(%rax)
movq -0x30(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x48(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x10(%rax)
movl -0x94(%rbp), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x18(%rax)
movq -0x18(%rbp), %rax
movl $0x2, 0x1c(%rax)
movl $0x1, -0x4(%rbp)
jmp 0x1a7c3
cmpl $0x0, -0x1c(%rbp)
je 0x1a542
movq -0x28(%rbp), %rax
cmpl $0x7, (%rax)
jne 0x1a542
movq -0x28(%rbp), %rax
movq 0x38(%rax), %rcx
movq %rcx, -0x78(%rbp)
movq 0x40(%rax), %rcx
movq %rcx, -0x70(%rbp)
movq 0x48(%rax), %rax
movq %rax, -0x68(%rbp)
movq -0x10(%rbp), %rax
movl $0x8, 0x188(%rax)
movq -0x18(%rbp), %rdi
xorl %esi, %esi
movl $0x68, %edx
callq 0x2120
movq -0x18(%rbp), %rax
movl $0x7, (%rax)
movq -0x18(%rbp), %rax
movq -0x60(%rbp), %rcx
movq %rcx, 0x38(%rax)
movq -0x58(%rbp), %rcx
movq %rcx, 0x40(%rax)
movq -0x50(%rbp), %rcx
movq %rcx, 0x48(%rax)
movq -0x18(%rbp), %rax
movq -0x78(%rbp), %rcx
movq %rcx, 0x50(%rax)
movq -0x70(%rbp), %rcx
movq %rcx, 0x58(%rax)
movq -0x68(%rbp), %rcx
movq %rcx, 0x60(%rax)
movq -0x30(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x48(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x10(%rax)
movl -0x94(%rbp), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x18(%rax)
movq -0x18(%rbp), %rax
movl $0x1, 0x1c(%rax)
movl $0x1, -0x4(%rbp)
jmp 0x1a7c3
cmpl $0x0, -0x1c(%rbp)
je 0x1a611
movq -0x28(%rbp), %rax
cmpl $0x8, (%rax)
jne 0x1a611
movq -0x28(%rbp), %rax
movq 0x38(%rax), %rcx
movq %rcx, -0x78(%rbp)
movq 0x40(%rax), %rcx
movq %rcx, -0x70(%rbp)
movq 0x48(%rax), %rax
movq %rax, -0x68(%rbp)
movq -0x10(%rbp), %rax
movl $0xb, 0x188(%rax)
movq -0x18(%rbp), %rdi
xorl %esi, %esi
movl $0x68, %edx
callq 0x2120
movq -0x18(%rbp), %rax
movl $0x9, (%rax)
movq -0x18(%rbp), %rax
movq -0x60(%rbp), %rcx
movq %rcx, 0x38(%rax)
movq -0x58(%rbp), %rcx
movq %rcx, 0x40(%rax)
movq -0x50(%rbp), %rcx
movq %rcx, 0x48(%rax)
movq -0x18(%rbp), %rax
movq -0x78(%rbp), %rcx
movq %rcx, 0x50(%rax)
movq -0x70(%rbp), %rcx
movq %rcx, 0x58(%rax)
movq -0x68(%rbp), %rcx
movq %rcx, 0x60(%rax)
movq -0x30(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x48(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x10(%rax)
movl -0x94(%rbp), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x18(%rax)
movq -0x18(%rbp), %rax
movl $0x1, 0x1c(%rax)
movl $0x1, -0x4(%rbp)
jmp 0x1a7c3
cmpq $0x0, -0x30(%rbp)
jne 0x1a623
cmpq $0x0, -0x48(%rbp)
je 0x1a731
movl $0x1, %edi
callq 0x2080
movq %rax, -0xc0(%rbp)
cmpq $0x0, -0xc0(%rbp)
jne 0x1a64d
movq -0x10(%rbp), %rax
movl $0x1, (%rax)
jmp 0x1a798
movq -0xc0(%rbp), %rax
movb $0x0, (%rax)
movq -0x10(%rbp), %rcx
movq 0x180(%rcx), %rax
movq %rax, %rdx
addq $-0x4, %rdx
movq %rdx, 0x180(%rcx)
movl -0x4(%rax), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x188(%rax)
movq -0x18(%rbp), %rdi
xorl %esi, %esi
movl $0x68, %edx
callq 0x2120
movq -0x18(%rbp), %rax
movl $0x6, (%rax)
movq -0x18(%rbp), %rax
movq -0x60(%rbp), %rcx
movq %rcx, 0x38(%rax)
movq -0x58(%rbp), %rcx
movq %rcx, 0x40(%rax)
movq -0x50(%rbp), %rcx
movq %rcx, 0x48(%rax)
movq -0x18(%rbp), %rax
movq -0x78(%rbp), %rcx
movq %rcx, 0x50(%rax)
movq -0x70(%rbp), %rcx
movq %rcx, 0x58(%rax)
movq -0x68(%rbp), %rcx
movq %rcx, 0x60(%rax)
movq -0x30(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x48(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0xc0(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x18(%rax)
movq -0x18(%rbp), %rax
movq $0x0, 0x20(%rax)
movl -0x94(%rbp), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x28(%rax)
movq -0x18(%rbp), %rax
movl $0x0, 0x2c(%rax)
movq -0x18(%rbp), %rax
movl $0x1, 0x30(%rax)
movl $0x1, -0x4(%rbp)
jmp 0x1a7c3
movq -0x10(%rbp), %rdi
movl -0x1c(%rbp), %ecx
leaq 0x12232(%rip), %rsi     # 0x2c971
leaq 0x12210(%rip), %rax     # 0x2c956
cmpl $0x0, %ecx
cmovneq %rax, %rsi
movq -0x28(%rbp), %rax
addq $0x20, %rax
leaq -0x60(%rbp), %rcx
leaq 0x1222b(%rip), %rdx     # 0x2c98b
movq (%rcx), %r8
movq %r8, (%rsp)
movq 0x8(%rcx), %r8
movq %r8, 0x8(%rsp)
movq 0x10(%rcx), %rcx
movq %rcx, 0x10(%rsp)
movq (%rax), %rcx
movq %rcx, 0x18(%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x20(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x28(%rsp)
callq 0x1d3d0
movq -0x30(%rbp), %rdi
callq 0x2140
movq -0x38(%rbp), %rdi
callq 0x2140
movq -0x40(%rbp), %rdi
callq 0x2140
movq -0x48(%rbp), %rdi
callq 0x2140
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x120, %rsp            # imm = 0x120
popq %rbp
retq
nop