// File: /workspace/github_c_makefile_star2_O1/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 $0x18, %rsp
movq %rsi, %r15
movq %rdi, %rbx
leaq 0x134b2(%rip), %rdi     # 0x251b4
leaq 0x1693b(%rip), %rsi     # 0x28644
leaq 0x16b5a(%rip), %rdx     # 0x2886a
xorl %r12d, %r12d
xorl %eax, %eax
callq 0x4c22
movq 0x8(%rbx), %rcx
movq 0x10(%rbx), %rax
cmpq %rax, %rcx
jae 0x11d4e
movl 0x18(%rbx), %esi
decl %esi
movl %esi, 0x18(%rbx)
movzbl (%rcx), %edi
xorl %edx, %edx
btl %esi, %edi
setb %dl
testl %esi, %esi
jne 0x11d50
incq %rcx
movq %rcx, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
jmp 0x11d50
xorl %edx, %edx
testl %edx, %edx
jne 0x11d64
cmpq %rax, %rcx
jae 0x11d64
cmpl $0x1f, %r12d
ja 0x11d64
incl %r12d
jmp 0x11d22
testl %r12d, %r12d
je 0x11dae
movq 0x8(%rbx), %rsi
xorl %edx, %edx
leaq 0x1684a(%rip), %r8      # 0x285c0
movl %r12d, %edi
cmpq %rax, %rsi
jae 0x11dd4
movslq 0x18(%rbx), %r9
movl %r9d, %ecx
subl %edi, %ecx
movzbl (%rsi), %r10d
jns 0x11db2
andl (%r8,%r9,4), %r10d
negb %cl
shll %cl, %r10d
orl %r10d, %edx
incq %rsi
movq %rsi, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
subl %r9d, %edi
jg 0x11d79
jmp 0x11dd4
xorl %edx, %edx
jmp 0x11dd4
shrl %cl, %r10d
movl %edi, %eax
andl (%r8,%rax,4), %r10d
orl %r10d, %edx
movl %ecx, 0x18(%rbx)
cmpl %edi, %r9d
jne 0x11dd4
incq %rsi
movq %rsi, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
movl $0xffffffff, %r14d      # imm = 0xFFFFFFFF
movl %r12d, %ecx
shll %cl, %r14d
movl $0xffffffff, %r12d      # imm = 0xFFFFFFFF
notl %r14d
addl %edx, %r14d
leaq 0x15cb3(%rip), %rdi     # 0x27aa6
leaq 0x15c00(%rip), %rdx     # 0x279fa
movl %r14d, %esi
xorl %eax, %eax
callq 0x4c22
leaq 0x133a9(%rip), %rdi     # 0x251b4
leaq 0x15aa6(%rip), %rsi     # 0x278b8
leaq 0x15c9f(%rip), %rdx     # 0x27ab8
xorl %eax, %eax
callq 0x4c22
cmpl $0xff, %r14d
jg 0x11f54
movq 0x8(%rbx), %rcx
movq 0x10(%rbx), %rdx
cmpq %rdx, %rcx
jae 0x11f54
movslq %r14d, %rax
imulq $0x104c, %rax, %rax     # imm = 0x104C
leaq (%r15,%rax), %r13
movl %r14d, (%r15,%rax)
movl 0x18(%rbx), %esi
xorl %eax, %eax
movl %esi, %edi
decl %edi
movl %edi, 0x18(%rbx)
movzbl (%rcx), %r8d
je 0x11e66
movl %edi, %esi
jmp 0x11e79
incq %rcx
movq %rcx, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
movl $0x8, %esi
btl %edi, %r8d
jb 0x11e8d
cmpq %rdx, %rcx
jae 0x11e8d
cmpl $0x1f, %eax
ja 0x11e8d
incl %eax
jmp 0x11e55
testl %eax, %eax
je 0x11ed7
movq 0x8(%rbx), %rdi
xorl %esi, %esi
leaq 0x16722(%rip), %r9      # 0x285c0
movl %eax, %r8d
cmpq %rdx, %rdi
jae 0x11efe
movslq 0x18(%rbx), %r10
movl %r10d, %ecx
subl %r8d, %ecx
movzbl (%rdi), %r11d
jns 0x11edb
andl (%r9,%r10,4), %r11d
negb %cl
shll %cl, %r11d
orl %r11d, %esi
incq %rdi
movq %rdi, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
subl %r10d, %r8d
jg 0x11ea1
jmp 0x11efe
xorl %esi, %esi
jmp 0x11efe
shrl %cl, %r11d
movl %r8d, %edx
andl (%r9,%rdx,4), %r11d
orl %r11d, %esi
movl %ecx, 0x18(%rbx)
cmpl %r8d, %r10d
jne 0x11efe
incq %rdi
movq %rdi, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
movl $0xffffffff, %r15d      # imm = 0xFFFFFFFF
movl %eax, %ecx
shll %cl, %r15d
notl %r15d
addl %esi, %r15d
leaq 0x15b90(%rip), %rdi     # 0x27aa6
leaq 0x16967(%rip), %rdx     # 0x28884
xorl %r12d, %r12d
movl %r15d, %esi
xorl %eax, %eax
callq 0x4c22
movl %r15d, 0x4(%r13)
cmpl $0x1f, %r15d
jle 0x11f5b
movl $0xffffffff, (%r13)     # imm = 0xFFFFFFFF
movl $0xffffffff, %r12d      # imm = 0xFFFFFFFF
movl %r12d, %eax
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
callq 0x2b39
jmp 0x11f42
movq 0x8(%rbx), %rax
cmpq 0x10(%rbx), %rax
jae 0x11f8c
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 0x11f8c
incq %rax
movq %rax, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
leaq 0x15b55(%rip), %rdi     # 0x27ae8
leaq 0x168f3(%rip), %rdx     # 0x2888d
xorl %r15d, %r15d
movl %r12d, %esi
xorl %eax, %eax
callq 0x4c22
movl %r12d, 0x8(%r13)
movq 0x8(%rbx), %rax
movl $0x0, %r12d
cmpq 0x10(%rbx), %rax
jae 0x11fe2
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 0x11fe2
incq %rax
movq %rax, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
leaq 0x15aff(%rip), %rdi     # 0x27ae8
leaq 0x168a5(%rip), %rdx     # 0x28895
movl %r12d, %esi
xorl %eax, %eax
callq 0x4c22
movl %r12d, 0xc(%r13)
movq 0x8(%rbx), %rcx
movq 0x10(%rbx), %rax
xorl %edx, %edx
cmpq %rax, %rcx
jae 0x12032
movl 0x18(%rbx), %esi
decl %esi
movl %esi, 0x18(%rbx)
movzbl (%rcx), %edi
xorl %edx, %edx
btl %esi, %edi
setb %dl
testl %esi, %esi
jne 0x12032
incq %rcx
movq %rcx, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
testl %edx, %edx
jne 0x12046
cmpq %rax, %rcx
jae 0x12046
cmpl $0x1f, %r15d
ja 0x12046
incl %r15d
jmp 0x12006
movq %r13, -0x30(%rbp)
movl %r14d, -0x34(%rbp)
xorl %r14d, %r14d
testl %r15d, %r15d
je 0x120be
movq 0x8(%rbx), %rdx
xorl %r14d, %r14d
leaq 0x1655c(%rip), %rdi     # 0x285c0
movl %r15d, %esi
cmpq %rax, %rdx
jae 0x120be
movslq 0x18(%rbx), %r8
movl %r8d, %ecx
subl %esi, %ecx
movzbl (%rdx), %r9d
jns 0x1209c
andl (%rdi,%r8,4), %r9d
negb %cl
shll %cl, %r9d
orl %r9d, %r14d
incq %rdx
movq %rdx, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
subl %r8d, %esi
jg 0x12067
jmp 0x120be
shrl %cl, %r9d
movl %esi, %eax
andl (%rdi,%rax,4), %r9d
orl %r9d, %r14d
movl %ecx, 0x18(%rbx)
cmpl %esi, %r8d
jne 0x120be
incq %rdx
movq %rdx, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
movl $0xffffffff, %r13d      # imm = 0xFFFFFFFF
movl %r15d, %ecx
shll %cl, %r13d
movl %r13d, %r15d
notl %r15d
addl %r14d, %r15d
leaq 0x159cc(%rip), %rdi     # 0x27aa6
leaq 0x167c0(%rip), %rdx     # 0x288a1
xorl %r12d, %r12d
movl %r15d, %esi
xorl %eax, %eax
callq 0x4c22
subl %r13d, %r14d
movq -0x30(%rbp), %rax
movl %r14d, 0x10(%rax)
testl %r15d, %r15d
jle 0x1226d
movq 0x1fec7(%rip), %rax     # 0x31fd0
movq (%rax), %rcx
leaq 0x167a1(%rip), %rdi     # 0x288b4
movl $0x11, %esi
movl $0x1, %edx
callq 0x21f0
movq 0x8(%rbx), %rcx
movq 0x10(%rbx), %rdx
xorl %eax, %eax
movq -0x30(%rbp), %r14
cmpq %rdx, %rcx
jae 0x1215f
movl 0x18(%rbx), %edi
decl %edi
movl %edi, 0x18(%rbx)
movzbl (%rcx), %r8d
xorl %esi, %esi
btl %edi, %r8d
setb %sil
testl %edi, %edi
jne 0x12161
incq %rcx
movq %rcx, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
jmp 0x12161
xorl %esi, %esi
testl %esi, %esi
jne 0x12173
cmpq %rdx, %rcx
jae 0x12173
cmpl $0x1f, %eax
ja 0x12173
incl %eax
jmp 0x12130
xorl %esi, %esi
testl %eax, %eax
je 0x121e2
movq 0x8(%rbx), %rdi
xorl %esi, %esi
leaq 0x1643a(%rip), %r9      # 0x285c0
movl %eax, %r8d
cmpq %rdx, %rdi
jae 0x121e2
movslq 0x18(%rbx), %r10
movl %r10d, %ecx
subl %r8d, %ecx
movzbl (%rdi), %r11d
jns 0x121bf
andl (%r9,%r10,4), %r11d
negb %cl
shll %cl, %r11d
orl %r11d, %esi
incq %rdi
movq %rdi, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
subl %r10d, %r8d
jg 0x12189
jmp 0x121e2
shrl %cl, %r11d
movl %r8d, %edx
andl (%r9,%rdx,4), %r11d
orl %r11d, %esi
movl %ecx, 0x18(%rbx)
cmpl %r8d, %r10d
jne 0x121e2
incq %rdi
movq %rdi, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
movl $0xffffffff, %r15d      # imm = 0xFFFFFFFF
movl %eax, %ecx
shll %cl, %r15d
notl %r15d
addl %esi, %r15d
leaq 0x158ac(%rip), %rdi     # 0x27aa6
leaq 0x166c5(%rip), %rdx     # 0x288c6
movl %r15d, %esi
xorl %eax, %eax
callq 0x4c22
movl %r15d, 0x14(%r14)
cmpl $0x6, %r15d
ja 0x1226d
leaq 0x16384(%rip), %rax     # 0x285a0
movslq (%rax,%r15,4), %rcx
addq %rax, %rcx
jmpq *%rcx
leaq 0x166d8(%rip), %rsi     # 0x28904
movq %rbx, %rdi
callq 0x11b9c
movq -0x30(%rbp), %r15
movl %eax, 0xc18(%r15)
movl $0xc1c, %r14d           # imm = 0xC1C
leaq 0x166d7(%rip), %rsi     # 0x28923
jmp 0x1225f
movl $0xc20, %r14d           # imm = 0xC20
leaq 0x166e2(%rip), %rsi     # 0x2893d
movq -0x30(%rbp), %r15
movq %rbx, %rdi
callq 0x11bef
incl %eax
movl %eax, (%r15,%r14)
movq 0x8(%rbx), %rcx
movq 0x10(%rbx), %rax
xorl %edx, %edx
cmpq %rax, %rcx
jae 0x122a1
movl 0x18(%rbx), %esi
decl %esi
movl %esi, 0x18(%rbx)
movzbl (%rcx), %edi
xorl %edx, %edx
btl %esi, %edi
setb %dl
testl %esi, %esi
jne 0x122a1
incq %rcx
movq %rcx, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
testl %edx, %edx
jne 0x122b5
cmpq %rax, %rcx
jae 0x122b5
cmpl $0x1f, %r12d
ja 0x122b5
incl %r12d
jmp 0x12275
xorl %r15d, %r15d
movl $0x0, %r14d
testl %r12d, %r12d
je 0x1232b
movq 0x8(%rbx), %rdx
xorl %r14d, %r14d
leaq 0x162ef(%rip), %rdi     # 0x285c0
movl %r12d, %esi
cmpq %rax, %rdx
jae 0x1232b
movslq 0x18(%rbx), %r8
movl %r8d, %ecx
subl %esi, %ecx
movzbl (%rdx), %r9d
jns 0x12309
andl (%rdi,%r8,4), %r9d
negb %cl
shll %cl, %r9d
orl %r9d, %r14d
incq %rdx
movq %rdx, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
subl %r8d, %esi
jg 0x122d4
jmp 0x1232b
shrl %cl, %r9d
movl %esi, %eax
andl (%rdi,%rax,4), %r9d
orl %r9d, %r14d
movl %ecx, 0x18(%rbx)
cmpl %esi, %r8d
jne 0x1232b
incq %rdx
movq %rdx, 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 0x15760(%rip), %rdi     # 0x27aa6
leaq 0x15729(%rip), %rdx     # 0x27a76
xorl %eax, %eax
callq 0x4c22
subl %r13d, %r14d
movq -0x30(%rbp), %rax
movl %r14d, 0x1024(%rax)
movq 0x8(%rbx), %rcx
movq 0x10(%rbx), %rax
xorl %edx, %edx
cmpq %rax, %rcx
jae 0x12396
movl 0x18(%rbx), %esi
decl %esi
movl %esi, 0x18(%rbx)
movzbl (%rcx), %edi
xorl %edx, %edx
btl %esi, %edi
setb %dl
testl %esi, %esi
jne 0x12396
incq %rcx
movq %rcx, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
testl %edx, %edx
jne 0x123aa
cmpq %rax, %rcx
jae 0x123aa
cmpl $0x1f, %r15d
ja 0x123aa
incl %r15d
jmp 0x1236a
xorl %r12d, %r12d
movl $0x0, %r14d
testl %r15d, %r15d
je 0x12420
movq 0x8(%rbx), %rdx
xorl %r14d, %r14d
leaq 0x161fa(%rip), %rdi     # 0x285c0
movl %r15d, %esi
cmpq %rax, %rdx
jae 0x12420
movslq 0x18(%rbx), %r8
movl %r8d, %ecx
subl %esi, %ecx
movzbl (%rdx), %r9d
jns 0x123fe
andl (%rdi,%r8,4), %r9d
negb %cl
shll %cl, %r9d
orl %r9d, %r14d
incq %rdx
movq %rdx, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
subl %r8d, %esi
jg 0x123c9
jmp 0x12420
shrl %cl, %r9d
movl %esi, %eax
andl (%rdi,%rax,4), %r9d
orl %r9d, %r14d
movl %ecx, 0x18(%rbx)
cmpl %esi, %r8d
jne 0x12420
incq %rdx
movq %rdx, 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 0x1566b(%rip), %rdi     # 0x27aa6
leaq 0x1564c(%rip), %rdx     # 0x27a8e
xorl %eax, %eax
callq 0x4c22
subl %r13d, %r14d
movq -0x30(%rbp), %r13
movl %r14d, 0x1028(%r13)
movq 0x8(%rbx), %rax
cmpq 0x10(%rbx), %rax
jae 0x12488
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 0x12488
incq %rax
movq %rax, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
leaq 0x15659(%rip), %rdi     # 0x27ae8
leaq 0x164bf(%rip), %rdx     # 0x28955
xorl %r15d, %r15d
movl %r12d, %esi
xorl %eax, %eax
callq 0x4c22
movl %r12d, 0x102c(%r13)
movq 0x8(%rbx), %rax
movq 0x10(%rbx), %rdx
movl $0x2, %esi
leaq 0x16102(%rip), %r13     # 0x285c0
cmpq %rdx, %rax
jae 0x124f0
movslq 0x18(%rbx), %rdi
movl %edi, %ecx
subl %esi, %ecx
movzbl (%rax), %r12d
jns 0x1250d
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 0x124be
leaq 0x155dd(%rip), %rdi     # 0x27ad4
leaq 0x16467(%rip), %rcx     # 0x28965
movl %r15d, %edx
xorl %eax, %eax
callq 0x4c22
movl %r15d, %r12d
jmp 0x12547
shrl %cl, %r12d
movl %esi, %edx
andl (%r13,%rdx,4), %r12d
orl %r15d, %r12d
movl %ecx, 0x18(%rbx)
cmpl %esi, %edi
jne 0x1252f
incq %rax
movq %rax, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
leaq 0x15589(%rip), %rdi     # 0x27abf
leaq 0x16428(%rip), %rcx     # 0x28965
movl %r12d, %edx
xorl %eax, %eax
callq 0x4c22
movq -0x30(%rbp), %rax
movl %r12d, 0x1030(%rax)
movq 0x8(%rbx), %rcx
movq 0x10(%rbx), %rdx
xorl %eax, %eax
cmpq %rdx, %rcx
jae 0x1258b
movl 0x18(%rbx), %edi
decl %edi
movl %edi, 0x18(%rbx)
movzbl (%rcx), %r8d
xorl %esi, %esi
btl %edi, %r8d
setb %sil
testl %edi, %edi
jne 0x1258d
incq %rcx
movq %rcx, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
jmp 0x1258d
xorl %esi, %esi
testl %esi, %esi
jne 0x1259f
cmpq %rdx, %rcx
jae 0x1259f
cmpl $0x1f, %eax
ja 0x1259f
incl %eax
jmp 0x1255c
xorl %r15d, %r15d
movl $0x0, %esi
testl %eax, %eax
je 0x1260f
movq 0x8(%rbx), %rdi
xorl %esi, %esi
movl %eax, %r8d
cmpq %rdx, %rdi
jae 0x1260f
movslq 0x18(%rbx), %r9
movl %r9d, %ecx
subl %r8d, %ecx
movzbl (%rdi), %r10d
jns 0x125eb
andl (%r13,%r9,4), %r10d
negb %cl
shll %cl, %r10d
orl %r10d, %esi
incq %rdi
movq %rdi, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
subl %r9d, %r8d
jg 0x125b4
jmp 0x1260f
shrl %cl, %r10d
movl %r8d, %edx
andl (%r13,%rdx,4), %r10d
orl %r10d, %esi
movl %ecx, 0x18(%rbx)
cmpl %r8d, %r9d
jne 0x1260f
incq %rdi
movq %rdi, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
movl %eax, %ecx
shll %cl, %edx
movl %edx, %eax
notl %eax
addl %esi, %eax
subl %edx, %esi
sarl %esi
movl %eax, %r12d
sarl %r12d
negl %r12d
testb $0x1, %al
cmovnel %esi, %r12d
leaq 0x154c0(%rip), %rdi     # 0x27af8
leaq 0x16338(%rip), %rdx     # 0x28977
movl %r12d, %esi
xorl %eax, %eax
callq 0x4c22
addl $0x1a, %r12d
movq -0x30(%rbp), %rax
movl %r12d, 0x1034(%rax)
movq 0x8(%rbx), %rcx
movq 0x10(%rbx), %rax
xorl %edx, %edx
cmpq %rax, %rcx
jae 0x1268c
movl 0x18(%rbx), %esi
decl %esi
movl %esi, 0x18(%rbx)
movzbl (%rcx), %edi
xorl %edx, %edx
btl %esi, %edi
setb %dl
testl %esi, %esi
jne 0x1268c
incq %rcx
movq %rcx, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
testl %edx, %edx
jne 0x126a0
cmpq %rax, %rcx
jae 0x126a0
cmpl $0x1f, %r15d
ja 0x126a0
incl %r15d
jmp 0x12660
xorl %r12d, %r12d
movl $0x0, %edx
testl %r15d, %r15d
je 0x1270f
movq 0x8(%rbx), %rsi
xorl %edx, %edx
movl %r15d, %edi
cmpq %rax, %rsi
jae 0x1270f
movslq 0x18(%rbx), %r8
movl %r8d, %ecx
subl %edi, %ecx
movzbl (%rsi), %r9d
jns 0x126ec
andl (%r13,%r8,4), %r9d
negb %cl
shll %cl, %r9d
orl %r9d, %edx
incq %rsi
movq %rsi, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
subl %r8d, %edi
jg 0x126b6
jmp 0x1270f
shrl %cl, %r9d
movl %edi, %eax
andl (%r13,%rax,4), %r9d
orl %r9d, %edx
movl %ecx, 0x18(%rbx)
cmpl %edi, %r8d
jne 0x1270f
incq %rsi
movq %rsi, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movl %r15d, %ecx
shll %cl, %eax
movl %eax, %ecx
notl %ecx
addl %edx, %ecx
subl %eax, %edx
sarl %edx
movl %ecx, %r15d
sarl %r15d
negl %r15d
testb $0x1, %cl
cmovnel %edx, %r15d
leaq 0x153be(%rip), %rdi     # 0x27af8
leaq 0x16244(%rip), %rdx     # 0x28985
movl %r15d, %esi
xorl %eax, %eax
callq 0x4c22
addl $0x1a, %r15d
movq -0x30(%rbp), %rax
movl %r15d, 0x1038(%rax)
movq 0x8(%rbx), %rcx
movq 0x10(%rbx), %rax
xorl %edx, %edx
cmpq %rax, %rcx
jae 0x1278e
movl 0x18(%rbx), %esi
decl %esi
movl %esi, 0x18(%rbx)
movzbl (%rcx), %edi
xorl %edx, %edx
btl %esi, %edi
setb %dl
testl %esi, %esi
jne 0x1278e
incq %rcx
movq %rcx, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
testl %edx, %edx
jne 0x127a2
cmpq %rax, %rcx
jae 0x127a2
cmpl $0x1f, %r12d
ja 0x127a2
incl %r12d
jmp 0x12762
xorl %r15d, %r15d
movl $0x0, %edx
testl %r12d, %r12d
je 0x12811
movq 0x8(%rbx), %rsi
xorl %edx, %edx
movl %r12d, %edi
cmpq %rax, %rsi
jae 0x12811
movslq 0x18(%rbx), %r8
movl %r8d, %ecx
subl %edi, %ecx
movzbl (%rsi), %r9d
jns 0x127ee
andl (%r13,%r8,4), %r9d
negb %cl
shll %cl, %r9d
orl %r9d, %edx
incq %rsi
movq %rsi, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
subl %r8d, %edi
jg 0x127b8
jmp 0x12811
shrl %cl, %r9d
movl %edi, %eax
andl (%r13,%rax,4), %r9d
orl %r9d, %edx
movl %ecx, 0x18(%rbx)
cmpl %edi, %r8d
jne 0x12811
incq %rsi
movq %rsi, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movl %r12d, %ecx
shll %cl, %eax
movl %eax, %ecx
notl %ecx
addl %edx, %ecx
subl %eax, %edx
sarl %edx
movl %ecx, %r12d
sarl %r12d
negl %r12d
testb $0x1, %cl
cmovnel %edx, %r12d
leaq 0x152bc(%rip), %rdi     # 0x27af8
leaq 0x16150(%rip), %rdx     # 0x28993
movl %r12d, %esi
xorl %eax, %eax
callq 0x4c22
movq -0x30(%rbp), %r13
movl %r12d, 0x103c(%r13)
movq 0x8(%rbx), %rax
cmpq 0x10(%rbx), %rax
jae 0x12889
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 0x12889
incq %rax
movq %rax, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
leaq 0x15258(%rip), %rdi     # 0x27ae8
leaq 0x16115(%rip), %rdx     # 0x289ac
xorl %r12d, %r12d
movl %r15d, %esi
xorl %eax, %eax
callq 0x4c22
movl %r15d, 0x1040(%r13)
movq 0x8(%rbx), %rax
movl $0x0, %r15d
cmpq 0x10(%rbx), %rax
jae 0x128e2
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 0x128e2
incq %rax
movq %rax, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
leaq 0x151ff(%rip), %rdi     # 0x27ae8
leaq 0x160d8(%rip), %rdx     # 0x289c8
movl %r15d, %esi
xorl %eax, %eax
callq 0x4c22
movl %r15d, 0x1044(%r13)
movq 0x8(%rbx), %rax
cmpq 0x10(%rbx), %rax
jae 0x12932
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 0x12932
incq %rax
movq %rax, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
leaq 0x151af(%rip), %rdi     # 0x27ae8
leaq 0x160a1(%rip), %rdx     # 0x289e1
movl %r12d, %esi
xorl %eax, %eax
callq 0x4c22
movl %r12d, 0x1048(%r13)
leaq 0x1285c(%rip), %rdi     # 0x251b4
leaq 0x14f59(%rip), %rsi     # 0x278b8
leaq 0x15152(%rip), %rdx     # 0x27ab8
xorl %eax, %eax
callq 0x4c22
movq 0x8(%rbx), %rax
movq 0x1f658(%rip), %rcx     # 0x31fd0
movq (%rcx), %rdi
cmpq 0x10(%rbx), %rax
jae 0x12a12
movl (%r13), %edx
movl 0x4(%r13), %ecx
cmpl $0x0, 0x8(%r13)
leaq 0x160de(%rip), %rax     # 0x28a77
leaq 0x160d1(%rip), %r8      # 0x28a71
cmoveq %rax, %r8
movl 0x10(%r13), %r9d
movl 0x1024(%r13), %eax
movq %rax, -0x40(%rbp)
movl 0x1028(%r13), %r11d
movl 0x1034(%r13), %ebx
movl 0x1038(%r13), %r14d
movl 0x103c(%r13), %r15d
movl 0x1040(%r13), %r12d
movq %r13, %rax
movl 0x1044(%r13), %r13d
movl 0x1048(%rax), %r10d
leaq 0x16017(%rip), %rsi     # 0x28a05
xorl %eax, %eax
pushq %r10
pushq %r13
pushq %r12
pushq %r15
pushq %r14
pushq %rbx
pushq %r11
pushq -0x40(%rbp)
callq 0x2180
addq $0x40, %rsp
movl -0x34(%rbp), %r12d
jmp 0x11f42
callq 0x2b11
jmp 0x11f34
movq -0x30(%rbp), %rax
cmpl $0x0, 0x10(%rax)
jle 0x1226d
leaq 0x15b8f(%rip), %r14     # 0x285c0
xorl %r13d, %r13d
movq 0x8(%rbx), %rcx
movq 0x10(%rbx), %rdx
xorl %eax, %eax
xorl %esi, %esi
cmpq %rdx, %rcx
jae 0x12a6d
movl 0x18(%rbx), %edi
decl %edi
movl %edi, 0x18(%rbx)
movzbl (%rcx), %r8d
xorl %esi, %esi
btl %edi, %r8d
setb %sil
testl %edi, %edi
jne 0x12a6d
incq %rcx
movq %rcx, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
testl %esi, %esi
jne 0x12a7f
cmpq %rdx, %rcx
jae 0x12a7f
cmpl $0x1f, %eax
ja 0x12a7f
incl %eax
jmp 0x12a3e
testl %eax, %eax
je 0x12ac2
movq 0x8(%rbx), %rdi
xorl %esi, %esi
movl %eax, %r8d
cmpq %rdx, %rdi
jae 0x12ae9
movslq 0x18(%rbx), %r9
movl %r9d, %ecx
subl %r8d, %ecx
movzbl (%rdi), %r10d
jns 0x12ac6
andl (%r14,%r9,4), %r10d
negb %cl
shll %cl, %r10d
orl %r10d, %esi
incq %rdi
movq %rdi, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
subl %r9d, %r8d
jg 0x12a8c
jmp 0x12ae9
xorl %esi, %esi
jmp 0x12ae9
shrl %cl, %r10d
movl %r8d, %edx
andl (%r14,%rdx,4), %r10d
orl %r10d, %esi
movl %ecx, 0x18(%rbx)
cmpl %r8d, %r9d
jne 0x12ae9
incq %rdi
movq %rdi, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
movl $0xffffffff, %r15d      # imm = 0xFFFFFFFF
movl %eax, %ecx
shll %cl, %r15d
notl %r15d
addl %esi, %r15d
leaq 0x14fa5(%rip), %rdi     # 0x27aa6
movl %r15d, %esi
leaq 0x15dd2(%rip), %rdx     # 0x288dd
xorl %eax, %eax
callq 0x4c22
movq -0x30(%rbp), %rax
movl %r15d, 0x18(%rax,%r13,4)
incq %r13
movslq 0x10(%rax), %rax
cmpq %rax, %r13
jl 0x12a34
jmp 0x1226d
movq -0x30(%rbp), %rax
cmpl $0x0, 0x10(%rax)
jle 0x1226d
leaq 0x15a7b(%rip), %r11     # 0x285c0
xorl %r14d, %r14d
movq 0x8(%rbx), %rcx
movq 0x10(%rbx), %rdx
xorl %eax, %eax
xorl %esi, %esi
cmpq %rdx, %rcx
jae 0x12b81
movl 0x18(%rbx), %edi
decl %edi
movl %edi, 0x18(%rbx)
movzbl (%rcx), %r8d
xorl %esi, %esi
btl %edi, %r8d
setb %sil
testl %edi, %edi
jne 0x12b81
incq %rcx
movq %rcx, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
testl %esi, %esi
jne 0x12b93
cmpq %rdx, %rcx
jae 0x12b93
cmpl $0x1f, %eax
ja 0x12b93
incl %eax
jmp 0x12b52
xorl %r15d, %r15d
movl $0x0, %esi
testl %eax, %eax
je 0x12c01
movq 0x8(%rbx), %rdi
xorl %esi, %esi
movl %eax, %r8d
cmpq %rdx, %rdi
jae 0x12c01
movslq 0x18(%rbx), %r9
movl %r9d, %ecx
subl %r8d, %ecx
movzbl (%rdi), %r10d
jns 0x12bde
andl (%r11,%r9,4), %r10d
negb %cl
shll %cl, %r10d
orl %r10d, %esi
incq %rdi
movq %rdi, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
subl %r9d, %r8d
jg 0x12ba8
jmp 0x12c01
shrl %cl, %r10d
movl %r8d, %edx
andl (%r11,%rdx,4), %r10d
orl %r10d, %esi
movl %ecx, 0x18(%rbx)
cmpl %r8d, %r9d
jne 0x12c01
incq %rdi
movq %rdi, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
movl $0xffffffff, %r13d      # imm = 0xFFFFFFFF
movl %eax, %ecx
shll %cl, %r13d
notl %r13d
addl %esi, %r13d
leaq 0x14e8d(%rip), %rdi     # 0x27aa6
movl %r13d, %esi
leaq 0x15cc7(%rip), %rdx     # 0x288ea
xorl %eax, %eax
callq 0x4c22
leaq 0x1598f(%rip), %r10     # 0x285c0
movq -0x30(%rbp), %rax
movl %r13d, 0x418(%rax,%r14,4)
movq 0x8(%rbx), %rcx
movq 0x10(%rbx), %rax
xorl %edx, %edx
cmpq %rax, %rcx
jae 0x12c71
movl 0x18(%rbx), %esi
decl %esi
movl %esi, 0x18(%rbx)
movzbl (%rcx), %edi
xorl %edx, %edx
btl %esi, %edi
setb %dl
testl %esi, %esi
jne 0x12c71
incq %rcx
movq %rcx, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
testl %edx, %edx
jne 0x12c85
cmpq %rax, %rcx
jae 0x12c85
cmpl $0x1f, %r15d
ja 0x12c85
incl %r15d
jmp 0x12c45
testl %r15d, %r15d
je 0x12cc8
movq 0x8(%rbx), %rsi
xorl %edx, %edx
movl %r15d, %edi
cmpq %rax, %rsi
jae 0x12cee
movslq 0x18(%rbx), %r8
movl %r8d, %ecx
subl %edi, %ecx
movzbl (%rsi), %r9d
jns 0x12ccc
andl (%r10,%r8,4), %r9d
negb %cl
shll %cl, %r9d
orl %r9d, %edx
incq %rsi
movq %rsi, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
subl %r8d, %edi
jg 0x12c93
jmp 0x12cee
xorl %edx, %edx
jmp 0x12cee
shrl %cl, %r9d
movl %edi, %eax
andl (%r10,%rax,4), %r9d
orl %r9d, %edx
movl %ecx, 0x18(%rbx)
cmpl %edi, %r8d
jne 0x12cee
incq %rsi
movq %rsi, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
movl $0xffffffff, %r13d      # imm = 0xFFFFFFFF
movl %r15d, %ecx
shll %cl, %r13d
notl %r13d
addl %edx, %r13d
leaq 0x14d9f(%rip), %rdi     # 0x27aa6
movl %r13d, %esi
leaq 0x15be4(%rip), %rdx     # 0x288f5
xorl %eax, %eax
callq 0x4c22
leaq 0x158a1(%rip), %r11     # 0x285c0
movq -0x30(%rbp), %rax
movl %r13d, 0x818(%rax,%r14,4)
incq %r14
movslq 0x10(%rax), %rax
cmpq %rax, %r14
jl 0x12b48
jmp 0x1226d