// File: /workspace/github_c_makefile_star2_O1/akumrao[P]videoAnalyzer/decoder/set.c
// Function: x264_sps_read(bs_s*, x264_sps_t*)
int x264_sps_read(bs_t *s, x264_sps_t sps_array[32]) {LOG_CALL;
    x264_sps_t *sps;

    int i_profile_idc;
    int i_level_idc;

    int b_constraint_set0;
    int b_constraint_set1;
    int b_constraint_set2;

    int id;

    i_profile_idc = bs_read(s, 8, "i_profile_idc");
    b_constraint_set0 = bs_read1(s, "b_constraint_set0");
    b_constraint_set1 = bs_read1(s, "b_constraint_set1");
    b_constraint_set2 = bs_read1(s, "b_constraint_set2");

    bs_skip(s, 5); /* reserved */
    i_level_idc = bs_read(s, 8,"i_level_idc");


    id = bs_read_ue(s,"id");
    if (bs_eof(s) || id >= 32)
    {
        /* the sps is invalid, no need to corrupt sps_array[0] */
        return -1;
    }

    sps = &sps_array[id];
    sps->i_id = id;

    /* put pack parsed value */
    sps->i_profile_idc = i_profile_idc;
    sps->i_level_idc = i_level_idc;
    sps->b_constraint_set0 = b_constraint_set0;
    sps->b_constraint_set1 = b_constraint_set1;
    sps->b_constraint_set2 = b_constraint_set2;

    sps->i_log2_max_frame_num = bs_read_ue(s,"i_log2_max_frame_num") + 4;

    sps->i_poc_type = bs_read_ue(s,"i_poc_type");
    if (sps->i_poc_type == 0)
    {
        sps->i_log2_max_poc_lsb = bs_read_ue(s,"i_log2_max_poc_lsb") + 4;
    } else if (sps->i_poc_type == 1)
    {
        int i;
        sps->b_delta_pic_order_always_zero = bs_read1(s, "b_delta_pic_order_always_zero");
        sps->i_offset_for_non_ref_pic = bs_read_se(s,"i_offset_for_non_ref_pic");
        sps->i_offset_for_top_to_bottom_field = bs_read_se(s,"i_offset_for_top_to_bottom_field");
        sps->i_num_ref_frames_in_poc_cycle = bs_read_ue(s,"i_num_ref_frames_in_poc_cycle");
        if (sps->i_num_ref_frames_in_poc_cycle > 256)
        {
            /* FIXME what to do */
            sps->i_num_ref_frames_in_poc_cycle = 256;
        }
        for (i = 0; i < sps->i_num_ref_frames_in_poc_cycle; i++)
        {
            sps->i_offset_for_ref_frame[i] = bs_read_se(s,"i_offset_for_ref_frame");
        }
    } else if (sps->i_poc_type > 2)
    {
        goto error;
    }

    sps->i_num_ref_frames = bs_read_ue(s,"i_num_ref_frames");
    sps->b_gaps_in_frame_num_value_allowed = bs_read1(s, "b_gaps_in_frame_num_value_allowed");
    sps->i_mb_width = bs_read_ue(s,"i_mb_width") + 1;
    sps->i_mb_height = bs_read_ue(s,"i_mb_height") + 1;
    sps->b_frame_mbs_only = bs_read1(s, "b_frame_mbs_only");
    if (!sps->b_frame_mbs_only)
    {
        sps->b_mb_adaptive_frame_field = bs_read1(s, "b_mb_adaptive_frame_field");
    } else
    {
        sps->b_mb_adaptive_frame_field = 0;
    }
    sps->b_direct8x8_inference = bs_read1(s, "b_direct8x8_inference");

    sps->b_crop = bs_read1(s, "b_crop");
    if (sps->b_crop)
    {
        sps->crop.i_left = bs_read_ue(s,"crop.i_left");
        sps->crop.i_right = bs_read_ue(s,"crop.rigth");
        sps->crop.i_top = bs_read_ue(s,"crop.top");
        sps->crop.i_bottom = bs_read_ue(s,"crop.i_bottom");
    } else
    {
        sps->crop.i_left = 0;
        sps->crop.i_right = 0;
        sps->crop.i_top = 0;
        sps->crop.i_bottom = 0;
    }

    sps->b_vui = bs_read1(s, "b_vui");
    if (sps->b_vui)
    {
        /* FIXME */
    } else
    {

    }

    if (bs_eof(s))
    {
        /* no rbsp trailing */
        fprintf(stderr, "incomplete SPS\n");
        goto error;
    }

    fprintf(stderr, "x264_sps_read: sps:0x%x profile:%d/%d poc:%d ref:%d %xx%d crop:%d-%d-%d-%d\n",
            sps->i_id,
            sps->i_profile_idc, sps->i_level_idc,
            sps->i_poc_type,
            sps->i_num_ref_frames,
            sps->i_mb_width, sps->i_mb_height,
            sps->crop.i_left, sps->crop.i_right,
            sps->crop.i_top, sps->crop.i_bottom);

    return id;

error:
    /* invalidate this sps */
    sps->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, -0x48(%rbp)
movq %rdi, %rbx
leaq 0x14ae5(%rip), %rdi     # 0x251b4
leaq 0x17f6e(%rip), %rsi     # 0x28644
leaq 0x17f75(%rip), %rdx     # 0x28652
xorl %r14d, %r14d
xorl %eax, %eax
callq 0x4c22
movq 0x8(%rbx), %rax
movq 0x10(%rbx), %rdx
movl $0x8, %esi
leaq 0x17ec5(%rip), %r8      # 0x285c0
cmpq %rdx, %rax
jae 0x1072c
movslq 0x18(%rbx), %rdi
movl %edi, %ecx
subl %esi, %ecx
movzbl (%rax), %r12d
jns 0x10749
andl (%r8,%rdi,4), %r12d
negb %cl
shll %cl, %r12d
orl %r12d, %r14d
incq %rax
movq %rax, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
subl %edi, %esi
jg 0x106fb
leaq 0x173a1(%rip), %rdi     # 0x27ad4
leaq 0x17f26(%rip), %rcx     # 0x28660
movl %r14d, %edx
xorl %eax, %eax
callq 0x4c22
movl %r14d, %r12d
jmp 0x10782
shrl %cl, %r12d
movl %esi, %edx
andl (%r8,%rdx,4), %r12d
orl %r14d, %r12d
movl %ecx, 0x18(%rbx)
cmpl %esi, %edi
jne 0x1076a
incq %rax
movq %rax, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
leaq 0x1734e(%rip), %rdi     # 0x27abf
leaq 0x17ee8(%rip), %rcx     # 0x28660
movl %r12d, %edx
xorl %eax, %eax
callq 0x4c22
movq 0x8(%rbx), %rax
xorl %r14d, %r14d
movl $0x0, %esi
cmpq 0x10(%rbx), %rax
jae 0x107ba
movl 0x18(%rbx), %ecx
decl %ecx
movl %ecx, 0x18(%rbx)
movzbl (%rax), %edx
xorl %esi, %esi
btl %ecx, %edx
setb %sil
testl %ecx, %ecx
jne 0x107ba
incq %rax
movq %rax, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
leaq 0x17327(%rip), %rdi     # 0x27ae8
leaq 0x17ea6(%rip), %rdx     # 0x2866e
movl %esi, -0x3c(%rbp)
xorl %eax, %eax
callq 0x4c22
movq 0x8(%rbx), %rax
cmpq 0x10(%rbx), %rax
jae 0x10803
movl 0x18(%rbx), %ecx
decl %ecx
movl %ecx, 0x18(%rbx)
movzbl (%rax), %edx
xorl %r14d, %r14d
btl %ecx, %edx
setb %r14b
testl %ecx, %ecx
jne 0x10803
incq %rax
movq %rax, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
leaq 0x172de(%rip), %rdi     # 0x27ae8
leaq 0x17e6f(%rip), %rdx     # 0x28680
movl %r14d, %esi
xorl %eax, %eax
callq 0x4c22
xorl %esi, %esi
movq 0x8(%rbx), %rax
cmpq 0x10(%rbx), %rax
jae 0x1084d
movl 0x18(%rbx), %ecx
decl %ecx
movl %ecx, 0x18(%rbx)
movzbl (%rax), %edx
xorl %esi, %esi
btl %ecx, %edx
setb %sil
testl %ecx, %ecx
jne 0x1084d
incq %rax
movq %rax, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
leaq 0x17294(%rip), %rdi     # 0x27ae8
leaq 0x17e37(%rip), %rdx     # 0x28692
xorl %r15d, %r15d
movl %esi, -0x38(%rbp)
xorl %eax, %eax
callq 0x4c22
movl 0x18(%rbx), %eax
leal -0x5(%rax), %ecx
cmpl $0x5, %eax
jg 0x1089e
cmpl $-0x6, %ecx
movl $0xfffffff9, %edx       # imm = 0xFFFFFFF9
cmovgel %ecx, %edx
subl %eax, %edx
addl $0xc, %edx
movl %edx, %ecx
andl $-0x8, %ecx
shrl $0x3, %edx
movq 0x8(%rbx), %rsi
addq %rsi, %rdx
incq %rdx
addl %eax, %ecx
addl $0x3, %ecx
movq %rdx, 0x8(%rbx)
movl %ecx, 0x18(%rbx)
leaq 0x17bcf(%rip), %rdi     # 0x28477
movl $0x5, %esi
xorl %edx, %edx
xorl %eax, %eax
callq 0x4c22
movq 0x8(%rbx), %rax
movq 0x10(%rbx), %rdx
movl $0x8, %esi
leaq 0x17cf6(%rip), %r8      # 0x285c0
cmpq %rdx, %rax
jae 0x108fb
movslq 0x18(%rbx), %rdi
movl %edi, %ecx
subl %esi, %ecx
movzbl (%rax), %r13d
jns 0x10918
andl (%r8,%rdi,4), %r13d
negb %cl
shll %cl, %r13d
orl %r13d, %r15d
incq %rax
movq %rax, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
subl %edi, %esi
jg 0x108ca
leaq 0x171d2(%rip), %rdi     # 0x27ad4
leaq 0x17d9b(%rip), %rcx     # 0x286a4
movl %r15d, %edx
xorl %eax, %eax
callq 0x4c22
movl %r15d, %r13d
jmp 0x10951
shrl %cl, %r13d
movl %esi, %edx
andl (%r8,%rdx,4), %r13d
orl %r15d, %r13d
movl %ecx, 0x18(%rbx)
cmpl %esi, %edi
jne 0x10939
incq %rax
movq %rax, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
leaq 0x1717f(%rip), %rdi     # 0x27abf
leaq 0x17d5d(%rip), %rcx     # 0x286a4
movl %r13d, %edx
xorl %eax, %eax
callq 0x4c22
movq 0x8(%rbx), %rcx
movq 0x10(%rbx), %rdx
xorl %eax, %eax
leaq 0x17c5e(%rip), %r11     # 0x285c0
cmpq %rdx, %rcx
jae 0x10991
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 0x10993
incq %rcx
movq %rcx, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
jmp 0x10993
xorl %esi, %esi
testl %esi, %esi
jne 0x109a5
cmpq %rdx, %rcx
jae 0x109a5
cmpl $0x1f, %eax
ja 0x109a5
incl %eax
jmp 0x10962
testl %eax, %eax
je 0x109e8
movq 0x8(%rbx), %rdi
xorl %esi, %esi
movl %eax, %r8d
cmpq %rdx, %rdi
jae 0x10a0f
movslq 0x18(%rbx), %r9
movl %r9d, %ecx
subl %r8d, %ecx
movzbl (%rdi), %r10d
jns 0x109ec
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 0x109b2
jmp 0x10a0f
xorl %esi, %esi
jmp 0x10a0f
shrl %cl, %r10d
movl %r8d, %edx
andl (%r11,%rdx,4), %r10d
orl %r10d, %esi
movl %ecx, 0x18(%rbx)
cmpl %r8d, %r9d
jne 0x10a0f
incq %rdi
movq %rdi, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
movl %r14d, -0x40(%rbp)
movl $0xffffffff, %r14d      # imm = 0xFFFFFFFF
movl %eax, %ecx
shll %cl, %r14d
notl %r14d
addl %esi, %r14d
leaq 0x1707b(%rip), %rdi     # 0x27aa6
leaq 0x16fc8(%rip), %rdx     # 0x279fa
xorl %r15d, %r15d
movl %r14d, %esi
xorl %eax, %eax
callq 0x4c22
leaq 0x1476e(%rip), %rdi     # 0x251b4
leaq 0x16e6b(%rip), %rsi     # 0x278b8
leaq 0x17064(%rip), %rdx     # 0x27ab8
xorl %eax, %eax
callq 0x4c22
movq 0x8(%rbx), %rcx
movq 0x10(%rbx), %r10
cmpq %r10, %rcx
setae %dl
cmpl $0x20, %r14d
setge %sil
orb %dl, %sil
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
jne 0x10cb2
movslq %r14d, %rdx
imulq $0x470, %rdx, %rdx      # imm = 0x470
movq -0x48(%rbp), %rdi
leaq (%rdi,%rdx), %rsi
movq %rsi, -0x30(%rbp)
movl %r14d, -0x34(%rbp)
movl %r14d, (%rdi,%rdx)
movl %r12d, 0x4(%rdi,%rdx)
movl %r13d, 0x8(%rdi,%rdx)
movl -0x3c(%rbp), %esi
movl %esi, 0xc(%rdi,%rdx)
movl -0x40(%rbp), %esi
movl %esi, 0x10(%rdi,%rdx)
movl -0x38(%rbp), %esi
movl %esi, 0x14(%rdi,%rdx)
movl 0x18(%rbx), %edx
leaq 0x17afa(%rip), %r9      # 0x285c0
movl %edx, %esi
decl %esi
movl %esi, 0x18(%rbx)
movzbl (%rcx), %edi
je 0x10ad6
movl %esi, %edx
jmp 0x10ae9
incq %rcx
movq %rcx, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
movl $0x8, %edx
btl %esi, %edi
jb 0x10afe
cmpq %r10, %rcx
jae 0x10afe
cmpl $0x1f, %r15d
ja 0x10afe
incl %r15d
jmp 0x10ac6
xorl %r14d, %r14d
movl $0x0, %r12d
testl %r15d, %r15d
je 0x10b6a
movq 0x8(%rbx), %rdx
xorl %r12d, %r12d
movl %r15d, %esi
cmpq %r10, %rdx
jae 0x10b6a
movslq 0x18(%rbx), %rdi
movl %edi, %ecx
subl %esi, %ecx
movzbl (%rdx), %r8d
jns 0x10b49
andl (%r9,%rdi,4), %r8d
negb %cl
shll %cl, %r8d
orl %r8d, %r12d
incq %rdx
movq %rdx, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
subl %edi, %esi
jg 0x10b16
jmp 0x10b6a
shrl %cl, %r8d
movl %esi, %eax
andl (%r9,%rax,4), %r8d
orl %r8d, %r12d
movl %ecx, 0x18(%rbx)
cmpl %esi, %edi
jne 0x10b6a
incq %rdx
movq %rdx, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
movl $0xffffffff, %r13d      # imm = 0xFFFFFFFF
movl %r15d, %ecx
shll %cl, %r13d
notl %r13d
leal (%r12,%r13), %esi
leaq 0x16f22(%rip), %rdi     # 0x27aa6
leaq 0x16e35(%rip), %rdx     # 0x279c0
xorl %eax, %eax
callq 0x4c22
leaq 0x17a27(%rip), %r10     # 0x285c0
leal (%r12,%r13), %eax
addl $0x4, %eax
movq -0x30(%rbp), %r12
movl %eax, 0x18(%r12)
movq 0x8(%rbx), %rcx
movq 0x10(%rbx), %rax
xorl %edx, %edx
cmpq %rax, %rcx
jae 0x10bdd
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 0x10bdd
incq %rcx
movq %rcx, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
testl %edx, %edx
jne 0x10bf1
cmpq %rax, %rcx
jae 0x10bf1
cmpl $0x1f, %r14d
ja 0x10bf1
incl %r14d
jmp 0x10bb1
testl %r14d, %r14d
je 0x10c34
movq 0x8(%rbx), %rsi
xorl %edx, %edx
movl %r14d, %edi
cmpq %rax, %rsi
jae 0x10c5a
movslq 0x18(%rbx), %r8
movl %r8d, %ecx
subl %edi, %ecx
movzbl (%rsi), %r9d
jns 0x10c38
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 0x10bff
jmp 0x10c5a
xorl %edx, %edx
jmp 0x10c5a
shrl %cl, %r9d
movl %edi, %eax
andl (%r10,%rax,4), %r9d
orl %r9d, %edx
movl %ecx, 0x18(%rbx)
cmpl %edi, %r8d
jne 0x10c5a
incq %rsi
movq %rsi, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
movl $0xffffffff, %r15d      # imm = 0xFFFFFFFF
movl %r14d, %ecx
shll %cl, %r15d
notl %r15d
addl %edx, %r15d
leaq 0x16e33(%rip), %rdi     # 0x27aa6
leaq 0x17a36(%rip), %rdx     # 0x286b0
xorl %r14d, %r14d
movl %r15d, %esi
xorl %eax, %eax
callq 0x4c22
movl %r15d, 0x1c(%r12)
cmpl $0x1, %r15d
je 0x10d69
testl %r15d, %r15d
je 0x10cc1
cmpl $0x2, %r15d
jle 0x1122d
movl $0xffffffff, (%r12)     # imm = 0xFFFFFFFF
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x8(%rbx), %rcx
movq 0x10(%rbx), %rdx
xorl %eax, %eax
leaq 0x178ee(%rip), %r10     # 0x285c0
cmpq %rdx, %rcx
jae 0x10d01
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 0x10d03
incq %rcx
movq %rcx, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
jmp 0x10d03
xorl %esi, %esi
testl %esi, %esi
jne 0x10d15
cmpq %rdx, %rcx
jae 0x10d15
cmpl $0x1f, %eax
ja 0x10d15
incl %eax
jmp 0x10cd2
xorl %r14d, %r14d
testl %eax, %eax
je 0x10e80
movq 0x8(%rbx), %rsi
xorl %r14d, %r14d
movl %eax, %edi
cmpq %rdx, %rsi
jae 0x10e80
movslq 0x18(%rbx), %r8
movl %r8d, %ecx
subl %edi, %ecx
movzbl (%rsi), %r9d
jns 0x10e5e
andl (%r10,%r8,4), %r9d
negb %cl
shll %cl, %r9d
orl %r9d, %r14d
incq %rsi
movq %rsi, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
subl %r8d, %edi
jg 0x10d29
jmp 0x10e80
movq 0x8(%rbx), %rax
cmpq 0x10(%rbx), %rax
jae 0x10d9a
movl 0x18(%rbx), %ecx
decl %ecx
movl %ecx, 0x18(%rbx)
movzbl (%rax), %edx
xorl %r14d, %r14d
btl %ecx, %edx
setb %r14b
testl %ecx, %ecx
jne 0x10d9a
incq %rax
movq %rax, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
leaq 0x16d47(%rip), %rdi     # 0x27ae8
leaq 0x17913(%rip), %rdx     # 0x286bb
xorl %r15d, %r15d
movl %r14d, %esi
xorl %eax, %eax
callq 0x4c22
movl %r14d, 0x24(%r12)
movq 0x8(%rbx), %rcx
movq 0x10(%rbx), %rax
leaq 0x177f7(%rip), %r10     # 0x285c0
cmpq %rax, %rcx
jae 0x10df5
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 0x10df7
incq %rcx
movq %rcx, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
jmp 0x10df7
xorl %edx, %edx
testl %edx, %edx
jne 0x10e0b
cmpq %rax, %rcx
jae 0x10e0b
cmpl $0x1f, %r15d
ja 0x10e0b
incl %r15d
jmp 0x10dc9
xorl %r14d, %r14d
movl $0x0, %edx
testl %r15d, %r15d
je 0x10eda
movq 0x8(%rbx), %rsi
xorl %edx, %edx
movl %r15d, %edi
cmpq %rax, %rsi
jae 0x10eda
movslq 0x18(%rbx), %r8
movl %r8d, %ecx
subl %edi, %ecx
movzbl (%rsi), %r9d
jns 0x10eb8
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 0x10e25
jmp 0x10eda
shrl %cl, %r9d
movl %edi, %edx
andl (%r10,%rdx,4), %r9d
orl %r9d, %r14d
movl %ecx, 0x18(%rbx)
cmpl %edi, %r8d
jne 0x10e80
incq %rsi
movq %rsi, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
movl $0xffffffff, %r15d      # imm = 0xFFFFFFFF
movl %eax, %ecx
shll %cl, %r15d
notl %r15d
leal (%r14,%r15), %esi
leaq 0x16c0d(%rip), %rdi     # 0x27aa6
leaq 0x16b5d(%rip), %rdx     # 0x279fd
xorl %eax, %eax
callq 0x4c22
leal (%r14,%r15), %eax
addl $0x4, %eax
movl %eax, 0x20(%r12)
jmp 0x1122d
shrl %cl, %r9d
movl %edi, %eax
andl (%r10,%rax,4), %r9d
orl %r9d, %edx
movl %ecx, 0x18(%rbx)
cmpl %edi, %r8d
jne 0x10eda
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 0x16bf3(%rip), %rdi     # 0x27af8
leaq 0x177cd(%rip), %rdx     # 0x286d9
movl %r15d, %esi
xorl %eax, %eax
callq 0x4c22
leaq 0x176a3(%rip), %r10     # 0x285c0
movl %r15d, 0x28(%r12)
movq 0x8(%rbx), %rcx
movq 0x10(%rbx), %rax
xorl %edx, %edx
cmpq %rax, %rcx
jae 0x10f56
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 0x10f56
incq %rcx
movq %rcx, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
testl %edx, %edx
jne 0x10f6a
cmpq %rax, %rcx
jae 0x10f6a
cmpl $0x1f, %r14d
ja 0x10f6a
incl %r14d
jmp 0x10f2a
xorl %r15d, %r15d
movl $0x0, %edx
testl %r14d, %r14d
je 0x10fd7
movq 0x8(%rbx), %rsi
xorl %edx, %edx
movl %r14d, %edi
cmpq %rax, %rsi
jae 0x10fd7
movslq 0x18(%rbx), %r8
movl %r8d, %ecx
subl %edi, %ecx
movzbl (%rsi), %r9d
jns 0x10fb5
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 0x10f80
jmp 0x10fd7
shrl %cl, %r9d
movl %edi, %eax
andl (%r10,%rax,4), %r9d
orl %r9d, %edx
movl %ecx, 0x18(%rbx)
cmpl %edi, %r8d
jne 0x10fd7
incq %rsi
movq %rsi, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movl %r14d, %ecx
shll %cl, %eax
movl %eax, %ecx
notl %ecx
addl %edx, %ecx
subl %eax, %edx
sarl %edx
movl %ecx, %r14d
sarl %r14d
negl %r14d
testb $0x1, %cl
cmovnel %edx, %r14d
leaq 0x16af6(%rip), %rdi     # 0x27af8
leaq 0x176e9(%rip), %rdx     # 0x286f2
movl %r14d, %esi
xorl %eax, %eax
callq 0x4c22
leaq 0x175a6(%rip), %r10     # 0x285c0
movl %r14d, 0x2c(%r12)
movq 0x8(%rbx), %rcx
movq 0x10(%rbx), %rax
xorl %edx, %edx
cmpq %rax, %rcx
jae 0x11053
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 0x11053
incq %rcx
movq %rcx, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
testl %edx, %edx
jne 0x11067
cmpq %rax, %rcx
jae 0x11067
cmpl $0x1f, %r15d
ja 0x11067
incl %r15d
jmp 0x11027
xorl %edx, %edx
testl %r15d, %r15d
je 0x110ce
movq 0x8(%rbx), %rsi
xorl %edx, %edx
movl %r15d, %edi
cmpq %rax, %rsi
jae 0x110ce
movslq 0x18(%rbx), %r8
movl %r8d, %ecx
subl %edi, %ecx
movzbl (%rsi), %r9d
jns 0x110ac
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 0x11077
jmp 0x110ce
shrl %cl, %r9d
movl %edi, %eax
andl (%r10,%rax,4), %r9d
orl %r9d, %edx
movl %ecx, 0x18(%rbx)
cmpl %edi, %r8d
jne 0x110ce
incq %rsi
movq %rsi, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
movl $0xffffffff, %r14d      # imm = 0xFFFFFFFF
movl %r15d, %ecx
shll %cl, %r14d
notl %r14d
addl %edx, %r14d
leaq 0x169bf(%rip), %rdi     # 0x27aa6
leaq 0x17625(%rip), %rdx     # 0x28713
movl %r14d, %esi
xorl %eax, %eax
callq 0x4c22
movl $0x100, %eax            # imm = 0x100
cmpl %eax, %r14d
cmovll %r14d, %eax
movl %eax, 0x30(%r12)
testl %r14d, %r14d
jle 0x1122d
leaq 0x169df(%rip), %r14     # 0x27af8
leaq 0x17611(%rip), %r15     # 0x28731
xorl %r13d, %r13d
movq 0x8(%rbx), %rcx
movq 0x10(%rbx), %rdx
xorl %eax, %eax
leaq 0x1748c(%rip), %r11     # 0x285c0
xorl %esi, %esi
cmpq %rdx, %rcx
jae 0x11163
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 0x11163
incq %rcx
movq %rcx, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
testl %esi, %esi
jne 0x11175
cmpq %rdx, %rcx
jae 0x11175
cmpl $0x1f, %eax
ja 0x11175
incl %eax
jmp 0x11134
testl %eax, %eax
je 0x111b8
movq 0x8(%rbx), %rdi
xorl %esi, %esi
movl %eax, %r8d
cmpq %rdx, %rdi
jae 0x111df
movslq 0x18(%rbx), %r9
movl %r9d, %ecx
subl %r8d, %ecx
movzbl (%rdi), %r10d
jns 0x111bc
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 0x11182
jmp 0x111df
xorl %esi, %esi
jmp 0x111df
shrl %cl, %r10d
movl %r8d, %edx
andl (%r11,%rdx,4), %r10d
orl %r10d, %esi
movl %ecx, 0x18(%rbx)
cmpl %r8d, %r9d
jne 0x111df
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
movq %r14, %rdi
movl %r12d, %esi
movq %r15, %rdx
xorl %eax, %eax
callq 0x4c22
movq -0x30(%rbp), %rax
movl %r12d, 0x34(%rax,%r13,4)
movq %rax, %r12
incq %r13
movslq 0x30(%rax), %rax
cmpq %rax, %r13
jl 0x11123
movq 0x8(%rbx), %rcx
movq 0x10(%rbx), %rdx
xorl %eax, %eax
leaq 0x17382(%rip), %r11     # 0x285c0
cmpq %rdx, %rcx
jae 0x1126d
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 0x1126f
incq %rcx
movq %rcx, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
jmp 0x1126f
xorl %esi, %esi
testl %esi, %esi
jne 0x11281
cmpq %rdx, %rcx
jae 0x11281
cmpl $0x1f, %eax
ja 0x11281
incl %eax
jmp 0x1123e
xorl %r14d, %r14d
movl $0x0, %esi
testl %eax, %eax
je 0x112ef
movq 0x8(%rbx), %rdi
xorl %esi, %esi
movl %eax, %r8d
cmpq %rdx, %rdi
jae 0x112ef
movslq 0x18(%rbx), %r9
movl %r9d, %ecx
subl %r8d, %ecx
movzbl (%rdi), %r10d
jns 0x112cc
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 0x11296
jmp 0x112ef
shrl %cl, %r10d
movl %r8d, %edx
andl (%r11,%rdx,4), %r10d
orl %r10d, %esi
movl %ecx, 0x18(%rbx)
cmpl %r8d, %r9d
jne 0x112ef
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 0x1679f(%rip), %rdi     # 0x27aa6
leaq 0x1743a(%rip), %rdx     # 0x28748
movl %r15d, %esi
xorl %eax, %eax
callq 0x4c22
movl %r15d, 0x434(%r12)
movq 0x8(%rbx), %rax
cmpq 0x10(%rbx), %rax
jae 0x11351
movl 0x18(%rbx), %ecx
decl %ecx
movl %ecx, 0x18(%rbx)
movzbl (%rax), %edx
xorl %r14d, %r14d
btl %ecx, %edx
setb %r14b
testl %ecx, %ecx
jne 0x11351
incq %rax
movq %rax, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
leaq 0x16790(%rip), %rdi     # 0x27ae8
leaq 0x173fa(%rip), %rdx     # 0x28759
xorl %r15d, %r15d
movl %r14d, %esi
xorl %eax, %eax
callq 0x4c22
movl %r14d, 0x438(%r12)
movq 0x8(%rbx), %rcx
movq 0x10(%rbx), %rax
leaq 0x1723d(%rip), %r9      # 0x285c0
cmpq %rax, %rcx
jae 0x113af
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 0x113b1
incq %rcx
movq %rcx, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
jmp 0x113b1
xorl %edx, %edx
testl %edx, %edx
jne 0x113c5
cmpq %rax, %rcx
jae 0x113c5
cmpl $0x1f, %r15d
ja 0x113c5
incl %r15d
jmp 0x11383
xorl %r14d, %r14d
movl $0x0, %r12d
testl %r15d, %r15d
je 0x11431
movq 0x8(%rbx), %rdx
xorl %r12d, %r12d
movl %r15d, %esi
cmpq %rax, %rdx
jae 0x11431
movslq 0x18(%rbx), %rdi
movl %edi, %ecx
subl %esi, %ecx
movzbl (%rdx), %r8d
jns 0x11410
andl (%r9,%rdi,4), %r8d
negb %cl
shll %cl, %r8d
orl %r8d, %r12d
incq %rdx
movq %rdx, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
subl %edi, %esi
jg 0x113dd
jmp 0x11431
shrl %cl, %r8d
movl %esi, %eax
andl (%r9,%rax,4), %r8d
orl %r8d, %r12d
movl %ecx, 0x18(%rbx)
cmpl %esi, %edi
jne 0x11431
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 %r12d, %esi
leaq 0x1665a(%rip), %rdi     # 0x27aa6
leaq 0x17328(%rip), %rdx     # 0x2877b
xorl %eax, %eax
callq 0x4c22
leaq 0x1715f(%rip), %r9      # 0x285c0
subl %r13d, %r12d
movq -0x30(%rbp), %rax
movl %r12d, 0x43c(%rax)
movq 0x8(%rbx), %rcx
movq 0x10(%rbx), %rax
xorl %edx, %edx
cmpq %rax, %rcx
jae 0x114a3
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 0x114a3
incq %rcx
movq %rcx, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
testl %edx, %edx
jne 0x114b7
cmpq %rax, %rcx
jae 0x114b7
cmpl $0x1f, %r14d
ja 0x114b7
incl %r14d
jmp 0x11477
xorl %r15d, %r15d
movl $0x0, %r12d
testl %r14d, %r14d
je 0x11523
movq 0x8(%rbx), %rdx
xorl %r12d, %r12d
movl %r14d, %esi
cmpq %rax, %rdx
jae 0x11523
movslq 0x18(%rbx), %rdi
movl %edi, %ecx
subl %esi, %ecx
movzbl (%rdx), %r8d
jns 0x11502
andl (%r9,%rdi,4), %r8d
negb %cl
shll %cl, %r8d
orl %r8d, %r12d
incq %rdx
movq %rdx, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
subl %edi, %esi
jg 0x114cf
jmp 0x11523
shrl %cl, %r8d
movl %esi, %eax
andl (%r9,%rax,4), %r8d
orl %r8d, %r12d
movl %ecx, 0x18(%rbx)
cmpl %esi, %edi
jne 0x11523
incq %rdx
movq %rdx, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
movl $0xffffffff, %r13d      # imm = 0xFFFFFFFF
movl %r14d, %ecx
shll %cl, %r13d
movl %r13d, %esi
notl %esi
addl %r12d, %esi
leaq 0x16568(%rip), %rdi     # 0x27aa6
leaq 0x17241(%rip), %rdx     # 0x28786
xorl %eax, %eax
callq 0x4c22
subl %r13d, %r12d
movq -0x30(%rbp), %rax
movl %r12d, 0x440(%rax)
movq %rax, %r12
movq 0x8(%rbx), %rax
cmpq 0x10(%rbx), %rax
jae 0x1158e
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 0x1158e
incq %rax
movq %rax, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
leaq 0x16553(%rip), %rdi     # 0x27ae8
leaq 0x171f6(%rip), %rdx     # 0x28792
xorl %r14d, %r14d
movl %r15d, %esi
xorl %eax, %eax
callq 0x4c22
movl %r15d, 0x444(%r12)
movl $0x0, %r12d
testl %r15d, %r15d
jne 0x11608
movq 0x8(%rbx), %rax
xorl %r12d, %r12d
cmpq 0x10(%rbx), %rax
jae 0x115f0
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 0x115f0
incq %rax
movq %rax, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
leaq 0x164f1(%rip), %rdi     # 0x27ae8
leaq 0x171a5(%rip), %rdx     # 0x287a3
movl %r12d, %esi
xorl %eax, %eax
callq 0x4c22
movq -0x30(%rbp), %rax
movl %r12d, 0x448(%rax)
movq 0x8(%rbx), %rax
cmpq 0x10(%rbx), %rax
jae 0x11644
movl 0x18(%rbx), %ecx
decl %ecx
movl %ecx, 0x18(%rbx)
movzbl (%rax), %edx
xorl %r14d, %r14d
btl %ecx, %edx
setb %r14b
testl %ecx, %ecx
jne 0x11644
incq %rax
movq %rax, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
leaq 0x1649d(%rip), %rdi     # 0x27ae8
leaq 0x1716b(%rip), %rdx     # 0x287bd
xorl %r12d, %r12d
movl %r14d, %esi
xorl %eax, %eax
callq 0x4c22
movq -0x30(%rbp), %rax
movl %r14d, 0x44c(%rax)
movq 0x8(%rbx), %rax
cmpq 0x10(%rbx), %rax
jae 0x1169b
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 0x1169b
incq %rax
movq %rax, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
leaq 0x16446(%rip), %rdi     # 0x27ae8
leaq 0x1712a(%rip), %rdx     # 0x287d3
xorl %r15d, %r15d
movl %r12d, %esi
xorl %eax, %eax
callq 0x4c22
movq -0x30(%rbp), %rax
movl %r12d, 0x450(%rax)
testl %r12d, %r12d
jne 0x116d8
xorps %xmm0, %xmm0
movups %xmm0, 0x454(%rax)
movq %rax, %r12
jmp 0x11a96
movq 0x8(%rbx), %rcx
movq 0x10(%rbx), %rax
leaq 0x16ed9(%rip), %r10     # 0x285c0
xorl %edx, %edx
cmpq %rax, %rcx
jae 0x11713
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 0x11713
incq %rcx
movq %rcx, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
testl %edx, %edx
jne 0x11727
cmpq %rax, %rcx
jae 0x11727
cmpl $0x1f, %r15d
ja 0x11727
incl %r15d
jmp 0x116e7
xorl %r14d, %r14d
movl $0x0, %edx
testl %r15d, %r15d
je 0x11794
movq 0x8(%rbx), %rsi
xorl %edx, %edx
movl %r15d, %edi
cmpq %rax, %rsi
jae 0x11794
movslq 0x18(%rbx), %r8
movl %r8d, %ecx
subl %edi, %ecx
movzbl (%rsi), %r9d
jns 0x11772
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 0x1173d
jmp 0x11794
shrl %cl, %r9d
movl %edi, %eax
andl (%r10,%rax,4), %r9d
orl %r9d, %edx
movl %ecx, 0x18(%rbx)
cmpl %edi, %r8d
jne 0x11794
incq %rsi
movq %rsi, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
movl $0xffffffff, %r12d      # imm = 0xFFFFFFFF
movl %r15d, %ecx
shll %cl, %r12d
notl %r12d
addl %edx, %r12d
leaq 0x162f9(%rip), %rdi     # 0x27aa6
leaq 0x17026(%rip), %rdx     # 0x287da
movl %r12d, %esi
xorl %eax, %eax
callq 0x4c22
leaq 0x16dfb(%rip), %r10     # 0x285c0
movq -0x30(%rbp), %rax
movl %r12d, 0x454(%rax)
movq 0x8(%rbx), %rcx
movq 0x10(%rbx), %rax
xorl %edx, %edx
cmpq %rax, %rcx
jae 0x11804
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 0x11804
incq %rcx
movq %rcx, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
testl %edx, %edx
jne 0x11818
cmpq %rax, %rcx
jae 0x11818
cmpl $0x1f, %r14d
ja 0x11818
incl %r14d
jmp 0x117d8
xorl %r15d, %r15d
movl $0x0, %edx
testl %r14d, %r14d
je 0x11885
movq 0x8(%rbx), %rsi
xorl %edx, %edx
movl %r14d, %edi
cmpq %rax, %rsi
jae 0x11885
movslq 0x18(%rbx), %r8
movl %r8d, %ecx
subl %edi, %ecx
movzbl (%rsi), %r9d
jns 0x11863
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 0x1182e
jmp 0x11885
shrl %cl, %r9d
movl %edi, %eax
andl (%r10,%rax,4), %r9d
orl %r9d, %edx
movl %ecx, 0x18(%rbx)
cmpl %edi, %r8d
jne 0x11885
incq %rsi
movq %rsi, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
movl $0xffffffff, %r12d      # imm = 0xFFFFFFFF
movl %r14d, %ecx
shll %cl, %r12d
notl %r12d
addl %edx, %r12d
leaq 0x16208(%rip), %rdi     # 0x27aa6
leaq 0x16f41(%rip), %rdx     # 0x287e6
movl %r12d, %esi
xorl %eax, %eax
callq 0x4c22
leaq 0x16d0a(%rip), %r10     # 0x285c0
movq -0x30(%rbp), %rax
movl %r12d, 0x458(%rax)
movq 0x8(%rbx), %rcx
movq 0x10(%rbx), %rax
xorl %edx, %edx
cmpq %rax, %rcx
jae 0x118f5
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 0x118f5
incq %rcx
movq %rcx, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
testl %edx, %edx
jne 0x11909
cmpq %rax, %rcx
jae 0x11909
cmpl $0x1f, %r15d
ja 0x11909
incl %r15d
jmp 0x118c9
xorl %r14d, %r14d
movl $0x0, %edx
testl %r15d, %r15d
je 0x11976
movq 0x8(%rbx), %rsi
xorl %edx, %edx
movl %r15d, %edi
cmpq %rax, %rsi
jae 0x11976
movslq 0x18(%rbx), %r8
movl %r8d, %ecx
subl %edi, %ecx
movzbl (%rsi), %r9d
jns 0x11954
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 0x1191f
jmp 0x11976
shrl %cl, %r9d
movl %edi, %eax
andl (%r10,%rax,4), %r9d
orl %r9d, %edx
movl %ecx, 0x18(%rbx)
cmpl %edi, %r8d
jne 0x11976
incq %rsi
movq %rsi, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
movl $0xffffffff, %r12d      # imm = 0xFFFFFFFF
movl %r15d, %ecx
shll %cl, %r12d
notl %r12d
addl %edx, %r12d
leaq 0x16117(%rip), %rdi     # 0x27aa6
leaq 0x16e5b(%rip), %rdx     # 0x287f1
movl %r12d, %esi
xorl %eax, %eax
callq 0x4c22
leaq 0x16c19(%rip), %r10     # 0x285c0
movq -0x30(%rbp), %rax
movl %r12d, 0x45c(%rax)
movq %rax, %r12
movq 0x8(%rbx), %rcx
movq 0x10(%rbx), %rax
xorl %edx, %edx
cmpq %rax, %rcx
jae 0x119e9
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 0x119e9
incq %rcx
movq %rcx, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
testl %edx, %edx
jne 0x119fd
cmpq %rax, %rcx
jae 0x119fd
cmpl $0x1f, %r14d
ja 0x119fd
incl %r14d
jmp 0x119bd
xorl %edx, %edx
testl %r14d, %r14d
je 0x11a64
movq 0x8(%rbx), %rsi
xorl %edx, %edx
movl %r14d, %edi
cmpq %rax, %rsi
jae 0x11a64
movslq 0x18(%rbx), %r8
movl %r8d, %ecx
subl %edi, %ecx
movzbl (%rsi), %r9d
jns 0x11a42
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 0x11a0d
jmp 0x11a64
shrl %cl, %r9d
movl %edi, %eax
andl (%r10,%rax,4), %r9d
orl %r9d, %edx
movl %ecx, 0x18(%rbx)
cmpl %edi, %r8d
jne 0x11a64
incq %rsi
movq %rsi, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
movl $0xffffffff, %r15d      # imm = 0xFFFFFFFF
movl %r14d, %ecx
shll %cl, %r15d
notl %r15d
addl %edx, %r15d
leaq 0x16029(%rip), %rdi     # 0x27aa6
leaq 0x16d76(%rip), %rdx     # 0x287fa
movl %r15d, %esi
xorl %eax, %eax
callq 0x4c22
movl %r15d, 0x460(%r12)
movq 0x8(%rbx), %rax
xorl %r14d, %r14d
cmpq 0x10(%rbx), %rax
jae 0x11aca
movl 0x18(%rbx), %ecx
decl %ecx
movl %ecx, 0x18(%rbx)
movzbl (%rax), %edx
xorl %r14d, %r14d
btl %ecx, %edx
setb %r14b
testl %ecx, %ecx
jne 0x11aca
incq %rax
movq %rax, 0x8(%rbx)
movl $0x8, 0x18(%rbx)
leaq 0x16017(%rip), %rdi     # 0x27ae8
leaq 0x16d30(%rip), %rdx     # 0x28808
movl %r14d, %esi
xorl %eax, %eax
callq 0x4c22
movl %r14d, 0x464(%r12)
leaq 0x136c3(%rip), %rdi     # 0x251b4
leaq 0x15dc0(%rip), %rsi     # 0x278b8
leaq 0x15fb9(%rip), %rdx     # 0x27ab8
xorl %eax, %eax
callq 0x4c22
movq 0x8(%rbx), %rax
movq 0x204bf(%rip), %rcx     # 0x31fd0
movq (%rcx), %rdi
cmpq 0x10(%rbx), %rax
jae 0x11b92
movl (%r12), %edx
movl 0x4(%r12), %ecx
movl 0x8(%r12), %r8d
movl 0x1c(%r12), %r9d
movl 0x434(%r12), %r10d
movl 0x43c(%r12), %r11d
movl 0x440(%r12), %ebx
movl 0x454(%r12), %r14d
movl 0x458(%r12), %r15d
movq %r12, %rax
movl 0x45c(%r12), %r12d
movl 0x460(%rax), %r13d
subq $0x8, %rsp
leaq 0x16cac(%rip), %rsi     # 0x2881e
xorl %eax, %eax
pushq %r13
pushq %r12
pushq %r15
pushq %r14
pushq %rbx
pushq %r11
pushq %r10
callq 0x2180
addq $0x40, %rsp
movl -0x34(%rbp), %eax
jmp 0x10cb2
callq 0x2ae9
jmp 0x10ca5