ida逆 stm32 bootloader

ROM:1FFFB000 ;
ROM:1FFFB000 ; +-------------------------------------------------------------------------+
ROM:1FFFB000 ; |   This file has been generated by The Interactive Disassembler (IDA)    |
ROM:1FFFB000 ; |           Copyright (c) 2015 Hex-Rays, <support@hex-rays.com>           |
ROM:1FFFB000 ; |                      License info: 48-B611-7234-BB                      |
ROM:1FFFB000 ; |             Doskey Lee, Kingsoft Internet Security Software             |
ROM:1FFFB000 ; +-------------------------------------------------------------------------+
ROM:1FFFB000 ;
ROM:1FFFB000 ; Input MD5   : BAF28889DBC26C2DB2C4288A2381ABBC
ROM:1FFFB000 ; Input CRC32 : C1A3082A
ROM:1FFFB000
ROM:1FFFB000 ; File Name   : D:\desktop\test32boot\stm32_boot_entry_1fffb000.bin
ROM:1FFFB000 ; Format      : Binary file
ROM:1FFFB000 ; Base Address: 0000h Range: 1FFFB000h - 1FFFF800h Loaded length: 4800h
ROM:1FFFB000
ROM:1FFFB000 ; Processor       : ARM
ROM:1FFFB000 ; ARM architecture: metaarm
ROM:1FFFB000 ; Target assembler: Generic assembler for ARM
ROM:1FFFB000 ; Byte sex        : Little endian
ROM:1FFFB000
ROM:1FFFB000 ; ===========================================================================
ROM:1FFFB000
ROM:1FFFB000 ; Segment type: Pure code
ROM:1FFFB000                 AREA ROM, CODE, READWRITE, ALIGN=0
ROM:1FFFB000                 ; ORG 0x1FFFB000
ROM:1FFFB000                 CODE32
ROM:1FFFB000 dword_1FFFB000  DCD 0x20000FF0          ; DATA XREF: g_sys_init+24o
ROM:1FFFB000                                         ; sfe(CSTACK)
ROM:1FFFB004                 DCD 0x1FFFE9C1          ;  Reset_Handler
ROM:1FFFB008                 DCD 0x1FFFE9CD          ; NMI_Handler
ROM:1FFFB00C                 DCD 0x1FFFE9CD          ; HardFault_Handler
ROM:1FFFB010                 DCD 0x1FFFE9CD          ; MemManage_Handler
ROM:1FFFB014                 DCD 0x1FFFE9CD          ; BusFault_Handler
ROM:1FFFB018                 DCD 0x1FFFE9CD          ; UsageFault_Handler
ROM:1FFFB01C                 DCD 0                   ; Reserved
ROM:1FFFB020                 DCD 0                   ; Reserved
ROM:1FFFB024                 DCD 0                   ; Reserved
ROM:1FFFB028                 DCD 0                   ; Reserved
ROM:1FFFB02C                 DCD 0x1FFFE9CD          ; SVC_Handler
ROM:1FFFB030                 DCD 0x1FFFE9CD          ; DebugMon_Handler
ROM:1FFFB034                 DCD 0                   ; Reserved
ROM:1FFFB038                 DCD 0x1FFFE9CD          ; PendSV_Handler
ROM:1FFFB03C                 DCD 0x1FFFE9CD          ; SysTick_Handler
ROM:1FFFB040                 DCD 0x1FFFE9CD          ; WWDG_IRQHandler
ROM:1FFFB044                 DCD 0x1FFFE9CD          ; PVD_IRQHandler
ROM:1FFFB048                 DCD 0x1FFFE9CD          ; TAMPER_IRQHandler
ROM:1FFFB04C                 DCD 0x1FFFE9CD          ; RTC_IRQHandler
ROM:1FFFB050                 DCD 0x1FFFE9CD          ; FLASH_IRQHandler
ROM:1FFFB054                 DCD 0x1FFFE9CD          ; RCC_IRQHandler
ROM:1FFFB058                 DCD 0x1FFFE9CD          ; EXTI0_IRQHandler
ROM:1FFFB05C                 DCD 0x1FFFE9CD          ; EXTI1_IRQHandler
ROM:1FFFB060                 DCD 0x1FFFE9CD          ; EXTI2_IRQHandler
ROM:1FFFB064                 DCD 0x1FFFE9CD          ; EXTI3_IRQHandler
ROM:1FFFB068                 DCD 0x1FFFE9CD          ; EXTI4_IRQHandler
ROM:1FFFB06C                 DCD 0x1FFFE9CD          ; DMA1_Channel1_IRQHandler
ROM:1FFFB070                 DCD 0x1FFFE9CD          ; DMA1_Channel2_IRQHandler
ROM:1FFFB074                 DCD 0x1FFFE9CD          ; DMA1_Channel3_IRQHandler
ROM:1FFFB078                 DCD 0x1FFFE9CD          ; DMA1_Channel4_IRQHandler
ROM:1FFFB07C                 DCD 0x1FFFE9CD          ; DMA1_Channel5_IRQHandler
ROM:1FFFB080                 DCD 0x1FFFE9CD          ; DMA1_Channel6_IRQHandler
ROM:1FFFB084                 DCD 0x1FFFE9CD          ; DMA1_Channel7_IRQHandler
ROM:1FFFB088                 DCD 0x1FFFE9CD          ; ADC1_2_IRQHandler
ROM:1FFFB08C                 DCD 0x1FFFE9CD          ; CAN1_TX_IRQHandler
ROM:1FFFB090                 DCD 0x1FFFE9CD          ; CAN1_RX0_IRQHandler
ROM:1FFFB094                 DCD 0x1FFFE9CD          ; CAN1_RX1_IRQHandler
ROM:1FFFB098                 DCD 0x1FFFE9CD          ; CAN1_SCE_IRQHandler
ROM:1FFFB09C                 DCD 0x1FFFE9CD          ; EXTI9_5_IRQHandler
ROM:1FFFB0A0                 DCD 0x1FFFE9CD          ; TIM1_BRK_IRQHandler
ROM:1FFFB0A4                 DCD 0x1FFFE9CD          ; TIM1_UP_IRQHandler
ROM:1FFFB0A8                 DCD 0x1FFFE9CD          ; TIM1_TRG_COM_IRQHandler
ROM:1FFFB0AC                 DCD 0x1FFFE9CD          ; TIM1_CC_IRQHandler
ROM:1FFFB0B0                 DCD 0x1FFFE9CD          ; TIM2_IRQHandler
ROM:1FFFB0B4                 DCD 0x1FFFE9CD          ; TIM3_IRQHandler
ROM:1FFFB0B8                 DCD 0x1FFFE9CD          ; TIM4_IRQHandler
ROM:1FFFB0BC                 DCD 0x1FFFE9CD          ; I2C1_EV_IRQHandler
ROM:1FFFB0C0                 DCD 0x1FFFE9CD          ; I2C1_ER_IRQHandler
ROM:1FFFB0C4                 DCD 0x1FFFE9CD          ; I2C2_EV_IRQHandler
ROM:1FFFB0C8                 DCD 0x1FFFE9CD          ; I2C2_ER_IRQHandler
ROM:1FFFB0CC                 DCD 0x1FFFE9CD          ; SPI1_IRQHandler
ROM:1FFFB0D0                 DCD 0x1FFFE9CD          ; SPI2_IRQHandler
ROM:1FFFB0D4                 DCD 0x1FFFE9CD          ; USART1_IRQHandler
ROM:1FFFB0D8                 DCD 0x1FFFE9CD          ; USART2_IRQHandler
ROM:1FFFB0DC                 DCD 0x1FFFE9CD          ; USART3_IRQHandler
ROM:1FFFB0E0                 DCD 0x1FFFE9CD          ; EXTI15_10_IRQHandler
ROM:1FFFB0E4                 DCD 0x1FFFE9CD          ; RTCAlarm_IRQHandler
ROM:1FFFB0E8                 DCD 0x1FFFE9CD          ; OTG_FS_WKUP_IRQHandler
ROM:1FFFB0EC                 DCD 0x1FFFE9CD          ; Reserved
ROM:1FFFB0F0                 DCD 0x1FFFE9CD          ; Reserved
ROM:1FFFB0F4                 DCD 0x1FFFE9CD          ; Reserved
ROM:1FFFB0F8                 DCD 0x1FFFE9CD          ; Reserved
ROM:1FFFB0FC                 DCD 0x1FFFE9CD          ; Reserved
ROM:1FFFB100                 DCD 0x1FFFE9CD          ; Reserved
ROM:1FFFB104                 DCD 0x1FFFE9CD          ; Reserved
ROM:1FFFB108                 DCD 0x1FFFE9CD          ; TIM5_IRQHandler
ROM:1FFFB10C                 DCD 0x1FFFE9CD          ; SPI3_IRQHandler
ROM:1FFFB110                 DCD 0x1FFFE9CD          ; UART4_IRQHandler
ROM:1FFFB114                 DCD 0x1FFFE9CD          ; UART5_IRQHandler
ROM:1FFFB118                 DCD 0x1FFFE9CD          ; TIM6_IRQHandler
ROM:1FFFB11C                 DCD 0x1FFFE9CD          ; TIM7_IRQHandler
ROM:1FFFB120                 DCD 0x1FFFE9CD          ; DMA2_Channel1_IRQHandler
ROM:1FFFB124                 DCD 0x1FFFE9CD          ; DMA2_Channel2_IRQHandler
ROM:1FFFB128                 DCD 0x1FFFE9CD          ; DMA2_Channel3_IRQHandler
ROM:1FFFB12C                 DCD 0x1FFFE9CD          ; DMA2_Channel4_IRQHandler
ROM:1FFFB130                 DCD 0x1FFFE9CD          ; DMA2_Channel5_IRQHandler
ROM:1FFFB134                 DCD 0x1FFFE9CD          ; ETH_IRQHandler
ROM:1FFFB138                 DCD 0x1FFFE9CD          ; ETH_WKUP_IRQHandler
ROM:1FFFB13C                 DCD 0x1FFFE9CD          ; CAN2_TX_IRQHandler
ROM:1FFFB140                 DCD 0x1FFFE9CD          ; CAN2_RX0_IRQHandler
ROM:1FFFB144                 DCD 0x1FFFE9CD          ; CAN2_RX1_IRQHandler
ROM:1FFFB148                 DCD 0x1FFFE9CD          ; CAN2_SCE_IRQHandler
ROM:1FFFB14C                 DCD 0x1FFFE9D1          ; OTG_FS_IRQHandler
ROM:1FFFB150                 CODE16
ROM:1FFFB150
ROM:1FFFB150 ; =============== S U B R O U T I N E =======================================
ROM:1FFFB150
ROM:1FFFB150
ROM:1FFFB150 trigger_canbus                          ; CODE XREF: g_sys_init+8Ap
ROM:1FFFB150
ROM:1FFFB150 ; FUNCTION CHUNK AT ROM:1FFFB8FC SIZE 00000044 BYTES
ROM:1FFFB150
ROM:1FFFB150                 LDR.W           R0, =0x40021010 ; 复位和时钟控制(RCC)
ROM:1FFFB154                 LDR             R1, [R0,#8]
ROM:1FFFB156                 ORR.W           R1, R1, #8
ROM:1FFFB15A                 STR             R1, [R0,#8]
ROM:1FFFB15C                 LDR             R1, [R0,#8]
ROM:1FFFB15E                 ORR.W           R1, R1, #1
ROM:1FFFB162                 STR             R1, [R0,#8]
ROM:1FFFB164                 LDR             R1, [R0,#0xC]
ROM:1FFFB166                 ORR.W           R1, R1, #0x4000000
ROM:1FFFB16A                 STR             R1, [R0,#0xC]
ROM:1FFFB16C                 LDR             R1, [R0,#0xC]
ROM:1FFFB16E                 ORR.W           R1, R1, #0x2000000
ROM:1FFFB172                 STR             R1, [R0,#0xC]
ROM:1FFFB174                 LDR.W           R1, =0x40010004 ; AFIO
ROM:1FFFB178                 LDR             R2, [R1]
ROM:1FFFB17A                 ORR.W           R2, R2, #0x400000
ROM:1FFFB17E                 STR             R2, [R1]
ROM:1FFFB180                 LDR.W           R1, =0x40010C00 ; GPIO端口B
ROM:1FFFB184                 LDR.W           R2, =0x4B844444
ROM:1FFFB188                 STR             R2, [R1]
ROM:1FFFB18A                 LDR             R1, [R0]
ROM:1FFFB18C                 ORR.W           R1, R1, #0x4000000
ROM:1FFFB190                 STR             R1, [R0]
ROM:1FFFB192                 LDR             R1, [R0]
ROM:1FFFB194                 BIC.W           R1, R1, #0x4000000
ROM:1FFFB198                 STR             R1, [R0]
ROM:1FFFB19A                 LDR             R1, [R0]
ROM:1FFFB19C                 ORR.W           R1, R1, #0x2000000
ROM:1FFFB1A0                 STR             R1, [R0]
ROM:1FFFB1A2                 LDR             R1, [R0]
ROM:1FFFB1A4                 BIC.W           R1, R1, #0x2000000
ROM:1FFFB1A8                 STR             R1, [R0]
ROM:1FFFB1AA                 B               loc_1FFFB8FC ; bxCAN1
ROM:1FFFB1AA ; End of function trigger_canbus
ROM:1FFFB1AA
ROM:1FFFB1AC
ROM:1FFFB1AC ; =============== S U B R O U T I N E =======================================
ROM:1FFFB1AC
ROM:1FFFB1AC
ROM:1FFFB1AC check_canbus2                           ; CODE XREF: start_work:can2_workp
ROM:1FFFB1AC
ROM:1FFFB1AC var_148         = -0x148
ROM:1FFFB1AC var_144         = -0x144
ROM:1FFFB1AC var_143         = -0x143
ROM:1FFFB1AC var_142         = -0x142
ROM:1FFFB1AC var_141         = -0x141
ROM:1FFFB1AC var_140         = -0x140
ROM:1FFFB1AC var_13C         = -0x13C
ROM:1FFFB1AC var_138         = -0x138
ROM:1FFFB1AC var_134         = -0x134
ROM:1FFFB1AC var_124         = -0x124
ROM:1FFFB1AC
ROM:1FFFB1AC ; FUNCTION CHUNK AT ROM:1FFFB610 SIZE 00000014 BYTES
ROM:1FFFB1AC ; FUNCTION CHUNK AT ROM:1FFFB62C SIZE 0000001E BYTES
ROM:1FFFB1AC
ROM:1FFFB1AC                 PUSH.W          {R4-R11,LR}
ROM:1FFFB1B0                 SUB             SP, SP, #0x124
ROM:1FFFB1B2                 ADD             R0, SP, #0x148+var_134
ROM:1FFFB1B4                 ADR.W           R1, sub_1FFFBAB8
ROM:1FFFB1B8                 MOVS            R2, #0x10
ROM:1FFFB1BA                 BL              memcpy  ; N  当用两个补码表示的带符号数进行运算时,N=1表示运算的结果为负数;N=0表示运算的结果为正数或零.
ROM:1FFFB1BA                                         ; Z  Z=1表示运算的结果为零,Z=0表示运算的结果非零。
ROM:1FFFB1BA                                         ; C  可以有4种方法设置C的值:
ROM:1FFFB1BA                                         ;    加法运算(包括CMN):当运算结果产生了进位时(无符号数溢出),C=1,否则C=0。
ROM:1FFFB1BA                                         ;    减法运算(包括CMP):当运算时产生了借位时(无符号数溢出),C=0,否则C=1。
ROM:1FFFB1BA                                         ;    对于包含移位操作的非加/减运算指令,C为移出值的最后一位。
ROM:1FFFB1BA                                         ;    对于其它的非加/减运算指令,C的值通常不会改变。
ROM:1FFFB1BA                                         ; V  可以有2种方法设置V的值:
ROM:1FFFB1BA                                         ;    对于加减法运算指令,当操作数和运算结果为二进制的补码表示的带符号数时,V=1表示符号位溢出
ROM:1FFFB1BA                                         ;    对于其它的非加/减运算指令,V的值通常不会改变。
ROM:1FFFB1BA                                         ;
ROM:1FFFB1BA                                         ; 0000 = EQ - Z set (equal,相等)
ROM:1FFFB1BA                                         ; 0001 = NE - Z clear (not equal,不相等)
ROM:1FFFB1BA                                         ; 0010 = CS - C set (unsigned higher or same,无符号大于或等于)
ROM:1FFFB1BA                                         ; 0011 = CC - C clear (unsigned lower,无符号小于)
ROM:1FFFB1BA                                         ; 0100 = MI - N set (negative,负数)
ROM:1FFFB1BA                                         ; 0101 = PL - N clear (positive or zero,正数或零)
ROM:1FFFB1BA                                         ; 0110 = VS - V set (overflow,溢出)
ROM:1FFFB1BA                                         ; 0111 = VC - V clear (no overflow,未溢出)
ROM:1FFFB1BA                                         ; 1000 = HI - C set and Z clear (unsigned higher,无符号大于)
ROM:1FFFB1BA                                         ; 1001 = LS - C clear or Z set (unsigned lower or same,无符号小于或等于)
ROM:1FFFB1BA                                         ; 1010 = GE - N set and V set, or N clear and V clear (greater or equal,带符号大于或等于)
ROM:1FFFB1BA                                         ; 1011 = LT - N set and V clear, or N clear and V set (less than,带符号小于)
ROM:1FFFB1BA                                         ; 1100 = GT - Z clear, and either N set and V set, or N clear and V clear (greater than,带符号大于)
ROM:1FFFB1BA                                         ; 1101 = LE - Z set, or N set and V clear, or N clear and V set (less than or equal,带符号小于或等于)
ROM:1FFFB1BA                                         ; 1110 = AL - always
ROM:1FFFB1BA                                         ; 1111 = NV - never
ROM:1FFFB1BA                                         ;
ROM:1FFFB1BE                 MOVS            R0, #0
ROM:1FFFB1C0                 STRB.W          R0, [SP,#0x148+var_141]
ROM:1FFFB1C4                 MOVS            R0, #1
ROM:1FFFB1C6                 STRB.W          R0, [SP,#0x148+var_138]
ROM:1FFFB1CA                 MOVS            R0, #0
ROM:1FFFB1CC                 STRB.W          R0, [SP,#0x148+var_143]
ROM:1FFFB1D0                 STRB.W          R0, [SP,#0x148+var_144]
ROM:1FFFB1D4                 STRB.W          R0, [SP,#0x148+var_142]
ROM:1FFFB1D8                 STR             R0, [SP,#0x148+var_148]
ROM:1FFFB1DA                 STR             R0, [SP,#0x148+var_140]
ROM:1FFFB1DC                 STR             R0, [SP,#0x148+var_13C]
ROM:1FFFB1DE                 BL              sub_1FFFB662
ROM:1FFFB1E2                 CMP             R0, #1
ROM:1FFFB1E4                 IT EQ
ROM:1FFFB1E6                 BLEQ            sys_reset
ROM:1FFFB1EA                 BL              disable_irq
ROM:1FFFB1EE                 LDR.W           R4, =0x20000C34
ROM:1FFFB1F2                 MOVS            R0, #0x79
ROM:1FFFB1F4                 BL              sub_1FFFB654
ROM:1FFFB1F8                 ADD.W           R9, SP, #0x148+var_124
ROM:1FFFB1FC                 LDR.W           R6, =0x4002100C
ROM:1FFFB200                 LDR.W           R10, =0x4002200C
ROM:1FFFB204                 MOVW            R8, #0x5FFF
ROM:1FFFB208                 LDR.W           R5, =0x20000164
ROM:1FFFB20C                 B               check_canbus ; 喂狗
ROM:1FFFB20E ; ---------------------------------------------------------------------------
ROM:1FFFB20E
ROM:1FFFB20E loc_1FFFB20E                            ; CODE XREF: check_canbus2+10Cj
ROM:1FFFB20E                 BL              sub_1FFFB624
ROM:1FFFB212                 BL              loc_1FFFB61C
ROM:1FFFB216 ; ---------------------------------------------------------------------------
ROM:1FFFB216                 STRB.W          R0, [SP,#0x148+var_143]
ROM:1FFFB21A                 LDRB.W          R0, [SP,#0x148+var_143]
ROM:1FFFB21E                 CMP             R0, #2
ROM:1FFFB220                 ITT NE
ROM:1FFFB222                 LDRNEB.W        R0, [SP,#0x148+var_143]
ROM:1FFFB226                 CMPNE           R0, #3
ROM:1FFFB228                 BNE.W           loc_1FFFB5C6
ROM:1FFFB22C                 BL              sub_1FFFB65A
ROM:1FFFB230                 BL              RCC_init
ROM:1FFFB234                 MOVS            R0, #0x14
ROM:1FFFB236                 STR             R0, [R6,#8]
ROM:1FFFB238                 MOV.W           R0, #0xFFFFFFFF
ROM:1FFFB23C                 STR             R0, [R6]
ROM:1FFFB23E                 MOVS            R0, #0
ROM:1FFFB240                 STR             R0, [R6]
ROM:1FFFB242                 MOV.W           R0, #0xFFFFFFFF
ROM:1FFFB246                 STR             R0, [R6,#4]
ROM:1FFFB248                 MOVS            R0, #0
ROM:1FFFB24A                 STR             R0, [R6,#4]
ROM:1FFFB24C                 STR             R0, [R6,#0xC]
ROM:1FFFB24E                 STR             R0, [R6,#0x10]
ROM:1FFFB250                 LDR.W           R0, =0xE000E010
ROM:1FFFB254                 MOVS            R1, #0
ROM:1FFFB256                 STR             R1, [R0]
ROM:1FFFB258                 BL              enable_irq
ROM:1FFFB25C                 LDR             R0, [SP,#0x148+var_140]
ROM:1FFFB25E                 LDR             R7, [R0,#4]
ROM:1FFFB260                 LDR             R0, [SP,#0x148+var_140]
ROM:1FFFB262                 LDR             R0, [R0]
ROM:1FFFB264                 BL              set_MSP
ROM:1FFFB268                 BLX             R7
ROM:1FFFB26A
ROM:1FFFB26A check_canbus                            ; CODE XREF: check_canbus2+60j
ROM:1FFFB26A                                         ; check_canbus2+142j ...
ROM:1FFFB26A                 LDR.W           R0, =0x40003000 ; 喂狗
ROM:1FFFB26E                 MOVW            R1, #0xAAAA
ROM:1FFFB272                 STR             R1, [R0]
ROM:1FFFB274
ROM:1FFFB274 loc_1FFFB274                            ; CODE XREF: check_canbus2+CEj
ROM:1FFFB274                 BL              get_can_bus
ROM:1FFFB278                 CMP             R0, #0
ROM:1FFFB27A                 BEQ             loc_1FFFB274
ROM:1FFFB27C                 MOV             R0, R5
ROM:1FFFB27E                 BL              sub_1FFFB844
ROM:1FFFB282                 STRB.W          R0, [SP,#0x148+var_138]
ROM:1FFFB286                 LDR             R7, [R5]
ROM:1FFFB288                 STRB.W          R7, [SP,#0x148+var_141]
ROM:1FFFB28C                 BL              sub_1FFFB8EC
ROM:1FFFB290                 CMP             R0, #1
ROM:1FFFB292                 ITTEE NE
ROM:1FFFB294                 LDRNEB.W        R0, [SP,#0x148+var_138]
ROM:1FFFB298                 CMPNE           R0, #1
ROM:1FFFB29A                 MOVEQ           R0, #0x55
ROM:1FFFB29C                 STREQB.W        R0, [SP,#0x148+var_141]
ROM:1FFFB2A0                 LDRB.W          R0, [SP,#0x148+var_141]
ROM:1FFFB2A4                 CBZ             R0, loc_1FFFB2E0
ROM:1FFFB2A6                 CMP             R0, #1
ROM:1FFFB2A8                 BEQ             loc_1FFFB300
ROM:1FFFB2AA                 CMP             R0, #2
ROM:1FFFB2AC                 BEQ             loc_1FFFB31A
ROM:1FFFB2AE                 CMP             R0, #3
ROM:1FFFB2B0                 BEQ             loc_1FFFB332
ROM:1FFFB2B2                 CMP             R0, #0x11
ROM:1FFFB2B4                 BEQ             loc_1FFFB366
ROM:1FFFB2B6                 CMP             R0, #0x21
ROM:1FFFB2B8                 BEQ             loc_1FFFB20E
ROM:1FFFB2BA                 CMP             R0, #0x31
ROM:1FFFB2BC                 BEQ.W           loc_1FFFB3D0
ROM:1FFFB2C0                 CMP             R0, #0x43
ROM:1FFFB2C2                 BEQ.W           loc_1FFFB4DA
ROM:1FFFB2C6                 CMP             R0, #0x63
ROM:1FFFB2C8                 BEQ.W           loc_1FFFB52A
ROM:1FFFB2CC                 CMP             R0, #0x73
ROM:1FFFB2CE                 BEQ.W           loc_1FFFB596
ROM:1FFFB2D2                 CMP             R0, #0x82
ROM:1FFFB2D4                 BEQ.W           loc_1FFFB5BE
ROM:1FFFB2D8                 CMP             R0, #0x92
ROM:1FFFB2DA                 BEQ.W           loc_1FFFB5E2
ROM:1FFFB2DE                 B               loc_1FFFB5FA
ROM:1FFFB2E0 ; ---------------------------------------------------------------------------
ROM:1FFFB2E0
ROM:1FFFB2E0 loc_1FFFB2E0                            ; CODE XREF: check_canbus2+F8j
ROM:1FFFB2E0                 STR             R0, [R4]
ROM:1FFFB2E2                 MOVS            R0, #1
ROM:1FFFB2E4                 STRB            R0, [R4,#0xA]
ROM:1FFFB2E6                 MOVS            R0, #0
ROM:1FFFB2E8
ROM:1FFFB2E8 loc_1FFFB2E8                            ; CODE XREF: check_canbus2+152j
ROM:1FFFB2E8                 STR             R0, [SP,#0x148+var_148]
ROM:1FFFB2EA                 LDR             R0, [SP,#0x148+var_148]
ROM:1FFFB2EC                 CMP             R0, #0x10
ROM:1FFFB2EE                 BCS             check_canbus ; 喂狗
ROM:1FFFB2F0                 LDR             R0, [SP,#0x148+var_148]
ROM:1FFFB2F2                 ADD             R1, SP, #0x148+var_134
ROM:1FFFB2F4                 LDRB            R0, [R0,R1]
ROM:1FFFB2F6                 BL              sub_1FFFB60A
ROM:1FFFB2FA                 LDR             R0, [SP,#0x148+var_148]
ROM:1FFFB2FC                 ADDS            R0, R0, #1
ROM:1FFFB2FE                 B               loc_1FFFB2E8
ROM:1FFFB300 ; ---------------------------------------------------------------------------
ROM:1FFFB300
ROM:1FFFB300 loc_1FFFB300                            ; CODE XREF: check_canbus2+FCj
ROM:1FFFB300                 STR             R0, [R4]
ROM:1FFFB302                 BL              sub_1FFFB65A
ROM:1FFFB306                 MOVS            R0, #1
ROM:1FFFB308                 STRB            R0, [R4,#0xA]
ROM:1FFFB30A                 MOVS            R0, #0x20
ROM:1FFFB30C                 BL              sub_1FFFB60A
ROM:1FFFB310                 MOVS            R0, #2
ROM:1FFFB312                 STRB            R0, [R4,#0xA]
ROM:1FFFB314                 MOVS            R0, #0
ROM:1FFFB316                 STRB            R0, [R4,#0xB]
ROM:1FFFB318                 B               loc_1FFFB328
ROM:1FFFB31A ; ---------------------------------------------------------------------------
ROM:1FFFB31A
ROM:1FFFB31A loc_1FFFB31A                            ; CODE XREF: check_canbus2+100j
ROM:1FFFB31A                 BL              sub_1FFFB654
ROM:1FFFB31E                 MOVS            R0, #2
ROM:1FFFB320                 STRB            R0, [R4,#0xA]
ROM:1FFFB322                 MOVS            R0, #4
ROM:1FFFB324                 STRB            R0, [R4,#0xB]
ROM:1FFFB326                 MOVS            R0, #0x18
ROM:1FFFB328
ROM:1FFFB328 loc_1FFFB328                            ; CODE XREF: check_canbus2+16Cj
ROM:1FFFB328                 STRB            R0, [R4,#0xC]
ROM:1FFFB32A                 MOV             R0, R4
ROM:1FFFB32C                 BL              sub_1FFFB7C2
ROM:1FFFB330                 B               loc_1FFFB3CA
ROM:1FFFB332 ; ---------------------------------------------------------------------------
ROM:1FFFB332
ROM:1FFFB332 loc_1FFFB332                            ; CODE XREF: check_canbus2+104j
ROM:1FFFB332                 STR             R0, [R4]
ROM:1FFFB334                 MOVS            R0, #1
ROM:1FFFB336                 STRB            R0, [R4,#0xA]
ROM:1FFFB338                 BL              loc_1FFFB62C
ROM:1FFFB33C ; ---------------------------------------------------------------------------
ROM:1FFFB33C                 CMP             R0, #5
ROM:1FFFB33E                 BCS.W           loc_1FFFB5C6
ROM:1FFFB342                 BL              sub_1FFFB65A
ROM:1FFFB346                 LDRB.W          R0, [SP,#0x148+var_144]
ROM:1FFFB34A                 BL              loc_1FFFB764
ROM:1FFFB34E                 MOVS            R0, #0
ROM:1FFFB350                 STR             R0, [SP,#0x148+var_148]
ROM:1FFFB352                 MOVW            R1, #0xFFFF
ROM:1FFFB356
ROM:1FFFB356 loc_1FFFB356                            ; CODE XREF: check_canbus2+1B6j
ROM:1FFFB356                 LDR             R0, [SP,#0x148+var_148]
ROM:1FFFB358                 CMP             R0, R1
ROM:1FFFB35A                 ITTT CC
ROM:1FFFB35C                 LDRCC           R0, [SP,#0x148+var_148]
ROM:1FFFB35E                 ADDCC           R0, R0, #1
ROM:1FFFB360                 STRCC           R0, [SP,#0x148+var_148]
ROM:1FFFB362                 BCC             loc_1FFFB356
ROM:1FFFB364                 B               loc_1FFFB522
ROM:1FFFB366 ; ---------------------------------------------------------------------------
ROM:1FFFB366
ROM:1FFFB366 loc_1FFFB366                            ; CODE XREF: check_canbus2+108j
ROM:1FFFB366                 BL              sub_1FFFB624
ROM:1FFFB36A                 BL              loc_1FFFB61C
ROM:1FFFB36E ; ---------------------------------------------------------------------------
ROM:1FFFB36E                 BL              loc_1FFFB610
ROM:1FFFB372 ; ---------------------------------------------------------------------------
ROM:1FFFB372                 BEQ             loc_1FFFB3DC
ROM:1FFFB374                 BL              sub_1FFFB65A
ROM:1FFFB378                 LDRB            R0, [R5,#0xF]
ROM:1FFFB37A                 BL              loc_1FFFB62E
ROM:1FFFB37E ; ---------------------------------------------------------------------------
ROM:1FFFB37E                 MOVS            R1, #0
ROM:1FFFB380                 STRB.W          R1, [SP,#0x148+var_142]
ROM:1FFFB384                 ADDS            R0, R0, #1
ROM:1FFFB386                 B               loc_1FFFB3C2
ROM:1FFFB388 ; ---------------------------------------------------------------------------
ROM:1FFFB388
ROM:1FFFB388 loc_1FFFB388                            ; CODE XREF: check_canbus2+21Cj
ROM:1FFFB388                 LDRB.W          R0, [SP,#0x148+var_142]
ROM:1FFFB38C                 ADDS            R1, R0, #1
ROM:1FFFB38E                 STRB.W          R1, [SP,#0x148+var_142]
ROM:1FFFB392                 LDR             R1, [SP,#0x148+var_140]
ROM:1FFFB394                 ADDS            R2, R1, #1
ROM:1FFFB396                 STR             R2, [SP,#0x148+var_140]
ROM:1FFFB398                 ADDS            R0, R0, R4
ROM:1FFFB39A                 LDRB            R1, [R1]
ROM:1FFFB39C                 STRB            R1, [R0,#0xB]
ROM:1FFFB39E                 LDRB.W          R0, [SP,#0x148+var_142]
ROM:1FFFB3A2                 CMP             R0, #8
ROM:1FFFB3A4                 ITT NE
ROM:1FFFB3A6                 LDRNE           R0, [SP,#0x148+var_148]
ROM:1FFFB3A8                 CMPNE           R0, #1
ROM:1FFFB3AA                 BNE             loc_1FFFB3BE
ROM:1FFFB3AC                 LDRB.W          R0, [SP,#0x148+var_142]
ROM:1FFFB3B0                 STRB            R0, [R4,#0xA]
ROM:1FFFB3B2                 MOV             R0, R4
ROM:1FFFB3B4                 BL              sub_1FFFB7C2
ROM:1FFFB3B8                 MOVS            R0, #0
ROM:1FFFB3BA                 STRB.W          R0, [SP,#0x148+var_142]
ROM:1FFFB3BE
ROM:1FFFB3BE loc_1FFFB3BE                            ; CODE XREF: check_canbus2+1FEj
ROM:1FFFB3BE                 LDR             R0, [SP,#0x148+var_148]
ROM:1FFFB3C0                 SUBS            R0, R0, #1
ROM:1FFFB3C2
ROM:1FFFB3C2 loc_1FFFB3C2                            ; CODE XREF: check_canbus2+1DAj
ROM:1FFFB3C2                 STR             R0, [SP,#0x148+var_148]
ROM:1FFFB3C4                 LDR             R0, [SP,#0x148+var_148]
ROM:1FFFB3C6                 CMP             R0, #0
ROM:1FFFB3C8                 BNE             loc_1FFFB388
ROM:1FFFB3CA
ROM:1FFFB3CA loc_1FFFB3CA                            ; CODE XREF: check_canbus2+184j
ROM:1FFFB3CA                 MOVS            R0, #1
ROM:1FFFB3CC                 STRB            R0, [R4,#0xA]
ROM:1FFFB3CE                 B               loc_1FFFB522
ROM:1FFFB3D0 ; ---------------------------------------------------------------------------
ROM:1FFFB3D0
ROM:1FFFB3D0 loc_1FFFB3D0                            ; CODE XREF: check_canbus2+110j
ROM:1FFFB3D0                 BL              sub_1FFFB624
ROM:1FFFB3D4                 BL              loc_1FFFB61C
ROM:1FFFB3D8 ; ---------------------------------------------------------------------------
ROM:1FFFB3D8                 BL              loc_1FFFB610
ROM:1FFFB3DC ; ---------------------------------------------------------------------------
ROM:1FFFB3DC
ROM:1FFFB3DC loc_1FFFB3DC                            ; CODE XREF: check_canbus2+1C6j
ROM:1FFFB3DC                 BEQ.W           loc_1FFFB5C6
ROM:1FFFB3E0                 BL              sub_1FFFB65A
ROM:1FFFB3E4                 LDRB            R0, [R5,#0xF]
ROM:1FFFB3E6                 BL              loc_1FFFB62E
ROM:1FFFB3EA ; ---------------------------------------------------------------------------
ROM:1FFFB3EA                 ADDS            R7, R0, #1
ROM:1FFFB3EC                 BL              sub_1FFFB602
ROM:1FFFB3F0                 CMP             R0, #0
ROM:1FFFB3F2                 BNE.W           loc_1FFFB5C6
ROM:1FFFB3F6                 LDRB.W          R0, [SP,#0x148+var_143]
ROM:1FFFB3FA                 CMP             R0, #2
ROM:1FFFB3FC                 BNE             loc_1FFFB432
ROM:1FFFB3FE                 ANDS.W          R0, R7, #3
ROM:1FFFB402                 ITT NE
ROM:1FFFB404                 ANDNE.W         R0, R7, #0xFC
ROM:1FFFB408                 ADDNE           R7, R0, #4
ROM:1FFFB40A                 BL              FLASH_UnlockBank1
ROM:1FFFB40E                 STR             R7, [SP,#0x148+var_148]
ROM:1FFFB410                 B               loc_1FFFB42C
ROM:1FFFB412 ; ---------------------------------------------------------------------------
ROM:1FFFB412
ROM:1FFFB412 loc_1FFFB412                            ; CODE XREF: check_canbus2+284j
ROM:1FFFB412                 LDR             R0, [SP,#0x148+var_148]
ROM:1FFFB414                 SUB.W           R0, R9, R0
ROM:1FFFB418                 LDR             R1, [R7,R0]
ROM:1FFFB41A                 LDR             R0, [SP,#0x148+var_140]
ROM:1FFFB41C                 LDR             R2, [SP,#0x148+var_148]
ROM:1FFFB41E                 SUBS            R0, R0, R2
ROM:1FFFB420                 ADDS            R0, R7, R0
ROM:1FFFB422                 BL              FLASH_ProgramWord
ROM:1FFFB426                 LDR             R0, [SP,#0x148+var_148]
ROM:1FFFB428                 SUBS            R0, R0, #4
ROM:1FFFB42A                 STR             R0, [SP,#0x148+var_148]
ROM:1FFFB42C
ROM:1FFFB42C loc_1FFFB42C                            ; CODE XREF: check_canbus2+264j
ROM:1FFFB42C                 LDR             R0, [SP,#0x148+var_148]
ROM:1FFFB42E                 CMP             R0, #0
ROM:1FFFB430                 BNE             loc_1FFFB412
ROM:1FFFB432
ROM:1FFFB432 loc_1FFFB432                            ; CODE XREF: check_canbus2+250j
ROM:1FFFB432                 LDRB.W          R0, [SP,#0x148+var_143]
ROM:1FFFB436                 CMP             R0, #3
ROM:1FFFB438                 BNE             loc_1FFFB466
ROM:1FFFB43A                 ANDS.W          R0, R7, #3
ROM:1FFFB43E                 ITT NE
ROM:1FFFB440                 ANDNE.W         R0, R7, #0xFC
ROM:1FFFB444                 ADDNE           R7, R0, #4
ROM:1FFFB446                 STR             R7, [SP,#0x148+var_148]
ROM:1FFFB448                 B               loc_1FFFB460
ROM:1FFFB44A ; ---------------------------------------------------------------------------
ROM:1FFFB44A
ROM:1FFFB44A loc_1FFFB44A                            ; CODE XREF: check_canbus2+2B8j
ROM:1FFFB44A                 LDR             R0, [SP,#0x148+var_140]
ROM:1FFFB44C                 LDR             R1, [SP,#0x148+var_148]
ROM:1FFFB44E                 SUBS            R0, R0, R1
ROM:1FFFB450                 LDR             R1, [SP,#0x148+var_148]
ROM:1FFFB452                 SUB.W           R1, R9, R1
ROM:1FFFB456                 LDR             R1, [R7,R1]
ROM:1FFFB458                 STR             R1, [R7,R0]
ROM:1FFFB45A                 LDR             R0, [SP,#0x148+var_148]
ROM:1FFFB45C                 SUBS            R0, R0, #4
ROM:1FFFB45E                 STR             R0, [SP,#0x148+var_148]
ROM:1FFFB460
ROM:1FFFB460 loc_1FFFB460                            ; CODE XREF: check_canbus2+29Cj
ROM:1FFFB460                 LDR             R0, [SP,#0x148+var_148]
ROM:1FFFB462                 CMP             R0, #0
ROM:1FFFB464                 BNE             loc_1FFFB44A
ROM:1FFFB466
ROM:1FFFB466 loc_1FFFB466                            ; CODE XREF: check_canbus2+28Cj
ROM:1FFFB466                 LDRB.W          R0, [SP,#0x148+var_143]
ROM:1FFFB46A                 CMP             R0, #4
ROM:1FFFB46C                 ITTT EQ
ROM:1FFFB46E                 LDREQ           R0, [SP,#0x148+var_140]
ROM:1FFFB470                 LDREQ.W         R1, =0x1FFFF800
ROM:1FFFB474                 CMPEQ           R0, R1
ROM:1FFFB476                 BNE             loc_1FFFB522
ROM:1FFFB478                 LSLS            R0, R7, #0x1F
ROM:1FFFB47A                 ITT MI
ROM:1FFFB47C                 ANDMI.W         R0, R7, #0xFE
ROM:1FFFB480                 ADDMI           R7, R0, #2
ROM:1FFFB482                 BL              sub_1FFFC046
ROM:1FFFB486                 BL              FLASH_UnlockBank1
ROM:1FFFB48A                 BL              sub_1FFFC010
ROM:1FFFB48E                 LDR.W           R0, [R10,#4]
ROM:1FFFB492                 ORR.W           R0, R0, #0x10
ROM:1FFFB496                 STR.W           R0, [R10,#4]
ROM:1FFFB49A                 BL              FLASH_WaitForLastOperation
ROM:1FFFB49E ; ---------------------------------------------------------------------------
ROM:1FFFB49E                 STR             R7, [SP,#0x148+var_148]
ROM:1FFFB4A0                 B               loc_1FFFB4BE
ROM:1FFFB4A2 ; ---------------------------------------------------------------------------
ROM:1FFFB4A2
ROM:1FFFB4A2 loc_1FFFB4A2                            ; CODE XREF: check_canbus2+316j
ROM:1FFFB4A2                 LDR             R0, [SP,#0x148+var_148]
ROM:1FFFB4A4                 SUB.W           R0, R9, R0
ROM:1FFFB4A8                 LDRH            R0, [R7,R0]
ROM:1FFFB4AA                 UXTB            R0, R0
ROM:1FFFB4AC                 LDR             R1, [SP,#0x148+var_140]
ROM:1FFFB4AE                 LDR             R2, [SP,#0x148+var_148]
ROM:1FFFB4B0                 SUBS            R1, R1, R2
ROM:1FFFB4B2                 STRH            R0, [R7,R1]
ROM:1FFFB4B4                 BL              FLASH_WaitForLastOperation
ROM:1FFFB4B8 ; ---------------------------------------------------------------------------
ROM:1FFFB4B8                 LDR             R0, [SP,#0x148+var_148]
ROM:1FFFB4BA                 SUBS            R0, R0, #2
ROM:1FFFB4BC                 STR             R0, [SP,#0x148+var_148]
ROM:1FFFB4BE
ROM:1FFFB4BE loc_1FFFB4BE                            ; CODE XREF: check_canbus2+2F4j
ROM:1FFFB4BE                 LDR             R0, [SP,#0x148+var_148]
ROM:1FFFB4C0                 CMP             R0, #0
ROM:1FFFB4C2                 BNE             loc_1FFFB4A2
ROM:1FFFB4C4                 LDR.W           R0, [R10,#4]
ROM:1FFFB4C8                 BIC.W           R0, R0, #0x10
ROM:1FFFB4CC                 STR.W           R0, [R10,#4]
ROM:1FFFB4D0                 BL              sub_1FFFB65A
ROM:1FFFB4D4                 BL              sys_reset
ROM:1FFFB4D8                 B               loc_1FFFB522
ROM:1FFFB4DA ; ---------------------------------------------------------------------------
ROM:1FFFB4DA
ROM:1FFFB4DA loc_1FFFB4DA                            ; CODE XREF: check_canbus2+116j
ROM:1FFFB4DA                 BL              sub_1FFFB64A
ROM:1FFFB4DE                 CMP             R0, #1
ROM:1FFFB4E0                 BEQ             loc_1FFFB5C6
ROM:1FFFB4E2                 BL              sub_1FFFB65A
ROM:1FFFB4E6                 BL              loc_1FFFB62C
ROM:1FFFB4EA ; ---------------------------------------------------------------------------
ROM:1FFFB4EA                 CMP             R0, #0xFF
ROM:1FFFB4EC                 BNE             loc_1FFFB4F4
ROM:1FFFB4EE                 BL              sub_1FFFC0C6
ROM:1FFFB4F2                 B               loc_1FFFB522
ROM:1FFFB4F4 ; ---------------------------------------------------------------------------
ROM:1FFFB4F4
ROM:1FFFB4F4 loc_1FFFB4F4                            ; CODE XREF: check_canbus2+340j
ROM:1FFFB4F4                 LDRB.W          R11, [SP,#0x148+var_144]
ROM:1FFFB4F8                 MOV             R7, R9
ROM:1FFFB4FA                 BL              sub_1FFFB602
ROM:1FFFB4FE                 CMP             R0, #0
ROM:1FFFB500                 BNE             loc_1FFFB5C6
ROM:1FFFB502                 ADD.W           R0, R11, #1
ROM:1FFFB506                 B               loc_1FFFB51A
ROM:1FFFB508 ; ---------------------------------------------------------------------------
ROM:1FFFB508
ROM:1FFFB508 loc_1FFFB508                            ; CODE XREF: check_canbus2+374j
ROM:1FFFB508                 LDRB.W          R0, [R7],#1
ROM:1FFFB50C                 LSLS            R0, R0, #0xB
ROM:1FFFB50E                 ADD.W           R0, R0, #0x8000000
ROM:1FFFB512                 BL              FLASH_ErasePage
ROM:1FFFB516                 LDR             R0, [SP,#0x148+var_148]
ROM:1FFFB518                 SUBS            R0, R0, #1
ROM:1FFFB51A
ROM:1FFFB51A loc_1FFFB51A                            ; CODE XREF: check_canbus2+35Aj
ROM:1FFFB51A                 STR             R0, [SP,#0x148+var_148]
ROM:1FFFB51C                 LDR             R0, [SP,#0x148+var_148]
ROM:1FFFB51E                 CMP             R0, #0
ROM:1FFFB520                 BNE             loc_1FFFB508
ROM:1FFFB522
ROM:1FFFB522 loc_1FFFB522                            ; CODE XREF: check_canbus2+1B8j
ROM:1FFFB522                                         ; check_canbus2+222j ...
ROM:1FFFB522                 MOVS            R0, #0x79
ROM:1FFFB524
ROM:1FFFB524 loc_1FFFB524                            ; CODE XREF: check_canbus2+41Cj
ROM:1FFFB524                 BL              sub_1FFFB60A
ROM:1FFFB528                 B               check_canbus ; 喂狗
ROM:1FFFB52A ; ---------------------------------------------------------------------------
ROM:1FFFB52A
ROM:1FFFB52A loc_1FFFB52A                            ; CODE XREF: check_canbus2+11Cj
ROM:1FFFB52A                 BL              sub_1FFFB64A
ROM:1FFFB52E                 CMP             R0, #1
ROM:1FFFB530                 BEQ             loc_1FFFB5C6
ROM:1FFFB532                 LDRB            R0, [R5,#0xB]
ROM:1FFFB534                 STRB.W          R0, [SP,#0x148+var_144]
ROM:1FFFB538                 LDRB.W          R11, [SP,#0x148+var_144]
ROM:1FFFB53C                 MOV             R7, R9
ROM:1FFFB53E                 BL              sub_1FFFB65A
ROM:1FFFB542                 BL              sub_1FFFB602
ROM:1FFFB546                 CMP             R0, #0
ROM:1FFFB548                 BNE             loc_1FFFB5C6
ROM:1FFFB54A                 STR             R0, [SP,#0x148+var_13C]
ROM:1FFFB54C                 ADD.W           R0, R11, #1
ROM:1FFFB550                 STR             R0, [SP,#0x148+var_148]
ROM:1FFFB552                 MOVS            R2, #1
ROM:1FFFB554                 B               loc_1FFFB56A
ROM:1FFFB556 ; ---------------------------------------------------------------------------
ROM:1FFFB556
ROM:1FFFB556 loc_1FFFB556                            ; CODE XREF: check_canbus2+3C2j
ROM:1FFFB556                 LDRB.W          R0, [R7],#1
ROM:1FFFB55A                 LDR             R1, [SP,#0x148+var_13C]
ROM:1FFFB55C                 LSL.W           R0, R2, R0
ROM:1FFFB560                 ORRS            R0, R1
ROM:1FFFB562                 STR             R0, [SP,#0x148+var_13C]
ROM:1FFFB564                 LDR             R0, [SP,#0x148+var_148]
ROM:1FFFB566                 SUBS            R0, R0, #1
ROM:1FFFB568                 STR             R0, [SP,#0x148+var_148]
ROM:1FFFB56A
ROM:1FFFB56A loc_1FFFB56A                            ; CODE XREF: check_canbus2+3A8j
ROM:1FFFB56A                 LDR             R0, [SP,#0x148+var_148]
ROM:1FFFB56C                 CMP             R0, #0
ROM:1FFFB56E                 BNE             loc_1FFFB556
ROM:1FFFB570                 BL              FLASH_UnlockBank1
ROM:1FFFB574                 MOVS            R0, #0x35
ROM:1FFFB576                 STR.W           R0, [R10]
ROM:1FFFB57A                 LDR             R0, [SP,#0x148+var_13C]
ROM:1FFFB57C                 BL              sub_1FFFC0FC
ROM:1FFFB580                 BL              sub_1FFFB65A
ROM:1FFFB584                 MOVS            R0, #0
ROM:1FFFB586
ROM:1FFFB586 loc_1FFFB586                            ; CODE XREF: check_canbus2+3E6j
ROM:1FFFB586                 STR             R0, [SP,#0x148+var_148]
ROM:1FFFB588                 LDR             R0, [SP,#0x148+var_148]
ROM:1FFFB58A                 CMP             R0, R8
ROM:1FFFB58C                 ITT CC
ROM:1FFFB58E                 LDRCC           R0, [SP,#0x148+var_148]
ROM:1FFFB590                 ADDCC           R0, R0, #1
ROM:1FFFB592                 BCC             loc_1FFFB586
ROM:1FFFB594                 B               loc_1FFFB5DC
ROM:1FFFB596 ; ---------------------------------------------------------------------------
ROM:1FFFB596
ROM:1FFFB596 loc_1FFFB596                            ; CODE XREF: check_canbus2+122j
ROM:1FFFB596                 BL              sub_1FFFB64A
ROM:1FFFB59A                 CMP             R0, #1
ROM:1FFFB59C                 BEQ             loc_1FFFB5C6
ROM:1FFFB59E                 BL              sub_1FFFB65A
ROM:1FFFB5A2                 MOVS            R0, #0
ROM:1FFFB5A4                 BL              sub_1FFFC1AA
ROM:1FFFB5A8                 BL              sub_1FFFB65A
ROM:1FFFB5AC                 MOVS            R0, #0
ROM:1FFFB5AE
ROM:1FFFB5AE loc_1FFFB5AE                            ; CODE XREF: check_canbus2+40Ej
ROM:1FFFB5AE                 STR             R0, [SP,#0x148+var_148]
ROM:1FFFB5B0                 LDR             R0, [SP,#0x148+var_148]
ROM:1FFFB5B2                 CMP             R0, R8
ROM:1FFFB5B4                 ITT CC
ROM:1FFFB5B6                 LDRCC           R0, [SP,#0x148+var_148]
ROM:1FFFB5B8                 ADDCC           R0, R0, #1
ROM:1FFFB5BA                 BCC             loc_1FFFB5AE
ROM:1FFFB5BC                 B               loc_1FFFB5DC
ROM:1FFFB5BE ; ---------------------------------------------------------------------------
ROM:1FFFB5BE
ROM:1FFFB5BE loc_1FFFB5BE                            ; CODE XREF: check_canbus2+128j
ROM:1FFFB5BE                 BL              sub_1FFFB64A
ROM:1FFFB5C2                 CMP             R0, #1
ROM:1FFFB5C4                 BNE             loc_1FFFB5CA
ROM:1FFFB5C6
ROM:1FFFB5C6 loc_1FFFB5C6                            ; CODE XREF: check_canbus2+7Cj
ROM:1FFFB5C6                                         ; check_canbus2+192j ...
ROM:1FFFB5C6                 MOVS            R0, #0x1F
ROM:1FFFB5C8                 B               loc_1FFFB524
ROM:1FFFB5CA ; ---------------------------------------------------------------------------
ROM:1FFFB5CA
ROM:1FFFB5CA loc_1FFFB5CA                            ; CODE XREF: check_canbus2+418j
ROM:1FFFB5CA                 BL              sub_1FFFB65A
ROM:1FFFB5CE                 MOVS            R0, #1
ROM:1FFFB5D0                 BL              sub_1FFFC1AA
ROM:1FFFB5D4                 BL              sub_1FFFB65A
ROM:1FFFB5D8                 BL              loc_1FFFB638
ROM:1FFFB5DC ; ---------------------------------------------------------------------------
ROM:1FFFB5DC
ROM:1FFFB5DC loc_1FFFB5DC                            ; CODE XREF: check_canbus2+3E8j
ROM:1FFFB5DC                                         ; check_canbus2+410j ...
ROM:1FFFB5DC                 BL              sys_reset
ROM:1FFFB5E0                 B               check_canbus ; 喂狗
ROM:1FFFB5E2 ; ---------------------------------------------------------------------------
ROM:1FFFB5E2
ROM:1FFFB5E2 loc_1FFFB5E2                            ; CODE XREF: check_canbus2+12Ej
ROM:1FFFB5E2                 BL              sub_1FFFB654
ROM:1FFFB5E6                 MOVS            R0, #0
ROM:1FFFB5E8                 BL              sub_1FFFC1AA
ROM:1FFFB5EC                 BL              sub_1FFFB65A
ROM:1FFFB5F0                 BL              loc_1FFFB638
ROM:1FFFB5F4 ; ---------------------------------------------------------------------------
ROM:1FFFB5F4                 BL              clear_all_mem
ROM:1FFFB5F8                 B               loc_1FFFB5DC
ROM:1FFFB5FA ; ---------------------------------------------------------------------------
ROM:1FFFB5FA
ROM:1FFFB5FA loc_1FFFB5FA                            ; CODE XREF: check_canbus2+132j
ROM:1FFFB5FA                 STR             R7, [R4]
ROM:1FFFB5FC                 MOVS            R0, #1
ROM:1FFFB5FE                 STRB            R0, [R4,#0xA]
ROM:1FFFB600                 B               loc_1FFFB5C6
ROM:1FFFB600 ; End of function check_canbus2
ROM:1FFFB600
ROM:1FFFB602
ROM:1FFFB602 ; =============== S U B R O U T I N E =======================================
ROM:1FFFB602
ROM:1FFFB602
ROM:1FFFB602 sub_1FFFB602                            ; CODE XREF: check_canbus2+240p
ROM:1FFFB602                                         ; check_canbus2+34Ep ...
ROM:1FFFB602
ROM:1FFFB602 arg_4           =  4
ROM:1FFFB602
ROM:1FFFB602                 MOV             R1, R9
ROM:1FFFB604                 LDRB.W          R0, [SP,#arg_4]
ROM:1FFFB608                 B               sub_1FFFB966
ROM:1FFFB608 ; End of function sub_1FFFB602
ROM:1FFFB608
ROM:1FFFB60A
ROM:1FFFB60A ; =============== S U B R O U T I N E =======================================
ROM:1FFFB60A
ROM:1FFFB60A
ROM:1FFFB60A sub_1FFFB60A                            ; CODE XREF: check_canbus2+14Ap
ROM:1FFFB60A                                         ; check_canbus2+160p ...
ROM:1FFFB60A                 STRB            R0, [R4,#0xB]
ROM:1FFFB60C                 MOV             R0, R4
ROM:1FFFB60E                 B               sub_1FFFB7C2
ROM:1FFFB60E ; End of function sub_1FFFB60A
ROM:1FFFB60E
ROM:1FFFB610 ; ---------------------------------------------------------------------------
ROM:1FFFB610 ; START OF FUNCTION CHUNK FOR check_canbus2
ROM:1FFFB610
ROM:1FFFB610 loc_1FFFB610                            ; CODE XREF: check_canbus2+1C2j
ROM:1FFFB610                                         ; check_canbus2+22Cj
ROM:1FFFB610                 STRB.W          R0, [SP,#0x148+var_143]
ROM:1FFFB614                 LDRB.W          R0, [SP,#0x148+var_143]
ROM:1FFFB618                 CMP             R0, #1
ROM:1FFFB61A                 BX              LR
ROM:1FFFB61C ; ---------------------------------------------------------------------------
ROM:1FFFB61C
ROM:1FFFB61C loc_1FFFB61C                            ; CODE XREF: check_canbus2+66j
ROM:1FFFB61C                                         ; check_canbus2+1BEj ...
ROM:1FFFB61C                 STR             R0, [SP,#0x148+var_140]
ROM:1FFFB61E                 LDR             R0, [SP,#0x148+var_140]
ROM:1FFFB620                 B.W             get_mem_block
ROM:1FFFB620 ; END OF FUNCTION CHUNK FOR check_canbus2
ROM:1FFFB624
ROM:1FFFB624 ; =============== S U B R O U T I N E =======================================
ROM:1FFFB624
ROM:1FFFB624
ROM:1FFFB624 sub_1FFFB624                            ; CODE XREF: check_canbus2:loc_1FFFB20Ep
ROM:1FFFB624                                         ; check_canbus2:loc_1FFFB366p ...
ROM:1FFFB624                 STR             R0, [R4]
ROM:1FFFB626                 MOVS            R0, #1
ROM:1FFFB628                 STRB            R0, [R4,#0xA]
ROM:1FFFB62A                 B               sub_1FFFB940
ROM:1FFFB62A ; End of function sub_1FFFB624
ROM:1FFFB62A
ROM:1FFFB62C ; ---------------------------------------------------------------------------
ROM:1FFFB62C ; START OF FUNCTION CHUNK FOR check_canbus2
ROM:1FFFB62C
ROM:1FFFB62C loc_1FFFB62C                            ; CODE XREF: check_canbus2+18Cj
ROM:1FFFB62C                                         ; check_canbus2+33Aj
ROM:1FFFB62C                 LDRB            R0, [R5,#0xB]
ROM:1FFFB62E
ROM:1FFFB62E loc_1FFFB62E                            ; CODE XREF: check_canbus2+1CEj
ROM:1FFFB62E                                         ; check_canbus2+23Aj
ROM:1FFFB62E                 STRB.W          R0, [SP,#0x148+var_144]
ROM:1FFFB632                 LDRB.W          R0, [SP,#0x148+var_144]
ROM:1FFFB636                 BX              LR
ROM:1FFFB638 ; ---------------------------------------------------------------------------
ROM:1FFFB638
ROM:1FFFB638 loc_1FFFB638                            ; CODE XREF: check_canbus2+42Cj
ROM:1FFFB638                                         ; check_canbus2+444j
ROM:1FFFB638                 MOVS            R0, #0
ROM:1FFFB63A                 B               loc_1FFFB640
ROM:1FFFB63C ; ---------------------------------------------------------------------------
ROM:1FFFB63C
ROM:1FFFB63C loc_1FFFB63C                            ; CODE XREF: check_canbus2+49Aj
ROM:1FFFB63C                 LDR             R0, [SP,#0x148+var_148]
ROM:1FFFB63E                 ADDS            R0, R0, #1
ROM:1FFFB640
ROM:1FFFB640 loc_1FFFB640                            ; CODE XREF: check_canbus2+48Ej
ROM:1FFFB640                 STR             R0, [SP,#0x148+var_148]
ROM:1FFFB642                 LDR             R0, [SP,#0x148+var_148]
ROM:1FFFB644                 CMP             R0, R8
ROM:1FFFB646                 BCC             loc_1FFFB63C
ROM:1FFFB648                 BX              LR
ROM:1FFFB648 ; END OF FUNCTION CHUNK FOR check_canbus2
ROM:1FFFB64A
ROM:1FFFB64A ; =============== S U B R O U T I N E =======================================
ROM:1FFFB64A
ROM:1FFFB64A
ROM:1FFFB64A sub_1FFFB64A                            ; CODE XREF: check_canbus2:loc_1FFFB4DAp
ROM:1FFFB64A                                         ; check_canbus2:loc_1FFFB52Ap ...
ROM:1FFFB64A                 STR             R0, [R4]
ROM:1FFFB64C                 MOVS            R0, #1
ROM:1FFFB64E                 STRB            R0, [R4,#0xA]
ROM:1FFFB650                 B.W             FLASH_GetReadOutProtectionStatus ; 检查flash的读保护位
ROM:1FFFB650 ; End of function sub_1FFFB64A          ;
ROM:1FFFB650
ROM:1FFFB654
ROM:1FFFB654 ; =============== S U B R O U T I N E =======================================
ROM:1FFFB654
ROM:1FFFB654
ROM:1FFFB654 sub_1FFFB654                            ; CODE XREF: check_canbus2+48p
ROM:1FFFB654                                         ; check_canbus2:loc_1FFFB31Ap ...
ROM:1FFFB654                 STR             R0, [R4]
ROM:1FFFB656                 MOVS            R0, #1
ROM:1FFFB658                 STRB            R0, [R4,#0xA]
ROM:1FFFB658 ; End of function sub_1FFFB654
ROM:1FFFB658
ROM:1FFFB65A
ROM:1FFFB65A ; =============== S U B R O U T I N E =======================================
ROM:1FFFB65A
ROM:1FFFB65A
ROM:1FFFB65A sub_1FFFB65A                            ; CODE XREF: check_canbus2+80p
ROM:1FFFB65A                                         ; check_canbus2+156p ...
ROM:1FFFB65A                 MOVS            R0, #0x79
ROM:1FFFB65C                 STRB            R0, [R4,#0xB]
ROM:1FFFB65E                 MOV             R0, R4
ROM:1FFFB660                 B               sub_1FFFB7C2
ROM:1FFFB660 ; End of function sub_1FFFB65A
ROM:1FFFB660
ROM:1FFFB662
ROM:1FFFB662 ; =============== S U B R O U T I N E =======================================
ROM:1FFFB662
ROM:1FFFB662
ROM:1FFFB662 sub_1FFFB662                            ; CODE XREF: check_canbus2+32p
ROM:1FFFB662
ROM:1FFFB662 var_18          = -0x18
ROM:1FFFB662 var_14          = -0x14
ROM:1FFFB662
ROM:1FFFB662                 PUSH            {R2-R6,LR}
ROM:1FFFB664                 MOVW            R5, #0x1FF
ROM:1FFFB668                 STR             R5, [SP,#0x18+var_14]
ROM:1FFFB66A                 MOVS            R0, #0
ROM:1FFFB66C                 STR             R0, [SP,#0x18+var_18]
ROM:1FFFB66E                 BL              sub_1FFFBBF0
ROM:1FFFB672                 MOVS            R0, #0
ROM:1FFFB674                 BL              sub_1FFFBC96
ROM:1FFFB678                 LDR.W           R4, =0x20000164
ROM:1FFFB67C                 LDR.W           R0, =0x1000F
ROM:1FFFB680                 BL              sub_1FFFB75E
ROM:1FFFB684                 LDR.W           R0, =0x10007
ROM:1FFFB688                 STR             R0, [R4,#0x18]
ROM:1FFFB68A                 LDR.W           R0, =0x10003
ROM:1FFFB68E                 STR             R0, [R4,#0x1C]
ROM:1FFFB690                 MOV.W           R0, #0x10001
ROM:1FFFB694                 STR             R0, [R4,#0x20]
ROM:1FFFB696                 STR             R5, [SP,#0x18+var_14]
ROM:1FFFB698                 MOVS            R0, #0
ROM:1FFFB69A                 STR             R0, [SP,#0x18+var_18]
ROM:1FFFB69C                 LDR.W           R5, =0x40021010
ROM:1FFFB6A0                 LDR.W           R6, =0x4000680C
ROM:1FFFB6A4                 B               loc_1FFFB710
ROM:1FFFB6A6 ; ---------------------------------------------------------------------------
ROM:1FFFB6A6
ROM:1FFFB6A6 loc_1FFFB6A6                            ; CODE XREF: sub_1FFFB662+B8j
ROM:1FFFB6A6                 LDR             R0, [SP,#0x18+var_18]
ROM:1FFFB6A8                 CMP             R0, #1
ROM:1FFFB6AA                 BNE             loc_1FFFB6D0
ROM:1FFFB6AC                 BL              sub_1FFFB74C
ROM:1FFFB6B0                 LDR.W           R0, =0x110027
ROM:1FFFB6B4                 BL              sub_1FFFB75E
ROM:1FFFB6B8                 LDR.W           R0, =0x110013
ROM:1FFFB6BC                 STR             R0, [R4,#0x18]
ROM:1FFFB6BE                 LDR.W           R0, =0x110009
ROM:1FFFB6C2                 STR             R0, [R4,#0x1C]
ROM:1FFFB6C4                 LDR.W           R0, =0x110004
ROM:1FFFB6C8                 STR             R0, [R4,#0x20]
ROM:1FFFB6CA                 MOVW            R0, #0x4FF
ROM:1FFFB6CE                 STR             R0, [SP,#0x18+var_14]
ROM:1FFFB6D0
ROM:1FFFB6D0 loc_1FFFB6D0                            ; CODE XREF: sub_1FFFB662+48j
ROM:1FFFB6D0                 LDR             R0, [SP,#0x18+var_18]
ROM:1FFFB6D2                 CMP             R0, #2
ROM:1FFFB6D4                 BNE             loc_1FFFB70A
ROM:1FFFB6D6                 BL              sub_1FFFB74C
ROM:1FFFB6DA                 BL              sub_1FFFBBF0
ROM:1FFFB6DE                 MOV.W           R0, #0x400
ROM:1FFFB6E2                 BL              sub_1FFFBC96
ROM:1FFFB6E6                 BL              sub_1FFFBE1A
ROM:1FFFB6EA                 LDR.W           R0, =0x21001F
ROM:1FFFB6EE                 BL              sub_1FFFB75E
ROM:1FFFB6F2                 LDR.W           R0, =0x21000F
ROM:1FFFB6F6                 STR             R0, [R4,#0x18]
ROM:1FFFB6F8                 LDR.W           R0, =0x210007
ROM:1FFFB6FC                 STR             R0, [R4,#0x1C]
ROM:1FFFB6FE                 LDR.W           R0, =0x210003
ROM:1FFFB702                 STR             R0, [R4,#0x20]
ROM:1FFFB704                 MOVW            R0, #0x5FF
ROM:1FFFB708                 STR             R0, [SP,#0x18+var_14]
ROM:1FFFB70A
ROM:1FFFB70A loc_1FFFB70A                            ; CODE XREF: sub_1FFFB662+72j
ROM:1FFFB70A                 LDR             R0, [SP,#0x18+var_18]
ROM:1FFFB70C                 ADDS            R0, R0, #1
ROM:1FFFB70E                 STR             R0, [SP,#0x18+var_18]
ROM:1FFFB710
ROM:1FFFB710 loc_1FFFB710                            ; CODE XREF: sub_1FFFB662+42j
ROM:1FFFB710                 LDR             R0, [SP,#0x18+var_18]
ROM:1FFFB712                 CMP             R0, #4
ROM:1FFFB714                 BCS             loc_1FFFB748
ROM:1FFFB716
ROM:1FFFB716 loc_1FFFB716                            ; CODE XREF: sub_1FFFB662+C4j
ROM:1FFFB716                                         ; sub_1FFFB662+DCj
ROM:1FFFB716                 LDR             R0, [SP,#0x18+var_14]
ROM:1FFFB718                 CMP             R0, #0
ROM:1FFFB71A                 BEQ             loc_1FFFB6A6
ROM:1FFFB71C                 LDR             R0, [SP,#0x18+var_14]
ROM:1FFFB71E                 SUBS            R0, R0, #1
ROM:1FFFB720                 STR             R0, [SP,#0x18+var_14]
ROM:1FFFB722                 LDR             R0, [R6]
ROM:1FFFB724                 LSLS            R0, R0, #0x1F
ROM:1FFFB726                 BPL             loc_1FFFB716
ROM:1FFFB728                 MOVS            R0, #0
ROM:1FFFB72A                 STR             R0, [R4]
ROM:1FFFB72C                 LDR             R0, =0x400069B0
ROM:1FFFB72E                 LDR             R0, [R0]
ROM:1FFFB730                 LSRS            R0, R0, #0x15
ROM:1FFFB732                 STR             R0, [R4]
ROM:1FFFB734                 CMP             R0, #0x79
ROM:1FFFB736                 ITT EQ
ROM:1FFFB738                 LDREQ           R0, [R6,#0xC]
ROM:1FFFB73A                 ANDEQS.W        R0, R0, #0x70
ROM:1FFFB73E                 BNE             loc_1FFFB716
ROM:1FFFB740                 MOVS            R0, #0x20
ROM:1FFFB742                 STR             R0, [R6]
ROM:1FFFB744                 MOVS            R0, #0
ROM:1FFFB746                 POP             {R1,R2,R4-R6,PC}
ROM:1FFFB748 ; ---------------------------------------------------------------------------
ROM:1FFFB748
ROM:1FFFB748 loc_1FFFB748                            ; CODE XREF: sub_1FFFB662+B2j
ROM:1FFFB748                 MOVS            R0, #1
ROM:1FFFB74A                 POP             {R1,R2,R4-R6,PC}
ROM:1FFFB74A ; End of function sub_1FFFB662
ROM:1FFFB74A
ROM:1FFFB74C
ROM:1FFFB74C ; =============== S U B R O U T I N E =======================================
ROM:1FFFB74C
ROM:1FFFB74C
ROM:1FFFB74C sub_1FFFB74C                            ; CODE XREF: sub_1FFFB662+4Ap
ROM:1FFFB74C                                         ; sub_1FFFB662+74p
ROM:1FFFB74C                 LDR             R0, [R5]
ROM:1FFFB74E                 ORR.W           R0, R0, #0x4000000
ROM:1FFFB752                 STR             R0, [R5]
ROM:1FFFB754                 LDR             R0, [R5]
ROM:1FFFB756                 BIC.W           R0, R0, #0x4000000
ROM:1FFFB75A                 STR             R0, [R5]
ROM:1FFFB75C                 BX              LR
ROM:1FFFB75C ; End of function sub_1FFFB74C
ROM:1FFFB75C
ROM:1FFFB75E
ROM:1FFFB75E ; =============== S U B R O U T I N E =======================================
ROM:1FFFB75E
ROM:1FFFB75E
ROM:1FFFB75E sub_1FFFB75E                            ; CODE XREF: sub_1FFFB662+1Ep
ROM:1FFFB75E                                         ; sub_1FFFB662+52p ...
ROM:1FFFB75E                 STR             R0, [R4,#0x14]
ROM:1FFFB760                 MOVS            R0, #1
ROM:1FFFB762                 B               loc_1FFFB764
ROM:1FFFB764 ; ---------------------------------------------------------------------------
ROM:1FFFB764
ROM:1FFFB764 loc_1FFFB764                            ; CODE XREF: check_canbus2+19Ep
ROM:1FFFB764                                         ; sub_1FFFB75E+4j
ROM:1FFFB764                 PUSH            {R4,LR}
ROM:1FFFB766                 MOVW            R1, #0xFFFF
ROM:1FFFB76A                 MOV             R3, R1
ROM:1FFFB76C                 LDR             R2, =0x40006800
ROM:1FFFB76E                 LDR             R4, [R2]
ROM:1FFFB770                 BIC.W           R4, R4, #2
ROM:1FFFB774                 STR             R4, [R2]
ROM:1FFFB776                 LDR             R4, [R2]
ROM:1FFFB778                 ORR.W           R4, R4, #1
ROM:1FFFB77C                 STR             R4, [R2]
ROM:1FFFB77E
ROM:1FFFB77E loc_1FFFB77E                            ; CODE XREF: sub_1FFFB75E+2Cj
ROM:1FFFB77E                 LDR             R4, [R2,#4]
ROM:1FFFB780                 LSLS            R4, R4, #0x1F
ROM:1FFFB782                 BMI             loc_1FFFB78C
ROM:1FFFB784                 SUBS            R3, R3, #1
ROM:1FFFB786                 UXTH            R3, R3
ROM:1FFFB788                 CMP             R3, #0
ROM:1FFFB78A                 BNE             loc_1FFFB77E
ROM:1FFFB78C
ROM:1FFFB78C loc_1FFFB78C                            ; CODE XREF: sub_1FFFB75E+24j
ROM:1FFFB78C                 LDR             R3, [R2,#4]
ROM:1FFFB78E                 LSLS            R3, R3, #0x1F
ROM:1FFFB790                 BPL             loc_1FFFB7BE
ROM:1FFFB792                 MOV.W           R3, #0x10001
ROM:1FFFB796                 STR             R3, [R2]
ROM:1FFFB798                 LDR             R3, =0x20000164
ROM:1FFFB79A                 ADD.W           R0, R3, R0,LSL#2
ROM:1FFFB79E                 LDR             R0, [R0,#0x10]
ROM:1FFFB7A0                 STR             R0, [R2,#0x1C]
ROM:1FFFB7A2                 MOV.W           R0, #0x10000
ROM:1FFFB7A6                 STR             R0, [R2]
ROM:1FFFB7A8                 MOV             R3, R1
ROM:1FFFB7AA
ROM:1FFFB7AA loc_1FFFB7AA                            ; CODE XREF: sub_1FFFB75E+58j
ROM:1FFFB7AA                 LDR             R0, [R2,#4]
ROM:1FFFB7AC                 LSLS            R0, R0, #0x1F
ROM:1FFFB7AE                 BPL             loc_1FFFB7B8
ROM:1FFFB7B0                 SUBS            R3, R3, #1
ROM:1FFFB7B2                 UXTH            R3, R3
ROM:1FFFB7B4                 CMP             R3, #0
ROM:1FFFB7B6                 BNE             loc_1FFFB7AA
ROM:1FFFB7B8
ROM:1FFFB7B8 loc_1FFFB7B8                            ; CODE XREF: sub_1FFFB75E+50j
ROM:1FFFB7B8                 LDR             R0, [R2,#4]
ROM:1FFFB7BA                 LSLS            R0, R0, #0x1F
ROM:1FFFB7BC                 BPL             locret_1FFFB7C0
ROM:1FFFB7BE
ROM:1FFFB7BE loc_1FFFB7BE                            ; CODE XREF: sub_1FFFB75E+32j
ROM:1FFFB7BE                 B               loc_1FFFB83C
ROM:1FFFB7C0 ; ---------------------------------------------------------------------------
ROM:1FFFB7C0
ROM:1FFFB7C0 locret_1FFFB7C0                         ; CODE XREF: sub_1FFFB75E+5Ej
ROM:1FFFB7C0                 POP             {R4,PC}
ROM:1FFFB7C0 ; End of function sub_1FFFB75E
ROM:1FFFB7C0
ROM:1FFFB7C2
ROM:1FFFB7C2 ; =============== S U B R O U T I N E =======================================
ROM:1FFFB7C2
ROM:1FFFB7C2
ROM:1FFFB7C2 sub_1FFFB7C2                            ; CODE XREF: check_canbus2+180p
ROM:1FFFB7C2                                         ; check_canbus2+208p ...
ROM:1FFFB7C2                 PUSH            {R4,LR}
ROM:1FFFB7C4                 MOV.W           R4, #0xB00000
ROM:1FFFB7C8                 LDR             R1, =0x40006980
ROM:1FFFB7CA                 LDR             R2, [R1]
ROM:1FFFB7CC                 AND.W           R2, R2, #1
ROM:1FFFB7D0                 STR             R2, [R1]
ROM:1FFFB7D2                 LDR             R2, [R1]
ROM:1FFFB7D4                 LDR             R3, [R0]
ROM:1FFFB7D6                 ORR.W           R2, R2, R3,LSL#21
ROM:1FFFB7DA                 STR             R2, [R1]
ROM:1FFFB7DC                 LDRB            R2, [R0,#0xA]
ROM:1FFFB7DE                 AND.W           R2, R2, #0xF
ROM:1FFFB7E2                 STRB            R2, [R0,#0xA]
ROM:1FFFB7E4                 LDR             R2, [R1,#4]
ROM:1FFFB7E6                 LSRS            R2, R2, #4
ROM:1FFFB7E8                 LSLS            R2, R2, #4
ROM:1FFFB7EA                 STR             R2, [R1,#4]
ROM:1FFFB7EC                 LDR             R2, [R1,#4]
ROM:1FFFB7EE                 LDRB            R3, [R0,#0xA]
ROM:1FFFB7F0                 ORRS            R2, R3
ROM:1FFFB7F2                 STR             R2, [R1,#4]
ROM:1FFFB7F4                 LDRB            R2, [R0,#0xE]
ROM:1FFFB7F6                 LDRB            R3, [R0,#0xD]
ROM:1FFFB7F8                 LSLS            R3, R3, #0x10
ROM:1FFFB7FA                 ORR.W           R2, R3, R2,LSL#24
ROM:1FFFB7FE                 LDRB            R3, [R0,#0xC]
ROM:1FFFB800                 ORR.W           R2, R2, R3,LSL#8
ROM:1FFFB804                 LDRB            R3, [R0,#0xB]
ROM:1FFFB806                 ORRS            R2, R3
ROM:1FFFB808                 STR             R2, [R1,#8]
ROM:1FFFB80A                 LDRB            R2, [R0,#0x12]
ROM:1FFFB80C                 LDRB            R3, [R0,#0x11]
ROM:1FFFB80E                 LSLS            R3, R3, #0x10
ROM:1FFFB810                 ORR.W           R2, R3, R2,LSL#24
ROM:1FFFB814                 LDRB            R3, [R0,#0x10]
ROM:1FFFB816                 ORR.W           R2, R2, R3,LSL#8
ROM:1FFFB81A                 LDRB            R0, [R0,#0xF]
ROM:1FFFB81C                 ORRS            R0, R2
ROM:1FFFB81E                 STR             R0, [R1,#0xC]
ROM:1FFFB820                 LDR             R0, [R1]
ROM:1FFFB822                 ORR.W           R0, R0, #1
ROM:1FFFB826                 STR             R0, [R1]
ROM:1FFFB828                 B               loc_1FFFB82E
ROM:1FFFB82A ; ---------------------------------------------------------------------------
ROM:1FFFB82A
ROM:1FFFB82A loc_1FFFB82A                            ; CODE XREF: sub_1FFFB7C2+72j
ROM:1FFFB82A                 CBZ             R4, loc_1FFFB838
ROM:1FFFB82C                 SUBS            R4, R4, #1
ROM:1FFFB82E
ROM:1FFFB82E loc_1FFFB82E                            ; CODE XREF: sub_1FFFB7C2+66j
ROM:1FFFB82E                 BL              sub_1FFFB8AA
ROM:1FFFB832                 CMP             R0, #1
ROM:1FFFB834                 BNE             loc_1FFFB82A
ROM:1FFFB836                 CBNZ            R4, locret_1FFFB83A
ROM:1FFFB838
ROM:1FFFB838 loc_1FFFB838                            ; CODE XREF: sub_1FFFB7C2:loc_1FFFB82Aj
ROM:1FFFB838                 B               loc_1FFFB83C
ROM:1FFFB83A ; ---------------------------------------------------------------------------
ROM:1FFFB83A
ROM:1FFFB83A locret_1FFFB83A                         ; CODE XREF: sub_1FFFB7C2+74j
ROM:1FFFB83A                 POP             {R4,PC}
ROM:1FFFB83C ; ---------------------------------------------------------------------------
ROM:1FFFB83C
ROM:1FFFB83C loc_1FFFB83C                            ; CODE XREF: sub_1FFFB75E:loc_1FFFB7BEj
ROM:1FFFB83C                                         ; sub_1FFFB7C2:loc_1FFFB838j
ROM:1FFFB83C                 POP.W           {R4,LR}
ROM:1FFFB840                 B.W             sys_reset
ROM:1FFFB840 ; End of function sub_1FFFB7C2
ROM:1FFFB840
ROM:1FFFB844
ROM:1FFFB844 ; =============== S U B R O U T I N E =======================================
ROM:1FFFB844
ROM:1FFFB844
ROM:1FFFB844 sub_1FFFB844                            ; CODE XREF: check_canbus2+D2p
ROM:1FFFB844                                         ; sub_1FFFB966+2Ep ...
ROM:1FFFB844                 LDR             R1, =0x4000680C
ROM:1FFFB846                 LDR             R2, [R1]
ROM:1FFFB848                 LSLS            R2, R2, #0x1B
ROM:1FFFB84A                 BPL             loc_1FFFB850
ROM:1FFFB84C                 MOVS            R0, #1
ROM:1FFFB84E                 BX              LR
ROM:1FFFB850 ; ---------------------------------------------------------------------------
ROM:1FFFB850
ROM:1FFFB850 loc_1FFFB850                            ; CODE XREF: sub_1FFFB844+6j
ROM:1FFFB850                 LDR             R2, =0x400069B0
ROM:1FFFB852                 LDR             R3, [R2]
ROM:1FFFB854                 AND.W           R3, R3, #4
ROM:1FFFB858                 STRB            R3, [R0,#8]
ROM:1FFFB85A                 LDR             R3, [R2]
ROM:1FFFB85C                 LSRS            R3, R3, #0x15
ROM:1FFFB85E                 STR             R3, [R0]
ROM:1FFFB860                 LDR             R3, [R2]
ROM:1FFFB862                 AND.W           R3, R3, #2
ROM:1FFFB866                 STRB            R3, [R0,#9]
ROM:1FFFB868                 LDR             R3, [R2,#4]
ROM:1FFFB86A                 AND.W           R3, R3, #0xF
ROM:1FFFB86E                 STRB            R3, [R0,#0xA]
ROM:1FFFB870                 LDR             R3, [R2,#4]
ROM:1FFFB872                 LSRS            R3, R3, #8
ROM:1FFFB874                 STRB            R3, [R0,#0x13]
ROM:1FFFB876                 LDR             R3, [R2,#8]
ROM:1FFFB878                 STRB            R3, [R0,#0xB]
ROM:1FFFB87A                 LDR             R3, [R2,#8]
ROM:1FFFB87C                 LSRS            R3, R3, #8
ROM:1FFFB87E                 STRB            R3, [R0,#0xC]
ROM:1FFFB880                 LDR             R3, [R2,#8]
ROM:1FFFB882                 LSRS            R3, R3, #0x10
ROM:1FFFB884                 STRB            R3, [R0,#0xD]
ROM:1FFFB886                 LDR             R3, [R2,#8]
ROM:1FFFB888                 LSRS            R3, R3, #0x18
ROM:1FFFB88A                 STRB            R3, [R0,#0xE]
ROM:1FFFB88C                 LDR             R3, [R2,#0xC]
ROM:1FFFB88E                 STRB            R3, [R0,#0xF]
ROM:1FFFB890                 LDR             R3, [R2,#0xC]
ROM:1FFFB892                 LSRS            R3, R3, #8
ROM:1FFFB894                 STRB            R3, [R0,#0x10]
ROM:1FFFB896                 LDR             R3, [R2,#0xC]
ROM:1FFFB898                 LSRS            R3, R3, #0x10
ROM:1FFFB89A                 STRB            R3, [R0,#0x11]
ROM:1FFFB89C                 LDR             R2, [R2,#0xC]
ROM:1FFFB89E                 LSRS            R2, R2, #0x18
ROM:1FFFB8A0                 STRB            R2, [R0,#0x12]
ROM:1FFFB8A2                 MOVS            R0, #0x20
ROM:1FFFB8A4                 STR             R0, [R1]
ROM:1FFFB8A6                 MOVS            R0, #0
ROM:1FFFB8A8                 BX              LR
ROM:1FFFB8A8 ; End of function sub_1FFFB844
ROM:1FFFB8A8
ROM:1FFFB8AA
ROM:1FFFB8AA ; =============== S U B R O U T I N E =======================================
ROM:1FFFB8AA
ROM:1FFFB8AA
ROM:1FFFB8AA sub_1FFFB8AA                            ; CODE XREF: sub_1FFFB7C2:loc_1FFFB82Ep
ROM:1FFFB8AA                 LDR             R0, =0x40006808
ROM:1FFFB8AC                 LDR             R1, [R0]
ROM:1FFFB8AE                 LDR             R2, [R0]
ROM:1FFFB8B0                 LDR             R0, [R0]
ROM:1FFFB8B2                 AND.W           R1, R1, #1
ROM:1FFFB8B6                 AND.W           R2, R2, #2
ROM:1FFFB8BA                 ORR.W           R1, R2, R1,LSL#2
ROM:1FFFB8BE                 LSRS            R0, R0, #0x1A
ROM:1FFFB8C0                 AND.W           R0, R0, #1
ROM:1FFFB8C4                 ORRS            R0, R1
ROM:1FFFB8C6                 BEQ             loc_1FFFB8CE
ROM:1FFFB8C8                 CMP             R0, #7
ROM:1FFFB8CA                 BEQ             loc_1FFFB8D2
ROM:1FFFB8CC                 B               loc_1FFFB8D6
ROM:1FFFB8CE ; ---------------------------------------------------------------------------
ROM:1FFFB8CE
ROM:1FFFB8CE loc_1FFFB8CE                            ; CODE XREF: sub_1FFFB8AA+1Cj
ROM:1FFFB8CE                 MOVS            R0, #2
ROM:1FFFB8D0                 BX              LR
ROM:1FFFB8D2 ; ---------------------------------------------------------------------------
ROM:1FFFB8D2
ROM:1FFFB8D2 loc_1FFFB8D2                            ; CODE XREF: sub_1FFFB8AA+20j
ROM:1FFFB8D2                 MOVS            R0, #1
ROM:1FFFB8D4                 BX              LR
ROM:1FFFB8D6 ; ---------------------------------------------------------------------------
ROM:1FFFB8D6
ROM:1FFFB8D6 loc_1FFFB8D6                            ; CODE XREF: sub_1FFFB8AA+22j
ROM:1FFFB8D6                 MOVS            R0, #0
ROM:1FFFB8D8                 BX              LR
ROM:1FFFB8D8 ; End of function sub_1FFFB8AA
ROM:1FFFB8D8
ROM:1FFFB8DA
ROM:1FFFB8DA ; =============== S U B R O U T I N E =======================================
ROM:1FFFB8DA
ROM:1FFFB8DA
ROM:1FFFB8DA get_can_bus                             ; CODE XREF: check_canbus2:loc_1FFFB274p
ROM:1FFFB8DA                                         ; sub_1FFFB966:loc_1FFFB988p ...
ROM:1FFFB8DA                 LDR             R0, =0x40003000
ROM:1FFFB8DC                 MOVW            R1, #0xAAAA
ROM:1FFFB8E0                 STR             R1, [R0] ; 喂狗
ROM:1FFFB8E2                 LDR             R0, =0x4000680C ; can2 port
ROM:1FFFB8E4                 LDR             R0, [R0]
ROM:1FFFB8E6                 AND.W           R0, R0, #3
ROM:1FFFB8EA                 BX              LR
ROM:1FFFB8EA ; End of function get_can_bus
ROM:1FFFB8EA
ROM:1FFFB8EC
ROM:1FFFB8EC ; =============== S U B R O U T I N E =======================================
ROM:1FFFB8EC
ROM:1FFFB8EC
ROM:1FFFB8EC sub_1FFFB8EC                            ; CODE XREF: check_canbus2+E0p
ROM:1FFFB8EC                                         ; sub_1FFFB966+36p ...
ROM:1FFFB8EC                 MOVS            R0, #1
ROM:1FFFB8EE                 LDR             R1, =0x40006818
ROM:1FFFB8F0                 LDR             R1, [R1]
ROM:1FFFB8F2                 ANDS.W          R1, R1, #0x70
ROM:1FFFB8F6                 IT EQ
ROM:1FFFB8F8                 MOVEQ           R0, #0
ROM:1FFFB8FA                 BX              LR
ROM:1FFFB8FA ; End of function sub_1FFFB8EC
ROM:1FFFB8FA
ROM:1FFFB8FC ; ---------------------------------------------------------------------------
ROM:1FFFB8FC ; START OF FUNCTION CHUNK FOR trigger_canbus
ROM:1FFFB8FC
ROM:1FFFB8FC loc_1FFFB8FC                            ; CODE XREF: trigger_canbus+5Aj
ROM:1FFFB8FC                 LDR             R0, =0x40006600 ; bxCAN1
ROM:1FFFB8FE                 LDR             R1, [R0]
ROM:1FFFB900                 ORR.W           R1, R1, #1
ROM:1FFFB904                 STR             R1, [R0]
ROM:1FFFB906                 LDR             R1, [R0,#0x1C]
ROM:1FFFB908                 BIC.W           R1, R1, #0x4000
ROM:1FFFB90C                 STR             R1, [R0,#0x1C]
ROM:1FFFB90E                 LDR             R1, [R0,#0xC]
ROM:1FFFB910                 ORR.W           R1, R1, #0x4000
ROM:1FFFB914                 STR             R1, [R0,#0xC]
ROM:1FFFB916                 LDR             R1, =0x400066B0
ROM:1FFFB918                 MOVS            R2, #0
ROM:1FFFB91A                 STR             R2, [R1]
ROM:1FFFB91C                 STR             R2, [R1,#4]
ROM:1FFFB91E                 LDR             R1, [R0,#4]
ROM:1FFFB920                 BIC.W           R1, R1, #0x4000
ROM:1FFFB924                 STR             R1, [R0,#4]
ROM:1FFFB926                 LDR             R1, [R0,#0x14]
ROM:1FFFB928                 BIC.W           R1, R1, #0x4000
ROM:1FFFB92C                 STR             R1, [R0,#0x14]
ROM:1FFFB92E                 LDR             R1, [R0,#0x1C]
ROM:1FFFB930                 ORR.W           R1, R1, #0x4000
ROM:1FFFB934                 STR             R1, [R0,#0x1C]
ROM:1FFFB936                 LDR             R1, [R0]
ROM:1FFFB938                 LSRS            R1, R1, #1
ROM:1FFFB93A                 LSLS            R1, R1, #1
ROM:1FFFB93C                 STR             R1, [R0]
ROM:1FFFB93E                 BX              LR
ROM:1FFFB93E ; END OF FUNCTION CHUNK FOR trigger_canbus
ROM:1FFFB940
ROM:1FFFB940 ; =============== S U B R O U T I N E =======================================
ROM:1FFFB940
ROM:1FFFB940
ROM:1FFFB940 sub_1FFFB940                            ; CODE XREF: sub_1FFFB624+6j
ROM:1FFFB940                 PUSH            {R7,LR}
ROM:1FFFB942 ; 4:   if ( FLASH_GetReadOutProtectionStatus() )
ROM:1FFFB942                 BL              FLASH_GetReadOutProtectionStatus ; 检查flash的读保护位
ROM:1FFFB942                                         ;
ROM:1FFFB946                 CBNZ            R0, loc_1FFFB960 ; 如果芯片的读保护位被设置了,直接返回0x55555555
ROM:1FFFB948 ; 7:     result = _byteswap_ulong(v2000016F);
ROM:1FFFB948                 LDR             R0, =0x20000164
ROM:1FFFB94A                 LDRB            R1, [R0,#0xB]
ROM:1FFFB94C                 LDRB            R2, [R0,#0xC]
ROM:1FFFB94E                 LSLS            R2, R2, #0x10
ROM:1FFFB950                 ORR.W           R1, R2, R1,LSL#24
ROM:1FFFB954                 LDRB            R2, [R0,#0xD]
ROM:1FFFB956                 ORR.W           R1, R1, R2,LSL#8
ROM:1FFFB95A                 LDRB            R0, [R0,#0xE]
ROM:1FFFB95C                 ORRS            R0, R1
ROM:1FFFB95E                 POP             {R1,PC}
ROM:1FFFB960 ; ---------------------------------------------------------------------------
ROM:1FFFB960 ; 5:     result = 0x55555555;
ROM:1FFFB960
ROM:1FFFB960 loc_1FFFB960                            ; CODE XREF: sub_1FFFB940+6j
ROM:1FFFB960                 MOV.W           R0, #0x55555555 ; 如果芯片的读保护位被设置了,直接返回0x55555555
ROM:1FFFB964                 POP             {R1,PC}
ROM:1FFFB964 ; End of function sub_1FFFB940
ROM:1FFFB964
ROM:1FFFB966
ROM:1FFFB966 ; =============== S U B R O U T I N E =======================================
ROM:1FFFB966
ROM:1FFFB966
ROM:1FFFB966 sub_1FFFB966                            ; CODE XREF: sub_1FFFB602+6j
ROM:1FFFB966
ROM:1FFFB966 var_20          = -0x20
ROM:1FFFB966 var_1F          = -0x1F
ROM:1FFFB966 var_1C          = -0x1C
ROM:1FFFB966 var_18          = -0x18
ROM:1FFFB966
ROM:1FFFB966                 PUSH            {R0,R4-R7,LR}
ROM:1FFFB968                 SUB             SP, SP, #8
ROM:1FFFB96A                 MOV             R4, R1
ROM:1FFFB96C                 MOVS            R0, #0
ROM:1FFFB96E                 STR             R0, [SP,#0x20+var_1C]
ROM:1FFFB970                 STRB.W          R0, [SP,#0x20+var_20]
ROM:1FFFB974                 MOVS            R0, #1
ROM:1FFFB976                 STRB.W          R0, [SP,#0x20+var_1F]
ROM:1FFFB97A                 LDR             R5, =0x20000C34
ROM:1FFFB97C                 STRB            R0, [R5,#0xA]
ROM:1FFFB97E                 MOVS            R0, #0x79
ROM:1FFFB980                 STRB            R0, [R5,#0xB]
ROM:1FFFB982                 LDRB.W          R0, [SP,#0x20+var_18]
ROM:1FFFB986                 ADDS            R7, R0, #1
ROM:1FFFB988
ROM:1FFFB988 loc_1FFFB988                            ; CODE XREF: sub_1FFFB966+28j
ROM:1FFFB988                 BL              get_can_bus
ROM:1FFFB98C                 CMP             R0, #0
ROM:1FFFB98E                 BEQ             loc_1FFFB988
ROM:1FFFB990                 LDR             R6, =0x20000164
ROM:1FFFB992                 MOV             R0, R6
ROM:1FFFB994                 BL              sub_1FFFB844
ROM:1FFFB998                 STRB.W          R0, [SP,#0x20+var_1F]
ROM:1FFFB99C                 BL              sub_1FFFB8EC
ROM:1FFFB9A0                 CMP             R0, #1
ROM:1FFFB9A2                 ITT NE
ROM:1FFFB9A4                 LDRNEB.W        R0, [SP,#0x20+var_1F]
ROM:1FFFB9A8                 CMPNE           R0, #1
ROM:1FFFB9AA                 BEQ             loc_1FFFBA28
ROM:1FFFB9AC                 STR             R7, [SP,#0x20+var_1C]
ROM:1FFFB9AE                 B               loc_1FFFB9C8
ROM:1FFFB9B0 ; ---------------------------------------------------------------------------
ROM:1FFFB9B0
ROM:1FFFB9B0 loc_1FFFB9B0                            ; CODE XREF: sub_1FFFB966+8Cj
ROM:1FFFB9B0                                         ; sub_1FFFB966+92j ...
ROM:1FFFB9B0                 LDRB.W          R0, [SP,#0x20+var_20]
ROM:1FFFB9B4                 CMP             R0, #8
ROM:1FFFB9B6                 ITTTT EQ
ROM:1FFFB9B8                 LDREQ           R0, [SP,#0x20+var_1C]
ROM:1FFFB9BA                 CMPEQ           R0, #1
ROM:1FFFB9BC                 MOVEQ           R0, R5
ROM:1FFFB9BE                 BLEQ            sub_1FFFB7C2
ROM:1FFFB9C2                 LDR             R0, [SP,#0x20+var_1C]
ROM:1FFFB9C4                 SUBS            R0, R0, #1
ROM:1FFFB9C6                 STR             R0, [SP,#0x20+var_1C]
ROM:1FFFB9C8
ROM:1FFFB9C8 loc_1FFFB9C8                            ; CODE XREF: sub_1FFFB966+48j
ROM:1FFFB9C8                 LDR             R0, [SP,#0x20+var_1C]
ROM:1FFFB9CA                 CMP             R0, #0
ROM:1FFFB9CC                 LDRB.W          R0, [SP,#0x20+var_20]
ROM:1FFFB9D0                 BEQ             loc_1FFFBA2C
ROM:1FFFB9D2                 CMP             R0, #8
ROM:1FFFB9D4                 BNE             loc_1FFFB9DA
ROM:1FFFB9D6                 LDR             R0, [SP,#0x20+var_1C]
ROM:1FFFB9D8                 CBNZ            R0, loc_1FFFB9EC
ROM:1FFFB9DA
ROM:1FFFB9DA loc_1FFFB9DA                            ; CODE XREF: sub_1FFFB966+6Ej
ROM:1FFFB9DA                 LDRB.W          R0, [SP,#0x20+var_20]
ROM:1FFFB9DE                 ADDS            R1, R0, #1
ROM:1FFFB9E0                 STRB.W          R1, [SP,#0x20+var_20]
ROM:1FFFB9E4                 ADDS            R0, R0, R6
ROM:1FFFB9E6                 LDRB            R0, [R0,#0xB]
ROM:1FFFB9E8                 STRB.W          R0, [R4],#1
ROM:1FFFB9EC
ROM:1FFFB9EC loc_1FFFB9EC                            ; CODE XREF: sub_1FFFB966+72j
ROM:1FFFB9EC                 LDRB.W          R0, [SP,#0x20+var_20]
ROM:1FFFB9F0                 CMP             R0, #8
ROM:1FFFB9F2                 BNE             loc_1FFFB9B0
ROM:1FFFB9F4                 LDR             R0, [SP,#0x20+var_1C]
ROM:1FFFB9F6                 CMP             R0, #2
ROM:1FFFB9F8                 BCC             loc_1FFFB9B0
ROM:1FFFB9FA                 MOV             R0, R5
ROM:1FFFB9FC                 BL              sub_1FFFB7C2
ROM:1FFFBA00                 MOVS            R0, #0
ROM:1FFFBA02                 STRB.W          R0, [SP,#0x20+var_20]
ROM:1FFFBA06
ROM:1FFFBA06 loc_1FFFBA06                            ; CODE XREF: sub_1FFFB966+A6j
ROM:1FFFBA06                 BL              get_can_bus
ROM:1FFFBA0A                 CMP             R0, #0
ROM:1FFFBA0C                 BEQ             loc_1FFFBA06
ROM:1FFFBA0E                 MOV             R0, R6
ROM:1FFFBA10                 BL              sub_1FFFB844
ROM:1FFFBA14                 STRB.W          R0, [SP,#0x20+var_1F]
ROM:1FFFBA18                 BL              sub_1FFFB8EC
ROM:1FFFBA1C                 CMP             R0, #1
ROM:1FFFBA1E                 ITT NE
ROM:1FFFBA20                 LDRNEB.W        R0, [SP,#0x20+var_1F]
ROM:1FFFBA24                 CMPNE           R0, #1
ROM:1FFFBA26                 BNE             loc_1FFFB9B0
ROM:1FFFBA28
ROM:1FFFBA28 loc_1FFFBA28                            ; CODE XREF: sub_1FFFB966+44j
ROM:1FFFBA28                 MOVS            R0, #1
ROM:1FFFBA2A                 POP             {R1-R7,PC}
ROM:1FFFBA2C ; ---------------------------------------------------------------------------
ROM:1FFFBA2C
ROM:1FFFBA2C loc_1FFFBA2C                            ; CODE XREF: sub_1FFFB966+6Aj
ROM:1FFFBA2C                 CMP             R0, #8
ROM:1FFFBA2E                 BCS             loc_1FFFBA3A
ROM:1FFFBA30                 LDR             R0, [SP,#0x20+var_1C]
ROM:1FFFBA32                 CBNZ            R0, loc_1FFFBA3A
ROM:1FFFBA34                 MOV             R0, R5
ROM:1FFFBA36                 BL              sub_1FFFB7C2
ROM:1FFFBA3A
ROM:1FFFBA3A loc_1FFFBA3A                            ; CODE XREF: sub_1FFFB966+C8j
ROM:1FFFBA3A                                         ; sub_1FFFB966+CCj
ROM:1FFFBA3A                 MOVS            R0, #0
ROM:1FFFBA3C                 POP             {R1-R7,PC}
ROM:1FFFBA3C ; End of function sub_1FFFB966
ROM:1FFFBA3C
ROM:1FFFBA3C ; ---------------------------------------------------------------------------
ROM:1FFFBA3E                 DCB    0
ROM:1FFFBA3F                 DCB    0
ROM:1FFFBA40 dword_1FFFBA40  DCD 0x40021010          ; DATA XREF: trigger_canbusr
ROM:1FFFBA40                                         ; sub_1FFFB662+3Ar
ROM:1FFFBA44 dword_1FFFBA44  DCD 0x40010004          ; DATA XREF: trigger_canbus+24r
ROM:1FFFBA48 dword_1FFFBA48  DCD 0x40010C00          ; DATA XREF: trigger_canbus+30r
ROM:1FFFBA4C dword_1FFFBA4C  DCD 0x4B844444          ; DATA XREF: trigger_canbus+34r
ROM:1FFFBA50 dword_1FFFBA50  DCD 0x20000C34          ; DATA XREF: check_canbus2+42r
ROM:1FFFBA50                                         ; sub_1FFFB966+14r
ROM:1FFFBA54 dword_1FFFBA54  DCD 0x4002100C          ; DATA XREF: check_canbus2+50r
ROM:1FFFBA58 dword_1FFFBA58  DCD 0x4002200C          ; DATA XREF: check_canbus2+54r
ROM:1FFFBA5C dword_1FFFBA5C  DCD 0x20000164          ; DATA XREF: check_canbus2+5Cr
ROM:1FFFBA5C                                         ; sub_1FFFB662+16r ...
ROM:1FFFBA60 dword_1FFFBA60  DCD 0xE000E010          ; DATA XREF: check_canbus2+A4r
ROM:1FFFBA64 dword_1FFFBA64  DCD 0x40003000          ; DATA XREF: check_canbus2:check_canbusr
ROM:1FFFBA64                                         ; get_can_busr
ROM:1FFFBA68 dword_1FFFBA68  DCD 0x1FFFF800          ; DATA XREF: check_canbus2+2C4r
ROM:1FFFBA6C dword_1FFFBA6C  DCD 0x1000F             ; DATA XREF: sub_1FFFB662+1Ar
ROM:1FFFBA70 dword_1FFFBA70  DCD 0x10007             ; DATA XREF: sub_1FFFB662+22r
ROM:1FFFBA74 dword_1FFFBA74  DCD 0x10003             ; DATA XREF: sub_1FFFB662+28r
ROM:1FFFBA78 dword_1FFFBA78  DCD 0x4000680C          ; DATA XREF: sub_1FFFB662+3Er
ROM:1FFFBA78                                         ; sub_1FFFB844r ...
ROM:1FFFBA7C dword_1FFFBA7C  DCD 0x110027            ; DATA XREF: sub_1FFFB662+4Er
ROM:1FFFBA80 dword_1FFFBA80  DCD 0x110013            ; DATA XREF: sub_1FFFB662+56r
ROM:1FFFBA84 dword_1FFFBA84  DCD 0x110009            ; DATA XREF: sub_1FFFB662+5Cr
ROM:1FFFBA88 dword_1FFFBA88  DCD 0x110004            ; DATA XREF: sub_1FFFB662+62r
ROM:1FFFBA8C dword_1FFFBA8C  DCD 0x21001F            ; DATA XREF: sub_1FFFB662+88r
ROM:1FFFBA90 dword_1FFFBA90  DCD 0x21000F            ; DATA XREF: sub_1FFFB662+90r
ROM:1FFFBA94 dword_1FFFBA94  DCD 0x210007            ; DATA XREF: sub_1FFFB662+96r
ROM:1FFFBA98 dword_1FFFBA98  DCD 0x210003            ; DATA XREF: sub_1FFFB662+9Cr
ROM:1FFFBA9C dword_1FFFBA9C  DCD 0x400069B0          ; DATA XREF: sub_1FFFB662+CAr
ROM:1FFFBA9C                                         ; sub_1FFFB844:loc_1FFFB850r
ROM:1FFFBAA0 dword_1FFFBAA0  DCD 0x40006800          ; DATA XREF: sub_1FFFB75E+Er
ROM:1FFFBAA4 dword_1FFFBAA4  DCD 0x40006980          ; DATA XREF: sub_1FFFB7C2+6r
ROM:1FFFBAA8 dword_1FFFBAA8  DCD 0x40006808          ; DATA XREF: sub_1FFFB8AAr
ROM:1FFFBAAC dword_1FFFBAAC  DCD 0x40006818          ; DATA XREF: sub_1FFFB8EC+2r
ROM:1FFFBAB0 dword_1FFFBAB0  DCD 0x40006600          ; DATA XREF: trigger_canbus:loc_1FFFB8FCr
ROM:1FFFBAB4 dword_1FFFBAB4  DCD 0x400066B0          ; DATA XREF: trigger_canbus+7C6r
ROM:1FFFBAB8
ROM:1FFFBAB8 ; =============== S U B R O U T I N E =======================================
ROM:1FFFBAB8
ROM:1FFFBAB8
ROM:1FFFBAB8 sub_1FFFBAB8                            ; DATA XREF: check_canbus2+8o
ROM:1FFFBAB8                 LSRS            R1, R7, #0x11
ROM:1FFFBABA                 MOVS            R0, R4
ROM:1FFFBABC                 LSLS            R1, R0, #8
ROM:1FFFBABE                 ASRS            R3, R0, #4
ROM:1FFFBAC0                 ADDS            R1, #0x21
ROM:1FFFBAC2                 STR             R3, [R0,#0x34]
ROM:1FFFBAC4                 STRH            R3, [R6,#0x12]
ROM:1FFFBAC6                 LDRB            R2, [R2,#6]
ROM:1FFFBAC6 ; End of function sub_1FFFBAB8
ROM:1FFFBAC6
ROM:1FFFBAC8
ROM:1FFFBAC8 ; =============== S U B R O U T I N E =======================================
ROM:1FFFBAC8
ROM:1FFFBAC8 ; N  当用两个补码表示的带符号数进行运算时,N=1表示运算的结果为负数;N=0表示运算的结果为正数或零.
ROM:1FFFBAC8 ; Z  Z=1表示运算的结果为零,Z=0表示运算的结果非零。
ROM:1FFFBAC8 ; C  可以有4种方法设置C的值:
ROM:1FFFBAC8 ;    加法运算(包括CMN):当运算结果产生了进位时(无符号数溢出),C=1,否则C=0。
ROM:1FFFBAC8 ;    减法运算(包括CMP):当运算时产生了借位时(无符号数溢出),C=0,否则C=1。
ROM:1FFFBAC8 ;    对于包含移位操作的非加/减运算指令,C为移出值的最后一位。
ROM:1FFFBAC8 ;    对于其它的非加/减运算指令,C的值通常不会改变。
ROM:1FFFBAC8 ; V  可以有2种方法设置V的值:
ROM:1FFFBAC8 ;    对于加减法运算指令,当操作数和运算结果为二进制的补码表示的带符号数时,V=1表示符号位溢出
ROM:1FFFBAC8 ;    对于其它的非加/减运算指令,V的值通常不会改变。
ROM:1FFFBAC8 ;
ROM:1FFFBAC8 ; 0000 = EQ - Z set (equal,相等)
ROM:1FFFBAC8 ; 0001 = NE - Z clear (not equal,不相等)
ROM:1FFFBAC8 ; 0010 = CS - C set (unsigned higher or same,无符号大于或等于)
ROM:1FFFBAC8 ; 0011 = CC - C clear (unsigned lower,无符号小于)
ROM:1FFFBAC8 ; 0100 = MI - N set (negative,负数)
ROM:1FFFBAC8 ; 0101 = PL - N clear (positive or zero,正数或零)
ROM:1FFFBAC8 ; 0110 = VS - V set (overflow,溢出)
ROM:1FFFBAC8 ; 0111 = VC - V clear (no overflow,未溢出)
ROM:1FFFBAC8 ; 1000 = HI - C set and Z clear (unsigned higher,无符号大于)
ROM:1FFFBAC8 ; 1001 = LS - C clear or Z set (unsigned lower or same,无符号小于或等于)
ROM:1FFFBAC8 ; 1010 = GE - N set and V set, or N clear and V clear (greater or equal,带符号大于或等于)
ROM:1FFFBAC8 ; 1011 = LT - N set and V clear, or N clear and V set (less than,带符号小于)
ROM:1FFFBAC8 ; 1100 = GT - Z clear, and either N set and V set, or N clear and V clear (greater than,带符号大于)
ROM:1FFFBAC8 ; 1101 = LE - Z set, or N set and V clear, or N clear and V set (less than or equal,带符号小于或等于)
ROM:1FFFBAC8 ; 1110 = AL - always
ROM:1FFFBAC8 ; 1111 = NV - never
ROM:1FFFBAC8 ;
ROM:1FFFBAC8
ROM:1FFFBAC8 memcpy                                  ; CODE XREF: check_canbus2+Ep
ROM:1FFFBAC8                                         ; uart_monitor+Ep
ROM:1FFFBAC8                 SUBS            R2, #0x10 ; 减法操作,有溢出否?
ROM:1FFFBACA                 BCC             loc_1FFFBADC ; 有溢出
ROM:1FFFBACC                 PUSH            {R4,R5} ; 没有溢出
ROM:1FFFBACE
ROM:1FFFBACE loc_1FFFBACE                            ; CODE XREF: memcpy+10j
ROM:1FFFBACE                 LDMIA.W         R1!, {R3-R5,R12}
ROM:1FFFBAD2                 SUBS            R2, #0x10
ROM:1FFFBAD4                 STMIA.W         R0!, {R3-R5,R12}
ROM:1FFFBAD8                 BCS             loc_1FFFBACE
ROM:1FFFBADA                 POP             {R4,R5}
ROM:1FFFBADC
ROM:1FFFBADC loc_1FFFBADC                            ; CODE XREF: memcpy+2j
ROM:1FFFBADC                 LSLS            R3, R2, #0x1D ; 有溢出
ROM:1FFFBADE                 ITT CS                  ; cs=bit3
ROM:1FFFBADE                                         ; tt->后续2条条件执行命令
ROM:1FFFBADE                                         ; cs为1,说明数据比8大于或等于
ROM:1FFFBAE0                 LDMCSIA.W       R1!, {R3,R12}
ROM:1FFFBAE4                 STMCSIA.W       R0!, {R3,R12}
ROM:1FFFBAE8
ROM:1FFFBAE8 loc_1FFFBAE8                            ; CODE XREF: ROM:1FFFBB1Cj
ROM:1FFFBAE8                 ITT MI                  ; 判断bit2,为1,说明至少>=4
ROM:1FFFBAEA                 LDRMI.W         R3, [R1],#4
ROM:1FFFBAEE                 STRMI.W         R3, [R0],#4
ROM:1FFFBAF2                 LSLS            R2, R2, #0x1F ; 判断bit1
ROM:1FFFBAF4                 ITT CS                  ; 判断bit1,为1,说明至少>=2
ROM:1FFFBAF6                 LDRCSH.W        R2, [R1],#2
ROM:1FFFBAFA                 STRCSH.W        R2, [R0],#2
ROM:1FFFBAFE                 ITT MI                  ; 判断bit0
ROM:1FFFBB00                 LDRMIB          R3, [R1]
ROM:1FFFBB02                 STRMIB          R3, [R0]
ROM:1FFFBB04                 BX              LR
ROM:1FFFBB04 ; End of function memcpy
ROM:1FFFBB04
ROM:1FFFBB06 ; ---------------------------------------------------------------------------
ROM:1FFFBB06                 SUBS            R2, #8
ROM:1FFFBB08                 BCC             loc_1FFFBB1A
ROM:1FFFBB0A
ROM:1FFFBB0A loc_1FFFBB0A                            ; CODE XREF: ROM:1FFFBB18j
ROM:1FFFBB0A                 LDMIA.W         R1!, {R3,R12}
ROM:1FFFBB0E                 SUBS            R2, #8
ROM:1FFFBB10                 STR.W           R3, [R0],#4
ROM:1FFFBB14                 STR.W           R12, [R0],#4
ROM:1FFFBB18                 BCS             loc_1FFFBB0A
ROM:1FFFBB1A
ROM:1FFFBB1A loc_1FFFBB1A                            ; CODE XREF: ROM:1FFFBB08j
ROM:1FFFBB1A                 LSLS            R3, R2, #0x1D
ROM:1FFFBB1C                 B               loc_1FFFBAE8 ; 判断bit2,为1,说明至少>=4
ROM:1FFFBB1E
ROM:1FFFBB1E ; =============== S U B R O U T I N E =======================================
ROM:1FFFBB1E
ROM:1FFFBB1E
ROM:1FFFBB1E g_data_init
ROM:1FFFBB1E                 PUSH            {R4}
ROM:1FFFBB20
ROM:1FFFBB20 loc_1FFFBB20                            ; CODE XREF: g_data_init+28j
ROM:1FFFBB20                 LDR.W           R1, [R0],#4
ROM:1FFFBB24                 CBZ             R1, loc_1FFFBB48
ROM:1FFFBB26                 LDR             R2, [R0]
ROM:1FFFBB28                 ADDS            R2, R2, R0
ROM:1FFFBB2A                 ADDS            R0, R0, #4
ROM:1FFFBB2C                 LDR.W           R3, [R0],#4
ROM:1FFFBB30                 LSLS            R4, R3, #0x1F
ROM:1FFFBB32                 ITT MI
ROM:1FFFBB34                 SUBMI.W         R4, R9, #1
ROM:1FFFBB38                 ADDMI           R3, R4, R3
ROM:1FFFBB3A
ROM:1FFFBB3A loc_1FFFBB3A                            ; CODE XREF: g_data_init+26j
ROM:1FFFBB3A                 LDR.W           R4, [R2],#4
ROM:1FFFBB3E                 STR.W           R4, [R3],#4
ROM:1FFFBB42                 SUBS            R1, R1, #4
ROM:1FFFBB44                 BNE             loc_1FFFBB3A
ROM:1FFFBB46                 B               loc_1FFFBB20
ROM:1FFFBB48 ; ---------------------------------------------------------------------------
ROM:1FFFBB48
ROM:1FFFBB48 loc_1FFFBB48                            ; CODE XREF: g_data_init+6j
ROM:1FFFBB48                 POP             {R4}
ROM:1FFFBB4A                 BX              LR
ROM:1FFFBB4A ; End of function g_data_init
ROM:1FFFBB4A
ROM:1FFFBB4C ; 4:   if ( (unsigned int)(a1 - 0x8000000) >= 0x40000 )
ROM:1FFFBB4C
ROM:1FFFBB4C ; =============== S U B R O U T I N E =======================================
ROM:1FFFBB4C
ROM:1FFFBB4C
ROM:1FFFBB4C ; signed int __fastcall get_mem_block(int addr)
ROM:1FFFBB4C get_mem_block                           ; CODE XREF: check_canbus2+474j
ROM:1FFFBB4C                                         ; sub_1FFFC2EE+D0p ...
ROM:1FFFBB4C                 SUB.W           R1, R0, #0x8000000
ROM:1FFFBB50                 CMP.W           R1, #0x40000
ROM:1FFFBB54                 BCS             loc_1FFFBB5A
ROM:1FFFBB56 ; 27:     result = 2;
ROM:1FFFBB56                 MOVS            R0, #2
ROM:1FFFBB58                 BX              LR
ROM:1FFFBB5A ; ---------------------------------------------------------------------------
ROM:1FFFBB5A ; 6:     if ( (unsigned int)(a1 - 0x20001000) >= 0xF000 )
ROM:1FFFBB5A
ROM:1FFFBB5A loc_1FFFBB5A                            ; CODE XREF: get_mem_block+8j
ROM:1FFFBB5A                 LDR             R1, =0xDFFFF000
ROM:1FFFBB5C                 ADDS            R1, R1, R0
ROM:1FFFBB5E                 CMP.W           R1, #0xF000
ROM:1FFFBB62                 BCS             loc_1FFFBB68
ROM:1FFFBB64 ; 22:       result = 3;
ROM:1FFFBB64                 MOVS            R0, #3
ROM:1FFFBB66                 BX              LR
ROM:1FFFBB68 ; ---------------------------------------------------------------------------
ROM:1FFFBB68 ; 8:       if ( (unsigned int)(a1 - 0x1FFFF800) >= 0x800 )
ROM:1FFFBB68
ROM:1FFFBB68 loc_1FFFBB68                            ; CODE XREF: get_mem_block+16j
ROM:1FFFBB68                 ADD.W           R1, R0, #0xE0000000
ROM:1FFFBB6C                 ADD.W           R1, R1, #0x800
ROM:1FFFBB70                 CMP.W           R1, #0x800
ROM:1FFFBB74                 BCS             loc_1FFFBB7A
ROM:1FFFBB76 ; 17:         result = 4;
ROM:1FFFBB76                 MOVS            R0, #4
ROM:1FFFBB78                 BX              LR
ROM:1FFFBB7A ; ---------------------------------------------------------------------------
ROM:1FFFBB7A ; 10:         if ( (unsigned int)(a1 - 0x1FFFB000) >= 0x4800 )
ROM:1FFFBB7A
ROM:1FFFBB7A loc_1FFFBB7A                            ; CODE XREF: get_mem_block+28j
ROM:1FFFBB7A                 ADD.W           R0, R0, #0xE0000000
ROM:1FFFBB7E                 ADD.W           R0, R0, #0x5000
ROM:1FFFBB82                 CMP.W           R0, #0x4800
ROM:1FFFBB86                 BCS             loc_1FFFBB8C
ROM:1FFFBB88 ; 13:           result = 5;
ROM:1FFFBB88                 MOVS            R0, #5
ROM:1FFFBB8A                 BX              LR
ROM:1FFFBB8C ; ---------------------------------------------------------------------------
ROM:1FFFBB8C ; 11:           result = 1;
ROM:1FFFBB8C
ROM:1FFFBB8C loc_1FFFBB8C                            ; CODE XREF: get_mem_block+3Aj
ROM:1FFFBB8C                 MOVS            R0, #1
ROM:1FFFBB8E                 BX              LR
ROM:1FFFBB8E ; End of function get_mem_block
ROM:1FFFBB8E
ROM:1FFFBB90
ROM:1FFFBB90 ; =============== S U B R O U T I N E =======================================
ROM:1FFFBB90
ROM:1FFFBB90
ROM:1FFFBB90 clear_all_mem                           ; CODE XREF: check_canbus2+448p
ROM:1FFFBB90                                         ; sub_1FFFC2EE+A6p ...
ROM:1FFFBB90                 LDR             R0, =0x2000FFFC
ROM:1FFFBB92                 MOVS            R1, #0
ROM:1FFFBB94
ROM:1FFFBB94 loc_1FFFBB94                            ; CODE XREF: clear_all_mem+Cj
ROM:1FFFBB94                 STR.W           R1, [R0],#-4
ROM:1FFFBB98                 CMP.W           R0, #0x20000000
ROM:1FFFBB9C                 BNE             loc_1FFFBB94
ROM:1FFFBB9E                 BX              LR
ROM:1FFFBB9E ; End of function clear_all_mem
ROM:1FFFBB9E
ROM:1FFFBBA0
ROM:1FFFBBA0 ; =============== S U B R O U T I N E =======================================
ROM:1FFFBBA0
ROM:1FFFBBA0
ROM:1FFFBBA0 sys_reset                               ; CODE XREF: check_canbus2+3Ap
ROM:1FFFBBA0                                         ; check_canbus2+328p ...
ROM:1FFFBBA0                 LDR             R0, =0xE000ED0C
ROM:1FFFBBA2                 LDR             R1, =0x5FA0004
ROM:1FFFBBA4                 STR             R1, [R0]
ROM:1FFFBBA6                 BX              LR
ROM:1FFFBBA6 ; End of function sys_reset
ROM:1FFFBBA6
ROM:1FFFBBA6 ; ---------------------------------------------------------------------------
ROM:1FFFBBA8 dword_1FFFBBA8  DCD 0xDFFFF000          ; DATA XREF: get_mem_block:loc_1FFFBB5Ar
ROM:1FFFBBAC dword_1FFFBBAC  DCD 0x2000FFFC          ; DATA XREF: clear_all_memr
ROM:1FFFBBB0 dword_1FFFBBB0  DCD 0xE000ED0C          ; DATA XREF: sys_resetr
ROM:1FFFBBB4 dword_1FFFBBB4  DCD 0x5FA0004           ; DATA XREF: sys_reset+2r
ROM:1FFFBBB8
ROM:1FFFBBB8 ; =============== S U B R O U T I N E =======================================
ROM:1FFFBBB8
ROM:1FFFBBB8
ROM:1FFFBBB8 set_MSP                                 ; CODE XREF: check_canbus2+B8p
ROM:1FFFBBB8                                         ; uart_monitor+184p ...
ROM:1FFFBBB8                 MSR.W           MSP, R0
ROM:1FFFBBBC                 BX              LR
ROM:1FFFBBBC ; End of function set_MSP
ROM:1FFFBBBC
ROM:1FFFBBBC ; ---------------------------------------------------------------------------
ROM:1FFFBBBE                 DCB 0x70 ; p
ROM:1FFFBBBF                 DCB 0x47 ; G
ROM:1FFFBBC0
ROM:1FFFBBC0 ; =============== S U B R O U T I N E =======================================
ROM:1FFFBBC0
ROM:1FFFBBC0
ROM:1FFFBBC0 disable_irq                             ; CODE XREF: check_canbus2+3Ep
ROM:1FFFBBC0                                         ; uart_ready+2p ...
ROM:1FFFBBC0                 CPSID           I
ROM:1FFFBBC2                 BX              LR
ROM:1FFFBBC2 ; End of function disable_irq
ROM:1FFFBBC2
ROM:1FFFBBC2 ; ---------------------------------------------------------------------------
ROM:1FFFBBC4                 DCB 0x70 ; p
ROM:1FFFBBC5                 DCB 0x47 ; G
ROM:1FFFBBC6                 DCB    0
ROM:1FFFBBC7                 DCB    0
ROM:1FFFBBC8
ROM:1FFFBBC8 ; =============== S U B R O U T I N E =======================================
ROM:1FFFBBC8
ROM:1FFFBBC8
ROM:1FFFBBC8 enable_irq                              ; CODE XREF: check_canbus2+ACp
ROM:1FFFBBC8                                         ; uart_monitor+178p ...
ROM:1FFFBBC8                 CPSIE           I
ROM:1FFFBBCA                 BX              LR
ROM:1FFFBBCA ; End of function enable_irq
ROM:1FFFBBCA
ROM:1FFFBBCC ; ---------------------------------------------------------------------------
ROM:1FFFBBCC                 BX              LR
ROM:1FFFBBCE
ROM:1FFFBBCE ; =============== S U B R O U T I N E =======================================
ROM:1FFFBBCE
ROM:1FFFBBCE
ROM:1FFFBBCE bss_clear                               ; CODE XREF: bss_clear+1Ej
ROM:1FFFBBCE                                         ; sys_create+18p
ROM:1FFFBBCE                 LDR.W           R1, [R0],#4
ROM:1FFFBBD2                 CBZ             R1, locret_1FFFBBEE
ROM:1FFFBBD4                 LDR.W           R2, [R0],#4
ROM:1FFFBBD8                 LSLS            R3, R2, #0x1F
ROM:1FFFBBDA                 ITT MI
ROM:1FFFBBDC                 SUBMI.W         R3, R9, #1
ROM:1FFFBBE0                 ADDMI           R2, R3, R2
ROM:1FFFBBE2
ROM:1FFFBBE2 loc_1FFFBBE2                            ; CODE XREF: bss_clear+1Cj
ROM:1FFFBBE2                 MOVS            R3, #0
ROM:1FFFBBE4                 STR.W           R3, [R2],#4
ROM:1FFFBBE8                 SUBS            R1, R1, #4
ROM:1FFFBBEA                 BNE             loc_1FFFBBE2
ROM:1FFFBBEC                 B               bss_clear
ROM:1FFFBBEE ; ---------------------------------------------------------------------------
ROM:1FFFBBEE
ROM:1FFFBBEE locret_1FFFBBEE                         ; CODE XREF: bss_clear+4j
ROM:1FFFBBEE                 BX              LR
ROM:1FFFBBEE ; End of function bss_clear
ROM:1FFFBBEE
ROM:1FFFBBF0
ROM:1FFFBBF0 ; =============== S U B R O U T I N E =======================================
ROM:1FFFBBF0
ROM:1FFFBBF0
ROM:1FFFBBF0 sub_1FFFBBF0                            ; CODE XREF: sub_1FFFB662+Cp
ROM:1FFFBBF0                                         ; sub_1FFFB662+78p ...
ROM:1FFFBBF0
ROM:1FFFBBF0 var_18          = -0x18
ROM:1FFFBBF0
ROM:1FFFBBF0                 PUSH            {R4-R6,LR}
ROM:1FFFBBF2                 SUB             SP, SP, #8
ROM:1FFFBBF4                 MOVS            R0, #0
ROM:1FFFBBF6                 STR             R0, [SP,#0x18+var_18]
ROM:1FFFBBF8                 BL              FLASH_UnlockBank1
ROM:1FFFBBFC                 BL              RCC_init
ROM:1FFFBC00                 LDR.W           R4, =0x40021000
ROM:1FFFBC04                 LDR             R0, [R4]
ROM:1FFFBC06                 BIC.W           R0, R0, #0x10000
ROM:1FFFBC0A                 STR             R0, [R4]
ROM:1FFFBC0C                 LDR             R0, [R4]
ROM:1FFFBC0E                 BIC.W           R0, R0, #0x40000
ROM:1FFFBC12                 STR             R0, [R4]
ROM:1FFFBC14                 LDR             R0, [R4]
ROM:1FFFBC16                 ORR.W           R0, R0, #0x10000
ROM:1FFFBC1A                 STR             R0, [R4]
ROM:1FFFBC1C                 LDR.W           R5, =0x2000023C
ROM:1FFFBC20                 MOV.W           R6, #0xB000000
ROM:1FFFBC24                 STR             R6, [R5]
ROM:1FFFBC26                 B               loc_1FFFBC2E
ROM:1FFFBC28 ; ---------------------------------------------------------------------------
ROM:1FFFBC28
ROM:1FFFBC28 loc_1FFFBC28                            ; CODE XREF: sub_1FFFBBF0+48j
ROM:1FFFBC28                 LDR             R0, [R5]
ROM:1FFFBC2A                 SUBS            R0, R0, #1
ROM:1FFFBC2C                 STR             R0, [R5]
ROM:1FFFBC2E
ROM:1FFFBC2E loc_1FFFBC2E                            ; CODE XREF: sub_1FFFBBF0+36j
ROM:1FFFBC2E                 LDR             R0, [R4]
ROM:1FFFBC30                 LSLS            R0, R0, #0xE
ROM:1FFFBC32                 BMI             loc_1FFFBC3A
ROM:1FFFBC34                 LDR             R0, [R5]
ROM:1FFFBC36                 CMP             R0, #0
ROM:1FFFBC38                 BNE             loc_1FFFBC28
ROM:1FFFBC3A
ROM:1FFFBC3A loc_1FFFBC3A                            ; CODE XREF: sub_1FFFBBF0+42j
ROM:1FFFBC3A                 LDR             R0, [R5]
ROM:1FFFBC3C                 CBNZ            R0, loc_1FFFBC42
ROM:1FFFBC3E                 BL              sys_reset
ROM:1FFFBC42
ROM:1FFFBC42 loc_1FFFBC42                            ; CODE XREF: sub_1FFFBBF0+4Cj
ROM:1FFFBC42                 LDR             R0, [R4,#4]
ROM:1FFFBC44                 STR             R0, [SP,#0x18+var_18]
ROM:1FFFBC46                 LDR             R0, [SP,#0x18+var_18]
ROM:1FFFBC48                 LSRS            R0, R0, #2
ROM:1FFFBC4A                 LSLS            R0, R0, #2
ROM:1FFFBC4C                 STR             R0, [SP,#0x18+var_18]
ROM:1FFFBC4E                 LDR             R0, [SP,#0x18+var_18]
ROM:1FFFBC50                 ORR.W           R0, R0, #1
ROM:1FFFBC54                 STR             R0, [SP,#0x18+var_18]
ROM:1FFFBC56                 LDR             R0, [SP,#0x18+var_18]
ROM:1FFFBC58                 STR             R0, [R4,#4]
ROM:1FFFBC5A                 STR             R6, [R5]
ROM:1FFFBC5C                 B               loc_1FFFBC64
ROM:1FFFBC5E ; ---------------------------------------------------------------------------
ROM:1FFFBC5E
ROM:1FFFBC5E loc_1FFFBC5E                            ; CODE XREF: sub_1FFFBBF0+7Ej
ROM:1FFFBC5E                 LDR             R0, [R5]
ROM:1FFFBC60                 SUBS            R0, R0, #1
ROM:1FFFBC62                 STR             R0, [R5]
ROM:1FFFBC64
ROM:1FFFBC64 loc_1FFFBC64                            ; CODE XREF: sub_1FFFBBF0+6Cj
ROM:1FFFBC64                 LDR             R0, [R4,#4]
ROM:1FFFBC66                 LSLS            R0, R0, #0x1D
ROM:1FFFBC68                 BMI             loc_1FFFBC70
ROM:1FFFBC6A                 LDR             R0, [R5]
ROM:1FFFBC6C                 CMP             R0, #0
ROM:1FFFBC6E                 BNE             loc_1FFFBC5E
ROM:1FFFBC70
ROM:1FFFBC70 loc_1FFFBC70                            ; CODE XREF: sub_1FFFBBF0+78j
ROM:1FFFBC70                 LDR             R0, [R5]
ROM:1FFFBC72                 CBNZ            R0, loc_1FFFBC78
ROM:1FFFBC74                 BL              sys_reset
ROM:1FFFBC78
ROM:1FFFBC78 loc_1FFFBC78                            ; CODE XREF: sub_1FFFBBF0+82j
ROM:1FFFBC78                 LDR.W           R0, =0x40022000
ROM:1FFFBC7C                 LDR             R1, [R0]
ROM:1FFFBC7E                 AND.W           R1, R1, #0x38
ROM:1FFFBC82                 STR             R1, [R0]
ROM:1FFFBC84                 LDR             R1, [R0]
ROM:1FFFBC86                 ORR.W           R1, R1, #2
ROM:1FFFBC8A                 STR             R1, [R0]
ROM:1FFFBC8C                 LDR.W           R0, =0x4242004C
ROM:1FFFBC90                 MOVS            R1, #1
ROM:1FFFBC92                 STR             R1, [R0]
ROM:1FFFBC94                 POP             {R0,R1,R4-R6,PC}
ROM:1FFFBC94 ; End of function sub_1FFFBBF0
ROM:1FFFBC94
ROM:1FFFBC96
ROM:1FFFBC96 ; =============== S U B R O U T I N E =======================================
ROM:1FFFBC96
ROM:1FFFBC96
ROM:1FFFBC96 sub_1FFFBC96                            ; CODE XREF: sub_1FFFB662+12p
ROM:1FFFBC96                                         ; sub_1FFFB662+80p
ROM:1FFFBC96
ROM:1FFFBC96 var_4           = -4
ROM:1FFFBC96
ROM:1FFFBC96                 SUB             SP, SP, #4
ROM:1FFFBC98                 MOVS            R1, #0
ROM:1FFFBC9A                 STR             R1, [SP,#4+var_4]
ROM:1FFFBC9C                 LDR.W           R1, =0x40021004
ROM:1FFFBCA0                 LDR             R2, [R1]
ROM:1FFFBCA2                 STR             R2, [SP,#4+var_4]
ROM:1FFFBCA4                 LDR             R2, [SP,#4+var_4]
ROM:1FFFBCA6                 BIC.W           R2, R2, #0x700
ROM:1FFFBCAA                 STR             R2, [SP,#4+var_4]
ROM:1FFFBCAC                 LDR             R2, [SP,#4+var_4]
ROM:1FFFBCAE                 ORRS            R0, R2
ROM:1FFFBCB0                 STR             R0, [SP,#4+var_4]
ROM:1FFFBCB2                 LDR             R0, [SP,#4+var_4]
ROM:1FFFBCB4                 STR             R0, [R1]
ROM:1FFFBCB6                 ADD             SP, SP, #4
ROM:1FFFBCB8                 BX              LR
ROM:1FFFBCB8 ; End of function sub_1FFFBC96
ROM:1FFFBCB8
ROM:1FFFBCBA
ROM:1FFFBCBA ; =============== S U B R O U T I N E =======================================
ROM:1FFFBCBA
ROM:1FFFBCBA
ROM:1FFFBCBA clk_cfg                                 ; CODE XREF: sub_1FFFC9AA+5Cp
ROM:1FFFBCBA                                         ; g_sys_init+1Ep
ROM:1FFFBCBA
ROM:1FFFBCBA var_10          = -0x10
ROM:1FFFBCBA
ROM:1FFFBCBA                 PUSH            {R4,LR}
ROM:1FFFBCBC                 SUB             SP, SP, #8
ROM:1FFFBCBE                 MOVS            R0, #0
ROM:1FFFBCC0                 STR             R0, [SP,#0x10+var_10]
ROM:1FFFBCC2                 BL              FLASH_UnlockBank1
ROM:1FFFBCC6                 BL              RCC_init
ROM:1FFFBCCA                 LDR.W           R4, =0x40021000 ; RCC_BASE
ROM:1FFFBCCE                 MOV.W           R0, #0x100000
ROM:1FFFBCD2                 STR             R0, [R4,#4]
ROM:1FFFBCD4                 LDR.W           R0, =0x42420060
ROM:1FFFBCD8                 MOVS            R1, #1
ROM:1FFFBCDA                 STR             R1, [R0]
ROM:1FFFBCDC                 LDR             R0, [R4]
ROM:1FFFBCDE                 ORR.W           R0, R0, #0x10000
ROM:1FFFBCE2                 STR             R0, [R4]
ROM:1FFFBCE4                 LDR.W           R0, =0x2000023C
ROM:1FFFBCE8                 MOV.W           R1, #0xB000000
ROM:1FFFBCEC                 B               loc_1FFFBCF2
ROM:1FFFBCEE ; ---------------------------------------------------------------------------
ROM:1FFFBCEE
ROM:1FFFBCEE loc_1FFFBCEE                            ; CODE XREF: clk_cfg+44j
ROM:1FFFBCEE                 LDR             R1, [R0]
ROM:1FFFBCF0                 SUBS            R1, R1, #1
ROM:1FFFBCF2
ROM:1FFFBCF2 loc_1FFFBCF2                            ; CODE XREF: clk_cfg+32j
ROM:1FFFBCF2                 STR             R1, [R0]
ROM:1FFFBCF4                 LDR             R1, [R4]
ROM:1FFFBCF6                 LSLS            R1, R1, #6
ROM:1FFFBCF8                 BMI             loc_1FFFBD00
ROM:1FFFBCFA                 LDR             R1, [R0]
ROM:1FFFBCFC                 CMP             R1, #0
ROM:1FFFBCFE                 BNE             loc_1FFFBCEE
ROM:1FFFBD00
ROM:1FFFBD00 loc_1FFFBD00                            ; CODE XREF: clk_cfg+3Ej
ROM:1FFFBD00                 LDR             R0, [R0]
ROM:1FFFBD02                 CBNZ            R0, loc_1FFFBD08
ROM:1FFFBD04                 BL              sys_reset
ROM:1FFFBD08
ROM:1FFFBD08 loc_1FFFBD08                            ; CODE XREF: clk_cfg+48j
ROM:1FFFBD08                 LDR             R0, [R4]
ROM:1FFFBD0A                 BIC.W           R0, R0, #0x10000
ROM:1FFFBD0E                 STR             R0, [R4]
ROM:1FFFBD10                 LDR.W           R0, =0x100002
ROM:1FFFBD14                 STR             R0, [R4,#4]
ROM:1FFFBD16                 POP             {R0,R1,R4,PC}
ROM:1FFFBD16 ; End of function clk_cfg
ROM:1FFFBD16
ROM:1FFFBD18
ROM:1FFFBD18 ; =============== S U B R O U T I N E =======================================
ROM:1FFFBD18
ROM:1FFFBD18
ROM:1FFFBD18 sub_1FFFBD18                            ; CODE XREF: ROM:loc_1FFFE328p
ROM:1FFFBD18
ROM:1FFFBD18 var_18          = -0x18
ROM:1FFFBD18
ROM:1FFFBD18                 PUSH            {R3-R7,LR}
ROM:1FFFBD1A                 MOVS            R0, #0
ROM:1FFFBD1C                 STR             R0, [SP,#0x18+var_18]
ROM:1FFFBD1E                 LDR.W           R4, =0x42420060
ROM:1FFFBD22                 STR             R0, [R4]
ROM:1FFFBD24                 STR             R0, [R4,#8]
ROM:1FFFBD26                 LDR.W           R5, =0x40021000
ROM:1FFFBD2A                 LDR             R0, [R5,#0x2C]
ROM:1FFFBD2C                 STR             R0, [SP,#0x18+var_18]
ROM:1FFFBD2E                 LDR             R0, [SP,#0x18+var_18]
ROM:1FFFBD30                 BIC.W           R0, R0, #0xF0
ROM:1FFFBD34                 STR             R0, [SP,#0x18+var_18]
ROM:1FFFBD36                 LDR             R0, [SP,#0x18+var_18]
ROM:1FFFBD38                 ORR.W           R0, R0, #0x40
ROM:1FFFBD3C                 STR             R0, [SP,#0x18+var_18]
ROM:1FFFBD3E                 LDR             R0, [SP,#0x18+var_18]
ROM:1FFFBD40                 STR             R0, [R5,#0x2C]
ROM:1FFFBD42                 LDR             R0, [R5,#0x2C]
ROM:1FFFBD44                 STR             R0, [SP,#0x18+var_18]
ROM:1FFFBD46                 LDR             R0, [SP,#0x18+var_18]
ROM:1FFFBD48                 BIC.W           R0, R0, #0xF00
ROM:1FFFBD4C                 STR             R0, [SP,#0x18+var_18]
ROM:1FFFBD4E                 LDR             R0, [SP,#0x18+var_18]
ROM:1FFFBD50                 ORR.W           R0, R0, #0x600
ROM:1FFFBD54                 STR             R0, [SP,#0x18+var_18]
ROM:1FFFBD56                 LDR             R0, [SP,#0x18+var_18]
ROM:1FFFBD58                 STR             R0, [R5,#0x2C]
ROM:1FFFBD5A                 MOVS            R0, #1
ROM:1FFFBD5C                 STR             R0, [R4,#8]
ROM:1FFFBD5E                 LDR.W           R6, =0x2000023C
ROM:1FFFBD62                 MOV.W           R7, #0xB000000
ROM:1FFFBD66                 STR             R7, [R6]
ROM:1FFFBD68                 B               loc_1FFFBD70
ROM:1FFFBD6A ; ---------------------------------------------------------------------------
ROM:1FFFBD6A
ROM:1FFFBD6A loc_1FFFBD6A                            ; CODE XREF: sub_1FFFBD18+62j
ROM:1FFFBD6A                 LDR             R0, [R6]
ROM:1FFFBD6C                 SUBS            R0, R0, #1
ROM:1FFFBD6E                 STR             R0, [R6]
ROM:1FFFBD70
ROM:1FFFBD70 loc_1FFFBD70                            ; CODE XREF: sub_1FFFBD18+50j
ROM:1FFFBD70                 LDR             R0, [R5]
ROM:1FFFBD72                 LSLS            R0, R0, #4
ROM:1FFFBD74                 BMI             loc_1FFFBD7C
ROM:1FFFBD76                 LDR             R0, [R6]
ROM:1FFFBD78                 CMP             R0, #0
ROM:1FFFBD7A                 BNE             loc_1FFFBD6A
ROM:1FFFBD7C
ROM:1FFFBD7C loc_1FFFBD7C                            ; CODE XREF: sub_1FFFBD18+5Cj
ROM:1FFFBD7C                 LDR             R0, [R6]
ROM:1FFFBD7E                 CBNZ            R0, loc_1FFFBD84
ROM:1FFFBD80                 BL              sys_reset
ROM:1FFFBD84
ROM:1FFFBD84 loc_1FFFBD84                            ; CODE XREF: sub_1FFFBD18+66j
ROM:1FFFBD84                 LDR             R0, [R5,#0x2C]
ROM:1FFFBD86                 STR             R0, [SP,#0x18+var_18]
ROM:1FFFBD88                 LDR             R0, [SP,#0x18+var_18]
ROM:1FFFBD8A                 LDR.W           R1, =0xFFFEFFF0
ROM:1FFFBD8E                 ANDS            R0, R1
ROM:1FFFBD90                 STR             R0, [SP,#0x18+var_18]
ROM:1FFFBD92                 LDR             R0, [SP,#0x18+var_18]
ROM:1FFFBD94                 ORR.W           R0, R0, #0x10000
ROM:1FFFBD98                 ORR.W           R0, R0, #4
ROM:1FFFBD9C                 STR             R0, [SP,#0x18+var_18]
ROM:1FFFBD9E                 LDR             R0, [SP,#0x18+var_18]
ROM:1FFFBDA0                 STR             R0, [R5,#0x2C]
ROM:1FFFBDA2                 LDR             R0, [R5,#4]
ROM:1FFFBDA4                 STR             R0, [SP,#0x18+var_18]
ROM:1FFFBDA6                 LDR             R0, [SP,#0x18+var_18]
ROM:1FFFBDA8                 BIC.W           R0, R0, #0x3D0000
ROM:1FFFBDAC                 STR             R0, [SP,#0x18+var_18]
ROM:1FFFBDAE                 LDR             R0, [SP,#0x18+var_18]
ROM:1FFFBDB0                 ORR.W           R0, R0, #0x110000
ROM:1FFFBDB4                 STR             R0, [SP,#0x18+var_18]
ROM:1FFFBDB6                 LDR             R0, [SP,#0x18+var_18]
ROM:1FFFBDB8                 STR             R0, [R5,#4]
ROM:1FFFBDBA                 MOVS            R0, #1
ROM:1FFFBDBC                 STR             R0, [R4]
ROM:1FFFBDBE                 STR             R7, [R6]
ROM:1FFFBDC0                 B               loc_1FFFBDC8
ROM:1FFFBDC2 ; ---------------------------------------------------------------------------
ROM:1FFFBDC2
ROM:1FFFBDC2 loc_1FFFBDC2                            ; CODE XREF: sub_1FFFBD18+BAj
ROM:1FFFBDC2                 LDR             R0, [R6]
ROM:1FFFBDC4                 SUBS            R0, R0, #1
ROM:1FFFBDC6                 STR             R0, [R6]
ROM:1FFFBDC8
ROM:1FFFBDC8 loc_1FFFBDC8                            ; CODE XREF: sub_1FFFBD18+A8j
ROM:1FFFBDC8                 LDR             R0, [R5]
ROM:1FFFBDCA                 LSLS            R0, R0, #6
ROM:1FFFBDCC                 BMI             loc_1FFFBDD4
ROM:1FFFBDCE                 LDR             R0, [R6]
ROM:1FFFBDD0                 CMP             R0, #0
ROM:1FFFBDD2                 BNE             loc_1FFFBDC2
ROM:1FFFBDD4
ROM:1FFFBDD4 loc_1FFFBDD4                            ; CODE XREF: sub_1FFFBD18+B4j
ROM:1FFFBDD4                 LDR             R0, [R6]
ROM:1FFFBDD6                 CBNZ            R0, loc_1FFFBDDC
ROM:1FFFBDD8                 BL              sys_reset
ROM:1FFFBDDC
ROM:1FFFBDDC loc_1FFFBDDC                            ; CODE XREF: sub_1FFFBD18+BEj
ROM:1FFFBDDC                 LDR             R0, [R5,#4]
ROM:1FFFBDDE                 STR             R0, [SP,#0x18+var_18]
ROM:1FFFBDE0                 LDR             R0, [SP,#0x18+var_18]
ROM:1FFFBDE2                 LSRS            R0, R0, #2
ROM:1FFFBDE4                 LSLS            R0, R0, #2
ROM:1FFFBDE6                 STR             R0, [SP,#0x18+var_18]
ROM:1FFFBDE8                 LDR             R0, [SP,#0x18+var_18]
ROM:1FFFBDEA                 ORR.W           R0, R0, #2
ROM:1FFFBDEE                 STR             R0, [SP,#0x18+var_18]
ROM:1FFFBDF0                 LDR             R0, [SP,#0x18+var_18]
ROM:1FFFBDF2                 STR             R0, [R5,#4]
ROM:1FFFBDF4                 STR             R7, [R6]
ROM:1FFFBDF6                 B               loc_1FFFBDFE
ROM:1FFFBDF8 ; ---------------------------------------------------------------------------
ROM:1FFFBDF8
ROM:1FFFBDF8 loc_1FFFBDF8                            ; CODE XREF: sub_1FFFBD18+F0j
ROM:1FFFBDF8                 LDR             R0, [R6]
ROM:1FFFBDFA                 SUBS            R0, R0, #1
ROM:1FFFBDFC                 STR             R0, [R6]
ROM:1FFFBDFE
ROM:1FFFBDFE loc_1FFFBDFE                            ; CODE XREF: sub_1FFFBD18+DEj
ROM:1FFFBDFE                 LDR             R0, [R5,#4]
ROM:1FFFBE00                 LSLS            R0, R0, #0x1C
ROM:1FFFBE02                 BMI             loc_1FFFBE0A
ROM:1FFFBE04                 LDR             R0, [R6]
ROM:1FFFBE06                 CMP             R0, #0
ROM:1FFFBE08                 BNE             loc_1FFFBDF8
ROM:1FFFBE0A
ROM:1FFFBE0A loc_1FFFBE0A                            ; CODE XREF: sub_1FFFBD18+EAj
ROM:1FFFBE0A                 LDR             R0, [R6]
ROM:1FFFBE0C                 CMP             R0, #0
ROM:1FFFBE0E                 ITT EQ
ROM:1FFFBE10                 POPEQ.W         {R0,R4-R7,LR}
ROM:1FFFBE14                 BEQ.W           sys_reset
ROM:1FFFBE18                 POP             {R0,R4-R7,PC}
ROM:1FFFBE18 ; End of function sub_1FFFBD18
ROM:1FFFBE18
ROM:1FFFBE1A
ROM:1FFFBE1A ; =============== S U B R O U T I N E =======================================
ROM:1FFFBE1A
ROM:1FFFBE1A
ROM:1FFFBE1A sub_1FFFBE1A                            ; CODE XREF: sub_1FFFB662+84p
ROM:1FFFBE1A                                         ; ROM:loc_1FFFE31Cp
ROM:1FFFBE1A
ROM:1FFFBE1A var_18          = -0x18
ROM:1FFFBE1A
ROM:1FFFBE1A                 PUSH            {R4-R6,LR}
ROM:1FFFBE1C                 SUB             SP, SP, #8
ROM:1FFFBE1E                 MOVS            R0, #0
ROM:1FFFBE20                 STR             R0, [SP,#0x18+var_18]
ROM:1FFFBE22                 LDR             R0, =0x42420060
ROM:1FFFBE24                 MOVS            R1, #0
ROM:1FFFBE26                 STR             R1, [R0]
ROM:1FFFBE28                 STR             R1, [R0,#8]
ROM:1FFFBE2A                 LDR             R4, =0x40021000
ROM:1FFFBE2C                 LDR             R1, [R4,#0x2C]
ROM:1FFFBE2E                 STR             R1, [SP,#0x18+var_18]
ROM:1FFFBE30                 LDR             R1, [SP,#0x18+var_18]
ROM:1FFFBE32                 LDR             R2, =0xFFFEFFF0
ROM:1FFFBE34                 ANDS            R1, R2
ROM:1FFFBE36                 STR             R1, [SP,#0x18+var_18]
ROM:1FFFBE38                 LDR             R1, [SP,#0x18+var_18]
ROM:1FFFBE3A                 ORR.W           R1, R1, #1
ROM:1FFFBE3E                 STR             R1, [SP,#0x18+var_18]
ROM:1FFFBE40                 LDR             R1, [SP,#0x18+var_18]
ROM:1FFFBE42                 STR             R1, [R4,#0x2C]
ROM:1FFFBE44                 LDR             R1, [R4,#4]
ROM:1FFFBE46                 STR             R1, [SP,#0x18+var_18]
ROM:1FFFBE48                 LDR             R1, [SP,#0x18+var_18]
ROM:1FFFBE4A                 BIC.W           R1, R1, #0x3D0000
ROM:1FFFBE4E                 STR             R1, [SP,#0x18+var_18]
ROM:1FFFBE50                 LDR             R1, [SP,#0x18+var_18]
ROM:1FFFBE52                 ORR.W           R1, R1, #0x350000
ROM:1FFFBE56                 STR             R1, [SP,#0x18+var_18]
ROM:1FFFBE58                 LDR             R1, [SP,#0x18+var_18]
ROM:1FFFBE5A                 STR             R1, [R4,#4]
ROM:1FFFBE5C                 MOVS            R1, #1
ROM:1FFFBE5E                 STR             R1, [R0]
ROM:1FFFBE60                 LDR             R5, =0x2000023C
ROM:1FFFBE62                 MOV.W           R6, #0xB000000
ROM:1FFFBE66                 STR             R6, [R5]
ROM:1FFFBE68                 B               loc_1FFFBE70
ROM:1FFFBE6A ; ---------------------------------------------------------------------------
ROM:1FFFBE6A
ROM:1FFFBE6A loc_1FFFBE6A                            ; CODE XREF: sub_1FFFBE1A+60j
ROM:1FFFBE6A                 LDR             R0, [R5]
ROM:1FFFBE6C                 SUBS            R0, R0, #1
ROM:1FFFBE6E                 STR             R0, [R5]
ROM:1FFFBE70
ROM:1FFFBE70 loc_1FFFBE70                            ; CODE XREF: sub_1FFFBE1A+4Ej
ROM:1FFFBE70                 LDR             R0, [R4]
ROM:1FFFBE72                 LSLS            R0, R0, #6
ROM:1FFFBE74                 BMI             loc_1FFFBE7C
ROM:1FFFBE76                 LDR             R0, [R5]
ROM:1FFFBE78                 CMP             R0, #0
ROM:1FFFBE7A                 BNE             loc_1FFFBE6A
ROM:1FFFBE7C
ROM:1FFFBE7C loc_1FFFBE7C                            ; CODE XREF: sub_1FFFBE1A+5Aj
ROM:1FFFBE7C                 LDR             R0, [R5]
ROM:1FFFBE7E                 CBNZ            R0, loc_1FFFBE84
ROM:1FFFBE80                 BL              sys_reset
ROM:1FFFBE84
ROM:1FFFBE84 loc_1FFFBE84                            ; CODE XREF: sub_1FFFBE1A+64j
ROM:1FFFBE84                 LDR             R0, [R4,#4]
ROM:1FFFBE86                 STR             R0, [SP,#0x18+var_18]
ROM:1FFFBE88                 LDR             R0, [SP,#0x18+var_18]
ROM:1FFFBE8A                 LSRS            R0, R0, #2
ROM:1FFFBE8C                 LSLS            R0, R0, #2
ROM:1FFFBE8E                 STR             R0, [SP,#0x18+var_18]
ROM:1FFFBE90                 LDR             R0, [SP,#0x18+var_18]
ROM:1FFFBE92                 ORR.W           R0, R0, #2
ROM:1FFFBE96                 STR             R0, [SP,#0x18+var_18]
ROM:1FFFBE98                 LDR             R0, [SP,#0x18+var_18]
ROM:1FFFBE9A                 STR             R0, [R4,#4]
ROM:1FFFBE9C                 STR             R6, [R5]
ROM:1FFFBE9E                 B               loc_1FFFBEA6
ROM:1FFFBEA0 ; ---------------------------------------------------------------------------
ROM:1FFFBEA0
ROM:1FFFBEA0 loc_1FFFBEA0                            ; CODE XREF: sub_1FFFBE1A+96j
ROM:1FFFBEA0                 LDR             R0, [R5]
ROM:1FFFBEA2                 SUBS            R0, R0, #1
ROM:1FFFBEA4                 STR             R0, [R5]
ROM:1FFFBEA6
ROM:1FFFBEA6 loc_1FFFBEA6                            ; CODE XREF: sub_1FFFBE1A+84j
ROM:1FFFBEA6                 LDR             R0, [R4,#4]
ROM:1FFFBEA8                 LSLS            R0, R0, #0x1C
ROM:1FFFBEAA                 BMI             loc_1FFFBEB2
ROM:1FFFBEAC                 LDR             R0, [R5]
ROM:1FFFBEAE                 CMP             R0, #0
ROM:1FFFBEB0                 BNE             loc_1FFFBEA0
ROM:1FFFBEB2
ROM:1FFFBEB2 loc_1FFFBEB2                            ; CODE XREF: sub_1FFFBE1A+90j
ROM:1FFFBEB2                 LDR             R0, [R5]
ROM:1FFFBEB4                 CMP             R0, #0
ROM:1FFFBEB6                 ITT EQ
ROM:1FFFBEB8                 POPEQ.W         {R0,R1,R4-R6,LR}
ROM:1FFFBEBC                 BEQ.W           sys_reset
ROM:1FFFBEC0                 POP             {R0,R1,R4-R6,PC}
ROM:1FFFBEC0 ; End of function sub_1FFFBE1A
ROM:1FFFBEC0
ROM:1FFFBEC2
ROM:1FFFBEC2 ; =============== S U B R O U T I N E =======================================
ROM:1FFFBEC2
ROM:1FFFBEC2
ROM:1FFFBEC2 sub_1FFFBEC2                            ; CODE XREF: ROM:loc_1FFFE322p
ROM:1FFFBEC2
ROM:1FFFBEC2 var_18          = -0x18
ROM:1FFFBEC2
ROM:1FFFBEC2                 PUSH            {R4-R6,LR}
ROM:1FFFBEC4                 SUB             SP, SP, #8
ROM:1FFFBEC6                 MOVS            R0, #0
ROM:1FFFBEC8                 STR             R0, [SP,#0x18+var_18]
ROM:1FFFBECA                 LDR             R0, =0x42420060
ROM:1FFFBECC                 MOVS            R1, #0
ROM:1FFFBECE                 STR             R1, [R0]
ROM:1FFFBED0                 STR             R1, [R0,#8]
ROM:1FFFBED2                 LDR             R4, =0x40021000
ROM:1FFFBED4                 LDR             R1, [R4,#0x2C]
ROM:1FFFBED6                 STR             R1, [SP,#0x18+var_18]
ROM:1FFFBED8                 LDR             R1, [SP,#0x18+var_18]
ROM:1FFFBEDA                 LDR             R2, =0xFFFEFFF0
ROM:1FFFBEDC                 ANDS            R1, R2
ROM:1FFFBEDE                 STR             R1, [SP,#0x18+var_18]
ROM:1FFFBEE0                 LDR             R1, [SP,#0x18+var_18]
ROM:1FFFBEE2                 STR             R1, [R4,#0x2C]
ROM:1FFFBEE4                 LDR             R1, [R4,#4]
ROM:1FFFBEE6                 STR             R1, [SP,#0x18+var_18]
ROM:1FFFBEE8                 LDR             R1, [SP,#0x18+var_18]
ROM:1FFFBEEA                 BIC.W           R1, R1, #0x3D0000
ROM:1FFFBEEE                 STR             R1, [SP,#0x18+var_18]
ROM:1FFFBEF0                 LDR             R1, [SP,#0x18+var_18]
ROM:1FFFBEF2                 ORR.W           R1, R1, #0x110000
ROM:1FFFBEF6                 STR             R1, [SP,#0x18+var_18]
ROM:1FFFBEF8                 LDR             R1, [SP,#0x18+var_18]
ROM:1FFFBEFA                 STR             R1, [R4,#4]
ROM:1FFFBEFC                 MOVS            R1, #1
ROM:1FFFBEFE                 STR             R1, [R0]
ROM:1FFFBF00                 LDR             R5, =0x2000023C
ROM:1FFFBF02                 MOV.W           R6, #0xB000000
ROM:1FFFBF06                 STR             R6, [R5]
ROM:1FFFBF08                 B               loc_1FFFBF10
ROM:1FFFBF0A ; ---------------------------------------------------------------------------
ROM:1FFFBF0A
ROM:1FFFBF0A loc_1FFFBF0A                            ; CODE XREF: sub_1FFFBEC2+58j
ROM:1FFFBF0A                 LDR             R0, [R5]
ROM:1FFFBF0C                 SUBS            R0, R0, #1
ROM:1FFFBF0E                 STR             R0, [R5]
ROM:1FFFBF10
ROM:1FFFBF10 loc_1FFFBF10                            ; CODE XREF: sub_1FFFBEC2+46j
ROM:1FFFBF10                 LDR             R0, [R4]
ROM:1FFFBF12                 LSLS            R0, R0, #6
ROM:1FFFBF14                 BMI             loc_1FFFBF1C
ROM:1FFFBF16                 LDR             R0, [R5]
ROM:1FFFBF18                 CMP             R0, #0
ROM:1FFFBF1A                 BNE             loc_1FFFBF0A
ROM:1FFFBF1C
ROM:1FFFBF1C loc_1FFFBF1C                            ; CODE XREF: sub_1FFFBEC2+52j
ROM:1FFFBF1C                 LDR             R0, [R5]
ROM:1FFFBF1E                 CBNZ            R0, loc_1FFFBF24
ROM:1FFFBF20                 BL              sys_reset
ROM:1FFFBF24
ROM:1FFFBF24 loc_1FFFBF24                            ; CODE XREF: sub_1FFFBEC2+5Cj
ROM:1FFFBF24                 LDR             R0, [R4,#4]
ROM:1FFFBF26                 STR             R0, [SP,#0x18+var_18]
ROM:1FFFBF28                 LDR             R0, [SP,#0x18+var_18]
ROM:1FFFBF2A                 LSRS            R0, R0, #2
ROM:1FFFBF2C                 LSLS            R0, R0, #2
ROM:1FFFBF2E                 STR             R0, [SP,#0x18+var_18]
ROM:1FFFBF30                 LDR             R0, [SP,#0x18+var_18]
ROM:1FFFBF32                 ORR.W           R0, R0, #2
ROM:1FFFBF36                 STR             R0, [SP,#0x18+var_18]
ROM:1FFFBF38                 LDR             R0, [SP,#0x18+var_18]
ROM:1FFFBF3A                 STR             R0, [R4,#4]
ROM:1FFFBF3C                 STR             R6, [R5]
ROM:1FFFBF3E                 B               loc_1FFFBF46
ROM:1FFFBF40 ; ---------------------------------------------------------------------------
ROM:1FFFBF40
ROM:1FFFBF40 loc_1FFFBF40                            ; CODE XREF: sub_1FFFBEC2+8Ej
ROM:1FFFBF40                 LDR             R0, [R5]
ROM:1FFFBF42                 SUBS            R0, R0, #1
ROM:1FFFBF44                 STR             R0, [R5]
ROM:1FFFBF46
ROM:1FFFBF46 loc_1FFFBF46                            ; CODE XREF: sub_1FFFBEC2+7Cj
ROM:1FFFBF46                 LDR             R0, [R4,#4]
ROM:1FFFBF48                 LSLS            R0, R0, #0x1C
ROM:1FFFBF4A                 BMI             loc_1FFFBF52
ROM:1FFFBF4C                 LDR             R0, [R5]
ROM:1FFFBF4E                 CMP             R0, #0
ROM:1FFFBF50                 BNE             loc_1FFFBF40
ROM:1FFFBF52
ROM:1FFFBF52 loc_1FFFBF52                            ; CODE XREF: sub_1FFFBEC2+88j
ROM:1FFFBF52                 LDR             R0, [R5]
ROM:1FFFBF54                 CMP             R0, #0
ROM:1FFFBF56                 ITT EQ
ROM:1FFFBF58                 POPEQ.W         {R0,R1,R4-R6,LR}
ROM:1FFFBF5C                 BEQ.W           sys_reset
ROM:1FFFBF60                 POP             {R0,R1,R4-R6,PC}
ROM:1FFFBF60 ; End of function sub_1FFFBEC2
ROM:1FFFBF60
ROM:1FFFBF62 ; 4:   result = 1073876992;
ROM:1FFFBF62
ROM:1FFFBF62 ; =============== S U B R O U T I N E =======================================
ROM:1FFFBF62
ROM:1FFFBF62
ROM:1FFFBF62 RCC_init                                ; CODE XREF: check_canbus2+84p
ROM:1FFFBF62                                         ; sub_1FFFBBF0+Cp ...
ROM:1FFFBF62                 LDR             R0, =0x40021000 ; RCC_BASE
ROM:1FFFBF64 ; 5:   v40021000 |= 1u;
ROM:1FFFBF64                 LDR             R1, [R0] ; 读取时钟控制寄存器的内容
ROM:1FFFBF66                 ORR.W           R1, R1, #1 ; 内部8MHz时钟开启
ROM:1FFFBF6A                 STR             R1, [R0]
ROM:1FFFBF6C ; 6:   v40021004 &= 0xF0FF0000;
ROM:1FFFBF6C                 LDR             R1, [R0,#4] ; 读取时钟配置寄存器
ROM:1FFFBF6E                 LDR             R2, =0xF0FF0000
ROM:1FFFBF70                 ANDS            R1, R2
ROM:1FFFBF72                 STR             R1, [R0,#4] ; 设置时钟配置寄存器
ROM:1FFFBF74 ; 7:   v40021000 &= 0xFEF6FFFF;
ROM:1FFFBF74                 LDR             R1, [R0]
ROM:1FFFBF76                 LDR             R2, =0xFEF6FFFF
ROM:1FFFBF78                 ANDS            R1, R2
ROM:1FFFBF7A                 STR             R1, [R0]
ROM:1FFFBF7C ; 8:   v40021000 &= 0xFFFBFFFF;
ROM:1FFFBF7C                 LDR             R1, [R0]
ROM:1FFFBF7E                 BIC.W           R1, R1, #0x40000
ROM:1FFFBF82                 STR             R1, [R0]
ROM:1FFFBF84 ; 9:   v40021004 &= 0xFF80FFFF;
ROM:1FFFBF84                 LDR             R1, [R0,#4]
ROM:1FFFBF86                 BIC.W           R1, R1, #0x7F0000
ROM:1FFFBF8A                 STR             R1, [R0,#4]
ROM:1FFFBF8C ; 10:   v40021000 &= 0xEBFFFFFF;
ROM:1FFFBF8C                 LDR             R1, [R0]
ROM:1FFFBF8E                 BIC.W           R1, R1, #0x14000000
ROM:1FFFBF92                 STR             R1, [R0]
ROM:1FFFBF94 ; 11:   v40021008 = 16711680;
ROM:1FFFBF94                 MOV.W           R1, #0xFF0000
ROM:1FFFBF98                 STR             R1, [R0,#8]
ROM:1FFFBF9A ; 12:   v4002102C = 0;
ROM:1FFFBF9A                 MOVS            R1, #0
ROM:1FFFBF9C                 STR             R1, [R0,#0x2C]
ROM:1FFFBF9E                 BX              LR
ROM:1FFFBF9E ; End of function RCC_init
ROM:1FFFBF9E
ROM:1FFFBFA0
ROM:1FFFBFA0 ; =============== S U B R O U T I N E =======================================
ROM:1FFFBFA0
ROM:1FFFBFA0
ROM:1FFFBFA0 clk_cfg_0                               ; CODE XREF: enale_usb_trans+10p
ROM:1FFFBFA0                 LDR             R0, =0x40021014 ; 复位和时钟控制(RCC)
ROM:1FFFBFA2                 LDR             R1, [R0]
ROM:1FFFBFA4                 BIC.W           R1, R1, #0x1000
ROM:1FFFBFA8                 STR             R1, [R0]
ROM:1FFFBFAA                 LDR             R1, =0x424200D8 ; 未知寄存器地址
ROM:1FFFBFAC                 MOVS            R2, #1
ROM:1FFFBFAE                 STR             R2, [R1]
ROM:1FFFBFB0                 LDR             R1, [R0]
ROM:1FFFBFB2                 ORR.W           R1, R1, #0x1000
ROM:1FFFBFB6                 STR             R1, [R0]
ROM:1FFFBFB8                 BX              LR
ROM:1FFFBFB8 ; End of function clk_cfg_0
ROM:1FFFBFB8
ROM:1FFFBFBA
ROM:1FFFBFBA ; =============== S U B R O U T I N E =======================================
ROM:1FFFBFBA
ROM:1FFFBFBA
ROM:1FFFBFBA usb_en_inter                            ; CODE XREF: usb_monitor_en+12p
ROM:1FFFBFBA                 LDR             R0, =0xE000ED0C ; AIRCR;                   /*!< Offset: 0x00C (R/W)  Application Interrupt and Reset Control Register
ROM:1FFFBFBC                 LDR             R0, [R0]
ROM:1FFFBFBE                 LDR             R0, =0xE000E440
ROM:1FFFBFC0                 LDR             R1, [R0]
ROM:1FFFBFC2                 LSLS            R1, R1, #8
ROM:1FFFBFC4                 LSRS            R1, R1, #8
ROM:1FFFBFC6                 STR             R1, [R0]
ROM:1FFFBFC8                 LDR             R0, =0xE000E108 ; 中断使能 67 OTG_FS_IRQHandler
ROM:1FFFBFCA                 MOVS            R1, #8
ROM:1FFFBFCC                 STR             R1, [R0]
ROM:1FFFBFCE                 BX              LR
ROM:1FFFBFCE ; End of function usb_en_inter
ROM:1FFFBFCE
ROM:1FFFBFCE ; ---------------------------------------------------------------------------
ROM:1FFFBFD0 dword_1FFFBFD0  DCD 0x40021000          ; DATA XREF: sub_1FFFBBF0+10r
ROM:1FFFBFD0                                         ; clk_cfg+10r ...
ROM:1FFFBFD4 dword_1FFFBFD4  DCD 0x2000023C          ; DATA XREF: sub_1FFFBBF0+2Cr
ROM:1FFFBFD4                                         ; clk_cfg+2Ar ...
ROM:1FFFBFD8 dword_1FFFBFD8  DCD 0x40022000          ; DATA XREF: sub_1FFFBBF0:loc_1FFFBC78r
ROM:1FFFBFDC dword_1FFFBFDC  DCD 0x4242004C          ; DATA XREF: sub_1FFFBBF0+9Cr
ROM:1FFFBFE0 dword_1FFFBFE0  DCD 0x40021004          ; DATA XREF: sub_1FFFBC96+6r
ROM:1FFFBFE4 dword_1FFFBFE4  DCD 0x42420060          ; DATA XREF: clk_cfg+1Ar
ROM:1FFFBFE4                                         ; sub_1FFFBD18+6r ...
ROM:1FFFBFE8 dword_1FFFBFE8  DCD 0x100002            ; DATA XREF: clk_cfg+56r
ROM:1FFFBFEC dword_1FFFBFEC  DCD 0xFFFEFFF0          ; DATA XREF: sub_1FFFBD18+72r
ROM:1FFFBFEC                                         ; sub_1FFFBE1A+18r ...
ROM:1FFFBFF0 dword_1FFFBFF0  DCD 0xF0FF0000          ; DATA XREF: RCC_init+Cr
ROM:1FFFBFF4 dword_1FFFBFF4  DCD 0xFEF6FFFF          ; DATA XREF: RCC_init+14r
ROM:1FFFBFF8 dword_1FFFBFF8  DCD 0x40021014          ; DATA XREF: clk_cfg_0r
ROM:1FFFBFFC dword_1FFFBFFC  DCD 0x424200D8          ; DATA XREF: clk_cfg_0+Ar
ROM:1FFFC000 dword_1FFFC000  DCD 0xE000ED0C          ; DATA XREF: usb_en_interr
ROM:1FFFC004 dword_1FFFC004  DCD 0xE000E440          ; DATA XREF: usb_en_inter+4r
ROM:1FFFC008 dword_1FFFC008  DCD 0xE000E108          ; DATA XREF: usb_en_inter+Er
ROM:1FFFC00C
ROM:1FFFC00C ; =============== S U B R O U T I N E =======================================
ROM:1FFFC00C
ROM:1FFFC00C
ROM:1FFFC00C FLASH_UnlockBank1                       ; CODE XREF: check_canbus2+25Ep
ROM:1FFFC00C                                         ; check_canbus2+2DAp ...
ROM:1FFFC00C                 LDR             R0, =0x40022004 ; flash寄存器地址
ROM:1FFFC00E                 B               loc_1FFFC012
ROM:1FFFC00E ; End of function FLASH_UnlockBank1
ROM:1FFFC00E
ROM:1FFFC010
ROM:1FFFC010 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC010
ROM:1FFFC010
ROM:1FFFC010 sub_1FFFC010                            ; CODE XREF: check_canbus2+2DEp
ROM:1FFFC010                                         ; sub_1FFFCCE0+1Ep ...
ROM:1FFFC010                 LDR             R0, =0x40022008
ROM:1FFFC012
ROM:1FFFC012 loc_1FFFC012                            ; CODE XREF: FLASH_UnlockBank1+2j
ROM:1FFFC012                 LDR             R1, =0x45670123
ROM:1FFFC014                 STR             R1, [R0]
ROM:1FFFC016                 LDR             R1, =0xCDEF89AB
ROM:1FFFC018                 STR             R1, [R0]
ROM:1FFFC01A                 BX              LR
ROM:1FFFC01A ; End of function sub_1FFFC010
ROM:1FFFC01A
ROM:1FFFC01C ; ---------------------------------------------------------------------------
ROM:1FFFC01C ; 5:   for ( result = 4095; v4002200C & 1 && result; --result )
ROM:1FFFC01C ; START OF FUNCTION CHUNK FOR FLASH_ErasePage
ROM:1FFFC01C
ROM:1FFFC01C FLASH_WaitForLastOperation              ; CODE XREF: check_canbus2+2EEj
ROM:1FFFC01C                                         ; check_canbus2+308j ...
ROM:1FFFC01C                 SUB             SP, SP, #8
ROM:1FFFC01E                 MOVW            R0, #0xFFF
ROM:1FFFC022                 B               loc_1FFFC028
ROM:1FFFC024 ; ---------------------------------------------------------------------------
ROM:1FFFC024
ROM:1FFFC024 loc_1FFFC024                            ; CODE XREF: FLASH_ErasePage-6Aj
ROM:1FFFC024                 LDR             R0, [SP,#8+var_8] ; 获取计数变量n
ROM:1FFFC026                 SUBS            R0, R0, #1 ; n=n-1
ROM:1FFFC028
ROM:1FFFC028 loc_1FFFC028                            ; CODE XREF: FLASH_ErasePage-7Ej
ROM:1FFFC028                 STR             R0, [SP,#8+var_8]
ROM:1FFFC02A                 LDR             R0, =0x4002200C ; flash控制寄存器地址
ROM:1FFFC02C                 LDR             R0, [R0]
ROM:1FFFC02E                 LSLS            R0, R0, #0x1F
ROM:1FFFC030                 BPL             loc_1FFFC038 ; FLASH Busy flag FLASH->SR
ROM:1FFFC032                 LDR             R0, [SP,#8+var_8]
ROM:1FFFC034                 CMP             R0, #0
ROM:1FFFC036                 BNE             loc_1FFFC024 ; 获取计数变量n
ROM:1FFFC038 ; 7:   if ( !result )
ROM:1FFFC038
ROM:1FFFC038 loc_1FFFC038                            ; CODE XREF: FLASH_ErasePage-70j
ROM:1FFFC038                 LDR             R0, [SP,#8+var_8] ; flash不忙了
ROM:1FFFC03A                 CBNZ            R0, loc_1FFFC042
ROM:1FFFC03C ; 8:     result = sys_reset();
ROM:1FFFC03C                 ADD             SP, SP, #8
ROM:1FFFC03E                 B.W             sys_reset ; flash操作超时了,重启mcu
ROM:1FFFC042 ; ---------------------------------------------------------------------------
ROM:1FFFC042
ROM:1FFFC042 loc_1FFFC042                            ; CODE XREF: FLASH_ErasePage-66j
ROM:1FFFC042                 ADD             SP, SP, #8
ROM:1FFFC044                 BX              LR
ROM:1FFFC044 ; END OF FUNCTION CHUNK FOR FLASH_ErasePage
ROM:1FFFC046
ROM:1FFFC046 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC046
ROM:1FFFC046
ROM:1FFFC046 sub_1FFFC046                            ; CODE XREF: check_canbus2+2D6p
ROM:1FFFC046                                         ; sub_1FFFC0FC+32p ...
ROM:1FFFC046                 PUSH            {R4,LR}
ROM:1FFFC048                 BL              sub_1FFFC0EC
ROM:1FFFC04C                 LDR             R0, [R4,#0xC]
ROM:1FFFC04E                 ORR.W           R0, R0, #0x20
ROM:1FFFC052                 BL              sub_1FFFC0E0
ROM:1FFFC056                 LDR             R0, [R4,#0xC]
ROM:1FFFC058                 BIC.W           R0, R0, #0x20
ROM:1FFFC05C                 STR             R0, [R4,#0xC]
ROM:1FFFC05E                 POP             {R4,PC}
ROM:1FFFC05E ; End of function sub_1FFFC046
ROM:1FFFC05E
ROM:1FFFC060
ROM:1FFFC060 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC060
ROM:1FFFC060
ROM:1FFFC060 FLASH_ProgramWord                       ; CODE XREF: check_canbus2+276p
ROM:1FFFC060                                         ; sub_1FFFDCFE+2Cp ...
ROM:1FFFC060                 PUSH            {R4-R6,LR}
ROM:1FFFC062                 MOV             R5, R0
ROM:1FFFC064                 MOV             R6, R1
ROM:1FFFC066                 BL              FLASH_WaitForLastOperation
ROM:1FFFC06A ; ---------------------------------------------------------------------------
ROM:1FFFC06A                 LDR             R4, =0x4002200C
ROM:1FFFC06C                 LDR             R0, [R4,#4] ; get CR
ROM:1FFFC06E                 ORR.W           R0, R0, #1
ROM:1FFFC072                 STR             R0, [R4,#4] ; /* if the previous operation is completed, proceed to program the new first
ROM:1FFFC072                                         ;     half word */
ROM:1FFFC072                                         ;     FLASH->CR |= CR_PG_Set;
ROM:1FFFC074                 STRH            R6, [R5] ;  *(__IO uint16_t*)Address = (uint16_t)Data;
ROM:1FFFC076                 BL              FLASH_WaitForLastOperation ; Wait for last operation to be completed
ROM:1FFFC07A ; ---------------------------------------------------------------------------
ROM:1FFFC07A                 LDR             R0, [R4]
ROM:1FFFC07C                 LSLS            R0, R0, #0x1D
ROM:1FFFC07E                 BMI             loc_1FFFC088
ROM:1FFFC080                 LSRS            R0, R6, #0x10
ROM:1FFFC082                 STRH            R0, [R5,#2]
ROM:1FFFC084                 BL              FLASH_WaitForLastOperation
ROM:1FFFC088 ; ---------------------------------------------------------------------------
ROM:1FFFC088
ROM:1FFFC088 loc_1FFFC088                            ; CODE XREF: FLASH_ProgramWord+1Ej
ROM:1FFFC088                 LDR             R0, [R4]
ROM:1FFFC08A                 LSLS            R0, R0, #0x1D
ROM:1FFFC08C                 BPL             loc_1FFFC096
ROM:1FFFC08E                 LDR             R0, [R4]
ROM:1FFFC090                 ORR.W           R0, R0, #4
ROM:1FFFC094                 STR             R0, [R4]
ROM:1FFFC096
ROM:1FFFC096 loc_1FFFC096                            ; CODE XREF: FLASH_ProgramWord+2Cj
ROM:1FFFC096                 LDR             R0, [R4,#4]
ROM:1FFFC098                 LSRS            R0, R0, #1
ROM:1FFFC09A                 LSLS            R0, R0, #1
ROM:1FFFC09C                 STR             R0, [R4,#4]
ROM:1FFFC09E                 POP             {R4-R6,PC}
ROM:1FFFC09E ; End of function FLASH_ProgramWord
ROM:1FFFC09E
ROM:1FFFC0A0
ROM:1FFFC0A0 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC0A0
ROM:1FFFC0A0
ROM:1FFFC0A0 FLASH_ErasePage                         ; CODE XREF: check_canbus2+366p
ROM:1FFFC0A0                                         ; sub_1FFFC8E2+26p ...
ROM:1FFFC0A0
ROM:1FFFC0A0 var_8           = -8
ROM:1FFFC0A0
ROM:1FFFC0A0 ; FUNCTION CHUNK AT ROM:1FFFC01C SIZE 0000002A BYTES
ROM:1FFFC0A0
ROM:1FFFC0A0                 PUSH            {R3-R5,LR}
ROM:1FFFC0A2 ; 4:   v40022004 = 0xCDEF89AB;
ROM:1FFFC0A2                 MOV             R4, R0  ; 传进来的页地址参数
ROM:1FFFC0A4                 LDR             R5, =0x40022004
ROM:1FFFC0A6                 LDR             R0, =0x45670123 ; FLASH_KEY1               ((uint32_t)0x45670123)
ROM:1FFFC0A6                                         ; FLASH_KEY2               ((uint32_t)0xCDEF89AB)
ROM:1FFFC0A8                 STR             R0, [R5]
ROM:1FFFC0AA                 LDR             R0, =0xCDEF89AB
ROM:1FFFC0AC                 STR             R0, [R5] ; flash解锁操作
ROM:1FFFC0AE                 BL              FLASH_WaitForLastOperation
ROM:1FFFC0AE ; End of function FLASH_ErasePage
ROM:1FFFC0AE
ROM:1FFFC0B2 ; ---------------------------------------------------------------------------
ROM:1FFFC0B2                 MOVS            R0, #2
ROM:1FFFC0B4                 STR             R0, [R5,#0xC] ; CR=2
ROM:1FFFC0B6                 STR             R4, [R5,#0x10] ; FLASH->AR = Page_Address;
ROM:1FFFC0B8                 MOVS            R0, #0x42
ROM:1FFFC0BA                 STR             R0, [R5,#0xC] ; FLASH->CR|= CR_STRT_Set;
ROM:1FFFC0BC                 BL              FLASH_WaitForLastOperation
ROM:1FFFC0C0 ; ---------------------------------------------------------------------------
ROM:1FFFC0C0                 MOVS            R0, #0
ROM:1FFFC0C2                 STR             R0, [R5,#0xC] ; Disable the PER Bit
ROM:1FFFC0C4                 POP             {R0,R4,R5,PC}
ROM:1FFFC0C6
ROM:1FFFC0C6 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC0C6
ROM:1FFFC0C6
ROM:1FFFC0C6 sub_1FFFC0C6                            ; CODE XREF: check_canbus2+342p
ROM:1FFFC0C6                                         ; sub_1FFFC2EE+92p ...
ROM:1FFFC0C6                 PUSH            {R4,LR}
ROM:1FFFC0C8                 BL              sub_1FFFC0EC
ROM:1FFFC0CC                 LDR             R0, [R4,#0xC]
ROM:1FFFC0CE                 ORR.W           R0, R0, #4
ROM:1FFFC0D2                 BL              sub_1FFFC0E0
ROM:1FFFC0D6                 LDR             R0, [R4,#0xC]
ROM:1FFFC0D8                 BIC.W           R0, R0, #4
ROM:1FFFC0DC                 STR             R0, [R4,#0xC]
ROM:1FFFC0DE                 POP             {R4,PC}
ROM:1FFFC0DE ; End of function sub_1FFFC0C6
ROM:1FFFC0DE
ROM:1FFFC0E0
ROM:1FFFC0E0 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC0E0
ROM:1FFFC0E0
ROM:1FFFC0E0 sub_1FFFC0E0                            ; CODE XREF: sub_1FFFC046+Cp
ROM:1FFFC0E0                                         ; sub_1FFFC0C6+Cp
ROM:1FFFC0E0                 STR             R0, [R4,#0xC]
ROM:1FFFC0E2                 LDR             R0, [R4,#0xC]
ROM:1FFFC0E4                 ORR.W           R0, R0, #0x40
ROM:1FFFC0E8                 STR             R0, [R4,#0xC]
ROM:1FFFC0EA                 B               FLASH_WaitForLastOperation
ROM:1FFFC0EA ; End of function sub_1FFFC0E0
ROM:1FFFC0EA
ROM:1FFFC0EC
ROM:1FFFC0EC ; =============== S U B R O U T I N E =======================================
ROM:1FFFC0EC
ROM:1FFFC0EC
ROM:1FFFC0EC sub_1FFFC0EC                            ; CODE XREF: sub_1FFFC046+2p
ROM:1FFFC0EC                                         ; sub_1FFFC0C6+2p
ROM:1FFFC0EC                 LDR             R4, =0x40022004
ROM:1FFFC0EE                 LDR             R0, =0x45670123
ROM:1FFFC0F0                 STR             R0, [R4]
ROM:1FFFC0F2                 LDR             R1, =0xCDEF89AB
ROM:1FFFC0F4                 STR             R1, [R4]
ROM:1FFFC0F6                 STR             R0, [R4,#4]
ROM:1FFFC0F8                 STR             R1, [R4,#4]
ROM:1FFFC0FA                 B               FLASH_WaitForLastOperation
ROM:1FFFC0FA ; End of function sub_1FFFC0EC
ROM:1FFFC0FA
ROM:1FFFC0FC
ROM:1FFFC0FC ; =============== S U B R O U T I N E =======================================
ROM:1FFFC0FC
ROM:1FFFC0FC
ROM:1FFFC0FC sub_1FFFC0FC                            ; CODE XREF: check_canbus2+3D0p
ROM:1FFFC0FC                                         ; sub_1FFFC91C+34p ...
ROM:1FFFC0FC
ROM:1FFFC0FC var_28          = -0x28
ROM:1FFFC0FC var_26          = -0x26
ROM:1FFFC0FC var_24          = -0x24
ROM:1FFFC0FC var_22          = -0x22
ROM:1FFFC0FC
ROM:1FFFC0FC                 PUSH.W          {R4-R9,LR}
ROM:1FFFC100                 SUB             SP, SP, #0xC
ROM:1FFFC102                 LDR             R4, =0x1FFFF800
ROM:1FFFC104                 LDRH            R1, [R4]
ROM:1FFFC106                 STRH.W          R1, [SP,#0x28+var_22]
ROM:1FFFC10A                 LDRH            R1, [R4,#2]
ROM:1FFFC10C                 STRH.W          R1, [SP,#0x28+var_24]
ROM:1FFFC110                 LDRH            R1, [R4,#4]
ROM:1FFFC112                 STRH.W          R1, [SP,#0x28+var_26]
ROM:1FFFC116                 LDRH            R1, [R4,#6]
ROM:1FFFC118                 STRH.W          R1, [SP,#0x28+var_28]
ROM:1FFFC11C                 MVNS            R0, R0
ROM:1FFFC11E                 AND.W           R5, R0, #0xFF
ROM:1FFFC122                 UBFX.W          R9, R0, #8, #8
ROM:1FFFC126                 LSRS            R1, R0, #0x10
ROM:1FFFC128                 UXTB            R7, R1
ROM:1FFFC12A                 MOV.W           R8, R0,LSR#24
ROM:1FFFC12E                 BL              sub_1FFFC046
ROM:1FFFC132                 BL              loc_1FFFC254
ROM:1FFFC136                 LDR             R0, [R6,#0xC]
ROM:1FFFC138                 ORR.W           R0, R0, #0x10
ROM:1FFFC13C                 STR             R0, [R6,#0xC]
ROM:1FFFC13E                 LDRH.W          R0, [SP,#0x28+var_22]
ROM:1FFFC142                 UXTB            R0, R0
ROM:1FFFC144                 STRH            R0, [R4]
ROM:1FFFC146                 BL              FLASH_WaitForLastOperation
ROM:1FFFC146 ; End of function sub_1FFFC0FC
ROM:1FFFC146
ROM:1FFFC14A ; ---------------------------------------------------------------------------
ROM:1FFFC14A                 LDRH.W          R0, [SP,#4]
ROM:1FFFC14E                 UXTB            R0, R0
ROM:1FFFC150                 STRH            R0, [R4,#2]
ROM:1FFFC152                 BL              FLASH_WaitForLastOperation
ROM:1FFFC156 ; ---------------------------------------------------------------------------
ROM:1FFFC156                 LDRH.W          R0, [SP,#2]
ROM:1FFFC15A                 UXTB            R0, R0
ROM:1FFFC15C                 STRH            R0, [R4,#4]
ROM:1FFFC15E                 BL              FLASH_WaitForLastOperation
ROM:1FFFC162 ; ---------------------------------------------------------------------------
ROM:1FFFC162                 LDRH.W          R0, [SP]
ROM:1FFFC166                 UXTB            R0, R0
ROM:1FFFC168                 STRH            R0, [R4,#6]
ROM:1FFFC16A                 BL              FLASH_WaitForLastOperation
ROM:1FFFC16E ; ---------------------------------------------------------------------------
ROM:1FFFC16E                 CMP             R5, #0xFF
ROM:1FFFC170                 ITT NE
ROM:1FFFC172                 STRNEH          R5, [R4,#8]
ROM:1FFFC174                 BLNE            FLASH_WaitForLastOperation
ROM:1FFFC178                 CMP.W           R9, #0xFF
ROM:1FFFC17C                 ITT NE
ROM:1FFFC17E                 STRNEH.W        R9, [R4,#0xA]
ROM:1FFFC182                 BLNE            FLASH_WaitForLastOperation
ROM:1FFFC186                 CMP             R7, #0xFF
ROM:1FFFC188                 ITT NE
ROM:1FFFC18A                 STRNEH          R7, [R4,#0xC]
ROM:1FFFC18C                 BLNE            FLASH_WaitForLastOperation
ROM:1FFFC190                 MOV             R0, R8
ROM:1FFFC192                 CMP             R0, #0xFF
ROM:1FFFC194                 ITT NE
ROM:1FFFC196                 STRNEH.W        R8, [R4,#0xE]
ROM:1FFFC19A                 BLNE            FLASH_WaitForLastOperation
ROM:1FFFC19E                 LDR             R0, [R6,#0xC]
ROM:1FFFC1A0                 BIC.W           R0, R0, #0x10
ROM:1FFFC1A4                 STR             R0, [R6,#0xC]
ROM:1FFFC1A6                 POP.W           {R0-R2,R4-R9,PC}
ROM:1FFFC1AA
ROM:1FFFC1AA ; =============== S U B R O U T I N E =======================================
ROM:1FFFC1AA
ROM:1FFFC1AA
ROM:1FFFC1AA sub_1FFFC1AA                            ; CODE XREF: check_canbus2+3F8p
ROM:1FFFC1AA                                         ; check_canbus2+424p ...
ROM:1FFFC1AA                 PUSH            {R0-R6,LR}
ROM:1FFFC1AC                 MOV             R4, R0
ROM:1FFFC1AE                 BL              FLASH_WaitForLastOperation
ROM:1FFFC1AE ; End of function sub_1FFFC1AA
ROM:1FFFC1AE
ROM:1FFFC1B2 ; ---------------------------------------------------------------------------
ROM:1FFFC1B2                 LDR             R5, =0x1FFFF800
ROM:1FFFC1B4                 LDRH            R0, [R5,#2]
ROM:1FFFC1B6                 STRH.W          R0, [SP,#0xC]
ROM:1FFFC1BA                 LDRH            R0, [R5,#4]
ROM:1FFFC1BC                 STRH.W          R0, [SP,#0xA]
ROM:1FFFC1C0                 LDRH            R0, [R5,#6]
ROM:1FFFC1C2                 STRH.W          R0, [SP,#8]
ROM:1FFFC1C6                 LDRH            R0, [R5,#8]
ROM:1FFFC1C8                 STRH.W          R0, [SP,#6]
ROM:1FFFC1CC                 LDRH            R0, [R5,#0xA]
ROM:1FFFC1CE                 STRH.W          R0, [SP,#4]
ROM:1FFFC1D2                 LDRH            R0, [R5,#0xC]
ROM:1FFFC1D4                 STRH.W          R0, [SP,#2]
ROM:1FFFC1D8                 LDRH            R0, [R5,#0xE]
ROM:1FFFC1DA                 STRH.W          R0, [SP]
ROM:1FFFC1DE                 BL              sub_1FFFC046
ROM:1FFFC1E2                 BL              loc_1FFFC254
ROM:1FFFC1E6                 BL              FLASH_WaitForLastOperation
ROM:1FFFC1EA ; ---------------------------------------------------------------------------
ROM:1FFFC1EA                 LDR             R0, [R6,#0xC]
ROM:1FFFC1EC                 ORR.W           R0, R0, #0x10
ROM:1FFFC1F0                 STR             R0, [R6,#0xC]
ROM:1FFFC1F2                 CBZ             R4, loc_1FFFC23C
ROM:1FFFC1F4                 LDRH.W          R0, [SP,#0xC]
ROM:1FFFC1F8                 UXTB            R0, R0
ROM:1FFFC1FA                 STRH            R0, [R5,#2]
ROM:1FFFC1FC                 BL              FLASH_WaitForLastOperation
ROM:1FFFC200 ; ---------------------------------------------------------------------------
ROM:1FFFC200                 LDRH.W          R0, [SP,#0xA]
ROM:1FFFC204                 UXTB            R0, R0
ROM:1FFFC206                 STRH            R0, [R5,#4]
ROM:1FFFC208                 BL              FLASH_WaitForLastOperation
ROM:1FFFC20C ; ---------------------------------------------------------------------------
ROM:1FFFC20C                 LDRH.W          R0, [SP,#8]
ROM:1FFFC210                 UXTB            R0, R0
ROM:1FFFC212                 STRH            R0, [R5,#6]
ROM:1FFFC214                 BL              FLASH_WaitForLastOperation
ROM:1FFFC218 ; ---------------------------------------------------------------------------
ROM:1FFFC218                 LDRH.W          R0, [SP,#6]
ROM:1FFFC21C                 BL              sub_1FFFC24E
ROM:1FFFC220                 LDRH.W          R0, [SP,#4]
ROM:1FFFC224                 BL              sub_1FFFC24E
ROM:1FFFC228                 LDRH.W          R0, [SP,#2]
ROM:1FFFC22C                 BL              sub_1FFFC24E
ROM:1FFFC230                 LDRH.W          R0, [SP]
ROM:1FFFC234                 BL              sub_1FFFC24E
ROM:1FFFC238                 MOVS            R0, #0
ROM:1FFFC23A                 B               loc_1FFFC23E
ROM:1FFFC23C ; ---------------------------------------------------------------------------
ROM:1FFFC23C
ROM:1FFFC23C loc_1FFFC23C                            ; CODE XREF: ROM:1FFFC1F2j
ROM:1FFFC23C                 MOVS            R0, #0xA5
ROM:1FFFC23E
ROM:1FFFC23E loc_1FFFC23E                            ; CODE XREF: ROM:1FFFC23Aj
ROM:1FFFC23E                 STRH            R0, [R5]
ROM:1FFFC240                 BL              FLASH_WaitForLastOperation
ROM:1FFFC244 ; ---------------------------------------------------------------------------
ROM:1FFFC244                 LDR             R0, [R6,#0xC]
ROM:1FFFC246                 BIC.W           R0, R0, #0x10
ROM:1FFFC24A                 STR             R0, [R6,#0xC]
ROM:1FFFC24C                 POP             {R0-R6,PC}
ROM:1FFFC24E
ROM:1FFFC24E ; =============== S U B R O U T I N E =======================================
ROM:1FFFC24E
ROM:1FFFC24E
ROM:1FFFC24E sub_1FFFC24E                            ; CODE XREF: ROM:1FFFC21Cp
ROM:1FFFC24E                                         ; ROM:1FFFC224p ...
ROM:1FFFC24E                 UXTB            R0, R0
ROM:1FFFC250                 STRH            R0, [R5,#8]
ROM:1FFFC252                 B               FLASH_WaitForLastOperation
ROM:1FFFC252 ; End of function sub_1FFFC24E
ROM:1FFFC252
ROM:1FFFC254 ; ---------------------------------------------------------------------------
ROM:1FFFC254
ROM:1FFFC254 loc_1FFFC254                            ; CODE XREF: sub_1FFFC0FC+36p
ROM:1FFFC254                                         ; ROM:1FFFC1E2p
ROM:1FFFC254                 LDR             R6, =0x40022004
ROM:1FFFC256                 LDR             R0, =0x45670123
ROM:1FFFC258                 STR             R0, [R6]
ROM:1FFFC25A                 LDR             R1, =0xCDEF89AB
ROM:1FFFC25C                 STR             R1, [R6]
ROM:1FFFC25E                 STR             R0, [R6,#4]
ROM:1FFFC260                 STR             R1, [R6,#4]
ROM:1FFFC262                 BX              LR
ROM:1FFFC264
ROM:1FFFC264 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC264
ROM:1FFFC264 ; 检查flash的读保护位
ROM:1FFFC264 ;
ROM:1FFFC264
ROM:1FFFC264 FLASH_GetReadOutProtectionStatus        ; CODE XREF: sub_1FFFB64A+6j
ROM:1FFFC264                                         ; sub_1FFFB940+2p ...
ROM:1FFFC264                 LDR             R0, =0x4002201C
ROM:1FFFC266                 LDR             R0, [R0]
ROM:1FFFC268                 LSLS            R0, R0, #0x18
ROM:1FFFC26A                 LSRS            R0, R0, #0x19
ROM:1FFFC26C                 AND.W           R0, R0, #1
ROM:1FFFC270                 BX              LR
ROM:1FFFC270 ; End of function FLASH_GetReadOutProtectionStatus
ROM:1FFFC270
ROM:1FFFC270 ; ---------------------------------------------------------------------------
ROM:1FFFC272                 ALIGN 4
ROM:1FFFC274 dword_1FFFC274  DCD 0x40022004          ; DATA XREF: FLASH_UnlockBank1r
ROM:1FFFC274                                         ; FLASH_ErasePage+4r ...
ROM:1FFFC278 dword_1FFFC278  DCD 0x40022008          ; DATA XREF: sub_1FFFC010r
ROM:1FFFC27C dword_1FFFC27C  DCD 0x45670123          ; DATA XREF: sub_1FFFC010:loc_1FFFC012r
ROM:1FFFC27C                                         ; FLASH_ErasePage+6r ...
ROM:1FFFC280 dword_1FFFC280  DCD 0xCDEF89AB          ; DATA XREF: sub_1FFFC010+6r
ROM:1FFFC280                                         ; FLASH_ErasePage+Ar ...
ROM:1FFFC284 dword_1FFFC284  DCD 0x4002200C          ; DATA XREF: FLASH_ErasePage-76r
ROM:1FFFC284                                         ; FLASH_ProgramWord+Ar
ROM:1FFFC288 dword_1FFFC288  DCD 0x1FFFF800          ; DATA XREF: sub_1FFFC0FC+6r
ROM:1FFFC288                                         ; ROM:1FFFC1B2r
ROM:1FFFC28C dword_1FFFC28C  DCD 0x4002201C          ; DATA XREF: FLASH_GetReadOutProtectionStatusr
ROM:1FFFC290
ROM:1FFFC290 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC290
ROM:1FFFC290 ; 程序中指针调用过来的
ROM:1FFFC290
ROM:1FFFC290 usb_monitor_en
ROM:1FFFC290                 PUSH            {R7,LR}
ROM:1FFFC292                 LDR.W           R0, =0x20000C0C
ROM:1FFFC296                 MOVS            R1, #0
ROM:1FFFC298                 STRB            R1, [R0,#0xA]
ROM:1FFFC29A                 BL              return_0_0
ROM:1FFFC29E                 BL              usb_chuli
ROM:1FFFC2A2                 BL              usb_en_inter
ROM:1FFFC2A6                 LDR.W           R0, =0x20000C64
ROM:1FFFC2AA                 MOVS            R1, #0
ROM:1FFFC2AC                 STR             R1, [R0]
ROM:1FFFC2AE                 POP             {R0,PC}
ROM:1FFFC2AE ; End of function usb_monitor_en
ROM:1FFFC2AE
ROM:1FFFC2B0
ROM:1FFFC2B0 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC2B0
ROM:1FFFC2B0
ROM:1FFFC2B0 sub_1FFFC2B0
ROM:1FFFC2B0                 LDR.W           R0, =0x20000C0C
ROM:1FFFC2B4                 MOVS            R1, #0
ROM:1FFFC2B6                 STRB            R1, [R0,#0xA]
ROM:1FFFC2B8                 LDR.W           R0, =0x20000C28
ROM:1FFFC2BC                 LDR             R0, [R0]
ROM:1FFFC2BE                 LDR.W           R1, =0x200001AC
ROM:1FFFC2C2                 LDRB            R1, [R1,#7]
ROM:1FFFC2C4                 STRB            R1, [R0,#9]
ROM:1FFFC2C6                 LDR.W           R0, =0x20000C64
ROM:1FFFC2CA                 MOVS            R1, #1
ROM:1FFFC2CC                 STR             R1, [R0]
ROM:1FFFC2CE                 BX              LR
ROM:1FFFC2CE ; End of function sub_1FFFC2B0
ROM:1FFFC2CE
ROM:1FFFC2D0
ROM:1FFFC2D0 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC2D0
ROM:1FFFC2D0 ; 函数指针,定义为全局data区
ROM:1FFFC2D0
ROM:1FFFC2D0 sub_1FFFC2D0
ROM:1FFFC2D0                 LDR.W           R0, =0x20000C0C
ROM:1FFFC2D4                 LDRB            R0, [R0,#0xA]
ROM:1FFFC2D6                 CBZ             R0, locret_1FFFC2E0
ROM:1FFFC2D8                 LDR.W           R0, =0x20000C64
ROM:1FFFC2DC                 MOVS            R1, #5
ROM:1FFFC2DE                 STR             R1, [R0]
ROM:1FFFC2E0
ROM:1FFFC2E0 locret_1FFFC2E0                         ; CODE XREF: sub_1FFFC2D0+6j
ROM:1FFFC2E0                 BX              LR
ROM:1FFFC2E0 ; End of function sub_1FFFC2D0
ROM:1FFFC2E0
ROM:1FFFC2E2
ROM:1FFFC2E2 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC2E2
ROM:1FFFC2E2
ROM:1FFFC2E2 sub_1FFFC2E2
ROM:1FFFC2E2                 LDR.W           R0, =0x20000C64
ROM:1FFFC2E6                 MOVS            R1, #4
ROM:1FFFC2E8                 STR             R1, [R0]
ROM:1FFFC2EA                 BX              LR
ROM:1FFFC2EA ; End of function sub_1FFFC2E2
ROM:1FFFC2EA
ROM:1FFFC2EC ; ---------------------------------------------------------------------------
ROM:1FFFC2EC                 BX              LR
ROM:1FFFC2EE
ROM:1FFFC2EE ; =============== S U B R O U T I N E =======================================
ROM:1FFFC2EE
ROM:1FFFC2EE
ROM:1FFFC2EE sub_1FFFC2EE
ROM:1FFFC2EE
ROM:1FFFC2EE var_10          = -0x10
ROM:1FFFC2EE
ROM:1FFFC2EE                 PUSH            {R3-R5,LR}
ROM:1FFFC2F0                 LDR.W           R4, =0x20000138
ROM:1FFFC2F4                 LDR             R0, [R4,#0x14]
ROM:1FFFC2F6                 LDR.W           R1, =0x20000C0C
ROM:1FFFC2FA                 LDRB            R1, [R1,#1]
ROM:1FFFC2FC                 CMP             R1, #3
ROM:1FFFC2FE                 BNE.W           loc_1FFFC406
ROM:1FFFC302                 LDRB            R1, [R4,#0x10]
ROM:1FFFC304                 CMP             R1, #4
ROM:1FFFC306                 BNE             loc_1FFFC3FC
ROM:1FFFC308                 CMP             R0, #0
ROM:1FFFC30A                 BNE             loc_1FFFC39E
ROM:1FFFC30C                 LDR             R0, [R4,#0x18]
ROM:1FFFC30E                 LDR.W           R5, =0x20000250
ROM:1FFFC312                 LDRB            R1, [R5]
ROM:1FFFC314                 CBNZ            R1, loc_1FFFC330
ROM:1FFFC316                 CMP             R0, #1
ROM:1FFFC318                 BEQ             loc_1FFFC3F2
ROM:1FFFC31A
ROM:1FFFC31A loc_1FFFC31A                            ; CODE XREF: sub_1FFFC2EE+48j
ROM:1FFFC31A                                         ; sub_1FFFC2EE+9Ej
ROM:1FFFC31A                 MOVS            R0, #0xA
ROM:1FFFC31C                 STRB            R0, [R4,#0x10]
ROM:1FFFC31E                 MOVS            R0, #0xF
ROM:1FFFC320                 STRB            R0, [R4]
ROM:1FFFC322                 MOVS            R0, #0xA
ROM:1FFFC324                 STRB            R0, [R4,#4]
ROM:1FFFC326                 MOVS            R0, #0
ROM:1FFFC328                 STRB            R0, [R4,#1]
ROM:1FFFC32A                 STRH            R0, [R4,#2]
ROM:1FFFC32C                 STR             R0, [R4,#0x18]
ROM:1FFFC32E                 POP             {R0,R4,R5,PC}
ROM:1FFFC330 ; ---------------------------------------------------------------------------
ROM:1FFFC330
ROM:1FFFC330 loc_1FFFC330                            ; CODE XREF: sub_1FFFC2EE+26j
ROM:1FFFC330                 CMP             R1, #0x21
ROM:1FFFC332                 BNE             loc_1FFFC352
ROM:1FFFC334                 CMP             R0, #5
ROM:1FFFC336                 BNE             loc_1FFFC31A
ROM:1FFFC338                 BL              FLASH_GetReadOutProtectionStatus ; 检查flash的读保护位
ROM:1FFFC338                                         ;
ROM:1FFFC33C                 CMP             R0, #1
ROM:1FFFC33E                 BEQ             loc_1FFFC3AA
ROM:1FFFC340                 BL              sub_1FFFC438
ROM:1FFFC344                 STRB.W          R0, [SP,#0x10+var_10]
ROM:1FFFC348                 LDRB.W          R0, [SP,#0x10+var_10]
ROM:1FFFC34C                 CMP             R0, #1
ROM:1FFFC34E                 BNE             loc_1FFFC3F2
ROM:1FFFC350                 B               loc_1FFFC3D6
ROM:1FFFC352 ; ---------------------------------------------------------------------------
ROM:1FFFC352
ROM:1FFFC352 loc_1FFFC352                            ; CODE XREF: sub_1FFFC2EE+44j
ROM:1FFFC352                 CMP             R1, #0x41
ROM:1FFFC354                 BNE             loc_1FFFC386
ROM:1FFFC356                 BL              FLASH_GetReadOutProtectionStatus ; 检查flash的读保护位
ROM:1FFFC356                                         ;
ROM:1FFFC35A                 CMP             R0, #1
ROM:1FFFC35C                 BEQ             loc_1FFFC3AA
ROM:1FFFC35E                 LDR             R0, [R4,#0x18]
ROM:1FFFC360                 CMP             R0, #5
ROM:1FFFC362                 BNE             loc_1FFFC37C
ROM:1FFFC364                 BL              sub_1FFFC438
ROM:1FFFC368                 STRB.W          R0, [SP,#0x10+var_10]
ROM:1FFFC36C                 LDRB.W          R0, [SP,#0x10+var_10]
ROM:1FFFC370                 CMP             R0, #2
ROM:1FFFC372                 BNE             loc_1FFFC3D6
ROM:1FFFC374                 LDR             R0, [R4,#0x20]
ROM:1FFFC376                 BL              sub_1FFFCC20
ROM:1FFFC37A                 B               loc_1FFFC3F2
ROM:1FFFC37C ; ---------------------------------------------------------------------------
ROM:1FFFC37C
ROM:1FFFC37C loc_1FFFC37C                            ; CODE XREF: sub_1FFFC2EE+74j
ROM:1FFFC37C                 CMP             R0, #1
ROM:1FFFC37E                 BNE             loc_1FFFC3F2
ROM:1FFFC380                 BL              sub_1FFFC0C6
ROM:1FFFC384                 B               loc_1FFFC3F2
ROM:1FFFC386 ; ---------------------------------------------------------------------------
ROM:1FFFC386
ROM:1FFFC386 loc_1FFFC386                            ; CODE XREF: sub_1FFFC2EE+66j
ROM:1FFFC386                 CMP             R1, #0x92
ROM:1FFFC388                 IT EQ
ROM:1FFFC38A                 CMPEQ           R0, #1
ROM:1FFFC38C                 BNE             loc_1FFFC31A
ROM:1FFFC38E                 MOVS            R0, #0
ROM:1FFFC390                 BL              sub_1FFFC1AA
ROM:1FFFC394                 BL              clear_all_mem
ROM:1FFFC398                 BL              sys_reset
ROM:1FFFC39C                 B               loc_1FFFC3F2
ROM:1FFFC39E ; ---------------------------------------------------------------------------
ROM:1FFFC39E
ROM:1FFFC39E loc_1FFFC39E                            ; CODE XREF: sub_1FFFC2EE+1Cj
ROM:1FFFC39E                 CMP             R0, #2
ROM:1FFFC3A0                 BCC             loc_1FFFC3F2
ROM:1FFFC3A2                 BL              FLASH_GetReadOutProtectionStatus ; 检查flash的读保护位
ROM:1FFFC3A2                                         ;
ROM:1FFFC3A6                 CMP             R0, #1
ROM:1FFFC3A8                 BNE             loc_1FFFC3B2
ROM:1FFFC3AA
ROM:1FFFC3AA loc_1FFFC3AA                            ; CODE XREF: sub_1FFFC2EE+50j
ROM:1FFFC3AA                                         ; sub_1FFFC2EE+6Ej
ROM:1FFFC3AA                 MOVS            R0, #0xA
ROM:1FFFC3AC                 STRB            R0, [R4,#0x10]
ROM:1FFFC3AE                 MOVS            R0, #0xB
ROM:1FFFC3B0                 B               loc_1FFFC3DC
ROM:1FFFC3B2 ; ---------------------------------------------------------------------------
ROM:1FFFC3B2
ROM:1FFFC3B2 loc_1FFFC3B2                            ; CODE XREF: sub_1FFFC2EE+BAj
ROM:1FFFC3B2                 LDR             R0, [R4,#0x14]
ROM:1FFFC3B4                 SUBS            R0, R0, #2
ROM:1FFFC3B6                 LDR             R1, [R4,#0x20]
ROM:1FFFC3B8                 ADD.W           R5, R1, R0,LSL#11
ROM:1FFFC3BC                 MOV             R0, R5  ; addr
ROM:1FFFC3BE                 BL              get_mem_block
ROM:1FFFC3C2                 STRB.W          R0, [SP,#0x10+var_10]
ROM:1FFFC3C6                 LDRB.W          R0, [SP,#0x10+var_10]
ROM:1FFFC3CA                 CMP             R0, #1
ROM:1FFFC3CC                 ITT NE
ROM:1FFFC3CE                 LDRNEB.W        R0, [SP,#0x10+var_10]
ROM:1FFFC3D2                 CMPNE           R0, #5
ROM:1FFFC3D4                 BNE             loc_1FFFC3EA
ROM:1FFFC3D6
ROM:1FFFC3D6 loc_1FFFC3D6                            ; CODE XREF: sub_1FFFC2EE+62j
ROM:1FFFC3D6                                         ; sub_1FFFC2EE+84j
ROM:1FFFC3D6                 MOVS            R0, #0xA
ROM:1FFFC3D8                 STRB            R0, [R4,#0x10]
ROM:1FFFC3DA                 MOVS            R0, #1
ROM:1FFFC3DC
ROM:1FFFC3DC loc_1FFFC3DC                            ; CODE XREF: sub_1FFFC2EE+C2j
ROM:1FFFC3DC                 STRB            R0, [R4]
ROM:1FFFC3DE                 MOVS            R0, #0xA
ROM:1FFFC3E0                 STRB            R0, [R4,#4]
ROM:1FFFC3E2                 MOVS            R0, #0
ROM:1FFFC3E4                 STRB            R0, [R4,#1]
ROM:1FFFC3E6                 STRH            R0, [R4,#2]
ROM:1FFFC3E8                 B               loc_1FFFC426
ROM:1FFFC3EA ; ---------------------------------------------------------------------------
ROM:1FFFC3EA
ROM:1FFFC3EA loc_1FFFC3EA                            ; CODE XREF: sub_1FFFC2EE+E6j
ROM:1FFFC3EA                 LDR             R1, [R4,#0x18]
ROM:1FFFC3EC                 MOV             R0, R5
ROM:1FFFC3EE                 BL              sub_1FFFCC38
ROM:1FFFC3F2
ROM:1FFFC3F2 loc_1FFFC3F2                            ; CODE XREF: sub_1FFFC2EE+2Aj
ROM:1FFFC3F2                                         ; sub_1FFFC2EE+60j ...
ROM:1FFFC3F2                 MOVS            R0, #0
ROM:1FFFC3F4                 STR             R0, [R4,#0x18]
ROM:1FFFC3F6                 STR             R0, [R4,#0x14]
ROM:1FFFC3F8                 MOVS            R0, #3
ROM:1FFFC3FA                 B               loc_1FFFC7EC
ROM:1FFFC3FC ; ---------------------------------------------------------------------------
ROM:1FFFC3FC
ROM:1FFFC3FC loc_1FFFC3FC                            ; CODE XREF: sub_1FFFC2EE+18j
ROM:1FFFC3FC                 CMP             R1, #7
ROM:1FFFC3FE                 BNE             locret_1FFFC436
ROM:1FFFC400                 POP.W           {R0,R4,R5,LR}
ROM:1FFFC404                 B               sub_1FFFC7A4
ROM:1FFFC406 ; ---------------------------------------------------------------------------
ROM:1FFFC406
ROM:1FFFC406 loc_1FFFC406                            ; CODE XREF: sub_1FFFC2EE+10j
ROM:1FFFC406                 CMP             R1, #0x52
ROM:1FFFC408                 BNE             locret_1FFFC436
ROM:1FFFC40A                 CBZ             R0, loc_1FFFC434
ROM:1FFFC40C                 CMP             R0, #0x21
ROM:1FFFC40E                 BEQ             loc_1FFFC41A
ROM:1FFFC410                 CMP             R0, #0x43
ROM:1FFFC412                 BEQ             loc_1FFFC420
ROM:1FFFC414                 CMP             R0, #0x63
ROM:1FFFC416                 BEQ             loc_1FFFC42C
ROM:1FFFC418                 B               loc_1FFFC432
ROM:1FFFC41A ; ---------------------------------------------------------------------------
ROM:1FFFC41A
ROM:1FFFC41A loc_1FFFC41A                            ; CODE XREF: sub_1FFFC2EE+120j
ROM:1FFFC41A                 POP.W           {R0,R4,R5,LR}
ROM:1FFFC41E                 B               sub_1FFFC8A6
ROM:1FFFC420 ; ---------------------------------------------------------------------------
ROM:1FFFC420
ROM:1FFFC420 loc_1FFFC420                            ; CODE XREF: sub_1FFFC2EE+124j
ROM:1FFFC420                 BL              sub_1FFFC8E2
ROM:1FFFC424                 MOVS            R0, #0
ROM:1FFFC426
ROM:1FFFC426 loc_1FFFC426                            ; CODE XREF: sub_1FFFC2EE+FAj
ROM:1FFFC426                 STR             R0, [R4,#0x18]
ROM:1FFFC428                 STR             R0, [R4,#0x14]
ROM:1FFFC42A                 POP             {R0,R4,R5,PC}
ROM:1FFFC42C ; ---------------------------------------------------------------------------
ROM:1FFFC42C
ROM:1FFFC42C loc_1FFFC42C                            ; CODE XREF: sub_1FFFC2EE+128j
ROM:1FFFC42C                 POP.W           {R0,R4,R5,LR}
ROM:1FFFC430                 B               sub_1FFFC91C
ROM:1FFFC432 ; ---------------------------------------------------------------------------
ROM:1FFFC432
ROM:1FFFC432 loc_1FFFC432                            ; CODE XREF: sub_1FFFC2EE+12Aj
ROM:1FFFC432                 MOVS            R0, #0x20
ROM:1FFFC434
ROM:1FFFC434 loc_1FFFC434                            ; CODE XREF: sub_1FFFC2EE+11Cj
ROM:1FFFC434                 STRB            R0, [R4,#8]
ROM:1FFFC436
ROM:1FFFC436 locret_1FFFC436                         ; CODE XREF: sub_1FFFC2EE+110j
ROM:1FFFC436                                         ; sub_1FFFC2EE+11Aj
ROM:1FFFC436                 POP             {R0,R4,R5,PC}
ROM:1FFFC436 ; End of function sub_1FFFC2EE
ROM:1FFFC436
ROM:1FFFC438
ROM:1FFFC438 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC438
ROM:1FFFC438
ROM:1FFFC438 sub_1FFFC438                            ; CODE XREF: sub_1FFFC2EE+52p
ROM:1FFFC438                                         ; sub_1FFFC2EE+76p
ROM:1FFFC438                 LDRB            R0, [R5,#1]
ROM:1FFFC43A                 LDRB            R1, [R5,#2]
ROM:1FFFC43C                 ADD.W           R0, R0, R1,LSL#8
ROM:1FFFC440                 LDRB            R1, [R5,#3]
ROM:1FFFC442                 ADD.W           R0, R0, R1,LSL#16
ROM:1FFFC446                 LDRB            R1, [R5,#4]
ROM:1FFFC448                 ADD.W           R0, R0, R1,LSL#24
ROM:1FFFC44C                 STR             R0, [R4,#0x20]
ROM:1FFFC44E                 B.W             get_mem_block
ROM:1FFFC44E ; End of function sub_1FFFC438
ROM:1FFFC44E
ROM:1FFFC452 ; ---------------------------------------------------------------------------
ROM:1FFFC452                 PUSH            {R4,LR}
ROM:1FFFC454                 LDR.W           R1, =0x20000C28
ROM:1FFFC458                 LDR             R1, [R1]
ROM:1FFFC45A                 LDRB            R2, [R1]
ROM:1FFFC45C                 LDR.W           R3, =0x20000138
ROM:1FFFC460                 AND.W           R4, R2, #0x7F
ROM:1FFFC464                 CMP             R4, #0x21
ROM:1FFFC466                 BNE             loc_1FFFC4AA
ROM:1FFFC468                 LDRB            R2, [R3,#0x10]
ROM:1FFFC46A                 CMP             R0, #2
ROM:1FFFC46C                 BNE             loc_1FFFC480
ROM:1FFFC46E                 CMP             R2, #2
ROM:1FFFC470                 IT NE
ROM:1FFFC472                 CMPNE           R2, #9
ROM:1FFFC474                 BNE             loc_1FFFC4CA
ROM:1FFFC476                 ADR.W           R2, (sub_1FFFC600+1)
ROM:1FFFC47A
ROM:1FFFC47A loc_1FFFC47A                            ; CODE XREF: ROM:1FFFC494j
ROM:1FFFC47A                                         ; ROM:1FFFC49Ej ...
ROM:1FFFC47A                 MOVS            R0, R2
ROM:1FFFC47C                 BNE             loc_1FFFC4CE
ROM:1FFFC47E                 B               loc_1FFFC4CA
ROM:1FFFC480 ; ---------------------------------------------------------------------------
ROM:1FFFC480
ROM:1FFFC480 loc_1FFFC480                            ; CODE XREF: ROM:1FFFC46Cj
ROM:1FFFC480                 CMP             R0, #1
ROM:1FFFC482                 BNE             loc_1FFFC496
ROM:1FFFC484                 CMP             R2, #2
ROM:1FFFC486                 IT NE
ROM:1FFFC488                 CMPNE           R2, #5
ROM:1FFFC48A                 BNE             loc_1FFFC4CA
ROM:1FFFC48C                 MOVS            R0, #3
ROM:1FFFC48E                 STRB            R0, [R3,#0x10]
ROM:1FFFC490                 ADR.W           R2, (sub_1FFFC6E0+1)
ROM:1FFFC494                 B               loc_1FFFC47A
ROM:1FFFC496 ; ---------------------------------------------------------------------------
ROM:1FFFC496
ROM:1FFFC496 loc_1FFFC496                            ; CODE XREF: ROM:1FFFC482j
ROM:1FFFC496                 CMP             R0, #5
ROM:1FFFC498                 IT EQ
ROM:1FFFC49A                 ADREQ.W         R2, (sub_1FFFC70C+1)
ROM:1FFFC49E                 BEQ             loc_1FFFC47A
ROM:1FFFC4A0                 CMP             R0, #3
ROM:1FFFC4A2                 BNE             loc_1FFFC4CA
ROM:1FFFC4A4                 ADR.W           R2, (sub_1FFFC724+1)
ROM:1FFFC4A8                 B               loc_1FFFC47A
ROM:1FFFC4AA ; ---------------------------------------------------------------------------
ROM:1FFFC4AA
ROM:1FFFC4AA loc_1FFFC4AA                            ; CODE XREF: ROM:1FFFC466j
ROM:1FFFC4AA                 AND.W           R2, R2, #0x7F
ROM:1FFFC4AE                 CMP             R2, #0x41
ROM:1FFFC4B0                 BNE             loc_1FFFC4CA
ROM:1FFFC4B2                 CMP             R0, #0x52
ROM:1FFFC4B4                 IT EQ
ROM:1FFFC4B6                 ADREQ.W         R2, (sub_1FFFC7F8+1)
ROM:1FFFC4BA                 BEQ             loc_1FFFC47A
ROM:1FFFC4BC                 CMP             R0, #0x53
ROM:1FFFC4BE                 IT EQ
ROM:1FFFC4C0                 ADREQ.W         R2, (sub_1FFFC874+1)
ROM:1FFFC4C4                 BEQ             loc_1FFFC47A
ROM:1FFFC4C6                 MOVS            R0, #0x20
ROM:1FFFC4C8                 STRB            R0, [R3,#8]
ROM:1FFFC4CA
ROM:1FFFC4CA loc_1FFFC4CA                            ; CODE XREF: ROM:1FFFC474j
ROM:1FFFC4CA                                         ; ROM:1FFFC47Ej ...
ROM:1FFFC4CA                 MOVS            R0, #2
ROM:1FFFC4CC                 POP             {R4,PC}
ROM:1FFFC4CE ; ---------------------------------------------------------------------------
ROM:1FFFC4CE
ROM:1FFFC4CE loc_1FFFC4CE                            ; CODE XREF: ROM:1FFFC47Cj
ROM:1FFFC4CE                 STR             R2, [R1,#0x18]
ROM:1FFFC4D0                 MOVS            R0, #0
ROM:1FFFC4D2                 STRH            R0, [R1,#0x12]
ROM:1FFFC4D4                 BLX             R2 ; sub_1FFFC600
ROM:1FFFC4D6                 MOVS            R0, #0
ROM:1FFFC4D8                 POP             {R4,PC}
ROM:1FFFC4DA ; ---------------------------------------------------------------------------
ROM:1FFFC4DA                 PUSH            {R7,LR}
ROM:1FFFC4DC                 LDR.W           R1, =0x20000C28
ROM:1FFFC4E0                 LDR             R1, [R1]
ROM:1FFFC4E2                 LDRB            R2, [R1]
ROM:1FFFC4E4                 LDR.W           R1, =0x20000138
ROM:1FFFC4E8                 AND.W           R3, R2, #0x7F
ROM:1FFFC4EC                 CMP             R3, #0x21
ROM:1FFFC4EE                 BNE             loc_1FFFC57A
ROM:1FFFC4F0                 LDRB            R2, [R1,#0x10]
ROM:1FFFC4F2                 CMP             R0, #1
ROM:1FFFC4F4                 BNE             loc_1FFFC50E
ROM:1FFFC4F6                 CMP             R2, #5
ROM:1FFFC4F8                 IT NE
ROM:1FFFC4FA                 CMPNE           R2, #2
ROM:1FFFC4FC                 BNE             loc_1FFFC59E
ROM:1FFFC4FE                 STR             R0, [R1,#0x1C]
ROM:1FFFC500                 MOVS            R0, #6
ROM:1FFFC502                 STRB            R0, [R1,#0x10]
ROM:1FFFC504                 MOVS            R0, #0
ROM:1FFFC506                 STRB            R0, [R1,#1]
ROM:1FFFC508                 STRH            R0, [R1,#2]
ROM:1FFFC50A                 MOVS            R0, #6
ROM:1FFFC50C                 B               loc_1FFFC51C
ROM:1FFFC50E ; ---------------------------------------------------------------------------
ROM:1FFFC50E
ROM:1FFFC50E loc_1FFFC50E                            ; CODE XREF: ROM:1FFFC4F4j
ROM:1FFFC50E                 CMP             R0, #2
ROM:1FFFC510                 BNE             loc_1FFFC520
ROM:1FFFC512                 STRB            R0, [R1,#0x10]
ROM:1FFFC514                 MOVS            R0, #0
ROM:1FFFC516                 STRB            R0, [R1,#1]
ROM:1FFFC518                 STRH            R0, [R1,#2]
ROM:1FFFC51A                 MOVS            R0, #2
ROM:1FFFC51C
ROM:1FFFC51C loc_1FFFC51C                            ; CODE XREF: ROM:1FFFC50Cj
ROM:1FFFC51C                 STRB            R0, [R1,#4]
ROM:1FFFC51E                 B               loc_1FFFC576
ROM:1FFFC520 ; ---------------------------------------------------------------------------
ROM:1FFFC520
ROM:1FFFC520 loc_1FFFC520                            ; CODE XREF: ROM:1FFFC510j
ROM:1FFFC520                 CMP             R0, #4
ROM:1FFFC522                 BNE             loc_1FFFC54C
ROM:1FFFC524                 CMP             R2, #0xA
ROM:1FFFC526                 BNE             loc_1FFFC534
ROM:1FFFC528                 MOVS            R0, #2
ROM:1FFFC52A                 STRB            R0, [R1,#0x10]
ROM:1FFFC52C                 MOVS            R0, #0
ROM:1FFFC52E                 STR             R0, [R1]
ROM:1FFFC530                 MOVS            R0, #2
ROM:1FFFC532                 B               loc_1FFFC544
ROM:1FFFC534 ; ---------------------------------------------------------------------------
ROM:1FFFC534
ROM:1FFFC534 loc_1FFFC534                            ; CODE XREF: ROM:1FFFC526j
ROM:1FFFC534                 MOVS            R0, #0xA
ROM:1FFFC536                 STRB            R0, [R1,#0x10]
ROM:1FFFC538                 MOVS            R0, #0xE
ROM:1FFFC53A                 STRB            R0, [R1]
ROM:1FFFC53C                 MOVS            R0, #0
ROM:1FFFC53E                 STRB            R0, [R1,#1]
ROM:1FFFC540                 STRH            R0, [R1,#2]
ROM:1FFFC542                 MOVS            R0, #0xA
ROM:1FFFC544
ROM:1FFFC544 loc_1FFFC544                            ; CODE XREF: ROM:1FFFC532j
ROM:1FFFC544                 STRB            R0, [R1,#4]
ROM:1FFFC546                 MOVS            R0, #0
ROM:1FFFC548                 STRB            R0, [R1,#5]
ROM:1FFFC54A                 B               loc_1FFFC576
ROM:1FFFC54C ; ---------------------------------------------------------------------------
ROM:1FFFC54C
ROM:1FFFC54C loc_1FFFC54C                            ; CODE XREF: ROM:1FFFC522j
ROM:1FFFC54C                 CMP             R0, #6
ROM:1FFFC54E                 BNE             loc_1FFFC59E
ROM:1FFFC550                 CMP             R2, #2
ROM:1FFFC552                 IT NE
ROM:1FFFC554                 CMPNE           R2, #3
ROM:1FFFC556                 BEQ             loc_1FFFC562
ROM:1FFFC558                 CMP             R2, #5
ROM:1FFFC55A                 ITT NE
ROM:1FFFC55C                 CMPNE           R2, #6
ROM:1FFFC55E                 CMPNE           R2, #9
ROM:1FFFC560                 BNE             loc_1FFFC576
ROM:1FFFC562
ROM:1FFFC562 loc_1FFFC562                            ; CODE XREF: ROM:1FFFC556j
ROM:1FFFC562                 MOVS            R0, #2
ROM:1FFFC564                 STRB            R0, [R1,#0x10]
ROM:1FFFC566                 MOVS            R0, #0
ROM:1FFFC568                 STR             R0, [R1]
ROM:1FFFC56A                 MOVS            R0, #2
ROM:1FFFC56C                 STRB            R0, [R1,#4]
ROM:1FFFC56E                 MOVS            R0, #0
ROM:1FFFC570                 STRB            R0, [R1,#5]
ROM:1FFFC572                 STR             R0, [R1,#0x14]
ROM:1FFFC574                 STR             R0, [R1,#0x18]
ROM:1FFFC576
ROM:1FFFC576 loc_1FFFC576                            ; CODE XREF: ROM:1FFFC51Ej
ROM:1FFFC576                                         ; ROM:1FFFC54Aj ...
ROM:1FFFC576                 MOVS            R0, #0
ROM:1FFFC578                 POP             {R1,PC}
ROM:1FFFC57A ; ---------------------------------------------------------------------------
ROM:1FFFC57A
ROM:1FFFC57A loc_1FFFC57A                            ; CODE XREF: ROM:1FFFC4EEj
ROM:1FFFC57A                 AND.W           R2, R2, #0x7F
ROM:1FFFC57E                 CMP             R2, #0x41
ROM:1FFFC580                 IT EQ
ROM:1FFFC582                 CMPEQ           R0, #0x53
ROM:1FFFC584                 BNE             loc_1FFFC59E
ROM:1FFFC586                 LDR.W           R0, =0x20000C0C
ROM:1FFFC58A                 LDRB            R0, [R0,#3]
ROM:1FFFC58C                 CMP             R0, #0x73
ROM:1FFFC58E                 BEQ             loc_1FFFC59A
ROM:1FFFC590                 CMP             R0, #0x82
ROM:1FFFC592                 BEQ             loc_1FFFC5A2
ROM:1FFFC594                 CMP             R0, #0x92
ROM:1FFFC596                 BEQ             loc_1FFFC5A8
ROM:1FFFC598                 B               loc_1FFFC5AE
ROM:1FFFC59A ; ---------------------------------------------------------------------------
ROM:1FFFC59A
ROM:1FFFC59A loc_1FFFC59A                            ; CODE XREF: ROM:1FFFC58Ej
ROM:1FFFC59A                 BL              sub_1FFFC964
ROM:1FFFC59E
ROM:1FFFC59E loc_1FFFC59E                            ; CODE XREF: ROM:1FFFC4FCj
ROM:1FFFC59E                                         ; ROM:1FFFC54Ej ...
ROM:1FFFC59E                 MOVS            R0, #2
ROM:1FFFC5A0                 POP             {R1,PC}
ROM:1FFFC5A2 ; ---------------------------------------------------------------------------
ROM:1FFFC5A2
ROM:1FFFC5A2 loc_1FFFC5A2                            ; CODE XREF: ROM:1FFFC592j
ROM:1FFFC5A2                 BL              sub_1FFFC978
ROM:1FFFC5A6                 B               loc_1FFFC59E
ROM:1FFFC5A8 ; ---------------------------------------------------------------------------
ROM:1FFFC5A8
ROM:1FFFC5A8 loc_1FFFC5A8                            ; CODE XREF: ROM:1FFFC596j
ROM:1FFFC5A8                 BL              sub_1FFFC996
ROM:1FFFC5AC                 B               loc_1FFFC59E
ROM:1FFFC5AE ; ---------------------------------------------------------------------------
ROM:1FFFC5AE
ROM:1FFFC5AE loc_1FFFC5AE                            ; CODE XREF: ROM:1FFFC598j
ROM:1FFFC5AE                 MOVS            R0, #0x20
ROM:1FFFC5B0                 STRB            R0, [R1,#8]
ROM:1FFFC5B2                 B               loc_1FFFC59E
ROM:1FFFC5B4 ; ---------------------------------------------------------------------------
ROM:1FFFC5B4                 LDR.W           R1, =0x20000234
ROM:1FFFC5B8                 B.W             loc_1FFFCFD8
ROM:1FFFC5BC ; ---------------------------------------------------------------------------
ROM:1FFFC5BC                 LDR.W           R1, =0x2000015C
ROM:1FFFC5C0                 B.W             loc_1FFFCFD8
ROM:1FFFC5C4 ; ---------------------------------------------------------------------------
ROM:1FFFC5C4                 LDR.W           R1, =0x20000C28
ROM:1FFFC5C8                 LDR             R1, [R1]
ROM:1FFFC5CA                 LDRB            R1, [R1,#3]
ROM:1FFFC5CC                 LDR.W           R2, =0x200000D4
ROM:1FFFC5D0                 CMP             R1, #4
ROM:1FFFC5D2                 BNE             loc_1FFFC5E6
ROM:1FFFC5D4                 CBZ             R0, loc_1FFFC5DC
ROM:1FFFC5D6                 LDRB            R3, [R2]
ROM:1FFFC5D8                 ADDS            R3, R3, #1
ROM:1FFFC5DA                 STRB            R3, [R2]
ROM:1FFFC5DC
ROM:1FFFC5DC loc_1FFFC5DC                            ; CODE XREF: ROM:1FFFC5D4j
ROM:1FFFC5DC                                         ; ROM:1FFFC5E8j
ROM:1FFFC5DC                 ADD.W           R1, R2, R1,LSL#3
ROM:1FFFC5E0                 ADDS            R1, R1, #4
ROM:1FFFC5E2                 B.W             loc_1FFFCFD8
ROM:1FFFC5E6 ; ---------------------------------------------------------------------------
ROM:1FFFC5E6
ROM:1FFFC5E6 loc_1FFFC5E6                            ; CODE XREF: ROM:1FFFC5D2j
ROM:1FFFC5E6                 CMP             R1, #6
ROM:1FFFC5E8                 BLT             loc_1FFFC5DC
ROM:1FFFC5EA                 MOVS            R0, #0
ROM:1FFFC5EC                 BX              LR
ROM:1FFFC5EE ; ---------------------------------------------------------------------------
ROM:1FFFC5EE                 CMP             R1, #4
ROM:1FFFC5F0                 IT CC
ROM:1FFFC5F2                 CMPCC           R0, #3
ROM:1FFFC5F4                 BCC             loc_1FFFC5FA
ROM:1FFFC5F6                 MOVS            R0, #2
ROM:1FFFC5F8                 BX              LR
ROM:1FFFC5FA ; ---------------------------------------------------------------------------
ROM:1FFFC5FA
ROM:1FFFC5FA loc_1FFFC5FA                            ; CODE XREF: ROM:1FFFC5F4j
ROM:1FFFC5FA                 MOVS            R0, #0
ROM:1FFFC5FC                 BX              LR
ROM:1FFFC5FC ; ---------------------------------------------------------------------------
ROM:1FFFC5FE                 ALIGN 0x10
ROM:1FFFC600
ROM:1FFFC600 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC600
ROM:1FFFC600
ROM:1FFFC600 sub_1FFFC600                            ; CODE XREF: ROM:1FFFC4D4p
ROM:1FFFC600                                         ; DATA XREF: ROM:1FFFC476o
ROM:1FFFC600
ROM:1FFFC600 var_20          = -0x20
ROM:1FFFC600
ROM:1FFFC600                 PUSH.W          {R4-R8,LR}
ROM:1FFFC604                 SUB             SP, SP, #8
ROM:1FFFC606                 MOV             R4, R0
ROM:1FFFC608                 LDR.W           R0, =0x20000C0C
ROM:1FFFC60C                 LDRB            R1, [R0,#2]
ROM:1FFFC60E                 LDRB            R2, [R0,#3]
ROM:1FFFC610                 ADD.W           R2, R2, R1,LSL#8
ROM:1FFFC614                 LDR.W           R5, =0x20000138
ROM:1FFFC618                 STR             R2, [R5,#0x14]
ROM:1FFFC61A                 LDRB            R1, [R0,#7]
ROM:1FFFC61C                 LDRB            R0, [R0,#6]
ROM:1FFFC61E                 ADD.W           R0, R0, R1,LSL#8
ROM:1FFFC622                 STR             R0, [R5,#0x18]
ROM:1FFFC624                 LDR.W           R6, =0x20000C28
ROM:1FFFC628                 LDR             R1, [R6]
ROM:1FFFC62A                 LDRH            R7, [R1,#0x12]
ROM:1FFFC62C                 UXTH            R3, R2
ROM:1FFFC62E                 CBNZ            R3, loc_1FFFC662
ROM:1FFFC630                 UXTH            R0, R0
ROM:1FFFC632                 CMP             R0, #4
ROM:1FFFC634                 ITE CS
ROM:1FFFC636                 MOVCS           R0, #2
ROM:1FFFC638                 MOVCC           R0, #9
ROM:1FFFC63A                 STRB            R0, [R5,#0x10]
ROM:1FFFC63C                 LDRB            R0, [R5,#0x10]
ROM:1FFFC63E                 STRB            R0, [R5,#4]
ROM:1FFFC640                 MOVS            R0, #0
ROM:1FFFC642                 STRB            R0, [R5,#1]
ROM:1FFFC644                 STRH            R0, [R5,#2]
ROM:1FFFC646                 LDR.W           R0, =0x20000250
ROM:1FFFC64A                 MOVS            R2, #0
ROM:1FFFC64C                 STRB            R2, [R0]
ROM:1FFFC64E                 MOVS            R2, #0x21
ROM:1FFFC650                 STRB            R2, [R0,#1]
ROM:1FFFC652                 MOVS            R2, #0x41
ROM:1FFFC654                 STRB            R2, [R0,#2]
ROM:1FFFC656                 MOVS            R2, #0x92
ROM:1FFFC658                 STRB            R2, [R0,#3]
ROM:1FFFC65A                 CMP             R4, #0
ROM:1FFFC65C                 BNE             locret_1FFFC6DC
ROM:1FFFC65E                 MOVS            R0, #4
ROM:1FFFC660                 B               loc_1FFFC6AE
ROM:1FFFC662 ; ---------------------------------------------------------------------------
ROM:1FFFC662
ROM:1FFFC662 loc_1FFFC662                            ; CODE XREF: sub_1FFFC600+2Ej
ROM:1FFFC662                 UXTH            R2, R2
ROM:1FFFC664                 CMP             R2, #2
ROM:1FFFC666                 BCC             loc_1FFFC6D0
ROM:1FFFC668                 BL              FLASH_GetReadOutProtectionStatus ; 检查flash的读保护位
ROM:1FFFC668                                         ;
ROM:1FFFC66C                 CBNZ            R0, loc_1FFFC6B8
ROM:1FFFC66E                 MOVS            R0, #9
ROM:1FFFC670                 STRB            R0, [R5,#0x10]
ROM:1FFFC672                 STRB            R0, [R5,#4]
ROM:1FFFC674                 MOVS            R0, #0
ROM:1FFFC676                 STRB            R0, [R5,#1]
ROM:1FFFC678                 STRH            R0, [R5,#2]
ROM:1FFFC67A                 LDR             R0, [R5,#0x14]
ROM:1FFFC67C                 SUBS            R0, R0, #2
ROM:1FFFC67E                 LDR             R1, [R5,#0x20]
ROM:1FFFC680                 ADD.W           R8, R1, R0,LSL#11
ROM:1FFFC684                 MOV             R0, R8
ROM:1FFFC686                 BL              get_mem_block
ROM:1FFFC68A                 STRB.W          R0, [SP,#0x20+var_20]
ROM:1FFFC68E                 LDRB.W          R0, [SP,#0x20+var_20]
ROM:1FFFC692                 CMP             R0, #1
ROM:1FFFC694                 ITTT EQ
ROM:1FFFC696                 MOVEQ           R0, #0xA
ROM:1FFFC698                 STREQB          R0, [R5,#0x10]
ROM:1FFFC69A                 MOVEQ           R0, #1
ROM:1FFFC69C                 BEQ             loc_1FFFC6BE
ROM:1FFFC69E                 LDR             R1, [R5,#0x18]
ROM:1FFFC6A0                 MOV             R0, R8
ROM:1FFFC6A2                 BL              sub_1FFFCC7A
ROM:1FFFC6A6                 CBNZ            R4, loc_1FFFC6B4
ROM:1FFFC6A8                 LDR             R0, [R5,#0x18]
ROM:1FFFC6AA                 SUBS            R0, R0, R7
ROM:1FFFC6AC                 LDR             R1, [R6]
ROM:1FFFC6AE
ROM:1FFFC6AE loc_1FFFC6AE                            ; CODE XREF: sub_1FFFC600+60j
ROM:1FFFC6AE                 STRH            R0, [R1,#0x10]
ROM:1FFFC6B0                 MOVS            R0, #0
ROM:1FFFC6B2                 B               locret_1FFFC6DC
ROM:1FFFC6B4 ; ---------------------------------------------------------------------------
ROM:1FFFC6B4
ROM:1FFFC6B4 loc_1FFFC6B4                            ; CODE XREF: sub_1FFFC600+A6j
ROM:1FFFC6B4                 ADDS            R0, R7, R0
ROM:1FFFC6B6                 B               locret_1FFFC6DC
ROM:1FFFC6B8 ; ---------------------------------------------------------------------------
ROM:1FFFC6B8
ROM:1FFFC6B8 loc_1FFFC6B8                            ; CODE XREF: sub_1FFFC600+6Cj
ROM:1FFFC6B8                 MOVS            R0, #0xA
ROM:1FFFC6BA                 STRB            R0, [R5,#0x10]
ROM:1FFFC6BC                 MOVS            R0, #0xB
ROM:1FFFC6BE
ROM:1FFFC6BE loc_1FFFC6BE                            ; CODE XREF: sub_1FFFC600+9Cj
ROM:1FFFC6BE                 STRB            R0, [R5]
ROM:1FFFC6C0                 MOVS            R0, #0xA
ROM:1FFFC6C2                 STRB            R0, [R5,#4]
ROM:1FFFC6C4                 MOVS            R0, #0
ROM:1FFFC6C6                 STRB            R0, [R5,#1]
ROM:1FFFC6C8                 STRH            R0, [R5,#2]
ROM:1FFFC6CA                 STR             R0, [R5,#0x18]
ROM:1FFFC6CC                 STR             R0, [R5,#0x14]
ROM:1FFFC6CE                 B               locret_1FFFC6DC
ROM:1FFFC6D0 ; ---------------------------------------------------------------------------
ROM:1FFFC6D0
ROM:1FFFC6D0 loc_1FFFC6D0                            ; CODE XREF: sub_1FFFC600+66j
ROM:1FFFC6D0                 MOVS            R0, #0xF
ROM:1FFFC6D2                 STRB            R0, [R5,#0x10]
ROM:1FFFC6D4                 STRB            R0, [R5,#4]
ROM:1FFFC6D6                 MOVS            R0, #0
ROM:1FFFC6D8                 STRB            R0, [R5,#1]
ROM:1FFFC6DA                 STRH            R0, [R5,#2]
ROM:1FFFC6DC
ROM:1FFFC6DC locret_1FFFC6DC                         ; CODE XREF: sub_1FFFC600+5Cj
ROM:1FFFC6DC                                         ; sub_1FFFC600+B2j ...
ROM:1FFFC6DC                 POP.W           {R1,R2,R4-R8,PC}
ROM:1FFFC6DC ; End of function sub_1FFFC600
ROM:1FFFC6DC
ROM:1FFFC6E0
ROM:1FFFC6E0 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC6E0
ROM:1FFFC6E0
ROM:1FFFC6E0 sub_1FFFC6E0                            ; DATA XREF: ROM:1FFFC490o
ROM:1FFFC6E0                 PUSH            {R4,LR}
ROM:1FFFC6E2                 LDR.W           R1, =0x20000138
ROM:1FFFC6E6                 LDR.W           R2, =0x20000C0C
ROM:1FFFC6EA                 LDRB            R3, [R2,#2]
ROM:1FFFC6EC                 LDRB            R4, [R2,#3]
ROM:1FFFC6EE                 ADD.W           R3, R4, R3,LSL#8
ROM:1FFFC6F2                 STR             R3, [R1,#0x14]
ROM:1FFFC6F4                 LDRB            R3, [R2,#7]
ROM:1FFFC6F6                 LDRB            R4, [R2,#6]
ROM:1FFFC6F8                 ADD.W           R3, R4, R3,LSL#8
ROM:1FFFC6FC                 STR             R3, [R1,#0x18]
ROM:1FFFC6FE                 LDRH            R2, [R2,#0x12]
ROM:1FFFC700                 MOVS            R4, #3
ROM:1FFFC702                 STRB            R4, [R1,#0x10]
ROM:1FFFC704                 STRB            R4, [R1,#4]
ROM:1FFFC706                 CBNZ            R0, loc_1FFFC70A
ROM:1FFFC708                 B               loc_1FFFC89A
ROM:1FFFC70A ; ---------------------------------------------------------------------------
ROM:1FFFC70A
ROM:1FFFC70A loc_1FFFC70A                            ; CODE XREF: sub_1FFFC6E0+26j
ROM:1FFFC70A                 B               loc_1FFFC894
ROM:1FFFC70A ; End of function sub_1FFFC6E0
ROM:1FFFC70A
ROM:1FFFC70C
ROM:1FFFC70C ; =============== S U B R O U T I N E =======================================
ROM:1FFFC70C
ROM:1FFFC70C
ROM:1FFFC70C sub_1FFFC70C                            ; DATA XREF: ROM:1FFFC49Ao
ROM:1FFFC70C                 CBNZ            R0, loc_1FFFC71C
ROM:1FFFC70E                 LDR.W           R0, =0x20000C28
ROM:1FFFC712                 LDR             R0, [R0]
ROM:1FFFC714                 MOVS            R1, #1
ROM:1FFFC716                 STRH            R1, [R0,#0x10]
ROM:1FFFC718                 MOVS            R0, #0
ROM:1FFFC71A                 BX              LR
ROM:1FFFC71C ; ---------------------------------------------------------------------------
ROM:1FFFC71C
ROM:1FFFC71C loc_1FFFC71C                            ; CODE XREF: sub_1FFFC70Cj
ROM:1FFFC71C                 LDR.W           R0, =0x20000148
ROM:1FFFC720                 BX              LR
ROM:1FFFC720 ; End of function sub_1FFFC70C
ROM:1FFFC720
ROM:1FFFC720 ; ---------------------------------------------------------------------------
ROM:1FFFC722                 ALIGN 4
ROM:1FFFC724
ROM:1FFFC724 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC724
ROM:1FFFC724
ROM:1FFFC724 sub_1FFFC724                            ; DATA XREF: ROM:1FFFC4A4o
ROM:1FFFC724                 PUSH            {R3-R5,LR}
ROM:1FFFC726                 MOV             R4, R0
ROM:1FFFC728                 LDR.W           R5, =0x20000138
ROM:1FFFC72C                 LDRB            R0, [R5,#0x10]
ROM:1FFFC72E                 CMP             R0, #3
ROM:1FFFC730                 BEQ             loc_1FFFC738
ROM:1FFFC732                 CMP             R0, #6
ROM:1FFFC734                 BEQ             loc_1FFFC766
ROM:1FFFC736                 B               loc_1FFFC790
ROM:1FFFC738 ; ---------------------------------------------------------------------------
ROM:1FFFC738
ROM:1FFFC738 loc_1FFFC738                            ; CODE XREF: sub_1FFFC724+Cj
ROM:1FFFC738                 LDR             R0, [R5,#0x18]
ROM:1FFFC73A                 CBZ             R0, loc_1FFFC762
ROM:1FFFC73C                 MOVS            R0, #4
ROM:1FFFC73E                 STRB            R0, [R5,#0x10]
ROM:1FFFC740                 STRB            R0, [R5,#4]
ROM:1FFFC742                 LDR             R0, [R5,#0x20]
ROM:1FFFC744                 LDR             R1, [R5,#0x14]
ROM:1FFFC746                 CMP             R1, #0
ROM:1FFFC748                 ITTT EQ
ROM:1FFFC74A                 LDREQ.W         R1, =0x20000250
ROM:1FFFC74E                 LDREQB          R1, [R1]
ROM:1FFFC750                 CMPEQ           R1, #0x41
ROM:1FFFC752                 ITTEE EQ
ROM:1FFFC754                 MOVEQ           R2, R5
ROM:1FFFC756                 MOVEQ           R1, #0
ROM:1FFFC758                 MOVNE           R2, R5
ROM:1FFFC75A                 MOVNE           R1, #1
ROM:1FFFC75C                 BL              sub_1FFFCC84
ROM:1FFFC760                 B               loc_1FFFC790
ROM:1FFFC762 ; ---------------------------------------------------------------------------
ROM:1FFFC762
ROM:1FFFC762 loc_1FFFC762                            ; CODE XREF: sub_1FFFC724+16j
ROM:1FFFC762                 MOVS            R0, #5
ROM:1FFFC764                 B               loc_1FFFC786
ROM:1FFFC766 ; ---------------------------------------------------------------------------
ROM:1FFFC766
ROM:1FFFC766 loc_1FFFC766                            ; CODE XREF: sub_1FFFC724+10j
ROM:1FFFC766                 LDR             R0, [R5,#0x1C]
ROM:1FFFC768                 CMP             R0, #1
ROM:1FFFC76A                 BNE             loc_1FFFC77A
ROM:1FFFC76C                 MOVS            R0, #7
ROM:1FFFC76E                 STRB            R0, [R5,#0x10]
ROM:1FFFC770                 STRB            R0, [R5,#4]
ROM:1FFFC772                 MOVS            R0, #1
ROM:1FFFC774                 STRB            R0, [R5,#1]
ROM:1FFFC776                 MOVS            R0, #0
ROM:1FFFC778                 B               loc_1FFFC78E
ROM:1FFFC77A ; ---------------------------------------------------------------------------
ROM:1FFFC77A
ROM:1FFFC77A loc_1FFFC77A                            ; CODE XREF: sub_1FFFC724+46j
ROM:1FFFC77A                 CBNZ            R0, loc_1FFFC790
ROM:1FFFC77C                 LDR             R0, [R5,#0x24]
ROM:1FFFC77E                 LDRB            R0, [R0,#0x14]
ROM:1FFFC780                 LSLS            R0, R0, #0x1D
ROM:1FFFC782                 BPL             loc_1FFFC790
ROM:1FFFC784                 MOVS            R0, #2
ROM:1FFFC786
ROM:1FFFC786 loc_1FFFC786                            ; CODE XREF: sub_1FFFC724+40j
ROM:1FFFC786                 STRB            R0, [R5,#0x10]
ROM:1FFFC788                 STRB            R0, [R5,#4]
ROM:1FFFC78A                 MOVS            R0, #0
ROM:1FFFC78C                 STRB            R0, [R5,#1]
ROM:1FFFC78E
ROM:1FFFC78E loc_1FFFC78E                            ; CODE XREF: sub_1FFFC724+54j
ROM:1FFFC78E                 STRH            R0, [R5,#2]
ROM:1FFFC790
ROM:1FFFC790 loc_1FFFC790                            ; CODE XREF: sub_1FFFC724+12j
ROM:1FFFC790                                         ; sub_1FFFC724+3Cj ...
ROM:1FFFC790                 CBNZ            R4, loc_1FFFC7A0
ROM:1FFFC792                 LDR.W           R0, =0x20000C28
ROM:1FFFC796                 LDR             R0, [R0]
ROM:1FFFC798                 MOVS            R1, #6
ROM:1FFFC79A                 STRH            R1, [R0,#0x10]
ROM:1FFFC79C                 MOVS            R0, #0
ROM:1FFFC79E                 POP             {R1,R4,R5,PC}
ROM:1FFFC7A0 ; ---------------------------------------------------------------------------
ROM:1FFFC7A0
ROM:1FFFC7A0 loc_1FFFC7A0                            ; CODE XREF: sub_1FFFC724:loc_1FFFC790j
ROM:1FFFC7A0                 MOV             R0, R5
ROM:1FFFC7A2                 POP             {R1,R4,R5,PC}
ROM:1FFFC7A2 ; End of function sub_1FFFC724
ROM:1FFFC7A2
ROM:1FFFC7A4
ROM:1FFFC7A4 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC7A4
ROM:1FFFC7A4
ROM:1FFFC7A4 sub_1FFFC7A4                            ; CODE XREF: sub_1FFFC2EE+116p
ROM:1FFFC7A4                 PUSH            {R3-R5,LR}
ROM:1FFFC7A6                 LDR.W           R4, =0x20000138
ROM:1FFFC7AA                 MOVS            R0, #0
ROM:1FFFC7AC                 STR             R0, [R4,#0x1C]
ROM:1FFFC7AE                 BL              FLASH_GetReadOutProtectionStatus ; 检查flash的读保护位
ROM:1FFFC7AE                                         ;
ROM:1FFFC7B2                 CMP             R0, #1
ROM:1FFFC7B4                 BEQ             loc_1FFFC7BE
ROM:1FFFC7B6                 LDR             R0, [R4,#0x24]
ROM:1FFFC7B8                 LDRB            R0, [R0,#0x14]
ROM:1FFFC7BA                 LSLS            R0, R0, #0x1D
ROM:1FFFC7BC                 BPL             loc_1FFFC7C2
ROM:1FFFC7BE
ROM:1FFFC7BE loc_1FFFC7BE                            ; CODE XREF: sub_1FFFC7A4+10j
ROM:1FFFC7BE                 MOVS            R0, #6
ROM:1FFFC7C0                 B               loc_1FFFC7EC
ROM:1FFFC7C2 ; ---------------------------------------------------------------------------
ROM:1FFFC7C2
ROM:1FFFC7C2 loc_1FFFC7C2                            ; CODE XREF: sub_1FFFC7A4+18j
ROM:1FFFC7C2                 MOVS            R0, #8
ROM:1FFFC7C4                 STRB            R0, [R4,#0x10]
ROM:1FFFC7C6                 STRB            R0, [R4,#4]
ROM:1FFFC7C8                 MOVS            R0, #0
ROM:1FFFC7CA                 STRB            R0, [R4,#1]
ROM:1FFFC7CC                 STRH            R0, [R4,#2]
ROM:1FFFC7CE                 LDR.W           R5, =0x20000210
ROM:1FFFC7D2                 BL              FLASH_GetReadOutProtectionStatus ; 检查flash的读保护位
ROM:1FFFC7D2                                         ;
ROM:1FFFC7D6                 CMP             R0, #1
ROM:1FFFC7D8                 ITE EQ
ROM:1FFFC7DA                 MOVEQ.W         R0, #0x8000000
ROM:1FFFC7DE                 LDRNE           R0, [R4,#0x20]
ROM:1FFFC7E0                 STR             R0, [R5]
ROM:1FFFC7E2                 LDR.W           R0, =0x20000198
ROM:1FFFC7E6                 MOVS            R1, #0
ROM:1FFFC7E8                 STR             R1, [R0]
ROM:1FFFC7EA                 POP             {R0,R4,R5,PC}
ROM:1FFFC7EC ; ---------------------------------------------------------------------------
ROM:1FFFC7EC
ROM:1FFFC7EC loc_1FFFC7EC                            ; CODE XREF: sub_1FFFC2EE+10Cj
ROM:1FFFC7EC                                         ; sub_1FFFC7A4+1Cj
ROM:1FFFC7EC                 STRB            R0, [R4,#0x10]
ROM:1FFFC7EE                 STRB            R0, [R4,#4]
ROM:1FFFC7F0                 MOVS            R0, #0
ROM:1FFFC7F2                 STRB            R0, [R4,#1]
ROM:1FFFC7F4                 STRH            R0, [R4,#2]
ROM:1FFFC7F6                 POP             {R0,R4,R5,PC}
ROM:1FFFC7F6 ; End of function sub_1FFFC7A4
ROM:1FFFC7F6
ROM:1FFFC7F8
ROM:1FFFC7F8 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC7F8
ROM:1FFFC7F8
ROM:1FFFC7F8 sub_1FFFC7F8                            ; DATA XREF: ROM:1FFFC4B6o
ROM:1FFFC7F8                 PUSH            {R4,LR}
ROM:1FFFC7FA                 LDR             R1, =0x20000C0C
ROM:1FFFC7FC                 LDRB            R1, [R1,#3]
ROM:1FFFC7FE                 LDR             R4, =0x20000138
ROM:1FFFC800                 CBNZ            R0, loc_1FFFC850
ROM:1FFFC802                 LDR             R0, =0x20000C28
ROM:1FFFC804                 LDR             R0, [R0]
ROM:1FFFC806                 CBZ             R1, loc_1FFFC816
ROM:1FFFC808                 CMP             R1, #1
ROM:1FFFC80A                 BEQ             loc_1FFFC81E
ROM:1FFFC80C                 CMP             R1, #2
ROM:1FFFC80E                 BEQ             loc_1FFFC818
ROM:1FFFC810                 CMP             R1, #5
ROM:1FFFC812                 BEQ             loc_1FFFC822
ROM:1FFFC814                 B               loc_1FFFC81A
ROM:1FFFC816 ; ---------------------------------------------------------------------------
ROM:1FFFC816
ROM:1FFFC816 loc_1FFFC816                            ; CODE XREF: sub_1FFFC7F8+Ej
ROM:1FFFC816                 MOVS            R1, #0xB
ROM:1FFFC818
ROM:1FFFC818 loc_1FFFC818                            ; CODE XREF: sub_1FFFC7F8+16j
ROM:1FFFC818                                         ; sub_1FFFC7F8+28j
ROM:1FFFC818                 STRH            R1, [R0,#0x10]
ROM:1FFFC81A
ROM:1FFFC81A loc_1FFFC81A                            ; CODE XREF: sub_1FFFC7F8+1Cj
ROM:1FFFC81A                                         ; sub_1FFFC7F8+3Ej ...
ROM:1FFFC81A                 MOVS            R0, #0
ROM:1FFFC81C                 POP             {R4,PC}
ROM:1FFFC81E ; ---------------------------------------------------------------------------
ROM:1FFFC81E
ROM:1FFFC81E loc_1FFFC81E                            ; CODE XREF: sub_1FFFC7F8+12j
ROM:1FFFC81E                 MOVS            R1, #3
ROM:1FFFC820                 B               loc_1FFFC818
ROM:1FFFC822 ; ---------------------------------------------------------------------------
ROM:1FFFC822
ROM:1FFFC822 loc_1FFFC822                            ; CODE XREF: sub_1FFFC7F8+1Aj
ROM:1FFFC822                 MOVS            R1, #9
ROM:1FFFC824                 STRH            R1, [R0,#0x10]
ROM:1FFFC826                 BL              FLASH_GetReadOutProtectionStatus ; 检查flash的读保护位
ROM:1FFFC826                                         ;
ROM:1FFFC82A                 CMP             R0, #1
ROM:1FFFC82C                 BNE             loc_1FFFC838
ROM:1FFFC82E                 STRB            R0, [R4,#9]
ROM:1FFFC830                 MOVS            R0, #0
ROM:1FFFC832                 STRH            R0, [R4,#0xA]
ROM:1FFFC834                 STRH            R0, [R4,#0xC]
ROM:1FFFC836                 B               loc_1FFFC81A
ROM:1FFFC838 ; ---------------------------------------------------------------------------
ROM:1FFFC838
ROM:1FFFC838 loc_1FFFC838                            ; CODE XREF: sub_1FFFC7F8+34j
ROM:1FFFC838                 MOVS            R0, #0
ROM:1FFFC83A                 STRB            R0, [R4,#9]
ROM:1FFFC83C                 LDR             R0, =0x40022020
ROM:1FFFC83E                 LDR             R0, [R0]
ROM:1FFFC840                 STRB            R0, [R4,#0xA]
ROM:1FFFC842                 LSRS            R1, R0, #8
ROM:1FFFC844                 STRB            R1, [R4,#0xB]
ROM:1FFFC846                 LSRS            R1, R0, #0x10
ROM:1FFFC848                 STRB            R1, [R4,#0xC]
ROM:1FFFC84A                 LSRS            R0, R0, #0x18
ROM:1FFFC84C                 STRB            R0, [R4,#0xD]
ROM:1FFFC84E                 B               loc_1FFFC81A
ROM:1FFFC850 ; ---------------------------------------------------------------------------
ROM:1FFFC850
ROM:1FFFC850 loc_1FFFC850                            ; CODE XREF: sub_1FFFC7F8+8j
ROM:1FFFC850                 CBZ             R1, loc_1FFFC860
ROM:1FFFC852                 CMP             R1, #1
ROM:1FFFC854                 BEQ             loc_1FFFC864
ROM:1FFFC856                 CMP             R1, #2
ROM:1FFFC858                 BEQ             loc_1FFFC868
ROM:1FFFC85A                 CMP             R1, #5
ROM:1FFFC85C                 BEQ             loc_1FFFC86C
ROM:1FFFC85E                 B               loc_1FFFC81A
ROM:1FFFC860 ; ---------------------------------------------------------------------------
ROM:1FFFC860
ROM:1FFFC860 loc_1FFFC860                            ; CODE XREF: sub_1FFFC7F8:loc_1FFFC850j
ROM:1FFFC860                 LDR             R0, =0x20000220
ROM:1FFFC862                 POP             {R4,PC}
ROM:1FFFC864 ; ---------------------------------------------------------------------------
ROM:1FFFC864
ROM:1FFFC864 loc_1FFFC864                            ; CODE XREF: sub_1FFFC7F8+5Cj
ROM:1FFFC864                 LDR             R0, =0x20000244
ROM:1FFFC866                 POP             {R4,PC}
ROM:1FFFC868 ; ---------------------------------------------------------------------------
ROM:1FFFC868
ROM:1FFFC868 loc_1FFFC868                            ; CODE XREF: sub_1FFFC7F8+60j
ROM:1FFFC868                 LDR             R0, =0x2000024C
ROM:1FFFC86A                 POP             {R4,PC}
ROM:1FFFC86C ; ---------------------------------------------------------------------------
ROM:1FFFC86C
ROM:1FFFC86C loc_1FFFC86C                            ; CODE XREF: sub_1FFFC7F8+64j
ROM:1FFFC86C                 ADD.W           R0, R4, #8
ROM:1FFFC870                 POP             {R4,PC}
ROM:1FFFC870 ; End of function sub_1FFFC7F8
ROM:1FFFC870
ROM:1FFFC870 ; ---------------------------------------------------------------------------
ROM:1FFFC872                 ALIGN 4
ROM:1FFFC874
ROM:1FFFC874 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC874
ROM:1FFFC874
ROM:1FFFC874 sub_1FFFC874                            ; DATA XREF: ROM:1FFFC4C0o
ROM:1FFFC874                 PUSH            {R4,LR}
ROM:1FFFC876                 LDR             R1, =0x20000138
ROM:1FFFC878                 LDR             R2, =0x20000C0C
ROM:1FFFC87A                 LDRB            R3, [R2,#3]
ROM:1FFFC87C                 STR             R3, [R1,#0x14]
ROM:1FFFC87E                 LDRB            R3, [R2,#7]
ROM:1FFFC880                 LDRB            R4, [R2,#6]
ROM:1FFFC882                 ADD.W           R3, R4, R3,LSL#8
ROM:1FFFC886                 STR             R3, [R1,#0x18]
ROM:1FFFC888                 LDRH            R2, [R2,#0x12]
ROM:1FFFC88A                 MOVS            R4, #1
ROM:1FFFC88C                 STRB            R4, [R1,#8]
ROM:1FFFC88E                 CBNZ            R0, loc_1FFFC892
ROM:1FFFC890                 B               loc_1FFFC89A
ROM:1FFFC892 ; ---------------------------------------------------------------------------
ROM:1FFFC892
ROM:1FFFC892 loc_1FFFC892                            ; CODE XREF: sub_1FFFC874+1Aj
ROM:1FFFC892                 NOP
ROM:1FFFC894
ROM:1FFFC894 loc_1FFFC894                            ; CODE XREF: sub_1FFFC6E0:loc_1FFFC70Aj
ROM:1FFFC894                 LDR             R0, =0x20000250
ROM:1FFFC896                 ADDS            R0, R2, R0
ROM:1FFFC898                 POP             {R4,PC}
ROM:1FFFC89A ; ---------------------------------------------------------------------------
ROM:1FFFC89A
ROM:1FFFC89A loc_1FFFC89A                            ; CODE XREF: sub_1FFFC6E0+28j
ROM:1FFFC89A                                         ; sub_1FFFC874+1Cj
ROM:1FFFC89A                 SUBS            R0, R3, R2
ROM:1FFFC89C                 LDR             R1, =0x20000C28
ROM:1FFFC89E                 LDR             R1, [R1]
ROM:1FFFC8A0                 STRH            R0, [R1,#0x10]
ROM:1FFFC8A2                 MOVS            R0, #0
ROM:1FFFC8A4                 POP             {R4,PC}
ROM:1FFFC8A4 ; End of function sub_1FFFC874
ROM:1FFFC8A4
ROM:1FFFC8A6
ROM:1FFFC8A6 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC8A6
ROM:1FFFC8A6
ROM:1FFFC8A6 sub_1FFFC8A6                            ; CODE XREF: sub_1FFFC2EE+130p
ROM:1FFFC8A6                 PUSH            {R4,LR}
ROM:1FFFC8A8                 LDR             R0, =0x20000250
ROM:1FFFC8AA                 LDRB            R1, [R0]
ROM:1FFFC8AC                 LDRB            R2, [R0,#1]
ROM:1FFFC8AE                 ADD.W           R1, R1, R2,LSL#8
ROM:1FFFC8B2                 LDRB            R2, [R0,#2]
ROM:1FFFC8B4                 ADD.W           R1, R1, R2,LSL#16
ROM:1FFFC8B8                 LDRB            R0, [R0,#3]
ROM:1FFFC8BA                 ADD.W           R0, R1, R0,LSL#24
ROM:1FFFC8BE                 LDR             R4, =0x20000138
ROM:1FFFC8C0                 STR             R0, [R4,#0x20]
ROM:1FFFC8C2                 BL              get_mem_block
ROM:1FFFC8C6                 CMP             R0, #2
ROM:1FFFC8C8                 IT NE
ROM:1FFFC8CA                 CMPNE           R0, #3
ROM:1FFFC8CC                 BEQ             loc_1FFFC8D4
ROM:1FFFC8CE                 MOVS            R0, #0x10
ROM:1FFFC8D0                 STRB            R0, [R4,#8]
ROM:1FFFC8D2                 POP             {R4,PC}
ROM:1FFFC8D4 ; ---------------------------------------------------------------------------
ROM:1FFFC8D4
ROM:1FFFC8D4 loc_1FFFC8D4                            ; CODE XREF: sub_1FFFC8A6+26j
ROM:1FFFC8D4                 LDR             R0, [R4,#0x20]
ROM:1FFFC8D6                 LDR             R1, =0x20000210
ROM:1FFFC8D8                 STR             R0, [R1]
ROM:1FFFC8DA                 LDR             R0, =0x20000198
ROM:1FFFC8DC                 MOVS            R1, #0
ROM:1FFFC8DE                 STR             R1, [R0]
ROM:1FFFC8E0                 POP             {R4,PC}
ROM:1FFFC8E0 ; End of function sub_1FFFC8A6
ROM:1FFFC8E0
ROM:1FFFC8E2
ROM:1FFFC8E2 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC8E2
ROM:1FFFC8E2
ROM:1FFFC8E2 sub_1FFFC8E2                            ; CODE XREF: sub_1FFFC2EE:loc_1FFFC420p
ROM:1FFFC8E2                 PUSH            {R3-R7,LR}
ROM:1FFFC8E4                 LDR             R5, =0x20000250
ROM:1FFFC8E6                 LDRB            R6, [R5]
ROM:1FFFC8E8                 LDR             R4, =0x20000138
ROM:1FFFC8EA                 BL              FLASH_GetReadOutProtectionStatus ; 检查flash的读保护位
ROM:1FFFC8EA                                         ;
ROM:1FFFC8EE                 CBNZ            R0, loc_1FFFC916
ROM:1FFFC8F0                 CMP             R6, #0xFF
ROM:1FFFC8F2                 BNE             loc_1FFFC8FA
ROM:1FFFC8F4                 BL              sub_1FFFC0C6
ROM:1FFFC8F8                 B               loc_1FFFC912
ROM:1FFFC8FA ; ---------------------------------------------------------------------------
ROM:1FFFC8FA
ROM:1FFFC8FA loc_1FFFC8FA                            ; CODE XREF: sub_1FFFC8E2+10j
ROM:1FFFC8FA                 ADDS            R6, R6, #1
ROM:1FFFC8FC                 MOVS            R7, #1
ROM:1FFFC8FE                 B               loc_1FFFC90E
ROM:1FFFC900 ; ---------------------------------------------------------------------------
ROM:1FFFC900
ROM:1FFFC900 loc_1FFFC900                            ; CODE XREF: sub_1FFFC8E2+2Ej
ROM:1FFFC900                 LDRB            R0, [R7,R5]
ROM:1FFFC902                 LSLS            R0, R0, #0xB
ROM:1FFFC904                 ADD.W           R0, R0, #0x8000000
ROM:1FFFC908                 BL              FLASH_ErasePage
ROM:1FFFC90C                 ADDS            R7, R7, #1
ROM:1FFFC90E
ROM:1FFFC90E loc_1FFFC90E                            ; CODE XREF: sub_1FFFC8E2+1Cj
ROM:1FFFC90E                 CMP             R6, R7
ROM:1FFFC910                 BCS             loc_1FFFC900
ROM:1FFFC912
ROM:1FFFC912 loc_1FFFC912                            ; CODE XREF: sub_1FFFC8E2+16j
ROM:1FFFC912                 MOVS            R0, #0
ROM:1FFFC914                 B               loc_1FFFC918
ROM:1FFFC916 ; ---------------------------------------------------------------------------
ROM:1FFFC916
ROM:1FFFC916 loc_1FFFC916                            ; CODE XREF: sub_1FFFC8E2+Cj
ROM:1FFFC916                 MOVS            R0, #0x10
ROM:1FFFC918
ROM:1FFFC918 loc_1FFFC918                            ; CODE XREF: sub_1FFFC8E2+32j
ROM:1FFFC918                 STRB            R0, [R4,#8]
ROM:1FFFC91A                 POP             {R0,R4-R7,PC}
ROM:1FFFC91A ; End of function sub_1FFFC8E2
ROM:1FFFC91A
ROM:1FFFC91C
ROM:1FFFC91C ; =============== S U B R O U T I N E =======================================
ROM:1FFFC91C
ROM:1FFFC91C
ROM:1FFFC91C sub_1FFFC91C                            ; CODE XREF: sub_1FFFC2EE+142p
ROM:1FFFC91C
ROM:1FFFC91C var_10          = -0x10
ROM:1FFFC91C
ROM:1FFFC91C                 PUSH            {R3-R5,LR}
ROM:1FFFC91E                 MOVS            R0, #0
ROM:1FFFC920                 STR             R0, [SP,#0x10+var_10]
ROM:1FFFC922                 LDR             R4, =0x20000250
ROM:1FFFC924                 LDRB            R5, [R4]
ROM:1FFFC926                 BL              FLASH_GetReadOutProtectionStatus ; 检查flash的读保护位
ROM:1FFFC926                                         ;
ROM:1FFFC92A                 CBNZ            R0, loc_1FFFC95C
ROM:1FFFC92C                 CMP             R5, #0x20
ROM:1FFFC92E                 BCS             loc_1FFFC95C
ROM:1FFFC930                 STR             R0, [SP,#0x10+var_10]
ROM:1FFFC932                 ADDS            R0, R5, #1
ROM:1FFFC934
ROM:1FFFC934 loc_1FFFC934                            ; CODE XREF: sub_1FFFC91C+26j
ROM:1FFFC934                 LDR             R1, [SP,#0x10+var_10]
ROM:1FFFC936                 MOVS            R2, #1
ROM:1FFFC938                 LDRSB           R3, [R0,R4]
ROM:1FFFC93A                 LSLS            R2, R3
ROM:1FFFC93C                 ORRS            R1, R2
ROM:1FFFC93E                 STR             R1, [SP,#0x10+var_10]
ROM:1FFFC940                 SUBS            R0, R0, #1
ROM:1FFFC942                 BNE             loc_1FFFC934
ROM:1FFFC944                 BL              FLASH_UnlockBank1
ROM:1FFFC948                 LDR             R0, =0x4002200C
ROM:1FFFC94A                 MOVS            R1, #0x35
ROM:1FFFC94C                 STR             R1, [R0]
ROM:1FFFC94E                 LDR             R0, [SP,#0x10+var_10]
ROM:1FFFC950                 BL              sub_1FFFC0FC
ROM:1FFFC954                 POP.W           {R0,R4,R5,LR}
ROM:1FFFC958                 B.W             sys_reset
ROM:1FFFC95C ; ---------------------------------------------------------------------------
ROM:1FFFC95C
ROM:1FFFC95C loc_1FFFC95C                            ; CODE XREF: sub_1FFFC91C+Ej
ROM:1FFFC95C                                         ; sub_1FFFC91C+12j
ROM:1FFFC95C                 LDR             R0, =0x20000138
ROM:1FFFC95E                 MOVS            R1, #0x10
ROM:1FFFC960                 STRB            R1, [R0,#8]
ROM:1FFFC962                 POP             {R0,R4,R5,PC}
ROM:1FFFC962 ; End of function sub_1FFFC91C
ROM:1FFFC962
ROM:1FFFC964
ROM:1FFFC964 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC964
ROM:1FFFC964
ROM:1FFFC964 sub_1FFFC964                            ; CODE XREF: ROM:loc_1FFFC59Ap
ROM:1FFFC964                 PUSH            {R7,LR}
ROM:1FFFC966                 BL              FLASH_GetReadOutProtectionStatus ; 检查flash的读保护位
ROM:1FFFC966                                         ;
ROM:1FFFC96A                 CMP             R0, #1
ROM:1FFFC96C                 BEQ             loc_1FFFC976
ROM:1FFFC96E                 MOVS            R0, #0
ROM:1FFFC970                 BL              sub_1FFFC1AA
ROM:1FFFC974                 B               loc_1FFFC9A2
ROM:1FFFC976 ; ---------------------------------------------------------------------------
ROM:1FFFC976
ROM:1FFFC976 loc_1FFFC976                            ; CODE XREF: sub_1FFFC964+8j
ROM:1FFFC976                 B               loc_1FFFC98E
ROM:1FFFC976 ; End of function sub_1FFFC964
ROM:1FFFC976
ROM:1FFFC978
ROM:1FFFC978 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC978
ROM:1FFFC978
ROM:1FFFC978 sub_1FFFC978                            ; CODE XREF: ROM:loc_1FFFC5A2p
ROM:1FFFC978                 PUSH            {R7,LR}
ROM:1FFFC97A                 BL              FLASH_GetReadOutProtectionStatus ; 检查flash的读保护位
ROM:1FFFC97A                                         ;
ROM:1FFFC97E                 CMP             R0, #1
ROM:1FFFC980                 BEQ             loc_1FFFC98E
ROM:1FFFC982                 MOVS            R0, #1
ROM:1FFFC984                 BL              sub_1FFFC1AA
ROM:1FFFC988                 BL              sub_1FFFCC08
ROM:1FFFC98C                 B               loc_1FFFC9A2
ROM:1FFFC98E ; ---------------------------------------------------------------------------
ROM:1FFFC98E
ROM:1FFFC98E loc_1FFFC98E                            ; CODE XREF: sub_1FFFC964:loc_1FFFC976j
ROM:1FFFC98E                                         ; sub_1FFFC978+8j
ROM:1FFFC98E                 LDR             R0, =0x20000138
ROM:1FFFC990                 MOVS            R1, #0x10
ROM:1FFFC992                 STRB            R1, [R0,#8]
ROM:1FFFC994                 POP             {R0,PC}
ROM:1FFFC994 ; End of function sub_1FFFC978
ROM:1FFFC994
ROM:1FFFC996
ROM:1FFFC996 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC996
ROM:1FFFC996
ROM:1FFFC996 sub_1FFFC996                            ; CODE XREF: ROM:loc_1FFFC5A8p
ROM:1FFFC996                 PUSH            {R7,LR}
ROM:1FFFC998                 MOVS            R0, #0
ROM:1FFFC99A                 BL              sub_1FFFC1AA
ROM:1FFFC99E                 BL              clear_all_mem
ROM:1FFFC9A2
ROM:1FFFC9A2 loc_1FFFC9A2                            ; CODE XREF: sub_1FFFC964+10j
ROM:1FFFC9A2                                         ; sub_1FFFC978+14j
ROM:1FFFC9A2                 POP.W           {R0,LR}
ROM:1FFFC9A6                 B.W             sys_reset
ROM:1FFFC9A6 ; End of function sub_1FFFC996
ROM:1FFFC9A6
ROM:1FFFC9AA
ROM:1FFFC9AA ; =============== S U B R O U T I N E =======================================
ROM:1FFFC9AA
ROM:1FFFC9AA
ROM:1FFFC9AA sub_1FFFC9AA                            ; CODE XREF: start_work:boot_user_appp
ROM:1FFFC9AA                 PUSH.W          {R3-R11,LR}
ROM:1FFFC9AE                 MOVW            R8, #0xAAA
ROM:1FFFC9B2                 LDR             R5, =0x20000198 ; 1FFFEB6C
ROM:1FFFC9B4
ROM:1FFFC9B4 loc_1FFFC9B4                            ; CODE XREF: sub_1FFFC9AA+Ej
ROM:1FFFC9B4                 LDR             R0, [R5]
ROM:1FFFC9B6                 CMP             R0, R8
ROM:1FFFC9B8                 BNE             loc_1FFFC9B4 ; 死等一个变量变化,肯定启用了中断程序修改此变量
ROM:1FFFC9BA                 LDR             R6, =0x2000022C ; 0x1FFFEC00
ROM:1FFFC9BC                 LDR.W           R9, =0x4FFFFF ; 0x1FFFEC04
ROM:1FFFC9C0                 STR.W           R9, [R6,#4]
ROM:1FFFC9C4                 LDR             R4, =0x20000BC8
ROM:1FFFC9C6                 B               loc_1FFFC9CE
ROM:1FFFC9C8 ; ---------------------------------------------------------------------------
ROM:1FFFC9C8
ROM:1FFFC9C8 loc_1FFFC9C8                            ; CODE XREF: sub_1FFFC9AA+2Cj
ROM:1FFFC9C8                 LDR             R0, [R6,#4]
ROM:1FFFC9CA                 SUBS            R0, R0, #1
ROM:1FFFC9CC                 STR             R0, [R6,#4]
ROM:1FFFC9CE
ROM:1FFFC9CE loc_1FFFC9CE                            ; CODE XREF: sub_1FFFC9AA+1Cj
ROM:1FFFC9CE                 LDR             R0, [R4]
ROM:1FFFC9D0                 CBNZ            R0, loc_1FFFC9D8
ROM:1FFFC9D2                 LDR             R0, [R6,#4]
ROM:1FFFC9D4                 CMP             R0, #2
ROM:1FFFC9D6                 BCS             loc_1FFFC9C8
ROM:1FFFC9D8
ROM:1FFFC9D8 loc_1FFFC9D8                            ; CODE XREF: sub_1FFFC9AA+26j
ROM:1FFFC9D8                 LDR             R7, =0x20000C4C
ROM:1FFFC9DA                 LDR             R0, [R6,#4]
ROM:1FFFC9DC                 CMP             R0, #2
ROM:1FFFC9DE                 BCS             loc_1FFFC9EE
ROM:1FFFC9E0
ROM:1FFFC9E0 loc_1FFFC9E0                            ; CODE XREF: sub_1FFFC9AA+AEj
ROM:1FFFC9E0                                         ; sub_1FFFC9AA+B6j
ROM:1FFFC9E0                 LDR             R0, [R7]
ROM:1FFFC9E2                 ADDS            R0, R0, #1
ROM:1FFFC9E4                 STR             R0, [R7]
ROM:1FFFC9E6                 B               loc_1FFFC9EE
ROM:1FFFC9E8 ; ---------------------------------------------------------------------------
ROM:1FFFC9E8
ROM:1FFFC9E8 loc_1FFFC9E8                            ; CODE XREF: sub_1FFFC9AA+B4j
ROM:1FFFC9E8                 MOVS            R1, #0
ROM:1FFFC9EA                 STR             R1, [R7]
ROM:1FFFC9EC                 STR             R0, [R6]
ROM:1FFFC9EE
ROM:1FFFC9EE loc_1FFFC9EE                            ; CODE XREF: sub_1FFFC9AA+34j
ROM:1FFFC9EE                                         ; sub_1FFFC9AA+3Cj
ROM:1FFFC9EE                 LDR             R0, [R6]
ROM:1FFFC9F0                 LDR.W           R10, =0x40003000
ROM:1FFFC9F4                 MOVW            R11, #0xAAAA
ROM:1FFFC9F8                 LDR             R1, [R6,#4]
ROM:1FFFC9FA                 CMP             R1, #2
ROM:1FFFC9FC                 IT CC
ROM:1FFFC9FE                 CMPCC           R0, #2
ROM:1FFFCA00                 BCS             loc_1FFFCA62
ROM:1FFFCA02                 STR.W           R11, [R10]
ROM:1FFFCA06                 BL              clk_cfg
ROM:1FFFCA0A                 BL              sub_1FFFCC08
ROM:1FFFCA0E                 MOVS            R0, #0
ROM:1FFFCA10                 STR             R0, [R5]
ROM:1FFFCA12                 BL              enale_usb_trans
ROM:1FFFCA16
ROM:1FFFCA16 loc_1FFFCA16                            ; CODE XREF: sub_1FFFC9AA+70j
ROM:1FFFCA16                 LDR             R0, [R5]
ROM:1FFFCA18                 CMP             R0, R8
ROM:1FFFCA1A                 BNE             loc_1FFFCA16
ROM:1FFFCA1C                 LDR             R0, [R6]
ROM:1FFFCA1E                 ADDS            R0, R0, #1
ROM:1FFFCA20                 LDR             R1, [R7]
ROM:1FFFCA22                 CBZ             R1, loc_1FFFCA2C
ROM:1FFFCA24                 CMP             R1, #2
ROM:1FFFCA26                 BEQ             loc_1FFFCA38
ROM:1FFFCA28                 BCC             loc_1FFFCA32
ROM:1FFFCA2A                 B               loc_1FFFCA3E
ROM:1FFFCA2C ; ---------------------------------------------------------------------------
ROM:1FFFCA2C
ROM:1FFFCA2C loc_1FFFCA2C                            ; CODE XREF: sub_1FFFC9AA+78j
ROM:1FFFCA2C                 MUL.W           R1, R9, R0
ROM:1FFFCA30                 B               loc_1FFFCA48
ROM:1FFFCA32 ; ---------------------------------------------------------------------------
ROM:1FFFCA32
ROM:1FFFCA32 loc_1FFFCA32                            ; CODE XREF: sub_1FFFC9AA+7Ej
ROM:1FFFCA32                 LDR             R1, =0x5FFFFF
ROM:1FFFCA34                 MULS            R1, R0
ROM:1FFFCA36                 B               loc_1FFFCA48
ROM:1FFFCA38 ; ---------------------------------------------------------------------------
ROM:1FFFCA38
ROM:1FFFCA38 loc_1FFFCA38                            ; CODE XREF: sub_1FFFC9AA+7Cj
ROM:1FFFCA38                 RSB.W           R1, R0, R0,LSL#25
ROM:1FFFCA3C                 B               loc_1FFFCA48
ROM:1FFFCA3E ; ---------------------------------------------------------------------------
ROM:1FFFCA3E
ROM:1FFFCA3E loc_1FFFCA3E                            ; CODE XREF: sub_1FFFC9AA+80j
ROM:1FFFCA3E                 RSB.W           R1, R0, R0,LSL#24
ROM:1FFFCA42                 B               loc_1FFFCA48
ROM:1FFFCA44 ; ---------------------------------------------------------------------------
ROM:1FFFCA44
ROM:1FFFCA44 loc_1FFFCA44                            ; CODE XREF: sub_1FFFC9AA+A8j
ROM:1FFFCA44                 LDR             R1, [R6,#4]
ROM:1FFFCA46                 SUBS            R1, R1, #1
ROM:1FFFCA48
ROM:1FFFCA48 loc_1FFFCA48                            ; CODE XREF: sub_1FFFC9AA+86j
ROM:1FFFCA48                                         ; sub_1FFFC9AA+8Cj ...
ROM:1FFFCA48                 STR             R1, [R6,#4]
ROM:1FFFCA4A                 LDR             R1, [R4]
ROM:1FFFCA4C                 CBNZ            R1, loc_1FFFCA54
ROM:1FFFCA4E                 LDR             R1, [R6,#4]
ROM:1FFFCA50                 CMP             R1, #2
ROM:1FFFCA52                 BCS             loc_1FFFCA44
ROM:1FFFCA54
ROM:1FFFCA54 loc_1FFFCA54                            ; CODE XREF: sub_1FFFC9AA+A2j
ROM:1FFFCA54                 LDR             R1, [R6,#4]
ROM:1FFFCA56                 CMP             R1, #2
ROM:1FFFCA58                 BCS             loc_1FFFC9E0
ROM:1FFFCA5A                 LDR             R1, [R7]
ROM:1FFFCA5C                 CMP             R1, #2
ROM:1FFFCA5E                 BEQ             loc_1FFFC9E8
ROM:1FFFCA60                 B               loc_1FFFC9E0
ROM:1FFFCA62 ; ---------------------------------------------------------------------------
ROM:1FFFCA62
ROM:1FFFCA62 loc_1FFFCA62                            ; CODE XREF: sub_1FFFC9AA+56j
ROM:1FFFCA62                 CMP             R0, #2
ROM:1FFFCA64                 IT CS
ROM:1FFFCA66                 BLCS            sys_reset
ROM:1FFFCA6A                 LDR             R0, [R7]
ROM:1FFFCA6C                 SUBS            R0, R0, #1
ROM:1FFFCA6E                 STR             R0, [R7]
ROM:1FFFCA70                 B               loc_1FFFCA76
ROM:1FFFCA72 ; ---------------------------------------------------------------------------
ROM:1FFFCA72
ROM:1FFFCA72 loc_1FFFCA72                            ; CODE XREF: sub_1FFFC9AA+D0j
ROM:1FFFCA72                 STR.W           R11, [R10]
ROM:1FFFCA76
ROM:1FFFCA76 loc_1FFFCA76                            ; CODE XREF: sub_1FFFC9AA+C6j
ROM:1FFFCA76                 LDR             R0, [R5]
ROM:1FFFCA78                 CMP             R0, R8
ROM:1FFFCA7A                 BEQ             loc_1FFFCA72
ROM:1FFFCA7C                 POP.W           {R0,R4-R11,PC}
ROM:1FFFCA7C ; End of function sub_1FFFC9AA
ROM:1FFFCA7C
ROM:1FFFCA80
ROM:1FFFCA80 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCA80
ROM:1FFFCA80
ROM:1FFFCA80 enale_usb_trans                         ; CODE XREF: sub_1FFFC9AA+68p
ROM:1FFFCA80                                         ; g_sys_init+ACp
ROM:1FFFCA80                 PUSH            {R7,LR}
ROM:1FFFCA82                 LDR             R0, =0x20000138 ; 变量地址0x1FFFEB0C
ROM:1FFFCA84                 MOVS            R1, #0xA
ROM:1FFFCA86                 STRB            R1, [R0,#0x10] ; 变量0x1FFFEB1C=0x0A
ROM:1FFFCA88                 STRB            R1, [R0] ; 变量0x1FFFEB0C=0x0A
ROM:1FFFCA8A                 STRB            R1, [R0,#4] ; 变量0x1FFFEB10=0x0A
ROM:1FFFCA8C                 MOVS            R1, #0
ROM:1FFFCA8E                 STRB            R1, [R0,#8] ; 变量0x1FFFEB14=0x00
ROM:1FFFCA90                 BL              clk_cfg_0
ROM:1FFFCA94                 BL              trigger_usb_start
ROM:1FFFCA98                 POP.W           {R0,LR}
ROM:1FFFCA9C                 B.W             return_0
ROM:1FFFCA9C ; End of function enale_usb_trans
ROM:1FFFCA9C
ROM:1FFFCAA0
ROM:1FFFCAA0 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCAA0
ROM:1FFFCAA0
ROM:1FFFCAA0 sub_1FFFCAA0                            ; CODE XREF: start_work+28p
ROM:1FFFCAA0                                         ; g_sys_init+122p ...
ROM:1FFFCAA0
ROM:1FFFCAA0 var_8           = -8
ROM:1FFFCAA0
ROM:1FFFCAA0                 PUSH            {R7,LR}
ROM:1FFFCAA2                 MOVS            R0, #0
ROM:1FFFCAA4                 STR             R0, [SP,#8+var_8]
ROM:1FFFCAA6                 MOVS            R0, #0x10
ROM:1FFFCAA8                 BL              sub_1FFFD648
ROM:1FFFCAAC                 BL              sub_1FFFD672
ROM:1FFFCAB0                 BL              sub_1FFFD5DE
ROM:1FFFCAB4                 BL              sub_1FFFD6AC
ROM:1FFFCAB8                 LDR             R0, =0x40021014
ROM:1FFFCABA                 LDR             R1, [R0]
ROM:1FFFCABC                 BIC.W           R1, R1, #0x1000
ROM:1FFFCAC0                 STR             R1, [R0]
ROM:1FFFCAC2                 LDR             R0, =0xE000E180
ROM:1FFFCAC4                 MOV.W           R1, #0xFFFFFFFF
ROM:1FFFCAC8                 STR             R1, [R0]
ROM:1FFFCACA                 STR             R1, [R0,#4]
ROM:1FFFCACC                 MOVS            R2, #0xF
ROM:1FFFCACE                 STR             R2, [R0,#8] ; 禁止中断
ROM:1FFFCAD0                 LDR             R0, =0xE000E280
ROM:1FFFCAD2                 STR             R1, [R0]
ROM:1FFFCAD4                 STR             R1, [R0,#4]
ROM:1FFFCAD6                 STR             R2, [R0,#8]
ROM:1FFFCAD8                 MOVS            R0, #0
ROM:1FFFCADA                 STR             R0, [SP,#8+var_8] ; 重装中断向量表吗?
ROM:1FFFCADC                 LDR             R1, =0xE000E400
ROM:1FFFCADE                 MOVS            R2, #0
ROM:1FFFCAE0                 B               loc_1FFFCAEE
ROM:1FFFCAE2 ; ---------------------------------------------------------------------------
ROM:1FFFCAE2
ROM:1FFFCAE2 loc_1FFFCAE2                            ; CODE XREF: sub_1FFFCAA0+52j
ROM:1FFFCAE2                 LDR             R0, [SP,#8+var_8]
ROM:1FFFCAE4                 STR.W           R2, [R1,R0,LSL#2]
ROM:1FFFCAE8                 LDR             R0, [SP,#8+var_8]
ROM:1FFFCAEA                 ADDS            R0, R0, #1
ROM:1FFFCAEC                 STR             R0, [SP,#8+var_8]
ROM:1FFFCAEE
ROM:1FFFCAEE loc_1FFFCAEE                            ; CODE XREF: sub_1FFFCAA0+40j
ROM:1FFFCAEE                 LDR             R0, [SP,#8+var_8]
ROM:1FFFCAF0                 CMP             R0, #0x11
ROM:1FFFCAF2                 BCC             loc_1FFFCAE2
ROM:1FFFCAF4                 POP             {R0,PC}
ROM:1FFFCAF4 ; End of function sub_1FFFCAA0
ROM:1FFFCAF4
ROM:1FFFCAF4 ; ---------------------------------------------------------------------------
ROM:1FFFCAF6                 ALIGN 4
ROM:1FFFCAF8 dword_1FFFCAF8  DCD 0x20000C0C          ; DATA XREF: usb_monitor_en+2r
ROM:1FFFCAF8                                         ; sub_1FFFC2B0r ...
ROM:1FFFCAFC dword_1FFFCAFC  DCD 0x20000C64          ; DATA XREF: usb_monitor_en+16r
ROM:1FFFCAFC                                         ; sub_1FFFC2B0+16r ...
ROM:1FFFCB00 dword_1FFFCB00  DCD 0x20000C28          ; DATA XREF: sub_1FFFC2B0+8r
ROM:1FFFCB00                                         ; ROM:1FFFC454r ...
ROM:1FFFCB04 dword_1FFFCB04  DCD 0x200001AC          ; DATA XREF: sub_1FFFC2B0+Er
ROM:1FFFCB08 dword_1FFFCB08  DCD 0x20000138          ; DATA XREF: sub_1FFFC2EE+2r
ROM:1FFFCB08                                         ; ROM:1FFFC45Cr ...
ROM:1FFFCB0C dword_1FFFCB0C  DCD 0x20000250          ; DATA XREF: sub_1FFFC2EE+20r
ROM:1FFFCB0C                                         ; sub_1FFFC600+46r ...
ROM:1FFFCB10 dword_1FFFCB10  DCD 0x20000234          ; DATA XREF: ROM:1FFFC5B4r
ROM:1FFFCB14 dword_1FFFCB14  DCD 0x2000015C          ; DATA XREF: ROM:1FFFC5BCr
ROM:1FFFCB18 dword_1FFFCB18  DCD 0x200000D4          ; DATA XREF: ROM:1FFFC5CCr
ROM:1FFFCB1C dword_1FFFCB1C  DCD 0x20000148          ; DATA XREF: sub_1FFFC70C:loc_1FFFC71Cr
ROM:1FFFCB20 dword_1FFFCB20  DCD 0x20000210          ; DATA XREF: sub_1FFFC7A4+2Ar
ROM:1FFFCB20                                         ; sub_1FFFC8A6+30r
ROM:1FFFCB24 dword_1FFFCB24  DCD 0x20000198          ; DATA XREF: sub_1FFFC7A4+3Er
ROM:1FFFCB24                                         ; sub_1FFFC8A6+34r ...
ROM:1FFFCB28 dword_1FFFCB28  DCD 0x40022020          ; DATA XREF: sub_1FFFC7F8+44r
ROM:1FFFCB2C dword_1FFFCB2C  DCD 0x20000220          ; DATA XREF: sub_1FFFC7F8:loc_1FFFC860r
ROM:1FFFCB30 dword_1FFFCB30  DCD 0x20000244          ; DATA XREF: sub_1FFFC7F8:loc_1FFFC864r
ROM:1FFFCB34 dword_1FFFCB34  DCD 0x2000024C          ; DATA XREF: sub_1FFFC7F8:loc_1FFFC868r
ROM:1FFFCB38 dword_1FFFCB38  DCD 0x4002200C          ; DATA XREF: sub_1FFFC91C+2Cr
ROM:1FFFCB3C dword_1FFFCB3C  DCD 0x2000022C          ; DATA XREF: sub_1FFFC9AA+10r
ROM:1FFFCB40 dword_1FFFCB40  DCD 0x4FFFFF            ; DATA XREF: sub_1FFFC9AA+12r
ROM:1FFFCB44 dword_1FFFCB44  DCD 0x20000BC8          ; DATA XREF: sub_1FFFC9AA+1Ar
ROM:1FFFCB48 dword_1FFFCB48  DCD 0x20000C4C          ; DATA XREF: sub_1FFFC9AA:loc_1FFFC9D8r
ROM:1FFFCB4C dword_1FFFCB4C  DCD 0x40003000          ; DATA XREF: sub_1FFFC9AA+46r
ROM:1FFFCB50 dword_1FFFCB50  DCD 0x5FFFFF            ; DATA XREF: sub_1FFFC9AA:loc_1FFFCA32r
ROM:1FFFCB54 dword_1FFFCB54  DCD 0x40021014          ; DATA XREF: sub_1FFFCAA0+18r
ROM:1FFFCB58 dword_1FFFCB58  DCD 0xE000E180          ; DATA XREF: sub_1FFFCAA0+22r
ROM:1FFFCB5C dword_1FFFCB5C  DCD 0xE000E280          ; DATA XREF: sub_1FFFCAA0+30r
ROM:1FFFCB60 dword_1FFFCB60  DCD 0xE000E400          ; DATA XREF: sub_1FFFCAA0+3Cr
ROM:1FFFCB64
ROM:1FFFCB64 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCB64
ROM:1FFFCB64
ROM:1FFFCB64 return_0_0                              ; CODE XREF: usb_monitor_en+Ap
ROM:1FFFCB64                 MOVS            R0, #0
ROM:1FFFCB66                 BX              LR
ROM:1FFFCB66 ; End of function return_0_0
ROM:1FFFCB66
ROM:1FFFCB68
ROM:1FFFCB68 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCB68
ROM:1FFFCB68
ROM:1FFFCB68 usb_chuli                               ; CODE XREF: usb_monitor_en+Ep
ROM:1FFFCB68
ROM:1FFFCB68 var_10          = -0x10
ROM:1FFFCB68
ROM:1FFFCB68                 PUSH            {LR}
ROM:1FFFCB6A                 SUB             SP, SP, #0xC
ROM:1FFFCB6C                 MOV.W           R0, #0x50000000 ; usb otg fs
ROM:1FFFCB70                 BL              USB_OTG_SelectCore
ROM:1FFFCB74                 BL              sub_1FFFD636
ROM:1FFFCB78                 BL              sub_1FFFD5B0
ROM:1FFFCB7C                 BL              sub_1FFFD6E2
ROM:1FFFCB80                 BL              sub_1FFFDB52
ROM:1FFFCB84                 MOVS            R0, #0x80
ROM:1FFFCB86                 STRB.W          R0, [SP,#0x10+var_10+2]
ROM:1FFFCB8A                 MOVS            R0, #0x40
ROM:1FFFCB8C                 STRH.W          R0, [SP,#0x10+var_10+4]
ROM:1FFFCB90                 MOVS            R0, #0
ROM:1FFFCB92                 STRB.W          R0, [SP,#0x10+var_10+3]
ROM:1FFFCB96                 ADD             R0, SP, #0x10+var_10
ROM:1FFFCB98                 BL              sub_1FFFDBB4
ROM:1FFFCB9C                 MOVS            R0, #0
ROM:1FFFCB9E                 STRB.W          R0, [SP,#0x10+var_10+2]
ROM:1FFFCBA2                 ADD             R0, SP, #0x10+var_10
ROM:1FFFCBA4                 BL              sub_1FFFDBB4
ROM:1FFFCBA8                 BL              sub_1FFFDCDC
ROM:1FFFCBAC                 BL              sub_1FFFD628
ROM:1FFFCBB0                 POP             {R0-R2,PC}
ROM:1FFFCBB0 ; End of function usb_chuli
ROM:1FFFCBB0
ROM:1FFFCBB2
ROM:1FFFCBB2 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCBB2
ROM:1FFFCBB2
ROM:1FFFCBB2 sub_1FFFCBB2                            ; CODE XREF: sub_1FFFCE28+66p
ROM:1FFFCBB2                                         ; sub_1FFFCEB0+34p ...
ROM:1FFFCBB2                 PUSH            {R7,LR}
ROM:1FFFCBB4                 AND.W           R0, R0, #0x7F
ROM:1FFFCBB8                 BL              sub_1FFFDC7A
ROM:1FFFCBBC                 B               loc_1FFFCBC8
ROM:1FFFCBBC ; End of function sub_1FFFCBB2
ROM:1FFFCBBC
ROM:1FFFCBBE
ROM:1FFFCBBE ; =============== S U B R O U T I N E =======================================
ROM:1FFFCBBE
ROM:1FFFCBBE
ROM:1FFFCBBE sub_1FFFCBBE                            ; CODE XREF: sub_1FFFCE28:loc_1FFFCE9Ep
ROM:1FFFCBBE                                         ; sub_1FFFCEB0:loc_1FFFCEEAp ...
ROM:1FFFCBBE                 PUSH            {R7,LR}
ROM:1FFFCBC0                 AND.W           R0, R0, #0x7F
ROM:1FFFCBC4                 BL              sub_1FFFDCA2
ROM:1FFFCBC8
ROM:1FFFCBC8 loc_1FFFCBC8                            ; CODE XREF: sub_1FFFCBB2+Aj
ROM:1FFFCBC8                 POP.W           {R1,LR}
ROM:1FFFCBCC                 B.W             sub_1FFFDA86
ROM:1FFFCBCC ; End of function sub_1FFFCBBE
ROM:1FFFCBCC
ROM:1FFFCBD0
ROM:1FFFCBD0 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCBD0
ROM:1FFFCBD0
ROM:1FFFCBD0 sub_1FFFCBD0                            ; CODE XREF: sub_1FFFCC0Cj
ROM:1FFFCBD0                                         ; sub_1FFFCF5A+46p ...
ROM:1FFFCBD0                 PUSH            {R3-R5,LR}
ROM:1FFFCBD2                 MOV             R4, R0
ROM:1FFFCBD4                 MOV             R5, R1
ROM:1FFFCBD6                 AND.W           R0, R4, #0x7F
ROM:1FFFCBDA                 BL              sub_1FFFDC7A
ROM:1FFFCBDE                 CMP             R4, #0x80
ROM:1FFFCBE0                 ITTT EQ
ROM:1FFFCBE2                 CMPEQ           R5, #0x10
ROM:1FFFCBE4                 MOVEQ           R1, #1
ROM:1FFFCBE6                 STREQB          R1, [R0,#1]
ROM:1FFFCBE8                 MOV             R1, R5
ROM:1FFFCBEA                 POP.W           {R2,R4,R5,LR}
ROM:1FFFCBEE                 B.W             sub_1FFFDAB8
ROM:1FFFCBEE ; End of function sub_1FFFCBD0
ROM:1FFFCBEE
ROM:1FFFCBF2
ROM:1FFFCBF2 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCBF2
ROM:1FFFCBF2
ROM:1FFFCBF2 sub_1FFFCBF2                            ; CODE XREF: sub_1FFFCEB0:loc_1FFFCF46p
ROM:1FFFCBF2                                         ; sub_1FFFCF5A+52p ...
ROM:1FFFCBF2                 PUSH            {R4,LR}
ROM:1FFFCBF4                 MOV             R4, R1
ROM:1FFFCBF6                 AND.W           R0, R0, #0x7F
ROM:1FFFCBFA                 BL              sub_1FFFDCA2
ROM:1FFFCBFE                 MOV             R1, R4
ROM:1FFFCC00                 POP.W           {R4,LR}
ROM:1FFFCC04                 B.W             sub_1FFFDAB8
ROM:1FFFCC04 ; End of function sub_1FFFCBF2
ROM:1FFFCC04
ROM:1FFFCC08
ROM:1FFFCC08 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCC08
ROM:1FFFCC08 ; Attributes: thunk
ROM:1FFFCC08
ROM:1FFFCC08 sub_1FFFCC08                            ; CODE XREF: sub_1FFFC978+10p
ROM:1FFFCC08                                         ; sub_1FFFC9AA+60p
ROM:1FFFCC08                 B.W             sub_1FFFDCCA
ROM:1FFFCC08 ; End of function sub_1FFFCC08
ROM:1FFFCC08
ROM:1FFFCC0C
ROM:1FFFCC0C ; =============== S U B R O U T I N E =======================================
ROM:1FFFCC0C
ROM:1FFFCC0C ; Attributes: thunk
ROM:1FFFCC0C
ROM:1FFFCC0C sub_1FFFCC0C                            ; CODE XREF: sub_1FFFCEB0+68p
ROM:1FFFCC0C                 B               sub_1FFFCBD0
ROM:1FFFCC0C ; End of function sub_1FFFCC0C
ROM:1FFFCC0C
ROM:1FFFCC0E
ROM:1FFFCC0E ; =============== S U B R O U T I N E =======================================
ROM:1FFFCC0E
ROM:1FFFCC0E
ROM:1FFFCC0E nullsub_2                               ; CODE XREF: sub_1FFFCFF2+50p
ROM:1FFFCC0E                                         ; sub_1FFFD06E+6Ep
ROM:1FFFCC0E                 BX              LR
ROM:1FFFCC0E ; End of function nullsub_2
ROM:1FFFCC0E
ROM:1FFFCC10
ROM:1FFFCC10 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCC10
ROM:1FFFCC10
ROM:1FFFCC10 nullsub_1                               ; CODE XREF: sub_1FFFCEB0+86p
ROM:1FFFCC10                                         ; sub_1FFFD438+Ap
ROM:1FFFCC10                 BX              LR
ROM:1FFFCC10 ; End of function nullsub_1
ROM:1FFFCC10
ROM:1FFFCC12
ROM:1FFFCC12 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCC12
ROM:1FFFCC12
ROM:1FFFCC12 sub_1FFFCC12                            ; CODE XREF: sub_1FFFD356+2Cp
ROM:1FFFCC12                                         ; sub_1FFFD356+38p
ROM:1FFFCC12                 LSLS            R1, R0, #0x18
ROM:1FFFCC14                 LSRS            R1, R1, #0x10
ROM:1FFFCC16                 ORR.W           R0, R1, R0,LSR#8
ROM:1FFFCC1A                 BX              LR
ROM:1FFFCC1A ; End of function sub_1FFFCC12
ROM:1FFFCC1A
ROM:1FFFCC1C
ROM:1FFFCC1C ; =============== S U B R O U T I N E =======================================
ROM:1FFFCC1C
ROM:1FFFCC1C
ROM:1FFFCC1C return_0                                ; CODE XREF: enale_usb_trans+1Cp
ROM:1FFFCC1C                 MOVS            R0, #0
ROM:1FFFCC1E                 BX              LR
ROM:1FFFCC1E ; End of function return_0
ROM:1FFFCC1E
ROM:1FFFCC20
ROM:1FFFCC20 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCC20
ROM:1FFFCC20
ROM:1FFFCC20 sub_1FFFCC20                            ; CODE XREF: sub_1FFFC2EE+88p
ROM:1FFFCC20                 AND.W           R1, R0, #0xFC000000
ROM:1FFFCC24                 CMP.W           R1, #0x8000000
ROM:1FFFCC28                 BNE             loc_1FFFCC34
ROM:1FFFCC2A                 LDR             R1, =0x20000C50
ROM:1FFFCC2C                 LDR             R2, =(FLASH_ErasePage_0+1)
ROM:1FFFCC2E                 STR             R2, [R1]
ROM:1FFFCC30                 B.W             FLASH_ErasePage_0
ROM:1FFFCC34 ; ---------------------------------------------------------------------------
ROM:1FFFCC34
ROM:1FFFCC34 loc_1FFFCC34                            ; CODE XREF: sub_1FFFCC20+8j
ROM:1FFFCC34                 MOVS            R0, #1
ROM:1FFFCC36                 BX              LR
ROM:1FFFCC36 ; End of function sub_1FFFCC20
ROM:1FFFCC36
ROM:1FFFCC38
ROM:1FFFCC38 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCC38
ROM:1FFFCC38
ROM:1FFFCC38 sub_1FFFCC38                            ; CODE XREF: sub_1FFFC2EE+100p
ROM:1FFFCC38
ROM:1FFFCC38 var_10          = -0x10
ROM:1FFFCC38
ROM:1FFFCC38                 PUSH            {R3-R5,LR}
ROM:1FFFCC3A                 MOV             R4, R0
ROM:1FFFCC3C                 MOV             R5, R1
ROM:1FFFCC3E                 BL              get_mem_block
ROM:1FFFCC42                 STRB.W          R0, [SP,#0x10+var_10]
ROM:1FFFCC46                 LDRB.W          R0, [SP,#0x10+var_10]
ROM:1FFFCC4A                 CMP             R0, #2
ROM:1FFFCC4C                 BEQ             loc_1FFFCC58
ROM:1FFFCC4E                 BCC             loc_1FFFCC76
ROM:1FFFCC50                 CMP             R0, #4
ROM:1FFFCC52                 BEQ             loc_1FFFCC70
ROM:1FFFCC54                 BCC             loc_1FFFCC6A
ROM:1FFFCC56                 B               loc_1FFFCC76
ROM:1FFFCC58 ; ---------------------------------------------------------------------------
ROM:1FFFCC58
ROM:1FFFCC58 loc_1FFFCC58                            ; CODE XREF: sub_1FFFCC38+14j
ROM:1FFFCC58                 LDR             R0, =(sub_1FFFDCFE+1)
ROM:1FFFCC5A
ROM:1FFFCC5A loc_1FFFCC5A                            ; CODE XREF: sub_1FFFCC38+36j
ROM:1FFFCC5A                                         ; sub_1FFFCC38+3Cj
ROM:1FFFCC5A                 LDR             R2, =0x20000C54
ROM:1FFFCC5C                 STR             R0, [R2]
ROM:1FFFCC5E                 MOV             R1, R5
ROM:1FFFCC60                 MOV             R0, R4
ROM:1FFFCC62                 LDR             R2, [R2]
ROM:1FFFCC64                 POP.W           {R3-R5,LR}
ROM:1FFFCC68                 BX              R2
ROM:1FFFCC6A ; ---------------------------------------------------------------------------
ROM:1FFFCC6A
ROM:1FFFCC6A loc_1FFFCC6A                            ; CODE XREF: sub_1FFFCC38+1Cj
ROM:1FFFCC6A                 ADR.W           R0, (sub_1FFFCCA8+1)
ROM:1FFFCC6E                 B               loc_1FFFCC5A
ROM:1FFFCC70 ; ---------------------------------------------------------------------------
ROM:1FFFCC70
ROM:1FFFCC70 loc_1FFFCC70                            ; CODE XREF: sub_1FFFCC38+1Aj
ROM:1FFFCC70                 ADR.W           R0, (sub_1FFFCCE0+1)
ROM:1FFFCC74                 B               loc_1FFFCC5A
ROM:1FFFCC76 ; ---------------------------------------------------------------------------
ROM:1FFFCC76
ROM:1FFFCC76 loc_1FFFCC76                            ; CODE XREF: sub_1FFFCC38+16j
ROM:1FFFCC76                                         ; sub_1FFFCC38+1Ej
ROM:1FFFCC76                 MOVS            R0, #1
ROM:1FFFCC78                 POP             {R1,R4,R5,PC}
ROM:1FFFCC78 ; End of function sub_1FFFCC38
ROM:1FFFCC78
ROM:1FFFCC7A
ROM:1FFFCC7A ; =============== S U B R O U T I N E =======================================
ROM:1FFFCC7A
ROM:1FFFCC7A
ROM:1FFFCC7A sub_1FFFCC7A                            ; CODE XREF: sub_1FFFC600+A2p
ROM:1FFFCC7A
ROM:1FFFCC7A ; FUNCTION CHUNK AT ROM:1FFFDD40 SIZE 00000002 BYTES
ROM:1FFFCC7A
ROM:1FFFCC7A                 LDR             R2, =0x20000C58
ROM:1FFFCC7C                 LDR             R3, =(locret_1FFFDD40+1)
ROM:1FFFCC7E                 STR             R3, [R2]
ROM:1FFFCC80                 B.W             locret_1FFFDD40
ROM:1FFFCC80 ; End of function sub_1FFFCC7A
ROM:1FFFCC80
ROM:1FFFCC84
ROM:1FFFCC84 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCC84
ROM:1FFFCC84
ROM:1FFFCC84 sub_1FFFCC84                            ; CODE XREF: sub_1FFFC724+38p
ROM:1FFFCC84                 LSRS            R0, R0, #0x1A
ROM:1FFFCC86                 AND.W           R0, R0, #3
ROM:1FFFCC8A                 AND.W           R1, R1, #1
ROM:1FFFCC8E                 ADR.W           R3, loc_1FFFCD64
ROM:1FFFCC92                 ADD.W           R0, R3, R0,LSL#2
ROM:1FFFCC96                 LDRH.W          R0, [R0,R1,LSL#1]
ROM:1FFFCC9A                 STRB            R0, [R2,#1]
ROM:1FFFCC9C                 LSRS            R0, R0, #8
ROM:1FFFCC9E                 STRB            R0, [R2,#2]
ROM:1FFFCCA0                 MOVS            R0, #0
ROM:1FFFCCA2                 STRB            R0, [R2,#3]
ROM:1FFFCCA4                 BX              LR
ROM:1FFFCCA4 ; End of function sub_1FFFCC84
ROM:1FFFCCA4
ROM:1FFFCCA4 ; ---------------------------------------------------------------------------
ROM:1FFFCCA6                 ALIGN 4
ROM:1FFFCCA8
ROM:1FFFCCA8 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCCA8
ROM:1FFFCCA8
ROM:1FFFCCA8 sub_1FFFCCA8                            ; DATA XREF: sub_1FFFCC38:loc_1FFFCC6Ao
ROM:1FFFCCA8                 PUSH            {R4-R6,LR}
ROM:1FFFCCAA                 MOV             R4, R0
ROM:1FFFCCAC                 MOV             R5, R1
ROM:1FFFCCAE                 LDR             R6, =0x20000250
ROM:1FFFCCB0                 ANDS.W          R0, R5, #3
ROM:1FFFCCB4                 BEQ             loc_1FFFCCCC
ROM:1FFFCCB6                 MOVW            R0, #0xFFFC
ROM:1FFFCCBA                 ANDS            R0, R5
ROM:1FFFCCBC                 ADDS            R0, R0, #4
ROM:1FFFCCBE                 CMP             R5, R0
ROM:1FFFCCC0                 BCS             loc_1FFFCCCC
ROM:1FFFCCC2                 MOVS            R2, #0xFF
ROM:1FFFCCC4                 SUBS            R1, R0, R5
ROM:1FFFCCC6                 ADDS            R0, R5, R6
ROM:1FFFCCC8                 BL              sub_1FFFDD44
ROM:1FFFCCCC
ROM:1FFFCCCC loc_1FFFCCCC                            ; CODE XREF: sub_1FFFCCA8+Cj
ROM:1FFFCCCC                                         ; sub_1FFFCCA8+18j
ROM:1FFFCCCC                 MOVS            R0, #0
ROM:1FFFCCCE                 B               loc_1FFFCCD8
ROM:1FFFCCD0 ; ---------------------------------------------------------------------------
ROM:1FFFCCD0
ROM:1FFFCCD0 loc_1FFFCCD0                            ; CODE XREF: sub_1FFFCCA8+32j
ROM:1FFFCCD0                 LDR             R1, [R0,R6]
ROM:1FFFCCD2                 STR.W           R1, [R4],#4
ROM:1FFFCCD6                 ADDS            R0, R0, #4
ROM:1FFFCCD8
ROM:1FFFCCD8 loc_1FFFCCD8                            ; CODE XREF: sub_1FFFCCA8+26j
ROM:1FFFCCD8                 CMP             R0, R5
ROM:1FFFCCDA                 BCC             loc_1FFFCCD0
ROM:1FFFCCDC                 MOVS            R0, #0
ROM:1FFFCCDE                 POP             {R4-R6,PC}
ROM:1FFFCCDE ; End of function sub_1FFFCCA8
ROM:1FFFCCDE
ROM:1FFFCCE0
ROM:1FFFCCE0 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCCE0
ROM:1FFFCCE0
ROM:1FFFCCE0 sub_1FFFCCE0                            ; DATA XREF: sub_1FFFCC38:loc_1FFFCC70o
ROM:1FFFCCE0                 PUSH.W          {R4-R8,LR}
ROM:1FFFCCE4                 MOV             R5, R1
ROM:1FFFCCE6                 LDR             R4, =0x1FFFF800
ROM:1FFFCCE8                 CMP             R0, R4
ROM:1FFFCCEA                 BNE             loc_1FFFCD3A
ROM:1FFFCCEC                 LSLS            R0, R5, #0x1F
ROM:1FFFCCEE                 ITT MI
ROM:1FFFCCF0                 ANDMI.W         R0, R5, #0xFE
ROM:1FFFCCF4                 ADDMI           R5, R0, #2
ROM:1FFFCCF6                 BL              sub_1FFFC046
ROM:1FFFCCFA                 BL              FLASH_UnlockBank1
ROM:1FFFCCFE                 BL              sub_1FFFC010
ROM:1FFFCD02                 LDR             R6, =0x40022010
ROM:1FFFCD04                 LDR             R0, [R6]
ROM:1FFFCD06                 ORR.W           R0, R0, #0x10
ROM:1FFFCD0A                 STR             R0, [R6]
ROM:1FFFCD0C                 BL              FLASH_WaitForLastOperation
ROM:1FFFCD10 ; ---------------------------------------------------------------------------
ROM:1FFFCD10                 MOVS            R7, R5
ROM:1FFFCD12                 LDR.W           R8, =0x20000250
ROM:1FFFCD16                 B               loc_1FFFCD2C
ROM:1FFFCD18 ; ---------------------------------------------------------------------------
ROM:1FFFCD18
ROM:1FFFCD18 loc_1FFFCD18                            ; CODE XREF: sub_1FFFCCE0:loc_1FFFCD2Cj
ROM:1FFFCD18                 NEGS            R0, R7
ROM:1FFFCD1A                 ADD.W           R1, R5, R8
ROM:1FFFCD1E                 LDRH            R0, [R0,R1]
ROM:1FFFCD20                 UXTB            R0, R0
ROM:1FFFCD22                 SUBS            R1, R4, R7
ROM:1FFFCD24                 STRH            R0, [R5,R1]
ROM:1FFFCD26                 BL              FLASH_WaitForLastOperation
ROM:1FFFCD2A ; ---------------------------------------------------------------------------
ROM:1FFFCD2A                 SUBS            R7, R7, #2
ROM:1FFFCD2C
ROM:1FFFCD2C loc_1FFFCD2C                            ; CODE XREF: sub_1FFFCCE0+36j
ROM:1FFFCD2C                 BNE             loc_1FFFCD18
ROM:1FFFCD2E                 LDR             R0, [R6]
ROM:1FFFCD30                 BIC.W           R0, R0, #0x10
ROM:1FFFCD34                 STR             R0, [R6]
ROM:1FFFCD36                 BL              sys_reset
ROM:1FFFCD3A
ROM:1FFFCD3A loc_1FFFCD3A                            ; CODE XREF: sub_1FFFCCE0+Aj
ROM:1FFFCD3A                 MOVS            R0, #1
ROM:1FFFCD3C                 POP.W           {R4-R8,PC}
ROM:1FFFCD3C ; End of function sub_1FFFCCE0
ROM:1FFFCD3C
ROM:1FFFCD3C ; ---------------------------------------------------------------------------
ROM:1FFFCD40 dword_1FFFCD40  DCD 0x20000C50          ; DATA XREF: sub_1FFFCC20+Ar
ROM:1FFFCD44 off_1FFFCD44    DCD FLASH_ErasePage_0+1 ; DATA XREF: sub_1FFFCC20+Cr
ROM:1FFFCD48 off_1FFFCD48    DCD sub_1FFFDCFE+1      ; DATA XREF: sub_1FFFCC38:loc_1FFFCC58r
ROM:1FFFCD4C dword_1FFFCD4C  DCD 0x20000C54          ; DATA XREF: sub_1FFFCC38:loc_1FFFCC5Ar
ROM:1FFFCD50 dword_1FFFCD50  DCD 0x20000C58          ; DATA XREF: sub_1FFFCC7Ar
ROM:1FFFCD54 off_1FFFCD54    DCD locret_1FFFDD40+1   ; DATA XREF: sub_1FFFCC7A+2r
ROM:1FFFCD58 dword_1FFFCD58  DCD 0x20000250          ; DATA XREF: sub_1FFFCCA8+6r
ROM:1FFFCD58                                         ; sub_1FFFCCE0+32r
ROM:1FFFCD5C dword_1FFFCD5C  DCD 0x1FFFF800          ; DATA XREF: sub_1FFFCCE0+6r
ROM:1FFFCD60 dword_1FFFCD60  DCD 0x40022010          ; DATA XREF: sub_1FFFCCE0+22r
ROM:1FFFCD64 ; ---------------------------------------------------------------------------
ROM:1FFFCD64
ROM:1FFFCD64 loc_1FFFCD64                            ; DATA XREF: sub_1FFFCC84+Ao
ROM:1FFFCD64                 LSRS            R0, R7, #0xE
ROM:1FFFCD66                 MOVS            R4, R2
ROM:1FFFCD68                 LSLS            R0, R5, #0xF
ROM:1FFFCD6A                 MOVS            R1, R3
ROM:1FFFCD6C                 MOVS            R2, R6
ROM:1FFFCD6E                 LSLS            R3, R1, #1
ROM:1FFFCD70                 LSLS            R0, R5, #0xF
ROM:1FFFCD72                 MOVS            R1, R3
ROM:1FFFCD74                 LSLS            R0, R5, #0xF
ROM:1FFFCD76                 MOVS            R5, R5
ROM:1FFFCD78                 PUSH            {R4,LR}
ROM:1FFFCD7A                 LDR.W           R4, =0x20000C28
ROM:1FFFCD7E                 CBNZ            R0, loc_1FFFCD82
ROM:1FFFCD80                 B               loc_1FFFCDDA
ROM:1FFFCD82 ; ---------------------------------------------------------------------------
ROM:1FFFCD82
ROM:1FFFCD82 loc_1FFFCD82                            ; CODE XREF: ROM:1FFFCD7Ej
ROM:1FFFCD82                 BL              sub_1FFFCEA8
ROM:1FFFCD86                 LDR             R0, [R0]
ROM:1FFFCD88                 BLX             R0
ROM:1FFFCD8A                 LDR             R0, [R4]
ROM:1FFFCD8C                 ADDS            R0, #0xA
ROM:1FFFCD8E                 POP             {R4,PC}
ROM:1FFFCD90
ROM:1FFFCD90 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCD90
ROM:1FFFCD90
ROM:1FFFCD90 sub_1FFFCD90                            ; CODE XREF: sub_1FFFD10E+16p
ROM:1FFFCD90                 PUSH            {R7,LR}
ROM:1FFFCD92                 LDR.W           R0, =0x20000C28
ROM:1FFFCD96                 LDR             R0, [R0]
ROM:1FFFCD98                 LDRB            R1, [R0,#3]
ROM:1FFFCD9A                 LDR.W           R2, =0x20000248
ROM:1FFFCD9E                 LDRB            R2, [R2,#1]
ROM:1FFFCDA0                 CMP             R2, R1
ROM:1FFFCDA2                 BCC             loc_1FFFCDBE
ROM:1FFFCDA4                 LDRB            R2, [R0,#2]
ROM:1FFFCDA6                 CMP             R2, #0
ROM:1FFFCDA8                 ITT EQ
ROM:1FFFCDAA                 LDREQH          R2, [R0,#4]
ROM:1FFFCDAC                 CMPEQ           R2, #0
ROM:1FFFCDAE                 BNE             loc_1FFFCDBE
ROM:1FFFCDB0                 STRB            R1, [R0,#0xA]
ROM:1FFFCDB2                 BL              sub_1FFFCEA8
ROM:1FFFCDB6                 LDR             R0, [R0,#4]
ROM:1FFFCDB8                 BLX             R0
ROM:1FFFCDBA                 MOVS            R0, #0
ROM:1FFFCDBC                 POP             {R1,PC}
ROM:1FFFCDBE ; ---------------------------------------------------------------------------
ROM:1FFFCDBE
ROM:1FFFCDBE loc_1FFFCDBE                            ; CODE XREF: sub_1FFFCD90+12j
ROM:1FFFCDBE                                         ; sub_1FFFCD90+1Ej
ROM:1FFFCDBE                 MOVS            R0, #2
ROM:1FFFCDC0                 POP             {R1,PC}
ROM:1FFFCDC0 ; End of function sub_1FFFCD90
ROM:1FFFCDC0
ROM:1FFFCDC2
ROM:1FFFCDC2 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCDC2
ROM:1FFFCDC2
ROM:1FFFCDC2 sub_1FFFCDC2                            ; DATA XREF: sub_1FFFD1D8+FAo
ROM:1FFFCDC2                                         ; ROM:off_1FFFD498o
ROM:1FFFCDC2                 PUSH            {R4,LR}
ROM:1FFFCDC4                 LDR.W           R4, =0x20000C28
ROM:1FFFCDC8                 CBNZ            R0, loc_1FFFCDCC
ROM:1FFFCDCA                 B               loc_1FFFCDDA
ROM:1FFFCDCC ; ---------------------------------------------------------------------------
ROM:1FFFCDCC
ROM:1FFFCDCC loc_1FFFCDCC                            ; CODE XREF: sub_1FFFCDC2+6j
ROM:1FFFCDCC                 BL              sub_1FFFCEA8
ROM:1FFFCDD0                 LDR             R0, [R0,#8]
ROM:1FFFCDD2                 BLX             R0
ROM:1FFFCDD4                 LDR             R0, [R4]
ROM:1FFFCDD6                 ADDS            R0, #0xC
ROM:1FFFCDD8                 POP             {R4,PC}
ROM:1FFFCDDA ; ---------------------------------------------------------------------------
ROM:1FFFCDDA
ROM:1FFFCDDA loc_1FFFCDDA                            ; CODE XREF: ROM:1FFFCD80j
ROM:1FFFCDDA                                         ; sub_1FFFCDC2+8j
ROM:1FFFCDDA                 LDR             R0, [R4]
ROM:1FFFCDDC                 MOVS            R1, #1
ROM:1FFFCDDE                 STRH            R1, [R0,#0x10]
ROM:1FFFCDE0                 MOVS            R0, #0
ROM:1FFFCDE2                 POP             {R4,PC}
ROM:1FFFCDE2 ; End of function sub_1FFFCDC2
ROM:1FFFCDE2
ROM:1FFFCDE4
ROM:1FFFCDE4 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCDE4
ROM:1FFFCDE4
ROM:1FFFCDE4 sub_1FFFCDE4                            ; CODE XREF: sub_1FFFD10E+8Cp
ROM:1FFFCDE4                 PUSH            {R4,LR}
ROM:1FFFCDE6                 BL              sub_1FFFD3B2
ROM:1FFFCDEA                 LDRB            R1, [R0,#3]
ROM:1FFFCDEC                 LDRB            R0, [R0,#5]
ROM:1FFFCDEE                 LDR.W           R2, =0x20000C2C
ROM:1FFFCDF2                 LDR             R2, [R2]
ROM:1FFFCDF4                 LDR             R2, [R2,#0x18]
ROM:1FFFCDF6                 BLX             R2
ROM:1FFFCDF8                 LDR             R1, [R4]
ROM:1FFFCDFA                 LDRB            R2, [R1,#0xA]
ROM:1FFFCDFC                 CBZ             R2, loc_1FFFCE24
ROM:1FFFCDFE                 CMP             R0, #0
ROM:1FFFCE00                 ITT EQ
ROM:1FFFCE02                 LDREQB          R0, [R1,#4]
ROM:1FFFCE04                 CMPEQ           R0, #0
ROM:1FFFCE06                 BNE             loc_1FFFCE24
ROM:1FFFCE08                 LDRB            R0, [R1,#2]
ROM:1FFFCE0A                 CBNZ            R0, loc_1FFFCE24
ROM:1FFFCE0C                 BL              sub_1FFFCEA8
ROM:1FFFCE10                 LDR             R0, [R0,#0xC]
ROM:1FFFCE12                 BLX             R0
ROM:1FFFCE14                 LDR             R0, [R4]
ROM:1FFFCE16                 LDRB            R1, [R0,#5]
ROM:1FFFCE18                 STRB            R1, [R0,#0xB]
ROM:1FFFCE1A                 LDR             R0, [R4]
ROM:1FFFCE1C                 LDRB            R1, [R0,#3]
ROM:1FFFCE1E                 STRB            R1, [R0,#0xC]
ROM:1FFFCE20                 MOVS            R0, #0
ROM:1FFFCE22                 POP             {R4,PC}
ROM:1FFFCE24 ; ---------------------------------------------------------------------------
ROM:1FFFCE24
ROM:1FFFCE24 loc_1FFFCE24                            ; CODE XREF: sub_1FFFCDE4+18j
ROM:1FFFCE24                                         ; sub_1FFFCDE4+22j ...
ROM:1FFFCE24                 MOVS            R0, #2
ROM:1FFFCE26                 POP             {R4,PC}
ROM:1FFFCE26 ; End of function sub_1FFFCDE4
ROM:1FFFCE26
ROM:1FFFCE28
ROM:1FFFCE28 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCE28
ROM:1FFFCE28
ROM:1FFFCE28 sub_1FFFCE28                            ; DATA XREF: sub_1FFFD1D8:loc_1FFFD28Eo
ROM:1FFFCE28                                         ; ROM:off_1FFFD490o
ROM:1FFFCE28                 PUSH            {R4,LR}
ROM:1FFFCE2A                 LDR.W           R1, =0x20000C28
ROM:1FFFCE2E                 LDR             R1, [R1]
ROM:1FFFCE30                 CBNZ            R0, loc_1FFFCE3A
ROM:1FFFCE32                 MOVS            R0, #2
ROM:1FFFCE34                 STRH            R0, [R1,#0x10]
ROM:1FFFCE36
ROM:1FFFCE36 loc_1FFFCE36                            ; CODE XREF: sub_1FFFCE28+5Aj
ROM:1FFFCE36                 MOVS            R0, #0
ROM:1FFFCE38                 POP             {R4,PC}
ROM:1FFFCE3A ; ---------------------------------------------------------------------------
ROM:1FFFCE3A
ROM:1FFFCE3A loc_1FFFCE3A                            ; CODE XREF: sub_1FFFCE28+8j
ROM:1FFFCE3A                 LDR.W           R4, =0x20000C60
ROM:1FFFCE3E                 MOVS            R0, #0
ROM:1FFFCE40                 STRH            R0, [R4]
ROM:1FFFCE42                 LDRB            R0, [R1]
ROM:1FFFCE44                 MOVS            R2, #0x7F
ROM:1FFFCE46                 TST             R0, R2
ROM:1FFFCE48                 BNE             loc_1FFFCE74
ROM:1FFFCE4A                 LDRB            R0, [R1,#9]
ROM:1FFFCE4C                 LSLS            R1, R0, #0x1A
ROM:1FFFCE4E                 BPL             loc_1FFFCE58
ROM:1FFFCE50                 MOVS            R1, #2
ROM:1FFFCE56                 STRB            R1, [R4]
ROM:1FFFCE58
ROM:1FFFCE58 loc_1FFFCE58                            ; CODE XREF: sub_1FFFCE28+26j
ROM:1FFFCE58                 LSLS            R0, R0, #0x19
ROM:1FFFCE5A                 LDRB            R0, [R4]
ROM:1FFFCE5C                 ITE PL
ROM:1FFFCE5E                 ORRPL.W         R0, R0, #1
ROM:1FFFCE62                 ANDMI.W         R0, R0, #0xFE
ROM:1FFFCE66
ROM:1FFFCE66 loc_1FFFCE66                            ; CODE XREF: sub_1FFFCE28+74j
ROM:1FFFCE66                 STRB            R0, [R4]
ROM:1FFFCE68
ROM:1FFFCE68 loc_1FFFCE68                            ; CODE XREF: sub_1FFFCE28:loc_1FFFCE94j
ROM:1FFFCE68                 BL              sub_1FFFCEA8
ROM:1FFFCE6C                 LDR             R0, [R0,#0x10]
ROM:1FFFCE6E                 BLX             R0
ROM:1FFFCE70
ROM:1FFFCE70 loc_1FFFCE70                            ; CODE XREF: sub_1FFFCE28+52j
ROM:1FFFCE70                 MOV             R0, R4
ROM:1FFFCE72                 POP             {R4,PC}
ROM:1FFFCE74 ; ---------------------------------------------------------------------------
ROM:1FFFCE74
ROM:1FFFCE74 loc_1FFFCE74                            ; CODE XREF: sub_1FFFCE28+20j
ROM:1FFFCE74                 AND.W           R2, R0, #0x7F
ROM:1FFFCE78                 CMP             R2, #1
ROM:1FFFCE7A                 BEQ             loc_1FFFCE70
ROM:1FFFCE7C                 AND.W           R0, R0, #0x7F
ROM:1FFFCE80                 CMP             R0, #2
ROM:1FFFCE82                 BNE             loc_1FFFCE36
ROM:1FFFCE84                 LDRB            R1, [R1,#5]
ROM:1FFFCE86                 AND.W           R0, R1, #0xF
ROM:1FFFCE8A                 LSLS            R1, R1, #0x18
ROM:1FFFCE8C                 BPL             loc_1FFFCE9E
ROM:1FFFCE8E                 BL              sub_1FFFCBB2
ROM:1FFFCE92                 CMP             R0, #0x10
ROM:1FFFCE94
ROM:1FFFCE94 loc_1FFFCE94                            ; CODE XREF: sub_1FFFCE28+7Ej
ROM:1FFFCE94                 BNE             loc_1FFFCE68
ROM:1FFFCE96                 LDRB            R0, [R4]
ROM:1FFFCE98                 ORR.W           R0, R0, #1
ROM:1FFFCE9C                 B               loc_1FFFCE66
ROM:1FFFCE9E ; ---------------------------------------------------------------------------
ROM:1FFFCE9E
ROM:1FFFCE9E loc_1FFFCE9E                            ; CODE XREF: sub_1FFFCE28+64j
ROM:1FFFCE9E                 BL              sub_1FFFCBBE
ROM:1FFFCEA2                 CMP.W           R0, #0x1000
ROM:1FFFCEA6                 B               loc_1FFFCE94
ROM:1FFFCEA6 ; End of function sub_1FFFCE28
ROM:1FFFCEA6
ROM:1FFFCEA8
ROM:1FFFCEA8 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCEA8
ROM:1FFFCEA8
ROM:1FFFCEA8 sub_1FFFCEA8                            ; CODE XREF: ROM:loc_1FFFCD82p
ROM:1FFFCEA8                                         ; sub_1FFFCD90+22p ...
ROM:1FFFCEA8                 LDR.W           R0, =0x20000C30
ROM:1FFFCEAC                 LDR             R0, [R0]
ROM:1FFFCEAE                 BX              LR
ROM:1FFFCEAE ; End of function sub_1FFFCEA8
ROM:1FFFCEAE
ROM:1FFFCEB0
ROM:1FFFCEB0 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCEB0
ROM:1FFFCEB0
ROM:1FFFCEB0 sub_1FFFCEB0                            ; CODE XREF: sub_1FFFD10E:loc_1FFFD1ACp
ROM:1FFFCEB0                 PUSH            {R4-R6,LR}
ROM:1FFFCEB2                 LDR.W           R4, =0x20000C28
ROM:1FFFCEB6                 LDR             R0, [R4]
ROM:1FFFCEB8                 LDRB            R1, [R0]
ROM:1FFFCEBA                 ANDS.W          R1, R1, #0x7F
ROM:1FFFCEBE                 ITTT EQ
ROM:1FFFCEC0                 LDREQB          R1, [R0,#9]
ROM:1FFFCEC2                 ANDEQ.W         R1, R1, #0xDF
ROM:1FFFCEC6                 STREQB          R1, [R0,#9]
ROM:1FFFCEC8                 BEQ             loc_1FFFCF52
ROM:1FFFCECA                 CMP             R1, #2
ROM:1FFFCECC                 ITTTT EQ
ROM:1FFFCECE                 LDREQH          R1, [R0,#2]
ROM:1FFFCED0                 CMPEQ           R1, #0
ROM:1FFFCED2                 LDREQB          R1, [R0,#4]
ROM:1FFFCED4                 CMPEQ           R1, #0
ROM:1FFFCED6                 BNE             loc_1FFFCF56
ROM:1FFFCED8                 LDRB            R6, [R0,#5]
ROM:1FFFCEDA                 BIC.W           R5, R6, #0x80
ROM:1FFFCEDE                 LSLS            R0, R6, #0x18
ROM:1FFFCEE0                 MOV             R0, R5
ROM:1FFFCEE2                 BPL             loc_1FFFCEEA
ROM:1FFFCEE4                 BL              sub_1FFFCBB2
ROM:1FFFCEE8                 B               loc_1FFFCEEE
ROM:1FFFCEEA ; ---------------------------------------------------------------------------
ROM:1FFFCEEA
ROM:1FFFCEEA loc_1FFFCEEA                            ; CODE XREF: sub_1FFFCEB0+32j
ROM:1FFFCEEA                 BL              sub_1FFFCBBE
ROM:1FFFCEEE
ROM:1FFFCEEE loc_1FFFCEEE                            ; CODE XREF: sub_1FFFCEB0+38j
ROM:1FFFCEEE                 UXTH            R0, R0
ROM:1FFFCEF0                 LDR.W           R1, =0x20000248
ROM:1FFFCEF4                 LDRB            R1, [R1]
ROM:1FFFCEF6                 CMP             R5, R1
ROM:1FFFCEF8                 BCS             loc_1FFFCF56
ROM:1FFFCEFA                 CMP             R0, #0
ROM:1FFFCEFC                 ITTT NE
ROM:1FFFCEFE                 LDRNE           R0, [R4]
ROM:1FFFCF00                 LDRNEB          R0, [R0,#0xA]
ROM:1FFFCF02                 CMPNE           R0, #0
ROM:1FFFCF04                 BEQ             loc_1FFFCF56
ROM:1FFFCF06                 LSLS            R0, R6, #0x18
ROM:1FFFCF08                 MOV             R0, R5
ROM:1FFFCF0A                 BPL             loc_1FFFCF1E
ROM:1FFFCF0C                 BL              sub_1FFFCBB2
ROM:1FFFCF10                 CMP             R0, #0x10
ROM:1FFFCF12                 BNE             loc_1FFFCF4A
ROM:1FFFCF14                 MOVS            R1, #0x30
ROM:1FFFCF16                 MOV             R0, R5
ROM:1FFFCF18                 BL              sub_1FFFCC0C
ROM:1FFFCF1C                 B               loc_1FFFCF4A
ROM:1FFFCF1E ; ---------------------------------------------------------------------------
ROM:1FFFCF1E
ROM:1FFFCF1E loc_1FFFCF1E                            ; CODE XREF: sub_1FFFCEB0+5Aj
ROM:1FFFCF1E                 BL              sub_1FFFCBBE
ROM:1FFFCF22                 CMP.W           R0, #0x1000
ROM:1FFFCF26                 BNE             loc_1FFFCF4A
ROM:1FFFCF28                 MOVS            R0, R5
ROM:1FFFCF2A                 BNE             loc_1FFFCF42
ROM:1FFFCF2C                 LDR.W           R0, =0x20000108
ROM:1FFFCF30                 LDRB.W          R1, [R0,#0x2C]
ROM:1FFFCF34                 MOV             R0, R5
ROM:1FFFCF36                 BL              nullsub_1
ROM:1FFFCF3A                 MOV.W           R1, #0x3000
ROM:1FFFCF3E                 MOV             R0, R5
ROM:1FFFCF40                 B               loc_1FFFCF46
ROM:1FFFCF42 ; ---------------------------------------------------------------------------
ROM:1FFFCF42
ROM:1FFFCF42 loc_1FFFCF42                            ; CODE XREF: sub_1FFFCEB0+7Aj
ROM:1FFFCF42                 MOV.W           R1, #0x3000
ROM:1FFFCF46
ROM:1FFFCF46 loc_1FFFCF46                            ; CODE XREF: sub_1FFFCEB0+90j
ROM:1FFFCF46                 BL              sub_1FFFCBF2
ROM:1FFFCF4A
ROM:1FFFCF4A loc_1FFFCF4A                            ; CODE XREF: sub_1FFFCEB0+62j
ROM:1FFFCF4A                                         ; sub_1FFFCEB0+6Cj ...
ROM:1FFFCF4A                 BL              sub_1FFFCEA8
ROM:1FFFCF4E                 LDR             R0, [R0,#0x14]
ROM:1FFFCF50                 BLX             R0
ROM:1FFFCF52
ROM:1FFFCF52 loc_1FFFCF52                            ; CODE XREF: sub_1FFFCEB0+18j
ROM:1FFFCF52                 MOVS            R0, #0
ROM:1FFFCF54                 POP             {R4-R6,PC}
ROM:1FFFCF56 ; ---------------------------------------------------------------------------
ROM:1FFFCF56
ROM:1FFFCF56 loc_1FFFCF56                            ; CODE XREF: sub_1FFFCEB0+26j
ROM:1FFFCF56                                         ; sub_1FFFCEB0+48j ...
ROM:1FFFCF56                 MOVS            R0, #2
ROM:1FFFCF58                 POP             {R4-R6,PC}
ROM:1FFFCF58 ; End of function sub_1FFFCEB0
ROM:1FFFCF58
ROM:1FFFCF5A
ROM:1FFFCF5A ; =============== S U B R O U T I N E =======================================
ROM:1FFFCF5A
ROM:1FFFCF5A
ROM:1FFFCF5A sub_1FFFCF5A                            ; CODE XREF: sub_1FFFD10E+A8p
ROM:1FFFCF5A                 PUSH            {R4-R6,LR}
ROM:1FFFCF5C                 LDR.W           R6, =0x20000C28
ROM:1FFFCF60                 LDR             R0, [R6]
ROM:1FFFCF62                 LDRB            R5, [R0,#5]
ROM:1FFFCF64                 BIC.W           R4, R5, #0x80
ROM:1FFFCF68                 LSLS            R0, R5, #0x18
ROM:1FFFCF6A                 MOV             R0, R4
ROM:1FFFCF6C                 BPL             loc_1FFFCF74
ROM:1FFFCF6E                 BL              sub_1FFFCBB2
ROM:1FFFCF72                 B               loc_1FFFCF78
ROM:1FFFCF74 ; ---------------------------------------------------------------------------
ROM:1FFFCF74
ROM:1FFFCF74 loc_1FFFCF74                            ; CODE XREF: sub_1FFFCF5A+12j
ROM:1FFFCF74                 BL              sub_1FFFCBBE
ROM:1FFFCF78
ROM:1FFFCF78 loc_1FFFCF78                            ; CODE XREF: sub_1FFFCF5A+18j
ROM:1FFFCF78                 UXTH            R0, R0
ROM:1FFFCF7A                 LDR.W           R1, =0x20000248
ROM:1FFFCF7E                 LDRB            R1, [R1]
ROM:1FFFCF80                 CMP             R4, R1
ROM:1FFFCF82                 BCS             loc_1FFFCF94
ROM:1FFFCF84                 LDR             R1, [R6]
ROM:1FFFCF86                 LDRH            R2, [R1,#2]
ROM:1FFFCF88                 CBNZ            R2, loc_1FFFCF94
ROM:1FFFCF8A                 CMP             R0, #0
ROM:1FFFCF8C                 ITT NE
ROM:1FFFCF8E                 LDRNEB          R0, [R1,#0xA]
ROM:1FFFCF90                 CMPNE           R0, #0
ROM:1FFFCF92                 BNE             loc_1FFFCF98
ROM:1FFFCF94
ROM:1FFFCF94 loc_1FFFCF94                            ; CODE XREF: sub_1FFFCF5A+28j
ROM:1FFFCF94                                         ; sub_1FFFCF5A+2Ej
ROM:1FFFCF94                 MOVS            R0, #2
ROM:1FFFCF96                 POP             {R4-R6,PC}
ROM:1FFFCF98 ; ---------------------------------------------------------------------------
ROM:1FFFCF98
ROM:1FFFCF98 loc_1FFFCF98                            ; CODE XREF: sub_1FFFCF5A+38j
ROM:1FFFCF98                 LSLS            R0, R5, #0x18
ROM:1FFFCF9A                 BPL             loc_1FFFCFA6
ROM:1FFFCF9C                 MOVS            R1, #0x10
ROM:1FFFCF9E                 MOV             R0, R4
ROM:1FFFCFA0                 BL              sub_1FFFCBD0
ROM:1FFFCFA4                 B               loc_1FFFCFB0
ROM:1FFFCFA6 ; ---------------------------------------------------------------------------
ROM:1FFFCFA6
ROM:1FFFCFA6 loc_1FFFCFA6                            ; CODE XREF: sub_1FFFCF5A+40j
ROM:1FFFCFA6                 MOV.W           R1, #0x1000
ROM:1FFFCFAA                 MOV             R0, R4
ROM:1FFFCFAC                 BL              sub_1FFFCBF2
ROM:1FFFCFB0
ROM:1FFFCFB0 loc_1FFFCFB0                            ; CODE XREF: sub_1FFFCF5A+4Aj
ROM:1FFFCFB0                 BL              sub_1FFFCEA8
ROM:1FFFCFB4                 LDR             R0, [R0,#0x18]
ROM:1FFFCFB6                 BLX             R0
ROM:1FFFCFB8                 MOVS            R0, #0
ROM:1FFFCFBA                 POP             {R4-R6,PC}
ROM:1FFFCFBA ; End of function sub_1FFFCF5A
ROM:1FFFCFBA
ROM:1FFFCFBC
ROM:1FFFCFBC ; =============== S U B R O U T I N E =======================================
ROM:1FFFCFBC
ROM:1FFFCFBC
ROM:1FFFCFBC sub_1FFFCFBC                            ; CODE XREF: sub_1FFFD10E+64p
ROM:1FFFCFBC                 PUSH            {R7,LR}
ROM:1FFFCFBE                 LDR.W           R0, =0x20000C28
ROM:1FFFCFC2                 LDR             R0, [R0]
ROM:1FFFCFC4                 LDRB            R1, [R0,#9]
ROM:1FFFCFC6                 ORR.W           R1, R1, #0x20
ROM:1FFFCFCA                 STRB            R1, [R0,#9]
ROM:1FFFCFCC                 BL              sub_1FFFCEA8
ROM:1FFFCFD0                 LDR             R0, [R0,#0x1C]
ROM:1FFFCFD2                 BLX             R0
ROM:1FFFCFD4                 MOVS            R0, #0
ROM:1FFFCFD6                 POP             {R1,PC}
ROM:1FFFCFD6 ; End of function sub_1FFFCFBC
ROM:1FFFCFD6
ROM:1FFFCFD8 ; ---------------------------------------------------------------------------
ROM:1FFFCFD8
ROM:1FFFCFD8 loc_1FFFCFD8                            ; CODE XREF: ROM:1FFFC5B8j
ROM:1FFFCFD8                                         ; ROM:1FFFC5C0j ...
ROM:1FFFCFD8                 LDR.W           R2, =0x20000C28
ROM:1FFFCFDC                 LDR             R2, [R2]
ROM:1FFFCFDE                 LDRH            R3, [R2,#0x12]
ROM:1FFFCFE0                 CBNZ            R0, loc_1FFFCFEC
ROM:1FFFCFE2                 LDRH            R0, [R1,#4]
ROM:1FFFCFE4                 SUBS            R0, R0, R3
ROM:1FFFCFE6                 STRH            R0, [R2,#0x10]
ROM:1FFFCFE8                 MOVS            R0, #0
ROM:1FFFCFEA                 BX              LR
ROM:1FFFCFEC ; ---------------------------------------------------------------------------
ROM:1FFFCFEC
ROM:1FFFCFEC loc_1FFFCFEC                            ; CODE XREF: ROM:1FFFCFE0j
ROM:1FFFCFEC                 LDR             R0, [R1]
ROM:1FFFCFEE                 ADDS            R0, R3, R0
ROM:1FFFCFF0                 BX              LR
ROM:1FFFCFF2
ROM:1FFFCFF2 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCFF2
ROM:1FFFCFF2
ROM:1FFFCFF2 sub_1FFFCFF2                            ; CODE XREF: sub_1FFFD406+10p
ROM:1FFFCFF2                 PUSH            {R4-R6,LR}
ROM:1FFFCFF4                 LDR.W           R5, =0x20000C28
ROM:1FFFCFF8                 LDR             R0, [R5]
ROM:1FFFCFFA                 ADD.W           R4, R0, #0x10
ROM:1FFFCFFE                 LDRH            R6, [R4]
ROM:1FFFD000                 LDR             R1, [R4,#8]
ROM:1FFFD002                 MOVS            R0, R1
ROM:1FFFD004                 BEQ             loc_1FFFD02C
ROM:1FFFD006                 MOVS            R0, R6
ROM:1FFFD008                 BEQ             loc_1FFFD02C
ROM:1FFFD00A                 LDRH            R0, [R4,#4]
ROM:1FFFD00C                 CMP             R6, R0
ROM:1FFFD00E                 IT HI
ROM:1FFFD010                 MOVHI           R6, R0
ROM:1FFFD012                 MOV             R0, R6
ROM:1FFFD014                 BLX             R1
ROM:1FFFD016                 LDRH            R1, [R4]
ROM:1FFFD018                 SUBS            R1, R1, R6
ROM:1FFFD01A                 STRH            R1, [R4]
ROM:1FFFD01C                 LDRH            R1, [R4,#2]
ROM:1FFFD01E                 ADDS            R1, R6, R1
ROM:1FFFD020                 STRH            R1, [R4,#2]
ROM:1FFFD022                 MOV             R2, R6
ROM:1FFFD024                 MOV             R1, R0
ROM:1FFFD026                 MOVS            R0, #0
ROM:1FFFD028                 BL              sub_1FFFDC04
ROM:1FFFD02C
ROM:1FFFD02C loc_1FFFD02C                            ; CODE XREF: sub_1FFFCFF2+12j
ROM:1FFFD02C                                         ; sub_1FFFCFF2+16j
ROM:1FFFD02C                 LDR.W           R6, =0x2000009A
ROM:1FFFD030                 LDRH            R0, [R4]
ROM:1FFFD032                 CBZ             R0, loc_1FFFD04A
ROM:1FFFD034                 LDR.W           R0, =0x20000098
ROM:1FFFD038                 MOV.W           R1, #0x3000
ROM:1FFFD03C                 STRH            R1, [R0]
ROM:1FFFD03E                 MOVS            R1, #0
ROM:1FFFD040                 MOVS            R0, #0
ROM:1FFFD042                 BL              nullsub_2
ROM:1FFFD046                 MOVS            R0, #0x30
ROM:1FFFD048                 STRH            R0, [R6]
ROM:1FFFD04A
ROM:1FFFD04A loc_1FFFD04A                            ; CODE XREF: sub_1FFFCFF2+40j
ROM:1FFFD04A                 LDR             R0, [R5]
ROM:1FFFD04C                 LDRH            R1, [R4]
ROM:1FFFD04E                 LDRH            R2, [R4,#4]
ROM:1FFFD050                 CMP             R1, R2
ROM:1FFFD052                 IT CS
ROM:1FFFD054                 MOVCS           R1, #3
ROM:1FFFD056                 BCS             loc_1FFFD05C
ROM:1FFFD058                 CBZ             R1, loc_1FFFD060
ROM:1FFFD05A                 MOVS            R1, #5
ROM:1FFFD05C
ROM:1FFFD05C loc_1FFFD05C                            ; CODE XREF: sub_1FFFCFF2+64j
ROM:1FFFD05C                 STRB            R1, [R0,#8]
ROM:1FFFD05E                 POP             {R4-R6,PC}
ROM:1FFFD060 ; ---------------------------------------------------------------------------
ROM:1FFFD060
ROM:1FFFD060 loc_1FFFD060                            ; CODE XREF: sub_1FFFCFF2+66j
ROM:1FFFD060                 MOVS            R1, #6
ROM:1FFFD062                 STRB            R1, [R0,#8]
ROM:1FFFD064                 BL              sub_1FFFD104
ROM:1FFFD068                 MOVS            R0, #0x30
ROM:1FFFD06A                 STRH            R0, [R6]
ROM:1FFFD06C                 POP             {R4-R6,PC}
ROM:1FFFD06C ; End of function sub_1FFFCFF2
ROM:1FFFD06C
ROM:1FFFD06E
ROM:1FFFD06E ; =============== S U B R O U T I N E =======================================
ROM:1FFFD06E
ROM:1FFFD06E
ROM:1FFFD06E sub_1FFFD06E                            ; CODE XREF: sub_1FFFD1D8+16Ep
ROM:1FFFD06E                                         ; sub_1FFFD3B8+10p
ROM:1FFFD06E                 PUSH.W          {R4-R8,LR}
ROM:1FFFD072                 BL              sub_1FFFD3B2
ROM:1FFFD076                 ADD.W           R6, R0, #0x10
ROM:1FFFD07A                 LDRH            R1, [R6]
ROM:1FFFD07C                 LDR.W           R5, =0x2000009A
ROM:1FFFD080                 MOVS            R2, R1
ROM:1FFFD082                 ITT EQ
ROM:1FFFD084                 LDREQB          R0, [R0,#8]
ROM:1FFFD086                 CMPEQ           R0, #4
ROM:1FFFD088                 BNE             loc_1FFFD0B2
ROM:1FFFD08A                 LDR.W           R6, =0x20000C68
ROM:1FFFD08E                 LDRB            R0, [R6]
ROM:1FFFD090                 CMP             R0, #1
ROM:1FFFD092                 BNE             loc_1FFFD0A4
ROM:1FFFD094                 BL              sub_1FFFD104
ROM:1FFFD098                 MOVS            R0, #0x30
ROM:1FFFD09A                 STRH            R0, [R5]
ROM:1FFFD09C                 MOVS            R7, #4
ROM:1FFFD09E                 MOVS            R0, #0
ROM:1FFFD0A0                 STRB            R0, [R6]
ROM:1FFFD0A2                 B               loc_1FFFD0FC
ROM:1FFFD0A4 ; ---------------------------------------------------------------------------
ROM:1FFFD0A4
ROM:1FFFD0A4 loc_1FFFD0A4                            ; CODE XREF: sub_1FFFD06E+24j
ROM:1FFFD0A4                 MOVS            R7, #7
ROM:1FFFD0A6                 MOVS            R2, #0
ROM:1FFFD0A8                 MOVS            R1, #0
ROM:1FFFD0AA                 MOV             R0, R1
ROM:1FFFD0AC                 BL              sub_1FFFDC04
ROM:1FFFD0B0                 B               loc_1FFFD0FC
ROM:1FFFD0B2 ; ---------------------------------------------------------------------------
ROM:1FFFD0B2
ROM:1FFFD0B2 loc_1FFFD0B2                            ; CODE XREF: sub_1FFFD06E+1Aj
ROM:1FFFD0B2                 LDRH.W          R8, [R6,#4]
ROM:1FFFD0B6                 CMP             R8, R1
ROM:1FFFD0B8                 BCC             loc_1FFFD0C6
ROM:1FFFD0BA                 MOVS            R7, #4
ROM:1FFFD0BC                 CMP             R1, R8
ROM:1FFFD0BE                 IT HI
ROM:1FFFD0C0                 MOVHI           R1, R8
ROM:1FFFD0C2                 MOV             R8, R1
ROM:1FFFD0C4                 B               loc_1FFFD0C8
ROM:1FFFD0C6 ; ---------------------------------------------------------------------------
ROM:1FFFD0C6
ROM:1FFFD0C6 loc_1FFFD0C6                            ; CODE XREF: sub_1FFFD06E+4Aj
ROM:1FFFD0C6                 MOVS            R7, #2
ROM:1FFFD0C8
ROM:1FFFD0C8 loc_1FFFD0C8                            ; CODE XREF: sub_1FFFD06E+56j
ROM:1FFFD0C8                 MOV             R0, R8
ROM:1FFFD0CA                 LDR             R1, [R6,#8]
ROM:1FFFD0CC                 BLX             R1
ROM:1FFFD0CE                 MOV             R1, R0
ROM:1FFFD0D0                 MOV             R2, R8
ROM:1FFFD0D2                 MOVS            R0, #0
ROM:1FFFD0D4                 BL              loc_1FFFDC28
ROM:1FFFD0D8                 MOV             R1, R8
ROM:1FFFD0DA                 MOVS            R0, #0
ROM:1FFFD0DC                 BL              nullsub_2
ROM:1FFFD0E0                 LDRH            R0, [R6]
ROM:1FFFD0E2                 SUB.W           R0, R0, R8
ROM:1FFFD0E6                 STRH            R0, [R6]
ROM:1FFFD0E8                 LDRH            R0, [R6,#2]
ROM:1FFFD0EA                 ADD             R0, R8
ROM:1FFFD0EC                 STRH            R0, [R6,#2]
ROM:1FFFD0EE                 MOVS            R0, #0x30
ROM:1FFFD0F0                 STRH            R0, [R5]
ROM:1FFFD0F2                 LDR.W           R0, =0x20000098
ROM:1FFFD0F6                 MOV.W           R1, #0x3000
ROM:1FFFD0FA                 STRH            R1, [R0]
ROM:1FFFD0FC
ROM:1FFFD0FC loc_1FFFD0FC                            ; CODE XREF: sub_1FFFD06E+34j
ROM:1FFFD0FC                                         ; sub_1FFFD06E+42j
ROM:1FFFD0FC                 LDR             R0, [R4]
ROM:1FFFD0FE                 STRB            R7, [R0,#8]
ROM:1FFFD100                 POP.W           {R4-R8,PC}
ROM:1FFFD100 ; End of function sub_1FFFD06E
ROM:1FFFD100
ROM:1FFFD104
ROM:1FFFD104 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD104
ROM:1FFFD104
ROM:1FFFD104 sub_1FFFD104                            ; CODE XREF: sub_1FFFCFF2+72p
ROM:1FFFD104                                         ; sub_1FFFD06E+26p ...
ROM:1FFFD104                 MOVS            R2, #0
ROM:1FFFD106                 MOVS            R1, #0
ROM:1FFFD108                 MOV             R0, R1
ROM:1FFFD10A                 B.W             loc_1FFFDC28
ROM:1FFFD10A ; End of function sub_1FFFD104
ROM:1FFFD10A
ROM:1FFFD10E
ROM:1FFFD10E ; =============== S U B R O U T I N E =======================================
ROM:1FFFD10E
ROM:1FFFD10E
ROM:1FFFD10E sub_1FFFD10E                            ; CODE XREF: sub_1FFFD356+50p
ROM:1FFFD10E                 PUSH            {R3-R5,LR}
ROM:1FFFD110                 LDR.W           R4, =0x20000C28
ROM:1FFFD114                 LDR             R1, [R4]
ROM:1FFFD116                 LDRB            R5, [R1,#1]
ROM:1FFFD118                 LDRB            R0, [R1]
ROM:1FFFD11A                 MOVS            R2, #0x7F
ROM:1FFFD11C                 TST             R0, R2
ROM:1FFFD11E                 BNE             loc_1FFFD18E
ROM:1FFFD120                 CMP             R5, #9
ROM:1FFFD122                 BNE             loc_1FFFD12A
ROM:1FFFD124                 BL              sub_1FFFCD90
ROM:1FFFD128                 B               loc_1FFFD1BA
ROM:1FFFD12A ; ---------------------------------------------------------------------------
ROM:1FFFD12A
ROM:1FFFD12A loc_1FFFD12A                            ; CODE XREF: sub_1FFFD10E+14j
ROM:1FFFD12A                 CMP             R5, #5
ROM:1FFFD12C                 BNE             loc_1FFFD15C
ROM:1FFFD12E                 LDRB            R0, [R1,#3]
ROM:1FFFD130                 CMP             R0, #0x80
ROM:1FFFD132                 BCS             loc_1FFFD1D4
ROM:1FFFD134                 LDRB            R2, [R1,#2]
ROM:1FFFD136                 CMP             R2, #0
ROM:1FFFD138                 ITTTT EQ
ROM:1FFFD13A                 LDREQH          R2, [R1,#4]
ROM:1FFFD13C                 CMPEQ           R2, #0
ROM:1FFFD13E                 LDREQB          R1, [R1,#0xA]
ROM:1FFFD140                 CMPEQ           R1, #0
ROM:1FFFD142                 BNE             loc_1FFFD1D4
ROM:1FFFD144                 BL              sub_1FFFDC68
ROM:1FFFD148
ROM:1FFFD148 loc_1FFFD148                            ; CODE XREF: sub_1FFFD10E+AEj
ROM:1FFFD148                                         ; sub_1FFFD10E+C4j
ROM:1FFFD148                 MOVS            R5, #6
ROM:1FFFD14A                 BL              sub_1FFFD104
ROM:1FFFD14E                 LDR.W           R0, =0x2000009A
ROM:1FFFD152                 MOVS            R1, #0x30
ROM:1FFFD154                 STRH            R1, [R0]
ROM:1FFFD156
ROM:1FFFD156 loc_1FFFD156                            ; CODE XREF: sub_1FFFD10E+C0j
ROM:1FFFD156                                         ; sub_1FFFD10E+C8j
ROM:1FFFD156                 LDR             R0, [R4]
ROM:1FFFD158                 STRB            R5, [R0,#8]
ROM:1FFFD15A                 POP             {R0,R4,R5,PC}
ROM:1FFFD15C ; ---------------------------------------------------------------------------
ROM:1FFFD15C
ROM:1FFFD15C loc_1FFFD15C                            ; CODE XREF: sub_1FFFD10E+1Ej
ROM:1FFFD15C                 CMP             R5, #3
ROM:1FFFD15E                 BNE             loc_1FFFD178
ROM:1FFFD160                 LDRB            R0, [R1,#3]
ROM:1FFFD162                 CMP             R0, #1
ROM:1FFFD164                 ITT EQ
ROM:1FFFD166                 LDREQH          R0, [R1,#4]
ROM:1FFFD168                 CMPEQ           R0, #0
ROM:1FFFD16A                 BNE             loc_1FFFD1BE
ROM:1FFFD16C                 LDRB            R0, [R1,#9]
ROM:1FFFD16E                 LSLS            R0, R0, #0x1A
ROM:1FFFD170                 BPL             loc_1FFFD1BE
ROM:1FFFD172                 BL              sub_1FFFCFBC
ROM:1FFFD176                 B               loc_1FFFD1BA
ROM:1FFFD178 ; ---------------------------------------------------------------------------
ROM:1FFFD178
ROM:1FFFD178 loc_1FFFD178                            ; CODE XREF: sub_1FFFD10E+50j
ROM:1FFFD178                 CMP             R5, #1
ROM:1FFFD17A                 ITT EQ
ROM:1FFFD17C                 LDREQB          R0, [R1,#3]
ROM:1FFFD17E                 CMPEQ           R0, #1
ROM:1FFFD180                 BNE             loc_1FFFD1BE
ROM:1FFFD182                 LDRH            R0, [R1,#4]
ROM:1FFFD184                 CBNZ            R0, loc_1FFFD1BE
ROM:1FFFD186                 LDRB            R0, [R1,#9]
ROM:1FFFD188                 LSLS            R0, R0, #0x1A
ROM:1FFFD18A                 BMI             loc_1FFFD1AC
ROM:1FFFD18C                 B               loc_1FFFD1BE
ROM:1FFFD18E ; ---------------------------------------------------------------------------
ROM:1FFFD18E
ROM:1FFFD18E loc_1FFFD18E                            ; CODE XREF: sub_1FFFD10E+10j
ROM:1FFFD18E                 AND.W           R1, R0, #0x7F
ROM:1FFFD192                 CMP             R1, #1
ROM:1FFFD194                 BNE             loc_1FFFD1A0
ROM:1FFFD196                 CMP             R5, #0xB
ROM:1FFFD198                 BNE             loc_1FFFD1BE
ROM:1FFFD19A                 BL              sub_1FFFCDE4
ROM:1FFFD19E                 B               loc_1FFFD1BA
ROM:1FFFD1A0 ; ---------------------------------------------------------------------------
ROM:1FFFD1A0
ROM:1FFFD1A0 loc_1FFFD1A0                            ; CODE XREF: sub_1FFFD10E+86j
ROM:1FFFD1A0                 AND.W           R0, R0, #0x7F
ROM:1FFFD1A4                 CMP             R0, #2
ROM:1FFFD1A6                 BNE             loc_1FFFD1BE
ROM:1FFFD1A8                 CMP             R5, #1
ROM:1FFFD1AA                 BNE             loc_1FFFD1B2
ROM:1FFFD1AC
ROM:1FFFD1AC loc_1FFFD1AC                            ; CODE XREF: sub_1FFFD10E+7Cj
ROM:1FFFD1AC                 BL              sub_1FFFCEB0
ROM:1FFFD1B0                 B               loc_1FFFD1BA
ROM:1FFFD1B2 ; ---------------------------------------------------------------------------
ROM:1FFFD1B2
ROM:1FFFD1B2 loc_1FFFD1B2                            ; CODE XREF: sub_1FFFD10E+9Cj
ROM:1FFFD1B2                 CMP             R5, #3
ROM:1FFFD1B4                 BNE             loc_1FFFD1BE
ROM:1FFFD1B6                 BL              sub_1FFFCF5A
ROM:1FFFD1BA
ROM:1FFFD1BA loc_1FFFD1BA                            ; CODE XREF: sub_1FFFD10E+1Aj
ROM:1FFFD1BA                                         ; sub_1FFFD10E+68j ...
ROM:1FFFD1BA                 CMP             R0, #0
ROM:1FFFD1BC                 BEQ             loc_1FFFD148
ROM:1FFFD1BE
ROM:1FFFD1BE loc_1FFFD1BE                            ; CODE XREF: sub_1FFFD10E+5Cj
ROM:1FFFD1BE                                         ; sub_1FFFD10E+62j ...
ROM:1FFFD1BE                 MOV             R0, R5
ROM:1FFFD1C0                 LDR             R1, =0x20000C2C
ROM:1FFFD1C2                 LDR             R1, [R1]
ROM:1FFFD1C4                 LDR             R1, [R1,#0x14]
ROM:1FFFD1C6                 BLX             R1
ROM:1FFFD1C8                 CMP             R0, #3
ROM:1FFFD1CA                 IT EQ
ROM:1FFFD1CC                 MOVEQ           R5, #9
ROM:1FFFD1CE                 BEQ             loc_1FFFD156
ROM:1FFFD1D0                 CMP             R0, #0
ROM:1FFFD1D2                 BEQ             loc_1FFFD148
ROM:1FFFD1D4
ROM:1FFFD1D4 loc_1FFFD1D4                            ; CODE XREF: sub_1FFFD10E+24j
ROM:1FFFD1D4                                         ; sub_1FFFD10E+34j
ROM:1FFFD1D4                 MOVS            R5, #8
ROM:1FFFD1D6                 B               loc_1FFFD156
ROM:1FFFD1D6 ; End of function sub_1FFFD10E
ROM:1FFFD1D6
ROM:1FFFD1D8
ROM:1FFFD1D8 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD1D8
ROM:1FFFD1D8
ROM:1FFFD1D8 sub_1FFFD1D8                            ; CODE XREF: sub_1FFFD356:loc_1FFFD3ACp
ROM:1FFFD1D8
ROM:1FFFD1D8 var_18          = -0x18
ROM:1FFFD1D8
ROM:1FFFD1D8                 PUSH            {R3-R7,LR}
ROM:1FFFD1DA                 LDR             R5, =0x20000C28
ROM:1FFFD1DC                 LDR             R0, [R5]
ROM:1FFFD1DE                 LDRB            R1, [R0,#1]
ROM:1FFFD1E0                 LDR             R4, =0x20000C2C
ROM:1FFFD1E2                 LDR             R2, [R4]
ROM:1FFFD1E4                 CMP             R1, #6
ROM:1FFFD1E6                 BNE             loc_1FFFD20A
ROM:1FFFD1E8                 LDRB            R1, [R0]
ROM:1FFFD1EA                 MOVS            R3, #0x7F
ROM:1FFFD1EC                 TST             R1, R3
ROM:1FFFD1EE                 BNE             loc_1FFFD244
ROM:1FFFD1F0                 LDRB            R0, [R0,#2]
ROM:1FFFD1F2                 CMP             R0, #1
ROM:1FFFD1F4                 IT EQ
ROM:1FFFD1F6                 LDREQ           R1, [R2,#0x1C]
ROM:1FFFD1F8                 BEQ             loc_1FFFD2D4
ROM:1FFFD1FA                 CMP             R0, #2
ROM:1FFFD1FC                 IT EQ
ROM:1FFFD1FE                 LDREQ           R1, [R2,#0x20]
ROM:1FFFD200                 BEQ             loc_1FFFD2D4
ROM:1FFFD202                 CMP             R0, #3
ROM:1FFFD204                 BNE             loc_1FFFD244
ROM:1FFFD206                 LDR             R1, [R2,#0x24]
ROM:1FFFD208                 B               loc_1FFFD2D4
ROM:1FFFD20A ; ---------------------------------------------------------------------------
ROM:1FFFD20A
ROM:1FFFD20A loc_1FFFD20A                            ; CODE XREF: sub_1FFFD1D8+Ej
ROM:1FFFD20A                 MOVS            R3, R1
ROM:1FFFD20C                 BNE             loc_1FFFD292
ROM:1FFFD20E                 LDRH            R1, [R0,#2]
ROM:1FFFD210                 CMP             R1, #0
ROM:1FFFD212                 ITT EQ
ROM:1FFFD214                 LDREQH          R1, [R0,#6]
ROM:1FFFD216                 CMPEQ           R1, #2
ROM:1FFFD218                 BNE             loc_1FFFD244
ROM:1FFFD21A                 LDRB            R1, [R0,#4]
ROM:1FFFD21C                 CBNZ            R1, loc_1FFFD244
ROM:1FFFD21E                 LDRB            R1, [R0]
ROM:1FFFD220                 MOVS            R3, #0x7F
ROM:1FFFD222                 TST             R1, R3
ROM:1FFFD224                 ITT EQ
ROM:1FFFD226                 LDREQH          R3, [R0,#4]
ROM:1FFFD228                 CMPEQ           R3, #0
ROM:1FFFD22A                 BEQ             loc_1FFFD28E
ROM:1FFFD22C                 AND.W           R3, R1, #0x7F
ROM:1FFFD230                 CMP             R3, #1
ROM:1FFFD232                 BNE             loc_1FFFD25A
ROM:1FFFD234                 MOVS            R1, #0
ROM:1FFFD236                 LDRB            R0, [R0,#5]
ROM:1FFFD238                 LDR             R2, [R2,#0x18]
ROM:1FFFD23A                 BLX             R2
ROM:1FFFD23C                 CBNZ            R0, loc_1FFFD244
ROM:1FFFD23E                 LDR             R0, [R5]
ROM:1FFFD240                 LDRB            R0, [R0,#0xA]
ROM:1FFFD242                 CBNZ            R0, loc_1FFFD28E
ROM:1FFFD244
ROM:1FFFD244 loc_1FFFD244                            ; CODE XREF: sub_1FFFD1D8+16j
ROM:1FFFD244                                         ; sub_1FFFD1D8+2Cj ...
ROM:1FFFD244                 LDR             R0, [R5]
ROM:1FFFD246                 LDRB            R0, [R0,#1]
ROM:1FFFD248                 LDR             R1, [R4]
ROM:1FFFD24A                 LDR             R1, [R1,#0x10]
ROM:1FFFD24C                 BLX             R1
ROM:1FFFD24E                 CMP             R0, #3
ROM:1FFFD250                 BNE             loc_1FFFD2E6
ROM:1FFFD252                 LDR             R0, [R5]
ROM:1FFFD254                 MOVS            R1, #9
ROM:1FFFD256                 STRB            R1, [R0,#8]
ROM:1FFFD258                 POP             {R0,R4-R7,PC}
ROM:1FFFD25A ; ---------------------------------------------------------------------------
ROM:1FFFD25A
ROM:1FFFD25A loc_1FFFD25A                            ; CODE XREF: sub_1FFFD1D8+5Aj
ROM:1FFFD25A                 AND.W           R1, R1, #0x7F
ROM:1FFFD25E                 CMP             R1, #2
ROM:1FFFD260                 BNE             loc_1FFFD244
ROM:1FFFD262                 LDRB            R0, [R0,#5]
ROM:1FFFD264                 AND.W           R6, R0, #0xF
ROM:1FFFD268                 AND.W           R7, R0, #0x70
ROM:1FFFD26C                 LSLS            R0, R0, #0x18
ROM:1FFFD26E                 MOV             R0, R6
ROM:1FFFD270                 BPL             loc_1FFFD278
ROM:1FFFD272                 BL              sub_1FFFCBB2
ROM:1FFFD276                 B               loc_1FFFD27C
ROM:1FFFD278 ; ---------------------------------------------------------------------------
ROM:1FFFD278
ROM:1FFFD278 loc_1FFFD278                            ; CODE XREF: sub_1FFFD1D8+98j
ROM:1FFFD278                 BL              sub_1FFFCBBE
ROM:1FFFD27C
ROM:1FFFD27C loc_1FFFD27C                            ; CODE XREF: sub_1FFFD1D8+9Ej
ROM:1FFFD27C                 UXTH            R0, R0
ROM:1FFFD27E                 LDR             R1, =0x20000248
ROM:1FFFD280                 LDRB            R1, [R1]
ROM:1FFFD282                 CMP             R6, R1
ROM:1FFFD284                 BCS             loc_1FFFD244
ROM:1FFFD286                 CMP             R7, #0
ROM:1FFFD288                 BNE             loc_1FFFD244
ROM:1FFFD28A                 CMP             R0, #0
ROM:1FFFD28C                 BEQ             loc_1FFFD244
ROM:1FFFD28E
ROM:1FFFD28E loc_1FFFD28E                            ; CODE XREF: sub_1FFFD1D8+52j
ROM:1FFFD28E                                         ; sub_1FFFD1D8+6Aj
ROM:1FFFD28E                 LDR             R1, =(sub_1FFFCE28+1)
ROM:1FFFD290                 B               loc_1FFFD2D4
ROM:1FFFD292 ; ---------------------------------------------------------------------------
ROM:1FFFD292
ROM:1FFFD292 loc_1FFFD292                            ; CODE XREF: sub_1FFFD1D8+34j
ROM:1FFFD292                 CMP             R1, #8
ROM:1FFFD294                 BNE             loc_1FFFD2A2
ROM:1FFFD296                 LDRB            R0, [R0]
ROM:1FFFD298                 MOVS            R1, #0x7F
ROM:1FFFD29A                 TST             R0, R1
ROM:1FFFD29C                 BNE             loc_1FFFD244
ROM:1FFFD29E                 LDR             R1, =0x1FFFCD79
ROM:1FFFD2A0                 B               loc_1FFFD2D4
ROM:1FFFD2A2 ; ---------------------------------------------------------------------------
ROM:1FFFD2A2
ROM:1FFFD2A2 loc_1FFFD2A2                            ; CODE XREF: sub_1FFFD1D8+BCj
ROM:1FFFD2A2                 CMP             R1, #0xA
ROM:1FFFD2A4                 ITTT EQ
ROM:1FFFD2A6                 LDREQB          R1, [R0]
ROM:1FFFD2A8                 ANDEQ.W         R1, R1, #0x7F
ROM:1FFFD2AC                 CMPEQ           R1, #1
ROM:1FFFD2AE                 BNE             loc_1FFFD244
ROM:1FFFD2B0                 LDRB            R1, [R0,#0xA]
ROM:1FFFD2B2                 CMP             R1, #0
ROM:1FFFD2B4                 BEQ             loc_1FFFD244
ROM:1FFFD2B6                 LDRH            R1, [R0,#2]
ROM:1FFFD2B8                 CMP             R1, #0
ROM:1FFFD2BA                 ITTTT EQ
ROM:1FFFD2BC                 LDREQB          R1, [R0,#4]
ROM:1FFFD2BE                 CMPEQ           R1, #0
ROM:1FFFD2C0                 LDREQH          R1, [R0,#6]
ROM:1FFFD2C2                 CMPEQ           R1, #1
ROM:1FFFD2C4                 BNE             loc_1FFFD244
ROM:1FFFD2C6                 MOVS            R1, #0
ROM:1FFFD2C8                 LDRB            R0, [R0,#5]
ROM:1FFFD2CA                 LDR             R2, [R2,#0x18]
ROM:1FFFD2CC                 BLX             R2
ROM:1FFFD2CE                 CMP             R0, #0
ROM:1FFFD2D0                 BNE             loc_1FFFD244
ROM:1FFFD2D2                 LDR             R1, =(sub_1FFFCDC2+1)
ROM:1FFFD2D4
ROM:1FFFD2D4 loc_1FFFD2D4                            ; CODE XREF: sub_1FFFD1D8+20j
ROM:1FFFD2D4                                         ; sub_1FFFD1D8+28j ...
ROM:1FFFD2D4                 MOVS            R0, R1
ROM:1FFFD2D6                 BEQ             loc_1FFFD244
ROM:1FFFD2D8                 LDR             R0, [R5]
ROM:1FFFD2DA                 MOVS            R2, #0
ROM:1FFFD2DC                 STRH            R2, [R0,#0x12]
ROM:1FFFD2DE                 STR             R1, [R0,#0x18]
ROM:1FFFD2E0                 MOVS            R0, #0
ROM:1FFFD2E2                 BLX             R1
ROM:1FFFD2E4                 MOVS            R0, #0
ROM:1FFFD2E6
ROM:1FFFD2E6 loc_1FFFD2E6                            ; CODE XREF: sub_1FFFD1D8+78j
ROM:1FFFD2E6                 LDR             R1, [R5]
ROM:1FFFD2E8                 LDRH            R2, [R1,#0x10]
ROM:1FFFD2EA                 MOVW            R3, #0xFFFF
ROM:1FFFD2EE                 CMP             R2, R3
ROM:1FFFD2F0                 IT EQ
ROM:1FFFD2F2                 MOVEQ           R0, #9
ROM:1FFFD2F4                 BEQ             loc_1FFFD300
ROM:1FFFD2F6                 CMP             R0, #2
ROM:1FFFD2F8                 IT NE
ROM:1FFFD2FA                 CMPNE           R2, #0
ROM:1FFFD2FC                 BNE             loc_1FFFD304
ROM:1FFFD2FE                 MOVS            R0, #8
ROM:1FFFD300
ROM:1FFFD300 loc_1FFFD300                            ; CODE XREF: sub_1FFFD1D8+11Cj
ROM:1FFFD300                 STRB            R0, [R1,#8]
ROM:1FFFD302                 POP             {R0,R4-R7,PC}
ROM:1FFFD304 ; ---------------------------------------------------------------------------
ROM:1FFFD304
ROM:1FFFD304 loc_1FFFD304                            ; CODE XREF: sub_1FFFD1D8+124j
ROM:1FFFD304                 LDRB            R0, [R1]
ROM:1FFFD306                 LSLS            R0, R0, #0x18
ROM:1FFFD308                 BPL             loc_1FFFD348
ROM:1FFFD30A                 LDRH            R0, [R1,#6]
ROM:1FFFD30C                 STR             R0, [SP,#0x18+var_18]
ROM:1FFFD30E                 LDR             R3, [R4]
ROM:1FFFD310                 LDR             R4, [SP,#0x18+var_18]
ROM:1FFFD312                 CMP             R4, R2
ROM:1FFFD314                 ITT CC
ROM:1FFFD316                 LDRCC           R0, [SP,#0x18+var_18]
ROM:1FFFD318                 STRCCH          R0, [R1,#0x10]
ROM:1FFFD31A                 BCC             loc_1FFFD33C
ROM:1FFFD31C                 CMP             R2, R0
ROM:1FFFD31E                 BCS             loc_1FFFD33C
ROM:1FFFD320                 LDRB.W          R0, [R3,#0x2C]
ROM:1FFFD324                 LDR             R4, =0x20000C68
ROM:1FFFD326                 CMP             R2, R0
ROM:1FFFD328                 IT CC
ROM:1FFFD32A                 MOVCC           R0, #0
ROM:1FFFD32C                 BCC             loc_1FFFD33A
ROM:1FFFD32E                 SDIV.W          R5, R2, R0
ROM:1FFFD332                 MLS.W           R0, R0, R5, R2
ROM:1FFFD336                 CBNZ            R0, loc_1FFFD33C
ROM:1FFFD338                 MOVS            R0, #1
ROM:1FFFD33A
ROM:1FFFD33A loc_1FFFD33A                            ; CODE XREF: sub_1FFFD1D8+154j
ROM:1FFFD33A                 STRB            R0, [R4]
ROM:1FFFD33C
ROM:1FFFD33C loc_1FFFD33C                            ; CODE XREF: sub_1FFFD1D8+142j
ROM:1FFFD33C                                         ; sub_1FFFD1D8+146j ...
ROM:1FFFD33C                 LDRB.W          R0, [R3,#0x2C]
ROM:1FFFD340                 STRH            R0, [R1,#0x14]
ROM:1FFFD342                 POP.W           {R0,R4-R7,LR}
ROM:1FFFD346                 B               sub_1FFFD06E
ROM:1FFFD348 ; ---------------------------------------------------------------------------
ROM:1FFFD348
ROM:1FFFD348 loc_1FFFD348                            ; CODE XREF: sub_1FFFD1D8+130j
ROM:1FFFD348                 MOVS            R0, #3
ROM:1FFFD34A                 STRB            R0, [R1,#8]
ROM:1FFFD34C                 LDR             R0, =0x20000098
ROM:1FFFD34E                 MOV.W           R1, #0x3000
ROM:1FFFD352                 STRH            R1, [R0]
ROM:1FFFD354                 POP             {R0,R4-R7,PC}
ROM:1FFFD354 ; End of function sub_1FFFD1D8
ROM:1FFFD354
ROM:1FFFD356
ROM:1FFFD356 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD356
ROM:1FFFD356
ROM:1FFFD356 sub_1FFFD356                            ; CODE XREF: sub_1FFFE430+38p
ROM:1FFFD356                 PUSH            {R3-R5,LR}
ROM:1FFFD358                 MOVS            R0, #0
ROM:1FFFD35A                 BL              sub_1FFFDCA2
ROM:1FFFD35E                 LDR             R1, =0x20000C5C
ROM:1FFFD360                 STR             R0, [R1]
ROM:1FFFD362                 LDR             R5, [R0,#0x14]
ROM:1FFFD364                 BL              sub_1FFFD948
ROM:1FFFD368                 BL              sub_1FFFD3B2
ROM:1FFFD36C                 LDRB            R1, [R0,#8]
ROM:1FFFD36E                 CMP             R1, #9
ROM:1FFFD370                 BEQ             loc_1FFFD39A
ROM:1FFFD372                 LDRB            R1, [R5]
ROM:1FFFD374                 STRB            R1, [R0]
ROM:1FFFD376                 LDR             R0, [R4]
ROM:1FFFD378                 LDRB.W          R1, [R5,#1]!
ROM:1FFFD37C                 STRB            R1, [R0,#1]
ROM:1FFFD37E                 LDRH.W          R0, [R5,#1]!
ROM:1FFFD382                 BL              sub_1FFFCC12
ROM:1FFFD386                 LDR             R1, [R4]
ROM:1FFFD388                 STRH            R0, [R1,#2]
ROM:1FFFD38A                 LDRH.W          R0, [R5,#2]!
ROM:1FFFD38E                 BL              sub_1FFFCC12
ROM:1FFFD392                 LDR             R1, [R4]
ROM:1FFFD394                 STRH            R0, [R1,#4]
ROM:1FFFD396                 LDRH            R0, [R5,#2]
ROM:1FFFD398                 STRH            R0, [R1,#6]
ROM:1FFFD39A
ROM:1FFFD39A loc_1FFFD39A                            ; CODE XREF: sub_1FFFD356+1Aj
ROM:1FFFD39A                 LDR             R0, [R4]
ROM:1FFFD39C                 MOVS            R1, #1
ROM:1FFFD39E                 STRB            R1, [R0,#8]
ROM:1FFFD3A0                 LDR             R0, [R4]
ROM:1FFFD3A2                 LDRH            R0, [R0,#6]
ROM:1FFFD3A4                 CBNZ            R0, loc_1FFFD3AC
ROM:1FFFD3A6                 BL              sub_1FFFD10E
ROM:1FFFD3AA                 B               loc_1FFFD3B0
ROM:1FFFD3AC ; ---------------------------------------------------------------------------
ROM:1FFFD3AC
ROM:1FFFD3AC loc_1FFFD3AC                            ; CODE XREF: sub_1FFFD356+4Ej
ROM:1FFFD3AC                 BL              sub_1FFFD1D8
ROM:1FFFD3B0
ROM:1FFFD3B0 loc_1FFFD3B0                            ; CODE XREF: sub_1FFFD356+54j
ROM:1FFFD3B0                 B               loc_1FFFD434
ROM:1FFFD3B0 ; End of function sub_1FFFD356
ROM:1FFFD3B0
ROM:1FFFD3B2
ROM:1FFFD3B2 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD3B2
ROM:1FFFD3B2
ROM:1FFFD3B2 sub_1FFFD3B2                            ; CODE XREF: sub_1FFFCDE4+2p
ROM:1FFFD3B2                                         ; sub_1FFFD06E+4p ...
ROM:1FFFD3B2                 LDR             R4, =0x20000C28
ROM:1FFFD3B4                 LDR             R0, [R4]
ROM:1FFFD3B6                 BX              LR
ROM:1FFFD3B6 ; End of function sub_1FFFD3B2
ROM:1FFFD3B6
ROM:1FFFD3B8
ROM:1FFFD3B8 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD3B8
ROM:1FFFD3B8
ROM:1FFFD3B8 sub_1FFFD3B8                            ; CODE XREF: sub_1FFFE356+BEp
ROM:1FFFD3B8                 PUSH            {R4,LR}
ROM:1FFFD3BA                 BL              sub_1FFFD3B2
ROM:1FFFD3BE                 LDRB            R1, [R0,#8]
ROM:1FFFD3C0                 CMP             R1, #2
ROM:1FFFD3C2                 IT NE
ROM:1FFFD3C4                 CMPNE           R1, #4
ROM:1FFFD3C6                 BNE             loc_1FFFD3D2
ROM:1FFFD3C8                 BL              sub_1FFFD06E
ROM:1FFFD3CC                 LDR             R0, [R4]
ROM:1FFFD3CE                 LDRB            R0, [R0,#8]
ROM:1FFFD3D0                 B               loc_1FFFD3FC
ROM:1FFFD3D2 ; ---------------------------------------------------------------------------
ROM:1FFFD3D2
ROM:1FFFD3D2 loc_1FFFD3D2                            ; CODE XREF: sub_1FFFD3B8+Ej
ROM:1FFFD3D2                 CMP             R1, #6
ROM:1FFFD3D4                 BNE             loc_1FFFD3FA
ROM:1FFFD3D6                 LDRB            R1, [R0,#1]
ROM:1FFFD3D8                 CMP             R1, #5
ROM:1FFFD3DA                 ITTT EQ
ROM:1FFFD3DC                 LDREQB          R1, [R0]
ROM:1FFFD3DE                 MOVEQ           R2, #0x7F
ROM:1FFFD3E0                 TSTEQ           R1, R2
ROM:1FFFD3E2                 BNE             loc_1FFFD3F2
ROM:1FFFD3E4                 LDRB            R0, [R0,#3]
ROM:1FFFD3E6                 BL              sub_1FFFDC68
ROM:1FFFD3EA                 BL              sub_1FFFCEA8
ROM:1FFFD3EE                 LDR             R0, [R0,#0x20]
ROM:1FFFD3F0                 BLX             R0
ROM:1FFFD3F2
ROM:1FFFD3F2 loc_1FFFD3F2                            ; CODE XREF: sub_1FFFD3B8+2Aj
ROM:1FFFD3F2                 LDR             R0, =0x20000C2C
ROM:1FFFD3F4                 LDR             R0, [R0]
ROM:1FFFD3F6                 LDR             R0, [R0,#8]
ROM:1FFFD3F8                 BLX             R0
ROM:1FFFD3FA
ROM:1FFFD3FA loc_1FFFD3FA                            ; CODE XREF: sub_1FFFD3B8+1Cj
ROM:1FFFD3FA                 MOVS            R0, #8
ROM:1FFFD3FC
ROM:1FFFD3FC loc_1FFFD3FC                            ; CODE XREF: sub_1FFFD3B8+18j
ROM:1FFFD3FC                 LDR             R1, [R4]
ROM:1FFFD3FE                 STRB            R0, [R1,#8]
ROM:1FFFD400                 POP.W           {R4,LR}
ROM:1FFFD404                 B               sub_1FFFD438
ROM:1FFFD404 ; End of function sub_1FFFD3B8
ROM:1FFFD404
ROM:1FFFD406
ROM:1FFFD406 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD406
ROM:1FFFD406
ROM:1FFFD406 sub_1FFFD406                            ; CODE XREF: sub_1FFFE430+78p
ROM:1FFFD406                 PUSH            {R3-R5,LR}
ROM:1FFFD408                 BL              sub_1FFFD3B2
ROM:1FFFD40C                 LDRB            R5, [R0,#8]
ROM:1FFFD40E                 CMP             R5, #3
ROM:1FFFD410                 IT NE
ROM:1FFFD412                 CMPNE           R5, #5
ROM:1FFFD414                 BNE             loc_1FFFD420
ROM:1FFFD416                 BL              sub_1FFFCFF2
ROM:1FFFD41A                 LDR             R0, [R4]
ROM:1FFFD41C                 LDRB            R5, [R0,#8]
ROM:1FFFD41E                 B               loc_1FFFD430
ROM:1FFFD420 ; ---------------------------------------------------------------------------
ROM:1FFFD420
ROM:1FFFD420 loc_1FFFD420                            ; CODE XREF: sub_1FFFD406+Ej
ROM:1FFFD420                 CMP             R5, #7
ROM:1FFFD422                 BNE             loc_1FFFD42E
ROM:1FFFD424                 LDR             R0, =0x20000C2C
ROM:1FFFD426                 LDR             R0, [R0]
ROM:1FFFD428                 LDR             R0, [R0,#0xC]
ROM:1FFFD42A                 BLX             R0
ROM:1FFFD42C                 B               loc_1FFFD430
ROM:1FFFD42E ; ---------------------------------------------------------------------------
ROM:1FFFD42E
ROM:1FFFD42E loc_1FFFD42E                            ; CODE XREF: sub_1FFFD406+1Cj
ROM:1FFFD42E                 MOVS            R5, #8
ROM:1FFFD430
ROM:1FFFD430 loc_1FFFD430                            ; CODE XREF: sub_1FFFD406+18j
ROM:1FFFD430                                         ; sub_1FFFD406+26j
ROM:1FFFD430                 LDR             R0, [R4]
ROM:1FFFD432                 STRB            R5, [R0,#8]
ROM:1FFFD434
ROM:1FFFD434 loc_1FFFD434                            ; CODE XREF: sub_1FFFD356:loc_1FFFD3B0j
ROM:1FFFD434                 POP.W           {R0,R4,R5,LR}
ROM:1FFFD434 ; End of function sub_1FFFD406
ROM:1FFFD434
ROM:1FFFD438
ROM:1FFFD438 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD438
ROM:1FFFD438
ROM:1FFFD438 sub_1FFFD438                            ; CODE XREF: sub_1FFFD3B8+4Cp
ROM:1FFFD438                 PUSH            {R7,LR}
ROM:1FFFD43A                 LDR             R0, =0x20000108
ROM:1FFFD43C                 LDRB.W          R1, [R0,#0x2C]
ROM:1FFFD440                 MOVS            R0, #0
ROM:1FFFD442                 BL              nullsub_1
ROM:1FFFD446                 LDR             R0, =0x20000C28
ROM:1FFFD448                 LDR             R0, [R0]
ROM:1FFFD44A                 LDRB            R1, [R0,#8]
ROM:1FFFD44C                 CMP             R1, #8
ROM:1FFFD44E                 BNE             loc_1FFFD45E
ROM:1FFFD450                 LDR             R1, =0x20000098
ROM:1FFFD452                 MOV.W           R2, #0x1000
ROM:1FFFD456                 STRH            R2, [R1]
ROM:1FFFD458                 LDR             R1, =0x2000009A
ROM:1FFFD45A                 MOVS            R2, #0x10
ROM:1FFFD45C                 STRH            R2, [R1]
ROM:1FFFD45E
ROM:1FFFD45E loc_1FFFD45E                            ; CODE XREF: sub_1FFFD438+16j
ROM:1FFFD45E                 LDRB            R0, [R0,#8]
ROM:1FFFD460                 CMP             R0, #9
ROM:1FFFD462                 BNE             loc_1FFFD468
ROM:1FFFD464                 MOVS            R0, #1
ROM:1FFFD466                 POP             {R1,PC}
ROM:1FFFD468 ; ---------------------------------------------------------------------------
ROM:1FFFD468
ROM:1FFFD468 loc_1FFFD468                            ; CODE XREF: sub_1FFFD438+2Aj
ROM:1FFFD468                 MOVS            R0, #0
ROM:1FFFD46A                 POP             {R1,PC}
ROM:1FFFD46A ; End of function sub_1FFFD438
ROM:1FFFD46A
ROM:1FFFD46A ; ---------------------------------------------------------------------------
ROM:1FFFD46C dword_1FFFD46C  DCD 0x20000C28          ; DATA XREF: ROM:1FFFCD7Ar
ROM:1FFFD46C                                         ; sub_1FFFCD90+2r ...
ROM:1FFFD470 dword_1FFFD470  DCD 0x20000248          ; DATA XREF: sub_1FFFCD90+Ar
ROM:1FFFD470                                         ; sub_1FFFCEB0+40r ...
ROM:1FFFD474 dword_1FFFD474  DCD 0x20000C2C          ; DATA XREF: sub_1FFFCDE4+Ar
ROM:1FFFD474                                         ; sub_1FFFD10E+B2r ...
ROM:1FFFD478 dword_1FFFD478  DCD 0x20000C60          ; DATA XREF: sub_1FFFCE28:loc_1FFFCE3Ar
ROM:1FFFD47C dword_1FFFD47C  DCD 0x20000C30          ; DATA XREF: sub_1FFFCEA8r
ROM:1FFFD480 dword_1FFFD480  DCD 0x20000108          ; DATA XREF: sub_1FFFCEB0+7Cr
ROM:1FFFD480                                         ; sub_1FFFD438+2r
ROM:1FFFD484 dword_1FFFD484  DCD 0x2000009A          ; DATA XREF: sub_1FFFCFF2:loc_1FFFD02Cr
ROM:1FFFD484                                         ; sub_1FFFD06E+Er ...
ROM:1FFFD488 dword_1FFFD488  DCD 0x20000098          ; DATA XREF: sub_1FFFCFF2+42r
ROM:1FFFD488                                         ; sub_1FFFD06E+84r ...
ROM:1FFFD48C dword_1FFFD48C  DCD 0x20000C68          ; DATA XREF: sub_1FFFD06E+1Cr
ROM:1FFFD48C                                         ; sub_1FFFD1D8+14Cr
ROM:1FFFD490 off_1FFFD490    DCD sub_1FFFCE28+1      ; DATA XREF: sub_1FFFD1D8:loc_1FFFD28Er
ROM:1FFFD494 dword_1FFFD494  DCD 0x1FFFCD79          ; DATA XREF: sub_1FFFD1D8+C6r
ROM:1FFFD498 off_1FFFD498    DCD sub_1FFFCDC2+1      ; DATA XREF: sub_1FFFD1D8+FAr
ROM:1FFFD49C dword_1FFFD49C  DCD 0x20000C5C          ; DATA XREF: sub_1FFFD356+8r
ROM:1FFFD4A0 ; ---------------------------------------------------------------------------
ROM:1FFFD4A0
ROM:1FFFD4A0 locret_1FFFD4A0                         ; DATA XREF: ROM:1FFFEA78o
ROM:1FFFD4A0                                         ; ROM:1FFFEA7Co ...
ROM:1FFFD4A0                 BX              LR
ROM:1FFFD4A0 ; ---------------------------------------------------------------------------
ROM:1FFFD4A2                 ALIGN 4
ROM:1FFFD4A4
ROM:1FFFD4A4 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD4A4
ROM:1FFFD4A4
ROM:1FFFD4A4 trigger_usb_start                       ; CODE XREF: enale_usb_trans+14p
ROM:1FFFD4A4                 LDR             R0, =0x20000C0C
ROM:1FFFD4A6                 STR             R0, [R0,#0x1C]
ROM:1FFFD4A8                 MOVS            R1, #2
ROM:1FFFD4AA                 STRB            R1, [R0,#8]
ROM:1FFFD4AC                 LDR             R1, =0x20000108 ; 0x20000108->0x1FFFEADC->0x1FFFC291
ROM:1FFFD4AE                 STR             R1, [R0,#0x20]
ROM:1FFFD4B0                 LDR             R2, =0x200001D0
ROM:1FFFD4B2                 STR             R2, [R0,#0x24]
ROM:1FFFD4B4                 LDR             R0, [R1]
ROM:1FFFD4B6                 BX              R0
ROM:1FFFD4B6 ; End of function trigger_usb_start
ROM:1FFFD4B6
ROM:1FFFD4B6 ; ---------------------------------------------------------------------------
ROM:1FFFD4B8 dword_1FFFD4B8  DCD 0x20000C0C          ; DATA XREF: trigger_usb_startr
ROM:1FFFD4BC dword_1FFFD4BC  DCD 0x20000108          ; DATA XREF: trigger_usb_start+8r
ROM:1FFFD4C0 dword_1FFFD4C0  DCD 0x200001D0          ; DATA XREF: trigger_usb_start+Cr
ROM:1FFFD4C4
ROM:1FFFD4C4 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD4C4
ROM:1FFFD4C4
ROM:1FFFD4C4 delay_10us                              ; CODE XREF: sub_1FFFD4D2+12p
ROM:1FFFD4C4                                         ; sub_1FFFD5B0+26p ...
ROM:1FFFD4C4                 MOVS            R1, #0
ROM:1FFFD4C6                 MOVS            R2, #0xA
ROM:1FFFD4C8                 MULS            R0, R2
ROM:1FFFD4CA
ROM:1FFFD4CA loc_1FFFD4CA                            ; CODE XREF: delay_10us+Aj
ROM:1FFFD4CA                 ADDS            R1, R1, #1
ROM:1FFFD4CC                 CMP             R0, R1
ROM:1FFFD4CE                 BCS             loc_1FFFD4CA
ROM:1FFFD4D0                 BX              LR
ROM:1FFFD4D0 ; End of function delay_10us
ROM:1FFFD4D0
ROM:1FFFD4D2
ROM:1FFFD4D2 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD4D2
ROM:1FFFD4D2
ROM:1FFFD4D2 sub_1FFFD4D2                            ; CODE XREF: sub_1FFFD5B0+14p
ROM:1FFFD4D2                 PUSH            {R4,LR}
ROM:1FFFD4D4                 LDR.W           R0, =0x20000B34
ROM:1FFFD4D8                 LDR             R4, [R0]
ROM:1FFFD4DA                 MOV.W           R0, #0x90000
ROM:1FFFD4DE                 STR             R0, [R4,#0x38]
ROM:1FFFD4E0                 LDR.W           R0, =0x30D40
ROM:1FFFD4E4                 BL              delay_10us
ROM:1FFFD4E8                 LDR             R0, [R4,#0xC]
ROM:1FFFD4EA                 BIC.W           R0, R0, #0x10000
ROM:1FFFD4EE                 STR             R0, [R4,#0xC]
ROM:1FFFD4F0                 MOVS            R0, #0
ROM:1FFFD4F2                 POP             {R4,PC}
ROM:1FFFD4F2 ; End of function sub_1FFFD4D2
ROM:1FFFD4F2
ROM:1FFFD4F4
ROM:1FFFD4F4 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD4F4
ROM:1FFFD4F4
ROM:1FFFD4F4 sub_1FFFD4F4                            ; CODE XREF: sub_1FFFE578+3Cp
ROM:1FFFD4F4                 PUSH            {R4,LR}
ROM:1FFFD4F6                 ADDS            R2, R2, #3
ROM:1FFFD4F8                 ASRS            R3, R2, #1
ROM:1FFFD4FA                 ADD.W           R2, R2, R3,LSR#30
ROM:1FFFD4FE                 LDR.W           R3, =0x20000B34
ROM:1FFFD502                 ADD.W           R1, R3, R1,LSL#2
ROM:1FFFD506                 LDR             R1, [R1,#0x70]
ROM:1FFFD508                 MOVS            R3, #0
ROM:1FFFD50A                 B               loc_1FFFD514
ROM:1FFFD50C ; ---------------------------------------------------------------------------
ROM:1FFFD50C
ROM:1FFFD50C loc_1FFFD50C                            ; CODE XREF: sub_1FFFD4F4+24j
ROM:1FFFD50C                 LDR.W           R4, [R0],#4
ROM:1FFFD510                 STR             R4, [R1]
ROM:1FFFD512                 ADDS            R3, R3, #1
ROM:1FFFD514
ROM:1FFFD514 loc_1FFFD514                            ; CODE XREF: sub_1FFFD4F4+16j
ROM:1FFFD514                 CMP.W           R3, R2,ASR#2
ROM:1FFFD518                 BCC             loc_1FFFD50C
ROM:1FFFD51A                 MOVS            R0, #0
ROM:1FFFD51C                 POP             {R4,PC}
ROM:1FFFD51C ; End of function sub_1FFFD4F4
ROM:1FFFD51C
ROM:1FFFD51E
ROM:1FFFD51E ; =============== S U B R O U T I N E =======================================
ROM:1FFFD51E
ROM:1FFFD51E
ROM:1FFFD51E sub_1FFFD51E                            ; CODE XREF: sub_1FFFE4B0+42p
ROM:1FFFD51E                                         ; sub_1FFFE4B0+60p
ROM:1FFFD51E                 PUSH            {R4,LR}
ROM:1FFFD520                 ADDS            R1, R1, #3
ROM:1FFFD522                 ASRS            R2, R1, #1
ROM:1FFFD524                 ADD.W           R1, R1, R2,LSR#30
ROM:1FFFD528                 LDR.W           R2, =0x20000B34
ROM:1FFFD52C                 LDR             R2, [R2,#0x70]
ROM:1FFFD52E                 MOVS            R3, #0
ROM:1FFFD530                 B               loc_1FFFD53A
ROM:1FFFD532 ; ---------------------------------------------------------------------------
ROM:1FFFD532
ROM:1FFFD532 loc_1FFFD532                            ; CODE XREF: sub_1FFFD51E+20j
ROM:1FFFD532                 LDR             R4, [R2]
ROM:1FFFD534                 STR.W           R4, [R0],#4
ROM:1FFFD538                 ADDS            R3, R3, #1
ROM:1FFFD53A
ROM:1FFFD53A loc_1FFFD53A                            ; CODE XREF: sub_1FFFD51E+12j
ROM:1FFFD53A                 CMP.W           R3, R1,ASR#2
ROM:1FFFD53E                 BCC             loc_1FFFD532
ROM:1FFFD540                 POP             {R4,PC}
ROM:1FFFD540 ; End of function sub_1FFFD51E
ROM:1FFFD540
ROM:1FFFD542
ROM:1FFFD542 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD542
ROM:1FFFD542
ROM:1FFFD542 USB_OTG_SelectCore                      ; CODE XREF: usb_chuli+8p
ROM:1FFFD542                 PUSH            {R4,R5,LR}
ROM:1FFFD544                 MOVS            R2, #0
ROM:1FFFD546                 LDR.W           R1, =0x20000B34
ROM:1FFFD54A                 STR             R0, [R1]
ROM:1FFFD54C                 ADD.W           R3, R0, #0x800
ROM:1FFFD550                 STR             R3, [R1,#4]
ROM:1FFFD552
ROM:1FFFD552 loc_1FFFD552                            ; CODE XREF: USB_OTG_SelectCore+28j
ROM:1FFFD552                 ADD.W           R3, R1, R2,LSL#2
ROM:1FFFD556                 ADD.W           R4, R0, R2,LSL#5
ROM:1FFFD55A                 ADD.W           R5, R4, #0x900
ROM:1FFFD55E                 STR             R5, [R3,#0xC]
ROM:1FFFD560                 ADD.W           R4, R4, #0xB00
ROM:1FFFD564                 STR             R4, [R3,#0x2C]
ROM:1FFFD566                 ADDS            R2, R2, #1
ROM:1FFFD568                 CMP             R2, #8
ROM:1FFFD56A                 BCC             loc_1FFFD552
ROM:1FFFD56C                 ADD.W           R2, R0, #0x400
ROM:1FFFD570                 STR             R2, [R1,#8]
ROM:1FFFD572                 ADD.W           R2, R0, #0x440
ROM:1FFFD576                 STR             R2, [R1,#0x6C]
ROM:1FFFD578                 MOVS            R2, #0
ROM:1FFFD57A
ROM:1FFFD57A loc_1FFFD57A                            ; CODE XREF: USB_OTG_SelectCore+4Aj
ROM:1FFFD57A                 ADD.W           R3, R1, R2,LSL#2
ROM:1FFFD57E                 ADD.W           R4, R0, R2,LSL#5
ROM:1FFFD582                 ADD.W           R4, R4, #0x500
ROM:1FFFD586                 STR             R4, [R3,#0x4C]
ROM:1FFFD588                 ADDS            R2, R2, #1
ROM:1FFFD58A                 CMP             R2, #8
ROM:1FFFD58C                 BCC             loc_1FFFD57A
ROM:1FFFD58E                 MOVS            R2, #0
ROM:1FFFD590
ROM:1FFFD590 loc_1FFFD590                            ; CODE XREF: USB_OTG_SelectCore+60j
ROM:1FFFD590                 ADD.W           R3, R1, R2,LSL#2
ROM:1FFFD594                 ADD.W           R4, R0, R2,LSL#12
ROM:1FFFD598                 ADD.W           R4, R4, #0x1000
ROM:1FFFD59C                 STR             R4, [R3,#0x70]
ROM:1FFFD59E                 ADDS            R2, R2, #1
ROM:1FFFD5A0                 CMP             R2, #8
ROM:1FFFD5A2                 BCC             loc_1FFFD590
ROM:1FFFD5A4                 ADD.W           R0, R0, #0xE00
ROM:1FFFD5A8                 STR.W           R0, [R1,#0x90]
ROM:1FFFD5AC                 MOVS            R0, #0
ROM:1FFFD5AE                 POP             {R4,R5,PC}
ROM:1FFFD5AE ; End of function USB_OTG_SelectCore
ROM:1FFFD5AE
ROM:1FFFD5B0
ROM:1FFFD5B0 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD5B0
ROM:1FFFD5B0
ROM:1FFFD5B0 sub_1FFFD5B0                            ; CODE XREF: usb_chuli+10p
ROM:1FFFD5B0                 PUSH            {R4,LR}
ROM:1FFFD5B2                 LDR.W           R4, =0x20000B34
ROM:1FFFD5B6                 LDR             R0, [R4]
ROM:1FFFD5B8                 LDR             R1, [R0,#0xC]
ROM:1FFFD5BA                 ORR.W           R1, R1, #0x40
ROM:1FFFD5BE                 STR             R1, [R0,#0xC]
ROM:1FFFD5C0                 BL              sub_1FFFD5DE
ROM:1FFFD5C4                 BL              sub_1FFFD4D2
ROM:1FFFD5C8                 LDR             R0, [R4]
ROM:1FFFD5CA                 LDR             R1, [R0,#0xC]
ROM:1FFFD5CC                 ORR.W           R1, R1, #0x40000000
ROM:1FFFD5D0                 STR             R1, [R0,#0xC]
ROM:1FFFD5D2                 MOVW            R0, #0xC350
ROM:1FFFD5D6                 BL              delay_10us
ROM:1FFFD5DA                 MOVS            R0, #0
ROM:1FFFD5DC                 POP             {R4,PC}
ROM:1FFFD5DC ; End of function sub_1FFFD5B0
ROM:1FFFD5DC
ROM:1FFFD5DE
ROM:1FFFD5DE ; =============== S U B R O U T I N E =======================================
ROM:1FFFD5DE
ROM:1FFFD5DE
ROM:1FFFD5DE sub_1FFFD5DE                            ; CODE XREF: sub_1FFFCAA0+10p
ROM:1FFFD5DE                                         ; sub_1FFFD5B0+10p
ROM:1FFFD5DE
ROM:1FFFD5DE var_10          = -0x10
ROM:1FFFD5DE
ROM:1FFFD5DE                 PUSH            {R3-R5,LR}
ROM:1FFFD5E0                 MOVS            R0, #0
ROM:1FFFD5E2                 STR             R0, [SP,#0x10+var_10]
ROM:1FFFD5E4                 LDR.W           R4, =0x30D41
ROM:1FFFD5E8                 MOV             R5, R4
ROM:1FFFD5EA
ROM:1FFFD5EA loc_1FFFD5EA                            ; CODE XREF: sub_1FFFD5DE+24j
ROM:1FFFD5EA                 MOVS            R0, #3
ROM:1FFFD5EC                 BL              delay_10us
ROM:1FFFD5F0                 LDR.W           R0, =0x20000B34
ROM:1FFFD5F4                 LDR             R0, [R0]
ROM:1FFFD5F6                 LDR             R1, [R0,#0x10]
ROM:1FFFD5F8                 STR             R1, [SP,#0x10+var_10]
ROM:1FFFD5FA                 SUBS            R5, R5, #1
ROM:1FFFD5FC                 BEQ             loc_1FFFD624
ROM:1FFFD5FE                 LDR             R1, [SP,#0x10+var_10]
ROM:1FFFD600                 CMP             R1, #0
ROM:1FFFD602                 BPL             loc_1FFFD5EA
ROM:1FFFD604                 LDR             R1, [SP,#0x10+var_10]
ROM:1FFFD606                 ORR.W           R1, R1, #1
ROM:1FFFD60A                 STR             R1, [SP,#0x10+var_10]
ROM:1FFFD60C                 LDR             R1, [SP,#0x10+var_10]
ROM:1FFFD60E                 STR             R1, [R0,#0x10]
ROM:1FFFD610
ROM:1FFFD610 loc_1FFFD610                            ; CODE XREF: sub_1FFFD5DE+3Ej
ROM:1FFFD610                 LDR             R1, [R0,#0x10]
ROM:1FFFD612                 STR             R1, [SP,#0x10+var_10]
ROM:1FFFD614                 SUBS            R4, R4, #1
ROM:1FFFD616                 BEQ             loc_1FFFD61E
ROM:1FFFD618                 LDR             R1, [SP,#0x10+var_10]
ROM:1FFFD61A                 LSLS            R1, R1, #0x1F
ROM:1FFFD61C                 BMI             loc_1FFFD610
ROM:1FFFD61E
ROM:1FFFD61E loc_1FFFD61E                            ; CODE XREF: sub_1FFFD5DE+38j
ROM:1FFFD61E                 MOVS            R0, #0xA
ROM:1FFFD620                 BL              delay_10us
ROM:1FFFD624
ROM:1FFFD624 loc_1FFFD624                            ; CODE XREF: sub_1FFFD5DE+1Ej
ROM:1FFFD624                 MOVS            R0, #0
ROM:1FFFD626                 POP             {R1,R4,R5,PC}
ROM:1FFFD626 ; End of function sub_1FFFD5DE
ROM:1FFFD626
ROM:1FFFD628
ROM:1FFFD628 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD628
ROM:1FFFD628
ROM:1FFFD628 sub_1FFFD628                            ; CODE XREF: usb_chuli+44p
ROM:1FFFD628                 LDR.W           R0, =0x20000B34
ROM:1FFFD62C                 LDR             R0, [R0]
ROM:1FFFD62E                 LDR             R1, [R0,#8]
ROM:1FFFD630                 ORR.W           R1, R1, #1
ROM:1FFFD634                 B               loc_1FFFD642
ROM:1FFFD634 ; End of function sub_1FFFD628
ROM:1FFFD634
ROM:1FFFD636
ROM:1FFFD636 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD636
ROM:1FFFD636
ROM:1FFFD636 sub_1FFFD636                            ; CODE XREF: usb_chuli+Cp
ROM:1FFFD636                 LDR.W           R0, =0x20000B34
ROM:1FFFD63A                 LDR             R0, [R0]
ROM:1FFFD63C                 LDR             R1, [R0,#8]
ROM:1FFFD63E                 LSRS            R1, R1, #1
ROM:1FFFD640                 LSLS            R1, R1, #1
ROM:1FFFD642
ROM:1FFFD642 loc_1FFFD642                            ; CODE XREF: sub_1FFFD628+Cj
ROM:1FFFD642                 STR             R1, [R0,#8]
ROM:1FFFD644                 MOVS            R0, #0
ROM:1FFFD646                 BX              LR
ROM:1FFFD646 ; End of function sub_1FFFD636
ROM:1FFFD646
ROM:1FFFD648
ROM:1FFFD648 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD648
ROM:1FFFD648
ROM:1FFFD648 sub_1FFFD648                            ; CODE XREF: sub_1FFFCAA0+8p
ROM:1FFFD648                                         ; sub_1FFFD6E2+58p ...
ROM:1FFFD648
ROM:1FFFD648 var_8           = -8
ROM:1FFFD648
ROM:1FFFD648                 PUSH            {R7,LR}
ROM:1FFFD64A                 MOVS            R1, #0
ROM:1FFFD64C                 STR             R1, [SP,#8+var_8]
ROM:1FFFD64E                 LDR             R1, [SP,#8+var_8]
ROM:1FFFD650                 ORR.W           R1, R1, #0x20
ROM:1FFFD654                 STR             R1, [SP,#8+var_8]
ROM:1FFFD656                 LDR             R1, [SP,#8+var_8]
ROM:1FFFD658                 BFI.W           R1, R0, #6, #5
ROM:1FFFD65C                 STR             R1, [SP,#8+var_8]
ROM:1FFFD65E                 BL              sub_1FFFD69C
ROM:1FFFD662
ROM:1FFFD662 loc_1FFFD662                            ; CODE XREF: sub_1FFFD648+26j
ROM:1FFFD662                 LDR             R2, [R0,#0x10]
ROM:1FFFD664                 STR             R2, [SP,#8+var_8]
ROM:1FFFD666                 SUBS            R1, R1, #1
ROM:1FFFD668                 BEQ             loc_1FFFD670
ROM:1FFFD66A                 LDR             R2, [SP,#8+var_8]
ROM:1FFFD66C                 LSLS            R2, R2, #0x1A
ROM:1FFFD66E                 BMI             loc_1FFFD662
ROM:1FFFD670
ROM:1FFFD670 loc_1FFFD670                            ; CODE XREF: sub_1FFFD648+20j
ROM:1FFFD670                 B               loc_1FFFD692
ROM:1FFFD670 ; End of function sub_1FFFD648
ROM:1FFFD670
ROM:1FFFD672
ROM:1FFFD672 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD672
ROM:1FFFD672
ROM:1FFFD672 sub_1FFFD672                            ; CODE XREF: sub_1FFFCAA0+Cp
ROM:1FFFD672                                         ; sub_1FFFD6E2+5Cp
ROM:1FFFD672
ROM:1FFFD672 var_8           = -8
ROM:1FFFD672
ROM:1FFFD672                 PUSH            {R7,LR}
ROM:1FFFD674                 MOVS            R0, #0
ROM:1FFFD676                 STR             R0, [SP,#8+var_8]
ROM:1FFFD678                 LDR             R0, [SP,#8+var_8]
ROM:1FFFD67A                 ORR.W           R0, R0, #0x10
ROM:1FFFD67E                 STR             R0, [SP,#8+var_8]
ROM:1FFFD680                 BL              sub_1FFFD69C
ROM:1FFFD684
ROM:1FFFD684 loc_1FFFD684                            ; CODE XREF: sub_1FFFD672+1Ej
ROM:1FFFD684                 LDR             R2, [R0,#0x10]
ROM:1FFFD686                 STR             R2, [SP,#8+var_8]
ROM:1FFFD688                 SUBS            R1, R1, #1
ROM:1FFFD68A                 BEQ             loc_1FFFD692
ROM:1FFFD68C                 LDR             R2, [SP,#8+var_8]
ROM:1FFFD68E                 LSLS            R2, R2, #0x1B
ROM:1FFFD690                 BMI             loc_1FFFD684
ROM:1FFFD692
ROM:1FFFD692 loc_1FFFD692                            ; CODE XREF: sub_1FFFD648:loc_1FFFD670j
ROM:1FFFD692                                         ; sub_1FFFD672+18j
ROM:1FFFD692                 MOVS            R0, #3
ROM:1FFFD694
ROM:1FFFD694 loc_1FFFD694                            ; CODE XREF: sub_1FFFD6AC+14j
ROM:1FFFD694                 BL              delay_10us
ROM:1FFFD698                 MOVS            R0, #0
ROM:1FFFD69A                 POP             {R1,PC}
ROM:1FFFD69A ; End of function sub_1FFFD672
ROM:1FFFD69A
ROM:1FFFD69C
ROM:1FFFD69C ; =============== S U B R O U T I N E =======================================
ROM:1FFFD69C
ROM:1FFFD69C
ROM:1FFFD69C sub_1FFFD69C                            ; CODE XREF: sub_1FFFD648+16p
ROM:1FFFD69C                                         ; sub_1FFFD672+Ep
ROM:1FFFD69C
ROM:1FFFD69C arg_0           =  0
ROM:1FFFD69C
ROM:1FFFD69C                 LDR.W           R0, =0x20000B34
ROM:1FFFD6A0                 LDR             R0, [R0]
ROM:1FFFD6A2                 LDR             R1, [SP,#arg_0]
ROM:1FFFD6A4                 STR             R1, [R0,#0x10]
ROM:1FFFD6A6                 LDR.W           R1, =0x30D41
ROM:1FFFD6AA                 BX              LR
ROM:1FFFD6AA ; End of function sub_1FFFD69C
ROM:1FFFD6AA
ROM:1FFFD6AC
ROM:1FFFD6AC ; =============== S U B R O U T I N E =======================================
ROM:1FFFD6AC
ROM:1FFFD6AC
ROM:1FFFD6AC sub_1FFFD6AC                            ; CODE XREF: sub_1FFFCAA0+14p
ROM:1FFFD6AC                 PUSH            {R7,LR}
ROM:1FFFD6AE                 LDR.W           R0, =0x20000B34
ROM:1FFFD6B2                 LDR             R0, [R0]
ROM:1FFFD6B4                 LDR             R1, [R0,#0xC]
ROM:1FFFD6B6                 BIC.W           R1, R1, #0x60000000
ROM:1FFFD6BA                 STR             R1, [R0,#0xC]
ROM:1FFFD6BC                 MOVW            R0, #0xC350
ROM:1FFFD6C0                 B               loc_1FFFD694
ROM:1FFFD6C0 ; End of function sub_1FFFD6AC
ROM:1FFFD6C0
ROM:1FFFD6C2
ROM:1FFFD6C2 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD6C2
ROM:1FFFD6C2
ROM:1FFFD6C2 sub_1FFFD6C2                            ; CODE XREF: ROM:1FFFE288p
ROM:1FFFD6C2                 LDR.W           R0, =0x20000B34
ROM:1FFFD6C6                 LDR             R0, [R0]
ROM:1FFFD6C8                 LDR             R0, [R0,#0x14]
ROM:1FFFD6CA                 AND.W           R0, R0, #1
ROM:1FFFD6CE                 EOR.W           R0, R0, #1
ROM:1FFFD6D2                 BX              LR
ROM:1FFFD6D2 ; End of function sub_1FFFD6C2
ROM:1FFFD6D2
ROM:1FFFD6D4
ROM:1FFFD6D4 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD6D4
ROM:1FFFD6D4
ROM:1FFFD6D4 sub_1FFFD6D4                            ; CODE XREF: ROM:1FFFE290p
ROM:1FFFD6D4                 LDR.W           R0, =0x20000B34
ROM:1FFFD6D8                 LDR             R0, [R0]
ROM:1FFFD6DA                 LDR             R1, [R0,#0x14]
ROM:1FFFD6DC                 LDR             R0, [R0,#0x18]
ROM:1FFFD6DE                 ANDS            R0, R1
ROM:1FFFD6E0                 BX              LR
ROM:1FFFD6E0 ; End of function sub_1FFFD6D4
ROM:1FFFD6E0
ROM:1FFFD6E2
ROM:1FFFD6E2 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD6E2
ROM:1FFFD6E2
ROM:1FFFD6E2 sub_1FFFD6E2                            ; CODE XREF: usb_chuli+14p
ROM:1FFFD6E2                 PUSH            {R4-R6,LR}
ROM:1FFFD6E4                 LDR.W           R4, =0x20000B34
ROM:1FFFD6E8                 LDR             R0, [R4,#4]
ROM:1FFFD6EA                 LDR             R1, [R0]
ROM:1FFFD6EC                 ORR.W           R1, R1, #3
ROM:1FFFD6F0                 STR             R1, [R0]
ROM:1FFFD6F2                 LDR.W           R0, [R4,#0x90]
ROM:1FFFD6F6                 MOVS            R1, #0
ROM:1FFFD6F8                 STR             R1, [R0]
ROM:1FFFD6FA                 LDR             R0, [R4,#4]
ROM:1FFFD6FC                 LDR             R1, [R0]
ROM:1FFFD6FE                 BIC.W           R1, R1, #0x1800
ROM:1FFFD702                 STR             R1, [R0]
ROM:1FFFD704                 LDR             R0, [R4]
ROM:1FFFD706                 MOVS            R1, #0xA0
ROM:1FFFD708                 STR             R1, [R0,#0x24]
ROM:1FFFD70A                 LDR             R0, [R4]
ROM:1FFFD70C                 MOV.W           R1, #0xA000A0
ROM:1FFFD710                 STR             R1, [R0,#0x28]
ROM:1FFFD712                 MOV.W           R0, #0x140
ROM:1FFFD716                 MOVS            R1, #1
ROM:1FFFD718
ROM:1FFFD718 loc_1FFFD718                            ; CODE XREF: sub_1FFFD6E2+54j
ROM:1FFFD718                 UXTH            R0, R0
ROM:1FFFD71A                 ORR.W           R0, R0, #0xA00000
ROM:1FFFD71E                 LDR             R2, [R4]
ROM:1FFFD720                 ADD.W           R2, R2, R1,LSL#2
ROM:1FFFD724                 STR.W           R0, [R2,#0x100]
ROM:1FFFD728                 ADD.W           R0, R0, R0,LSR#16
ROM:1FFFD72C                 UXTH            R0, R0
ROM:1FFFD72E                 ORR.W           R0, R0, #0xA00000
ROM:1FFFD732                 ADDS            R1, R1, #1
ROM:1FFFD734                 CMP             R1, #4
ROM:1FFFD736                 BCC             loc_1FFFD718
ROM:1FFFD738                 MOVS            R0, #0x10
ROM:1FFFD73A                 BL              sub_1FFFD648
ROM:1FFFD73E                 BL              sub_1FFFD672
ROM:1FFFD742                 LDR             R0, [R4,#4]
ROM:1FFFD744                 MOVS            R1, #0
ROM:1FFFD746                 STR             R1, [R0,#0x10]
ROM:1FFFD748                 LDR             R0, [R4,#4]
ROM:1FFFD74A                 STR             R1, [R0,#0x14]
ROM:1FFFD74C                 LDR             R0, [R4,#4]
ROM:1FFFD74E                 MOV.W           R1, #0xFFFFFFFF
ROM:1FFFD752                 STR             R1, [R0,#0x18]
ROM:1FFFD754                 LDR             R0, [R4,#4]
ROM:1FFFD756                 MOVS            R1, #0
ROM:1FFFD758                 STR             R1, [R0,#0x1C]
ROM:1FFFD75A                 MOVS            R2, #0
ROM:1FFFD75C                 MOVS            R0, #0xFF
ROM:1FFFD75E                 MOV.W           R1, #0x48000000
ROM:1FFFD762
ROM:1FFFD762 loc_1FFFD762                            ; CODE XREF: sub_1FFFD6E2+A0j
ROM:1FFFD762                 ADD.W           R3, R4, R2,LSL#2
ROM:1FFFD766                 LDR             R5, [R3,#0xC]
ROM:1FFFD768                 LDR             R6, [R5]
ROM:1FFFD76A                 CMP             R6, #0
ROM:1FFFD76C                 ITE MI
ROM:1FFFD76E                 MOVMI           R6, R1
ROM:1FFFD770                 MOVPL           R6, #0
ROM:1FFFD772                 STR             R6, [R5]
ROM:1FFFD774                 LDR             R5, [R3,#0xC]
ROM:1FFFD776                 MOVS            R6, #0
ROM:1FFFD778                 STR             R6, [R5,#0x10]
ROM:1FFFD77A                 LDR             R3, [R3,#0xC]
ROM:1FFFD77C                 STR             R0, [R3,#8]
ROM:1FFFD77E                 ADDS            R2, R2, #1
ROM:1FFFD780                 CMP             R2, #5
ROM:1FFFD782                 BCC             loc_1FFFD762
ROM:1FFFD784                 LDR             R2, [R4,#0x2C]
ROM:1FFFD786                 LDR             R3, [R2]
ROM:1FFFD788                 CMP             R3, #0
ROM:1FFFD78A                 IT PL
ROM:1FFFD78C                 MOVPL           R1, #0
ROM:1FFFD78E                 STR             R1, [R2]
ROM:1FFFD790                 LDR             R1, [R4,#0x2C]
ROM:1FFFD792                 STR             R6, [R1,#0x10]
ROM:1FFFD794                 LDR             R1, [R4,#0x2C]
ROM:1FFFD796                 STR             R0, [R1,#8]
ROM:1FFFD798                 BL              sub_1FFFD7AC
ROM:1FFFD79C                 LDR             R0, [R4,#4]
ROM:1FFFD79E                 LDR             R1, [R0,#0x10]
ROM:1FFFD7A0                 MOV.W           R2, #0x100
ROM:1FFFD7A4                 ORRS            R1, R2
ROM:1FFFD7A6                 STR             R1, [R0,#0x10]
ROM:1FFFD7A8                 MOVS            R0, #0
ROM:1FFFD7AA                 POP             {R4-R6,PC}
ROM:1FFFD7AA ; End of function sub_1FFFD6E2
ROM:1FFFD7AA
ROM:1FFFD7AC
ROM:1FFFD7AC ; =============== S U B R O U T I N E =======================================
ROM:1FFFD7AC
ROM:1FFFD7AC
ROM:1FFFD7AC sub_1FFFD7AC                            ; CODE XREF: sub_1FFFD6E2+B6p
ROM:1FFFD7AC                 LDR.W           R0, =0x20000B34
ROM:1FFFD7B0                 LDR             R0, [R0]
ROM:1FFFD7B2                 MOVS            R1, #0
ROM:1FFFD7B4                 STR             R1, [R0,#0x18]
ROM:1FFFD7B6                 MOV.W           R1, #0xFFFFFFFF
ROM:1FFFD7BA                 STR             R1, [R0,#0x14]
ROM:1FFFD7BC                 STR             R1, [R0,#4]
ROM:1FFFD7BE                 STR             R1, [R0,#0x14]
ROM:1FFFD7C0                 MOV.W           R1, #0x208
ROM:1FFFD7C4                 STR             R1, [R0,#0x18]
ROM:1FFFD7C6                 LDR             R1, [R0,#0x18]
ROM:1FFFD7C8                 ORR.W           R1, R1, #0xC3000
ROM:1FFFD7CC                 ORR.W           R1, R1, #0x10
ROM:1FFFD7D0                 STR             R1, [R0,#0x18]
ROM:1FFFD7D2                 MOVS            R0, #0
ROM:1FFFD7D4                 BX              LR
ROM:1FFFD7D4 ; End of function sub_1FFFD7AC
ROM:1FFFD7D4
ROM:1FFFD7D6
ROM:1FFFD7D6 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD7D6
ROM:1FFFD7D6
ROM:1FFFD7D6 sub_1FFFD7D6                            ; CODE XREF: ROM:1FFFE2C2p
ROM:1FFFD7D6                 PUSH            {R4,LR}
ROM:1FFFD7D8                 LDR.W           R0, =0x20000B34
ROM:1FFFD7DC                 LDR             R1, [R0,#4]
ROM:1FFFD7DE                 LDR             R2, [R1,#8]
ROM:1FFFD7E0                 LDR             R0, [R0,#0xC]
ROM:1FFFD7E2                 LDR             R3, [R0]
ROM:1FFFD7E4                 LSRS            R4, R3, #0xB
ROM:1FFFD7E6                 LSLS            R4, R4, #0xB
ROM:1FFFD7E8                 LSRS            R2, R2, #1
ROM:1FFFD7EA                 ANDS.W          R2, R2, #3
ROM:1FFFD7EE                 BEQ             loc_1FFFD7FA
ROM:1FFFD7F0                 CMP             R2, #2
ROM:1FFFD7F2                 BEQ             loc_1FFFD7FE
ROM:1FFFD7F4                 BCC             loc_1FFFD7FA
ROM:1FFFD7F6                 CMP             R2, #3
ROM:1FFFD7F8                 BNE             loc_1FFFD802
ROM:1FFFD7FA
ROM:1FFFD7FA loc_1FFFD7FA                            ; CODE XREF: sub_1FFFD7D6+18j
ROM:1FFFD7FA                                         ; sub_1FFFD7D6+1Ej
ROM:1FFFD7FA                 MOV             R3, R4
ROM:1FFFD7FC                 B               loc_1FFFD802
ROM:1FFFD7FE ; ---------------------------------------------------------------------------
ROM:1FFFD7FE
ROM:1FFFD7FE loc_1FFFD7FE                            ; CODE XREF: sub_1FFFD7D6+1Cj
ROM:1FFFD7FE                 ORR.W           R3, R4, #3
ROM:1FFFD802
ROM:1FFFD802 loc_1FFFD802                            ; CODE XREF: sub_1FFFD7D6+22j
ROM:1FFFD802                                         ; sub_1FFFD7D6+26j
ROM:1FFFD802                 STR             R3, [R0]
ROM:1FFFD804                 LDR             R0, [R1,#4]
ROM:1FFFD806                 MOV.W           R2, #0x100
ROM:1FFFD80A                 ORRS            R0, R2
ROM:1FFFD80C                 STR             R0, [R1,#4]
ROM:1FFFD80E                 MOVS            R0, #0
ROM:1FFFD810                 POP             {R4,PC}
ROM:1FFFD810 ; End of function sub_1FFFD7D6
ROM:1FFFD810
ROM:1FFFD812
ROM:1FFFD812 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD812
ROM:1FFFD812
ROM:1FFFD812 sub_1FFFD812                            ; CODE XREF: sub_1FFFDBB4+48p
ROM:1FFFD812                 PUSH            {R4,R5,LR}
ROM:1FFFD814                 LDR.W           R1, =0x20000B34
ROM:1FFFD818                 LDRB            R2, [R0,#1]
ROM:1FFFD81A                 CMP             R2, #1
ROM:1FFFD81C                 LDRB            R3, [R0]
ROM:1FFFD81E                 ADD.W           R2, R1, R3,LSL#2
ROM:1FFFD822                 BNE             loc_1FFFD830
ROM:1FFFD824                 LDR             R2, [R2,#0xC]
ROM:1FFFD826                 MOVS            R4, #1
ROM:1FFFD828                 LSL.W           R3, R4, R3
ROM:1FFFD82C                 UXTH            R3, R3
ROM:1FFFD82E                 B               loc_1FFFD83A
ROM:1FFFD830 ; ---------------------------------------------------------------------------
ROM:1FFFD830
ROM:1FFFD830 loc_1FFFD830                            ; CODE XREF: sub_1FFFD812+10j
ROM:1FFFD830                 LDR             R2, [R2,#0x2C]
ROM:1FFFD832                 MOVS            R4, #1
ROM:1FFFD834                 LSL.W           R3, R4, R3
ROM:1FFFD838                 LSLS            R3, R3, #0x10
ROM:1FFFD83A
ROM:1FFFD83A loc_1FFFD83A                            ; CODE XREF: sub_1FFFD812+1Cj
ROM:1FFFD83A                 LDR             R4, [R2]
ROM:1FFFD83C                 LSLS            R5, R4, #0x10
ROM:1FFFD83E                 BMI             loc_1FFFD86A
ROM:1FFFD840                 LDR             R5, =0xFC33F800
ROM:1FFFD842                 ANDS            R4, R5
ROM:1FFFD844                 LDR             R5, [R0,#0x10]
ROM:1FFFD846                 LSLS            R5, R5, #0x15
ROM:1FFFD848                 ORRS.W          R4, R4, R5,LSR#21
ROM:1FFFD84C                 LDR             R5, [R0,#8]
ROM:1FFFD84E                 LSLS            R5, R5, #0x12
ROM:1FFFD850                 AND.W           R5, R5, #0xC0000
ROM:1FFFD854                 ORRS            R4, R5
ROM:1FFFD856                 LDR             R0, [R0,#4]
ROM:1FFFD858                 LSLS            R0, R0, #0x16
ROM:1FFFD85A                 AND.W           R0, R0, #0x3C00000
ROM:1FFFD85E                 ORRS            R0, R4
ROM:1FFFD860                 ORR.W           R0, R0, #0x10000000
ROM:1FFFD864                 ORR.W           R0, R0, #0x8000
ROM:1FFFD868                 STR             R0, [R2]
ROM:1FFFD86A
ROM:1FFFD86A loc_1FFFD86A                            ; CODE XREF: sub_1FFFD812+2Cj
ROM:1FFFD86A                 LDR             R0, [R1,#4]
ROM:1FFFD86C                 LDR             R1, [R0,#0x1C]
ROM:1FFFD86E                 ORRS            R1, R3
ROM:1FFFD870                 STR             R1, [R0,#0x1C]
ROM:1FFFD872                 MOVS            R0, #0
ROM:1FFFD874                 POP             {R4,R5,PC}
ROM:1FFFD874 ; End of function sub_1FFFD812
ROM:1FFFD874
ROM:1FFFD876
ROM:1FFFD876 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD876
ROM:1FFFD876
ROM:1FFFD876 sub_1FFFD876                            ; CODE XREF: sub_1FFFDC04+50p
ROM:1FFFD876                 PUSH            {R4-R7,LR}
ROM:1FFFD878                 LDR             R1, =0x20000B34
ROM:1FFFD87A                 LDRB            R2, [R0]
ROM:1FFFD87C                 ADD.W           R2, R1, R2,LSL#2
ROM:1FFFD880                 LDR             R4, [R0,#0x18]
ROM:1FFFD882                 LDRB            R3, [R0,#1]
ROM:1FFFD884                 CMP             R3, #1
ROM:1FFFD886                 BNE             loc_1FFFD8F2
ROM:1FFFD888                 LDR             R5, [R2,#0xC]
ROM:1FFFD88A                 LDR             R2, [R5]
ROM:1FFFD88C                 LDR             R3, [R5,#0x10]
ROM:1FFFD88E                 CBNZ            R4, loc_1FFFD89A
ROM:1FFFD890                 AND.W           R3, R3, #0xE0000000
ROM:1FFFD894                 ORR.W           R3, R3, #0x80000
ROM:1FFFD898                 B               loc_1FFFD8B0
ROM:1FFFD89A ; ---------------------------------------------------------------------------
ROM:1FFFD89A
ROM:1FFFD89A loc_1FFFD89A                            ; CODE XREF: sub_1FFFD876+18j
ROM:1FFFD89A                 LDR             R6, [R0,#0x10]
ROM:1FFFD89C                 ADDS            R7, R6, R4
ROM:1FFFD89E                 SUBS            R7, R7, #1
ROM:1FFFD8A0                 UDIV.W          R6, R7, R6
ROM:1FFFD8A4                 LSLS            R4, R4, #0xD
ROM:1FFFD8A6                 LSRS            R4, R4, #0xD
ROM:1FFFD8A8                 ORR.W           R4, R4, R6,LSL#19
ROM:1FFFD8AC                 BFI.W           R3, R4, #0, #0x1D
ROM:1FFFD8B0
ROM:1FFFD8B0 loc_1FFFD8B0                            ; CODE XREF: sub_1FFFD876+22j
ROM:1FFFD8B0                 STR             R3, [R5,#0x10]
ROM:1FFFD8B2                 LDR             R3, [R0,#8]
ROM:1FFFD8B4                 CMP             R3, #1
ROM:1FFFD8B6                 ITT NE
ROM:1FFFD8B8                 LDRNE           R3, [R0,#0x18]
ROM:1FFFD8BA                 CMPNE           R3, #0
ROM:1FFFD8BC                 BEQ             loc_1FFFD8CE
ROM:1FFFD8BE                 LDR             R3, [R1,#4]
ROM:1FFFD8C0                 LDR             R4, [R3,#0x34]
ROM:1FFFD8C2                 MOVS            R5, #1
ROM:1FFFD8C4                 LDRSB.W         R6, [R0]
ROM:1FFFD8C8                 LSLS            R5, R6
ROM:1FFFD8CA                 ORRS            R4, R5
ROM:1FFFD8CC                 STR             R4, [R3,#0x34]
ROM:1FFFD8CE
ROM:1FFFD8CE loc_1FFFD8CE                            ; CODE XREF: sub_1FFFD876+46j
ROM:1FFFD8CE                 LDRB            R3, [R0]
ROM:1FFFD8D0                 ADD.W           R3, R1, R3,LSL#2
ROM:1FFFD8D4                 LDR             R3, [R3,#0xC]
ROM:1FFFD8D6                 ORR.W           R2, R2, #0x84000000
ROM:1FFFD8DA                 STR             R2, [R3]
ROM:1FFFD8DC                 LDR             R1, [R1,#0xC]
ROM:1FFFD8DE                 LDR             R2, [R1]
ROM:1FFFD8E0                 BIC.W           R2, R2, #0x7800
ROM:1FFFD8E4                 LDRB            R0, [R0]
ROM:1FFFD8E6                 LSLS            R0, R0, #0xB
ROM:1FFFD8E8                 AND.W           R0, R0, #0x7800
ROM:1FFFD8EC                 ORRS            R0, R2
ROM:1FFFD8EE                 STR             R0, [R1]
ROM:1FFFD8F0                 B               loc_1FFFD944
ROM:1FFFD8F2 ; ---------------------------------------------------------------------------
ROM:1FFFD8F2
ROM:1FFFD8F2 loc_1FFFD8F2                            ; CODE XREF: sub_1FFFD876+10j
ROM:1FFFD8F2                 LDR             R5, [R2,#0x2C]
ROM:1FFFD8F4                 LDR             R2, [R5]
ROM:1FFFD8F6                 LDR             R3, [R5,#0x10]
ROM:1FFFD8F8                 LDR             R6, [R0,#0x10]
ROM:1FFFD8FA                 CBNZ            R4, loc_1FFFD90A
ROM:1FFFD8FC                 LSLS            R4, R6, #0xD
ROM:1FFFD8FE                 LSRS            R4, R4, #0xD
ROM:1FFFD900                 ORR.W           R4, R4, #0x80000
ROM:1FFFD904                 BFI.W           R3, R4, #0, #0x1D
ROM:1FFFD908                 B               loc_1FFFD920
ROM:1FFFD90A ; ---------------------------------------------------------------------------
ROM:1FFFD90A
ROM:1FFFD90A loc_1FFFD90A                            ; CODE XREF: sub_1FFFD876+84j
ROM:1FFFD90A                 ADDS            R4, R6, R4
ROM:1FFFD90C                 SUBS            R4, R4, #1
ROM:1FFFD90E                 UDIV.W          R4, R4, R6
ROM:1FFFD912                 BFI.W           R3, R4, #0x13, #0xA
ROM:1FFFD916                 UBFX.W          R4, R3, #0x13, #0xA
ROM:1FFFD91A                 MULS            R4, R6
ROM:1FFFD91C                 BFI.W           R3, R4, #0, #0x13
ROM:1FFFD920
ROM:1FFFD920 loc_1FFFD920                            ; CODE XREF: sub_1FFFD876+92j
ROM:1FFFD920                 STR             R3, [R5,#0x10]
ROM:1FFFD922                 LDR             R3, [R0,#8]
ROM:1FFFD924                 CMP             R3, #1
ROM:1FFFD926                 BNE             loc_1FFFD936
ROM:1FFFD928                 LDRB            R3, [R0,#0xD]
ROM:1FFFD92A                 CMP             R3, #0
ROM:1FFFD92C                 ITE NE
ROM:1FFFD92E                 ORRNE.W         R2, R2, #0x20000000
ROM:1FFFD932                 ORREQ.W         R2, R2, #0x10000000
ROM:1FFFD936
ROM:1FFFD936 loc_1FFFD936                            ; CODE XREF: sub_1FFFD876+B0j
ROM:1FFFD936                 LDRB            R0, [R0]
ROM:1FFFD938                 ADD.W           R0, R1, R0,LSL#2
ROM:1FFFD93C                 LDR             R0, [R0,#0x2C]
ROM:1FFFD93E                 ORR.W           R1, R2, #0x84000000
ROM:1FFFD942                 STR             R1, [R0]
ROM:1FFFD944
ROM:1FFFD944 loc_1FFFD944                            ; CODE XREF: sub_1FFFD876+7Aj
ROM:1FFFD944                 MOVS            R0, #0
ROM:1FFFD946                 POP             {R4-R7,PC}
ROM:1FFFD946 ; End of function sub_1FFFD876
ROM:1FFFD946
ROM:1FFFD948
ROM:1FFFD948 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD948
ROM:1FFFD948
ROM:1FFFD948 sub_1FFFD948                            ; CODE XREF: sub_1FFFD356+Ep
ROM:1FFFD948                                         ; sub_1FFFDC04+42p
ROM:1FFFD948
ROM:1FFFD948 var_18          = -0x18
ROM:1FFFD948
ROM:1FFFD948                 PUSH            {R2-R6,LR}
ROM:1FFFD94A                 LDR             R4, [R0,#0x18]
ROM:1FFFD94C                 LDR             R1, =0x20000B34
ROM:1FFFD94E                 LDRB            R2, [R0,#1]
ROM:1FFFD950                 CMP             R2, #1
ROM:1FFFD952                 BNE             loc_1FFFD9AA
ROM:1FFFD954                 LDR             R3, [R1,#0xC]
ROM:1FFFD956                 LDR             R2, [R3]
ROM:1FFFD958                 LDR             R5, [R3,#0x10]
ROM:1FFFD95A                 STR             R5, [SP,#0x18+var_18]
ROM:1FFFD95C                 CBNZ            R4, loc_1FFFD966
ROM:1FFFD95E                 LSRS            R4, R5, #7
ROM:1FFFD960                 LSLS            R4, R4, #7
ROM:1FFFD962                 STR             R4, [SP,#0x18+var_18]
ROM:1FFFD964                 B               loc_1FFFD982
ROM:1FFFD966 ; ---------------------------------------------------------------------------
ROM:1FFFD966
ROM:1FFFD966 loc_1FFFD966                            ; CODE XREF: sub_1FFFD948+14j
ROM:1FFFD966                 LDR             R5, [R0,#0x10]
ROM:1FFFD968                 CMP             R5, R4
ROM:1FFFD96A                 BCS             loc_1FFFD978
ROM:1FFFD96C                 STR             R5, [R0,#0x18]
ROM:1FFFD96E                 LDR             R4, [SP,#0x18+var_18]
ROM:1FFFD970                 BFI.W           R4, R5, #0, #7
ROM:1FFFD974                 STR             R4, [SP,#0x18+var_18]
ROM:1FFFD976                 B               loc_1FFFD980
ROM:1FFFD978 ; ---------------------------------------------------------------------------
ROM:1FFFD978
ROM:1FFFD978 loc_1FFFD978                            ; CODE XREF: sub_1FFFD948+22j
ROM:1FFFD978                 LDR             R5, [SP,#0x18+var_18]
ROM:1FFFD97A                 BFI.W           R5, R4, #0, #7
ROM:1FFFD97E                 STR             R5, [SP,#0x18+var_18]
ROM:1FFFD980
ROM:1FFFD980 loc_1FFFD980                            ; CODE XREF: sub_1FFFD948+2Ej
ROM:1FFFD980                 LDR             R4, [SP,#0x18+var_18]
ROM:1FFFD982
ROM:1FFFD982 loc_1FFFD982                            ; CODE XREF: sub_1FFFD948+1Cj
ROM:1FFFD982                 ORR.W           R4, R4, #0x80000
ROM:1FFFD986                 STR             R4, [SP,#0x18+var_18]
ROM:1FFFD988                 LDR             R4, [SP,#0x18+var_18]
ROM:1FFFD98A                 STR             R4, [R3,#0x10]
ROM:1FFFD98C                 ORR.W           R2, R2, #0x84000000
ROM:1FFFD990                 STR             R2, [R3]
ROM:1FFFD992                 LDR             R2, [R0,#0x18]
ROM:1FFFD994                 CBZ             R2, loc_1FFFD9FE
ROM:1FFFD996                 LDR             R1, [R1,#4]
ROM:1FFFD998                 LDR             R2, [R1,#0x34]
ROM:1FFFD99A                 MOVS            R3, #1
ROM:1FFFD99C                 LDRSB.W         R0, [R0]
ROM:1FFFD9A0                 LSL.W           R0, R3, R0
ROM:1FFFD9A4                 ORRS            R0, R2
ROM:1FFFD9A6                 STR             R0, [R1,#0x34]
ROM:1FFFD9A8                 B               loc_1FFFD9FE
ROM:1FFFD9AA ; ---------------------------------------------------------------------------
ROM:1FFFD9AA
ROM:1FFFD9AA loc_1FFFD9AA                            ; CODE XREF: sub_1FFFD948+Aj
ROM:1FFFD9AA                 LDRB            R2, [R0]
ROM:1FFFD9AC                 ADD.W           R2, R1, R2,LSL#2
ROM:1FFFD9B0                 LDR             R3, [R2,#0x2C]
ROM:1FFFD9B2                 LDR             R2, [R3]
ROM:1FFFD9B4                 LDR             R5, [R3,#0x10]
ROM:1FFFD9B6                 STR             R5, [SP,#0x18+var_18]
ROM:1FFFD9B8                 LDR             R5, [R0,#0x10]
ROM:1FFFD9BA                 CBNZ            R4, loc_1FFFD9CC
ROM:1FFFD9BC                 LDR             R4, [SP,#0x18+var_18]
ROM:1FFFD9BE                 BFI.W           R4, R5, #0, #7
ROM:1FFFD9C2                 STR             R4, [SP,#0x18+var_18]
ROM:1FFFD9C4                 ORR.W           R4, R4, #0x80000
ROM:1FFFD9C8                 STR             R4, [SP,#0x18+var_18]
ROM:1FFFD9CA                 B               loc_1FFFD9EC
ROM:1FFFD9CC ; ---------------------------------------------------------------------------
ROM:1FFFD9CC
ROM:1FFFD9CC loc_1FFFD9CC                            ; CODE XREF: sub_1FFFD948+72j
ROM:1FFFD9CC                 ADDS            R4, R5, R4
ROM:1FFFD9CE                 SUBS            R4, R4, #1
ROM:1FFFD9D0                 UDIV.W          R4, R4, R5
ROM:1FFFD9D4                 LDR             R6, [SP,#0x18+var_18]
ROM:1FFFD9D6                 BFI.W           R6, R4, #0x13, #1
ROM:1FFFD9DA                 STR             R6, [SP,#0x18+var_18]
ROM:1FFFD9DC                 LDR             R4, [SP,#0x18+var_18]
ROM:1FFFD9DE                 UBFX.W          R4, R4, #0x13, #1
ROM:1FFFD9E2                 MULS            R4, R5
ROM:1FFFD9E4                 LDR             R5, [SP,#0x18+var_18]
ROM:1FFFD9E6                 BFI.W           R5, R4, #0, #7
ROM:1FFFD9EA                 STR             R5, [SP,#0x18+var_18]
ROM:1FFFD9EC
ROM:1FFFD9EC loc_1FFFD9EC                            ; CODE XREF: sub_1FFFD948+82j
ROM:1FFFD9EC                 LDR             R4, [SP,#0x18+var_18]
ROM:1FFFD9EE                 STR             R4, [R3,#0x10]
ROM:1FFFD9F0                 LDRB            R0, [R0]
ROM:1FFFD9F2                 ADD.W           R0, R1, R0,LSL#2
ROM:1FFFD9F6                 LDR             R0, [R0,#0x2C]
ROM:1FFFD9F8                 ORR.W           R1, R2, #0x84000000
ROM:1FFFD9FC                 STR             R1, [R0]
ROM:1FFFD9FE
ROM:1FFFD9FE loc_1FFFD9FE                            ; CODE XREF: sub_1FFFD948+4Cj
ROM:1FFFD9FE                                         ; sub_1FFFD948+60j
ROM:1FFFD9FE                 MOVS            R0, #0
ROM:1FFFDA00                 POP             {R1,R2,R4-R6,PC}
ROM:1FFFDA00 ; End of function sub_1FFFD948
ROM:1FFFDA00
ROM:1FFFDA02
ROM:1FFFDA02 ; =============== S U B R O U T I N E =======================================
ROM:1FFFDA02
ROM:1FFFDA02
ROM:1FFFDA02 sub_1FFFDA02                            ; CODE XREF: sub_1FFFDAB8+24p
ROM:1FFFDA02                 LDRB            R1, [R0,#1]
ROM:1FFFDA04                 CMP             R1, #1
ROM:1FFFDA06                 LDRB            R0, [R0]
ROM:1FFFDA08                 LDR             R1, =0x20000B34
ROM:1FFFDA0A                 ADD.W           R0, R1, R0,LSL#2
ROM:1FFFDA0E                 BNE             loc_1FFFDA1E
ROM:1FFFDA10                 LDR             R0, [R0,#0xC]
ROM:1FFFDA12                 LDR             R1, [R0]
ROM:1FFFDA14                 CMP             R1, #0
ROM:1FFFDA16                 BPL             loc_1FFFDA22
ROM:1FFFDA18                 ORR.W           R1, R1, #0x40000000
ROM:1FFFDA1C                 B               loc_1FFFDA22
ROM:1FFFDA1E ; ---------------------------------------------------------------------------
ROM:1FFFDA1E
ROM:1FFFDA1E loc_1FFFDA1E                            ; CODE XREF: sub_1FFFDA02+Cj
ROM:1FFFDA1E                 LDR             R0, [R0,#0x2C]
ROM:1FFFDA20                 LDR             R1, [R0]
ROM:1FFFDA22
ROM:1FFFDA22 loc_1FFFDA22                            ; CODE XREF: sub_1FFFDA02+14j
ROM:1FFFDA22                                         ; sub_1FFFDA02+1Aj
ROM:1FFFDA22                 ORR.W           R1, R1, #0x200000
ROM:1FFFDA26                 STR             R1, [R0]
ROM:1FFFDA28                 MOVS            R0, #0
ROM:1FFFDA2A                 BX              LR
ROM:1FFFDA2A ; End of function sub_1FFFDA02
ROM:1FFFDA2A
ROM:1FFFDA2C
ROM:1FFFDA2C ; =============== S U B R O U T I N E =======================================
ROM:1FFFDA2C
ROM:1FFFDA2C
ROM:1FFFDA2C sub_1FFFDA2C                            ; CODE XREF: sub_1FFFDAB8+58p
ROM:1FFFDA2C                 LDRB            R1, [R0,#1]
ROM:1FFFDA2E                 CMP             R1, #1
ROM:1FFFDA30                 LDRB            R1, [R0]
ROM:1FFFDA32                 LDR             R2, =0x20000B34
ROM:1FFFDA34                 ADD.W           R1, R2, R1,LSL#2
ROM:1FFFDA38                 ITE EQ
ROM:1FFFDA3A                 LDREQ           R1, [R1,#0xC]
ROM:1FFFDA3C                 LDRNE           R1, [R1,#0x2C]
ROM:1FFFDA3E                 LDR             R2, [R1]
ROM:1FFFDA40                 BIC.W           R2, R2, #0x200000
ROM:1FFFDA44                 LDR             R0, [R0,#8]
ROM:1FFFDA46                 CMP             R0, #3
ROM:1FFFDA48                 ITE NE
ROM:1FFFDA4A                 CMPNE           R0, #2
ROM:1FFFDA4C                 ORREQ.W         R2, R2, #0x10000000
ROM:1FFFDA50                 STR             R2, [R1]
ROM:1FFFDA52                 MOVS            R0, #0
ROM:1FFFDA54                 BX              LR
ROM:1FFFDA54 ; End of function sub_1FFFDA2C
ROM:1FFFDA54
ROM:1FFFDA56
ROM:1FFFDA56 ; =============== S U B R O U T I N E =======================================
ROM:1FFFDA56
ROM:1FFFDA56
ROM:1FFFDA56 sub_1FFFDA56                            ; CODE XREF: sub_1FFFE430+6p
ROM:1FFFDA56                 LDR             R0, =0x20000B34
ROM:1FFFDA58                 LDR             R0, [R0,#4]
ROM:1FFFDA5A                 LDR             R1, [R0,#0x18]
ROM:1FFFDA5C                 LDR             R0, [R0,#0x1C]
ROM:1FFFDA5E                 ANDS            R0, R1
ROM:1FFFDA60                 LSRS            R0, R0, #0x10
ROM:1FFFDA62                 BX              LR
ROM:1FFFDA62 ; End of function sub_1FFFDA56
ROM:1FFFDA62
ROM:1FFFDA64
ROM:1FFFDA64 ; =============== S U B R O U T I N E =======================================
ROM:1FFFDA64
ROM:1FFFDA64
ROM:1FFFDA64 sub_1FFFDA64                            ; CODE XREF: sub_1FFFE430+5Cp
ROM:1FFFDA64                 LDR             R1, =0x20000B34
ROM:1FFFDA66                 LDRB            R0, [R0]
ROM:1FFFDA68                 ADD.W           R0, R1, R0,LSL#2
ROM:1FFFDA6C                 LDR             R0, [R0,#0x2C]
ROM:1FFFDA6E                 LDR             R0, [R0,#8]
ROM:1FFFDA70                 LDR             R1, [R1,#4]
ROM:1FFFDA72                 LDR             R1, [R1,#0x14]
ROM:1FFFDA74                 ANDS            R0, R1
ROM:1FFFDA76                 BX              LR
ROM:1FFFDA76 ; End of function sub_1FFFDA64
ROM:1FFFDA76
ROM:1FFFDA78
ROM:1FFFDA78 ; =============== S U B R O U T I N E =======================================
ROM:1FFFDA78
ROM:1FFFDA78
ROM:1FFFDA78 sub_1FFFDA78                            ; CODE XREF: sub_1FFFE356+6p
ROM:1FFFDA78                 LDR             R0, =0x20000B34
ROM:1FFFDA7A                 LDR             R0, [R0,#4]
ROM:1FFFDA7C                 LDR             R1, [R0,#0x18]
ROM:1FFFDA7E                 LDR             R0, [R0,#0x1C]
ROM:1FFFDA80                 ANDS            R0, R1
ROM:1FFFDA82                 UXTH            R0, R0
ROM:1FFFDA84                 BX              LR
ROM:1FFFDA84 ; End of function sub_1FFFDA78
ROM:1FFFDA84
ROM:1FFFDA86
ROM:1FFFDA86 ; =============== S U B R O U T I N E =======================================
ROM:1FFFDA86
ROM:1FFFDA86
ROM:1FFFDA86 sub_1FFFDA86                            ; CODE XREF: sub_1FFFCBBE+Ep
ROM:1FFFDA86                 LDRB            R1, [R0]
ROM:1FFFDA88                 LDR             R2, =0x20000B34
ROM:1FFFDA8A                 ADD.W           R1, R2, R1,LSL#2
ROM:1FFFDA8E                 LDRB            R0, [R0,#1]
ROM:1FFFDA90                 CMP             R0, #1
ROM:1FFFDA92                 ITE EQ
ROM:1FFFDA94                 LDREQ           R1, [R1,#0xC]
ROM:1FFFDA96                 LDRNE           R1, [R1,#0x2C]
ROM:1FFFDA98                 LDR             R1, [R1]
ROM:1FFFDA9A                 BNE             loc_1FFFDAA8
ROM:1FFFDA9C                 LSLS            R0, R1, #0xA
ROM:1FFFDA9E                 BPL             loc_1FFFDAA4
ROM:1FFFDAA0                 MOVS            R0, #0x10
ROM:1FFFDAA2                 BX              LR
ROM:1FFFDAA4 ; ---------------------------------------------------------------------------
ROM:1FFFDAA4
ROM:1FFFDAA4 loc_1FFFDAA4                            ; CODE XREF: sub_1FFFDA86+18j
ROM:1FFFDAA4                 MOVS            R0, #0x30
ROM:1FFFDAA6                 BX              LR
ROM:1FFFDAA8 ; ---------------------------------------------------------------------------
ROM:1FFFDAA8
ROM:1FFFDAA8 loc_1FFFDAA8                            ; CODE XREF: sub_1FFFDA86+14j
ROM:1FFFDAA8                 LSLS            R0, R1, #0xA
ROM:1FFFDAAA                 BPL             loc_1FFFDAB2
ROM:1FFFDAAC                 MOV.W           R0, #0x1000
ROM:1FFFDAB0                 BX              LR
ROM:1FFFDAB2 ; ---------------------------------------------------------------------------
ROM:1FFFDAB2
ROM:1FFFDAB2 loc_1FFFDAB2                            ; CODE XREF: sub_1FFFDA86+24j
ROM:1FFFDAB2                 MOV.W           R0, #0x3000
ROM:1FFFDAB6                 BX              LR
ROM:1FFFDAB6 ; End of function sub_1FFFDA86
ROM:1FFFDAB6
ROM:1FFFDAB8
ROM:1FFFDAB8 ; =============== S U B R O U T I N E =======================================
ROM:1FFFDAB8
ROM:1FFFDAB8
ROM:1FFFDAB8 sub_1FFFDAB8                            ; CODE XREF: sub_1FFFCBD0+1Ep
ROM:1FFFDAB8                                         ; sub_1FFFCBF2+12p
ROM:1FFFDAB8                 PUSH            {R3-R5,LR}
ROM:1FFFDABA                 LDRB            R2, [R0,#1]
ROM:1FFFDABC                 CMP             R2, #1
ROM:1FFFDABE                 LDRB            R3, [R0]
ROM:1FFFDAC0                 LDR             R4, =0x20000B34
ROM:1FFFDAC2                 ADD.W           R3, R4, R3,LSL#2
ROM:1FFFDAC6                 ITE EQ
ROM:1FFFDAC8                 LDREQ           R3, [R3,#0xC]
ROM:1FFFDACA                 LDRNE           R3, [R3,#0x2C]
ROM:1FFFDACC                 LDR             R4, [R3]
ROM:1FFFDACE                 BIC.W           R5, R4, #0x8000
ROM:1FFFDAD2                 BNE             loc_1FFFDAEA
ROM:1FFFDAD4                 CMP             R1, #0x10
ROM:1FFFDAD6                 ITT EQ
ROM:1FFFDAD8                 POPEQ.W         {R1,R4,R5,LR}
ROM:1FFFDADC                 BEQ.W           sub_1FFFDA02
ROM:1FFFDAE0                 CMP             R1, #0x20
ROM:1FFFDAE2                 BEQ             loc_1FFFDAFC
ROM:1FFFDAE4                 CMP             R1, #0x30
ROM:1FFFDAE6                 BEQ             loc_1FFFDB08
ROM:1FFFDAE8                 B               loc_1FFFDB1E
ROM:1FFFDAEA ; ---------------------------------------------------------------------------
ROM:1FFFDAEA
ROM:1FFFDAEA loc_1FFFDAEA                            ; CODE XREF: sub_1FFFDAB8+1Aj
ROM:1FFFDAEA                 CMP.W           R1, #0x1000
ROM:1FFFDAEE                 IT EQ
ROM:1FFFDAF0                 ORREQ.W         R4, R4, #0x200000
ROM:1FFFDAF4                 BEQ             loc_1FFFDB22
ROM:1FFFDAF6                 CMP.W           R1, #0x2000
ROM:1FFFDAFA                 BNE             loc_1FFFDB02
ROM:1FFFDAFC
ROM:1FFFDAFC loc_1FFFDAFC                            ; CODE XREF: sub_1FFFDAB8+2Aj
ROM:1FFFDAFC                 ORR.W           R4, R4, #0x8000000
ROM:1FFFDB00                 B               loc_1FFFDB22
ROM:1FFFDB02 ; ---------------------------------------------------------------------------
ROM:1FFFDB02
ROM:1FFFDB02 loc_1FFFDB02                            ; CODE XREF: sub_1FFFDAB8+42j
ROM:1FFFDB02                 CMP.W           R1, #0x3000
ROM:1FFFDB06                 BNE             loc_1FFFDB1E
ROM:1FFFDB08
ROM:1FFFDB08 loc_1FFFDB08                            ; CODE XREF: sub_1FFFDAB8+2Ej
ROM:1FFFDB08                 LSLS            R1, R4, #0xA
ROM:1FFFDB0A                 ITT MI
ROM:1FFFDB0C                 POPMI.W         {R1,R4,R5,LR}
ROM:1FFFDB10                 BMI.W           sub_1FFFDA2C
ROM:1FFFDB14                 ORR.W           R4, R4, #0x84000000
ROM:1FFFDB18                 ORR.W           R4, R4, #0x8000
ROM:1FFFDB1C                 B               loc_1FFFDB22
ROM:1FFFDB1E ; ---------------------------------------------------------------------------
ROM:1FFFDB1E
ROM:1FFFDB1E loc_1FFFDB1E                            ; CODE XREF: sub_1FFFDAB8+30j
ROM:1FFFDB1E                                         ; sub_1FFFDAB8+4Ej
ROM:1FFFDB1E                 CBNZ            R1, loc_1FFFDB22
ROM:1FFFDB20                 MOV             R4, R5
ROM:1FFFDB22
ROM:1FFFDB22 loc_1FFFDB22                            ; CODE XREF: sub_1FFFDAB8+3Cj
ROM:1FFFDB22                                         ; sub_1FFFDAB8+48j ...
ROM:1FFFDB22                 LDR             R0, [R0,#8]
ROM:1FFFDB24                 CMP             R0, #3
ROM:1FFFDB26                 ITE NE
ROM:1FFFDB28                 CMPNE           R0, #2
ROM:1FFFDB2A                 ORREQ.W         R4, R4, #0x10000000
ROM:1FFFDB2E                 STR             R4, [R3]
ROM:1FFFDB30                 POP             {R0,R4,R5,PC}
ROM:1FFFDB30 ; End of function sub_1FFFDAB8
ROM:1FFFDB30
ROM:1FFFDB30 ; ---------------------------------------------------------------------------
ROM:1FFFDB32                 ALIGN 4
ROM:1FFFDB34 dword_1FFFDB34  DCD 0x20000B34          ; DATA XREF: sub_1FFFD4D2+2r
ROM:1FFFDB34                                         ; sub_1FFFD4F4+Ar ...
ROM:1FFFDB38 dword_1FFFDB38  DCD 0x30D40             ; DATA XREF: sub_1FFFD4D2+Er
ROM:1FFFDB3C dword_1FFFDB3C  DCD 0x30D41             ; DATA XREF: sub_1FFFD5DE+6r
ROM:1FFFDB3C                                         ; sub_1FFFD69C+Ar
ROM:1FFFDB40 dword_1FFFDB40  DCD 0xFC33F800          ; DATA XREF: sub_1FFFD812+2Er
ROM:1FFFDB44 ; ---------------------------------------------------------------------------
ROM:1FFFDB44 ; START OF FUNCTION CHUNK FOR sub_1FFFDCCA
ROM:1FFFDB44
ROM:1FFFDB44 delay_func                              ; CODE XREF: sub_1FFFDCCA+10j
ROM:1FFFDB44                 MOVS            R1, #0
ROM:1FFFDB46                 MOVS            R2, #0xA
ROM:1FFFDB48                 MULS            R0, R2
ROM:1FFFDB4A
ROM:1FFFDB4A delay_func_wait                         ; CODE XREF: sub_1FFFDCCA-17Cj
ROM:1FFFDB4A                 ADDS            R1, R1, #1
ROM:1FFFDB4C                 CMP             R0, R1
ROM:1FFFDB4E                 BCS             delay_func_wait
ROM:1FFFDB50                 BX              LR
ROM:1FFFDB50 ; END OF FUNCTION CHUNK FOR sub_1FFFDCCA
ROM:1FFFDB52
ROM:1FFFDB52 ; =============== S U B R O U T I N E =======================================
ROM:1FFFDB52
ROM:1FFFDB52
ROM:1FFFDB52 sub_1FFFDB52                            ; CODE XREF: usb_chuli+18p
ROM:1FFFDB52                 PUSH            {R4,LR}
ROM:1FFFDB54                 LDR             R0, =0x20000A50
ROM:1FFFDB56                 MOVS            R1, #0
ROM:1FFFDB58                 STRB.W          R1, [R0,#0x20]
ROM:1FFFDB5C                 STRB            R1, [R0]
ROM:1FFFDB5E                 STR             R1, [R0,#4]
ROM:1FFFDB60                 STR             R1, [R0,#8]
ROM:1FFFDB62                 MOV.W           R1, #0x400
ROM:1FFFDB66                 STR             R1, [R0,#0x10]
ROM:1FFFDB68                 MOVS            R2, #0
ROM:1FFFDB6A                 STR             R2, [R0,#0x14]
ROM:1FFFDB6C                 STR             R2, [R0,#0x18]
ROM:1FFFDB6E                 MOVS            R2, #1
ROM:1FFFDB70
ROM:1FFFDB70 loc_1FFFDB70                            ; CODE XREF: sub_1FFFDB52+3Aj
ROM:1FFFDB70                 ADD.W           R3, R0, R2,LSL#5
ROM:1FFFDB74                 ADDS            R3, R3, #4
ROM:1FFFDB76                 MOVS            R4, #1
ROM:1FFFDB78                 STRB            R4, [R3,#1]
ROM:1FFFDB7A                 STRB            R2, [R3]
ROM:1FFFDB7C                 STR             R2, [R3,#4]
ROM:1FFFDB7E                 MOVS            R4, #0
ROM:1FFFDB80                 STR             R4, [R3,#8]
ROM:1FFFDB82                 STR             R1, [R3,#0x10]
ROM:1FFFDB84                 STR             R4, [R3,#0x14]
ROM:1FFFDB86                 STR             R4, [R3,#0x18]
ROM:1FFFDB88                 ADDS            R2, R2, #1
ROM:1FFFDB8A                 CMP             R2, #4
ROM:1FFFDB8C                 BCC             loc_1FFFDB70
ROM:1FFFDB8E                 MOVS            R2, #1
ROM:1FFFDB90
ROM:1FFFDB90 loc_1FFFDB90                            ; CODE XREF: sub_1FFFDB52+58j
ROM:1FFFDB90                 ADD.W           R3, R0, R2,LSL#5
ROM:1FFFDB94                 ADDW            R3, R3, #0x64
ROM:1FFFDB98                 STRB            R4, [R3,#1]
ROM:1FFFDB9A                 STRB            R2, [R3]
ROM:1FFFDB9C                 STR             R2, [R3,#4]
ROM:1FFFDB9E                 STR             R4, [R3,#8]
ROM:1FFFDBA0                 STR             R1, [R3,#0x10]
ROM:1FFFDBA2                 STR             R4, [R3,#0x14]
ROM:1FFFDBA4                 STR             R4, [R3,#0x18]
ROM:1FFFDBA6                 ADDS            R2, R2, #1
ROM:1FFFDBA8                 CMP             R2, #4
ROM:1FFFDBAA                 BCC             loc_1FFFDB90
ROM:1FFFDBAC                 MOVS            R1, #0x40
ROM:1FFFDBAE                 STR             R1, [R0,#0x10]
ROM:1FFFDBB0                 STR             R4, [R0,#8]
ROM:1FFFDBB2                 POP             {R4,PC}
ROM:1FFFDBB2 ; End of function sub_1FFFDB52
ROM:1FFFDBB2
ROM:1FFFDBB4
ROM:1FFFDBB4 ; =============== S U B R O U T I N E =======================================
ROM:1FFFDBB4
ROM:1FFFDBB4
ROM:1FFFDBB4 sub_1FFFDBB4                            ; CODE XREF: usb_chuli+30p
ROM:1FFFDBB4                                         ; usb_chuli+3Cp
ROM:1FFFDBB4                 PUSH            {R4,LR}
ROM:1FFFDBB6                 MOV             R4, R0
ROM:1FFFDBB8                 LDRB            R0, [R4,#2]
ROM:1FFFDBBA                 LSLS            R1, R0, #0x18
ROM:1FFFDBBC                 AND.W           R0, R0, #0x7F
ROM:1FFFDBC0                 BPL             loc_1FFFDBC8
ROM:1FFFDBC2                 BL              sub_1FFFDC7A
ROM:1FFFDBC6                 B               loc_1FFFDBCC
ROM:1FFFDBC8 ; ---------------------------------------------------------------------------
ROM:1FFFDBC8
ROM:1FFFDBC8 loc_1FFFDBC8                            ; CODE XREF: sub_1FFFDBB4+Cj
ROM:1FFFDBC8                 BL              sub_1FFFDCA2
ROM:1FFFDBCC
ROM:1FFFDBCC loc_1FFFDBCC                            ; CODE XREF: sub_1FFFDBB4+12j
ROM:1FFFDBCC                 LDRB            R1, [R4,#2]
ROM:1FFFDBCE                 AND.W           R1, R1, #0x7F
ROM:1FFFDBD2                 STRB            R1, [R0]
ROM:1FFFDBD4                 LDRB            R1, [R4,#2]
ROM:1FFFDBD6                 LSRS            R1, R1, #7
ROM:1FFFDBD8                 STRB            R1, [R0,#1]
ROM:1FFFDBDA                 LDRH            R1, [R4,#4]
ROM:1FFFDBDC                 STR             R1, [R0,#0x10]
ROM:1FFFDBDE                 LDRB            R1, [R4,#3]
ROM:1FFFDBE0                 AND.W           R1, R1, #3
ROM:1FFFDBE4                 STR             R1, [R0,#8]
ROM:1FFFDBE6                 LDRB            R1, [R0,#1]
ROM:1FFFDBE8                 CBZ             R1, loc_1FFFDBEE
ROM:1FFFDBEA                 LDRB            R1, [R0]
ROM:1FFFDBEC                 STR             R1, [R0,#4]
ROM:1FFFDBEE
ROM:1FFFDBEE loc_1FFFDBEE                            ; CODE XREF: sub_1FFFDBB4+34j
ROM:1FFFDBEE                 LDRB            R1, [R4,#3]
ROM:1FFFDBF0                 AND.W           R1, R1, #3
ROM:1FFFDBF4                 CMP             R1, #2
ROM:1FFFDBF6                 ITT EQ
ROM:1FFFDBF8                 MOVEQ           R1, #0
ROM:1FFFDBFA                 STREQB          R1, [R0,#0xC]
ROM:1FFFDBFC                 BL              sub_1FFFD812
ROM:1FFFDC00                 MOVS            R0, #0
ROM:1FFFDC02                 POP             {R4,PC}
ROM:1FFFDC02 ; End of function sub_1FFFDBB4
ROM:1FFFDC02
ROM:1FFFDC04
ROM:1FFFDC04 ; =============== S U B R O U T I N E =======================================
ROM:1FFFDC04
ROM:1FFFDC04
ROM:1FFFDC04 sub_1FFFDC04                            ; CODE XREF: sub_1FFFCFF2+36p
ROM:1FFFDC04                                         ; sub_1FFFD06E+3Ep
ROM:1FFFDC04                 PUSH            {R4-R6,LR}
ROM:1FFFDC06                 BL              sub_1FFFDC5C
ROM:1FFFDC0A                 BL              sub_1FFFDCA2
ROM:1FFFDC0E                 MOVS            R1, #0
ROM:1FFFDC10                 B               loc_1FFFDC1A
ROM:1FFFDC12 ; ---------------------------------------------------------------------------
ROM:1FFFDC12
ROM:1FFFDC12 loc_1FFFDC12                            ; CODE XREF: sub_1FFFDC04+18j
ROM:1FFFDC12                 LDR             R2, [R0,#0x14]
ROM:1FFFDC14                 LDRB            R2, [R1,R2]
ROM:1FFFDC16                 STRB            R2, [R1,R5]
ROM:1FFFDC18                 ADDS            R1, R1, #1
ROM:1FFFDC1A
ROM:1FFFDC1A loc_1FFFDC1A                            ; CODE XREF: sub_1FFFDC04+Cj
ROM:1FFFDC1A                 CMP             R1, R6
ROM:1FFFDC1C                 BCC             loc_1FFFDC12
ROM:1FFFDC1E                 STR             R5, [R0,#0x14]
ROM:1FFFDC20                 STR             R6, [R0,#0x18]
ROM:1FFFDC22                 MOVS            R1, #0
ROM:1FFFDC24                 STR             R1, [R0,#0x1C]
ROM:1FFFDC26                 B               loc_1FFFDC3C
ROM:1FFFDC28 ; ---------------------------------------------------------------------------
ROM:1FFFDC28
ROM:1FFFDC28 loc_1FFFDC28                            ; CODE XREF: sub_1FFFD06E+66p
ROM:1FFFDC28                                         ; sub_1FFFD104+6j
ROM:1FFFDC28                 PUSH            {R4-R6,LR}
ROM:1FFFDC2A                 BL              sub_1FFFDC5C
ROM:1FFFDC2E                 BL              sub_1FFFDC7A
ROM:1FFFDC32                 STR             R5, [R0,#0x14]
ROM:1FFFDC34                 MOVS            R1, #0
ROM:1FFFDC36                 STR             R1, [R0,#0x1C]
ROM:1FFFDC38                 STR             R6, [R0,#0x18]
ROM:1FFFDC3A                 MOVS            R1, #1
ROM:1FFFDC3C
ROM:1FFFDC3C loc_1FFFDC3C                            ; CODE XREF: sub_1FFFDC04+22j
ROM:1FFFDC3C                 STRB            R1, [R0,#1]
ROM:1FFFDC3E                 ANDS.W          R1, R4, #0x7F
ROM:1FFFDC42                 STRB            R1, [R0]
ROM:1FFFDC44                 BNE             loc_1FFFDC4C
ROM:1FFFDC46                 BL              sub_1FFFD948
ROM:1FFFDC4A                 B               loc_1FFFDC58
ROM:1FFFDC4C ; ---------------------------------------------------------------------------
ROM:1FFFDC4C
ROM:1FFFDC4C loc_1FFFDC4C                            ; CODE XREF: sub_1FFFDC04+40j
ROM:1FFFDC4C                 LDR             R1, =0x20000A50
ROM:1FFFDC4E                 LDRB.W          R1, [R1,#0x20]
ROM:1FFFDC52                 CBNZ            R1, loc_1FFFDC58
ROM:1FFFDC54                 BL              sub_1FFFD876
ROM:1FFFDC58
ROM:1FFFDC58 loc_1FFFDC58                            ; CODE XREF: sub_1FFFDC04+46j
ROM:1FFFDC58                                         ; sub_1FFFDC04+4Ej
ROM:1FFFDC58                 MOVS            R0, #0
ROM:1FFFDC5A                 POP             {R4-R6,PC}
ROM:1FFFDC5A ; End of function sub_1FFFDC04
ROM:1FFFDC5A
ROM:1FFFDC5C
ROM:1FFFDC5C ; =============== S U B R O U T I N E =======================================
ROM:1FFFDC5C
ROM:1FFFDC5C
ROM:1FFFDC5C sub_1FFFDC5C                            ; CODE XREF: sub_1FFFDC04+2p
ROM:1FFFDC5C                                         ; sub_1FFFDC04+26p
ROM:1FFFDC5C                 MOV             R4, R0
ROM:1FFFDC5E                 MOV             R5, R1
ROM:1FFFDC60                 MOV             R6, R2
ROM:1FFFDC62                 AND.W           R0, R4, #0x7F
ROM:1FFFDC66                 BX              LR
ROM:1FFFDC66 ; End of function sub_1FFFDC5C
ROM:1FFFDC66
ROM:1FFFDC68
ROM:1FFFDC68 ; =============== S U B R O U T I N E =======================================
ROM:1FFFDC68
ROM:1FFFDC68
ROM:1FFFDC68 sub_1FFFDC68                            ; CODE XREF: sub_1FFFD10E+36p
ROM:1FFFDC68                                         ; sub_1FFFD3B8+2Ep
ROM:1FFFDC68                 LDR             R1, =0x20000B34
ROM:1FFFDC6A                 LDR             R1, [R1,#4]
ROM:1FFFDC6C                 LDR             R2, [R1]
ROM:1FFFDC6E                 LSLS            R0, R0, #4
ROM:1FFFDC70                 AND.W           R0, R0, #0x7F0
ROM:1FFFDC74                 ORRS            R0, R2
ROM:1FFFDC76                 STR             R0, [R1]
ROM:1FFFDC78                 BX              LR
ROM:1FFFDC78 ; End of function sub_1FFFDC68
ROM:1FFFDC78
ROM:1FFFDC7A
ROM:1FFFDC7A ; =============== S U B R O U T I N E =======================================
ROM:1FFFDC7A
ROM:1FFFDC7A
ROM:1FFFDC7A sub_1FFFDC7A                            ; CODE XREF: sub_1FFFCBB2+6p
ROM:1FFFDC7A                                         ; sub_1FFFCBD0+Ap ...
ROM:1FFFDC7A                 PUSH            {R4,LR}
ROM:1FFFDC7C                 LDR             R1, =0x20000A50
ROM:1FFFDC7E                 CBNZ            R0, loc_1FFFDC84
ROM:1FFFDC80                 MOV             R0, R1
ROM:1FFFDC82                 POP             {R4,PC}
ROM:1FFFDC84 ; ---------------------------------------------------------------------------
ROM:1FFFDC84
ROM:1FFFDC84 loc_1FFFDC84                            ; CODE XREF: sub_1FFFDC7A+4j
ROM:1FFFDC84                 MOVS            R2, #0
ROM:1FFFDC86
ROM:1FFFDC86 loc_1FFFDC86                            ; CODE XREF: sub_1FFFDC7A+22j
ROM:1FFFDC86                 ADD.W           R3, R1, R2,LSL#5
ROM:1FFFDC8A                 LDRB.W          R4, [R3,#0x24]
ROM:1FFFDC8E                 CMP             R4, R0
ROM:1FFFDC90                 BNE             loc_1FFFDC98
ROM:1FFFDC92                 ADD.W           R0, R3, #0x24
ROM:1FFFDC96                 POP             {R4,PC}
ROM:1FFFDC98 ; ---------------------------------------------------------------------------
ROM:1FFFDC98
ROM:1FFFDC98 loc_1FFFDC98                            ; CODE XREF: sub_1FFFDC7A+16j
ROM:1FFFDC98                 ADDS            R2, R2, #1
ROM:1FFFDC9A                 CMP             R2, #4
ROM:1FFFDC9C                 BCC             loc_1FFFDC86
ROM:1FFFDC9E                 MOVS            R0, #0
ROM:1FFFDCA0                 POP             {R4,PC}
ROM:1FFFDCA0 ; End of function sub_1FFFDC7A
ROM:1FFFDCA0
ROM:1FFFDCA2
ROM:1FFFDCA2 ; =============== S U B R O U T I N E =======================================
ROM:1FFFDCA2
ROM:1FFFDCA2
ROM:1FFFDCA2 sub_1FFFDCA2                            ; CODE XREF: sub_1FFFCBBE+6p
ROM:1FFFDCA2                                         ; sub_1FFFCBF2+8p ...
ROM:1FFFDCA2                 PUSH            {R4,LR}
ROM:1FFFDCA4                 LDR             R1, =0x20000A50
ROM:1FFFDCA6                 CBNZ            R0, loc_1FFFDCAC
ROM:1FFFDCA8                 MOV             R0, R1
ROM:1FFFDCAA                 POP             {R4,PC}
ROM:1FFFDCAC ; ---------------------------------------------------------------------------
ROM:1FFFDCAC
ROM:1FFFDCAC loc_1FFFDCAC                            ; CODE XREF: sub_1FFFDCA2+4j
ROM:1FFFDCAC                 MOVS            R2, #0
ROM:1FFFDCAE
ROM:1FFFDCAE loc_1FFFDCAE                            ; CODE XREF: sub_1FFFDCA2+22j
ROM:1FFFDCAE                 ADD.W           R3, R1, R2,LSL#5
ROM:1FFFDCB2                 LDRB.W          R4, [R3,#0x84]
ROM:1FFFDCB6                 CMP             R4, R0
ROM:1FFFDCB8                 BNE             loc_1FFFDCC0
ROM:1FFFDCBA                 ADD.W           R0, R3, #0x84
ROM:1FFFDCBE                 POP             {R4,PC}
ROM:1FFFDCC0 ; ---------------------------------------------------------------------------
ROM:1FFFDCC0
ROM:1FFFDCC0 loc_1FFFDCC0                            ; CODE XREF: sub_1FFFDCA2+16j
ROM:1FFFDCC0                 ADDS            R2, R2, #1
ROM:1FFFDCC2                 CMP             R2, #4
ROM:1FFFDCC4                 BCC             loc_1FFFDCAE
ROM:1FFFDCC6                 MOVS            R0, #0
ROM:1FFFDCC8                 POP             {R4,PC}
ROM:1FFFDCC8 ; End of function sub_1FFFDCA2
ROM:1FFFDCC8
ROM:1FFFDCCA
ROM:1FFFDCCA ; =============== S U B R O U T I N E =======================================
ROM:1FFFDCCA
ROM:1FFFDCCA
ROM:1FFFDCCA sub_1FFFDCCA                            ; CODE XREF: sub_1FFFCC08j
ROM:1FFFDCCA
ROM:1FFFDCCA ; FUNCTION CHUNK AT ROM:1FFFDB44 SIZE 0000000E BYTES
ROM:1FFFDCCA
ROM:1FFFDCCA                 LDR             R0, =0x20000B34
ROM:1FFFDCCC                 LDR             R0, [R0,#4]
ROM:1FFFDCCE                 LDR             R1, [R0,#4]
ROM:1FFFDCD0                 ORR.W           R1, R1, #2
ROM:1FFFDCD4                 STR             R1, [R0,#4]
ROM:1FFFDCD6                 MOVW            R0, #0x61A8
ROM:1FFFDCDA                 B               delay_func
ROM:1FFFDCDA ; End of function sub_1FFFDCCA
ROM:1FFFDCDA
ROM:1FFFDCDC
ROM:1FFFDCDC ; =============== S U B R O U T I N E =======================================
ROM:1FFFDCDC
ROM:1FFFDCDC
ROM:1FFFDCDC sub_1FFFDCDC                            ; CODE XREF: usb_chuli+40p
ROM:1FFFDCDC                                         ; sub_1FFFE536+2Cp
ROM:1FFFDCDC                 LDR             R0, =0x20000B34
ROM:1FFFDCDE                 LDR             R0, [R0,#0x2C]
ROM:1FFFDCE0                 LDR             R1, =0x60080018
ROM:1FFFDCE2                 STR             R1, [R0,#0x10]
ROM:1FFFDCE4                 BX              LR
ROM:1FFFDCE4 ; End of function sub_1FFFDCDC
ROM:1FFFDCE4
ROM:1FFFDCE4 ; ---------------------------------------------------------------------------
ROM:1FFFDCE6                 ALIGN 4
ROM:1FFFDCE8 dword_1FFFDCE8  DCD 0x20000A50          ; DATA XREF: sub_1FFFDB52+2r
ROM:1FFFDCE8                                         ; sub_1FFFDC04:loc_1FFFDC4Cr ...
ROM:1FFFDCEC dword_1FFFDCEC  DCD 0x20000B34          ; DATA XREF: sub_1FFFDC68r
ROM:1FFFDCEC                                         ; sub_1FFFDCCAr ...
ROM:1FFFDCF0 dword_1FFFDCF0  DCD 0x60080018          ; DATA XREF: sub_1FFFDCDC+4r
ROM:1FFFDCF4
ROM:1FFFDCF4 ; =============== S U B R O U T I N E =======================================
ROM:1FFFDCF4
ROM:1FFFDCF4
ROM:1FFFDCF4 FLASH_ErasePage_0                       ; CODE XREF: sub_1FFFCC20+10j
ROM:1FFFDCF4                                         ; DATA XREF: sub_1FFFCC20+Co ...
ROM:1FFFDCF4                 PUSH            {R7,LR}
ROM:1FFFDCF6                 BL              FLASH_ErasePage
ROM:1FFFDCFA                 MOVS            R0, #0
ROM:1FFFDCFC                 POP             {R1,PC}
ROM:1FFFDCFC ; End of function FLASH_ErasePage_0
ROM:1FFFDCFC
ROM:1FFFDCFE
ROM:1FFFDCFE ; =============== S U B R O U T I N E =======================================
ROM:1FFFDCFE
ROM:1FFFDCFE
ROM:1FFFDCFE sub_1FFFDCFE                            ; DATA XREF: sub_1FFFCC38:loc_1FFFCC58o
ROM:1FFFDCFE                                         ; ROM:off_1FFFCD48o
ROM:1FFFDCFE                 PUSH            {R3-R7,LR}
ROM:1FFFDD00                 MOV             R4, R0
ROM:1FFFDD02                 MOV             R5, R1
ROM:1FFFDD04                 LDR             R6, =0x20000250
ROM:1FFFDD06                 ANDS.W          R0, R5, #3
ROM:1FFFDD0A                 BEQ             loc_1FFFDD22
ROM:1FFFDD0C                 MOVW            R0, #0xFFFC
ROM:1FFFDD10                 ANDS            R0, R5
ROM:1FFFDD12                 ADDS            R0, R0, #4
ROM:1FFFDD14                 CMP             R5, R0
ROM:1FFFDD16                 BCS             loc_1FFFDD22
ROM:1FFFDD18                 MOVS            R2, #0xFF
ROM:1FFFDD1A                 SUBS            R1, R0, R5
ROM:1FFFDD1C                 ADDS            R0, R5, R6
ROM:1FFFDD1E                 BL              sub_1FFFDD44
ROM:1FFFDD22
ROM:1FFFDD22 loc_1FFFDD22                            ; CODE XREF: sub_1FFFDCFE+Cj
ROM:1FFFDD22                                         ; sub_1FFFDCFE+18j
ROM:1FFFDD22                 MOVS            R7, #0
ROM:1FFFDD24                 B               loc_1FFFDD32
ROM:1FFFDD26 ; ---------------------------------------------------------------------------
ROM:1FFFDD26
ROM:1FFFDD26 loc_1FFFDD26                            ; CODE XREF: sub_1FFFDCFE+36j
ROM:1FFFDD26                 LDR             R1, [R7,R6]
ROM:1FFFDD28                 MOV             R0, R4
ROM:1FFFDD2A                 BL              FLASH_ProgramWord
ROM:1FFFDD2E                 ADDS            R4, R4, #4
ROM:1FFFDD30                 ADDS            R7, R7, #4
ROM:1FFFDD32
ROM:1FFFDD32 loc_1FFFDD32                            ; CODE XREF: sub_1FFFDCFE+26j
ROM:1FFFDD32                 CMP             R7, R5
ROM:1FFFDD34                 BCC             loc_1FFFDD26
ROM:1FFFDD36                 MOVS            R0, #0
ROM:1FFFDD38                 POP             {R1,R4-R7,PC}
ROM:1FFFDD38 ; End of function sub_1FFFDCFE
ROM:1FFFDD38
ROM:1FFFDD38 ; ---------------------------------------------------------------------------
ROM:1FFFDD3A                 ALIGN 4
ROM:1FFFDD3C dword_1FFFDD3C  DCD 0x20000250          ; DATA XREF: sub_1FFFDCFE+6r
ROM:1FFFDD40 ; ---------------------------------------------------------------------------
ROM:1FFFDD40 ; START OF FUNCTION CHUNK FOR sub_1FFFCC7A
ROM:1FFFDD40
ROM:1FFFDD40 locret_1FFFDD40                         ; CODE XREF: sub_1FFFCC7A+6j
ROM:1FFFDD40                                         ; DATA XREF: sub_1FFFCC7A+2o ...
ROM:1FFFDD40                 BX              LR
ROM:1FFFDD40 ; END OF FUNCTION CHUNK FOR sub_1FFFCC7A
ROM:1FFFDD40 ; ---------------------------------------------------------------------------
ROM:1FFFDD42                 ALIGN 4
ROM:1FFFDD44 ; 10:   v3 = (a3 & 0xFFFF00FF | ((unsigned __int8)a3 << 8)) & 0xFFFF | ((a3 & 0xFFFF00FF | ((unsigned __int8)a3 << 8)) << 16);
ROM:1FFFDD44
ROM:1FFFDD44 ; =============== S U B R O U T I N E =======================================
ROM:1FFFDD44
ROM:1FFFDD44
ROM:1FFFDD44 sub_1FFFDD44                            ; CODE XREF: sub_1FFFCCA8+20p
ROM:1FFFDD44                                         ; sub_1FFFDCFE+20p
ROM:1FFFDD44                 BFI.W           R2, R2, #8, #8
ROM:1FFFDD48                 BFI.W           R2, R2, #0x10, #0x10
ROM:1FFFDD4C ; 11:   result = a1 + a2;
ROM:1FFFDD4C                 ADDS            R0, R0, R1
ROM:1FFFDD4E ; 12:   v5 = result & 3;
ROM:1FFFDD4E ; 13:   if ( result & 3 )
ROM:1FFFDD4E                 ANDS.W          R3, R0, #3
ROM:1FFFDD52                 BEQ             loc_1FFFDD66
ROM:1FFFDD54 ; 15:     v6 = a2 >= v5;
ROM:1FFFDD54 ; 16:     a2 -= v5;
ROM:1FFFDD54                 SUBS            R1, R1, R3
ROM:1FFFDD56 ; 17:     if ( !v6 )
ROM:1FFFDD56                 BCC             loc_1FFFDD98
ROM:1FFFDD58 ; 28:     if ( __CFSHL__(v5, 31) )
ROM:1FFFDD58                 LSLS            R3, R3, #0x1F
ROM:1FFFDD5A ; 26:     if ( result << 31 < 0 )
ROM:1FFFDD5A                 IT MI
ROM:1FFFDD5C ; 27:       *(_BYTE *)(result-- - 1) = v3;
ROM:1FFFDD5C                 STRMIB.W        R2, [R0,#-1]!
ROM:1FFFDD60 ; 31:       result -= 2;
ROM:1FFFDD60                 IT CS
ROM:1FFFDD62 ; 30:       *(_WORD *)(result - 2) = v3;
ROM:1FFFDD62                 STRCSH.W        R2, [R0,#-2]!
ROM:1FFFDD66 ; 53:     *(_DWORD *)(result - 4) = v3;
ROM:1FFFDD66
ROM:1FFFDD66 loc_1FFFDD66                            ; CODE XREF: sub_1FFFDD44+Ej
ROM:1FFFDD66                 MOVS            R3, R2
ROM:1FFFDD68 ; 42:       *(_DWORD *)(result - 8) = v3;
ROM:1FFFDD68                 PUSH            {R4,R5}
ROM:1FFFDD6A                 MOV             R4, R2
ROM:1FFFDD6C ; 43:       *(_DWORD *)(result - 4) = v3;
ROM:1FFFDD6C                 MOV             R5, R2
ROM:1FFFDD6E ; 36:     v6 = a2 >= 0x10;
ROM:1FFFDD6E ; 37:     a2 -= 16;
ROM:1FFFDD6E
ROM:1FFFDD6E loc_1FFFDD6E                            ; CODE XREF: sub_1FFFDD44+32j
ROM:1FFFDD6E                 SUBS            R1, #0x10
ROM:1FFFDD70 ; 38:     if ( v6 )
ROM:1FFFDD70                 IT CS
ROM:1FFFDD72 ; 40:       *(_DWORD *)(result - 16) = v3;
ROM:1FFFDD72 ; 41:       *(_DWORD *)(result - 12) = v3;
ROM:1FFFDD72 ; 44:       result -= 16;
ROM:1FFFDD72                 STMCSDB.W       R0!, {R2-R5}
ROM:1FFFDD76 ; 47:   while ( (a2 != 0) & v6 );
ROM:1FFFDD76                 BHI             loc_1FFFDD6E
ROM:1FFFDD78 ; 48:   v6 = __CFSHL__(a2, 29);
ROM:1FFFDD78 ; 49:   v7 = a2 << 29;
ROM:1FFFDD78                 LSLS            R1, R1, #0x1D
ROM:1FFFDD7A ; 50:   if ( v6 )
ROM:1FFFDD7A                 IT CS
ROM:1FFFDD7C ; 52:     *(_DWORD *)(result - 8) = v3;
ROM:1FFFDD7C ; 54:     result -= 8;
ROM:1FFFDD7C                 STMCSDB.W       R0!, {R2,R3}
ROM:1FFFDD80 ; 56:   if ( v7 < 0 )
ROM:1FFFDD80                 IT MI
ROM:1FFFDD82 ; 58:     *(_DWORD *)(result - 4) = v3;
ROM:1FFFDD82 ; 59:     result -= 4;
ROM:1FFFDD82                 STRMI.W         R2, [R0,#-4]!
ROM:1FFFDD86 ; 61:   v6 = __CFSHL__(v7, 2);
ROM:1FFFDD86 ; 62:   v8 = 4 * v7;
ROM:1FFFDD86                 LSLS            R1, R1, #2
ROM:1FFFDD88 ; 63:   if ( v6 )
ROM:1FFFDD88                 IT CS
ROM:1FFFDD8A ; 65:     *(_WORD *)(result - 2) = v3;
ROM:1FFFDD8A ; 66:     result -= 2;
ROM:1FFFDD8A                 STRCSH.W        R2, [R0,#-2]!
ROM:1FFFDD8E ; 68:   if ( v8 < 0 )
ROM:1FFFDD8E                 IT MI
ROM:1FFFDD90 ; 69:     *(_BYTE *)(result-- - 1) = v3;
ROM:1FFFDD90                 STRMIB.W        R2, [R0,#-1]!
ROM:1FFFDD94                 POP             {R4,R5}
ROM:1FFFDD96                 BX              LR
ROM:1FFFDD98 ; ---------------------------------------------------------------------------
ROM:1FFFDD98 ; 19:       v9 = a2 + v5;
ROM:1FFFDD98
ROM:1FFFDD98 loc_1FFFDD98                            ; CODE XREF: sub_1FFFDD44+12j
ROM:1FFFDD98                 ADDS            R1, R1, R3
ROM:1FFFDD9A ; 20:       if ( v9 )
ROM:1FFFDD9A                 IT NE
ROM:1FFFDD9C ; 21:         *(_BYTE *)(result-- - 1) = v3;
ROM:1FFFDD9C                 STRNEB.W        R2, [R0,#-1]!
ROM:1FFFDDA0 ; 22:       if ( __CFSHL__(v9, 31) )
ROM:1FFFDDA0                 LSLS            R3, R1, #0x1F
ROM:1FFFDDA2 ; 23:         *(_BYTE *)(result-- - 1) = v3;
ROM:1FFFDDA2                 IT CS
ROM:1FFFDDA4                 STRCSB.W        R2, [R0,#-1]!
ROM:1FFFDDA8                 BX              LR
ROM:1FFFDDA8 ; End of function sub_1FFFDD44
ROM:1FFFDDA8
ROM:1FFFDDA8 ; ---------------------------------------------------------------------------
ROM:1FFFDDAA                 ALIGN 4
ROM:1FFFDDAC
ROM:1FFFDDAC ; =============== S U B R O U T I N E =======================================
ROM:1FFFDDAC
ROM:1FFFDDAC
ROM:1FFFDDAC uart_ready                              ; CODE XREF: start_work:uart1_workp
ROM:1FFFDDAC                 PUSH            {R7,LR}
ROM:1FFFDDAE                 BL              disable_irq
ROM:1FFFDDB2                 LDR.W           R0, =0x20000190 ; 0x1fffeb64
ROM:1FFFDDB6                 LDR             R0, [R0] ; 0x40013800 USART1_BASE
ROM:1FFFDDB8                 MOVS            R1, #0
ROM:1FFFDDBA                 STRH            R1, [R0,#4]
ROM:1FFFDDBC                 LDR.W           R1, =0x20000194
ROM:1FFFDDC0                 LDR             R1, [R1]
ROM:1FFFDDC2                 MOVS            R2, #7
ROM:1FFFDDC4                 UDIV.W          R1, R1, R2
ROM:1FFFDDC8                 STRH            R1, [R0,#8] ; 配置串口波特率
ROM:1FFFDDCA                 MOV.W           R1, #0x600
ROM:1FFFDDCE                 STRH            R1, [R0,#0x10]
ROM:1FFFDDD0                 MOVS            R1, #0
ROM:1FFFDDD2                 STRH            R1, [R0,#0x10]
ROM:1FFFDDD4                 STRH            R1, [R0,#0x18]
ROM:1FFFDDD6                 MOVW            R1, #0x340C
ROM:1FFFDDDA                 STRH            R1, [R0,#0xC]
ROM:1FFFDDDC                 MOVS            R0, #0x79 ; 发送0x79表示串口已经准备好了
ROM:1FFFDDDE                 POP.W           {R1,LR}
ROM:1FFFDDE2                 B               uart_send_a_char
ROM:1FFFDDE2 ; End of function uart_ready
ROM:1FFFDDE2
ROM:1FFFDDE4
ROM:1FFFDDE4 ; =============== S U B R O U T I N E =======================================
ROM:1FFFDDE4
ROM:1FFFDDE4
ROM:1FFFDDE4 uart_monitor                            ; CODE XREF: start_work+18p
ROM:1FFFDDE4
ROM:1FFFDDE4 var_140         = -0x140
ROM:1FFFDDE4 var_13C         = -0x13C
ROM:1FFFDDE4 var_13B         = -0x13B
ROM:1FFFDDE4 var_13A         = -0x13A
ROM:1FFFDDE4 var_138         = -0x138
ROM:1FFFDDE4 var_134         = -0x134
ROM:1FFFDDE4 var_130         = -0x130
ROM:1FFFDDE4 var_120         = -0x120
ROM:1FFFDDE4
ROM:1FFFDDE4 ; FUNCTION CHUNK AT ROM:1FFFE15C SIZE 00000020 BYTES
ROM:1FFFDDE4
ROM:1FFFDDE4                 PUSH.W          {R4-R10,LR}
ROM:1FFFDDE8                 SUB             SP, SP, #0x120
ROM:1FFFDDEA                 ADD             R0, SP, #0x140+var_130
ROM:1FFFDDEC                 ADR.W           R1, boot_param_block ; host 00 ff命令的设备响应字符串
ROM:1FFFDDEC                                         ; byte 1:ACK
ROM:1FFFDDF0                 MOVS            R2, #0x10
ROM:1FFFDDF2                 BL              memcpy  ; N  当用两个补码表示的带符号数进行运算时,N=1表示运算的结果为负数;N=0表示运算的结果为正数或零.
ROM:1FFFDDF2                                         ; Z  Z=1表示运算的结果为零,Z=0表示运算的结果非零。
ROM:1FFFDDF2                                         ; C  可以有4种方法设置C的值:
ROM:1FFFDDF2                                         ;    加法运算(包括CMN):当运算结果产生了进位时(无符号数溢出),C=1,否则C=0。
ROM:1FFFDDF2                                         ;    减法运算(包括CMP):当运算时产生了借位时(无符号数溢出),C=0,否则C=1。
ROM:1FFFDDF2                                         ;    对于包含移位操作的非加/减运算指令,C为移出值的最后一位。
ROM:1FFFDDF2                                         ;    对于其它的非加/减运算指令,C的值通常不会改变。
ROM:1FFFDDF2                                         ; V  可以有2种方法设置V的值:
ROM:1FFFDDF2                                         ;    对于加减法运算指令,当操作数和运算结果为二进制的补码表示的带符号数时,V=1表示符号位溢出
ROM:1FFFDDF2                                         ;    对于其它的非加/减运算指令,V的值通常不会改变。
ROM:1FFFDDF2                                         ;
ROM:1FFFDDF2                                         ; 0000 = EQ - Z set (equal,相等)
ROM:1FFFDDF2                                         ; 0001 = NE - Z clear (not equal,不相等)
ROM:1FFFDDF2                                         ; 0010 = CS - C set (unsigned higher or same,无符号大于或等于)
ROM:1FFFDDF2                                         ; 0011 = CC - C clear (unsigned lower,无符号小于)
ROM:1FFFDDF2                                         ; 0100 = MI - N set (negative,负数)
ROM:1FFFDDF2                                         ; 0101 = PL - N clear (positive or zero,正数或零)
ROM:1FFFDDF2                                         ; 0110 = VS - V set (overflow,溢出)
ROM:1FFFDDF2                                         ; 0111 = VC - V clear (no overflow,未溢出)
ROM:1FFFDDF2                                         ; 1000 = HI - C set and Z clear (unsigned higher,无符号大于)
ROM:1FFFDDF2                                         ; 1001 = LS - C clear or Z set (unsigned lower or same,无符号小于或等于)
ROM:1FFFDDF2                                         ; 1010 = GE - N set and V set, or N clear and V clear (greater or equal,带符号大于或等于)
ROM:1FFFDDF2                                         ; 1011 = LT - N set and V clear, or N clear and V set (less than,带符号小于)
ROM:1FFFDDF2                                         ; 1100 = GT - Z clear, and either N set and V set, or N clear and V clear (greater than,带符号大于)
ROM:1FFFDDF2                                         ; 1101 = LE - Z set, or N set and V clear, or N clear and V set (less than or equal,带符号小于或等于)
ROM:1FFFDDF2                                         ; 1110 = AL - always
ROM:1FFFDDF2                                         ; 1111 = NV - never
ROM:1FFFDDF2                                         ;
ROM:1FFFDDF6                 MOVS            R0, #0
ROM:1FFFDDF8                 STR             R0, [SP,#0x140+var_140]
ROM:1FFFDDFA                 STR             R0, [SP,#0x140+var_138]
ROM:1FFFDDFC                 STR             R0, [SP,#0x140+var_134]
ROM:1FFFDDFE                 STRB.W          R0, [SP,#0x140+var_13B]
ROM:1FFFDE02                 STRB.W          R0, [SP,#0x140+var_13C]
ROM:1FFFDE06                 STRB.W          R0, [SP,#0x140+var_13A]
ROM:1FFFDE0A                 ADD.W           R9, SP, #0x140+var_120
ROM:1FFFDE0E                 LDR.W           R10, =0xE000E010
ROM:1FFFDE12                 LDR.W           R6, =0x4002100C
ROM:1FFFDE16                 LDR.W           R7, =0x4002200C ; flash操作寄存器的基址是40022000
ROM:1FFFDE1A                 MOV.W           R8, #0xFFFFFFFF
ROM:1FFFDE1E                 B               loc_1FFFDE26
ROM:1FFFDE20 ; ---------------------------------------------------------------------------
ROM:1FFFDE20
ROM:1FFFDE20 send_nack                               ; CODE XREF: uart_monitor+A2j
ROM:1FFFDE20                                         ; uart_monitor:loc_1FFFDEF0j ...
ROM:1FFFDE20                 MOVS            R0, #0x1F
ROM:1FFFDE22
ROM:1FFFDE22 uart2_send_a1                           ; CODE XREF: uart_monitor+2DAj
ROM:1FFFDE22                 BL              uart_send_a_char
ROM:1FFFDE26
ROM:1FFFDE26 loc_1FFFDE26                            ; CODE XREF: uart_monitor+3Aj
ROM:1FFFDE26                                         ; uart_monitor+AAj ...
ROM:1FFFDE26                 LDR.W           R0, =0x40003000 ; 看门狗操作
ROM:1FFFDE2A                 MOVW            R1, #0xAAAA
ROM:1FFFDE2E                 STR             R1, [R0]
ROM:1FFFDE30                 BL              uart1_rev_a_char
ROM:1FFFDE34                 STRB.W          R0, [SP,#0x140+var_13A]
ROM:1FFFDE38                 LDRB.W          R4, [SP,#0x140+var_13A]
ROM:1FFFDE3C                 BL              uart1_rev_a_char
ROM:1FFFDE40                 EORS            R0, R4  ; 前面2个字节异或的值必须为0xFF
ROM:1FFFDE42                 CMP             R0, #0xFF
ROM:1FFFDE44                 ITT NE                  ; 看是否为0xFF
ROM:1FFFDE46                 MOVNE           R0, #0x55
ROM:1FFFDE48                 STRNEB.W        R0, [SP,#0x140+var_13A]
ROM:1FFFDE4C                 LDRB.W          R0, [SP,#0x140+var_13A]
ROM:1FFFDE50                 CBZ             R0, send_boot_param ; 接收到00 FF
ROM:1FFFDE50                                         ; 第一个字节=0x00
ROM:1FFFDE50                                         ; 发送bootloader的参数 16字节
ROM:1FFFDE52                 CMP             R0, #1
ROM:1FFFDE54                 BEQ             get_version_baohubit ; Byte 1: ACK
ROM:1FFFDE54                                         ; Byte 2: Bootloader version (0 < Version ≤ 255), example: 0x10 = Version 1.0
ROM:1FFFDE54                                         ; Byte 3: Option byte 1: 0x00 to keep the compatibility with generic bootloader protocol
ROM:1FFFDE54                                         ; Byte 4: Option byte 2: 0x00 to keep the compatibility with generic bootloader protocol
ROM:1FFFDE54                                         ; Byte 5: ACK
ROM:1FFFDE56                 CMP             R0, #2
ROM:1FFFDE58                 BEQ             get_id
ROM:1FFFDE5A                 CMP             R0, #0x11
ROM:1FFFDE5C                 BEQ             read_mem
ROM:1FFFDE5E                 CMP             R0, #0x21
ROM:1FFFDE60                 BEQ             cmd_go
ROM:1FFFDE62                 CMP             R0, #0x31
ROM:1FFFDE64                 BEQ.W           write_mem
ROM:1FFFDE68                 CMP             R0, #0x43
ROM:1FFFDE6A                 BEQ.W           loc_1FFFE068
ROM:1FFFDE6E                 CMP             R0, #0x63
ROM:1FFFDE70                 BEQ.W           loc_1FFFE0C0
ROM:1FFFDE74                 CMP             R0, #0x73
ROM:1FFFDE76                 BEQ.W           loc_1FFFE118
ROM:1FFFDE7A                 CMP             R0, #0x82
ROM:1FFFDE7C                 BEQ.W           loc_1FFFE12C
ROM:1FFFDE80                 CMP             R0, #0x92
ROM:1FFFDE82                 BEQ.W           loc_1FFFE13E
ROM:1FFFDE86                 B               send_nack
ROM:1FFFDE88 ; ---------------------------------------------------------------------------
ROM:1FFFDE88
ROM:1FFFDE88 send_boot_param                         ; CODE XREF: uart_monitor+6Cj
ROM:1FFFDE88                                         ; uart_monitor+BAj
ROM:1FFFDE88                 STR             R0, [SP,#0x140+var_140]
ROM:1FFFDE8A                 LDR             R0, [SP,#0x140+var_140]
ROM:1FFFDE8C                 CMP             R0, #0xF
ROM:1FFFDE8E                 BCS             loc_1FFFDE26
ROM:1FFFDE90                 LDR             R0, [SP,#0x140+var_140]
ROM:1FFFDE92                 ADD             R1, SP, #0x140+var_130
ROM:1FFFDE94                 LDRB            R0, [R0,R1]
ROM:1FFFDE96                 BL              uart_send_a_char
ROM:1FFFDE9A                 LDR             R0, [SP,#0x140+var_140]
ROM:1FFFDE9C                 ADDS            R0, R0, #1
ROM:1FFFDE9E                 B               send_boot_param
ROM:1FFFDEA0 ; ---------------------------------------------------------------------------
ROM:1FFFDEA0
ROM:1FFFDEA0 get_version_baohubit                    ; CODE XREF: uart_monitor+70j
ROM:1FFFDEA0                 BL              uart1_send_ack ; Byte 1: ACK
ROM:1FFFDEA0                                         ; Byte 2: Bootloader version (0 < Version ≤ 255), example: 0x10 = Version 1.0
ROM:1FFFDEA0                                         ; Byte 3: Option byte 1: 0x00 to keep the compatibility with generic bootloader protocol
ROM:1FFFDEA0                                         ; Byte 4: Option byte 2: 0x00 to keep the compatibility with generic bootloader protocol
ROM:1FFFDEA0                                         ; Byte 5: ACK
ROM:1FFFDEA4                 MOVS            R0, #0x22 ; Byte 2: Bootloader version (0 <Version<= 255), example: 0x10 = Version 1.0
ROM:1FFFDEA6                 BL              uart_send_a_char
ROM:1FFFDEAA                 MOVS            R0, #0  ; Byte 3: Option byte 1: 0x00 to keep the compatibility with generic bootloader protocol
ROM:1FFFDEAC                 BL              uart_send_a_char
ROM:1FFFDEB0                 MOVS            R0, #0  ; Byte 4: Option byte 2: 0x00 to keep the compatibility with generic bootloader protocol
ROM:1FFFDEB2                 B               loc_1FFFDEC6
ROM:1FFFDEB4 ; ---------------------------------------------------------------------------
ROM:1FFFDEB4
ROM:1FFFDEB4 get_id                                  ; CODE XREF: uart_monitor+74j
ROM:1FFFDEB4                 BL              uart1_send_ack
ROM:1FFFDEB8                 MOVS            R0, #1
ROM:1FFFDEBA                 BL              uart_send_a_char
ROM:1FFFDEBE                 MOVS            R0, #4
ROM:1FFFDEC0                 BL              uart_send_a_char
ROM:1FFFDEC4                 MOVS            R0, #0x18
ROM:1FFFDEC6
ROM:1FFFDEC6 loc_1FFFDEC6                            ; CODE XREF: uart_monitor+CEj
ROM:1FFFDEC6                 BL              uart_send_a_char
ROM:1FFFDECA                 B               uart_send_ack
ROM:1FFFDECC ; ---------------------------------------------------------------------------
ROM:1FFFDECC
ROM:1FFFDECC read_mem                                ; CODE XREF: uart_monitor+78j
ROM:1FFFDECC                 BL              start_rd_mem
ROM:1FFFDED0                 BL              get_mem_block
ROM:1FFFDED4 ; ---------------------------------------------------------------------------
ROM:1FFFDED4                 BL              loc_1FFFE168
ROM:1FFFDED8 ; ---------------------------------------------------------------------------
ROM:1FFFDED8                 BEQ             loc_1FFFDE26
ROM:1FFFDEDA                 BL              uart1_rev_a_char
ROM:1FFFDEDE                 STRB.W          R0, [SP,#0x140+var_13C]
ROM:1FFFDEE2                 LDRB.W          R4, [SP,#0x140+var_13C]
ROM:1FFFDEE6                 BL              uart1_rev_a_char
ROM:1FFFDEEA                 MVNS            R1, R4
ROM:1FFFDEEC                 UXTB            R1, R1
ROM:1FFFDEEE                 CMP             R0, R1
ROM:1FFFDEF0
ROM:1FFFDEF0 loc_1FFFDEF0                            ; CODE XREF: uart_monitor+14Cj
ROM:1FFFDEF0                 BNE             send_nack
ROM:1FFFDEF2                 BL              uart1_send_ack
ROM:1FFFDEF6                 LDRB.W          R0, [SP,#0x140+var_13C]
ROM:1FFFDEFA                 ADDS            R0, R0, #1
ROM:1FFFDEFC
ROM:1FFFDEFC loc_1FFFDEFC                            ; CODE XREF: uart_monitor+130j
ROM:1FFFDEFC                 STR             R0, [SP,#0x140+var_140]
ROM:1FFFDEFE                 LDR             R0, [SP,#0x140+var_140]
ROM:1FFFDF00                 CMP             R0, #0
ROM:1FFFDF02                 BEQ             loc_1FFFDE26
ROM:1FFFDF04                 LDR             R0, [SP,#0x140+var_138]
ROM:1FFFDF06                 ADDS            R1, R0, #1
ROM:1FFFDF08                 STR             R1, [SP,#0x140+var_138]
ROM:1FFFDF0A                 LDRB            R0, [R0]
ROM:1FFFDF0C                 BL              uart_send_a_char
ROM:1FFFDF10                 LDR             R0, [SP,#0x140+var_140]
ROM:1FFFDF12                 SUBS            R0, R0, #1
ROM:1FFFDF14                 B               loc_1FFFDEFC
ROM:1FFFDF16 ; ---------------------------------------------------------------------------
ROM:1FFFDF16
ROM:1FFFDF16 cmd_go                                  ; CODE XREF: uart_monitor+7Cj
ROM:1FFFDF16                 BL              start_rd_mem
ROM:1FFFDF1A                 BL              get_mem_block
ROM:1FFFDF1E ; ---------------------------------------------------------------------------
ROM:1FFFDF1E                 STRB.W          R0, [SP,#0x140+var_13B]
ROM:1FFFDF22                 LDRB.W          R0, [SP,#0x140+var_13B]
ROM:1FFFDF26                 CMP             R0, #2
ROM:1FFFDF28                 ITT NE
ROM:1FFFDF2A                 LDRNEB.W        R0, [SP,#0x140+var_13B]
ROM:1FFFDF2E                 CMPNE           R0, #3
ROM:1FFFDF30                 BNE             loc_1FFFDEF0
ROM:1FFFDF32                 BL              RCC_init
ROM:1FFFDF36                 MOVS            R0, #0x14
ROM:1FFFDF38                 STR             R0, [R6,#8]
ROM:1FFFDF3A                 STR.W           R8, [R6]
ROM:1FFFDF3E                 MOVS            R0, #0
ROM:1FFFDF40                 STR             R0, [R6]
ROM:1FFFDF42                 STR.W           R8, [R6,#4]
ROM:1FFFDF46                 STR             R0, [R6,#4]
ROM:1FFFDF48                 STR             R0, [R6,#0xC]
ROM:1FFFDF4A                 STR             R0, [R6,#0x10]
ROM:1FFFDF4C                 STR.W           R0, [R10]
ROM:1FFFDF50                 STR.W           R0, [R10,#8]
ROM:1FFFDF54                 MOV.W           R0, #0x80000
ROM:1FFFDF58                 STR.W           R0, [R10,#4]
ROM:1FFFDF5C                 BL              enable_irq
ROM:1FFFDF60                 LDR             R0, [SP,#0x140+var_138]
ROM:1FFFDF62                 LDR             R4, [R0,#4]
ROM:1FFFDF64                 LDR             R0, [SP,#0x140+var_138]
ROM:1FFFDF66                 LDR             R0, [R0]
ROM:1FFFDF68                 BL              set_MSP
ROM:1FFFDF6C                 BLX             R4
ROM:1FFFDF6E
ROM:1FFFDF6E loc_1FFFDF6E                            ; CODE XREF: uart_monitor+198j
ROM:1FFFDF6E                                         ; uart_monitor+1A8j
ROM:1FFFDF6E                 B               loc_1FFFDE26
ROM:1FFFDF70 ; ---------------------------------------------------------------------------
ROM:1FFFDF70
ROM:1FFFDF70 write_mem                               ; CODE XREF: uart_monitor+80j
ROM:1FFFDF70                 BL              start_rd_mem
ROM:1FFFDF74                 BL              get_mem_block
ROM:1FFFDF78 ; ---------------------------------------------------------------------------
ROM:1FFFDF78                 BL              loc_1FFFE168
ROM:1FFFDF7C ; ---------------------------------------------------------------------------
ROM:1FFFDF7C                 BEQ             loc_1FFFDF6E
ROM:1FFFDF7E                 BL              uart1_rev_a_char
ROM:1FFFDF82                 BL              loc_1FFFE15C
ROM:1FFFDF86 ; ---------------------------------------------------------------------------
ROM:1FFFDF86                 BL              loc_1FFFE154
ROM:1FFFDF8A                 CMP             R0, #0xAA
ROM:1FFFDF8C                 BNE             loc_1FFFDF6E
ROM:1FFFDF8E                 LDRB.W          R0, [SP,#0x140+var_13B]
ROM:1FFFDF92                 CMP             R0, #2
ROM:1FFFDF94                 BNE             loc_1FFFDFCA
ROM:1FFFDF96                 ANDS.W          R0, R5, #3
ROM:1FFFDF9A                 ITT NE
ROM:1FFFDF9C                 ANDNE.W         R0, R5, #0xFC
ROM:1FFFDFA0                 ADDNE           R5, R0, #4
ROM:1FFFDFA2                 BL              FLASH_UnlockBank1
ROM:1FFFDFA6                 STR             R5, [SP,#0x140+var_140]
ROM:1FFFDFA8                 B               loc_1FFFDFC4
ROM:1FFFDFAA ; ---------------------------------------------------------------------------
ROM:1FFFDFAA
ROM:1FFFDFAA loc_1FFFDFAA                            ; CODE XREF: uart_monitor+1E4j
ROM:1FFFDFAA                 LDR             R0, [SP,#0x140+var_140]
ROM:1FFFDFAC                 SUB.W           R0, R9, R0
ROM:1FFFDFB0                 LDR             R1, [R5,R0]
ROM:1FFFDFB2                 LDR             R0, [SP,#0x140+var_138]
ROM:1FFFDFB4                 LDR             R2, [SP,#0x140+var_140]
ROM:1FFFDFB6                 SUBS            R0, R0, R2
ROM:1FFFDFB8                 ADDS            R0, R5, R0
ROM:1FFFDFBA                 BL              FLASH_ProgramWord
ROM:1FFFDFBE                 LDR             R0, [SP,#0x140+var_140]
ROM:1FFFDFC0                 SUBS            R0, R0, #4
ROM:1FFFDFC2                 STR             R0, [SP,#0x140+var_140]
ROM:1FFFDFC4
ROM:1FFFDFC4 loc_1FFFDFC4                            ; CODE XREF: uart_monitor+1C4j
ROM:1FFFDFC4                 LDR             R0, [SP,#0x140+var_140]
ROM:1FFFDFC6                 CMP             R0, #0
ROM:1FFFDFC8                 BNE             loc_1FFFDFAA
ROM:1FFFDFCA
ROM:1FFFDFCA loc_1FFFDFCA                            ; CODE XREF: uart_monitor+1B0j
ROM:1FFFDFCA                 LDRB.W          R0, [SP,#0x140+var_13B]
ROM:1FFFDFCE                 CMP             R0, #3
ROM:1FFFDFD0                 BNE             loc_1FFFDFFE
ROM:1FFFDFD2                 ANDS.W          R0, R5, #3
ROM:1FFFDFD6                 ITT NE
ROM:1FFFDFD8                 ANDNE.W         R0, R5, #0xFC
ROM:1FFFDFDC                 ADDNE           R5, R0, #4
ROM:1FFFDFDE                 STR             R5, [SP,#0x140+var_140]
ROM:1FFFDFE0                 B               loc_1FFFDFF8
ROM:1FFFDFE2 ; ---------------------------------------------------------------------------
ROM:1FFFDFE2
ROM:1FFFDFE2 loc_1FFFDFE2                            ; CODE XREF: uart_monitor+218j
ROM:1FFFDFE2                 LDR             R0, [SP,#0x140+var_138]
ROM:1FFFDFE4                 LDR             R1, [SP,#0x140+var_140]
ROM:1FFFDFE6                 SUBS            R0, R0, R1
ROM:1FFFDFE8                 LDR             R1, [SP,#0x140+var_140]
ROM:1FFFDFEA                 SUB.W           R1, R9, R1
ROM:1FFFDFEE                 LDR             R1, [R5,R1]
ROM:1FFFDFF0                 STR             R1, [R5,R0]
ROM:1FFFDFF2                 LDR             R0, [SP,#0x140+var_140]
ROM:1FFFDFF4                 SUBS            R0, R0, #4
ROM:1FFFDFF6                 STR             R0, [SP,#0x140+var_140]
ROM:1FFFDFF8
ROM:1FFFDFF8 loc_1FFFDFF8                            ; CODE XREF: uart_monitor+1FCj
ROM:1FFFDFF8                 LDR             R0, [SP,#0x140+var_140]
ROM:1FFFDFFA                 CMP             R0, #0
ROM:1FFFDFFC                 BNE             loc_1FFFDFE2
ROM:1FFFDFFE
ROM:1FFFDFFE loc_1FFFDFFE                            ; CODE XREF: uart_monitor+1ECj
ROM:1FFFDFFE                 LDRB.W          R0, [SP,#0x140+var_13B]
ROM:1FFFE002                 CMP             R0, #4
ROM:1FFFE004                 ITTT EQ
ROM:1FFFE006                 LDREQ           R0, [SP,#0x140+var_138]
ROM:1FFFE008                 LDREQ           R1, =0x1FFFF800
ROM:1FFFE00A                 CMPEQ           R0, R1
ROM:1FFFE00C                 BNE             uart_send_ack
ROM:1FFFE00E                 LSLS            R0, R5, #0x1F
ROM:1FFFE010                 ITT MI
ROM:1FFFE012                 ANDMI.W         R0, R5, #0xFE
ROM:1FFFE016                 ADDMI           R5, R0, #2
ROM:1FFFE018                 BL              sub_1FFFC046
ROM:1FFFE01C                 BL              FLASH_UnlockBank1
ROM:1FFFE020                 BL              sub_1FFFC010
ROM:1FFFE024                 LDR             R0, [R7,#4] ; Enable the Option Bytes Programming operation
ROM:1FFFE024                                         ; 0x2002200c+4=0x20022010
ROM:1FFFE026                 ORR.W           R0, R0, #0x10
ROM:1FFFE02A                 STR             R0, [R7,#4]
ROM:1FFFE02C                 BL              FLASH_WaitForLastOperation
ROM:1FFFE030 ; ---------------------------------------------------------------------------
ROM:1FFFE030                 STR             R5, [SP,#0x140+var_140]
ROM:1FFFE032                 B               loc_1FFFE050
ROM:1FFFE034 ; ---------------------------------------------------------------------------
ROM:1FFFE034
ROM:1FFFE034 loc_1FFFE034                            ; CODE XREF: uart_monitor+270j
ROM:1FFFE034                 LDR             R0, [SP,#0x140+var_140]
ROM:1FFFE036                 SUB.W           R0, R9, R0
ROM:1FFFE03A                 LDRH            R0, [R5,R0]
ROM:1FFFE03C                 UXTB            R0, R0
ROM:1FFFE03E                 LDR             R1, [SP,#0x140+var_138]
ROM:1FFFE040                 LDR             R2, [SP,#0x140+var_140]
ROM:1FFFE042                 SUBS            R1, R1, R2
ROM:1FFFE044                 STRH            R0, [R5,R1]
ROM:1FFFE046                 BL              FLASH_WaitForLastOperation
ROM:1FFFE04A ; ---------------------------------------------------------------------------
ROM:1FFFE04A                 LDR             R0, [SP,#0x140+var_140]
ROM:1FFFE04C                 SUBS            R0, R0, #2
ROM:1FFFE04E                 STR             R0, [SP,#0x140+var_140]
ROM:1FFFE050
ROM:1FFFE050 loc_1FFFE050                            ; CODE XREF: uart_monitor+24Ej
ROM:1FFFE050                 LDR             R0, [SP,#0x140+var_140]
ROM:1FFFE052                 CMP             R0, #0
ROM:1FFFE054                 BNE             loc_1FFFE034
ROM:1FFFE056                 LDR             R0, [R7,#4]
ROM:1FFFE058                 BIC.W           R0, R0, #0x10
ROM:1FFFE05C                 STR             R0, [R7,#4]
ROM:1FFFE05E                 BL              uart1_send_ack
ROM:1FFFE062                 BL              sys_reset
ROM:1FFFE066                 B               uart_send_ack
ROM:1FFFE068 ; ---------------------------------------------------------------------------
ROM:1FFFE068
ROM:1FFFE068 loc_1FFFE068                            ; CODE XREF: uart_monitor+86j
ROM:1FFFE068                 BL              FLASH_GetReadOutProtectionStatus ; 检查flash的读保护位
ROM:1FFFE068                                         ;
ROM:1FFFE06C                 CMP             R0, #1
ROM:1FFFE06E                 BEQ             loc_1FFFE132
ROM:1FFFE070                 BL              uart1_send_ack
ROM:1FFFE074                 BL              uart1_rev_a_char
ROM:1FFFE078                 STRB.W          R0, [SP,#0x140+var_13C]
ROM:1FFFE07C                 LDRB.W          R0, [SP,#0x140+var_13C]
ROM:1FFFE080                 CMP             R0, #0xFF
ROM:1FFFE082                 BNE             loc_1FFFE090
ROM:1FFFE084                 BL              uart1_rev_a_char
ROM:1FFFE088                 CBNZ            R0, uart_send_ack
ROM:1FFFE08A                 BL              sub_1FFFC0C6
ROM:1FFFE08E                 B               uart_send_ack
ROM:1FFFE090 ; ---------------------------------------------------------------------------
ROM:1FFFE090
ROM:1FFFE090 loc_1FFFE090                            ; CODE XREF: uart_monitor+29Ej
ROM:1FFFE090                 LDRB.W          R5, [SP,#0x140+var_13C]
ROM:1FFFE094                 BL              sub_1FFFE152
ROM:1FFFE098                 CMP             R0, #0xAA
ROM:1FFFE09A                 BNE.W           send_nack
ROM:1FFFE09E                 ADDS            R0, R5, #1
ROM:1FFFE0A0                 B               loc_1FFFE0B4
ROM:1FFFE0A2 ; ---------------------------------------------------------------------------
ROM:1FFFE0A2
ROM:1FFFE0A2 loc_1FFFE0A2                            ; CODE XREF: uart_monitor+2D6j
ROM:1FFFE0A2                 LDRB.W          R0, [R4],#1
ROM:1FFFE0A6                 LSLS            R0, R0, #0xB
ROM:1FFFE0A8                 ADD.W           R0, R0, #0x8000000
ROM:1FFFE0AC                 BL              FLASH_ErasePage
ROM:1FFFE0B0                 LDR             R0, [SP,#0x140+var_140]
ROM:1FFFE0B2                 SUBS            R0, R0, #1
ROM:1FFFE0B4
ROM:1FFFE0B4 loc_1FFFE0B4                            ; CODE XREF: uart_monitor+2BCj
ROM:1FFFE0B4                 STR             R0, [SP,#0x140+var_140]
ROM:1FFFE0B6                 LDR             R0, [SP,#0x140+var_140]
ROM:1FFFE0B8                 CMP             R0, #0
ROM:1FFFE0BA                 BNE             loc_1FFFE0A2
ROM:1FFFE0BC
ROM:1FFFE0BC uart_send_ack                           ; CODE XREF: uart_monitor+E6j
ROM:1FFFE0BC                                         ; uart_monitor+228j ...
ROM:1FFFE0BC                 MOVS            R0, #0x79
ROM:1FFFE0BE                 B               uart2_send_a1
ROM:1FFFE0C0 ; ---------------------------------------------------------------------------
ROM:1FFFE0C0
ROM:1FFFE0C0 loc_1FFFE0C0                            ; CODE XREF: uart_monitor+8Cj
ROM:1FFFE0C0                 BL              FLASH_GetReadOutProtectionStatus ; 检查flash的读保护位
ROM:1FFFE0C0                                         ;
ROM:1FFFE0C4                 CMP             R0, #1
ROM:1FFFE0C6                 BEQ             loc_1FFFE132 ; 读保护位被设置了
ROM:1FFFE0C8                 BL              uart1_send_ack
ROM:1FFFE0CC                 BL              uart1_rev_a_char
ROM:1FFFE0D0                 BL              loc_1FFFE15C
ROM:1FFFE0D4 ; ---------------------------------------------------------------------------
ROM:1FFFE0D4                 BL              sub_1FFFE152
ROM:1FFFE0D8                 CMP             R0, #0xAA
ROM:1FFFE0DA                 BNE             loc_1FFFE116
ROM:1FFFE0DC                 MOVS            R0, #0
ROM:1FFFE0DE                 STR             R0, [SP,#0x140+var_134]
ROM:1FFFE0E0                 STR             R5, [SP,#0x140+var_140]
ROM:1FFFE0E2                 MOVS            R2, #1
ROM:1FFFE0E4                 B               loc_1FFFE0FA
ROM:1FFFE0E6 ; ---------------------------------------------------------------------------
ROM:1FFFE0E6
ROM:1FFFE0E6 loc_1FFFE0E6                            ; CODE XREF: uart_monitor+31Aj
ROM:1FFFE0E6                 LDRB.W          R0, [R4],#1
ROM:1FFFE0EA                 LDR             R1, [SP,#0x140+var_134]
ROM:1FFFE0EC                 LSL.W           R0, R2, R0
ROM:1FFFE0F0                 ORRS            R0, R1
ROM:1FFFE0F2                 STR             R0, [SP,#0x140+var_134]
ROM:1FFFE0F4                 LDR             R0, [SP,#0x140+var_140]
ROM:1FFFE0F6                 SUBS            R0, R0, #1
ROM:1FFFE0F8                 STR             R0, [SP,#0x140+var_140]
ROM:1FFFE0FA
ROM:1FFFE0FA loc_1FFFE0FA                            ; CODE XREF: uart_monitor+300j
ROM:1FFFE0FA                 LDR             R0, [SP,#0x140+var_140]
ROM:1FFFE0FC                 CMP             R0, #0
ROM:1FFFE0FE                 BNE             loc_1FFFE0E6
ROM:1FFFE100                 BL              FLASH_UnlockBank1
ROM:1FFFE104                 MOVS            R0, #0x35
ROM:1FFFE106                 STR             R0, [R7]
ROM:1FFFE108                 LDR             R0, [SP,#0x140+var_134]
ROM:1FFFE10A                 BL              sub_1FFFC0FC
ROM:1FFFE10E
ROM:1FFFE10E loc_1FFFE10E                            ; CODE XREF: uart_monitor+346j
ROM:1FFFE10E                 BL              uart1_send_ack
ROM:1FFFE112
ROM:1FFFE112 loc_1FFFE112                            ; CODE XREF: uart_monitor+36Cj
ROM:1FFFE112                 BL              sys_reset
ROM:1FFFE116
ROM:1FFFE116 loc_1FFFE116                            ; CODE XREF: uart_monitor+2F6j
ROM:1FFFE116                 B               loc_1FFFDE26
ROM:1FFFE118 ; ---------------------------------------------------------------------------
ROM:1FFFE118
ROM:1FFFE118 loc_1FFFE118                            ; CODE XREF: uart_monitor+92j
ROM:1FFFE118                 BL              FLASH_GetReadOutProtectionStatus ; 检查flash的读保护位
ROM:1FFFE118                                         ;
ROM:1FFFE11C                 CMP             R0, #1
ROM:1FFFE11E                 BEQ             loc_1FFFE132
ROM:1FFFE120                 BL              uart1_send_ack
ROM:1FFFE124                 MOVS            R0, #0
ROM:1FFFE126
ROM:1FFFE126 loc_1FFFE126                            ; CODE XREF: uart_monitor+358j
ROM:1FFFE126                 BL              sub_1FFFC1AA
ROM:1FFFE12A                 B               loc_1FFFE10E
ROM:1FFFE12C ; ---------------------------------------------------------------------------
ROM:1FFFE12C
ROM:1FFFE12C loc_1FFFE12C                            ; CODE XREF: uart_monitor+98j
ROM:1FFFE12C                 BL              FLASH_GetReadOutProtectionStatus ; 检查flash的读保护位
ROM:1FFFE12C                                         ;
ROM:1FFFE130                 CMP             R0, #1
ROM:1FFFE132
ROM:1FFFE132 loc_1FFFE132                            ; CODE XREF: uart_monitor+28Aj
ROM:1FFFE132                                         ; uart_monitor+2E2j ...
ROM:1FFFE132                 BEQ.W           send_nack
ROM:1FFFE136                 BL              uart1_send_ack
ROM:1FFFE13A                 MOVS            R0, #1
ROM:1FFFE13C                 B               loc_1FFFE126
ROM:1FFFE13E ; ---------------------------------------------------------------------------
ROM:1FFFE13E
ROM:1FFFE13E loc_1FFFE13E                            ; CODE XREF: uart_monitor+9Ej
ROM:1FFFE13E                 BL              uart1_send_ack
ROM:1FFFE142                 MOVS            R0, #0
ROM:1FFFE144                 BL              sub_1FFFC1AA
ROM:1FFFE148                 BL              uart1_send_ack
ROM:1FFFE14C                 BL              clear_all_mem
ROM:1FFFE150                 B               loc_1FFFE112
ROM:1FFFE150 ; End of function uart_monitor
ROM:1FFFE150
ROM:1FFFE152
ROM:1FFFE152 ; =============== S U B R O U T I N E =======================================
ROM:1FFFE152
ROM:1FFFE152
ROM:1FFFE152 sub_1FFFE152                            ; CODE XREF: uart_monitor+2B0p
ROM:1FFFE152                                         ; uart_monitor+2F0p
ROM:1FFFE152
ROM:1FFFE152 arg_4           =  4
ROM:1FFFE152
ROM:1FFFE152                 MOV             R4, R9
ROM:1FFFE154
ROM:1FFFE154 loc_1FFFE154                            ; CODE XREF: uart_monitor+1A2p
ROM:1FFFE154                 MOV             R1, R9
ROM:1FFFE156                 LDRB.W          R0, [SP,#arg_4]
ROM:1FFFE15A                 B               sub_1FFFE1FE
ROM:1FFFE15A ; End of function sub_1FFFE152
ROM:1FFFE15A
ROM:1FFFE15C ; ---------------------------------------------------------------------------
ROM:1FFFE15C ; START OF FUNCTION CHUNK FOR uart_monitor
ROM:1FFFE15C
ROM:1FFFE15C loc_1FFFE15C                            ; CODE XREF: uart_monitor+19Ej
ROM:1FFFE15C                                         ; uart_monitor+2ECj
ROM:1FFFE15C                 STRB.W          R0, [SP,#0x140+var_13C]
ROM:1FFFE160                 LDRB.W          R0, [SP,#0x140+var_13C]
ROM:1FFFE164                 ADDS            R5, R0, #1
ROM:1FFFE166                 BX              LR
ROM:1FFFE168 ; ---------------------------------------------------------------------------
ROM:1FFFE168
ROM:1FFFE168 loc_1FFFE168                            ; CODE XREF: uart_monitor+F0j
ROM:1FFFE168                                         ; uart_monitor+194j
ROM:1FFFE168                 STRB.W          R0, [SP,#0x140+var_13B]
ROM:1FFFE16C                 LDRB.W          R0, [SP,#0x140+var_13B]
ROM:1FFFE170                 CMP             R0, #1
ROM:1FFFE172                 BX              LR
ROM:1FFFE174 ; ---------------------------------------------------------------------------
ROM:1FFFE174
ROM:1FFFE174 get_mem_block                           ; CODE XREF: uart_monitor+ECj
ROM:1FFFE174                                         ; uart_monitor+136j ...
ROM:1FFFE174                 STR             R0, [SP,#8]
ROM:1FFFE176                 LDR             R0, [SP,#8]
ROM:1FFFE178                 B.W             get_mem_block
ROM:1FFFE178 ; END OF FUNCTION CHUNK FOR uart_monitor
ROM:1FFFE17C
ROM:1FFFE17C ; =============== S U B R O U T I N E =======================================
ROM:1FFFE17C
ROM:1FFFE17C
ROM:1FFFE17C uart1_send_ack                          ; CODE XREF: uart_monitor:get_version_baohubitp
ROM:1FFFE17C                                         ; uart_monitor:get_idp ...
ROM:1FFFE17C                 MOVS            R0, #0x79
ROM:1FFFE17E                 B               uart_send_a_char
ROM:1FFFE17E ; End of function uart1_send_ack
ROM:1FFFE17E
ROM:1FFFE180
ROM:1FFFE180 ; =============== S U B R O U T I N E =======================================
ROM:1FFFE180
ROM:1FFFE180
ROM:1FFFE180 uart1_rev_a_char                        ; CODE XREF: uart_monitor+4Cp
ROM:1FFFE180                                         ; uart_monitor+58p ...
ROM:1FFFE180                 LDR             R0, =0x20000190
ROM:1FFFE182                 LDR             R0, [R0]
ROM:1FFFE184                 MOVW            R2, #0xAAAA
ROM:1FFFE188                 B               loc_1FFFE18E
ROM:1FFFE18A ; ---------------------------------------------------------------------------
ROM:1FFFE18A
ROM:1FFFE18A loc_1FFFE18A                            ; CODE XREF: uart1_rev_a_char+12j
ROM:1FFFE18A                 LDR             R1, =0x40003000
ROM:1FFFE18C                 STR             R2, [R1]
ROM:1FFFE18E
ROM:1FFFE18E loc_1FFFE18E                            ; CODE XREF: uart1_rev_a_char+8j
ROM:1FFFE18E                 LDRH            R1, [R0]
ROM:1FFFE190                 LSLS            R1, R1, #0x1A
ROM:1FFFE192                 BPL             loc_1FFFE18A
ROM:1FFFE194                 LDRH            R0, [R0,#4]
ROM:1FFFE196                 UXTB            R0, R0
ROM:1FFFE198                 BX              LR
ROM:1FFFE198 ; End of function uart1_rev_a_char
ROM:1FFFE198
ROM:1FFFE19A
ROM:1FFFE19A ; =============== S U B R O U T I N E =======================================
ROM:1FFFE19A
ROM:1FFFE19A
ROM:1FFFE19A uart_send_a_char                        ; CODE XREF: uart_ready+36p
ROM:1FFFE19A                                         ; uart_monitor:uart2_send_a1p ...
ROM:1FFFE19A                 LDR             R1, =0x20000190 ; 0x1FFFEB64
ROM:1FFFE19C                 LDR             R1, [R1]
ROM:1FFFE19E                 STRH            R0, [R1,#4]
ROM:1FFFE1A0
ROM:1FFFE1A0 loc_1FFFE1A0                            ; CODE XREF: uart_send_a_char+Aj
ROM:1FFFE1A0                 LDRH            R0, [R1]
ROM:1FFFE1A2                 LSLS            R0, R0, #0x19
ROM:1FFFE1A4                 BPL             loc_1FFFE1A0
ROM:1FFFE1A6                 BX              LR
ROM:1FFFE1A6 ; End of function uart_send_a_char
ROM:1FFFE1A6
ROM:1FFFE1A8
ROM:1FFFE1A8 ; =============== S U B R O U T I N E =======================================
ROM:1FFFE1A8
ROM:1FFFE1A8
ROM:1FFFE1A8 start_rd_mem                            ; CODE XREF: uart_monitor:read_memp
ROM:1FFFE1A8                                         ; uart_monitor:cmd_gop ...
ROM:1FFFE1A8                 PUSH            {R3-R7,LR}
ROM:1FFFE1AA                 BL              FLASH_GetReadOutProtectionStatus ; 检查flash的读保护位
ROM:1FFFE1AA                                         ;
ROM:1FFFE1AE                 CBNZ            R0, quit_rd_mem
ROM:1FFFE1B0                 MOVS            R0, #0x79
ROM:1FFFE1B2                 BL              uart_send_a_char
ROM:1FFFE1B6                 BL              uart1_rev_a_char
ROM:1FFFE1BA                 MOV             R4, R0
ROM:1FFFE1BC                 BL              uart1_rev_a_char
ROM:1FFFE1C0                 LSLS            R1, R0, #0x10
ROM:1FFFE1C2                 ORR.W           R5, R1, R4,LSL#24
ROM:1FFFE1C6                 EORS            R4, R0
ROM:1FFFE1C8                 BL              uart1_rev_a_char
ROM:1FFFE1CC                 MOV             R6, R0
ROM:1FFFE1CE                 BL              uart1_rev_a_char
ROM:1FFFE1D2                 MOV             R7, R0
ROM:1FFFE1D4                 ORR.W           R0, R7, R6,LSL#8
ROM:1FFFE1D8                 ORRS            R5, R0
ROM:1FFFE1DA                 BL              uart1_rev_a_char
ROM:1FFFE1DE                 EOR.W           R1, R6, R4
ROM:1FFFE1E2                 EORS            R1, R7
ROM:1FFFE1E4                 CMP             R0, R1
ROM:1FFFE1E6                 BNE             quit_rd_mem
ROM:1FFFE1E8                 MOVS            R0, #0x79
ROM:1FFFE1EA                 BL              uart_send_a_char
ROM:1FFFE1EE                 MOV             R0, R5
ROM:1FFFE1F0                 POP             {R1,R4-R7,PC}
ROM:1FFFE1F2 ; ---------------------------------------------------------------------------
ROM:1FFFE1F2
ROM:1FFFE1F2 quit_rd_mem                             ; CODE XREF: start_rd_mem+6j
ROM:1FFFE1F2                                         ; start_rd_mem+3Ej
ROM:1FFFE1F2                 MOVS            R0, #0x1F
ROM:1FFFE1F4                 BL              uart_send_a_char
ROM:1FFFE1F8                 MOV.W           R0, #0x55555555
ROM:1FFFE1FC                 POP             {R1,R4-R7,PC}
ROM:1FFFE1FC ; End of function start_rd_mem
ROM:1FFFE1FC
ROM:1FFFE1FE
ROM:1FFFE1FE ; =============== S U B R O U T I N E =======================================
ROM:1FFFE1FE
ROM:1FFFE1FE
ROM:1FFFE1FE sub_1FFFE1FE                            ; CODE XREF: sub_1FFFE152+8j
ROM:1FFFE1FE
ROM:1FFFE1FE var_18          = -0x18
ROM:1FFFE1FE var_14          = -0x14
ROM:1FFFE1FE var_C           = -0xC
ROM:1FFFE1FE
ROM:1FFFE1FE                 PUSH            {R0,R4,LR}
ROM:1FFFE200                 SUB             SP, SP, #0xC
ROM:1FFFE202                 MOV             R4, R1
ROM:1FFFE204                 MOVS            R0, #0
ROM:1FFFE206                 STR             R0, [SP,#0x18+var_14]
ROM:1FFFE208                 STR             R0, [SP,#0x18+var_18]
ROM:1FFFE20A                 LDRB.W          R0, [SP,#0x18+var_C]
ROM:1FFFE20E                 LDRB.W          R1, [SP,#0x18+var_C]
ROM:1FFFE212                 STR             R1, [SP,#0x18+var_14]
ROM:1FFFE214                 ADDS            R0, R0, #1
ROM:1FFFE216                 B               loc_1FFFE236
ROM:1FFFE218 ; ---------------------------------------------------------------------------
ROM:1FFFE218
ROM:1FFFE218 loc_1FFFE218                            ; CODE XREF: sub_1FFFE1FE+3Ej
ROM:1FFFE218                 BL              uart1_rev_a_char
ROM:1FFFE21C                 STRB.W          R0, [SP,#0x18+var_C]
ROM:1FFFE220                 LDR             R0, [SP,#0x18+var_14]
ROM:1FFFE222                 LDRB.W          R1, [SP,#0x18+var_C]
ROM:1FFFE226                 EORS            R0, R1
ROM:1FFFE228                 STR             R0, [SP,#0x18+var_14]
ROM:1FFFE22A                 LDRB.W          R0, [SP,#0x18+var_C]
ROM:1FFFE22E                 STRB.W          R0, [R4],#1
ROM:1FFFE232                 LDR             R0, [SP,#0x18+var_18]
ROM:1FFFE234                 SUBS            R0, R0, #1
ROM:1FFFE236
ROM:1FFFE236 loc_1FFFE236                            ; CODE XREF: sub_1FFFE1FE+18j
ROM:1FFFE236                 STR             R0, [SP,#0x18+var_18]
ROM:1FFFE238                 LDR             R0, [SP,#0x18+var_18]
ROM:1FFFE23A                 CMP             R0, #0
ROM:1FFFE23C                 BNE             loc_1FFFE218
ROM:1FFFE23E                 BL              uart1_rev_a_char
ROM:1FFFE242                 LDR             R1, [SP,#0x18+var_14]
ROM:1FFFE244                 CMP             R0, R1
ROM:1FFFE246                 BEQ             loc_1FFFE252
ROM:1FFFE248                 MOVS            R0, #0x1F
ROM:1FFFE24A                 BL              uart_send_a_char
ROM:1FFFE24E                 MOVS            R0, #0x55
ROM:1FFFE250                 B               loc_1FFFE254
ROM:1FFFE252 ; ---------------------------------------------------------------------------
ROM:1FFFE252
ROM:1FFFE252 loc_1FFFE252                            ; CODE XREF: sub_1FFFE1FE+48j
ROM:1FFFE252                 MOVS            R0, #0xAA
ROM:1FFFE254
ROM:1FFFE254 loc_1FFFE254                            ; CODE XREF: sub_1FFFE1FE+52j
ROM:1FFFE254                 ADD             SP, SP, #0x10
ROM:1FFFE256                 POP             {R4,PC}
ROM:1FFFE256 ; End of function sub_1FFFE1FE
ROM:1FFFE256
ROM:1FFFE256 ; ---------------------------------------------------------------------------
ROM:1FFFE258 dword_1FFFE258  DCD 0x20000190          ; DATA XREF: uart_ready+6r
ROM:1FFFE258                                         ; uart1_rev_a_charr ...
ROM:1FFFE25C dword_1FFFE25C  DCD 0x20000194          ; DATA XREF: uart_ready+10r
ROM:1FFFE260 dword_1FFFE260  DCD 0xE000E010          ; DATA XREF: uart_monitor+2Ar
ROM:1FFFE264 dword_1FFFE264  DCD 0x4002100C          ; DATA XREF: uart_monitor+2Er
ROM:1FFFE268 dword_1FFFE268  DCD 0x4002200C          ; DATA XREF: uart_monitor+32r
ROM:1FFFE26C dword_1FFFE26C  DCD 0x40003000          ; DATA XREF: uart_monitor:loc_1FFFDE26r
ROM:1FFFE26C                                         ; uart1_rev_a_char:loc_1FFFE18Ar
ROM:1FFFE270 dword_1FFFE270  DCD 0x1FFFF800          ; DATA XREF: uart_monitor+224r
ROM:1FFFE274 boot_param_block DCB 0x79 ; y           ; DATA XREF: uart_monitor+8o
ROM:1FFFE274                                         ; host 00 ff命令的设备响应字符串
ROM:1FFFE274                                         ; byte 1:ACK
ROM:1FFFE275                 DCB  0xB                ; Byte 2: N = 11 = the number of bytes to follow – 1 except current and ACKs.
ROM:1FFFE276                 DCB 0x22 ; "            ; Byte 3: Bootloader version (0 < Version < 255), example: 0x22 = Version 2.2
ROM:1FFFE277                 DCB    0                ; Byte 4: 0x00 – Get command
ROM:1FFFE278                 DCB    1                ; Byte 5: 0x01 – Get Version and Read Protection Status
ROM:1FFFE279                 DCB    2                ; Byte 6: 0x02 – Get ID
ROM:1FFFE27A                 DCB 0x11                ; Byte 7: 0x11 – Read Memory command
ROM:1FFFE27B                 DCB 0x21 ; !            ; Byte 8: 0x21 – Go command
ROM:1FFFE27C                 DCB 0x31 ; 1            ; Byte 9: 0x31 – Write Memory command
ROM:1FFFE27D                 DCB 0x43 ; C            ; Byte 10: 0x43 or
ROM:1FFFE27D                                         ; 0x44
ROM:1FFFE27D                                         ; – Erase command or Extended Erase command (these commands are
ROM:1FFFE27D                                         ; exlusive)
ROM:1FFFE27E                 DCB 0x63 ; c            ; Byte 11: 0x63 – Write Protect command
ROM:1FFFE27F                 DCB 0x73 ; s            ; Byte 12: 0x73 – Write Unprotect command
ROM:1FFFE280                 DCB 0x82 ;             ;  Byte 13: 0x82 – Readout Protect command
ROM:1FFFE281                 DCB 0x92 ;             ; Byte 14: 0x92 – Readout Unprotect command
ROM:1FFFE282                 DCB 0x79 ; y            ; Last byte (15): ACK
ROM:1FFFE283                 DCB    0
ROM:1FFFE284 ; ---------------------------------------------------------------------------
ROM:1FFFE284
ROM:1FFFE284 usb_fs_int_proc                         ; CODE XREF: ROM:OTG_FS_IRQHandlerj
ROM:1FFFE284                 PUSH            {R4-R6,LR}
ROM:1FFFE286                 MOVS            R4, #0
ROM:1FFFE288                 BL              sub_1FFFD6C2
ROM:1FFFE28C                 CMP             R0, #0
ROM:1FFFE28E                 BEQ             loc_1FFFE352
ROM:1FFFE290                 BL              sub_1FFFD6D4
ROM:1FFFE294                 MOVS            R5, R0
ROM:1FFFE296                 BNE             loc_1FFFE29C
ROM:1FFFE298                 MOVS            R0, #0
ROM:1FFFE29A                 POP             {R4-R6,PC}
ROM:1FFFE29C ; ---------------------------------------------------------------------------
ROM:1FFFE29C
ROM:1FFFE29C loc_1FFFE29C                            ; CODE XREF: ROM:1FFFE296j
ROM:1FFFE29C                 IT MI
ROM:1FFFE29E                 MOVMI           R4, #1
ROM:1FFFE2A0                 LSLS            R0, R5, #0x14
ROM:1FFFE2A2                 IT MI
ROM:1FFFE2A4                 MOVMI           R4, #1
ROM:1FFFE2A6                 LDR             R6, =0x20000B34
ROM:1FFFE2A8                 LSLS            R0, R5, #0x1C
ROM:1FFFE2AA                 BPL             loc_1FFFE2B4
ROM:1FFFE2AC                 LDR             R0, [R6]
ROM:1FFFE2AE                 MOVS            R1, #8
ROM:1FFFE2B0                 STR             R1, [R0,#0x14]
ROM:1FFFE2B2                 MOVS            R4, #1
ROM:1FFFE2B4
ROM:1FFFE2B4 loc_1FFFE2B4                            ; CODE XREF: ROM:1FFFE2AAj
ROM:1FFFE2B4                 LSLS            R0, R5, #0x1B
ROM:1FFFE2B6                 BPL             loc_1FFFE2BE
ROM:1FFFE2B8                 BL              sub_1FFFE4B0
ROM:1FFFE2BC                 ORRS            R4, R0
ROM:1FFFE2BE
ROM:1FFFE2BE loc_1FFFE2BE                            ; CODE XREF: ROM:1FFFE2B6j
ROM:1FFFE2BE                 LSLS            R0, R5, #0x12
ROM:1FFFE2C0                 BPL             loc_1FFFE334
ROM:1FFFE2C2                 BL              sub_1FFFD7D6
ROM:1FFFE2C6                 LDR             R0, [R6]
ROM:1FFFE2C8                 LDR             R1, [R0,#0xC]
ROM:1FFFE2CA                 LDR             R2, [R6,#4]
ROM:1FFFE2CC                 LDR             R2, [R2,#8]
ROM:1FFFE2CE                 LSRS            R2, R2, #1
ROM:1FFFE2D0                 AND.W           R2, R2, #3
ROM:1FFFE2D4                 CMP             R2, #1
ROM:1FFFE2D6                 ITEE NE
ROM:1FFFE2D8                 CMPNE           R2, #3
ROM:1FFFE2DA                 BICEQ.W         R1, R1, #0x3C00
ROM:1FFFE2DE                 ORREQ.W         R1, R1, #0x2400
ROM:1FFFE2E2                 STR             R1, [R0,#0xC]
ROM:1FFFE2E4                 MOV.W           R1, #0x2000
ROM:1FFFE2E8                 STR             R1, [R0,#0x14]
ROM:1FFFE2EA                 ORR.W           R4, R4, #1
ROM:1FFFE2EE                 LDR             R0, =0x20000198
ROM:1FFFE2F0                 LDR             R1, [R0]
ROM:1FFFE2F2                 CBNZ            R1, loc_1FFFE334
ROM:1FFFE2F4                 LDR             R1, =0x40010808
ROM:1FFFE2F6                 LDR             R1, [R1]
ROM:1FFFE2F8                 LSLS            R1, R1, #0x16
ROM:1FFFE2FA                 BPL             loc_1FFFE334
ROM:1FFFE2FC                 MOVW            R1, #0xAAA
ROM:1FFFE300                 STR             R1, [R0]
ROM:1FFFE302                 LDR             R5, =0x20000C48
ROM:1FFFE304                 MOVS            R0, #0
ROM:1FFFE306                 STRB            R0, [R5]
ROM:1FFFE308                 BL              sub_1FFFBBF0
ROM:1FFFE30C                 LDR             R0, [R5,#4]
ROM:1FFFE30E                 CBZ             R0, loc_1FFFE328
ROM:1FFFE310                 CMP             R0, #2
ROM:1FFFE312                 BEQ             loc_1FFFE322
ROM:1FFFE314                 BCC             loc_1FFFE31C
ROM:1FFFE316                 CMP             R0, #3
ROM:1FFFE318                 BEQ             loc_1FFFE328
ROM:1FFFE31A                 B               loc_1FFFE32E
ROM:1FFFE31C ; ---------------------------------------------------------------------------
ROM:1FFFE31C
ROM:1FFFE31C loc_1FFFE31C                            ; CODE XREF: ROM:1FFFE314j
ROM:1FFFE31C                 BL              sub_1FFFBE1A
ROM:1FFFE320                 B               loc_1FFFE352
ROM:1FFFE322 ; ---------------------------------------------------------------------------
ROM:1FFFE322
ROM:1FFFE322 loc_1FFFE322                            ; CODE XREF: ROM:1FFFE312j
ROM:1FFFE322                 BL              sub_1FFFBEC2
ROM:1FFFE326                 B               loc_1FFFE352
ROM:1FFFE328 ; ---------------------------------------------------------------------------
ROM:1FFFE328
ROM:1FFFE328 loc_1FFFE328                            ; CODE XREF: ROM:1FFFE30Ej
ROM:1FFFE328                                         ; ROM:1FFFE318j
ROM:1FFFE328                 BL              sub_1FFFBD18
ROM:1FFFE32C                 B               loc_1FFFE352
ROM:1FFFE32E ; ---------------------------------------------------------------------------
ROM:1FFFE32E
ROM:1FFFE32E loc_1FFFE32E                            ; CODE XREF: ROM:1FFFE31Aj
ROM:1FFFE32E                 BL              sys_reset
ROM:1FFFE332                 B               loc_1FFFE352
ROM:1FFFE334 ; ---------------------------------------------------------------------------
ROM:1FFFE334
ROM:1FFFE334 loc_1FFFE334                            ; CODE XREF: ROM:1FFFE2C0j
ROM:1FFFE334                                         ; ROM:1FFFE2F2j ...
ROM:1FFFE334                 LSLS            R0, R5, #0x13
ROM:1FFFE336                 BPL             loc_1FFFE33E
ROM:1FFFE338                 BL              sub_1FFFE536
ROM:1FFFE33C                 ORRS            R4, R0
ROM:1FFFE33E
ROM:1FFFE33E loc_1FFFE33E                            ; CODE XREF: ROM:1FFFE336j
ROM:1FFFE33E                 LSLS            R0, R5, #0xD
ROM:1FFFE340                 BPL             loc_1FFFE348
ROM:1FFFE342                 BL              sub_1FFFE356
ROM:1FFFE346                 ORRS            R4, R0
ROM:1FFFE348
ROM:1FFFE348 loc_1FFFE348                            ; CODE XREF: ROM:1FFFE340j
ROM:1FFFE348                 LSLS            R0, R5, #0xC
ROM:1FFFE34A                 BPL             loc_1FFFE352
ROM:1FFFE34C                 BL              sub_1FFFE430
ROM:1FFFE350                 ORRS            R4, R0
ROM:1FFFE352
ROM:1FFFE352 loc_1FFFE352                            ; CODE XREF: ROM:1FFFE28Ej
ROM:1FFFE352                                         ; ROM:1FFFE320j ...
ROM:1FFFE352                 MOV             R0, R4
ROM:1FFFE354                 POP             {R4-R6,PC}
ROM:1FFFE356
ROM:1FFFE356 ; =============== S U B R O U T I N E =======================================
ROM:1FFFE356
ROM:1FFFE356
ROM:1FFFE356 sub_1FFFE356                            ; CODE XREF: ROM:1FFFE342p
ROM:1FFFE356                 PUSH.W          {R3-R9,LR}
ROM:1FFFE35A                 MOVS            R6, #0
ROM:1FFFE35C                 BL              sub_1FFFDA78
ROM:1FFFE360                 MOVS.W          R9, R0
ROM:1FFFE364                 LDR             R4, =0x20000098
ROM:1FFFE366                 LDR.W           R8, =0x20000B34
ROM:1FFFE36A                 B               loc_1FFFE3C6
ROM:1FFFE36C ; ---------------------------------------------------------------------------
ROM:1FFFE36C
ROM:1FFFE36C loc_1FFFE36C                            ; CODE XREF: sub_1FFFE356+BCj
ROM:1FFFE36C                 ADD.W           R0, R4, R6,LSL#2
ROM:1FFFE370                 LDR             R0, [R0,#4]
ROM:1FFFE372                 BLX             R0
ROM:1FFFE374
ROM:1FFFE374 loc_1FFFE374                            ; CODE XREF: sub_1FFFE356+A4j
ROM:1FFFE374                                         ; sub_1FFFE356+D2j
ROM:1FFFE374                 LSLS            R0, R5, #0x1D
ROM:1FFFE376                 BPL             loc_1FFFE380
ROM:1FFFE378                 MOVS            R5, #4
ROM:1FFFE37A                 LDR             R0, [R7,#0xC]
ROM:1FFFE37C                 MOVS            R1, #4
ROM:1FFFE37E                 STR             R5, [R0,#8]
ROM:1FFFE380
ROM:1FFFE380 loc_1FFFE380                            ; CODE XREF: sub_1FFFE356+20j
ROM:1FFFE380                 LSLS            R0, R5, #0x1C
ROM:1FFFE382                 BPL             loc_1FFFE38C
ROM:1FFFE384                 MOVS            R5, #8
ROM:1FFFE386                 LDR             R0, [R7,#0xC]
ROM:1FFFE388                 MOVS            R1, #8
ROM:1FFFE38A                 STR             R5, [R0,#8]
ROM:1FFFE38C
ROM:1FFFE38C loc_1FFFE38C                            ; CODE XREF: sub_1FFFE356+2Cj
ROM:1FFFE38C                 LSLS            R0, R5, #0x1B
ROM:1FFFE38E                 BPL             loc_1FFFE398
ROM:1FFFE390                 MOVS            R5, #0x10
ROM:1FFFE392                 LDR             R0, [R7,#0xC]
ROM:1FFFE394                 MOVS            R1, #0x10
ROM:1FFFE396                 STR             R5, [R0,#8]
ROM:1FFFE398
ROM:1FFFE398 loc_1FFFE398                            ; CODE XREF: sub_1FFFE356+38j
ROM:1FFFE398                 LSLS            R0, R5, #0x1A
ROM:1FFFE39A                 BPL             loc_1FFFE3A4
ROM:1FFFE39C                 MOVS            R5, #0x20
ROM:1FFFE39E                 LDR             R0, [R7,#0xC]
ROM:1FFFE3A0                 MOVS            R1, #0x20
ROM:1FFFE3A2                 STR             R5, [R0,#8]
ROM:1FFFE3A4
ROM:1FFFE3A4 loc_1FFFE3A4                            ; CODE XREF: sub_1FFFE356+44j
ROM:1FFFE3A4                 LSLS            R0, R5, #0x19
ROM:1FFFE3A6                 BPL             loc_1FFFE3B0
ROM:1FFFE3A8                 MOVS            R5, #0x40
ROM:1FFFE3AA                 LDR             R0, [R7,#0xC]
ROM:1FFFE3AC                 MOVS            R1, #0x40
ROM:1FFFE3AE                 STR             R5, [R0,#8]
ROM:1FFFE3B0
ROM:1FFFE3B0 loc_1FFFE3B0                            ; CODE XREF: sub_1FFFE356+50j
ROM:1FFFE3B0                 LSLS            R0, R5, #0x18
ROM:1FFFE3B2                 BPL             loc_1FFFE3C0
ROM:1FFFE3B4                 MOV             R0, R6
ROM:1FFFE3B6                 BL              sub_1FFFE578
ROM:1FFFE3BA                 LDR             R0, [R7,#0xC]
ROM:1FFFE3BC                 MOVS            R1, #0x80
ROM:1FFFE3BE                 STR             R1, [R0,#8]
ROM:1FFFE3C0
ROM:1FFFE3C0 loc_1FFFE3C0                            ; CODE XREF: sub_1FFFE356+5Cj
ROM:1FFFE3C0                                         ; sub_1FFFE356+76j
ROM:1FFFE3C0                 ADDS            R6, R6, #1
ROM:1FFFE3C2                 MOVS.W          R9, R9,LSR#1
ROM:1FFFE3C6
ROM:1FFFE3C6 loc_1FFFE3C6                            ; CODE XREF: sub_1FFFE356+14j
ROM:1FFFE3C6                 BEQ             loc_1FFFE42A
ROM:1FFFE3C8                 MOVS.W          R0, R9,LSL#31
ROM:1FFFE3CC                 BPL             loc_1FFFE3C0
ROM:1FFFE3CE                 MOV             R0, R6
ROM:1FFFE3D0                 BL              sub_1FFFDC7A
ROM:1FFFE3D4                 LDR.W           R1, [R8,#4]
ROM:1FFFE3D8                 LDR             R2, [R1,#0x10]
ROM:1FFFE3DA                 LDR             R3, [R1,#0x34]
ROM:1FFFE3DC                 LDRB            R0, [R0]
ROM:1FFFE3DE                 ADD.W           R5, R8, R0,LSL#2
ROM:1FFFE3E2                 LDR             R5, [R5,#0xC]
ROM:1FFFE3E4                 LDR             R7, [R5,#8]
ROM:1FFFE3E6                 LSRS            R3, R0
ROM:1FFFE3E8                 AND.W           R3, R3, #1
ROM:1FFFE3EC                 ORR.W           R2, R2, R3,LSL#7
ROM:1FFFE3F0                 AND.W           R5, R2, R7
ROM:1FFFE3F4                 ADD.W           R7, R8, R6,LSL#2
ROM:1FFFE3F8                 LSLS            R2, R5, #0x1F
ROM:1FFFE3FA                 BPL             loc_1FFFE374
ROM:1FFFE3FC                 LDR             R2, [R1,#0x34]
ROM:1FFFE3FE                 MOVS            R3, #1
ROM:1FFFE400                 LSL.W           R0, R3, R0
ROM:1FFFE404                 BIC.W           R0, R2, R0
ROM:1FFFE408                 STR             R0, [R1,#0x34]
ROM:1FFFE40A                 MOVS            R5, #1
ROM:1FFFE40C                 LDR             R0, [R7,#0xC]
ROM:1FFFE40E                 STR             R3, [R0,#8]
ROM:1FFFE410                 CMP             R6, #0
ROM:1FFFE412                 BNE             loc_1FFFE36C
ROM:1FFFE414                 BL              sub_1FFFD3B8
ROM:1FFFE418                 LDRH            R1, [R4]
ROM:1FFFE41A                 MOVS            R0, #0
ROM:1FFFE41C                 BL              sub_1FFFCBF2
ROM:1FFFE420                 LDRH            R1, [R4,#2]
ROM:1FFFE422                 MOVS            R0, #0
ROM:1FFFE424                 BL              sub_1FFFCBD0
ROM:1FFFE428                 B               loc_1FFFE374
ROM:1FFFE42A ; ---------------------------------------------------------------------------
ROM:1FFFE42A
ROM:1FFFE42A loc_1FFFE42A                            ; CODE XREF: sub_1FFFE356:loc_1FFFE3C6j
ROM:1FFFE42A                 MOVS            R0, #1
ROM:1FFFE42C                 POP.W           {R1,R4-R9,PC}
ROM:1FFFE42C ; End of function sub_1FFFE356
ROM:1FFFE42C
ROM:1FFFE430
ROM:1FFFE430 ; =============== S U B R O U T I N E =======================================
ROM:1FFFE430
ROM:1FFFE430
ROM:1FFFE430 sub_1FFFE430                            ; CODE XREF: ROM:1FFFE34Cp
ROM:1FFFE430                 PUSH.W          {R4-R8,LR}
ROM:1FFFE434                 MOVS            R4, #0
ROM:1FFFE436                 BL              sub_1FFFDA56
ROM:1FFFE43A                 MOVS            R5, R0
ROM:1FFFE43C                 LDR.W           R8, =0x20000098
ROM:1FFFE440                 B               loc_1FFFE480
ROM:1FFFE442 ; ---------------------------------------------------------------------------
ROM:1FFFE442
ROM:1FFFE442 loc_1FFFE442                            ; CODE XREF: sub_1FFFE430+76j
ROM:1FFFE442                 ADD.W           R0, R8, R4,LSL#2
ROM:1FFFE446                 LDR             R0, [R0,#0x1C]
ROM:1FFFE448                 BLX             R0
ROM:1FFFE44A
ROM:1FFFE44A loc_1FFFE44A                            ; CODE XREF: sub_1FFFE430+6Aj
ROM:1FFFE44A                                         ; sub_1FFFE430+7Cj
ROM:1FFFE44A                 LSLS            R0, R6, #0x1E
ROM:1FFFE44C                 BPL             loc_1FFFE456
ROM:1FFFE44E                 MOVS            R6, #2
ROM:1FFFE450                 LDR             R0, [R7,#0x2C]
ROM:1FFFE452                 MOVS            R1, #2
ROM:1FFFE454                 STR             R1, [R0,#8]
ROM:1FFFE456
ROM:1FFFE456 loc_1FFFE456                            ; CODE XREF: sub_1FFFE430+1Cj
ROM:1FFFE456                 LSLS            R0, R6, #0x1D
ROM:1FFFE458                 BPL             loc_1FFFE462
ROM:1FFFE45A                 MOVS            R6, #4
ROM:1FFFE45C                 LDR             R0, [R7,#0x2C]
ROM:1FFFE45E                 MOVS            R1, #4
ROM:1FFFE460                 STR             R1, [R0,#8]
ROM:1FFFE462
ROM:1FFFE462 loc_1FFFE462                            ; CODE XREF: sub_1FFFE430+28j
ROM:1FFFE462                 LSLS            R0, R6, #0x1C
ROM:1FFFE464                 BPL             loc_1FFFE47C
ROM:1FFFE466                 CBNZ            R4, loc_1FFFE476
ROM:1FFFE468                 BL              sub_1FFFD356
ROM:1FFFE46C                 LDRH.W          R1, [R8,#2]
ROM:1FFFE470                 MOVS            R0, #0x80
ROM:1FFFE472                 BL              sub_1FFFCBD0
ROM:1FFFE476
ROM:1FFFE476 loc_1FFFE476                            ; CODE XREF: sub_1FFFE430+36j
ROM:1FFFE476                 LDR             R0, [R7,#0x2C]
ROM:1FFFE478                 MOVS            R1, #8
ROM:1FFFE47A                 STR             R1, [R0,#8]
ROM:1FFFE47C
ROM:1FFFE47C loc_1FFFE47C                            ; CODE XREF: sub_1FFFE430+34j
ROM:1FFFE47C                                         ; sub_1FFFE430+54j
ROM:1FFFE47C                 ADDS            R4, R4, #1
ROM:1FFFE47E                 LSRS            R5, R5, #1
ROM:1FFFE480
ROM:1FFFE480 loc_1FFFE480                            ; CODE XREF: sub_1FFFE430+10j
ROM:1FFFE480                 BEQ             loc_1FFFE4AE
ROM:1FFFE482                 LSLS            R0, R5, #0x1F
ROM:1FFFE484                 BPL             loc_1FFFE47C
ROM:1FFFE486                 MOV             R0, R4
ROM:1FFFE488                 BL              sub_1FFFDCA2
ROM:1FFFE48C                 BL              sub_1FFFDA64
ROM:1FFFE490                 MOV             R6, R0
ROM:1FFFE492                 LDR             R0, =0x20000B34
ROM:1FFFE494                 ADD.W           R7, R0, R4,LSL#2
ROM:1FFFE498                 LSLS            R0, R6, #0x1F
ROM:1FFFE49A                 BPL             loc_1FFFE44A
ROM:1FFFE49C                 MOVS            R6, #1
ROM:1FFFE49E                 LDR             R0, [R7,#0x2C]
ROM:1FFFE4A0                 MOVS            R1, #1
ROM:1FFFE4A2                 STR             R1, [R0,#8]
ROM:1FFFE4A4                 CMP             R4, #0
ROM:1FFFE4A6                 BNE             loc_1FFFE442
ROM:1FFFE4A8                 BL              sub_1FFFD406
ROM:1FFFE4AC                 B               loc_1FFFE44A
ROM:1FFFE4AE ; ---------------------------------------------------------------------------
ROM:1FFFE4AE
ROM:1FFFE4AE loc_1FFFE4AE                            ; CODE XREF: sub_1FFFE430:loc_1FFFE480j
ROM:1FFFE4AE                 B               loc_1FFFE530
ROM:1FFFE4AE ; End of function sub_1FFFE430
ROM:1FFFE4AE
ROM:1FFFE4B0
ROM:1FFFE4B0 ; =============== S U B R O U T I N E =======================================
ROM:1FFFE4B0
ROM:1FFFE4B0
ROM:1FFFE4B0 sub_1FFFE4B0                            ; CODE XREF: ROM:1FFFE2B8p
ROM:1FFFE4B0                 PUSH.W          {R4-R8,LR}
ROM:1FFFE4B4                 LDR             R4, =0x20000B34
ROM:1FFFE4B6                 LDR             R0, [R4]
ROM:1FFFE4B8                 LDR             R1, [R0,#0x18]
ROM:1FFFE4BA                 BIC.W           R1, R1, #0x10
ROM:1FFFE4BE                 STR             R1, [R0,#0x18]
ROM:1FFFE4C0                 LDR             R5, [R0,#0x20]
ROM:1FFFE4C2                 AND.W           R0, R5, #0xF
ROM:1FFFE4C6                 BL              sub_1FFFDCA2
ROM:1FFFE4CA                 MOV             R6, R0
ROM:1FFFE4CC                 UBFX.W          R8, R5, #4, #0xB
ROM:1FFFE4D0                 LDR             R7, =0x20000BC8
ROM:1FFFE4D2                 LSRS            R0, R5, #0x11
ROM:1FFFE4D4                 AND.W           R0, R0, #0xF
ROM:1FFFE4D8                 CMP             R0, #2
ROM:1FFFE4DA                 BEQ             loc_1FFFE4E6
ROM:1FFFE4DC                 CMP             R0, #3
ROM:1FFFE4DE                 BEQ             loc_1FFFE506
ROM:1FFFE4E0                 CMP             R0, #6
ROM:1FFFE4E2                 BEQ             loc_1FFFE50C
ROM:1FFFE4E4                 B               loc_1FFFE522
ROM:1FFFE4E6 ; ---------------------------------------------------------------------------
ROM:1FFFE4E6
ROM:1FFFE4E6 loc_1FFFE4E6                            ; CODE XREF: sub_1FFFE4B0+2Aj
ROM:1FFFE4E6                 LSRS            R0, R5, #4
ROM:1FFFE4E8                 LSLS            R0, R0, #0x15
ROM:1FFFE4EA                 BEQ             loc_1FFFE522
ROM:1FFFE4EC                 UBFX.W          R1, R5, #4, #0xB
ROM:1FFFE4F0                 ADDS            R0, R7, #4
ROM:1FFFE4F2                 BL              sub_1FFFD51E
ROM:1FFFE4F6                 ADDS            R0, R7, #4
ROM:1FFFE4F8                 STR             R0, [R6,#0x14]
ROM:1FFFE4FA                 STR.W           R8, [R6,#0x18]
ROM:1FFFE4FE                 LDR             R0, [R6,#0x1C]
ROM:1FFFE500                 ADD             R0, R8
ROM:1FFFE502                 STR             R0, [R6,#0x1C]
ROM:1FFFE504                 B               loc_1FFFE522
ROM:1FFFE506 ; ---------------------------------------------------------------------------
ROM:1FFFE506
ROM:1FFFE506 loc_1FFFE506                            ; CODE XREF: sub_1FFFE4B0+2Ej
ROM:1FFFE506                 MOVS            R0, #1
ROM:1FFFE508                 STR             R0, [R7]
ROM:1FFFE50A                 B               loc_1FFFE522
ROM:1FFFE50C ; ---------------------------------------------------------------------------
ROM:1FFFE50C
ROM:1FFFE50C loc_1FFFE50C                            ; CODE XREF: sub_1FFFE4B0+32j
ROM:1FFFE50C                 MOVS            R1, #8
ROM:1FFFE50E                 ADDS            R0, R7, #4
ROM:1FFFE510                 BL              sub_1FFFD51E
ROM:1FFFE514                 ADDS            R0, R7, #4
ROM:1FFFE516                 STR             R0, [R6,#0x14]
ROM:1FFFE518                 LDR             R0, [R6,#0x1C]
ROM:1FFFE51A                 ADD             R0, R8
ROM:1FFFE51C                 STR             R0, [R6,#0x1C]
ROM:1FFFE51E                 STR.W           R8, [R6,#0x18]
ROM:1FFFE522
ROM:1FFFE522 loc_1FFFE522                            ; CODE XREF: sub_1FFFE4B0+34j
ROM:1FFFE522                                         ; sub_1FFFE4B0+3Aj ...
ROM:1FFFE522                 LDR             R0, [R4]
ROM:1FFFE524                 LDR             R1, [R0,#0x18]
ROM:1FFFE526                 ORR.W           R1, R1, #0x10
ROM:1FFFE52A                 STR             R1, [R0,#0x18]
ROM:1FFFE52C                 MOVS            R1, #0x10
ROM:1FFFE52E                 STR             R1, [R0,#0x14]
ROM:1FFFE530
ROM:1FFFE530 loc_1FFFE530                            ; CODE XREF: sub_1FFFE430:loc_1FFFE4AEj
ROM:1FFFE530                                         ; sub_1FFFE578:loc_1FFFE5D4j
ROM:1FFFE530                 MOVS            R0, #1
ROM:1FFFE532                 POP.W           {R4-R8,PC}
ROM:1FFFE532 ; End of function sub_1FFFE4B0
ROM:1FFFE532
ROM:1FFFE536
ROM:1FFFE536 ; =============== S U B R O U T I N E =======================================
ROM:1FFFE536
ROM:1FFFE536
ROM:1FFFE536 sub_1FFFE536                            ; CODE XREF: ROM:1FFFE338p
ROM:1FFFE536                 PUSH            {R4,LR}
ROM:1FFFE538                 LDR             R4, =0x20000B34
ROM:1FFFE53A                 LDR             R0, [R4,#4]
ROM:1FFFE53C                 LDR             R1, [R0,#4]
ROM:1FFFE53E                 LSRS            R1, R1, #1
ROM:1FFFE540                 LSLS            R1, R1, #1
ROM:1FFFE542                 STR             R1, [R0,#4]
ROM:1FFFE544                 MOVS            R0, #0
ROM:1FFFE546                 BL              sub_1FFFD648
ROM:1FFFE54A                 LDR             R0, [R4,#4]
ROM:1FFFE54C                 MOV.W           R1, #0x10001
ROM:1FFFE550                 STR             R1, [R0,#0x1C]
ROM:1FFFE552                 MOVS            R1, #0xF
ROM:1FFFE554                 STR             R1, [R0,#0x14]
ROM:1FFFE556                 MOVS            R1, #0x2F
ROM:1FFFE558                 STR             R1, [R0,#0x10]
ROM:1FFFE55A                 LDR             R1, [R0]
ROM:1FFFE55C                 BIC.W           R1, R1, #0x7F0
ROM:1FFFE560                 STR             R1, [R0]
ROM:1FFFE562                 BL              sub_1FFFDCDC
ROM:1FFFE566                 LDR             R0, [R4]
ROM:1FFFE568                 MOV.W           R1, #0x1000
ROM:1FFFE56C                 STR             R1, [R0,#0x14]
ROM:1FFFE56E                 LDR             R0, =0x20000108
ROM:1FFFE570                 LDR             R0, [R0,#4]
ROM:1FFFE572                 BLX             R0
ROM:1FFFE574                 MOVS            R0, #1
ROM:1FFFE576                 POP             {R4,PC}
ROM:1FFFE576 ; End of function sub_1FFFE536
ROM:1FFFE576
ROM:1FFFE578
ROM:1FFFE578 ; =============== S U B R O U T I N E =======================================
ROM:1FFFE578
ROM:1FFFE578
ROM:1FFFE578 sub_1FFFE578                            ; CODE XREF: sub_1FFFE356+60p
ROM:1FFFE578                 PUSH.W          {R4-R8,LR}
ROM:1FFFE57C                 MOV             R8, R0
ROM:1FFFE57E                 BL              sub_1FFFDC7A
ROM:1FFFE582                 MOV             R5, R0
ROM:1FFFE584                 LDR             R0, [R5,#0x18]
ROM:1FFFE586                 LDR             R1, [R5,#0x1C]
ROM:1FFFE588                 SUBS            R0, R0, R1
ROM:1FFFE58A                 LDR             R7, [R5,#0x10]
ROM:1FFFE58C                 CMP             R7, R0
ROM:1FFFE58E                 IT HI
ROM:1FFFE590                 MOVHI           R7, R0
ROM:1FFFE592                 ADDS            R0, R7, #3
ROM:1FFFE594                 LSRS            R4, R0, #2
ROM:1FFFE596                 LDR             R0, =0x20000B34
ROM:1FFFE598                 ADD.W           R6, R0, R8,LSL#2
ROM:1FFFE59C                 B               loc_1FFFE5BE
ROM:1FFFE59E ; ---------------------------------------------------------------------------
ROM:1FFFE59E
ROM:1FFFE59E loc_1FFFE59E                            ; CODE XREF: sub_1FFFE578+5Aj
ROM:1FFFE59E                 SUBS            R0, R0, R1
ROM:1FFFE5A0                 LDR             R7, [R5,#0x10]
ROM:1FFFE5A2                 CMP             R7, R0
ROM:1FFFE5A4                 IT HI
ROM:1FFFE5A6                 MOVHI           R7, R0
ROM:1FFFE5A8                 ADDS            R0, R7, #3
ROM:1FFFE5AA                 LSRS            R4, R0, #2
ROM:1FFFE5AC                 UXTH            R2, R7
ROM:1FFFE5AE                 UXTB.W          R1, R8
ROM:1FFFE5B2                 LDR             R0, [R5,#0x14]
ROM:1FFFE5B4                 BL              sub_1FFFD4F4
ROM:1FFFE5B8                 LDR             R0, [R5,#0x1C]
ROM:1FFFE5BA                 ADDS            R0, R7, R0
ROM:1FFFE5BC                 STR             R0, [R5,#0x1C]
ROM:1FFFE5BE
ROM:1FFFE5BE loc_1FFFE5BE                            ; CODE XREF: sub_1FFFE578+24j
ROM:1FFFE5BE                 LDR             R0, [R6,#0xC]
ROM:1FFFE5C0                 LDR             R0, [R0,#0x18]
ROM:1FFFE5C2                 UXTH            R0, R0
ROM:1FFFE5C4                 CMP             R4, R0
ROM:1FFFE5C6                 ITTT CC
ROM:1FFFE5C8                 LDRCC           R0, [R5,#0x18]
ROM:1FFFE5CA                 LDRCC           R1, [R5,#0x1C]
ROM:1FFFE5CC                 CMPCC           R1, R0
ROM:1FFFE5CE                 BCS             loc_1FFFE5D4
ROM:1FFFE5D0                 CMP             R0, #0
ROM:1FFFE5D2                 BNE             loc_1FFFE59E
ROM:1FFFE5D4
ROM:1FFFE5D4 loc_1FFFE5D4                            ; CODE XREF: sub_1FFFE578+56j
ROM:1FFFE5D4                 B               loc_1FFFE530
ROM:1FFFE5D4 ; End of function sub_1FFFE578
ROM:1FFFE5D4
ROM:1FFFE5D4 ; ---------------------------------------------------------------------------
ROM:1FFFE5D6                 ALIGN 4
ROM:1FFFE5D8 dword_1FFFE5D8  DCD 0x20000B34          ; DATA XREF: ROM:1FFFE2A6r
ROM:1FFFE5D8                                         ; sub_1FFFE356+10r ...
ROM:1FFFE5DC dword_1FFFE5DC  DCD 0x20000198          ; DATA XREF: ROM:1FFFE2EEr
ROM:1FFFE5E0 dword_1FFFE5E0  DCD 0x40010808          ; DATA XREF: ROM:1FFFE2F4r
ROM:1FFFE5E4 dword_1FFFE5E4  DCD 0x20000C48          ; DATA XREF: ROM:1FFFE302r
ROM:1FFFE5E8 dword_1FFFE5E8  DCD 0x20000098          ; DATA XREF: sub_1FFFE356+Er
ROM:1FFFE5E8                                         ; sub_1FFFE430+Cr
ROM:1FFFE5EC dword_1FFFE5EC  DCD 0x20000BC8          ; DATA XREF: sub_1FFFE4B0+20r
ROM:1FFFE5F0 dword_1FFFE5F0  DCD 0x20000108          ; DATA XREF: sub_1FFFE536+38r
ROM:1FFFE5F4
ROM:1FFFE5F4 ; =============== S U B R O U T I N E =======================================
ROM:1FFFE5F4
ROM:1FFFE5F4 ; Attributes: noreturn
ROM:1FFFE5F4
ROM:1FFFE5F4 start_work                              ; CODE XREF: start_S+Ep
ROM:1FFFE5F4                 PUSH            {R4,LR}
ROM:1FFFE5F6                 BL              g_sys_init
ROM:1FFFE5FA                 CMP             R0, #1
ROM:1FFFE5FC                 BEQ             uart1_work
ROM:1FFFE5FE                 BCC             sys_reset
ROM:1FFFE600                 CMP             R0, #3
ROM:1FFFE602                 BEQ             boot_user_app
ROM:1FFFE604                 BCC             can2_work
ROM:1FFFE606                 B               sys_reset
ROM:1FFFE608 ; ---------------------------------------------------------------------------
ROM:1FFFE608
ROM:1FFFE608 uart1_work                              ; CODE XREF: start_work+8j
ROM:1FFFE608                 BL              uart_ready
ROM:1FFFE60C                 BL              uart_monitor
ROM:1FFFE610                 B               die_ji
ROM:1FFFE612 ; ---------------------------------------------------------------------------
ROM:1FFFE612
ROM:1FFFE612 can2_work                               ; CODE XREF: start_work+10j
ROM:1FFFE612                 BL              check_canbus2
ROM:1FFFE616                 B               die_ji
ROM:1FFFE618 ; ---------------------------------------------------------------------------
ROM:1FFFE618
ROM:1FFFE618 boot_user_app                           ; CODE XREF: start_work+Ej
ROM:1FFFE618                 BL              sub_1FFFC9AA
ROM:1FFFE61C                 BL              sub_1FFFCAA0
ROM:1FFFE620                 BL              RCC_init
ROM:1FFFE624                 BL              disable_irq
ROM:1FFFE628                 LDR             R0, =0x4002100C
ROM:1FFFE62A                 MOVS            R1, #0x14
ROM:1FFFE62C                 STR             R1, [R0,#8]
ROM:1FFFE62E                 MOV.W           R1, #0xFFFFFFFF
ROM:1FFFE632                 STR             R1, [R0]
ROM:1FFFE634                 MOVS            R2, #0
ROM:1FFFE636                 STR             R2, [R0]
ROM:1FFFE638                 STR             R1, [R0,#4]
ROM:1FFFE63A                 STR             R2, [R0,#4]
ROM:1FFFE63C                 STR             R2, [R0,#0xC]
ROM:1FFFE63E                 STR             R2, [R0,#0x10]
ROM:1FFFE640                 LDR             R0, =0xE000E010
ROM:1FFFE642                 STR             R2, [R0]
ROM:1FFFE644                 BL              enable_irq
ROM:1FFFE648                 LDR             R4, =0x20000208 ; 0x1FFFEBDC
ROM:1FFFE64A                 LDR             R0, [R4,#8] ; 0x1FFFEBE4
ROM:1FFFE64C                 LDR             R0, [R0,#4] ; 0x1FFFEBE0
ROM:1FFFE64E                 STR             R0, [R4,#4]
ROM:1FFFE650                 LDR             R0, [R4,#4]
ROM:1FFFE652                 STR             R0, [R4]
ROM:1FFFE654                 LDR             R0, [R4,#8]
ROM:1FFFE656                 LDR             R0, [R0]
ROM:1FFFE658                 BL              set_MSP
ROM:1FFFE65C                 LDR             R0, [R4]
ROM:1FFFE65E                 BLX             R0
ROM:1FFFE660                 B               die_ji
ROM:1FFFE662 ; ---------------------------------------------------------------------------
ROM:1FFFE662
ROM:1FFFE662 sys_reset                               ; CODE XREF: start_work+Aj
ROM:1FFFE662                                         ; start_work+12j
ROM:1FFFE662                 BL              sys_reset
ROM:1FFFE666
ROM:1FFFE666 die_ji                                  ; CODE XREF: start_work+1Cj
ROM:1FFFE666                                         ; start_work+22j ...
ROM:1FFFE666                 B               die_ji
ROM:1FFFE666 ; End of function start_work
ROM:1FFFE666
ROM:1FFFE668
ROM:1FFFE668 ; =============== S U B R O U T I N E =======================================
ROM:1FFFE668
ROM:1FFFE668
ROM:1FFFE668 g_sys_init                              ; CODE XREF: start_work+2p
ROM:1FFFE668
ROM:1FFFE668 var_28          = -0x28
ROM:1FFFE668
ROM:1FFFE668                 PUSH.W          {R3-R11,LR}
ROM:1FFFE66C                 MOVW            R8, #0x5FFF
ROM:1FFFE670                 STR.W           R8, [SP,#0x28+var_28]
ROM:1FFFE674                 LDR             R0, =0x40003000 ; 看门狗寄存器
ROM:1FFFE676                 MOVW            R1, #0x5555
ROM:1FFFE67A                 STR             R1, [R0]
ROM:1FFFE67C                 MOVS            R1, #6
ROM:1FFFE67E                 STR             R1, [R0,#4] ; 预分频因子32
ROM:1FFFE680                 MOVW            R1, #0xAAAA
ROM:1FFFE684                 STR             R1, [R0] ; 喂狗吃点饭
ROM:1FFFE686                 BL              clk_cfg ; 时钟初始化
ROM:1FFFE68A                 LDR             R0, =0xE000ED08 ; 中断向量表基址寄存器
ROM:1FFFE68C                 LDR             R1, =0x1FFFB000 ; 中断向量表基地址
ROM:1FFFE68E                 STR             R1, [R0]
ROM:1FFFE690                 LDR             R5, =0x20000188 ; 0x1FFFEB5C->0x40013800
ROM:1FFFE692                 BL              FLASH_GetReadOutProtectionStatus ; 检查flash的读保护位
ROM:1FFFE692                                         ;
ROM:1FFFE696                 CMP             R0, #1  ; flash读保护位设置了吗?
ROM:1FFFE698                 BNE             loc_1FFFE6B6 ; 没有设置读保护位
ROM:1FFFE69A                 LDR             R0, =0x2000FFFC ; 读保护开启,重装中断向量表?
ROM:1FFFE69A                                         ; 首先清除20001000-20010000区域的内存块
ROM:1FFFE69C                 B               loc_1FFFE6A8
ROM:1FFFE69E ; ---------------------------------------------------------------------------
ROM:1FFFE69E
ROM:1FFFE69E loc_1FFFE69E                            ; CODE XREF: g_sys_init+48j
ROM:1FFFE69E                 LDR             R0, [R5,#0xC] ; 全局变量addr=20000194
ROM:1FFFE6A0                 MOVS            R1, #0
ROM:1FFFE6A2                 STR             R1, [R0]
ROM:1FFFE6A4                 LDR             R0, [R5,#0xC]
ROM:1FFFE6A6                 SUBS            R0, R0, #4
ROM:1FFFE6A8
ROM:1FFFE6A8 loc_1FFFE6A8                            ; CODE XREF: g_sys_init+34j
ROM:1FFFE6A8                 STR             R0, [R5,#0xC]
ROM:1FFFE6AA                 LDR             R0, [R5,#0xC]
ROM:1FFFE6AC                 LDR             R1, =0x20001000
ROM:1FFFE6AE                 CMP             R0, R1
ROM:1FFFE6B0                 BCS             loc_1FFFE69E ; 全局变量addr=20000194
ROM:1FFFE6B2                 MOVS            R0, #0
ROM:1FFFE6B4                 STR             R0, [R5,#0xC]
ROM:1FFFE6B6
ROM:1FFFE6B6 loc_1FFFE6B6                            ; CODE XREF: g_sys_init+30j
ROM:1FFFE6B6                 LDR             R6, =0xE000E010 ; 没有设置读保护位
ROM:1FFFE6B8                 MOVS            R0, #4
ROM:1FFFE6BA                 STR             R0, [R6]
ROM:1FFFE6BC                 MOV.W           R9, #0x80000
ROM:1FFFE6C0                 STR.W           R9, [R6,#4] ; systick功能配置
ROM:1FFFE6C4                 LDR             R4, =0x40021018 ; 复位和时钟控制(RCC)
ROM:1FFFE6C6                 MOVW            R0, #0x4025 ; 串口1时钟打开
ROM:1FFFE6CA                 STR             R0, [R4]
ROM:1FFFE6CC                 MOV.W           R0, #0x20000 ; 串口2时钟打开
ROM:1FFFE6D0                 STR             R0, [R4,#4]
ROM:1FFFE6D2                 LDR             R0, =0x40010004 ; AFIO
ROM:1FFFE6D4                 MOVS            R1, #8
ROM:1FFFE6D6                 STR             R1, [R0]
ROM:1FFFE6D8                 LDR             R7, =0x40010804 ; GPIO端口A
ROM:1FFFE6DA                 LDR             R0, =0x44444884
ROM:1FFFE6DC                 STR             R0, [R7]
ROM:1FFFE6DE                 LDR             R0, =0x2000400
ROM:1FFFE6E0                 STR             R0, [R7,#0xC]
ROM:1FFFE6E2                 LDR.W           R10, =0x40011400 ; GPIO端口D
ROM:1FFFE6E6                 LDR             R0, =0x48B44444
ROM:1FFFE6E8                 STR.W           R0, [R10]
ROM:1FFFE6EC                 MOVS            R0, #0x40
ROM:1FFFE6EE                 STR.W           R0, [R10,#0x10]
ROM:1FFFE6F2                 BL              trigger_canbus
ROM:1FFFE6F6                 LDR.W           R11, =0x40010C08 ; portB读取输入寄存器
ROM:1FFFE6FA                 B               start_check ; 0x1FFFEB5C+0x10->0x1fffeb6c->0x00,
ROM:1FFFE6FC ; ---------------------------------------------------------------------------
ROM:1FFFE6FC
ROM:1FFFE6FC re_start_check                          ; CODE XREF: g_sys_init+1DAj
ROM:1FFFE6FC                 MOVS            R0, #0
ROM:1FFFE6FE                 STR             R0, [R5,#0x1C]
ROM:1FFFE700
ROM:1FFFE700 start_check                             ; CODE XREF: g_sys_init+92j
ROM:1FFFE700                                         ; g_sys_init+1C8j ...
ROM:1FFFE700                 LDR             R0, [R5,#0x10] ; 0x1FFFEB5C+0x10->0x1fffeb6c->0x00,
ROM:1FFFE702                 CMP             R0, #0
ROM:1FFFE704                 BNE.W           loc_1FFFE868 ; 复位和时钟控制(RCC)
ROM:1FFFE708                 LDR             R0, [R7,#4] ; portA GPIO端口A
ROM:1FFFE70A                 LSLS            R0, R0, #0x16 ; 检测PA9 usb_vbus
ROM:1FFFE70C                 BPL             loc_1FFFE71C ; 是否为低电平
ROM:1FFFE70E                 LDR             R0, [R5,#0x20] ; 检测到Vbus为高电平
ROM:1FFFE70E                                         ; 0x1FFFEB5C+0x20-> 0x1FFFEB7C ->0x00
ROM:1FFFE710                 CMP             R0, #1
ROM:1FFFE712                 BEQ             loc_1FFFE71C ; PA10检测USART1_RX
ROM:1FFFE714                 BL              enale_usb_trans
ROM:1FFFE718                 MOVS            R0, #1
ROM:1FFFE71A                 STR             R0, [R5,#0x20] ; ; 0x1FFFEB5C+0x20-> 0x1FFFEB7C ->0x01
ROM:1FFFE71A                                         ; 表示已经检测到usb线的插入
ROM:1FFFE71C
ROM:1FFFE71C loc_1FFFE71C                            ; CODE XREF: g_sys_init+A4j
ROM:1FFFE71C                                         ; g_sys_init+AAj
ROM:1FFFE71C                 LDR             R0, [R7,#4] ; PA10检测USART1_RX
ROM:1FFFE71E                 LSLS            R0, R0, #0x15
ROM:1FFFE720                 ITT PL
ROM:1FFFE722                 MOVPL           R0, #1
ROM:1FFFE724                 STRPL           R0, [R5,#0x14] ; 标记串口1接收到数据
ROM:1FFFE724                                         ; ;;;
ROM:1FFFE726                 LDR.W           R0, [R10,#8] ; GPIO端口PD6,UART2的接收引脚,经过了重映射
ROM:1FFFE72A                 LSLS            R0, R0, #0x19
ROM:1FFFE72C                 ITT PL
ROM:1FFFE72E                 MOVPL           R0, #1
ROM:1FFFE730                 STRPL           R0, [R5,#0x18] ; ; 标记串口2接收到数据
ROM:1FFFE732                 LDR.W           R0, [R11] ; portB读取输入寄存器
ROM:1FFFE736                 LSLS            R0, R0, #0x1A ; PB5/CAN2_RX
ROM:1FFFE738                 ITT PL
ROM:1FFFE73A                 MOVPL           R0, #1
ROM:1FFFE73C                 STRPL           R0, [R5,#0x1C] ; 标记CAN2接收到数据
ROM:1FFFE73E                 LDR             R0, [R5,#0x14]
ROM:1FFFE740                 CMP             R0, #1
ROM:1FFFE742                 BNE             UART1rx_check ; 标记串口2接收到数据
ROM:1FFFE744                 LDR             R0, [R7,#4]
ROM:1FFFE746                 LSLS            R0, R0, #0x15
ROM:1FFFE748                 BPL             UART1rx_check ; 再次检测到串口1接收脚低电平
ROM:1FFFE74A                 MOVS            R0, #5
ROM:1FFFE74C                 STR             R0, [R6]
ROM:1FFFE74E                 STR.W           R8, [SP,#0x28+var_28]
ROM:1FFFE752                 B               loc_1FFFE75A
ROM:1FFFE754 ; ---------------------------------------------------------------------------
ROM:1FFFE754
ROM:1FFFE754 loc_1FFFE754                            ; CODE XREF: g_sys_init+FCj
ROM:1FFFE754                 LDR             R0, [SP,#0x28+var_28]
ROM:1FFFE756                 SUBS            R0, R0, #1
ROM:1FFFE758                 STR             R0, [SP,#0x28+var_28]
ROM:1FFFE75A
ROM:1FFFE75A loc_1FFFE75A                            ; CODE XREF: g_sys_init+EAj
ROM:1FFFE75A                 LDR             R0, [R7,#4]
ROM:1FFFE75C                 LSLS            R0, R0, #0x15
ROM:1FFFE75E                 BPL             loc_1FFFE766
ROM:1FFFE760                 LDR             R0, [SP,#0x28+var_28]
ROM:1FFFE762                 CMP             R0, #0
ROM:1FFFE764                 BNE             loc_1FFFE754
ROM:1FFFE766
ROM:1FFFE766 loc_1FFFE766                            ; CODE XREF: g_sys_init+F6j
ROM:1FFFE766                 LDR             R0, [SP,#0x28+var_28]
ROM:1FFFE768                 CBZ             R0, loc_1FFFE79E
ROM:1FFFE76A                 LDR             R0, [R5,#0x10]
ROM:1FFFE76C                 CBNZ            R0, loc_1FFFE79E
ROM:1FFFE76E                 LDR             R0, [R6,#8]
ROM:1FFFE770                 RSB.W           R0, R0, #0x80000
ROM:1FFFE774                 STR             R0, [R5,#0xC]
ROM:1FFFE776                 LDR             R0, [R5]
ROM:1FFFE778                 STR             R0, [R5,#8]
ROM:1FFFE77A                 MOVS            R0, #0
ROM:1FFFE77C                 STR             R0, [R6]
ROM:1FFFE77E                 STR             R0, [R6,#8]
ROM:1FFFE780                 STR.W           R9, [R6,#4]
ROM:1FFFE784                 LDR             R0, [R5,#0x20]
ROM:1FFFE786                 CMP             R0, #1
ROM:1FFFE788                 BNE             loc_1FFFE792
ROM:1FFFE78A                 BL              sub_1FFFCAA0
ROM:1FFFE78E                 MOVS            R0, #0
ROM:1FFFE790                 STR             R0, [R5,#0x20]
ROM:1FFFE792
ROM:1FFFE792 loc_1FFFE792                            ; CODE XREF: g_sys_init+120j
ROM:1FFFE792                 LDR             R0, =0x444448B4
ROM:1FFFE794                 STR             R0, [R7]
ROM:1FFFE796                 MOV.W           R0, #0x400
ROM:1FFFE79A                 STR             R0, [R7,#0xC]
ROM:1FFFE79C                 B               loc_1FFFE802
ROM:1FFFE79E ; ---------------------------------------------------------------------------
ROM:1FFFE79E
ROM:1FFFE79E loc_1FFFE79E                            ; CODE XREF: g_sys_init+100j
ROM:1FFFE79E                                         ; g_sys_init+104j
ROM:1FFFE79E                 MOVS            R0, #0
ROM:1FFFE7A0                 STR             R0, [R5,#0x14]
ROM:1FFFE7A2                 STR             R0, [R6]
ROM:1FFFE7A4                 STR             R0, [R6,#8]
ROM:1FFFE7A6                 STR.W           R9, [R6,#4]
ROM:1FFFE7AA
ROM:1FFFE7AA UART1rx_check                           ; CODE XREF: g_sys_init+DAj
ROM:1FFFE7AA                                         ; g_sys_init+E0j
ROM:1FFFE7AA                 LDR             R0, [R5,#0x18] ; 标记串口2接收到数据
ROM:1FFFE7AC                 CMP             R0, #1
ROM:1FFFE7AE                 BNE             UART2rx_check ; can2 rx接收到数据了吗?
ROM:1FFFE7B0                 LDR.W           R0, [R10,#8]
ROM:1FFFE7B4                 LSLS            R0, R0, #0x19
ROM:1FFFE7B6                 BPL             UART2rx_check ; can2 rx接收到数据了吗?
ROM:1FFFE7B8                 MOVS            R0, #5
ROM:1FFFE7BA                 STR             R0, [R6]
ROM:1FFFE7BC                 STR.W           R8, [SP,#0x28+var_28]
ROM:1FFFE7C0                 B               loc_1FFFE7C8
ROM:1FFFE7C2 ; ---------------------------------------------------------------------------
ROM:1FFFE7C2
ROM:1FFFE7C2 loc_1FFFE7C2                            ; CODE XREF: g_sys_init+16Cj
ROM:1FFFE7C2                 LDR             R0, [SP,#0x28+var_28]
ROM:1FFFE7C4                 SUBS            R0, R0, #1
ROM:1FFFE7C6                 STR             R0, [SP,#0x28+var_28]
ROM:1FFFE7C8
ROM:1FFFE7C8 loc_1FFFE7C8                            ; CODE XREF: g_sys_init+158j
ROM:1FFFE7C8                 LDR.W           R0, [R10,#8]
ROM:1FFFE7CC                 LSLS            R0, R0, #0x19
ROM:1FFFE7CE                 BPL             loc_1FFFE7D6
ROM:1FFFE7D0                 LDR             R0, [SP,#0x28+var_28]
ROM:1FFFE7D2                 CMP             R0, #0
ROM:1FFFE7D4                 BNE             loc_1FFFE7C2
ROM:1FFFE7D6
ROM:1FFFE7D6 loc_1FFFE7D6                            ; CODE XREF: g_sys_init+166j
ROM:1FFFE7D6                 LDR             R0, [SP,#0x28+var_28]
ROM:1FFFE7D8                 CBZ             R0, loc_1FFFE80E
ROM:1FFFE7DA                 LDR             R0, [R5,#0x10]
ROM:1FFFE7DC                 CBNZ            R0, loc_1FFFE80E
ROM:1FFFE7DE                 LDR             R0, [R6,#8]
ROM:1FFFE7E0                 RSB.W           R0, R0, #0x80000
ROM:1FFFE7E4                 STR             R0, [R5,#0xC]
ROM:1FFFE7E6                 LDR             R0, [R5,#4]
ROM:1FFFE7E8                 STR             R0, [R5,#8]
ROM:1FFFE7EA                 MOVS            R0, #0
ROM:1FFFE7EC                 STR             R0, [R6]
ROM:1FFFE7EE                 STR             R0, [R6,#8]
ROM:1FFFE7F0                 STR.W           R9, [R6,#4]
ROM:1FFFE7F4                 LDR             R0, [R5,#0x20]
ROM:1FFFE7F6                 CMP             R0, #1
ROM:1FFFE7F8                 BNE             loc_1FFFE802
ROM:1FFFE7FA                 BL              sub_1FFFCAA0
ROM:1FFFE7FE                 MOVS            R0, #0
ROM:1FFFE800                 STR             R0, [R5,#0x20]
ROM:1FFFE802
ROM:1FFFE802 loc_1FFFE802                            ; CODE XREF: g_sys_init+134j
ROM:1FFFE802                                         ; g_sys_init+190j
ROM:1FFFE802                 LDR             R0, [R4,#4]
ROM:1FFFE804                 BIC.W           R0, R0, #0x6000000
ROM:1FFFE808                 STR             R0, [R4,#4]
ROM:1FFFE80A                 MOVS            R0, #1
ROM:1FFFE80C                 B               sys_init_func_ret
ROM:1FFFE80E ; ---------------------------------------------------------------------------
ROM:1FFFE80E
ROM:1FFFE80E loc_1FFFE80E                            ; CODE XREF: g_sys_init+170j
ROM:1FFFE80E                                         ; g_sys_init+174j
ROM:1FFFE80E                 MOVS            R0, #0
ROM:1FFFE810                 STR             R0, [R5,#0x18]
ROM:1FFFE812                 STR             R0, [R6]
ROM:1FFFE814                 STR             R0, [R6,#8]
ROM:1FFFE816                 STR.W           R9, [R6,#4]
ROM:1FFFE81A
ROM:1FFFE81A UART2rx_check                           ; CODE XREF: g_sys_init+146j
ROM:1FFFE81A                                         ; g_sys_init+14Ej
ROM:1FFFE81A                 LDR             R0, [R5,#0x1C] ; can2 rx接收到数据了吗?
ROM:1FFFE81C                 CMP             R0, #1
ROM:1FFFE81E                 BNE             loc_1FFFE82C
ROM:1FFFE820                 LDR.W           R0, [R11]
ROM:1FFFE824                 LSLS            R0, R0, #0x1A
ROM:1FFFE826                 ITT MI
ROM:1FFFE828                 MOVMI           R0, #2
ROM:1FFFE82A                 STRMI           R0, [R5,#0x1C] ; 检测can2接收,并记录结果
ROM:1FFFE82C
ROM:1FFFE82C loc_1FFFE82C                            ; CODE XREF: g_sys_init+1B6j
ROM:1FFFE82C                 LDR             R0, [R5,#0x1C]
ROM:1FFFE82E                 CMP             R0, #2
ROM:1FFFE830                 BNE.W           start_check ; 0x1FFFEB5C+0x10->0x1fffeb6c->0x00,
ROM:1FFFE834                 LDR.W           R0, [R11] ; can2接收到数据,走此条路
ROM:1FFFE838                 LSLS            R0, R0, #0x1A
ROM:1FFFE83A                 BMI.W           start_check ; 0x1FFFEB5C+0x10->0x1fffeb6c->0x00,
ROM:1FFFE83E                 LDR             R0, [R5,#0x10]
ROM:1FFFE840                 CMP             R0, #0
ROM:1FFFE842                 BNE.W           re_start_check
ROM:1FFFE846                 LDR             R0, [R5,#0x20]
ROM:1FFFE848                 CMP             R0, #1
ROM:1FFFE84A                 BNE             loc_1FFFE854
ROM:1FFFE84C                 BL              sub_1FFFCAA0
ROM:1FFFE850                 MOVS            R0, #0
ROM:1FFFE852                 STR             R0, [R5,#0x20]
ROM:1FFFE854
ROM:1FFFE854 loc_1FFFE854                            ; CODE XREF: g_sys_init+1E2j
ROM:1FFFE854                 LDR             R0, [R4]
ROM:1FFFE856                 BIC.W           R0, R0, #0x4000
ROM:1FFFE85A                 STR             R0, [R4]
ROM:1FFFE85C                 LDR             R0, [R4,#4]
ROM:1FFFE85E                 BIC.W           R0, R0, #0x20000
ROM:1FFFE862                 STR             R0, [R4,#4]
ROM:1FFFE864                 MOVS            R0, #2
ROM:1FFFE866                 B               sys_init_func_ret
ROM:1FFFE868 ; ---------------------------------------------------------------------------
ROM:1FFFE868
ROM:1FFFE868 loc_1FFFE868                            ; CODE XREF: g_sys_init+9Cj
ROM:1FFFE868                 LDR             R0, [R4,#4] ; 复位和时钟控制(RCC)
ROM:1FFFE86A                 BIC.W           R0, R0, #0x6000000
ROM:1FFFE86E                 STR             R0, [R4,#4]
ROM:1FFFE870                 LDR             R0, [R4]
ROM:1FFFE872                 BIC.W           R0, R0, #0x4000
ROM:1FFFE876                 STR             R0, [R4]
ROM:1FFFE878                 LDR             R0, [R4,#4]
ROM:1FFFE87A                 BIC.W           R0, R0, #0x20000
ROM:1FFFE87E                 STR             R0, [R4,#4]
ROM:1FFFE880                 MOVS            R0, #3
ROM:1FFFE882
ROM:1FFFE882 sys_init_func_ret                       ; CODE XREF: g_sys_init+1A4j
ROM:1FFFE882                                         ; g_sys_init+1FEj
ROM:1FFFE882                 POP.W           {R1,R4-R11,PC}
ROM:1FFFE882 ; End of function g_sys_init
ROM:1FFFE882
ROM:1FFFE882 ; ---------------------------------------------------------------------------
ROM:1FFFE886                 ALIGN 4
ROM:1FFFE888 dword_1FFFE888  DCD 0x4002100C          ; DATA XREF: start_work+34r
ROM:1FFFE88C dword_1FFFE88C  DCD 0xE000E010          ; DATA XREF: start_work+4Cr
ROM:1FFFE88C                                         ; g_sys_init:loc_1FFFE6B6r
ROM:1FFFE890 dword_1FFFE890  DCD 0x20000208          ; DATA XREF: start_work+54r
ROM:1FFFE894 dword_1FFFE894  DCD 0x40003000          ; DATA XREF: g_sys_init+Cr
ROM:1FFFE898 dword_1FFFE898  DCD 0xE000ED08          ; DATA XREF: g_sys_init+22r
ROM:1FFFE89C dword_1FFFE89C  DCD 0x1FFFB000          ; DATA XREF: g_sys_init+24r
ROM:1FFFE8A0 dword_1FFFE8A0  DCD 0x20000188          ; DATA XREF: g_sys_init+28r
ROM:1FFFE8A4 dword_1FFFE8A4  DCD 0x2000FFFC          ; DATA XREF: g_sys_init+32r
ROM:1FFFE8A8 dword_1FFFE8A8  DCD 0x20001000          ; DATA XREF: g_sys_init+44r
ROM:1FFFE8AC dword_1FFFE8AC  DCD 0x40021018          ; DATA XREF: g_sys_init+5Cr
ROM:1FFFE8B0 dword_1FFFE8B0  DCD 0x40010004          ; DATA XREF: g_sys_init+6Ar
ROM:1FFFE8B4 dword_1FFFE8B4  DCD 0x40010804          ; DATA XREF: g_sys_init+70r
ROM:1FFFE8B8 dword_1FFFE8B8  DCD 0x44444884          ; DATA XREF: g_sys_init+72r
ROM:1FFFE8BC dword_1FFFE8BC  DCD 0x2000400           ; DATA XREF: g_sys_init+76r
ROM:1FFFE8C0 dword_1FFFE8C0  DCD 0x40011400          ; DATA XREF: g_sys_init+7Ar
ROM:1FFFE8C4 dword_1FFFE8C4  DCD 0x48B44444          ; DATA XREF: g_sys_init+7Er
ROM:1FFFE8C8 dword_1FFFE8C8  DCD 0x40010C08          ; DATA XREF: g_sys_init+8Er
ROM:1FFFE8CC dword_1FFFE8CC  DCD 0x444448B4          ; DATA XREF: g_sys_init:loc_1FFFE792r
ROM:1FFFE8D0                 DCW 0x326
ROM:1FFFE8D2 aStmicroelectronics unicode 0, <STMicroelectronics>,0
ROM:1FFFE8F8                 DCW 0x335
ROM:1FFFE8FA aStm320x418DfuBootloader unicode 0, <STM32 0x418 DFU Bootloader>,0
ROM:1FFFE930
ROM:1FFFE930 ; =============== S U B R O U T I N E =======================================
ROM:1FFFE930
ROM:1FFFE930
ROM:1FFFE930 sys_create                              ; CODE XREF: start_S+8p
ROM:1FFFE930                 PUSH            {R4,LR} ; 寄存器压栈保护
ROM:1FFFE932                 LDR             R1, =(loc_1FFFE940 - 0x1FFFE938) ; 计算1FFFE940-1FFFE938的相对位置,赋给R1
ROM:1FFFE934                 ADD             R1, PC ; loc_1FFFE940 ; 当前的PC值+R1,由于流水线的原因,thumb指令+4,
ROM:1FFFE934                                         ; R1=1FFFE934+4+上条指令计算的相对位置
ROM:1FFFE934                                         ; =1FFFE940
ROM:1FFFE936                 ADDS            R1, #0x1C ; 1FFFE940+1C=1FFFE95C
ROM:1FFFE938                 LDR             R4, =(dword_1FFFE964+2 - 0x1FFFE93E)
ROM:1FFFE93A                 ADD             R4, PC  ; bss段的起始位置
ROM:1FFFE93C                 ADDS            R4, #0x1A ; 同样的套路,1FFFE966+1A=1FFFE980,主要目的是创建地址无关的代码
ROM:1FFFE93E                 CMP             R1, R4
ROM:1FFFE940
ROM:1FFFE940 loc_1FFFE940                            ; DATA XREF: sys_create+4o
ROM:1FFFE940                                         ; ROM:off_1FFFE954o
ROM:1FFFE940                 BEQ             locret_1FFFE950
ROM:1FFFE942
ROM:1FFFE942 loc_1FFFE942                            ; CODE XREF: sys_create+1Ej
ROM:1FFFE942                 ADDS            R0, R1, #4
ROM:1FFFE944                 LDR             R2, [R1]
ROM:1FFFE946                 ADDS            R1, R2, R1
ROM:1FFFE948                 BLX             R1 ; bss_clear ; 参数为0x00000a1c g_data_init
ROM:1FFFE94A                 MOV             R1, R0
ROM:1FFFE94C                 CMP             R1, R4
ROM:1FFFE94E                 BNE             loc_1FFFE942
ROM:1FFFE950
ROM:1FFFE950 locret_1FFFE950                         ; CODE XREF: sys_create:loc_1FFFE940j
ROM:1FFFE950                 POP             {R4,PC}
ROM:1FFFE950 ; End of function sys_create
ROM:1FFFE950
ROM:1FFFE950 ; ---------------------------------------------------------------------------
ROM:1FFFE952                 ALIGN 4
ROM:1FFFE954 off_1FFFE954    DCD loc_1FFFE940 - 0x1FFFE938 ; DATA XREF: sys_create+2r
ROM:1FFFE958 off_1FFFE958    DCD dword_1FFFE964+2 - 0x1FFFE93E ; DATA XREF: sys_create+8r
ROM:1FFFE958                                         ; bss段的起始位置
ROM:1FFFE95C dword_1FFFE95C  DCD 0xFFFFD273          ; DATA XREF: sys_create+14r
ROM:1FFFE960                 DCD 0xA1C               ; bss段大小
ROM:1FFFE964 dword_1FFFE964  DCD 0x20000250          ; DATA XREF: sys_create+Ao
ROM:1FFFE964                                         ; ROM:off_1FFFE958o
ROM:1FFFE964                                         ; bss段的起始位置
ROM:1FFFE968                 DCD 0                   ; bss段描述符的结束指示
ROM:1FFFE96C                 DCD 0xFFFFD1B3          ; data段初始化函数的偏移地址
ROM:1FFFE970                 DCD 0x250               ; data段的长度
ROM:1FFFE974                 DCD 0x60                ; data源段位置偏移描述,相对于自己的存储地址
ROM:1FFFE974                                         ; 在flash中,1FFFE974+0x60
ROM:1FFFE974                                         ; data_addr = 1FFFE9D4
ROM:1FFFE978                 DCD 0x20000000          ; data段数据的目的地址,在内存中
ROM:1FFFE97C                 DCD 0                   ; data段描述符的结束指示
ROM:1FFFE980
ROM:1FFFE980 ; =============== S U B R O U T I N E =======================================
ROM:1FFFE980
ROM:1FFFE980 ; Attributes: noreturn
ROM:1FFFE980
ROM:1FFFE980 ; int __cdecl start_S(int argc, const char **argv, const char **envp)
ROM:1FFFE980 start_S                                 ; CODE XREF: ROM:1FFFE9C8p
ROM:1FFFE980                 BL              sub_1FFFE996 ; 下面是死机陷井!!!
ROM:1FFFE984                 CMP             R0, #0
ROM:1FFFE986                 BEQ             loc_1FFFE98C
ROM:1FFFE988                 BL              sys_create ; 建立c语言的运行环境,bss清零,data段拷贝
ROM:1FFFE98C
ROM:1FFFE98C loc_1FFFE98C                            ; CODE XREF: start_S+6j
ROM:1FFFE98C                 MOVS            R0, #0
ROM:1FFFE98E                 BL              start_work
ROM:1FFFE98E ; End of function start_S
ROM:1FFFE98E
ROM:1FFFE992 ; ---------------------------------------------------------------------------
ROM:1FFFE992                 BL              gansini
ROM:1FFFE996
ROM:1FFFE996 ; =============== S U B R O U T I N E =======================================
ROM:1FFFE996
ROM:1FFFE996 ; 下面是死机陷井!!!
ROM:1FFFE996
ROM:1FFFE996 sub_1FFFE996                            ; CODE XREF: start_Sp
ROM:1FFFE996                 MOVS            R0, #1
ROM:1FFFE998                 BX              LR
ROM:1FFFE998 ; End of function sub_1FFFE996
ROM:1FFFE998
ROM:1FFFE99A ; ---------------------------------------------------------------------------
ROM:1FFFE99A
ROM:1FFFE99A gansini                                 ; CODE XREF: ROM:1FFFE992j
ROM:1FFFE99A                 B.W             siji
ROM:1FFFE99A ; ---------------------------------------------------------------------------
ROM:1FFFE99E                 ALIGN 0x10
ROM:1FFFE9A0
ROM:1FFFE9A0 siji                                    ; CODE XREF: ROM:gansinij
ROM:1FFFE9A0                 MOV             R7, R0
ROM:1FFFE9A2
ROM:1FFFE9A2 die_le                                  ; CODE XREF: ROM:1FFFE9A8j
ROM:1FFFE9A2                 MOV             R0, R7
ROM:1FFFE9A4                 BL              die_mcu
ROM:1FFFE9A8 ; ---------------------------------------------------------------------------
ROM:1FFFE9A8                 B               die_le
ROM:1FFFE9A8 ; ---------------------------------------------------------------------------
ROM:1FFFE9AA                 ALIGN 4
ROM:1FFFE9AC
ROM:1FFFE9AC ; =============== S U B R O U T I N E =======================================
ROM:1FFFE9AC
ROM:1FFFE9AC ; Attributes: noreturn
ROM:1FFFE9AC
ROM:1FFFE9AC die_mcu                                 ; CODE XREF: ROM:1FFFE9A4p
ROM:1FFFE9AC                 PUSH            {R7,LR}
ROM:1FFFE9AE                 NOP
ROM:1FFFE9B0                 NOP
ROM:1FFFE9B2                 LDR             R2, =0x20026
ROM:1FFFE9B4
ROM:1FFFE9B4 breakpoint                              ; CODE XREF: die_mcu+Ej
ROM:1FFFE9B4                 MOVS            R1, R2
ROM:1FFFE9B6                 MOVS            R0, #0x18
ROM:1FFFE9B8                 BKPT            0xAB
ROM:1FFFE9BA                 B               breakpoint
ROM:1FFFE9BA ; End of function die_mcu
ROM:1FFFE9BA
ROM:1FFFE9BA ; ---------------------------------------------------------------------------
ROM:1FFFE9BC dword_1FFFE9BC  DCD 0x20026             ; DATA XREF: die_mcu+6r
ROM:1FFFE9C0 ; ---------------------------------------------------------------------------
ROM:1FFFE9C0
ROM:1FFFE9C0 entry_main
ROM:1FFFE9C0                 NOP
ROM:1FFFE9C2                 NOP
ROM:1FFFE9C4                 NOP
ROM:1FFFE9C6                 NOP
ROM:1FFFE9C8                 BL              start_S
ROM:1FFFE9CC ; ---------------------------------------------------------------------------
ROM:1FFFE9CC
ROM:1FFFE9CC loc_1FFFE9CC
ROM:1FFFE9CC                 B.W             sys_reset
ROM:1FFFE9D0 ; ---------------------------------------------------------------------------
ROM:1FFFE9D0
ROM:1FFFE9D0 OTG_FS_IRQHandler
ROM:1FFFE9D0                 B.W             usb_fs_int_proc
ROM:1FFFE9D0 ; ---------------------------------------------------------------------------
ROM:1FFFE9D4 g_data          DCW 0x34E               ; 全局变量区:len=0x250
ROM:1FFFE9D6 aInternalFlash0x0800000012 unicode 0, <@Internal Flash  /0x08000000/128*002Kg>,0
ROM:1FFFEA24                 DCW 0x348
ROM:1FFFEA26 aOptionBytes0x1ffff8000101 unicode 0, <@Option Bytes  /0x1FFFF800/01*016 e>,0
ROM:1FFFEA6E                 DCW 0
ROM:1FFFEA70                 DCD 0x1FFFD4A1
ROM:1FFFEA74                 DCD 0x1FFFD4A1
ROM:1FFFEA78                 DCD locret_1FFFD4A0+1
ROM:1FFFEA7C                 DCD locret_1FFFD4A0+1
ROM:1FFFEA80                 DCD locret_1FFFD4A0+1
ROM:1FFFEA84                 DCD locret_1FFFD4A0+1
ROM:1FFFEA88                 DCD locret_1FFFD4A0+1
ROM:1FFFEA8C                 DCD locret_1FFFD4A0+1
ROM:1FFFEA90                 DCD locret_1FFFD4A0+1
ROM:1FFFEA94                 DCD locret_1FFFD4A0+1
ROM:1FFFEA98                 DCD locret_1FFFD4A0+1
ROM:1FFFEA9C                 DCD locret_1FFFD4A0+1
ROM:1FFFEAA0                 DCD locret_1FFFD4A0+1
ROM:1FFFEAA4                 DCD locret_1FFFD4A0+1
ROM:1FFFEAA8                 DCD 0
ROM:1FFFEAAC                 DCD 0x20000240
ROM:1FFFEAB0                 DCD 4, 0x1FFFE8D0, 0x26, 0x1FFFE8F8, 0x35, 0x20000214
ROM:1FFFEAB0                 DCD 0xC, 0x20000000, 0x4E, 0x20000050, 0x48, 0x1FFFC291
ROM:1FFFEAB0                 DCD 0x1FFFC2B1, 0x1FFFC2ED, 0x1FFFC2EF, 0x1FFFC453, 0x1FFFC4DB
ROM:1FFFEAB0                 DCD 0x1FFFC5EF, 0x1FFFC5B5, 0x1FFFC5BD, 0x1FFFC5C5, 0
ROM:1FFFEB08                 DCD 0x40
ROM:1FFFEB0C                 DCD 0, 0, 0, 0, 0, 0, 0, 0
ROM:1FFFEB2C                 DCD 0x8000000, 0x200001AC, 0x24, 0, 0, 0, 0, 0
ROM:1FFFEB4C                 DCD 0x1000F
ROM:1FFFEB50                 DCD 0x10007
ROM:1FFFEB54                 DCD 0x10003
ROM:1FFFEB58                 DCD 0x10001
ROM:1FFFEB5C                 DCD 0x40013800
ROM:1FFFEB60                 DCD 0x40004400
ROM:1FFFEB64                 DCD 0x40013800
ROM:1FFFEB68                 DCD 0
ROM:1FFFEB6C                 DCD 0
ROM:1FFFEB70                 DCD 0
ROM:1FFFEB74                 DCD 0
ROM:1FFFEB78                 DCD 0
ROM:1FFFEB7C                 DCD 0
ROM:1FFFEB80                 DCD 0x240209
ROM:1FFFEB84                 DCD 0xC0000101, 0x40932, 0x1FE0000, 0x4090402, 0xFE000100
ROM:1FFFEB84                 DCD 0x9050201, 0xFF0B21, 0x11A0800, 0x1FFFD4A1, 0x1FFFC2D1
ROM:1FFFEB84                 DCD 0x1FFFD4A1, 0x1FFFD4A1, 0x1FFFD4A1, 0x1FFFD4A1, 0x1FFFD4A1
ROM:1FFFEB84                 DCD 0x1FFFD4A1, 0x1FFFC2E3, 0x1000112, 0x40000000, 0xDF110483
ROM:1FFFEB84                 DCD 0x2012200, 0x103, 0, 0
ROM:1FFFEBE4                 DCD 0x8000000, 0x53030C, 0x4D0054, 0x320033, 0x2010022
ROM:1FFFEBE4                 DCD 0x63432105, 0x928273, 0
ROM:1FFFEC04                 DCD 0x4FFFFF
ROM:1FFFEC08                 DCD 0x200001F4
ROM:1FFFEC0C                 DCD 0x12
ROM:1FFFEC10                 DCD 0xB000000
ROM:1FFFEC14                 DCD 0x4090304
ROM:1FFFEC18                 DCD 0x22
ROM:1FFFEC1C                 DCD 0x101
ROM:1FFFEC20                 DCD 0x1804
ROM:1FFFEC24                 DCD 0xFFFFFFFF
ROM:1FFFEC28                 DCD 0xFFFFFFFF
ROM:1FFFEC2C                 DCD 0xFFFFFFFF
ROM:1FFFEC30                 DCD 0xFFFFFFFF
ROM:1FFFEC34                 DCD 0xFFFFFFFF
ROM:1FFFEC38                 DCD 0xFFFFFFFF
ROM:1FFFEC3C                 DCD 0xFFFFFFFF
ROM:1FFFEC40                 DCD 0xFFFFFFFF
ROM:1FFFEC44                 DCD 0xFFFFFFFF
ROM:1FFFEC48                 DCD 0xFFFFFFFF
ROM:1FFFEC4C                 DCD 0xFFFFFFFF
ROM:1FFFEC50                 DCD 0xFFFFFFFF
ROM:1FFFEC54                 DCD 0xFFFFFFFF
ROM:1FFFEC58                 DCD 0xFFFFFFFF
ROM:1FFFEC5C                 DCD 0xFFFFFFFF
ROM:1FFFEC60                 DCD 0xFFFFFFFF
ROM:1FFFEC64                 DCD 0xFFFFFFFF
ROM:1FFFEC68                 DCD 0xFFFFFFFF
ROM:1FFFEC6C                 DCD 0xFFFFFFFF
ROM:1FFFEC70                 DCD 0xFFFFFFFF
ROM:1FFFEC74                 DCD 0xFFFFFFFF
ROM:1FFFEC78                 DCD 0xFFFFFFFF
ROM:1FFFEC7C                 DCD 0xFFFFFFFF
ROM:1FFFEC80                 DCD 0xFFFFFFFF
ROM:1FFFEC84                 DCD 0xFFFFFFFF
ROM:1FFFEC88                 DCD 0xFFFFFFFF
ROM:1FFFEC8C                 DCD 0xFFFFFFFF
ROM:1FFFEC90                 DCD 0xFFFFFFFF
ROM:1FFFEC94                 DCD 0xFFFFFFFF
ROM:1FFFEC98                 DCD 0xFFFFFFFF
ROM:1FFFEC9C                 DCD 0xFFFFFFFF
ROM:1FFFECA0                 DCD 0xFFFFFFFF
ROM:1FFFECA4                 DCD 0xFFFFFFFF
ROM:1FFFECA8                 DCD 0xFFFFFFFF
ROM:1FFFECAC                 DCD 0xFFFFFFFF
ROM:1FFFECB0                 DCD 0xFFFFFFFF
ROM:1FFFECB4                 DCD 0xFFFFFFFF
ROM:1FFFECB8                 DCD 0xFFFFFFFF
ROM:1FFFECBC                 DCD 0xFFFFFFFF
ROM:1FFFECC0                 DCD 0xFFFFFFFF
ROM:1FFFECC4                 DCD 0xFFFFFFFF
ROM:1FFFECC8                 DCD 0xFFFFFFFF
ROM:1FFFECCC                 DCD 0xFFFFFFFF
ROM:1FFFECD0                 DCD 0xFFFFFFFF
ROM:1FFFECD4                 DCD 0xFFFFFFFF
ROM:1FFFECD8                 DCD 0xFFFFFFFF
ROM:1FFFECDC                 DCD 0xFFFFFFFF
ROM:1FFFECE0                 DCD 0xFFFFFFFF
ROM:1FFFECE4                 DCD 0xFFFFFFFF
ROM:1FFFECE8                 DCD 0xFFFFFFFF
ROM:1FFFECEC                 DCD 0xFFFFFFFF
ROM:1FFFECF0                 DCD 0xFFFFFFFF
ROM:1FFFECF4                 DCD 0xFFFFFFFF
ROM:1FFFECF8                 DCD 0xFFFFFFFF
ROM:1FFFECFC                 DCD 0xFFFFFFFF
ROM:1FFFED00                 DCD 0xFFFFFFFF
ROM:1FFFED04                 DCD 0xFFFFFFFF
ROM:1FFFED08                 DCD 0xFFFFFFFF
ROM:1FFFED0C                 DCD 0xFFFFFFFF
ROM:1FFFED10                 DCD 0xFFFFFFFF
ROM:1FFFED14                 DCD 0xFFFFFFFF
ROM:1FFFED18                 DCD 0xFFFFFFFF
ROM:1FFFED1C                 DCD 0xFFFFFFFF
ROM:1FFFED20                 DCD 0xFFFFFFFF
ROM:1FFFED24                 DCD 0xFFFFFFFF
ROM:1FFFED28                 DCD 0xFFFFFFFF
ROM:1FFFED2C                 DCD 0xFFFFFFFF
ROM:1FFFED30                 DCD 0xFFFFFFFF
ROM:1FFFED34                 DCD 0xFFFFFFFF
ROM:1FFFED38                 DCD 0xFFFFFFFF
ROM:1FFFED3C                 DCD 0xFFFFFFFF
ROM:1FFFED40                 DCD 0xFFFFFFFF
ROM:1FFFED44                 DCD 0xFFFFFFFF
ROM:1FFFED48                 DCD 0xFFFFFFFF
ROM:1FFFED4C                 DCD 0xFFFFFFFF
ROM:1FFFED50                 DCD 0xFFFFFFFF
ROM:1FFFED54                 DCD 0xFFFFFFFF
ROM:1FFFED58                 DCD 0xFFFFFFFF
ROM:1FFFED5C                 DCD 0xFFFFFFFF
ROM:1FFFED60                 DCD 0xFFFFFFFF
ROM:1FFFED64                 DCD 0xFFFFFFFF
ROM:1FFFED68                 DCD 0xFFFFFFFF
ROM:1FFFED6C                 DCD 0xFFFFFFFF
ROM:1FFFED70                 DCD 0xFFFFFFFF
ROM:1FFFED74                 DCD 0xFFFFFFFF
ROM:1FFFED78                 DCD 0xFFFFFFFF
ROM:1FFFED7C                 DCD 0xFFFFFFFF
ROM:1FFFED80                 DCD 0xFFFFFFFF
ROM:1FFFED84                 DCD 0xFFFFFFFF
ROM:1FFFED88                 DCD 0xFFFFFFFF
ROM:1FFFED8C                 DCD 0xFFFFFFFF
ROM:1FFFED90                 DCD 0xFFFFFFFF
ROM:1FFFED94                 DCD 0xFFFFFFFF
ROM:1FFFED98                 DCD 0xFFFFFFFF
ROM:1FFFED9C                 DCD 0xFFFFFFFF
ROM:1FFFEDA0                 DCD 0xFFFFFFFF
ROM:1FFFEDA4                 DCD 0xFFFFFFFF
ROM:1FFFEDA8                 DCD 0xFFFFFFFF
ROM:1FFFEDAC                 DCD 0xFFFFFFFF
ROM:1FFFEDB0                 DCD 0xFFFFFFFF
ROM:1FFFEDB4                 DCD 0xFFFFFFFF
ROM:1FFFEDB8                 DCD 0xFFFFFFFF
ROM:1FFFEDBC                 DCD 0xFFFFFFFF
ROM:1FFFEDC0                 DCD 0xFFFFFFFF
ROM:1FFFEDC4                 DCD 0xFFFFFFFF
ROM:1FFFEDC8                 DCD 0xFFFFFFFF
ROM:1FFFEDCC                 DCD 0xFFFFFFFF
ROM:1FFFEDD0                 DCD 0xFFFFFFFF
ROM:1FFFEDD4                 DCD 0xFFFFFFFF
ROM:1FFFEDD8                 DCD 0xFFFFFFFF
ROM:1FFFEDDC                 DCD 0xFFFFFFFF
ROM:1FFFEDE0                 DCD 0xFFFFFFFF
ROM:1FFFEDE4                 DCD 0xFFFFFFFF
ROM:1FFFEDE8                 DCD 0xFFFFFFFF
ROM:1FFFEDEC                 DCD 0xFFFFFFFF
ROM:1FFFEDF0                 DCD 0xFFFFFFFF
ROM:1FFFEDF4                 DCD 0xFFFFFFFF
ROM:1FFFEDF8                 DCD 0xFFFFFFFF
ROM:1FFFEDFC                 DCD 0xFFFFFFFF
ROM:1FFFEE00                 DCD 0xFFFFFFFF
ROM:1FFFEE04                 DCD 0xFFFFFFFF
ROM:1FFFEE08                 DCD 0xFFFFFFFF
ROM:1FFFEE0C                 DCD 0xFFFFFFFF
ROM:1FFFEE10                 DCD 0xFFFFFFFF
ROM:1FFFEE14                 DCD 0xFFFFFFFF
ROM:1FFFEE18                 DCD 0xFFFFFFFF
ROM:1FFFEE1C                 DCD 0xFFFFFFFF
ROM:1FFFEE20                 DCD 0xFFFFFFFF
ROM:1FFFEE24                 DCD 0xFFFFFFFF
ROM:1FFFEE28                 DCD 0xFFFFFFFF
ROM:1FFFEE2C                 DCD 0xFFFFFFFF
ROM:1FFFEE30                 DCD 0xFFFFFFFF
ROM:1FFFEE34                 DCD 0xFFFFFFFF
ROM:1FFFEE38                 DCD 0xFFFFFFFF
ROM:1FFFEE3C                 DCD 0xFFFFFFFF
ROM:1FFFEE40                 DCD 0xFFFFFFFF
ROM:1FFFEE44                 DCD 0xFFFFFFFF
ROM:1FFFEE48                 DCD 0xFFFFFFFF
ROM:1FFFEE4C                 DCD 0xFFFFFFFF
ROM:1FFFEE50                 DCD 0xFFFFFFFF
ROM:1FFFEE54                 DCD 0xFFFFFFFF
ROM:1FFFEE58                 DCD 0xFFFFFFFF
ROM:1FFFEE5C                 DCD 0xFFFFFFFF
ROM:1FFFEE60                 DCD 0xFFFFFFFF
ROM:1FFFEE64                 DCD 0xFFFFFFFF
ROM:1FFFEE68                 DCD 0xFFFFFFFF
ROM:1FFFEE6C                 DCD 0xFFFFFFFF
ROM:1FFFEE70                 DCD 0xFFFFFFFF
ROM:1FFFEE74                 DCD 0xFFFFFFFF
ROM:1FFFEE78                 DCD 0xFFFFFFFF
ROM:1FFFEE7C                 DCD 0xFFFFFFFF
ROM:1FFFEE80                 DCD 0xFFFFFFFF
ROM:1FFFEE84                 DCD 0xFFFFFFFF
ROM:1FFFEE88                 DCD 0xFFFFFFFF
ROM:1FFFEE8C                 DCD 0xFFFFFFFF
ROM:1FFFEE90                 DCD 0xFFFFFFFF
ROM:1FFFEE94                 DCD 0xFFFFFFFF
ROM:1FFFEE98                 DCD 0xFFFFFFFF
ROM:1FFFEE9C                 DCD 0xFFFFFFFF
ROM:1FFFEEA0                 DCD 0xFFFFFFFF
ROM:1FFFEEA4                 DCD 0xFFFFFFFF
ROM:1FFFEEA8                 DCD 0xFFFFFFFF
ROM:1FFFEEAC                 DCD 0xFFFFFFFF
ROM:1FFFEEB0                 DCD 0xFFFFFFFF
ROM:1FFFEEB4                 DCD 0xFFFFFFFF
ROM:1FFFEEB8                 DCD 0xFFFFFFFF
ROM:1FFFEEBC                 DCD 0xFFFFFFFF
ROM:1FFFEEC0                 DCD 0xFFFFFFFF
ROM:1FFFEEC4                 DCD 0xFFFFFFFF
ROM:1FFFEEC8                 DCD 0xFFFFFFFF
ROM:1FFFEECC                 DCD 0xFFFFFFFF
ROM:1FFFEED0                 DCD 0xFFFFFFFF
ROM:1FFFEED4                 DCD 0xFFFFFFFF
ROM:1FFFEED8                 DCD 0xFFFFFFFF
ROM:1FFFEEDC                 DCD 0xFFFFFFFF
ROM:1FFFEEE0                 DCD 0xFFFFFFFF
ROM:1FFFEEE4                 DCD 0xFFFFFFFF
ROM:1FFFEEE8                 DCD 0xFFFFFFFF
ROM:1FFFEEEC                 DCD 0xFFFFFFFF
ROM:1FFFEEF0                 DCD 0xFFFFFFFF
ROM:1FFFEEF4                 DCD 0xFFFFFFFF
ROM:1FFFEEF8                 DCD 0xFFFFFFFF
ROM:1FFFEEFC                 DCD 0xFFFFFFFF
ROM:1FFFEF00                 DCD 0xFFFFFFFF
ROM:1FFFEF04                 DCD 0xFFFFFFFF
ROM:1FFFEF08                 DCD 0xFFFFFFFF
ROM:1FFFEF0C                 DCD 0xFFFFFFFF
ROM:1FFFEF10                 DCD 0xFFFFFFFF
ROM:1FFFEF14                 DCD 0xFFFFFFFF
ROM:1FFFEF18                 DCD 0xFFFFFFFF
ROM:1FFFEF1C                 DCD 0xFFFFFFFF
ROM:1FFFEF20                 DCD 0xFFFFFFFF
ROM:1FFFEF24                 DCD 0xFFFFFFFF
ROM:1FFFEF28                 DCD 0xFFFFFFFF
ROM:1FFFEF2C                 DCD 0xFFFFFFFF
ROM:1FFFEF30                 DCD 0xFFFFFFFF
ROM:1FFFEF34                 DCD 0xFFFFFFFF
ROM:1FFFEF38                 DCD 0xFFFFFFFF
ROM:1FFFEF3C                 DCD 0xFFFFFFFF
ROM:1FFFEF40                 DCD 0xFFFFFFFF
ROM:1FFFEF44                 DCD 0xFFFFFFFF
ROM:1FFFEF48                 DCD 0xFFFFFFFF
ROM:1FFFEF4C                 DCD 0xFFFFFFFF
ROM:1FFFEF50                 DCD 0xFFFFFFFF
ROM:1FFFEF54                 DCD 0xFFFFFFFF
ROM:1FFFEF58                 DCD 0xFFFFFFFF
ROM:1FFFEF5C                 DCD 0xFFFFFFFF
ROM:1FFFEF60                 DCD 0xFFFFFFFF
ROM:1FFFEF64                 DCD 0xFFFFFFFF
ROM:1FFFEF68                 DCD 0xFFFFFFFF
ROM:1FFFEF6C                 DCD 0xFFFFFFFF
ROM:1FFFEF70                 DCD 0xFFFFFFFF
ROM:1FFFEF74                 DCD 0xFFFFFFFF
ROM:1FFFEF78                 DCD 0xFFFFFFFF
ROM:1FFFEF7C                 DCD 0xFFFFFFFF
ROM:1FFFEF80                 DCD 0xFFFFFFFF
ROM:1FFFEF84                 DCD 0xFFFFFFFF
ROM:1FFFEF88                 DCD 0xFFFFFFFF
ROM:1FFFEF8C                 DCD 0xFFFFFFFF
ROM:1FFFEF90                 DCD 0xFFFFFFFF
ROM:1FFFEF94                 DCD 0xFFFFFFFF
ROM:1FFFEF98                 DCD 0xFFFFFFFF
ROM:1FFFEF9C                 DCD 0xFFFFFFFF
ROM:1FFFEFA0                 DCD 0xFFFFFFFF
ROM:1FFFEFA4                 DCD 0xFFFFFFFF
ROM:1FFFEFA8                 DCD 0xFFFFFFFF
ROM:1FFFEFAC                 DCD 0xFFFFFFFF
ROM:1FFFEFB0                 DCD 0xFFFFFFFF
ROM:1FFFEFB4                 DCD 0xFFFFFFFF
ROM:1FFFEFB8                 DCD 0xFFFFFFFF
ROM:1FFFEFBC                 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFEFBC                 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFEFBC                 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFEFBC                 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFEFBC                 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018                 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018                 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018                 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018                 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018                 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018                 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018                 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018                 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018                 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018                 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018                 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018                 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018                 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018                 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018                 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018                 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018                 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018                 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018                 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018                 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018                 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018                 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018                 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018                 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018                 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018                 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018                 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018                 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018                 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018                 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018                 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018                 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018                 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018                 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018                 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018                 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018                 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018                 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018                 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018                 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018                 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018                 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018                 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018                 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018                 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018                 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018                 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018                 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018                 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018                 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018                 DCD 0xFFFFFFFF
ROM:1FFFF404                 DCD 0xFFFFFFFF
ROM:1FFFF408                 DCD 0xFFFFFFFF
ROM:1FFFF40C                 DCD 0xFFFFFFFF
ROM:1FFFF410                 DCD 0xFFFFFFFF
ROM:1FFFF414                 DCD 0xFFFFFFFF
ROM:1FFFF418                 DCD 0xFFFFFFFF
ROM:1FFFF41C                 DCD 0xFFFFFFFF
ROM:1FFFF420                 DCD 0xFFFFFFFF
ROM:1FFFF424                 DCD 0xFFFFFFFF
ROM:1FFFF428                 DCD 0xFFFFFFFF
ROM:1FFFF42C                 DCD 0xFFFFFFFF
ROM:1FFFF430                 DCD 0xFFFFFFFF
ROM:1FFFF434                 DCD 0xFFFFFFFF
ROM:1FFFF438                 DCD 0xFFFFFFFF
ROM:1FFFF43C                 DCD 0xFFFFFFFF
ROM:1FFFF440                 DCD 0xFFFFFFFF
ROM:1FFFF444                 DCD 0xFFFFFFFF
ROM:1FFFF448                 DCD 0xFFFFFFFF
ROM:1FFFF44C                 DCD 0xFFFFFFFF
ROM:1FFFF450                 DCD 0xFFFFFFFF
ROM:1FFFF454                 DCD 0xFFFFFFFF
ROM:1FFFF458                 DCD 0xFFFFFFFF
ROM:1FFFF45C                 DCD 0xFFFFFFFF
ROM:1FFFF460                 DCD 0xFFFFFFFF
ROM:1FFFF464                 DCD 0xFFFFFFFF
ROM:1FFFF468                 DCD 0xFFFFFFFF
ROM:1FFFF46C                 DCD 0xFFFFFFFF
ROM:1FFFF470                 DCD 0xFFFFFFFF
ROM:1FFFF474                 DCD 0xFFFFFFFF
ROM:1FFFF478                 DCD 0xFFFFFFFF
ROM:1FFFF47C                 DCD 0xFFFFFFFF
ROM:1FFFF480                 DCD 0xFFFFFFFF
ROM:1FFFF484                 DCD 0xFFFFFFFF
ROM:1FFFF488                 DCD 0xFFFFFFFF
ROM:1FFFF48C                 DCD 0xFFFFFFFF
ROM:1FFFF490                 DCD 0xFFFFFFFF
ROM:1FFFF494                 DCD 0xFFFFFFFF
ROM:1FFFF498                 DCD 0xFFFFFFFF
ROM:1FFFF49C                 DCD 0xFFFFFFFF
ROM:1FFFF4A0                 DCD 0xFFFFFFFF
ROM:1FFFF4A4                 DCD 0xFFFFFFFF
ROM:1FFFF4A8                 DCD 0xFFFFFFFF
ROM:1FFFF4AC                 DCD 0xFFFFFFFF
ROM:1FFFF4B0                 DCD 0xFFFFFFFF
ROM:1FFFF4B4                 DCD 0xFFFFFFFF
ROM:1FFFF4B8                 DCD 0xFFFFFFFF
ROM:1FFFF4BC                 DCD 0xFFFFFFFF
ROM:1FFFF4C0                 DCD 0xFFFFFFFF
ROM:1FFFF4C4                 DCD 0xFFFFFFFF
ROM:1FFFF4C8                 DCD 0xFFFFFFFF
ROM:1FFFF4CC                 DCD 0xFFFFFFFF
ROM:1FFFF4D0                 DCD 0xFFFFFFFF
ROM:1FFFF4D4                 DCD 0xFFFFFFFF
ROM:1FFFF4D8                 DCD 0xFFFFFFFF
ROM:1FFFF4DC                 DCD 0xFFFFFFFF
ROM:1FFFF4E0                 DCD 0xFFFFFFFF
ROM:1FFFF4E4                 DCD 0xFFFFFFFF
ROM:1FFFF4E8                 DCD 0xFFFFFFFF
ROM:1FFFF4EC                 DCD 0xFFFFFFFF
ROM:1FFFF4F0                 DCD 0xFFFFFFFF
ROM:1FFFF4F4                 DCD 0xFFFFFFFF
ROM:1FFFF4F8                 DCD 0xFFFFFFFF
ROM:1FFFF4FC                 DCD 0xFFFFFFFF
ROM:1FFFF500                 DCD 0xFFFFFFFF
ROM:1FFFF504                 DCD 0xFFFFFFFF
ROM:1FFFF508                 DCD 0xFFFFFFFF
ROM:1FFFF50C                 DCD 0xFFFFFFFF
ROM:1FFFF510                 DCD 0xFFFFFFFF
ROM:1FFFF514                 DCD 0xFFFFFFFF
ROM:1FFFF518                 DCD 0xFFFFFFFF
ROM:1FFFF51C                 DCD 0xFFFFFFFF
ROM:1FFFF520                 DCD 0xFFFFFFFF
ROM:1FFFF524                 DCD 0xFFFFFFFF
ROM:1FFFF528                 DCD 0xFFFFFFFF
ROM:1FFFF52C                 DCD 0xFFFFFFFF
ROM:1FFFF530                 DCD 0xFFFFFFFF
ROM:1FFFF534                 DCD 0xFFFFFFFF
ROM:1FFFF538                 DCD 0xFFFFFFFF
ROM:1FFFF53C                 DCD 0xFFFFFFFF
ROM:1FFFF540                 DCD 0xFFFFFFFF
ROM:1FFFF544                 DCD 0xFFFFFFFF
ROM:1FFFF548                 DCD 0xFFFFFFFF
ROM:1FFFF54C                 DCD 0xFFFFFFFF
ROM:1FFFF550                 DCD 0xFFFFFFFF
ROM:1FFFF554                 DCD 0xFFFFFFFF
ROM:1FFFF558                 DCD 0xFFFFFFFF
ROM:1FFFF55C                 DCD 0xFFFFFFFF
ROM:1FFFF560                 DCD 0xFFFFFFFF
ROM:1FFFF564                 DCD 0xFFFFFFFF
ROM:1FFFF568                 DCD 0xFFFFFFFF
ROM:1FFFF56C                 DCD 0xFFFFFFFF
ROM:1FFFF570                 DCD 0xFFFFFFFF
ROM:1FFFF574                 DCD 0xFFFFFFFF
ROM:1FFFF578                 DCD 0xFFFFFFFF
ROM:1FFFF57C                 DCD 0xFFFFFFFF
ROM:1FFFF580                 DCD 0xFFFFFFFF
ROM:1FFFF584                 DCD 0xFFFFFFFF
ROM:1FFFF588                 DCD 0xFFFFFFFF
ROM:1FFFF58C                 DCD 0xFFFFFFFF
ROM:1FFFF590                 DCD 0xFFFFFFFF
ROM:1FFFF594                 DCD 0xFFFFFFFF
ROM:1FFFF598                 DCD 0xFFFFFFFF
ROM:1FFFF59C                 DCD 0xFFFFFFFF
ROM:1FFFF5A0                 DCD 0xFFFFFFFF
ROM:1FFFF5A4                 DCD 0xFFFFFFFF
ROM:1FFFF5A8                 DCD 0xFFFFFFFF
ROM:1FFFF5AC                 DCD 0xFFFFFFFF
ROM:1FFFF5B0                 DCD 0xFFFFFFFF
ROM:1FFFF5B4                 DCD 0xFFFFFFFF
ROM:1FFFF5B8                 DCD 0xFFFFFFFF
ROM:1FFFF5BC                 DCD 0xFFFFFFFF
ROM:1FFFF5C0                 DCD 0xFFFFFFFF
ROM:1FFFF5C4                 DCD 0xFFFFFFFF
ROM:1FFFF5C8                 DCD 0xFFFFFFFF
ROM:1FFFF5CC                 DCD 0xFFFFFFFF
ROM:1FFFF5D0                 DCD 0xFFFFFFFF
ROM:1FFFF5D4                 DCD 0xFFFFFFFF
ROM:1FFFF5D8                 DCD 0xFFFFFFFF
ROM:1FFFF5DC                 DCD 0xFFFFFFFF
ROM:1FFFF5E0                 DCD 0xFFFFFFFF
ROM:1FFFF5E4                 DCD 0xFFFFFFFF
ROM:1FFFF5E8                 DCD 0xFFFFFFFF
ROM:1FFFF5EC                 DCD 0xFFFFFFFF
ROM:1FFFF5F0                 DCD 0xFFFFFFFF
ROM:1FFFF5F4                 DCD 0xFFFFFFFF
ROM:1FFFF5F8                 DCD 0xFFFFFFFF
ROM:1FFFF5FC                 DCD 0xFFFFFFFF
ROM:1FFFF600                 DCD 0xFFFFFFFF
ROM:1FFFF604                 DCD 0xFFFFFFFF
ROM:1FFFF608                 DCD 0xFFFFFFFF
ROM:1FFFF60C                 DCD 0xFFFFFFFF
ROM:1FFFF610                 DCD 0xFFFFFFFF
ROM:1FFFF614                 DCD 0xFFFFFFFF
ROM:1FFFF618                 DCD 0xFFFFFFFF
ROM:1FFFF61C                 DCD 0xFFFFFFFF
ROM:1FFFF620                 DCD 0xFFFFFFFF
ROM:1FFFF624                 DCD 0xFFFFFFFF
ROM:1FFFF628                 DCD 0xFFFFFFFF
ROM:1FFFF62C                 DCD 0xFFFFFFFF
ROM:1FFFF630                 DCD 0xFFFFFFFF
ROM:1FFFF634                 DCD 0xFFFFFFFF
ROM:1FFFF638                 DCD 0xFFFFFFFF
ROM:1FFFF63C                 DCD 0xFFFFFFFF
ROM:1FFFF640                 DCD 0xFFFFFFFF
ROM:1FFFF644                 DCD 0xFFFFFFFF
ROM:1FFFF648                 DCD 0xFFFFFFFF
ROM:1FFFF64C                 DCD 0xFFFFFFFF
ROM:1FFFF650                 DCD 0xFFFFFFFF
ROM:1FFFF654                 DCD 0xFFFFFFFF
ROM:1FFFF658                 DCD 0xFFFFFFFF
ROM:1FFFF65C                 DCD 0xFFFFFFFF
ROM:1FFFF660                 DCD 0xFFFFFFFF
ROM:1FFFF664                 DCD 0xFFFFFFFF
ROM:1FFFF668                 DCD 0xFFFFFFFF
ROM:1FFFF66C                 DCD 0xFFFFFFFF
ROM:1FFFF670                 DCD 0xFFFFFFFF
ROM:1FFFF674                 DCD 0xFFFFFFFF
ROM:1FFFF678                 DCD 0xFFFFFFFF
ROM:1FFFF67C                 DCD 0xFFFFFFFF
ROM:1FFFF680                 DCD 0xFFFFFFFF
ROM:1FFFF684                 DCD 0xFFFFFFFF
ROM:1FFFF688                 DCD 0xFFFFFFFF
ROM:1FFFF68C                 DCD 0xFFFFFFFF
ROM:1FFFF690                 DCD 0xFFFFFFFF
ROM:1FFFF694                 DCD 0xFFFFFFFF
ROM:1FFFF698                 DCD 0xFFFFFFFF
ROM:1FFFF69C                 DCD 0xFFFFFFFF
ROM:1FFFF6A0                 DCD 0xFFFFFFFF
ROM:1FFFF6A4                 DCD 0xFFFFFFFF
ROM:1FFFF6A8                 DCD 0xFFFFFFFF
ROM:1FFFF6AC                 DCD 0xFFFFFFFF
ROM:1FFFF6B0                 DCD 0xFFFFFFFF
ROM:1FFFF6B4                 DCD 0xFFFFFFFF
ROM:1FFFF6B8                 DCD 0xFFFFFFFF
ROM:1FFFF6BC                 DCD 0xFFFFFFFF
ROM:1FFFF6C0                 DCD 0xFFFFFFFF
ROM:1FFFF6C4                 DCD 0xFFFFFFFF
ROM:1FFFF6C8                 DCD 0xFFFFFFFF
ROM:1FFFF6CC                 DCD 0xFFFFFFFF
ROM:1FFFF6D0                 DCD 0xFFFFFFFF
ROM:1FFFF6D4                 DCD 0xFFFFFFFF
ROM:1FFFF6D8                 DCD 0xFFFFFFFF
ROM:1FFFF6DC                 DCD 0xFFFFFFFF
ROM:1FFFF6E0                 DCD 0xFFFFFFFF
ROM:1FFFF6E4                 DCD 0xFFFFFFFF
ROM:1FFFF6E8                 DCD 0xFFFFFFFF
ROM:1FFFF6EC                 DCD 0xFFFFFFFF
ROM:1FFFF6F0                 DCD 0xFFFFFFFF
ROM:1FFFF6F4                 DCD 0xFFFFFFFF
ROM:1FFFF6F8                 DCD 0xFFFFFFFF
ROM:1FFFF6FC                 DCD 0xFFFFFFFF
ROM:1FFFF700                 DCD 0xFFFFFFFF
ROM:1FFFF704                 DCD 0xFFFFFFFF
ROM:1FFFF708                 DCD 0xFFFFFFFF
ROM:1FFFF70C                 DCD 0xFFFFFFFF
ROM:1FFFF710                 DCD 0xFFFFFFFF
ROM:1FFFF714                 DCD 0xFFFFFFFF
ROM:1FFFF718                 DCD 0xFFFFFFFF
ROM:1FFFF71C                 DCD 0xFFFFFFFF
ROM:1FFFF720                 DCD 0xFFFFFFFF
ROM:1FFFF724                 DCD 0xFFFFFFFF
ROM:1FFFF728                 DCD 0xFFFFFFFF
ROM:1FFFF72C                 DCD 0xFFFFFFFF
ROM:1FFFF730                 DCD 0xFFFFFFFF
ROM:1FFFF734                 DCD 0xFFFFFFFF
ROM:1FFFF738                 DCD 0xFFFFFFFF
ROM:1FFFF73C                 DCD 0xFFFFFFFF
ROM:1FFFF740                 DCD 0xFFFFFFFF
ROM:1FFFF744                 DCD 0xFFFFFFFF
ROM:1FFFF748                 DCD 0xFFFFFFFF
ROM:1FFFF74C                 DCD 0xFFFFFFFF
ROM:1FFFF750                 DCD 0xFFFFFFFF
ROM:1FFFF754                 DCD 0xFFFFFFFF
ROM:1FFFF758                 DCD 0xFFFFFFFF
ROM:1FFFF75C                 DCD 0xFFFFFFFF
ROM:1FFFF760                 DCD 0xFFFFFFFF
ROM:1FFFF764                 DCD 0xFFFFFFFF
ROM:1FFFF768                 DCD 0xFFFFFFFF
ROM:1FFFF76C                 DCD 0xFFFFFFFF
ROM:1FFFF770                 DCD 0xFFFFFFFF
ROM:1FFFF774                 DCD 0xFFFFFFFF
ROM:1FFFF778                 DCD 0xFFFFFFFF
ROM:1FFFF77C                 DCD 0xFFFFFFFF
ROM:1FFFF780                 DCD 0xFFFFFFFF
ROM:1FFFF784                 DCD 0xFFFFFFFF
ROM:1FFFF788                 DCD 0xFFFFFFFF
ROM:1FFFF78C                 DCD 0xFFFFFFFF
ROM:1FFFF790                 DCD 0xFFFFFFFF
ROM:1FFFF794                 DCD 0xFFFFFFFF
ROM:1FFFF798                 DCD 0xFFFFFFFF
ROM:1FFFF79C                 DCD 0xFFFFFFFF
ROM:1FFFF7A0                 DCD 0xFFFFFFFF
ROM:1FFFF7A4                 DCD 0xFFFFFFFF
ROM:1FFFF7A8                 DCD 0xFFFFFFFF
ROM:1FFFF7AC                 DCD 0xFFFFFFFF
ROM:1FFFF7B0                 DCD 0xFFFFFFFF
ROM:1FFFF7B4                 DCD 0xFFFFFFFF
ROM:1FFFF7B8                 DCD 0xFFFFFFFF
ROM:1FFFF7BC                 DCD 0xFFFFFFFF
ROM:1FFFF7C0                 DCD 0xFFFFFFFF
ROM:1FFFF7C4                 DCD 0xFFFFFFFF
ROM:1FFFF7C8                 DCD 0xFFFFFFFF
ROM:1FFFF7CC                 DCD 0xFFFFFFFF
ROM:1FFFF7D0                 DCD 0xFFFFFFFF
ROM:1FFFF7D4                 DCD 0xFFFFFFFF
ROM:1FFFF7D8                 DCD 0xFFFFFFFF
ROM:1FFFF7DC                 DCD 0xFFFFFFFF
ROM:1FFFF7E0                 DCD 0xFFFF0080
ROM:1FFFF7E4                 DCD 0x51F06D5
ROM:1FFFF7E8                 DCD 0x5D9FF33
ROM:1FFFF7EC                 DCD 0x3938504D
ROM:1FFFF7F0                 DCD 0x43134141
ROM:1FFFF7F4                 DCD 0xFFFCF0FF
ROM:1FFFF7F8                 DCD 0xFF9768
ROM:1FFFF7FC                 DCD 0x7F80BE41
ROM:1FFFF7FC ; ROM           ends
ROM:1FFFF7FC
ROM:1FFFF7FC                 END
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值