// File: /workspace/github_c_makefile_star2_O0/hfiguiere[P]exifprobe/print.c
// Function: print_offset_value
unsigned long
print_offset_value(FILE *inptr,unsigned short byteorder,
                struct ifd_entry *entry_ptr,unsigned long fileoffset_base,
                char *parent_name,int ifdtype,int indent,
                int at_offset)
{
    unsigned long endoffset = 0L;
    unsigned long value_offset,dumplength,total;
    char *nameoftag,*data;
    int chpr = 0;

    if(inptr && entry_ptr)
    {
        value_offset = fileoffset_base + entry_ptr->value;
        endoffset = value_offset + 
            (value_type_size(entry_ptr->value_type) * entry_ptr->count);

        if(PRINT_VALUE)
        {
            if((at_offset && (PRINT_VALUE_AT_OFFSET)) ||
                    ((PRINT_OFFSET) && (entry_ptr->value_type != UNDEFINED)))
                chpr += printf(" = ");
            switch(entry_ptr->value_type)
            {
                case UNDEFINED: 
                    if(!at_offset && (PRINT_VALUE))
                    {
                        if(!(PRINT_OFFSET))
                            chpr += printf("@%lu:%lu",value_offset,entry_ptr->count);
                        else
                            chpr += printf(":%lu", entry_ptr->count);
                    }
                    switch(entry_ptr->tag)
                    {
                        case EXIFTAG_CFAPattern:
                            if(!at_offset && (PRINT_VALUE))
                                chpr += printf(" = ");
                            nameoftag = tagname(entry_ptr->tag);
                            setcharsprinted(chpr);
                            chpr = 0;
                            print_cfapattern(inptr,entry_ptr->count,
                                            byteorder,value_offset,
                                            parent_name,nameoftag);
                            break;
                        case EXIFTAG_UserComment:
                            if(!at_offset && (PRINT_VALUE))
                                chpr += printf(" = ");
                            setcharsprinted(chpr);
                            chpr = 0;
                            print_user_comment(inptr,entry_ptr->count,
                                                value_offset,byteorder);
                            break;
                        case TIFFTAG_META_0xc353:
                            /* This should probably be handled        */
                            /* through the 'private IFD' mechanism,   */
                            /* but do it here for now.                */
                            if(!at_offset && (PRINT_VALUE))
                                chpr += printf(" = ");
                            /* The first 8 bytes should say "UNICODE" */
                            if((data = (char *)read_bytes(inptr,8UL,value_offset)) && (strncmp(data,"UNICODE",8) == 0))
                            {
                                if(!(LIST_MODE))
                                    chpr += printf("UNICODE: ");
                                setcharsprinted(chpr);
                                chpr = 0;
                                print_unicode(inptr,entry_ptr->count - 8,HERE,byteorder);
                            }
                            else
                            {
                                chpr = newline(chpr);
                                dumplength = entry_ptr->count;
                                hexdump(inptr,value_offset,dumplength,dumplength,16,0,SUBINDENT);
                            }
                            break;
                        case TIFFTAG_PrintIM:
                        case EXIFTAG_MakerNote:
                        case TIFFTAG_JPEGTables:
                            break;
                        /* TIFFEP_CFAPATTERN is not quite the same as */
                        /* EXIF_CFAPattern: it will be handled in     */
                        /* interpret.c                                */
                        case TIFFEPTAG_CFAPattern:
                        case TIFFEPTAG_SpatialFrequencyResponse:
                        case EXIFTAG_SpatialFrequencyResponse:
                        case EXIFTAG_SpectralSensitivity:
                        case EXIFTAG_OECF:
                            /* fall through, until some routines are  */
                            /* written for these.                     */
                        default:
                            /* Could make a pseudo-tag for 'count' in */
                            /* LIST mode...                           */
                            if(at_offset)
                            {
                                if(Max_undefined == 0L)
                                    chpr += printf(" (not dumped, use -U)");
                                else
                                {
                                    /* Even in LIST mode              */
                                    if((Max_undefined == DUMPALL) ||
                                            (Max_undefined > entry_ptr->count))
                                        dumplength = entry_ptr->count;
                                    else 
                                        dumplength = Max_undefined;
                                    chpr = newline(1);
                                    hexdump(inptr,value_offset,entry_ptr->count,
                                                dumplength,12,indent,SUBINDENT);
                                }
                            }
                            /* make certain we're at the end          */
                            fseek(inptr,(long)(value_offset + entry_ptr->count),SEEK_SET);
                            break;
                    }
                    if(!at_offset && (PRINT_VALUE))
                        chpr += printf("    # UNDEFINED");
                    break;
                case BYTE:
                    if(entry_ptr->tag == DNGTAG_OriginalRawFileName)
                        print_ascii(inptr,entry_ptr->count,value_offset);
                    else
                        print_ubytes(inptr,entry_ptr->count,value_offset);
                    break;
                case SBYTE:
                    print_sbytes(inptr,entry_ptr->count,value_offset);
                    break;
                case ASCII:
                    print_ascii(inptr,entry_ptr->count,value_offset);
                    if(Debug & NOTE_DEBUG)
                    {
                        if(entry_ptr->tag == TIFFTAG_Make)
                            chpr += printf("  [%d]",maker_number(Make_name));
                        else if(entry_ptr->tag == TIFFTAG_Model)
                            chpr += printf("  [%d]",model_number(maker_number(Make_name),
                                                    Model_name,CNULL));
                    }
                    break;
                case SHORT:
                    if(entry_ptr->tag == TIFFTAG_StripOffsets)
                        chpr += printf("@");
                    print_ushort(inptr,entry_ptr->count,byteorder,value_offset);
                    if(entry_ptr->tag == TIFFTAG_StripByteCounts)
                    {
                        total = sum_strip_bytecounts(inptr,byteorder,
                                    entry_ptr->value + fileoffset_base,
                                    entry_ptr->count,entry_ptr->value_type);
                        chpr += printf(" = %lu",total);
                    }
                    break;
                case SSHORT:
                    print_sshort(inptr,entry_ptr->count,byteorder,value_offset);
                    break;
                case LONG:
                    if(entry_ptr->tag == TIFFTAG_StripOffsets)
                        chpr += printf("@");
                    print_ulong(inptr,entry_ptr->count,byteorder,value_offset);
                    if(entry_ptr->tag == TIFFTAG_StripByteCounts)
                    {
                        total = sum_strip_bytecounts(inptr,byteorder,
                                    entry_ptr->value + fileoffset_base,
                                    entry_ptr->count,entry_ptr->value_type);
                        chpr += printf(" = %lu",total);
                    }
                    break;
                case SLONG:
                    print_slong(inptr,entry_ptr->count,byteorder,value_offset);
                    break;
                case RATIONAL:
                    print_urational(inptr,entry_ptr->count,byteorder,value_offset);
                    break;
                case SRATIONAL:
                    print_srational(inptr,entry_ptr->count,byteorder,value_offset);
                    break;
                case FLOAT:
                    print_float(inptr,entry_ptr->count,byteorder,value_offset);
                    break;
                case DOUBLE:
                    print_double(inptr,entry_ptr->count,byteorder,value_offset);
                    break;
                default:
                    chpr += printf(" INVALID TYPE %#x",entry_ptr->value_type);
                    break;
            }
            setcharsprinted(chpr);
            chpr = 0;
            interpret_offset_value(inptr,entry_ptr,byteorder,fileoffset_base);
            chpr = newline(chpr);
        }
    }
    else
    {
        chpr += printf(" invalid call to print_offset_value() ");
        if(inptr == (FILE *)0)
            chpr += printf(" - no input file pointer ");
        if(entry_ptr == (struct ifd_entry *)0)
            chpr += printf(" - null entry pointer");
        chpr = newline(chpr);
    }
    return(endoffset);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movw %si, %ax
movl 0x18(%rbp), %esi
movl 0x10(%rbp), %esi
movq %rdi, -0x8(%rbp)
movw %ax, -0xa(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movl %r9d, -0x2c(%rbp)
movq $0x0, -0x38(%rbp)
movl $0x0, -0x64(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x70fb
cmpq $0x0, -0x18(%rbp)
je 0x70fb
movq -0x20(%rbp), %rax
movq -0x18(%rbp), %rcx
addq 0x10(%rcx), %rax
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rax
movq %rax, -0x70(%rbp)
movq -0x18(%rbp), %rax
movzwl 0x2(%rax), %edi
callq 0x1dbf0
movl %eax, %ecx
movq -0x70(%rbp), %rax
movslq %ecx, %rcx
movq -0x18(%rbp), %rdx
imulq 0x8(%rdx), %rcx
addq %rcx, %rax
movq %rax, -0x38(%rbp)
leaq 0x7084a(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x70f9
cmpl $0x0, 0x18(%rbp)
je 0x6963
leaq 0x7082c(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x1000000, %rax        # imm = 0x1000000
cmpq $0x0, %rax
jne 0x6986
leaq 0x70816(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x300, %rax            # imm = 0x300
cmpq $0x0, %rax
je 0x699a
movq -0x18(%rbp), %rax
movzwl 0x2(%rax), %eax
cmpl $0x7, %eax
je 0x699a
leaq 0x6638b(%rip), %rdi     # 0x6cd18
movb $0x0, %al
callq 0x3110
addl -0x64(%rbp), %eax
movl %eax, -0x64(%rbp)
movq -0x18(%rbp), %rax
movzwl 0x2(%rax), %eax
decl %eax
movl %eax, %ecx
movq %rcx, -0x78(%rbp)
subl $0xb, %eax
ja 0x70ab
movq -0x78(%rbp), %rax
leaq 0x5da12(%rip), %rcx     # 0x643d0
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
cmpl $0x0, 0x18(%rbp)
jne 0x6a37
leaq 0x707ac(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x6a37
leaq 0x70798(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x300, %rax            # imm = 0x300
cmpq $0x0, %rax
jne 0x6a19
movq -0x40(%rbp), %rsi
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rdx
leaq 0x60e2a(%rip), %rdi     # 0x67834
movb $0x0, %al
callq 0x3110
addl -0x64(%rbp), %eax
movl %eax, -0x64(%rbp)
jmp 0x6a35
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rsi
leaq 0x60e10(%rip), %rdi     # 0x67838
movb $0x0, %al
callq 0x3110
addl -0x64(%rbp), %eax
movl %eax, -0x64(%rbp)
jmp 0x6a37
movq -0x18(%rbp), %rax
movzwl (%rax), %eax
movl %eax, -0x7c(%rbp)
subl $0x15b, %eax            # imm = 0x15B
je 0x6cbc
jmp 0x6a4e
movl -0x7c(%rbp), %eax
subl $0x828e, %eax           # imm = 0x828E
je 0x6cc1
jmp 0x6a5e
movl -0x7c(%rbp), %eax
subl $0x8824, %eax           # imm = 0x8824
je 0x6cc1
jmp 0x6a6e
movl -0x7c(%rbp), %eax
subl $0x8828, %eax           # imm = 0x8828
je 0x6cc1
jmp 0x6a7e
movl -0x7c(%rbp), %eax
subl $0x920c, %eax           # imm = 0x920C
je 0x6cc1
jmp 0x6a8e
movl -0x7c(%rbp), %eax
subl $0x927c, %eax           # imm = 0x927C
je 0x6cbc
jmp 0x6a9e
movl -0x7c(%rbp), %eax
subl $0x9286, %eax           # imm = 0x9286
je 0x6b63
jmp 0x6aae
movl -0x7c(%rbp), %eax
subl $0xa20c, %eax           # imm = 0xA20C
je 0x6cc1
jmp 0x6abe
movl -0x7c(%rbp), %eax
subl $0xa302, %eax           # imm = 0xA302
je 0x6aed
jmp 0x6aca
movl -0x7c(%rbp), %eax
subl $0xc353, %eax           # imm = 0xC353
je 0x6bbe
jmp 0x6ada
movl -0x7c(%rbp), %eax
subl $0xc4a5, %eax           # imm = 0xC4A5
je 0x6cbc
jmp 0x6cc3
cmpl $0x0, 0x18(%rbp)
jne 0x6b1b
leaq 0x70686(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x6b1b
leaq 0x6620a(%rip), %rdi     # 0x6cd18
movb $0x0, %al
callq 0x3110
addl -0x64(%rbp), %eax
movl %eax, -0x64(%rbp)
movq -0x18(%rbp), %rax
movzwl (%rax), %edi
callq 0xd580
movq %rax, -0x58(%rbp)
movl -0x64(%rbp), %edi
callq 0x1ff00
movl $0x0, -0x64(%rbp)
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rsi
movw -0xa(%rbp), %ax
movq -0x40(%rbp), %rcx
movq -0x28(%rbp), %r8
movq -0x58(%rbp), %r9
movzwl %ax, %edx
callq 0x7c40
jmp 0x6d81
cmpl $0x0, 0x18(%rbp)
jne 0x6b91
leaq 0x70610(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x6b91
leaq 0x66194(%rip), %rdi     # 0x6cd18
movb $0x0, %al
callq 0x3110
addl -0x64(%rbp), %eax
movl %eax, -0x64(%rbp)
movl -0x64(%rbp), %edi
callq 0x1ff00
movl $0x0, -0x64(%rbp)
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rsi
movq -0x40(%rbp), %rdx
movzwl -0xa(%rbp), %ecx
callq 0x82f0
jmp 0x6d81
cmpl $0x0, 0x18(%rbp)
jne 0x6bec
leaq 0x705b5(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x6bec
leaq 0x66139(%rip), %rdi     # 0x6cd18
movb $0x0, %al
callq 0x3110
addl -0x64(%rbp), %eax
movl %eax, -0x64(%rbp)
movq -0x8(%rbp), %rdi
movq -0x40(%rbp), %rdx
movl $0x8, %esi
callq 0x47a0
movq %rax, -0x60(%rbp)
cmpq $0x0, %rax
je 0x6c7b
movq -0x60(%rbp), %rdi
leaq 0x5da5a(%rip), %rsi     # 0x6466d
movl $0x8, %edx
callq 0x3080
cmpl $0x0, %eax
jne 0x6c7b
leaq 0x70557(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x1040000, %rax        # imm = 0x1040000
cmpq $0x0, %rax
je 0x6c4c
leaq 0x5da36(%rip), %rdi     # 0x64675
movb $0x0, %al
callq 0x3110
addl -0x64(%rbp), %eax
movl %eax, -0x64(%rbp)
movl -0x64(%rbp), %edi
callq 0x1ff00
movl $0x0, -0x64(%rbp)
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rsi
subq $0x8, %rsi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
movzwl -0xa(%rbp), %ecx
callq 0x8910
jmp 0x6cb7
movl -0x64(%rbp), %edi
callq 0x1ef50
movl %eax, -0x64(%rbp)
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x48(%rbp)
movq -0x8(%rbp), %rdi
movq -0x40(%rbp), %rsi
movq -0x48(%rbp), %rdx
movq -0x48(%rbp), %rcx
movl $0x10, %r8d
xorl %r9d, %r9d
movl $0x2, (%rsp)
callq 0x8aa0
jmp 0x6d81
jmp 0x6d81
jmp 0x6cc3
cmpl $0x0, 0x18(%rbp)
je 0x6d6a
leaq 0x71734(%rip), %rax     # 0x78408
cmpq $0x0, (%rax)
jne 0x6cf0
leaq 0x5d99e(%rip), %rdi     # 0x6467f
movb $0x0, %al
callq 0x3110
addl -0x64(%rbp), %eax
movl %eax, -0x64(%rbp)
jmp 0x6d68
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
leaq 0x7170c(%rip), %rax     # 0x78408
cmpq %rcx, (%rax)
je 0x6d15
leaq 0x71700(%rip), %rax     # 0x78408
movq (%rax), %rax
movq -0x18(%rbp), %rcx
cmpq 0x8(%rcx), %rax
jbe 0x6d23
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x48(%rbp)
jmp 0x6d31
leaq 0x716de(%rip), %rax     # 0x78408
movq (%rax), %rax
movq %rax, -0x48(%rbp)
movl $0x1, %edi
callq 0x1ef50
movl %eax, -0x64(%rbp)
movq -0x8(%rbp), %rdi
movq -0x40(%rbp), %rsi
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rdx
movq -0x48(%rbp), %rcx
movl 0x10(%rbp), %r9d
movl $0xc, %r8d
movl $0x2, (%rsp)
callq 0x8aa0
jmp 0x6d6a
movq -0x8(%rbp), %rdi
movq -0x40(%rbp), %rsi
movq -0x18(%rbp), %rax
addq 0x8(%rax), %rsi
xorl %edx, %edx
callq 0x3200
cmpl $0x0, 0x18(%rbp)
jne 0x6daf
leaq 0x703f2(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x6daf
leaq 0x5df2c(%rip), %rdi     # 0x64cce
movb $0x0, %al
callq 0x3110
addl -0x64(%rbp), %eax
movl %eax, -0x64(%rbp)
jmp 0x70c7
movq -0x18(%rbp), %rax
movzwl (%rax), %eax
cmpl $0xc68b, %eax           # imm = 0xC68B
jne 0x6dd9
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rsi
movq -0x40(%rbp), %rdx
callq 0x8e70
jmp 0x6dee
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rsi
movq -0x40(%rbp), %rdx
callq 0x9110
jmp 0x70c7
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rsi
movq -0x40(%rbp), %rdx
callq 0x93c0
jmp 0x70c7
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rsi
movq -0x40(%rbp), %rdx
callq 0x8e70
leaq 0x75887(%rip), %rax     # 0x7c6b0
movl (%rax), %eax
andl $0x8, %eax
cmpl $0x0, %eax
je 0x6eb8
movq -0x18(%rbp), %rax
movzwl (%rax), %eax
cmpl $0x10f, %eax            # imm = 0x10F
jne 0x6e6c
leaq 0x715e4(%rip), %rax     # 0x78430
movq (%rax), %rdi
callq 0x26d90
movl %eax, %esi
leaq 0x5d838(%rip), %rdi     # 0x64695
movb $0x0, %al
callq 0x3110
addl -0x64(%rbp), %eax
movl %eax, -0x64(%rbp)
jmp 0x6eb6
movq -0x18(%rbp), %rax
movzwl (%rax), %eax
cmpl $0x110, %eax            # imm = 0x110
jne 0x6eb4
leaq 0x715af(%rip), %rax     # 0x78430
movq (%rax), %rdi
callq 0x26d90
movl %eax, %edi
leaq 0x715a6(%rip), %rax     # 0x78438
movq (%rax), %rsi
xorl %eax, %eax
movl %eax, %edx
callq 0x26e20
movl %eax, %esi
leaq 0x5d7ee(%rip), %rdi     # 0x64695
movb $0x0, %al
callq 0x3110
addl -0x64(%rbp), %eax
movl %eax, -0x64(%rbp)
jmp 0x6eb6
jmp 0x6eb8
jmp 0x70c7
movq -0x18(%rbp), %rax
movzwl (%rax), %eax
cmpl $0x111, %eax            # imm = 0x111
jne 0x6edf
leaq 0x5d20a(%rip), %rdi     # 0x640dc
movb $0x0, %al
callq 0x3110
addl -0x64(%rbp), %eax
movl %eax, -0x64(%rbp)
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rsi
movw -0xa(%rbp), %ax
movq -0x40(%rbp), %rcx
movzwl %ax, %edx
callq 0x9660
movq -0x18(%rbp), %rax
movzwl (%rax), %eax
cmpl $0x117, %eax            # imm = 0x117
jne 0x6f52
movq -0x8(%rbp), %rdi
movw -0xa(%rbp), %si
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rdx
addq -0x20(%rbp), %rdx
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rcx
movq -0x18(%rbp), %rax
movzwl %si, %esi
movzwl 0x2(%rax), %r8d
callq 0x20740
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rsi
leaq 0x5d186(%rip), %rdi     # 0x640cb
movb $0x0, %al
callq 0x3110
addl -0x64(%rbp), %eax
movl %eax, -0x64(%rbp)
jmp 0x70c7
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rsi
movw -0xa(%rbp), %ax
movq -0x40(%rbp), %rcx
movzwl %ax, %edx
callq 0x9b30
jmp 0x70c7
movq -0x18(%rbp), %rax
movzwl (%rax), %eax
cmpl $0x111, %eax            # imm = 0x111
jne 0x6f9a
leaq 0x5d14f(%rip), %rdi     # 0x640dc
movb $0x0, %al
callq 0x3110
addl -0x64(%rbp), %eax
movl %eax, -0x64(%rbp)
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rsi
movw -0xa(%rbp), %ax
movq -0x40(%rbp), %rcx
movzwl %ax, %edx
callq 0x9df0
movq -0x18(%rbp), %rax
movzwl (%rax), %eax
cmpl $0x117, %eax            # imm = 0x117
jne 0x700d
movq -0x8(%rbp), %rdi
movw -0xa(%rbp), %si
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rdx
addq -0x20(%rbp), %rdx
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rcx
movq -0x18(%rbp), %rax
movzwl %si, %esi
movzwl 0x2(%rax), %r8d
callq 0x20740
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rsi
leaq 0x5d0cb(%rip), %rdi     # 0x640cb
movb $0x0, %al
callq 0x3110
addl -0x64(%rbp), %eax
movl %eax, -0x64(%rbp)
jmp 0x70c7
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rsi
movw -0xa(%rbp), %ax
movq -0x40(%rbp), %rcx
movzwl %ax, %edx
callq 0xa2b0
jmp 0x70c7
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rsi
movw -0xa(%rbp), %ax
movq -0x40(%rbp), %rcx
movzwl %ax, %edx
callq 0xa560
jmp 0x70c7
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rsi
movw -0xa(%rbp), %ax
movq -0x40(%rbp), %rcx
movzwl %ax, %edx
callq 0xab90
jmp 0x70c7
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rsi
movw -0xa(%rbp), %ax
movq -0x40(%rbp), %rcx
movzwl %ax, %edx
callq 0xb0f0
jmp 0x70c7
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rsi
movw -0xa(%rbp), %ax
movq -0x40(%rbp), %rcx
movzwl %ax, %edx
callq 0xb380
jmp 0x70c7
movq -0x18(%rbp), %rax
movzwl 0x2(%rax), %esi
leaq 0x5d5e2(%rip), %rdi     # 0x6469c
movb $0x0, %al
callq 0x3110
addl -0x64(%rbp), %eax
movl %eax, -0x64(%rbp)
movl -0x64(%rbp), %edi
callq 0x1ff00
movl $0x0, -0x64(%rbp)
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rsi
movw -0xa(%rbp), %ax
movq -0x20(%rbp), %rcx
movzwl %ax, %edx
callq 0x22900
movl -0x64(%rbp), %edi
callq 0x1ef50
movl %eax, -0x64(%rbp)
jmp 0x7150
leaq 0x5d5ac(%rip), %rdi     # 0x646ae
movb $0x0, %al
callq 0x3110
addl -0x64(%rbp), %eax
movl %eax, -0x64(%rbp)
cmpq $0x0, -0x8(%rbp)
jne 0x712a
leaq 0x5d5b8(%rip), %rdi     # 0x646d5
movb $0x0, %al
callq 0x3110
addl -0x64(%rbp), %eax
movl %eax, -0x64(%rbp)
cmpq $0x0, -0x18(%rbp)
jne 0x7145
leaq 0x5d5b7(%rip), %rdi     # 0x646ef
movb $0x0, %al
callq 0x3110
addl -0x64(%rbp), %eax
movl %eax, -0x64(%rbp)
movl -0x64(%rbp), %edi
callq 0x1ef50
movl %eax, -0x64(%rbp)
movq -0x38(%rbp), %rax
addq $0x90, %rsp
popq %rbp
retq
nopl (%rax)