Skip to content

Instantly share code, notes, and snippets.

@balika011
Last active March 12, 2021 20:35
Show Gist options
  • Save balika011/73f2ef8fd26efdda332c9aa8b801f398 to your computer and use it in GitHub Desktop.
Save balika011/73f2ef8fd26efdda332c9aa8b801f398 to your computer and use it in GitHub Desktop.
#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, 1);
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);
set_selector(0X2,0);
;
add_segm_ex(0X8000000,0X8003000,0,1,1,5,ADDSEG_NOSREG);
SegRename(0X8000000,"ROM");
SegClass (0X8000000,"CODE");
SegDefReg(0x8000000,"T",0x0);
SegDefReg(0x8000000,"DS",0x0);
set_segm_type(0X8000000,2);
add_segm_ex(0X1FFFF800,0X1FFFFC00,0X1,1,1,2,ADDSEG_NOSREG);
SegRename(0X1FFFF800,"OB");
SegClass (0X1FFFF800,"OB");
SegDefReg(0x1FFFF800,"T",0x0);
SegDefReg(0x1FFFF800,"DS",0x1);
add_segm_ex(0X20000000,0X20000164,0X2,1,1,2,ADDSEG_NOSREG);
SegRename(0X20000000,"DATA");
SegClass (0X20000000,"CODE");
SegDefReg(0x20000000,"T",0x0);
SegDefReg(0x20000000,"DS",0x2);
set_segm_type(0X20000000,2);
add_segm_ex(0X20000164,0X2000024C,0X1,1,1,2,ADDSEG_NOSREG);
SegRename(0X20000164,"BSS");
SegClass (0X20000164,"BSS");
SegDefReg(0x20000164,"T",0x0);
SegDefReg(0x20000164,"DS",0x1);
add_segm_ex(0X20000800,0X20000A00,0X1,1,1,2,ADDSEG_NOSREG);
SegRename(0X20000800,"seg004");
SegClass (0X20000800,"seg004");
SegDefReg(0x20000800,"T",0x0);
SegDefReg(0x20000800,"DS",0x1);
add_segm_ex(0X40000000,0X40000400,0X1,1,1,2,ADDSEG_NOSREG);
SegRename(0X40000000,"TIMER1");
SegClass (0X40000000,"TIMER1");
SegDefReg(0x40000000,"T",0x0);
SegDefReg(0x40000000,"DS",0x1);
add_segm_ex(0X40000400,0X40000800,0X1,1,1,2,ADDSEG_NOSREG);
SegRename(0X40000400,"TIMER2");
SegClass (0X40000400,"TIMER2");
SegDefReg(0x40000400,"T",0x0);
SegDefReg(0x40000400,"DS",0x1);
add_segm_ex(0X40001000,0X40001400,0X1,1,1,2,ADDSEG_NOSREG);
SegRename(0X40001000,"TIMER5");
SegClass (0X40001000,"TIMER5");
SegDefReg(0x40001000,"T",0x0);
SegDefReg(0x40001000,"DS",0x1);
add_segm_ex(0X40002000,0X40002400,0X1,1,1,2,ADDSEG_NOSREG);
SegRename(0X40002000,"TIMER13");
SegClass (0X40002000,"TIMER13");
SegDefReg(0x40002000,"T",0x0);
SegDefReg(0x40002000,"DS",0x1);
add_segm_ex(0X40007000,0X40007400,0X1,1,1,2,ADDSEG_NOSREG);
SegRename(0X40007000,"PMU");
SegClass (0X40007000,"PMU");
SegDefReg(0x40007000,"T",0x0);
SegDefReg(0x40007000,"DS",0x1);
add_segm_ex(0X40012C00,0X40013000,0X1,1,1,2,ADDSEG_NOSREG);
SegRename(0X40012C00,"TIMER0");
SegClass (0X40012C00,"TIMER0");
SegDefReg(0x40012C00,"T",0x0);
SegDefReg(0x40012C00,"DS",0x1);
add_segm_ex(0X40013000,0X40013400,0X1,1,1,2,ADDSEG_NOSREG);
SegRename(0X40013000,"SPI0");
SegClass (0X40013000,"SPI0");
SegDefReg(0x40013000,"T",0x0);
SegDefReg(0x40013000,"DS",0x1);
add_segm_ex(0X40014000,0X40014400,0X1,1,1,2,ADDSEG_NOSREG);
SegRename(0X40014000,"TIMER14");
SegClass (0X40014000,"TIMER14");
SegDefReg(0x40014000,"T",0x0);
SegDefReg(0x40014000,"DS",0x1);
add_segm_ex(0X40014400,0X40014800,0X1,1,1,2,ADDSEG_NOSREG);
SegRename(0X40014400,"TIMER15");
SegClass (0X40014400,"TIMER15");
SegDefReg(0x40014400,"T",0x0);
SegDefReg(0x40014400,"DS",0x1);
add_segm_ex(0X40014800,0X40014C00,0X1,1,1,2,ADDSEG_NOSREG);
SegRename(0X40014800,"TIMER16");
SegClass (0X40014800,"TIMER16");
SegDefReg(0x40014800,"T",0x0);
SegDefReg(0x40014800,"DS",0x1);
add_segm_ex(0X40021000,0X40022000,0X1,1,1,2,ADDSEG_NOSREG);
SegRename(0X40021000,"RCU");
SegClass (0X40021000,"RCU");
SegDefReg(0x40021000,"T",0x0);
SegDefReg(0x40021000,"DS",0x1);
add_segm_ex(0X40022000,0X40022400,0X1,1,1,2,ADDSEG_NOSREG);
SegRename(0X40022000,"FMC");
SegClass (0X40022000,"FMC");
SegDefReg(0x40022000,"T",0x0);
SegDefReg(0x40022000,"DS",0x1);
add_segm_ex(0X48000000,0X48000400,0X1,1,1,2,ADDSEG_NOSREG);
SegRename(0X48000000,"GPIOA");
SegClass (0X48000000,"GPIOA");
SegDefReg(0x48000000,"T",0x0);
SegDefReg(0x48000000,"DS",0x1);
add_segm_ex(0X48000400,0X48000800,0X1,1,1,2,ADDSEG_NOSREG);
SegRename(0X48000400,"GPIOB");
SegClass (0X48000400,"GPIOB");
SegDefReg(0x48000400,"T",0x0);
SegDefReg(0x48000400,"DS",0x1);
add_segm_ex(0X48000800,0X48000C00,0X1,1,1,2,ADDSEG_NOSREG);
SegRename(0X48000800,"GPIOC");
SegClass (0X48000800,"GPIOC");
SegDefReg(0x48000800,"T",0x0);
SegDefReg(0x48000800,"DS",0x1);
add_segm_ex(0X48000C00,0X48001000,0X1,1,1,2,ADDSEG_NOSREG);
SegRename(0X48000C00,"GPIOD");
SegClass (0X48000C00,"GPIOD");
SegDefReg(0x48000C00,"T",0x0);
SegDefReg(0x48000C00,"DS",0x1);
add_segm_ex(0X48001400,0X48001800,0X1,1,1,2,ADDSEG_NOSREG);
SegRename(0X48001400,"GPIOF");
SegClass (0X48001400,"GPIOF");
SegDefReg(0x48001400,"T",0x0);
SegDefReg(0x48001400,"DS",0x1);
add_segm_ex(0X50000000,0X50040000,0X1,1,1,2,ADDSEG_NOSREG);
SegRename(0X50000000,"USBFS");
SegClass (0X50000000,"USBFS");
SegDefReg(0x50000000,"T",0x0);
SegDefReg(0x50000000,"DS",0x1);
add_segm_ex(0XE000E010,0XE000E020,0X1,1,1,2,ADDSEG_NOSREG);
SegRename(0XE000E010,"SysTick");
SegClass (0XE000E010,"SysTick");
SegDefReg(0xE000E010,"T",0x0);
SegDefReg(0xE000E010,"DS",0x1);
add_segm_ex(0XE000ED00,0XE000ED90,0X1,1,1,2,ADDSEG_NOSREG);
SegRename(0XE000ED00,"SCB");
SegClass (0XE000ED00,"SCB");
SegDefReg(0xE000ED00,"T",0x0);
SegDefReg(0xE000ED00,"DS",0x1);
set_inf_attr(INF_LOW_OFF, 0x8000000);
set_inf_attr(INF_HIGH_OFF, 0xE000ED90);
}
static Enums_0(id) {
id = add_enum(-1,"GCCFG",0x1100000);
add_enum_member(id,"GCCFG_PWRON", 0X10000, -1);
add_enum_member(id,"GCCFG_VBUSACEN", 0X40000, -1);
add_enum_member(id,"GCCFG_VBUSBCEN", 0X80000, -1);
add_enum_member(id,"GCCFG_SOFOEN", 0X100000, -1);
add_enum_member(id,"GCCFG_VBUSIG", 0X200000, -1);
id = add_enum(-1,"GAHBCS",0x1100000);
add_enum_member(id,"GAHBCS_GINTEN", 0X1, -1);
add_enum_member(id,"GAHBCS_BURST", 0X12, -1);
add_enum_member(id,"GAHBCS_DMAEN", 0X20, -1);
add_enum_member(id,"GAHBCS_TXFTH", 0X80, -1);
add_enum_member(id,"GAHBCS_PTXFTH", 0X100, -1);
id = add_enum(-1,"rcu_periph_enum",0x1100000);
add_enum_member(id,"RCU_DMA", 0X500, -1);
add_enum_member(id,"RCU_CRC", 0X506, -1);
add_enum_member(id,"RCU_USBFS", 0X50C, -1);
add_enum_member(id,"RCU_GPIOA", 0X511, -1);
add_enum_member(id,"RCU_GPIOB", 0X512, -1);
add_enum_member(id,"RCU_GPIOC", 0X513, -1);
add_enum_member(id,"RCU_GPIOD", 0X514, -1);
add_enum_member(id,"RCU_GPIOF", 0X516, -1);
add_enum_member(id,"RCU_TSI", 0X518, -1);
add_enum_member(id,"RCU_CFGCMP", 0X600, -1);
add_enum_member(id,"RCU_ADC", 0X609, -1);
add_enum_member(id,"RCU_TIMER0", 0X60B, -1);
add_enum_member(id,"RCU_SPI0", 0X60C, -1);
add_enum_member(id,"RCU_USART0", 0X60E, -1);
add_enum_member(id,"RCU_TIMER14", 0X610, -1);
add_enum_member(id,"RCU_TIMER15", 0X611, -1);
add_enum_member(id,"RCU_TIMER16", 0X612, -1);
add_enum_member(id,"RCU_TIMER1", 0X700, -1);
add_enum_member(id,"RCU_TIMER2", 0X701, -1);
add_enum_member(id,"RCU_TIMER5", 0X704, -1);
add_enum_member(id,"RCU_TIMER13", 0X708, -1);
add_enum_member(id,"RCU_WWDGT", 0X70B, -1);
add_enum_member(id,"RCU_SPI1", 0X70E, -1);
add_enum_member(id,"RCU_USART1", 0X711, -1);
add_enum_member(id,"RCU_I2C0", 0X715, -1);
add_enum_member(id,"RCU_I2C1", 0X716, -1);
add_enum_member(id,"RCU_PMU", 0X71C, -1);
add_enum_member(id,"RCU_DAC", 0X71D, -1);
add_enum_member(id,"RCU_CEC", 0X71E, -1);
add_enum_member(id,"RCU_RTC", 0X80F, -1);
add_enum_member(id,"RCU_CTC", 0X3E1B, -1);
id = add_enum(-1,"_usbd_status",0x1100000);
add_enum_member(id,"USB_STATUS_DEFAULT", 0X1, -1);
add_enum_member(id,"USB_STATUS_ADDRESSED", 0X2, -1);
add_enum_member(id,"USB_STATUS_CONFIGURED", 0X3, -1);
add_enum_member(id,"USB_STATUS_SUSPENDED", 0X4, -1);
id = add_enum(-1,"rcu_periph_sleep_enum",0x1100000);
add_enum_member(id,"RCU_SRAM_SLP", 0X502, -1);
add_enum_member(id,"RCU_FMC_SLP", 0X504, -1);
id = add_enum(-1,"rcu_periph_reset_enum",0x1100000);
add_enum_member(id,"RCU_CFGCMPRST", 0X300, -1);
add_enum_member(id,"RCU_ADCRST", 0X309, -1);
add_enum_member(id,"RCU_TIMER0RST", 0X30B, -1);
add_enum_member(id,"RCU_SPI0RST", 0X30C, -1);
add_enum_member(id,"RCU_USART0RST", 0X30E, -1);
add_enum_member(id,"RCU_TIMER14RST", 0X310, -1);
add_enum_member(id,"RCU_TIMER15RST", 0X311, -1);
add_enum_member(id,"RCU_TIMER16RST", 0X312, -1);
add_enum_member(id,"RCU_TIMER1RST", 0X400, -1);
add_enum_member(id,"RCU_TIMER2RST", 0X401, -1);
add_enum_member(id,"RCU_TIMER5RST", 0X404, -1);
add_enum_member(id,"RCU_TIMER13RST", 0X408, -1);
add_enum_member(id,"RCU_WWDGTRST", 0X40B, -1);
add_enum_member(id,"RCU_SPI1RST", 0X40E, -1);
add_enum_member(id,"RCU_USART1RST", 0X411, -1);
add_enum_member(id,"RCU_I2C0RST", 0X415, -1);
add_enum_member(id,"RCU_I2C1RST", 0X416, -1);
add_enum_member(id,"RCU_PMURST", 0X41C, -1);
add_enum_member(id,"RCU_DACRST", 0X41D, -1);
add_enum_member(id,"RCU_CECRST", 0X41E, -1);
add_enum_member(id,"RCU_USBFSRST", 0XA0C, -1);
add_enum_member(id,"RCU_GPIOARST", 0XA11, -1);
add_enum_member(id,"RCU_GPIOBRST", 0XA12, -1);
add_enum_member(id,"RCU_GPIOCRST", 0XA13, -1);
add_enum_member(id,"RCU_GPIODRST", 0XA14, -1);
add_enum_member(id,"RCU_GPIOFRST", 0XA16, -1);
add_enum_member(id,"RCU_TSIRST", 0XA18, -1);
add_enum_member(id,"RCU_CTCRST", 0X3F1B, -1);
id = add_enum(-1,"GINTF",0x1100000);
add_enum_member(id,"GINTF_COPM", 0X1, -1);
add_enum_member(id,"GINTF_MFIF", 0X2, -1);
add_enum_member(id,"GINTF_OTGIF", 0X4, -1);
add_enum_member(id,"GINTF_SOF", 0X8, -1);
add_enum_member(id,"GINTF_RXFNEIF", 0X10, -1);
add_enum_member(id,"GINTF_NPTXFEIF", 0X20, -1);
add_enum_member(id,"GINTF_GNPINAK", 0X40, -1);
add_enum_member(id,"GINTF_GONAK", 0X80, -1);
add_enum_member(id,"GINTF_ESP", 0X400, -1);
add_enum_member(id,"GINTF_SP", 0X800, -1);
add_enum_member(id,"GINTF_RST", 0X1000, -1);
add_enum_member(id,"GINTF_ENUMF", 0X2000, -1);
add_enum_member(id,"GINTF_ISOOPDIF", 0X4000, -1);
add_enum_member(id,"GINTF_EOPFIF", 0X8000, -1);
add_enum_member(id,"GINTF_IEPIF", 0X40000, -1);
add_enum_member(id,"GINTF_OEPIF", 0X80000, -1);
add_enum_member(id,"GINTF_ISOINCIF", 0X100000, -1);
add_enum_member(id,"GINTF_ISOONCIF", 0X200000, -1);
add_enum_member(id,"GINTF_PXNCIF", 0X200000, -1);
add_enum_member(id,"GINTF_HPIF", 0X1000000, -1);
add_enum_member(id,"GINTF_HCIF", 0X2000000, -1);
add_enum_member(id,"GINTF_PTXFEIF", 0X4000000, -1);
add_enum_member(id,"GINTF_IDPSC", 0X10000000, -1);
add_enum_member(id,"GINTF_DISCIF", 0X20000000, -1);
add_enum_member(id,"GINTF_SESIF", 0X40000000, -1);
add_enum_member(id,"GINTF_WKUPIF", 0X80000000, -1);
id = add_enum(-1,"DOEPINTF",0x1100000);
add_enum_member(id,"DOEPINTF_TF", 0X1, -1);
add_enum_member(id,"DOEPINTF_EPDIS", 0X2, -1);
add_enum_member(id,"DOEPINTF_STPF", 0X8, -1);
add_enum_member(id,"DOEPINTF_EPRXFOVR", 0X10, -1);
add_enum_member(id,"DOEPINTF_BTBSTP", 0X40, -1);
id = add_enum(-1,"rcu_flag_enum",0x1100000);
add_enum_member(id,"RCU_FLAG_IRC8MSTB", 0X1, -1);
add_enum_member(id,"RCU_FLAG_HXTALSTB", 0X11, -1);
add_enum_member(id,"RCU_FLAG_PLLSTB", 0X19, -1);
add_enum_member(id,"RCU_FLAG_LXTALSTB", 0X801, -1);
add_enum_member(id,"RCU_FLAG_IRC40KSTB", 0X901, -1);
add_enum_member(id,"RCU_FLAG_V12RST", 0X917, -1);
add_enum_member(id,"RCU_FLAG_OBLRST", 0X919, -1);
add_enum_member(id,"RCU_FLAG_EPRST", 0X91A, -1);
add_enum_member(id,"RCU_FLAG_PORRST", 0X91B, -1);
add_enum_member(id,"RCU_FLAG_SWRST", 0X91C, -1);
add_enum_member(id,"RCU_FLAG_FWDGTRST", 0X91D, -1);
add_enum_member(id,"RCU_FLAG_WWDGTRST", 0X91E, -1);
add_enum_member(id,"RCU_FLAG_LPRST", 0X91F, -1);
add_enum_member(id,"RCU_FLAG_IRC28MSTB", 0XD01, -1);
add_enum_member(id,"RCU_FLAG_IRC48MSTB", 0X3011, -1);
id = add_enum(-1,"rcu_int_flag_enum",0x1100000);
add_enum_member(id,"RCU_INT_FLAG_IRC40KSTB", 0X200, -1);
add_enum_member(id,"RCU_INT_FLAG_LXTALSTB", 0X201, -1);
add_enum_member(id,"RCU_INT_FLAG_IRC8MSTB", 0X202, -1);
add_enum_member(id,"RCU_INT_FLAG_HXTALSTB", 0X203, -1);
add_enum_member(id,"RCU_INT_FLAG_PLLSTB", 0X204, -1);
add_enum_member(id,"RCU_INT_FLAG_IRC28MSTB", 0X205, -1);
add_enum_member(id,"RCU_INT_FLAG_CKM", 0X207, -1);
add_enum_member(id,"RCU_INT_FLAG_IRC48MSTB", 0X3006, -1);
id = add_enum(-1,"rcu_int_flag_clear_enum",0x1100000);
add_enum_member(id,"RCU_INT_FLAG_IRC40KSTB_CLR", 0X210, -1);
add_enum_member(id,"RCU_INT_FLAG_LXTALSTB_CLR", 0X211, -1);
add_enum_member(id,"RCU_INT_FLAG_IRC8MSTB_CLR", 0X212, -1);
add_enum_member(id,"RCU_INT_FLAG_HXTALSTB_CLR", 0X213, -1);
add_enum_member(id,"RCU_INT_FLAG_PLLSTB_CLR", 0X214, -1);
add_enum_member(id,"RCU_INT_FLAG_IRC28MSTB_CLR", 0X215, -1);
add_enum_member(id,"RCU_INT_FLAG_CKM_CLR", 0X217, -1);
add_enum_member(id,"RCU_INT_FLAG_IRC48MSTB_CLR", 0X3016, -1);
id = add_enum(-1,"rcu_int_enum",0x1100000);
add_enum_member(id,"RCU_INT_IRC40KSTB", 0X208, -1);
add_enum_member(id,"RCU_INT_LXTALSTB", 0X209, -1);
add_enum_member(id,"RCU_INT_IRC8MSTB", 0X20A, -1);
add_enum_member(id,"RCU_INT_HXTALSTB", 0X20B, -1);
add_enum_member(id,"RCU_INT_PLLSTB", 0X20C, -1);
add_enum_member(id,"RCU_INT_IRC28MSTB", 0X20D, -1);
add_enum_member(id,"RCU_INT_IRC48MSTB", 0X330E, -1);
id = add_enum(-1,"GPIO_PIN",0x1100000);
add_enum_member(id,"GPIO_PIN_0", 0X1, -1);
add_enum_member(id,"GPIO_PIN_1", 0X2, -1);
add_enum_member(id,"GPIO_PIN_2", 0X4, -1);
add_enum_member(id,"GPIO_PIN_3", 0X8, -1);
add_enum_member(id,"GPIO_PIN_4", 0X10, -1);
add_enum_member(id,"GPIO_PIN_5", 0X20, -1);
add_enum_member(id,"GPIO_PIN_6", 0X40, -1);
add_enum_member(id,"GPIO_PIN_7", 0X80, -1);
add_enum_member(id,"GPIO_PIN_8", 0X100, -1);
add_enum_member(id,"GPIO_PIN_9", 0X200, -1);
add_enum_member(id,"GPIO_PIN_10", 0X400, -1);
add_enum_member(id,"GPIO_PIN_11", 0X800, -1);
add_enum_member(id,"GPIO_PIN_12", 0X1000, -1);
add_enum_member(id,"GPIO_PIN_13", 0X2000, -1);
add_enum_member(id,"GPIO_PIN_14", 0X8000, -1);
add_enum_member(id,"GPIO_PIN_15", 0X8000, -1);
id = add_enum(-1,"GPIO_AF",0x1100000);
add_enum_member(id,"GPIO_AF_0", 0X1, -1);
add_enum_member(id,"GPIO_AF_1", 0X2, -1);
add_enum_member(id,"GPIO_AF_2", 0X4, -1);
add_enum_member(id,"GPIO_AF_3", 0X8, -1);
add_enum_member(id,"GPIO_AF_4", 0X10, -1);
add_enum_member(id,"GPIO_AF_5", 0X20, -1);
add_enum_member(id,"GPIO_AF_6", 0X40, -1);
add_enum_member(id,"GPIO_AF_7", 0X80, -1);
id = add_enum(-1,"rcu_osci_type_enum",0x1100000);
add_enum_member(id,"RCU_IRC8M", 0, -1);
add_enum_member(id,"RCU_HXTAL", 0X10, -1);
add_enum_member(id,"RCU_PLL_CK", 0X18, -1);
add_enum_member(id,"RCU_LXTAL", 0X800, -1);
add_enum_member(id,"RCU_IRC40K", 0X900, -1);
add_enum_member(id,"RCU_IRC28M", 0XD00, -1);
add_enum_member(id,"RCU_IRC48M", 0X3010, -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("usb_core_handle_struct");
SetType(get_member_id(id, 0x0), "usb_core_cfgs_struct");
SetType(get_member_id(id, 0xC), "dcd_dev_struct");
SetType(get_member_id(id, 0x118), "void (__fastcall *)(int)");
SetType(get_member_id(id, 0x11C), "void (__fastcall *)(int)");
id = get_struc_id("SCB_Type");
id = get_struc_id("SysTick_Type");
id = get_struc_id("usbd_int_cb_struct");
SetType(get_member_id(id, 0x0), "unsigned __int8 (__fastcall *)(usb_core_handle_struct *pudev)");
id = get_struc_id("usb_ep_struct");
id = get_struc_id("line_coding_struct");
id = get_struc_id("usb_core_cfgs_struct");
id = get_struc_id("usb_device_req_struct");
SetType(get_member_id(id, 0x0), "unsigned __int8");
SetType(get_member_id(id, 0x1), "unsigned __int8");
SetType(get_member_id(id, 0x2), "unsigned __int16");
SetType(get_member_id(id, 0x4), "unsigned __int16");
SetType(get_member_id(id, 0x6), "unsigned __int16");
id = get_struc_id("bootloader_functions");
SetType(get_member_id(id, 0x0), "void *");
SetType(get_member_id(id, 0x4), "void *");
SetType(get_member_id(id, 0x8), "int (__fastcall *)()");
SetType(get_member_id(id, 0xC), "void (__fastcall *)(int)");
SetType(get_member_id(id, 0x10), "void (__fastcall *)()");
id = get_struc_id("usb_gr");
SetType(get_member_id(id, 0x0), "_DWORD");
SetType(get_member_id(id, 0x4), "_DWORD");
SetType(get_member_id(id, 0x8), "_DWORD");
SetType(get_member_id(id, 0xC), "_DWORD");
SetType(get_member_id(id, 0x10), "_DWORD");
SetType(get_member_id(id, 0x14), "_DWORD");
SetType(get_member_id(id, 0x18), "_DWORD");
SetType(get_member_id(id, 0x1C), "_DWORD");
SetType(get_member_id(id, 0x20), "_DWORD");
SetType(get_member_id(id, 0x24), "_DWORD");
SetType(get_member_id(id, 0x28), "_DWORD");
SetType(get_member_id(id, 0x2C), "_DWORD");
SetType(get_member_id(id, 0x30), "_DWORD[2]");
SetType(get_member_id(id, 0x38), "_DWORD");
SetType(get_member_id(id, 0x3C), "_DWORD");
SetType(get_member_id(id, 0x40), "_DWORD[48]");
SetType(get_member_id(id, 0x100), "_DWORD");
SetType(get_member_id(id, 0x104), "_DWORD[15]");
id = get_struc_id("usb_hr");
SetType(get_member_id(id, 0x0), "_DWORD");
SetType(get_member_id(id, 0x4), "_DWORD");
SetType(get_member_id(id, 0x8), "_DWORD");
SetType(get_member_id(id, 0xC), "_DWORD");
SetType(get_member_id(id, 0x10), "_DWORD");
SetType(get_member_id(id, 0x14), "_DWORD");
SetType(get_member_id(id, 0x18), "_DWORD");
id = get_struc_id("usb_pr");
SetType(get_member_id(id, 0x0), "_DWORD");
SetType(get_member_id(id, 0x4), "_DWORD");
SetType(get_member_id(id, 0x8), "_DWORD");
SetType(get_member_id(id, 0xC), "_DWORD");
SetType(get_member_id(id, 0x10), "_DWORD");
SetType(get_member_id(id, 0x14), "_DWORD");
SetType(get_member_id(id, 0x18), "_DWORD[2]");
id = get_struc_id("usb_dr");
SetType(get_member_id(id, 0x0), "_DWORD");
SetType(get_member_id(id, 0x4), "_DWORD");
SetType(get_member_id(id, 0x8), "_DWORD");
SetType(get_member_id(id, 0xC), "_DWORD");
SetType(get_member_id(id, 0x10), "_DWORD");
SetType(get_member_id(id, 0x14), "_DWORD");
SetType(get_member_id(id, 0x18), "_DWORD");
SetType(get_member_id(id, 0x1C), "_DWORD");
SetType(get_member_id(id, 0x20), "_DWORD");
SetType(get_member_id(id, 0x24), "_DWORD");
SetType(get_member_id(id, 0x28), "_DWORD");
SetType(get_member_id(id, 0x2C), "_DWORD");
SetType(get_member_id(id, 0x30), "_DWORD");
SetType(get_member_id(id, 0x34), "_DWORD");
SetType(get_member_id(id, 0x38), "_DWORD");
SetType(get_member_id(id, 0x3C), "_DWORD");
SetType(get_member_id(id, 0x40), "_DWORD");
SetType(get_member_id(id, 0x44), "_DWORD");
SetType(get_member_id(id, 0x48), "_DWORD[15]");
SetType(get_member_id(id, 0x84), "_DWORD");
id = get_struc_id("usb_erin");
SetType(get_member_id(id, 0x0), "_DWORD");
SetType(get_member_id(id, 0x4), "_DWORD");
SetType(get_member_id(id, 0x8), "_DWORD");
SetType(get_member_id(id, 0xC), "_DWORD");
SetType(get_member_id(id, 0x10), "_DWORD");
SetType(get_member_id(id, 0x14), "_DWORD");
SetType(get_member_id(id, 0x18), "_DWORD");
id = get_struc_id("GPIO");
id = get_struc_id("TIMER");
id = get_struc_id("timer_parameter_struct");
SetType(get_member_id(id, 0x0), "unsigned __int16");
SetType(get_member_id(id, 0x2), "unsigned __int16");
SetType(get_member_id(id, 0x4), "unsigned __int16");
SetType(get_member_id(id, 0x6), "unsigned __int16");
SetType(get_member_id(id, 0x8), "unsigned int");
SetType(get_member_id(id, 0xC), "unsigned __int8");
id = get_struc_id("timer_oc_parameter_struct");
id = get_struc_id("usb_erout");
SetType(get_member_id(id, 0x0), "_DWORD");
SetType(get_member_id(id, 0x4), "_DWORD");
SetType(get_member_id(id, 0x8), "_DWORD");
SetType(get_member_id(id, 0xC), "_DWORD");
SetType(get_member_id(id, 0x10), "_DWORD");
SetType(get_member_id(id, 0x14), "_DWORD");
id = get_struc_id("dcd_dev_struct");
SetType(get_member_id(id, 0xF0), "void *");
SetType(get_member_id(id, 0xF4), "void *");
SetType(get_member_id(id, 0xF8), "void *");
SetType(get_member_id(id, 0xFC), "void (__cdecl *)(usb_core_handle_struct *pudev, char config_index)");
SetType(get_member_id(id, 0x100), "void (__cdecl *)(usb_core_handle_struct *udev, char)");
SetType(get_member_id(id, 0x104), "void (__fastcall *)(usb_core_handle_struct *, usb_device_req_struct *)");
SetType(get_member_id(id, 0x108), "void (__cdecl *)(usb_core_handle_struct *, int, char)");
id = get_struc_id("ob_parm_struct");
id = get_struc_id("fw_update_header");
return id;
}
//------------------------------------------------------------------------
// Information about type information for structure members
static ApplyStrucTInfos() {
ApplyStrucTInfos_0();
}
static Structures_0(id) {
auto mid;
id = add_struc(-1,"usb_core_handle_struct",0);
id = add_struc(-1,"SCB_Type",0);
id = add_struc(-1,"SysTick_Type",0);
id = add_struc(-1,"usbd_int_cb_struct",0);
id = add_struc(-1,"usb_ep_struct",0);
id = add_struc(-1,"line_coding_struct",0);
id = add_struc(-1,"usb_core_cfgs_struct",0);
id = add_struc(-1,"usb_device_req_struct",0);
id = add_struc(-1,"bootloader_functions",0);
id = add_struc(-1,"usb_gr",0);
id = add_struc(-1,"usb_hr",0);
id = add_struc(-1,"usb_pr",0);
id = add_struc(-1,"usb_dr",0);
id = add_struc(-1,"usb_erin",0);
id = add_struc(-1,"GPIO",0);
id = add_struc(-1,"TIMER",0);
id = add_struc(-1,"timer_parameter_struct",0);
id = add_struc(-1,"timer_oc_parameter_struct",0);
id = add_struc(-1,"usb_erout",0);
id = add_struc(-1,"dcd_dev_struct",0);
id = add_struc(-1,"ob_parm_struct",0);
id = add_struc(-1,"fw_update_header",0);
id = get_struc_id("usb_core_cfgs_struct");
mid = add_struc_member(id,"core_id", 0, 0x000400, -1, 1);
mid = add_struc_member(id,"core_speed", 0X1, 0x000400, -1, 1);
mid = add_struc_member(id,"phy_interface", 0X2, 0x000400, -1, 1);
mid = add_struc_member(id,"host_channel_num", 0X3, 0x000400, -1, 1);
mid = add_struc_member(id,"dev_endp_num", 0X4, 0x000400, -1, 1);
mid = add_struc_member(id,"sof_output", 0X5, 0x000400, -1, 1);
mid = add_struc_member(id,"low_power", 0X6, 0x000400, -1, 1);
mid = add_struc_member(id,"max_packet_size", 0X8, 0x10000400, -1, 2);
mid = add_struc_member(id,"max_fifo_size", 0XA, 0x10000400, -1, 2);
id = get_struc_id("usb_ep_struct");
mid = add_struc_member(id,"endp_type", 0, 0x000400, -1, 1);
mid = add_struc_member(id,"endp_frame", 0X1, 0x000400, -1, 1);
mid = add_struc_member(id,"endp_mps", 0X4, 0x20000400, -1, 4);
mid = add_struc_member(id,"xfer_buff", 0X8, 0x20000400, -1, 4);
mid = add_struc_member(id,"xfer_len", 0XC, 0x20000400, -1, 4);
mid = add_struc_member(id,"xfer_count", 0X10, 0x20000400, -1, 4);
mid = add_struc_member(id,"dma_addr", 0X14, 0x20000400, -1, 4);
id = get_struc_id("dcd_dev_struct");
mid = add_struc_member(id,"config_num", 0, 0x000400, -1, 1);
mid = add_struc_member(id,"status", 0X1, 0x000400, -1, 1);
mid = add_struc_member(id,"ctl_status", 0X2, 0x000400, -1, 1);
mid = add_struc_member(id,"prev_status", 0X3, 0x000400, -1, 1);
mid = add_struc_member(id,"connection_status", 0X4, 0x000400, -1, 1);
mid = add_struc_member(id,"remote_wakeup", 0X8, 0x20000400, -1, 4);
mid = add_struc_member(id,"remain_len", 0XC, 0x20000400, -1, 4);
mid = add_struc_member(id,"sum_len", 0X10, 0x20000400, -1, 4);
mid = add_struc_member(id,"ctl_len", 0X14, 0x20000400, -1, 4);
mid = add_struc_member(id,"setup_packet", 0X18, 0x000400, -1, 24);
mid = add_struc_member(id,"in_ep", 0X30, 0x60000400, get_struc_id("usb_ep_struct"), 96);
mid = add_struc_member(id,"out_ep", 0X90, 0x60000400, get_struc_id("usb_ep_struct"), 96);
mid = add_struc_member(id,"dev_desc", 0XF0, 0x25500400, 0XFFFFFFFF, 4, 0XFFFFFFFF, 0, 0x000002);
mid = add_struc_member(id,"config_desc", 0XF4, 0x25500400, 0XFFFFFFFF, 4, 0XFFFFFFFF, 0, 0x000002);
mid = add_struc_member(id,"strings", 0XF8, 0x25500400, 0XFFFFFFFF, 4, 0XFFFFFFFF, 0, 0x000002);
mid = add_struc_member(id,"class_init", 0XFC, 0x25500400, 0XFFFFFFFF, 4, 0XFFFFFFFF, 0, 0x000002);
mid = add_struc_member(id,"class_deinit", 0X100, 0x25500400, 0XFFFFFFFF, 4, 0XFFFFFFFF, 0, 0x000002);
mid = add_struc_member(id,"class_req_handler", 0X104, 0x25500400, 0XFFFFFFFF, 4, 0XFFFFFFFF, 0, 0x000002);
mid = add_struc_member(id,"class_data_handler", 0X108, 0x25500400, 0XFFFFFFFF, 4, 0XFFFFFFFF, 0, 0x000002);
id = get_struc_id("usb_core_handle_struct");
mid = add_struc_member(id,"cfg", 0, 0x60000400, get_struc_id("usb_core_cfgs_struct"), 12);
mid = add_struc_member(id,"dev", 0XC, 0x60000400, get_struc_id("dcd_dev_struct"), 268);
mid = add_struc_member(id,"udelay", 0X118, 0x25500400, 0XFFFFFFFF, 4, 0XFFFFFFFF, 0, 0x000002);
mid = add_struc_member(id,"mdelay", 0X11C, 0x25500400, 0XFFFFFFFF, 4, 0XFFFFFFFF, 0, 0x000002);
id = get_struc_id("SCB_Type");
mid = add_struc_member(id,"CPUID", 0, 0x20000400, -1, 4);
mid = add_struc_member(id,"ICSR", 0X4, 0x20000400, -1, 4);
mid = add_struc_member(id,"VTOR", 0X8, 0x20000400, -1, 4);
mid = add_struc_member(id,"AIRCR", 0XC, 0x20000400, -1, 4);
mid = add_struc_member(id,"SCR", 0X10, 0x20000400, -1, 4);
mid = add_struc_member(id,"CCR", 0X14, 0x20000400, -1, 4);
mid = add_struc_member(id,"SHP", 0X18, 0x000400, -1, 12);
mid = add_struc_member(id,"SHCSR", 0X24, 0x20000400, -1, 4);
mid = add_struc_member(id,"CFSR", 0X28, 0x20000400, -1, 4);
mid = add_struc_member(id,"HFSR", 0X2C, 0x20000400, -1, 4);
mid = add_struc_member(id,"DFSR", 0X30, 0x20000400, -1, 4);
mid = add_struc_member(id,"MMFAR", 0X34, 0x20000400, -1, 4);
mid = add_struc_member(id,"BFAR", 0X38, 0x20000400, -1, 4);
mid = add_struc_member(id,"AFSR", 0X3C, 0x20000400, -1, 4);
mid = add_struc_member(id,"PFR", 0X40, 0x20000400, -1, 8);
mid = add_struc_member(id,"DFR", 0X48, 0x20000400, -1, 4);
mid = add_struc_member(id,"ADR", 0X4C, 0x20000400, -1, 4);
mid = add_struc_member(id,"MMFR", 0X50, 0x20000400, -1, 16);
mid = add_struc_member(id,"ISAR", 0X60, 0x20000400, -1, 20);
mid = add_struc_member(id,"RESERVED0", 0X74, 0x20000400, -1, 20);
mid = add_struc_member(id,"CPACR", 0X88, 0x20000400, -1, 4);
id = get_struc_id("SysTick_Type");
mid = add_struc_member(id,"CTRL", 0, 0x20000400, -1, 4);
mid = add_struc_member(id,"LOAD", 0X4, 0x20000400, -1, 4);
mid = add_struc_member(id,"VAL", 0X8, 0x20000400, -1, 4);
mid = add_struc_member(id,"CALIB", 0XC, 0x20000400, -1, 4);
id = get_struc_id("usbd_int_cb_struct");
mid = add_struc_member(id,"SOF", 0, 0x25500400, 0XFFFFFFFF, 4, 0XFFFFFFFF, 0, 0x000002);
id = get_struc_id("line_coding_struct");
mid = add_struc_member(id,"dwDTERate", 0, 0x20200400, -1, 4);
mid = add_struc_member(id,"bCharFormat", 0X4, 0x000400, -1, 1);
mid = add_struc_member(id,"bParityType", 0X5, 0x000400, -1, 1);
mid = add_struc_member(id,"bDataBits", 0X6, 0x000400, -1, 1);
id = get_struc_id("usb_device_req_struct");
mid = add_struc_member(id,"bmRequestType", 0, 0x000400, -1, 1);
mid = add_struc_member(id,"bRequest", 0X1, 0x000400, -1, 1);
mid = add_struc_member(id,"wValue", 0X2, 0x10000400, -1, 2);
mid = add_struc_member(id,"wIndex", 0X4, 0x10000400, -1, 2);
mid = add_struc_member(id,"wLength", 0X6, 0x10000400, -1, 2);
id = get_struc_id("bootloader_functions");
mid = add_struc_member(id,"receive_buffer", 0, 0x25500400, 0XFFFFFFFF, 4, 0XFFFFFFFF, 0, 0x000002);
mid = add_struc_member(id,"send_buffer", 0X4, 0x25500400, 0XFFFFFFFF, 4, 0XFFFFFFFF, 0, 0x000002);
mid = add_struc_member(id,"receive_function", 0X8, 0x25500400, 0XFFFFFFFF, 4, 0XFFFFFFFF, 0, 0x000002);
mid = add_struc_member(id,"send_function", 0XC, 0x25500400, 0XFFFFFFFF, 4, 0XFFFFFFFF, 0, 0x000002);
mid = add_struc_member(id,"wait_till_configured", 0X10, 0x25500400, 0XFFFFFFFF, 4, 0XFFFFFFFF, 0, 0x000002);
id = get_struc_id("usb_gr");
mid = add_struc_member(id,"GOTGCS", 0, 0x20000400, -1, 4);
mid = add_struc_member(id,"GOTGINTF", 0X4, 0x20000400, -1, 4);
mid = add_struc_member(id,"GAHBCS", 0X8, 0x20000400, -1, 4);
mid = add_struc_member(id,"GUSBCS", 0XC, 0x20000400, -1, 4);
mid = add_struc_member(id,"GRSTCTL", 0X10, 0x20000400, -1, 4);
mid = add_struc_member(id,"GINTF", 0X14, 0x20000400, -1, 4);
mid = add_struc_member(id,"GINTEN", 0X18, 0x20000400, -1, 4);
mid = add_struc_member(id,"GRSTATR", 0X1C, 0x20000400, -1, 4);
mid = add_struc_member(id,"GRSTATP", 0X20, 0x20000400, -1, 4);
mid = add_struc_member(id,"GRFLEN", 0X24, 0x20000400, -1, 4);
mid = add_struc_member(id,"DIEP0TFLEN_HNPTFLEN", 0X28, 0x20000400, -1, 4);
mid = add_struc_member(id,"HNPTFQSTAT", 0X2C, 0x20000400, -1, 4);
mid = add_struc_member(id,"Reserved30", 0X30, 0x20000400, -1, 8);
mid = add_struc_member(id,"GCCFG", 0X38, 0x20000400, -1, 4);
mid = add_struc_member(id,"CID", 0X3C, 0x20000400, -1, 4);
mid = add_struc_member(id,"Reserved40", 0X40, 0x20000400, -1, 192);
mid = add_struc_member(id,"HPTFLEN", 0X100, 0x20000400, -1, 4);
mid = add_struc_member(id,"DIEPTFLEN", 0X104, 0x20000400, -1, 60);
set_struc_align(id,2);
id = get_struc_id("usb_hr");
mid = add_struc_member(id,"HCTL", 0, 0x20000400, -1, 4);
mid = add_struc_member(id,"HFT", 0X4, 0x20000400, -1, 4);
mid = add_struc_member(id,"HFINFR", 0X8, 0x20000400, -1, 4);
mid = add_struc_member(id,"Reserved40C", 0XC, 0x20000400, -1, 4);
mid = add_struc_member(id,"HPTFQSTAT", 0X10, 0x20000400, -1, 4);
mid = add_struc_member(id,"HACHINT", 0X14, 0x20000400, -1, 4);
mid = add_struc_member(id,"HACHINTEN", 0X18, 0x20000400, -1, 4);
set_struc_align(id,2);
id = get_struc_id("usb_pr");
mid = add_struc_member(id,"HCHCTL", 0, 0x20000400, -1, 4);
mid = add_struc_member(id,"HCHSTCTL", 0X4, 0x20000400, -1, 4);
mid = add_struc_member(id,"HCHINTF", 0X8, 0x20000400, -1, 4);
mid = add_struc_member(id,"HCHINTEN", 0XC, 0x20000400, -1, 4);
mid = add_struc_member(id,"HCHLEN", 0X10, 0x20000400, -1, 4);
mid = add_struc_member(id,"HCHDMAADDR", 0X14, 0x20000400, -1, 4);
mid = add_struc_member(id,"Reserved", 0X18, 0x20000400, -1, 8);
set_struc_align(id,2);
id = get_struc_id("usb_dr");
mid = add_struc_member(id,"DCFG", 0, 0x20000400, -1, 4);
mid = add_struc_member(id,"DCTL", 0X4, 0x20000400, -1, 4);
mid = add_struc_member(id,"DSTAT", 0X8, 0x20000400, -1, 4);
mid = add_struc_member(id,"Reserved0C", 0XC, 0x20000400, -1, 4);
mid = add_struc_member(id,"DIEPINTEN", 0X10, 0x20000400, -1, 4);
mid = add_struc_member(id,"DOEPINTEN", 0X14, 0x20000400, -1, 4);
mid = add_struc_member(id,"DAEPINT", 0X18, 0x20000400, -1, 4);
mid = add_struc_member(id,"DAEPINTEN", 0X1C, 0x20000400, -1, 4);
mid = add_struc_member(id,"Reserved20", 0X20, 0x20000400, -1, 4);
mid = add_struc_member(id,"Reserved24", 0X24, 0x20000400, -1, 4);
mid = add_struc_member(id,"DVBUSDT", 0X28, 0x20000400, -1, 4);
mid = add_struc_member(id,"DVBUSPT", 0X2C, 0x20000400, -1, 4);
mid = add_struc_member(id,"DTHRCTL", 0X30, 0x20000400, -1, 4);
mid = add_struc_member(id,"DIEPFEINTEN", 0X34, 0x20000400, -1, 4);
mid = add_struc_member(id,"DEP1INT", 0X38, 0x20000400, -1, 4);
mid = add_struc_member(id,"DEP1INTEN", 0X3C, 0x20000400, -1, 4);
mid = add_struc_member(id,"Reserved40", 0X40, 0x20000400, -1, 4);
mid = add_struc_member(id,"DIEP1INTEN", 0X44, 0x20000400, -1, 4);
mid = add_struc_member(id,"Reserved48", 0X48, 0x20000400, -1, 60);
mid = add_struc_member(id,"DOEP1INTEN", 0X84, 0x20000400, -1, 4);
set_struc_align(id,2);
id = get_struc_id("usb_erin");
mid = add_struc_member(id,"DIEPCTL", 0, 0x20000400, -1, 4);
mid = add_struc_member(id,"Reserved04", 0X4, 0x20000400, -1, 4);
mid = add_struc_member(id,"DIEPINTF", 0X8, 0x20000400, -1, 4);
mid = add_struc_member(id,"Reserved0C", 0XC, 0x20000400, -1, 4);
mid = add_struc_member(id,"DIEPLEN", 0X10, 0x20000400, -1, 4);
mid = add_struc_member(id,"DIEPDMAADDR", 0X14, 0x20000400, -1, 4);
mid = add_struc_member(id,"DIEPTFSTAT", 0X18, 0x20000400, -1, 4);
set_struc_align(id,2);
id = get_struc_id("GPIO");
mid = add_struc_member(id,"CTL", 0, 0x20000400, -1, 4);
mid = add_struc_member(id,"MODE", 0X4, 0x20000400, -1, 4);
mid = add_struc_member(id,"OSPD0", 0X8, 0x20000400, -1, 4);
mid = add_struc_member(id,"PUD", 0XC, 0x20000400, -1, 4);
mid = add_struc_member(id,"ISTAT", 0X10, 0x20000400, -1, 4);
mid = add_struc_member(id,"OCTL", 0X14, 0x20000400, -1, 4);
mid = add_struc_member(id,"BOP", 0X18, 0x20000400, -1, 4);
mid = add_struc_member(id,"LOCK", 0X1C, 0x20000400, -1, 4);
mid = add_struc_member(id,"AFSEL0", 0X20, 0x20000400, -1, 4);
mid = add_struc_member(id,"AFSEL1", 0X24, 0x20000400, -1, 4);
mid = add_struc_member(id,"BC", 0X28, 0x20000400, -1, 4);
mid = add_struc_member(id,"TG", 0X2C, 0x20000400, -1, 4);
mid = add_struc_member(id,"OSPD1", 0X3C, 0x20000400, -1, 4);
id = get_struc_id("TIMER");
mid = add_struc_member(id,"CTL0", 0, 0x20000400, -1, 4);
mid = add_struc_member(id,"CTL1", 0X4, 0x20000400, -1, 4);
mid = add_struc_member(id,"SMCFG", 0X8, 0x20000400, -1, 4);
mid = add_struc_member(id,"DMAINTEN", 0XC, 0x20000400, -1, 4);
mid = add_struc_member(id,"INTF", 0X10, 0x20000400, -1, 4);
mid = add_struc_member(id,"SWEVG", 0X14, 0x20000400, -1, 4);
mid = add_struc_member(id,"CHCTL0", 0X18, 0x20000400, -1, 4);
mid = add_struc_member(id,"CHCTL1", 0X1C, 0x20000400, -1, 4);
mid = add_struc_member(id,"CHCTL2", 0X20, 0x20000400, -1, 4);
mid = add_struc_member(id,"CNT", 0X24, 0x20000400, -1, 4);
mid = add_struc_member(id,"PSC", 0X28, 0x20000400, -1, 4);
mid = add_struc_member(id,"CAR", 0X2C, 0x20000400, -1, 4);
mid = add_struc_member(id,"CREP", 0X30, 0x20000400, -1, 4);
mid = add_struc_member(id,"CH0CV", 0X34, 0x20000400, -1, 4);
mid = add_struc_member(id,"CH1CV", 0X38, 0x20000400, -1, 4);
mid = add_struc_member(id,"CH2CV", 0X3C, 0x20000400, -1, 4);
mid = add_struc_member(id,"CH3CV", 0X40, 0x20000400, -1, 4);
mid = add_struc_member(id,"CCHP", 0X44, 0x20000400, -1, 4);
mid = add_struc_member(id,"DMACFG", 0X48, 0x20000400, -1, 4);
mid = add_struc_member(id,"DMATB", 0X4C, 0x20000400, -1, 4);
mid = add_struc_member(id,"IRMP", 0X50, 0x20000400, -1, 4);
mid = add_struc_member(id,"CFG", 0XFC, 0x20000400, -1, 4);
id = get_struc_id("timer_parameter_struct");
mid = add_struc_member(id,"prescaler", 0, 0x10000400, -1, 2);
mid = add_struc_member(id,"alignedmode", 0X2, 0x10000400, -1, 2);
mid = add_struc_member(id,"counterdirection", 0X4, 0x10000400, -1, 2);
mid = add_struc_member(id,"clockdivision", 0X6, 0x10000400, -1, 2);
mid = add_struc_member(id,"period", 0X8, 0x20000400, -1, 4);
mid = add_struc_member(id,"repetitioncounter", 0XC, 0x000400, -1, 1);
id = get_struc_id("timer_oc_parameter_struct");
mid = add_struc_member(id,"outputstate", 0, 0x20000400, -1, 4);
mid = add_struc_member(id,"outputnstate", 0X4, 0x10000400, -1, 2);
mid = add_struc_member(id,"ocpolarity", 0X6, 0x10000400, -1, 2);
mid = add_struc_member(id,"ocnpolarity", 0X8, 0x10000400, -1, 2);
mid = add_struc_member(id,"ocidlestate", 0XA, 0x10000400, -1, 2);
mid = add_struc_member(id,"ocnidlestate", 0XC, 0x10000400, -1, 2);
id = get_struc_id("usb_erout");
mid = add_struc_member(id,"DOEPCTL", 0, 0x20000400, -1, 4);
mid = add_struc_member(id,"Reserved04", 0X4, 0x20000400, -1, 4);
mid = add_struc_member(id,"DOEPINTF", 0X8, 0x20000400, -1, 4);
mid = add_struc_member(id,"Reserved0C", 0XC, 0x20000400, -1, 4);
mid = add_struc_member(id,"DOEPLEN", 0X10, 0x20000400, -1, 4);
mid = add_struc_member(id,"DOEPDMAADDR", 0X14, 0x20000400, -1, 4);
set_struc_align(id,2);
id = get_struc_id("ob_parm_struct");
mid = add_struc_member(id,"spc", 0, 0x000400, -1, 1);
mid = add_struc_member(id,"user", 0X1, 0x000400, -1, 1);
mid = add_struc_member(id,"data0", 0X2, 0x000400, -1, 1);
mid = add_struc_member(id,"data1", 0X3, 0x000400, -1, 1);
mid = add_struc_member(id,"wp0", 0X4, 0x000400, -1, 1);
mid = add_struc_member(id,"wp1", 0X5, 0x000400, -1, 1);
id = get_struc_id("fw_update_header");
mid = add_struc_member(id,"offset", 0, 0x20000400, -1, 4);
mid = add_struc_member(id,"size", 0X4, 0x20000400, -1, 4);
mid = add_struc_member(id,"version", 0X8, 0x20000400, -1, 4);
mid = add_struc_member(id,"hash", 0X10, 0x000400, -1, 16);
return id;
}
//------------------------------------------------------------------------
// Information about structure types
static Structures(void) {
auto id;
begin_type_updating(UTP_STRUCT);
id = Structures_0(id);
}
//------------------------------------------------------------------------
// Information about bytes
static Bytes_0(void) {
auto x;
#define id x
update_extra_cmt (0X8000000, E_PREV + 0, "; File Name : C:\\Users\\user\\Desktop\\SX\\bootloader.bin");
update_extra_cmt (0X8000000, E_PREV + 1, "; Format : Binary file");
update_extra_cmt (0X8000000, E_PREV + 2, "; Base Address: 0000h Range: 8000000h - 8003000h Loaded length: 3000h");
create_dword (x=0X8000000);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8000004);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8000008);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X800000C);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8000010);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8000014);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8000018);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (0X800001C);
create_dword (0X8000020);
create_dword (0X8000024);
create_dword (0X8000028);
create_dword (x=0X800002C);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8000030);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (0X8000034);
create_dword (x=0X8000038);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X800003C);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8000040);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8000044);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8000048);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X800004C);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8000050);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8000054);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8000058);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X800005C);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8000060);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8000064);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8000068);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X800006C);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8000070);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8000074);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8000078);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X800007C);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8000080);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8000084);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (0X8000088);
create_dword (x=0X800008C);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8000090);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8000094);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8000098);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X800009C);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X80000A0);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X80000A4);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X80000A8);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X80000AC);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X80000B0);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (0X80000B4);
create_dword (x=0X80000B8);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (0X80000BC);
create_dword (x=0X80000C0);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (0X80000C4);
create_dword (x=0X80000C8);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (0X80000CC);
create_dword (0X80000D0);
create_dword (0X80000D4);
create_dword (0X80000D8);
create_dword (0X80000DC);
create_dword (x=0X80000E0);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X80000E4);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X80000E8);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X80000EC);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X80000F0);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X80000F4);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X80000F8);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X80000FC);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8000100);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8000104);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8000108);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X800010C);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8000110);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8000114);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8000118);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X800011C);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8000120);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8000124);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8000128);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X800012C);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8000130);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8000134);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8000138);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X800013C);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8000140);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8000144);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8000148);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X800014C);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (0X8000150);
make_array (0X8000150, 0X4);
create_dword (0X8000160);
create_dword (x=0X8000164);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
set_name (0X8000164, "CMD66_function_ptr");
create_dword (0X8000168);
create_insn (x=0X800016C);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
set_name (0X800016C, "_start");
create_insn (x=0X8000170);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8000174);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8000178);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
set_name (0X8000178, "mem_init");
create_insn (x=0X800017A);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8000182);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (0X800018E);
create_insn (0X8000198);
set_name (0X800019F, "deadlock");
create_insn (x=0X80001A2);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
set_name (0X80001A2, "jump_to_firmware");
create_insn (x=0X80001A4);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X80001AC);
op_plain_offset (x, 1, 0X8003000);
op_plain_offset (x, 129, 0X8003000);
create_insn (x=0X80001B0);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
set_name (0X80001B0, "jump_to_function_with_load_sp_from_firmware");
create_dword (x=0X80001B8);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X80001BC);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X80001C0);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X80001C4);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X80001C8);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (0X80001CC);
create_dword (x=0X80001D0);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (0X80001D4);
create_dword (x=0X80001D8);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X80001DC);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_insn (0X80001E0);
set_name (0X80001E0, "transfer_spi0_24");
create_insn (0X8000208);
create_insn (0X8000214);
set_name (0X8000214, "transfer_spi0_24_6_1byte");
create_insn (0X800021E);
set_name (0X800021E, "transfer_spi0_26");
create_insn (0X8000246);
create_insn (0X8000254);
set_name (0X8000254, "transfer_spi0_ba");
create_insn (0X8000272);
create_insn (0X800027E);
set_name (0X800027E, "transfer_spi0_bc");
create_insn (0X800029C);
create_insn (0X80002A6);
set_name (0X80002A6, "transfer_spi0_24_5_1byte");
create_insn (0X80002B0);
set_name (0X80002B0, "transfer_spi0_24_5_1byte_then_ba");
create_insn (0X80002C6);
set_name (0X80002C6, "transfer_spi0_24_5_1byte_then_bc");
create_insn (0X80002DC);
set_name (0X80002DC, "transfer_spi0_26_b_1byte");
create_insn (0X80002E4);
set_name (0X80002E4, "usbd_isr");
create_insn (x=0X80002E8);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X80002EA);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X80002F2);
op_hex (x, 1);
create_insn (x=0X8000304);
op_hex (x, 1);
create_insn (x=0X800030A);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X800030C);
op_stkvar (x, 1);
create_insn (x=0X8000338);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X800033A);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X800033C);
op_stkvar (x, 1);
create_insn (x=0X8000342);
op_stkvar (x, 1);
create_insn (x=0X8000348);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X800034A);
op_hex (x, 1);
create_insn (x=0X800034E);
op_stkvar (x, 1);
create_insn (x=0X8000360);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X800036A);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X800036E);
op_hex (x, 1);
create_insn (x=0X8000374);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8000384);
op_stkvar (x, 1);
create_insn (x=0X8000388);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X800038C);
op_hex (x, 1);
create_insn (x=0X8000390);
op_stkvar (x, 1);
create_insn (x=0X800039C);
op_stkvar (x, 1);
create_insn (x=0X80003A8);
op_stkvar (x, 1);
create_insn (x=0X80003AE);
op_stkvar (x, 1);
create_insn (x=0X80003B4);
op_stkvar (x, 1);
create_insn (x=0X80003BA);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X80003BE);
op_hex (x, 1);
create_insn (x=0X80003CC);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X80003DE);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X80003EC);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X80003F8);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8000404);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8000406);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X800040A);
op_stkvar (x, 1);
create_insn (x=0X800040E);
op_hex (x, 1);
create_insn (x=0X8000414);
op_stkvar (x, 1);
create_insn (x=0X8000416);
op_stkvar (x, 1);
create_insn (x=0X8000418);
op_stkvar (x, 1);
create_insn (x=0X800041A);
op_hex (x, 1);
create_insn (x=0X8000436);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X800043A);
op_hex (x, 1);
create_insn (x=0X800043E);
op_hex (x, 1);
create_insn (x=0X8000444);
op_stkvar (x, 1);
create_insn (x=0X8000456);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X800045A);
op_hex (x, 1);
create_insn (x=0X8000466);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X800046A);
op_hex (x, 1);
create_insn (x=0X8000486);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X800048E);
op_plain_offset (x, 1, 0X50000818);
op_plain_offset (x, 129, 0X50000818);
create_insn (x=0X8000490);
op_hex (x, 1);
create_insn (x=0X8000494);
op_plain_offset (x, 1, 0X50000818);
op_plain_offset (x, 129, 0X50000818);
create_insn (x=0X8000496);
op_plain_offset (x, 1, 0X50000818);
op_plain_offset (x, 129, 0X50000818);
create_insn (x=0X8000498);
op_hex (x, 1);
create_insn (x=0X800049C);
op_plain_offset (x, 1, 0X50000818);
op_plain_offset (x, 129, 0X50000818);
create_insn (x=0X80004A2);
op_plain_offset (x, 1, 0X50000818);
op_plain_offset (x, 129, 0X50000818);
create_insn (x=0X80004A4);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X80004AA);
op_plain_offset (x, 1, 0X50000814);
op_plain_offset (x, 129, 0X50000814);
create_insn (x=0X80004AE);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X80004B2);
op_hex (x, 1);
create_insn (x=0X80004C2);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X80004CA);
op_plain_offset (x, 1, 0X50000014);
op_plain_offset (x, 129, 0X50000014);
create_insn (x=0X80004CE);
op_hex (x, 1);
create_insn (x=0X80004D2);
op_plain_offset (x, 1, 0X50000014);
op_plain_offset (x, 129, 0X50000014);
create_insn (x=0X80004D6);
op_plain_offset (x, 1, 0X50000014);
op_plain_offset (x, 129, 0X50000014);
create_insn (x=0X80004DA);
op_hex (x, 1);
create_insn (x=0X80004DE);
op_plain_offset (x, 1, 0X50000014);
op_plain_offset (x, 129, 0X50000014);
create_insn (x=0X80004E2);
op_plain_offset (x, 1, 0X50000014);
op_plain_offset (x, 129, 0X50000014);
create_insn (x=0X80004E6);
op_hex (x, 1);
create_insn (x=0X80004EA);
op_plain_offset (x, 1, 0X50000014);
op_plain_offset (x, 129, 0X50000014);
create_insn (x=0X80004EE);
op_plain_offset (x, 1, 0X50000014);
op_plain_offset (x, 129, 0X50000014);
create_insn (x=0X80004FC);
op_hex (x, 1);
create_insn (x=0X8000508);
op_hex (x, 1);
create_insn (x=0X8000518);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X800051C);
op_hex (x, 1);
create_insn (x=0X8000524);
op_hex (x, 1);
create_insn (x=0X8000532);
op_hex (x, 1);
create_insn (x=0X800053E);
op_hex (x, 1);
create_insn (x=0X8000558);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X800055A);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X800056C);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8000570);
op_hex (x, 1);
create_insn (x=0X8000578);
op_hex (x, 1);
create_insn (x=0X8000584);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_dword (x=0X800058C);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8000590);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8000594);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8000598);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X800059C);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X80005A0);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X80005A4);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X80005A8);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X80005AC);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (0X80005B0);
create_dword (x=0X80005B4);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X80005B8);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X80005BC);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X80005C0);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X80005C4);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X80005C8);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (0X80005CC);
create_dword (0X80005D0);
create_dword (x=0X80005D4);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_insn (0X80005D8);
create_insn (x=0X80005E4);
op_hex (x, 1);
create_insn (x=0X80005EC);
op_hex (x, 1);
create_insn (x=0X80005F2);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8000600);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X800060E);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (0X800061E);
create_insn (x=0X8000624);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8000632);
op_stkvar (x, 1);
create_insn (x=0X8000634);
op_stkvar (x, 1);
create_insn (x=0X8000646);
op_stkvar (x, 1);
create_insn (x=0X8000652);
op_stkvar (x, 1);
set_cmt (0X8000658, "a1", 0);
create_insn (x=0X8000662);
op_stkvar (x, 1);
create_insn (x=0X8000674);
op_hex (x, 1);
create_insn (x=0X8000680);
op_stkvar (x, 1);
create_insn (x=0X8000688);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8000696);
op_stkvar (x, 1);
create_insn (x=0X8000698);
op_stkvar (x, 1);
create_insn (x=0X80006B2);
op_stkvar (x, 1);
create_insn (x=0X80006B8);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X80006BA);
op_stkvar (x, 1);
create_insn (x=0X80006BC);
op_stkvar (x, 1);
create_insn (x=0X80006C8);
op_stkvar (x, 1);
create_insn (x=0X80006D4);
op_stkvar (x, 1);
create_insn (x=0X80006E0);
op_stkvar (x, 1);
create_insn (x=0X8000704);
op_stkvar (x, 1);
create_insn (x=0X8000706);
op_stkvar (x, 1);
create_insn (x=0X8000724);
op_stkvar (x, 1);
create_insn (x=0X800072C);
op_stkvar (x, 1);
create_insn (0X8000730);
create_insn (x=0X8000738);
op_stkvar (x, 1);
create_insn (x=0X800074C);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X800074E);
op_stkvar (x, 1);
create_insn (x=0X8000760);
op_stkvar (x, 1);
create_insn (0X8000774);
create_insn (0X80007A0);
create_insn (0X80007C6);
create_insn (x=0X80007C8);
create_insn (0X80007DA);
create_insn (x=0X80007E4);
op_hex (x, 1);
create_insn (x=0X80007EC);
op_hex (x, 1);
create_insn (0X80007F2);
create_insn (0X80007F6);
create_dword (x=0X80007FC);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8000800);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8000804);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8000808);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_insn (x=0X800080C);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
set_name (0X800080C, "nvic_priority_group_set");
create_insn (x=0X800080E);
op_hex (x, 1);
create_insn (x=0X8000812);
op_hex (x, 1);
create_insn (x=0X8000816);
op_plain_offset (x, 1, 0XE000ED00);
op_plain_offset (x, 129, 0XE000ED00);
create_dword (x=0X800081C);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_insn (0X8000820);
set_name (0X8000820, "set_scb");
create_insn (x=0X8000822);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8000824);
op_plain_offset (x, 1, 0XE000ED00);
op_plain_offset (x, 129, 0XE000ED00);
create_insn (x=0X8000826);
op_hex (x, 1);
create_insn (x=0X8000840);
op_plain_offset (x, 1, 0XE000ED00);
op_plain_offset (x, 129, 0XE000ED00);
create_insn (x=0X800086A);
op_hex (x, 1);
create_insn (0X8000878);
create_insn (0X800088A);
create_insn (0X8000890);
create_insn (0X8000896);
create_dword (x=0X800089C);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (0X80008A0);
create_dword (0X80008A4);
create_insn (0X80008A8);
set_name (0X80008A8, "_usb_dev_desc_get");
create_insn (0X80008B2);
set_name (0X80008B2, "_usb_config_desc_get");
create_insn (0X80008BC);
set_name (0X80008BC, "_usb_str_desc_get");
create_insn (0X80008CA);
set_name (0X80008CA, "usbd_getstatus");
create_insn (0X80008CC);
set_name (0X80008CC, "usbd_getinterface");
create_insn (0X80008D2);
set_name (0X80008D2, "usbd_setinterface");
create_insn (0X80008D6);
set_name (0X80008D6, "usbd_setdescriptor");
create_insn (0X80008D8);
set_name (0X80008D8, "usbd_enum_error");
set_cmt (0X80008DA, "int", 0);
set_cmt (0X80008E2, "struc_1 *", 0);
set_cmt (0X80008E4, "int", 0);
create_insn (0X80008F4);
set_name (0X80008F4, "usbd_clrfeature");
create_insn (x=0X80008F8);
op_hex (x, 1);
create_insn (0X800092A);
create_insn (0X8000934);
create_insn (0X8000948);
set_cmt (0X800094A, "int", 0);
set_cmt (0X800096A, "struc_1 *", 0);
create_insn (0X800096E);
create_insn (0X800097A);
set_name (0X800097A, "usbd_setfeature");
create_insn (x=0X800097C);
op_hex (x, 1);
create_insn (0X80009A6);
create_insn (0X80009B2);
set_name (0X80009BA, "usb_sub_80009BA");
create_insn (0X80009BC);
set_name (0X80009BC, "usbd_setaddress");
create_insn (x=0X80009D8);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X80009DE);
op_hex (x, 1);
create_insn (0X80009F4);
create_dword (x=0X80009F8);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_insn (0X80009FC);
set_name (0X80009FC, "usbd_getdescriptor");
create_insn (x=0X8000A00);
op_hex (x, 1);
create_insn (x=0X8000A24);
op_stkvar (x, 1);
create_insn (x=0X8000A2A);
op_stkvar (x, 1);
set_cmt (0X8000A2E, "void *", 0);
create_insn (x=0X8000A3E);
op_stkvar (x, 1);
create_insn (x=0X8000A4A);
op_stkvar (x, 1);
set_cmt (0X8000A4E, "int", 0);
create_insn (x=0X8000A4E);
op_stkvar (x, 1);
set_cmt (0X8000A52, "int", 0);
create_insn (0X8000A5C);
create_insn (0X8000A64);
create_dword (0X8000A70);
create_insn (0X8000A74);
set_name (0X8000A74, "usbd_getconfig");
create_insn (x=0X8000A78);
op_stkvar (x, 1);
set_cmt (0X8000A7A, "int", 0);
create_insn (0X8000A86);
set_cmt (0X8000A98, "void *", 0);
create_insn (x=0X8000A98);
op_stkvar (x, 1);
create_insn (0X8000AA4);
set_name (0X8000AA4, "usbd_setconfig");
create_insn (x=0X8000AA8);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (0X8000ABA);
create_insn (0X8000AD6);
create_insn (0X8000AF0);
create_dword (x=0X8000B08);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_insn (0X8000B0C);
set_name (0X8000B0C, "usbd_synchframe");
create_insn (0X8000B0E);
set_name (0X8000B0E, "usbd_reserved");
create_insn (0X8000B10);
set_name (0X8000B10, "usbd_setup_transaction");
create_insn (x=0X8000B26);
op_stkvar (x, 1);
create_insn (x=0X8000B2E);
op_stkvar (x, 1);
create_insn (x=0X8000B3A);
op_stkvar (x, 1);
create_insn (x=0X8000B4C);
op_stkvar (x, 1);
create_insn (x=0X8000B52);
op_hex (x, 1);
create_insn (x=0X8000B5C);
op_stkvar (x, 1);
create_insn (0X8000B78);
create_insn (x=0X8000B8C);
op_stkvar (x, 1);
create_insn (0X8000BA0);
set_cmt (0X8000BA6, "int", 0);
create_insn (x=0X8000BA6);
op_hex (x, 1);
create_dword (0X8000BB0);
create_insn (0X8000BB4);
set_name (0X8000BB4, "usbd_out_transaction");
set_cmt (0X8000BD0, "void *", 0);
set_cmt (0X8000BDA, "int", 0);
set_cmt (0X8000BDC, "a2", 0);
create_insn (0X8000BE6);
create_insn (0X8000BFA);
create_insn (0X8000C0A);
set_name (0X8000C0A, "usbd_in_transaction");
set_cmt (0X8000C20, "a4", 0);
set_cmt (0X8000C24, "a3", 0);
set_cmt (0X8000C2A, "a4", 0);
set_cmt (0X8000C2C, "a3", 0);
set_cmt (0X8000C2E, "a2", 0);
set_cmt (0X8000C30, "a1", 0);
set_cmt (0X8000C36, "a1", 0);
create_insn (0X8000C3A);
set_cmt (0X8000C50, "a4", 0);
set_cmt (0X8000C52, "a3", 0);
create_insn (0X8000C5C);
create_insn (0X8000C76);
create_insn (0X8000C88);
set_name (0X8000C88, "usbd_enum_error_0");
set_cmt (0X8000C8A, "int", 0);
set_cmt (0X8000C92, "struc_1 *", 0);
set_cmt (0X8000C94, "int", 0);
create_insn (0X8000CA4);
set_name (0X8000CA4, "read32");
create_insn (x=0X8000CA8);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
set_name (0X8000CA8, "check_firmware_header");
create_insn (x=0X8000CB8);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8000CBA);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8000CCE);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8000CD0);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8000CD4);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
set_cmt (0X8000CD6, "result", 0);
set_cmt (0X8000CDA, "a3", 0);
create_insn (0X8000D24);
create_insn (0X8000D2E);
create_dword (x=0X8000D44);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8000D48);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8000D4C);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8000D50);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8000D54);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8000D58);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8000D5C);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (0X8000D60);
create_dword (0X8000D64);
create_dword (0X8000D68);
create_dword (0X8000D6C);
create_dword (0X8000D70);
create_insn (0X8000D74);
set_name (0X8000D74, "decrypt_n_flash_firmware");
create_insn (x=0X8000D78);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8000D84);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8000D98);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
set_cmt (0X8000DA0, "a1", 0);
create_insn (x=0X8000DB2);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8000DB6);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
set_cmt (0X8000DD6, "out", 0);
set_cmt (0X8000DD8, "key", 0);
set_cmt (0X8000DDA, "in", 0);
create_insn (x=0X8000DF2);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8000DF8);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
set_cmt (0X8000E10, "a2", 0);
create_insn (x=0X8000E10);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
set_cmt (0X8000E12, "a1", 0);
create_insn (x=0X8000E12);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
set_cmt (0X8000E14, "len", 0);
create_insn (x=0X8000E1E);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8000E26);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8000E2A);
op_stkvar (x, 1);
create_insn (x=0X8000E32);
op_stkvar (x, 1);
set_cmt (0X8000E38, "a1", 0);
set_cmt (0X8000E3A, "a3", 0);
set_cmt (0X8000E3C, "a2", 0);
create_insn (x=0X8000E4C);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (0X8000E6E);
set_cmt (0X8000E72, "a3", 0);
set_cmt (0X8000E74, "a2", 0);
set_cmt (0X8000E76, "a1", 0);
set_cmt (0X8000E86, "a1", 0);
create_insn (0X8000E86);
set_cmt (0X8000E88, "a3", 0);
set_cmt (0X8000E8A, "a2", 0);
create_insn (0X8000E98);
create_insn (0X8000E9C);
create_insn (0X8000EA0);
create_dword (x=0X8000EA4);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8000EA8);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8000EAC);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8000EB0);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8000EB4);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8000EB8);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
set_name (0X8000EB8, "a2");
create_dword (x=0X8000EBC);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8000EC0);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (0X8000EC4);
create_dword (0X8000EC8);
create_dword (0X8000ECC);
create_dword (0X8000ED0);
create_dword (0X8000ED4);
create_dword (0X8000ED8);
create_dword (0X8000EDC);
create_dword (0X8000EE0);
create_dword (x=0X8000EE4);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_insn (x=0X8000EE8);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
set_name (0X8000EE8, "get_offset");
create_dword (x=0X8000EF0);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_insn (x=0X8000EF4);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
set_name (0X8000EF4, "get_crc");
create_dword (x=0X8000EFC);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_insn (0X8000F00);
set_name (0X8000F00, "cmd66_function");
create_insn (x=0X8000F0C);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8000F18);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8000F32);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
set_cmt (0X8000F34, "buffer", 0);
set_cmt (0X8000F36, "int", 0);
create_insn (x=0X8000F3C);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (0X8000F52);
set_cmt (0X8000F60, "a1", 0);
create_insn (0X8000F72);
create_insn (0X8000F84);
create_insn (0X8000F8C);
create_insn (0X8000F90);
create_insn (x=0X8000F94);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8000F9C);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_dword (0X8000FAC);
create_dword (x=0X8000FB0);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (0X8000FB4);
create_dword (x=0X8000FB8);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8000FBC);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8000FC0);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
set_name (0X8000FC0, "buffer");
create_dword (0X8000FC4);
create_dword (x=0X8000FC8);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8000FCC);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (0X8000FD0);
create_dword (x=0X8000FD4);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_insn (0X8000FD8);
set_name (0X8000FD8, "init_pins_and_timers");
create_insn (x=0X8000FDC);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8000FDE);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8000FE0);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8000FE2);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
set_cmt (0X8000FE6, "result", 0);
set_cmt (0X8000FE8, "mask", 0);
set_cmt (0X8000FEC, "value", 0);
set_cmt (0X8000FF2, "result", 0);
set_cmt (0X8000FF4, "mask", 0);
set_cmt (0X8000FF8, "value", 0);
set_cmt (0X8000FFE, "mask", 0);
set_cmt (0X8001002, "value", 0);
set_cmt (0X8001004, "result", 0);
create_insn (x=0X8001004);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
set_cmt (0X800100C, "result", 0);
set_cmt (0X800100E, "mask", 0);
set_cmt (0X8001012, "a3", 0);
set_cmt (0X8001014, "a2", 0);
set_cmt (0X800101A, "result", 0);
set_cmt (0X800101C, "mask", 0);
set_cmt (0X8001020, "a3", 0);
set_cmt (0X8001022, "a2", 0);
set_cmt (0X8001028, "mask", 0);
set_cmt (0X800102C, "a3", 0);
set_cmt (0X800102E, "a2", 0);
set_cmt (0X8001030, "result", 0);
create_insn (x=0X8001030);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
set_cmt (0X8001038, "gpio_periph", 0);
set_cmt (0X800103A, "pin", 0);
set_cmt (0X800103E, "pull_up_down", 0);
set_cmt (0X8001040, "mode", 0);
set_cmt (0X8001046, "gpio_periph", 0);
set_cmt (0X8001048, "pin", 0);
set_cmt (0X800104C, "pull_up_down", 0);
set_cmt (0X800104E, "mode", 0);
set_cmt (0X8001054, "pull_up_down", 0);
set_cmt (0X8001056, "pin", 0);
set_cmt (0X800105A, "mode", 0);
set_cmt (0X800105C, "gpio_periph", 0);
create_insn (x=0X800105C);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
set_cmt (0X8001064, "result", 0);
set_cmt (0X800106A, "result", 0);
set_cmt (0X8001070, "result", 0);
create_insn (x=0X800107A);
op_stkvar (x, 1);
set_cmt (0X800107E, "a2", 0);
create_insn (x=0X800107E);
op_stkvar (x, 1);
set_cmt (0X8001082, "result", 0);
create_insn (x=0X8001084);
op_stkvar (x, 1);
create_insn (x=0X8001086);
op_stkvar (x, 1);
set_cmt (0X800108E, "a2", 0);
create_insn (x=0X800108E);
op_stkvar (x, 1);
set_cmt (0X8001090, "result", 0);
set_cmt (0X8001096, "a2", 0);
create_insn (x=0X8001096);
op_stkvar (x, 1);
set_cmt (0X8001098, "result", 0);
create_insn (x=0X80010A4);
op_stkvar (x, 1);
create_insn (x=0X80010AA);
op_stkvar (x, 1);
set_cmt (0X80010AC, "a3", 0);
set_cmt (0X80010B2, "a2", 0);
set_cmt (0X80010B4, "result", 0);
create_insn (x=0X80010B6);
op_stkvar (x, 1);
set_cmt (0X80010BE, "channel", 0);
set_cmt (0X80010C0, "timer_periph", 0);
set_cmt (0X80010C2, "pulse", 0);
set_cmt (0X80010CA, "_DWORD", 0);
set_cmt (0X80010CC, "_DWORD", 0);
set_cmt (0X80010CE, "_DWORD", 0);
set_cmt (0X80010D4, "_DWORD", 0);
set_cmt (0X80010D6, "_DWORD", 0);
set_cmt (0X80010D8, "_DWORD", 0);
set_cmt (0X80010DE, "_DWORD", 0);
set_cmt (0X80010E0, "_DWORD", 0);
set_cmt (0X80010E6, "_DWORD", 0);
set_cmt (0X80010EC, "a3", 0);
set_cmt (0X80010EE, "a2", 0);
set_cmt (0X80010F0, "result", 0);
set_cmt (0X80010F6, "channel", 0);
set_cmt (0X80010F8, "timer_periph", 0);
set_cmt (0X80010FA, "pulse", 0);
set_cmt (0X8001102, "_DWORD", 0);
set_cmt (0X8001104, "_DWORD", 0);
set_cmt (0X8001106, "_DWORD", 0);
set_cmt (0X800110C, "_DWORD", 0);
set_cmt (0X800110E, "_DWORD", 0);
set_cmt (0X8001110, "_DWORD", 0);
set_cmt (0X8001116, "_DWORD", 0);
set_cmt (0X8001118, "_DWORD", 0);
set_cmt (0X800111E, "_DWORD", 0);
set_cmt (0X8001124, "a3", 0);
set_cmt (0X8001126, "result", 0);
set_cmt (0X8001128, "a2", 0);
set_cmt (0X800112E, "timer_periph", 0);
set_cmt (0X8001130, "pulse", 0);
set_cmt (0X8001134, "channel", 0);
set_cmt (0X800113A, "_DWORD", 0);
set_cmt (0X800113C, "_DWORD", 0);
set_cmt (0X800113E, "_DWORD", 0);
set_cmt (0X8001144, "_DWORD", 0);
set_cmt (0X8001146, "_DWORD", 0);
set_cmt (0X8001148, "_DWORD", 0);
set_cmt (0X800114E, "_DWORD", 0);
set_cmt (0X8001150, "_DWORD", 0);
set_cmt (0X8001156, "_DWORD", 0);
set_cmt (0X800115C, "result", 0);
set_cmt (0X8001162, "result", 0);
set_cmt (0X8001168, "result", 0);
create_dword (x=0X8001174);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
set_name (0X8001174, "result");
create_dword (x=0X8001178);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X800117C);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8001180);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
set_cmt (0X8001184, "_DWORD", 0);
create_insn (0X8001184);
set_name (0X8001184, "timer15_set_ch0_pulse");
set_cmt (0X8001188, "_DWORD", 0);
set_cmt (0X800118A, "_DWORD", 0);
create_dword (x=0X8001190);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
set_cmt (0X8001194, "_DWORD", 0);
create_insn (0X8001194);
set_name (0X8001194, "timer16_set_ch0_pulse");
set_cmt (0X8001198, "_DWORD", 0);
set_cmt (0X800119A, "_DWORD", 0);
create_dword (0X80011A0);
set_cmt (0X80011A4, "_DWORD", 0);
create_insn (0X80011A4);
set_name (0X80011A4, "timer0_set_ch0_pulse");
set_cmt (0X80011A8, "_DWORD", 0);
set_cmt (0X80011AA, "_DWORD", 0);
create_dword (0X80011B0);
create_insn (0X80011B4);
set_name (0X80011B4, "timers_set_ch0_pulse");
create_insn (0X80011D4);
set_name (0X80011D4, "SysTick_Delay");
create_insn (x=0X80011D8);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X80011DA);
op_plain_offset (x, 1, 0XE000E010);
op_plain_offset (x, 129, 0XE000E010);
create_insn (x=0X80011DE);
op_plain_offset (x, 1, 0XE000E010);
op_plain_offset (x, 129, 0XE000E010);
create_insn (x=0X80011E4);
op_hex (x, 1);
create_insn (0X80011FA);
create_dword (x=0X80011FC);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_insn (0X8001200);
set_name (0X8001200, "delay_ms");
set_cmt (0X8001202, "a1", 0);
create_dword (0X800120C);
create_insn (0X8001210);
set_name (0X8001210, "delay_us");
set_cmt (0X8001212, "a1", 0);
create_insn (0X800121C);
set_name (0X800121C, "mcu_main");
set_cmt (0X800121E, "a1", 0);
set_cmt (0X8001226, "a4", 0);
set_cmt (0X800122A, "a3", 0);
set_cmt (0X800122C, "a2", 0);
set_cmt (0X800122E, "result", 0);
create_insn (x=0X800122E);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8001242);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X800124C);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (0X8001268);
create_dword (x=0X800126C);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (0X8001270);
create_dword (x=0X8001274);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_insn (0X8001278);
set_name (0X8001278, "erase_flash");
create_dword (0X8001298);
create_dword (0X800129C);
create_insn (0X80012A0);
set_name (0X80012A0, "burn_flash");
create_insn (0X80012C0);
create_insn (0X80012CC);
create_dword (0X80012D0);
create_dword (0X80012D4);
create_insn (0X80012D8);
set_name (0X80012D8, "update_ob_protection");
set_cmt (0X80012EA, "a1", 0);
create_insn (0X8001300);
create_dword (0X8001304);
create_dword (0X8001308);
create_insn (0X800130C);
set_name (0X800130C, "read32_0");
create_insn (0X8001310);
set_name (0X8001310, "keycheck");
create_dword (0X800131C);
create_insn (0X8001320);
set_name (0X8001320, "command_parser");
set_cmt (0X8001344, "jumptable 08001358 default case, cases 1,3,7,9-14\njumptable 080013B0 default case", 1);
set_name (0X8001344, "def_8001358");
create_insn (0X800134A);
set_cmt (0X8001352, "switch 18 cases ", 0);
create_insn (x=0X8001356);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
set_cmt (0X8001358, "switch jump", 0);
set_cmt (0X800135C, "jump table for switch statement", 0);
create_dword (x=0X800135C);
make_array (x, 0X12);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
set_name (0X800135C, "jpt_8001358");
create_insn (0X80013A4);
set_cmt (0X80013AC, "switch 4 cases ", 0);
set_cmt (0X80013B0, "switch jump", 0);
set_cmt (0X80013B4, "jump table for switch statement", 0);
create_byte (0X80013B4);
set_name (0X80013B4, "jpt_80013B0");
create_byte (0X80013B5);
create_byte (0X80013B6);
create_byte (0X80013B7);
set_cmt (0X80013B8, "jumptable 08001358 case 15", 1);
create_insn (0X80013B8);
create_insn (x=0X80013BA);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
set_cmt (0X80013C6, "jumptable 08001358 case 0", 1);
create_insn (0X80013CE);
create_insn (0X80013DA);
set_cmt (0X80013DE, "jumptable 08001358 case 2", 1);
create_insn (x=0X80013DE);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
set_cmt (0X80013E8, "int", 0);
create_insn (0X80013E8);
set_cmt (0X80013EA, "buffer", 0);
set_cmt (0X80013F2, "jumptable 08001358 case 4", 1);
create_insn (0X80013F2);
set_cmt (0X80013F8, "jumptable 08001358 case 5", 1);
create_insn (0X80013F8);
set_cmt (0X80013FE, "jumptable 080013B0 case 1", 1);
create_insn (x=0X80013FE);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
set_cmt (0X8001404, "jumptable 08001358 case 6", 1);
create_insn (x=0X8001404);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8001408);
op_plain_offset (x, 1, 0X200001C4);
op_plain_offset (x, 129, 0X200001C4);
create_insn (x=0X800140C);
op_plain_offset (x, 1, 0X200001C4);
op_plain_offset (x, 129, 0X200001C4);
create_insn (x=0X8001410);
op_plain_offset (x, 1, 0X200001C4);
op_plain_offset (x, 129, 0X200001C4);
create_insn (x=0X8001414);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X800141A);
op_plain_offset (x, 1, 0X200001C4);
op_plain_offset (x, 129, 0X200001C4);
create_insn (x=0X800141E);
op_plain_offset (x, 1, 0X200001C4);
op_plain_offset (x, 129, 0X200001C4);
create_insn (x=0X8001424);
op_plain_offset (x, 1, 0X200001C4);
op_plain_offset (x, 129, 0X200001C4);
create_insn (x=0X8001426);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8001428);
op_plain_offset (x, 1, 0X200001C4);
op_plain_offset (x, 129, 0X200001C4);
create_insn (x=0X800142C);
op_plain_offset (x, 1, 0X200001C4);
op_plain_offset (x, 129, 0X200001C4);
create_insn (x=0X8001430);
op_plain_offset (x, 1, 0X200001C4);
op_plain_offset (x, 129, 0X200001C4);
create_insn (x=0X8001436);
op_plain_offset (x, 1, 0X200001C4);
op_plain_offset (x, 129, 0X200001C4);
create_insn (x=0X8001438);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X800143A);
op_plain_offset (x, 1, 0X200001C4);
op_plain_offset (x, 129, 0X200001C4);
create_insn (x=0X800143E);
op_plain_offset (x, 1, 0X200001C4);
op_plain_offset (x, 129, 0X200001C4);
create_insn (x=0X8001442);
op_plain_offset (x, 1, 0X200001C4);
op_plain_offset (x, 129, 0X200001C4);
create_insn (x=0X8001448);
op_plain_offset (x, 1, 0X200001C4);
op_plain_offset (x, 129, 0X200001C4);
create_insn (x=0X800144A);
op_plain_offset (x, 1, 0X200001C4);
op_plain_offset (x, 129, 0X200001C4);
set_cmt (0X800144C, "a1", 0);
set_cmt (0X8001456, "jumptable 08001358 case 16", 1);
create_insn (x=0X8001456);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8001458);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X800145A);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
set_cmt (0X8001470, "jumptable 08001358 case 17", 1);
create_insn (x=0X8001470);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8001478);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8001480);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8001488);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8001490);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (0X80014A2);
set_cmt (0X80014A6, "jumptable 080013B0 case 2", 1);
create_insn (x=0X80014A6);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X80014AE);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
set_cmt (0X80014BA, "jumptable 080013B0 case 0", 1);
create_insn (x=0X80014BA);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X80014BE);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
set_cmt (0X80014C6, "jumptable 080013B0 case 3", 1);
create_insn (x=0X80014C6);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
set_cmt (0X80014CA, "jumptable 08001358 case 8", 1);
create_insn (0X80014CA);
create_insn (0X80014EC);
create_insn (0X80014FA);
set_cmt (0X8001508, "a1", 0);
create_insn (0X8001508);
create_insn (x=0X800150E);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
set_cmt (0X8001510, "a1", 0);
create_insn (x=0X8001516);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
set_cmt (0X8001518, "a1", 0);
create_insn (x=0X800151E);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8001522);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_dword (0X800153C);
create_dword (0X8001540);
create_dword (0X8001544);
create_dword (0X8001548);
create_dword (0X800154C);
create_dword (0X8001550);
create_dword (x=0X8001554);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (0X8001558);
set_name (0X8001558, "a1");
create_dword (0X800155C);
create_dword (0X8001560);
create_dword (x=0X8001564);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8001568);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X800156C);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8001570);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8001574);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8001578);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X800157C);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8001580);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8001584);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8001588);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X800158C);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (0X8001590);
create_dword (x=0X8001594);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (0X8001598);
create_dword (0X800159C);
create_dword (x=0X80015A0);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X80015A4);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X80015A8);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_insn (0X80015AC);
set_name (0X80015AC, "usb_handler");
create_insn (x=0X80015B2);
op_stkvar (x, 1);
create_insn (x=0X80015B4);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X80015B6);
op_stkvar (x, 1);
create_insn (x=0X80015B8);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X80015BA);
op_stkvar (x, 1);
create_insn (x=0X80015BE);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X80015C0);
op_stkvar (x, 1);
create_insn (x=0X80015C2);
op_stkvar (x, 1);
create_insn (x=0X80015C8);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
set_cmt (0X80015DE, "a1", 0);
create_insn (0X80015EA);
create_insn (x=0X80015F2);
op_stkvar (x, 1);
create_insn (0X8001602);
create_insn (0X800160C);
create_dword (x=0X8001614);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8001618);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X800161C);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8001620);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8001624);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8001628);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (0X800162C);
create_insn (0X8001630);
set_name (0X8001630, "usb_fifo_write");
create_insn (x=0X8001636);
create_insn (x=0X800163C);
op_hex (x, 1);
create_insn (0X8001654);
create_insn (0X8001664);
set_name (0X8001664, "usb_fifo_read");
create_insn (x=0X800166C);
op_hex (x, 1);
create_insn (x=0X8001676);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8001684);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (0X800168C);
create_dword (x=0X80016A0);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_insn (0X80016A4);
set_name (0X80016A4, "usb_core_select");
create_insn (x=0X80016C8);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
set_name (0X80016C8, "usb_core_init");
create_insn (x=0X80016CC);
op_hex (x, 1);
create_insn (x=0X80016EC);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X80016EE);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X80016F2);
op_hex (x, 1);
create_insn (x=0X80016FA);
op_hex (x, 1);
create_insn (x=0X8001702);
op_hex (x, 1);
create_insn (x=0X800170E);
op_hex (x, 1);
create_dword (x=0X8001724);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (0X8001728);
create_dword (x=0X800172C);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8001730);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_insn (0X8001734);
set_name (0X8001734, "usb_txfifo_flush");
create_insn (x=0X8001736);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X800173C);
op_hex (x, 1);
create_insn (x=0X8001742);
op_hex (x, 1);
create_dword (x=0X8001764);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (0X8001768);
create_insn (0X800176C);
set_name (0X800176C, "usb_rxfifo_flush");
create_insn (x=0X800176E);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_dword (x=0X8001790);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (0X8001794);
create_insn (0X8001798);
set_name (0X8001798, "usb_mode_set");
create_insn (x=0X800179E);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X80017A2);
op_hex (x, 1);
create_insn (x=0X80017AA);
op_hex (x, 1);
create_insn (0X80017BE);
create_insn (x=0X80017C2);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X80017C6);
op_hex (x, 1);
create_insn (x=0X80017CE);
op_hex (x, 1);
create_dword (x=0X80017D4);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_insn (0X80017D8);
set_name (0X80017D8, "usb_devcore_init");
create_insn (x=0X80017DC);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X80017DE);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X80017E2);
op_stkvar (x, 1);
create_insn (x=0X80017E6);
op_stkvar (x, 1);
create_insn (x=0X80017EA);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X80017EE);
op_hex (x, 1);
create_insn (x=0X8001800);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8001804);
op_hex (x, 1);
create_insn (x=0X800180C);
op_hex (x, 1);
create_insn (x=0X8001812);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X800181E);
op_hex (x, 1);
create_insn (x=0X8001824);
op_stkvar (x, 1);
create_insn (x=0X8001828);
op_stkvar (x, 1);
create_insn (x=0X800182A);
op_stkvar (x, 1);
create_insn (x=0X800182C);
op_hex (x, 1);
create_insn (x=0X8001830);
op_stkvar (x, 1);
create_insn (x=0X8001832);
op_stkvar (x, 1);
create_insn (x=0X8001836);
op_stkvar (x, 1);
create_insn (x=0X8001838);
op_stkvar (x, 1);
create_insn (x=0X800183A);
op_hex (x, 1);
create_insn (x=0X800183E);
op_stkvar (x, 1);
create_insn (x=0X8001840);
op_stkvar (x, 1);
create_insn (x=0X8001844);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8001850);
op_stkvar (x, 1);
create_insn (x=0X8001854);
op_stkvar (x, 1);
create_insn (x=0X8001856);
op_stkvar (x, 1);
create_insn (x=0X800185C);
op_stkvar (x, 1);
create_insn (x=0X800185E);
op_stkvar (x, 1);
create_insn (x=0X8001862);
op_stkvar (x, 1);
create_insn (x=0X8001864);
op_stkvar (x, 1);
create_insn (x=0X8001868);
op_stkvar (x, 1);
create_insn (x=0X800186A);
op_stkvar (x, 1);
create_insn (x=0X8001882);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X800188E);
op_plain_offset (x, 1, 0X50000810);
op_plain_offset (x, 129, 0X50000810);
create_insn (x=0X8001890);
op_plain_offset (x, 1, 0X50000810);
op_plain_offset (x, 129, 0X50000810);
create_insn (x=0X8001892);
op_plain_offset (x, 1, 0X50000810);
op_plain_offset (x, 129, 0X50000810);
create_insn (x=0X80018A0);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X80018A2);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X80018B2);
op_plain_offset (x, 1, 0X50000014);
op_plain_offset (x, 129, 0X50000014);
create_insn (0X80018CE);
create_insn (x=0X80018DE);
op_hex (x, 1);
create_insn (x=0X80018F6);
op_hex (x, 1);
create_dword (x=0X8001914);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8001918);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X800191C);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8001920);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (0X8001924);
create_dword (x=0X8001928);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (0X800192C);
create_dword (x=0X8001930);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8001934);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8001938);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X800193C);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (0X8001940);
create_dword (0X8001944);
create_dword (0X8001948);
create_insn (0X800194C);
set_name (0X800194C, "usb_ep0_startout");
create_insn (x=0X8001950);
op_stkvar (x, 1);
create_insn (x=0X8001952);
op_stkvar (x, 1);
create_insn (x=0X8001954);
op_hex (x, 1);
create_insn (x=0X8001958);
op_stkvar (x, 1);
create_insn (x=0X800195A);
op_stkvar (x, 1);
create_insn (x=0X800195C);
op_hex (x, 1);
create_insn (x=0X8001960);
op_stkvar (x, 1);
create_insn (x=0X8001962);
op_stkvar (x, 1);
create_insn (x=0X8001964);
op_hex (x, 1);
create_insn (x=0X8001968);
op_stkvar (x, 1);
create_insn (x=0X800196A);
op_stkvar (x, 1);
create_insn (x=0X800196C);
op_hex (x, 1);
create_insn (x=0X8001970);
op_stkvar (x, 1);
create_insn (x=0X8001972);
op_stkvar (x, 1);
create_insn (x=0X8001974);
op_hex (x, 1);
create_insn (x=0X8001978);
op_stkvar (x, 1);
create_insn (x=0X800197A);
op_stkvar (x, 1);
create_insn (x=0X800197C);
op_hex (x, 1);
create_insn (x=0X8001980);
op_stkvar (x, 1);
create_insn (x=0X8001982);
op_stkvar (x, 1);
create_insn (x=0X8001984);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_dword (x=0X800198C);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_insn (0X8001990);
set_name (0X8001990, "gpio_mode_set");
create_insn (0X80019D4);
set_name (0X80019D4, "gpio_output_options_set");
create_insn (0X8001A18);
create_insn (x=0X8001A42);
op_plain_offset (x, 1, 0X48000000);
op_plain_offset (x, 129, 0X48000000);
create_insn (x=0X8001A46);
op_plain_offset (x, 1, 0X48000000);
op_plain_offset (x, 129, 0X48000000);
create_insn (0X8001A4A);
set_name (0X8001A4A, "gpio_input_bit_get");
create_insn (0X8001A56);
set_name (0X8001A56, "gpio_af_set");
create_insn (0X8001AB2);
set_name (0X8001AB2, "rcu_periph_clock_enable");
create_insn (x=0X8001ABC);
op_hex (x, 1);
create_insn (0X8001ACE);
set_name (0X8001ACE, "rcu_periph_reset_disable");
create_insn (x=0X8001AD8);
op_hex (x, 1);
create_insn (0X8001AEC);
set_name (0X8001AEC, "rcu_periph_reset_enable");
create_insn (0X8001AF0);
set_name (0X8001AF0, "j_rcu_periph_reset_disable");
create_insn (x=0X8001AF4);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
set_name (0X8001AF4, "rcu_usbfs_clock_config");
create_insn (x=0X8001AF8);
op_hex (x, 1);
create_insn (x=0X8001B00);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8001B04);
op_hex (x, 1);
create_insn (x=0X8001B0C);
op_hex (x, 1);
create_insn (x=0X8001B16);
op_hex (x, 1);
create_dword (x=0X8001B20);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8001B24);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_insn (0X8001B28);
set_name (0X8001B28, "init_usb");
set_cmt (0X8001B2A, "a1", 0);
set_cmt (0X8001B32, "a1", 0);
set_cmt (0X8001B3A, "a1", 0);
set_cmt (0X8001B50, "this", 0);
create_insn (x=0X8001B50);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
set_cmt (0X8001B52, "a2", 0);
create_dword (x=0X8001B58);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
set_cmt (0X8001B5C, "a1", 0);
create_insn (x=0X8001B5C);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
set_name (0X8001B5C, "USBFS_IRQHandler");
create_dword (x=0X8001B64);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_insn (0X8001B68);
set_name (0X8001B68, "USBFS_WKUP_IRQHandler");
create_insn (0X8001B6C);
set_name (0X8001B6C, "receive_data");
create_insn (x=0X8001B6E);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8001B70);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_dword (x=0X8001B88);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8001B8C);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (0X8001B90);
create_insn (0X8001B94);
set_name (0X8001B94, "send_data");
create_insn (x=0X8001B96);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
set_cmt (0X8001B98, "a2", 0);
set_cmt (0X8001B9C, "result", 0);
create_dword (x=0X8001BAC);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8001BB0);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_insn (x=0X8001BB4);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
set_name (0X8001BB4, "send32");
create_insn (x=0X8001BBA);
op_plain_offset (x, 1, 0X200001C4);
op_plain_offset (x, 129, 0X200001C4);
create_insn (x=0X8001BC0);
op_plain_offset (x, 1, 0X200001C4);
op_plain_offset (x, 129, 0X200001C4);
set_cmt (0X8001BC2, "a1", 0);
create_insn (x=0X8001BC4);
op_plain_offset (x, 1, 0X200001C4);
op_plain_offset (x, 129, 0X200001C4);
create_dword (x=0X8001BCC);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_insn (x=0X8001BD0);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
set_name (0X8001BD0, "wait_till_configured");
create_insn (x=0X8001BD2);
op_plain_offset (x, 1, 0X20000000);
op_plain_offset (x, 129, 0X20000000);
create_dword (x=0X8001BDC);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_insn (x=0X8001BE0);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
set_name (0X8001BE0, "hw_init");
create_insn (x=0X8001BE4);
op_hex (x, 1);
create_insn (x=0X8001BF2);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8001BF8);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8001C00);
op_hex (x, 1);
create_insn (x=0X8001C04);
op_hex (x, 1);
create_insn (x=0X8001C0C);
op_hex (x, 1);
create_insn (x=0X8001C12);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8001C16);
op_hex (x, 1);
create_insn (x=0X8001C1A);
op_hex (x, 1);
create_insn (x=0X8001C22);
op_hex (x, 1);
create_insn (x=0X8001C26);
op_hex (x, 1);
create_insn (x=0X8001C2E);
op_hex (x, 1);
create_insn (x=0X8001C32);
op_hex (x, 1);
create_insn (x=0X8001C3A);
op_hex (x, 1);
create_insn (x=0X8001C3E);
op_hex (x, 1);
create_insn (x=0X8001C46);
op_hex (x, 1);
create_insn (x=0X8001C4E);
op_hex (x, 1);
create_insn (x=0X8001C54);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8001C58);
op_hex (x, 1);
create_insn (x=0X8001C5E);
op_plain_offset (x, 1, 0X40021034);
op_plain_offset (x, 129, 0X40021034);
create_insn (x=0X8001C62);
op_hex (x, 1);
create_insn (x=0X8001C66);
op_plain_offset (x, 1, 0X40021034);
op_plain_offset (x, 129, 0X40021034);
create_insn (x=0X8001C6C);
op_plain_offset (x, 1, 0X40021034);
op_plain_offset (x, 129, 0X40021034);
create_insn (x=0X8001C70);
op_plain_offset (x, 1, 0X40021034);
op_plain_offset (x, 129, 0X40021034);
create_insn (x=0X8001C7A);
op_hex (x, 1);
create_insn (x=0X8001C82);
op_hex (x, 1);
create_insn (x=0X8001C8A);
op_hex (x, 1);
create_insn (x=0X8001C8E);
op_hex (x, 1);
create_insn (x=0X8001C96);
op_hex (x, 1);
create_insn (x=0X8001C9A);
op_hex (x, 1);
create_insn (x=0X8001CA2);
op_hex (x, 1);
create_insn (x=0X8001CB0);
op_hex (x, 1);
create_insn (x=0X8001CB8);
op_hex (x, 1);
create_dword (x=0X8001CC8);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8001CCC);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (0X8001CD0);
create_dword (x=0X8001CD4);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8001CD8);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8001CDC);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_insn (x=0X8001CE0);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
set_name (0X8001CE0, "pmu_to_deepsleepmode");
create_insn (x=0X8001CE6);
op_hex (x, 1);
create_insn (x=0X8001CEE);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8001CF4);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8001CF6);
op_plain_offset (x, 1, 0XE000ED00);
op_plain_offset (x, 129, 0XE000ED00);
create_insn (x=0X8001CF8);
op_hex (x, 1);
create_insn (x=0X8001CFC);
op_plain_offset (x, 1, 0XE000ED00);
op_plain_offset (x, 129, 0XE000ED00);
create_insn (x=0X8001D02);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8001D08);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8001D0C);
op_plain_offset (x, 1, 0X200001A0);
op_plain_offset (x, 129, 0X200001A0);
create_insn (x=0X8001D10);
op_plain_offset (x, 1, 0X200001A0);
op_plain_offset (x, 129, 0X200001A0);
create_insn (x=0X8001D12);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8001D16);
op_plain_offset (x, 1, 0X200001A0);
op_plain_offset (x, 129, 0X200001A0);
create_insn (x=0X8001D20);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8001D2A);
op_plain_offset (x, 1, 0XE000E180);
op_plain_offset (x, 129, 0XE000E180);
create_insn (x=0X8001D30);
op_plain_offset (x, 1, 0XE000E180);
op_plain_offset (x, 129, 0XE000E180);
create_insn (x=0X8001D3A);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8001D3C);
op_plain_offset (x, 1, 0X200001A0);
op_plain_offset (x, 129, 0X200001A0);
create_insn (x=0X8001D40);
op_plain_offset (x, 1, 0X200001A0);
op_plain_offset (x, 129, 0X200001A0);
create_insn (x=0X8001D44);
op_plain_offset (x, 1, 0X200001A0);
op_plain_offset (x, 129, 0X200001A0);
create_insn (x=0X8001D46);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8001D4A);
op_plain_offset (x, 1, 0XE000ED00);
op_plain_offset (x, 129, 0XE000ED00);
create_insn (x=0X8001D4C);
op_hex (x, 1);
create_insn (x=0X8001D50);
op_plain_offset (x, 1, 0XE000ED00);
op_plain_offset (x, 129, 0XE000ED00);
create_insn (0X8001D54);
create_dword (x=0X8001D5C);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8001D60);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8001D64);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8001D68);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8001D6C);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8001D70);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (0X8001D74);
create_dword (x=0X8001D78);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (0X8001D7C);
create_insn (x=0X8001D80);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
set_name (0X8001D80, "pmu_to_standbymode");
create_insn (x=0X8001D82);
op_plain_offset (x, 1, 0XE000ED00);
op_plain_offset (x, 129, 0XE000ED00);
create_insn (x=0X8001D84);
op_hex (x, 1);
create_insn (x=0X8001D88);
op_plain_offset (x, 1, 0XE000ED00);
op_plain_offset (x, 129, 0XE000ED00);
create_insn (x=0X8001D8A);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8001D8E);
op_hex (x, 1);
create_insn (x=0X8001D96);
op_hex (x, 1);
create_insn (0X8001DA2);
create_dword (x=0X8001DA8);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8001DAC);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_insn (0X8001DB0);
set_name (0X8001DB0, "tea_decrypt");
create_dword (0X8001E00);
create_dword (0X8001E04);
create_insn (0X8001E08);
set_name (0X8001E08, "generate_key");
create_insn (0X8001E24);
set_name (0X8001E24, "tea_hash");
create_dword (0X8001E9C);
create_insn (0X8001EA0);
set_name (0X8001EA0, "memcmp");
create_insn (0X8001EAE);
create_insn (x=0X8001EB8);
op_hex (x, 1);
create_insn (0X8001EC0);
set_name (0X8001EC0, "cdc_acm_init");
create_insn (x=0X8001EC2);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_dword (x=0X8001EE8);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_insn (0X8001EEC);
set_name (0X8001EEC, "cdc_acm_deinit");
create_insn (0X8001F0C);
set_name (0X8001F0C, "req_handler");
create_insn (x=0X8001F10);
op_hex (x, 1);
set_cmt (0X8001F28, "int", 0);
create_insn (x=0X8001F2C);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
set_cmt (0X8001F30, "int", 0);
set_cmt (0X8001F32, "void *", 0);
create_insn (x=0X8001F32);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8001F3A);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
set_cmt (0X8001F3C, "void *", 0);
create_insn (x=0X8001F3C);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8001F42);
op_plain_offset (x, 1, 0X20000148);
op_plain_offset (x, 129, 0X20000148);
create_insn (x=0X8001F44);
op_plain_offset (x, 1, 0X20000244);
op_plain_offset (x, 129, 0X20000244);
create_insn (x=0X8001F46);
op_plain_offset (x, 1, 0X20000148);
op_plain_offset (x, 129, 0X20000148);
create_insn (x=0X8001F48);
op_plain_offset (x, 1, 0X20000244);
op_plain_offset (x, 129, 0X20000244);
set_cmt (0X8001F4A, "int", 0);
create_insn (0X8001F52);
create_insn (x=0X8001F76);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (0X8001F7C);
create_insn (x=0X8001F80);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (0X8001F86);
create_insn (0X8001F8C);
create_dword (x=0X8001F94);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8001F98);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8001F9C);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (0X8001FA0);
create_dword (x=0X8001FA4);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (0X8001FA8);
create_insn (x=0X8001FAC);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
set_name (0X8001FAC, "cdc_acm_data_receive");
set_cmt (0X8001FB2, "a2", 0);
set_cmt (0X8001FB4, "void *", 0);
set_cmt (0X8001FB6, "int", 0);
create_dword (x=0X8001FBC);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8001FC0);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_insn (0X8001FC4);
set_name (0X8001FC4, "cdc_acm_data_send");
set_cmt (0X8001FC6, "int", 0);
create_insn (x=0X8001FCA);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
set_cmt (0X8001FD0, "void *", 0);
set_cmt (0X8001FD2, "a2", 0);
create_insn (0X8001FD8);
create_dword (x=0X8001FDC);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8001FE0);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_insn (x=0X8001FE4);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
set_name (0X8001FE4, "EP0_RxReady");
create_insn (x=0X8001FEE);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8001FF0);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8001FF2);
op_plain_offset (x, 1, 0X20000244);
op_plain_offset (x, 129, 0X20000244);
create_insn (x=0X8001FF6);
op_plain_offset (x, 1, 0X20000244);
op_plain_offset (x, 129, 0X20000244);
create_insn (x=0X8001FFA);
op_plain_offset (x, 1, 0X20000148);
op_plain_offset (x, 129, 0X20000148);
create_insn (x=0X8001FFC);
op_plain_offset (x, 1, 0X20000148);
op_plain_offset (x, 129, 0X20000148);
create_dword (x=0X8002008);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X800200C);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8002010);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_insn (0X8002014);
set_name (0X8002014, "data_handler");
create_insn (x=0X8002022);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (0X800202C);
create_insn (0X8002038);
create_insn (x=0X800203C);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8002046);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_dword (x=0X800204C);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8002050);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8002054);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_insn (0X8002058);
set_name (0X8002058, "usbd_init");
create_insn (x=0X8002060);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8002062);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8002066);
op_plain_offset (x, 1, 0X20000000);
op_plain_offset (x, 129, 0X20000000);
create_insn (x=0X800206A);
op_hex (x, 1);
create_insn (x=0X8002080);
op_hex (x, 1);
create_insn (x=0X8002086);
op_plain_offset (x, 1, 0X20000000);
op_plain_offset (x, 129, 0X20000000);
create_insn (x=0X8002098);
op_hex (x, 1);
create_insn (x=0X800209E);
op_plain_offset (x, 1, 0X20000000);
op_plain_offset (x, 129, 0X20000000);
create_insn (x=0X80020A8);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X80020AC);
op_hex (x, 1);
create_dword (x=0X80020B4);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X80020B8);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_insn (0X80020BC);
set_name (0X80020BC, "usbd_ep_init");
create_insn (x=0X80020C4);
op_hex (x, 1);
create_insn (x=0X80020CE);
op_hex (x, 1);
create_insn (x=0X80020D2);
op_hex (x, 1);
create_insn (x=0X80020F0);
op_hex (x, 1);
create_insn (x=0X8002108);
op_hex (x, 1);
create_insn (x=0X8002110);
op_hex (x, 1);
create_insn (x=0X8002114);
op_hex (x, 1);
create_insn (x=0X8002120);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (0X800212E);
create_insn (0X8002140);
create_dword (x=0X8002144);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (0X8002148);
create_insn (x=0X800214C);
op_hex (x, 1);
set_name (0X800214C, "usbd_ep_deinit");
create_insn (x=0X8002152);
op_hex (x, 1);
create_insn (x=0X800216E);
op_hex (x, 1);
create_insn (x=0X8002174);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_dword (x=0X8002180);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_insn (0X8002184);
set_name (0X8002184, "usbd_ep_rx");
create_insn (x=0X8002186);
op_hex (x, 1);
create_insn (x=0X80021A6);
op_hex (x, 1);
create_insn (x=0X80021B2);
op_hex (x, 1);
create_insn (x=0X80021CC);
op_hex (x, 1);
create_insn (x=0X80021D0);
op_hex (x, 1);
create_insn (0X80021D8);
create_insn (0X80021E0);
create_insn (x=0X80021FA);
op_hex (x, 1);
create_insn (0X8002200);
set_name (0X8002200, "usbd_ep_tx");
create_insn (x=0X8002202);
op_hex (x, 1);
create_insn (x=0X800221A);
op_stkvar (x, 1);
create_insn (x=0X800221E);
op_stkvar (x, 1);
create_insn (x=0X8002222);
op_stkvar (x, 1);
create_insn (x=0X8002224);
op_plain_offset (x, 1, 0X50000920);
op_plain_offset (x, 129, 0X50000920);
create_insn (x=0X8002226);
op_stkvar (x, 1);
create_insn (x=0X8002228);
op_stkvar (x, 1);
create_insn (x=0X800222E);
op_stkvar (x, 1);
create_insn (x=0X8002230);
op_stkvar (x, 1);
create_insn (x=0X8002232);
op_hex (x, 1);
create_insn (x=0X8002236);
op_hex (x, 1);
create_insn (x=0X800223A);
op_stkvar (x, 1);
create_insn (x=0X8002240);
op_stkvar (x, 1);
create_insn (x=0X8002242);
op_hex (x, 1);
create_insn (x=0X8002246);
op_stkvar (x, 1);
create_insn (x=0X8002248);
op_stkvar (x, 1);
create_insn (x=0X800224A);
op_plain_offset (x, 1, 0X50000920);
op_plain_offset (x, 129, 0X50000920);
create_insn (x=0X800225A);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X800225E);
op_hex (x, 1);
create_insn (x=0X8002262);
op_stkvar (x, 1);
create_insn (x=0X8002266);
op_hex (x, 1);
create_insn (x=0X800226A);
op_hex (x, 1);
create_insn (x=0X800226E);
op_stkvar (x, 1);
create_insn (x=0X8002270);
op_stkvar (x, 1);
create_insn (x=0X8002272);
op_hex (x, 1);
create_insn (x=0X8002276);
op_stkvar (x, 1);
create_insn (x=0X8002278);
op_stkvar (x, 1);
create_insn (x=0X800228E);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (0X80022A2);
create_insn (x=0X80022A8);
op_stkvar (x, 1);
create_insn (x=0X80022AE);
op_hex (x, 1);
create_insn (x=0X80022B2);
op_stkvar (x, 1);
create_insn (x=0X80022BA);
op_stkvar (x, 1);
create_insn (x=0X80022C6);
op_stkvar (x, 1);
create_insn (x=0X80022CA);
op_stkvar (x, 1);
create_insn (x=0X80022CC);
op_hex (x, 1);
create_insn (0X80022D2);
create_insn (x=0X80022D4);
op_stkvar (x, 1);
create_insn (0X80022E4);
create_dword (x=0X80022F0);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X80022F4);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_insn (0X80022F8);
set_name (0X80022F8, "usbd_ctltx");
set_cmt (0X80022FA, "int", 0);
set_cmt (0X8002304, "void *", 0);
set_cmt (0X8002306, "a2", 0);
create_insn (0X8002310);
set_name (0X8002310, "usbd_ctlrx");
set_cmt (0X8002312, "int", 0);
set_cmt (0X800231C, "void *", 0);
set_cmt (0X800231E, "a2", 0);
create_insn (0X8002328);
set_name (0X8002328, "usbd_ctlstatus_tx");
set_cmt (0X800232E, "int", 0);
set_cmt (0X8002332, "void *", 0);
set_cmt (0X8002334, "a2", 0);
create_insn (0X8002344);
set_name (0X8002344, "usbd_ctlstatus_rx");
set_cmt (0X800234A, "int", 0);
set_cmt (0X800234E, "void *", 0);
set_cmt (0X8002350, "a2", 0);
create_insn (0X8002360);
set_name (0X8002360, "usbd_ep_stall");
create_insn (x=0X8002364);
op_stkvar (x, 1);
create_insn (x=0X8002366);
op_hex (x, 1);
create_insn (x=0X800236A);
op_hex (x, 1);
create_insn (x=0X800237A);
op_stkvar (x, 1);
create_insn (x=0X800237C);
op_stkvar (x, 1);
create_insn (x=0X8002382);
op_stkvar (x, 1);
create_insn (x=0X8002384);
op_hex (x, 1);
create_insn (x=0X8002388);
op_stkvar (x, 1);
create_insn (x=0X800238A);
op_stkvar (x, 1);
create_insn (x=0X800238C);
op_hex (x, 1);
create_insn (x=0X8002390);
op_stkvar (x, 1);
create_insn (x=0X8002392);
op_stkvar (x, 1);
create_insn (0X800239A);
create_insn (x=0X80023A0);
op_hex (x, 1);
create_insn (0X80023A6);
set_name (0X80023A6, "usb_transc_clrstall");
create_insn (x=0X80023AA);
op_hex (x, 1);
create_insn (x=0X80023AE);
op_hex (x, 1);
create_insn (x=0X80023B2);
op_stkvar (x, 1);
create_insn (x=0X80023C0);
op_stkvar (x, 1);
create_insn (x=0X80023C2);
op_stkvar (x, 1);
create_insn (x=0X80023C4);
op_hex (x, 1);
create_insn (x=0X80023C8);
op_stkvar (x, 1);
create_insn (x=0X80023DA);
op_stkvar (x, 1);
create_insn (x=0X80023DC);
op_hex (x, 1);
create_insn (x=0X80023E0);
op_stkvar (x, 1);
create_insn (x=0X80023E2);
op_stkvar (x, 1);
create_insn (0X80023EA);
create_insn (x=0X80023F0);
op_stkvar (x, 1);
create_insn (x=0X80023F2);
op_stkvar (x, 1);
create_insn (x=0X80023F4);
op_hex (x, 1);
create_insn (x=0X80023F8);
op_stkvar (x, 1);
create_insn (0X8002406);
set_name (0X8002406, "usbd_rxcount_get");
create_insn (0X8002412);
set_name (0X8002412, "j_USBFS_IRQHandler");
create_insn (0X8002416);
set_name (0X8002416, "j_USBFS_WKUP_IRQHandler");
create_insn (0X800241C);
set_name (0X800241C, "setup_clocks");
set_cmt (0X800241E, "a1", 0);
create_insn (x=0X8002426);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
set_cmt (0X8002428, "a1", 0);
set_cmt (0X8002432, "a1", 0);
set_cmt (0X800243A, "a1", 0);
set_cmt (0X8002442, "a1", 0);
set_cmt (0X800244A, "a1", 0);
set_cmt (0X8002452, "a1", 0);
set_cmt (0X800245A, "a1", 0);
set_cmt (0X8002462, "a1", 0);
set_cmt (0X800246A, "a1", 0);
set_cmt (0X8002472, "a1", 0);
set_cmt (0X800247A, "a1", 0);
create_insn (x=0X8002486);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8002490);
op_plain_offset (x, 1, 0XE000E010);
op_plain_offset (x, 129, 0XE000E010);
create_insn (x=0X8002492);
op_plain_offset (x, 1, 0XE000E010);
op_plain_offset (x, 129, 0XE000E010);
create_dword (x=0X800249C);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X80024A0);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_insn (0X80024A4);
set_name (0X80024A4, "enter_sleep");
create_insn (x=0X80024B8);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
set_name (0X80024B8, "reset_special_firmware_entry_point");
create_dword (x=0X80024C0);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_insn (x=0X80024C4);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
set_name (0X80024C4, "do_firmware_init");
create_insn (x=0X80024D8);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X80024DE);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X80024E4);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (0X80024FC);
create_dword (x=0X8002504);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (0X8002508);
create_dword (x=0X800250C);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8002510);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8002514);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_insn (0X8002518);
set_name (0X8002518, "timer_deinit");
create_insn (0X800253C);
set_cmt (0X8002542, "a1", 0);
create_insn (0X8002550);
set_cmt (0X8002566, "a1", 0);
set_cmt (0X8002574, "a1", 0);
create_insn (0X8002574);
set_cmt (0X8002588, "a1", 0);
create_insn (0X8002588);
set_cmt (0X8002596, "a1", 0);
create_insn (0X8002596);
set_cmt (0X80025A4, "a1", 0);
create_insn (0X80025A4);
set_cmt (0X80025B2, "a1", 0);
create_insn (0X80025B2);
set_cmt (0X80025C0, "a1", 0);
create_insn (0X80025C0);
create_dword (0X80025D0);
create_dword (0X80025D4);
create_dword (0X80025D8);
create_insn (0X80025DC);
set_name (0X80025DC, "timer_init");
create_insn (x=0X80025E6);
op_hex (x, 1);
create_insn (x=0X80025F2);
op_hex (x, 1);
create_insn (x=0X8002612);
op_hex (x, 1);
create_insn (x=0X8002632);
op_hex (x, 1);
create_insn (x=0X8002646);
op_hex (x, 1);
create_insn (x=0X8002660);
op_hex (x, 1);
create_dword (0X8002668);
create_dword (0X800266C);
create_dword (0X8002670);
create_insn (0X8002674);
set_name (0X8002674, "timer_enable");
create_insn (x=0X8002676);
op_hex (x, 1);
create_insn (0X800267E);
set_name (0X800267E, "timer_auto_reload_shadow_enable");
create_insn (x=0X8002680);
op_hex (x, 1);
create_insn (0X8002688);
set_name (0X8002688, "timer_primary_output_config");
create_insn (x=0X800268E);
op_hex (x, 1);
create_insn (x=0X8002692);
op_hex (x, 1);
set_cmt (0X800269C, "switch 4 cases ", 0);
create_insn (0X800269C);
set_name (0X800269C, "timer_channel_output_config");
set_cmt (0X80026A2, "switch jump", 0);
set_cmt (0X80026A6, "jump table for switch statement", 0);
create_word (0X80026A6);
set_name (0X80026A6, "jpt_80026A2");
create_word (0X80026A8);
create_word (0X80026AA);
create_word (0X80026AC);
set_cmt (0X80026AE, "jumptable 080026A2 case 0", 1);
create_insn (0X80026AE);
create_insn (x=0X80026B0);
op_hex (x, 1);
create_insn (x=0X80026B8);
op_hex (x, 1);
create_insn (x=0X80026C8);
op_hex (x, 1);
create_insn (x=0X80026D6);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X80026DC);
op_hex (x, 1);
create_insn (x=0X80026F2);
op_hex (x, 1);
create_insn (x=0X8002702);
op_hex (x, 1);
create_insn (x=0X8002712);
op_hex (x, 1);
create_insn (x=0X8002722);
op_hex (x, 1);
set_cmt (0X8002732, "jumptable 080026A2 case 1", 1);
create_insn (0X8002732);
create_insn (x=0X8002734);
op_hex (x, 1);
create_insn (x=0X800273C);
op_hex (x, 1);
create_insn (x=0X8002750);
op_hex (x, 1);
create_insn (x=0X800275E);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8002768);
op_hex (x, 1);
create_insn (x=0X800277A);
op_hex (x, 1);
create_insn (x=0X8002788);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8002790);
op_hex (x, 1);
create_insn (x=0X80027A0);
op_hex (x, 1);
create_insn (x=0X80027B0);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X80027B6);
op_plain_offset (x, 1, 0X40014000);
op_plain_offset (x, 129, 0X40014000);
create_insn (x=0X80027BA);
op_hex (x, 1);
create_insn (x=0X80027BE);
op_plain_offset (x, 1, 0X40014000);
op_plain_offset (x, 129, 0X40014000);
create_insn (x=0X80027C0);
op_plain_offset (x, 1, 0X40014000);
op_plain_offset (x, 129, 0X40014000);
set_cmt (0X80027C8, "jumptable 080026A2 default case", 1);
set_name (0X80027C8, "def_80026A2");
set_cmt (0X80027CA, "jumptable 080026A2 case 2", 1);
create_insn (0X80027CA);
create_insn (x=0X80027CC);
op_hex (x, 1);
create_insn (x=0X80027D4);
op_hex (x, 1);
create_insn (x=0X80027E8);
op_hex (x, 1);
create_insn (x=0X80027F6);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8002800);
op_hex (x, 1);
create_insn (x=0X8002812);
op_hex (x, 1);
create_insn (x=0X8002820);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8002828);
op_hex (x, 1);
create_insn (x=0X8002838);
op_hex (x, 1);
set_cmt (0X8002846, "jumptable 080026A2 case 3", 1);
create_insn (0X8002846);
create_insn (x=0X8002848);
op_hex (x, 1);
create_insn (x=0X8002850);
op_hex (x, 1);
create_insn (x=0X8002864);
op_hex (x, 1);
create_insn (x=0X8002872);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8002878);
op_plain_offset (x, 1, 0X40012C00);
op_plain_offset (x, 129, 0X40012C00);
create_insn (x=0X800287C);
op_hex (x, 1);
create_insn (x=0X8002880);
op_plain_offset (x, 1, 0X40012C00);
op_plain_offset (x, 129, 0X40012C00);
create_insn (x=0X8002882);
op_plain_offset (x, 1, 0X40012C00);
op_plain_offset (x, 129, 0X40012C00);
create_dword (x=0X800288C);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8002890);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8002894);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
set_cmt (0X8002898, "switch 4 cases ", 0);
create_insn (0X8002898);
set_name (0X8002898, "timer_channel_output_mode_config");
set_cmt (0X800289C, "switch jump", 0);
set_cmt (0X80028A0, "jump table for switch statement", 0);
create_byte (0X80028A0);
set_name (0X80028A0, "jpt_800289C");
create_byte (0X80028A1);
create_byte (0X80028A2);
create_byte (0X80028A3);
set_cmt (0X80028A4, "jumptable 0800289C case 0", 1);
create_insn (0X80028A4);
create_insn (x=0X80028A6);
op_hex (x, 1);
set_cmt (0X80028B4, "jumptable 0800289C case 1", 1);
create_insn (0X80028B4);
create_insn (x=0X80028B6);
op_hex (x, 1);
set_cmt (0X80028C4, "jumptable 0800289C case 2", 1);
create_insn (0X80028C4);
create_insn (x=0X80028C6);
op_hex (x, 1);
set_cmt (0X80028D2, "jumptable 0800289C default case", 1);
set_name (0X80028D2, "def_800289C");
set_cmt (0X80028D4, "jumptable 0800289C case 3", 1);
create_insn (0X80028D4);
create_insn (x=0X80028D6);
op_hex (x, 1);
set_cmt (0X80028E4, "switch 4 cases ", 0);
create_insn (0X80028E4);
set_name (0X80028E4, "timer_channel_output_pulse_value_config");
set_cmt (0X80028E8, "switch jump", 0);
set_cmt (0X80028EC, "jump table for switch statement", 0);
create_byte (0X80028EC);
set_name (0X80028EC, "jpt_80028E8");
create_byte (0X80028ED);
create_byte (0X80028EE);
create_byte (0X80028EF);
set_cmt (0X80028F0, "jumptable 080028E8 case 0", 1);
create_insn (0X80028F0);
set_cmt (0X80028F4, "jumptable 080028E8 case 1", 1);
create_insn (0X80028F4);
set_cmt (0X80028F8, "jumptable 080028E8 case 2", 1);
create_insn (0X80028F8);
set_cmt (0X80028FC, "jumptable 080028E8 case 3", 1);
create_insn (0X80028FC);
set_cmt (0X80028FE, "jumptable 080028E8 default case", 1);
set_name (0X80028FE, "def_80028E8");
set_cmt (0X8002900, "switch 4 cases ", 0);
create_insn (0X8002900);
set_name (0X8002900, "timer_channel_output_shadow_config");
set_cmt (0X8002904, "switch jump", 0);
set_cmt (0X8002908, "jump table for switch statement", 0);
create_byte (0X8002908);
set_name (0X8002908, "jpt_8002904");
create_byte (0X8002909);
create_byte (0X800290A);
create_byte (0X800290B);
set_cmt (0X800290C, "jumptable 08002904 case 0", 1);
create_insn (0X800290C);
create_insn (x=0X800290E);
op_hex (x, 1);
set_cmt (0X800291C, "jumptable 08002904 case 1", 1);
create_insn (0X800291C);
create_insn (x=0X800291E);
op_hex (x, 1);
set_cmt (0X800292C, "jumptable 08002904 case 2", 1);
create_insn (0X800292C);
create_insn (x=0X800292E);
op_hex (x, 1);
set_cmt (0X800293A, "jumptable 08002904 default case", 1);
set_name (0X800293A, "def_8002904");
set_cmt (0X800293C, "jumptable 08002904 case 3", 1);
create_insn (0X800293C);
create_insn (x=0X800293E);
op_hex (x, 1);
create_insn (0X800294C);
set_name (0X800294C, "gpioa_clear_pin4");
create_insn (x=0X8002958);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
set_name (0X8002958, "gpioa_set_pin4");
create_dword (x=0X800296C);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_insn (x=0X8002970);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
set_name (0X8002970, "spi0_send_and_receive");
create_insn (x=0X8002972);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_dword (x=0X8002990);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8002994);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_insn (0X8002998);
set_name (0X8002998, "gpiob_clear_pin10");
create_dword (0X80029A4);
create_insn (x=0X80029A8);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
set_name (0X80029A8, "fmc_unlock");
create_insn (x=0X80029B0);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_dword (x=0X80029C0);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X80029C4);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (0X80029C8);
create_insn (x=0X80029CC);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
set_name (0X80029CC, "fmc_lock");
create_insn (x=0X80029D0);
op_hex (x, 1);
create_dword (x=0X80029D8);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_insn (x=0X80029DC);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
set_name (0X80029DC, "ob_unlock");
create_insn (x=0X80029E4);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_dword (x=0X80029F4);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X80029F8);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (0X80029FC);
create_insn (x=0X8002A00);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
set_name (0X8002A00, "ob_lock");
create_insn (x=0X8002A04);
op_hex (x, 1);
create_dword (x=0X8002A0C);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_insn (x=0X8002A10);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
set_name (0X8002A10, "fmc_state_get");
create_insn (x=0X8002A20);
op_hex (x, 1);
create_insn (0X8002A2C);
create_insn (0X8002A30);
create_dword (x=0X8002A34);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_insn (0X8002A38);
set_name (0X8002A38, "fmc_ready_wait");
create_insn (0X8002A50);
set_name (0X8002A50, "fmc_page_erase");
create_insn (x=0X8002A5E);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8002A62);
op_hex (x, 1);
create_insn (x=0X8002A68);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8002A6E);
op_hex (x, 1);
create_insn (x=0X8002A7E);
op_hex (x, 1);
create_dword (x=0X8002A88);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8002A8C);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_insn (0X8002A90);
set_name (0X8002A90, "fmc_word_program");
create_insn (x=0X8002AA0);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8002AA4);
op_hex (x, 1);
create_insn (x=0X8002AB6);
op_hex (x, 1);
create_dword (x=0X8002AC0);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_insn (0X8002AC4);
set_name (0X8002AC4, "ob_erase");
create_insn (x=0X8002AC6);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8002ACE);
op_hex (x, 1);
create_insn (x=0X8002AE0);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8002AE4);
op_hex (x, 1);
create_insn (x=0X8002AEC);
op_hex (x, 1);
create_insn (x=0X8002AFE);
op_hex (x, 1);
create_insn (x=0X8002B06);
op_hex (x, 1);
create_insn (x=0X8002B0C);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8002B16);
op_plain_offset (x, 1, 0X1FFFF800);
op_plain_offset (x, 129, 0X1FFFF800);
create_insn (x=0X8002B22);
op_hex (x, 1);
create_insn (0X8002B2A);
create_insn (0X8002B2E);
create_dword (x=0X8002B34);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8002B38);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8002B3C);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_insn (x=0X8002B40);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
set_name (0X8002B40, "ob_parm_get");
create_insn (x=0X8002B46);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8002B4C);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8002B52);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8002B58);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8002B5E);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_dword (x=0X8002B68);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8002B6C);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8002B70);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8002B74);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8002B78);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8002B7C);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_insn (0X8002B80);
set_name (0X8002B80, "ob_value_modify");
create_insn (x=0X8002B82);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8002BBA);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8002BC8);
op_plain_offset (x, 1, 0X1FFFF800);
op_plain_offset (x, 129, 0X1FFFF800);
create_insn (x=0X8002BD2);
op_plain_offset (x, 1, 0X1FFFF802);
op_plain_offset (x, 129, 0X1FFFF802);
create_insn (x=0X8002BDA);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8002BE4);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8002BEE);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (0X8002BF6);
create_insn (0X8002BFA);
create_insn (0X8002BFE);
create_dword (x=0X8002C04);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8002C08);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8002C0C);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8002C10);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_insn (0X8002C14);
set_name (0X8002C14, "ob_security_protection_config");
set_cmt (0X8002C18, "timeout", 0);
set_cmt (0X8002C22, "result", 0);
create_insn (x=0X8002C28);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8002C2C);
op_hex (x, 1);
create_insn (x=0X8002C36);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8002C3A);
op_hex (x, 1);
create_insn (x=0X8002C42);
op_hex (x, 1);
set_cmt (0X8002C48, "timeout", 0);
create_insn (x=0X8002C56);
op_plain_offset (x, 1, 0);
op_plain_offset (x, 129, 0);
create_insn (x=0X8002C58);
op_hex (x, 1);
create_insn (x=0X8002C60);
op_hex (x, 1);
set_cmt (0X8002C6E, "timeout", 0);
create_insn (x=0X8002C7E);
op_hex (x, 1);
create_insn (0X8002C8A);
create_insn (x=0X8002C90);
op_hex (x, 1);
create_insn (0X8002C96);
create_dword (x=0X8002C9C);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8002CA0);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8002CA4);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_insn (0X8002CA8);
set_name (0X8002CA8, "memset");
create_insn (0X8002CC0);
create_insn (0X8002D4A);
create_insn (0X8002D4E);
create_insn (0X8002D54);
create_dword (x=0X8002D58);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_byte (0X8002D5C);
make_array (0X8002D5C, 0X4);
set_name (0X8002D5C, "USB_SPEED");
create_dword (x=0X8002D60);
make_array (x, 0XC);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
set_name (0X8002D60, "StandardDeviceRequest");
create_dword (x=0X8002D90);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X8002D94);
make_array (x, 0X3);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
set_name (0X8002D94, "std_desc_get");
create_dword (0X8002DA0);
make_array (0X8002DA0, 0XA);
set_name (0X8002DA0, "key_seed");
create_word (0X8002DC8);
make_array (0X8002DC8, 0X4);
set_name (0X8002DC8, "USBFS_TX_FIFO_SIZE");
set_name (0X8002DD0, "config_desc");
set_name (0X8002E14, "dev_desc");
create_byte (0X8002E2C);
make_array (0X8002E2C, 0X164);
create_word (0X1FFFF800);
set_name (0X1FFFF800, "OB_SPC");
create_word (0X1FFFF802);
set_name (0X1FFFF802, "OB_USER");
create_word (0X1FFFF804);
set_name (0X1FFFF804, "OB_DATA0");
create_word (0X1FFFF806);
set_name (0X1FFFF806, "OB_DATA1");
create_word (0X1FFFF808);
set_name (0X1FFFF808, "OB_WP0");
create_word (0X1FFFF80A);
set_name (0X1FFFF80A, "OB_WP1");
MakeStruct (0X20000000, "usb_core_handle_struct");
set_name (0X20000000, "usbfs_core_dev");
create_dword (0X20000144);
set_name (0X20000144, "cdc_cmd");
MakeStruct (0X20000148, "line_coding_struct");
set_name (0X20000148, "linecoding");
create_byte (0X2000014F);
set_name (0X2000014F, "packet_receive");
create_byte (0X20000150);
set_name (0X20000150, "packet_sent");
create_dword (x=0X20000154);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
set_name (0X20000154, "usbd_strings");
create_dword (x=0X20000158);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X2000015C);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_dword (x=0X20000160);
op_plain_offset (x, 0, 0);
op_plain_offset (x, 128, 0);
create_byte (0X20000164);
set_name (0X20000164, "cfgidx");
create_dword (0X20000168);
set_name (0X20000168, "crc");
create_dword (0X2000016C);
set_name (0X2000016C, "version");
create_byte (0X20000170);
make_array (0X20000170, 0X10);
set_name (0X20000170, "calculated_hash");
create_byte (0X20000180);
make_array (0X20000180, 0X10);
set_name (0X20000180, "expected_hash");
create_dword (0X20000190);
set_name (0X20000190, "burn_program");
create_dword (0X20000194);
set_name (0X20000194, "offset");
create_dword (0X20000198);
set_name (0X20000198, "size");
create_byte (0X2000019C);
create_byte (0X2000019D);
set_name (0X2000019D, "keycheck_done");
create_dword (0X200001B0);
set_name (0X200001B0, "receive_length");
create_dword (0X200001B4);
set_name (0X200001B4, "usbd_cdc_altset");
MakeStruct (0X200001B8, "usbd_int_cb_struct");
set_name (0X200001B8, "usbd_int_fops");
create_dword (0X200001BC);
create_dword (0X200001C0);
set_name (0X200001C0, "special_firmware_entry_point");
create_byte (0X200001C4);
make_array (0X200001C4, 0X40);
set_name (0X200001C4, "send_buffer");
create_byte (0X20000204);
make_array (0X20000204, 0X40);
set_name (0X20000204, "receive_buffer");
create_byte (0X20000244);
make_array (0X20000244, 0X7);
set_name (0X20000244, "usb_cmd_buffer");
create_byte (0X20000800);
make_array (0X20000800, 0X200);
MakeStruct (0X40000000, "TIMER");
set_name (0X40000000, "TIMER1");
MakeStruct (0X40000400, "TIMER");
set_name (0X40000400, "TIMER2");
MakeStruct (0X40001000, "TIMER");
set_name (0X40001000, "TIMER5");
MakeStruct (0X40002000, "TIMER");
set_name (0X40002000, "TIMER13");
create_dword (0X40007000);
set_name (0X40007000, "PMU_CTL");
create_dword (0X40007004);
set_name (0X40007004, "PMU_CS");
MakeStruct (0X40012C00, "TIMER");
set_name (0X40012C00, "TIMER0");
create_dword (0X40013000);
set_name (0X40013000, "CTL0");
create_dword (0X40013004);
set_name (0X40013004, "CTL1");
create_dword (0X40013008);
set_name (0X40013008, "STAT");
create_dword (0X4001300C);
set_name (0X4001300C, "DATA");
create_dword (0X40013010);
set_name (0X40013010, "CRCPOLY");
create_dword (0X40013014);
set_name (0X40013014, "RCRC");
create_dword (0X40013018);
set_name (0X40013018, "TCRC");
create_dword (0X4001301C);
set_name (0X4001301C, "I2SCTL");
create_dword (0X40013020);
set_name (0X40013020, "I2SPSC");
create_byte (0X40013080);
set_name (0X40013080, "QCTL");
MakeStruct (0X40014000, "TIMER");
set_name (0X40014000, "TIMER14");
MakeStruct (0X40014400, "TIMER");
set_name (0X40014400, "TIMER15");
MakeStruct (0X40014800, "TIMER");
set_name (0X40014800, "TIMER16");
create_dword (0X40021000);
create_dword (0X40021004);
set_name (0X40021004, "RCU_CFG0");
set_name (0X40021030, "RCU_CFG2");
create_dword (0X40022000);
set_name (0X40022000, "FMC_WS");
create_dword (0X40022004);
set_name (0X40022004, "FMC_KEY");
create_dword (0X40022008);
set_name (0X40022008, "FMC_OBKEY");
create_dword (0X4002200C);
set_name (0X4002200C, "FMC_STAT");
create_dword (0X40022010);
set_name (0X40022010, "FMC_CTL");
create_dword (0X40022014);
set_name (0X40022014, "FMC_ADDR");
create_dword (0X40022018);
create_dword (0X4002201C);
set_name (0X4002201C, "FMC_OBSTAT");
create_dword (0X40022020);
set_name (0X40022020, "FMC_WP");
create_dword (0X400220FC);
set_name (0X400220FC, "FMC_WSEN");
create_dword (0X40022100);
set_name (0X40022100, "FMC_PID");
MakeStruct (0X48000000, "GPIO");
set_name (0X48000000, "GPIOA");
MakeStruct (0X48000400, "GPIO");
set_name (0X48000400, "GPIOB");
MakeStruct (0X50000000, "usb_gr");
set_name (0X50000000, "USB_GR");
MakeStruct (0X50000400, "usb_hr");
set_name (0X50000400, "USB_HR");
MakeStruct (0X50000500, "usb_pr");
set_name (0X50000500, "USB_PR");
MakeStruct (0X50000800, "usb_dr");
set_name (0X50000800, "USB_DR");
MakeStruct (0X50000900, "usb_erin");
make_array (0X50000900, 0X10);
set_name (0X50000900, "USB_ERIN");
MakeStruct (0X50000B00, "usb_erout");
make_array (0X50000B00, 0X10);
set_name (0X50000B00, "USB_EROUT");
create_dword (0X50000E00);
set_name (0X50000E00, "USB_PWRCLKCTL");
create_word (0X50001000);
MakeStruct (0XE000E010, "SysTick_Type");
set_name (0XE000E010, "SysTick");
MakeStruct (0XE000ED00, "SCB_Type");
set_name (0XE000ED00, "SCB");
}
static Functions_0(void) {
add_func (0X800016C,0X8000178);
set_func_flags(0X800016C,0x1400);
add_func (0X8000178,0X800019E);
set_func_flags(0X8000178,0x1400);
add_func (0X80001A2,0X80001B0);
set_func_flags(0X80001A2,0x1400);
add_func (0X80001B0,0X80001B8);
set_func_flags(0X80001B0,0x1400);
add_func (0X80001E0,0X8000214);
set_func_flags(0X80001E0,0x1400);
SetType(0X80001E0, "void __fastcall transfer_spi0_24(unsigned __int16 cmd_and_datalen, unsigned int data);");
set_frame_size(0X80001E0, 0X10, 0, 0);
add_func (0X8000214,0X800021E);
set_func_flags(0X8000214,0x1400);
add_func (0X800021E,0X8000254);
set_func_flags(0X800021E,0x1400);
SetType(0X800021E, "int __fastcall transfer_spi0_26(unsigned __int16 cmd_and_datalen);");
set_frame_size(0X800021E, 0X10, 0, 0);
add_func (0X8000254,0X800027E);
set_func_flags(0X8000254,0x1400);
SetType(0X8000254, "void __fastcall transfer_spi0_ba(_BYTE *data, int datalen);");
set_frame_size(0X8000254, 0X10, 0, 0);
add_func (0X800027E,0X80002A6);
set_func_flags(0X800027E,0x1400);
SetType(0X800027E, "void __fastcall transfer_spi0_bc(unsigned __int8 *data, int datalen);");
set_frame_size(0X800027E, 0X10, 0, 0);
add_func (0X80002A6,0X80002B0);
set_func_flags(0X80002A6,0x1400);
add_func (0X80002B0,0X80002C6);
set_func_flags(0X80002B0,0x1400);
SetType(0X80002B0, "void __fastcall transfer_spi0_24_5_1byte_then_ba(unsigned int a1, _BYTE *data, int datalen);");
set_frame_size(0X80002B0, 0X10, 0, 0);
add_func (0X80002C6,0X80002DC);
set_func_flags(0X80002C6,0x1400);
SetType(0X80002C6, "void __fastcall transfer_spi0_24_5_1byte_then_bc(unsigned int a1, unsigned __int8 *data, int datalen);");
set_frame_size(0X80002C6, 0X10, 0, 0);
add_func (0X80002DC,0X80002E4);
set_func_flags(0X80002DC,0x1400);
add_func (0X80002E4,0X80007FA);
set_func_flags(0X80002E4,0x1400);
SetType(0X80002E4, "void __fastcall usbd_isr(usb_core_handle_struct *pudev);");
set_frame_size(0X80002E4, 0X48, 0, 0);
define_local_var(0X80002E4, 0X80007FA, "[bp-0X34]", "endp_intr");
define_local_var(0X80002E4, 0X80007FA, "[bp-0X30]", "in_endp_intr");
add_func (0X800080C,0X800081A);
set_func_flags(0X800080C,0x1400);
SetType(0X800080C, "void __fastcall nvic_priority_group_set(int nvic_prigroup);");
add_func (0X8000820,0X800089C);
set_func_flags(0X8000820,0x1400);
set_frame_size(0X8000820, 0XC, 0, 0);
add_func (0X80008A8,0X80008B2);
set_func_flags(0X80008A8,0x1400);
SetType(0X80008A8, "unsigned __int8 *__fastcall usb_dev_desc_get(usb_core_handle_struct *a1, int a2, _WORD *a3);");
add_func (0X80008B2,0X80008BC);
set_func_flags(0X80008B2,0x1400);
SetType(0X80008B2, "int __fastcall usb_config_desc_get(usb_core_handle_struct *a1, int a2, _WORD *a3);");
add_func (0X80008BC,0X80008CA);
set_func_flags(0X80008BC,0x1400);
SetType(0X80008BC, "unsigned __int8 *__fastcall usb_str_desc_get(usb_core_handle_struct *a1, int a2, _WORD *a3);");
add_func (0X80008CA,0X80008CC);
set_func_flags(0X80008CA,0x1440);
add_func (0X80008CC,0X80008D2);
set_func_flags(0X80008CC,0x1400);
SetType(0X80008CC, "int __fastcall usbd_getinterface(usb_core_handle_struct *a1);");
add_func (0X80008D2,0X80008D6);
set_func_flags(0X80008D2,0x14c0);
SetType(0X80008D2, "int __fastcall usbd_setinterface(usb_core_handle_struct *a1);");
add_func (0X80008D6,0X80008D8);
set_func_flags(0X80008D6,0x1440);
add_func (0X80008D8,0X80008F4);
set_func_flags(0X80008D8,0x1400);
set_frame_size(0X80008D8, 0X8, 0, 0);
add_func (0X80008F4,0X800097A);
set_func_flags(0X80008F4,0x1400);
SetType(0X80008F4, "void __fastcall usbd_clrfeature(usb_core_handle_struct *udev, usb_device_req_struct *req);");
set_frame_size(0X80008F4, 0X10, 0, 0);
add_func (0X800097A,0X80009BA);
set_func_flags(0X800097A,0x1400);
SetType(0X800097A, "void __fastcall usbd_setfeature(usb_core_handle_struct *udev, usb_device_req_struct *req);");
set_frame_size(0X800097A, 0X8, 0, 0);
add_func (0X80009BC,0X80009F8);
set_func_flags(0X80009BC,0x1400);
SetType(0X80009BC, "void __fastcall usbd_setaddress(usb_core_handle_struct *udev, usb_device_req_struct *req);");
set_frame_size(0X80009BC, 0X10, 0, 0);
add_func (0X80009FC,0X8000A70);
set_func_flags(0X80009FC,0x1400);
SetType(0X80009FC, "void __fastcall usbd_getdescriptor(usb_core_handle_struct *udev, usb_device_req_struct *req);");
set_frame_size(0X80009FC, 0X18, 0, 0);
define_local_var(0X80009FC, 0X8000A70, "[bp-0X12]", "remain_len");
add_func (0X8000A74,0X8000AA2);
set_func_flags(0X8000A74,0x1400);
SetType(0X8000A74, "void __fastcall usbd_getconfig(usb_core_handle_struct *a1, usb_device_req_struct *req);");
set_frame_size(0X8000A74, 0X10, 0, 0);
add_func (0X8000AA4,0X8000B08);
set_func_flags(0X8000AA4,0x1400);
SetType(0X8000AA4, "void __fastcall usbd_setconfig(usb_core_handle_struct *udev, usb_device_req_struct *req);");
set_frame_size(0X8000AA4, 0X10, 0, 0);
add_func (0X8000B0C,0X8000B0E);
set_func_flags(0X8000B0C,0x1440);
add_func (0X8000B0E,0X8000B10);
set_func_flags(0X8000B0E,0x1440);
add_func (0X8000B10,0X8000BB0);
set_func_flags(0X8000B10,0x1400);
SetType(0X8000B10, "int __fastcall usbd_setup_transaction(usb_core_handle_struct *a1);");
set_frame_size(0X8000B10, 0X18, 0, 0);
add_func (0X8000BB4,0X8000C0A);
set_func_flags(0X8000BB4,0x1400);
SetType(0X8000BB4, "int __fastcall usbd_out_transaction(usb_core_handle_struct *udev, int ep_num);");
set_frame_size(0X8000BB4, 0X10, 0, 0);
add_func (0X8000C0A,0X8000C88);
set_func_flags(0X8000C0A,0x1400);
SetType(0X8000C0A, "int __fastcall usbd_in_transaction(usb_core_handle_struct *a1, int a2);");
set_frame_size(0X8000C0A, 0X10, 0, 0);
add_func (0X8000C88,0X8000CA4);
set_func_flags(0X8000C88,0x1400);
set_frame_size(0X8000C88, 0X8, 0, 0);
add_func (0X8000CA4,0X8000CA8);
set_func_flags(0X8000CA4,0x1400);
SetType(0X8000CA4, "int __fastcall read32(void *a1);");
add_func (0X8000CA8,0X8000D42);
set_func_flags(0X8000CA8,0x1400);
SetType(0X8000CA8, "int __fastcall check_firmware_header(fw_update_header *buffer, int a2);");
set_frame_size(0X8000CA8, 0X18, 0, 0);
add_func (0X8000D74,0X8000EA4);
set_func_flags(0X8000D74,0x1400);
SetType(0X8000D74, "int __fastcall decrypt_n_flash_firmware(unsigned __int8 *buffer);");
set_frame_size(0X8000D74, 0X30, 0, 0);
define_local_var(0X8000D74, 0X8000EA4, "[bp-0X30]", "key_buffer");
add_func (0X8000EE8,0X8000EEE);
set_func_flags(0X8000EE8,0x1400);
add_func (0X8000EF4,0X8000EFA);
set_func_flags(0X8000EF4,0x1400);
add_func (0X8000F00,0X8000FAC);
set_func_flags(0X8000F00,0x1401);
set_frame_size(0X8000F00, 0X20, 0, 0);
add_func (0X8000FD8,0X8001174);
set_func_flags(0X8000FD8,0x1400);
set_frame_size(0X8000FD8, 0X38, 0, 0);
define_local_var(0X8000FD8, 0X8001174, "[bp-0X38]", "ocpara");
define_local_var(0X8000FD8, 0X8001174, "[bp-0X28]", "initpara");
add_func (0X8001184,0X8001190);
set_func_flags(0X8001184,0x1400);
add_func (0X8001194,0X80011A0);
set_func_flags(0X8001194,0x1400);
add_func (0X80011A4,0X80011B0);
set_func_flags(0X80011A4,0x1400);
add_func (0X80011B4,0X80011D2);
set_func_flags(0X80011B4,0x1400);
set_frame_size(0X80011B4, 0X8, 0, 0);
add_func (0X80011D4,0X80011FC);
set_func_flags(0X80011D4,0x1400);
SetType(0X80011D4, "void __fastcall SysTick_Delay(unsigned __int64 a1);");
set_frame_size(0X80011D4, 0XC, 0, 0);
add_func (0X8001200,0X800120A);
set_func_flags(0X8001200,0x1400);
add_func (0X8001210,0X800121A);
set_func_flags(0X8001210,0x1400);
add_func (0X800121C,0X8001268);
set_func_flags(0X800121C,0x1401);
set_frame_size(0X800121C, 0X8, 0, 0);
add_func (0X8001278,0X8001298);
set_func_flags(0X8001278,0x1400);
set_frame_size(0X8001278, 0X8, 0, 0);
add_func (0X80012A0,0X80012D0);
set_func_flags(0X80012A0,0x1400);
SetType(0X80012A0, "unsigned int __fastcall burn_flash(void *dest, int src, unsigned int len);");
set_frame_size(0X80012A0, 0X18, 0, 0);
add_func (0X80012D8,0X8001304);
set_func_flags(0X80012D8,0x1400);
SetType(0X80012D8, "unsigned int __fastcall update_ob_protection(unsigned __int8 ob_spc);");
set_frame_size(0X80012D8, 0X8, 0, 0);
add_func (0X800130C,0X8001310);
set_func_flags(0X800130C,0x1400);
SetType(0X800130C, "int __fastcall read32_0(void *a1);");
add_func (0X8001310,0X800131A);
set_func_flags(0X8001310,0x1400);
add_func (0X8001320,0X800153A);
set_func_flags(0X8001320,0x1400);
set_frame_size(0X8001320, 0X10, 0, 0);
add_func (0X80015AC,0X8001612);
set_func_flags(0X80015AC,0x1401);
set_frame_size(0X80015AC, 0X30, 0, 0);
add_func (0X8001630,0X8001662);
set_func_flags(0X8001630,0x1400);
SetType(0X8001630, "int __fastcall usb_fifo_write(int *src, int chep_num, int len);");
add_func (0X8001664,0X80016A0);
set_func_flags(0X8001664,0x1400);
set_frame_size(0X8001664, 0X8, 0, 0);
add_func (0X80016A4,0X80016C8);
set_func_flags(0X80016A4,0x1400);
SetType(0X80016A4, "int __fastcall usb_core_select(usb_core_handle_struct *a1, int core_id);");
add_func (0X80016C8,0X8001722);
set_func_flags(0X80016C8,0x1400);
SetType(0X80016C8, "int __fastcall usb_core_init(usb_core_handle_struct *a1);");
set_frame_size(0X80016C8, 0X8, 0, 0);
add_func (0X8001734,0X8001762);
set_func_flags(0X8001734,0x1400);
SetType(0X8001734, "int __fastcall usb_txfifo_flush(usb_core_handle_struct *a1, int a2);");
set_frame_size(0X8001734, 0X8, 0, 0);
add_func (0X800176C,0X800178E);
set_func_flags(0X800176C,0x1400);
SetType(0X800176C, "int __fastcall usb_rxfifo_flush(usb_core_handle_struct *a1);");
set_frame_size(0X800176C, 0X8, 0, 0);
add_func (0X8001798,0X80017D4);
set_func_flags(0X8001798,0x1400);
SetType(0X8001798, "int __fastcall usb_mode_set(usb_core_handle_struct *pudev, int mode);");
set_frame_size(0X8001798, 0X8, 0, 0);
add_func (0X80017D8,0X8001912);
set_func_flags(0X80017D8,0x1400);
SetType(0X80017D8, "int __fastcall usb_devcore_init(usb_core_handle_struct *pudev);");
set_frame_size(0X80017D8, 0X20, 0, 0);
define_local_var(0X80017D8, 0X8001912, "[bp-0X1C]", "devinepintf");
add_func (0X800194C,0X800198C);
set_func_flags(0X800194C,0x1400);
set_frame_size(0X800194C, 0X8, 0, 0);
add_func (0X8001990,0X80019D4);
set_func_flags(0X8001990,0x1400);
SetType(0X8001990, "void __fastcall gpio_mode_set(GPIO *gpio_periph, int mode, int pull_up_down, int pin);");
set_frame_size(0X8001990, 0X1C, 0, 0);
add_func (0X80019D4,0X8001A42);
set_func_flags(0X80019D4,0x1400);
SetType(0X80019D4, "void __fastcall gpio_output_options_set(GPIO *gpio_periph, int otype, int speed, int pin);");
set_frame_size(0X80019D4, 0X14, 0, 0);
add_func (0X8001A4A,0X8001A56);
set_func_flags(0X8001A4A,0x1400);
SetType(0X8001A4A, "BOOL __fastcall gpio_input_bit_get(GPIO *a1, int a2);");
add_func (0X8001A56,0X8001AB2);
set_func_flags(0X8001A56,0x1400);
SetType(0X8001A56, "void __fastcall gpio_af_set(GPIO *result, int alt_func_num, int pin);");
set_frame_size(0X8001A56, 0X14, 0, 0);
add_func (0X8001AB2,0X8001ACE);
set_func_flags(0X8001AB2,0x1400);
SetType(0X8001AB2, "void __fastcall rcu_periph_clock_enable(unsigned int a1);");
add_func (0X8001ACE,0X8001AEC);
set_func_flags(0X8001ACE,0x1400);
add_func (0X8001AEC,0X8001AF0);
set_func_flags(0X8001AEC,0x14c0);
SetType(0X8001AEC, "void __fastcall rcu_periph_reset_enable(unsigned int a1);");
add_func (0X8001AF0,0X8001AF4);
set_func_flags(0X8001AF0,0x14c0);
add_func (0X8001AF4,0X8001B20);
set_func_flags(0X8001AF4,0x1400);
SetType(0X8001AF4, "void __fastcall rcu_usbfs_clock_config(int ck_usbfs);");
set_frame_size(0X8001AF4, 0X8, 0, 0);
add_func (0X8001B28,0X8001B58);
set_func_flags(0X8001B28,0x1400);
set_frame_size(0X8001B28, 0X8, 0, 0);
add_func (0X8001B5C,0X8001B62);
set_func_flags(0X8001B5C,0x1400);
add_func (0X8001B68,0X8001B6A);
set_func_flags(0X8001B68,0x1440);
add_func (0X8001B6C,0X8001B88);
set_func_flags(0X8001B6C,0x1400);
SetType(0X8001B6C, "int __cdecl receive_data();");
set_frame_size(0X8001B6C, 0X10, 0, 0);
add_func (0X8001B94,0X8001BAC);
set_func_flags(0X8001B94,0x1400);
SetType(0X8001B94, "void __fastcall send_data(int len);");
set_frame_size(0X8001B94, 0X8, 0, 0);
add_func (0X8001BB4,0X8001BCA);
set_func_flags(0X8001BB4,0x1400);
SetType(0X8001BB4, "void __fastcall send32(int a1);");
add_func (0X8001BD0,0X8001BDA);
set_func_flags(0X8001BD0,0x1400);
add_func (0X8001BE0,0X8001CC6);
set_func_flags(0X8001BE0,0x1400);
SetType(0X8001BE0, "void __cdecl hw_init();");
set_frame_size(0X8001BE0, 0X8, 0, 0);
add_func (0X8001CE0,0X8001D5C);
set_func_flags(0X8001CE0,0x1400);
set_frame_size(0X8001CE0, 0X10, 0, 0);
add_func (0X8001D80,0X8001DA6);
set_func_flags(0X8001D80,0x1400);
SetType(0X8001D80, "int __fastcall pmu_to_standbymode(int standbymodecmd);");
add_func (0X8001DB0,0X8001DFE);
set_func_flags(0X8001DB0,0x1400);
SetType(0X8001DB0, "__int64 *__fastcall tea_decrypt(__int64 *buffer, __int64 *key);");
set_frame_size(0X8001DB0, 0X18, 0, 0);
add_func (0X8001E08,0X8001E22);
set_func_flags(0X8001E08,0x1400);
SetType(0X8001E08, "_DWORD *__fastcall generate_key(_DWORD *seed, _DWORD *output, int offset);");
add_func (0X8001E24,0X8001E9C);
set_func_flags(0X8001E24,0x1400);
SetType(0X8001E24, "unsigned int __fastcall tea_hash(_DWORD *in, _DWORD *key, int *out);");
set_frame_size(0X8001E24, 0X14, 0, 0);
add_func (0X8001EA0,0X8001EBE);
set_func_flags(0X8001EA0,0x1400);
SetType(0X8001EA0, "int __fastcall memcmp(unsigned __int8 *ptr1, unsigned __int8 *ptr2, int num);");
set_frame_size(0X8001EA0, 0X10, 0, 0);
add_func (0X8001EC0,0X8001EE6);
set_func_flags(0X8001EC0,0x1400);
set_frame_size(0X8001EC0, 0X10, 0, 0);
add_func (0X8001EEC,0X8001F0A);
set_func_flags(0X8001EEC,0x1400);
set_frame_size(0X8001EEC, 0X8, 0, 0);
add_func (0X8001F0C,0X8001F92);
set_func_flags(0X8001F0C,0x1400);
SetType(0X8001F0C, "int __fastcall req_handler(usb_core_handle_struct *udev, usb_device_req_struct *req);");
set_frame_size(0X8001F0C, 0X8, 0, 0);
add_func (0X8001FAC,0X8001FBC);
set_func_flags(0X8001FAC,0x1400);
SetType(0X8001FAC, "int __fastcall cdc_acm_data_receive(usb_core_handle_struct *a1);");
add_func (0X8001FC4,0X8001FDA);
set_func_flags(0X8001FC4,0x1400);
SetType(0X8001FC4, "void __fastcall cdc_acm_data_send(usb_core_handle_struct *result, unsigned int len);");
add_func (0X8001FE4,0X8002006);
set_func_flags(0X8001FE4,0x1400);
set_frame_size(0X8001FE4, 0X8, 0, 0);
add_func (0X8002014,0X800204C);
set_func_flags(0X8002014,0x1400);
SetType(0X8002014, "int __fastcall data_handler(usb_core_handle_struct *pudev, int rx_tx, int ep_num);");
set_frame_size(0X8002014, 0X8, 0, 0);
add_func (0X8002058,0X80020B4);
set_func_flags(0X8002058,0x1400);
SetType(0X8002058, "void __fastcall usbd_init(usb_core_handle_struct *this, int core_id);");
set_frame_size(0X8002058, 0X10, 0, 0);
add_func (0X80020BC,0X8002144);
set_func_flags(0X80020BC,0x1400);
set_frame_size(0X80020BC, 0X14, 0, 0);
add_func (0X800214C,0X8002180);
set_func_flags(0X800214C,0x1400);
add_func (0X8002184,0X8002200);
set_func_flags(0X8002184,0x1400);
SetType(0X8002184, "int __fastcall usbd_ep_rx(usb_core_handle_struct *a1, char idx, void *a3, int len);");
set_frame_size(0X8002184, 0X10, 0, 0);
add_func (0X8002200,0X80022F0);
set_func_flags(0X8002200,0x1400);
SetType(0X8002200, "void __fastcall usbd_ep_tx(usb_core_handle_struct *a1, char idx, void *buffer, int len);");
set_frame_size(0X8002200, 0X10, 0, 0);
add_func (0X80022F8,0X8002310);
set_func_flags(0X80022F8,0x1400);
SetType(0X80022F8, "int __fastcall usbd_ctltx(usb_core_handle_struct *a1, void *a2, int a3);");
set_frame_size(0X80022F8, 0X8, 0, 0);
add_func (0X8002310,0X8002328);
set_func_flags(0X8002310,0x1400);
SetType(0X8002310, "int __fastcall usbd_ctlrx(usb_core_handle_struct *a1, void *a2, int a3);");
set_frame_size(0X8002310, 0X8, 0, 0);
add_func (0X8002328,0X8002344);
set_func_flags(0X8002328,0x1400);
set_frame_size(0X8002328, 0X8, 0, 0);
add_func (0X8002344,0X8002360);
set_func_flags(0X8002344,0x1400);
set_frame_size(0X8002344, 0X8, 0, 0);
add_func (0X8002360,0X80023A6);
set_func_flags(0X8002360,0x1400);
SetType(0X8002360, "void __fastcall usbd_ep_stall(usb_core_handle_struct *, int);");
set_frame_size(0X8002360, 0X8, 0, 0);
add_func (0X80023A6,0X8002406);
set_func_flags(0X80023A6,0x1400);
SetType(0X80023A6, "usb_core_handle_struct *__fastcall usb_transc_clrstall(usb_core_handle_struct *result, char a2);");
set_frame_size(0X80023A6, 0X8, 0, 0);
add_func (0X8002406,0X8002412);
set_func_flags(0X8002406,0x1400);
SetType(0X8002406, "int __fastcall usbd_rxcount_get(usb_core_handle_struct *a1, int a2);");
add_func (0X8002412,0X8002416);
set_func_flags(0X8002412,0x14c0);
add_func (0X8002416,0X800241A);
set_func_flags(0X8002416,0x14c0);
add_func (0X800241C,0X800249A);
set_func_flags(0X800241C,0x1400);
SetType(0X800241C, "void __cdecl setup_clocks();");
set_frame_size(0X800241C, 0X8, 0, 0);
add_func (0X80024A4,0X80024B8);
set_func_flags(0X80024A4,0x1401);
set_frame_size(0X80024A4, 0X8, 0, 0);
add_func (0X80024B8,0X80024C0);
set_func_flags(0X80024B8,0x1400);
add_func (0X80024C4,0X8002504);
set_func_flags(0X80024C4,0x1400);
SetType(0X80024C4, "int __fastcall do_firmware_init(bootloader_functions *a1, int a2);");
set_frame_size(0X80024C4, 0X18, 0, 0);
add_func (0X8002518,0X80025CE);
set_func_flags(0X8002518,0x1400);
SetType(0X8002518, "void __fastcall timer_deinit(TIMER *timer_periph);");
set_frame_size(0X8002518, 0X8, 0, 0);
add_func (0X80025DC,0X8002668);
set_func_flags(0X80025DC,0x1400);
SetType(0X80025DC, "void __fastcall timer_init(TIMER *result, timer_parameter_struct *a2);");
add_func (0X8002674,0X800267E);
set_func_flags(0X8002674,0x1400);
SetType(0X8002674, "void __fastcall timer_enable(TIMER *result);");
add_func (0X800267E,0X8002688);
set_func_flags(0X800267E,0x1400);
SetType(0X800267E, "void __fastcall timer_auto_reload_shadow_enable(TIMER *a1);");
add_func (0X8002688,0X800269A);
set_func_flags(0X8002688,0x1400);
SetType(0X8002688, "void __fastcall timer_primary_output_config(TIMER *timer_periph, int newvalue);");
add_func (0X800269C,0X800288A);
set_func_flags(0X800269C,0x1400);
SetType(0X800269C, "void __fastcall timer_channel_output_config(TIMER *timer_periph, int channel, timer_oc_parameter_struct *ocpara);");
add_func (0X8002898,0X80028E4);
set_func_flags(0X8002898,0x1400);
SetType(0X8002898, "void __fastcall timer_channel_output_mode_config(TIMER *timer_periph, int channel, int ocmode);");
add_func (0X80028E4,0X8002900);
set_func_flags(0X80028E4,0x1400);
SetType(0X80028E4, "void __fastcall timer_channel_output_pulse_value_config(TIMER *timer_periph, int channel, int pulse);");
add_func (0X8002900,0X800294C);
set_func_flags(0X8002900,0x1400);
SetType(0X8002900, "void __fastcall timer_channel_output_shadow_config(TIMER *timer_periph, int channel, int ocshadow);");
add_func (0X800294C,0X8002956);
set_func_flags(0X800294C,0x1400);
SetType(0X800294C, "void __cdecl gpioa_clear_pin4();");
add_func (0X8002958,0X800296A);
set_func_flags(0X8002958,0x1400);
SetType(0X8002958, "void __cdecl gpioa_set_pin4();");
add_func (0X8002970,0X8002990);
set_func_flags(0X8002970,0x1400);
add_func (0X8002998,0X80029A2);
set_func_flags(0X8002998,0x1400);
SetType(0X8002998, "void __cdecl gpiob_clear_pin10();");
add_func (0X80029A8,0X80029BE);
set_func_flags(0X80029A8,0x1400);
add_func (0X80029CC,0X80029D8);
set_func_flags(0X80029CC,0x1400);
add_func (0X80029DC,0X80029F2);
set_func_flags(0X80029DC,0x1400);
add_func (0X8002A00,0X8002A0C);
set_func_flags(0X8002A00,0x1400);
add_func (0X8002A10,0X8002A34);
set_func_flags(0X8002A10,0x1400);
add_func (0X8002A38,0X8002A50);
set_func_flags(0X8002A38,0x1400);
SetType(0X8002A38, "int __fastcall fmc_ready_wait(int timeout);");
set_frame_size(0X8002A38, 0X8, 0, 0);
add_func (0X8002A50,0X8002A86);
set_func_flags(0X8002A50,0x1400);
set_frame_size(0X8002A50, 0X10, 0, 0);
add_func (0X8002A90,0X8002ABE);
set_func_flags(0X8002A90,0x1400);
set_frame_size(0X8002A90, 0X10, 0, 0);
add_func (0X8002AC4,0X8002B32);
set_func_flags(0X8002AC4,0x1400);
set_frame_size(0X8002AC4, 0X10, 0, 0);
add_func (0X8002B40,0X8002B66);
set_func_flags(0X8002B40,0x1400);
SetType(0X8002B40, "void __fastcall ob_parm_get(ob_parm_struct *result);");
add_func (0X8002B80,0X8002C02);
set_func_flags(0X8002B80,0x1400);
SetType(0X8002B80, "int __fastcall ob_value_modify(int address, unsigned int value, ob_parm_struct *a3);");
set_frame_size(0X8002B80, 0X14, 0, 0);
add_func (0X8002C14,0X8002C9A);
set_func_flags(0X8002C14,0x1400);
SetType(0X8002C14, "int __fastcall ob_security_protection_config(int ob_spc);");
set_frame_size(0X8002C14, 0X18, 0, 0);
define_local_var(0X8002C14, 0X8002C9A, "[bp-0X18]", "ob_parm");
add_func (0X8002CA8,0X8002D58);
set_func_flags(0X8002CA8,0x1400);
SetType(0X8002CA8, "void __fastcall memset(unsigned __int8 *result, unsigned __int8 a2, unsigned int len);");
set_frame_size(0X8002CA8, 0X14, 0, 0);
}
//------------------------------------------------------------------------
// Information about functions
static Functions(void) {
Functions_0();
}
//------------------------------------------------------------------------
// Information about segment registers
static SegRegs(void) {
split_sreg_range(0X8000000,"T",0X1,2);
split_sreg_range(0X8000178,"T",0X1,3);
split_sreg_range(0X800017E,"T",0X1,3);
split_sreg_range(0X8000188,"T",0X1,3);
split_sreg_range(0X800018E,"T",0X1,3);
split_sreg_range(0X8000198,"T",0X1,3);
split_sreg_range(0X80001A2,"T",0X1,3);
split_sreg_range(0X80001B0,"T",0X1,3);
split_sreg_range(0X80001E0,"T",0X1,3);
split_sreg_range(0X80001FC,"T",0X1,3);
split_sreg_range(0X8000208,"T",0X1,3);
split_sreg_range(0X8000214,"T",0X1,3);
split_sreg_range(0X800021E,"T",0X1,3);
split_sreg_range(0X800023A,"T",0X1,3);
split_sreg_range(0X8000246,"T",0X1,3);
split_sreg_range(0X8000254,"T",0X1,3);
split_sreg_range(0X8000266,"T",0X1,3);
split_sreg_range(0X8000272,"T",0X1,3);
split_sreg_range(0X800027E,"T",0X1,3);
split_sreg_range(0X8000290,"T",0X1,3);
split_sreg_range(0X800029C,"T",0X1,3);
split_sreg_range(0X80002A6,"T",0X1,3);
split_sreg_range(0X80002B0,"T",0X1,3);
split_sreg_range(0X80002C6,"T",0X1,3);
split_sreg_range(0X80002DC,"T",0X1,3);
split_sreg_range(0X80002E4,"T",0X1,3);
split_sreg_range(0X8000326,"T",0X1,3);
split_sreg_range(0X8000332,"T",0X1,3);
split_sreg_range(0X800034E,"T",0X1,3);
split_sreg_range(0X800035C,"T",0X1,3);
split_sreg_range(0X800037E,"T",0X1,3);
split_sreg_range(0X80003CC,"T",0X1,3);
split_sreg_range(0X80003D6,"T",0X1,3);
split_sreg_range(0X80003E8,"T",0X1,3);
split_sreg_range(0X80003F8,"T",0X1,3);
split_sreg_range(0X8000400,"T",0X1,3);
split_sreg_range(0X8000444,"T",0X1,3);
split_sreg_range(0X8000456,"T",0X1,3);
split_sreg_range(0X8000462,"T",0X1,3);
split_sreg_range(0X800047A,"T",0X1,3);
split_sreg_range(0X800050E,"T",0X1,3);
split_sreg_range(0X8000544,"T",0X1,3);
split_sreg_range(0X8000554,"T",0X1,3);
split_sreg_range(0X80005D8,"T",0X1,3);
split_sreg_range(0X80005F0,"T",0X1,3);
split_sreg_range(0X80005FC,"T",0X1,3);
split_sreg_range(0X8000618,"T",0X1,3);
split_sreg_range(0X800061E,"T",0X1,3);
split_sreg_range(0X8000646,"T",0X1,3);
split_sreg_range(0X8000662,"T",0X1,3);
split_sreg_range(0X800066C,"T",0X1,3);
split_sreg_range(0X8000674,"T",0X1,3);
split_sreg_range(0X80006BC,"T",0X1,3);
split_sreg_range(0X8000706,"T",0X1,3);
split_sreg_range(0X800071E,"T",0X1,3);
split_sreg_range(0X8000724,"T",0X1,3);
split_sreg_range(0X8000730,"T",0X1,3);
split_sreg_range(0X8000774,"T",0X1,3);
split_sreg_range(0X80007A0,"T",0X1,3);
split_sreg_range(0X80007C6,"T",0X1,3);
split_sreg_range(0X80007DA,"T",0X1,3);
split_sreg_range(0X80007F2,"T",0X1,3);
split_sreg_range(0X80007F6,"T",0X1,3);
split_sreg_range(0X800080C,"T",0X1,3);
split_sreg_range(0X8000820,"T",0X1,3);
split_sreg_range(0X800083E,"T",0X1,3);
split_sreg_range(0X8000842,"T",0X1,3);
split_sreg_range(0X8000846,"T",0X1,3);
split_sreg_range(0X8000878,"T",0X1,3);
split_sreg_range(0X800088A,"T",0X1,3);
split_sreg_range(0X8000890,"T",0X1,3);
split_sreg_range(0X8000896,"T",0X1,3);
split_sreg_range(0X80008CC,"T",0X1,3);
split_sreg_range(0X80008D8,"T",0X1,3);
split_sreg_range(0X800091E,"T",0X1,3);
split_sreg_range(0X8000920,"T",0X1,3);
split_sreg_range(0X800092A,"T",0X1,3);
split_sreg_range(0X800092C,"T",0X1,3);
split_sreg_range(0X8000934,"T",0X1,3);
split_sreg_range(0X8000946,"T",0X1,3);
split_sreg_range(0X8000948,"T",0X1,3);
split_sreg_range(0X800096E,"T",0X1,3);
split_sreg_range(0X800099E,"T",0X1,3);
split_sreg_range(0X80009A6,"T",0X1,3);
split_sreg_range(0X80009B0,"T",0X1,3);
split_sreg_range(0X80009B2,"T",0X1,3);
split_sreg_range(0X80009CE,"T",0X1,3);
split_sreg_range(0X80009D8,"T",0X1,3);
split_sreg_range(0X80009F0,"T",0X1,3);
split_sreg_range(0X80009F4,"T",0X1,3);
split_sreg_range(0X8000A4E,"T",0X1,3);
split_sreg_range(0X8000A58,"T",0X1,3);
split_sreg_range(0X8000A5C,"T",0X1,3);
split_sreg_range(0X8000A64,"T",0X1,3);
split_sreg_range(0X8000A80,"T",0X1,3);
split_sreg_range(0X8000A86,"T",0X1,3);
split_sreg_range(0X8000A98,"T",0X1,3);
split_sreg_range(0X8000A9A,"T",0X1,3);
split_sreg_range(0X8000A9E,"T",0X1,3);
split_sreg_range(0X8000AB2,"T",0X1,3);
split_sreg_range(0X8000ABA,"T",0X1,3);
split_sreg_range(0X8000AD2,"T",0X1,3);
split_sreg_range(0X8000AD6,"T",0X1,3);
split_sreg_range(0X8000AE6,"T",0X1,3);
split_sreg_range(0X8000AF0,"T",0X1,3);
split_sreg_range(0X8000B0C,"T",0X1,3);
split_sreg_range(0X8000B0E,"T",0X1,3);
split_sreg_range(0X8000B10,"T",0X1,3);
split_sreg_range(0X8000B72,"T",0X1,3);
split_sreg_range(0X8000B78,"T",0X1,3);
split_sreg_range(0X8000BA0,"T",0X1,3);
split_sreg_range(0X8000BA6,"T",0X1,3);
split_sreg_range(0X8000BB4,"T",0X1,3);
split_sreg_range(0X8000BE2,"T",0X1,3);
split_sreg_range(0X8000BE6,"T",0X1,3);
split_sreg_range(0X8000BF2,"T",0X1,3);
split_sreg_range(0X8000BFA,"T",0X1,3);
split_sreg_range(0X8000C0A,"T",0X1,3);
split_sreg_range(0X8000C2A,"T",0X1,3);
split_sreg_range(0X8000C36,"T",0X1,3);
split_sreg_range(0X8000C3A,"T",0X1,3);
split_sreg_range(0X8000C5C,"T",0X1,3);
split_sreg_range(0X8000C6E,"T",0X1,3);
split_sreg_range(0X8000C76,"T",0X1,3);
split_sreg_range(0X8000C88,"T",0X1,3);
split_sreg_range(0X8000CA4,"T",0X1,3);
split_sreg_range(0X8000CA8,"T",0X1,3);
split_sreg_range(0X8000CEC,"T",0X1,3);
split_sreg_range(0X8000D20,"T",0X1,3);
split_sreg_range(0X8000D22,"T",0X1,3);
split_sreg_range(0X8000D24,"T",0X1,3);
split_sreg_range(0X8000D2E,"T",0X1,3);
split_sreg_range(0X8000D74,"T",0X1,3);
split_sreg_range(0X8000D98,"T",0X1,3);
split_sreg_range(0X8000DA0,"T",0X1,3);
split_sreg_range(0X8000DBC,"T",0X1,3);
split_sreg_range(0X8000DF8,"T",0X1,3);
split_sreg_range(0X8000E00,"T",0X1,3);
split_sreg_range(0X8000E30,"T",0X1,3);
split_sreg_range(0X8000E48,"T",0X1,3);
split_sreg_range(0X8000E4C,"T",0X1,3);
split_sreg_range(0X8000E66,"T",0X1,3);
split_sreg_range(0X8000E68,"T",0X1,3);
split_sreg_range(0X8000E6E,"T",0X1,3);
split_sreg_range(0X8000E86,"T",0X1,3);
split_sreg_range(0X8000E98,"T",0X1,3);
split_sreg_range(0X8000E9C,"T",0X1,3);
split_sreg_range(0X8000EA0,"T",0X1,3);
split_sreg_range(0X8000EE8,"T",0X1,3);
split_sreg_range(0X8000EF4,"T",0X1,3);
split_sreg_range(0X8000F10,"T",0X1,3);
split_sreg_range(0X8000F3C,"T",0X1,3);
split_sreg_range(0X8000F52,"T",0X1,3);
split_sreg_range(0X8000F60,"T",0X1,3);
split_sreg_range(0X8000F72,"T",0X1,3);
split_sreg_range(0X8000F84,"T",0X1,3);
split_sreg_range(0X8000F8C,"T",0X1,3);
split_sreg_range(0X8000F90,"T",0X1,3);
split_sreg_range(0X8000FA4,"T",0X1,3);
split_sreg_range(0X8000FD8,"T",0X1,3);
split_sreg_range(0X8001184,"T",0X1,3);
split_sreg_range(0X8001194,"T",0X1,3);
split_sreg_range(0X80011A4,"T",0X1,3);
split_sreg_range(0X80011B4,"T",0X1,3);
split_sreg_range(0X80011D4,"T",0X1,3);
split_sreg_range(0X80011DE,"T",0X1,3);
split_sreg_range(0X80011FA,"T",0X1,3);
split_sreg_range(0X800121C,"T",0X1,3);
split_sreg_range(0X8001252,"T",0X1,3);
split_sreg_range(0X8001258,"T",0X1,3);
split_sreg_range(0X8001278,"T",0X1,3);
split_sreg_range(0X80012A0,"T",0X1,3);
split_sreg_range(0X80012AE,"T",0X1,3);
split_sreg_range(0X80012B8,"T",0X1,3);
split_sreg_range(0X80012C0,"T",0X1,3);
split_sreg_range(0X80012CC,"T",0X1,3);
split_sreg_range(0X80012D8,"T",0X1,3);
split_sreg_range(0X80012F2,"T",0X1,3);
split_sreg_range(0X80012F4,"T",0X1,3);
split_sreg_range(0X8001300,"T",0X1,3);
split_sreg_range(0X800130C,"T",0X1,3);
split_sreg_range(0X8001310,"T",0X1,3);
split_sreg_range(0X8001320,"T",0X1,3);
split_sreg_range(0X8001344,"T",0X1,3);
split_sreg_range(0X800134A,"T",0X1,3);
split_sreg_range(0X80013A4,"T",0X1,3);
split_sreg_range(0X80013C4,"T",0X1,3);
split_sreg_range(0X80013C6,"T",0X1,3);
split_sreg_range(0X80013C8,"T",0X1,3);
split_sreg_range(0X80013CE,"T",0X1,3);
split_sreg_range(0X80013DA,"T",0X1,3);
split_sreg_range(0X80013E4,"T",0X1,3);
split_sreg_range(0X80013E8,"T",0X1,3);
split_sreg_range(0X8001400,"T",0X1,3);
split_sreg_range(0X800144C,"T",0X1,3);
split_sreg_range(0X800144E,"T",0X1,3);
split_sreg_range(0X8001452,"T",0X1,3);
split_sreg_range(0X8001454,"T",0X1,3);
split_sreg_range(0X800145C,"T",0X1,3);
split_sreg_range(0X800149A,"T",0X1,3);
split_sreg_range(0X80014A2,"T",0X1,3);
split_sreg_range(0X80014BC,"T",0X1,3);
split_sreg_range(0X80014EC,"T",0X1,3);
split_sreg_range(0X80014FA,"T",0X1,3);
split_sreg_range(0X8001508,"T",0X1,3);
split_sreg_range(0X8001522,"T",0X1,3);
split_sreg_range(0X80015AC,"T",0X1,3);
split_sreg_range(0X80015CC,"T",0X1,3);
split_sreg_range(0X80015E4,"T",0X1,3);
split_sreg_range(0X80015EA,"T",0X1,3);
split_sreg_range(0X80015EE,"T",0X1,3);
split_sreg_range(0X8001602,"T",0X1,3);
split_sreg_range(0X800160C,"T",0X1,3);
split_sreg_range(0X8001630,"T",0X1,3);
split_sreg_range(0X8001648,"T",0X1,3);
split_sreg_range(0X8001654,"T",0X1,3);
split_sreg_range(0X800165A,"T",0X1,3);
split_sreg_range(0X800165E,"T",0X1,3);
split_sreg_range(0X8001664,"T",0X1,3);
split_sreg_range(0X8001678,"T",0X1,3);
split_sreg_range(0X8001684,"T",0X1,3);
split_sreg_range(0X8001686,"T",0X1,3);
split_sreg_range(0X800168A,"T",0X1,3);
split_sreg_range(0X800168C,"T",0X1,3);
split_sreg_range(0X80016A4,"T",0X1,3);
split_sreg_range(0X80016C4,"T",0X1,3);
split_sreg_range(0X80016C8,"T",0X1,3);
split_sreg_range(0X80016D8,"T",0X1,3);
split_sreg_range(0X80016E2,"T",0X1,3);
split_sreg_range(0X80016EC,"T",0X1,3);
split_sreg_range(0X8001714,"T",0X1,3);
split_sreg_range(0X800171E,"T",0X1,3);
split_sreg_range(0X8001734,"T",0X1,3);
split_sreg_range(0X800174A,"T",0X1,3);
split_sreg_range(0X8001754,"T",0X1,3);
split_sreg_range(0X800175E,"T",0X1,3);
split_sreg_range(0X800176C,"T",0X1,3);
split_sreg_range(0X8001776,"T",0X1,3);
split_sreg_range(0X8001780,"T",0X1,3);
split_sreg_range(0X800178A,"T",0X1,3);
split_sreg_range(0X8001798,"T",0X1,3);
split_sreg_range(0X80017AE,"T",0X1,3);
split_sreg_range(0X80017B0,"T",0X1,3);
split_sreg_range(0X80017BA,"T",0X1,3);
split_sreg_range(0X80017BE,"T",0X1,3);
split_sreg_range(0X80017D8,"T",0X1,3);
split_sreg_range(0X8001848,"T",0X1,3);
split_sreg_range(0X8001874,"T",0X1,3);
split_sreg_range(0X800189A,"T",0X1,3);
split_sreg_range(0X80018CE,"T",0X1,3);
split_sreg_range(0X800194C,"T",0X1,3);
split_sreg_range(0X8001990,"T",0X1,3);
split_sreg_range(0X80019A2,"T",0X1,3);
split_sreg_range(0X80019C6,"T",0X1,3);
split_sreg_range(0X80019D4,"T",0X1,3);
split_sreg_range(0X80019F6,"T",0X1,3);
split_sreg_range(0X8001A16,"T",0X1,3);
split_sreg_range(0X8001A18,"T",0X1,3);
split_sreg_range(0X8001A20,"T",0X1,3);
split_sreg_range(0X8001A38,"T",0X1,3);
split_sreg_range(0X8001A42,"T",0X1,3);
split_sreg_range(0X8001A46,"T",0X1,3);
split_sreg_range(0X8001A4A,"T",0X1,3);
split_sreg_range(0X8001A56,"T",0X1,3);
split_sreg_range(0X8001A66,"T",0X1,3);
split_sreg_range(0X8001A7E,"T",0X1,3);
split_sreg_range(0X8001A8C,"T",0X1,3);
split_sreg_range(0X8001AA6,"T",0X1,3);
split_sreg_range(0X8001AB2,"T",0X1,3);
split_sreg_range(0X8001ACE,"T",0X1,3);
split_sreg_range(0X8001AEC,"T",0X1,3);
split_sreg_range(0X8001AF0,"T",0X1,3);
split_sreg_range(0X8001AF4,"T",0X1,3);
split_sreg_range(0X8001B28,"T",0X1,3);
split_sreg_range(0X8001B5C,"T",0X1,3);
split_sreg_range(0X8001B68,"T",0X1,3);
split_sreg_range(0X8001B6C,"T",0X1,3);
split_sreg_range(0X8001B7E,"T",0X1,3);
split_sreg_range(0X8001B94,"T",0X1,3);
split_sreg_range(0X8001BA4,"T",0X1,3);
split_sreg_range(0X8001BB4,"T",0X1,3);
split_sreg_range(0X8001BD0,"T",0X1,3);
split_sreg_range(0X8001BD2,"T",0X1,3);
split_sreg_range(0X8001BE0,"T",0X1,3);
split_sreg_range(0X8001BEC,"T",0X1,3);
split_sreg_range(0X8001CA8,"T",0X1,3);
split_sreg_range(0X8001CBE,"T",0X1,3);
split_sreg_range(0X8001CE0,"T",0X1,3);
split_sreg_range(0X8001D36,"T",0X1,3);
split_sreg_range(0X8001D54,"T",0X1,3);
split_sreg_range(0X8001D80,"T",0X1,3);
split_sreg_range(0X8001DA2,"T",0X1,3);
split_sreg_range(0X8001DB0,"T",0X1,3);
split_sreg_range(0X8001DC4,"T",0X1,3);
split_sreg_range(0X8001E08,"T",0X1,3);
split_sreg_range(0X8001E24,"T",0X1,3);
split_sreg_range(0X8001EA0,"T",0X1,3);
split_sreg_range(0X8001EA8,"T",0X1,3);
split_sreg_range(0X8001EAE,"T",0X1,3);
split_sreg_range(0X8001F28,"T",0X1,3);
split_sreg_range(0X8001F2C,"T",0X1,3);
split_sreg_range(0X8001F3A,"T",0X1,3);
split_sreg_range(0X8001F4C,"T",0X1,3);
split_sreg_range(0X8001F52,"T",0X1,3);
split_sreg_range(0X8001F72,"T",0X1,3);
split_sreg_range(0X8001F76,"T",0X1,3);
split_sreg_range(0X8001F7C,"T",0X1,3);
split_sreg_range(0X8001F86,"T",0X1,3);
split_sreg_range(0X8001F8C,"T",0X1,3);
split_sreg_range(0X8001FAC,"T",0X1,3);
split_sreg_range(0X8001FC4,"T",0X1,3);
split_sreg_range(0X8001FD8,"T",0X1,3);
split_sreg_range(0X8001FE4,"T",0X1,3);
split_sreg_range(0X8002002,"T",0X1,3);
split_sreg_range(0X8002028,"T",0X1,3);
split_sreg_range(0X800202C,"T",0X1,3);
split_sreg_range(0X8002034,"T",0X1,3);
split_sreg_range(0X8002038,"T",0X1,3);
split_sreg_range(0X8002058,"T",0X1,3);
split_sreg_range(0X8002090,"T",0X1,3);
split_sreg_range(0X80020A8,"T",0X1,3);
split_sreg_range(0X80020BC,"T",0X1,3);
split_sreg_range(0X80020F0,"T",0X1,3);
split_sreg_range(0X8002110,"T",0X1,3);
split_sreg_range(0X8002118,"T",0X1,3);
split_sreg_range(0X800211C,"T",0X1,3);
split_sreg_range(0X800212E,"T",0X1,3);
split_sreg_range(0X8002140,"T",0X1,3);
split_sreg_range(0X800214C,"T",0X1,3);
split_sreg_range(0X8002184,"T",0X1,3);
split_sreg_range(0X80021B0,"T",0X1,3);
split_sreg_range(0X80021B6,"T",0X1,3);
split_sreg_range(0X80021D0,"T",0X1,3);
split_sreg_range(0X80021D8,"T",0X1,3);
split_sreg_range(0X80021E0,"T",0X1,3);
split_sreg_range(0X80021FA,"T",0X1,3);
split_sreg_range(0X8002200,"T",0X1,3);
split_sreg_range(0X8002246,"T",0X1,3);
split_sreg_range(0X8002248,"T",0X1,3);
split_sreg_range(0X8002270,"T",0X1,3);
split_sreg_range(0X800229C,"T",0X1,3);
split_sreg_range(0X80022A2,"T",0X1,3);
split_sreg_range(0X80022B2,"T",0X1,3);
split_sreg_range(0X80022D2,"T",0X1,3);
split_sreg_range(0X80022E4,"T",0X1,3);
split_sreg_range(0X80022F8,"T",0X1,3);
split_sreg_range(0X8002310,"T",0X1,3);
split_sreg_range(0X8002328,"T",0X1,3);
split_sreg_range(0X8002344,"T",0X1,3);
split_sreg_range(0X8002360,"T",0X1,3);
split_sreg_range(0X8002394,"T",0X1,3);
split_sreg_range(0X800239A,"T",0X1,3);
split_sreg_range(0X80023A6,"T",0X1,3);
split_sreg_range(0X80023D4,"T",0X1,3);
split_sreg_range(0X80023EA,"T",0X1,3);
split_sreg_range(0X8002406,"T",0X1,3);
split_sreg_range(0X800241C,"T",0X1,3);
split_sreg_range(0X80024A4,"T",0X1,3);
split_sreg_range(0X80024B0,"T",0X1,3);
split_sreg_range(0X80024B8,"T",0X1,3);
split_sreg_range(0X80024C4,"T",0X1,3);
split_sreg_range(0X80024DE,"T",0X1,3);
split_sreg_range(0X80024EC,"T",0X1,3);
split_sreg_range(0X80024FC,"T",0X1,3);
split_sreg_range(0X8002518,"T",0X1,3);
split_sreg_range(0X800253A,"T",0X1,3);
split_sreg_range(0X800253C,"T",0X1,3);
split_sreg_range(0X8002550,"T",0X1,3);
split_sreg_range(0X8002574,"T",0X1,3);
split_sreg_range(0X8002580,"T",0X1,3);
split_sreg_range(0X8002588,"T",0X1,3);
split_sreg_range(0X8002596,"T",0X1,3);
split_sreg_range(0X80025A4,"T",0X1,3);
split_sreg_range(0X80025B2,"T",0X1,3);
split_sreg_range(0X80025C0,"T",0X1,3);
split_sreg_range(0X80025DC,"T",0X1,3);
split_sreg_range(0X80025F0,"T",0X1,3);
split_sreg_range(0X8002608,"T",0X1,3);
split_sreg_range(0X8002630,"T",0X1,3);
split_sreg_range(0X800265A,"T",0X1,3);
split_sreg_range(0X800265E,"T",0X1,3);
split_sreg_range(0X8002674,"T",0X1,3);
split_sreg_range(0X800267E,"T",0X1,3);
split_sreg_range(0X8002688,"T",0X1,3);
split_sreg_range(0X800269C,"T",0X1,3);
split_sreg_range(0X80026F0,"T",0X1,3);
split_sreg_range(0X80027AC,"T",0X1,3);
split_sreg_range(0X80027B0,"T",0X1,3);
split_sreg_range(0X80027C6,"T",0X1,3);
split_sreg_range(0X80027C8,"T",0X1,3);
split_sreg_range(0X8002898,"T",0X1,3);
split_sreg_range(0X80028B0,"T",0X1,3);
split_sreg_range(0X80028D0,"T",0X1,3);
split_sreg_range(0X80028D2,"T",0X1,3);
split_sreg_range(0X80028E4,"T",0X1,3);
split_sreg_range(0X80028FE,"T",0X1,3);
split_sreg_range(0X8002900,"T",0X1,3);
split_sreg_range(0X8002918,"T",0X1,3);
split_sreg_range(0X8002938,"T",0X1,3);
split_sreg_range(0X800293A,"T",0X1,3);
split_sreg_range(0X800294C,"T",0X1,3);
split_sreg_range(0X8002958,"T",0X1,3);
split_sreg_range(0X800295A,"T",0X1,3);
split_sreg_range(0X8002970,"T",0X1,3);
split_sreg_range(0X8002978,"T",0X1,3);
split_sreg_range(0X800297E,"T",0X1,3);
split_sreg_range(0X8002984,"T",0X1,3);
split_sreg_range(0X8002998,"T",0X1,3);
split_sreg_range(0X80029A8,"T",0X1,3);
split_sreg_range(0X80029BC,"T",0X1,3);
split_sreg_range(0X80029CC,"T",0X1,3);
split_sreg_range(0X80029DC,"T",0X1,3);
split_sreg_range(0X80029F0,"T",0X1,3);
split_sreg_range(0X8002A00,"T",0X1,3);
split_sreg_range(0X8002A10,"T",0X1,3);
split_sreg_range(0X8002A2C,"T",0X1,3);
split_sreg_range(0X8002A30,"T",0X1,3);
split_sreg_range(0X8002A38,"T",0X1,3);
split_sreg_range(0X8002A3C,"T",0X1,3);
split_sreg_range(0X8002A4E,"T",0X1,3);
split_sreg_range(0X8002A50,"T",0X1,3);
split_sreg_range(0X8002A84,"T",0X1,3);
split_sreg_range(0X8002A90,"T",0X1,3);
split_sreg_range(0X8002ABC,"T",0X1,3);
split_sreg_range(0X8002AC4,"T",0X1,3);
split_sreg_range(0X8002ADE,"T",0X1,3);
split_sreg_range(0X8002B1C,"T",0X1,3);
split_sreg_range(0X8002B28,"T",0X1,3);
split_sreg_range(0X8002B2A,"T",0X1,3);
split_sreg_range(0X8002B2E,"T",0X1,3);
split_sreg_range(0X8002B40,"T",0X1,3);
split_sreg_range(0X8002B80,"T",0X1,3);
split_sreg_range(0X8002BBA,"T",0X1,3);
split_sreg_range(0X8002BF6,"T",0X1,3);
split_sreg_range(0X8002BFA,"T",0X1,3);
split_sreg_range(0X8002BFE,"T",0X1,3);
split_sreg_range(0X8002C14,"T",0X1,3);
split_sreg_range(0X8002C82,"T",0X1,3);
split_sreg_range(0X8002C84,"T",0X1,3);
split_sreg_range(0X8002C8A,"T",0X1,3);
split_sreg_range(0X8002C96,"T",0X1,3);
split_sreg_range(0X8002CA8,"T",0X1,3);
split_sreg_range(0X8002CC0,"T",0X1,3);
split_sreg_range(0X8002CC6,"T",0X1,3);
split_sreg_range(0X8002CCE,"T",0X1,3);
split_sreg_range(0X8002CF4,"T",0X1,3);
split_sreg_range(0X8002D14,"T",0X1,3);
split_sreg_range(0X8002D22,"T",0X1,3);
split_sreg_range(0X8002D32,"T",0X1,3);
split_sreg_range(0X8002D3C,"T",0X1,3);
split_sreg_range(0X8002D44,"T",0X1,3);
split_sreg_range(0X8002D4A,"T",0X1,3);
split_sreg_range(0X8002D4E,"T",0X1,3);
split_sreg_range(0X8002D54,"T",0X1,3);
split_sreg_range(0X1FFFF800,"T",0,3);
split_sreg_range(0X20000000,"T",0,3);
split_sreg_range(0X20000164,"T",0,3);
split_sreg_range(0X20000800,"T",0,3);
split_sreg_range(0X40000000,"T",0,3);
split_sreg_range(0X40000400,"T",0,3);
split_sreg_range(0X40001000,"T",0,3);
split_sreg_range(0X40002000,"T",0,3);
split_sreg_range(0X40007000,"T",0,3);
split_sreg_range(0X40012C00,"T",0,3);
split_sreg_range(0X40013000,"T",0,3);
split_sreg_range(0X40014000,"T",0,3);
split_sreg_range(0X40014400,"T",0,3);
split_sreg_range(0X40014800,"T",0,3);
split_sreg_range(0X40021000,"T",0,3);
split_sreg_range(0X40022000,"T",0,3);
split_sreg_range(0X48000000,"T",0,3);
split_sreg_range(0X48000400,"T",0,3);
split_sreg_range(0X48000800,"T",0,3);
split_sreg_range(0X48000C00,"T",0,3);
split_sreg_range(0X48001400,"T",0,3);
split_sreg_range(0X50000000,"T",0,3);
split_sreg_range(0XE000E010,"T",0,3);
split_sreg_range(0XE000ED00,"T",0,3);
split_sreg_range(0X8000000,"DS",0,3);
split_sreg_range(0X1FFFF800,"DS",0X1,3);
split_sreg_range(0X20000000,"DS",0X1,3);
split_sreg_range(0X20000164,"DS",0X1,3);
split_sreg_range(0X20000800,"DS",0X1,3);
split_sreg_range(0X40000000,"DS",0X1,3);
split_sreg_range(0X40000400,"DS",0X1,3);
split_sreg_range(0X40001000,"DS",0X1,3);
split_sreg_range(0X40002000,"DS",0X1,3);
split_sreg_range(0X40007000,"DS",0X1,3);
split_sreg_range(0X40012C00,"DS",0X1,3);
split_sreg_range(0X40013000,"DS",0X1,3);
split_sreg_range(0X40014000,"DS",0X1,3);
split_sreg_range(0X40014400,"DS",0X1,3);
split_sreg_range(0X40014800,"DS",0X1,3);
split_sreg_range(0X40021000,"DS",0X1,3);
split_sreg_range(0X40022000,"DS",0X1,3);
split_sreg_range(0X48000000,"DS",0X1,3);
split_sreg_range(0X48000400,"DS",0X1,3);
split_sreg_range(0X48000800,"DS",0X1,3);
split_sreg_range(0X48000C00,"DS",0X1,3);
split_sreg_range(0X48001400,"DS",0X1,3);
split_sreg_range(0X50000000,"DS",0X1,3);
split_sreg_range(0XE000E010,"DS",0X1,3);
split_sreg_range(0XE000ED00,"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