// File: /workspace/github_c_makefile_star2_O0/hfiguiere[P]exifprobe/jp2000.c
// Function: process_jpc_cod
unsigned long
process_jpc_cod(FILE *inptr,unsigned long marker_offset,unsigned short tag,
                                    struct image_summary *summary_entry,
                                    int indent)
{
    unsigned long max_offset;
    unsigned short seg_length;
    unsigned short cstyle;
    unsigned short decomp;
    unsigned short progorder;
    unsigned short nlayers;
    unsigned short cbw;
    unsigned short cbh;
    unsigned short cbstyle;
    unsigned short transform;
    unsigned short qmfbid;
    unsigned short part_wh;
    char *name;
    int chpr = 0;
    int i;

    name = jp2000tagname(tag);
    seg_length = read_ushort(inptr,TIFF_MOTOROLA,marker_offset + 2);
    print_tag_address(SECTION|ENTRY,marker_offset,indent,"@");
    if((LIST_MODE))
    {
        if((PRINT_TAGINFO))
        {
            if((PRINT_LONGNAMES))
                chpr += printf("JP2.jp2c.");
            chpr += printf("%s",name);
        }
        if((PRINT_VALUE))
            chpr += printf(" = @%lu:%u",marker_offset,seg_length + 2);
    }
    else
        chpr += printf("<%#x=%s> length %u",tag,name,seg_length);
    max_offset = marker_offset + seg_length + 2;
    marker_offset += 4;

    cstyle = read_ubyte(inptr,marker_offset);
    chpr = newline(chpr);
    print_tag_address(ENTRY,marker_offset,indent + 8,"=");
    if((PRINT_TAGINFO))
    {
        if((PRINT_LONGNAMES))
            chpr += printf("JP2.jp2c.cod.");
        chpr += printf("codingStyle");
    }
    if((PRINT_VALUE))
    {
        chpr += printf(" = %#x",cstyle & 0xff);
        chpr += printf(" = entropy coder with");
        if((cstyle & 1) == 0)
            chpr += printf("out");
        chpr += printf(" partitions,");
        if(cstyle & 2)
            chpr += printf(" with SOP markers and");
        else
            chpr += printf(" without SOP markers and");
        if(cstyle & 4)
            chpr += printf(" with EPH markers");
        else
            chpr += printf(" without EPH markers");
    }
    marker_offset++;
    progorder = read_ubyte(inptr,marker_offset);
    chpr = newline(chpr);
    print_tag_address(ENTRY,marker_offset,indent + 8,"=");
    if((PRINT_TAGINFO))
    {
        if((PRINT_LONGNAMES))
            chpr += printf("JP2.jp2c.cod.");
        chpr += printf("ProgressionOrder");
    }
    if((PRINT_VALUE))
        chpr += printf(" = %#x",progorder & 0xff);
    marker_offset++;
    nlayers = read_ushort(inptr,TIFF_MOTOROLA,marker_offset);
    chpr = newline(chpr);
    print_tag_address(ENTRY,marker_offset,indent + 8,"=");
    if((PRINT_TAGINFO))
    {
        if((PRINT_LONGNAMES))
            chpr += printf("JP2.jp2c.cod.");
        chpr += printf("NumberOfLayers");
    }
    if((PRINT_VALUE))
        chpr += printf(" = %#x",nlayers & 0xff);
    marker_offset += 2;
    transform = read_ubyte(inptr,marker_offset);
    chpr = newline(chpr);
    print_tag_address(ENTRY,marker_offset,indent + 8,"=");
    if((PRINT_TAGINFO))
    {
        if((PRINT_LONGNAMES))
            chpr += printf("JP2.jp2c.cod.");
        chpr += printf("MultiComponentTransform");
    }
    if((PRINT_VALUE))
    {
        chpr += printf(" = %#x",transform & 0xff);
        if(transform & 1)
            chpr += printf(" = 5/3 reversible");
        else
            chpr += printf(" = 9/7 irreversible");
    }
    /* Record transform in the first byte of                      */
    /* summary_entry->compression; quantization will be recorded  */
    /* in the second byte. This overwrites the useless            */
    /* "compression" indicator in ihdr.                           */
    if(summary_entry)
        summary_entry->compression = transform & 1;
    marker_offset++;
    decomp = read_ubyte(inptr,marker_offset);
    chpr = newline(chpr);
    print_tag_address(ENTRY,marker_offset,indent + 8,"=");
    if((PRINT_TAGINFO))
    {
        if((PRINT_LONGNAMES))
            chpr += printf("JP2.jp2c.cod.");
        chpr += printf("DecompLevels");
    }
    if((PRINT_VALUE))
        chpr += printf(" = %u",decomp & 0xff);
    marker_offset++;
    cbw = read_ubyte(inptr,marker_offset);
    chpr = newline(chpr);
    print_tag_address(ENTRY,marker_offset,indent + 8,"=");
    if((PRINT_TAGINFO))
    {
        if((PRINT_LONGNAMES))
            chpr += printf("JP2.jp2c.cod.");
        chpr += printf("CodeBlockWidthExponent");
    }
    if((PRINT_VALUE))
    {
        if((LIST_MODE))
        {
            chpr += printf(" = %#x",(cbw & 0xff) + 2);
            chpr = newline(chpr);
            /* pseudotag                                              */
            print_tag_address(ENTRY,HERE,indent + 8,"*");
            if((PRINT_TAGINFO))
            {
                if((PRINT_LONGNAMES))
                    chpr += printf("JP2.jp2c.cod.");
                chpr += printf("CodeBlockWidth");
            }
            if((PRINT_VALUE))
                chpr += printf(" = %g",pow(2.0,(double)(cbw + 2)));
        }
        else
            chpr += printf(" = %#x + 2 # cbw -> %g",cbw & 0xff,
                                            pow(2.0,(double)(cbw + 2)));
    }
    marker_offset++;
    cbh = read_ubyte(inptr,marker_offset);
    chpr = newline(chpr);
    print_tag_address(ENTRY,marker_offset,indent + 8,"=");
    if((PRINT_TAGINFO))
    {
        if((PRINT_LONGNAMES))
            chpr += printf("JP2.jp2c.cod.");
        chpr += printf("CodeBlockHeightExponent");
    }
    if((PRINT_VALUE))
    {
        if((LIST_MODE))
        {
            chpr += printf(" = %#x",(cbh & 0xff) + 2);
            chpr = newline(chpr);
            /* pseudotag                                              */
            print_tag_address(ENTRY,HERE,indent + 8,"*");
            if((PRINT_TAGINFO))
            {
                if((PRINT_LONGNAMES))
                    chpr += printf("JP2.jp2c.cod.");
                chpr += printf("CodeBlockHeight");
            }
            if((PRINT_VALUE))
                chpr += printf(" = %g",pow(2.0,(double)(cbh + 2)));
        }
        else
            chpr += printf(" = %#x + 2 # cbh -> %g",cbh & 0xff,
                                            pow(2.0,(double)(cbh + 2)));
    }
    marker_offset++;
    cbstyle = read_ubyte(inptr,marker_offset);
    chpr = newline(chpr);
    print_tag_address(ENTRY,marker_offset,indent + 8,"=");
    if((PRINT_TAGINFO))
    {
        if((PRINT_LONGNAMES))
            chpr += printf("JP2.jp2c.cod.");
        chpr += printf("CodeBLockStyle");
    }
    if((PRINT_VALUE))
        chpr += printf(" = %#x",cbstyle & 0xff);
    marker_offset++;
    qmfbid = read_ubyte(inptr,marker_offset);
    chpr = newline(chpr);
    print_tag_address(ENTRY,marker_offset,indent + 8,"=");
    if((PRINT_TAGINFO))
    {
        if((PRINT_LONGNAMES))
            chpr += printf("JP2.jp2c.cod.");
        chpr += printf("QMIFBankId");
    }
    if((PRINT_VALUE))
        chpr += printf(" = %#x",qmfbid & 0xff);
    marker_offset++;
    if(cstyle & 1)
    {
        for(i = 0; i <= decomp; ++i)
        {
            part_wh = read_ubyte(inptr,marker_offset++);
            chpr = newline(chpr);
            print_tag_address(ENTRY,marker_offset,indent + 8,"=");
            if((LIST_MODE))
            {
                if((PRINT_TAGINFO))
                {
                    if((PRINT_LONGNAMES))
                        chpr += printf("JP2.jp2c.cod.");
                    chpr += printf("Partition%dWidth",i);
                }
                if((PRINT_VALUE))
                    chpr += printf(" = %u",part_wh & 0xf);
                chpr = newline(chpr);

                print_tag_address(ENTRY,marker_offset,indent + 8,"=");
                if((PRINT_TAGINFO))
                {
                    if((PRINT_LONGNAMES))
                        chpr += printf("JP2.jp2c.cod.");
                    chpr += printf("Partition%dHeight",i);
                }
                if((PRINT_VALUE))
                    chpr += printf(" = %u",(part_wh >> 4) & 0xf);
            }
            else 
            {
                if((PRINT_TAGINFO))
                    chpr += printf("partition %d width",i);
                if((PRINT_VALUE))
                    chpr += printf(" = %u,",part_wh & 0xf);
                    
                if((PRINT_TAGINFO))
                    chpr += printf(" height = ");
                if((PRINT_VALUE))
                    chpr += printf(" = %u",(part_wh >> 4) & 0xf);
            }
        }
    }
    if(!(LIST_MODE))
    {
        chpr = newline(chpr);
        print_tag_address(SECTION|ENTRY,marker_offset - 1,indent,"@");
        chpr += printf("</%#x=%s> ",tag,name);
    }
    if(marker_offset > max_offset)
            printred(" READ PAST END OF BOX");
    chpr = newline(chpr);

    return(max_offset);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movw %dx, %ax
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movw %ax, -0x12(%rbp)
movq %rcx, -0x20(%rbp)
movl %r8d, -0x24(%rbp)
movl $0x0, -0x54(%rbp)
movzwl -0x12(%rbp), %edi
callq 0x110f0
movq %rax, -0x50(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rdx
addq $0x2, %rdx
movl $0x4d4d, %esi           # imm = 0x4D4D
callq 0x4480
movw %ax, -0x32(%rbp)
movq -0x10(%rbp), %rsi
movl -0x24(%rbp), %edx
movl $0x4043333, %edi        # imm = 0x4043333
leaq 0x2ffbc(%rip), %rcx     # 0x640dc
callq 0x5ed0
leaq 0x43054(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x1040000, %rax        # imm = 0x1040000
cmpq $0x0, %rax
jne 0x341ca
leaq 0x4303a(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x3003, %rax           # imm = 0x3003
cmpq $0x0, %rax
je 0x34195
leaq 0x43024(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x40, %rax
cmpq $0x0, %rax
je 0x3417d
leaq 0x3757a(%rip), %rdi     # 0x6b6ea
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
movq -0x50(%rbp), %rsi
leaq 0x2ff0f(%rip), %rdi     # 0x64097
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
leaq 0x42fe4(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x341c8
movq -0x10(%rbp), %rsi
movzwl -0x32(%rbp), %edx
addl $0x2, %edx
leaq 0x37556(%rip), %rdi     # 0x6b711
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
jmp 0x341ea
movzwl -0x12(%rbp), %esi
movq -0x50(%rbp), %rdx
movzwl -0x32(%rbp), %ecx
leaq 0x3753f(%rip), %rdi     # 0x6b71c
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
movq -0x10(%rbp), %rax
movzwl -0x32(%rbp), %ecx
addq %rcx, %rax
addq $0x2, %rax
movq %rax, -0x30(%rbp)
movq -0x10(%rbp), %rax
addq $0x4, %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x4f20
movw %ax, -0x34(%rbp)
movl -0x54(%rbp), %edi
callq 0x1ef50
movl %eax, -0x54(%rbp)
movq -0x10(%rbp), %rsi
movl -0x24(%rbp), %edx
addl $0x8, %edx
movl $0x4003333, %edi        # imm = 0x4003333
leaq 0x32e18(%rip), %rcx     # 0x67053
callq 0x5ed0
leaq 0x42f39(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x3003, %rax           # imm = 0x3003
cmpq $0x0, %rax
je 0x34292
leaq 0x42f23(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x40, %rax
cmpq $0x0, %rax
je 0x3427e
leaq 0x3761b(%rip), %rdi     # 0x6b88c
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
leaq 0x37615(%rip), %rdi     # 0x6b89a
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
leaq 0x42ee7(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x3437e
movzwl -0x34(%rbp), %esi
andl $0xff, %esi
leaq 0x375eb(%rip), %rdi     # 0x6b8a6
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
leaq 0x375de(%rip), %rdi     # 0x6b8ad
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
movzwl -0x34(%rbp), %eax
andl $0x1, %eax
cmpl $0x0, %eax
jne 0x342fc
leaq 0x31869(%rip), %rdi     # 0x65b58
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
leaq 0x375c0(%rip), %rdi     # 0x6b8c3
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
movzwl -0x34(%rbp), %eax
andl $0x2, %eax
cmpl $0x0, %eax
je 0x34332
leaq 0x375ad(%rip), %rdi     # 0x6b8d0
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
jmp 0x34346
leaq 0x375ad(%rip), %rdi     # 0x6b8e6
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
movzwl -0x34(%rbp), %eax
andl $0x4, %eax
cmpl $0x0, %eax
je 0x34368
leaq 0x375a6(%rip), %rdi     # 0x6b8ff
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
jmp 0x3437c
leaq 0x375a2(%rip), %rdi     # 0x6b911
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
jmp 0x3437e
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x4f20
movw %ax, -0x38(%rbp)
movl -0x54(%rbp), %edi
callq 0x1ef50
movl %eax, -0x54(%rbp)
movq -0x10(%rbp), %rsi
movl -0x24(%rbp), %edx
addl $0x8, %edx
movl $0x4003333, %edi        # imm = 0x4003333
leaq 0x32c97(%rip), %rcx     # 0x67053
callq 0x5ed0
leaq 0x42db8(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x3003, %rax           # imm = 0x3003
cmpq $0x0, %rax
je 0x34413
leaq 0x42da2(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x40, %rax
cmpq $0x0, %rax
je 0x343ff
leaq 0x3749a(%rip), %rdi     # 0x6b88c
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
leaq 0x37520(%rip), %rdi     # 0x6b926
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
leaq 0x42d66(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x34445
movzwl -0x38(%rbp), %esi
andl $0xff, %esi
leaq 0x3746e(%rip), %rdi     # 0x6b8a6
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rdx
movl $0x4d4d, %esi           # imm = 0x4D4D
callq 0x4480
movw %ax, -0x3a(%rbp)
movl -0x54(%rbp), %edi
callq 0x1ef50
movl %eax, -0x54(%rbp)
movq -0x10(%rbp), %rsi
movl -0x24(%rbp), %edx
addl $0x8, %edx
movl $0x4003333, %edi        # imm = 0x4003333
leaq 0x32bcb(%rip), %rcx     # 0x67053
callq 0x5ed0
leaq 0x42cec(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x3003, %rax           # imm = 0x3003
cmpq $0x0, %rax
je 0x344df
leaq 0x42cd6(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x40, %rax
cmpq $0x0, %rax
je 0x344cb
leaq 0x373ce(%rip), %rdi     # 0x6b88c
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
leaq 0x37465(%rip), %rdi     # 0x6b937
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
leaq 0x42c9a(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x34511
movzwl -0x3a(%rbp), %esi
andl $0xff, %esi
leaq 0x373a2(%rip), %rdi     # 0x6b8a6
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
movq -0x10(%rbp), %rax
addq $0x2, %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x4f20
movw %ax, -0x42(%rbp)
movl -0x54(%rbp), %edi
callq 0x1ef50
movl %eax, -0x54(%rbp)
movq -0x10(%rbp), %rsi
movl -0x24(%rbp), %edx
addl $0x8, %edx
movl $0x4003333, %edi        # imm = 0x4003333
leaq 0x32b04(%rip), %rcx     # 0x67053
callq 0x5ed0
leaq 0x42c25(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x3003, %rax           # imm = 0x3003
cmpq $0x0, %rax
je 0x345a6
leaq 0x42c0f(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x40, %rax
cmpq $0x0, %rax
je 0x34592
leaq 0x37307(%rip), %rdi     # 0x6b88c
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
leaq 0x373ad(%rip), %rdi     # 0x6b946
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
leaq 0x42bd3(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x34610
movzwl -0x42(%rbp), %esi
andl $0xff, %esi
leaq 0x372db(%rip), %rdi     # 0x6b8a6
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
movzwl -0x42(%rbp), %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x345fa
leaq 0x37373(%rip), %rdi     # 0x6b95e
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
jmp 0x3460e
leaq 0x3736f(%rip), %rdi     # 0x6b970
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
jmp 0x34610
cmpq $0x0, -0x20(%rbp)
je 0x34628
movzwl -0x42(%rbp), %ecx
andl $0x1, %ecx
movq -0x20(%rbp), %rax
movl %ecx, 0xc8(%rax)
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x4f20
movw %ax, -0x36(%rbp)
movl -0x54(%rbp), %edi
callq 0x1ef50
movl %eax, -0x54(%rbp)
movq -0x10(%rbp), %rsi
movl -0x24(%rbp), %edx
addl $0x8, %edx
movl $0x4003333, %edi        # imm = 0x4003333
leaq 0x329ed(%rip), %rcx     # 0x67053
callq 0x5ed0
leaq 0x42b0e(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x3003, %rax           # imm = 0x3003
cmpq $0x0, %rax
je 0x346bd
leaq 0x42af8(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x40, %rax
cmpq $0x0, %rax
je 0x346a9
leaq 0x371f0(%rip), %rdi     # 0x6b88c
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
leaq 0x372d4(%rip), %rdi     # 0x6b984
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
leaq 0x42abc(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x346ef
movzwl -0x36(%rbp), %esi
andl $0xff, %esi
leaq 0x32f4a(%rip), %rdi     # 0x6762c
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x4f20
movw %ax, -0x3c(%rbp)
movl -0x54(%rbp), %edi
callq 0x1ef50
movl %eax, -0x54(%rbp)
movq -0x10(%rbp), %rsi
movl -0x24(%rbp), %edx
addl $0x8, %edx
movl $0x4003333, %edi        # imm = 0x4003333
leaq 0x32926(%rip), %rcx     # 0x67053
callq 0x5ed0
leaq 0x42a47(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x3003, %rax           # imm = 0x3003
cmpq $0x0, %rax
je 0x34784
leaq 0x42a31(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x40, %rax
cmpq $0x0, %rax
je 0x34770
leaq 0x37129(%rip), %rdi     # 0x6b88c
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
leaq 0x3721a(%rip), %rdi     # 0x6b991
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
leaq 0x429f5(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x348cf
leaq 0x429dd(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x1040000, %rax        # imm = 0x1040000
cmpq $0x0, %rax
jne 0x34892
movzwl -0x3c(%rbp), %esi
andl $0xff, %esi
addl $0x2, %esi
leaq 0x370dc(%rip), %rdi     # 0x6b8a6
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
movl -0x54(%rbp), %edi
callq 0x1ef50
movl %eax, -0x54(%rbp)
movl -0x24(%rbp), %edx
addl $0x8, %edx
movl $0x4003333, %edi        # imm = 0x4003333
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
leaq 0x3012b(%rip), %rcx     # 0x64924
callq 0x5ed0
leaq 0x4297b(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x3003, %rax           # imm = 0x3003
cmpq $0x0, %rax
je 0x34850
leaq 0x42965(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x40, %rax
cmpq $0x0, %rax
je 0x3483c
leaq 0x3705d(%rip), %rdi     # 0x6b88c
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
leaq 0x37165(%rip), %rdi     # 0x6b9a8
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
leaq 0x42929(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x34890
movzwl -0x3c(%rbp), %eax
addl $0x2, %eax
cvtsi2sd %eax, %xmm1
movsd 0x33e89(%rip), %xmm0    # 0x68700
callq 0x30d0
leaq 0x37134(%rip), %rdi     # 0x6b9b7
movb $0x1, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
jmp 0x348cd
movzwl -0x3c(%rbp), %eax
andl $0xff, %eax
movl %eax, -0x5c(%rbp)
movzwl -0x3c(%rbp), %eax
addl $0x2, %eax
cvtsi2sd %eax, %xmm1
movsd 0x33e4f(%rip), %xmm0    # 0x68700
callq 0x30d0
movl -0x5c(%rbp), %esi
leaq 0x370fd(%rip), %rdi     # 0x6b9bd
movb $0x1, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
jmp 0x348cf
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x4f20
movw %ax, -0x3e(%rbp)
movl -0x54(%rbp), %edi
callq 0x1ef50
movl %eax, -0x54(%rbp)
movq -0x10(%rbp), %rsi
movl -0x24(%rbp), %edx
addl $0x8, %edx
movl $0x4003333, %edi        # imm = 0x4003333
leaq 0x32746(%rip), %rcx     # 0x67053
callq 0x5ed0
leaq 0x42867(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x3003, %rax           # imm = 0x3003
cmpq $0x0, %rax
je 0x34964
leaq 0x42851(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x40, %rax
cmpq $0x0, %rax
je 0x34950
leaq 0x36f49(%rip), %rdi     # 0x6b88c
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
leaq 0x3707d(%rip), %rdi     # 0x6b9d4
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
leaq 0x42815(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x34aaf
leaq 0x427fd(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x1040000, %rax        # imm = 0x1040000
cmpq $0x0, %rax
jne 0x34a72
movzwl -0x3e(%rbp), %esi
andl $0xff, %esi
addl $0x2, %esi
leaq 0x36efc(%rip), %rdi     # 0x6b8a6
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
movl -0x54(%rbp), %edi
callq 0x1ef50
movl %eax, -0x54(%rbp)
movl -0x24(%rbp), %edx
addl $0x8, %edx
movl $0x4003333, %edi        # imm = 0x4003333
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
leaq 0x2ff4b(%rip), %rcx     # 0x64924
callq 0x5ed0
leaq 0x4279b(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x3003, %rax           # imm = 0x3003
cmpq $0x0, %rax
je 0x34a30
leaq 0x42785(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x40, %rax
cmpq $0x0, %rax
je 0x34a1c
leaq 0x36e7d(%rip), %rdi     # 0x6b88c
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
leaq 0x36fc9(%rip), %rdi     # 0x6b9ec
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
leaq 0x42749(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x34a70
movzwl -0x3e(%rbp), %eax
addl $0x2, %eax
cvtsi2sd %eax, %xmm1
movsd 0x33ca9(%rip), %xmm0    # 0x68700
callq 0x30d0
leaq 0x36f54(%rip), %rdi     # 0x6b9b7
movb $0x1, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
jmp 0x34aad
movzwl -0x3e(%rbp), %eax
andl $0xff, %eax
movl %eax, -0x60(%rbp)
movzwl -0x3e(%rbp), %eax
addl $0x2, %eax
cvtsi2sd %eax, %xmm1
movsd 0x33c6f(%rip), %xmm0    # 0x68700
callq 0x30d0
movl -0x60(%rbp), %esi
leaq 0x36f5c(%rip), %rdi     # 0x6b9fc
movb $0x1, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
jmp 0x34aaf
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x4f20
movw %ax, -0x40(%rbp)
movl -0x54(%rbp), %edi
callq 0x1ef50
movl %eax, -0x54(%rbp)
movq -0x10(%rbp), %rsi
movl -0x24(%rbp), %edx
addl $0x8, %edx
movl $0x4003333, %edi        # imm = 0x4003333
leaq 0x32566(%rip), %rcx     # 0x67053
callq 0x5ed0
leaq 0x42687(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x3003, %rax           # imm = 0x3003
cmpq $0x0, %rax
je 0x34b44
leaq 0x42671(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x40, %rax
cmpq $0x0, %rax
je 0x34b30
leaq 0x36d69(%rip), %rdi     # 0x6b88c
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
leaq 0x36edc(%rip), %rdi     # 0x6ba13
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
leaq 0x42635(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x34b76
movzwl -0x40(%rbp), %esi
andl $0xff, %esi
leaq 0x36d3d(%rip), %rdi     # 0x6b8a6
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x4f20
movw %ax, -0x44(%rbp)
movl -0x54(%rbp), %edi
callq 0x1ef50
movl %eax, -0x54(%rbp)
movq -0x10(%rbp), %rsi
movl -0x24(%rbp), %edx
addl $0x8, %edx
movl $0x4003333, %edi        # imm = 0x4003333
leaq 0x3249f(%rip), %rcx     # 0x67053
callq 0x5ed0
leaq 0x425c0(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x3003, %rax           # imm = 0x3003
cmpq $0x0, %rax
je 0x34c0b
leaq 0x425aa(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x40, %rax
cmpq $0x0, %rax
je 0x34bf7
leaq 0x36ca2(%rip), %rdi     # 0x6b88c
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
leaq 0x36e24(%rip), %rdi     # 0x6ba22
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
leaq 0x4256e(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x34c3d
movzwl -0x44(%rbp), %esi
andl $0xff, %esi
leaq 0x36c76(%rip), %rdi     # 0x6b8a6
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
movzwl -0x34(%rbp), %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x34ecd
movl $0x0, -0x58(%rbp)
movl -0x58(%rbp), %eax
movzwl -0x36(%rbp), %ecx
cmpl %ecx, %eax
jg 0x34ecb
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq %rsi, %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
callq 0x4f20
movw %ax, -0x46(%rbp)
movl -0x54(%rbp), %edi
callq 0x1ef50
movl %eax, -0x54(%rbp)
movq -0x10(%rbp), %rsi
movl -0x24(%rbp), %edx
addl $0x8, %edx
movl $0x4003333, %edi        # imm = 0x4003333
leaq 0x323a7(%rip), %rcx     # 0x67053
callq 0x5ed0
leaq 0x424c8(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x1040000, %rax        # imm = 0x1040000
cmpq $0x0, %rax
jne 0x34e01
leaq 0x424ae(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x3003, %rax           # imm = 0x3003
cmpq $0x0, %rax
je 0x34d20
leaq 0x42498(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x40, %rax
cmpq $0x0, %rax
je 0x34d09
leaq 0x36b90(%rip), %rdi     # 0x6b88c
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
movl -0x58(%rbp), %esi
leaq 0x36d1a(%rip), %rdi     # 0x6ba2d
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
leaq 0x42459(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x34d4f
movzwl -0x46(%rbp), %esi
andl $0xf, %esi
leaq 0x328ea(%rip), %rdi     # 0x6762c
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
movl -0x54(%rbp), %edi
callq 0x1ef50
movl %eax, -0x54(%rbp)
movq -0x10(%rbp), %rsi
movl -0x24(%rbp), %edx
addl $0x8, %edx
movl $0x4003333, %edi        # imm = 0x4003333
leaq 0x322e3(%rip), %rcx     # 0x67053
callq 0x5ed0
leaq 0x42404(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x3003, %rax           # imm = 0x3003
cmpq $0x0, %rax
je 0x34dca
leaq 0x423ee(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x40, %rax
cmpq $0x0, %rax
je 0x34db3
leaq 0x36ae6(%rip), %rdi     # 0x6b88c
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
movl -0x58(%rbp), %esi
leaq 0x36c81(%rip), %rdi     # 0x6ba3e
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
leaq 0x423af(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x34dfc
movzwl -0x46(%rbp), %esi
sarl $0x4, %esi
andl $0xf, %esi
leaq 0x3283d(%rip), %rdi     # 0x6762c
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
jmp 0x34ebb
leaq 0x42378(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x3003, %rax           # imm = 0x3003
cmpq $0x0, %rax
je 0x34e2e
movl -0x58(%rbp), %esi
leaq 0x36c2f(%rip), %rdi     # 0x6ba50
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
leaq 0x4234b(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x34e5d
movzwl -0x46(%rbp), %esi
andl $0xf, %esi
leaq 0x36c13(%rip), %rdi     # 0x6ba63
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
leaq 0x4231c(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x3003, %rax           # imm = 0x3003
cmpq $0x0, %rax
je 0x34e87
leaq 0x36bf0(%rip), %rdi     # 0x6ba6a
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
leaq 0x422f2(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x34eb9
movzwl -0x46(%rbp), %esi
sarl $0x4, %esi
andl $0xf, %esi
leaq 0x32780(%rip), %rdi     # 0x6762c
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
jmp 0x34ebb
jmp 0x34ebd
movl -0x58(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x58(%rbp)
jmp 0x34c60
jmp 0x34ecd
leaq 0x422ac(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x1040000, %rax        # imm = 0x1040000
cmpq $0x0, %rax
je 0x34f26
movl -0x54(%rbp), %edi
callq 0x1ef50
movl %eax, -0x54(%rbp)
movq -0x10(%rbp), %rsi
subq $0x1, %rsi
movl -0x24(%rbp), %edx
movl $0x4043333, %edi        # imm = 0x4043333
leaq 0x2f1d7(%rip), %rcx     # 0x640dc
callq 0x5ed0
movzwl -0x12(%rbp), %esi
movq -0x50(%rbp), %rdx
leaq 0x36952(%rip), %rdi     # 0x6b86b
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
movq -0x10(%rbp), %rax
cmpq -0x30(%rbp), %rax
jbe 0x34f3c
leaq 0x3693f(%rip), %rdi     # 0x6b876
callq 0x6860
movl -0x54(%rbp), %edi
callq 0x1ef50
movl %eax, -0x54(%rbp)
movq -0x30(%rbp), %rax
addq $0x60, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)