// File: /workspace/github_c_makefile_star2_O3/akumrao[P]videoAnalyzer/decoder/set.c
// Function: x264_pps_read(bs_s*, x264_pps_t*)
int x264_pps_read(bs_t *s, x264_pps_t pps_array[256]) {LOG_CALL;
    x264_pps_t *pps;
    int id;
    int i;

    id = bs_read_ue(s,"id");
    if (bs_eof(s) || id >= 256)
    {
        fprintf(stderr, "id invalid\n");
        return -1;
    }
    pps = &pps_array[id];
    pps->i_id = id;
    pps->i_sps_id = bs_read_ue(s,"i_sps_id");
    if (pps->i_sps_id >= 32)
    {
        goto error;
    }
    pps->b_cabac = bs_read1(s, "b_cabac");
    pps->b_pic_order = bs_read1(s, "b_pic_order");
    pps->i_num_slice_groups = bs_read_ue(s,"i_num_slice_groups") + 1;
    if (pps->i_num_slice_groups > 1)
    {
        fprintf(stderr, "FMO unsupported\n ");

        pps->i_slice_group_map_type = bs_read_ue(s,"i_slice_group_map_type");
        if (pps->i_slice_group_map_type == 0)
        {
            for (i = 0; i < pps->i_num_slice_groups; i++)
            {
                pps->i_run_length[i] = bs_read_ue(s,"i_run_length");
            }
        } else if (pps->i_slice_group_map_type == 2)
        {
            for (i = 0; i < pps->i_num_slice_groups; i++)
            {
                pps->i_top_left[i] = bs_read_ue(s,"i_top_left");
                pps->i_bottom_right[i] = bs_read_ue(s,"i_bottom_right");
            }
        } else if (pps->i_slice_group_map_type == 3 ||
                pps->i_slice_group_map_type == 4 ||
                pps->i_slice_group_map_type == 5)
        {
            pps->b_slice_group_change_direction = bs_read1(s, "b_slice_group_change_direction");
            pps->i_slice_group_change_rate = bs_read_ue(s,"i_slice_group_change_rate") + 1;
        } else if (pps->i_slice_group_map_type == 6)
        {
            pps->i_pic_size_in_map_units = bs_read_ue(s,"i_pic_size_in_map_units") + 1;
            for (i = 0; i < pps->i_pic_size_in_map_units; i++)
            {
                /*  FIXME */
                /* pps->i_slice_group_id = bs_read( s, ceil( log2( pps->i_pic_size_in_map_units +1 ) ) ); */
            }
        }
    }
    pps->i_num_ref_idx_l0_active = bs_read_ue(s,"i_num_ref_idx_l0_active") + 1;
    pps->i_num_ref_idx_l1_active = bs_read_ue(s,"i_num_ref_idx_l1_active") + 1;
    pps->b_weighted_pred = bs_read1(s, "b_weighted_pred");
    pps->b_weighted_bipred = bs_read(s, 2,"b_weighted_bipred");

    pps->i_pic_init_qp = bs_read_se(s,"i_pic_init_qp") + 26;
    pps->i_pic_init_qs = bs_read_se(s,"i_pic_init_qs") + 26;

    pps->i_chroma_qp_index_offset = bs_read_se(s,"i_chroma_qp_index_offset");

    pps->b_deblocking_filter_control = bs_read1(s, "b_deblocking_filter_control");
    pps->b_constrained_intra_pred = bs_read1(s, "b_constrained_intra_pred");
    pps->b_redundant_pic_cnt = bs_read1(s, "b_redundant_pic_cnt");

    if (bs_eof(s))
    {
        /* no rbsp trailing */
        fprintf(stderr, "incomplete PPS\n");
        goto error;
    }
    fprintf(stderr, "x264_sps_read: pps:0x%x sps:0x%x %s slice_groups=%d ref0:%d ref1:%d QP:%d QS:%d QC=%d DFC:%d CIP:%d RPC:%d\n",
            pps->i_id, pps->i_sps_id,
            pps->b_cabac ? "CABAC" : "CAVLC",
            pps->i_num_slice_groups,
            pps->i_num_ref_idx_l0_active,
            pps->i_num_ref_idx_l1_active,
            pps->i_pic_init_qp, pps->i_pic_init_qs, pps->i_chroma_qp_index_offset,
            pps->b_deblocking_filter_control,
            pps->b_constrained_intra_pred,
            pps->b_redundant_pic_cnt);

    return id;
error:
    pps->i_id = -1;
    return -1;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %rsi, %r15
movq %rdi, %rbx
leaq 0x15765(%rip), %rdi     # 0x271b4
leaq 0x189ee(%rip), %rsi     # 0x2a444
leaq 0x18c0d(%rip), %rdx     # 0x2a66a
xorl %r12d, %r12d
xorl %eax, %eax
callq 0x4a56
movq 0x8(%rbx), %rax
movq 0x10(%rbx), %rdx
cmpq %rdx, %rax
jae 0x11a94
movl 0x18(%rbx), %ecx
decl %ecx
movl %ecx, 0x18(%rbx)
movzbl (%rax), %esi
jne 0x11a8f
incq %rax
movq %rax, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
btl %ecx, %esi
jb 0x11aa4
cmpq %rdx, %rax
jae 0x11aa4
cmpl $0x1f, %r12d
ja 0x11aa4
incl %r12d
jmp 0x11a6f
xorl %esi, %esi
testl %r12d, %r12d
je 0x11b0c
leaq 0x1890e(%rip), %r8      # 0x2a3c0
movl %r12d, %edi
cmpq %rdx, %rax
jae 0x11b0c
movslq 0x18(%rbx), %r9
movl %r9d, %ecx
subl %edi, %ecx
movzbl (%rax), %r10d
jns 0x11aea
andl (%r8,%r9,4), %r10d
negb %cl
shll %cl, %r10d
orl %r10d, %esi
incq %rax
movq %rax, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
subl %r9d, %edi
jg 0x11ab5
jmp 0x11b0c
shrl %cl, %r10d
movl %edi, %edx
andl (%r8,%rdx,4), %r10d
orl %r10d, %esi
movl %ecx, 0x18(%rbx)
cmpl %edi, %r9d
jne 0x11b0c
incq %rax
movq %rax, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
movl $0xffffffff, %r13d      # imm = 0xFFFFFFFF
movl %r12d, %ecx
shll %cl, %r13d
movl $0xffffffff, %r14d      # imm = 0xFFFFFFFF
notl %r13d
addl %esi, %r13d
leaq 0x17e6b(%rip), %rdi     # 0x29996
leaq 0x17db8(%rip), %rdx     # 0x298ea
movl %r13d, %esi
xorl %eax, %eax
callq 0x4a56
leaq 0x15671(%rip), %rdi     # 0x271b4
leaq 0x17c5e(%rip), %rsi     # 0x297a8
leaq 0x17e57(%rip), %rdx     # 0x299a8
xorl %eax, %eax
callq 0x4a56
cmpl $0xff, %r13d
jg 0x11c8f
movq 0x8(%rbx), %rdx
movq 0x10(%rbx), %rsi
cmpq %rsi, %rdx
jae 0x11c8f
movslq %r13d, %rax
imulq $0x104c, %rax, %rax     # imm = 0x104C
leaq (%r15,%rax), %r9
movl %r13d, (%r15,%rax)
movl 0x18(%rbx), %edi
xorl %eax, %eax
movl %edi, %ecx
decl %ecx
movl %ecx, 0x18(%rbx)
movzbl (%rdx), %r8d
je 0x11b9e
movl %ecx, %edi
jmp 0x11bb1
incq %rdx
movq %rdx, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
movl $0x8, %edi
btl %ecx, %r8d
jb 0x11bc5
cmpq %rsi, %rdx
jae 0x11bc5
cmpl $0x1f, %eax
ja 0x11bc5
incl %eax
jmp 0x11b8d
movq %r9, -0x30(%rbp)
xorl %r8d, %r8d
testl %eax, %eax
je 0x11c36
leaq 0x187e9(%rip), %r10     # 0x2a3c0
movl %eax, %r9d
cmpq %rsi, %rdx
jae 0x11c36
movl %edi, %ecx
subl %r9d, %ecx
movzbl (%rdx), %r11d
jns 0x11c13
movslq %edi, %r14
andl (%r10,%r14,4), %r11d
negb %cl
shll %cl, %r11d
orl %r11d, %r8d
incq %rdx
movq %rdx, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
subl %edi, %r9d
movl $0x8, %edi
jg 0x11bda
jmp 0x11c36
shrl %cl, %r11d
movl %r9d, %esi
andl (%r10,%rsi,4), %r11d
orl %r11d, %r8d
movl %ecx, 0x18(%rbx)
cmpl %r9d, %edi
jne 0x11c36
incq %rdx
movq %rdx, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
movl $0xffffffff, %r15d      # imm = 0xFFFFFFFF
movl %eax, %ecx
shll %cl, %r15d
notl %r15d
addl %r8d, %r15d
leaq 0x17d48(%rip), %rdi     # 0x29996
leaq 0x18a2f(%rip), %rdx     # 0x2a684
xorl %r12d, %r12d
movl %r15d, %esi
xorl %eax, %eax
callq 0x4a56
movq -0x30(%rbp), %r14
movl %r15d, 0x4(%r14)
cmpl $0x1f, %r15d
jle 0x11c96
movl $0xffffffff, (%r14)     # imm = 0xFFFFFFFF
movl $0xffffffff, %r14d      # imm = 0xFFFFFFFF
movl %r14d, %eax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
callq 0x2a1c
jmp 0x11c7d
movq 0x8(%rbx), %rax
cmpq 0x10(%rbx), %rax
jae 0x11cc7
movl 0x18(%rbx), %ecx
decl %ecx
movl %ecx, 0x18(%rbx)
movzbl (%rax), %edx
xorl %r12d, %r12d
btl %ecx, %edx
setb %r12b
testl %ecx, %ecx
jne 0x11cc7
incq %rax
movq %rax, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
leaq 0x17d0a(%rip), %rdi     # 0x299d8
leaq 0x189b8(%rip), %rdx     # 0x2a68d
xorl %r15d, %r15d
movl %r12d, %esi
xorl %eax, %eax
callq 0x4a56
movq -0x30(%rbp), %rax
movl %r12d, 0x8(%rax)
movq 0x8(%rbx), %rax
movl $0x0, %r12d
cmpq 0x10(%rbx), %rax
jae 0x11d21
movl 0x18(%rbx), %ecx
decl %ecx
movl %ecx, 0x18(%rbx)
movzbl (%rax), %edx
xorl %r12d, %r12d
btl %ecx, %edx
setb %r12b
testl %ecx, %ecx
jne 0x11d21
incq %rax
movq %rax, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
leaq 0x17cb0(%rip), %rdi     # 0x299d8
leaq 0x18966(%rip), %rdx     # 0x2a695
movl %r12d, %esi
xorl %eax, %eax
callq 0x4a56
movq -0x30(%rbp), %rax
movl %r12d, 0xc(%rax)
movq 0x8(%rbx), %rax
movq 0x10(%rbx), %rdx
cmpq %rdx, %rax
jae 0x11d6e
movl 0x18(%rbx), %ecx
decl %ecx
movl %ecx, 0x18(%rbx)
movzbl (%rax), %esi
jne 0x11d69
incq %rax
movq %rax, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
btl %ecx, %esi
jb 0x11d7e
cmpq %rdx, %rax
jae 0x11d7e
cmpl $0x1f, %r15d
ja 0x11d7e
incl %r15d
jmp 0x11d49
xorl %r14d, %r14d
testl %r15d, %r15d
je 0x11dea
xorl %r14d, %r14d
leaq 0x18630(%rip), %rdi     # 0x2a3c0
movl %r15d, %esi
cmpq %rdx, %rax
jae 0x11dea
movslq 0x18(%rbx), %r8
movl %r8d, %ecx
subl %esi, %ecx
movzbl (%rax), %r9d
jns 0x11dc8
andl (%rdi,%r8,4), %r9d
negb %cl
shll %cl, %r9d
orl %r9d, %r14d
incq %rax
movq %rax, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
subl %r8d, %esi
jg 0x11d93
jmp 0x11dea
shrl %cl, %r9d
movl %esi, %edx
andl (%rdi,%rdx,4), %r9d
orl %r9d, %r14d
movl %ecx, 0x18(%rbx)
cmpl %esi, %r8d
jne 0x11dea
incq %rax
movq %rax, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
movl %r13d, -0x34(%rbp)
movl $0xffffffff, %r13d      # imm = 0xFFFFFFFF
movl %r15d, %ecx
shll %cl, %r13d
movl %r13d, %r15d
notl %r15d
addl %r14d, %r15d
leaq 0x17b8c(%rip), %rdi     # 0x29996
leaq 0x18890(%rip), %rdx     # 0x2a6a1
xorl %r12d, %r12d
movl %r15d, %esi
xorl %eax, %eax
callq 0x4a56
subl %r13d, %r14d
movq -0x30(%rbp), %rax
movl %r14d, 0x10(%rax)
testl %r15d, %r15d
jle 0x11f87
movq 0x21197(%rip), %rax     # 0x32fd0
movq (%rax), %rcx
leaq 0x18871(%rip), %rdi     # 0x2a6b4
movl $0x11, %esi
movl $0x1, %edx
callq 0x21e0
movq 0x8(%rbx), %rdx
movq 0x10(%rbx), %rsi
xorl %eax, %eax
cmpq %rsi, %rdx
jae 0x11e81
movl 0x18(%rbx), %ecx
decl %ecx
movl %ecx, 0x18(%rbx)
movzbl (%rdx), %edi
jne 0x11e7c
incq %rdx
movq %rdx, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
btl %ecx, %edi
jb 0x11e8f
cmpq %rsi, %rdx
jae 0x11e8f
cmpl $0x1f, %eax
ja 0x11e8f
incl %eax
jmp 0x11e5c
xorl %edi, %edi
testl %eax, %eax
je 0x11efa
xorl %edi, %edi
leaq 0x18522(%rip), %r9      # 0x2a3c0
movl %eax, %r8d
cmpq %rsi, %rdx
jae 0x11efa
movslq 0x18(%rbx), %r10
movl %r10d, %ecx
subl %r8d, %ecx
movzbl (%rdx), %r11d
jns 0x11ed7
andl (%r9,%r10,4), %r11d
negb %cl
shll %cl, %r11d
orl %r11d, %edi
incq %rdx
movq %rdx, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
subl %r10d, %r8d
jg 0x11ea1
jmp 0x11efa
shrl %cl, %r11d
movl %r8d, %esi
andl (%r9,%rsi,4), %r11d
orl %r11d, %edi
movl %ecx, 0x18(%rbx)
cmpl %r8d, %r10d
jne 0x11efa
incq %rdx
movq %rdx, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
movl $0xffffffff, %r15d      # imm = 0xFFFFFFFF
movl %eax, %ecx
shll %cl, %r15d
notl %r15d
addl %edi, %r15d
leaq 0x17a84(%rip), %rdi     # 0x29996
leaq 0x187ad(%rip), %rdx     # 0x2a6c6
movl %r15d, %esi
xorl %eax, %eax
callq 0x4a56
movq -0x30(%rbp), %rdx
movl %r15d, 0x14(%rdx)
cmpl $0x6, %r15d
ja 0x11f87
leaq 0x18468(%rip), %rax     # 0x2a3a0
movslq (%rax,%r15,4), %rcx
addq %rax, %rcx
jmpq *%rcx
leaq 0x187bc(%rip), %rsi     # 0x2a704
movq %rbx, %rdi
movq %rdx, %r15
callq 0x11907
movl %eax, 0xc18(%r15)
movl $0xc1c, %r14d           # imm = 0xC1C
leaq 0x187bc(%rip), %rsi     # 0x2a723
jmp 0x11f79
movl $0xc20, %r14d           # imm = 0xC20
leaq 0x187c7(%rip), %rsi     # 0x2a73d
movq %rdx, %r15
movq %rbx, %rdi
callq 0x1195a
incl %eax
movl %eax, (%r15,%r14)
movq 0x8(%rbx), %rax
movq 0x10(%rbx), %rdx
cmpq %rdx, %rax
jae 0x11fb4
movl 0x18(%rbx), %ecx
decl %ecx
movl %ecx, 0x18(%rbx)
movzbl (%rax), %esi
jne 0x11faf
incq %rax
movq %rax, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
btl %ecx, %esi
jb 0x11fc4
cmpq %rdx, %rax
jae 0x11fc4
cmpl $0x1f, %r12d
ja 0x11fc4
incl %r12d
jmp 0x11f8f
xorl %r15d, %r15d
movl $0x0, %r14d
testl %r12d, %r12d
je 0x12036
xorl %r14d, %r14d
leaq 0x183e4(%rip), %rdi     # 0x2a3c0
movl %r12d, %esi
cmpq %rdx, %rax
jae 0x12036
movslq 0x18(%rbx), %r8
movl %r8d, %ecx
subl %esi, %ecx
movzbl (%rax), %r9d
jns 0x12014
andl (%rdi,%r8,4), %r9d
negb %cl
shll %cl, %r9d
orl %r9d, %r14d
incq %rax
movq %rax, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
subl %r8d, %esi
jg 0x11fdf
jmp 0x12036
shrl %cl, %r9d
movl %esi, %edx
andl (%rdi,%rdx,4), %r9d
orl %r9d, %r14d
movl %ecx, 0x18(%rbx)
cmpl %esi, %r8d
jne 0x12036
incq %rax
movq %rax, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
movl $0xffffffff, %r13d      # imm = 0xFFFFFFFF
movl %r12d, %ecx
shll %cl, %r13d
movl %r13d, %esi
notl %esi
addl %r14d, %esi
leaq 0x17945(%rip), %rdi     # 0x29996
leaq 0x1790e(%rip), %rdx     # 0x29966
xorl %eax, %eax
callq 0x4a56
subl %r13d, %r14d
movq -0x30(%rbp), %rax
movl %r14d, 0x1024(%rax)
movq 0x8(%rbx), %rax
movq 0x10(%rbx), %rdx
cmpq %rdx, %rax
jae 0x1209a
movl 0x18(%rbx), %ecx
decl %ecx
movl %ecx, 0x18(%rbx)
movzbl (%rax), %esi
jne 0x12095
incq %rax
movq %rax, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
btl %ecx, %esi
jb 0x120aa
cmpq %rdx, %rax
jae 0x120aa
cmpl $0x1f, %r15d
ja 0x120aa
incl %r15d
jmp 0x12075
xorl %r12d, %r12d
movl $0x0, %r14d
testl %r15d, %r15d
je 0x1211c
xorl %r14d, %r14d
leaq 0x182fe(%rip), %rdi     # 0x2a3c0
movl %r15d, %esi
cmpq %rdx, %rax
jae 0x1211c
movslq 0x18(%rbx), %r8
movl %r8d, %ecx
subl %esi, %ecx
movzbl (%rax), %r9d
jns 0x120fa
andl (%rdi,%r8,4), %r9d
negb %cl
shll %cl, %r9d
orl %r9d, %r14d
incq %rax
movq %rax, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
subl %r8d, %esi
jg 0x120c5
jmp 0x1211c
shrl %cl, %r9d
movl %esi, %edx
andl (%rdi,%rdx,4), %r9d
orl %r9d, %r14d
movl %ecx, 0x18(%rbx)
cmpl %esi, %r8d
jne 0x1211c
incq %rax
movq %rax, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
movl $0xffffffff, %r13d      # imm = 0xFFFFFFFF
movl %r15d, %ecx
shll %cl, %r13d
movl %r13d, %esi
notl %esi
addl %r14d, %esi
leaq 0x1785f(%rip), %rdi     # 0x29996
leaq 0x17840(%rip), %rdx     # 0x2997e
xorl %eax, %eax
callq 0x4a56
subl %r13d, %r14d
movq -0x30(%rbp), %rax
movl %r14d, 0x1028(%rax)
movq 0x8(%rbx), %rax
cmpq 0x10(%rbx), %rax
jae 0x12184
movl 0x18(%rbx), %ecx
decl %ecx
movl %ecx, 0x18(%rbx)
movzbl (%rax), %edx
xorl %r12d, %r12d
btl %ecx, %edx
setb %r12b
testl %ecx, %ecx
jne 0x12184
incq %rax
movq %rax, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
leaq 0x1784d(%rip), %rdi     # 0x299d8
leaq 0x185c3(%rip), %rdx     # 0x2a755
xorl %r15d, %r15d
movl %r12d, %esi
xorl %eax, %eax
callq 0x4a56
movq -0x30(%rbp), %rax
movl %r12d, 0x102c(%rax)
movq 0x8(%rbx), %rax
movq 0x10(%rbx), %rdx
movl $0x2, %esi
leaq 0x18202(%rip), %r13     # 0x2a3c0
cmpq %rdx, %rax
jae 0x121f0
movslq 0x18(%rbx), %rdi
movl %edi, %ecx
subl %esi, %ecx
movzbl (%rax), %r12d
jns 0x1220d
andl (%r13,%rdi,4), %r12d
negb %cl
shll %cl, %r12d
orl %r12d, %r15d
incq %rax
movq %rax, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
subl %edi, %esi
jg 0x121be
leaq 0x177cd(%rip), %rdi     # 0x299c4
leaq 0x18567(%rip), %rcx     # 0x2a765
movl %r15d, %edx
xorl %eax, %eax
callq 0x4a56
movl %r15d, %r12d
jmp 0x12247
shrl %cl, %r12d
movl %esi, %edx
andl (%r13,%rdx,4), %r12d
orl %r15d, %r12d
movl %ecx, 0x18(%rbx)
cmpl %esi, %edi
jne 0x1222f
incq %rax
movq %rax, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
leaq 0x17779(%rip), %rdi     # 0x299af
leaq 0x18528(%rip), %rcx     # 0x2a765
movl %r12d, %edx
xorl %eax, %eax
callq 0x4a56
movq -0x30(%rbp), %rax
movl %r12d, 0x1030(%rax)
movq 0x8(%rbx), %rdx
movq 0x10(%rbx), %rsi
xorl %eax, %eax
cmpq %rsi, %rdx
jae 0x12281
movl 0x18(%rbx), %ecx
decl %ecx
movl %ecx, 0x18(%rbx)
movzbl (%rdx), %edi
jne 0x1227c
incq %rdx
movq %rdx, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
btl %ecx, %edi
jb 0x1228f
cmpq %rsi, %rdx
jae 0x1228f
cmpl $0x1f, %eax
ja 0x1228f
incl %eax
jmp 0x1225c
xorl %r15d, %r15d
movl $0x0, %edi
testl %eax, %eax
je 0x122fb
xorl %edi, %edi
movl %eax, %r8d
cmpq %rsi, %rdx
jae 0x122fb
movslq 0x18(%rbx), %r9
movl %r9d, %ecx
subl %r8d, %ecx
movzbl (%rdx), %r10d
jns 0x122d7
andl (%r13,%r9,4), %r10d
negb %cl
shll %cl, %r10d
orl %r10d, %edi
incq %rdx
movq %rdx, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
subl %r9d, %r8d
jg 0x122a0
jmp 0x122fb
shrl %cl, %r10d
movl %r8d, %esi
andl (%r13,%rsi,4), %r10d
orl %r10d, %edi
movl %ecx, 0x18(%rbx)
cmpl %r8d, %r9d
jne 0x122fb
incq %rdx
movq %rdx, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
movl %eax, %ecx
shll %cl, %edx
movl %edx, %eax
notl %eax
addl %edi, %eax
subl %edx, %edi
sarl %edi
movl %eax, %r12d
sarl %r12d
negl %r12d
testb $0x1, %al
cmovnel %edi, %r12d
leaq 0x176c4(%rip), %rdi     # 0x299e8
leaq 0x1844c(%rip), %rdx     # 0x2a777
movl %r12d, %esi
xorl %eax, %eax
callq 0x4a56
addl $0x1a, %r12d
movq -0x30(%rbp), %rax
movl %r12d, 0x1034(%rax)
movq 0x8(%rbx), %rax
movq 0x10(%rbx), %rdx
cmpq %rdx, %rax
jae 0x12371
movl 0x18(%rbx), %ecx
decl %ecx
movl %ecx, 0x18(%rbx)
movzbl (%rax), %esi
jne 0x1236c
incq %rax
movq %rax, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
btl %ecx, %esi
jb 0x12381
cmpq %rdx, %rax
jae 0x12381
cmpl $0x1f, %r15d
ja 0x12381
incl %r15d
jmp 0x1234c
xorl %r12d, %r12d
movl $0x0, %esi
testl %r15d, %r15d
je 0x123ec
xorl %esi, %esi
movl %r15d, %edi
cmpq %rdx, %rax
jae 0x123ec
movslq 0x18(%rbx), %r8
movl %r8d, %ecx
subl %edi, %ecx
movzbl (%rax), %r9d
jns 0x123c9
andl (%r13,%r8,4), %r9d
negb %cl
shll %cl, %r9d
orl %r9d, %esi
incq %rax
movq %rax, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
subl %r8d, %edi
jg 0x12393
jmp 0x123ec
shrl %cl, %r9d
movl %edi, %edx
andl (%r13,%rdx,4), %r9d
orl %r9d, %esi
movl %ecx, 0x18(%rbx)
cmpl %edi, %r8d
jne 0x123ec
incq %rax
movq %rax, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movl %r15d, %ecx
shll %cl, %eax
movl %eax, %ecx
notl %ecx
addl %esi, %ecx
subl %eax, %esi
sarl %esi
movl %ecx, %r15d
sarl %r15d
negl %r15d
testb $0x1, %cl
cmovnel %esi, %r15d
leaq 0x175d1(%rip), %rdi     # 0x299e8
leaq 0x18367(%rip), %rdx     # 0x2a785
movl %r15d, %esi
xorl %eax, %eax
callq 0x4a56
addl $0x1a, %r15d
movq -0x30(%rbp), %rax
movl %r15d, 0x1038(%rax)
movq 0x8(%rbx), %rax
movq 0x10(%rbx), %rdx
cmpq %rdx, %rax
jae 0x12464
movl 0x18(%rbx), %ecx
decl %ecx
movl %ecx, 0x18(%rbx)
movzbl (%rax), %esi
jne 0x1245f
incq %rax
movq %rax, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
btl %ecx, %esi
jb 0x12474
cmpq %rdx, %rax
jae 0x12474
cmpl $0x1f, %r12d
ja 0x12474
incl %r12d
jmp 0x1243f
xorl %r15d, %r15d
movl $0x0, %esi
testl %r12d, %r12d
je 0x124df
xorl %esi, %esi
movl %r12d, %edi
cmpq %rdx, %rax
jae 0x124df
movslq 0x18(%rbx), %r8
movl %r8d, %ecx
subl %edi, %ecx
movzbl (%rax), %r9d
jns 0x124bc
andl (%r13,%r8,4), %r9d
negb %cl
shll %cl, %r9d
orl %r9d, %esi
incq %rax
movq %rax, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
subl %r8d, %edi
jg 0x12486
jmp 0x124df
shrl %cl, %r9d
movl %edi, %edx
andl (%r13,%rdx,4), %r9d
orl %r9d, %esi
movl %ecx, 0x18(%rbx)
cmpl %edi, %r8d
jne 0x124df
incq %rax
movq %rax, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movl %r12d, %ecx
shll %cl, %eax
movl %eax, %ecx
notl %ecx
addl %esi, %ecx
subl %eax, %esi
sarl %esi
movl %ecx, %r12d
sarl %r12d
negl %r12d
testb $0x1, %cl
cmovnel %esi, %r12d
leaq 0x174de(%rip), %rdi     # 0x299e8
leaq 0x18282(%rip), %rdx     # 0x2a793
movl %r12d, %esi
xorl %eax, %eax
callq 0x4a56
movq -0x30(%rbp), %rax
movl %r12d, 0x103c(%rax)
movq 0x8(%rbx), %rax
cmpq 0x10(%rbx), %rax
jae 0x12557
movl 0x18(%rbx), %ecx
decl %ecx
movl %ecx, 0x18(%rbx)
movzbl (%rax), %edx
xorl %r15d, %r15d
btl %ecx, %edx
setb %r15b
testl %ecx, %ecx
jne 0x12557
incq %rax
movq %rax, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
leaq 0x1747a(%rip), %rdi     # 0x299d8
leaq 0x18247(%rip), %rdx     # 0x2a7ac
xorl %r12d, %r12d
movl %r15d, %esi
xorl %eax, %eax
callq 0x4a56
movq -0x30(%rbp), %rax
movl %r15d, 0x1040(%rax)
movq 0x8(%rbx), %rax
movl $0x0, %r15d
cmpq 0x10(%rbx), %rax
jae 0x125b4
movl 0x18(%rbx), %ecx
decl %ecx
movl %ecx, 0x18(%rbx)
movzbl (%rax), %edx
xorl %r15d, %r15d
btl %ecx, %edx
setb %r15b
testl %ecx, %ecx
jne 0x125b4
incq %rax
movq %rax, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
leaq 0x1741d(%rip), %rdi     # 0x299d8
leaq 0x18206(%rip), %rdx     # 0x2a7c8
movl %r15d, %esi
xorl %eax, %eax
callq 0x4a56
movq -0x30(%rbp), %rax
movl %r15d, 0x1044(%rax)
movq 0x8(%rbx), %rax
cmpq 0x10(%rbx), %rax
jae 0x12608
movl 0x18(%rbx), %ecx
decl %ecx
movl %ecx, 0x18(%rbx)
movzbl (%rax), %edx
xorl %r12d, %r12d
btl %ecx, %edx
setb %r12b
testl %ecx, %ecx
jne 0x12608
incq %rax
movq %rax, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
leaq 0x173c9(%rip), %rdi     # 0x299d8
leaq 0x181cb(%rip), %rdx     # 0x2a7e1
movl %r12d, %esi
xorl %eax, %eax
callq 0x4a56
movq -0x30(%rbp), %r14
movl %r12d, 0x1048(%r14)
leaq 0x14b82(%rip), %rdi     # 0x271b4
leaq 0x1716f(%rip), %rsi     # 0x297a8
leaq 0x17368(%rip), %rdx     # 0x299a8
xorl %eax, %eax
callq 0x4a56
movq 0x8(%rbx), %rax
movq 0x2097e(%rip), %rcx     # 0x32fd0
movq (%rcx), %rdi
cmpq 0x10(%rbx), %rax
jae 0x126ed
movl (%r14), %edx
movl 0x4(%r14), %ecx
cmpl $0x0, 0x8(%r14)
leaq 0x18205(%rip), %rax     # 0x2a877
leaq 0x181f8(%rip), %r8      # 0x2a871
cmoveq %rax, %r8
movl 0x10(%r14), %r9d
movl 0x1024(%r14), %eax
movq %rax, -0x48(%rbp)
movl 0x1028(%r14), %eax
movq %rax, -0x40(%rbp)
movl 0x1034(%r14), %ebx
movl 0x1038(%r14), %r11d
movl 0x103c(%r14), %r15d
movl 0x1040(%r14), %r12d
movl 0x1044(%r14), %r13d
movl 0x1048(%r14), %r10d
leaq 0x1813d(%rip), %rsi     # 0x2a805
xorl %eax, %eax
pushq %r10
pushq %r13
pushq %r12
pushq %r15
pushq %r11
pushq %rbx
pushq -0x40(%rbp)
pushq -0x48(%rbp)
callq 0x2170
addq $0x40, %rsp
movl -0x34(%rbp), %r14d
jmp 0x11c7d
callq 0x29f4
jmp 0x11c70
cmpl $0x0, 0x10(%rdx)
jle 0x11f87
leaq 0x17cb8(%rip), %r14     # 0x2a3c0
xorl %r13d, %r13d
movq 0x8(%rbx), %rdx
movq 0x10(%rbx), %rsi
xorl %eax, %eax
cmpq %rsi, %rdx
jae 0x1273a
movl 0x18(%rbx), %ecx
decl %ecx
movl %ecx, 0x18(%rbx)
movzbl (%rdx), %edi
jne 0x12735
incq %rdx
movq %rdx, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
btl %ecx, %edi
jb 0x12748
cmpq %rsi, %rdx
jae 0x12748
cmpl $0x1f, %eax
ja 0x12748
incl %eax
jmp 0x12715
xorl %edi, %edi
testl %eax, %eax
je 0x127aa
movl %eax, %r8d
cmpq %rsi, %rdx
jae 0x127aa
movslq 0x18(%rbx), %r9
movl %r9d, %ecx
subl %r8d, %ecx
movzbl (%rdx), %r10d
jns 0x12787
andl (%r14,%r9,4), %r10d
negb %cl
shll %cl, %r10d
orl %r10d, %edi
incq %rdx
movq %rdx, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
subl %r9d, %r8d
jg 0x12751
jmp 0x127aa
shrl %cl, %r10d
movl %r8d, %esi
andl (%r14,%rsi,4), %r10d
orl %r10d, %edi
movl %ecx, 0x18(%rbx)
cmpl %r8d, %r9d
jne 0x127aa
incq %rdx
movq %rdx, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
movl $0xffffffff, %r15d      # imm = 0xFFFFFFFF
movl %eax, %ecx
shll %cl, %r15d
notl %r15d
addl %edi, %r15d
leaq 0x171d4(%rip), %rdi     # 0x29996
movl %r15d, %esi
leaq 0x17f11(%rip), %rdx     # 0x2a6dd
xorl %eax, %eax
callq 0x4a56
movq -0x30(%rbp), %rax
movl %r15d, 0x18(%rax,%r13,4)
incq %r13
movslq 0x10(%rax), %rax
cmpq %rax, %r13
jl 0x1270b
jmp 0x11f87
cmpl $0x0, 0x10(%rdx)
jle 0x11f87
leaq 0x17bbe(%rip), %r11     # 0x2a3c0
xorl %r14d, %r14d
movq 0x8(%rbx), %rdx
movq 0x10(%rbx), %rsi
xorl %eax, %eax
cmpq %rsi, %rdx
jae 0x12834
movl 0x18(%rbx), %ecx
decl %ecx
movl %ecx, 0x18(%rbx)
movzbl (%rdx), %edi
jne 0x1282f
incq %rdx
movq %rdx, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
btl %ecx, %edi
jb 0x12842
cmpq %rsi, %rdx
jae 0x12842
cmpl $0x1f, %eax
ja 0x12842
incl %eax
jmp 0x1280f
xorl %r15d, %r15d
movl $0x0, %edi
testl %eax, %eax
je 0x128ac
xorl %edi, %edi
movl %eax, %r8d
cmpq %rsi, %rdx
jae 0x128ac
movslq 0x18(%rbx), %r9
movl %r9d, %ecx
subl %r8d, %ecx
movzbl (%rdx), %r10d
jns 0x12889
andl (%r11,%r9,4), %r10d
negb %cl
shll %cl, %r10d
orl %r10d, %edi
incq %rdx
movq %rdx, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
subl %r9d, %r8d
jg 0x12853
jmp 0x128ac
shrl %cl, %r10d
movl %r8d, %esi
andl (%r11,%rsi,4), %r10d
orl %r10d, %edi
movl %ecx, 0x18(%rbx)
cmpl %r8d, %r9d
jne 0x128ac
incq %rdx
movq %rdx, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
movl $0xffffffff, %r13d      # imm = 0xFFFFFFFF
movl %eax, %ecx
shll %cl, %r13d
notl %r13d
addl %edi, %r13d
leaq 0x170d2(%rip), %rdi     # 0x29996
movl %r13d, %esi
leaq 0x17e1c(%rip), %rdx     # 0x2a6ea
xorl %eax, %eax
callq 0x4a56
leaq 0x17ae4(%rip), %r10     # 0x2a3c0
movq -0x30(%rbp), %rax
movl %r13d, 0x418(%rax,%r14,4)
movq 0x8(%rbx), %rax
movq 0x10(%rbx), %rdx
cmpq %rdx, %rax
jae 0x12915
movl 0x18(%rbx), %ecx
decl %ecx
movl %ecx, 0x18(%rbx)
movzbl (%rax), %esi
jne 0x12910
incq %rax
movq %rax, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
btl %ecx, %esi
jb 0x12925
cmpq %rdx, %rax
jae 0x12925
cmpl $0x1f, %r15d
ja 0x12925
incl %r15d
jmp 0x128f0
xorl %esi, %esi
testl %r15d, %r15d
je 0x12986
movl %r15d, %edi
cmpq %rdx, %rax
jae 0x12986
movslq 0x18(%rbx), %r8
movl %r8d, %ecx
subl %edi, %ecx
movzbl (%rax), %r9d
jns 0x12964
andl (%r10,%r8,4), %r9d
negb %cl
shll %cl, %r9d
orl %r9d, %esi
incq %rax
movq %rax, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
subl %r8d, %edi
jg 0x1292f
jmp 0x12986
shrl %cl, %r9d
movl %edi, %edx
andl (%r10,%rdx,4), %r9d
orl %r9d, %esi
movl %ecx, 0x18(%rbx)
cmpl %edi, %r8d
jne 0x12986
incq %rax
movq %rax, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
movl $0xffffffff, %r13d      # imm = 0xFFFFFFFF
movl %r15d, %ecx
shll %cl, %r13d
notl %r13d
addl %esi, %r13d
leaq 0x16ff7(%rip), %rdi     # 0x29996
movl %r13d, %esi
leaq 0x17d4c(%rip), %rdx     # 0x2a6f5
xorl %eax, %eax
callq 0x4a56
leaq 0x17a09(%rip), %r11     # 0x2a3c0
movq -0x30(%rbp), %rax
movl %r13d, 0x818(%rax,%r14,4)
incq %r14
movslq 0x10(%rax), %rax
cmpq %rax, %r14
jl 0x12805
jmp 0x11f87