// File: /workspace/github_c_makefile_star2_O2/akumrao[P]videoAnalyzer/decoder/decoder.c
// Function: x264_decoder_decode(x264_t*, x264_picture_t**, x264_nal_t*)
int x264_decoder_decode(x264_t *h,
        x264_picture_t **pp_pic, x264_nal_t *nal) {LOG_CALL;
    int i_ret = 0;
    bs_t bs;

    /* no picture */
    *pp_pic = NULL;

    /* init bitstream reader */
    bs_init(&bs, nal->p_payload, nal->i_payload);

    switch (nal->i_type)
    {
        case NAL_SPS:
            if ((i_ret = x264_sps_read(&bs, h->sps_array)) < 0)
            {
                fprintf(stderr, "x264: x264_sps_read failed\n");
            }
            break;

        case NAL_PPS:
            if ((i_ret = x264_pps_read(&bs, h->pps_array)) < 0)
            {
                fprintf(stderr, "x264: x264_pps_read failed\n");
            }
            break;

        case NAL_SLICE_IDR:
            fprintf(stderr, "x264: NAL_SLICE_IDR\n");
            x264_slice_idr(h);

        case NAL_SLICE:
            if ((i_ret = x264_slice_header_decode(h, &bs, nal)) < 0)
            {
                fprintf(stderr, "x264: x264_slice_header_decode failed\n");
            }
            if (h->sh.i_redundant_pic_cnt == 0 && i_ret == 0)
            {
                if ((i_ret = x264_slice_data_decode(h, &bs)) < 0)
                {
                    fprintf(stderr, "x264: x264_slice_data_decode failed\n");
                } else
                {
                    *pp_pic = h->picture;
                }
            }
            break;

        case NAL_SLICE_DPA:
        case NAL_SLICE_DPB:
        case NAL_SLICE_DPC:
            fprintf(stderr, "partitioned stream unsupported\n");
            i_ret = -1;
            break;

        case NAL_SEI:
        default:
            break;
    }

    /* restore CPU state (before using float again) */
    x264_cpu_restore(h->cpu);

    return i_ret;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x818, %rsp            # imm = 0x818
movq %rdx, %r12
movq %rsi, %r15
movq %rdi, %rbx
leaq 0x11995(%rip), %r14     # 0x1b1b4
leaq 0x13ece(%rip), %rsi     # 0x1d6f4
leaq 0x13efb(%rip), %rdx     # 0x1d728
movq %r14, %rdi
xorl %eax, %eax
callq 0x39ba
movq %r15, -0x50(%rbp)
andq $0x0, (%r15)
movq 0x10(%r12), %r13
movslq 0x8(%r12), %r15
leaq 0x13fb8(%rip), %rsi     # 0x1d808
leaq 0x13fc6(%rip), %rdx     # 0x1d81d
movq %r14, %rdi
xorl %eax, %eax
callq 0x39ba
movq %r13, -0x48(%rbp)
movq %r13, -0x40(%rbp)
addq %r13, %r15
movq %r15, -0x38(%rbp)
movl $0x8, -0x30(%rbp)
movl 0x4(%r12), %eax
decl %eax
cmpl $0x7, %eax
ja 0x990b
movq %r12, %r15
leaq 0x1276f(%rip), %rcx     # 0x1c000
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
pushq $-0x1
popq %r14
xorl %r12d, %r12d
jmpq *%rax
leaq 0xd8(%rbx), %rsi
leaq -0x48(%rbp), %rdi
callq 0xc51c
movl %eax, %r12d
testl %eax, %eax
jns 0xa122
movq 0x1e70d(%rip), %rax     # 0x27fd0
movq (%rax), %rcx
leaq 0x13e6f(%rip), %rdi     # 0x1d73c
jmp 0x98fb
leaq 0x8ee0(%rbx), %rsi
leaq -0x48(%rbp), %rdi
callq 0xcb4e
movl %eax, %r12d
testl %eax, %eax
jns 0xa122
movq 0x1e6df(%rip), %rax     # 0x27fd0
movq (%rax), %rcx
leaq 0x13e5d(%rip), %rdi     # 0x1d758
pushq $0x1b
popq %rsi
pushq $0x1
popq %rdx
callq 0x21e0
jmp 0xa122
xorl %r12d, %r12d
jmp 0xa122
movq 0x1e6b6(%rip), %rax     # 0x27fd0
movq (%rax), %rcx
leaq 0x13eb1(%rip), %rdi     # 0x1d7d5
pushq $0x1f
popq %rsi
pushq $0x1
popq %rdx
callq 0x21e0
movl %r14d, %r12d
jmp 0xa122
movq 0x1e692(%rip), %rax     # 0x27fd0
movq (%rax), %rcx
leaq 0x13e2c(%rip), %rdi     # 0x1d774
pushq $0x14
popq %rsi
pushq $0x1
popq %rdx
callq 0x21e0
leaq 0x1185a(%rip), %rdi     # 0x1b1b4
leaq 0x13d93(%rip), %rsi     # 0x1d6f4
leaq 0x13ebd(%rip), %rdx     # 0x1d825
xorl %eax, %eax
callq 0x39ba
xorps %xmm0, %xmm0
movups %xmm0, 0xc8(%rbx)
movq 0x8ed8(%rbx), %rax
testq %rax, %rax
je 0x99cb
movl 0x434(%rax), %eax
testl %eax, %eax
cmovnsl %eax, %r14d
movslq %r14d, %rax
incq %rax
xorl %ecx, %ecx
cmpq %rcx, %rax
je 0x99af
movq 0x10eff0(%rbx,%rcx,8), %rdx
orl $-0x1, 0x68(%rdx)
incq %rcx
jmp 0x9999
movq 0x10eff0(%rbx), %rax
movq %rax, 0x10efe0(%rbx)
andl $0x0, 0x10f078(%rbx)
andl $0x0, 0x10f100(%rbx)
leaq 0x117e2(%rip), %r14     # 0x1b1b4
leaq 0x13d1b(%rip), %r12     # 0x1d6f4
leaq 0x13e54(%rip), %rdx     # 0x1d834
movq %r14, %rdi
movq %r12, %rsi
xorl %eax, %eax
callq 0x39ba
movl 0x4(%r15), %r13d
leaq 0x13ec0(%rip), %rdx     # 0x1d8b8
movq %r14, %rdi
movq %r12, %rsi
xorl %eax, %eax
callq 0x39ba
leaq 0x13ec9(%rip), %rsi     # 0x1d8d5
leaq -0x48(%rbp), %r14
movq %r14, %rdi
callq 0xa6b8
movl %eax, 0x10db04(%rbx)
leaq 0x13ebb(%rip), %rsi     # 0x1d8e0
movq %r14, %rdi
callq 0xa6b8
leal -0x5(%rax), %ecx
cmpl $0x5, %eax
cmovll %eax, %ecx
movl %ecx, 0x10db00(%rbx)
leaq 0x13ea4(%rip), %rsi     # 0x1d8e7
movq %r14, %rdi
callq 0xa6b8
movl %eax, 0x10db08(%rbx)
movq %r14, %rdi
callq 0xa72b
testl %eax, %eax
jne 0x9a85
movslq 0x10db08(%rbx), %rcx
cmpq $0xff, %rcx
jg 0x9a85
leaq 0x8ee0(%rbx), %rax
imulq $0x104c, %rcx, %rcx     # imm = 0x104C
cmpl $-0x1, (%rax,%rcx)
jne 0x9c77
movq 0x1e544(%rip), %rax     # 0x27fd0
movq (%rax), %rcx
leaq 0x13e5a(%rip), %rdi     # 0x1d8f0
pushq $0x1f
popq %rsi
pushq $0x1
popq %rdx
callq 0x21e0
movq 0x1e528(%rip), %rax     # 0x27fd0
movq (%rax), %rcx
leaq 0x13d9b(%rip), %rdi     # 0x1d84d
pushq $0x24
popq %rsi
pushq $0x1
popq %rdx
callq 0x21e0
movq 0x1e50c(%rip), %rax     # 0x27fd0
movq (%rax), %rcx
leaq 0x13cbb(%rip), %rdi     # 0x1d789
pushq $0x26
popq %rsi
pushq $0x1
popq %rdx
callq 0x21e0
pushq $-0x1
popq %r12
movl 0x10db2c(%rbx), %eax
orl %r12d, %eax
jne 0xa122
leaq 0x116c1(%rip), %rdi     # 0x1b1b4
leaq 0x13bfa(%rip), %rsi     # 0x1d6f4
leaq 0x140bc(%rip), %rdx     # 0x1dbbd
xorl %eax, %eax
callq 0x39ba
movl 0x10db04(%rbx), %r15d
leaq 0x140be(%rip), %r13     # 0x1dbd4
xorl %r12d, %r12d
movq %r13, %rdi
movl %r15d, %esi
xorl %eax, %eax
callq 0x39ba
movq 0x8ed8(%rbx), %rax
movl 0x440(%rax), %ecx
imull 0x43c(%rax), %ecx
cmpl %ecx, %r15d
jge 0xa053
movslq %r15d, %rax
imulq $0xf88, %rax, %r14      # imm = 0xF88
addq 0x10efe8(%rbx), %r14
movq %rbx, %rdi
movq %r14, %rsi
leaq -0x838(%rbp), %rdx
callq 0x6c1b
movq 0x10dae0(%rbx), %rax
cmpl $0x0, 0x8(%rax)
je 0x9b87
movq %rbx, %rdi
leaq -0x48(%rbp), %rsi
movq %r14, %rdx
callq 0xac12
jmp 0x9c37
movl 0x10db00(%rbx), %eax
cmpl $0x2, %eax
je 0x9c28
cmpl $0x4, %eax
je 0x9c28
leaq -0x48(%rbp), %rdi
leaq 0x14035(%rip), %rsi     # 0x1dbdf
callq 0xa6b8
movl %eax, %r13d
testl %r13d, %r13d
jle 0x9bff
movq %rbx, %rdi
movq %r14, %rsi
callq 0xc170
leal 0x1(%r15), %ecx
movq 0x8ed8(%rbx), %rdx
movl 0x440(%rdx), %eax
imull 0x43c(%rdx), %eax
cmpl %eax, %ecx
jge 0x9c15
addq $0xf88, %r14            # imm = 0xF88
movq %rbx, %rdi
movq %r14, %rsi
leaq -0x838(%rbp), %rdx
callq 0x6c1b
decl %r13d
incl %r15d
jmp 0x9bb2
movq 0x8ed8(%rbx), %rcx
movl 0x440(%rcx), %eax
imull 0x43c(%rcx), %eax
jmp 0x9c18
movl %ecx, %r15d
cmpl %eax, %r15d
leaq 0x13fb2(%rip), %r13     # 0x1dbd4
jge 0xa053
movq %rbx, %rdi
leaq -0x48(%rbp), %rsi
movq %r14, %rdx
callq 0xac37
movl %eax, %r12d
testl %eax, %eax
js 0xa034
movq %rbx, %rdi
movq %r14, %rsi
callq 0xba06
testl %eax, %eax
js 0x9c59
incl %r15d
jmp 0x9b19
movq 0x1e370(%rip), %rax     # 0x27fd0
movq (%rax), %rcx
leaq 0x13fa1(%rip), %rdi     # 0x1dc0b
pushq $0x1e
popq %rsi
pushq $0x1
popq %rdx
callq 0x21e0
jmp 0x9c51
leaq 0xd8(%rbx), %rdx
addq %rcx, %rax
movq %rax, 0x10daf8(%rbx)
movslq 0x4(%rax), %rax
imulq $0x470, %rax, %rax      # imm = 0x470
leaq (%rdx,%rax), %rcx
movq %rcx, 0x10daf0(%rbx)
movl 0x18(%rdx,%rax), %esi
leaq 0x13c67(%rip), %rdx     # 0x1d910
leaq -0x48(%rbp), %rdi
callq 0xa764
movl %eax, 0x10db0c(%rbx)
movq 0x10daf0(%rbx), %rax
cmpl $0x0, 0x444(%rax)
jne 0x9cf8
leaq 0x13c56(%rip), %rsi     # 0x1d925
leaq -0x48(%rbp), %rdi
callq 0xa80a
movl %eax, 0x10db10(%rbx)
testl %eax, %eax
je 0x9cf8
leaq 0x13c48(%rip), %rsi     # 0x1d931
leaq -0x48(%rbp), %rdi
callq 0xa80a
movl %eax, 0x10db14(%rbx)
xorl %eax, %eax
cmpl $0x5, %r13d
jne 0x9d10
leaq 0x13c39(%rip), %rsi     # 0x1d940
leaq -0x48(%rbp), %rdi
callq 0xa6b8
movl %eax, 0x10db18(%rbx)
movq 0x10daf0(%rbx), %rax
movl 0x1c(%rax), %ecx
cmpl $0x1, %ecx
je 0x9d74
testl %ecx, %ecx
jne 0x9dbc
movl 0x20(%rax), %esi
leaq 0x13c16(%rip), %rdx     # 0x1d94d
leaq -0x48(%rbp), %rdi
callq 0xa764
movl %eax, 0x10db1c(%rbx)
movq 0x10daf8(%rbx), %rax
cmpl $0x0, 0xc(%rax)
je 0x9dbc
cmpl $0x0, 0x10db10(%rbx)
jne 0x9dbc
leaq 0x13bfd(%rip), %rsi     # 0x1d960
leaq -0x48(%rbp), %rdi
callq 0xa85d
movl %eax, 0x10db20(%rbx)
jmp 0x9dbc
cmpl $0x0, 0x24(%rax)
jne 0x9dbc
leaq 0x13bf2(%rip), %rsi     # 0x1d973
leaq -0x48(%rbp), %rdi
callq 0xa85d
movl %eax, 0x10db24(%rbx)
movq 0x10daf8(%rbx), %rax
cmpl $0x0, 0xc(%rax)
je 0x9dbc
cmpl $0x0, 0x10db10(%rbx)
jne 0x9dbc
leaq 0x13bc6(%rip), %rsi     # 0x1d973
leaq -0x48(%rbp), %rdi
callq 0xa85d
movl %eax, 0x10db28(%rbx)
movq 0x10daf8(%rbx), %rax
cmpl $0x0, 0x1048(%rax)
je 0x9de2
leaq 0x13baf(%rip), %rsi     # 0x1d982
leaq -0x48(%rbp), %rdi
callq 0xa6b8
movl %eax, 0x10db2c(%rbx)
movl 0x10db00(%rbx), %eax
cmpl $0x1, %eax
jne 0x9e09
leaq 0x13ba2(%rip), %rsi     # 0x1d996
leaq -0x48(%rbp), %rdi
callq 0xa80a
movl %eax, 0x10db30(%rbx)
movl 0x10db00(%rbx), %eax
cmpl $0x3, %eax
ja 0x9e85
cmpl $0x2, %eax
je 0x9e85
leaq 0x13b95(%rip), %rsi     # 0x1d9af
leaq -0x48(%rbp), %rdi
callq 0xa80a
movl %eax, 0x10db34(%rbx)
movq 0x10daf8(%rbx), %rcx
movl 0x1024(%rcx), %edx
movl %edx, 0x10db38(%rbx)
movl 0x1028(%rcx), %ecx
movl %ecx, 0x10db3c(%rbx)
testl %eax, %eax
je 0x9e85
leaq 0x13b73(%rip), %rsi     # 0x1d9c6
leaq -0x48(%rbp), %rdi
callq 0xa6b8
incl %eax
movl %eax, 0x10db38(%rbx)
cmpl $0x1, 0x10db00(%rbx)
jne 0x9e85
leaq 0x13b6a(%rip), %rsi     # 0x1d9de
leaq -0x48(%rbp), %rdi
callq 0xa6b8
incl %eax
movl %eax, 0x10db3c(%rbx)
leaq -0x48(%rbp), %rdi
callq 0xa72b
testl %eax, %eax
jne 0x9aa1
movq 0x8ed8(%rbx), %rax
movq 0x10daf0(%rbx), %rcx
cmpq %rcx, %rax
jne 0x9ed4
movq 0x10dae0(%rbx), %rsi
movq 0x10daf8(%rbx), %rdx
cmpq %rdx, %rsi
jne 0x9ed4
testq %rax, %rax
setne %dil
testq %rsi, %rsi
setne %sil
testb %sil, %dil
je 0x9ee6
jmp 0x9faa
movq 0x10ee48(%rbx), %rax
andq $0x0, (%rax)
movq 0x10daf8(%rbx), %rdx
movq %rcx, 0x8ed8(%rbx)
movq %rdx, 0x10dae0(%rbx)
movl 0x43c(%rcx), %edx
shll $0x4, %edx
movq 0x10ee48(%rbx), %rax
movl %edx, (%rax)
movl %edx, 0x84(%rbx)
movl 0x440(%rcx), %ecx
shll $0x4, %ecx
movl %ecx, 0x4(%rax)
movl %ecx, 0x88(%rbx)
movq 0x1e0ab(%rip), %rax     # 0x27fd0
movq (%rax), %rdi
leaq 0x13943(%rip), %rsi     # 0x1d872
xorl %r14d, %r14d
xorl %eax, %eax
callq 0x2170
movq 0x8ed8(%rbx), %rax
movl 0x43c(%rax), %edi
movl 0x440(%rax), %esi
callq 0x53c4
movq %rax, 0x10efe8(%rbx)
movq 0x8ed8(%rbx), %rax
movslq 0x434(%rax), %rcx
cmpq %rcx, %r14
jg 0x9f84
movq %rbx, %rdi
callq 0x3df8
movq %rax, 0x10eff0(%rbx,%r14,8)
orl $-0x1, 0x68(%rax)
incq %r14
jmp 0x9f58
movq 0x10eff0(%rbx), %rcx
movq %rcx, 0x10efe0(%rbx)
andl $0x0, 0x10f078(%rbx)
andl $0x0, 0x10f100(%rbx)
xorps %xmm0, %xmm0
movups %xmm0, 0xc8(%rbx)
movl 0x1c(%rax), %ecx
cmpl $0x1, %ecx
je 0x9abd
pushq $0x1
popq %r14
testl %ecx, %ecx
jne 0xa014
movb 0x20(%rax), %cl
movl %r14d, %esi
shll %cl, %esi
movl 0x10db1c(%rbx), %edi
movl 0xd4(%rbx), %r8d
pushq $0x2
popq %rcx
cmpl %r8d, %edi
jge 0x9fef
movl %r8d, %r9d
subl %edi, %r9d
movl %esi, %eax
cltd
idivl %ecx
cmpl %eax, %r9d
jge 0xa17a
movl %edi, %r9d
subl %r8d, %r9d
jle 0xa180
movl %esi, %eax
cltd
idivl %ecx
cmpl %eax, %r9d
jle 0xa180
subl %esi, 0xd0(%rbx)
jmp 0xa180
cmpl $0x5, 0x4(%r15)
jne 0xa156
andq $0x0, 0xc4(%rbx)
movl 0x10db0c(%rbx), %edi
xorl %eax, %eax
jmp 0xa1ad
movq 0x1df95(%rip), %rax     # 0x27fd0
movq (%rax), %rdi
movl (%r14), %edx
movl 0x4(%r14), %ecx
leaq 0x13b9a(%rip), %rsi     # 0x1dbe6
xorl %eax, %eax
callq 0x2170
testl %r12d, %r12d
js 0xa13e
movq 0x10efe0(%rbx), %rdi
callq 0x3fc2
movq 0x10dae0(%rbx), %rax
cmpl $0x0, 0x1040(%rax)
je 0xa081
cmpl $0x1, 0x10db50(%rbx)
je 0xa08f
movl 0x10db00(%rbx), %esi
movq %rbx, %rdi
callq 0x41f3
movq 0x10ee48(%rbx), %rax
movq 0x10efe0(%rbx), %rcx
movl 0x20(%rcx), %edx
movl %edx, 0x8(%rax)
xorl %ecx, %ecx
movslq %edx, %rdx
cmpq %rdx, %rcx
jge 0xa0d5
movq 0x10efe0(%rbx), %rdx
movl 0x24(%rdx,%rcx,4), %esi
movl %esi, 0xc(%rax,%rcx,4)
movq 0x48(%rdx,%rcx,8), %rdx
movq %rdx, 0x20(%rax,%rcx,8)
incq %rcx
movq 0x10ee48(%rbx), %rax
movl 0x8(%rax), %edx
jmp 0xa0a5
movq 0x8ed8(%rbx), %rax
movl 0x434(%rax), %eax
movslq %eax, %rcx
movq 0x10eff0(%rbx,%rcx,8), %rcx
movq %rcx, 0x10efe0(%rbx)
testl %eax, %eax
jle 0xa10d
movq 0x10efe8(%rbx,%rax,8), %rdx
movq %rdx, 0x10eff0(%rbx,%rax,8)
decq %rax
jmp 0xa0f4
movq %rcx, 0x10eff0(%rbx)
movq 0x10ee48(%rbx), %rax
movq -0x50(%rbp), %rcx
movq %rax, (%rcx)
movl (%rbx), %edi
callq 0x3614
movl %r12d, %eax
addq $0x818, %rsp            # imm = 0x818
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x1de8b(%rip), %rax     # 0x27fd0
movq (%rax), %rcx
leaq 0x13661(%rip), %rdi     # 0x1d7b0
pushq $0x24
jmp 0x98fd
movl 0x10db0c(%rbx), %edi
cmpl 0xcc(%rbx), %edi
jge 0xa195
movb 0x18(%rax), %cl
movl %r14d, %eax
shll %cl, %eax
addl 0xc8(%rbx), %eax
movl %eax, 0xc8(%rbx)
jmp 0xa19b
addl %esi, 0xd0(%rbx)
movl %edi, 0xd4(%rbx)
addl 0xd0(%rbx), %edi
movl $0xc4, %ecx
movl %edi, %eax
jmp 0xa1b2
movl 0xc8(%rbx), %eax
addl %edi, %eax
addl %eax, %eax
cmpl $0x0, (%r15)
jg 0xa1a7
decl %eax
movl %eax, 0xc4(%rbx)
movl $0xcc, %ecx
movl %edi, (%rbx,%rcx)
movq 0x1de14(%rip), %r13     # 0x27fd0
movq (%r13), %rdi
movl 0x10db00(%rbx), %ecx
testl %ecx, %ecx
leaq 0x136ca(%rip), %rdx     # 0x1d899
leaq 0x136c5(%rip), %rsi     # 0x1d89b
cmoveq %rdx, %rsi
cmpl $0x2, %ecx
leaq 0x17a55(%rip), %rdx     # 0x21c39
cmovneq %rsi, %rdx
leaq 0x13690(%rip), %rsi     # 0x1d87f
xorl %r12d, %r12d
movl %eax, %ecx
xorl %eax, %eax
callq 0x2170
testl $0xfffffffd, 0x10db00(%rbx) # imm = 0xFFFFFFFD
jne 0xa5a2
leaq 0x10fa2(%rip), %rdi     # 0x1b1b4
leaq 0x134db(%rip), %rsi     # 0x1d6f4
leaq 0x1383b(%rip), %rdx     # 0x1da5b
xorl %eax, %eax
callq 0x39ba
movq 0x10eff0(%rbx), %rax
movq %rax, 0x10efe0(%rbx)
movl 0xc4(%rbx), %ecx
movl %ecx, 0x68(%rax)
andl $0x0, 0x10f078(%rbx)
andl $0x0, 0x10f100(%rbx)
movl $0x21dff, %ecx          # imm = 0x21DFF
xorl %eax, %eax
leaq -0x21dfe(%rcx), %rdx
movq 0x8ed8(%rbx), %rsi
movslq 0x434(%rsi), %rsi
cmpq %rsi, %rdx
jg 0xa2bd
movq (%rbx,%rcx,8), %rdx
movl 0x68(%rdx), %esi
testl %esi, %esi
js 0xa2b8
movq 0x10efe0(%rbx), %rdi
cmpl 0x68(%rdi), %esi
jge 0xa29d
movl %r12d, %esi
leal 0x1(%r12), %r8d
movl %r8d, 0x10f078(%rbx)
movl $0x10f080, %edi         # imm = 0x10F080
movl %r8d, %r12d
jmp 0xa2ae
jle 0xa2b8
movl %eax, %esi
incl %eax
movl %eax, 0x10f100(%rbx)
movl $0x10f108, %edi         # imm = 0x10F108
addq %rbx, %rdi
movslq %esi, %rsi
movq %rdx, (%rdi,%rsi,8)
incq %rcx
jmp 0xa253
cmpl $0x2, %r12d
movl %r14d, %ecx
cmovgel %r12d, %ecx
decl %ecx
xorl %esi, %esi
cmpq %rcx, %rsi
je 0xa303
movq %rsi, %rdx
movq 0x10f080(%rbx,%rsi,8), %rdi
movq 0x10f088(%rbx,%rsi,8), %r8
movl 0x68(%rdi), %r9d
incq %rsi
cmpl 0x68(%r8), %r9d
jge 0xa2cc
movq %rdi, 0x10f088(%rbx,%rdx,8)
movq %r8, 0x10f080(%rbx,%rdx,8)
jmp 0xa2ca
cmpl $0x2, %eax
cmovgel %eax, %r14d
decl %r14d
xorl %edx, %edx
cmpq %r14, %rdx
je 0xa346
movq %rdx, %rcx
movq 0x10f108(%rbx,%rdx,8), %rsi
movq 0x10f110(%rbx,%rdx,8), %rdi
movl 0x68(%rsi), %r8d
incq %rdx
cmpl 0x68(%rdi), %r8d
jle 0xa30f
movq %rsi, 0x10f110(%rbx,%rcx,8)
movq %rdi, 0x10f108(%rbx,%rcx,8)
jmp 0xa30d
movq 0x10dae0(%rbx), %rcx
movl 0x1024(%rcx), %edx
cmpl %edx, %r12d
jle 0xa35e
movl %edx, 0x10f078(%rbx)
movl 0x1028(%rcx), %ecx
cmpl %ecx, %eax
jle 0xa36e
movl %ecx, 0x10f100(%rbx)
movl 0x10db00(%rbx), %eax
cmpl $0x2, %eax
je 0xa3bf
cmpl $0x4, %eax
je 0xa3bf
leaq 0x136fb(%rip), %rsi     # 0x1da80
leaq -0x48(%rbp), %rdi
callq 0xa80a
testl %eax, %eax
jne 0x9abd
movl 0x10db00(%rbx), %eax
cmpl $0x1, %eax
jne 0xa3bf
leaq 0x136d8(%rip), %rsi     # 0x1da80
leaq -0x48(%rbp), %rdi
callq 0xa80a
testl %eax, %eax
jne 0x9abd
movl 0x10db00(%rbx), %eax
testl %eax, %eax
je 0xa3d6
cmpl $0x3, %eax
je 0xa3d6
cmpl $0x1, %eax
jne 0xa3fc
movq 0x10daf8(%rbx), %rcx
jmp 0xa3ef
movq 0x10daf8(%rbx), %rcx
cmpl $0x0, 0x102c(%rcx)
jne 0xa581
cmpl $0x1, %eax
jne 0xa3fc
cmpl $0x0, 0x1030(%rcx)
jne 0xa581
cmpl $0x0, (%r15)
je 0xa451
movl 0x4(%r15), %r14d
leaq 0x10da7(%rip), %rdi     # 0x1b1b4
leaq 0x132e0(%rip), %rsi     # 0x1d6f4
leaq 0x13693(%rip), %rdx     # 0x1daae
xorl %eax, %eax
callq 0x39ba
cmpl $0x5, %r14d
jne 0xa441
leaq 0x136a5(%rip), %rsi     # 0x1dad4
leaq -0x48(%rbp), %rdi
callq 0xa80a
leaq 0x136af(%rip), %rsi     # 0x1daee
jmp 0xa448
leaq 0x136c1(%rip), %rsi     # 0x1db09
leaq -0x48(%rbp), %rdi
callq 0xa80a
leaq 0x10d5c(%rip), %rdi     # 0x1b1b4
leaq 0x13295(%rip), %rsi     # 0x1d6f4
leaq 0x136c3(%rip), %rdx     # 0x1db29
xorl %eax, %eax
callq 0x39ba
movq 0x10daf8(%rbx), %rax
cmpl $0x0, 0x8(%rax)
je 0xa4a0
movl 0x10db00(%rbx), %eax
cmpl $0x2, %eax
je 0xa4a0
cmpl $0x4, %eax
je 0xa4a0
leaq 0x136b5(%rip), %rsi     # 0x1db46
leaq -0x48(%rbp), %rdi
callq 0xa6b8
movl %eax, 0x10db40(%rbx)
leaq 0x136b0(%rip), %rsi     # 0x1db57
leaq -0x48(%rbp), %rdi
callq 0xa85d
movl %eax, 0x10db44(%rbx)
movl 0x10db00(%rbx), %eax
leal -0x3(%rax), %ecx
cmpl $0x1, %ecx
ja 0xa4f5
cmpl $0x3, %eax
jne 0xa4df
leaq 0x13692(%rip), %rsi     # 0x1db62
leaq -0x48(%rbp), %rdi
callq 0xa80a
movl %eax, 0x10db48(%rbx)
leaq 0x1368c(%rip), %rsi     # 0x1db72
leaq -0x48(%rbp), %rdi
callq 0xa85d
movl %eax, 0x10db4c(%rbx)
movq 0x10daf8(%rbx), %rax
cmpl $0x0, 0x1040(%rax)
je 0xa54a
leaq 0x13671(%rip), %rsi     # 0x1db7d
leaq -0x48(%rbp), %rdi
callq 0xa6b8
movl %eax, 0x10db50(%rbx)
cmpl $0x1, %eax
je 0xa559
leaq 0x13676(%rip), %rsi     # 0x1db9d
leaq -0x48(%rbp), %r14
movq %r14, %rdi
callq 0xa85d
movl %eax, 0x10db54(%rbx)
leaq 0x1366f(%rip), %rsi     # 0x1dbaf
movq %r14, %rdi
callq 0xa85d
jmp 0xa553
andl $0x0, 0x10db54(%rbx)
xorl %eax, %eax
movl %eax, 0x10db58(%rbx)
movq 0x10daf8(%rbx), %rax
xorl %r12d, %r12d
cmpl $0x2, 0x10(%rax)
jl 0x9add
movl 0x14(%rax), %eax
addl $-0x3, %eax
cmpl $0x2, %eax
ja 0x9add
jmp 0x9abd
leaq 0x10c2c(%rip), %rdi     # 0x1b1b4
leaq 0x13165(%rip), %rsi     # 0x1d6f4
leaq 0x134f4(%rip), %rdx     # 0x1da8a
xorl %eax, %eax
callq 0x39ba
jmp 0x9abd
movq (%r13), %rcx
leaq 0x132f1(%rip), %rdi     # 0x1d89e
pushq $0x19
jmp 0x9ab4