// File: /workspace/github_c_makefile_star2_O0/ww9210[P]xnuca_final_ssp/elf.c
// Function: ELF64_HeaderGetMachineType
ELF64_MachineType ELF64_HeaderGetMachineType( ELF64_HeaderRef header )
{
    if( header == NULL )
    {
        return ELF64_MachineTypeUnknown;
    }
    
    switch( ELF64_HeaderGetMachine( header ) )
    {
        case 0:     return ELF64_MachineTypeUnknown;
        case 1:     return ELF64_MachineTypeM32;
        case 2:     return ELF64_MachineTypeSPARC;
        case 3:     return ELF64_MachineType386;
        case 4:     return ELF64_MachineType68K;
        case 5:     return ELF64_MachineType88K;
        case 7:     return ELF64_MachineType860;
        case 8:     return ELF64_MachineTypeMIPS;
        case 9:     return ELF64_MachineTypeS370;
        case 10:    return ELF64_MachineTypeMIPSRS3LE;
        case 15:    return ELF64_MachineTypePARISC;
        case 17:    return ELF64_MachineTypeVPP500;
        case 18:    return ELF64_MachineTypeSPARC32Plus;
        case 19:    return ELF64_MachineType960;
        case 20:    return ELF64_MachineTypePPC;
        case 21:    return ELF64_MachineTypePPC64;
        case 36:    return ELF64_MachineTypeV800;
        case 37:    return ELF64_MachineTypeFR20;
        case 38:    return ELF64_MachineTypeRH32;
        case 39:    return ELF64_MachineTypeRCE;
        case 40:    return ELF64_MachineTypeARM;
        case 41:    return ELF64_MachineTypeAlpha;
        case 42:    return ELF64_MachineTypeSH;
        case 43:    return ELF64_MachineTypeSPARCV9;
        case 44:    return ELF64_MachineTypeTricore;
        case 45:    return ELF64_MachineTypeARC;
        case 46:    return ELF64_MachineTypeH8300;
        case 47:    return ELF64_MachineTypeH8300H;
        case 48:    return ELF64_MachineTypeH8S;
        case 49:    return ELF64_MachineTypeH8500;
        case 50:    return ELF64_MachineTypeIA64;
        case 51:    return ELF64_MachineTypeMIPSX;
        case 52:    return ELF64_MachineTypeColdFire;
        case 53:    return ELF64_MachineType68HC12;
        case 54:    return ELF64_MachineTypeMMA;
        case 55:    return ELF64_MachineTypePCP;
        case 56:    return ELF64_MachineTypeNCPU;
        case 57:    return ELF64_MachineTypeNDR1;
        case 58:    return ELF64_MachineTypeStarCore;
        case 59:    return ELF64_MachineTypeME16;
        case 60:    return ELF64_MachineTypeST100;
        case 61:    return ELF64_MachineTypeTinyJ;
        case 66:    return ELF64_MachineTypeFX66;
        case 67:    return ELF64_MachineTypeST9Plus;
        case 68:    return ELF64_MachineTypeST7;
        case 69:    return ELF64_MachineType68HC16;
        case 70:    return ELF64_MachineType68HC11;
        case 71:    return ELF64_MachineType68HC08;
        case 72:    return ELF64_MachineType68HC05;
        case 73:    return ELF64_MachineTypeSVX;
        case 74:    return ELF64_MachineTypeST19;
        case 75:    return ELF64_MachineTypeVAX;
        case 76:    return ELF64_MachineTypeCRIS;
        case 77:    return ELF64_MachineTypeJavelin;
        case 78:    return ELF64_MachineTypeFirePath;
        case 79:    return ELF64_MachineTypeZSP;
        case 80:    return ELF64_MachineTypeMMIX;
        case 81:    return ELF64_MachineTypeHUANY;
        case 82:    return ELF64_MachineTypePrism;
        default:    break;
    }
    
    return ELF64_MachineTypeUnknown;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x484f
movl $0x0, -0x4(%rbp)
jmp 0x4b20
movq -0x10(%rbp), %rdi
callq 0x4800
movzwl %ax, %ecx
movq %rcx, -0x18(%rbp)
subw $0x52, %ax
ja 0x4b17
movq -0x18(%rbp), %rax
leaq 0x2268(%rip), %rcx      # 0x6adc
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl $0x0, -0x4(%rbp)
jmp 0x4b20
movl $0x1, -0x4(%rbp)
jmp 0x4b20
movl $0x2, -0x4(%rbp)
jmp 0x4b20
movl $0x3, -0x4(%rbp)
jmp 0x4b20
movl $0x4, -0x4(%rbp)
jmp 0x4b20
movl $0x5, -0x4(%rbp)
jmp 0x4b20
movl $0x7, -0x4(%rbp)
jmp 0x4b20
movl $0x8, -0x4(%rbp)
jmp 0x4b20
movl $0x9, -0x4(%rbp)
jmp 0x4b20
movl $0xa, -0x4(%rbp)
jmp 0x4b20
movl $0xf, -0x4(%rbp)
jmp 0x4b20
movl $0x11, -0x4(%rbp)
jmp 0x4b20
movl $0x12, -0x4(%rbp)
jmp 0x4b20
movl $0x13, -0x4(%rbp)
jmp 0x4b20
movl $0x14, -0x4(%rbp)
jmp 0x4b20
movl $0x15, -0x4(%rbp)
jmp 0x4b20
movl $0x24, -0x4(%rbp)
jmp 0x4b20
movl $0x25, -0x4(%rbp)
jmp 0x4b20
movl $0x26, -0x4(%rbp)
jmp 0x4b20
movl $0x27, -0x4(%rbp)
jmp 0x4b20
movl $0x28, -0x4(%rbp)
jmp 0x4b20
movl $0x29, -0x4(%rbp)
jmp 0x4b20
movl $0x2a, -0x4(%rbp)
jmp 0x4b20
movl $0x2b, -0x4(%rbp)
jmp 0x4b20
movl $0x2c, -0x4(%rbp)
jmp 0x4b20
movl $0x2d, -0x4(%rbp)
jmp 0x4b20
movl $0x2e, -0x4(%rbp)
jmp 0x4b20
movl $0x2f, -0x4(%rbp)
jmp 0x4b20
movl $0x30, -0x4(%rbp)
jmp 0x4b20
movl $0x31, -0x4(%rbp)
jmp 0x4b20
movl $0x32, -0x4(%rbp)
jmp 0x4b20
movl $0x33, -0x4(%rbp)
jmp 0x4b20
movl $0x34, -0x4(%rbp)
jmp 0x4b20
movl $0x35, -0x4(%rbp)
jmp 0x4b20
movl $0x36, -0x4(%rbp)
jmp 0x4b20
movl $0x37, -0x4(%rbp)
jmp 0x4b20
movl $0x38, -0x4(%rbp)
jmp 0x4b20
movl $0x39, -0x4(%rbp)
jmp 0x4b20
movl $0x3a, -0x4(%rbp)
jmp 0x4b20
movl $0x3b, -0x4(%rbp)
jmp 0x4b20
movl $0x3c, -0x4(%rbp)
jmp 0x4b20
movl $0x3d, -0x4(%rbp)
jmp 0x4b20
movl $0x42, -0x4(%rbp)
jmp 0x4b20
movl $0x43, -0x4(%rbp)
jmp 0x4b20
movl $0x44, -0x4(%rbp)
jmp 0x4b20
movl $0x45, -0x4(%rbp)
jmp 0x4b20
movl $0x46, -0x4(%rbp)
jmp 0x4b20
movl $0x47, -0x4(%rbp)
jmp 0x4b20
movl $0x48, -0x4(%rbp)
jmp 0x4b20
movl $0x49, -0x4(%rbp)
jmp 0x4b20
movl $0x4a, -0x4(%rbp)
jmp 0x4b20
movl $0x4b, -0x4(%rbp)
jmp 0x4b20
movl $0x4c, -0x4(%rbp)
jmp 0x4b20
movl $0x4d, -0x4(%rbp)
jmp 0x4b20
movl $0x4e, -0x4(%rbp)
jmp 0x4b20
movl $0x4f, -0x4(%rbp)
jmp 0x4b20
movl $0x50, -0x4(%rbp)
jmp 0x4b20
movl $0x51, -0x4(%rbp)
jmp 0x4b20
movl $0x52, -0x4(%rbp)
jmp 0x4b20
jmp 0x4b19
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)