// File: /workspace/github_c_makefile_star2_O0/hfiguiere[P]exifprobe/jp2000.c
// Function: process_jpc_siz
unsigned long
process_jpc_siz(FILE *inptr,unsigned long marker_offset,unsigned short tag,
                                    struct image_summary *summary_entry,
                                    int indent)
{
    unsigned long max_offset;
    unsigned long gridwidth;
    unsigned long gridheight;
    unsigned long Ximgoffset;
    unsigned long Yimgoffset;
    unsigned long tilewidth;
    unsigned long tileheight;
    unsigned long Xtileoffset;
    unsigned long Ytileoffset;
    unsigned short seg_length;
    unsigned short caps;
    unsigned short ncomps;
    unsigned short precision;
    unsigned short hsep;
    unsigned short vsep;
    int chpr = 0;
    int i;
    char *name,*uns;

    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;

    caps = 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.siz.");
        chpr += printf("Capabilities");
    }
    if((PRINT_VALUE))
        chpr += printf(" = %u",caps);
    marker_offset += 2;
    gridwidth = read_ulong(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.siz.");
        chpr += printf("GridWidth");
    }
    if((PRINT_VALUE))
        chpr += printf(" = %lu",gridwidth);
    marker_offset += 4;
    gridheight = read_ulong(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.siz.");
        chpr += printf("GridHeight");
    }
    if((PRINT_VALUE))
        chpr += printf(" = %lu",gridheight);
    marker_offset += 4;
    Ximgoffset = read_ulong(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.siz.");
        chpr += printf("XImageOffset");
    }
    if((PRINT_VALUE))
        chpr += printf(" = %lu",Ximgoffset);

    /* Image height and width are normally taken from the ihdr box;   */
    /* if this is a bare codestream encapsulated in e.g. a TIFF file, */
    /* compute image size from grid size and offset                   */
    if(summary_entry && (summary_entry->pixel_width <= 0) &&
                                                (gridwidth > Ximgoffset))
    {
        summary_entry->pixel_width = gridwidth - Ximgoffset;
    }

    marker_offset += 4;
    Yimgoffset = read_ulong(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.siz.");
        chpr += printf("YImageOffset");
    }
    if((PRINT_VALUE))
        chpr += printf(" = %lu",Yimgoffset);

    /* Image height and width are normally taken from the ihdr box;   */
    /* if this is a bare codestream encapsulated in e.g. a TIFF file, */
    /* compute image size from grid size and offset                   */
    if(summary_entry && (summary_entry->pixel_height <= 0) &&
                                                (gridheight > Yimgoffset))
    {
        summary_entry->pixel_height = gridheight - Yimgoffset;
    }

    marker_offset += 4;
    tilewidth = read_ulong(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.siz.");
        chpr += printf("TileWidth");
    }
    if((PRINT_VALUE))
        chpr += printf(" = %lu",tilewidth);
    marker_offset += 4;
    tileheight = read_ulong(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.siz.");
        chpr += printf("TileHeight");
    }
    if((PRINT_VALUE))
        chpr += printf(" = %lu",tileheight);
    marker_offset += 4;
    Xtileoffset = read_ulong(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.siz.");
        chpr += printf("Xtileoffset");
    }
    if((PRINT_VALUE))
        chpr += printf(" = %lu",Xtileoffset);
    marker_offset += 4;
    Ytileoffset = read_ulong(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.siz.");
        chpr += printf("Ytileoffset");
    }
    if((PRINT_VALUE))
        chpr += printf(" = %lu",Ytileoffset);
    marker_offset += 4;
    ncomps = read_ushort(inptr,TIFF_MOTOROLA,marker_offset);
    if(summary_entry)
        summary_entry->spp = ncomps;
    chpr = newline(chpr);
    print_tag_address(ENTRY,marker_offset,indent + 8,"=");
    if((PRINT_TAGINFO))
    {
        if((PRINT_LONGNAMES))
            chpr += printf("JP2.jp2c.siz.");
        chpr += printf("NumberOfComponents");
    }
    if((PRINT_VALUE))
        chpr += printf(" = %u",ncomps);
    marker_offset += 2;
    for(i = 0; i < ncomps; ++i)
    {
        precision = read_ubyte(inptr,marker_offset);
        if(summary_entry)
            summary_entry->bps[i] = precision;
        chpr = newline(chpr);
        if(precision & 0x80)
            uns = NULLSTRING;
        else
            uns = "un";
        print_tag_address(ENTRY,marker_offset,indent + 8,"=");
        if((PRINT_TAGINFO))
        {
            if((PRINT_LONGNAMES))
                chpr += printf("JP2.jp2c.siz.");
            chpr += printf("Component%dPrecision",i);
        }
        if((PRINT_VALUE))
            chpr += printf(" = %#x = %u bits %ssigned",precision,
                                        (precision & 0x7f) + 1,uns);
        marker_offset++;
        /* ###%%% print these as separate lines?                      */
        hsep = read_ubyte(inptr,marker_offset);
        if((PRINT_SEGMENT) && (PRINT_VALUE) && !(LIST_MODE))
            chpr += printf(", hsep = %u",hsep);
        marker_offset++;
        vsep = read_ubyte(inptr,marker_offset);
        if((PRINT_SEGMENT) && (PRINT_VALUE) && !(LIST_MODE))
            chpr += printf(", vsep = %u",vsep);
        marker_offset++;
    }
    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 $0xa0, %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, -0x80(%rbp)
