// File: /workspace/github_c_makefile_star2_O0/hfiguiere[P]exifprobe/mrw.c
// Function: process_rif
unsigned long
process_rif(FILE *inptr,unsigned long offset,unsigned long blocklength,
            struct image_summary *summary_entry,int indent)
{
    unsigned long end_offset;
    unsigned short saturation,contrast;
    unsigned short sharpness,white_balance;
    unsigned short subject_program,iso;
    unsigned short color_mode,color_filter,bw_filter;
    unsigned short unknown;
    double fvalue;
    int chpr = 0;

    end_offset = offset + blocklength;

    chpr = newline(chpr);
    unknown = read_ubyte(inptr,offset);
    if((PRINT_ENTRY))
    {
        print_tag_address(ENTRY,offset,indent + 4,"@");
        if((PRINT_TAGINFO))
        {
            if((PRINT_LONGNAMES))
                chpr += printf("%s","MRW.RIF.");
            chpr += printf("%-*.*s",SHORTNAMEWIDTH,SHORTNAMEWIDTH,"unknown");
        }
        if((PRINT_VALUE))
            chpr += printf(" = %u",unknown);
        chpr = newline(chpr);
    }
    ++offset;
    saturation = read_ubyte(inptr,offset);
    if((PRINT_ENTRY))
    {
        print_tag_address(ENTRY,offset,indent + 4,"@");
        if((PRINT_TAGINFO))
        {
            if((PRINT_LONGNAMES))
                chpr += printf("%s","MRW.RIF.");
            chpr += printf("%-*.*s",SHORTNAMEWIDTH,SHORTNAMEWIDTH,"Saturation");
        }
        if((PRINT_VALUE))
            chpr += printf(" = %u",saturation);
        chpr = newline(chpr);
    }
    ++offset;
    contrast = read_ubyte(inptr,offset);
    if((PRINT_ENTRY))
    {
        print_tag_address(ENTRY,offset,indent + 4,"@");
        if((PRINT_TAGINFO))
        {
            if((PRINT_LONGNAMES))
                chpr += printf("%s","MRW.RIF.");
            chpr += printf("%-*.*s",SHORTNAMEWIDTH,SHORTNAMEWIDTH,"Contrast");
        }
        if((PRINT_VALUE))
            chpr += printf(" = %u",contrast);
        chpr = newline(chpr);
    }
    ++offset;
    sharpness = read_ubyte(inptr,offset);
    if((PRINT_ENTRY))
    {
        print_tag_address(ENTRY,offset,indent + 4,"@");
        if((PRINT_TAGINFO))
        {
            if((PRINT_LONGNAMES))
                chpr += printf("%s","MRW.RIF.");
            chpr += printf("%-*.*s",SHORTNAMEWIDTH,SHORTNAMEWIDTH,"Sharpness");
        }
        if((PRINT_VALUE))
            chpr += printf(" = %u",sharpness);
        chpr = newline(chpr);
    }
    ++offset;
    white_balance = read_ubyte(inptr,offset);
    if((PRINT_ENTRY))
    {
        print_tag_address(ENTRY,offset,indent + 4,"@");
        if((PRINT_TAGINFO))
        {
            if((PRINT_LONGNAMES))
                chpr += printf("%s","MRW.RIF.");
            chpr += printf("%-*.*s",SHORTNAMEWIDTH,SHORTNAMEWIDTH,"WhiteBalance");
        }
        if((PRINT_VALUE))
            chpr += printf(" = %u/%#x",white_balance,white_balance);
        chpr = newline(chpr);
    }
    ++offset;
    subject_program = read_ubyte(inptr,offset);
    if((PRINT_ENTRY))
    {
        print_tag_address(ENTRY,offset,indent + 4,"@");
        {
            if((PRINT_LONGNAMES))
                chpr += printf("%s","MRW.RIF.");
            chpr += printf("%-*.*s",SHORTNAMEWIDTH,SHORTNAMEWIDTH,"SubjectProgram");
        }
        if((PRINT_VALUE))
            chpr += printf(" = %u",subject_program);
        chpr = newline(chpr);
    }
    ++offset;
    iso = read_ubyte(inptr,offset);
    if((PRINT_ENTRY))
    {
        print_tag_address(ENTRY,offset,indent + 4,"@");
        if((PRINT_TAGINFO))
        {
            if((PRINT_LONGNAMES))
                chpr += printf("%s","MRW.RIF.");
            chpr += printf("%-*.*s",SHORTNAMEWIDTH,SHORTNAMEWIDTH,"CCDSensitivity");
        }
        if((PRINT_VALUE))
        {
            if(PRINT_RAW_VALUES)
                chpr += printf(" = %u",iso);
            fvalue = ((double)iso/8.0) - 1.0;
            chpr += printf(" = %.3g APEX",fvalue);
            fvalue = pow(2.0,fvalue) * 3.125;
            chpr += printf(" = %.3g ISO",fvalue);
        }
        chpr = newline(chpr);
    }
    ++offset;
    color_mode = read_ubyte(inptr,offset);
    if((PRINT_ENTRY))
    {
        print_tag_address(ENTRY,offset,indent + 4,"@");
        if((PRINT_TAGINFO))
        {
            if((PRINT_LONGNAMES))
                chpr += printf("%s","MRW.RIF.");
            chpr += printf("%-*.*s",SHORTNAMEWIDTH,SHORTNAMEWIDTH,"ColorMode");
        }
        if((PRINT_VALUE))
            chpr += printf(" = %u/%#x",color_mode,color_mode);
        chpr = newline(chpr);
    }
    ++offset;
    color_filter = read_ubyte(inptr,offset);
    if((PRINT_ENTRY))
    {
        print_tag_address(ENTRY,offset,indent + 4,"@");
        if((PRINT_TAGINFO))
        {
            if((PRINT_LONGNAMES))
                chpr += printf("%s","MRW.RIF.");
            chpr += printf("%-*.*s",SHORTNAMEWIDTH,SHORTNAMEWIDTH,"ColorFilter");
        }
        if((PRINT_VALUE))
            chpr += printf(" = %u/%#x",color_filter,color_filter);
        chpr = newline(chpr);
    }
    ++offset;
    bw_filter = read_ubyte(inptr,offset);
    if((PRINT_ENTRY))
    {
        print_tag_address(ENTRY,offset,indent + 4,"@");
        if((PRINT_TAGINFO))
        {
            if((PRINT_LONGNAMES))
                chpr += printf("%s","MRW.RIF.");
            chpr += printf("%-*.*s",SHORTNAMEWIDTH,SHORTNAMEWIDTH,"BWFilter");
        }
        if((PRINT_VALUE))
            chpr += printf(" = %u/%#x",bw_filter,bw_filter);
        chpr = newline(chpr);
    }
    ++offset;
    /* Remaining values are unknown                                   */
    return(end_offset);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movl %r8d, -0x24(%rbp)
movl $0x0, -0x54(%rbp)
movq -0x10(%rbp), %rax
addq -0x18(%rbp), %rax
movq %rax, -0x30(%rbp)
movl -0x54(%rbp), %edi
callq 0x1ef50
movl %eax, -0x54(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x4f20
movw %ax, -0x44(%rbp)
leaq 0x3f94e(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x4003333, %rax        # imm = 0x4003333
cmpq $0x0, %rax
je 0x378fe
movq -0x10(%rbp), %rsi
movl -0x24(%rbp), %edx
addl $0x4, %edx
movl $0x4003333, %edi        # imm = 0x4003333
leaq 0x2c881(%rip), %rcx     # 0x640dc
callq 0x5ed0
leaq 0x3f919(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x3003, %rax           # imm = 0x3003
cmpq $0x0, %rax
je 0x378c7
leaq 0x3f903(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x40, %rax
cmpq $0x0, %rax
je 0x378a5
leaq 0x2c806(%rip), %rdi     # 0x64097
leaq 0x3453d(%rip), %rsi     # 0x6bdd5
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
leaq 0x337f0(%rip), %rdi     # 0x6b09c
movl $0x14, %edx
leaq 0x30726(%rip), %rcx     # 0x67fde
movl %edx, %esi
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
leaq 0x3f8b2(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x378f3
movzwl -0x44(%rbp), %esi
leaq 0x2fd46(%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), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x4f20
movw %ax, -0x32(%rbp)
leaq 0x3f85e(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x4003333, %rax        # imm = 0x4003333
cmpq $0x0, %rax
je 0x379ee
movq -0x10(%rbp), %rsi
movl -0x24(%rbp), %edx
addl $0x4, %edx
movl $0x4003333, %edi        # imm = 0x4003333
leaq 0x2c791(%rip), %rcx     # 0x640dc
callq 0x5ed0
leaq 0x3f829(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x3003, %rax           # imm = 0x3003
cmpq $0x0, %rax
je 0x379b7
leaq 0x3f813(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x40, %rax
cmpq $0x0, %rax
je 0x37995
leaq 0x2c716(%rip), %rdi     # 0x64097
leaq 0x3444d(%rip), %rsi     # 0x6bdd5
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
leaq 0x33700(%rip), %rdi     # 0x6b09c
movl $0x14, %edx
leaq 0x35a0d(%rip), %rcx     # 0x6d3b5
movl %edx, %esi
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
leaq 0x3f7c2(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x379e3
movzwl -0x32(%rbp), %esi
leaq 0x2fc56(%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), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x4f20
movw %ax, -0x34(%rbp)
leaq 0x3f76e(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x4003333, %rax        # imm = 0x4003333
cmpq $0x0, %rax
je 0x37ade
movq -0x10(%rbp), %rsi
movl -0x24(%rbp), %edx
addl $0x4, %edx
movl $0x4003333, %edi        # imm = 0x4003333
leaq 0x2c6a1(%rip), %rcx     # 0x640dc
callq 0x5ed0
leaq 0x3f739(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x3003, %rax           # imm = 0x3003
cmpq $0x0, %rax
je 0x37aa7
leaq 0x3f723(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x40, %rax
cmpq $0x0, %rax
je 0x37a85
leaq 0x2c626(%rip), %rdi     # 0x64097
leaq 0x3435d(%rip), %rsi     # 0x6bdd5
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
leaq 0x33610(%rip), %rdi     # 0x6b09c
movl $0x14, %edx
leaq 0x2dfac(%rip), %rcx     # 0x65a44
movl %edx, %esi
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
leaq 0x3f6d2(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x37ad3
movzwl -0x34(%rbp), %esi
leaq 0x2fb66(%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), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x4f20
movw %ax, -0x36(%rbp)
leaq 0x3f67e(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x4003333, %rax        # imm = 0x4003333
cmpq $0x0, %rax
je 0x37bce
movq -0x10(%rbp), %rsi
movl -0x24(%rbp), %edx
addl $0x4, %edx
movl $0x4003333, %edi        # imm = 0x4003333
leaq 0x2c5b1(%rip), %rcx     # 0x640dc
callq 0x5ed0
leaq 0x3f649(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x3003, %rax           # imm = 0x3003
cmpq $0x0, %rax
je 0x37b97
leaq 0x3f633(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x40, %rax
cmpq $0x0, %rax
je 0x37b75
leaq 0x2c536(%rip), %rdi     # 0x64097
leaq 0x3426d(%rip), %rsi     # 0x6bdd5
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
leaq 0x33520(%rip), %rdi     # 0x6b09c
movl $0x14, %edx
leaq 0x2e105(%rip), %rcx     # 0x65c8d
movl %edx, %esi
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
leaq 0x3f5e2(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x37bc3
movzwl -0x36(%rbp), %esi
leaq 0x2fa76(%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), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x4f20
movw %ax, -0x38(%rbp)
leaq 0x3f58e(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x4003333, %rax        # imm = 0x4003333
cmpq $0x0, %rax
je 0x37cc2
movq -0x10(%rbp), %rsi
movl -0x24(%rbp), %edx
addl $0x4, %edx
movl $0x4003333, %edi        # imm = 0x4003333
leaq 0x2c4c1(%rip), %rcx     # 0x640dc
callq 0x5ed0
leaq 0x3f559(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x3003, %rax           # imm = 0x3003
cmpq $0x0, %rax
je 0x37c87
leaq 0x3f543(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x40, %rax
cmpq $0x0, %rax
je 0x37c65
leaq 0x2c446(%rip), %rdi     # 0x64097
leaq 0x3417d(%rip), %rsi     # 0x6bdd5
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
leaq 0x33430(%rip), %rdi     # 0x6b09c
movl $0x14, %edx
leaq 0x2dd7b(%rip), %rcx     # 0x659f3
movl %edx, %esi
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
leaq 0x3f4f2(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x37cb7
movzwl -0x38(%rbp), %esi
movzwl -0x38(%rbp), %edx
leaq 0x34134(%rip), %rdi     # 0x6bdde
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), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x4f20
movw %ax, -0x3a(%rbp)
leaq 0x3f49a(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x4003333, %rax        # imm = 0x4003333
cmpq $0x0, %rax
je 0x37d9c
movq -0x10(%rbp), %rsi
movl -0x24(%rbp), %edx
addl $0x4, %edx
movl $0x4003333, %edi        # imm = 0x4003333
leaq 0x2c3cd(%rip), %rcx     # 0x640dc
callq 0x5ed0
leaq 0x3f465(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x40, %rax
cmpq $0x0, %rax
je 0x37d43
leaq 0x2c368(%rip), %rdi     # 0x64097
leaq 0x3409f(%rip), %rsi     # 0x6bdd5
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
leaq 0x33352(%rip), %rdi     # 0x6b09c
movl $0x14, %edx
leaq 0x34092(%rip), %rcx     # 0x6bde8
movl %edx, %esi
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
leaq 0x3f414(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x37d91
movzwl -0x3a(%rbp), %esi
leaq 0x2f8a8(%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), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x4f20
movw %ax, -0x3c(%rbp)
leaq 0x3f3c0(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x4003333, %rax        # imm = 0x4003333
cmpq $0x0, %rax
je 0x37f20
movq -0x10(%rbp), %rsi
movl -0x24(%rbp), %edx
addl $0x4, %edx
movl $0x4003333, %edi        # imm = 0x4003333
leaq 0x2c2f3(%rip), %rcx     # 0x640dc
callq 0x5ed0
leaq 0x3f38b(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x3003, %rax           # imm = 0x3003
cmpq $0x0, %rax
je 0x37e55
leaq 0x3f375(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x40, %rax
cmpq $0x0, %rax
je 0x37e33
leaq 0x2c278(%rip), %rdi     # 0x64097
leaq 0x33faf(%rip), %rsi     # 0x6bdd5
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
leaq 0x33262(%rip), %rdi     # 0x6b09c
movl $0x14, %edx
leaq 0x33fb1(%rip), %rcx     # 0x6bdf7
movl %edx, %esi
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
leaq 0x3f324(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x37f15
leaq 0x3f30c(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x2000000, %rax        # imm = 0x2000000
cmpq $0x0, %rax
je 0x37e9b
movzwl -0x3c(%rbp), %esi
leaq 0x2f79e(%rip), %rdi     # 0x6762c
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
movzwl -0x3c(%rbp), %eax
cvtsi2sd %eax, %xmm0
movsd 0x2fdcd(%rip), %xmm1    # 0x67c78
divsd %xmm1, %xmm0
movsd 0x33ca1(%rip), %xmm1    # 0x6bb58
subsd %xmm1, %xmm0
movsd %xmm0, -0x50(%rbp)
movsd -0x50(%rbp), %xmm0
leaq 0x33f3a(%rip), %rdi     # 0x6be06
movb $0x1, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
movsd -0x50(%rbp), %xmm1
movsd 0x3081a(%rip), %xmm0    # 0x68700
callq 0x30d0
movsd 0x33c5d(%rip), %xmm1    # 0x6bb50
mulsd %xmm1, %xmm0
movsd %xmm0, -0x50(%rbp)
movsd -0x50(%rbp), %xmm0
leaq 0x33f0b(%rip), %rdi     # 0x6be13
movb $0x1, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
movl -0x54(%rbp), %edi
callq 0x1ef50
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, -0x3e(%rbp)
leaq 0x3f23c(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x4003333, %rax        # imm = 0x4003333
cmpq $0x0, %rax
je 0x38014
movq -0x10(%rbp), %rsi
movl -0x24(%rbp), %edx
addl $0x4, %edx
movl $0x4003333, %edi        # imm = 0x4003333
leaq 0x2c16f(%rip), %rcx     # 0x640dc
callq 0x5ed0
leaq 0x3f207(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x3003, %rax           # imm = 0x3003
cmpq $0x0, %rax
je 0x37fd9
leaq 0x3f1f1(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x40, %rax
cmpq $0x0, %rax
je 0x37fb7
leaq 0x2c0f4(%rip), %rdi     # 0x64097
leaq 0x33e2b(%rip), %rsi     # 0x6bdd5
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
leaq 0x330de(%rip), %rdi     # 0x6b09c
movl $0x14, %edx
leaq 0x33e55(%rip), %rcx     # 0x6be1f
movl %edx, %esi
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
leaq 0x3f1a0(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x38009
movzwl -0x3e(%rbp), %esi
movzwl -0x3e(%rbp), %edx
leaq 0x33de2(%rip), %rdi     # 0x6bdde
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), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x4f20
movw %ax, -0x40(%rbp)
leaq 0x3f148(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x4003333, %rax        # imm = 0x4003333
cmpq $0x0, %rax
je 0x38108
movq -0x10(%rbp), %rsi
movl -0x24(%rbp), %edx
addl $0x4, %edx
movl $0x4003333, %edi        # imm = 0x4003333
leaq 0x2c07b(%rip), %rcx     # 0x640dc
callq 0x5ed0
leaq 0x3f113(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x3003, %rax           # imm = 0x3003
cmpq $0x0, %rax
je 0x380cd
leaq 0x3f0fd(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x40, %rax
cmpq $0x0, %rax
je 0x380ab
leaq 0x2c000(%rip), %rdi     # 0x64097
leaq 0x33d37(%rip), %rsi     # 0x6bdd5
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
leaq 0x32fea(%rip), %rdi     # 0x6b09c
movl $0x14, %edx
leaq 0x33d6b(%rip), %rcx     # 0x6be29
movl %edx, %esi
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
leaq 0x3f0ac(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x380fd
movzwl -0x40(%rbp), %esi
movzwl -0x40(%rbp), %edx
leaq 0x33cee(%rip), %rdi     # 0x6bdde
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), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x4f20
movw %ax, -0x42(%rbp)
leaq 0x3f054(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x4003333, %rax        # imm = 0x4003333
cmpq $0x0, %rax
je 0x381fc
movq -0x10(%rbp), %rsi
movl -0x24(%rbp), %edx
addl $0x4, %edx
movl $0x4003333, %edi        # imm = 0x4003333
leaq 0x2bf87(%rip), %rcx     # 0x640dc
callq 0x5ed0
leaq 0x3f01f(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x3003, %rax           # imm = 0x3003
cmpq $0x0, %rax
je 0x381c1
leaq 0x3f009(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x40, %rax
cmpq $0x0, %rax
je 0x3819f
leaq 0x2bf0c(%rip), %rdi     # 0x64097
leaq 0x33c43(%rip), %rsi     # 0x6bdd5
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
leaq 0x32ef6(%rip), %rdi     # 0x6b09c
movl $0x14, %edx
leaq 0x33c83(%rip), %rcx     # 0x6be35
movl %edx, %esi
movb $0x0, %al
callq 0x3110
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
leaq 0x3efb8(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x381f1
movzwl -0x42(%rbp), %esi
movzwl -0x42(%rbp), %edx
leaq 0x33bfa(%rip), %rdi     # 0x6bdde
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), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
movq -0x30(%rbp), %rax
addq $0x60, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
nopl (%rax)