-
-
Save marysaka/373a5dfb62497be65bbdaebcd775bda2 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#define UNLOADED_FILE 1 | |
#include <idc.idc> | |
static main(void) | |
{ | |
// set 'loading idc file' mode | |
set_inf_attr(INF_GENFLAGS, INFFL_LOADIDC|get_inf_attr(INF_GENFLAGS)); | |
GenInfo(); // various settings | |
Segments(); // segmentation | |
Enums(); // enumerations | |
Structures(); // structure types | |
ApplyStrucTInfos(); // structure type infos | |
Patches(); // manual patches | |
SegRegs(); // segment register values | |
Bytes(); // individual bytes (code,data) | |
Functions(); // function definitions | |
// clear 'loading idc file' mode | |
set_inf_attr(INF_GENFLAGS, ~INFFL_LOADIDC&get_inf_attr(INF_GENFLAGS)); | |
} | |
//------------------------------------------------------------------------ | |
// General information | |
static GenInfo(void) { | |
delete_all_segments(); // purge database | |
set_processor_type("ARM", SETPROC_USER); | |
set_inf_attr(INF_COMPILER, 6); | |
set_inf_attr(INF_STRLIT_BREAK, 0xA); | |
set_flag(INF_CMTFLAG, SW_ALLCMT, 0); | |
set_flag(INF_OUTFLAGS, OFLG_SHOW_VOID, 0); | |
set_inf_attr(INF_XREFNUM, 2); | |
set_flag(INF_OUTFLAGS, OFLG_SHOW_AUTO, 1); | |
set_inf_attr(INF_INDENT, 16); | |
set_inf_attr(INF_COMMENT, 40); | |
set_inf_attr(INF_MAXREF, 0x10); | |
} | |
//------------------------------------------------------------------------ | |
// Information about segmentation | |
static Segments(void) { | |
set_selector(0X1,0); | |
; | |
add_segm_ex(0X40000000,0X40006000,0X1,1,1,2,ADDSEG_NOSREG); | |
SegRename(0X40000000,".boot"); | |
SegClass (0X40000000,".boot"); | |
SegDefReg(0x40000000,"T",0x0); | |
SegDefReg(0x40000000,"DS",0x1); | |
add_segm_ex(0X40006000,0X40007000,0X1,1,1,2,ADDSEG_NOSREG); | |
SegRename(0X40006000,".secondarystack"); | |
SegClass (0X40006000,"STACK"); | |
SegDefReg(0x40006000,"T",0x0); | |
SegDefReg(0x40006000,"DS",0x1); | |
set_segm_type(0X40006000,9); | |
add_segm_ex(0X40007000,0X40008000,0X1,1,1,2,ADDSEG_NOSREG); | |
SegRename(0X40007000,".stack"); | |
SegClass (0X40007000,"STACK"); | |
SegDefReg(0x40007000,"T",0x0); | |
SegDefReg(0x40007000,"DS",0x1); | |
set_segm_type(0X40007000,9); | |
add_segm_ex(0X40010000,0X4001176C,0X1,1,1,2,ADDSEG_NOSREG); | |
SegRename(0X40010000,".text"); | |
SegClass (0X40010000,"CODE"); | |
SegDefReg(0x40010000,"T",0x0); | |
SegDefReg(0x40010000,"DS",0x1); | |
set_segm_type(0X40010000,2); | |
add_segm_ex(0X4001176C,0X4001278C,0X1,1,1,2,ADDSEG_NOSREG); | |
SegRename(0X4001176C,".rodata"); | |
SegClass (0X4001176C,"CONST"); | |
SegDefReg(0x4001176C,"T",0x1); | |
SegDefReg(0x4001176C,"DS",0x1); | |
set_segm_type(0X4001176C,3); | |
add_segm_ex(0X4001278C,0X400128BC,0X1,1,1,2,ADDSEG_NOSREG); | |
SegRename(0X4001278C,".data"); | |
SegClass (0X4001278C,"DATA"); | |
SegDefReg(0x4001278C,"T",0x1); | |
SegDefReg(0x4001278C,"DS",0x1); | |
set_segm_type(0X4001278C,3); | |
add_segm_ex(0X400128BC,0X40013FE0,0X1,1,1,2,ADDSEG_NOSREG); | |
SegRename(0X400128BC,".bss"); | |
SegClass (0X400128BC,"BSS"); | |
SegDefReg(0x400128BC,"T",0x1); | |
SegDefReg(0x400128BC,"DS",0x1); | |
set_segm_type(0X400128BC,9); | |
add_segm_ex(0X40013FE0,0X400347A0,0,1,1,5,ADDSEG_NOSREG); | |
SegRename(0X40013FE0,".pk11"); | |
SegClass (0X40013FE0,"CODE"); | |
SegDefReg(0x40013FE0,"T",0x1); | |
SegDefReg(0x40013FE0,"DS",0x1); | |
set_segm_type(0X40013FE0,2); | |
add_segm_ex(0X60005000,0X60005020,0X1,1,1,2,ADDSEG_NOSREG); | |
SegRename(0X60005000,".timers"); | |
SegClass (0X60005000,"IO"); | |
SegDefReg(0x60005000,"T",0x0); | |
SegDefReg(0x60005000,"DS",0x1); | |
add_segm_ex(0X6000F200,0X6000F220,0X1,1,1,2,ADDSEG_NOSREG); | |
SegRename(0X6000F200,".vectors"); | |
SegClass (0X6000F200,"DATA"); | |
SegDefReg(0x6000F200,"T",0x0); | |
SegDefReg(0x6000F200,"DS",0x1); | |
set_segm_type(0X6000F200,3); | |
add_segm_ex(0X7000F800,0X70010000,0X1,1,1,2,ADDSEG_NOSREG); | |
SegRename(0X7000F800,".fuses"); | |
SegClass (0X7000F800,"IO"); | |
SegDefReg(0x7000F800,"T",0x0); | |
SegDefReg(0x7000F800,"DS",0x1); | |
add_segm_ex(0X70012000,0X70014000,0X1,1,1,2,ADDSEG_NOSREG); | |
SegRename(0X70012000,".securityengine"); | |
SegClass (0X70012000,"IO"); | |
SegDefReg(0x70012000,"T",0x0); | |
SegDefReg(0x70012000,"DS",0x1); | |
set_inf_attr(INF_LOW_OFF, 0x40000000); | |
set_inf_attr(INF_HIGH_OFF, 0x70014000); | |
} | |
static Enums_0(id) { | |
id = add_enum(-1,"KEYSLOT_TYPE",0x1100000); | |
add_enum_member(id,"KEYSLOT_0", 0, -1); | |
add_enum_member(id,"KEYSLOT_1", 0X1, -1); | |
add_enum_member(id,"KEYSLOT_2", 0X2, -1); | |
add_enum_member(id,"KEYSLOT_3", 0X3, -1); | |
add_enum_member(id,"KEYSLOT_4", 0X4, -1); | |
add_enum_member(id,"KEYSLOT_5", 0X5, -1); | |
add_enum_member(id,"KEYSLOT_6", 0X6, -1); | |
add_enum_member(id,"KEYSLOT_7", 0X7, -1); | |
add_enum_member(id,"KEYSLOT_8", 0X8, -1); | |
add_enum_member(id,"KEYSLOT_9", 0X9, -1); | |
add_enum_member(id,"KEYSLOT_A", 0XA, -1); | |
add_enum_member(id,"KEYSLOT_B", 0XB, -1); | |
add_enum_member(id,"KEYSLOT_C", 0XC, -1); | |
add_enum_member(id,"KEYSLOT_D", 0XD, -1); | |
add_enum_member(id,"KEYSLOT_E_SBK", 0XE, -1); | |
add_enum_member(id,"KEYSLOT_F_SSK", 0XF, -1); | |
id = add_enum(-1,"ALG_TYPE",0x1100000); | |
add_enum_member(id,"ALG_AES_DEC", 0, -1); | |
add_enum_member(id,"ALG_AES_ENC", 0X1, -1); | |
add_enum_member(id,"ALG_RNG", 0X2, -1); | |
add_enum_member(id,"ALG_SHA", 0X3, -1); | |
add_enum_member(id,"ALG_RSA", 0X4, -1); | |
id = add_enum(-1,"DST_TYPE",0x1100000); | |
add_enum_member(id,"DST_MEMORY", 0, -1); | |
add_enum_member(id,"DST_HASHREG", 0X1, -1); | |
add_enum_member(id,"DST_KEYTAB", 0X2, -1); | |
add_enum_member(id,"DST_SRK", 0X3, -1); | |
add_enum_member(id,"DST_RSAREG", 0X4, -1); | |
id = add_enum(-1,"CORE_CRYPT_TYPE",0x1100000); | |
add_enum_member(id,"CORE_DECRYPT", 0, -1); | |
add_enum_member(id,"CORE_ENCRYPT", 0X1, -1); | |
id = add_enum(-1,"CORE_HASH_TYPE",0x1100000); | |
add_enum_member(id,"HASH_DISABLE", 0, -1); | |
add_enum_member(id,"HASH_ENABLE", 0X1, -1); | |
return id; | |
} | |
//------------------------------------------------------------------------ | |
// Information about enum types | |
static Enums(void) { | |
auto id; | |
begin_type_updating(UTP_ENUM); | |
id = Enums_0(id); | |
end_type_updating(UTP_ENUM); | |
} | |
static ApplyStrucTInfos_0(void) { | |
auto id; | |
id = get_struc_id("AddrInfo"); | |
SetType(get_member_id(id, 0x0), "int"); | |
SetType(get_member_id(id, 0x4), "int"); | |
id = get_struc_id("CryptoAddrInfo"); | |
SetType(get_member_id(id, 0x0), "int"); | |
id = get_struc_id("securityEngine_t"); | |
SetType(get_member_id(id, 0x0), "unsigned int"); | |
SetType(get_member_id(id, 0x4), "unsigned int"); | |
SetType(get_member_id(id, 0x8), "unsigned int"); | |
SetType(get_member_id(id, 0xC), "unsigned int"); | |
SetType(get_member_id(id, 0x10), "unsigned int"); | |
SetType(get_member_id(id, 0x14), "unsigned int"); | |
SetType(get_member_id(id, 0x1C), "unsigned int"); | |
SetType(get_member_id(id, 0x20), "unsigned int"); | |
SetType(get_member_id(id, 0x28), "unsigned int"); | |
SetType(get_member_id(id, 0x2C), "unsigned int"); | |
SetType(get_member_id(id, 0x30), "unsigned __int8[16]"); | |
SetType(get_member_id(id, 0x40), "unsigned __int8[576]"); | |
SetType(get_member_id(id, 0x280), "unsigned int"); | |
SetType(get_member_id(id, 0x284), "unsigned int[16]"); | |
SetType(get_member_id(id, 0x2C4), "unsigned __int8[60]"); | |
SetType(get_member_id(id, 0x300), "unsigned int"); | |
SetType(get_member_id(id, 0x304), "unsigned int"); | |
SetType(get_member_id(id, 0x308), "unsigned int[4]"); | |
SetType(get_member_id(id, 0x318), "unsigned int"); | |
SetType(get_member_id(id, 0x31C), "unsigned int"); | |
SetType(get_member_id(id, 0x320), "unsigned int"); | |
SetType(get_member_id(id, 0x324), "unsigned int"); | |
SetType(get_member_id(id, 0x328), "unsigned int"); | |
SetType(get_member_id(id, 0x32C), "unsigned int"); | |
SetType(get_member_id(id, 0x330), "unsigned int"); | |
SetType(get_member_id(id, 0x334), "unsigned __int8[1228]"); | |
SetType(get_member_id(id, 0x800), "unsigned int"); | |
SetType(get_member_id(id, 0x804), "unsigned int"); | |
SetType(get_member_id(id, 0x808), "unsigned int"); | |
SetType(get_member_id(id, 0x80C), "unsigned int"); | |
SetType(get_member_id(id, 0x810), "unsigned int"); | |
SetType(get_member_id(id, 0x814), "unsigned int"); | |
SetType(get_member_id(id, 0x818), "unsigned int"); | |
SetType(get_member_id(id, 0x81C), "unsigned int"); | |
SetType(get_member_id(id, 0x820), "unsigned __int8[6112]"); | |
id = get_struc_id("bootloaderHeader_t"); | |
SetType(get_member_id(id, 0x0), "unsigned int"); | |
SetType(get_member_id(id, 0x4), "char[20]"); | |
id = get_struc_id("badBlockTable_t"); | |
SetType(get_member_id(id, 0x0), "unsigned int"); | |
SetType(get_member_id(id, 0x4), "unsigned __int8"); | |
SetType(get_member_id(id, 0x5), "unsigned __int8"); | |
SetType(get_member_id(id, 0x6), "unsigned __int8[512]"); | |
SetType(get_member_id(id, 0x206), "unsigned __int8[10]"); | |
id = get_struc_id("bootloaderInfo_t"); | |
SetType(get_member_id(id, 0x0), "unsigned int"); | |
SetType(get_member_id(id, 0x4), "unsigned int"); | |
SetType(get_member_id(id, 0x8), "unsigned int"); | |
SetType(get_member_id(id, 0xC), "unsigned int"); | |
SetType(get_member_id(id, 0x10), "unsigned int"); | |
SetType(get_member_id(id, 0x14), "unsigned int"); | |
SetType(get_member_id(id, 0x18), "unsigned int"); | |
SetType(get_member_id(id, 0x1C), "unsigned __int8[16]"); | |
SetType(get_member_id(id, 0x2C), "unsigned __int8[256]"); | |
id = get_struc_id("keyblob_t"); | |
SetType(get_member_id(id, 0x0), "const char[16]"); | |
SetType(get_member_id(id, 0x10), "const char[16]"); | |
SetType(get_member_id(id, 0x20), "const char[9][16]"); | |
id = get_struc_id("BCT_t"); | |
SetType(get_member_id(id, 0x210), "unsigned __int8[256]"); | |
SetType(get_member_id(id, 0x310), "unsigned __int8[16]"); | |
SetType(get_member_id(id, 0x320), "unsigned __int8[256]"); | |
SetType(get_member_id(id, 0x420), "unsigned int"); | |
SetType(get_member_id(id, 0x424), "unsigned __int8[32]"); | |
SetType(get_member_id(id, 0x444), "unsigned __int8[12]"); | |
SetType(get_member_id(id, 0x500), "unsigned __int8[8]"); | |
SetType(get_member_id(id, 0x508), "unsigned int"); | |
SetType(get_member_id(id, 0x50C), "unsigned int"); | |
SetType(get_member_id(id, 0x510), "unsigned __int8[16]"); | |
SetType(get_member_id(id, 0x520), "unsigned __int8[16]"); | |
SetType(get_member_id(id, 0x530), "unsigned int"); | |
SetType(get_member_id(id, 0x534), "unsigned int"); | |
SetType(get_member_id(id, 0x538), "unsigned int"); | |
SetType(get_member_id(id, 0x53C), "unsigned int"); | |
SetType(get_member_id(id, 0x540), "unsigned int"); | |
SetType(get_member_id(id, 0x544), "unsigned int"); | |
SetType(get_member_id(id, 0x548), "unsigned int[16]"); | |
SetType(get_member_id(id, 0x588), "unsigned int"); | |
SetType(get_member_id(id, 0x58C), "unsigned __int8[4][1896]"); | |
SetType(get_member_id(id, 0x232C), "unsigned int"); | |
SetType(get_member_id(id, 0x27E0), "unsigned __int8"); | |
SetType(get_member_id(id, 0x27E4), "unsigned int"); | |
SetType(get_member_id(id, 0x27E8), "unsigned int"); | |
SetType(get_member_id(id, 0x27EC), "unsigned __int8[12]"); | |
SetType(get_member_id(id, 0x27F8), "unsigned __int8[5]"); | |
id = get_struc_id("BIT_t"); | |
SetType(get_member_id(id, 0x0), "char[76]"); | |
id = get_struc_id("keyGenerationBuffer"); | |
id = get_struc_id("keyGenerationBuffer::$9228D6E392E45DCE87B284151F3CF629"); | |
id = get_struc_id("keyGenerationBuffer::$9228D6E392E45DCE87B284151F3CF629::$74351EF23253E0B28D24A0867FCDD4BB"); | |
SetType(get_member_id(id, 0x0), "char[16]"); | |
SetType(get_member_id(id, 0x10), "char[16]"); | |
id = get_struc_id("keyGenerationBuffer::$9228D6E392E45DCE87B284151F3CF629::$41977C36FC669A496A8D84212237D94F"); | |
SetType(get_member_id(id, 0x0), "unsigned __int8[8]"); | |
SetType(get_member_id(id, 0x8), "char[9][16]"); | |
SetType(get_member_id(id, 0x98), "unsigned __int8[8]"); | |
id = get_struc_id("downgradeFuseData"); | |
SetType(get_member_id(id, 0x0), "unsigned int"); | |
SetType(get_member_id(id, 0x4), "unsigned int"); | |
SetType(get_member_id(id, 0x8), "unsigned int"); | |
SetType(get_member_id(id, 0xC), "unsigned int"); | |
SetType(get_member_id(id, 0x10), "unsigned int"); | |
SetType(get_member_id(id, 0x14), "unsigned int"); | |
SetType(get_member_id(id, 0x18), "unsigned int"); | |
id = get_struc_id("fuseBurnInfo"); | |
SetType(get_member_id(id, 0x0), "unsigned int"); | |
SetType(get_member_id(id, 0x4), "unsigned int"); | |
return id; | |
} | |
//------------------------------------------------------------------------ | |
// Information about type information for structure members | |
static ApplyStrucTInfos() { | |
ApplyStrucTInfos_0(); | |
} | |
static Structures_0(id) { | |
auto mid; | |
id = add_struc(-1,"AddrInfo",0); | |
id = add_struc(-1,"CryptoAddrInfo",0); | |
id = add_struc(-1,"securityEngine_t",0); | |
id = add_struc(-1,"bootloaderHeader_t",0); | |
id = add_struc(-1,"badBlockTable_t",0); | |
id = add_struc(-1,"bootloaderInfo_t",0); | |
id = add_struc(-1,"keyblob_t",0); | |
id = add_struc(-1,"BCT_t",0); | |
id = add_struc(-1,"BIT_t",0); | |
id = add_struc(-1,"keyGenerationBuffer",0); | |
id = add_struc(-1,"keyGenerationBuffer::$9228D6E392E45DCE87B284151F3CF629",1); | |
id = add_struc(-1,"keyGenerationBuffer::$9228D6E392E45DCE87B284151F3CF629::$74351EF23253E0B28D24A0867FCDD4BB",0); | |
id = add_struc(-1,"keyGenerationBuffer::$9228D6E392E45DCE87B284151F3CF629::$41977C36FC669A496A8D84212237D94F",0); | |
id = add_struc(-1,"downgradeFuseData",0); | |
id = add_struc(-1,"fuseBurnInfo",0); | |
id = get_struc_id("AddrInfo"); | |
mid = add_struc_member(id,"address", 0, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"size", 0X4, 0x20000400, -1, 4); | |
set_struc_align(id,2); | |
id = get_struc_id("CryptoAddrInfo"); | |
mid = add_struc_member(id,"flagsMaybe", 0, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"addrInfo", 0X4, 0x60000400, get_struc_id("AddrInfo"), 8); | |
set_struc_align(id,2); | |
id = get_struc_id("securityEngine_t"); | |
mid = add_struc_member(id,"_0x0", 0, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"_0x4", 0X4, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"OPERATION_REG", 0X8, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"INT_ENABLE_REG", 0XC, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"INT_STATUS_REG", 0X10, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"CONFIG_REG", 0X14, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"IN_LL_ADDR_REG", 0X18, 0x25500400, 0XFFFFFFFF, 4, 0XFFFFFFFF, 0, 0x000002); | |
mid = add_struc_member(id,"_0x1C", 0X1C, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"_0x20", 0X20, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"OUT_LL_ADDR_REG", 0X24, 0x25500400, 0XFFFFFFFF, 4, 0XFFFFFFFF, 0, 0x000002); | |
mid = add_struc_member(id,"_0x28", 0X28, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"_0x2C", 0X2C, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"cmacOutput", 0X30, 0x000400, -1, 16); | |
mid = add_struc_member(id,"reserved0x40", 0X40, 0x000400, -1, 576); | |
mid = add_struc_member(id,"KEY_READ_DISABLE_REG", 0X280, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"KEYSLOT_FLAGS", 0X284, 0x20000400, -1, 64); | |
mid = add_struc_member(id,"reserved0x2C4", 0X2C4, 0x000400, -1, 60); | |
mid = add_struc_member(id,"_0x300", 0X300, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"CRYPTO_REG", 0X304, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"CRYPTO_CTR_REG", 0X308, 0x20000400, -1, 16); | |
mid = add_struc_member(id,"BLOCK_COUNT_REG", 0X318, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"KEYTABLE_REG", 0X31C, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"KEYTABLE_DATA0_REG", 0X320, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"_0x324", 0X324, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"_0x328", 0X328, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"_0x32C", 0X32C, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"CRYPTO_KEYTABLE_DST_REG", 0X330, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"reserved0x334", 0X334, 0x000400, -1, 1228); | |
mid = add_struc_member(id,"FLAGS_REG", 0X800, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"ERR_STATUS_REG", 0X804, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"_0x808", 0X808, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"_0x80C", 0X80C, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"_0x810", 0X810, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"_0x814", 0X814, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"_0x818", 0X818, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"_0x81C", 0X81C, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"reserved0x820", 0X820, 0x000400, -1, 6112); | |
set_struc_align(id,2); | |
id = get_struc_id("badBlockTable_t"); | |
mid = add_struc_member(id,"numEntries", 0, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"virtualBlockSize", 0X4, 0x000400, -1, 1); | |
mid = add_struc_member(id,"blockSize", 0X5, 0x000400, -1, 1); | |
mid = add_struc_member(id,"badBlocks", 0X6, 0x000400, -1, 512); | |
mid = add_struc_member(id,"reserved", 0X206, 0x000400, -1, 10); | |
set_struc_align(id,2); | |
id = get_struc_id("bootloaderInfo_t"); | |
mid = add_struc_member(id,"version", 0, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"startBlock", 0X4, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"startPage", 0X8, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"length", 0XC, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"loadAddress", 0X10, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"entryPoint", 0X14, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"attribute", 0X18, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"aesMacSignature", 0X1C, 0x000400, -1, 16); | |
mid = add_struc_member(id,"rsaPssSignature", 0X2C, 0x000400, -1, 256); | |
set_struc_align(id,2); | |
id = get_struc_id("keyblob_t"); | |
mid = add_struc_member(id,"aesMac", 0, 0x000400, -1, 16); | |
mid = add_struc_member(id,"ctr", 0X10, 0x000400, -1, 16); | |
mid = add_struc_member(id,"encryptedKeys", 0X20, 0x000400, -1, 144); | |
id = get_struc_id("BCT_t"); | |
mid = add_struc_member(id,"badBlockTable", 0, 0x60000400, get_struc_id("badBlockTable_t"), 528); | |
mid = add_struc_member(id,"PKCModulus", 0X210, 0x000400, -1, 256); | |
mid = add_struc_member(id,"aesMacSignature", 0X310, 0x000400, -1, 16); | |
mid = add_struc_member(id,"rsaPssSignature", 0X320, 0x000400, -1, 256); | |
mid = add_struc_member(id,"secProvisioningKeyNumInsecure", 0X420, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"secProvisioningKey", 0X424, 0x000400, -1, 32); | |
mid = add_struc_member(id,"_0x444", 0X444, 0x000400, -1, 12); | |
mid = add_struc_member(id,"keyblob", 0X450, 0x60000400, get_struc_id("keyblob_t"), 176); | |
mid = add_struc_member(id,"_0x500", 0X500, 0x000400, -1, 8); | |
mid = add_struc_member(id,"odmData", 0X508, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"reserved0", 0X50C, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"randomAesBlock", 0X510, 0x000400, -1, 16); | |
mid = add_struc_member(id,"uniqueChipId", 0X520, 0x000400, -1, 16); | |
mid = add_struc_member(id,"bootDataVersion", 0X530, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"blockSizeLog2", 0X534, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"pageSizeLog2", 0X538, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"partitionSize", 0X53C, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"numParamSets", 0X540, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"devType", 0X544, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"devParams", 0X548, 0x20000400, -1, 64); | |
mid = add_struc_member(id,"numSdramSets", 0X588, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"sdramParams", 0X58C, 0x000400, -1, 7584); | |
mid = add_struc_member(id,"numBootloaders", 0X232C, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"bootloaders", 0X2330, 0x60000400, get_struc_id("bootloaderInfo_t"), 1200); | |
mid = add_struc_member(id,"enableFailBack", 0X27E0, 0x000400, -1, 1); | |
mid = add_struc_member(id,"secureDebugControl", 0X27E4, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"secProvisioningKeyNumSecure", 0X27E8, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"reserved2", 0X27EC, 0x000400, -1, 12); | |
mid = add_struc_member(id,"padding", 0X27F8, 0x000400, -1, 5); | |
set_struc_align(id,2); | |
id = get_struc_id("bootloaderHeader_t"); | |
mid = add_struc_member(id,"isActive", 0, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"_0x4", 0X4, 0x000400, -1, 20); | |
set_struc_align(id,2); | |
id = get_struc_id("BIT_t"); | |
mid = add_struc_member(id,"_0x0", 0, 0x000400, -1, 76); | |
mid = add_struc_member(id,"bct", 0X4C, 0x25500400, 0XFFFFFFFF, 4, 0XFFFFFFFF, 0, 0x000002); | |
mid = add_struc_member(id,"bootloaderHeaders", 0X50, 0x60000400, get_struc_id("bootloaderHeader_t"), 96); | |
set_struc_align(id,2); | |
id = get_struc_id("keyGenerationBuffer::$9228D6E392E45DCE87B284151F3CF629::$74351EF23253E0B28D24A0867FCDD4BB"); | |
mid = add_struc_member(id,"deviceKey", 0, 0x000400, -1, 16); | |
mid = add_struc_member(id,"keyblobKey", 0X10, 0x000400, -1, 16); | |
id = get_struc_id("keyGenerationBuffer::$9228D6E392E45DCE87B284151F3CF629::$41977C36FC669A496A8D84212237D94F"); | |
mid = add_struc_member(id,"_0x0", 0, 0x000400, -1, 8); | |
mid = add_struc_member(id,"decryptedKeys", 0X8, 0x000400, -1, 144); | |
mid = add_struc_member(id,"_0x98", 0X98, 0x000400, -1, 8); | |
id = get_struc_id("keyGenerationBuffer::$9228D6E392E45DCE87B284151F3CF629"); | |
mid = add_struc_member(id,"anonymous_0", 0, 0x60000400, get_struc_id("keyGenerationBuffer::$9228D6E392E45DCE87B284151F3CF629::$74351EF23253E0B28D24A0867FCDD4BB"), 32); | |
mid = add_struc_member(id,"anonymous_1", 0, 0x60000400, get_struc_id("keyGenerationBuffer::$9228D6E392E45DCE87B284151F3CF629::$41977C36FC669A496A8D84212237D94F"), 160); | |
id = get_struc_id("keyGenerationBuffer"); | |
mid = add_struc_member(id,"anonymous_0", 0, 0x60000400, get_struc_id("keyGenerationBuffer::$9228D6E392E45DCE87B284151F3CF629"), 160); | |
id = get_struc_id("downgradeFuseData"); | |
mid = add_struc_member(id,"odmFuse7", 0, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"odmFuse6", 0X4, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"retailFusesBurntMask", 0X8, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"odmFuse6Mask", 0XC, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"devFusesBurntMask", 0X10, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"_5", 0X14, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"isRetailUnit", 0X18, 0x20000400, -1, 4); | |
set_struc_align(id,2); | |
id = get_struc_id("fuseBurnInfo"); | |
mid = add_struc_member(id,"fusesBurnt7", 0, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"fusesBurnt6", 0X4, 0x20000400, -1, 4); | |
set_struc_align(id,2); | |
return id; | |
} | |
//------------------------------------------------------------------------ | |
// Information about structure types | |
static Structures(void) { | |
auto id; | |
begin_type_updating(UTP_STRUCT); | |
id = Structures_0(id); | |
patch_byte (0X40012709, 0X20); | |
patch_byte (0X4001270A, 0X1); | |
patch_byte (0X4001270B, 0X70); | |
} | |
//------------------------------------------------------------------------ | |
// Information about bytes | |
static Bytes_0(void) { | |
auto x; | |
#define id x | |
MakeStruct (0X40000000, "BIT_t"); | |
set_name (0X40000000, "BIT"); | |
set_name (0X40007000, "__stack_bottom_"); | |
update_extra_cmt (0X40010000, E_PREV + 0, "; File Name : package1_1.0.0"); | |
update_extra_cmt (0X40010000, E_PREV + 1, "; Format : Binary file"); | |
update_extra_cmt (0X40010000, E_PREV + 2, "; Base Address: 0000h Range: 40010000h - 40034E40h Loaded length: 24E40h"); | |
create_insn (0X40010020); | |
set_name (0X40010020, "crt0"); | |
set_cmt (0X40010024, "argc", 0); | |
create_insn (x=0X40010024); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_insn (x=0X40010028); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_insn (0X40010030); | |
create_dword (0X40010034); | |
create_dword (x=0X40010038); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
set_name (0X40010038, "argc"); | |
create_insn (0X4001003C); | |
set_name (0X4001003C, "memcmp"); | |
create_insn (0X40010082); | |
create_insn (0X4001008E); | |
create_insn (0X40010092); | |
create_insn (0X400100B2); | |
set_name (0X400100B2, "coreCrypto"); | |
create_insn (x=0X400100B6); | |
op_stkvar (x, 1); | |
set_cmt (0X400100C2, "address", 0); | |
create_insn (x=0X400100C2); | |
op_stkvar (x, 1); | |
set_cmt (0X400100C4, "size", 0); | |
set_cmt (0X400100C6, "cryptoAddrInfo", 0); | |
set_cmt (0X400100CC, "size", 0); | |
set_cmt (0X400100CE, "address", 0); | |
set_cmt (0X400100D0, "cryptoAddrInfo", 0); | |
create_insn (x=0X400100D0); | |
op_stkvar (x, 1); | |
create_insn (x=0X400100DA); | |
op_stkvar (x, 1); | |
set_cmt (0X400100DE, "status", 0); | |
create_insn (x=0X400100DE); | |
op_stkvar (x, 1); | |
create_insn (0X400100FA); | |
set_name (0X400100FA, "setKeyslotFlags"); | |
create_insn (0X40010108); | |
create_insn (0X40010144); | |
set_name (0X40010144, "clearKeyslot"); | |
create_insn (0X40010150); | |
create_insn (0X40010178); | |
set_name (0X40010178, "decryptSingleAESECBBlock"); | |
create_insn (x=0X4001017C); | |
op_stkvar (x, 1); | |
set_cmt (0X40010198, "dst", 0); | |
create_insn (0X40010198); | |
set_cmt (0X4001019A, "alg", 0); | |
set_cmt (0X400101A0, "enableHash", 0); | |
set_cmt (0X400101A2, "isEncrypt", 0); | |
set_cmt (0X400101A4, "keySlot", 0); | |
set_cmt (0X400101AA, "_DWORD", 0); | |
set_cmt (0X400101B0, "addressIn", 0); | |
create_insn (x=0X400101B0); | |
op_stkvar (x, 1); | |
set_cmt (0X400101B2, "sizeOut", 0); | |
set_cmt (0X400101B4, "addressOut", 0); | |
set_cmt (0X400101B6, "status", 0); | |
set_cmt (0X400101B8, "sizeIn", 0); | |
create_insn (x=0X400101B8); | |
op_stkvar (x, 1); | |
create_insn (0X400101C6); | |
set_name (0X400101C6, "performAESMAC"); | |
create_insn (x=0X400101C8); | |
op_stkvar (x, 1); | |
set_cmt (0X400101CA, "address_in", 0); | |
create_insn (x=0X400101CA); | |
op_stkvar (x, 1); | |
set_cmt (0X400101CC, "keySlot", 0); | |
set_cmt (0X400101CE, "zero", 0); | |
set_cmt (0X400101D0, "size_in", 0); | |
create_insn (x=0X400101D0); | |
op_stkvar (x, 1); | |
create_insn (0X400101DC); | |
set_name (0X400101DC, "decryptDataIntoKeyslot"); | |
create_insn (0X400101F6); | |
set_cmt (0X400101FC, "dst", 0); | |
set_cmt (0X400101FE, "alg", 0); | |
set_cmt (0X40010204, "enableHash", 0); | |
set_cmt (0X40010206, "isEncrypt", 0); | |
set_cmt (0X40010208, "keySlot", 0); | |
set_cmt (0X4001020E, "_DWORD", 0); | |
set_cmt (0X4001021E, "sizeOut", 0); | |
set_cmt (0X40010220, "addressIn", 0); | |
create_insn (x=0X40010220); | |
op_stkvar (x, 1); | |
set_cmt (0X40010222, "addressOut", 0); | |
set_cmt (0X40010224, "status", 0); | |
set_cmt (0X40010226, "sizeIn", 0); | |
create_insn (x=0X40010226); | |
op_stkvar (x, 1); | |
create_insn (0X40010234); | |
set_name (0X40010234, "encryptSingleAESECBBlock"); | |
create_insn (x=0X40010238); | |
op_stkvar (x, 1); | |
set_cmt (0X40010254, "dst", 0); | |
create_insn (0X40010254); | |
set_cmt (0X40010256, "alg", 0); | |
set_cmt (0X4001025C, "enableHash", 0); | |
set_cmt (0X4001025E, "isEncrypt", 0); | |
set_cmt (0X40010260, "keySlot", 0); | |
set_cmt (0X40010266, "configHigh", 0); | |
create_insn (x=0X40010266); | |
op_stkvar (x, 1); | |
set_cmt (0X4001026C, "_DWORD", 0); | |
set_cmt (0X40010272, "sizeIn", 0); | |
create_insn (x=0X40010272); | |
op_stkvar (x, 1); | |
set_cmt (0X40010274, "addressIn", 0); | |
create_insn (x=0X40010274); | |
op_stkvar (x, 1); | |
set_cmt (0X40010276, "sizeOut", 0); | |
set_cmt (0X40010278, "addressOut", 0); | |
set_cmt (0X4001027A, "status", 0); | |
create_insn (0X40010288); | |
set_name (0X40010288, "setCTR"); | |
set_cmt (0X40010298, "offset", 0); | |
set_cmt (0X4001029A, "dword", 0); | |
set_cmt (0X400102A8, "offset", 0); | |
set_cmt (0X400102AA, "dword", 0); | |
set_cmt (0X400102B8, "offset", 0); | |
set_cmt (0X400102BA, "dword", 0); | |
set_cmt (0X400102C8, "offset", 0); | |
set_cmt (0X400102CA, "dword", 0); | |
create_insn (0X400102D8); | |
set_name (0X400102D8, "rotl128XorRb"); | |
create_insn (0X400102FE); | |
set_name (0X400102FE, "selectKeyslot"); | |
create_insn (0X4001031C); | |
set_name (0X4001031C, "setNumBlocks"); | |
create_insn (0X40010334); | |
set_name (0X40010334, "setSecurityEngineConfigHigh"); | |
create_insn (0X4001034E); | |
set_name (0X4001034E, "performAESMACInternal"); | |
set_cmt (0X40010350, "size_in", 0); | |
create_insn (x=0X40010352); | |
op_stkvar (x, 1); | |
create_insn (x=0X40010354); | |
op_stkvar (x, 1); | |
create_insn (0X4001035E); | |
create_insn (x=0X40010376); | |
op_stkvar (x, 1); | |
create_insn (x=0X40010378); | |
op_stkvar (x, 1); | |
create_insn (x=0X4001037A); | |
op_stkvar (x, 1); | |
create_insn (x=0X4001037C); | |
op_stkvar (x, 1); | |
set_cmt (0X4001037E, "size_out", 0); | |
set_cmt (0X40010380, "address_out", 0); | |
create_insn (x=0X40010380); | |
op_stkvar (x, 1); | |
create_insn (x=0X40010386); | |
op_stkvar (x, 1); | |
set_cmt (0X4001038E, "result", 0); | |
create_insn (x=0X4001038E); | |
op_stkvar (x, 1); | |
set_cmt (0X40010398, "result", 0); | |
create_insn (x=0X40010398); | |
op_stkvar (x, 1); | |
set_cmt (0X4001039E, "dst", 0); | |
set_cmt (0X400103A0, "alg", 0); | |
set_cmt (0X400103A6, "keySlot", 0); | |
create_insn (x=0X400103A6); | |
op_stkvar (x, 1); | |
set_cmt (0X400103A8, "enableHash", 0); | |
set_cmt (0X400103AA, "isEncrypt", 0); | |
set_cmt (0X400103B0, "configHigh", 0); | |
create_insn (x=0X400103B0); | |
op_stkvar (x, 1); | |
create_insn (x=0X400103BC); | |
op_stkvar (x, 1); | |
set_cmt (0X400103E0, "_DWORD", 0); | |
set_cmt (0X400103E6, "sizeOut", 0); | |
set_cmt (0X400103E8, "sizeIn", 0); | |
create_insn (x=0X400103E8); | |
op_stkvar (x, 1); | |
set_cmt (0X400103EA, "addressIn", 0); | |
create_insn (x=0X400103EA); | |
op_stkvar (x, 1); | |
set_cmt (0X400103EC, "addressOut", 0); | |
set_cmt (0X400103EE, "status", 0); | |
set_cmt (0X40010404, "_DWORD", 0); | |
create_insn (x=0X4001040C); | |
op_stkvar (x, 1); | |
create_insn (x=0X40010412); | |
op_stkvar (x, 1); | |
create_insn (x=0X40010414); | |
op_stkvar (x, 1); | |
create_insn (x=0X40010416); | |
op_stkvar (x, 1); | |
create_insn (x=0X40010418); | |
op_stkvar (x, 1); | |
create_insn (x=0X4001041E); | |
op_stkvar (x, 1); | |
set_cmt (0X40010420, "size", 0); | |
set_cmt (0X40010424, "src", 0); | |
set_cmt (0X40010426, "dst", 0); | |
create_insn (x=0X4001042E); | |
op_stkvar (x, 1); | |
set_cmt (0X40010440, "sizeOut", 0); | |
set_cmt (0X40010442, "sizeIn", 0); | |
create_insn (x=0X40010442); | |
op_stkvar (x, 1); | |
set_cmt (0X40010444, "addressOut", 0); | |
set_cmt (0X40010446, "status", 0); | |
set_cmt (0X40010448, "addressIn", 0); | |
create_insn (x=0X40010448); | |
op_stkvar (x, 1); | |
create_insn (x=0X4001044E); | |
op_stkvar (x, 1); | |
create_insn (x=0X40010450); | |
op_stkvar (x, 1); | |
create_insn (0X40010460); | |
create_insn (0X40010464); | |
set_cmt (0X40010468, "value", 0); | |
set_cmt (0X4001046A, "address", 0); | |
create_insn (0X4001047E); | |
set_name (0X4001047E, "setAESConfig"); | |
create_insn (0X4001049E); | |
set_name (0X4001049E, "createCryptoAddressInfo"); | |
create_insn (0X400104AC); | |
create_insn (0X400104B2); | |
set_name (0X400104B2, "setKeyslot"); | |
create_insn (0X400104C6); | |
create_insn (x=0X400104D0); | |
op_stkvar (x, 1); | |
create_insn (x=0X400104E0); | |
op_stkvar (x, 1); | |
set_cmt (0X400104E8, "dword", 0); | |
create_insn (x=0X400104E8); | |
op_stkvar (x, 1); | |
create_insn (0X40010500); | |
set_name (0X40010500, "isUnitTypeNonZero"); | |
create_insn (0X40010512); | |
set_name (0X40010512, "j_j_panic"); | |
create_insn (0X40010516); | |
set_name (0X40010516, "panic2"); | |
set_cmt (0X40010526, "fuseIndexRaw", 0); | |
set_cmt (0X40010532, "fuseIndexRaw", 0); | |
set_cmt (0X40010534, "fuseVal", 0); | |
create_insn (0X40010540); | |
set_name (0X40010540, "writeOdmFuse7"); | |
create_insn (0X40010550); | |
set_name (0X40010550, "writeOdmFuse6"); | |
create_insn (0X40010560); | |
set_name (0X40010560, "writeFuse"); | |
set_cmt (0X40010568, "fuseIndex", 0); | |
set_cmt (0X4001056E, "fuseVal", 0); | |
set_cmt (0X40010570, "fuseIndex", 0); | |
create_insn (0X4001057C); | |
set_name (0X4001057C, "getOdmFuse4Type"); | |
set_cmt (0X4001057E, "a1", 0); | |
create_insn (0X400105A4); | |
create_insn (0X400105AA); | |
create_insn (0X400105AE); | |
create_insn (0X400105BA); | |
set_name (0X400105BA, "getUnitType"); | |
set_cmt (0X400105BC, "a1", 0); | |
create_insn (0X400105E0); | |
create_insn (0X400105E4); | |
create_insn (0X400105E8); | |
set_name (0X400105E8, "checkSku"); | |
create_insn (0X400105F6); | |
create_insn (0X400105FC); | |
set_name (0X400105FC, "checkOdmFuse6"); | |
create_insn (0X4001060C); | |
create_insn (0X40010610); | |
set_name (0X40010610, "checkBCTBootloadeVersion"); | |
create_insn (0X4001062C); | |
create_insn (0X40010646); | |
set_name (0X40010646, "checkConfigFuses"); | |
create_insn (0X40010682); | |
create_insn (0X40010688); | |
set_name (0X40010688, "checkOdmFuse7"); | |
create_insn (0X40010694); | |
create_insn (0X40010698); | |
set_name (0X40010698, "decryptAndParsePK11"); | |
set_cmt (0X4001069A, "sizeOut", 0); | |
create_insn (x=0X400106AE); | |
op_stkvar (x, 1); | |
set_cmt (0X400106B2, "addressIn", 0); | |
set_cmt (0X400106B4, "keySlot", 0); | |
set_cmt (0X400106B6, "addressOut", 0); | |
set_cmt (0X400106B8, "sizeIn", 0); | |
create_insn (x=0X400106B8); | |
op_stkvar (x, 1); | |
set_cmt (0X400106BE, "keySlot", 0); | |
set_cmt (0X400106C4, "package11Size", 0); | |
set_cmt (0X400106C6, "package11Header", 0); | |
create_insn (0X400106E0); | |
create_insn (0X400106E4); | |
set_name (0X400106E4, "getFuseDataMatchesExpectation"); | |
create_insn (0X400106EE); | |
create_insn (0X40010706); | |
create_insn (0X4001070A); | |
set_name (0X4001070A, "memclear"); | |
create_insn (0X40010716); | |
set_name (0X40010716, "read32"); | |
create_insn (x=0X40010718); | |
op_stkvar (x, 1); | |
create_insn (x=0X4001071A); | |
op_stkvar (x, 1); | |
create_insn (0X40010736); | |
set_name (0X40010736, "write32"); | |
create_insn (x=0X40010738); | |
op_stkvar (x, 1); | |
create_insn (x=0X4001073C); | |
op_stkvar (x, 1); | |
create_insn (0X40010750); | |
set_name (0X40010750, "launchPackage11"); | |
create_insn (0X40010766); | |
set_name (0X40010766, "launchFunction"); | |
create_insn (0X40010768); | |
set_name (0X40010768, "branchToR4"); | |
create_insn (0X4001076C); | |
set_name (0X4001076C, "j_panic"); | |
make_array (0X4001076E, 0X2); | |
create_insn (x=0X40010770); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_name (0X40010770, "panic"); | |
create_dword (x=0X40010778); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (0X4001077C); | |
set_name (0X4001077C, "constTimeMemcmp"); | |
make_array (0X4001077E, 0X2); | |
create_insn (0X40010780); | |
set_name (0X40010780, "__32constTimeMemcmp"); | |
create_insn (0X40010790); | |
create_insn (0X400107C8); | |
set_name (0X400107C8, "pivotStackLaunchFunction"); | |
create_insn (0X400107CC); | |
set_name (0X400107CC, "memcpy2"); | |
make_array (0X400107CE, 0X2); | |
create_insn (0X400107D0); | |
set_name (0X400107D0, "__32memcpy2"); | |
create_insn (x=0X400107D8); | |
op_hex (x, 1); | |
set_cmt (0X400107F4, "src", 0); | |
set_cmt (0X400107FC, "size", 0); | |
create_insn (x=0X40010804); | |
op_hex (x, 1); | |
create_insn (0X40010844); | |
create_insn (0X40010864); | |
create_insn (0X400108A4); | |
set_name (0X400108A4, "memcpy"); | |
make_array (0X400108A6, 0X2); | |
create_insn (0X400108A8); | |
set_name (0X400108A8, "__32memcpy"); | |
create_insn (0X4001090C); | |
set_name (0X4001090C, "memclear3"); | |
make_array (0X4001090E, 0X2); | |
create_insn (0X40010910); | |
set_name (0X40010910, "__32memclear3"); | |
create_insn (x=0X4001091C); | |
op_hex (x, 1); | |
create_insn (0X4001093C); | |
create_insn (0X40010950); | |
set_name (0X40010950, "memclear2"); | |
make_array (0X40010952, 0X2); | |
create_insn (0X40010954); | |
set_name (0X40010954, "__32memclear2"); | |
create_insn (x=0X4001099C); | |
op_hex (x, 1); | |
create_insn (x=0X400109A8); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_name (0X400109A8, "verifySecurityEngineNotBusy"); | |
create_insn (0X400109BE); | |
create_dword (x=0X400109C4); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (x=0X400109C8); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_name (0X400109C8, "disableSecurityEngineReads"); | |
create_dword (x=0X400109E8); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (0X400109EC); | |
create_insn (0X400109F0); | |
set_name (0X400109F0, "AESCTRCrypt"); | |
create_insn (x=0X400109F4); | |
op_stkvar (x, 1); | |
create_insn (x=0X400109F6); | |
op_stkvar (x, 1); | |
create_insn (x=0X40010A02); | |
op_stkvar (x, 1); | |
create_insn (0X40010A0C); | |
create_insn (x=0X40010A16); | |
op_stkvar (x, 1); | |
set_cmt (0X40010A20, "alg", 0); | |
set_cmt (0X40010A24, "dst", 0); | |
set_cmt (0X40010A2C, "keySlot", 0); | |
create_insn (x=0X40010A2C); | |
op_stkvar (x, 1); | |
set_cmt (0X40010A2E, "enableHash", 0); | |
set_cmt (0X40010A30, "isEncrypt", 0); | |
set_cmt (0X40010A36, "ctr", 0); | |
create_insn (x=0X40010A36); | |
op_stkvar (x, 1); | |
set_cmt (0X40010A40, "_DWORD", 0); | |
set_cmt (0X40010A46, "addressIn", 0); | |
create_insn (x=0X40010A46); | |
op_stkvar (x, 1); | |
set_cmt (0X40010A48, "addressOut", 0); | |
create_insn (x=0X40010A48); | |
op_stkvar (x, 1); | |
set_cmt (0X40010A4A, "sizeOut", 0); | |
set_cmt (0X40010A4C, "status", 0); | |
set_cmt (0X40010A4E, "sizeIn", 0); | |
create_insn (x=0X40010A4E); | |
op_stkvar (x, 1); | |
create_insn (x=0X40010A54); | |
op_stkvar (x, 1); | |
set_cmt (0X40010A5E, "_DWORD", 0); | |
create_insn (x=0X40010A64); | |
op_stkvar (x, 1); | |
set_cmt (0X40010A66, "size", 0); | |
create_insn (x=0X40010A66); | |
op_stkvar (x, 1); | |
set_cmt (0X40010A68, "src", 0); | |
set_cmt (0X40010A6A, "dst", 0); | |
create_insn (x=0X40010A6A); | |
op_stkvar (x, 1); | |
set_cmt (0X40010A72, "sizeOut", 0); | |
set_cmt (0X40010A74, "sizeIn", 0); | |
create_insn (x=0X40010A74); | |
op_stkvar (x, 1); | |
set_cmt (0X40010A76, "status", 0); | |
set_cmt (0X40010A78, "addressIn", 0); | |
create_insn (x=0X40010A78); | |
op_stkvar (x, 1); | |
set_cmt (0X40010A7A, "addressOut", 0); | |
create_insn (x=0X40010A7A); | |
op_stkvar (x, 1); | |
create_insn (x=0X40010A82); | |
op_stkvar (x, 1); | |
create_insn (x=0X40010A84); | |
op_stkvar (x, 1); | |
create_insn (x=0X40010A88); | |
op_stkvar (x, 1); | |
create_insn (x=0X40010A8E); | |
op_stkvar (x, 1); | |
set_cmt (0X40010A90, "size", 0); | |
create_insn (x=0X40010A92); | |
op_stkvar (x, 1); | |
set_cmt (0X40010A94, "src", 0); | |
create_insn (x=0X40010A94); | |
op_stkvar (x, 1); | |
set_cmt (0X40010A96, "dst", 0); | |
create_dword (0X40010AA4); | |
create_insn (x=0X40010AA8); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_name (0X40010AA8, "getSecurityEngine"); | |
create_dword (x=0X40010AB0); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (x=0X40010AB4); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_name (0X40010AB4, "setSecurityEngineAddress"); | |
create_dword (x=0X40010ABC); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (0X40010AC0); | |
set_name (0X40010AC0, "checkSecurityEngineOperationSuceeded"); | |
create_insn (0X40010AE6); | |
create_dword (0X40010AEC); | |
create_insn (0X40010AF0); | |
set_name (0X40010AF0, "setOperationStatus"); | |
create_dword (0X40010B0C); | |
create_insn (0X40010B10); | |
set_name (0X40010B10, "clearSecurityEngine"); | |
create_insn (x=0X40010B12); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_dword (x=0X40010B50); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (0X40010B54); | |
set_name (0X40010B54, "enableDeviceClkRst"); | |
create_insn (x=0X40010B56); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_dword (x=0X40010BC8); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (0X40010BCC); | |
set_name (0X40010BCC, "disableDeviceClkRst"); | |
create_insn (x=0X40010BCE); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_dword (x=0X40010C00); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (0X40010C04); | |
set_name (0X40010C04, "enableSEClkRst"); | |
set_cmt (0X40010C06, "a1", 0); | |
create_insn (x=0X40010C06); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_dword (x=0X40010C10); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (0X40010C14); | |
set_name (0X40010C14, "enableSor0ClkRst"); | |
set_cmt (0X40010C16, "a1", 0); | |
create_insn (x=0X40010C16); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_dword (x=0X40010C20); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (0X40010C24); | |
set_name (0X40010C24, "enableSor1ClkRst"); | |
set_cmt (0X40010C26, "a1", 0); | |
create_insn (x=0X40010C26); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_dword (x=0X40010C30); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (0X40010C34); | |
set_name (0X40010C34, "enableTsecClkRst"); | |
set_cmt (0X40010C36, "a1", 0); | |
create_insn (x=0X40010C36); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_dword (x=0X40010C40); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (0X40010C44); | |
set_name (0X40010C44, "disableSor0ClkRst"); | |
set_cmt (0X40010C46, "a1", 0); | |
create_insn (x=0X40010C46); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_dword (x=0X40010C50); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (0X40010C54); | |
set_name (0X40010C54, "disableSor1ClkRst"); | |
set_cmt (0X40010C56, "a1", 0); | |
create_insn (x=0X40010C56); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_dword (x=0X40010C60); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (0X40010C64); | |
set_name (0X40010C64, "disableTsecClkRst"); | |
set_cmt (0X40010C66, "a1", 0); | |
create_insn (x=0X40010C66); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_dword (x=0X40010C70); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (0X40010C74); | |
set_name (0X40010C74, "enableKFuseClkRst"); | |
create_insn (x=0X40010C76); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_insn (x=0X40010C7A); | |
op_plain_offset (x, 1, 0X60006000); | |
op_plain_offset (x, 129, 0X60006000); | |
create_insn (x=0X40010C84); | |
op_plain_offset (x, 1, 0X60006000); | |
op_plain_offset (x, 129, 0X60006000); | |
create_insn (x=0X40010C86); | |
op_plain_offset (x, 1, 0X60006000); | |
op_plain_offset (x, 129, 0X60006000); | |
create_insn (x=0X40010C8A); | |
op_plain_offset (x, 1, 0X60006000); | |
op_plain_offset (x, 129, 0X60006000); | |
create_insn (x=0X40010C8C); | |
op_plain_offset (x, 1, 0X60006000); | |
op_plain_offset (x, 129, 0X60006000); | |
create_insn (x=0X40010C92); | |
op_plain_offset (x, 1, 0X60006000); | |
op_plain_offset (x, 129, 0X60006000); | |
set_cmt (0X40010C94, "result", 0); | |
create_insn (x=0X40010C9A); | |
op_plain_offset (x, 1, 0X60006000); | |
op_plain_offset (x, 129, 0X60006000); | |
create_insn (x=0X40010C9E); | |
op_plain_offset (x, 1, 0X60006000); | |
op_plain_offset (x, 129, 0X60006000); | |
set_cmt (0X40010CA0, "result", 0); | |
create_dword (x=0X40010CAC); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (0X40010CB0); | |
set_name (0X40010CB0, "disableKFuseClkRst"); | |
set_cmt (0X40010CB2, "a1", 0); | |
create_insn (x=0X40010CB2); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_dword (x=0X40010CBC); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (0X40010CC0); | |
set_name (0X40010CC0, "enableHost1XClkRst"); | |
set_cmt (0X40010CC2, "a1", 0); | |
create_insn (x=0X40010CC2); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_dword (x=0X40010CCC); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (x=0X40010CD0); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_name (0X40010CD0, "enableMiscClk"); | |
create_insn (x=0X40010CD4); | |
op_plain_offset (x, 1, 0X60006000); | |
op_plain_offset (x, 129, 0X60006000); | |
create_insn (x=0X40010CE2); | |
op_plain_offset (x, 1, 0X60006000); | |
op_plain_offset (x, 129, 0X60006000); | |
create_dword (x=0X40010CE8); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (0X40010CEC); | |
set_name (0X40010CEC, "disableHost1xClkRst"); | |
set_cmt (0X40010CEE, "a1", 0); | |
create_insn (x=0X40010CEE); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_dword (x=0X40010CF8); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (0X40010CFC); | |
set_name (0X40010CFC, "enableSorSafeClkRst"); | |
set_cmt (0X40010CFE, "a1", 0); | |
create_insn (x=0X40010CFE); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_dword (x=0X40010D08); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (0X40010D0C); | |
set_name (0X40010D0C, "disableSorSafeClkRst"); | |
set_cmt (0X40010D0E, "a1", 0); | |
create_insn (x=0X40010D0E); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_dword (x=0X40010D18); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (x=0X40010D1C); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_name (0X40010D1C, "setPMCRegAfterFuseWriting"); | |
set_cmt (0X40010D32, "result", 0); | |
set_cmt (0X40010D3E, "result", 0); | |
create_dword (x=0X40010D4C); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (x=0X40010D50); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_name (0X40010D50, "setPMCRegBeforeFuseWriting"); | |
set_cmt (0X40010D66, "result", 0); | |
set_cmt (0X40010D72, "result", 0); | |
create_dword (x=0X40010D80); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (x=0X40010D84); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_name (0X40010D84, "reboot"); | |
create_insn (x=0X40010D8A); | |
op_plain_offset (x, 1, 0X60005000); | |
op_plain_offset (x, 129, 0X60005000); | |
create_insn (x=0X40010D9C); | |
op_plain_offset (x, 1, 0X60005000); | |
op_plain_offset (x, 129, 0X60005000); | |
create_dword (x=0X40010DB0); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (0X40010DB4); | |
create_dword (0X40010DB8); | |
create_insn (x=0X40010DBC); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_name (0X40010DBC, "disableFuseWriteAccess"); | |
create_insn (x=0X40010DC6); | |
op_plain_offset (x, 1, 0X7000F800); | |
op_plain_offset (x, 129, 0X7000F800); | |
create_insn (x=0X40010DCE); | |
op_plain_offset (x, 1, 0X7000F800); | |
op_plain_offset (x, 129, 0X7000F800); | |
create_dword (x=0X40010DD8); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (x=0X40010DDC); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_name (0X40010DDC, "readOdmReservedFuse"); | |
create_dword (x=0X40010DEC); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (x=0X40010DF0); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_name (0X40010DF0, "getSku"); | |
create_insn (x=0X40010DF8); | |
op_plain_offset (x, 1, 0X7000F900); | |
op_plain_offset (x, 129, 0X7000F900); | |
create_dword (x=0X40010DFC); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (x=0X40010E00); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_name (0X40010E00, "getODMReservedFuse7"); | |
create_insn (x=0X40010E08); | |
op_plain_offset (x, 1, 0X7000F980); | |
op_plain_offset (x, 129, 0X7000F980); | |
create_dword (x=0X40010E0C); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (x=0X40010E10); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_name (0X40010E10, "getODMReservedFuse6"); | |
create_insn (x=0X40010E18); | |
op_plain_offset (x, 1, 0X7000F980); | |
op_plain_offset (x, 129, 0X7000F980); | |
create_dword (x=0X40010E1C); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (0X40010E20); | |
set_name (0X40010E20, "writeFuseInternal"); | |
create_insn (x=0X40010E24); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_insn (x=0X40010E32); | |
op_plain_offset (x, 1, 0X7000F800); | |
op_plain_offset (x, 129, 0X7000F800); | |
create_insn (x=0X40010E34); | |
op_plain_offset (x, 1, 0X7000F800); | |
op_plain_offset (x, 129, 0X7000F800); | |
set_cmt (0X40010E42, "result", 0); | |
create_insn (0X40010E56); | |
create_dword (x=0X40010E5C); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (x=0X40010E60); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_name (0X40010E60, "getBootromPatchVersion"); | |
create_insn (x=0X40010E68); | |
op_plain_offset (x, 1, 0X7000F900); | |
op_plain_offset (x, 129, 0X7000F900); | |
create_dword (x=0X40010E70); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (x=0X40010E74); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_name (0X40010E74, "secondaryPrivateKeyDisable"); | |
create_insn (x=0X40010E7A); | |
op_plain_offset (x, 1, 0X7000F800); | |
op_plain_offset (x, 129, 0X7000F800); | |
create_dword (x=0X40010E80); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (x=0X40010E84); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_name (0X40010E84, "checkFuseCtrlBusy"); | |
create_insn (0X40010E96); | |
create_dword (x=0X40010E9C); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (x=0X40010EA0); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_name (0X40010EA0, "disableFuseProgramming"); | |
create_insn (x=0X40010EA6); | |
op_plain_offset (x, 1, 0X7000F800); | |
op_plain_offset (x, 129, 0X7000F800); | |
create_dword (x=0X40010EAC); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (0X40010EB0); | |
set_name (0X40010EB0, "prepareToBurnFuses"); | |
create_insn (x=0X40010EB2); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_cmt (0X40010EBC, "result", 0); | |
create_insn (x=0X40010ECC); | |
op_plain_offset (x, 1, 0X7000F800); | |
op_plain_offset (x, 129, 0X7000F800); | |
create_insn (x=0X40010ED6); | |
op_plain_offset (x, 1, 0X7000F800); | |
op_plain_offset (x, 129, 0X7000F800); | |
create_insn (x=0X40010EDC); | |
op_plain_offset (x, 1, 0X7000F800); | |
op_plain_offset (x, 129, 0X7000F800); | |
create_insn (x=0X40010EDE); | |
op_plain_offset (x, 1, 0X7000F800); | |
op_plain_offset (x, 129, 0X7000F800); | |
create_insn (x=0X40010EE8); | |
op_plain_offset (x, 1, 0X7000F800); | |
op_plain_offset (x, 129, 0X7000F800); | |
create_dword (x=0X40010EF4); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (x=0X40010EF8); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_name (0X40010EF8, "isEKSProvisioned"); | |
create_dword (x=0X40010F0C); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (0X40010F10); | |
set_name (0X40010F10, "clearStack"); | |
set_cmt (0X40010F14, "a1", 0); | |
create_insn (x=0X40010F14); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_dword (x=0X40010F24); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
set_name (0X40010F24, "a1"); | |
create_insn (0X40010F28); | |
set_name (0X40010F28, "enableHwDevices"); | |
set_cmt (0X40010F5E, "result", 0); | |
set_cmt (0X40010FEE, "result", 0); | |
create_dword (x=0X40011098); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X4001109C); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X400110A0); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X400110A4); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X400110A8); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X400110AC); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X400110B0); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X400110B4); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X400110B8); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X400110BC); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (0X400110C0); | |
create_dword (0X400110C4); | |
create_dword (0X400110C8); | |
create_dword (0X400110CC); | |
create_dword (0X400110D0); | |
create_dword (x=0X400110D4); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (0X400110D8); | |
create_dword (x=0X400110DC); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (0X400110E0); | |
create_insn (x=0X400110F0); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_insn (x=0X400110F2); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_insn (x=0X400110F6); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_insn (x=0X40011102); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_insn (x=0X40011104); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_insn (x=0X40011108); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_dword (x=0X4001110C); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X40011110); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X40011114); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X40011118); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (0X4001111C); | |
set_name (0X4001111C, "clearStage2Payload"); | |
set_cmt (0X4001111E, "a2", 0); | |
set_cmt (0X40011120, "a1", 0); | |
create_insn (x=0X40011120); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_dword (0X4001112C); | |
set_name (0X4001112C, "a2"); | |
create_dword (x=0X40011130); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (x=0X40011134); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_insn (0X4001113C); | |
create_dword (x=0X4001115C); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (0X40011160); | |
set_name (0X40011160, "downgradeFuseCheck"); | |
set_cmt (0X40011164, "src", 0); | |
create_insn (x=0X40011164); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_cmt (0X40011166, "size", 0); | |
set_cmt (0X40011168, "dst", 0); | |
create_insn (x=0X40011172); | |
op_stkvar (x, 1); | |
create_insn (x=0X40011178); | |
op_stkvar (x, 1); | |
create_insn (x=0X40011180); | |
op_stkvar (x, 1); | |
set_cmt (0X40011182, "fuseData", 0); | |
set_cmt (0X4001118C, "fuseData", 0); | |
set_cmt (0X400111AA, "downgradeData", 0); | |
set_cmt (0X400111AC, "fuseBurnInfo", 0); | |
create_insn (x=0X400111AC); | |
op_stkvar (x, 1); | |
create_insn (0X400111BE); | |
set_cmt (0X400111C2, "val", 0); | |
create_insn (x=0X400111C2); | |
op_stkvar (x, 1); | |
create_insn (0X400111DC); | |
create_dword (x=0X400111EC); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
set_name (0X400111EC, "src"); | |
create_dword (x=0X400111F0); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X400111F4); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (0X400111F8); | |
set_name (0X400111F8, "generateKeysFromKeyblobAndKeyseeds"); | |
set_cmt (0X40011202, "deviceKeySize", 0); | |
set_cmt (0X40011204, "deviceKeyOut", 0); | |
create_insn (x=0X40011204); | |
op_stkvar (x, 1); | |
set_cmt (0X4001120A, "keySize", 0); | |
set_cmt (0X4001120C, "keyslotNum", 0); | |
set_cmt (0X4001120E, "key", 0); | |
create_insn (x=0X4001120E); | |
op_stkvar (x, 1); | |
create_insn (x=0X40011214); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_insn (x=0X40011216); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_cmt (0X40011218, "address_in", 0); | |
set_cmt (0X4001121C, "size_in", 0); | |
create_insn (x=0X4001121C); | |
op_stkvar (x, 1); | |
set_cmt (0X4001121E, "keyslot", 0); | |
set_cmt (0X40011220, "size_out", 0); | |
set_cmt (0X40011222, "address_out", 0); | |
create_insn (x=0X40011222); | |
op_stkvar (x, 1); | |
set_cmt (0X40011228, "keySize", 0); | |
set_cmt (0X4001122A, "keySlot", 0); | |
set_cmt (0X4001122C, "keySlotToSet", 0); | |
set_cmt (0X4001122E, "encryptedKey", 0); | |
create_insn (x=0X4001122E); | |
op_stkvar (x, 1); | |
set_cmt (0X40011234, "keySlot", 0); | |
set_cmt (0X4001123A, "keySlot", 0); | |
create_insn (x=0X40011240); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_insn (x=0X40011242); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_cmt (0X40011244, "encryptedKey", 0); | |
set_cmt (0X40011246, "keySize", 0); | |
set_cmt (0X40011248, "keySlot", 0); | |
set_cmt (0X4001124A, "keySlotToSet", 0); | |
set_cmt (0X40011254, "address_in", 0); | |
set_cmt (0X40011256, "sizeIn", 0); | |
create_insn (x=0X40011256); | |
op_stkvar (x, 1); | |
set_cmt (0X4001125A, "keySlot", 0); | |
set_cmt (0X4001125C, "size_out", 0); | |
set_cmt (0X4001125E, "address_out", 0); | |
create_insn (x=0X4001125E); | |
op_stkvar (x, 1); | |
set_cmt (0X40011264, "size", 0); | |
set_cmt (0X40011266, "b", 0); | |
set_cmt (0X40011268, "a", 0); | |
create_insn (x=0X40011268); | |
op_stkvar (x, 1); | |
set_cmt (0X40011274, "sizeOut", 0); | |
set_cmt (0X4001127C, "ctrSize", 0); | |
create_insn (x=0X4001127C); | |
op_stkvar (x, 1); | |
set_cmt (0X4001127E, "addressIn", 0); | |
set_cmt (0X40011280, "keySlot", 0); | |
set_cmt (0X40011282, "addressOut", 0); | |
create_insn (x=0X40011282); | |
op_stkvar (x, 1); | |
set_cmt (0X40011288, "keySize", 0); | |
set_cmt (0X4001128A, "keyslotNum", 0); | |
set_cmt (0X4001128C, "key", 0); | |
create_insn (x=0X4001128C); | |
op_stkvar (x, 1); | |
set_cmt (0X40011292, "keySize", 0); | |
set_cmt (0X40011294, "keyslotNum", 0); | |
set_cmt (0X40011296, "key", 0); | |
create_insn (x=0X40011296); | |
op_stkvar (x, 1); | |
set_cmt (0X4001129C, "a2", 0); | |
set_cmt (0X4001129E, "a1", 0); | |
create_insn (x=0X4001129E); | |
op_stkvar (x, 1); | |
set_cmt (0X400112A4, "keySlot", 0); | |
set_cmt (0X400112A6, "keySize", 0); | |
set_cmt (0X400112A8, "encryptedKey", 0); | |
set_cmt (0X400112AA, "keySlotToSet", 0); | |
create_insn (x=0X400112B0); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_insn (x=0X400112B2); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_cmt (0X400112B4, "encryptedKey", 0); | |
set_cmt (0X400112B6, "keySize", 0); | |
set_cmt (0X400112B8, "keySlot", 0); | |
set_cmt (0X400112BA, "keySlotToSet", 0); | |
create_insn (0X400112C8); | |
create_dword (x=0X400112CC); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X400112D0); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
set_name (0X400112D0, "address_in"); | |
create_dword (x=0X400112D4); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X400112D8); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
set_name (0X400112D8, "encryptedKey"); | |
create_dword (x=0X400112DC); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X400112E0); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (0X400112E4); | |
create_insn (x=0X400112E8); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_insn (x=0X400112EC); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_cmt (0X400112EE, "encryptedKey", 0); | |
set_cmt (0X400112F0, "keySize", 0); | |
set_cmt (0X400112F2, "keySlot", 0); | |
set_cmt (0X400112F4, "keySlotToSet", 0); | |
create_insn (x=0X400112FA); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_insn (x=0X400112FC); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_cmt (0X400112FE, "encryptedKey", 0); | |
set_cmt (0X40011300, "keySize", 0); | |
set_cmt (0X40011302, "keySlot", 0); | |
set_cmt (0X40011304, "keySlotToSet", 0); | |
create_insn (x=0X4001130A); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_insn (x=0X4001130C); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_cmt (0X4001130E, "encryptedKey", 0); | |
set_cmt (0X40011310, "keySize", 0); | |
set_cmt (0X40011312, "keySlot", 0); | |
set_cmt (0X40011314, "keySlotToSet", 0); | |
set_cmt (0X4001131A, "keySlot", 0); | |
set_cmt (0X40011320, "keySlot", 0); | |
set_cmt (0X40011326, "keySlot", 0); | |
set_cmt (0X40011328, "keySize", 0); | |
set_cmt (0X4001132A, "encryptedKey", 0); | |
set_cmt (0X4001132C, "keySlotToSet", 0); | |
create_insn (x=0X40011332); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_insn (x=0X40011334); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_cmt (0X40011336, "encryptedKey", 0); | |
set_cmt (0X40011338, "keySize", 0); | |
set_cmt (0X4001133A, "keySlot", 0); | |
set_cmt (0X4001133C, "keySlotToSet", 0); | |
create_dword (x=0X40011348); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X4001134C); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X40011350); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X40011354); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X40011358); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X4001135C); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X40011360); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X40011364); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (0X40011368); | |
set_name (0X40011368, "isValidPK11Header"); | |
set_cmt (0X4001136E, "a3", 0); | |
create_insn (x=0X40011370); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_insn (0X400113B0); | |
create_strlit (0X400113B4, 0X400113B9); | |
set_name (0X400113B4, "aPk11"); | |
create_insn (x=0X400113BC); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_name (0X400113BC, "clearDataAndBSS"); | |
create_insn (x=0X400113BE); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_cmt (0X400113C2, "a2", 0); | |
set_cmt (0X400113C4, "result", 0); | |
create_insn (x=0X400113C4); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_insn (x=0X400113CA); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_insn (x=0X400113CC); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_cmt (0X400113CE, "a2", 0); | |
set_cmt (0X400113D0, "result", 0); | |
create_insn (x=0X400113D0); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_dword (x=0X400113DC); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X400113E0); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
set_name (0X400113E0, "result"); | |
create_dword (x=0X400113E4); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X400113E8); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (0X400113EC); | |
set_name (0X400113EC, "enableMemoryControllers"); | |
set_cmt (0X4001142A, "result", 0); | |
create_dword (x=0X4001145C); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X40011460); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X40011464); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X40011468); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (0X4001146C); | |
create_insn (0X40011470); | |
set_name (0X40011470, "generateKeys"); | |
set_cmt (0X40011474, "flags", 0); | |
set_cmt (0X40011476, "keyslot", 0); | |
set_cmt (0X4001147C, "flags", 0); | |
set_cmt (0X4001147E, "keyslot", 0); | |
create_insn (x=0X40011490); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_insn (x=0X40011492); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_insn (x=0X400114A6); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_insn (0X400114AC); | |
create_insn (x=0X400114C0); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_cmt (0X400114C2, "masterStaticKeySeed", 0); | |
create_insn (x=0X400114C2); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_cmt (0X400114C4, "masterStaticKeySeedSize", 0); | |
set_cmt (0X400114C6, "keyAreaAddress", 0); | |
create_insn (0X400114CE); | |
set_cmt (0X400114D4, "flags", 0); | |
set_cmt (0X400114D6, "keyslot", 0); | |
set_cmt (0X400114DC, "flags", 0); | |
set_cmt (0X400114DE, "keyslot", 0); | |
create_dword (x=0X400114EC); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X400114F0); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X400114F4); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X400114F8); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
set_name (0X400114F8, "masterStaticKeySeed"); | |
create_insn (0X400114FC); | |
set_name (0X400114FC, "getDeviceKeyFromFalcon"); | |
create_insn (x=0X4001153C); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_cmt (0X4001154C, "a3", 0); | |
set_cmt (0X4001154E, "a2", 0); | |
set_cmt (0X40011550, "a1", 0); | |
create_insn (0X4001158E); | |
create_insn (x=0X400115A4); | |
op_stkvar (x, 1); | |
create_insn (x=0X400115AC); | |
op_stkvar (x, 1); | |
create_insn (x=0X400115B2); | |
op_stkvar (x, 1); | |
create_insn (x=0X400115B8); | |
op_stkvar (x, 1); | |
create_insn (x=0X400115C6); | |
op_stkvar (x, 1); | |
create_insn (x=0X400115C8); | |
op_stkvar (x, 1); | |
create_insn (x=0X400115CC); | |
op_stkvar (x, 1); | |
create_insn (x=0X400115CE); | |
op_stkvar (x, 1); | |
set_cmt (0X400115D4, "size", 0); | |
set_cmt (0X400115D6, "dst", 0); | |
set_cmt (0X400115D8, "src", 0); | |
create_insn (0X400115FE); | |
create_dword (x=0X4001160C); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (0X40011610); | |
create_dword (x=0X40011614); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (0X40011618); | |
create_dword (x=0X4001161C); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (0X40011620); | |
create_dword (0X40011624); | |
create_dword (x=0X40011628); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (0X4001162C); | |
set_name (0X4001162C, "waitFalconDmaIdle"); | |
create_insn (0X4001163A); | |
create_insn (0X4001164C); | |
create_dword (0X40011654); | |
create_dword (x=0X40011658); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (0X4001165C); | |
set_name (0X4001165C, "loadFalconFirm"); | |
create_insn (0X4001167E); | |
create_dword (x=0X40011684); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (x=0X40011688); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_name (0X40011688, "readTimer"); | |
create_insn (x=0X4001168C); | |
op_plain_offset (x, 1, 0X60005000); | |
op_plain_offset (x, 129, 0X60005000); | |
create_dword (x=0X40011690); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (x=0X40011694); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_name (0X40011694, "wait"); | |
create_insn (x=0X40011698); | |
op_plain_offset (x, 1, 0X60005000); | |
op_plain_offset (x, 129, 0X60005000); | |
create_insn (x=0X4001169E); | |
op_plain_offset (x, 1, 0X60005000); | |
op_plain_offset (x, 129, 0X60005000); | |
create_dword (x=0X400116A8); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (0X400116AC); | |
set_name (0X400116AC, "main"); | |
create_insn (x=0X400116AE); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_insn (x=0X400116B0); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_insn (x=0X400116B2); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_insn (x=0X400116B6); | |
op_plain_offset (x, 1, 0X6000F200); | |
op_plain_offset (x, 129, 0X6000F200); | |
create_insn (x=0X400116B8); | |
op_plain_offset (x, 1, 0X6000F200); | |
op_plain_offset (x, 129, 0X6000F200); | |
create_insn (x=0X400116BA); | |
op_plain_offset (x, 1, 0X6000F200); | |
op_plain_offset (x, 129, 0X6000F200); | |
create_insn (x=0X400116BC); | |
op_plain_offset (x, 1, 0X6000F200); | |
op_plain_offset (x, 129, 0X6000F200); | |
create_insn (x=0X400116BE); | |
op_plain_offset (x, 1, 0X6000F200); | |
op_plain_offset (x, 129, 0X6000F200); | |
create_insn (x=0X400116C0); | |
op_plain_offset (x, 1, 0X6000F200); | |
op_plain_offset (x, 129, 0X6000F200); | |
create_insn (x=0X400116C2); | |
op_plain_offset (x, 1, 0X6000F200); | |
op_plain_offset (x, 129, 0X6000F200); | |
create_insn (x=0X400116C4); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_insn (0X400116D6); | |
create_insn (x=0X400116E0); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_insn (x=0X400116E2); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_insn (0X400116E6); | |
set_cmt (0X400116E8, "a1", 0); | |
set_cmt (0X400116FC, "_DWORD", 0); | |
set_cmt (0X4001170E, "BIT", 0); | |
set_cmt (0X40011720, "securityEngine", 0); | |
create_insn (x=0X40011720); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_cmt (0X4001172A, "BIT", 0); | |
set_cmt (0X40011730, "package11", 0); | |
create_insn (x=0X40011730); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_cmt (0X40011736, "a3", 0); | |
create_insn (x=0X40011736); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_cmt (0X40011738, "void (__fastcall *)(void *)", 0); | |
create_insn (x=0X40011738); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_dword (x=0X40011744); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X40011748); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X4001174C); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X40011750); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X40011754); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X40011758); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X4001175C); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X40011760); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
set_name (0X40011760, "package11"); | |
create_dword (x=0X40011764); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
set_name (0X40011764, "a3"); | |
create_dword (x=0X40011768); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
MakeStruct (0X4001176C, "downgradeFuseData"); | |
set_name (0X4001176C, "__rodata_start_"); | |
set_name (0X400117D8, "SeClkRstOffset"); | |
set_name (0X40011808, "host1XClkRstOffset"); | |
set_name (0X40011818, "tsecClkRstOffset"); | |
set_name (0X40011828, "sor1ClkRstOffset"); | |
set_name (0X40011858, "sorSafeClkRstOffset"); | |
set_name (0X40011868, "sor0ClkRstOffset"); | |
set_name (0X40011878, "kFuseClkRstOffset"); | |
create_dword (x=0X40012800); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
set_name (0X40012800, "__data_start__"); | |
create_dword (x=0X40012804); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X40012808); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
set_name (0X40012808, "securityEngineAddress"); | |
create_dword (x=0X40012810); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X40012814); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (0X40012818); | |
set_name (0X4001282C, "masterStaticKeyseedRetail"); | |
set_name (0X4001283C, "keyD1_deviceKeyAndSBKProtected"); | |
set_name (0X4001284C, "keyD2_keyD1Protected"); | |
set_name (0X4001285C, "aesMacKey_keyD1Protected"); | |
set_name (0X400128BC, "__bss_start__"); | |
set_name (0X40013FE0, "stage2PayloadSize"); | |
create_dword (0X60005010); | |
set_name (0X60005010, "NV_PA_TMRUS_BASE"); | |
create_dword (0X6000F200); | |
set_name (0X6000F200, "VECTOR_RESET"); | |
create_dword (0X6000F204); | |
set_name (0X6000F204, "VECTOR_UNDEF"); | |
create_dword (0X6000F208); | |
set_name (0X6000F208, "VECTOR_SWI"); | |
create_dword (0X6000F20C); | |
set_name (0X6000F20C, "VECTOR_PREFETCH_ABORT"); | |
create_dword (0X6000F210); | |
set_name (0X6000F210, "VECTOR_DATA_ABORT"); | |
create_dword (0X6000F214); | |
set_name (0X6000F214, "VECTOR_UNK"); | |
create_dword (0X6000F218); | |
set_name (0X6000F218, "VECTOR_IRQ"); | |
create_dword (0X6000F21C); | |
set_name (0X6000F21C, "VECTOR_FIQ"); | |
create_dword (0X7000F800); | |
set_name (0X7000F800, "FUSE_CTRL"); | |
create_dword (0X7000F804); | |
set_name (0X7000F804, "FUSE_REG_ADDR"); | |
create_dword (0X7000F80C); | |
set_name (0X7000F80C, "FUSE_REG_WRITE"); | |
create_dword (0X7000F81C); | |
set_name (0X7000F81C, "FUSE_TIME_PGM2"); | |
create_dword (0X7000F828); | |
set_name (0X7000F828, "FUSE_PRIVATEKEYDISABLE"); | |
create_dword (0X7000F82C); | |
set_name (0X7000F82C, "FUSE_DIS_PGM"); | |
create_dword (0X7000F830); | |
set_name (0X7000F830, "FUSE_WRITE_ACCESS"); | |
create_dword (0X7000F910); | |
set_name (0X7000F910, "FUSE_SKU_INFO"); | |
create_dword (0X7000F938); | |
create_dword (0X7000F9E0); | |
set_name (0X7000F9E0, "FUSE_RESERVED_ODM6"); | |
create_dword (0X7000F9E4); | |
set_name (0X7000F9E4, "FUSE_RESERVED_ODM7"); | |
create_dword (0X7000FB94); | |
set_name (0X7000FB94, "FUSE_SPARE_BIT_5"); | |
MakeStruct (0X70012000, "securityEngine_t"); | |
set_name (0X70012000, "securityEngine"); | |
} | |
static Functions_0(void) { | |
add_func (0X40010020,0X40010034); | |
set_func_flags(0X40010020,0x401); | |
SetType(0X40010020, "void __fastcall __noreturn crt0();"); | |
add_func (0X4001003C,0X400100B2); | |
set_func_flags(0X4001003C,0x400); | |
SetType(0X4001003C, "int __fastcall memcmp(_DWORD *a1, _DWORD *a2, unsigned int a3);"); | |
set_frame_size(0X4001003C, 0X4, 0, 0); | |
add_func (0X400100B2,0X400100FA); | |
set_func_flags(0X400100B2,0x400); | |
SetType(0X400100B2, "void __fastcall coreCrypto(int status, char *addressOut, int sizeOut, const char *addressIn, int sizeIn);"); | |
set_frame_size(0X400100B2, 0X40, 0, 0); | |
define_local_var(0X400100B2, 0X400100FA, "[bp-0X34]", "cryptoAddrInfo"); | |
define_local_var(0X400100B2, 0X400100FA, "[bp-0X24]", "status"); | |
define_local_var(0X400100B2, 0X400100FA, "[bp-0X18]", "address"); | |
define_local_var(0X400100B2, 0X400100FA, "[bp+0]", "sizeIn"); | |
add_func (0X400100FA,0X40010144); | |
set_func_flags(0X400100FA,0x400); | |
SetType(0X400100FA, "void __fastcall setKeyslotFlags(KEYSLOT_TYPE keyslot, int flags);"); | |
set_frame_size(0X400100FA, 0X10, 0, 0); | |
add_func (0X40010144,0X40010178); | |
set_func_flags(0X40010144,0x400); | |
SetType(0X40010144, "void __fastcall clearKeyslot(KEYSLOT_TYPE keySlot);"); | |
set_frame_size(0X40010144, 0X8, 0, 0); | |
add_func (0X40010178,0X400101C6); | |
set_func_flags(0X40010178,0x400); | |
SetType(0X40010178, "void __fastcall decryptSingleAESECBBlock(char *address_out, int size_out, KEYSLOT_TYPE keyslot, const char *address_in, int size_in);"); | |
set_frame_size(0X40010178, 0X28, 0, 0); | |
define_local_var(0X40010178, 0X400101C6, "[bp-0X28]", "sizeIn"); | |
define_local_var(0X40010178, 0X400101C6, "[bp-0X18]", "addressIn"); | |
define_local_var(0X40010178, 0X400101C6, "[bp+0]", "size_in"); | |
add_func (0X400101C6,0X400101DC); | |
set_func_flags(0X400101C6,0x400); | |
SetType(0X400101C6, "void __fastcall performAESMAC(char *address_out, int size_out, KEYSLOT_TYPE keySlot, const char *address_in, int size_in);"); | |
set_frame_size(0X400101C6, 0X10, 0, 0); | |
define_local_var(0X400101C6, 0X400101DC, "[bp-0X10]", "address_in"); | |
define_local_var(0X400101C6, 0X400101DC, "[bp+0]", "size_in"); | |
add_func (0X400101DC,0X40010234); | |
set_func_flags(0X400101DC,0x400); | |
SetType(0X400101DC, "void __fastcall decryptDataIntoKeyslot(KEYSLOT_TYPE keySlotToSet, KEYSLOT_TYPE keySlot, const char *encryptedKey, unsigned int keySize);"); | |
set_frame_size(0X400101DC, 0X28, 0, 0); | |
define_local_var(0X400101DC, 0X40010234, "[bp-0X28]", "sizeIn"); | |
define_local_var(0X400101DC, 0X40010234, "[bp-0X1C]", "addressIn"); | |
add_func (0X40010234,0X40010288); | |
set_func_flags(0X40010234,0x400); | |
SetType(0X40010234, "void __fastcall encryptSingleAESECBBlock(char *address_out, int size_out, KEYSLOT_TYPE keyslot, const char *address_in, int size_in);"); | |
set_frame_size(0X40010234, 0X28, 0, 0); | |
define_local_var(0X40010234, 0X40010288, "[bp-0X28]", "sizeIn"); | |
define_local_var(0X40010234, 0X40010288, "[bp-0X1C]", "configHigh"); | |
define_local_var(0X40010234, 0X40010288, "[bp+0]", "addressIn"); | |
add_func (0X40010288,0X400102D8); | |
set_func_flags(0X40010288,0x400); | |
SetType(0X40010288, "void __fastcall setCTR(const char *ctr);"); | |
set_frame_size(0X40010288, 0X10, 0, 0); | |
add_func (0X400102D8,0X400102FE); | |
set_func_flags(0X400102D8,0x400); | |
SetType(0X400102D8, "void __fastcall rotl128XorRb(char *result);"); | |
set_frame_size(0X400102D8, 0X4, 0, 0); | |
add_func (0X400102FE,0X4001031C); | |
set_func_flags(0X400102FE,0x400); | |
SetType(0X400102FE, "void __fastcall selectKeyslot(KEYSLOT_TYPE keySlot, CORE_CRYPT_TYPE isEncrypt, CORE_HASH_TYPE enableHash);"); | |
set_frame_size(0X400102FE, 0X10, 0, 0); | |
add_func (0X4001031C,0X40010334); | |
set_func_flags(0X4001031C,0x400); | |
SetType(0X4001031C, "void __fastcall setNumBlocks(_DWORD);"); | |
set_frame_size(0X4001031C, 0X8, 0, 0); | |
add_func (0X40010334,0X4001034E); | |
set_func_flags(0X40010334,0x400); | |
SetType(0X40010334, "void __fastcall setSecurityEngineConfigHigh(int configHigh);"); | |
set_frame_size(0X40010334, 0X8, 0, 0); | |
add_func (0X4001034E,0X4001047E); | |
set_func_flags(0X4001034E,0x400); | |
SetType(0X4001034E, "void __fastcall performAESMACInternal(char *address_out, int size_out, int zero, KEYSLOT_TYPE keySlot, const char *address_in, int size_in);"); | |
set_frame_size(0X4001034E, 0X50, 0, 0); | |
define_local_var(0X4001034E, 0X4001047E, "[bp-0X50]", "sizeIn"); | |
define_local_var(0X4001034E, 0X4001047E, "[bp-0X48]", "result"); | |
define_local_var(0X4001034E, 0X4001047E, "[bp-0X38]", "addressIn"); | |
define_local_var(0X4001034E, 0X4001047E, "[bp-0X1C]", "configHigh"); | |
define_local_var(0X4001034E, 0X4001047E, "[bp-0X18]", "keySlot"); | |
define_local_var(0X4001034E, 0X4001047E, "[bp+0]", "address_in"); | |
define_local_var(0X4001034E, 0X4001047E, "[bp+0X4]", "size_in"); | |
add_func (0X4001047E,0X4001049E); | |
set_func_flags(0X4001047E,0x400); | |
SetType(0X4001047E, "void __fastcall setAESConfig(ALG_TYPE alg, DST_TYPE dst);"); | |
set_frame_size(0X4001047E, 0X10, 0, 0); | |
add_func (0X4001049E,0X400104B2); | |
set_func_flags(0X4001049E,0x400); | |
SetType(0X4001049E, "void __fastcall createCryptoAddressInfo(CryptoAddrInfo *cryptoAddrInfo, unsigned int address, unsigned int size);"); | |
add_func (0X400104B2,0X40010500); | |
set_func_flags(0X400104B2,0x400); | |
SetType(0X400104B2, "void __fastcall setKeyslot(KEYSLOT_TYPE keyslotNum, const char *key, unsigned int keySize);"); | |
set_frame_size(0X400104B2, 0X28, 0, 0); | |
define_local_var(0X400104B2, 0X40010500, "[bp-0X1C]", "dword"); | |
add_func (0X40010500,0X40010512); | |
set_func_flags(0X40010500,0x400); | |
SetType(0X40010500, "bool __cdecl isUnitTypeNonZero();"); | |
set_frame_size(0X40010500, 0X8, 0, 0); | |
add_func (0X40010512,0X40010516); | |
set_func_flags(0X40010512,0x4c1); | |
SetType(0X40010512, "void __cdecl __noreturn j_j_panic();"); | |
add_func (0X40010516,0X40010540); | |
set_func_flags(0X40010516,0x401); | |
SetType(0X40010516, "void __cdecl __noreturn panic2();"); | |
set_frame_size(0X40010516, 0X10, 0, 0); | |
add_func (0X40010540,0X4001054A); | |
set_func_flags(0X40010540,0x401); | |
SetType(0X40010540, "void __fastcall writeOdmFuse7(unsigned int val);"); | |
set_frame_size(0X40010540, 0X8, 0, 0); | |
add_func (0X40010550,0X4001055A); | |
set_func_flags(0X40010550,0x401); | |
SetType(0X40010550, "void __fastcall writeOdmFuse6(unsigned int val);"); | |
set_frame_size(0X40010550, 0X8, 0, 0); | |
add_func (0X40010560,0X4001057C); | |
set_func_flags(0X40010560,0x400); | |
SetType(0X40010560, "void __fastcall writeFuse(unsigned int fuseIndexRaw, unsigned int fuseVal);"); | |
set_frame_size(0X40010560, 0X10, 0, 0); | |
add_func (0X4001057C,0X400105BA); | |
set_func_flags(0X4001057C,0x400); | |
SetType(0X4001057C, "int __cdecl getOdmFuse4Type();"); | |
set_frame_size(0X4001057C, 0X4, 0, 0); | |
add_func (0X400105BA,0X400105E8); | |
set_func_flags(0X400105BA,0x400); | |
SetType(0X400105BA, "unsigned int __fastcall getUnitType();"); | |
set_frame_size(0X400105BA, 0X4, 0, 0); | |
add_func (0X400105E8,0X400105FC); | |
set_func_flags(0X400105E8,0x400); | |
SetType(0X400105E8, "void __fastcall checkSku();"); | |
set_frame_size(0X400105E8, 0X8, 0, 0); | |
add_func (0X400105FC,0X40010610); | |
set_func_flags(0X400105FC,0x400); | |
SetType(0X400105FC, "bool __fastcall checkOdmFuse6(downgradeFuseData *fuseData);"); | |
add_func (0X40010610,0X40010646); | |
set_func_flags(0X40010610,0x400); | |
SetType(0X40010610, "void __fastcall checkBCTBootloadeVersion(BIT_t *BIT);"); | |
set_frame_size(0X40010610, 0X8, 0, 0); | |
add_func (0X40010646,0X40010688); | |
set_func_flags(0X40010646,0x400); | |
SetType(0X40010646, "void __cdecl checkConfigFuses();"); | |
set_frame_size(0X40010646, 0X10, 0, 0); | |
add_func (0X40010688,0X40010698); | |
set_func_flags(0X40010688,0x400); | |
SetType(0X40010688, "bool __fastcall checkOdmFuse7(downgradeFuseData *fuseData);"); | |
add_func (0X40010698,0X400106E4); | |
set_func_flags(0X40010698,0x400); | |
SetType(0X40010698, "char *__fastcall decryptAndParsePK11(char *package11);"); | |
set_frame_size(0X40010698, 0X18, 0, 0); | |
define_local_var(0X40010698, 0X400106E4, "[bp-0X18]", "sizeIn"); | |
add_func (0X400106E4,0X4001070A); | |
set_func_flags(0X400106E4,0x400); | |
SetType(0X400106E4, "bool __fastcall getFuseDataMatchesExpectation(fuseBurnInfo *fuseBurnInfo, downgradeFuseData *downgradeData);"); | |
add_func (0X4001070A,0X40010716); | |
set_func_flags(0X4001070A,0x400); | |
SetType(0X4001070A, "void __fastcall memclear(char *a1, unsigned int a2);"); | |
set_frame_size(0X4001070A, 0X8, 0, 0); | |
add_func (0X40010716,0X40010736); | |
set_func_flags(0X40010716,0x400); | |
SetType(0X40010716, "unsigned int __fastcall read32(const char *dword, unsigned int offset);"); | |
set_frame_size(0X40010716, 0X4, 0, 0); | |
add_func (0X40010736,0X40010750); | |
set_func_flags(0X40010736,0x400); | |
SetType(0X40010736, "void __fastcall write32(char *address, int offset, unsigned int value);"); | |
set_frame_size(0X40010736, 0X4, 0, 0); | |
add_func (0X40010750,0X40010766); | |
set_func_flags(0X40010750,0x401); | |
SetType(0X40010750, "void __cdecl __noreturn launchPackage11();"); | |
set_frame_size(0X40010750, 0X8, 0, 0); | |
add_func (0X40010766,0X40010768); | |
set_func_flags(0X40010766,0x480); | |
SetType(0X40010766, "void __fastcall launchFunction(void (__fastcall *a1)(void *));"); | |
add_func (0X40010768,0X4001076A); | |
set_func_flags(0X40010768,0x480); | |
SetType(0X40010768, "int __cdecl branchToR4(void (__fastcall *)(void *));"); | |
add_func (0X4001076C,0X40010770); | |
set_func_flags(0X4001076C,0x4c1); | |
SetType(0X4001076C, "void __cdecl __noreturn j_panic();"); | |
add_func (0X40010770,0X40010778); | |
set_func_flags(0X40010770,0x400); | |
SetType(0X40010770, "void __cdecl panic();"); | |
add_func (0X4001077C,0X40010780); | |
set_func_flags(0X4001077C,0x4c0); | |
SetType(0X4001077C, "bool __fastcall constTimeMemcmp(const char *a, const char *b, unsigned int size);"); | |
add_func (0X40010780,0X400107C8); | |
set_func_flags(0X40010780,0x400); | |
SetType(0X40010780, "bool __fastcall _32constTimeMemcmp(unsigned __int8 *a, unsigned __int8 *b, unsigned int size);"); | |
set_frame_size(0X40010780, 0XC, 0, 0); | |
add_func (0X400107C8,0X400107CC); | |
set_func_flags(0X400107C8,0x401); | |
SetType(0X400107C8, "void __cdecl __noreturn pivotStackLaunchFunction(void *a1, void (__fastcall *)(void *), void *a3);"); | |
add_func (0X400107CC,0X400107D0); | |
set_func_flags(0X400107CC,0x4c0); | |
SetType(0X400107CC, "void __fastcall memcpy2(char *dst, const char *src, unsigned int size);"); | |
add_func (0X400107D0,0X400108A4); | |
set_func_flags(0X400107D0,0x400); | |
SetType(0X400107D0, "void __fastcall _32memcpy2(char *dst, const char *src, unsigned int size);"); | |
add_func (0X400108A4,0X400108A8); | |
set_func_flags(0X400108A4,0x480); | |
SetType(0X400108A4, "int __fastcall memcpy(char *dst, const char *src, unsigned int size);"); | |
add_func (0X400108A8,0X4001090C); | |
set_func_flags(0X400108A8,0x400); | |
SetType(0X400108A8, "void __fastcall _32memcpy(char *dst, const char *src, unsigned int size);"); | |
set_frame_size(0X400108A8, 0X8, 0, 0); | |
add_func (0X4001090C,0X40010910); | |
set_func_flags(0X4001090C,0x480); | |
SetType(0X4001090C, "void __fastcall memclear3(_BYTE *result, unsigned int a2);"); | |
add_func (0X40010910,0X40010950); | |
set_func_flags(0X40010910,0x400); | |
SetType(0X40010910, "void __fastcall _32memclear3(_BYTE *result, unsigned int a2);"); | |
add_func (0X40010950,0X40010954); | |
set_func_flags(0X40010950,0x480); | |
SetType(0X40010950, "void __fastcall memclear2(_BYTE *a1, int a2);"); | |
add_func (0X40010954,0X400109A8); | |
set_func_flags(0X40010954,0x400); | |
SetType(0X40010954, "void __fastcall _32memclear2(_BYTE *a1, int a2);"); | |
set_frame_size(0X40010954, 0X4, 0, 0); | |
add_func (0X400109A8,0X400109C4); | |
set_func_flags(0X400109A8,0x400); | |
SetType(0X400109A8, "void __cdecl verifySecurityEngineNotBusy();"); | |
set_frame_size(0X400109A8, 0X8, 0, 0); | |
add_func (0X400109C8,0X400109E8); | |
set_func_flags(0X400109C8,0x400); | |
SetType(0X400109C8, "void __cdecl disableSecurityEngineReads();"); | |
add_func (0X400109F0,0X40010AA4); | |
set_func_flags(0X400109F0,0x400); | |
SetType(0X400109F0, "void __fastcall AESCTRCrypt(char *addressOut, unsigned int sizeOut, KEYSLOT_TYPE keySlot, const char *addressIn, unsigned int sizeIn, const char *ctr, int ctrSize);"); | |
set_frame_size(0X400109F0, 0X50, 0, 0); | |
define_local_var(0X400109F0, 0X40010AA4, "[bp-0X4C]", "size"); | |
define_local_var(0X400109F0, 0X40010AA4, "[bp-0X44]", "dst"); | |
define_local_var(0X400109F0, 0X40010AA4, "[bp-0X34]", "src"); | |
define_local_var(0X400109F0, 0X40010AA4, "[bp-0X24]", "addressOut"); | |
define_local_var(0X400109F0, 0X40010AA4, "[bp-0X1C]", "keySlot"); | |
define_local_var(0X400109F0, 0X40010AA4, "[bp-0X18]", "addressIn"); | |
define_local_var(0X400109F0, 0X40010AA4, "[bp+0]", "sizeIn"); | |
define_local_var(0X400109F0, 0X40010AA4, "[bp+0X4]", "ctr"); | |
define_local_var(0X400109F0, 0X40010AA4, "[bp+0X8]", "ctrSize"); | |
add_func (0X40010AA8,0X40010AAE); | |
set_func_flags(0X40010AA8,0x400); | |
SetType(0X40010AA8, "securityEngine_t *__cdecl getSecurityEngine();"); | |
add_func (0X40010AB4,0X40010ABA); | |
set_func_flags(0X40010AB4,0x400); | |
SetType(0X40010AB4, "void __fastcall setSecurityEngineAddress(securityEngine_t *securityEngine);"); | |
add_func (0X40010AC0,0X40010AEC); | |
set_func_flags(0X40010AC0,0x400); | |
SetType(0X40010AC0, "void __cdecl checkSecurityEngineOperationSuceeded();"); | |
set_frame_size(0X40010AC0, 0X8, 0, 0); | |
add_func (0X40010AF0,0X40010B0C); | |
set_func_flags(0X40010AF0,0x400); | |
SetType(0X40010AF0, "void __fastcall setOperationStatus(unsigned int status);"); | |
set_frame_size(0X40010AF0, 0X8, 0, 0); | |
add_func (0X40010B10,0X40010B50); | |
set_func_flags(0X40010B10,0x400); | |
SetType(0X40010B10, "void __cdecl clearSecurityEngine();"); | |
set_frame_size(0X40010B10, 0X8, 0, 0); | |
add_func (0X40010B54,0X40010BC6); | |
set_func_flags(0X40010B54,0x400); | |
SetType(0X40010B54, "void __fastcall enableDeviceClkRst(_BYTE *a1);"); | |
set_frame_size(0X40010B54, 0X10, 0, 0); | |
add_func (0X40010BCC,0X40010C00); | |
set_func_flags(0X40010BCC,0x400); | |
SetType(0X40010BCC, "void __fastcall disableDeviceClkRst(_BYTE *a1);"); | |
set_frame_size(0X40010BCC, 0XC, 0, 0); | |
add_func (0X40010C04,0X40010C10); | |
set_func_flags(0X40010C04,0x400); | |
SetType(0X40010C04, "void __fastcall enableSEClkRst();"); | |
set_frame_size(0X40010C04, 0X4, 0, 0); | |
add_func (0X40010C14,0X40010C20); | |
set_func_flags(0X40010C14,0x400); | |
SetType(0X40010C14, "void __cdecl enableSor0ClkRst();"); | |
set_frame_size(0X40010C14, 0X4, 0, 0); | |
add_func (0X40010C24,0X40010C30); | |
set_func_flags(0X40010C24,0x400); | |
SetType(0X40010C24, "void __cdecl enableSor1ClkRst();"); | |
set_frame_size(0X40010C24, 0X4, 0, 0); | |
add_func (0X40010C34,0X40010C40); | |
set_func_flags(0X40010C34,0x400); | |
SetType(0X40010C34, "void __cdecl enableTsecClkRst();"); | |
set_frame_size(0X40010C34, 0X4, 0, 0); | |
add_func (0X40010C44,0X40010C50); | |
set_func_flags(0X40010C44,0x400); | |
SetType(0X40010C44, "void __cdecl disableSor0ClkRst();"); | |
set_frame_size(0X40010C44, 0X4, 0, 0); | |
add_func (0X40010C54,0X40010C60); | |
set_func_flags(0X40010C54,0x400); | |
SetType(0X40010C54, "void __cdecl disableSor1ClkRst();"); | |
set_frame_size(0X40010C54, 0X4, 0, 0); | |
add_func (0X40010C64,0X40010C70); | |
set_func_flags(0X40010C64,0x400); | |
SetType(0X40010C64, "void __cdecl disableTsecClkRst();"); | |
set_frame_size(0X40010C64, 0X4, 0, 0); | |
add_func (0X40010C74,0X40010CAC); | |
set_func_flags(0X40010C74,0x400); | |
SetType(0X40010C74, "unsigned int __cdecl enableKFuseClkRst();"); | |
set_frame_size(0X40010C74, 0X10, 0, 0); | |
add_func (0X40010CB0,0X40010CBC); | |
set_func_flags(0X40010CB0,0x400); | |
SetType(0X40010CB0, "void __cdecl disableKFuseClkRst();"); | |
set_frame_size(0X40010CB0, 0X4, 0, 0); | |
add_func (0X40010CC0,0X40010CCC); | |
set_func_flags(0X40010CC0,0x400); | |
SetType(0X40010CC0, "void __cdecl enableHost1XClkRst();"); | |
set_frame_size(0X40010CC0, 0X4, 0, 0); | |
add_func (0X40010CD0,0X40010CE6); | |
set_func_flags(0X40010CD0,0x400); | |
SetType(0X40010CD0, "void __fastcall enableMiscClk(_DWORD);"); | |
add_func (0X40010CEC,0X40010CF8); | |
set_func_flags(0X40010CEC,0x400); | |
SetType(0X40010CEC, "void __cdecl disableHost1xClkRst();"); | |
set_frame_size(0X40010CEC, 0X4, 0, 0); | |
add_func (0X40010CFC,0X40010D08); | |
set_func_flags(0X40010CFC,0x400); | |
SetType(0X40010CFC, "void __cdecl enableSorSafeClkRst();"); | |
set_frame_size(0X40010CFC, 0X4, 0, 0); | |
add_func (0X40010D0C,0X40010D18); | |
set_func_flags(0X40010D0C,0x400); | |
SetType(0X40010D0C, "void __cdecl disableSorSafeClkRst();"); | |
set_frame_size(0X40010D0C, 0X4, 0, 0); | |
add_func (0X40010D1C,0X40010D4A); | |
set_func_flags(0X40010D1C,0x400); | |
SetType(0X40010D1C, "unsigned int __cdecl setPMCRegAfterFuseWriting();"); | |
set_frame_size(0X40010D1C, 0X8, 0, 0); | |
add_func (0X40010D50,0X40010D7E); | |
set_func_flags(0X40010D50,0x400); | |
SetType(0X40010D50, "void __cdecl setPMCRegBeforeFuseWriting();"); | |
set_frame_size(0X40010D50, 0X8, 0, 0); | |
add_func (0X40010D84,0X40010DB0); | |
set_func_flags(0X40010D84,0x401); | |
SetType(0X40010D84, "void __noreturn reboot(void);"); | |
add_func (0X40010DBC,0X40010DD6); | |
set_func_flags(0X40010DBC,0x400); | |
SetType(0X40010DBC, "void __cdecl disableFuseWriteAccess();"); | |
set_frame_size(0X40010DBC, 0X8, 0, 0); | |
add_func (0X40010DDC,0X40010DEC); | |
set_func_flags(0X40010DDC,0x400); | |
SetType(0X40010DDC, "unsigned int __fastcall readOdmReservedFuse(int a1);"); | |
add_func (0X40010DF0,0X40010DFC); | |
set_func_flags(0X40010DF0,0x400); | |
SetType(0X40010DF0, "unsigned int __cdecl getSku();"); | |
add_func (0X40010E00,0X40010E0C); | |
set_func_flags(0X40010E00,0x400); | |
SetType(0X40010E00, "int __cdecl getODMReservedFuse7();"); | |
add_func (0X40010E10,0X40010E1C); | |
set_func_flags(0X40010E10,0x400); | |
SetType(0X40010E10, "int __cdecl getODMReservedFuse6();"); | |
add_func (0X40010E20,0X40010E5A); | |
set_func_flags(0X40010E20,0x400); | |
SetType(0X40010E20, "void __fastcall writeFuseInternal(unsigned int fuseIndex, unsigned int fuseVal);"); | |
set_frame_size(0X40010E20, 0X10, 0, 0); | |
add_func (0X40010E60,0X40010E70); | |
set_func_flags(0X40010E60,0x400); | |
SetType(0X40010E60, "unsigned __int8 __cdecl getBootromPatchVersion();"); | |
add_func (0X40010E74,0X40010E7E); | |
set_func_flags(0X40010E74,0x400); | |
SetType(0X40010E74, "void __cdecl secondaryPrivateKeyDisable();"); | |
add_func (0X40010E84,0X40010E9A); | |
set_func_flags(0X40010E84,0x400); | |
SetType(0X40010E84, "bool checkFuseCtrlBusy(void);"); | |
add_func (0X40010EA0,0X40010EAA); | |
set_func_flags(0X40010EA0,0x400); | |
SetType(0X40010EA0, "void __fastcall disableFuseProgramming();"); | |
add_func (0X40010EB0,0X40010EF4); | |
set_func_flags(0X40010EB0,0x400); | |
SetType(0X40010EB0, "void prepareToBurnFuses(void);"); | |
set_frame_size(0X40010EB0, 0X10, 0, 0); | |
add_func (0X40010EF8,0X40010F0A); | |
set_func_flags(0X40010EF8,0x400); | |
SetType(0X40010EF8, "bool __cdecl isEKSProvisioned();"); | |
add_func (0X40010F10,0X40010F22); | |
set_func_flags(0X40010F10,0x400); | |
SetType(0X40010F10, "void __cdecl clearStack();"); | |
set_frame_size(0X40010F10, 0X8, 0, 0); | |
add_func (0X40010F28,0X40011096); | |
set_func_flags(0X40010F28,0x400); | |
SetType(0X40010F28, "void enableHwDevices(void);"); | |
set_frame_size(0X40010F28, 0X18, 0, 0); | |
add_func (0X400110E0,0X4001110C); | |
set_func_flags(0X400110E0,0x400); | |
set_frame_size(0X400110E0, 0X8, 0, 0); | |
add_func (0X4001111C,0X4001112C); | |
set_func_flags(0X4001111C,0x400); | |
SetType(0X4001111C, "void __cdecl clearStage2Payload();"); | |
set_frame_size(0X4001111C, 0X8, 0, 0); | |
add_func (0X40011160,0X400111EC); | |
set_func_flags(0X40011160,0x400); | |
SetType(0X40011160, "void __fastcall downgradeFuseCheck();"); | |
set_frame_size(0X40011160, 0X38, 0, 0); | |
define_local_var(0X40011160, 0X400111EC, "[bp-0X1C]", "fuseBurnInfo"); | |
add_func (0X400111F8,0X400112CC); | |
set_func_flags(0X400111F8,0x400); | |
SetType(0X400111F8, "void __fastcall generateKeysFromKeyblobAndKeyseeds(const keyblob_t *keyAreaAddress, const char *masterStaticKeySeed, int masterStaticKeySeedSize);"); | |
set_frame_size(0X400111F8, 0XB0, 0, 0); | |
define_local_var(0X400111F8, 0X400112CC, "[bp-0XB0]", "sizeIn"); | |
define_local_var(0X400111F8, 0X400112CC, "[bp-0XAC]", "deviceKeyOut"); | |
define_local_var(0X400111F8, 0X400112CC, "[bp-0XA8]", "ctrSize"); | |
define_local_var(0X400111F8, 0X400112CC, "[bp-0XA4]", "addressOut"); | |
define_local_var(0X400111F8, 0X400112CC, "[bp-0X9C]", "address_out"); | |
define_local_var(0X400111F8, 0X400112CC, "[bp-0X24]", "key"); | |
add_func (0X400112E4,0X40011348); | |
set_func_flags(0X400112E4,0x400); | |
set_frame_size(0X400112E4, 0X10, 0, 0); | |
add_func (0X40011368,0X400113B4); | |
set_func_flags(0X40011368,0x400); | |
SetType(0X40011368, "bool __fastcall isValidPK11Header(_DWORD *package11Header, unsigned int package11Size);"); | |
set_frame_size(0X40011368, 0X10, 0, 0); | |
add_func (0X400113BC,0X400113DC); | |
set_func_flags(0X400113BC,0x400); | |
SetType(0X400113BC, "void __cdecl clearDataAndBSS();"); | |
set_frame_size(0X400113BC, 0X8, 0, 0); | |
add_func (0X400113EC,0X4001145C); | |
set_func_flags(0X400113EC,0x400); | |
SetType(0X400113EC, "void __cdecl enableMemoryControllers();"); | |
set_frame_size(0X400113EC, 0X8, 0, 0); | |
add_func (0X40011470,0X400114EA); | |
set_func_flags(0X40011470,0x400); | |
SetType(0X40011470, "void __fastcall generateKeys(BIT_t *BIT);"); | |
set_frame_size(0X40011470, 0X18, 0, 0); | |
add_func (0X400114FC,0X4001160A); | |
set_func_flags(0X400114FC,0x400); | |
SetType(0X400114FC, "void __fastcall getDeviceKeyFromFalcon(char *deviceKeyOut, unsigned int deviceKeySize);"); | |
set_frame_size(0X400114FC, 0X30, 0, 0); | |
add_func (0X4001162C,0X40011652); | |
set_func_flags(0X4001162C,0x400); | |
SetType(0X4001162C, "void __cdecl waitFalconDmaIdle();"); | |
set_frame_size(0X4001162C, 0X10, 0, 0); | |
add_func (0X4001165C,0X40011682); | |
set_func_flags(0X4001165C,0x400); | |
SetType(0X4001165C, "void __fastcall loadFalconFirm(int a1, int a2, int a3);"); | |
set_frame_size(0X4001165C, 0X8, 0, 0); | |
add_func (0X40011688,0X40011690); | |
set_func_flags(0X40011688,0x400); | |
SetType(0X40011688, "unsigned int __cdecl readTimer();"); | |
add_func (0X40011694,0X400116A8); | |
set_func_flags(0X40011694,0x400); | |
SetType(0X40011694, "unsigned int __fastcall wait(unsigned int result);"); | |
add_func (0X400116AC,0X4001173E); | |
set_func_flags(0X400116AC,0x401); | |
SetType(0X400116AC, "int __cdecl main(int argc, const char **argv, const char **envp);"); | |
set_frame_size(0X400116AC, 0X10, 0, 0); | |
} | |
//------------------------------------------------------------------------ | |
// Information about functions | |
static Functions(void) { | |
Functions_0(); | |
} | |
//------------------------------------------------------------------------ | |
// Information about segment registers | |
static SegRegs(void) { | |
split_sreg_range(0X40000000,"T",0,3); | |
split_sreg_range(0X40006000,"T",0,3); | |
split_sreg_range(0X40007000,"T",0,3); | |
split_sreg_range(0X40010000,"T",0,3); | |
split_sreg_range(0X40010030,"T",0,3); | |
split_sreg_range(0X4001003C,"T",0X1,3); | |
split_sreg_range(0X40010046,"T",0X1,3); | |
split_sreg_range(0X4001007E,"T",0X1,3); | |
split_sreg_range(0X40010082,"T",0X1,3); | |
split_sreg_range(0X4001008E,"T",0X1,3); | |
split_sreg_range(0X40010092,"T",0X1,3); | |
split_sreg_range(0X4001009E,"T",0X1,3); | |
split_sreg_range(0X400100AE,"T",0X1,3); | |
split_sreg_range(0X400100B2,"T",0X1,3); | |
split_sreg_range(0X400100E8,"T",0X1,3); | |
split_sreg_range(0X400100FA,"T",0X1,3); | |
split_sreg_range(0X40010108,"T",0X1,3); | |
split_sreg_range(0X4001011E,"T",0X1,3); | |
split_sreg_range(0X4001013E,"T",0X1,3); | |
split_sreg_range(0X40010144,"T",0X1,3); | |
split_sreg_range(0X40010150,"T",0X1,3); | |
split_sreg_range(0X40010162,"T",0X1,3); | |
split_sreg_range(0X40010178,"T",0X1,3); | |
split_sreg_range(0X40010194,"T",0X1,3); | |
split_sreg_range(0X40010198,"T",0X1,3); | |
split_sreg_range(0X400101BE,"T",0X1,3); | |
split_sreg_range(0X400101C6,"T",0X1,3); | |
split_sreg_range(0X400101DC,"T",0X1,3); | |
split_sreg_range(0X400101F2,"T",0X1,3); | |
split_sreg_range(0X400101F6,"T",0X1,3); | |
split_sreg_range(0X40010234,"T",0X1,3); | |
split_sreg_range(0X40010250,"T",0X1,3); | |
split_sreg_range(0X40010254,"T",0X1,3); | |
split_sreg_range(0X40010280,"T",0X1,3); | |
split_sreg_range(0X40010288,"T",0X1,3); | |
split_sreg_range(0X400102D8,"T",0X1,3); | |
split_sreg_range(0X400102DE,"T",0X1,3); | |
split_sreg_range(0X400102FA,"T",0X1,3); | |
split_sreg_range(0X400102FE,"T",0X1,3); | |
split_sreg_range(0X4001031C,"T",0X1,3); | |
split_sreg_range(0X40010334,"T",0X1,3); | |
split_sreg_range(0X4001034E,"T",0X1,3); | |
split_sreg_range(0X4001035E,"T",0X1,3); | |
split_sreg_range(0X40010374,"T",0X1,3); | |
split_sreg_range(0X4001039E,"T",0X1,3); | |
split_sreg_range(0X400103CC,"T",0X1,3); | |
split_sreg_range(0X40010404,"T",0X1,3); | |
split_sreg_range(0X4001041E,"T",0X1,3); | |
split_sreg_range(0X40010430,"T",0X1,3); | |
split_sreg_range(0X40010460,"T",0X1,3); | |
split_sreg_range(0X40010464,"T",0X1,3); | |
split_sreg_range(0X40010472,"T",0X1,3); | |
split_sreg_range(0X4001047E,"T",0X1,3); | |
split_sreg_range(0X4001049E,"T",0X1,3); | |
split_sreg_range(0X400104AC,"T",0X1,3); | |
split_sreg_range(0X400104B2,"T",0X1,3); | |
split_sreg_range(0X400104C2,"T",0X1,3); | |
split_sreg_range(0X400104C6,"T",0X1,3); | |
split_sreg_range(0X400104E0,"T",0X1,3); | |
split_sreg_range(0X400104F4,"T",0X1,3); | |
split_sreg_range(0X40010500,"T",0X1,3); | |
split_sreg_range(0X4001050C,"T",0X1,3); | |
split_sreg_range(0X40010512,"T",0X1,3); | |
split_sreg_range(0X40010516,"T",0X1,3); | |
split_sreg_range(0X4001052C,"T",0X1,3); | |
split_sreg_range(0X4001053A,"T",0X1,3); | |
split_sreg_range(0X40010540,"T",0X1,3); | |
split_sreg_range(0X40010550,"T",0X1,3); | |
split_sreg_range(0X40010560,"T",0X1,3); | |
split_sreg_range(0X4001057C,"T",0X1,3); | |
split_sreg_range(0X400105A4,"T",0X1,3); | |
split_sreg_range(0X400105A6,"T",0X1,3); | |
split_sreg_range(0X400105AA,"T",0X1,3); | |
split_sreg_range(0X400105AE,"T",0X1,3); | |
split_sreg_range(0X400105B6,"T",0X1,3); | |
split_sreg_range(0X400105BA,"T",0X1,3); | |
split_sreg_range(0X400105DC,"T",0X1,3); | |
split_sreg_range(0X400105E0,"T",0X1,3); | |
split_sreg_range(0X400105E4,"T",0X1,3); | |
split_sreg_range(0X400105E8,"T",0X1,3); | |
split_sreg_range(0X400105F6,"T",0X1,3); | |
split_sreg_range(0X400105FC,"T",0X1,3); | |
split_sreg_range(0X40010608,"T",0X1,3); | |
split_sreg_range(0X4001060C,"T",0X1,3); | |
split_sreg_range(0X40010610,"T",0X1,3); | |
split_sreg_range(0X40010616,"T",0X1,3); | |
split_sreg_range(0X40010628,"T",0X1,3); | |
split_sreg_range(0X4001062C,"T",0X1,3); | |
split_sreg_range(0X40010646,"T",0X1,3); | |
split_sreg_range(0X4001067E,"T",0X1,3); | |
split_sreg_range(0X40010682,"T",0X1,3); | |
split_sreg_range(0X40010688,"T",0X1,3); | |
split_sreg_range(0X40010694,"T",0X1,3); | |
split_sreg_range(0X40010698,"T",0X1,3); | |
split_sreg_range(0X400106E0,"T",0X1,3); | |
split_sreg_range(0X400106E4,"T",0X1,3); | |
split_sreg_range(0X400106EE,"T",0X1,3); | |
split_sreg_range(0X400106F0,"T",0X1,3); | |
split_sreg_range(0X40010702,"T",0X1,3); | |
split_sreg_range(0X40010706,"T",0X1,3); | |
split_sreg_range(0X4001070A,"T",0X1,3); | |
split_sreg_range(0X40010716,"T",0X1,3); | |
split_sreg_range(0X40010736,"T",0X1,3); | |
split_sreg_range(0X40010750,"T",0X1,3); | |
split_sreg_range(0X40010766,"T",0X1,3); | |
split_sreg_range(0X40010768,"T",0X1,3); | |
split_sreg_range(0X4001076C,"T",0X1,3); | |
split_sreg_range(0X40010770,"T",0,3); | |
split_sreg_range(0X4001077C,"T",0X1,3); | |
split_sreg_range(0X40010780,"T",0,3); | |
split_sreg_range(0X40010790,"T",0,3); | |
split_sreg_range(0X400107AC,"T",0,3); | |
split_sreg_range(0X400107C8,"T",0X1,3); | |
split_sreg_range(0X400107CC,"T",0X1,3); | |
split_sreg_range(0X400107D0,"T",0,3); | |
split_sreg_range(0X40010804,"T",0,3); | |
split_sreg_range(0X40010824,"T",0,3); | |
split_sreg_range(0X40010844,"T",0,3); | |
split_sreg_range(0X40010864,"T",0,3); | |
split_sreg_range(0X40010884,"T",0,3); | |
split_sreg_range(0X400108A4,"T",0X1,3); | |
split_sreg_range(0X400108A8,"T",0,3); | |
split_sreg_range(0X400108B4,"T",0,3); | |
split_sreg_range(0X400108CC,"T",0,3); | |
split_sreg_range(0X4001090C,"T",0X1,3); | |
split_sreg_range(0X40010910,"T",0,3); | |
split_sreg_range(0X4001093C,"T",0,3); | |
split_sreg_range(0X40010950,"T",0X1,3); | |
split_sreg_range(0X40010954,"T",0,3); | |
split_sreg_range(0X40010958,"T",0,3); | |
split_sreg_range(0X4001096C,"T",0,3); | |
split_sreg_range(0X400109A8,"T",0X1,3); | |
split_sreg_range(0X400109BE,"T",0X1,3); | |
split_sreg_range(0X400109C8,"T",0X1,3); | |
split_sreg_range(0X400109F0,"T",0X1,3); | |
split_sreg_range(0X40010A08,"T",0X1,3); | |
split_sreg_range(0X40010A0C,"T",0X1,3); | |
split_sreg_range(0X40010A54,"T",0X1,3); | |
split_sreg_range(0X40010A90,"T",0X1,3); | |
split_sreg_range(0X40010A9C,"T",0X1,3); | |
split_sreg_range(0X40010AA8,"T",0X1,3); | |
split_sreg_range(0X40010AB4,"T",0X1,3); | |
split_sreg_range(0X40010AC0,"T",0X1,3); | |
split_sreg_range(0X40010AE2,"T",0X1,3); | |
split_sreg_range(0X40010AE6,"T",0X1,3); | |
split_sreg_range(0X40010AF0,"T",0X1,3); | |
split_sreg_range(0X40010B10,"T",0X1,3); | |
split_sreg_range(0X40010B1C,"T",0X1,3); | |
split_sreg_range(0X40010B32,"T",0X1,3); | |
split_sreg_range(0X40010B54,"T",0X1,3); | |
split_sreg_range(0X40010B9A,"T",0X1,3); | |
split_sreg_range(0X40010BCC,"T",0X1,3); | |
split_sreg_range(0X40010C04,"T",0X1,3); | |
split_sreg_range(0X40010C14,"T",0X1,3); | |
split_sreg_range(0X40010C24,"T",0X1,3); | |
split_sreg_range(0X40010C34,"T",0X1,3); | |
split_sreg_range(0X40010C44,"T",0X1,3); | |
split_sreg_range(0X40010C54,"T",0X1,3); | |
split_sreg_range(0X40010C64,"T",0X1,3); | |
split_sreg_range(0X40010C74,"T",0X1,3); | |
split_sreg_range(0X40010CB0,"T",0X1,3); | |
split_sreg_range(0X40010CC0,"T",0X1,3); | |
split_sreg_range(0X40010CD0,"T",0X1,3); | |
split_sreg_range(0X40010CEC,"T",0X1,3); | |
split_sreg_range(0X40010CFC,"T",0X1,3); | |
split_sreg_range(0X40010D0C,"T",0X1,3); | |
split_sreg_range(0X40010D1C,"T",0X1,3); | |
split_sreg_range(0X40010D50,"T",0X1,3); | |
split_sreg_range(0X40010D84,"T",0X1,3); | |
split_sreg_range(0X40010DAE,"T",0X1,3); | |
split_sreg_range(0X40010DBC,"T",0X1,3); | |
split_sreg_range(0X40010DDC,"T",0X1,3); | |
split_sreg_range(0X40010DF0,"T",0X1,3); | |
split_sreg_range(0X40010E00,"T",0X1,3); | |
split_sreg_range(0X40010E10,"T",0X1,3); | |
split_sreg_range(0X40010E20,"T",0X1,3); | |
split_sreg_range(0X40010E48,"T",0X1,3); | |
split_sreg_range(0X40010E56,"T",0X1,3); | |
split_sreg_range(0X40010E60,"T",0X1,3); | |
split_sreg_range(0X40010E74,"T",0X1,3); | |
split_sreg_range(0X40010E84,"T",0X1,3); | |
split_sreg_range(0X40010E96,"T",0X1,3); | |
split_sreg_range(0X40010EA0,"T",0X1,3); | |
split_sreg_range(0X40010EB0,"T",0X1,3); | |
split_sreg_range(0X40010ECC,"T",0X1,3); | |
split_sreg_range(0X40010ED6,"T",0X1,3); | |
split_sreg_range(0X40010EF8,"T",0X1,3); | |
split_sreg_range(0X40010F10,"T",0X1,3); | |
split_sreg_range(0X40010F28,"T",0X1,3); | |
split_sreg_range(0X400110E0,"T",0X1,3); | |
split_sreg_range(0X400110F8,"T",0X1,3); | |
split_sreg_range(0X40011102,"T",0X1,3); | |
split_sreg_range(0X4001111C,"T",0X1,3); | |
split_sreg_range(0X40011134,"T",0,3); | |
split_sreg_range(0X4001113C,"T",0X1,3); | |
split_sreg_range(0X40011156,"T",0X1,3); | |
split_sreg_range(0X40011160,"T",0X1,3); | |
split_sreg_range(0X400111AA,"T",0X1,3); | |
split_sreg_range(0X400111BA,"T",0X1,3); | |
split_sreg_range(0X400111BE,"T",0X1,3); | |
split_sreg_range(0X400111DC,"T",0X1,3); | |
split_sreg_range(0X400111E4,"T",0X1,3); | |
split_sreg_range(0X400111F8,"T",0X1,3); | |
split_sreg_range(0X400112C8,"T",0X1,3); | |
split_sreg_range(0X400112E4,"T",0X1,3); | |
split_sreg_range(0X40011368,"T",0X1,3); | |
split_sreg_range(0X400113A8,"T",0X1,3); | |
split_sreg_range(0X400113AA,"T",0X1,3); | |
split_sreg_range(0X400113B0,"T",0X1,3); | |
split_sreg_range(0X400113BC,"T",0X1,3); | |
split_sreg_range(0X400113EC,"T",0X1,3); | |
split_sreg_range(0X40011470,"T",0X1,3); | |
split_sreg_range(0X400114A6,"T",0X1,3); | |
split_sreg_range(0X400114AC,"T",0X1,3); | |
split_sreg_range(0X400114C6,"T",0X1,3); | |
split_sreg_range(0X400114CE,"T",0X1,3); | |
split_sreg_range(0X400114D4,"T",0X1,3); | |
split_sreg_range(0X400114FC,"T",0X1,3); | |
split_sreg_range(0X4001154C,"T",0X1,3); | |
split_sreg_range(0X4001158E,"T",0X1,3); | |
split_sreg_range(0X400115D4,"T",0X1,3); | |
split_sreg_range(0X400115FE,"T",0X1,3); | |
split_sreg_range(0X40011602,"T",0X1,3); | |
split_sreg_range(0X40011606,"T",0X1,3); | |
split_sreg_range(0X4001162C,"T",0X1,3); | |
split_sreg_range(0X4001163A,"T",0X1,3); | |
split_sreg_range(0X40011644,"T",0X1,3); | |
split_sreg_range(0X4001164C,"T",0X1,3); | |
split_sreg_range(0X4001165C,"T",0X1,3); | |
split_sreg_range(0X40011666,"T",0X1,3); | |
split_sreg_range(0X4001167E,"T",0X1,3); | |
split_sreg_range(0X40011688,"T",0X1,3); | |
split_sreg_range(0X40011694,"T",0X1,3); | |
split_sreg_range(0X4001169E,"T",0X1,3); | |
split_sreg_range(0X400116A0,"T",0X1,3); | |
split_sreg_range(0X400116AC,"T",0X1,3); | |
split_sreg_range(0X400116D6,"T",0X1,3); | |
split_sreg_range(0X400116DC,"T",0X1,3); | |
split_sreg_range(0X400116E6,"T",0X1,3); | |
split_sreg_range(0X400116F0,"T",0X1,3); | |
split_sreg_range(0X4001176C,"T",0X1,3); | |
split_sreg_range(0X4001278C,"T",0X1,3); | |
split_sreg_range(0X400128BC,"T",0X1,3); | |
split_sreg_range(0X40013FE0,"T",0X1,3); | |
split_sreg_range(0X60005000,"T",0,3); | |
split_sreg_range(0X6000F200,"T",0,3); | |
split_sreg_range(0X7000F800,"T",0,3); | |
split_sreg_range(0X70012000,"T",0,3); | |
split_sreg_range(0X40000000,"DS",0X1,3); | |
split_sreg_range(0X40006000,"DS",0X1,3); | |
split_sreg_range(0X40007000,"DS",0X1,3); | |
split_sreg_range(0X40010000,"DS",0X1,3); | |
split_sreg_range(0X4001176C,"DS",0X1,3); | |
split_sreg_range(0X4001278C,"DS",0X1,3); | |
split_sreg_range(0X400128BC,"DS",0X1,3); | |
split_sreg_range(0X40013FE0,"DS",0X1,3); | |
split_sreg_range(0X60005000,"DS",0X1,3); | |
split_sreg_range(0X6000F200,"DS",0X1,3); | |
split_sreg_range(0X7000F800,"DS",0X1,3); | |
split_sreg_range(0X70012000,"DS",0X1,3); | |
} | |
//------------------------------------------------------------------------ | |
// Information about all patched bytes: | |
static Patches(void) { | |
} | |
//------------------------------------------------------------------------ | |
// Call all byte feature functions: | |
static Bytes(void) { | |
Bytes_0(); | |
end_type_updating(UTP_STRUCT); | |
} | |
// End of file. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment