// File: /workspace/github_c_makefile_star2_O3/hfiguiere[P]exifprobe/maker_canon.c
// Function: canon_shotinfo
unsigned long
canon_shotinfo(FILE *inptr,unsigned short byteorder,char *tagprefix,
                            unsigned long offset,unsigned long dirlength,int indent)
{
    unsigned long count;
    unsigned long end_offset;
    unsigned short length,value;
    int i;
    int chpr = 0;

    end_offset = offset + dirlength;
    length = read_ushort(inptr,byteorder,offset);
    if(PRINT_SECTION)
    {
        chpr += printf(" length %lu",dirlength);
        if(length != dirlength)
        {
            chpr = newline(chpr);
            PUSHCOLOR(RED);
            print_tag_address(SECTION,offset,indent,"@");
            chpr += printf("# WARNING: length %u from segment does not match length %lu from directory",
                        length,dirlength);
            POPCOLOR();
        }
    }
    chpr = newline(chpr);

    if((PRINT_ENTRY))
    {
        offset += 2;
        count = (dirlength / sizeof(unsigned short)) - 1;

        for(i = 1; i <= count; ++i)
        {
            value = read_ushort(inptr,byteorder,offset);
            print_tag_address(ENTRY,offset,indent,"@");
            if((PRINT_TAGINFO))
                chpr += printf("%s",tagprefix);
            offset += 2;
            switch(i)
            {
                case 1:
                    if((PRINT_TAGINFO))
                        chpr += printf(".%02d_%-28.28s",i,"Unknown");
                    if((PRINT_VALUE))
                        chpr += printf(" = %#x%u",value,value);
                    break;
                case 2:
                    if((PRINT_TAGINFO))
                        chpr += printf(".%02d_%-28.28s",i,"ISO");
                    if((PRINT_VALUE))
                        chpr += printf(" = %u",value);
                    break;
                case 3:
                    if((PRINT_TAGINFO))
                        chpr += printf(".%02d_%-28.28s",i,"Unknown");
                    if((PRINT_VALUE))
                        chpr += printf(" = %#x%u",value,value);
                    break;
                case 4:
                    if((PRINT_TAGINFO))
                        chpr += printf(".%02d_%-28.28s",i,"Unknown");
                    if((PRINT_VALUE))
                        chpr += printf(" = %#x%u",value,value);
                    break;
                case 5:
                    if((PRINT_TAGINFO))
                        chpr += printf(".%02d_%-28.28s",i,"Unknown");
                    if((PRINT_VALUE))
                        chpr += printf(" = %#x%u",value,value);
                    break;
                case 6: 
                    if((PRINT_TAGINFO))
                        chpr += printf(".%02d_%-28.28s",i,"ExposureCompensation**");
                    if((PRINT_VALUE))
                        chpr += printf(" = %u",value);
                    break;
                case 7:
                    if((PRINT_TAGINFO))
                        chpr += printf(".%02d_%-28.28s",i,"WhiteBalance");
                    if((PRINT_VALUE))
                    {
                        chpr += printf(" = %u",value);
                        print_startvalue();
                        switch(value)
                        {
                            case 0: chpr += printf("Auto"); break;
                            case 1: chpr += printf("Sunny"); break;
                            case 2: chpr += printf("Cloudy"); break;
                            case 3: chpr += printf("Tungsten"); break;
                            case 4: chpr += printf("Fluorescent"); break;
                            case 5: chpr += printf("Flash"); break;
                            case 6: chpr += printf("Custom"); break;
                            default: printred("undefined"); break;
                        }
                        print_endvalue();
                    }
                    break;
                case 8:
                    if((PRINT_TAGINFO))
                        chpr += printf(".%02d_%-28.28s",i,"Unknown");
                    if((PRINT_VALUE))
                        chpr += printf(" = %#x%u",value,value);
                    break;
                case 9:
                    if((PRINT_TAGINFO))
                        chpr += printf(".%02d_%-28.28s",i,"SequenceNumber");
                    if((PRINT_VALUE))
                        chpr += printf(" = %u",value);
                    break;
                case 10:
                    if((PRINT_TAGINFO))
                        chpr += printf(".%02d_%-28.28s",i,"Unknown");
                    if((PRINT_VALUE))
                        chpr += printf(" = %#x%u",value,value);
                    break;
                case 11:
                    if((PRINT_TAGINFO))
                        chpr += printf(".%02d_%-28.28s",i,"Unknown");
                    if((PRINT_VALUE))
                        chpr += printf(" = %#x%u",value,value);
                    break;
                case 12:
                    if((PRINT_TAGINFO))
                        chpr += printf(".%02d_%-28.28s",i,"Unknown");
                    if((PRINT_VALUE))
                        chpr += printf(" = %#x%u",value,value);
                    break;
                case 13:
                    if((PRINT_TAGINFO))
                        chpr += printf(".%02d_%-28.28s",i,"Unknown");
                    if((PRINT_VALUE))
                        chpr += printf(" = %#x%u",value,value);
                    break;
                case 14:
                    if((PRINT_TAGINFO))
                        chpr += printf(".%02d_%-28.28s",i,"AFPositionUsed");
                    if((PRINT_VALUE))
                    {
                        chpr += printf(" = %#x",value);
                        print_startvalue();
                        if(value & 0xf000)
                        {
                            switch(value & 0x7)
                            {
                                case 0: chpr += printf("none (MF)"); break;
                                case 1: chpr += printf("right"); break;
                                case 2: chpr += printf("center"); break;
                                case 3: chpr += printf("center+right"); break;
                                case 4: chpr += printf("left"); break;
                                case 5: chpr += printf("left+right"); break;
                                case 6: chpr += printf("left+center"); break;
                                case 7: chpr += printf("all"); break;
                                default: printred("undefined"); break;
                            }
                            chpr += printf(" of %d points",(value & 0xf000) >> 12);
                        }
                        else
                            chpr += printf("MF");
                        print_endvalue();
                    }
                    break;
                case 15:
                    if((PRINT_TAGINFO))
                        chpr += printf(".%02d_%-28.28s",i,"FlashBias");
                    if((PRINT_VALUE))
                    {
                        chpr += printf(" = %#x",value);
                        print_startvalue();
                        switch(value)
                        {
                            case 0xffc0: chpr += printf("-2 EV"); break;
                            case 0xffcc: chpr += printf("-1.67 EV"); break;
                            case 0xffd0: chpr += printf("-1.50 EV"); break;
                            case 0xffd4: chpr += printf("-1.33 EV"); break;
                            case 0xffe0: chpr += printf("-1 EV"); break;
                            case 0xffec: chpr += printf("-0.67 EV"); break;
                            case 0xfff0: chpr += printf("-0.50 EV"); break;
                            case 0xfff4: chpr += printf("-0.33 EV"); break;
                            case 0x0000: chpr += printf("0 EV"); break;
                            case 0x000c: chpr += printf("+0.33 EV"); break;
                            case 0x0010: chpr += printf("+0.50 EV"); break;
                            case 0x0014: chpr += printf("+0.67 EV"); break;
                            case 0x0020: chpr += printf("+1 EV"); break;
                            case 0x002c: chpr += printf("+1.33 EV"); break;
                            case 0x0030: chpr += printf("+1.50 EV"); break;
                            case 0x0034: chpr += printf("+1.67 EV"); break;
                            case 0x0040: chpr += printf("+2 EV"); break;
                            default: printred("undefined"); break;
                        }
                        print_endvalue();
                    }
                    break;
                case 16:
                    if((PRINT_TAGINFO))
                        chpr += printf(".%02d_%-28.28s",i,"AutoExposureBracketing**");
                    if((PRINT_VALUE))
                        chpr += printf(" = %u",value);
                    break;
                case 17:
                    if((PRINT_TAGINFO))
                        chpr += printf(".%02d_%-28.28s",i,"AEBracketValue**");
                    if((PRINT_VALUE))
                        chpr += printf(" = %u",value);
                    break;
                case 18:
                    if((PRINT_TAGINFO))
                        chpr += printf(".%02d_%-28.28s",i,"Unknown");
                    if((PRINT_VALUE))
                        chpr += printf(" = %#x%u",value,value);
                    break;
                case 19:
                    if((PRINT_TAGINFO))
                        chpr += printf(".%02d_%-28.28s",i,"FocusDistanceMax**");
                    if((PRINT_VALUE))
                        chpr += printf(" = %u mm",value);
                    break;
                case 20:
                    if((PRINT_TAGINFO))
                        chpr += printf(".%02d_%-28.28s",i,"FocusDistanceMin**");
                    if((PRINT_VALUE))
                        chpr += printf(" = %u mm",value);
                    break;
                case 21:
                    if((PRINT_TAGINFO))
                        chpr += printf(".%02d_%-28.28s",i,"ApertureValue**");
                    if((PRINT_VALUE))
                        chpr += printf(" = %u",value);
                    break;
                case 22:
                    if((PRINT_TAGINFO))
                        chpr += printf(".%02d_%-28.28s",i,"ExposureTime**");
                    if((PRINT_VALUE))
                        chpr += printf(" = %u",value);
                    break;
                case 24:
                    if((PRINT_TAGINFO))
                        chpr += printf(".%02d_%-28.28s",i,"BulbDuration**");
                    if((PRINT_VALUE))
                        chpr += printf(" = %u",value);
                    break;
                case 27:
                    if((PRINT_TAGINFO))
                        chpr += printf(".%02d_%-28.28s",i,"AutoRotate**");
                    if((PRINT_VALUE))
                        chpr += printf(" = %u",value);
                    break;
                case 29:
                    if((PRINT_TAGINFO))
                        chpr += printf(".%02d_%-28.28s",i,"SelfTimer2**");
                    if((PRINT_VALUE))
                        chpr += printf(" = %u",value);
                    break;
                default:
                    if((PRINT_TAGINFO))
                        chpr += printf(".%02d_%-28.28s",i,"Undefined");
                    if((PRINT_VALUE))
                        chpr += printf(" = %#x%u",value,value);
                    break;
            }
            chpr = newline(chpr);
        }
    }
    setcharsprinted(chpr);
    return(end_offset);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
movl %r9d, 0x4(%rsp)
movq %r8, %r12
movq %rcx, %r13
movq %rdx, 0x20(%rsp)
movl %esi, %ebx
movq %rdi, 0x30(%rsp)
movq %rcx, %rdx
callq 0x45af
movl %eax, %ebp
leaq 0x201e7(%rip), %rax     # 0x58180
xorl %edi, %edi
testb $0x4, 0x2(%rax)
je 0x37ff4
leaq 0x107b2(%rip), %rdi     # 0x4875a
movq %r12, %rsi
xorl %eax, %eax
callq 0x3120
movl %eax, %edi
movzwl %bp, %r14d
cmpq %r12, %r14
je 0x37ff4
callq 0x1707a
movl %eax, %ebp
leaq 0x9111(%rip), %rcx      # 0x410dc
movl $0x40000, %edi          # imm = 0x40000
movq %r13, %rsi
movl 0x4(%rsp), %edx
callq 0x55eb
leaq 0x14e4a(%rip), %rdi     # 0x4ce2d
movl %r14d, %esi
movq %r12, %rdx
xorl %eax, %eax
callq 0x3120
movl %eax, %edi
addl %ebp, %edi
callq 0x1707a
movl %eax, %r15d
leaq 0x2017d(%rip), %rax     # 0x58180
testl $0x4003333, (%rax)      # imm = 0x4003333
movq %r13, 0x18(%rsp)
je 0x38021
movq %r12, %rax
shrq %rax
movq %rax, 0x28(%rsp)
cmpq $0x1, %rax
jne 0x38040
addq 0x18(%rsp), %r12
movl %r15d, %edi
callq 0x17a82
movq %r12, %rax
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
addq $0x2, %r13
movl $0x1, %r14d
movzwl %bx, %eax
movl %eax, 0x14(%rsp)
movl 0x4(%rsp), %ebp
movq %r12, 0x8(%rsp)
movq 0x30(%rsp), %rdi
movl 0x14(%rsp), %esi
movq %r13, %rdx
callq 0x45af
movl %eax, %ebx
movl $0x4003333, %edi        # imm = 0x4003333
movq %r13, %rsi
movl %ebp, %edx
leaq 0x905e(%rip), %rcx      # 0x410dc
callq 0x55eb
leaq 0x200f6(%rip), %rax     # 0x58180
movzwl (%rax), %eax
testl $0x3003, %eax           # imm = 0x3003
je 0x380aa
leaq 0x8ffc(%rip), %rdi      # 0x41097
movq 0x20(%rsp), %rsi
xorl %eax, %eax
callq 0x3120
addl %eax, %r15d
leaq 0x200cf(%rip), %rax     # 0x58180
movq (%rax), %rax
leal -0x1(%r14), %ecx
cmpl $0x1c, %ecx
ja 0x38581
leaq 0x1470c(%rip), %rdx     # 0x4c7d4
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
testl $0x3003, %eax           # imm = 0x3003
je 0x385ad
leaq 0x150f4(%rip), %rdi     # 0x4d1d7
leaq 0x125bc(%rip), %rdx     # 0x4a6a6
movl $0x1, %esi
jmp 0x38599
testl $0x3003, %eax           # imm = 0x3003
je 0x382b4
leaq 0x150d1(%rip), %rdi     # 0x4d1d7
leaq 0x15207(%rip), %rdx     # 0x4d314
movl $0x13, %esi
jmp 0x382a0
testl $0x3003, %eax           # imm = 0x3003
je 0x3856a
leaq 0x150ae(%rip), %rdi     # 0x4d1d7
leaq 0x1521a(%rip), %rdx     # 0x4d34a
movl $0x16, %esi
jmp 0x38556
testl $0x3003, %eax           # imm = 0x3003
je 0x38168
leaq 0x1508f(%rip), %rdi     # 0x4d1d7
leaq 0x150cc(%rip), %rdx     # 0x4d21b
movl $0xe, %esi
xorl %eax, %eax
callq 0x3120
addl %eax, %r15d
leaq 0x2001b(%rip), %rax     # 0x58180
movq (%rax), %rax
testb $0x30, %al
je 0x3868e
movzwl %bx, %ebp
leaq 0x10f8a(%rip), %rdi     # 0x49104
movl %ebp, %esi
xorl %eax, %eax
callq 0x3120
movl %eax, %ebx
addl %r15d, %ebx
xorl %eax, %eax
callq 0x96fd
cmpl $0x1000, %ebp           # imm = 0x1000
jae 0x385f3
leaq 0x1193a(%rip), %rdi     # 0x49adc
xorl %eax, %eax
callq 0x3120
movl %eax, %r15d
addl %ebx, %r15d
jmp 0x3862b
testl $0x3003, %eax           # imm = 0x3003
je 0x3856a
leaq 0x15011(%rip), %rdi     # 0x4d1d7
leaq 0x1519b(%rip), %rdx     # 0x4d368
movl $0x1b, %esi
jmp 0x38556
testl $0x3003, %eax           # imm = 0x3003
je 0x385ad
leaq 0x14fee(%rip), %rdi     # 0x4d1d7
leaq 0x124b6(%rip), %rdx     # 0x4a6a6
movl $0xb, %esi
jmp 0x38599
testl $0x3003, %eax           # imm = 0x3003
je 0x385ad
leaq 0x14fcb(%rip), %rdi     # 0x4d1d7
leaq 0x12493(%rip), %rdx     # 0x4a6a6
movl $0x3, %esi
jmp 0x38599
testl $0x3003, %eax           # imm = 0x3003
je 0x385ad
leaq 0x14fa8(%rip), %rdi     # 0x4d1d7
leaq 0x12470(%rip), %rdx     # 0x4a6a6
movl $0x5, %esi
jmp 0x38599
testl $0x3003, %eax           # imm = 0x3003
je 0x3856a
leaq 0x14f85(%rip), %rdi     # 0x4d1d7
leaq 0x15100(%rip), %rdx     # 0x4d359
movl $0x18, %esi
jmp 0x38556
testl $0x3003, %eax           # imm = 0x3003
je 0x385ad
leaq 0x14f62(%rip), %rdi     # 0x4d1d7
leaq 0x1242a(%rip), %rdx     # 0x4a6a6
movl $0xd, %esi
jmp 0x38599
testl $0x3003, %eax           # imm = 0x3003
je 0x382b4
leaq 0x14f43(%rip), %rdi     # 0x4d1d7
leaq 0x1508c(%rip), %rdx     # 0x4d327
movl $0x14, %esi
xorl %eax, %eax
callq 0x3120
addl %eax, %r15d
leaq 0x1fecf(%rip), %rax     # 0x58180
movq (%rax), %rax
testb $0x30, %al
je 0x385c7
movzwl %bx, %esi
leaq 0x1070a(%rip), %rdi     # 0x489d0
jmp 0x38578
testl $0x3003, %eax           # imm = 0x3003
je 0x3856a
leaq 0x14efa(%rip), %rdi     # 0x4d1d7
leaq 0x14f0b(%rip), %rdx     # 0x4d1ef
movl $0x6, %esi
jmp 0x38556
testl $0x3003, %eax           # imm = 0x3003
je 0x385ad
leaq 0x14ed7(%rip), %rdi     # 0x4d1d7
leaq 0x1239f(%rip), %rdx     # 0x4a6a6
movl $0xc, %esi
jmp 0x38599
testl $0x3003, %eax           # imm = 0x3003
je 0x385ad
leaq 0x14eb4(%rip), %rdi     # 0x4d1d7
leaq 0x1237c(%rip), %rdx     # 0x4a6a6
movl $0x4, %esi
jmp 0x38599
testl $0x3003, %eax           # imm = 0x3003
je 0x3856a
leaq 0x14e91(%rip), %rdi     # 0x4d1d7
leaq 0x112ee(%rip), %rdx     # 0x4963b
movl $0x2, %esi
jmp 0x38556
testl $0x3003, %eax           # imm = 0x3003
je 0x3856a
leaq 0x14e6e(%rip), %rdi     # 0x4d1d7
leaq 0x15005(%rip), %rdx     # 0x4d375
movl $0x1d, %esi
jmp 0x38556
testl $0x3003, %eax           # imm = 0x3003
je 0x383a8
leaq 0x14e4f(%rip), %rdi     # 0x4d1d7
leaq 0xae5c(%rip), %rdx      # 0x431eb
movl $0x7, %esi
xorl %eax, %eax
callq 0x3120
addl %eax, %r15d
leaq 0x1fddb(%rip), %rax     # 0x58180
movq (%rax), %rax
testb $0x30, %al
je 0x385e9
movzwl %bx, %r12d
leaq 0xcbe3(%rip), %rdi      # 0x44f9e
movl %r12d, %esi
xorl %eax, %eax
callq 0x3120
movl %eax, %ebp
addl %r15d, %ebp
xorl %eax, %eax
callq 0x96fd
cmpw $0x6, %bx
ja 0x3864f
leaq 0x144ea(%rip), %rax     # 0x4c8cc
movslq (%rax,%r12,4), %rcx
addq %rax, %rcx
jmpq *%rcx
leaq 0x13408(%rip), %rdi     # 0x4b7fa
jmp 0x38676
testl $0x3003, %eax           # imm = 0x3003
je 0x385ad
leaq 0x14dce(%rip), %rdi     # 0x4d1d7
leaq 0x12296(%rip), %rdx     # 0x4a6a6
movl $0x8, %esi
jmp 0x38599
testl $0x3003, %eax           # imm = 0x3003
je 0x38448
leaq 0x14daf(%rip), %rdi     # 0x4d1d7
leaq 0x12700(%rip), %rdx     # 0x4ab2f
movl $0xf, %esi
xorl %eax, %eax
callq 0x3120
addl %eax, %r15d
leaq 0x1fd3b(%rip), %rax     # 0x58180
movq (%rax), %rax
testb $0x30, %al
je 0x385c7
movzwl %bx, %esi
leaq 0x10caa(%rip), %rdi     # 0x49104
xorl %eax, %eax
callq 0x3120
addl %r15d, %eax
movl %eax, %r15d
xorl %eax, %eax
callq 0x96fd
leal 0x40(%rbx), %eax
rolw $0xe, %ax
cmpw $0x20, %ax
ja 0x386e8
movzwl %ax, %eax
leaq 0x143bf(%rip), %rcx     # 0x4c848
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x14dcd(%rip), %rdi     # 0x4d266
jmp 0x3873c
testl $0x3003, %eax           # imm = 0x3003
je 0x3856a
leaq 0x14d27(%rip), %rdi     # 0x4d1d7
leaq 0x14e33(%rip), %rdx     # 0x4d2ea
movl $0x10, %esi
jmp 0x38556
testl $0x3003, %eax           # imm = 0x3003
je 0x385ad
leaq 0x14d04(%rip), %rdi     # 0x4d1d7
leaq 0x121cc(%rip), %rdx     # 0x4a6a6
movl $0xa, %esi
jmp 0x38599
testl $0x3003, %eax           # imm = 0x3003
je 0x3856a
leaq 0x14ce5(%rip), %rdi     # 0x4d1d7
leaq 0x14d13(%rip), %rdx     # 0x4d20c
movl $0x9, %esi
jmp 0x38556
testl $0x3003, %eax           # imm = 0x3003
je 0x385ad
leaq 0x14cc5(%rip), %rdi     # 0x4d1d7
leaq 0x1218d(%rip), %rdx     # 0x4a6a6
movl $0x12, %esi
jmp 0x38599
testl $0x3003, %eax           # imm = 0x3003
je 0x3856a
leaq 0x14ca9(%rip), %rdi     # 0x4d1d7
leaq 0x14dce(%rip), %rdx     # 0x4d303
movl $0x11, %esi
jmp 0x38556
testl $0x3003, %eax           # imm = 0x3003
je 0x3856a
leaq 0x14c8d(%rip), %rdi     # 0x4d1d7
leaq 0x14de9(%rip), %rdx     # 0x4d33a
movl $0x15, %esi
xorl %eax, %eax
callq 0x3120
addl %eax, %r15d
leaq 0x1fc19(%rip), %rax     # 0x58180
movq (%rax), %rax
testb $0x30, %al
je 0x385c7
movzwl %bx, %esi
leaq 0xca26(%rip), %rdi      # 0x44f9e
xorl %eax, %eax
callq 0x3120
jmp 0x385c4
testl $0x3003, %eax           # imm = 0x3003
je 0x385ad
leaq 0x14c48(%rip), %rdi     # 0x4d1d7
movl %r14d, %esi
leaq 0x1042d(%rip), %rdx     # 0x489c6
xorl %eax, %eax
callq 0x3120
addl %eax, %r15d
leaq 0x1fbd6(%rip), %rax     # 0x58180
movq (%rax), %rax
testb $0x30, %al
je 0x385c7
movzwl %bx, %edx
leaq 0x14c2b(%rip), %rdi     # 0x4d1e6
movl %edx, %esi
xorl %eax, %eax
callq 0x3120
addl %eax, %r15d
movl %r15d, %edi
callq 0x1707a
movl %eax, %r15d
incq %r14
addq $0x2, %r13
cmpq %r14, 0x28(%rsp)
jne 0x3805a
jmp 0x38021
movq 0x8(%rsp), %r12
jmp 0x3868e
movl %ebp, %eax
andl $0x7, %eax
leaq 0x146fd(%rip), %rcx     # 0x4ccfc
movslq (%rcx,%rax,4), %rdi
addq %rcx, %rdi
xorl %eax, %eax
callq 0x3120
movl %eax, %r15d
shrl $0xc, %ebp
leaq 0x14c3e(%rip), %rdi     # 0x4d258
movl %ebp, %esi
xorl %eax, %eax
callq 0x3120
addl %eax, %ebx
addl %r15d, %ebx
movl %ebx, %r15d
movl 0x4(%rsp), %ebp
jmp 0x38746
leaq 0x12d96(%rip), %rdi     # 0x4b3d1
jmp 0x38676
leaq 0x1593e(%rip), %rdi     # 0x4df82
jmp 0x38676
leaq 0x15958(%rip), %rdi     # 0x4dfa5
jmp 0x38676
leaq 0x10813(%rip), %rdi     # 0x48e69
callq 0x5c26
jmp 0x3867f
leaq 0x14ba2(%rip), %rdi     # 0x4d206
jmp 0x38676
leaq 0x1381f(%rip), %rdi     # 0x4be8c
jmp 0x38676
leaq 0x159a4(%rip), %rdi     # 0x4e01a
xorl %eax, %eax
callq 0x3120
addl %eax, %ebp
movq 0x8(%rsp), %r12
xorl %eax, %eax
callq 0x971e
movl %ebp, %r15d
movl 0x4(%rsp), %ebp
jmp 0x385c7
leaq 0x14c2b(%rip), %rdi     # 0x4d2c9
jmp 0x3873c
leaq 0x14c07(%rip), %rdi     # 0x4d2b1
jmp 0x3873c
leaq 0x14bd1(%rip), %rdi     # 0x4d287
jmp 0x3873c
leaq 0x14c01(%rip), %rdi     # 0x4d2c3
jmp 0x3873c
leaq 0x14ba1(%rip), %rdi     # 0x4d26c
jmp 0x3873c
leaq 0x14bb9(%rip), %rdi     # 0x4d28d
jmp 0x3873c
leaq 0x14bdd(%rip), %rdi     # 0x4d2ba
jmp 0x3873c
leaq 0x14b98(%rip), %rdi     # 0x4d27e
jmp 0x3873c
leaq 0x1077a(%rip), %rdi     # 0x48e69
callq 0x5c26
jmp 0x38746
leaq 0x14b78(%rip), %rdi     # 0x4d275
jmp 0x3873c
leaq 0x14b90(%rip), %rdi     # 0x4d296
jmp 0x3873c
leaq 0x14b90(%rip), %rdi     # 0x4d29f
jmp 0x3873c
leaq 0x14bba(%rip), %rdi     # 0x4d2d2
jmp 0x3873c
leaq 0x14bba(%rip), %rdi     # 0x4d2db
jmp 0x3873c
leaq 0x14b7e(%rip), %rdi     # 0x4d2a8
jmp 0x3873c
leaq 0x14b82(%rip), %rdi     # 0x4d2b5
jmp 0x3873c
leaq 0x14ba8(%rip), %rdi     # 0x4d2e4
xorl %eax, %eax
callq 0x3120
addl %eax, %r15d
xorl %eax, %eax
callq 0x971e
jmp 0x385c7