// File: /workspace/github_c_makefile_star2_O3/janet-lang[P]janet/build/c/shell.c
// Function: janet_line_get
void janet_line_get(const char *p, JanetBuffer *buffer) {
    gbl_prompt = p;
    buffer->count = 0;
    gbl_historyi = 0;
    if (check_simpleline(buffer)) return;
    FILE *out = janet_dynfile("err", stderr);
    if (line()) {
        norawmode();
        fputc('\n', out);
        return;
    }
    fflush(stdin);
    norawmode();
    fputc('\n', out);
    janet_buffer_ensure(buffer, gbl_len + 1, 2);
    memcpy(buffer->data, gbl_buf, gbl_len);
    buffer->data[gbl_len] = '\n';
    buffer->count = gbl_len + 1;
    replacehistory();
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x88, %rsp
movq %rsi, %r14
movq %rdi, %r12
movq %fs:0x0, %rax
movq %rax, %rbp
movq %rax, %r15
movq %r12, -0x1af8(%rax)
xorl %ecx, %ecx
movl %ecx, 0x10(%r14)
movl %ecx, -0x1460(%rax)
xorl %edi, %edi
callq 0x151c0
testl %eax, %eax
je 0x568b9
leaq 0x55c34(%rip), %rdi     # 0xac4b4
callq 0x15040
testq %rax, %rax
je 0x568b0
movq %rax, %r12
xorl %ebx, %ebx
leaq 0x6f4ba(%rip), %r13     # 0xc5d50
movq (%rbx,%r13), %rsi
movq %r12, %rdi
callq 0x155d0
testl %eax, %eax
je 0x568b9
addq $0x8, %rbx
cmpq $0x18, %rbx
jne 0x56896
callq 0x579a5
testl %eax, %eax
je 0x56935
movq 0x6f6d0(%rip), %rax     # 0xc5f90
movq (%rax), %rsi
leaq 0x50fe2(%rip), %rdi     # 0xa78ac
callq 0x24d18
movq %rax, %rbx
movl $0x0, 0x10(%r14)
movq %rbx, %rdi
callq 0x15450
movl %eax, %ebp
movq %rbx, %rdi
callq 0x15630
testl %ebp, %ebp
js 0x5690e
testl %eax, %eax
jne 0x57708
movzbl %bpl, %esi
movq %r14, %rdi
callq 0x1b4c7
cmpl $0xa, %ebp
jne 0x568da
jmp 0x57708
testl %eax, %eax
jne 0x5691c
callq 0x15120
cmpl $0x4, (%rax)
je 0x568da
movq %rbx, %rdi
addq $0x88, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x15630
movq %rbp, %r12
leaq -0x1af8(%r15), %rbp
movq 0x6f6aa(%rip), %rax     # 0xc5ff0
movq (%rax), %rsi
leaq 0x5124b(%rip), %rdi     # 0xa7b9b
callq 0x24d18
movq %rax, 0x58(%rsp)
callq 0x57a52
movl %eax, %ecx
movq %r12, %rax
movl %ecx, -0x1af0(%r12)
leaq -0x1aec(%r12), %rbx
xorl %ecx, %ecx
movl %ecx, (%rbx)
movq %rax, %r15
movl %ecx, -0x145c(%rax)
movq %r12, 0x18(%rsp)
movq %r12, 0x30(%rsp)
movl %ecx, -0x1010(%r12)
movq (%rbp), %rax
cmpb $0x0, (%rax)
je 0x569ab
xorl %ecx, %ecx
cmpb $0x0, 0x1(%rax,%rcx)
leaq 0x1(%rcx), %rcx
jne 0x5699e
movl %ecx, (%rbx)
movq 0x18(%rsp), %rax
leaq -0x1450(%rax), %r12
movb $0x0, (%r12)
movq %r12, %rdi
callq 0x5826a
testq %rax, %rax
je 0x56a3d
movq %rax, %r13
movq %r15, 0x8(%rsp)
movq %r12, 0x28(%rsp)
movq 0x18(%rsp), %rax
movslq -0x1784(%rax), %r12
leaq -0x1780(%rax), %r15
cmpq $0x64, %r12
jge 0x56a08
leaq -0x1784(%rax), %rax
leal 0x1(%r12), %ecx
movl %ecx, (%rax)
movq %r13, (%r15,%r12,8)
testl %r12d, %r12d
jg 0x56a17
jmp 0x56a30
movq 0x318(%r15), %rdi
callq 0x150b0
decl %r12d
movl %r12d, %eax
incq %rax
movq -0x10(%r15,%rax,8), %rcx
movq %rcx, -0x8(%r15,%rax,8)
decq %rax
cmpq $0x1, %rax
ja 0x56a1d
movq %r13, (%r15)
movq 0x28(%rsp), %r12
movq 0x8(%rsp), %r15
movq (%rbp), %rsi
movslq (%rbx), %rdx
movl $0x1, %edi
callq 0x15250
cmpq $-0x1, %rax
je 0x5750f
leaq -0x145c(%r15), %r15
movq 0x30(%rsp), %rax
leaq -0x1010(%rax), %rax
movq %rax, 0x8(%rsp)
leaq 0x4(%rsp), %r13
movq 0x18(%rsp), %rbp
leaq -0x1050(%rbp), %rax
movq %rax, 0x30(%rsp)
leaq -0x104c(%rbp), %rax
movq %rax, 0x68(%rsp)
leaq -0x1790(%rbp), %rax
movq %rax, 0x78(%rsp)
leaq -0x1008(%rbp), %rax
movq %rax, 0x48(%rsp)
leaq -0x1000(%rbp), %rax
movq %rax, 0x70(%rsp)
leaq -0x100c(%rbp), %rax
movq %rax, 0x50(%rsp)
leaq 0x1(%r12), %rax
movq %rax, 0x80(%rsp)
movl $0x1, %edx
xorl %edi, %edi
leaq 0x17(%rsp), %rsi
callq 0x15530
testl %eax, %eax
jns 0x56af3
callq 0x15120
cmpl $0x4, (%rax)
je 0x56acf
jmp 0x5765c
je 0x5765c
movb 0x17(%rsp), %al
movzbl %al, %ecx
leal -0x1(%rcx), %edx
cmpl $0x1a, %edx
ja 0x56b28
leaq 0x55901(%rip), %rsi     # 0xac410
movslq (%rsi,%rdx,4), %rcx
addq %rsi, %rcx
jmpq *%rcx
movq 0x8(%rsp), %rax
movl $0x0, (%rax)
jmp 0x573b3
cmpl $0x7f, %ecx
jne 0x56b76
movq 0x8(%rsp), %rax
movslq (%rax), %rbx
testq %rbx, %rbx
jle 0x56acf
leaq (%r12,%rbx), %rsi
leaq (%r12,%rbx), %rdi
decq %rdi
movq %r15, %r13
movslq (%r15), %r15
movq %r15, %rdx
subq %rbx, %rdx
callq 0x15950
leal -0x1(%rbx), %eax
movq 0x8(%rsp), %rcx
movl %eax, (%rcx)
leaq -0x1(%r15), %rax
movl %eax, (%r13)
movb $0x0, -0x1(%r12,%r15)
movq %r13, %r15
jmp 0x57139
cmpb $0x20, %al
jb 0x56acf
movsbl %al, %edi
movl $0x1, %esi
callq 0x57b20
testl %eax, %eax
je 0x56acf
jmp 0x5765c
movq 0x8(%rsp), %rax
movslq (%rax), %rax
movb $0x0, (%r12,%rax)
movl %eax, (%r15)
jmp 0x573b3
movl $0x1, %edx
xorl %edi, %edi
leaq 0x3(%rsp), %rsi
callq 0x15530
cmpq $-0x1, %rax
je 0x56acf
movzbl 0x3(%rsp), %eax
cmpl $0x61, %eax
jle 0x57160
cmpl $0x65, %eax
jg 0x571f6
cmpl $0x62, %eax
je 0x57295
cmpl $0x64, %eax
jne 0x56acf
movq 0x8(%rsp), %rax
movl (%rax), %eax
movslq %eax, %r13
movq %r15, 0x20(%rsp)
movl (%r15), %r15d
cmpl %r15d, %r13d
movq %r13, 0x40(%rsp)
movq %r12, 0x28(%rsp)
jge 0x56c9d
movl %eax, 0x38(%rsp)
callq 0x15c60
movq %rax, %rbx
movq (%rax), %rax
movsbq (%r12,%r13), %rcx
testb $0x20, 0x1(%rax,%rcx,2)
je 0x56c99
movslq %r15d, %rbp
movq %r12, %rax
addq %r13, %r12
addq %r13, %rax
incq %rax
movq %rax, 0x60(%rsp)
decq %rbp
negq %r13
leaq 0x1(,%rbp), %rdx
addq %r13, %rdx
movq %r12, %rdi
movq 0x60(%rsp), %rsi
callq 0x15950
movq 0x28(%rsp), %rax
movb $0x0, (%rax,%rbp)
cmpq 0x40(%rsp), %rbp
jle 0x57477
movq (%rbx), %rax
movsbq (%r12), %rcx
decl %r15d
decq %rbp
testb $0x20, 0x1(%rax,%rcx,2)
jne 0x56c4b
movq 0x20(%rsp), %rax
movl %r15d, (%rax)
movq 0x18(%rsp), %rbp
movl 0x38(%rsp), %eax
cmpl %r15d, %eax
jge 0x57487
callq 0x15c60
movq %rax, 0x60(%rsp)
movq 0x28(%rsp), %rax
movq 0x40(%rsp), %r13
leaq (%rax,%r13), %r12
addq %r13, %rax
incq %rax
movq %rax, 0x38(%rsp)
movslq %r15d, %rbx
decl %r15d
negq %r13
movq 0x60(%rsp), %rax
movq (%rax), %rax
movsbq (%r12), %rcx
testb $0x20, 0x1(%rax,%rcx,2)
jne 0x57487
leaq (%rbx,%r13), %rdx
movq %r12, %rdi
movq 0x38(%rsp), %rsi
callq 0x15950
movq 0x20(%rsp), %rax
movl %r15d, (%rax)
movq 0x28(%rsp), %rax
movb $0x0, -0x1(%rax,%rbx)
decq %rbx
decl %r15d
cmpq 0x40(%rsp), %rbx
jg 0x56cd2
jmp 0x57487
movq %r15, 0x20(%rsp)
movq 0x78(%rsp), %rax
movq (%rax), %rbp
testq %rbp, %rbp
movq %r12, 0x28(%rsp)
je 0x57143
movq 0x8(%rsp), %rax
movl (%rax), %ebx
movslq %ebx, %r15
movzbl (%r12,%r15), %edi
callq 0x582a6
testl %eax, %eax
je 0x56d73
addq 0x80(%rsp), %r15
movzbl (%r15), %edi
callq 0x582a6
incl %ebx
incq %r15
testl %eax, %eax
jne 0x56d5a
movq 0x8(%rsp), %rax
movl %ebx, (%rax)
callq 0x58344
testl %edx, %edx
je 0x572cf
movq %rax, %r12
movl %edx, %r15d
movq 0x48(%rsp), %rax
movl $0x0, (%rax)
movslq 0x14(%rbp), %rbx
testq %rbx, %rbx
jle 0x56de7
movq 0x20(%rbp), %r13
shlq $0x4, %rbx
addq %r13, %rbx
movq (%r13), %rdi
movq %rdi, %rax
movabsq $-0x800000000000, %rcx  # imm = 0xFFFF800000000000
andq %rcx, %rax
movabsq $-0x5800000000000, %rcx # imm = 0xFFFA800000000000
cmpq %rcx, %rax
jne 0x56dde
callq 0x1df4d
movl -0x8(%rax), %ecx
movq %r12, %rdi
movl %r15d, %esi
movq %rax, %rdx
callq 0x586c2
addq $0x10, %r13
cmpq %rbx, %r13
jb 0x56da5
movq 0x28(%rbp), %rbp
testq %rbp, %rbp
jne 0x56d91
movq %r12, %rdi
movl %r15d, %esi
leaq 0x50b1a(%rip), %rdx     # 0xa7917
movl $0x5, %ecx
callq 0x586c2
movq %r12, %rdi
movl %r15d, %esi
leaq 0x55034(%rip), %rdx     # 0xabe48
movl $0x3, %ecx
callq 0x586c2
movq %r12, %rdi
movl %r15d, %esi
leaq 0x54cfe(%rip), %rdx     # 0xabb29
movl $0x2, %ecx
callq 0x586c2
movq %r12, %rdi
movl %r15d, %esi
leaq 0x54789(%rip), %rdx     # 0xab5cb
movl $0x2, %ecx
callq 0x586c2
movq %r12, %rdi
movl %r15d, %esi
leaq 0x55010(%rip), %rdx     # 0xabe69
movl $0x2, %ecx
callq 0x586c2
movq %r12, %rdi
movl %r15d, %esi
leaq 0x55024(%rip), %rdx     # 0xabe94
movl $0xa, %ecx
callq 0x586c2
movq %r12, %rdi
movl %r15d, %esi
leaq 0x5504c(%rip), %rdx     # 0xabed3
movl $0x5, %ecx
callq 0x586c2
movq %r12, %rdi
movl %r15d, %esi
leaq 0x550bf(%rip), %rdx     # 0xabf5d
movl $0x3, %ecx
callq 0x586c2
movq %r12, %rdi
movl %r15d, %esi
leaq 0x5511f(%rip), %rdx     # 0xabfd4
movl $0x6, %ecx
callq 0x586c2
movq %r12, %rdi
movl %r15d, %esi
leaq 0x546f1(%rip), %rdx     # 0xab5bd
movl $0x7, %ecx
callq 0x586c2
movq %r12, %rdi
movl %r15d, %esi
leaq 0x54c51(%rip), %rdx     # 0xabb34
movl $0x3, %ecx
callq 0x586c2
movq %r12, %rdi
movl %r15d, %esi
leaq 0x55119(%rip), %rdx     # 0xac013
movl $0x5, %ecx
callq 0x586c2
movq %r12, %rdi
movl %r15d, %esi
leaq 0x54c1b(%rip), %rdx     # 0xabb2c
movl $0x7, %ecx
callq 0x586c2
movq 0x48(%rsp), %rax
movl (%rax), %eax
testq %rax, %rax
je 0x57212
movq 0x70(%rsp), %r9
movq (%r9), %rbx
movl 0x8(%r9), %ebp
testl %eax, %eax
jle 0x57216
xorl %ecx, %ecx
movq %rcx, %rdx
shlq $0x4, %rdx
movl 0x8(%r9,%rdx), %esi
cmpl %ebp, %esi
cmovll %esi, %ebp
testl %ebp, %ebp
jle 0x56f72
movq (%r9,%rdx), %rdx
movl %ebp, %esi
xorl %edi, %edi
movb (%rbx,%rdi), %r8b
cmpb (%rdx,%rdi), %r8b
jne 0x56f76
incq %rdi
cmpq %rdi, %rsi
jne 0x56f5e
jmp 0x56f78
xorl %ebp, %ebp
jmp 0x56f78
movl %edi, %ebp
incq %rcx
cmpq %rax, %rcx
jne 0x56f41
jmp 0x57216
movl $0x7, %edx
movl $0x1, %edi
leaq 0x555c2(%rip), %rsi     # 0xac558
callq 0x15250
testq %rax, %rax
jg 0x573b3
jmp 0x5771a
callq 0x57d39
movq 0x30(%rsp), %rax
cmpl $0x0, (%rax)
je 0x56fd9
xorl %edi, %edi
movl $0x1, %esi
movq 0x68(%rsp), %rdx
callq 0x15990
cmpl $-0x1, %eax
je 0x56fd9
movq 0x30(%rsp), %rax
movl $0x0, (%rax)
callq 0x15260
movl %eax, %edi
movl $0x13, %esi
callq 0x156f0
callq 0x579a5
jmp 0x573b3
cmpl $0x0, (%r15)
je 0x57657
movl $0x1, %edi
callq 0x57d9f
jmp 0x56acf
movq %r15, 0x20(%rsp)
movq 0x78(%rsp), %rax
cmpq $0x0, (%rax)
je 0x570f6
movq 0x8(%rsp), %rax
movl (%rax), %ebx
movslq %ebx, %r15
movzbl (%r12,%r15), %edi
callq 0x582a6
testl %eax, %eax
je 0x5705a
addq 0x80(%rsp), %r15
movzbl (%r15), %edi
callq 0x582a6
incl %ebx
incq %r15
testl %eax, %eax
jne 0x57041
movq 0x8(%rsp), %rax
movl %ebx, (%rax)
callq 0x58344
movq %rax, %rdi
movl %edx, %esi
callq 0x23893
movq %rax, %rdi
movabsq $-0x5800000000000, %rsi # imm = 0xFFFA800000000000
callq 0x1a512
movq 0x78(%rsp), %rcx
movq (%rcx), %rdi
movq %rax, %rsi
callq 0x1f0cb
movq %rax, %r15
shrq $0x2f, %rax
cmpl $0x1fff9, %eax          # imm = 0x1FFF9
jne 0x570f6
movq %r15, %rdi
callq 0x1df4d
movq %r12, %rbx
movq %rax, %r12
leaq 0x54b7f(%rip), %rdi     # 0xabc2d
callq 0x1a519
movq %rax, %rdi
movabsq $-0x5000000000000, %rsi # imm = 0xFFFB000000000000
callq 0x1a512
movq %r12, %rdi
movq %rbx, %r12
movq %rax, %rsi
callq 0x1f0cb
movq %rax, %rcx
movabsq $-0x800000000000, %rdx  # imm = 0xFFFF800000000000
andq %rdx, %rcx
movabsq $-0x6000000000000, %rdx # imm = 0xFFFA000000000000
cmpq %rdx, %rcx
je 0x57333
callq 0x57c1f
movq 0x20(%rsp), %r15
jmp 0x56acf
movq 0x8(%rsp), %r13
movslq (%r13), %rax
leaq (%r12,%rax), %rsi
movq %r15, %rbx
movslq (%r15), %r15
subq %rax, %r15
movq %r12, %rdi
movq %r15, %rdx
callq 0x15950
movl %r15d, (%rbx)
movb $0x0, (%r12,%r15)
movq %rbx, %r15
movl $0x0, (%r13)
leaq 0x4(%rsp), %r13
jmp 0x573b3
movl $0x20, %edi
xorl %esi, %esi
callq 0x57b20
movl $0x20, %edi
xorl %esi, %esi
callq 0x57b20
jmp 0x572cf
cmpl $0x2c, %eax
je 0x57286
cmpl $0x2e, %eax
je 0x5729f
cmpl $0x5b, %eax
jne 0x56acf
movl $0x1, %edx
xorl %edi, %edi
movq %r13, %rsi
callq 0x15530
cmpq $-0x1, %rax
je 0x56acf
movzbl 0x4(%rsp), %eax
leal -0x30(%rax), %ecx
cmpb $0x9, %cl
ja 0x572ed
movl $0x1, %edx
xorl %edi, %edi
leaq 0x5(%rsp), %rsi
callq 0x15530
cmpq $-0x1, %rax
je 0x56acf
movzbl 0x5(%rsp), %eax
cmpl $0x3b, %eax
je 0x57491
cmpl $0x7e, %eax
jne 0x56acf
movzbl 0x4(%rsp), %eax
cmpl $0x34, %eax
je 0x574de
cmpl $0x33, %eax
je 0x574ef
cmpl $0x31, %eax
jmp 0x5731e
cmpl $0x66, %eax
je 0x574d4
cmpl $0x7f, %eax
jne 0x56acf
callq 0x57f17
jmp 0x56acf
xorl %ebx, %ebx
xorl %ebp, %ebp
movl %ebp, %r12d
subl %r15d, %r12d
jle 0x5723b
movslq %r15d, %rax
addq %rax, %rbx
xorl %r13d, %r13d
movsbl (%rbx,%r13), %edi
xorl %esi, %esi
callq 0x57b20
incq %r13
cmpl %r13d, %r12d
jne 0x57227
cmpl %r15d, %ebp
movq 0x6edab(%rip), %r13     # 0xc5ff0
je 0x57251
movq 0x50(%rsp), %rax
cmpl $0x0, (%rax)
je 0x572cf
movq 0x48(%rsp), %rax
movslq (%rax), %rax
testq %rax, %rax
jle 0x572ae
shlq $0x4, %rax
xorl %ecx, %ecx
xorl %r15d, %r15d
movq 0x70(%rsp), %rsi
movl 0x8(%rsi,%rcx), %edx
cmpl %r15d, %edx
cmovgl %edx, %r15d
addq $0x10, %rcx
cmpq %rcx, %rax
jne 0x5726c
addl $0x4, %r15d
jmp 0x572b4
movl $0x64, %edi
callq 0x57e26
jmp 0x56acf
callq 0x5810d
jmp 0x56acf
movl $0xffffff9c, %edi       # imm = 0xFFFFFF9C
callq 0x57e26
jmp 0x56acf
movl $0x4, %r15d
callq 0x57a52
movl %eax, %r12d
callq 0x57d39
movq 0x48(%rsp), %rax
cmpl $0x1, (%rax)
jg 0x573bd
callq 0x57c1f
movq 0x18(%rsp), %rbp
movq 0x28(%rsp), %r12
movq 0x20(%rsp), %r15
leaq 0x4(%rsp), %r13
jmp 0x56acf
cmpb $0x4f, 0x3(%rsp)
jne 0x57348
movl $0x1, %edx
xorl %edi, %edi
movq %r13, %rsi
callq 0x15530
cmpq $-0x1, %rax
je 0x56acf
movzbl 0x4(%rsp), %eax
cmpl $0x46, %eax
je 0x574de
cmpl $0x48, %eax
movq 0x18(%rsp), %rbp
leaq 0x4(%rsp), %r13
je 0x56b18
jmp 0x56acf
movq %rax, %rdi
movq 0x50(%rsp), %rsi
movq %r15, %rdx
callq 0x17360
jmp 0x570f6
addl $-0x41, %eax
cmpl $0x7, %eax
ja 0x56acf
leaq 0x55121(%rip), %rcx     # 0xac47c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl $0x1, %edi
callq 0x57e26
jmp 0x56acf
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x57e26
jmp 0x56acf
movq 0x8(%rsp), %rax
movl (%rax), %eax
cmpl (%r15), %eax
je 0x56acf
incl %eax
jmp 0x573ac
movq 0x8(%rsp), %rax
movl (%rax), %eax
testl %eax, %eax
jle 0x56acf
decl %eax
jmp 0x573ac
movl (%r15), %eax
movq 0x8(%rsp), %rcx
movl %eax, (%rcx)
callq 0x57c1f
jmp 0x56acf
movl %r12d, %eax
cltd
idivl %r15d
cmpl $0x1, %eax
adcl $0x0, %eax
movl %eax, 0x40(%rsp)
xorl %ebx, %ebx
xorl %r12d, %r12d
testl %r12d, %r12d
jne 0x573ed
movq (%r13), %rsi
movl $0xa, %edi
callq 0x155c0
movq 0x50(%rsp), %rax
incl (%rax)
movq %rbx, %rax
shlq $0x4, %rax
movq 0x70(%rsp), %rcx
movq (%rcx,%rax), %rdi
movl 0x8(%rcx,%rax), %r13d
movq 0x6ebe7(%rip), %rax     # 0xc5ff0
movq (%rax), %rsi
callq 0x153f0
movl %r15d, %ebp
subl %r13d, %ebp
movq 0x6ebd2(%rip), %r13     # 0xc5ff0
jle 0x57432
movq (%r13), %rsi
movl $0x20, %edi
callq 0x155c0
decl %ebp
jne 0x57420
incl %r12d
movl %r12d, %eax
cltd
idivl 0x40(%rsp)
incq %rbx
movq 0x48(%rsp), %rax
movslq (%rax), %rax
movl %edx, %r12d
cmpq %rax, %rbx
jl 0x573d3
movq (%r13), %rdi
movq 0x50(%rsp), %rax
movl (%rax), %edx
leaq 0x550ab(%rip), %rsi     # 0xac50d
xorl %eax, %eax
callq 0x15600
movq (%r13), %rdi
callq 0x15790
jmp 0x572cf
movq 0x20(%rsp), %rax
movl 0x38(%rsp), %ecx
movl %ecx, (%rax)
movq 0x18(%rsp), %rbp
callq 0x57c1f
jmp 0x572d9
movl $0x2, %edx
xorl %edi, %edi
leaq 0x6(%rsp), %rsi
callq 0x15530
cmpq $-0x1, %rax
je 0x56acf
cmpb $0x35, 0x6(%rsp)
jne 0x56acf
movzbl 0x7(%rsp), %eax
cmpl $0x44, %eax
je 0x574fb
cmpl $0x43, %eax
movq 0x18(%rsp), %rbp
leaq 0x4(%rsp), %r13
jne 0x56acf
callq 0x58048
jmp 0x56acf
movl (%r15), %eax
movq 0x8(%rsp), %rcx
movl %eax, (%rcx)
callq 0x57c1f
jmp 0x57500
movl $0x1, %edi
callq 0x57d9f
jmp 0x57500
callq 0x5810d
movq 0x18(%rsp), %rbp
leaq 0x4(%rsp), %r13
jmp 0x56acf
movq 0x18(%rsp), %rbp
leaq -0x1050(%rbp), %r14
movq 0x58(%rsp), %rbx
jmp 0x57666
callq 0x57d39
movq 0x6ea5f(%rip), %rax     # 0xc5f90
movq (%rax), %rdi
callq 0x15790
movq 0x30(%rsp), %rbx
cmpl $0x0, (%rbx)
je 0x5755f
xorl %edi, %edi
movl $0x1, %esi
movq 0x68(%rsp), %rdx
callq 0x15990
cmpl $-0x1, %eax
je 0x5755f
movl $0x0, (%rbx)
movl $0xa, %edi
movq 0x58(%rsp), %rsi
callq 0x154f0
movl (%r15), %esi
incl %esi
movq %r14, %rdi
movl $0x2, %edx
callq 0x1b29a
movq 0x18(%r14), %rdi
movslq (%r15), %r15
movq %r12, %rbx
movq %r12, %rsi
movq %r15, %rdx
callq 0x15690
leal 0x1(%r15), %eax
movq 0x18(%r14), %rcx
movb $0xa, (%rcx,%r15)
movl %eax, 0x10(%r14)
movq %rbp, %rax
testq %r15, %r15
je 0x576a9
movl -0x1784(%rax), %r12d
cmpl $0x2, %r12d
jl 0x575df
movq %rax, %r14
movq %rbp, %rax
movq %rax, %r15
movq -0x1778(%rax), %rsi
movq %rbx, %rdi
callq 0x155d0
testl %eax, %eax
je 0x576d7
movq %rbx, %rdi
callq 0x5826a
testq %rax, %rax
je 0x57708
movq %rax, %r14
movq %rbp, %rax
movq %rax, %rbx
movq -0x1780(%rax), %rdi
callq 0x150b0
movq %r14, -0x1780(%rbx)
jmp 0x57708
callq 0x57d39
movq 0x30(%rsp), %rbx
cmpl $0x0, (%rbx)
je 0x5763c
xorl %edi, %edi
movl $0x1, %esi
movq 0x68(%rsp), %rdx
callq 0x15990
cmpl $-0x1, %eax
je 0x5763c
movl $0x0, (%rbx)
callq 0x15260
movl %eax, %edi
movl $0x2, %esi
callq 0x156f0
movl $0x1, -0x1788(%rbp)
callq 0x57d39
movq 0x58(%rsp), %rbx
movq 0x30(%rsp), %r14
cmpl $0x0, (%r14)
je 0x5768b
leaq -0x104c(%rbp), %rdx
xorl %edi, %edi
movl $0x1, %esi
callq 0x15990
cmpl $-0x1, %eax
je 0x5768b
movl $0x0, (%r14)
movl $0xa, %edi
movq %rbx, %rsi
addq $0x88, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x154f0
movq %rax, %r14
leaq -0x1784(%rbp), %r13
movl (%r13), %r12d
movq -0x1780(%rax), %rdi
callq 0x150b0
cmpl $0x1, %r12d
jle 0x576d2
leaq -0x1780(%r14), %rbx
jmp 0x576ed
decl %r12d
jmp 0x57704
leaq -0x1784(%r14), %r13
leaq -0x1780(%r15), %rbx
movq (%rbx), %rdi
callq 0x150b0
leaq 0x8(%rbx), %rsi
decl %r12d
leaq (,%r12,8), %rdx
movq %rbx, %rdi
callq 0x15950
movl %r12d, (%r13)
addq $0x88, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl $0x1, %edi
callq 0x15aa0