// File: /workspace/github_c_makefile_star2_O0/hfiguiere[P]exifprobe/mrw.c
// Function: process_wbg
unsigned long
process_wbg(FILE *inptr,unsigned long offset,unsigned long blocklength,
            struct image_summary *summary_entry,int indent)
{
    unsigned short wbr_denom,wbg1_denom,wbg2_denom,wbb_denom;
    unsigned short wbr_num,wbg1_num,wbg2_num,wbb_num;
    double wbr,wbg1,wbg2,wbb;
    int chpr = 0;

    blocklength += offset;

    chpr = newline(chpr);
    wbr_denom = read_ubyte(inptr,offset);
    if((PRINT_ENTRY))
    {
        print_tag_address(ENTRY,offset,indent + 4,"@");
        if((PRINT_TAGINFO))
        {
            if((PRINT_LONGNAMES))
                chpr += printf("%s","MRW.WBG.");
            chpr += printf("%-*.*s",SHORTNAMEWIDTH,SHORTNAMEWIDTH,"WbrDenominator");
        }
        if((PRINT_VALUE))
            chpr += printf(" = %u",wbr_denom);
        switch(wbr_denom)
        {
            case 0: wbr_denom = 64; break;
            case 1: wbr_denom = 128; break;
            case 2: wbr_denom = 256; break;
            case 3: wbr_denom = 512; break;
            case 4: wbr_denom = 1024; break;
            default: break;
        }
        if((PRINT_VALUE))
            chpr += printf(" = %u",wbr_denom);

        chpr = newline(chpr);
    }
    offset++;
    wbg1_denom = read_ubyte(inptr,offset);
    if((PRINT_ENTRY))
    {
        print_tag_address(ENTRY,offset,indent + 4,"@");
        if((PRINT_TAGINFO))
        {
            if((PRINT_LONGNAMES))
                chpr += printf("%s","MRW.WBG.");
            chpr += printf("%-*.*s",SHORTNAMEWIDTH,SHORTNAMEWIDTH,"Wbg1Denominator");
        }
        if((PRINT_VALUE))
            chpr += printf(" = %u",wbg1_denom);
        switch(wbg1_denom)
        {
            case 0: wbg1_denom = 64; break;
            case 1: wbg1_denom = 128; break;
            case 2: wbg1_denom = 256; break;
            case 3: wbg1_denom = 512; break;
            case 4: wbg1_denom = 1024; break;
            default: break;
        }
        if((PRINT_VALUE))
            chpr += printf(" = %u",wbg1_denom);

        chpr = newline(chpr);
    }
    offset++;
    wbg2_denom = read_ubyte(inptr,offset);
    if((PRINT_ENTRY))
    {
        print_tag_address(ENTRY,offset,indent + 4,"@");
        if((PRINT_TAGINFO))
        {
            if((PRINT_LONGNAMES))
                chpr += printf("%s","MRW.WBG.");
            chpr += printf("%-*.*s",SHORTNAMEWIDTH,SHORTNAMEWIDTH,"Wbg2Denominator");
        }
        if((PRINT_VALUE))
            chpr += printf(" = %u",wbg2_denom);
        switch(wbg2_denom)
        {
            case 0: wbg2_denom = 64; break;
            case 1: wbg2_denom = 128; break;
            case 2: wbg2_denom = 256; break;
            case 3: wbg2_denom = 512; break;
            case 4: wbg2_denom = 1024; break;
            default: break;
        }
        if((PRINT_VALUE))
            chpr += printf(" = %u",wbg2_denom);

        chpr = newline(chpr);
    }
    offset++;
    wbb_denom = read_ubyte(inptr,offset);
    if((PRINT_ENTRY))
    {
        print_tag_address(ENTRY,offset,indent + 4,"@");
        if((PRINT_TAGINFO))
        {
            if((PRINT_LONGNAMES))
                chpr += printf("%s","MRW.WBG.");
            chpr += printf("%-*.*s",SHORTNAMEWIDTH,SHORTNAMEWIDTH,"WbbDenominator");
        }
        if((PRINT_VALUE))
            chpr += printf(" = %u",wbb_denom);
        switch(wbb_denom)
        {
            case 0: wbb_denom = 64; break;
            case 1: wbb_denom = 128; break;
            case 2: wbb_denom = 256; break;
            case 3: wbb_denom = 512; break;
            case 4: wbb_denom = 1024; break;
            default: break;
        }
        if((PRINT_VALUE))
            chpr += printf(" = %u",wbb_denom);

        chpr = newline(chpr);
    }
    offset++;
    wbr_num = read_ushort(inptr,TIFF_MOTOROLA,offset);
    if((PRINT_ENTRY))
    {
        print_tag_address(ENTRY,offset,indent + 4,"@");
        if((PRINT_TAGINFO))
        {
            if((PRINT_LONGNAMES))
                chpr += printf("%s","MRW.WBG.");
            chpr += printf("%-*.*s",SHORTNAMEWIDTH,SHORTNAMEWIDTH,"WbrNumerator");
        }
        if((PRINT_VALUE))
            chpr += printf(" = %u",wbr_num);

        if((PRINT_SECTION))
        {
            if(wbr_denom)
            {
                wbr = (double)wbr_num / (double)wbr_denom;
                chpr += printf(" => wbr = %.3f",wbr);
            }
            else
                chpr += printf(" => wbr = inf");
        }
        else
        {
            chpr = newline(chpr);
            print_tag_address(ENTRY,HERE,indent + 4,"*");
            if((PRINT_TAGINFO))
            {
                /* pseudo-tag for result whitebalance             */
                if((PRINT_LONGNAMES))
                    chpr += printf("%s","MRW.WBG.");
                chpr += printf("%-*.*s",SHORTNAMEWIDTH,SHORTNAMEWIDTH,"WbRed");
            }
            if((PRINT_VALUE))
            {
                if(wbr_denom)
                {
                    wbr = (double)wbr_num / (double)wbr_denom;
                    chpr += printf(" = %.3f",wbr);
                }
                else
                    chpr += printf(" = inf");
            }
        }

        chpr = newline(chpr);
    }
    offset += 2;
    wbg1_num = read_ushort(inptr,TIFF_MOTOROLA,offset);
    if((PRINT_ENTRY))
    {
        print_tag_address(ENTRY,offset,indent + 4,"@");
        if((PRINT_TAGINFO))
        {
            if((PRINT_LONGNAMES))
                chpr += printf("%s","MRW.WBG.");
            chpr += printf("%-*.*s",SHORTNAMEWIDTH,SHORTNAMEWIDTH,"Wbg1Numerator");
        }
        if((PRINT_VALUE))
            chpr += printf(" = %u",wbg1_num);
        if((PRINT_SECTION))
        {
            if(wbg1_denom)
            {
                wbg1 = (double)wbg1_num / (double)wbg1_denom;
                chpr += printf(" => wbg1 = %.3f",wbg1);
            }
            else
                chpr += printf(" => wbg1 = inf");
        }
        else
        {
            chpr = newline(chpr);
            print_tag_address(ENTRY,HERE,indent + 4,"*");
            if((PRINT_TAGINFO))
            {
                /* pseudo-tag for result whitebalance             */
                if((PRINT_LONGNAMES))
                    chpr += printf("%s","MRW.WBG.");
                chpr += printf("%-*.*s",SHORTNAMEWIDTH,SHORTNAMEWIDTH,"WbGreen1");
            }
            if((PRINT_VALUE))
            {
                if(wbg1_denom)
                {
                    wbg1 = (double)wbg1_num / (double)wbg1_denom;
                    chpr += printf(" = %.3f",wbg1);
                }
                else
                    chpr += printf(" => wbg1 = inf");
            }
        }
        chpr = newline(chpr);
    }
    offset += 2;
    wbg2_num = read_ushort(inptr,TIFF_MOTOROLA,offset);
    if((PRINT_ENTRY))
    {
        print_tag_address(ENTRY,offset,indent + 4,"@");
        if((PRINT_TAGINFO))
        {
            if((PRINT_LONGNAMES))
                chpr += printf("%s","MRW.WBG.");
            chpr += printf("%-*.*s",SHORTNAMEWIDTH,SHORTNAMEWIDTH,"Wbg2Numerator");
        }
        if((PRINT_VALUE))
            chpr += printf(" = %u",wbg2_num);
        if((PRINT_SECTION))
        {
            if(wbg2_denom)
            {
                wbg2 = (double)wbg2_num / (double)wbg2_denom;
                chpr += printf(" => wbg2 = %.3f",wbg2);
            }
            else
                chpr += printf(" => wbg2 = inf");
        }
        else
        {
            chpr = newline(chpr);
            print_tag_address(ENTRY,HERE,indent + 4,"*");
            if((PRINT_TAGINFO))
            {
                /* pseudo-tag for result whitebalance             */
                if((PRINT_LONGNAMES))
                    chpr += printf("%s","MRW.WBG.");
                chpr += printf("%-*.*s",SHORTNAMEWIDTH,SHORTNAMEWIDTH,"WbGreen2");
            }
            if((PRINT_VALUE))
            {
                if(wbg2_denom)
                {
                    wbg2 = (double)wbg2_num / (double)wbg2_denom;
                    chpr += printf(" = %.3f",wbg2);
                }
                else
                    chpr += printf(" => wbg2 = inf");
            }
        }
        chpr = newline(chpr);
    }
    offset += 2;
    wbb_num = read_ushort(inptr,TIFF_MOTOROLA,offset);
    if((PRINT_ENTRY))
    {
        print_tag_address(ENTRY,offset,indent + 4,"@");
        if((PRINT_TAGINFO))
        {
            if((PRINT_LONGNAMES))
                chpr += printf("%s","MRW.WBG.");
            chpr += printf("%-*.*s",SHORTNAMEWIDTH,SHORTNAMEWIDTH,"WbbNumerator");
        }
        if((PRINT_VALUE))
            chpr += printf(" = %u",wbb_num);
        if((PRINT_SECTION))
        {
            if(wbb_denom)
            {
                wbb = (double)wbb_num / (double)wbb_denom;
                chpr += printf(" => wbb = %.3f",wbb);
            }
            else
                chpr += printf(" => wbb = inf");
        }
        else
        {
            chpr = newline(chpr);
            print_tag_address(ENTRY,HERE,indent + 4,"*");
            if((PRINT_TAGINFO))
            {
                /* pseudo-tag for result whitebalance             */
                if((PRINT_LONGNAMES))
                    chpr += printf("%s","MRW.WBG.");
                chpr += printf("%-*.*s",SHORTNAMEWIDTH,SHORTNAMEWIDTH,"WbBlue");
            }
            if((PRINT_VALUE))
            {
                if(wbb_denom)
                {
                    wbb = (double)wbb_num / (double)wbb_denom;
                    chpr += printf(" = %.3f",wbb);
                }
                else
                    chpr += printf(" => wbb = inf");
            }
        }
        chpr = newline(chpr);
    }
    offset += 2;
    return(offset);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movl %r8d, -0x24(%rbp)
movl $0x0, -0x5c(%rbp)
movq -0x10(%rbp), %rax
addq -0x18(%rbp), %rax
movq %rax, -0x18(%rbp)
movl -0x5c(%rbp), %edi
callq 0x1ef50
movl %eax, -0x5c(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x4f20
movw %ax, -0x26(%rbp)
leaq 0x4088b(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x4003333, %rax        # imm = 0x4003333
cmpq $0x0, %rax
je 0x36a39
movq -0x10(%rbp), %rsi
movl -0x24(%rbp), %edx
addl $0x4, %edx
movl $0x4003333, %edi        # imm = 0x4003333
leaq 0x2d7be(%rip), %rcx     # 0x640dc
callq 0x5ed0
leaq 0x40856(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x3003, %rax           # imm = 0x3003
cmpq $0x0, %rax
je 0x3698a
leaq 0x40840(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x40, %rax
cmpq $0x0, %rax
je 0x36968
leaq 0x2d743(%rip), %rdi     # 0x64097
leaq 0x35366(%rip), %rsi     # 0x6bcc1
movb $0x0, %al
callq 0x3110
addl -0x5c(%rbp), %eax
movl %eax, -0x5c(%rbp)
leaq 0x3472d(%rip), %rdi     # 0x6b09c
movl $0x14, %edx
leaq 0x3534f(%rip), %rcx     # 0x6bcca
movl %edx, %esi
movb $0x0, %al
callq 0x3110
addl -0x5c(%rbp), %eax
movl %eax, -0x5c(%rbp)
leaq 0x407ef(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x369b6
movzwl -0x26(%rbp), %esi
leaq 0x30c83(%rip), %rdi     # 0x6762c
movb $0x0, %al
callq 0x3110
addl -0x5c(%rbp), %eax
movl %eax, -0x5c(%rbp)
movzwl -0x26(%rbp), %eax
movq %rax, -0x68(%rbp)
subq $0x4, %rax
ja 0x36a00
movq -0x68(%rbp), %rax
leaq 0x35131(%rip), %rcx     # 0x6bb00
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movw $0x40, -0x26(%rbp)
jmp 0x36a02
movw $0x80, -0x26(%rbp)
jmp 0x36a02
movw $0x100, -0x26(%rbp)     # imm = 0x100
jmp 0x36a02
movw $0x200, -0x26(%rbp)     # imm = 0x200
jmp 0x36a02
movw $0x400, -0x26(%rbp)     # imm = 0x400
jmp 0x36a02
jmp 0x36a02
leaq 0x40777(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x36a2e
movzwl -0x26(%rbp), %esi
leaq 0x30c0b(%rip), %rdi     # 0x6762c
movb $0x0, %al
callq 0x3110
addl -0x5c(%rbp), %eax
movl %eax, -0x5c(%rbp)
movl -0x5c(%rbp), %edi
callq 0x1ef50
movl %eax, -0x5c(%rbp)
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x4f20
movw %ax, -0x28(%rbp)
leaq 0x40723(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x4003333, %rax        # imm = 0x4003333
cmpq $0x0, %rax
je 0x36ba1
movq -0x10(%rbp), %rsi
movl -0x24(%rbp), %edx
addl $0x4, %edx
movl $0x4003333, %edi        # imm = 0x4003333
leaq 0x2d656(%rip), %rcx     # 0x640dc
callq 0x5ed0
leaq 0x406ee(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x3003, %rax           # imm = 0x3003
cmpq $0x0, %rax
je 0x36af2
leaq 0x406d8(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x40, %rax
cmpq $0x0, %rax
je 0x36ad0
leaq 0x2d5db(%rip), %rdi     # 0x64097
leaq 0x351fe(%rip), %rsi     # 0x6bcc1
movb $0x0, %al
callq 0x3110
addl -0x5c(%rbp), %eax
movl %eax, -0x5c(%rbp)
leaq 0x345c5(%rip), %rdi     # 0x6b09c
movl $0x14, %edx
leaq 0x351f6(%rip), %rcx     # 0x6bcd9
movl %edx, %esi
movb $0x0, %al
callq 0x3110
addl -0x5c(%rbp), %eax
movl %eax, -0x5c(%rbp)
leaq 0x40687(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x36b1e
movzwl -0x28(%rbp), %esi
leaq 0x30b1b(%rip), %rdi     # 0x6762c
movb $0x0, %al
callq 0x3110
addl -0x5c(%rbp), %eax
movl %eax, -0x5c(%rbp)
movzwl -0x28(%rbp), %eax
movq %rax, -0x70(%rbp)
subq $0x4, %rax
ja 0x36b68
movq -0x70(%rbp), %rax
leaq 0x34fdd(%rip), %rcx     # 0x6bb14
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movw $0x40, -0x28(%rbp)
jmp 0x36b6a
movw $0x80, -0x28(%rbp)
jmp 0x36b6a
movw $0x100, -0x28(%rbp)     # imm = 0x100
jmp 0x36b6a
movw $0x200, -0x28(%rbp)     # imm = 0x200
jmp 0x36b6a
movw $0x400, -0x28(%rbp)     # imm = 0x400
jmp 0x36b6a
jmp 0x36b6a
leaq 0x4060f(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x36b96
movzwl -0x28(%rbp), %esi
leaq 0x30aa3(%rip), %rdi     # 0x6762c
movb $0x0, %al
callq 0x3110
addl -0x5c(%rbp), %eax
movl %eax, -0x5c(%rbp)
movl -0x5c(%rbp), %edi
callq 0x1ef50
movl %eax, -0x5c(%rbp)
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x4f20
movw %ax, -0x2a(%rbp)
leaq 0x405bb(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x4003333, %rax        # imm = 0x4003333
cmpq $0x0, %rax
je 0x36d09
movq -0x10(%rbp), %rsi
movl -0x24(%rbp), %edx
addl $0x4, %edx
movl $0x4003333, %edi        # imm = 0x4003333
leaq 0x2d4ee(%rip), %rcx     # 0x640dc
callq 0x5ed0
leaq 0x40586(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x3003, %rax           # imm = 0x3003
cmpq $0x0, %rax
je 0x36c5a
leaq 0x40570(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x40, %rax
cmpq $0x0, %rax
je 0x36c38
leaq 0x2d473(%rip), %rdi     # 0x64097
leaq 0x35096(%rip), %rsi     # 0x6bcc1
movb $0x0, %al
callq 0x3110
addl -0x5c(%rbp), %eax
movl %eax, -0x5c(%rbp)
leaq 0x3445d(%rip), %rdi     # 0x6b09c
movl $0x14, %edx
leaq 0x3509e(%rip), %rcx     # 0x6bce9
movl %edx, %esi
movb $0x0, %al
callq 0x3110
addl -0x5c(%rbp), %eax
movl %eax, -0x5c(%rbp)
leaq 0x4051f(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x36c86
movzwl -0x2a(%rbp), %esi
leaq 0x309b3(%rip), %rdi     # 0x6762c
movb $0x0, %al
callq 0x3110
addl -0x5c(%rbp), %eax
movl %eax, -0x5c(%rbp)
movzwl -0x2a(%rbp), %eax
movq %rax, -0x78(%rbp)
subq $0x4, %rax
ja 0x36cd0
movq -0x78(%rbp), %rax
leaq 0x34e89(%rip), %rcx     # 0x6bb28
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movw $0x40, -0x2a(%rbp)
jmp 0x36cd2
movw $0x80, -0x2a(%rbp)
jmp 0x36cd2
movw $0x100, -0x2a(%rbp)     # imm = 0x100
jmp 0x36cd2
movw $0x200, -0x2a(%rbp)     # imm = 0x200
jmp 0x36cd2
movw $0x400, -0x2a(%rbp)     # imm = 0x400
jmp 0x36cd2
jmp 0x36cd2
leaq 0x404a7(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x36cfe
movzwl -0x2a(%rbp), %esi
leaq 0x3093b(%rip), %rdi     # 0x6762c
movb $0x0, %al
callq 0x3110
addl -0x5c(%rbp), %eax
movl %eax, -0x5c(%rbp)
movl -0x5c(%rbp), %edi
callq 0x1ef50
movl %eax, -0x5c(%rbp)
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x4f20
movw %ax, -0x2c(%rbp)
leaq 0x40453(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x4003333, %rax        # imm = 0x4003333
cmpq $0x0, %rax
je 0x36e71
movq -0x10(%rbp), %rsi
movl -0x24(%rbp), %edx
addl $0x4, %edx
movl $0x4003333, %edi        # imm = 0x4003333
leaq 0x2d386(%rip), %rcx     # 0x640dc
callq 0x5ed0
leaq 0x4041e(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x3003, %rax           # imm = 0x3003
cmpq $0x0, %rax
je 0x36dc2
leaq 0x40408(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x40, %rax
cmpq $0x0, %rax
je 0x36da0
leaq 0x2d30b(%rip), %rdi     # 0x64097
leaq 0x34f2e(%rip), %rsi     # 0x6bcc1
movb $0x0, %al
callq 0x3110
addl -0x5c(%rbp), %eax
movl %eax, -0x5c(%rbp)
leaq 0x342f5(%rip), %rdi     # 0x6b09c
movl $0x14, %edx
leaq 0x34f46(%rip), %rcx     # 0x6bcf9
movl %edx, %esi
movb $0x0, %al
callq 0x3110
addl -0x5c(%rbp), %eax
movl %eax, -0x5c(%rbp)
leaq 0x403b7(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x36dee
movzwl -0x2c(%rbp), %esi
leaq 0x3084b(%rip), %rdi     # 0x6762c
movb $0x0, %al
callq 0x3110
addl -0x5c(%rbp), %eax
movl %eax, -0x5c(%rbp)
movzwl -0x2c(%rbp), %eax
movq %rax, -0x80(%rbp)
subq $0x4, %rax
ja 0x36e38
movq -0x80(%rbp), %rax
leaq 0x34d35(%rip), %rcx     # 0x6bb3c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movw $0x40, -0x2c(%rbp)
jmp 0x36e3a
movw $0x80, -0x2c(%rbp)
jmp 0x36e3a
movw $0x100, -0x2c(%rbp)     # imm = 0x100
jmp 0x36e3a
movw $0x200, -0x2c(%rbp)     # imm = 0x200
jmp 0x36e3a
movw $0x400, -0x2c(%rbp)     # imm = 0x400
jmp 0x36e3a
jmp 0x36e3a
leaq 0x4033f(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x36e66
movzwl -0x2c(%rbp), %esi
leaq 0x307d3(%rip), %rdi     # 0x6762c
movb $0x0, %al
callq 0x3110
addl -0x5c(%rbp), %eax
movl %eax, -0x5c(%rbp)
movl -0x5c(%rbp), %edi
callq 0x1ef50
movl %eax, -0x5c(%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, -0x2e(%rbp)
leaq 0x402e6(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x4003333, %rax        # imm = 0x4003333
cmpq $0x0, %rax
je 0x370c5
movq -0x10(%rbp), %rsi
movl -0x24(%rbp), %edx
addl $0x4, %edx
movl $0x4003333, %edi        # imm = 0x4003333
leaq 0x2d219(%rip), %rcx     # 0x640dc
callq 0x5ed0
leaq 0x402b1(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x3003, %rax           # imm = 0x3003
cmpq $0x0, %rax
je 0x36f2f
leaq 0x4029b(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x40, %rax
cmpq $0x0, %rax
je 0x36f0d
leaq 0x2d19e(%rip), %rdi     # 0x64097
leaq 0x34dc1(%rip), %rsi     # 0x6bcc1
movb $0x0, %al
callq 0x3110
addl -0x5c(%rbp), %eax
movl %eax, -0x5c(%rbp)
leaq 0x34188(%rip), %rdi     # 0x6b09c
movl $0x14, %edx
leaq 0x34de8(%rip), %rcx     # 0x6bd08
movl %edx, %esi
movb $0x0, %al
callq 0x3110
addl -0x5c(%rbp), %eax
movl %eax, -0x5c(%rbp)
leaq 0x4024a(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x36f5b
movzwl -0x2e(%rbp), %esi
leaq 0x306de(%rip), %rdi     # 0x6762c
movb $0x0, %al
callq 0x3110
addl -0x5c(%rbp), %eax
movl %eax, -0x5c(%rbp)
leaq 0x4021e(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x40000, %rax          # imm = 0x40000
cmpq $0x0, %rax
je 0x36fc5
cmpw $0x0, -0x26(%rbp)
je 0x36fac
movzwl -0x2e(%rbp), %eax
cvtsi2sd %eax, %xmm0
movzwl -0x26(%rbp), %eax
cvtsi2sd %eax, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x40(%rbp)
movsd -0x40(%rbp), %xmm0
leaq 0x34d78(%rip), %rdi     # 0x6bd15
movb $0x1, %al
callq 0x3110
addl -0x5c(%rbp), %eax
movl %eax, -0x5c(%rbp)
jmp 0x36fc0
leaq 0x34d71(%rip), %rdi     # 0x6bd24
movb $0x0, %al
callq 0x3110
addl -0x5c(%rbp), %eax
movl %eax, -0x5c(%rbp)
jmp 0x370ba
movl -0x5c(%rbp), %edi
callq 0x1ef50
movl %eax, -0x5c(%rbp)
movl -0x24(%rbp), %edx
addl $0x4, %edx
movl $0x4003333, %edi        # imm = 0x4003333
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
leaq 0x2d93d(%rip), %rcx     # 0x64924
callq 0x5ed0
leaq 0x4018d(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x3003, %rax           # imm = 0x3003
cmpq $0x0, %rax
je 0x37053
leaq 0x40177(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x40, %rax
cmpq $0x0, %rax
je 0x37031
leaq 0x2d07a(%rip), %rdi     # 0x64097
leaq 0x34c9d(%rip), %rsi     # 0x6bcc1
movb $0x0, %al
callq 0x3110
addl -0x5c(%rbp), %eax
movl %eax, -0x5c(%rbp)
leaq 0x34064(%rip), %rdi     # 0x6b09c
movl $0x14, %edx
leaq 0x34cee(%rip), %rcx     # 0x6bd32
movl %edx, %esi
movb $0x0, %al
callq 0x3110
addl -0x5c(%rbp), %eax
movl %eax, -0x5c(%rbp)
leaq 0x40126(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x370b8
cmpw $0x0, -0x26(%rbp)
je 0x370a2
movzwl -0x2e(%rbp), %eax
cvtsi2sd %eax, %xmm0
movzwl -0x26(%rbp), %eax
cvtsi2sd %eax, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x40(%rbp)
movsd -0x40(%rbp), %xmm0
leaq 0x34cbb(%rip), %rdi     # 0x6bd4e
movb $0x1, %al
callq 0x3110
addl -0x5c(%rbp), %eax
movl %eax, -0x5c(%rbp)
jmp 0x370b6
leaq 0x34cb5(%rip), %rdi     # 0x6bd5e
movb $0x0, %al
callq 0x3110
addl -0x5c(%rbp), %eax
movl %eax, -0x5c(%rbp)
jmp 0x370b8
jmp 0x370ba
movl -0x5c(%rbp), %edi
callq 0x1ef50
movl %eax, -0x5c(%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 0x4480
movw %ax, -0x30(%rbp)
leaq 0x40092(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x4003333, %rax        # imm = 0x4003333
cmpq $0x0, %rax
je 0x37319
movq -0x10(%rbp), %rsi
movl -0x24(%rbp), %edx
addl $0x4, %edx
movl $0x4003333, %edi        # imm = 0x4003333
leaq 0x2cfc5(%rip), %rcx     # 0x640dc
callq 0x5ed0
leaq 0x4005d(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x3003, %rax           # imm = 0x3003
cmpq $0x0, %rax
je 0x37183
leaq 0x40047(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x40, %rax
cmpq $0x0, %rax
je 0x37161
leaq 0x2cf4a(%rip), %rdi     # 0x64097
leaq 0x34b6d(%rip), %rsi     # 0x6bcc1
movb $0x0, %al
callq 0x3110
addl -0x5c(%rbp), %eax
movl %eax, -0x5c(%rbp)
leaq 0x33f34(%rip), %rdi     # 0x6b09c
movl $0x14, %edx
leaq 0x34bc4(%rip), %rcx     # 0x6bd38
movl %edx, %esi
movb $0x0, %al
callq 0x3110
addl -0x5c(%rbp), %eax
movl %eax, -0x5c(%rbp)
leaq 0x3fff6(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x371af
movzwl -0x30(%rbp), %esi
leaq 0x3048a(%rip), %rdi     # 0x6762c
movb $0x0, %al
callq 0x3110
addl -0x5c(%rbp), %eax
movl %eax, -0x5c(%rbp)
leaq 0x3ffca(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x40000, %rax          # imm = 0x40000
cmpq $0x0, %rax
je 0x37219
cmpw $0x0, -0x28(%rbp)
je 0x37200
movzwl -0x30(%rbp), %eax
cvtsi2sd %eax, %xmm0
movzwl -0x28(%rbp), %eax
cvtsi2sd %eax, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x48(%rbp)
movsd -0x48(%rbp), %xmm0
leaq 0x34b55(%rip), %rdi     # 0x6bd46
movb $0x1, %al
callq 0x3110
addl -0x5c(%rbp), %eax
movl %eax, -0x5c(%rbp)
jmp 0x37214
leaq 0x34b4f(%rip), %rdi     # 0x6bd56
movb $0x0, %al
callq 0x3110
addl -0x5c(%rbp), %eax
movl %eax, -0x5c(%rbp)
jmp 0x3730e
movl -0x5c(%rbp), %edi
callq 0x1ef50
movl %eax, -0x5c(%rbp)
movl -0x24(%rbp), %edx
addl $0x4, %edx
movl $0x4003333, %edi        # imm = 0x4003333
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
leaq 0x2d6e9(%rip), %rcx     # 0x64924
callq 0x5ed0
leaq 0x3ff39(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x3003, %rax           # imm = 0x3003
cmpq $0x0, %rax
je 0x372a7
leaq 0x3ff23(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x40, %rax
cmpq $0x0, %rax
je 0x37285
leaq 0x2ce26(%rip), %rdi     # 0x64097
leaq 0x34a49(%rip), %rsi     # 0x6bcc1
movb $0x0, %al
callq 0x3110
addl -0x5c(%rbp), %eax
movl %eax, -0x5c(%rbp)
leaq 0x33e10(%rip), %rdi     # 0x6b09c
movl $0x14, %edx
leaq 0x34acd(%rip), %rcx     # 0x6bd65
movl %edx, %esi
movb $0x0, %al
callq 0x3110
addl -0x5c(%rbp), %eax
movl %eax, -0x5c(%rbp)
leaq 0x3fed2(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x3730c
cmpw $0x0, -0x28(%rbp)
je 0x372f6
movzwl -0x30(%rbp), %eax
cvtsi2sd %eax, %xmm0
movzwl -0x28(%rbp), %eax
cvtsi2sd %eax, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x48(%rbp)
movsd -0x48(%rbp), %xmm0
leaq 0x34a67(%rip), %rdi     # 0x6bd4e
movb $0x1, %al
callq 0x3110
addl -0x5c(%rbp), %eax
movl %eax, -0x5c(%rbp)
jmp 0x3730a
leaq 0x34a59(%rip), %rdi     # 0x6bd56
movb $0x0, %al
callq 0x3110
addl -0x5c(%rbp), %eax
movl %eax, -0x5c(%rbp)
jmp 0x3730c
jmp 0x3730e
movl -0x5c(%rbp), %edi
callq 0x1ef50
movl %eax, -0x5c(%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 0x4480
movw %ax, -0x32(%rbp)
leaq 0x3fe3e(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x4003333, %rax        # imm = 0x4003333
cmpq $0x0, %rax
je 0x3756d
movq -0x10(%rbp), %rsi
movl -0x24(%rbp), %edx
addl $0x4, %edx
movl $0x4003333, %edi        # imm = 0x4003333
leaq 0x2cd71(%rip), %rcx     # 0x640dc
callq 0x5ed0
leaq 0x3fe09(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x3003, %rax           # imm = 0x3003
cmpq $0x0, %rax
je 0x373d7
leaq 0x3fdf3(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x40, %rax
cmpq $0x0, %rax
je 0x373b5
leaq 0x2ccf6(%rip), %rdi     # 0x64097
leaq 0x34919(%rip), %rsi     # 0x6bcc1
movb $0x0, %al
callq 0x3110
addl -0x5c(%rbp), %eax
movl %eax, -0x5c(%rbp)
leaq 0x33ce0(%rip), %rdi     # 0x6b09c
movl $0x14, %edx
leaq 0x349a6(%rip), %rcx     # 0x6bd6e
movl %edx, %esi
movb $0x0, %al
callq 0x3110
addl -0x5c(%rbp), %eax
movl %eax, -0x5c(%rbp)
leaq 0x3fda2(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x37403
movzwl -0x32(%rbp), %esi
leaq 0x30236(%rip), %rdi     # 0x6762c
movb $0x0, %al
callq 0x3110
addl -0x5c(%rbp), %eax
movl %eax, -0x5c(%rbp)
leaq 0x3fd76(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x40000, %rax          # imm = 0x40000
cmpq $0x0, %rax
je 0x3746d
cmpw $0x0, -0x2a(%rbp)
je 0x37454
movzwl -0x32(%rbp), %eax
cvtsi2sd %eax, %xmm0
movzwl -0x2a(%rbp), %eax
cvtsi2sd %eax, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x50(%rbp)
movsd -0x50(%rbp), %xmm0
leaq 0x34937(%rip), %rdi     # 0x6bd7c
movb $0x1, %al
callq 0x3110
addl -0x5c(%rbp), %eax
movl %eax, -0x5c(%rbp)
jmp 0x37468
leaq 0x34931(%rip), %rdi     # 0x6bd8c
movb $0x0, %al
callq 0x3110
addl -0x5c(%rbp), %eax
movl %eax, -0x5c(%rbp)
jmp 0x37562
movl -0x5c(%rbp), %edi
callq 0x1ef50
movl %eax, -0x5c(%rbp)
movl -0x24(%rbp), %edx
addl $0x4, %edx
movl $0x4003333, %edi        # imm = 0x4003333
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
leaq 0x2d495(%rip), %rcx     # 0x64924
callq 0x5ed0
leaq 0x3fce5(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x3003, %rax           # imm = 0x3003
cmpq $0x0, %rax
je 0x374fb
leaq 0x3fccf(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x40, %rax
cmpq $0x0, %rax
je 0x374d9
leaq 0x2cbd2(%rip), %rdi     # 0x64097
leaq 0x347f5(%rip), %rsi     # 0x6bcc1
movb $0x0, %al
callq 0x3110
addl -0x5c(%rbp), %eax
movl %eax, -0x5c(%rbp)
leaq 0x33bbc(%rip), %rdi     # 0x6b09c
movl $0x14, %edx
leaq 0x348af(%rip), %rcx     # 0x6bd9b
movl %edx, %esi
movb $0x0, %al
callq 0x3110
addl -0x5c(%rbp), %eax
movl %eax, -0x5c(%rbp)
leaq 0x3fc7e(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x37560
cmpw $0x0, -0x2a(%rbp)
je 0x3754a
movzwl -0x32(%rbp), %eax
cvtsi2sd %eax, %xmm0
movzwl -0x2a(%rbp), %eax
cvtsi2sd %eax, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x50(%rbp)
movsd -0x50(%rbp), %xmm0
leaq 0x34813(%rip), %rdi     # 0x6bd4e
movb $0x1, %al
callq 0x3110
addl -0x5c(%rbp), %eax
movl %eax, -0x5c(%rbp)
jmp 0x3755e
leaq 0x3483b(%rip), %rdi     # 0x6bd8c
movb $0x0, %al
callq 0x3110
addl -0x5c(%rbp), %eax
movl %eax, -0x5c(%rbp)
jmp 0x37560
jmp 0x37562
movl -0x5c(%rbp), %edi
callq 0x1ef50
movl %eax, -0x5c(%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 0x4480
movw %ax, -0x34(%rbp)
leaq 0x3fbea(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x4003333, %rax        # imm = 0x4003333
cmpq $0x0, %rax
je 0x377c1
movq -0x10(%rbp), %rsi
movl -0x24(%rbp), %edx
addl $0x4, %edx
movl $0x4003333, %edi        # imm = 0x4003333
leaq 0x2cb1d(%rip), %rcx     # 0x640dc
callq 0x5ed0
leaq 0x3fbb5(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x3003, %rax           # imm = 0x3003
cmpq $0x0, %rax
je 0x3762b
leaq 0x3fb9f(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x40, %rax
cmpq $0x0, %rax
je 0x37609
leaq 0x2caa2(%rip), %rdi     # 0x64097
leaq 0x346c5(%rip), %rsi     # 0x6bcc1
movb $0x0, %al
callq 0x3110
addl -0x5c(%rbp), %eax
movl %eax, -0x5c(%rbp)
leaq 0x33a8c(%rip), %rdi     # 0x6b09c
movl $0x14, %edx
leaq 0x34788(%rip), %rcx     # 0x6bda4
movl %edx, %esi
movb $0x0, %al
callq 0x3110
addl -0x5c(%rbp), %eax
movl %eax, -0x5c(%rbp)
leaq 0x3fb4e(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x37657
movzwl -0x34(%rbp), %esi
leaq 0x2ffe2(%rip), %rdi     # 0x6762c
movb $0x0, %al
callq 0x3110
addl -0x5c(%rbp), %eax
movl %eax, -0x5c(%rbp)
leaq 0x3fb22(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x40000, %rax          # imm = 0x40000
cmpq $0x0, %rax
je 0x376c1
cmpw $0x0, -0x2c(%rbp)
je 0x376a8
movzwl -0x34(%rbp), %eax
cvtsi2sd %eax, %xmm0
movzwl -0x2c(%rbp), %eax
cvtsi2sd %eax, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x58(%rbp)
movsd -0x58(%rbp), %xmm0
leaq 0x34718(%rip), %rdi     # 0x6bdb1
movb $0x1, %al
callq 0x3110
addl -0x5c(%rbp), %eax
movl %eax, -0x5c(%rbp)
jmp 0x376bc
leaq 0x34711(%rip), %rdi     # 0x6bdc0
movb $0x0, %al
callq 0x3110
addl -0x5c(%rbp), %eax
movl %eax, -0x5c(%rbp)
jmp 0x377b6
movl -0x5c(%rbp), %edi
callq 0x1ef50
movl %eax, -0x5c(%rbp)
movl -0x24(%rbp), %edx
addl $0x4, %edx
movl $0x4003333, %edi        # imm = 0x4003333
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
leaq 0x2d241(%rip), %rcx     # 0x64924
callq 0x5ed0
leaq 0x3fa91(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x3003, %rax           # imm = 0x3003
cmpq $0x0, %rax
je 0x3774f
leaq 0x3fa7b(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x40, %rax
cmpq $0x0, %rax
je 0x3772d
leaq 0x2c97e(%rip), %rdi     # 0x64097
leaq 0x345a1(%rip), %rsi     # 0x6bcc1
movb $0x0, %al
callq 0x3110
addl -0x5c(%rbp), %eax
movl %eax, -0x5c(%rbp)
leaq 0x33968(%rip), %rdi     # 0x6b09c
movl $0x14, %edx
leaq 0x3468e(%rip), %rcx     # 0x6bdce
movl %edx, %esi
movb $0x0, %al
callq 0x3110
addl -0x5c(%rbp), %eax
movl %eax, -0x5c(%rbp)
leaq 0x3fa2a(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x377b4
cmpw $0x0, -0x2c(%rbp)
je 0x3779e
movzwl -0x34(%rbp), %eax
cvtsi2sd %eax, %xmm0
movzwl -0x2c(%rbp), %eax
cvtsi2sd %eax, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x58(%rbp)
movsd -0x58(%rbp), %xmm0
leaq 0x345bf(%rip), %rdi     # 0x6bd4e
movb $0x1, %al
callq 0x3110
addl -0x5c(%rbp), %eax
movl %eax, -0x5c(%rbp)
jmp 0x377b2
leaq 0x3461b(%rip), %rdi     # 0x6bdc0
movb $0x0, %al
callq 0x3110
addl -0x5c(%rbp), %eax
movl %eax, -0x5c(%rbp)
jmp 0x377b4
jmp 0x377b6
movl -0x5c(%rbp), %edi
callq 0x1ef50
movl %eax, -0x5c(%rbp)
movq -0x10(%rbp), %rax
addq $0x2, %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
addq $0x80, %rsp
popq %rbp
retq
nopw (%rax,%rax)