// File: /workspace/github_c_makefile_star2_O2/mijallen[P]SimpleHTTPServer/lib/libyaml/src/parser.c
// Function: yaml_parser_parse
YAML_DECLARE(int)
yaml_parser_parse(yaml_parser_t *parser, yaml_event_t *event)
{
    assert(parser);     /* Non-NULL parser object is expected. */
    assert(event);      /* Non-NULL event object is expected. */

    /* Erase the event object. */

    memset(event, 0, sizeof(yaml_event_t));

    /* No events after the end of the stream or error. */

    if (parser->stream_end_produced || parser->error ||
            parser->state == YAML_PARSE_END_STATE) {
        return 1;
    }

    /* Generate the next event. */

    return yaml_parser_state_machine(parser, event);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x58, %rsp
testq %rdi, %rdi
je 0xd440
movq %rsi, %rbx
testq %rsi, %rsi
je 0xd45f
movq %rdi, %r14
xorps %xmm0, %xmm0
movups %xmm0, 0x50(%rbx)
movups %xmm0, 0x40(%rbx)
movups %xmm0, 0x30(%rbx)
movups %xmm0, 0x20(%rbx)
movups %xmm0, 0x10(%rbx)
andq $0x0, 0x60(%rbx)
movups %xmm0, (%rbx)
pushq $0x1
popq %rbp
cmpl $0x0, 0xfc(%rdi)
jne 0xcbbb
cmpl $0x0, (%r14)
je 0xcbc8
movl %ebp, %eax
addq $0x58, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movl 0x188(%r14), %eax
cmpq $0x17, %rax
ja 0xd166
leaq 0xabc4(%rip), %rcx      # 0x177a4
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
cmpl $0x0, 0x130(%r14)
jne 0xcc03
movq %r14, %rdi
callq 0x21b0
testl %eax, %eax
je 0xd166
movq 0x118(%r14), %rax
xorl %ebp, %ebp
testq %rax, %rax
je 0xcbbb
cmpl $0x1, (%rax)
jne 0xd217
pushq $0x1
popq %rbp
movl %ebp, 0x188(%r14)
xorps %xmm0, %xmm0
movups %xmm0, (%rbx)
movups %xmm0, 0x50(%rbx)
movups %xmm0, 0x40(%rbx)
movups %xmm0, 0x30(%rbx)
andq $0x0, 0x60(%rbx)
movups %xmm0, 0x20(%rbx)
movups %xmm0, 0x10(%rbx)
movl %ebp, (%rbx)
movq 0x30(%rax), %rcx
movq %rcx, 0x48(%rbx)
movups 0x20(%rax), %xmm0
movups %xmm0, 0x38(%rbx)
movups 0x20(%rax), %xmm0
movups %xmm0, 0x50(%rbx)
movq 0x30(%rax), %rcx
movq %rcx, 0x60(%rbx)
movl 0x8(%rax), %eax
movl %eax, 0x8(%rbx)
andl $0x0, 0x130(%r14)
incq 0x128(%r14)
movq 0x118(%r14), %rax
xorl %ecx, %ecx
cmpl $0x2, (%rax)
sete %cl
movl %ecx, 0xfc(%r14)
addq $0x50, %rax
movq %rax, 0x118(%r14)
jmp 0xcbbb
movq %r14, %rdi
movq %rbx, %rsi
xorl %edx, %edx
jmp 0xce61
cmpl $0x0, 0x130(%r14)
jne 0xccc7
movq %r14, %rdi
callq 0x21b0
testl %eax, %eax
je 0xd166
movq 0x118(%r14), %rax
testq %rax, %rax
je 0xd166
cmpl $0x11, (%rax)
jne 0xd185
movq 0x48(%rax), %rcx
movq %rcx, 0x30(%rsp)
movups 0x38(%rax), %xmm0
movaps %xmm0, 0x20(%rsp)
andl $0x0, 0x130(%r14)
incq 0x128(%r14)
andl $0x0, 0xfc(%r14)
addq $0x50, %rax
movq %rax, 0x118(%r14)
movq %r14, %rdi
callq 0x21b0
xorl %ebp, %ebp
testl %eax, %eax
je 0xcbbb
movq 0x118(%r14), %rax
testq %rax, %rax
je 0xcbbb
movl (%rax), %eax
cmpl $0x11, %eax
ja 0xd388
movl $0x30200, %ecx          # imm = 0x30200
btl %eax, %ecx
jae 0xd388
movl $0xc, 0x188(%r14)
jmp 0xce0c
cmpl $0x0, 0x130(%r14)
jne 0xcd79
movq %r14, %rdi
callq 0x21b0
testl %eax, %eax
je 0xd166
movq 0x118(%r14), %rax
testq %rax, %rax
je 0xd166
cmpl $0xe, (%rax)
jne 0xd1b1
movq 0x48(%rax), %rcx
movq %rcx, 0x30(%rsp)
movups 0x38(%rax), %xmm0
movaps %xmm0, 0x20(%rsp)
andl $0x0, 0x130(%r14)
incq 0x128(%r14)
andl $0x0, 0xfc(%r14)
addq $0x50, %rax
movq %rax, 0x118(%r14)
movq %r14, %rdi
callq 0x21b0
xorl %ebp, %ebp
testl %eax, %eax
je 0xcbbb
movq 0x118(%r14), %rax
testq %rax, %rax
je 0xcbbb
movl (%rax), %eax
cmpl $0x11, %eax
ja 0xd3da
movl $0x34200, %ecx          # imm = 0x34200
btl %eax, %ecx
jae 0xd3da
movl $0xa, 0x188(%r14)
movq 0x30(%rsp), %rax
movq %rax, 0x10(%rsp)
movaps 0x20(%rsp), %xmm0
movups %xmm0, (%rsp)
movq %r14, %rdi
movq %rbx, %rsi
callq 0xf4a6
movl %eax, %ebp
jmp 0xcbbb
pushq $0x1
popq %rdx
movq %r14, %rdi
movq %rbx, %rsi
jmp 0xcfbc
pushq $0x1
popq %rdx
movq %r14, %rdi
movq %rbx, %rsi
jmp 0xd0f6
pushq $0x1
popq %rdx
movq %r14, %rdi
movq %rbx, %rsi
jmp 0xce78
pushq $0x1
popq %rdx
movq %r14, %rdi
movq %rbx, %rsi
addq $0x58, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmp 0xe81c
movq %r14, %rdi
movq %rbx, %rsi
xorl %edx, %edx
addq $0x58, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmp 0xd47e
pushq $0x1
popq %rcx
movq %r14, %rdi
movq %rbx, %rsi
movl %ecx, %edx
jmp 0xd379
cmpl $0x0, 0x130(%r14)
jne 0xceb1
movq %r14, %rdi
callq 0x21b0
testl %eax, %eax
je 0xd166
movq 0x118(%r14), %rax
xorl %ebp, %ebp
testq %rax, %rax
je 0xcbbb
movl (%rax), %ecx
cmpl $0x11, %ecx
ja 0xd2db
movl $0x28800, %edx          # imm = 0x28800
btl %ecx, %edx
jae 0xd2db
movq 0x48(%rax), %rcx
movq %rcx, 0x30(%rsp)
movups 0x38(%rax), %xmm0
movaps %xmm0, 0x20(%rsp)
andl $0x0, 0x130(%r14)
incq 0x128(%r14)
andl $0x0, 0xfc(%r14)
addq $0x50, %rax
movq %rax, 0x118(%r14)
movl $0x11, 0x188(%r14)
movq 0x30(%rsp), %rax
movq %rax, 0x10(%rsp)
movaps 0x20(%rsp), %xmm0
jmp 0xd19d
pushq $0x1
popq %rdx
movq %r14, %rdi
movq %rbx, %rsi
jmp 0xcfa5
cmpl $0x0, 0x130(%r14)
jne 0xcf54
movq %r14, %rdi
callq 0x21b0
testl %eax, %eax
je 0xd166
movq 0x118(%r14), %rax
testq %rax, %rax
je 0xd166
movl (%rax), %ecx
addl $-0x2, %ecx
cmpl $0x4, %ecx
ja 0xcf8f
movq 0x180(%r14), %rcx
leaq -0x4(%rcx), %rdx
movq %rdx, 0x180(%r14)
movl -0x4(%rcx), %ecx
movl %ecx, 0x188(%r14)
jmp 0xd190
pushq $0x1
popq %rdx
movq %r14, %rdi
movq %rbx, %rsi
jmp 0xd377
movq %r14, %rdi
movq %rbx, %rsi
xorl %edx, %edx
addq $0x58, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmp 0xeb96
movq %r14, %rdi
movq %rbx, %rsi
xorl %edx, %edx
addq $0x58, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmp 0xe4e9
cmpl $0x0, 0x130(%r14)
jne 0xcfe5
movq %r14, %rdi
callq 0x21b0
testl %eax, %eax
je 0xd166
movq 0x118(%r14), %rax
testq %rax, %rax
je 0xd166
movq 0x30(%rax), %rcx
movq %rcx, 0x50(%rsp)
movups 0x20(%rax), %xmm0
movaps %xmm0, 0x40(%rsp)
movq 0x30(%rax), %rcx
movq %rcx, 0x30(%rsp)
movups 0x20(%rax), %xmm0
movaps %xmm0, 0x20(%rsp)
cmpl $0x6, (%rax)
jne 0xd253
movq 0x48(%rax), %rcx
movq %rcx, 0x50(%rsp)
movups 0x38(%rax), %xmm0
movaps %xmm0, 0x40(%rsp)
andl $0x0, 0x130(%r14)
incq 0x128(%r14)
andl $0x0, 0xfc(%r14)
addq $0x50, %rax
movq %rax, 0x118(%r14)
xorl %ebp, %ebp
jmp 0xd278
cmpl $0x0, 0x130(%r14)
jne 0xd077
movq %r14, %rdi
callq 0x21b0
testl %eax, %eax
je 0xd166
movq 0x118(%r14), %rax
xorl %ebp, %ebp
testq %rax, %rax
je 0xcbbb
cmpl $0x11, (%rax)
jne 0xd0de
andl $0x0, 0x130(%r14)
incq 0x128(%r14)
andl $0x0, 0xfc(%r14)
addq $0x50, %rax
movq %rax, 0x118(%r14)
movq %r14, %rdi
callq 0x21b0
testl %eax, %eax
je 0xcbbb
movq 0x118(%r14), %rax
testq %rax, %rax
je 0xcbbb
movl (%rax), %ecx
orl $0x4, %ecx
cmpl $0xf, %ecx
jne 0xd326
movl $0x12, 0x188(%r14)
jmp 0xd190
movq %r14, %rdi
movq %rbx, %rsi
xorl %edx, %edx
addq $0x58, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmp 0xe1bf
movq %r14, %rdi
movq %rbx, %rsi
xorl %edx, %edx
jmp 0xd176
cmpl $0x0, 0x130(%r14)
jne 0xd125
movq %r14, %rdi
callq 0x21b0
testl %eax, %eax
je 0xd166
movq 0x118(%r14), %rax
testq %rax, %rax
je 0xd166
movl $0xf, 0x188(%r14)
xorps %xmm0, %xmm0
movups %xmm0, (%rbx)
movups %xmm0, 0x50(%rbx)
movups %xmm0, 0x40(%rbx)
movups %xmm0, 0x30(%rbx)
movups %xmm0, 0x20(%rbx)
movups %xmm0, 0x10(%rbx)
andq $0x0, 0x60(%rbx)
movl $0xa, (%rbx)
jmp 0xd1f2
xorl %ebp, %ebp
jmp 0xcbbb
pushq $0x1
popq %rdx
movq %r14, %rdi
movq %rbx, %rsi
addq $0x58, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmp 0xef65
movl $0xc, 0x188(%r14)
movq 0x30(%rax), %rcx
movq %rcx, 0x10(%rsp)
movups 0x20(%rax), %xmm0
movups %xmm0, (%rsp)
movq %r14, %rdi
movq %rbx, %rsi
callq 0xf4a6
jmp 0xcbbd
movq 0x180(%r14), %rcx
leaq -0x4(%rcx), %rdx
movq %rdx, 0x180(%r14)
movl -0x4(%rcx), %ecx
movl %ecx, 0x188(%r14)
xorps %xmm0, %xmm0
movups %xmm0, (%rbx)
movups %xmm0, 0x50(%rbx)
movups %xmm0, 0x40(%rbx)
movups %xmm0, 0x30(%rbx)
movups %xmm0, 0x20(%rbx)
movups %xmm0, 0x10(%rbx)
andq $0x0, 0x60(%rbx)
movl $0x8, (%rbx)
movups 0x20(%rax), %xmm0
movups %xmm0, 0x38(%rbx)
movq 0x30(%rax), %rcx
movq %rcx, 0x48(%rbx)
movups 0x20(%rax), %xmm0
movups %xmm0, 0x50(%rbx)
movq 0x30(%rax), %rax
movq %rax, 0x60(%rbx)
jmp 0xcbbb
movq 0x30(%rax), %rcx
movq %rcx, 0x30(%rsp)
movups 0x20(%rax), %xmm0
movaps %xmm0, 0x20(%rsp)
movl $0x4, (%r14)
leaq 0xa60d(%rip), %rax      # 0x17844
movq %rax, 0x8(%r14)
movaps 0x20(%rsp), %xmm0
movups %xmm0, 0x20(%r14)
movq 0x30(%rsp), %rax
movq %rax, 0x30(%r14)
jmp 0xcbbb
pushq $0x1
popq %rbp
jmp 0xd278
leaq -0x10(%rax), %rcx
movq %rcx, 0x1b8(%r14)
movq -0x10(%rax), %rdi
movq -0x8(%rax), %r15
callq 0x2140
movq %r15, %rdi
callq 0x2140
movq 0x1b8(%r14), %rax
cmpq %rax, 0x1a8(%r14)
jne 0xd258
movl $0x2, 0x188(%r14)
xorps %xmm0, %xmm0
movups %xmm0, (%rbx)
movups %xmm0, 0x20(%rbx)
andq $0x0, 0x30(%rbx)
movups %xmm0, 0x10(%rbx)
movl $0x4, (%rbx)
movaps 0x20(%rsp), %xmm0
movups %xmm0, 0x38(%rbx)
movq 0x30(%rsp), %rax
movq %rax, 0x48(%rbx)
movaps 0x40(%rsp), %xmm0
movups %xmm0, 0x50(%rbx)
movq 0x50(%rsp), %rax
movq %rax, 0x60(%rbx)
movl %ebp, 0x8(%rbx)
pushq $0x1
popq %rbp
jmp 0xcbbb
movq 0x180(%r14), %rax
cmpq 0x178(%r14), %rax
jne 0xd313
leaq 0x180(%r14), %r15
leaq 0x178(%r14), %rdx
leaq 0x170(%r14), %rdi
movq %r15, %rsi
callq 0x20e0
testl %eax, %eax
je 0xd434
movq (%r15), %rax
leaq 0x4(%rax), %rcx
movq %rcx, 0x180(%r14)
movl $0x11, (%rax)
jmp 0xd36f
movq 0x180(%r14), %rax
cmpq 0x178(%r14), %rax
jne 0xd35e
leaq 0x180(%r14), %r15
leaq 0x178(%r14), %rdx
leaq 0x170(%r14), %rdi
movq %r15, %rsi
callq 0x20e0
testl %eax, %eax
je 0xd434
movq (%r15), %rax
leaq 0x4(%rax), %rcx
movq %rcx, 0x180(%r14)
movl $0x12, (%rax)
movq %r14, %rdi
movq %rbx, %rsi
xorl %edx, %edx
xorl %ecx, %ecx
addq $0x58, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmp 0xd85e
movq 0x180(%r14), %rax
cmpq 0x178(%r14), %rax
jne 0xd3bc
leaq 0x180(%r14), %r15
leaq 0x178(%r14), %rdx
leaq 0x170(%r14), %rdi
movq %r15, %rsi
callq 0x20e0
testl %eax, %eax
je 0xd434
movq (%r15), %rax
leaq 0x4(%rax), %rcx
movq %rcx, 0x180(%r14)
movl $0xc, (%rax)
pushq $0x1
popq %rcx
movq %r14, %rdi
movq %rbx, %rsi
movl %ecx, %edx
jmp 0xd42a
movq 0x180(%r14), %rax
cmpq 0x178(%r14), %rax
jne 0xd40e
leaq 0x180(%r14), %r15
leaq 0x178(%r14), %rdx
leaq 0x170(%r14), %rdi
movq %r15, %rsi
callq 0x20e0
testl %eax, %eax
je 0xd434
movq (%r15), %rax
leaq 0x4(%rax), %rcx
movq %rcx, 0x180(%r14)
movl $0xa, (%rax)
pushq $0x1
popq %rdx
movq %r14, %rdi
movq %rbx, %rsi
xorl %ecx, %ecx
callq 0xd85e
jmp 0xce2a
movl $0x1, (%r14)
jmp 0xcbbb
leaq 0x8beb(%rip), %rdi      # 0x16032
leaq 0xa3b6(%rip), %rsi      # 0x17804
leaq 0xa3b8(%rip), %rcx      # 0x1780d
movl $0xac, %edx
callq 0x2100
leaq 0x9066(%rip), %rdi      # 0x164cc
leaq 0xa397(%rip), %rsi      # 0x17804
leaq 0xa399(%rip), %rcx      # 0x1780d
movl $0xad, %edx
callq 0x2100