movzwl -0x12(%rbp), %edi
callq 0x110f0
movq %rax, -0x90(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rdx
addq $0x2, %rdx
movl $0x4d4d, %esi           # imm = 0x4D4D
callq 0x4480
movw %ax, -0x72(%rbp)
movq -0x10(%rbp), %rsi
movl -0x24(%rbp), %edx
movl $0x4043333, %edi        # imm = 0x4043333
leaq 0x30c06(%rip), %rcx     # 0x640dc
callq 0x5ed0
leaq 0x43c9e(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x1040000, %rax        # imm = 0x1040000
cmpq $0x0, %rax
jne 0x33583
leaq 0x43c84(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x3003, %rax           # imm = 0x3003
cmpq $0x0, %rax
je 0x3354e
leaq 0x43c6e(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x40, %rax
cmpq $0x0, %rax
je 0x33533
leaq 0x381c4(%rip), %rdi     # 0x6b6ea
movb $0x0, %al
callq 0x3110
addl -0x80(%rbp), %eax
movl %eax, -0x80(%rbp)
movq -0x90(%rbp), %rsi
leaq 0x30b56(%rip), %rdi     # 0x64097
movb $0x0, %al
callq 0x3110
addl -0x80(%rbp), %eax
movl %eax, -0x80(%rbp)
leaq 0x43c2b(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x33581
movq -0x10(%rbp), %rsi
movzwl -0x72(%rbp), %edx
addl $0x2, %edx
leaq 0x3819d(%rip), %rdi     # 0x6b711
movb $0x0, %al
callq 0x3110
addl -0x80(%rbp), %eax
movl %eax, -0x80(%rbp)
jmp 0x335a6
movzwl -0x12(%rbp), %esi
movq -0x90(%rbp), %rdx
movzwl -0x72(%rbp), %ecx
leaq 0x38183(%rip), %rdi     # 0x6b71c
movb $0x0, %al
callq 0x3110
addl -0x80(%rbp), %eax
movl %eax, -0x80(%rbp)
movq -0x10(%rbp), %rax
movzwl -0x72(%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), %rdx
movl $0x4d4d, %esi           # imm = 0x4D4D
callq 0x4480
movw %ax, -0x74(%rbp)
movl -0x80(%rbp), %edi
callq 0x1ef50
movl %eax, -0x80(%rbp)
movq -0x10(%rbp), %rsi
movl -0x24(%rbp), %edx
addl $0x8, %edx
movl $0x4003333, %edi        # imm = 0x4003333
leaq 0x33a57(%rip), %rcx     # 0x67053
callq 0x5ed0
leaq 0x43b78(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x3003, %rax           # imm = 0x3003
cmpq $0x0, %rax
je 0x33653
leaq 0x43b62(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x40, %rax
cmpq $0x0, %rax
je 0x3363f
leaq 0x38185(%rip), %rdi     # 0x6b7b7
movb $0x0, %al
callq 0x3110
addl -0x80(%rbp), %eax
movl %eax, -0x80(%rbp)
leaq 0x3817f(%rip), %rdi     # 0x6b7c5
movb $0x0, %al
callq 0x3110
addl -0x80(%rbp), %eax
movl %eax, -0x80(%rbp)
leaq 0x43b26(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x3367f
movzwl -0x74(%rbp), %esi
leaq 0x33fba(%rip), %rdi     # 0x6762c
movb $0x0, %al
callq 0x3110
addl -0x80(%rbp), %eax
movl %eax, -0x80(%rbp)
movq -0x10(%rbp), %rax
addq $0x2, %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rdx
movl $0x4d4d, %esi           # imm = 0x4D4D
callq 0x4610
movq %rax, -0x38(%rbp)
movl -0x80(%rbp), %edi
callq 0x1ef50
movl %eax, -0x80(%rbp)
movq -0x10(%rbp), %rsi
movl -0x24(%rbp), %edx
addl $0x8, %edx
movl $0x4003333, %edi        # imm = 0x4003333
leaq 0x33991(%rip), %rcx     # 0x67053
callq 0x5ed0
leaq 0x43ab2(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x3003, %rax           # imm = 0x3003
cmpq $0x0, %rax
je 0x33719
leaq 0x43a9c(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x40, %rax
cmpq $0x0, %rax
je 0x33705
leaq 0x380bf(%rip), %rdi     # 0x6b7b7
movb $0x0, %al
callq 0x3110
addl -0x80(%rbp), %eax
movl %eax, -0x80(%rbp)
leaq 0x380c6(%rip), %rdi     # 0x6b7d2
movb $0x0, %al
callq 0x3110
addl -0x80(%rbp), %eax
movl %eax, -0x80(%rbp)
leaq 0x43a60(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x33745
movq -0x38(%rbp), %rsi
leaq 0x30993(%rip), %rdi     # 0x640cb
movb $0x0, %al
callq 0x3110
addl -0x80(%rbp), %eax
movl %eax, -0x80(%rbp)
movq -0x10(%rbp), %rax
addq $0x4, %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rdx
movl $0x4d4d, %esi           # imm = 0x4D4D
callq 0x4610
movq %rax, -0x40(%rbp)
movl -0x80(%rbp), %edi
callq 0x1ef50
movl %eax, -0x80(%rbp)
movq -0x10(%rbp), %rsi
movl -0x24(%rbp), %edx
addl $0x8, %edx
movl $0x4003333, %edi        # imm = 0x4003333
leaq 0x338cb(%rip), %rcx     # 0x67053
callq 0x5ed0
leaq 0x439ec(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x3003, %rax           # imm = 0x3003
cmpq $0x0, %rax
je 0x337df
leaq 0x439d6(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x40, %rax
cmpq $0x0, %rax
je 0x337cb
leaq 0x37ff9(%rip), %rdi     # 0x6b7b7
movb $0x0, %al
callq 0x3110
addl -0x80(%rbp), %eax
movl %eax, -0x80(%rbp)
leaq 0x3800a(%rip), %rdi     # 0x6b7dc
movb $0x0, %al
callq 0x3110
addl -0x80(%rbp), %eax
movl %eax, -0x80(%rbp)
leaq 0x4399a(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x3380b
movq -0x40(%rbp), %rsi
leaq 0x308cd(%rip), %rdi     # 0x640cb
movb $0x0, %al
callq 0x3110
addl -0x80(%rbp), %eax
movl %eax, -0x80(%rbp)
movq -0x10(%rbp), %rax
addq $0x4, %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rdx
movl $0x4d4d, %esi           # imm = 0x4D4D
callq 0x4610
movq %rax, -0x48(%rbp)
movl -0x80(%rbp), %edi
callq 0x1ef50
movl %eax, -0x80(%rbp)
movq -0x10(%rbp), %rsi
movl -0x24(%rbp), %edx
addl $0x8, %edx
movl $0x4003333, %edi        # imm = 0x4003333
leaq 0x33805(%rip), %rcx     # 0x67053
callq 0x5ed0
leaq 0x43926(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x3003, %rax           # imm = 0x3003
cmpq $0x0, %rax
je 0x338a5
leaq 0x43910(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x40, %rax
cmpq $0x0, %rax
je 0x33891
leaq 0x37f33(%rip), %rdi     # 0x6b7b7
movb $0x0, %al
callq 0x3110
addl -0x80(%rbp), %eax
movl %eax, -0x80(%rbp)
leaq 0x37f4f(%rip), %rdi     # 0x6b7e7
movb $0x0, %al
callq 0x3110
addl -0x80(%rbp), %eax
movl %eax, -0x80(%rbp)
leaq 0x438d4(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x338d1
movq -0x48(%rbp), %rsi
leaq 0x30807(%rip), %rdi     # 0x640cb
movb $0x0, %al
callq 0x3110
addl -0x80(%rbp), %eax
movl %eax, -0x80(%rbp)
cmpq $0x0, -0x20(%rbp)
je 0x338fd
movq -0x20(%rbp), %rax
cmpq $0x0, 0x70(%rax)
ja 0x338fd
movq -0x38(%rbp), %rax
cmpq -0x48(%rbp), %rax
jbe 0x338fd
movq -0x38(%rbp), %rcx
subq -0x48(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x70(%rax)
movq -0x10(%rbp), %rax
addq $0x4, %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rdx
movl $0x4d4d, %esi           # imm = 0x4D4D
callq 0x4610
movq %rax, -0x50(%rbp)
movl -0x80(%rbp), %edi
callq 0x1ef50
movl %eax, -0x80(%rbp)
movq -0x10(%rbp), %rsi
movl -0x24(%rbp), %edx
addl $0x8, %edx
movl $0x4003333, %edi        # imm = 0x4003333
leaq 0x33713(%rip), %rcx     # 0x67053
callq 0x5ed0
leaq 0x43834(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x3003, %rax           # imm = 0x3003
cmpq $0x0, %rax
je 0x33997
leaq 0x4381e(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x40, %rax
cmpq $0x0, %rax
je 0x33983
leaq 0x37e41(%rip), %rdi     # 0x6b7b7
movb $0x0, %al
callq 0x3110
addl -0x80(%rbp), %eax
movl %eax, -0x80(%rbp)
leaq 0x37e6a(%rip), %rdi     # 0x6b7f4
movb $0x0, %al
callq 0x3110
addl -0x80(%rbp), %eax
movl %eax, -0x80(%rbp)
leaq 0x437e2(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x339c3
movq -0x50(%rbp), %rsi
leaq 0x30715(%rip), %rdi     # 0x640cb
movb $0x0, %al
callq 0x3110
addl -0x80(%rbp), %eax
movl %eax, -0x80(%rbp)
cmpq $0x0, -0x20(%rbp)
je 0x339ef
movq -0x20(%rbp), %rax
cmpq $0x0, 0x78(%rax)
ja 0x339ef
movq -0x40(%rbp), %rax
cmpq -0x50(%rbp), %rax
jbe 0x339ef
movq -0x40(%rbp), %rcx
subq -0x50(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x78(%rax)
movq -0x10(%rbp), %rax
addq $0x4, %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rdx
movl $0x4d4d, %esi           # imm = 0x4D4D
callq 0x4610
movq %rax, -0x58(%rbp)
movl -0x80(%rbp), %edi
callq 0x1ef50
movl %eax, -0x80(%rbp)
movq -0x10(%rbp), %rsi
movl -0x24(%rbp), %edx
addl $0x8, %edx
movl $0x4003333, %edi        # imm = 0x4003333
leaq 0x33621(%rip), %rcx     # 0x67053
callq 0x5ed0
leaq 0x43742(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x3003, %rax           # imm = 0x3003
cmpq $0x0, %rax
je 0x33a89
leaq 0x4372c(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x40, %rax
cmpq $0x0, %rax
je 0x33a75
leaq 0x37d4f(%rip), %rdi     # 0x6b7b7
movb $0x0, %al
callq 0x3110
addl -0x80(%rbp), %eax
movl %eax, -0x80(%rbp)
leaq 0x3177b(%rip), %rdi     # 0x651f7
movb $0x0, %al
callq 0x3110
addl -0x80(%rbp), %eax
movl %eax, -0x80(%rbp)
leaq 0x436f0(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x33ab5
movq -0x58(%rbp), %rsi
leaq 0x30623(%rip), %rdi     # 0x640cb
movb $0x0, %al
callq 0x3110
addl -0x80(%rbp), %eax
movl %eax, -0x80(%rbp)
movq -0x10(%rbp), %rax
addq $0x4, %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rdx
movl $0x4d4d, %esi           # imm = 0x4D4D
callq 0x4610
movq %rax, -0x60(%rbp)
movl -0x80(%rbp), %edi
callq 0x1ef50
movl %eax, -0x80(%rbp)
movq -0x10(%rbp), %rsi
movl -0x24(%rbp), %edx
addl $0x8, %edx
movl $0x4003333, %edi        # imm = 0x4003333
leaq 0x3355b(%rip), %rcx     # 0x67053
callq 0x5ed0
leaq 0x4367c(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x3003, %rax           # imm = 0x3003
cmpq $0x0, %rax
je 0x33b4f
leaq 0x43666(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x40, %rax
cmpq $0x0, %rax
je 0x33b3b
leaq 0x37c89(%rip), %rdi     # 0x6b7b7
movb $0x0, %al
callq 0x3110
addl -0x80(%rbp), %eax
movl %eax, -0x80(%rbp)
leaq 0x37cbf(%rip), %rdi     # 0x6b801
movb $0x0, %al
callq 0x3110
addl -0x80(%rbp), %eax
movl %eax, -0x80(%rbp)
leaq 0x4362a(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x33b7b
movq -0x60(%rbp), %rsi
leaq 0x3055d(%rip), %rdi     # 0x640cb
movb $0x0, %al
callq 0x3110
addl -0x80(%rbp), %eax
movl %eax, -0x80(%rbp)
movq -0x10(%rbp), %rax
addq $0x4, %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rdx
movl $0x4d4d, %esi           # imm = 0x4D4D
callq 0x4610
movq %rax, -0x68(%rbp)
movl -0x80(%rbp), %edi
callq 0x1ef50
movl %eax, -0x80(%rbp)
movq -0x10(%rbp), %rsi
movl -0x24(%rbp), %edx
addl $0x8, %edx
movl $0x4003333, %edi        # imm = 0x4003333
leaq 0x33495(%rip), %rcx     # 0x67053
callq 0x5ed0
leaq 0x435b6(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x3003, %rax           # imm = 0x3003
cmpq $0x0, %rax
je 0x33c15
leaq 0x435a0(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x40, %rax
cmpq $0x0, %rax
je 0x33c01
leaq 0x37bc3(%rip), %rdi     # 0x6b7b7
movb $0x0, %al
callq 0x3110
addl -0x80(%rbp), %eax
movl %eax, -0x80(%rbp)
leaq 0x37c04(%rip), %rdi     # 0x6b80c
movb $0x0, %al
callq 0x3110
addl -0x80(%rbp), %eax
movl %eax, -0x80(%rbp)
leaq 0x43564(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x33c41
movq -0x68(%rbp), %rsi
leaq 0x30497(%rip), %rdi     # 0x640cb
movb $0x0, %al
callq 0x3110
addl -0x80(%rbp), %eax
movl %eax, -0x80(%rbp)
movq -0x10(%rbp), %rax
addq $0x4, %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rdx
movl $0x4d4d, %esi           # imm = 0x4D4D
callq 0x4610
movq %rax, -0x70(%rbp)
movl -0x80(%rbp), %edi
callq 0x1ef50
movl %eax, -0x80(%rbp)
movq -0x10(%rbp), %rsi
movl -0x24(%rbp), %edx
addl $0x8, %edx
movl $0x4003333, %edi        # imm = 0x4003333
leaq 0x333cf(%rip), %rcx     # 0x67053
callq 0x5ed0
leaq 0x434f0(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x3003, %rax           # imm = 0x3003
cmpq $0x0, %rax
je 0x33cdb
leaq 0x434da(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x40, %rax
cmpq $0x0, %rax
je 0x33cc7
leaq 0x37afd(%rip), %rdi     # 0x6b7b7
movb $0x0, %al
callq 0x3110
addl -0x80(%rbp), %eax
movl %eax, -0x80(%rbp)
leaq 0x37b4a(%rip), %rdi     # 0x6b818
movb $0x0, %al
callq 0x3110
addl -0x80(%rbp), %eax
movl %eax, -0x80(%rbp)
leaq 0x4349e(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x33d07
movq -0x70(%rbp), %rsi
leaq 0x303d1(%rip), %rdi     # 0x640cb
movb $0x0, %al
callq 0x3110
addl -0x80(%rbp), %eax
movl %eax, -0x80(%rbp)
movq -0x10(%rbp), %rax
addq $0x4, %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rdx
movl $0x4d4d, %esi           # imm = 0x4D4D
callq 0x4480
movw %ax, -0x76(%rbp)
cmpq $0x0, -0x20(%rbp)
je 0x33d3e
movzwl -0x76(%rbp), %ecx
movq -0x20(%rbp), %rax
movl %ecx, 0xcc(%rax)
movl -0x80(%rbp), %edi
callq 0x1ef50
movl %eax, -0x80(%rbp)
movq -0x10(%rbp), %rsi
movl -0x24(%rbp), %edx
addl $0x8, %edx
movl $0x4003333, %edi        # imm = 0x4003333
leaq 0x332f4(%rip), %rcx     # 0x67053
callq 0x5ed0
leaq 0x43415(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x3003, %rax           # imm = 0x3003
cmpq $0x0, %rax
je 0x33db6
leaq 0x433ff(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x40, %rax
cmpq $0x0, %rax
je 0x33da2
leaq 0x37a22(%rip), %rdi     # 0x6b7b7
movb $0x0, %al
callq 0x3110
addl -0x80(%rbp), %eax
movl %eax, -0x80(%rbp)
leaq 0x37721(%rip), %rdi     # 0x6b4ca
movb $0x0, %al
callq 0x3110
addl -0x80(%rbp), %eax
movl %eax, -0x80(%rbp)
leaq 0x433c3(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x33de2
movzwl -0x76(%rbp), %esi
leaq 0x33857(%rip), %rdi     # 0x6762c
movb $0x0, %al
callq 0x3110
addl -0x80(%rbp), %eax
movl %eax, -0x80(%rbp)
movq -0x10(%rbp), %rax
addq $0x2, %rax
movq %rax, -0x10(%rbp)
movl $0x0, -0x84(%rbp)
movl -0x84(%rbp), %eax
movzwl -0x76(%rbp), %ecx
cmpl %ecx, %eax
jge 0x34029
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x4f20
movw %ax, -0x78(%rbp)
cmpq $0x0, -0x20(%rbp)
je 0x33e38
movzwl -0x78(%rbp), %edx
movq -0x20(%rbp), %rax
movslq -0x84(%rbp), %rcx
movl %edx, 0xd0(%rax,%rcx,4)
movl -0x80(%rbp), %edi
callq 0x1ef50
movl %eax, -0x80(%rbp)
movzwl -0x78(%rbp), %eax
andl $0x80, %eax
cmpl $0x0, %eax
je 0x33e61
leaq 0x364c2(%rip), %rax     # 0x6a31a
movq %rax, -0x98(%rbp)
jmp 0x33e6f
leaq 0x376a2(%rip), %rax     # 0x6b50a
movq %rax, -0x98(%rbp)
movq -0x10(%rbp), %rsi
movl -0x24(%rbp), %edx
addl $0x8, %edx
movl $0x4003333, %edi        # imm = 0x4003333
leaq 0x331ce(%rip), %rcx     # 0x67053
callq 0x5ed0
leaq 0x432ef(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x3003, %rax           # imm = 0x3003
cmpq $0x0, %rax
je 0x33ee2
leaq 0x432d9(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x40, %rax
cmpq $0x0, %rax
je 0x33ec8
leaq 0x378fc(%rip), %rdi     # 0x6b7b7
movb $0x0, %al
callq 0x3110
addl -0x80(%rbp), %eax
movl %eax, -0x80(%rbp)
movl -0x84(%rbp), %esi
leaq 0x3794f(%rip), %rdi     # 0x6b824
movb $0x0, %al
callq 0x3110
addl -0x80(%rbp), %eax
movl %eax, -0x80(%rbp)
leaq 0x43297(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x33f1f
movzwl -0x78(%rbp), %esi
movzwl -0x78(%rbp), %edx
andl $0x7f, %edx
addl $0x1, %edx
movq -0x98(%rbp), %rcx
leaq 0x37927(%rip), %rdi     # 0x6b839
movb $0x0, %al
callq 0x3110
addl -0x80(%rbp), %eax
movl %eax, -0x80(%rbp)
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x4f20
movw %ax, -0x7a(%rbp)
leaq 0x4323d(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x80000, %rax          # imm = 0x80000
cmpq $0x0, %rax
je 0x33f94
leaq 0x43227(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x33f94
leaq 0x43213(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x1040000, %rax        # imm = 0x1040000
cmpq $0x0, %rax
je 0x33f94
movzwl -0x7a(%rbp), %esi
leaq 0x378cc(%rip), %rdi     # 0x6b853
movb $0x0, %al
callq 0x3110
addl -0x80(%rbp), %eax
movl %eax, -0x80(%rbp)
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x4f20
movw %ax, -0x7c(%rbp)
leaq 0x431c8(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x80000, %rax          # imm = 0x80000
cmpq $0x0, %rax
je 0x34009
leaq 0x431b2(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x34009
leaq 0x4319e(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x1040000, %rax        # imm = 0x1040000
cmpq $0x0, %rax
je 0x34009
movzwl -0x7c(%rbp), %esi
leaq 0x37863(%rip), %rdi     # 0x6b85f
movb $0x0, %al
callq 0x3110
addl -0x80(%rbp), %eax
movl %eax, -0x80(%rbp)
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
movl -0x84(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x84(%rbp)
jmp 0x33df8
leaq 0x43150(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x1040000, %rax        # imm = 0x1040000
cmpq $0x0, %rax
je 0x34085
movl -0x80(%rbp), %edi
callq 0x1ef50
movl %eax, -0x80(%rbp)
movq -0x10(%rbp), %rsi
subq $0x1, %rsi
movl -0x24(%rbp), %edx
movl $0x4043333, %edi        # imm = 0x4043333
leaq 0x3007b(%rip), %rcx     # 0x640dc
callq 0x5ed0
movzwl -0x12(%rbp), %esi
movq -0x90(%rbp), %rdx
leaq 0x377f3(%rip), %rdi     # 0x6b86b
movb $0x0, %al
callq 0x3110
addl -0x80(%rbp), %eax
movl %eax, -0x80(%rbp)
movq -0x10(%rbp), %rax
cmpq -0x30(%rbp), %rax
jbe 0x3409b
leaq 0x377e0(%rip), %rdi     # 0x6b876
callq 0x6860
movl -0x80(%rbp), %edi
callq 0x1ef50
movl %eax, -0x80(%rbp)
movq -0x30(%rbp), %rax
addq $0xa0, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)