Keyboard bootloader
Disassembled Function Overview
/ (fcn) vector_table 270
| vector_table ();
| ; DATA XREF from 0x080024ca (fcn.080024c0)
| ; DATA XREF from 0x080024fa (fcn.080024f0)
| ; DATA XREF from 0x0800252a (fcn.08002520)
| ; DATA XREF from 0x08002d08 (SystemInit)
| 0x08000000 .dword 0x20001528
| 0x08000004 .dword 0x0800309d
| 0x08000008 .dword 0x08002939 ; NMI_Handler
| 0x0800000c .dword 0x0800293b ; HardFault_Handler
| 0x08000010 .dword 0x0800293d ; MemManage_Handler
| 0x08000014 .dword 0x0800293f ; BusFault_Handler
| 0x08000018 .dword 0x08002941 ; UsageFault_Handler
| 0x0800001c .dword 0x00000000
| 0x08000020 .dword 0x00000000
| 0x08000024 .dword 0x00000000
| 0x08000028 .dword 0x00000000
| 0x0800002c .dword 0x08002943 ; SVC_Handler
| 0x08000030 .dword 0x08002945 ; DebugMon_Handler
| 0x08000034 .dword 0x00000000
| 0x08000038 .dword 0x08002947 ; PendSV_Handler
| 0x0800003c .dword 0x08002949 ; SysTick_Handler
| 0x08000040 .dword 0x080030b9 ; WWDG_IRQHandler
| 0x08000044 .dword 0x080030bd ; PVD_IRQHandler
| 0x08000048 .dword 0x080030c1 ; TAMPER_STAMP_IRQHandler
| 0x0800004c .dword 0x080030c5 ; RTC_WKUP_IRQHandler
| 0x08000050 .dword 0x080030c9 ; FLASH_IRQHandler
| 0x08000054 .dword 0x080030cd ; RCC_IRQHandler
| 0x08000058 .dword 0x080029bb ; EXTI0_IRQHandler
| 0x0800005c .dword 0x080030d1 ; EXTI1_IRQHandler
| 0x08000060 .dword 0x080030d5 ; EXTI2_IRQHandler
| 0x08000064 .dword 0x080030d9 ; EXTI3_IRQHandler
| 0x08000068 .dword 0x080030dd ; EXTI4_IRQHandler
| 0x0800006c .dword 0x080030e1 ; DMA1_Channel1_IRQHandler
| 0x08000070 .dword 0x080029df ; DMA1_Channel2_IRQHandler
| 0x08000074 .dword 0x080030e5 ; DMA1_Channel3_IRQHandler
| 0x08000078 .dword 0x080030e9 ; DMA1_Channel4_IRQHandler
| 0x0800007c .dword 0x080030ed ; DMA1_Channel5_IRQHandler
| 0x08000080 .dword 0x080030f1 ; DMA1_Channel6_IRQHandler
| 0x08000084 .dword 0x080030f5 ; DMA1_Channel7_IRQHandler
| 0x08000088 .dword 0x080030f9 ; ADC1_IRQHandler
| 0x0800008c .dword 0x080030fd ; USB_HP_IRQHandler
| 0x08000090 .dword 0x0800294b ; USB_LP_IRQHandler
| 0x08000094 .dword 0x08003101 ; DAC_IRQHandler
| 0x08000098 .dword 0x08003105 ; COMP_IRQHandler
| 0x0800009c .dword 0x0800294f ; EXTI9_5_IRQHandler
| 0x080000a0 .dword 0x08003109 ; LCD_IRQHandler
| 0x080000a4 .dword 0x0800310d ; TIM9_IRQHandler
| 0x080000a8 .dword 0x08003111 ; TIM10_IRQHandler
| 0x080000ac .dword 0x08003115 ; TIM11_IRQHandler
| 0x080000b0 .dword 0x08003119 ; TIM2_IRQHandler
| 0x080000b4 .dword 0x0800311d ; TIM3_IRQHandler
| 0x080000b8 .dword 0x08003121 ; TIM4_IRQHandler
| 0x080000bc .dword 0x08003125 ; I2C1_EV_IRQHandler
| 0x080000c0 .dword 0x08003129 ; I2C1_ER_IRQHandler
| 0x080000c4 .dword 0x0800312d ; I2C2_EV_IRQHandler
| 0x080000c8 .dword 0x08003131 ; I2C2_ER_IRQHandler
| 0x080000cc .dword 0x08003135 ; SPI1_IRQHandler
| 0x080000d0 .dword 0x08003139 ; SPI2_IRQHandler
| 0x080000d4 .dword 0x0800313d ; USART1_IRQHandler
| 0x080000d8 .dword 0x08003141 ; USART2_IRQHandler
| 0x080000dc .dword 0x080029ff ; USART3_IRQHandler
| 0x080000e0 .dword 0x08002a4d ; EXTI15_10_IRQHandler
| 0x080000e4 .dword 0x08003145 ; RTC_Alarm_IRQHandler
| 0x080000e8 .dword 0x080029d7 ; USB_FS_WKUP_IRQHandler
| 0x080000ec .dword 0x08003149 ; TIM6_IRQHandler
| 0x080000f0 .dword 0x0800314d ; TIM7_IRQHandler
/ (fcn) USB_Standard_GetConfiguration 36
| USB_Standard_GetConfiguration ();
| 0x080000f4 10b5 push {r4, lr}
| 0x080000f6 dff84448 ldr.w r4, [0x0800093c] ; [0x800093c:4]=0x200010b4
| 0x080000fa 0028 cmp r0, 0
| ,=< 0x080000fc 04d1 bne 0x8000108
| | 0x080000fe 0120 movs r0, 1 ; 1
| | 0x08000100 2168 ldr r1, [r4]
| | 0x08000102 0882 strh r0, [r1, 0x10]
| | 0x08000104 0020 movs r0, 0
| | 0x08000106 10bd pop {r4, pc}
| | ; JMP XREF from 0x080000fc (USB_Standard_GetConfiguration)
| `-> 0x08000108 dff83408 ldr.w r0, [0x08000940] ; [0x8000940:4]=0x200010bc
| 0x0800010c 0068 ldr r0, [r0]
| 0x0800010e 0068 ldr r0, [r0]
| 0x08000110 8047 blx r0
| 0x08000112 2068 ldr r0, [r4]
| 0x08000114 0a30 adds r0, 0xa
\ 0x08000116 10bd pop {r4, pc}
/ (fcn) sign.bytes.USB_Standard_SetConfiguration_0 52
| Caller: sign.bytes.USB_NoData_Setup0_0
| sign.bytes.USB_Standard_SetConfiguration_0 ();
| ; CALL XREF from 0x08000554 (sign.bytes.USB_NoData_Setup0_0)
| 0x08000118 80b5 push {r7, lr}
| 0x0800011a dff82008 ldr.w r0, [0x0800093c] ; [0x800093c:4]=0x200010b4
| 0x0800011e 0068 ldr r0, [r0]
| 0x08000120 c178 ldrb r1, [r0, 3]
| 0x08000122 dff82028 ldr.w r2, [0x08000944] ; [0x8000944:4]=0x20000690
| 0x08000126 5278 ldrb r2, [r2, 1]
| 0x08000128 8a42 cmp r2, r1
| ,=< 0x0800012a 0dd3 blo 0x8000148
| | 0x0800012c 8278 ldrb r2, [r0, 2]
| | 0x0800012e 002a cmp r2, 0
| ,==< 0x08000130 0ad1 bne 0x8000148
| || 0x08000132 8288 ldrh r2, [r0, 4]
| || 0x08000134 002a cmp r2, 0
| ,===< 0x08000136 07d1 bne 0x8000148
| ||| 0x08000138 8172 strb r1, [r0, 0xa]
| ||| 0x0800013a dff80408 ldr.w r0, [0x08000940] ; [0x8000940:4]=0x200010bc
| ||| 0x0800013e 0068 ldr r0, [r0]
| ||| 0x08000140 4068 ldr r0, [r0, 4]
| ||| 0x08000142 8047 blx r0
| ||| 0x08000144 0020 movs r0, 0
| ||| 0x08000146 02bd pop {r1, pc}
| ||| ; JMP XREF from 0x0800012a (sign.bytes.USB_Standard_SetConfiguration_0)
| ||| ; JMP XREF from 0x08000130 (sign.bytes.USB_Standard_SetConfiguration_0)
| ||| ; JMP XREF from 0x08000136 (sign.bytes.USB_Standard_SetConfiguration_0)
| ```-> 0x08000148 0220 movs r0, 2 ; 2
\ 0x0800014a 02bd pop {r1, pc}
/ (fcn) USB_Standard_GetInterface 36
| USB_Standard_GetInterface ();
| 0x0800014c 10b5 push {r4, lr}
| 0x0800014e dff8ec47 ldr.w r4, [0x0800093c] ; [0x800093c:4]=0x200010b4
| 0x08000152 0028 cmp r0, 0
| ,=< 0x08000154 04d1 bne 0x8000160
| | 0x08000156 0120 movs r0, 1 ; 1
| | 0x08000158 2168 ldr r1, [r4]
| | 0x0800015a 0882 strh r0, [r1, 0x10]
| | 0x0800015c 0020 movs r0, 0
| | 0x0800015e 10bd pop {r4, pc}
| | ; JMP XREF from 0x08000154 (USB_Standard_GetInterface)
| `-> 0x08000160 dff8dc07 ldr.w r0, [0x08000940] ; [0x8000940:4]=0x200010bc
| 0x08000164 0068 ldr r0, [r0]
| 0x08000166 8068 ldr r0, [r0, 8]
| 0x08000168 8047 blx r0
| 0x0800016a 2068 ldr r0, [r4]
| 0x0800016c 0c30 adds r0, 0xc
\ 0x0800016e 10bd pop {r4, pc}
/ (fcn) sign.bytes.USB_Standard_SetInterface_0 76
| Caller: sign.bytes.USB_NoData_Setup0_0
| sign.bytes.USB_Standard_SetInterface_0 ();
| ; CALL XREF from 0x080005b8 (sign.bytes.USB_NoData_Setup0_0)
| 0x08000170 10b5 push {r4, lr}
| 0x08000172 dff8c847 ldr.w r4, [0x0800093c] ; [0x800093c:4]=0x200010b4
| 0x08000176 2068 ldr r0, [r4]
| 0x08000178 c178 ldrb r1, [r0, 3]
| 0x0800017a 4079 ldrb r0, [r0, 5]
| 0x0800017c dff8c827 ldr.w r2, [0x08000948] ; [0x8000948:4]=0x200010b8
| 0x08000180 1268 ldr r2, [r2]
| 0x08000182 9269 ldr r2, [r2, 0x18]
| 0x08000184 9047 blx r2
| 0x08000186 2168 ldr r1, [r4]
| 0x08000188 8a7a ldrb r2, [r1, 0xa]
| 0x0800018a 002a cmp r2, 0
| ,=< 0x0800018c 14d0 beq 0x80001b8
| | 0x0800018e 0028 cmp r0, 0
| ,==< 0x08000190 12d1 bne 0x80001b8
| || 0x08000192 0879 ldrb r0, [r1, 4]
| || 0x08000194 0028 cmp r0, 0
| ,===< 0x08000196 0fd1 bne 0x80001b8
| ||| 0x08000198 8878 ldrb r0, [r1, 2]
| ||| 0x0800019a 0028 cmp r0, 0
| ,====< 0x0800019c 0cd1 bne 0x80001b8
| |||| 0x0800019e dff8a007 ldr.w r0, [0x08000940] ; [0x8000940:4]=0x200010bc
| |||| 0x080001a2 0068 ldr r0, [r0]
| |||| 0x080001a4 c068 ldr r0, [r0, 0xc]
| |||| 0x080001a6 8047 blx r0
| |||| 0x080001a8 2068 ldr r0, [r4]
| |||| 0x080001aa 4179 ldrb r1, [r0, 5]
| |||| 0x080001ac c172 strb r1, [r0, 0xb]
| |||| 0x080001ae 2068 ldr r0, [r4]
| |||| 0x080001b0 c178 ldrb r1, [r0, 3]
| |||| 0x080001b2 0173 strb r1, [r0, 0xc]
| |||| 0x080001b4 0020 movs r0, 0
| |||| 0x080001b6 10bd pop {r4, pc}
| |||| ; JMP XREF from 0x0800018c (sign.bytes.USB_Standard_SetInterface_0)
| |||| ; JMP XREF from 0x08000190 (sign.bytes.USB_Standard_SetInterface_0)
| |||| ; JMP XREF from 0x08000196 (sign.bytes.USB_Standard_SetInterface_0)
| |||| ; JMP XREF from 0x0800019c (sign.bytes.USB_Standard_SetInterface_0)
| ````-> 0x080001b8 0220 movs r0, 2 ; 2
\ 0x080001ba 10bd pop {r4, pc}
/ (fcn) USB_Class_Data_Setup_Maybe 170
| USB_Class_Data_Setup_Maybe ();
| 0x080001bc 10b5 push {r4, lr}
| 0x080001be dff87c17 ldr.w r1, [0x0800093c] ; [0x800093c:4]=0x200010b4
| 0x080001c2 0968 ldr r1, [r1]
| 0x080001c4 0028 cmp r0, 0
| ,=< 0x080001c6 03d1 bne 0x80001d0
| | 0x080001c8 0220 movs r0, 2 ; 2
| | 0x080001ca 0882 strh r0, [r1, 0x10]
| | 0x080001cc 0020 movs r0, 0
| | 0x080001ce 10bd pop {r4, pc}
| | ; JMP XREF from 0x080001c6 (USB_Class_Data_Setup_Maybe)
| `-> 0x080001d0 dff87847 ldr.w r4, [0x0800094c] ; [0x800094c:4]=0x20001118
| 0x080001d4 0020 movs r0, 0
| 0x080001d6 2080 strh r0, [r4]
| 0x080001d8 0878 ldrb r0, [r1]
| 0x080001da 7f22 movs r2, 0x7f ; 127
| 0x080001dc 1042 tst r0, r2
| ,=< 0x080001de 1ad1 bne 0x8000216
| | 0x080001e0 487a ldrb r0, [r1, 9]
| | 0x080001e2 0021 movs r1, 0
| | 0x080001e4 0246 mov r2, r0
| | 0x080001e6 9206 lsls r2, r2, 0x1a
| ,==< 0x080001e8 03d5 bpl 0x80001f2
| || 0x080001ea 41f00201 orr r1, r1, 2
| || 0x080001ee 2170 strb r1, [r4]
| ,===< 0x080001f0 00e0 b 0x80001f4
| ||| ; JMP XREF from 0x080001e8 (USB_Class_Data_Setup_Maybe)
| |`--> 0x080001f2 2170 strb r1, [r4]
| | | ; JMP XREF from 0x080001f0 (USB_Class_Data_Setup_Maybe)
| `---> 0x080001f4 2178 ldrb r1, [r4]
| | 0x080001f6 4006 lsls r0, r0, 0x19
| ,==< 0x080001f8 09d5 bpl 0x800020e
| || 0x080001fa 41f00100 orr r0, r1, 1
| || 0x080001fe 2070 strb r0, [r4]
| || ; JMP XREF from 0x08000214 (USB_Class_Data_Setup_Maybe)
| || ; JMP XREF from 0x08000242 (USB_Class_Data_Setup_Maybe)
| || ; JMP XREF from 0x0800024c (USB_Class_Data_Setup_Maybe)
| || ; JMP XREF from 0x08000256 (USB_Class_Data_Setup_Maybe)
| || ; JMP XREF from 0x08000260 (USB_Class_Data_Setup_Maybe)
| .....---> 0x08000200 dff83c07 ldr.w r0, [0x08000940] ; [0x8000940:4]=0x200010bc
| :::::|| 0x08000204 0068 ldr r0, [r0]
| :::::|| 0x08000206 0069 ldr r0, [r0, 0x10]
| :::::|| 0x08000208 8047 blx r0
| :::::|| 0x0800020a 2046 mov r0, r4
| :::::|| 0x0800020c 10bd pop {r4, pc}
| :::::|| ; JMP XREF from 0x080001f8 (USB_Class_Data_Setup_Maybe)
| :::::`--> 0x0800020e 01f0fe00 and r0, r1, 0xfe
| ::::: | 0x08000212 2070 strb r0, [r4]
| `=======< 0x08000214 f4e7 b 0x8000200
| :::: | ; JMP XREF from 0x080001de (USB_Class_Data_Setup_Maybe)
| :::: `-> 0x08000216 00f07f02 and r2, r0, 0x7f
| :::: 0x0800021a 012a cmp r2, 1 ; 1
| :::: ,=< 0x0800021c 01d1 bne 0x8000222
| :::: | 0x0800021e 2046 mov r0, r4
| :::: | 0x08000220 10bd pop {r4, pc}
| :::: | ; JMP XREF from 0x0800021c (USB_Class_Data_Setup_Maybe)
| :::: `-> 0x08000222 00f07f00 and r0, r0, 0x7f
| :::: 0x08000226 0228 cmp r0, 2 ; 2
| :::: ,=< 0x08000228 1bd1 bne 0x8000262
| :::: | 0x0800022a 4879 ldrb r0, [r1, 5]
| :::: | 0x0800022c 00f00f01 and r1, r0, 0xf
| :::: | 0x08000230 dff81c27 ldr.w r2, [0x08000950] ; [0x8000950:4]=0x40005c00
| :::: | 0x08000234 0006 lsls r0, r0, 0x18
| :::: | 0x08000236 52f82100 ldr.w r0, [r2, r1, lsl 2]
| ::::,==< 0x0800023a 08d5 bpl 0x800024e
| ::::|| 0x0800023c 00f03000 and r0, r0, 0x30
| ::::|| 0x08000240 1028 cmp r0, 0x10 ; 16
| `======< 0x08000242 ddd1 bne 0x8000200
| :::|| 0x08000244 0020 movs r0, 0
| :::|| 0x08000246 40f00100 orr r0, r0, 1
| :::|| 0x0800024a 2070 strb r0, [r4]
| `=====< 0x0800024c d8e7 b 0x8000200
| ::|| ; JMP XREF from 0x0800023a (USB_Class_Data_Setup_Maybe)
| ::`--> 0x0800024e 00f44050 and r0, r0, 0x3000
| :: | 0x08000252 b0f5805f cmp.w r0, 0x1000
| `====< 0x08000256 d3d1 bne 0x8000200
| : | 0x08000258 0020 movs r0, 0
| : | 0x0800025a 40f00100 orr r0, r0, 1
| : | 0x0800025e 2070 strb r0, [r4]
| `===< 0x08000260 cee7 b 0x8000200
| | ; JMP XREF from 0x08000228 (USB_Class_Data_Setup_Maybe)
| `-> 0x08000262 0020 movs r0, 0
\ 0x08000264 10bd pop {r4, pc}
/ (fcn) USB_Standard_ClearFeature 214
| Caller: sign.bytes.USB_NoData_Setup0_0
| USB_Standard_ClearFeature ();
| ; CALL XREF from 0x080005c6 (sign.bytes.USB_NoData_Setup0_0)
| 0x08000266 f8b5 push {r3, r4, r5, r6, r7, lr}
| 0x08000268 dff8d006 ldr.w r0, [0x0800093c] ; [0x800093c:4]=0x200010b4
| 0x0800026c 0068 ldr r0, [r0]
| 0x0800026e 0178 ldrb r1, [r0]
| 0x08000270 11f07f01 ands r1, r1, 0x7f
| ,=< 0x08000274 05d1 bne 0x8000282
| | 0x08000276 417a ldrb r1, [r0, 9]
| | 0x08000278 01f0df01 and r1, r1, 0xdf
| | 0x0800027c 4172 strb r1, [r0, 9]
| | 0x0800027e 0020 movs r0, 0
| | 0x08000280 f2bd pop {r1, r4, r5, r6, r7, pc}
| | ; JMP XREF from 0x08000274 (USB_Standard_ClearFeature)
| `-> 0x08000282 0229 cmp r1, 2 ; 2
| ,=< 0x08000284 58d1 bne 0x8000338
| | 0x08000286 4188 ldrh r1, [r0, 2]
| | 0x08000288 0029 cmp r1, 0
| ,==< 0x0800028a 55d1 bne 0x8000338
| || 0x0800028c 0179 ldrb r1, [r0, 4]
| || 0x0800028e 0029 cmp r1, 0
| ,===< 0x08000290 52d1 bne 0x8000338
| ||| 0x08000292 4179 ldrb r1, [r0, 5]
| ||| 0x08000294 21f08005 bic r5, r1, 0x80
| ||| 0x08000298 dff8b446 ldr.w r4, [0x08000950] ; [0x8000950:4]=0x40005c00
| ||| 0x0800029c 0a06 lsls r2, r1, 0x18
| ||| 0x0800029e 54f82520 ldr.w r2, [r4, r5, lsl 2]
| ,====< 0x080002a2 02d5 bpl 0x80002aa
| |||| 0x080002a4 02f03002 and r2, r2, 0x30
| ,=====< 0x080002a8 01e0 b 0x80002ae
| ||||| ; JMP XREF from 0x080002a2 (USB_Standard_ClearFeature)
| |`----> 0x080002aa 02f44052 and r2, r2, 0x3000
| | ||| ; JMP XREF from 0x080002a8 (USB_Standard_ClearFeature)
| `-----> 0x080002ae dff89436 ldr.w r3, [0x08000944] ; [0x8000944:4]=0x20000690
| ||| 0x080002b2 1b78 ldrb r3, [r3]
| ||| 0x080002b4 9d42 cmp r5, r3
| ,====< 0x080002b6 3fd2 bhs 0x8000338
| |||| 0x080002b8 002a cmp r2, 0
| ,=====< 0x080002ba 3dd0 beq 0x8000338
| ||||| 0x080002bc 807a ldrb r0, [r0, 0xa]
| ||||| 0x080002be 0028 cmp r0, 0
| ,======< 0x080002c0 3ad0 beq 0x8000338
| |||||| 0x080002c2 0806 lsls r0, r1, 0x18
| |||||| 0x080002c4 54f82500 ldr.w r0, [r4, r5, lsl 2]
| ,=======< 0x080002c8 0bd5 bpl 0x80002e2
| ||||||| 0x080002ca 00f03000 and r0, r0, 0x30
| ||||||| 0x080002ce 1028 cmp r0, 0x10 ; 16
| ========< 0x080002d0 2bd1 bne 0x800032a
| ||||||| 0x080002d2 2846 mov r0, r5
| ||||||| 0x080002d4 00f0aefb bl sign.bytes.USB_ClearDTOG_TX_0
| ||||||| 0x080002d8 3021 movs r1, 0x30 ; '0' ; 48
| ||||||| 0x080002da 2846 mov r0, r5
| ||||||| 0x080002dc 00f062fb bl sign.bytes.USB_SetEPTxStatus_0
| ========< 0x080002e0 23e0 b 0x800032a
| ||||||| ; JMP XREF from 0x080002c8 (USB_Standard_ClearFeature)
| `-------> 0x080002e2 00f44050 and r0, r0, 0x3000
| |||||| 0x080002e6 b0f5805f cmp.w r0, 0x1000
| ,=======< 0x080002ea 1ed1 bne 0x800032a
| ||||||| 0x080002ec 48f28006 movw r6, 0x8080
| ||||||| 0x080002f0 4bf68f77 movw r7, 0xbf8f
| ||||||| 0x080002f4 002d cmp r5, 0
| ========< 0x080002f6 0dd1 bne 0x8000314
| ||||||| 0x080002f8 dff85806 ldr.w r0, [0x08000954] ; [0x8000954:4]=0x20000514
| ||||||| 0x080002fc 90f82c10 ldrb.w r1, [r0, 0x2c]
| ||||||| 0x08000300 0020 movs r0, 0
| ||||||| 0x08000302 00f0c8fb bl USB_SetEPRxCount
| ||||||| 0x08000306 2068 ldr r0, [r4]
| ||||||| 0x08000308 3840 ands r0, r7
| ||||||| 0x0800030a 80f44050 eor r0, r0, 0x3000
| ||||||| 0x0800030e 3043 orrs r0, r6
| ||||||| 0x08000310 2060 str r0, [r4]
| ========< 0x08000312 0ae0 b 0x800032a
| ||||||| ; JMP XREF from 0x080002f6 (USB_Standard_ClearFeature)
| --------> 0x08000314 2846 mov r0, r5
| ||||||| 0x08000316 00f07bfb bl sign.bytes.USB_ClearDTOG_RX_0
| ||||||| 0x0800031a 54f82500 ldr.w r0, [r4, r5, lsl 2]
| ||||||| 0x0800031e 3840 ands r0, r7
| ||||||| 0x08000320 80f44050 eor r0, r0, 0x3000
| ||||||| 0x08000324 3043 orrs r0, r6
| ||||||| 0x08000326 44f82500 str.w r0, [r4, r5, lsl 2]
| ||||||| ; JMP XREF from 0x080002d0 (USB_Standard_ClearFeature)
| ||||||| ; JMP XREF from 0x080002e0 (USB_Standard_ClearFeature)
| ||||||| ; JMP XREF from 0x080002ea (USB_Standard_ClearFeature)
| ||||||| ; JMP XREF from 0x08000312 (USB_Standard_ClearFeature)
| `-------> 0x0800032a dff81406 ldr.w r0, [0x08000940] ; [0x8000940:4]=0x200010bc
| |||||| 0x0800032e 0068 ldr r0, [r0]
| |||||| 0x08000330 4069 ldr r0, [r0, 0x14]
| |||||| 0x08000332 8047 blx r0
| |||||| 0x08000334 0020 movs r0, 0
| |||||| 0x08000336 f2bd pop {r1, r4, r5, r6, r7, pc}
| |||||| ; XREFS: JMP 0x08000284 JMP 0x0800028a JMP 0x08000290 JMP 0x080002b6 JMP 0x080002ba JMP 0x080002c0
| ``````-> 0x08000338 0220 movs r0, 2 ; 2
\ 0x0800033a f2bd pop {r1, r4, r5, r6, r7, pc}
/ (fcn) sign.bytes.USB_Standard_SetEndPointFeature_0 126
| Caller: sign.bytes.USB_NoData_Setup0_0
| sign.bytes.USB_Standard_SetEndPointFeature_0 ();
| ; CALL XREF from 0x080005d0 (sign.bytes.USB_NoData_Setup0_0)
| 0x0800033c 38b5 push {r3, r4, r5, lr}
| 0x0800033e dff8fc05 ldr.w r0, [0x0800093c] ; [0x800093c:4]=0x200010b4
| 0x08000342 0268 ldr r2, [r0]
| 0x08000344 5379 ldrb r3, [r2, 5]
| 0x08000346 23f08000 bic r0, r3, 0x80
| 0x0800034a dff80416 ldr.w r1, [0x08000950] ; [0x8000950:4]=0x40005c00
| 0x0800034e 1c06 lsls r4, r3, 0x18
| 0x08000350 51f82040 ldr.w r4, [r1, r0, lsl 2]
| ,=< 0x08000354 02d5 bpl 0x800035c
| | 0x08000356 04f03004 and r4, r4, 0x30
| ,==< 0x0800035a 01e0 b 0x8000360
| || ; JMP XREF from 0x08000354 (sign.bytes.USB_Standard_SetEndPointFeature_0)
| |`-> 0x0800035c 04f44054 and r4, r4, 0x3000
| | ; JMP XREF from 0x0800035a (sign.bytes.USB_Standard_SetEndPointFeature_0)
| `--> 0x08000360 dff8e055 ldr.w r5, [0x08000944] ; [0x8000944:4]=0x20000690
| 0x08000364 2d78 ldrb r5, [r5]
| 0x08000366 a842 cmp r0, r5
| ,=< 0x08000368 07d2 bhs 0x800037a
| | 0x0800036a 5588 ldrh r5, [r2, 2]
| | 0x0800036c 002d cmp r5, 0
| ,==< 0x0800036e 04d1 bne 0x800037a
| || 0x08000370 002c cmp r4, 0
| ,===< 0x08000372 02d0 beq 0x800037a
| ||| 0x08000374 927a ldrb r2, [r2, 0xa]
| ||| 0x08000376 002a cmp r2, 0
| ,====< 0x08000378 01d1 bne 0x800037e
| |||| ; JMP XREF from 0x08000368 (sign.bytes.USB_Standard_SetEndPointFeature_0)
| |||| ; JMP XREF from 0x0800036e (sign.bytes.USB_Standard_SetEndPointFeature_0)
| |||| ; JMP XREF from 0x08000372 (sign.bytes.USB_Standard_SetEndPointFeature_0)
| |```-> 0x0800037a 0220 movs r0, 2 ; 2
| | 0x0800037c 32bd pop {r1, r4, r5, pc}
| | ; JMP XREF from 0x08000378 (sign.bytes.USB_Standard_SetEndPointFeature_0)
| `----> 0x0800037e 48f28002 movw r2, 0x8080
| 0x08000382 1b06 lsls r3, r3, 0x18
| 0x08000384 51f82030 ldr.w r3, [r1, r0, lsl 2]
| ,=< 0x08000388 08d5 bpl 0x800039c
| | 0x0800038a 48f6bf74 movw r4, 0x8fbf
| | 0x0800038e 2340 ands r3, r4
| | 0x08000390 83f01003 eor r3, r3, 0x10
| | 0x08000394 1a43 orrs r2, r3
| | 0x08000396 41f82020 str.w r2, [r1, r0, lsl 2]
| ,==< 0x0800039a 07e0 b 0x80003ac
| || ; JMP XREF from 0x08000388 (sign.bytes.USB_Standard_SetEndPointFeature_0)
| |`-> 0x0800039c 4bf68f74 movw r4, 0xbf8f
| | 0x080003a0 2340 ands r3, r4
| | 0x080003a2 83f48053 eor r3, r3, 0x1000
| | 0x080003a6 1a43 orrs r2, r3
| | 0x080003a8 41f82020 str.w r2, [r1, r0, lsl 2]
| | ; JMP XREF from 0x0800039a (sign.bytes.USB_Standard_SetEndPointFeature_0)
| `--> 0x080003ac dff89005 ldr.w r0, [0x08000940] ; [0x8000940:4]=0x200010bc
| 0x080003b0 0068 ldr r0, [r0]
| 0x080003b2 8069 ldr r0, [r0, 0x18]
| 0x080003b4 8047 blx r0
| 0x080003b6 0020 movs r0, 0
\ 0x080003b8 32bd pop {r1, r4, r5, pc}
/ (fcn) sign.bytes.USB_Standard_SetDeviceFeature_0 30
| Caller: sign.bytes.USB_NoData_Setup0_0
| sign.bytes.USB_Standard_SetDeviceFeature_0 ();
| ; CALL XREF from 0x0800058e (sign.bytes.USB_NoData_Setup0_0)
| 0x080003ba 80b5 push {r7, lr}
| 0x080003bc dff87c05 ldr.w r0, [0x0800093c] ; [0x800093c:4]=0x200010b4
| 0x080003c0 0068 ldr r0, [r0]
| 0x080003c2 417a ldrb r1, [r0, 9]
| 0x080003c4 41f02001 orr r1, r1, 0x20
| 0x080003c8 4172 strb r1, [r0, 9]
| 0x080003ca dff87405 ldr.w r0, [0x08000940] ; [0x8000940:4]=0x200010bc
| 0x080003ce 0068 ldr r0, [r0]
| 0x080003d0 c069 ldr r0, [r0, 0x1c]
| 0x080003d2 8047 blx r0
| 0x080003d4 0020 movs r0, 0
\ 0x080003d6 02bd pop {r1, pc}
/ (fcn) USB_Standard_GetDescriptorData 28
| USB_Standard_GetDescriptorData ();
| ; JMP XREF from 0x080020a0 (fcn.0800209e)
| ; JMP XREF from 0x080020a6 (fcn.080020a4)
| ; JMP XREF from 0x080020be (fcn.080020aa)
| ...-> 0x080003d8 dff86025 ldr.w r2, [0x0800093c] ; [0x800093c:4]=0x200010b4
| ::: 0x080003dc 1268 ldr r2, [r2]
| ::: 0x080003de 538a ldrh r3, [r2, 0x12]
| ::: 0x080003e0 0028 cmp r0, 0
| ,====< 0x080003e2 04d1 bne 0x80003ee
| |::: 0x080003e4 8888 ldrh r0, [r1, 4]
| |::: 0x080003e6 c01a subs r0, r0, r3
| |::: 0x080003e8 1082 strh r0, [r2, 0x10]
| |::: 0x080003ea 0020 movs r0, 0
| |::: 0x080003ec 7047 bx lr
| |::: ; JMP XREF from 0x080003e2 (USB_Standard_GetDescriptorData)
| `----> 0x080003ee 0868 ldr r0, [r1]
| ::: 0x080003f0 1818 adds r0, r3, r0
\ ::: 0x080003f2 7047 bx lr
/ (fcn) USB_DataStageOut 162
| Caller: USB_Out0_Process
| USB_DataStageOut ();
| ::: ; CALL XREF from 0x080008aa (USB_Out0_Process)
| ::: 0x080003f4 f8b5 push {r3, r4, r5, r6, r7, lr}
| ::: 0x080003f6 dff84445 ldr.w r4, [0x0800093c] ; [0x800093c:4]=0x200010b4
| ::: 0x080003fa 2068 ldr r0, [r4]
| ::: 0x080003fc 00f11005 add.w r5, r0, 0x10
| ::: 0x08000400 2e88 ldrh r6, [r5]
| ::: 0x08000402 a968 ldr r1, [r5, 8]
| ::: 0x08000404 0800 movs r0, r1
| ,====< 0x08000406 16d0 beq 0x8000436
| |::: 0x08000408 002e cmp r6, 0
| ,=====< 0x0800040a 14d0 beq 0x8000436
| ||::: 0x0800040c a888 ldrh r0, [r5, 4]
| ||::: 0x0800040e 8642 cmp r6, r0
| ,======< 0x08000410 00d9 bls 0x8000414
| |||::: 0x08000412 0646 mov r6, r0
| |||::: ; JMP XREF from 0x08000410 (USB_DataStageOut)
| `------> 0x08000414 3046 mov r0, r6
| ||::: 0x08000416 8847 blx r1
| ||::: 0x08000418 0746 mov r7, r0
| ||::: 0x0800041a 2888 ldrh r0, [r5]
| ||::: 0x0800041c 801b subs r0, r0, r6
| ||::: 0x0800041e 2880 strh r0, [r5]
| ||::: 0x08000420 6888 ldrh r0, [r5, 2]
| ||::: 0x08000422 3018 adds r0, r6, r0
| ||::: 0x08000424 6880 strh r0, [r5, 2]
| ||::: 0x08000426 0020 movs r0, 0
| ||::: 0x08000428 00f022fb bl sign.bytes.USB_GetEPRxAddr_0
| ||::: 0x0800042c 3246 mov r2, r6
| ||::: 0x0800042e 0146 mov r1, r0
| ||::: 0x08000430 3846 mov r0, r7
| ||::: 0x08000432 00f075fb bl sign.bytes.USB_PMAToUserBufferCopy_0
| ||::: ; JMP XREF from 0x08000406 (USB_DataStageOut)
| ||::: ; JMP XREF from 0x0800040a (USB_DataStageOut)
| ``----> 0x08000436 2888 ldrh r0, [r5]
| ::: 0x08000438 0028 cmp r0, 0
| ,====< 0x0800043a 0cd0 beq 0x8000456
| |::: 0x0800043c 4ff44050 mov.w r0, 0x3000
| |::: 0x08000440 dff81415 ldr.w r1, [0x08000958] ; [0x8000958:4]=0x2000111c
| |::: 0x08000444 0880 strh r0, [r1]
| |::: 0x08000446 0021 movs r1, 0
| |::: 0x08000448 0846 mov r0, r1
| |::: 0x0800044a 00f01bfb bl sign.bytes.USB_SetEPTxCount_0
| |::: 0x0800044e 3020 movs r0, 0x30 ; '0' ; 48
| |::: 0x08000450 dff80815 ldr.w r1, [0x0800095c] ; [0x800095c:4]=0x2000111e
| |::: 0x08000454 0880 strh r0, [r1]
| |::: ; JMP XREF from 0x0800043a (USB_DataStageOut)
| `----> 0x08000456 2888 ldrh r0, [r5]
| ::: 0x08000458 a988 ldrh r1, [r5, 4]
| ::: 0x0800045a 8842 cmp r0, r1
| ,====< 0x0800045c 03d3 blo 0x8000466
| |::: 0x0800045e 0320 movs r0, 3 ; 3
| |::: 0x08000460 2168 ldr r1, [r4]
| |::: 0x08000462 0872 strb r0, [r1, 8]
| |::: 0x08000464 f1bd pop {r0, r4, r5, r6, r7, pc}
| |::: ; JMP XREF from 0x0800045c (USB_DataStageOut)
| `----> 0x08000466 0028 cmp r0, 0
| ,====< 0x08000468 03d0 beq 0x8000472
| |::: 0x0800046a 0520 movs r0, 5 ; 5
| |::: 0x0800046c 2168 ldr r1, [r4]
| |::: 0x0800046e 0872 strb r0, [r1, 8]
| |::: 0x08000470 f1bd pop {r0, r4, r5, r6, r7, pc}
| |::: ; JMP XREF from 0x08000468 (USB_DataStageOut)
| ,`----> 0x08000472 0fd1 bne 0x8000494
| | ::: 0x08000474 0620 movs r0, 6 ; 6
| | ::: 0x08000476 2168 ldr r1, [r4]
| | ::: 0x08000478 0872 strb r0, [r1, 8]
| | ::: 0x0800047a 0020 movs r0, 0
| | ::: 0x0800047c dff8e014 ldr.w r1, [0x08000960] ; [0x8000960:4]=0x40005c50
| | ::: 0x08000480 0968 ldr r1, [r1]
| | ::: 0x08000482 89b2 uxth r1, r1
| | ::: 0x08000484 dff8dc24 ldr.w r2, [0x08000964] ; [0x8000964:4]=0x40006004
| | ::: 0x08000488 42f81100 str.w r0, [r2, r1, lsl 1]
| | ::: 0x0800048c 3020 movs r0, 0x30 ; '0' ; 48
| | ::: 0x0800048e dff8cc14 ldr.w r1, [0x0800095c] ; [0x800095c:4]=0x2000111e
| | ::: 0x08000492 0880 strh r0, [r1]
| | ::: ; JMP XREF from 0x08000472 (USB_DataStageOut)
\ `-----> 0x08000494 f1bd pop {r0, r4, r5, r6, r7, pc}
/ (fcn) USB_DataStageIn 166
| Caller: sign.bytes.USB_In0_Process_0
| USB_DataStageIn ();
| ::: ; JMP XREF from 0x080007bc (USB_Data_Setup0)
| ::: ; CALL XREF from 0x0800084c (sign.bytes.USB_In0_Process_0)
| .----> 0x08000496 2de9f041 push.w {r4, r5, r6, r7, r8, lr}
| :::: 0x0800049a dff8a044 ldr.w r4, [0x0800093c] ; [0x800093c:4]=0x200010b4
| :::: 0x0800049e 2068 ldr r0, [r4]
| :::: 0x080004a0 00f11006 add.w r6, r0, 0x10
| :::: 0x080004a4 3788 ldrh r7, [r6]
| :::: 0x080004a6 002f cmp r7, 0
| ,=====< 0x080004a8 1cd1 bne 0x80004e4
| |:::: 0x080004aa 007a ldrb r0, [r0, 8]
| |:::: 0x080004ac 0428 cmp r0, 4 ; 4
| ,======< 0x080004ae 19d1 bne 0x80004e4
| ||:::: 0x080004b0 dff8a804 ldr.w r0, [0x0800095c] ; [0x800095c:4]=0x2000111e
| ||:::: 0x080004b4 dff8b014 ldr.w r1, [0x08000968] ; [0x8000968:4]=0x20001126
| ||:::: 0x080004b8 0a78 ldrb r2, [r1]
| ||:::: 0x080004ba 002a cmp r2, 0
| ,=======< 0x080004bc 0ed0 beq 0x80004dc
| |||:::: 0x080004be 0022 movs r2, 0
| |||:::: 0x080004c0 dff89c34 ldr.w r3, [0x08000960] ; [0x8000960:4]=0x40005c50
| |||:::: 0x080004c4 1b68 ldr r3, [r3]
| |||:::: 0x080004c6 9bb2 uxth r3, r3
| |||:::: 0x080004c8 dff89854 ldr.w r5, [0x08000964] ; [0x8000964:4]=0x40006004
| |||:::: 0x080004cc 45f81320 str.w r2, [r5, r3, lsl 1]
| |||:::: 0x080004d0 3022 movs r2, 0x30 ; '0' ; 48
| |||:::: 0x080004d2 0280 strh r2, [r0]
| |||:::: 0x080004d4 0425 movs r5, 4 ; 4
| |||:::: 0x080004d6 0020 movs r0, 0
| |||:::: 0x080004d8 0870 strb r0, [r1]
| ========< 0x080004da 2be0 b 0x8000534
| |||:::: ; JMP XREF from 0x080004bc (USB_DataStageIn)
| `-------> 0x080004dc 0725 movs r5, 7 ; 7
| ||:::: 0x080004de 1021 movs r1, 0x10 ; 16
| ||:::: 0x080004e0 0180 strh r1, [r0]
| ,=======< 0x080004e2 27e0 b 0x8000534
| |||:::: ; JMP XREF from 0x080004a8 (USB_DataStageIn)
| |||:::: ; JMP XREF from 0x080004ae (USB_DataStageIn)
| |``-----> 0x080004e4 b088 ldrh r0, [r6, 4]
| | :::: 0x080004e6 b842 cmp r0, r7
| | ,=====< 0x080004e8 01d3 blo 0x80004ee
| | |:::: 0x080004ea 0425 movs r5, 4 ; 4
| |,======< 0x080004ec 00e0 b 0x80004f0
| |||:::: ; JMP XREF from 0x080004e8 (USB_DataStageIn)
| ||`-----> 0x080004ee 0225 movs r5, 2 ; 2
| || :::: ; JMP XREF from 0x080004ec (USB_DataStageIn)
| |`------> 0x080004f0 8742 cmp r7, r0
| | ,=====< 0x080004f2 00d9 bls 0x80004f6
| | |:::: 0x080004f4 0746 mov r7, r0
| | |:::: ; JMP XREF from 0x080004f2 (USB_DataStageIn)
| | `-----> 0x080004f6 3846 mov r0, r7
| | :::: 0x080004f8 b168 ldr r1, [r6, 8]
| | :::: 0x080004fa 8847 blx r1
| | :::: 0x080004fc 8046 mov r8, r0
| | :::: 0x080004fe 0020 movs r0, 0
| | :::: 0x08000500 00f0aafa bl sign.bytes.USB_GetEPTxAddr_0
| | :::: 0x08000504 3a46 mov r2, r7
| | :::: 0x08000506 0146 mov r1, r0
| | :::: 0x08000508 4046 mov r0, r8
| | :::: 0x0800050a 00f0f3fa bl sign.bytes.USB_UserToPMABufferCopy_0
| | :::: 0x0800050e 3946 mov r1, r7
| | :::: 0x08000510 0020 movs r0, 0
| | :::: 0x08000512 00f0b7fa bl sign.bytes.USB_SetEPTxCount_0
| | :::: 0x08000516 3088 ldrh r0, [r6]
| | :::: 0x08000518 c01b subs r0, r0, r7
| | :::: 0x0800051a 3080 strh r0, [r6]
| | :::: 0x0800051c 7088 ldrh r0, [r6, 2]
| | :::: 0x0800051e 3818 adds r0, r7, r0
| | :::: 0x08000520 7080 strh r0, [r6, 2]
| | :::: 0x08000522 3020 movs r0, 0x30 ; '0' ; 48
| | :::: 0x08000524 dff83414 ldr.w r1, [0x0800095c] ; [0x800095c:4]=0x2000111e
| | :::: 0x08000528 0880 strh r0, [r1]
| | :::: 0x0800052a 4ff44050 mov.w r0, 0x3000
| | :::: 0x0800052e dff82814 ldr.w r1, [0x08000958] ; [0x8000958:4]=0x2000111c
| | :::: 0x08000532 0880 strh r0, [r1]
| | :::: ; JMP XREF from 0x080004da (USB_DataStageIn)
| | :::: ; JMP XREF from 0x080004e2 (USB_DataStageIn)
| `-------> 0x08000534 2068 ldr r0, [r4]
| :::: 0x08000536 0572 strb r5, [r0, 8]
\ :::: 0x08000538 bde8f081 pop.w {r4, r5, r6, r7, r8, pc}
/ (fcn) sign.bytes.USB_NoData_Setup0_0 218
| Caller: USB_Setup0_Process
| sign.bytes.USB_NoData_Setup0_0 ();
| :::: ; CALL XREF from 0x0800082c (USB_Setup0_Process)
| :::: 0x0800053c 38b5 push {r3, r4, r5, lr}
| :::: 0x0800053e 0220 movs r0, 2 ; 2
| :::: 0x08000540 dff8f843 ldr.w r4, [0x0800093c] ; [0x800093c:4]=0x200010b4
| :::: 0x08000544 2168 ldr r1, [r4]
| :::: 0x08000546 4d78 ldrb r5, [r1, 1]
| :::: 0x08000548 0a78 ldrb r2, [r1]
| :::: 0x0800054a 7f23 movs r3, 0x7f ; 127
| :::: 0x0800054c 1a42 tst r2, r3
| ,=====< 0x0800054e 2dd1 bne 0x80005ac
| |:::: 0x08000550 092d cmp r5, 9 ; 9
| ,======< 0x08000552 02d1 bne 0x800055a
| ||:::: 0x08000554 fff7e0fd bl sign.bytes.USB_Standard_SetConfiguration_0
| ,=======< 0x08000558 3ce0 b 0x80005d4
| |||:::: ; JMP XREF from 0x08000552 (sign.bytes.USB_NoData_Setup0_0)
| |`------> 0x0800055a 052d cmp r5, 5 ; 5
| |,======< 0x0800055c 0fd1 bne 0x800057e
| |||:::: 0x0800055e c878 ldrb r0, [r1, 3]
| |||:::: 0x08000560 8028 cmp r0, 0x80 ; 128
| ========< 0x08000562 08da bge 0x8000576
| |||:::: 0x08000564 8878 ldrb r0, [r1, 2]
| |||:::: 0x08000566 0028 cmp r0, 0
| ========< 0x08000568 05d1 bne 0x8000576
| |||:::: 0x0800056a 8888 ldrh r0, [r1, 4]
| |||:::: 0x0800056c 0028 cmp r0, 0
| ========< 0x0800056e 02d1 bne 0x8000576
| |||:::: 0x08000570 887a ldrb r0, [r1, 0xa]
| |||:::: 0x08000572 0028 cmp r0, 0
| ========< 0x08000574 01d0 beq 0x800057a
| |||:::: ; JMP XREF from 0x08000562 (sign.bytes.USB_NoData_Setup0_0)
| |||:::: ; JMP XREF from 0x08000568 (sign.bytes.USB_NoData_Setup0_0)
| |||:::: ; JMP XREF from 0x0800056e (sign.bytes.USB_NoData_Setup0_0)
| --------> 0x08000576 0820 movs r0, 8 ; 8
| ========< 0x08000578 4ae0 b 0x8000610
| |||:::: ; JMP XREF from 0x08000574 (sign.bytes.USB_NoData_Setup0_0)
| --------> 0x0800057a 0020 movs r0, 0
| ========< 0x0800057c 2ae0 b 0x80005d4
| |||:::: ; JMP XREF from 0x0800055c (sign.bytes.USB_NoData_Setup0_0)
| |`------> 0x0800057e 032d cmp r5, 3 ; 3
| |,======< 0x08000580 08d1 bne 0x8000594
| |||:::: 0x08000582 ca78 ldrb r2, [r1, 3]
| |||:::: 0x08000584 012a cmp r2, 1 ; 1
| ========< 0x08000586 25d1 bne 0x80005d4
| |||:::: 0x08000588 8988 ldrh r1, [r1, 4]
| |||:::: 0x0800058a 0029 cmp r1, 0
| ========< 0x0800058c 22d1 bne 0x80005d4
| |||:::: 0x0800058e fff714ff bl sign.bytes.USB_Standard_SetDeviceFeature_0
| ========< 0x08000592 1fe0 b 0x80005d4
| |||:::: ; JMP XREF from 0x08000580 (sign.bytes.USB_NoData_Setup0_0)
| |`------> 0x08000594 012d cmp r5, 1 ; 1
| |,======< 0x08000596 1dd1 bne 0x80005d4
| |||:::: 0x08000598 ca78 ldrb r2, [r1, 3]
| |||:::: 0x0800059a 012a cmp r2, 1 ; 1
| ========< 0x0800059c 1ad1 bne 0x80005d4
| |||:::: 0x0800059e 8a88 ldrh r2, [r1, 4]
| |||:::: 0x080005a0 002a cmp r2, 0
| ========< 0x080005a2 17d1 bne 0x80005d4
| |||:::: 0x080005a4 497a ldrb r1, [r1, 9]
| |||:::: 0x080005a6 8906 lsls r1, r1, 0x1a
| ========< 0x080005a8 0dd4 bmi 0x80005c6
| ========< 0x080005aa 13e0 b 0x80005d4
| |||:::: ; JMP XREF from 0x0800054e (sign.bytes.USB_NoData_Setup0_0)
| ||`-----> 0x080005ac 02f07f01 and r1, r2, 0x7f
| || :::: 0x080005b0 0129 cmp r1, 1 ; 1
| ||,=====< 0x080005b2 04d1 bne 0x80005be
| |||:::: 0x080005b4 0b2d cmp r5, 0xb ; 11
| ========< 0x080005b6 0dd1 bne 0x80005d4
| |||:::: 0x080005b8 fff7dafd bl sign.bytes.USB_Standard_SetInterface_0
| ========< 0x080005bc 0ae0 b 0x80005d4
| |||:::: ; JMP XREF from 0x080005b2 (sign.bytes.USB_NoData_Setup0_0)
| ||`-----> 0x080005be 0229 cmp r1, 2 ; 2
| ||,=====< 0x080005c0 08d1 bne 0x80005d4
| |||:::: 0x080005c2 012d cmp r5, 1 ; 1
| ========< 0x080005c4 02d1 bne 0x80005cc
| |||:::: ; JMP XREF from 0x080005a8 (sign.bytes.USB_NoData_Setup0_0)
| --------> 0x080005c6 fff74efe bl USB_Standard_ClearFeature
| ========< 0x080005ca 03e0 b 0x80005d4
| |||:::: ; JMP XREF from 0x080005c4 (sign.bytes.USB_NoData_Setup0_0)
| --------> 0x080005cc 032d cmp r5, 3 ; 3
| ========< 0x080005ce 01d1 bne 0x80005d4
| |||:::: 0x080005d0 fff7b4fe bl sign.bytes.USB_Standard_SetEndPointFeature_0
| |||:::: ; XREFS: JMP 0x08000558 JMP 0x0800057c JMP 0x08000586 JMP 0x0800058c JMP 0x08000592 JMP 0x08000596
| |||:::: ; XREFS: JMP 0x0800059c JMP 0x080005a2 JMP 0x080005aa JMP 0x080005b6 JMP 0x080005bc JMP 0x080005c0
| |||:::: ; XREFS: JMP 0x080005ca JMP 0x080005ce
| ```-----> 0x080005d4 0028 cmp r0, 0
| ,=====< 0x080005d6 09d0 beq 0x80005ec
| |:::: 0x080005d8 2846 mov r0, r5
| |:::: 0x080005da dff86c13 ldr.w r1, [0x08000948] ; [0x8000948:4]=0x200010b8
| |:::: 0x080005de 0968 ldr r1, [r1]
| |:::: 0x080005e0 4969 ldr r1, [r1, 0x14]
| |:::: 0x080005e2 8847 blx r1
| |:::: 0x080005e4 0328 cmp r0, 3 ; 3
| ,======< 0x080005e6 01d1 bne 0x80005ec
| ||:::: 0x080005e8 0920 movs r0, 9 ; 9
| ,=======< 0x080005ea 11e0 b 0x8000610
| |||:::: ; JMP XREF from 0x080005d6 (sign.bytes.USB_NoData_Setup0_0)
| |||:::: ; JMP XREF from 0x080005e6 (sign.bytes.USB_NoData_Setup0_0)
| |``-----> 0x080005ec 0028 cmp r0, 0
| | ,=====< 0x080005ee 01d0 beq 0x80005f4
| | |:::: 0x080005f0 0820 movs r0, 8 ; 8
| |,======< 0x080005f2 0de0 b 0x8000610
| |||:::: ; JMP XREF from 0x080005ee (sign.bytes.USB_NoData_Setup0_0)
| ||`-----> 0x080005f4 0620 movs r0, 6 ; 6
| || :::: 0x080005f6 0021 movs r1, 0
| || :::: 0x080005f8 dff86423 ldr.w r2, [0x08000960] ; [0x8000960:4]=0x40005c50
| || :::: 0x080005fc 1268 ldr r2, [r2]
| || :::: 0x080005fe 92b2 uxth r2, r2
| || :::: 0x08000600 dff86033 ldr.w r3, [0x08000964] ; [0x8000964:4]=0x40006004
| || :::: 0x08000604 43f81210 str.w r1, [r3, r2, lsl 1]
| || :::: 0x08000608 3021 movs r1, 0x30 ; '0' ; 48
| || :::: 0x0800060a dff85023 ldr.w r2, [0x0800095c] ; [0x800095c:4]=0x2000111e
| || :::: 0x0800060e 1180 strh r1, [r2]
| || :::: ; JMP XREF from 0x08000578 (sign.bytes.USB_NoData_Setup0_0)
| || :::: ; JMP XREF from 0x080005ea (sign.bytes.USB_NoData_Setup0_0)
| || :::: ; JMP XREF from 0x080005f2 (sign.bytes.USB_NoData_Setup0_0)
| ``------> 0x08000610 2168 ldr r1, [r4]
| :::: 0x08000612 0872 strb r0, [r1, 8]
\ :::: 0x08000614 31bd pop {r0, r4, r5, pc}
/ (fcn) USB_Data_Setup0 604
| Caller: USB_Setup0_Process
| USB_Data_Setup0 ();
| :::: ; CALL XREF from 0x08000832 (USB_Setup0_Process)
| :::: 0x08000616 38b5 push {r3, r4, r5, lr}
| :::: 0x08000618 dff82043 ldr.w r4, [0x0800093c] ; [0x800093c:4]=0x200010b4
| :::: 0x0800061c 2068 ldr r0, [r4]
| :::: 0x0800061e 4178 ldrb r1, [r0, 1]
| :::: 0x08000620 0025 movs r5, 0
| :::: 0x08000622 0629 cmp r1, 6 ; 6
| ,=====< 0x08000624 16d1 bne 0x8000654
| |:::: 0x08000626 0178 ldrb r1, [r0]
| |:::: 0x08000628 7f22 movs r2, 0x7f ; 127
| |:::: 0x0800062a 1142 tst r1, r2
| ,======< 0x0800062c 79d1 bne 0x8000722
| ||:::: 0x0800062e 8078 ldrb r0, [r0, 2]
| ||:::: 0x08000630 0128 cmp r0, 1 ; 1
| ,=======< 0x08000632 03d1 bne 0x800063c
| |||:::: 0x08000634 c448 ldr r0, [0x08000948] ; [0x8000948:4]=0x200010b8
| |||:::: 0x08000636 0068 ldr r0, [r0]
| |||:::: 0x08000638 c569 ldr r5, [r0, 0x1c]
| ========< 0x0800063a 72e0 b 0x8000722
| |||:::: ; JMP XREF from 0x08000632 (USB_Data_Setup0)
| `-------> 0x0800063c 0228 cmp r0, 2 ; 2
| ,=======< 0x0800063e 03d1 bne 0x8000648
| |||:::: 0x08000640 c148 ldr r0, [0x08000948] ; [0x8000948:4]=0x200010b8
| |||:::: 0x08000642 0068 ldr r0, [r0]
| |||:::: 0x08000644 056a ldr r5, [r0, 0x20]
| ========< 0x08000646 6ce0 b 0x8000722
| |||:::: ; JMP XREF from 0x0800063e (USB_Data_Setup0)
| `-------> 0x08000648 0328 cmp r0, 3 ; 3
| ,=======< 0x0800064a 6ad1 bne 0x8000722
| |||:::: 0x0800064c be48 ldr r0, [0x08000948] ; [0x8000948:4]=0x200010b8
| |||:::: 0x0800064e 0068 ldr r0, [r0]
| |||:::: 0x08000650 456a ldr r5, [r0, 0x24]
| ========< 0x08000652 66e0 b 0x8000722
| |||:::: ; JMP XREF from 0x08000624 (USB_Data_Setup0)
| ||`-----> 0x08000654 0029 cmp r1, 0
| ||,=====< 0x08000656 40d1 bne 0x80006da
| |||:::: 0x08000658 4288 ldrh r2, [r0, 2]
| |||:::: 0x0800065a 002a cmp r2, 0
| ========< 0x0800065c 3dd1 bne 0x80006da
| |||:::: 0x0800065e c288 ldrh r2, [r0, 6]
| |||:::: 0x08000660 022a cmp r2, 2 ; 2
| ========< 0x08000662 3ad1 bne 0x80006da
| |||:::: 0x08000664 0279 ldrb r2, [r0, 4]
| |||:::: 0x08000666 002a cmp r2, 0
| ========< 0x08000668 37d1 bne 0x80006da
| |||:::: 0x0800066a 0178 ldrb r1, [r0]
| |||:::: 0x0800066c 7f22 movs r2, 0x7f ; 127
| |||:::: 0x0800066e 1142 tst r1, r2
| ========< 0x08000670 04d1 bne 0x800067c
| |||:::: 0x08000672 8288 ldrh r2, [r0, 4]
| |||:::: 0x08000674 002a cmp r2, 0
| ========< 0x08000676 01d1 bne 0x800067c
| |||:::: 0x08000678 bc4d ldr r5, [0x0800096c] ; [0x800096c:4]=0x80001bd
| ========< 0x0800067a 52e0 b 0x8000722
| |||:::: ; JMP XREF from 0x08000670 (USB_Data_Setup0)
| |||:::: ; JMP XREF from 0x08000676 (USB_Data_Setup0)
| --------> 0x0800067c 01f07f02 and r2, r1, 0x7f
| |||:::: 0x08000680 012a cmp r2, 1 ; 1
| ========< 0x08000682 0dd1 bne 0x80006a0
| |||:::: 0x08000684 2946 mov r1, r5
| |||:::: 0x08000686 4079 ldrb r0, [r0, 5]
| |||:::: 0x08000688 af4a ldr r2, [0x08000948] ; [0x8000948:4]=0x200010b8
| |||:::: 0x0800068a 1268 ldr r2, [r2]
| |||:::: 0x0800068c 9269 ldr r2, [r2, 0x18]
| |||:::: 0x0800068e 9047 blx r2
| |||:::: 0x08000690 0028 cmp r0, 0
| ========< 0x08000692 46d1 bne 0x8000722
| |||:::: 0x08000694 2068 ldr r0, [r4]
| |||:::: 0x08000696 807a ldrb r0, [r0, 0xa]
| |||:::: 0x08000698 0028 cmp r0, 0
| ========< 0x0800069a 42d0 beq 0x8000722
| |||:::: 0x0800069c b34d ldr r5, [0x0800096c] ; [0x800096c:4]=0x80001bd
| ========< 0x0800069e 40e0 b 0x8000722
| |||:::: ; JMP XREF from 0x08000682 (USB_Data_Setup0)
| --------> 0x080006a0 01f07f01 and r1, r1, 0x7f
| |||:::: 0x080006a4 0229 cmp r1, 2 ; 2
| ========< 0x080006a6 3cd1 bne 0x8000722
| |||:::: 0x080006a8 4079 ldrb r0, [r0, 5]
| |||:::: 0x080006aa 00f00f01 and r1, r0, 0xf
| |||:::: 0x080006ae 00f07002 and r2, r0, 0x70
| |||:::: 0x080006b2 a74b ldr r3, [0x08000950] ; [0x8000950:4]=0x40005c00
| |||:::: 0x080006b4 0006 lsls r0, r0, 0x18
| |||:::: 0x080006b6 53f82100 ldr.w r0, [r3, r1, lsl 2]
| ========< 0x080006ba 02d5 bpl 0x80006c2
| |||:::: 0x080006bc 00f03000 and r0, r0, 0x30
| ========< 0x080006c0 01e0 b 0x80006c6
| |||:::: ; JMP XREF from 0x080006ba (USB_Data_Setup0)
| --------> 0x080006c2 00f44050 and r0, r0, 0x3000
| |||:::: ; JMP XREF from 0x080006c0 (USB_Data_Setup0)
| --------> 0x080006c6 9f4b ldr r3, [0x08000944] ; [0x8000944:4]=0x20000690
| |||:::: 0x080006c8 1b78 ldrb r3, [r3]
| |||:::: 0x080006ca 9942 cmp r1, r3
| ========< 0x080006cc 29d2 bhs 0x8000722
| |||:::: 0x080006ce 002a cmp r2, 0
| ========< 0x080006d0 27d1 bne 0x8000722
| |||:::: 0x080006d2 0028 cmp r0, 0
| ========< 0x080006d4 25d0 beq 0x8000722
| |||:::: 0x080006d6 a54d ldr r5, [0x0800096c] ; [0x800096c:4]=0x80001bd
| ========< 0x080006d8 23e0 b 0x8000722
| |||:::: ; JMP XREF from 0x08000656 (USB_Data_Setup0)
| |||:::: ; JMP XREF from 0x0800065c (USB_Data_Setup0)
| |||:::: ; JMP XREF from 0x08000662 (USB_Data_Setup0)
| |||:::: ; JMP XREF from 0x08000668 (USB_Data_Setup0)
| --`-----> 0x080006da 0829 cmp r1, 8 ; 8
| ||,=====< 0x080006dc 05d1 bne 0x80006ea
| |||:::: 0x080006de 0078 ldrb r0, [r0]
| |||:::: 0x080006e0 7f21 movs r1, 0x7f ; 127
| |||:::: 0x080006e2 0842 tst r0, r1
| ========< 0x080006e4 1dd1 bne 0x8000722
| |||:::: 0x080006e6 a24d ldr r5, [0x08000970] ; [0x8000970:4]=0x80000f5
| ========< 0x080006e8 1be0 b 0x8000722
| |||:::: ; JMP XREF from 0x080006dc (USB_Data_Setup0)
| ||`-----> 0x080006ea 0a29 cmp r1, 0xa ; 10
| ||,=====< 0x080006ec 19d1 bne 0x8000722
| |||:::: 0x080006ee 0178 ldrb r1, [r0]
| |||:::: 0x080006f0 01f07f01 and r1, r1, 0x7f
| |||:::: 0x080006f4 0129 cmp r1, 1 ; 1
| ========< 0x080006f6 14d1 bne 0x8000722
| |||:::: 0x080006f8 817a ldrb r1, [r0, 0xa]
| |||:::: 0x080006fa 0029 cmp r1, 0
| ========< 0x080006fc 11d0 beq 0x8000722
| |||:::: 0x080006fe 4188 ldrh r1, [r0, 2]
| |||:::: 0x08000700 0029 cmp r1, 0
| ========< 0x08000702 0ed1 bne 0x8000722
| |||:::: 0x08000704 0179 ldrb r1, [r0, 4]
| |||:::: 0x08000706 0029 cmp r1, 0
| ========< 0x08000708 0bd1 bne 0x8000722
| |||:::: 0x0800070a c188 ldrh r1, [r0, 6]
| |||:::: 0x0800070c 0129 cmp r1, 1 ; 1
| ========< 0x0800070e 08d1 bne 0x8000722
| |||:::: 0x08000710 2946 mov r1, r5
| |||:::: 0x08000712 4079 ldrb r0, [r0, 5]
| |||:::: 0x08000714 8c4a ldr r2, [0x08000948] ; [0x8000948:4]=0x200010b8
| |||:::: 0x08000716 1268 ldr r2, [r2]
| |||:::: 0x08000718 9269 ldr r2, [r2, 0x18]
| |||:::: 0x0800071a 9047 blx r2
| |||:::: 0x0800071c 0028 cmp r0, 0
| ========< 0x0800071e 00d1 bne 0x8000722
| |||:::: 0x08000720 944d ldr r5, [0x08000974] ; [0x8000974:4]=0x800014d
| |||:::: ; XREFS: JMP 0x0800062c JMP 0x0800063a JMP 0x08000646 JMP 0x0800064a JMP 0x08000652 JMP 0x0800067a
| |||:::: ; XREFS: JMP 0x08000692 JMP 0x0800069a JMP 0x0800069e JMP 0x080006a6 JMP 0x080006cc JMP 0x080006d0
| |||:::: ; XREFS: JMP 0x080006d4 JMP 0x080006d8 JMP 0x080006e4 JMP 0x080006e8 JMP 0x080006ec JMP 0x080006f6
| |||:::: ; XREFS: JMP 0x080006fc JMP 0x08000702 JMP 0x08000708 JMP 0x0800070e JMP 0x0800071e
| ```-----> 0x08000722 2068 ldr r0, [r4]
| :::: 0x08000724 2900 movs r1, r5
| ,=====< 0x08000726 07d0 beq 0x8000738
| |:::: 0x08000728 0021 movs r1, 0
| |:::: 0x0800072a 4182 strh r1, [r0, 0x12]
| |:::: 0x0800072c 2068 ldr r0, [r4]
| |:::: 0x0800072e 8561 str r5, [r0, 0x18]
| |:::: 0x08000730 0846 mov r0, r1
| |:::: 0x08000732 a847 blx r5
| |:::: 0x08000734 0020 movs r0, 0
| ,======< 0x08000736 06e0 b 0x8000746
| ||:::: ; JMP XREF from 0x08000726 (USB_Data_Setup0)
| |`-----> 0x08000738 4078 ldrb r0, [r0, 1]
| | :::: 0x0800073a 8349 ldr r1, [0x08000948] ; [0x8000948:4]=0x200010b8
| | :::: 0x0800073c 0968 ldr r1, [r1]
| | :::: 0x0800073e 0969 ldr r1, [r1, 0x10]
| | :::: 0x08000740 8847 blx r1
| | :::: 0x08000742 0328 cmp r0, 3 ; 3
| |,=====< 0x08000744 06d0 beq 0x8000754
| ||:::: ; JMP XREF from 0x08000736 (USB_Data_Setup0)
| `------> 0x08000746 2368 ldr r3, [r4]
| |:::: 0x08000748 1a8a ldrh r2, [r3, 0x10]
| |:::: 0x0800074a 1146 mov r1, r2
| |:::: 0x0800074c 4ff6ff75 movw r5, 0xffff
| |:::: 0x08000750 a942 cmp r1, r5
| ,======< 0x08000752 03d1 bne 0x800075c
| ||:::: ; JMP XREF from 0x08000744 (USB_Data_Setup0)
| |`-----> 0x08000754 0920 movs r0, 9 ; 9
| | :::: 0x08000756 2168 ldr r1, [r4]
| | :::: 0x08000758 0872 strb r0, [r1, 8]
| | :::: 0x0800075a 31bd pop {r0, r4, r5, pc}
| | :::: ; JMP XREF from 0x08000752 (USB_Data_Setup0)
| `------> 0x0800075c 0228 cmp r0, 2 ; 2
| ,=====< 0x0800075e 01d0 beq 0x8000764
| |:::: 0x08000760 002a cmp r2, 0
| ,======< 0x08000762 02d1 bne 0x800076a
| ||:::: ; JMP XREF from 0x0800075e (USB_Data_Setup0)
| |`-----> 0x08000764 0820 movs r0, 8 ; 8
| | :::: 0x08000766 1872 strb r0, [r3, 8]
| | :::: 0x08000768 31bd pop {r0, r4, r5, pc}
| | :::: ; JMP XREF from 0x08000762 (USB_Data_Setup0)
| `------> 0x0800076a 1878 ldrb r0, [r3]
| :::: 0x0800076c 0006 lsls r0, r0, 0x18
| ,=====< 0x0800076e 26d5 bpl 0x80007be
| |:::: 0x08000770 d888 ldrh r0, [r3, 6]
| |:::: 0x08000772 0090 str r0, [sp]
| |:::: 0x08000774 009d ldr r5, [sp]
| |:::: 0x08000776 9542 cmp r5, r2
| ,======< 0x08000778 02d2 bhs 0x8000780
| ||:::: 0x0800077a 0098 ldr r0, [sp]
| ||:::: 0x0800077c 1882 strh r0, [r3, 0x10]
| ,=======< 0x0800077e 15e0 b 0x80007ac
| |||:::: ; JMP XREF from 0x08000778 (USB_Data_Setup0)
| |`------> 0x08000780 8242 cmp r2, r0
| |,======< 0x08000782 13d2 bhs 0x80007ac
| |||:::: 0x08000784 7048 ldr r0, [0x08000948] ; [0x8000948:4]=0x200010b8
| |||:::: 0x08000786 0068 ldr r0, [r0]
| |||:::: 0x08000788 90f82c00 ldrb.w r0, [r0, 0x2c]
| |||:::: 0x0800078c 0346 mov r3, r0
| |||:::: 0x0800078e 9a42 cmp r2, r3
| ========< 0x08000790 03d2 bhs 0x800079a
| |||:::: 0x08000792 0020 movs r0, 0
| |||:::: 0x08000794 7449 ldr r1, [0x08000968] ; [0x8000968:4]=0x20001126
| |||:::: 0x08000796 0870 strb r0, [r1]
| ========< 0x08000798 08e0 b 0x80007ac
| |||:::: ; JMP XREF from 0x08000790 (USB_Data_Setup0)
| --------> 0x0800079a 91fbf0f2 sdiv r2, r1, r0
| |||:::: 0x0800079e 00fb1210 mls r0, r0, r2, r1
| |||:::: 0x080007a2 0028 cmp r0, 0
| ========< 0x080007a4 02d1 bne 0x80007ac
| |||:::: 0x080007a6 0120 movs r0, 1 ; 1
| |||:::: 0x080007a8 6f49 ldr r1, [0x08000968] ; [0x8000968:4]=0x20001126
| |||:::: 0x080007aa 0870 strb r0, [r1]
| |||:::: ; JMP XREF from 0x0800077e (USB_Data_Setup0)
| |||:::: ; JMP XREF from 0x08000782 (USB_Data_Setup0)
| |||:::: ; JMP XREF from 0x08000798 (USB_Data_Setup0)
| |||:::: ; JMP XREF from 0x080007a4 (USB_Data_Setup0)
| ``------> 0x080007ac 6648 ldr r0, [0x08000948] ; [0x8000948:4]=0x200010b8
| |:::: 0x080007ae 0068 ldr r0, [r0]
| |:::: 0x080007b0 90f82c00 ldrb.w r0, [r0, 0x2c]
| |:::: 0x080007b4 2168 ldr r1, [r4]
| |:::: 0x080007b6 8882 strh r0, [r1, 0x14]
| |:::: 0x080007b8 bde83140 pop.w {r0, r4, r5, lr}
| |`====< 0x080007bc 6be6 b USB_DataStageIn
| | ::: ; JMP XREF from 0x0800076e (USB_Data_Setup0)
| `-----> 0x080007be 0320 movs r0, 3 ; 3
| ::: 0x080007c0 1872 strb r0, [r3, 8]
| ::: 0x080007c2 4ff44050 mov.w r0, 0x3000
| ::: 0x080007c6 6449 ldr r1, [0x08000958] ; [0x8000958:4]=0x2000111c
| ::: 0x080007c8 0880 strh r0, [r1]
\ ::: 0x080007ca 31bd pop {r0, r4, r5, pc}
/ (fcn) USB_Setup0_Process 164
| Caller: USB_CTR_LP
| USB_Setup0_Process ();
| ::: ; CALL XREF from 0x0800289c (USB_CTR_LP)
| ::: 0x080007cc 38b5 push {r3, r4, r5, lr}
| ::: 0x080007ce 6448 ldr r0, [0x08000960] ; [0x8000960:4]=0x40005c50
| ::: 0x080007d0 0068 ldr r0, [r0]
| ::: 0x080007d2 80b2 uxth r0, r0
| ::: 0x080007d4 6849 ldr r1, [0x08000978] ; [0x8000978:4]=0x40006008
| ::: 0x080007d6 31f81000 ldrh.w r0, [r1, r0, lsl 1]
| ::: 0x080007da 4000 lsls r0, r0, 1
| ::: 0x080007dc 00f18045 add.w r5, r0, 0x40000000
| ::: 0x080007e0 05f5c045 add.w r5, r5, 0x6000
| ::: 0x080007e4 554c ldr r4, [0x0800093c] ; [0x800093c:4]=0x200010b4
| ::: 0x080007e6 2068 ldr r0, [r4]
| ::: 0x080007e8 017a ldrb r1, [r0, 8]
| ::: 0x080007ea 0929 cmp r1, 9 ; 9
| ,====< 0x080007ec 17d0 beq 0x800081e
| |::: 0x080007ee 15f8011b ldrb r1, [r5], 1
| |::: 0x080007f2 0170 strb r1, [r0]
| |::: 0x080007f4 15f8010b ldrb r0, [r5], 1
| |::: 0x080007f8 2168 ldr r1, [r4]
| |::: 0x080007fa 4870 strb r0, [r1, 1]
| |::: 0x080007fc ad1c adds r5, r5, 2
| |::: 0x080007fe 35f8020b ldrh r0, [r5], 2
| |::: 0x08000802 00f071f9 bl USB_ByteSwap
| |::: 0x08000806 2168 ldr r1, [r4]
| |::: 0x08000808 4880 strh r0, [r1, 2]
| |::: 0x0800080a ad1c adds r5, r5, 2
| |::: 0x0800080c 35f8020b ldrh r0, [r5], 2
| |::: 0x08000810 00f06af9 bl USB_ByteSwap
| |::: 0x08000814 2168 ldr r1, [r4]
| |::: 0x08000816 8880 strh r0, [r1, 4]
| |::: 0x08000818 6888 ldrh r0, [r5, 2]
| |::: 0x0800081a 2168 ldr r1, [r4]
| |::: 0x0800081c c880 strh r0, [r1, 6]
| |::: ; JMP XREF from 0x080007ec (USB_Setup0_Process)
| `----> 0x0800081e 0120 movs r0, 1 ; 1
| ::: 0x08000820 2168 ldr r1, [r4]
| ::: 0x08000822 0872 strb r0, [r1, 8]
| ::: 0x08000824 2068 ldr r0, [r4]
| ::: 0x08000826 c088 ldrh r0, [r0, 6]
| ::: 0x08000828 0028 cmp r0, 0
| ,====< 0x0800082a 02d1 bne 0x8000832
| |::: 0x0800082c fff786fe bl sign.bytes.USB_NoData_Setup0_0
| ,=====< 0x08000830 01e0 b 0x8000836
| ||::: ; JMP XREF from 0x0800082a (USB_Setup0_Process)
| |`----> 0x08000832 fff7f0fe bl USB_Data_Setup0
| | ::: ; JMP XREF from 0x08000830 (USB_Setup0_Process)
| `-----> 0x08000836 bde83140 pop.w {r0, r4, r5, lr}
| ,====< 0x0800083a 48e0 b 0x80008ce
/ (fcn) sign.bytes.USB_In0_Process_0 134
| Caller: USB_CTR_LP
| sign.bytes.USB_In0_Process_0 ();
| |::: ; CALL XREF from 0x0800284e (USB_CTR_LP)
| |::: 0x0800083c 10b5 push {r4, lr}
| |::: 0x0800083e 3f4c ldr r4, [0x0800093c] ; [0x800093c:4]=0x200010b4
| |::: 0x08000840 2068 ldr r0, [r4]
| |::: 0x08000842 017a ldrb r1, [r0, 8]
| |::: 0x08000844 0229 cmp r1, 2 ; 2
| ,=====< 0x08000846 01d0 beq 0x800084c
| ||::: 0x08000848 0429 cmp r1, 4 ; 4
| ,======< 0x0800084a 04d1 bne 0x8000856
| |||::: ; JMP XREF from 0x08000846 (sign.bytes.USB_In0_Process_0)
| |`-----> 0x0800084c fff723fe bl USB_DataStageIn
| | |::: 0x08000850 2068 ldr r0, [r4]
| | |::: 0x08000852 007a ldrb r0, [r0, 8]
| |,=====< 0x08000854 16e0 b 0x8000884
| |||::: ; JMP XREF from 0x0800084a (sign.bytes.USB_In0_Process_0)
| `------> 0x08000856 0629 cmp r1, 6 ; 6
| ,======< 0x08000858 13d1 bne 0x8000882
| |||::: 0x0800085a 4178 ldrb r1, [r0, 1]
| |||::: 0x0800085c 0529 cmp r1, 5 ; 5
| ,=======< 0x0800085e 0ad1 bne 0x8000876
| ||||::: 0x08000860 0178 ldrb r1, [r0]
| ||||::: 0x08000862 7f22 movs r2, 0x7f ; 127
| ||||::: 0x08000864 1142 tst r1, r2
| ========< 0x08000866 06d1 bne 0x8000876
| ||||::: 0x08000868 c078 ldrb r0, [r0, 3]
| ||||::: 0x0800086a 00f04af8 bl sign.bytes.USB_SetDeviceAddress_0
| ||||::: 0x0800086e 3448 ldr r0, [0x08000940] ; [0x8000940:4]=0x200010bc
| ||||::: 0x08000870 0068 ldr r0, [r0]
| ||||::: 0x08000872 006a ldr r0, [r0, 0x20]
| ||||::: 0x08000874 8047 blx r0
| ||||::: ; JMP XREF from 0x0800085e (sign.bytes.USB_In0_Process_0)
| ||||::: ; JMP XREF from 0x08000866 (sign.bytes.USB_In0_Process_0)
| `-------> 0x08000876 3448 ldr r0, [0x08000948] ; [0x8000948:4]=0x200010b8
| |||::: 0x08000878 0068 ldr r0, [r0]
| |||::: 0x0800087a 8068 ldr r0, [r0, 8]
| |||::: 0x0800087c 8047 blx r0
| |||::: 0x0800087e 0820 movs r0, 8 ; 8
| ,=======< 0x08000880 00e0 b 0x8000884
| ||||::: ; JMP XREF from 0x08000858 (sign.bytes.USB_In0_Process_0)
| |`------> 0x08000882 0820 movs r0, 8 ; 8
| | ||::: ; JMP XREF from 0x08000854 (sign.bytes.USB_In0_Process_0)
| | ||::: ; JMP XREF from 0x08000880 (sign.bytes.USB_In0_Process_0)
| `-`-----> 0x08000884 2168 ldr r1, [r4]
| |::: 0x08000886 0872 strb r0, [r1, 8]
| |::: 0x08000888 bde81040 pop.w {r4, lr}
| ,=====< 0x0800088c 1fe0 b 0x80008ce
/ (fcn) USB_Out0_Process 116
| Caller: USB_CTR_LP
| USB_Out0_Process ();
| ||::: ; CALL XREF from 0x080028e6 (USB_CTR_LP)
| ||::: 0x0800088e 10b5 push {r4, lr}
| ||::: 0x08000890 2a4c ldr r4, [0x0800093c] ; [0x800093c:4]=0x200010b4
| ||::: 0x08000892 2068 ldr r0, [r4]
| ||::: 0x08000894 007a ldrb r0, [r0, 8]
| ||::: 0x08000896 0228 cmp r0, 2 ; 2
| ,======< 0x08000898 01d0 beq 0x800089e
| |||::: 0x0800089a 0428 cmp r0, 4 ; 4
| ,=======< 0x0800089c 01d1 bne 0x80008a2
| ||||::: ; JMP XREF from 0x08000898 (USB_Out0_Process)
| |`------> 0x0800089e 0820 movs r0, 8 ; 8
| |,======< 0x080008a0 11e0 b 0x80008c6
| ||||::: ; JMP XREF from 0x0800089c (USB_Out0_Process)
| `-------> 0x080008a2 0328 cmp r0, 3 ; 3
| ,=======< 0x080008a4 01d0 beq 0x80008aa
| ||||::: 0x080008a6 0528 cmp r0, 5 ; 5
| ========< 0x080008a8 04d1 bne 0x80008b4
| ||||::: ; JMP XREF from 0x080008a4 (USB_Out0_Process)
| `-------> 0x080008aa fff7a3fd bl USB_DataStageOut
| |||::: 0x080008ae 2068 ldr r0, [r4]
| |||::: 0x080008b0 007a ldrb r0, [r0, 8]
| ,=======< 0x080008b2 08e0 b 0x80008c6
| ||||::: ; JMP XREF from 0x080008a8 (USB_Out0_Process)
| --------> 0x080008b4 0728 cmp r0, 7 ; 7
| ========< 0x080008b6 05d1 bne 0x80008c4
| ||||::: 0x080008b8 2348 ldr r0, [0x08000948] ; [0x8000948:4]=0x200010b8
| ||||::: 0x080008ba 0068 ldr r0, [r0]
| ||||::: 0x080008bc c068 ldr r0, [r0, 0xc]
| ||||::: 0x080008be 8047 blx r0
| ||||::: 0x080008c0 0820 movs r0, 8 ; 8
| ========< 0x080008c2 00e0 b 0x80008c6
| ||||::: ; JMP XREF from 0x080008b6 (USB_Out0_Process)
| --------> 0x080008c4 0820 movs r0, 8 ; 8
| ||||::: ; JMP XREF from 0x080008a0 (USB_Out0_Process)
| ||||::: ; JMP XREF from 0x080008b2 (USB_Out0_Process)
| ||||::: ; JMP XREF from 0x080008c2 (USB_Out0_Process)
| ``------> 0x080008c6 2168 ldr r1, [r4]
| ||::: 0x080008c8 0872 strb r0, [r1, 8]
| ||::: 0x080008ca bde81040 pop.w {r4, lr}
| ||::: ; JMP XREF from 0x0800083a (USB_Setup0_Process)
| ||::: ; JMP XREF from 0x0800088c (sign.bytes.USB_In0_Process_0)
| ``----> 0x080008ce 80b5 push {r7, lr}
| ::: 0x080008d0 2048 ldr r0, [0x08000954] ; [0x8000954:4]=0x20000514
| ::: 0x080008d2 90f82c10 ldrb.w r1, [r0, 0x2c]
| ::: 0x080008d6 0020 movs r0, 0
| ::: 0x080008d8 00f0ddf8 bl USB_SetEPRxCount
| ::: 0x080008dc 1748 ldr r0, [0x0800093c] ; [0x800093c:4]=0x200010b4
| ::: 0x080008de 0068 ldr r0, [r0]
| ::: 0x080008e0 017a ldrb r1, [r0, 8]
| ::: 0x080008e2 0829 cmp r1, 8 ; 8
| ,====< 0x080008e4 06d1 bne 0x80008f4
| |::: 0x080008e6 4ff48051 mov.w r1, 0x1000
| |::: 0x080008ea 1b4a ldr r2, [0x08000958] ; [0x8000958:4]=0x2000111c
| |::: 0x080008ec 1180 strh r1, [r2]
| |::: 0x080008ee 1021 movs r1, 0x10 ; 16
| |::: 0x080008f0 1a4a ldr r2, [0x0800095c] ; [0x800095c:4]=0x2000111e
| |::: 0x080008f2 1180 strh r1, [r2]
| |::: ; JMP XREF from 0x080008e4 (USB_Out0_Process)
| `----> 0x080008f4 007a ldrb r0, [r0, 8]
| ::: 0x080008f6 0928 cmp r0, 9 ; 9
| ,====< 0x080008f8 01d1 bne 0x80008fe
| |::: 0x080008fa 0120 movs r0, 1 ; 1
| |::: 0x080008fc 02bd pop {r1, pc}
| |::: ; JMP XREF from 0x080008f8 (USB_Out0_Process)
| `----> 0x080008fe 0020 movs r0, 0
\ ::: 0x08000900 02bd pop {r1, pc}
/ (fcn) sign.bytes.USB_SetDeviceAddress_0 58
| Caller: sign.bytes.USB_In0_Process_0 fcn.08001de8
| sign.bytes.USB_SetDeviceAddress_0 ();
| ::: ; CALL XREF from 0x0800086a (sign.bytes.USB_In0_Process_0)
| ::: ; CALL XREF from 0x08001e6e (fcn.08001de8)
| ::: 0x08000902 70b4 push {r4, r5, r6}
| ::: 0x08000904 0f49 ldr r1, [0x08000944] ; [0x8000944:4]=0x20000690
| ::: 0x08000906 0978 ldrb r1, [r1]
| ::: 0x08000908 0022 movs r2, 0
| ::: 0x0800090a 114c ldr r4, [0x08000950] ; [0x8000950:4]=0x40005c00
| ::: 0x0800090c 48f68f76 movw r6, 0x8f8f
| ,====< 0x08000910 0ce0 b 0x800092c
| |::: ; JMP XREF from 0x0800092e (sign.bytes.USB_SetDeviceAddress_0)
| .-----> 0x08000912 1346 mov r3, r2
| :|::: 0x08000914 dbb2 uxtb r3, r3
| :|::: 0x08000916 54f82350 ldr.w r5, [r4, r3, lsl 2]
| :|::: 0x0800091a 3540 ands r5, r6
| :|::: 0x0800091c 1d43 orrs r5, r3
| :|::: 0x0800091e 45f40045 orr r5, r5, 0x8000
| :|::: 0x08000922 45f08005 orr r5, r5, 0x80
| :|::: 0x08000926 44f82350 str.w r5, [r4, r3, lsl 2]
| :|::: 0x0800092a 521c adds r2, r2, 1
| :|::: ; JMP XREF from 0x08000910 (sign.bytes.USB_SetDeviceAddress_0)
| :`----> 0x0800092c 8a42 cmp r2, r1
| `=====< 0x0800092e f0d3 blo 0x8000912
| ::: 0x08000930 40f08000 orr r0, r0, 0x80
| ::: 0x08000934 1149 ldr r1, [0x0800097c] ; [0x800097c:4]=0x40005c4c
| ::: 0x08000936 0860 str r0, [r1]
| ::: 0x08000938 70bc pop {r4, r5, r6}
\ ::: 0x0800093a 7047 bx lr
::: ; XREFS: DATA 0x080000f6 DATA 0x0800011a DATA 0x0800014e DATA 0x08000172 DATA 0x080001be DATA 0x08000268
::: ; XREFS: DATA 0x0800033e DATA 0x080003bc DATA 0x080003d8 DATA 0x080003f6 DATA 0x0800049a DATA 0x08000540
::: ; XREFS: DATA 0x08000618 DATA 0x080007e4 DATA 0x0800083e DATA 0x08000890 DATA 0x080008dc
::: 0x0800093c .dword 0x200010b4
::: ; XREFS: DATA 0x08000108 DATA 0x0800013a DATA 0x08000160 DATA 0x0800019e DATA 0x08000200 DATA 0x0800032a
::: ; XREFS: DATA 0x080003ac DATA 0x080003ca DATA 0x0800086e
::: 0x08000940 .dword 0x200010bc
::: ; DATA XREF from 0x08000122 (sign.bytes.USB_Standard_SetConfiguration_0)
::: ; DATA XREF from 0x080002ae (USB_Standard_ClearFeature)
::: ; DATA XREF from 0x08000360 (sign.bytes.USB_Standard_SetEndPointFeature_0)
::: ; DATA XREF from 0x080006c6 (USB_Data_Setup0)
::: ; DATA XREF from 0x08000904 (sign.bytes.USB_SetDeviceAddress_0)
::: 0x08000944 .dword 0x20000690
::: ; XREFS: DATA 0x0800017c DATA 0x080005da DATA 0x08000634 DATA 0x08000640 DATA 0x0800064c DATA 0x08000688
::: ; XREFS: DATA 0x08000714 DATA 0x0800073a DATA 0x08000784 DATA 0x080007ac DATA 0x08000876 DATA 0x080008b8
::: 0x08000948 .dword 0x200010b8
::: ; DATA XREF from 0x080001d0 (USB_Class_Data_Setup_Maybe)
::: 0x0800094c .dword 0x20001118
::: ; DATA XREF from 0x08000230 (USB_Class_Data_Setup_Maybe)
::: ; DATA XREF from 0x08000298 (USB_Standard_ClearFeature)
::: ; DATA XREF from 0x0800034a (sign.bytes.USB_Standard_SetEndPointFeature_0)
::: ; DATA XREF from 0x080006b2 (USB_Data_Setup0)
::: ; DATA XREF from 0x0800090a (sign.bytes.USB_SetDeviceAddress_0)
::: 0x08000950 .dword 0x40005c00
::: ; DATA XREF from 0x080002f8 (USB_Standard_ClearFeature)
::: ; DATA XREF from 0x080008d0 (USB_Setup0_Process)
::: 0x08000954 .dword 0x20000514
::: ; DATA XREF from 0x08000440 (USB_DataStageOut)
::: ; DATA XREF from 0x0800052e (USB_DataStageIn)
::: ; DATA XREF from 0x080007c6 (USB_Data_Setup0)
::: ; DATA XREF from 0x080008ea (USB_Setup0_Process)
::: 0x08000958 .dword 0x2000111c
::: ; XREFS: DATA 0x08000450 DATA 0x0800048e DATA 0x080004b0 DATA 0x08000524 DATA 0x0800060a DATA 0x080008f0
::: 0x0800095c .dword 0x2000111e
::: ; DATA XREF from 0x0800047c (USB_DataStageOut)
::: ; DATA XREF from 0x080004c0 (USB_DataStageIn)
::: ; DATA XREF from 0x080005f8 (sign.bytes.USB_NoData_Setup0_0)
::: ; DATA XREF from 0x080007ce (USB_Setup0_Process)
::: 0x08000960 .dword 0x40005c50
::: ; DATA XREF from 0x08000484 (USB_DataStageOut)
::: ; DATA XREF from 0x080004c8 (USB_DataStageIn)
::: ; DATA XREF from 0x08000600 (sign.bytes.USB_NoData_Setup0_0)
::: 0x08000964 .dword 0x40006004
::: ; DATA XREF from 0x080004b4 (USB_DataStageIn)
::: ; DATA XREF from 0x08000794 (USB_Data_Setup0)
::: ; DATA XREF from 0x080007a8 (USB_Data_Setup0)
::: 0x08000968 .dword 0x20001126
::: ; DATA XREF from 0x08000678 (USB_Data_Setup0)
::: ; DATA XREF from 0x0800069c (USB_Data_Setup0)
::: ; DATA XREF from 0x080006d6 (USB_Data_Setup0)
::: 0x0800096c .dword 0x080001bd ; USB_Class_Data_Setup_Maybe
::: ; DATA XREF from 0x080006e6 (USB_Data_Setup0)
::: 0x08000970 .dword 0x080000f5 ; USB_Standard_GetConfiguration
::: ; DATA XREF from 0x08000720 (USB_Data_Setup0)
::: 0x08000974 .dword 0x0800014d ; USB_Standard_GetInterface
::: ; DATA XREF from 0x080007d4 (USB_Setup0_Process)
::: 0x08000978 .dword 0x40006008
::: ; DATA XREF from 0x08000934 (sign.bytes.USB_SetDeviceAddress_0)
::: 0x0800097c .dword 0x40005c4c
/ (fcn) fcn.08000980 2
| fcn.08000980 ();
\ ::: 0x08000980 7047 bx lr
/ (fcn) zero_fill_bss 34
| zero_fill_bss ();
| ::: ; JMP XREF from 0x080009a0 (zero_fill_bss)
| .----> 0x08000982 50f8041b ldr r1, [r0], 4
| ,=====< 0x08000986 61b1 cbz r1, 0x80009a2
| |:::: 0x08000988 50f8042b ldr r2, [r0], 4
| |:::: 0x0800098c d307 lsls r3, r2, 0x1f
| ,======< 0x0800098e 44bf itt mi
| ||:::: ; JMP XREF from 0x0800098e (zero_fill_bss)
| `------> 0x08000990 a9f10103 sub.w r3, sb, 1
| |:::: 0x08000994 9a18 adds r2, r3, r2
| |:::: ; JMP XREF from 0x0800099e (zero_fill_bss)
| .------> 0x08000996 0023 movs r3, 0
| :|:::: 0x08000998 42f8043b str r3, [r2], 4
| :|:::: 0x0800099c 091f subs r1, r1, 4
| `======< 0x0800099e fad1 bne 0x8000996
| |`====< 0x080009a0 efe7 b zero_fill_bss
| | ::: ; JMP XREF from 0x08000986 (zero_fill_bss)
\ `-----> 0x080009a2 7047 bx lr
/ (fcn) sign.bytes.USB_SetEPTxStatus_0 48
| Caller: USB_Standard_ClearFeature
| sign.bytes.USB_SetEPTxStatus_0 ();
| ::: ; CALL XREF from 0x080002dc (USB_Standard_ClearFeature)
| ::: 0x080009a4 10b4 push {r4}
| ::: 0x080009a6 dff82c21 ldr.w r2, [0x08000ad4] ; [0x8000ad4:4]=0x40005c00
| ::: 0x080009aa 52f82030 ldr.w r3, [r2, r0, lsl 2]
| ::: 0x080009ae 48f6bf74 movw r4, 0x8fbf
| ::: 0x080009b2 2340 ands r3, r4
| ::: 0x080009b4 cc06 lsls r4, r1, 0x1b
| ,====< 0x080009b6 01d5 bpl 0x80009bc
| |::: 0x080009b8 83f01003 eor r3, r3, 0x10
| |::: ; JMP XREF from 0x080009b6 (sign.bytes.USB_SetEPTxStatus_0)
| `----> 0x080009bc 8906 lsls r1, r1, 0x1a
| ,====< 0x080009be 01d5 bpl 0x80009c4
| |::: 0x080009c0 83f02003 eor r3, r3, 0x20
| |::: ; JMP XREF from 0x080009be (sign.bytes.USB_SetEPTxStatus_0)
| `----> 0x080009c4 43f40041 orr r1, r3, 0x8000
| ::: 0x080009c8 41f08001 orr r1, r1, 0x80
| ::: 0x080009cc 42f82010 str.w r1, [r2, r0, lsl 2]
| ::: 0x080009d0 10bc pop {r4}
\ ::: 0x080009d2 7047 bx lr
/ (fcn) sign.bytes.USB_SetEPRxValid_0 32
| Caller: fcn.08001de8
| sign.bytes.USB_SetEPRxValid_0 ();
| ::: ; CALL XREF from 0x08001e68 (fcn.08001de8)
| ::: 0x080009d4 dff8fc10 ldr.w r1, [0x08000ad4] ; [0x8000ad4:4]=0x40005c00
| ::: 0x080009d8 51f82020 ldr.w r2, [r1, r0, lsl 2]
| ::: 0x080009dc 4bf68f73 movw r3, 0xbf8f
| ::: 0x080009e0 1a40 ands r2, r3
| ::: 0x080009e2 82f44052 eor r2, r2, 0x3000
| ::: 0x080009e6 42f40042 orr r2, r2, 0x8000
| ::: 0x080009ea 42f08002 orr r2, r2, 0x80
| ::: 0x080009ee 41f82020 str.w r2, [r1, r0, lsl 2]
\ ::: 0x080009f2 7047 bx lr
/ (fcn) sign.bytes.USB_ClearEP_KIND_0 28
| Caller: fcn.08001de8
| sign.bytes.USB_ClearEP_KIND_0 ();
| ::: ; CALL XREF from 0x08001e62 (fcn.08001de8)
| ::: 0x080009f4 dff8dc10 ldr.w r1, [0x08000ad4] ; [0x8000ad4:4]=0x40005c00
| ::: 0x080009f8 51f82020 ldr.w r2, [r1, r0, lsl 2]
| ::: 0x080009fc 48f68f63 movw r3, 0x8e8f
| ::: 0x08000a00 1a40 ands r2, r3
| ::: 0x08000a02 42f40042 orr r2, r2, 0x8000
| ::: 0x08000a06 42f08002 orr r2, r2, 0x80
| ::: 0x08000a0a 41f82020 str.w r2, [r1, r0, lsl 2]
\ ::: 0x08000a0e 7047 bx lr
/ (fcn) sign.bytes.USB_ClearDTOG_RX_0 36
| Caller: USB_Standard_ClearFeature
| sign.bytes.USB_ClearDTOG_RX_0 ();
| ::: ; CALL XREF from 0x08000316 (USB_Standard_ClearFeature)
| ::: 0x08000a10 dff8c010 ldr.w r1, [0x08000ad4] ; [0x8000ad4:4]=0x40005c00
| ::: 0x08000a14 51f82020 ldr.w r2, [r1, r0, lsl 2]
| ::: 0x08000a18 5204 lsls r2, r2, 0x11
| ,====< 0x08000a1a 0ad5 bpl 0x8000a32
| |::: 0x08000a1c 51f82020 ldr.w r2, [r1, r0, lsl 2]
| |::: 0x08000a20 48f68f73 movw r3, 0x8f8f
| |::: 0x08000a24 1a40 ands r2, r3
| |::: 0x08000a26 42f44042 orr r2, r2, 0xc000
| |::: 0x08000a2a 42f08002 orr r2, r2, 0x80
| |::: 0x08000a2e 41f82020 str.w r2, [r1, r0, lsl 2]
| |::: ; JMP XREF from 0x08000a1a (sign.bytes.USB_ClearDTOG_RX_0)
\ `----> 0x08000a32 7047 bx lr
/ (fcn) sign.bytes.USB_ClearDTOG_TX_0 36
| Caller: USB_Standard_ClearFeature
| sign.bytes.USB_ClearDTOG_TX_0 ();
| ::: ; CALL XREF from 0x080002d4 (USB_Standard_ClearFeature)
| ::: 0x08000a34 dff89c10 ldr.w r1, [0x08000ad4] ; [0x8000ad4:4]=0x40005c00
| ::: 0x08000a38 51f82020 ldr.w r2, [r1, r0, lsl 2]
| ::: 0x08000a3c 5206 lsls r2, r2, 0x19
| ,====< 0x08000a3e 0ad5 bpl 0x8000a56
| |::: 0x08000a40 51f82020 ldr.w r2, [r1, r0, lsl 2]
| |::: 0x08000a44 48f68f73 movw r3, 0x8f8f
| |::: 0x08000a48 1a40 ands r2, r3
| |::: 0x08000a4a 42f40042 orr r2, r2, 0x8000
| |::: 0x08000a4e 42f0c002 orr r2, r2, 0xc0
| |::: 0x08000a52 41f82020 str.w r2, [r1, r0, lsl 2]
| |::: ; JMP XREF from 0x08000a3e (sign.bytes.USB_ClearDTOG_TX_0)
\ `----> 0x08000a56 7047 bx lr
/ (fcn) sign.bytes.USB_GetEPTxAddr_0 24
| Caller: USB_DataStageIn
| sign.bytes.USB_GetEPTxAddr_0 ();
| ::: ; CALL XREF from 0x08000500 (USB_DataStageIn)
| ::: 0x08000a58 dff87410 ldr.w r1, [0x08000ad0] ; [0x8000ad0:4]=0x40005c50
| ::: 0x08000a5c 0968 ldr r1, [r1]
| ::: 0x08000a5e 89b2 uxth r1, r1
| ::: 0x08000a60 01ebc000 add.w r0, r1, r0, lsl 3
| ::: 0x08000a64 dff87010 ldr.w r1, [0x08000ad8] ; [0x8000ad8:4]=0x40006000
| ::: 0x08000a68 51f81000 ldr.w r0, [r1, r0, lsl 1]
| ::: 0x08000a6c 80b2 uxth r0, r0
\ ::: 0x08000a6e 7047 bx lr
/ (fcn) sign.bytes.USB_GetEPRxAddr_0 20
| Caller: USB_DataStageOut
| sign.bytes.USB_GetEPRxAddr_0 ();
| ::: ; CALL XREF from 0x08000428 (USB_DataStageOut)
| ::: 0x08000a70 1749 ldr r1, [0x08000ad0] ; [0x8000ad0:4]=0x40005c50
| ::: 0x08000a72 0968 ldr r1, [r1]
| ::: 0x08000a74 89b2 uxth r1, r1
| ::: 0x08000a76 01ebc000 add.w r0, r1, r0, lsl 3
| ::: 0x08000a7a 1849 ldr r1, [0x08000adc] ; [0x8000adc:4]=0x40006008
| ::: 0x08000a7c 51f81000 ldr.w r0, [r1, r0, lsl 1]
| ::: 0x08000a80 80b2 uxth r0, r0
\ ::: 0x08000a82 7047 bx lr
/ (fcn) sign.bytes.USB_SetEPTxCount_0 18
| Caller: USB_DataStageIn fcn.08001de8 USB_DataStageOut
| sign.bytes.USB_SetEPTxCount_0 ();
| ::: ; CALL XREF from 0x0800044a (USB_DataStageOut)
| ::: ; CALL XREF from 0x08000512 (USB_DataStageIn)
| ::: ; CALL XREF from 0x08001e5c (fcn.08001de8)
| ::: 0x08000a84 124a ldr r2, [0x08000ad0] ; [0x8000ad0:4]=0x40005c50
| ::: 0x08000a86 1268 ldr r2, [r2]
| ::: 0x08000a88 92b2 uxth r2, r2
| ::: 0x08000a8a 02ebc000 add.w r0, r2, r0, lsl 3
| ::: 0x08000a8e 144a ldr r2, [0x08000ae0] ; [0x8000ae0:4]=0x40006004
| ::: 0x08000a90 42f81010 str.w r1, [r2, r0, lsl 1]
\ ::: 0x08000a94 7047 bx lr
/ (fcn) USB_SetEPRxCount 58
| Caller: USB_Out0_Process fcn.08001de8 USB_Standard_ClearFeature
| USB_SetEPRxCount ();
| ::: ; CALL XREF from 0x08000302 (USB_Standard_ClearFeature)
| ::: ; CALL XREF from 0x080008d8 (USB_Setup0_Process)
| ::: ; CALL XREF from 0x08001e44 (fcn.08001de8)
| ::: 0x08000a96 0e4a ldr r2, [0x08000ad0] ; [0x8000ad0:4]=0x40005c50
| ::: 0x08000a98 1268 ldr r2, [r2]
| ::: 0x08000a9a 92b2 uxth r2, r2
| ::: 0x08000a9c 02ebc000 add.w r0, r2, r0, lsl 3
| ::: 0x08000aa0 104a ldr r2, [0x08000ae4] ; [0x8000ae4:4]=0x4000600c
| ::: 0x08000aa2 02eb4000 add.w r0, r2, r0, lsl 1
| ::: 0x08000aa6 3f29 cmp r1, 0x3f ; '?' ; 63
| ,====< 0x08000aa8 0adb blt 0x8000ac0
| |::: 0x08000aaa 4a09 lsrs r2, r1, 5
| |::: 0x08000aac 1f23 movs r3, 0x1f ; 31
| |::: 0x08000aae 1942 tst r1, r3
| ,=====< 0x08000ab0 00d1 bne 0x8000ab4
| ||::: 0x08000ab2 521e subs r2, r2, 1
| ||::: ; JMP XREF from 0x08000ab0 (USB_SetEPRxCount)
| `-----> 0x08000ab4 92b2 uxth r2, r2
| |::: 0x08000ab6 9102 lsls r1, r2, 0xa
| |::: 0x08000ab8 41f40041 orr r1, r1, 0x8000
| |::: 0x08000abc 0160 str r1, [r0]
| |::: 0x08000abe 7047 bx lr
| |::: ; JMP XREF from 0x08000aa8 (USB_SetEPRxCount)
| `----> 0x08000ac0 4a08 lsrs r2, r1, 1
| ::: 0x08000ac2 c907 lsls r1, r1, 0x1f
| ,====< 0x08000ac4 00d5 bpl 0x8000ac8
| |::: 0x08000ac6 521c adds r2, r2, 1
| |::: ; JMP XREF from 0x08000ac4 (USB_SetEPRxCount)
| `----> 0x08000ac8 92b2 uxth r2, r2
| ::: 0x08000aca 9102 lsls r1, r2, 0xa
| ::: 0x08000acc 0160 str r1, [r0]
\ ::: 0x08000ace 7047 bx lr
::: ; DATA XREF from 0x08000a58 (sign.bytes.USB_GetEPTxAddr_0)
::: ; DATA XREF from 0x08000a70 (sign.bytes.USB_GetEPRxAddr_0)
::: ; DATA XREF from 0x08000a84 (sign.bytes.USB_SetEPTxCount_0)
::: ; DATA XREF from 0x08000a96 (USB_SetEPRxCount)
::: 0x08000ad0 .dword 0x40005c50
::: ; DATA XREF from 0x080009a6 (sign.bytes.USB_SetEPTxStatus_0)
::: ; DATA XREF from 0x080009d4 (sign.bytes.USB_SetEPRxValid_0)
::: ; DATA XREF from 0x080009f4 (sign.bytes.USB_ClearEP_KIND_0)
::: ; DATA XREF from 0x08000a10 (sign.bytes.USB_ClearDTOG_RX_0)
::: ; DATA XREF from 0x08000a34 (sign.bytes.USB_ClearDTOG_TX_0)
::: 0x08000ad4 .dword 0x40005c00
::: ; DATA XREF from 0x08000a64 (sign.bytes.USB_GetEPTxAddr_0)
::: 0x08000ad8 .dword 0x40006000
::: ; DATA XREF from 0x08000a7a (sign.bytes.USB_GetEPRxAddr_0)
::: 0x08000adc .dword 0x40006008
::: ; DATA XREF from 0x08000a8e (sign.bytes.USB_SetEPTxCount_0)
::: 0x08000ae0 .dword 0x40006004
::: ; DATA XREF from 0x08000aa0 (USB_SetEPRxCount)
::: 0x08000ae4 .dword 0x4000600c
/ (fcn) USB_ByteSwap 12
| Caller: USB_Setup0_Process
| USB_ByteSwap ();
| ::: ; CALL XREF from 0x08000802 (USB_Setup0_Process)
| ::: ; CALL XREF from 0x08000810 (USB_Setup0_Process)
| ::: 0x08000ae8 0146 mov r1, r0
| ::: 0x08000aea c9b2 uxtb r1, r1
| ::: 0x08000aec 0902 lsls r1, r1, 8
| ::: 0x08000aee 41ea1020 orr.w r0, r1, r0, lsr 8
\ ::: 0x08000af2 7047 bx lr
/ (fcn) sign.bytes.USB_UserToPMABufferCopy_0 44
| Caller: USB_DataStageIn
| sign.bytes.USB_UserToPMABufferCopy_0 ();
| ::: ; CALL XREF from 0x0800050a (USB_DataStageIn)
| ::: 0x08000af4 10b4 push {r4}
| ::: 0x08000af6 4900 lsls r1, r1, 1
| ::: 0x08000af8 01f18041 add.w r1, r1, 0x40000000
| ::: 0x08000afc 01f5c041 add.w r1, r1, 0x6000
| ::: 0x08000b00 521c adds r2, r2, 1
| ::: 0x08000b02 5210 asrs r2, r2, 1
| ,====< 0x08000b04 09e0 b 0x8000b1a
| |::: ; JMP XREF from 0x08000b1a (sign.bytes.USB_UserToPMABufferCopy_0)
| .-----> 0x08000b06 10f8013b ldrb r3, [r0], 1
| :|::: 0x08000b0a 10f8014b ldrb r4, [r0], 1
| :|::: 0x08000b0e 43ea0423 orr.w r3, r3, r4, lsl 8
| :|::: 0x08000b12 21f8023b strh r3, [r1], 2
| :|::: 0x08000b16 891c adds r1, r1, 2
| :|::: 0x08000b18 521e subs r2, r2, 1
| ||::: ; JMP XREF from 0x08000b04 (sign.bytes.USB_UserToPMABufferCopy_0)
| ``----> 0x08000b1a f4d1 bne 0x8000b06
| ::: 0x08000b1c 10bc pop {r4}
\ ::: 0x08000b1e 7047 bx lr
/ (fcn) sign.bytes.USB_PMAToUserBufferCopy_0 30
| Caller: USB_DataStageOut
| sign.bytes.USB_PMAToUserBufferCopy_0 ();
| ::: ; CALL XREF from 0x08000432 (USB_DataStageOut)
| ::: 0x08000b20 4900 lsls r1, r1, 1
| ::: 0x08000b22 01f18041 add.w r1, r1, 0x40000000
| ::: 0x08000b26 01f5c041 add.w r1, r1, 0x6000
| ::: 0x08000b2a 521c adds r2, r2, 1
| ::: 0x08000b2c 5210 asrs r2, r2, 1
| ,====< 0x08000b2e 04e0 b 0x8000b3a
| |::: ; JMP XREF from 0x08000b3a (sign.bytes.USB_PMAToUserBufferCopy_0)
| .-----> 0x08000b30 51f8043b ldr r3, [r1], 4
| :|::: 0x08000b34 20f8023b strh r3, [r0], 2
| :|::: 0x08000b38 521e subs r2, r2, 1
| ||::: ; JMP XREF from 0x08000b2e (sign.bytes.USB_PMAToUserBufferCopy_0)
| ``----> 0x08000b3a f9d1 bne 0x8000b30
\ ::: 0x08000b3c 7047 bx lr
::: 0x08000b3e 0000 movs r0, r0
/ (fcn) fcn.08000b40 28
| fcn.08000b40 ();
| ::: ; JMP XREF from 0x0800107a (fcn.0800106e)
| .----> 0x08000b40 bff34f8f dsb sy
| :::: 0x08000b44 dff8b007 ldr.w r0, [0x080012f8] ; [0x80012f8:4]=0xe000ed0c
| :::: 0x08000b48 0168 ldr r1, [r0]
| :::: 0x08000b4a 01f4e061 and r1, r1, 0x700
| :::: 0x08000b4e dff8ac27 ldr.w r2, [0x080012fc] ; [0x80012fc:4]=0x5fa0004
| :::: 0x08000b52 1143 orrs r1, r2
| :::: 0x08000b54 0160 str r1, [r0]
| :::: 0x08000b56 bff34f8f dsb sy
| |:::: ; JMP XREF from 0x08000b5a (fcn.08000b40)
\ `====-> 0x08000b5a fee7 b 0x8000b5a
/ (fcn) fcn.08000b5c 46
| Caller: main
| fcn.08000b5c ();
| :::: ; CALL XREF from 0x08002de2 (main)
| :::: 0x08000b5c 80b5 push {r7, lr}
| :::: 0x08000b5e 00f071f8 bl fcn.08000c44
| :::: 0x08000b62 00f012f8 bl _Peripherals_Config
| :::: 0x08000b66 00f071f8 bl fcn.08000c4c
| :::: 0x08000b6a 00f004f9 bl sign.bytes._KBD_WKUPInterruptsEnable_0
| :::: 0x08000b6e 00f0f5fb bl fcn.0800135c
| :::: 0x08000b72 00f0f0f8 bl fcn.08000d56
| :::: 0x08000b76 00f04cfb bl fcn.08001212
| :::: 0x08000b7a 00f097f9 bl fcn.08000eac
| :::: 0x08000b7e 0028 cmp r0, 0
| ,=====< 0x08000b80 02d0 beq 0x8000b88
| |:::: 0x08000b82 bde80140 pop.w {r0, lr}
| ,======< 0x08000b86 d3e1 b loc.08000f30
| ||:::: ; JMP XREF from 0x08000b80 (fcn.08000b5c)
\ |`-----> 0x08000b88 01bd pop {r0, pc}
\ | :::: ;-- Peripherals_Config:
/ (fcn) _Peripherals_Config 186
| Caller: fcn.08000b5c
| _Peripherals_Config ();
| | :::: ; JMP XREF from 0x08001058 (fcn.08001044)
| | :::: ; CALL XREF from 0x08000b62 (fcn.08000b5c)
| |.-----> 0x08000b8a 80b5 push {r7, lr}
| |::::: 0x08000b8c 00f010fc bl RCC_DeInit
| |::::: 0x08000b90 0120 movs r0, 1 ; 1
| |::::: 0x08000b92 00f025fc bl RCC_HSEConfig
| |::::: 0x08000b96 00f028fc bl sign.bytes.RCC_WaitForHSEStartUp_0
| |::::: 0x08000b9a 0120 movs r0, 1 ; 1
| |::::: 0x08000b9c 00f029fd bl sign.bytes.FLASH_ReadAccess64Cmd_0
| |::::: 0x08000ba0 0120 movs r0, 1 ; 1
| |::::: 0x08000ba2 00f019fd bl sign.bytes.FLASH_PrefetchBufferCmd_0
| |::::: 0x08000ba6 0120 movs r0, 1 ; 1
| |::::: 0x08000ba8 00f00efd bl sign.bytes.FLASH_SetLatency_0
| |::::: 0x08000bac 0121 movs r1, 1 ; 1
| |::::: 0x08000bae 4ff08050 mov.w r0, 0x10000000
| |::::: 0x08000bb2 00f0d0fc bl RCC_APB1PeriphClockCmd
| |::::: 0x08000bb6 4ff40060 mov.w r0, 0x800 ; 2048
| |::::: 0x08000bba 00f0a5fd bl PWR_VoltageScalingConfig
| |::::: ; JMP XREF from 0x08000bc6 (_Peripherals_Config)
| .-------> 0x08000bbe 1020 movs r0, 0x10 ; 16
| :|::::: 0x08000bc0 00f0abfd bl sign.bytes.EXTI_GetITStatus_0
| :|::::: 0x08000bc4 0028 cmp r0, 0
| `=======< 0x08000bc6 fad1 bne 0x8000bbe
| |::::: 0x08000bc8 0020 movs r0, 0
| |::::: 0x08000bca 00f046fc bl RCC_HCLKConfig
| |::::: 0x08000bce 4ff48060 mov.w r0, 0x400 ; 1024
| |::::: 0x08000bd2 00f050fc bl RCC_PCLK2Config
| |::::: 0x08000bd6 4ff48060 mov.w r0, 0x400 ; 1024
| |::::: 0x08000bda 00f045fc bl RCC_PCLK1Config
| |::::: 0x08000bde 8022 movs r2, 0x80 ; 128
| |::::: 0x08000be0 0821 movs r1, 8 ; 8
| |::::: 0x08000be2 0120 movs r0, 1 ; 1
| |::::: 0x08000be4 00f025fc bl RCC_PLLConfig
| |::::: 0x08000be8 0120 movs r0, 1 ; 1
| |::::: 0x08000bea 00f027fc bl RCC_PLLCmd
| |::::: ; JMP XREF from 0x08000bf6 (_Peripherals_Config)
| .-------> 0x08000bee 3920 movs r0, 0x39 ; '9' ; 57
| :|::::: 0x08000bf0 00f0bcfc bl sign.bytes.RCC_GetFlagStatus_0
| :|::::: 0x08000bf4 0028 cmp r0, 0
| `=======< 0x08000bf6 fad0 beq 0x8000bee
| |::::: 0x08000bf8 0320 movs r0, 3 ; 3
| |::::: 0x08000bfa 00f022fc bl RCC_SYSCLKConfig
| |::::: ; JMP XREF from 0x08000c04 (_Peripherals_Config)
| .-------> 0x08000bfe 00f027fc bl RCC_GetSYSCLKSource
| :|::::: 0x08000c02 0c28 cmp r0, 0xc ; 12
| `=======< 0x08000c04 fbd1 bne 0x8000bfe
| |::::: 0x08000c06 6ff00400 mvn r0, 4
| |::::: 0x08000c0a 00f0c6fd bl sign.bytes.SysTick_CLKSourceConfig_0
| |::::: 0x08000c0e 0121 movs r1, 1 ; 1
| |::::: 0x08000c10 0846 mov r0, r1
| |::::: 0x08000c12 00f08afc bl sign.bytes.RCC_APB2PeriphResetCmd_0
| |::::: 0x08000c16 0121 movs r1, 1 ; 1
| |::::: 0x08000c18 0220 movs r0, 2 ; 2
| |::::: 0x08000c1a 00f086fc bl sign.bytes.RCC_APB2PeriphResetCmd_0
| |::::: 0x08000c1e 0121 movs r1, 1 ; 1
| |::::: 0x08000c20 0420 movs r0, 4 ; 4
| |::::: 0x08000c22 00f082fc bl sign.bytes.RCC_APB2PeriphResetCmd_0
| |::::: 0x08000c26 0121 movs r1, 1 ; 1
| |::::: 0x08000c28 0846 mov r0, r1
| |::::: 0x08000c2a 00f089fc bl sign.bytes.RCC_APB1PeriphResetCmd_0
| |::::: 0x08000c2e 0020 movs r0, 0
| |::::: 0x08000c30 00f0f7fb bl RCC_HSICmd
| |::::: 0x08000c34 0020 movs r0, 0
| |::::: 0x08000c36 00f0f1fb bl RCC_MSICmd
| |::::: 0x08000c3a 0020 movs r0, 0
| |::::: 0x08000c3c bde80240 pop.w {r1, lr}
\ ,=======< 0x08000c40 00f0f2bb b.w RCC_LSEConfig
/ (fcn) fcn.08000c44 8
| Caller: fcn.08000b5c
| fcn.08000c44 ();
| ||::::: ; CALL XREF from 0x08000b5e (fcn.08000b5c)
| ||::::: 0x08000c44 4ff44070 mov.w r0, 0x300 ; 768
\ ========< 0x08000c48 00f074bd b.w NVIC_PriorityGroupConfig
/ (fcn) fcn.08000c4c 266
| Caller: fcn.08000b5c
| fcn.08000c4c ();
| ||::::: ; CALL XREF from 0x08000b66 (fcn.08000b5c)
| ||::::: 0x08000c4c 30b5 push {r4, r5, lr}
| ||::::: 0x08000c4e 83b0 sub sp, 0xc
| ||::::: 0x08000c50 dff8ac06 ldr.w r0, [0x08001300] ; [0x8001300:4]=0x2000067c
| ||::::: 0x08000c54 8188 ldrh r1, [r0, 4]
| ||::::: 0x08000c56 0091 str r1, [sp]
| ||::::: 0x08000c58 0121 movs r1, 1 ; 1
| ||::::: 0x08000c5a 8df80410 strb.w r1, [sp, 4]
| ||::::: 0x08000c5e 0021 movs r1, 0
| ||::::: 0x08000c60 8df80610 strb.w r1, [sp, 6]
| ||::::: 0x08000c64 0321 movs r1, 3 ; 3
| ||::::: 0x08000c66 8df80510 strb.w r1, [sp, 5]
| ||::::: 0x08000c6a 00a9 add r1, sp, 0
| ||::::: 0x08000c6c 0068 ldr r0, [r0]
| ||::::: 0x08000c6e 00f0adfd bl sign.bytes.GPIO_Init_0
| ||::::: 0x08000c72 dff89046 ldr.w r4, [0x08001304] ; [0x8001304:4]=0x20000674
| ||::::: 0x08000c76 a088 ldrh r0, [r4, 4]
| ||::::: 0x08000c78 0090 str r0, [sp]
| ||::::: 0x08000c7a 0020 movs r0, 0
| ||::::: 0x08000c7c 8df80400 strb.w r0, [sp, 4]
| ||::::: 0x08000c80 0120 movs r0, 1 ; 1
| ||::::: 0x08000c82 8df80700 strb.w r0, [sp, 7]
| ||::::: 0x08000c86 0220 movs r0, 2 ; 2
| ||::::: 0x08000c88 8df80500 strb.w r0, [sp, 5]
| ||::::: 0x08000c8c 00a9 add r1, sp, 0
| ||::::: 0x08000c8e 2068 ldr r0, [r4]
| ||::::: 0x08000c90 00f09cfd bl sign.bytes.GPIO_Init_0
| ||::::: 0x08000c94 e179 ldrb r1, [r4, 7]
| ||::::: 0x08000c96 a079 ldrb r0, [r4, 6]
| ||::::: 0x08000c98 00f0eefd bl sign.bytes.SYSCFG_EXTILineConfig_0
| ||::::: 0x08000c9c dff86806 ldr.w r0, [0x08001308] ; [0x8001308:4]=0x20000664
| ||::::: 0x08000ca0 8188 ldrh r1, [r0, 4]
| ||::::: 0x08000ca2 0091 str r1, [sp]
| ||::::: 0x08000ca4 0121 movs r1, 1 ; 1
| ||::::: 0x08000ca6 8df80410 strb.w r1, [sp, 4]
| ||::::: 0x08000caa 0021 movs r1, 0
| ||::::: 0x08000cac 8df80610 strb.w r1, [sp, 6]
| ||::::: 0x08000cb0 0221 movs r1, 2 ; 2
| ||::::: 0x08000cb2 8df80510 strb.w r1, [sp, 5]
| ||::::: 0x08000cb6 00a9 add r1, sp, 0
| ||::::: 0x08000cb8 0068 ldr r0, [r0]
| ||::::: 0x08000cba 00f087fd bl sign.bytes.GPIO_Init_0
| ||::::: 0x08000cbe dff84c46 ldr.w r4, [0x0800130c] ; [0x800130c:4]=0x2000066c
| ||::::: 0x08000cc2 a088 ldrh r0, [r4, 4]
| ||::::: 0x08000cc4 0090 str r0, [sp]
| ||::::: 0x08000cc6 0120 movs r0, 1 ; 1
| ||::::: 0x08000cc8 8df80400 strb.w r0, [sp, 4]
| ||::::: 0x08000ccc 0020 movs r0, 0
| ||::::: 0x08000cce 8df80600 strb.w r0, [sp, 6]
| ||::::: 0x08000cd2 0220 movs r0, 2 ; 2
| ||::::: 0x08000cd4 8df80500 strb.w r0, [sp, 5]
| ||::::: 0x08000cd8 00a9 add r1, sp, 0
| ||::::: 0x08000cda 2068 ldr r0, [r4]
| ||::::: 0x08000cdc 00f076fd bl sign.bytes.GPIO_Init_0
| ||::::: 0x08000ce0 0122 movs r2, 1 ; 1
| ||::::: 0x08000ce2 a188 ldrh r1, [r4, 4]
| ||::::: 0x08000ce4 2068 ldr r0, [r4]
| ||::::: 0x08000ce6 00f0adfd bl GPIO_WriteBit
| ||::::: 0x08000cea 0024 movs r4, 0
| ========< 0x08000cec 14e0 b 0x8000d18
| ||::::: ; JMP XREF from 0x08000d1a (fcn.08000c4c)
| --------> 0x08000cee dff82006 ldr.w r0, [0x08001310] ; [0x8001310:4]=0x2000031c
| ||::::: 0x08000cf2 00ebc401 add.w r1, r0, r4, lsl 3
| ||::::: 0x08000cf6 8988 ldrh r1, [r1, 4]
| ||::::: 0x08000cf8 0091 str r1, [sp]
| ||::::: 0x08000cfa 0121 movs r1, 1 ; 1
| ||::::: 0x08000cfc 8df80410 strb.w r1, [sp, 4]
| ||::::: 0x08000d00 0021 movs r1, 0
| ||::::: 0x08000d02 8df80610 strb.w r1, [sp, 6]
| ||::::: 0x08000d06 0321 movs r1, 3 ; 3
| ||::::: 0x08000d08 8df80510 strb.w r1, [sp, 5]
| ||::::: 0x08000d0c 00a9 add r1, sp, 0
| ||::::: 0x08000d0e 50f83400 ldr.w r0, [r0, r4, lsl 3]
| ||::::: 0x08000d12 00f05bfd bl sign.bytes.GPIO_Init_0
| ||::::: 0x08000d16 641c adds r4, r4, 1
| ||::::: ; JMP XREF from 0x08000cec (fcn.08000c4c)
| --------> 0x08000d18 0e2c cmp r4, 0xe ; 14
| ========< 0x08000d1a e8db blt 0x8000cee
| ||::::: 0x08000d1c 0024 movs r4, 0
| ========< 0x08000d1e 17e0 b 0x8000d50
| ||::::: ; JMP XREF from 0x08000d52 (fcn.08000c4c)
| --------> 0x08000d20 dff8f005 ldr.w r0, [0x08001314] ; [0x8001314:4]=0x20000544
| ||::::: 0x08000d24 00ebc405 add.w r5, r0, r4, lsl 3
| ||::::: 0x08000d28 a988 ldrh r1, [r5, 4]
| ||::::: 0x08000d2a 0091 str r1, [sp]
| ||::::: 0x08000d2c 0021 movs r1, 0
| ||::::: 0x08000d2e 8df80410 strb.w r1, [sp, 4]
| ||::::: 0x08000d32 0221 movs r1, 2 ; 2
| ||::::: 0x08000d34 8df80710 strb.w r1, [sp, 7]
| ||::::: 0x08000d38 8df80510 strb.w r1, [sp, 5]
| ||::::: 0x08000d3c 00a9 add r1, sp, 0
| ||::::: 0x08000d3e 50f83400 ldr.w r0, [r0, r4, lsl 3]
| ||::::: 0x08000d42 00f043fd bl sign.bytes.GPIO_Init_0
| ||::::: 0x08000d46 e979 ldrb r1, [r5, 7]
| ||::::: 0x08000d48 a879 ldrb r0, [r5, 6]
| ||::::: 0x08000d4a 00f095fd bl sign.bytes.SYSCFG_EXTILineConfig_0
| ||::::: 0x08000d4e 641c adds r4, r4, 1
| ||::::: ; JMP XREF from 0x08000d1e (fcn.08000c4c)
| --------> 0x08000d50 052c cmp r4, 5 ; 5
| ========< 0x08000d52 e5db blt 0x8000d20
\ ||::::: 0x08000d54 37bd pop {r0, r1, r2, r4, r5, pc}
/ (fcn) fcn.08000d56 32
| Caller: fcn.08000b5c
| fcn.08000d56 ();
| ||::::: ; CALL XREF from 0x08000b72 (fcn.08000b5c)
| ||::::: 0x08000d56 10b5 push {r4, lr}
| ||::::: 0x08000d58 0024 movs r4, 0
| ========< 0x08000d5a 09e0 b 0x8000d70
| ||::::: ; JMP XREF from 0x08000d72 (fcn.08000d56)
| --------> 0x08000d5c dff8b005 ldr.w r0, [0x08001310] ; [0x8001310:4]=0x2000031c
| ||::::: 0x08000d60 00ebc401 add.w r1, r0, r4, lsl 3
| ||::::: 0x08000d64 8988 ldrh r1, [r1, 4]
| ||::::: 0x08000d66 50f83400 ldr.w r0, [r0, r4, lsl 3]
| ||::::: 0x08000d6a 00f067fd bl GPIO_SetBits
| ||::::: 0x08000d6e 641c adds r4, r4, 1
| ||::::: ; JMP XREF from 0x08000d5a (fcn.08000d56)
| --------> 0x08000d70 0e2c cmp r4, 0xe ; 14
| ========< 0x08000d72 f3db blt 0x8000d5c
\ ||::::: 0x08000d74 10bd pop {r4, pc}
/ (fcn) sign.bytes._KBD_WKUPInterruptsEnable_0 310
| Caller: fcn.08000b5c
| sign.bytes._KBD_WKUPInterruptsEnable_0 ();
| ||::::: ; CALL XREF from 0x08000b6a (fcn.08000b5c)
| ||::::: 0x08000d76 e0b5 push {r5, r6, r7, lr}
| ||::::: 0x08000d78 4ff40040 mov.w r0, 0x8000
| ||::::: 0x08000d7c 00f0cdfd bl EXTI_ClearITPendingBit
| ||::::: 0x08000d80 4ff40040 mov.w r0, 0x8000
| ||::::: 0x08000d84 0190 str r0, [sp, 4]
| ||::::: 0x08000d86 0020 movs r0, 0
| ||::::: 0x08000d88 8df80800 strb.w r0, [sp, 8]
| ||::::: 0x08000d8c 1020 movs r0, 0x10 ; 16
| ||::::: 0x08000d8e 8df80900 strb.w r0, [sp, 9]
| ||::::: 0x08000d92 0120 movs r0, 1 ; 1
| ||::::: 0x08000d94 8df80a00 strb.w r0, [sp, 0xa]
| ||::::: 0x08000d98 01a8 add r0, sp, 4
| ||::::: 0x08000d9a 00f081fd bl sign.bytes.EXTI_Init_0
| ||::::: 0x08000d9e 4ff40070 mov.w r0, 0x200 ; 512
| ||::::: 0x08000da2 00f0bafd bl EXTI_ClearITPendingBit
| ||::::: 0x08000da6 4ff40070 mov.w r0, 0x200 ; 512
| ||::::: 0x08000daa 0190 str r0, [sp, 4]
| ||::::: 0x08000dac 0020 movs r0, 0
| ||::::: 0x08000dae 8df80800 strb.w r0, [sp, 8]
| ||::::: 0x08000db2 1020 movs r0, 0x10 ; 16
| ||::::: 0x08000db4 8df80900 strb.w r0, [sp, 9]
| ||::::: 0x08000db8 0120 movs r0, 1 ; 1
| ||::::: 0x08000dba 8df80a00 strb.w r0, [sp, 0xa]
| ||::::: 0x08000dbe 01a8 add r0, sp, 4
| ||::::: 0x08000dc0 00f06efd bl sign.bytes.EXTI_Init_0
| ||::::: 0x08000dc4 4ff48070 mov.w r0, 0x100 ; 256
| ||::::: 0x08000dc8 00f0a7fd bl EXTI_ClearITPendingBit
| ||::::: 0x08000dcc 4ff48070 mov.w r0, 0x100 ; 256
| ||::::: 0x08000dd0 0190 str r0, [sp, 4]
| ||::::: 0x08000dd2 0020 movs r0, 0
| ||::::: 0x08000dd4 8df80800 strb.w r0, [sp, 8]
| ||::::: 0x08000dd8 1020 movs r0, 0x10 ; 16
| ||::::: 0x08000dda 8df80900 strb.w r0, [sp, 9]
| ||::::: 0x08000dde 0120 movs r0, 1 ; 1
| ||::::: 0x08000de0 8df80a00 strb.w r0, [sp, 0xa]
| ||::::: 0x08000de4 01a8 add r0, sp, 4
| ||::::: 0x08000de6 00f05bfd bl sign.bytes.EXTI_Init_0
| ||::::: 0x08000dea 8020 movs r0, 0x80 ; 128
| ||::::: 0x08000dec 00f095fd bl EXTI_ClearITPendingBit
| ||::::: 0x08000df0 8020 movs r0, 0x80 ; 128
| ||::::: 0x08000df2 0190 str r0, [sp, 4]
| ||::::: 0x08000df4 0020 movs r0, 0
| ||::::: 0x08000df6 8df80800 strb.w r0, [sp, 8]
| ||::::: 0x08000dfa 1020 movs r0, 0x10 ; 16
| ||::::: 0x08000dfc 8df80900 strb.w r0, [sp, 9]
| ||::::: 0x08000e00 0120 movs r0, 1 ; 1
| ||::::: 0x08000e02 8df80a00 strb.w r0, [sp, 0xa]
| ||::::: 0x08000e06 01a8 add r0, sp, 4
| ||::::: 0x08000e08 00f04afd bl sign.bytes.EXTI_Init_0
| ||::::: 0x08000e0c 4020 movs r0, 0x40 ; '@' ; 64
| ||::::: 0x08000e0e 00f084fd bl EXTI_ClearITPendingBit
| ||::::: 0x08000e12 4020 movs r0, 0x40 ; '@' ; 64
| ||::::: 0x08000e14 0190 str r0, [sp, 4]
| ||::::: 0x08000e16 0020 movs r0, 0
| ||::::: 0x08000e18 8df80800 strb.w r0, [sp, 8]
| ||::::: 0x08000e1c 1020 movs r0, 0x10 ; 16
| ||::::: 0x08000e1e 8df80900 strb.w r0, [sp, 9]
| ||::::: 0x08000e22 0120 movs r0, 1 ; 1
| ||::::: 0x08000e24 8df80a00 strb.w r0, [sp, 0xa]
| ||::::: 0x08000e28 01a8 add r0, sp, 4
| ||::::: 0x08000e2a 00f039fd bl sign.bytes.EXTI_Init_0
| ||::::: 0x08000e2e 0120 movs r0, 1 ; 1
| ||::::: 0x08000e30 00f073fd bl EXTI_ClearITPendingBit
| ||::::: 0x08000e34 0120 movs r0, 1 ; 1
| ||::::: 0x08000e36 0190 str r0, [sp, 4]
| ||::::: 0x08000e38 0020 movs r0, 0
| ||::::: 0x08000e3a 8df80800 strb.w r0, [sp, 8]
| ||::::: 0x08000e3e 1020 movs r0, 0x10 ; 16
| ||::::: 0x08000e40 8df80900 strb.w r0, [sp, 9]
| ||::::: 0x08000e44 0120 movs r0, 1 ; 1
| ||::::: 0x08000e46 8df80a00 strb.w r0, [sp, 0xa]
| ||::::: 0x08000e4a 01a8 add r0, sp, 4
| ||::::: 0x08000e4c 00f028fd bl sign.bytes.EXTI_Init_0
| ||::::: 0x08000e50 0620 movs r0, 6 ; 6
| ||::::: 0x08000e52 8df80000 strb.w r0, [sp]
| ||::::: 0x08000e56 0020 movs r0, 0
| ||::::: 0x08000e58 8df80100 strb.w r0, [sp, 1]
| ||::::: 0x08000e5c 0f20 movs r0, 0xf ; 15
| ||::::: 0x08000e5e 8df80200 strb.w r0, [sp, 2]
| ||::::: 0x08000e62 0120 movs r0, 1 ; 1
| ||::::: 0x08000e64 8df80300 strb.w r0, [sp, 3]
| ||::::: 0x08000e68 00a8 add r0, sp, 0
| ||::::: 0x08000e6a 00f068fc bl sign.bytes.NVIC_Init_0
| ||::::: 0x08000e6e 1720 movs r0, 0x17 ; 23
| ||::::: 0x08000e70 8df80000 strb.w r0, [sp]
| ||::::: 0x08000e74 0020 movs r0, 0
| ||::::: 0x08000e76 8df80100 strb.w r0, [sp, 1]
| ||::::: 0x08000e7a 0f20 movs r0, 0xf ; 15
| ||::::: 0x08000e7c 8df80200 strb.w r0, [sp, 2]
| ||::::: 0x08000e80 0120 movs r0, 1 ; 1
| ||::::: 0x08000e82 8df80300 strb.w r0, [sp, 3]
| ||::::: 0x08000e86 00a8 add r0, sp, 0
| ||::::: 0x08000e88 00f059fc bl sign.bytes.NVIC_Init_0
| ||::::: 0x08000e8c 2820 movs r0, 0x28 ; '(' ; 40
| ||::::: 0x08000e8e 8df80000 strb.w r0, [sp]
| ||::::: 0x08000e92 0020 movs r0, 0
| ||::::: 0x08000e94 8df80100 strb.w r0, [sp, 1]
| ||::::: 0x08000e98 0f20 movs r0, 0xf ; 15
| ||::::: 0x08000e9a 8df80200 strb.w r0, [sp, 2]
| ||::::: 0x08000e9e 0120 movs r0, 1 ; 1
| ||::::: 0x08000ea0 8df80300 strb.w r0, [sp, 3]
| ||::::: 0x08000ea4 00a8 add r0, sp, 0
| ||::::: 0x08000ea6 00f04afc bl sign.bytes.NVIC_Init_0
\ ||::::: 0x08000eaa 07bd pop {r0, r1, r2, pc}
/ (fcn) fcn.08000eac 132
| Caller: fcn.08000b5c
| fcn.08000eac ();
| ||::::: ; CALL XREF from 0x08000b7a (fcn.08000b5c)
| ||::::: 0x08000eac 30b5 push {r4, r5, lr}
| ||::::: 0x08000eae 83b0 sub sp, 0xc
| ||::::: 0x08000eb0 dff86444 ldr.w r4, [0x08001318] ; [0x8001318:4]=0x20000600
| ||::::: 0x08000eb4 a088 ldrh r0, [r4, 4]
| ||::::: 0x08000eb6 0090 str r0, [sp]
| ||::::: 0x08000eb8 0120 movs r0, 1 ; 1
| ||::::: 0x08000eba 8df80400 strb.w r0, [sp, 4]
| ||::::: 0x08000ebe 0020 movs r0, 0
| ||::::: 0x08000ec0 8df80600 strb.w r0, [sp, 6]
| ||::::: 0x08000ec4 0220 movs r0, 2 ; 2
| ||::::: 0x08000ec6 8df80500 strb.w r0, [sp, 5]
| ||::::: 0x08000eca 00a9 add r1, sp, 0
| ||::::: 0x08000ecc 2068 ldr r0, [r4]
| ||::::: 0x08000ece 00f07dfc bl sign.bytes.GPIO_Init_0
| ||::::: 0x08000ed2 208a ldrh r0, [r4, 0x10]
| ||::::: 0x08000ed4 0090 str r0, [sp]
| ||::::: 0x08000ed6 0020 movs r0, 0
| ||::::: 0x08000ed8 8df80400 strb.w r0, [sp, 4]
| ||::::: 0x08000edc 8df80700 strb.w r0, [sp, 7]
| ||::::: 0x08000ee0 0220 movs r0, 2 ; 2
| ||::::: 0x08000ee2 8df80500 strb.w r0, [sp, 5]
| ||::::: 0x08000ee6 00a9 add r1, sp, 0
| ||::::: 0x08000ee8 e068 ldr r0, [r4, 0xc]
| ||::::: 0x08000eea 00f06ffc bl sign.bytes.GPIO_Init_0
| ||::::: 0x08000eee 0122 movs r2, 1 ; 1
| ||::::: 0x08000ef0 a188 ldrh r1, [r4, 4]
| ||::::: 0x08000ef2 2068 ldr r0, [r4]
| ||::::: 0x08000ef4 00f0a6fc bl GPIO_WriteBit
| ||::::: 0x08000ef8 1420 movs r0, 0x14 ; 20
| ||::::: 0x08000efa 00f027fd bl sign.bytes._Wait_AHBby8_0
| ||::::: 0x08000efe 218a ldrh r1, [r4, 0x10]
| ||::::: 0x08000f00 e068 ldr r0, [r4, 0xc]
| ||::::: 0x08000f02 00f094fc bl GPIO_ReadInputDataBit
| ||::::: 0x08000f06 0546 mov r5, r0
| ||::::: 0x08000f08 0022 movs r2, 0
| ||::::: 0x08000f0a a188 ldrh r1, [r4, 4]
| ||::::: 0x08000f0c 2068 ldr r0, [r4]
| ||::::: 0x08000f0e 00f099fc bl GPIO_WriteBit
| ||::::: 0x08000f12 1420 movs r0, 0x14 ; 20
| ||::::: 0x08000f14 00f01afd bl sign.bytes._Wait_AHBby8_0
| ||::::: 0x08000f18 218a ldrh r1, [r4, 0x10]
| ||::::: 0x08000f1a e068 ldr r0, [r4, 0xc]
| ||::::: 0x08000f1c 00f087fc bl GPIO_ReadInputDataBit
| ||::::: 0x08000f20 012d cmp r5, 1 ; 1
| ========< 0x08000f22 03d1 bne 0x8000f2c
| ||::::: 0x08000f24 0028 cmp r0, 0
| ========< 0x08000f26 01d1 bne 0x8000f2c
| ||::::: 0x08000f28 0020 movs r0, 0
| ||::::: 0x08000f2a 3ebd pop {r1, r2, r3, r4, r5, pc}
| ||::::: ; JMP XREF from 0x08000f22 (fcn.08000eac)
| ||::::: ; JMP XREF from 0x08000f26 (fcn.08000eac)
| --------> 0x08000f2c 0120 movs r0, 1 ; 1
\ ||::::: 0x08000f2e 3ebd pop {r1, r2, r3, r4, r5, pc}
|- loc.08000f30 72
| loc.08000f30 ();
| ||::::: ; JMP XREF from 0x08000b86 (fcn.08000b5c)
| |`------> 0x08000f30 1cb5 push {r2, r3, r4, lr}
| | ::::: 0x08000f32 dff8e443 ldr.w r4, [0x08001318] ; [0x8001318:4]=0x20000600
| | ::::: 0x08000f36 a088 ldrh r0, [r4, 4]
| | ::::: 0x08000f38 0090 str r0, [sp]
| | ::::: 0x08000f3a 0020 movs r0, 0
| | ::::: 0x08000f3c 8df80400 strb.w r0, [sp, 4]
| | ::::: 0x08000f40 8df80700 strb.w r0, [sp, 7]
| | ::::: 0x08000f44 00a9 add r1, sp, 0
| | ::::: 0x08000f46 2068 ldr r0, [r4]
| | ::::: 0x08000f48 00f040fc bl sign.bytes.GPIO_Init_0
| | ::::: 0x08000f4c 227a ldrb r2, [r4, 8]
| | ::::: 0x08000f4e e188 ldrh r1, [r4, 6]
| | ::::: 0x08000f50 2068 ldr r0, [r4]
| | ::::: 0x08000f52 00f07dfc bl sign.bytes.GPIO_PinAFConfig_0
| | ::::: 0x08000f56 208a ldrh r0, [r4, 0x10]
| | ::::: 0x08000f58 0090 str r0, [sp]
| | ::::: 0x08000f5a 0020 movs r0, 0
| | ::::: 0x08000f5c 8df80400 strb.w r0, [sp, 4]
| | ::::: 0x08000f60 8df80700 strb.w r0, [sp, 7]
| | ::::: 0x08000f64 00a9 add r1, sp, 0
| | ::::: 0x08000f66 e068 ldr r0, [r4, 0xc]
| | ::::: 0x08000f68 00f030fc bl sign.bytes.GPIO_Init_0
| | ::::: 0x08000f6c 227d ldrb r2, [r4, 0x14]
| | ::::: 0x08000f6e 618a ldrh r1, [r4, 0x12]
| | ::::: 0x08000f70 e068 ldr r0, [r4, 0xc]
| | ::::: 0x08000f72 00f06dfc bl sign.bytes.GPIO_PinAFConfig_0
\ | ::::: 0x08000f76 13bd pop {r0, r1, r4, pc}
/ (fcn) fcn.08000f78 96
| Caller: USB_Port_Init
| fcn.08000f78 ();
| | ::::: ; CALL XREF from 0x08001dda (USB_Port_Init)
| | ::::: 0x08000f78 e0b5 push {r5, r6, r7, lr}
| | ::::: 0x08000f7a 4ff48020 mov.w r0, 0x40000
| | ::::: 0x08000f7e 00f0ccfc bl EXTI_ClearITPendingBit
| | ::::: 0x08000f82 4ff48020 mov.w r0, 0x40000
| | ::::: 0x08000f86 0190 str r0, [sp, 4]
| | ::::: 0x08000f88 0820 movs r0, 8 ; 8
| | ::::: 0x08000f8a 8df80900 strb.w r0, [sp, 9]
| | ::::: 0x08000f8e 0120 movs r0, 1 ; 1
| | ::::: 0x08000f90 8df80a00 strb.w r0, [sp, 0xa]
| | ::::: 0x08000f94 01a8 add r0, sp, 4
| | ::::: 0x08000f96 00f083fc bl sign.bytes.EXTI_Init_0
| | ::::: 0x08000f9a 4ff4a060 mov.w r0, 0x500 ; 1280
| | ::::: 0x08000f9e 00f0c9fb bl NVIC_PriorityGroupConfig
| | ::::: 0x08000fa2 1420 movs r0, 0x14 ; 20
| | ::::: 0x08000fa4 8df80000 strb.w r0, [sp]
| | ::::: 0x08000fa8 0220 movs r0, 2 ; 2
| | ::::: 0x08000faa 8df80100 strb.w r0, [sp, 1]
| | ::::: 0x08000fae 0020 movs r0, 0
| | ::::: 0x08000fb0 8df80200 strb.w r0, [sp, 2]
| | ::::: 0x08000fb4 0120 movs r0, 1 ; 1
| | ::::: 0x08000fb6 8df80300 strb.w r0, [sp, 3]
| | ::::: 0x08000fba 00a8 add r0, sp, 0
| | ::::: 0x08000fbc 00f0bffb bl sign.bytes.NVIC_Init_0
| | ::::: ; JMP XREF from 0x080017bc (sign.bytes.SysTick_CLKSourceConfig_0 + 34)
| | ::::: 0x08000fc0 2a20 movs r0, 0x2a ; '*' ; 42
| | ::::: 0x08000fc2 8df80000 strb.w r0, [sp]
| | ::::: 0x08000fc6 0120 movs r0, 1 ; 1
| | ::::: 0x08000fc8 8df80100 strb.w r0, [sp, 1]
| | ::::: 0x08000fcc 8df80300 strb.w r0, [sp, 3]
| | ::::: 0x08000fd0 00a8 add r0, sp, 0
| | ::::: 0x08000fd2 00f0b4fb bl sign.bytes.NVIC_Init_0
\ | ::::: 0x08000fd6 07bd pop {r0, r1, r2, pc}
/ (fcn) fcn.08000fd8 10
| Caller: main
| fcn.08000fd8 ();
| | ::::: ; CALL XREF from 0x08002e1c (main)
| | ::::: 0x08000fd8 0121 movs r1, 1 ; 1
| | ::::: 0x08000fda 4ff40000 mov.w r0, 0x800000
\ |,======< 0x08000fde 00f0baba b.w RCC_APB1PeriphClockCmd
/ (fcn) fcn.08000fe2 10
| Caller: main
| fcn.08000fe2 ();
| ||::::: ; CALL XREF from 0x08002e66 (main)
| ||::::: 0x08000fe2 0021 movs r1, 0
| ||::::: 0x08000fe4 4ff40000 mov.w r0, 0x800000
\ ========< 0x08000fe8 00f0b5ba b.w RCC_APB1PeriphClockCmd
/ (fcn) sign.bytes.IntToUnicode_0 48
| Caller: USB_Get_SerialNum
| sign.bytes.IntToUnicode_0 ();
| ||::::: ; JMP XREF from 0x08001040 (USB_Get_SerialNum)
| ||::::: ; CALL XREF from 0x08001030 (USB_Get_SerialNum)
| --------> 0x08000fec 30b4 push {r4, r5}
| ||::::: 0x08000fee 0023 movs r3, 0
| ========< 0x08000ff0 09e0 b 0x8001006
| ||::::: ; JMP XREF from 0x0800100e (sign.bytes.IntToUnicode_0)
| --------> 0x08000ff2 3734 adds r4, 0x37
| ||::::: 0x08000ff4 01f81340 strb.w r4, [r1, r3, lsl 1]
| ||::::: ; JMP XREF from 0x08001016 (sign.bytes.IntToUnicode_0)
| --------> 0x08000ff8 0001 lsls r0, r0, 4
| ||::::: 0x08000ffa 0024 movs r4, 0
| ||::::: 0x08000ffc 01eb4305 add.w r5, r1, r3, lsl 1
| ||::::: 0x08001000 6c70 strb r4, [r5, 1]
| ||::::: 0x08001002 5b1c adds r3, r3, 1
| ||::::: 0x08001004 dbb2 uxtb r3, r3
| ||::::: ; JMP XREF from 0x08000ff0 (sign.bytes.IntToUnicode_0)
| --------> 0x08001006 9342 cmp r3, r2
| ========< 0x08001008 06da bge 0x8001018
| ||::::: 0x0800100a 040f lsrs r4, r0, 0x1c
| ||::::: 0x0800100c 0a2c cmp r4, 0xa ; 10
| ========< 0x0800100e f0d2 bhs 0x8000ff2
| ||::::: 0x08001010 3034 adds r4, 0x30
| ||::::: 0x08001012 01f81340 strb.w r4, [r1, r3, lsl 1]
| ========< 0x08001016 efe7 b 0x8000ff8
| ||::::: ; JMP XREF from 0x08001008 (sign.bytes.IntToUnicode_0)
| --------> 0x08001018 30bc pop {r4, r5}
\ ||::::: 0x0800101a 7047 bx lr
/ (fcn) USB_Get_SerialNum 40
| Caller: USB_Port_Init
| USB_Get_SerialNum ();
| ||::::: ; CALL XREF from 0x08001dc6 (USB_Port_Init)
| ||::::: 0x0800101c 38b5 push {r3, r4, r5, lr}
| ||::::: 0x0800101e bf48 ldr r0, [0x0800131c] ; [0x800131c:4]=0x1ff80050
| ||::::: 0x08001020 4468 ldr r4, [r0, 4]
| ||::::: 0x08001022 0168 ldr r1, [r0]
| ||::::: 0x08001024 4069 ldr r0, [r0, 0x14]
| ||::::: 0x08001026 4018 adds r0, r0, r1
| ========< 0x08001028 0bd0 beq 0x8001042
| ||::::: 0x0800102a bd4d ldr r5, [0x08001320] ; [0x8001320:4]=0x200005ac
| ||::::: 0x0800102c 0822 movs r2, 8 ; 8
| ||::::: 0x0800102e a91c adds r1, r5, 2
| ||::::: 0x08001030 fff7dcff bl sign.bytes.IntToUnicode_0
| ||::::: 0x08001034 0422 movs r2, 4 ; 4
| ||::::: 0x08001036 05f11201 add.w r1, r5, 0x12
| ||::::: 0x0800103a 2046 mov r0, r4
| ||::::: 0x0800103c bde83840 pop.w {r3, r4, r5, lr}
| ========< 0x08001040 d4e7 b sign.bytes.IntToUnicode_0
| ||::::: ; JMP XREF from 0x08001028 (USB_Get_SerialNum)
\ --------> 0x08001042 31bd pop {r0, r4, r5, pc}
/ (fcn) fcn.08001044 22
| Caller: fcn.080023d4
| fcn.08001044 ();
| ||::::: ; CALL XREF from 0x080023e2 (fcn.080023d4)
| ||::::: 0x08001044 b748 ldr r0, [0x08001324] ; [0x8001324:4]=0x20001120
| ||::::: 0x08001046 b849 ldr r1, [0x08001328] ; [0x8001328:4]=0x20001098
| ||::::: 0x08001048 897a ldrb r1, [r1, 0xa]
| ||::::: 0x0800104a 0029 cmp r1, 0
| ========< 0x0800104c 02d0 beq 0x8001054
| ||::::: 0x0800104e 0521 movs r1, 5 ; 5
| ||::::: 0x08001050 0160 str r1, [r0]
| ========< 0x08001052 01e0 b 0x8001058
| ||::::: ; JMP XREF from 0x0800104c (fcn.08001044)
| --------> 0x08001054 0121 movs r1, 1 ; 1
| ||::::: 0x08001056 0160 str r1, [r0]
| |||:::: ; JMP XREF from 0x08001052 (fcn.08001044)
\ --`=====< 0x08001058 97e5 b _Peripherals_Config
/ (fcn) USB_Cable_Config 20
| Caller: USB_PowerOn main fcn.0800106e
| USB_Cable_Config ();
| || :::: ; CALL XREF from 0x08001072 (fcn.0800106e)
| || :::: ; CALL XREF from 0x080022f8 (USB_PowerOn)
| || :::: ; CALL XREF from 0x08002e26 (main)
| || :::: ; CALL XREF from 0x08002e6c (main)
| || :::: 0x0800105a a94a ldr r2, [0x08001300] ; [0x8001300:4]=0x2000067c
| || :::: 0x0800105c 9188 ldrh r1, [r2, 4]
| || :::: 0x0800105e 1268 ldr r2, [r2]
| || :::: 0x08001060 0028 cmp r0, 0
| || :::: 0x08001062 1046 mov r0, r2
| ||,=====< 0x08001064 01d0 beq 0x800106a
| ========< 0x08001066 00f0e9bb b.w GPIO_SetBits
| |||:::: ; JMP XREF from 0x08001064 (USB_Cable_Config)
\ ==`-----> 0x0800106a 00f0e9bb b.w GPIO_ResetBits
/ (fcn) fcn.0800106e 42
| Caller: main
| fcn.0800106e ();
| || :::: ; JMP XREF from 0x080022b4 (fcn.08002284)
| || :::: ; CALL XREF from 0x08002e78 (main)
| ||.-----> 0x0800106e 80b5 push {r7, lr}
| ||::::: 0x08001070 0020 movs r0, 0
| ||::::: 0x08001072 fff7f2ff bl USB_Cable_Config
| ||::::: 0x08001076 bde80140 pop.w {r0, lr}
\ ||:`====< 0x0800107a 61e5 b fcn.08000b40
/ (fcn) fcn.0800107c 10
| Caller: fcn.08001212
| fcn.0800107c ();
| ||: ::: ; CALL XREF from 0x08001214 (fcn.08001212)
| ||: ::: 0x0800107c 0121 movs r1, 1 ; 1
| ||: ::: 0x0800107e 4ff48020 mov.w r0, 0x40000
\ ||:,====< 0x08001082 00f068ba b.w RCC_APB1PeriphClockCmd
/ (fcn) fcn.08001086 10
| Caller: fcn.08001212
| fcn.08001086 ();
| ||:|::: ; CALL XREF from 0x0800121c (fcn.08001212)
| ||:|::: 0x08001086 0121 movs r1, 1 ; 1
| ||:|::: 0x08001088 4ff08070 mov.w r0, 0x1000000
\ ========< 0x0800108c 00f04dba b.w sign.bytes.RCC_APB2PeriphResetCmd_0
/ (fcn) fcn.08001090 196
| Caller: fcn.08001212
| fcn.08001090 ();
| ||:|::: ; CALL XREF from 0x08001218 (fcn.08001212)
| ||:|::: 0x08001090 10b5 push {r4, lr}
| ||:|::: 0x08001092 88b0 sub sp, 0x20
| ||:|::: 0x08001094 4ff44060 mov.w r0, 0xc00 ; 3072
| ||:|::: 0x08001098 0190 str r0, [sp, 4]
| ||:|::: 0x0800109a 0220 movs r0, 2 ; 2
| ||:|::: 0x0800109c 8df80800 strb.w r0, [sp, 8]
| ||:|::: 0x080010a0 0020 movs r0, 0
| ||:|::: 0x080010a2 8df80a00 strb.w r0, [sp, 0xa]
| ||:|::: 0x080010a6 0120 movs r0, 1 ; 1
| ||:|::: 0x080010a8 8df80b00 strb.w r0, [sp, 0xb]
| ||:|::: 0x080010ac 0320 movs r0, 3 ; 3
| ||:|::: 0x080010ae 8df80900 strb.w r0, [sp, 9]
| ||:|::: 0x080010b2 9e4c ldr r4, [0x0800132c] ; [0x800132c:4]=0x40020400
| ||:|::: 0x080010b4 01a9 add r1, sp, 4
| ||:|::: 0x080010b6 2046 mov r0, r4
| ||:|::: 0x080010b8 00f088fb bl sign.bytes.GPIO_Init_0
| ||:|::: 0x080010bc 0722 movs r2, 7 ; 7
| ||:|::: 0x080010be 0a21 movs r1, 0xa ; 10
| ||:|::: 0x080010c0 2046 mov r0, r4
| ||:|::: 0x080010c2 00f0c5fb bl sign.bytes.GPIO_PinAFConfig_0
| ||:|::: 0x080010c6 0722 movs r2, 7 ; 7
| ||:|::: 0x080010c8 0b21 movs r1, 0xb ; 11
| ||:|::: 0x080010ca 2046 mov r0, r4
| ||:|::: 0x080010cc 00f0c0fb bl sign.bytes.GPIO_PinAFConfig_0
| ||:|::: 0x080010d0 4ff4e130 mov.w r0, 0x1c200
| ||:|::: 0x080010d4 0390 str r0, [sp, 0xc]
| ||:|::: 0x080010d6 0020 movs r0, 0
| ||:|::: 0x080010d8 0490 str r0, [sp, 0x10]
| ||:|::: 0x080010da adf81400 strh.w r0, [sp, 0x14]
| ||:|::: 0x080010de adf81800 strh.w r0, [sp, 0x18]
| ||:|::: 0x080010e2 0c20 movs r0, 0xc ; 12
| ||:|::: 0x080010e4 adf81600 strh.w r0, [sp, 0x16]
| ||:|::: 0x080010e8 914c ldr r4, [0x08001330] ; [0x8001330:4]=0x40004800
| ||:|::: 0x080010ea 03a9 add r1, sp, 0xc
| ||:|::: 0x080010ec 2046 mov r0, r4
| ||:|::: 0x080010ee 00f045fc bl sign.bytes.USART_Init_0
| ||:|::: 0x080010f2 0122 movs r2, 1 ; 1
| ||:|::: 0x080010f4 40f22661 movw r1, 0x626 ; 1574
| ||:|::: 0x080010f8 2046 mov r0, r4
| ||:|::: 0x080010fa 00f0affc bl sign.bytes.USART_ITConfig_0
| ||:|::: 0x080010fe 0122 movs r2, 1 ; 1
| ||:|::: 0x08001100 40f22441 movw r1, 0x424 ; 1060
| ||:|::: 0x08001104 2046 mov r0, r4
| ||:|::: 0x08001106 00f0a9fc bl sign.bytes.USART_ITConfig_0
| ||:|::: 0x0800110a 4ff48060 mov.w r0, 0x400 ; 1024
| ||:|::: 0x0800110e 00f011fb bl NVIC_PriorityGroupConfig
| ||:|::: 0x08001112 2720 movs r0, 0x27 ; ''' ; 39
| ||:|::: 0x08001114 8df80000 strb.w r0, [sp]
| ||:|::: 0x08001118 0120 movs r0, 1 ; 1
| ||:|::: 0x0800111a 8df80100 strb.w r0, [sp, 1]
| ||:|::: 0x0800111e 8df80200 strb.w r0, [sp, 2]
| ||:|::: 0x08001122 8df80300 strb.w r0, [sp, 3]
| ||:|::: 0x08001126 00a8 add r0, sp, 0
| ||:|::: 0x08001128 00f009fb bl sign.bytes.NVIC_Init_0
| ||:|::: 0x0800112c 0122 movs r2, 1 ; 1
| ||:|::: 0x0800112e 4021 movs r1, 0x40 ; '@' ; 64
| ||:|::: 0x08001130 2046 mov r0, r4
| ||:|::: 0x08001132 00f089fc bl sign.bytes.USART_DMACmd_0
| ||:|::: 0x08001136 0122 movs r2, 1 ; 1
| ||:|::: 0x08001138 8021 movs r1, 0x80 ; 128
| ||:|::: 0x0800113a 2046 mov r0, r4
| ||:|::: 0x0800113c 00f084fc bl sign.bytes.USART_DMACmd_0
| ||:|::: 0x08001140 0121 movs r1, 1 ; 1
| ||:|::: 0x08001142 2046 mov r0, r4
| ||:|::: 0x08001144 00f070fc bl sign.bytes.USART_Cmd_0
| ||:|::: 0x08001148 4021 movs r1, 0x40 ; '@' ; 64
| ||:|::: 0x0800114a 2046 mov r0, r4
| ||:|::: 0x0800114c 00f0a3fc bl USART_ClearFlag
| ||:|::: 0x08001150 08b0 add sp, 0x20
\ ||:|::: 0x08001152 10bd pop {r4, pc}
/ (fcn) fcn.08001154 190
| fcn.08001154 ();
| ||:|::: ; JMP XREF from 0x08001224 (fcn.08001212)
| --------> 0x08001154 2de9f041 push.w {r4, r5, r6, r7, r8, lr}
| ||:|::: 0x08001158 8cb0 sub sp, 0x30 ; '0'
| ||:|::: 0x0800115a 0c20 movs r0, 0xc ; 12
| ||:|::: 0x0800115c 8df80000 strb.w r0, [sp]
| ||:|::: 0x08001160 0320 movs r0, 3 ; 3
| ||:|::: 0x08001162 8df80100 strb.w r0, [sp, 1]
| ||:|::: 0x08001166 0220 movs r0, 2 ; 2
| ||:|::: 0x08001168 8df80200 strb.w r0, [sp, 2]
| ||:|::: 0x0800116c 0120 movs r0, 1 ; 1
| ||:|::: 0x0800116e 8df80300 strb.w r0, [sp, 3]
| ||:|::: 0x08001172 00a8 add r0, sp, 0
| ||:|::: 0x08001174 00f0e3fa bl sign.bytes.NVIC_Init_0
| ||:|::: 0x08001178 6e4f ldr r7, [0x08001334] ; [0x8001334:4]=0x4002601c
| ||:|::: 0x0800117a 3846 mov r0, r7
| ||:|::: 0x0800117c 00f0bafc bl sign.bytes.DMA_DeInit_0
| ||:|::: 0x08001180 dff8b481 ldr.w r8, [0x08001338] ; [0x8001338:4]=0x40004804
| ||:|::: 0x08001184 cdf80480 str.w r8, [sp, 4]
| ||:|::: 0x08001188 0020 movs r0, 0
| ||:|::: 0x0800118a 0790 str r0, [sp, 0x1c]
| ||:|::: 0x0800118c 0890 str r0, [sp, 0x20]
| ||:|::: 0x0800118e 0590 str r0, [sp, 0x14]
| ||:|::: 0x08001190 8020 movs r0, 0x80 ; 128
| ||:|::: 0x08001192 0690 str r0, [sp, 0x18]
| ||:|::: 0x08001194 0020 movs r0, 0
| ||:|::: 0x08001196 0990 str r0, [sp, 0x24]
| ||:|::: 0x08001198 0b90 str r0, [sp, 0x2c]
| ||:|::: 0x0800119a 4ff40074 mov.w r4, 0x200 ; 512
| ||:|::: 0x0800119e 0494 str r4, [sp, 0x10]
| ||:|::: 0x080011a0 664d ldr r5, [0x0800133c] ; [0x800133c:4]=0x20000698
| ||:|::: 0x080011a2 0295 str r5, [sp, 8]
| ||:|::: 0x080011a4 1020 movs r0, 0x10 ; 16
| ||:|::: 0x080011a6 0390 str r0, [sp, 0xc]
| ||:|::: 0x080011a8 4ff40056 mov.w r6, 0x2000
| ||:|::: 0x080011ac 0a96 str r6, [sp, 0x28]
| ||:|::: 0x080011ae 01a9 add r1, sp, 4
| ||:|::: 0x080011b0 3846 mov r0, r7
| ||:|::: 0x080011b2 00f015fd bl sign.bytes.DMA_Init_0
| ||:|::: 0x080011b6 0122 movs r2, 1 ; 1
| ||:|::: 0x080011b8 0221 movs r1, 2 ; 2
| ||:|::: 0x080011ba 3846 mov r0, r7
| ||:|::: 0x080011bc 00f039fd bl sign.bytes.DMA_ITConfig_0
| ||:|::: 0x080011c0 5f4f ldr r7, [0x08001340] ; [0x8001340:4]=0x40026030
| ||:|::: 0x080011c2 0021 movs r1, 0
| ||:|::: 0x080011c4 3846 mov r0, r7
| ||:|::: 0x080011c6 00f026fd bl sign.bytes.DMA_Cmd_0
| ||:|::: 0x080011ca 3846 mov r0, r7
| ||:|::: 0x080011cc 00f092fc bl sign.bytes.DMA_DeInit_0
| ||:|::: 0x080011d0 cdf80480 str.w r8, [sp, 4]
| ||:|::: 0x080011d4 0020 movs r0, 0
| ||:|::: 0x080011d6 0790 str r0, [sp, 0x1c]
| ||:|::: 0x080011d8 0890 str r0, [sp, 0x20]
| ||:|::: 0x080011da 0590 str r0, [sp, 0x14]
| ||:|::: 0x080011dc 8020 movs r0, 0x80 ; 128
| ||:|::: 0x080011de 0690 str r0, [sp, 0x18]
| ||:|::: 0x080011e0 0020 movs r0, 0
| ||:|::: 0x080011e2 0990 str r0, [sp, 0x24]
| ||:|::: 0x080011e4 0b90 str r0, [sp, 0x2c]
| ||:|::: 0x080011e6 0494 str r4, [sp, 0x10]
| ||:|::: 0x080011e8 05f50070 add.w r0, r5, 0x200
| ||:|::: 0x080011ec 0290 str r0, [sp, 8]
| ||:|::: 0x080011ee 0020 movs r0, 0
| ||:|::: 0x080011f0 0390 str r0, [sp, 0xc]
| ||:|::: 0x080011f2 0a96 str r6, [sp, 0x28]
| ||:|::: 0x080011f4 01a9 add r1, sp, 4
| ||:|::: 0x080011f6 3846 mov r0, r7
| ||:|::: 0x080011f8 00f0f2fc bl sign.bytes.DMA_Init_0
| ||:|::: 0x080011fc 4ff48070 mov.w r0, 0x100 ; 256
| ||:|::: 0x08001200 00f021fd bl sign.bytes.DMA_ClearFlag_0
| ||:|::: 0x08001204 0121 movs r1, 1 ; 1
| ||:|::: 0x08001206 3846 mov r0, r7
| ||:|::: 0x08001208 00f005fd bl sign.bytes.DMA_Cmd_0
| ||:|::: 0x0800120c 0cb0 add sp, 0x30
\ ||:|::: 0x0800120e bde8f081 pop.w {r4, r5, r6, r7, r8, pc}
/ (fcn) fcn.08001212 210
| Caller: fcn.08000b5c
| fcn.08001212 ();
| ||:|::: ; CALL XREF from 0x08000b76 (fcn.08000b5c)
| ||:|::: 0x08001212 80b5 push {r7, lr}
| ||:|::: 0x08001214 fff732ff bl fcn.0800107c
| ||:|::: 0x08001218 fff73aff bl fcn.08001090
| ||:|::: 0x0800121c fff733ff bl fcn.08001086
| ||:|::: 0x08001220 bde80140 pop.w {r0, lr}
\ ========< 0x08001224 96e7 b fcn.08001154
/ (fcn) fcn.08001226 26
| Caller: main
| fcn.08001226 ();
| ||:|::: ; CALL XREF from 0x08002de8 (main)
| ||:|::: ; CALL XREF from 0x08002e02 (main)
| ||:|::: ; CALL XREF from 0x08002e5c (main)
| ||:|::: 0x08001226 394a ldr r2, [0x0800130c] ; [0x800130c:4]=0x2000066c
| ||:|::: 0x08001228 9188 ldrh r1, [r2, 4]
| ||:|::: 0x0800122a 1368 ldr r3, [r2]
| ||:|::: 0x0800122c 0028 cmp r0, 0
| ========< 0x0800122e 03d0 beq 0x8001238
| ||:|::: 0x08001230 0122 movs r2, 1 ; 1
| ||:|::: 0x08001232 1846 mov r0, r3
| ========< 0x08001234 00f006bb b.w GPIO_WriteBit
| ||:|::: ; JMP XREF from 0x0800122e (fcn.08001226)
| --------> 0x08001238 0022 movs r2, 0
| ||:|::: 0x0800123a 1846 mov r0, r3
\ ========< 0x0800123c 00f002bb b.w GPIO_WriteBit
/ (fcn) fcn.08001240 112
| Caller: main
| fcn.08001240 ();
| ||:|::: ; CALL XREF from 0x08002e14 (main)
| ||:|::: 0x08001240 70b5 push {r4, r5, r6, lr}
| ||:|::: 0x08001242 82b0 sub sp, 8
| ||:|::: 0x08001244 1d46 mov r5, r3
| ||:|::: 0x08001246 01f03f01 and r1, r1, 0x3f
| ||:|::: 0x0800124a 8df80010 strb.w r1, [sp]
| ||:|::: 0x0800124e 069c ldr r4, [sp, 0x18]
| ||:|::: 0x08001250 611c adds r1, r4, 1
| ||:|::: 0x08001252 8df80110 strb.w r1, [sp, 1]
| ||:|::: 0x08001256 9df80210 ldrb.w r1, [sp, 2]
| ||:|::: 0x0800125a 01f07f01 and r1, r1, 0x7f
| ||:|::: 0x0800125e 41eac010 orr.w r0, r1, r0, lsl 7
| ||:|::: 0x08001262 8df80200 strb.w r0, [sp, 2]
| ||:|::: 0x08001266 9df80200 ldrb.w r0, [sp, 2]
| ||:|::: 0x0800126a 62f30600 bfi r0, r2, 0, 7
| ||:|::: 0x0800126e 8df80200 strb.w r0, [sp, 2]
| ||:|::: 0x08001272 0798 ldr r0, [sp, 0x1c]
| ||:|::: 0x08001274 0328 cmp r0, 3 ; 3
| ========< 0x08001276 1ad1 bne 0x80012ae
| ||:|::: 0x08001278 002c cmp r4, 0
| ========< 0x0800127a 0ed0 beq 0x800129a
| ||:|::: 0x0800127c 2f4e ldr r6, [0x0800133c] ; [0x800133c:4]=0x20000698
| ||:|::: 0x0800127e 0322 movs r2, 3 ; 3
| ||:|::: 0x08001280 00a9 add r1, sp, 0
| ||:|::: 0x08001282 3046 mov r0, r6
| ||:|::: 0x08001284 00f01efd bl memcpy ; void *memcpy(void *s1, const void *s2, size_t n)
| ||:|::: 0x08001288 0020 movs r0, 0
| ========< 0x0800128a 04e0 b 0x8001296
| ||:|::: ; JMP XREF from 0x08001298 (fcn.08001240)
| --------> 0x0800128c 415d ldrb r1, [r0, r5]
| ||:|::: 0x0800128e 8219 adds r2, r0, r6
| ||:|::: 0x08001290 d170 strb r1, [r2, 3]
| ||:|::: 0x08001292 401c adds r0, r0, 1
| ||:|::: 0x08001294 c0b2 uxtb r0, r0
| ||:|::: ; JMP XREF from 0x0800128a (fcn.08001240)
| --------> 0x08001296 a042 cmp r0, r4
| ========< 0x08001298 f8db blt 0x800128c
| ||:|::: ; JMP XREF from 0x0800127a (fcn.08001240)
| --------> 0x0800129a 264d ldr r5, [0x08001334] ; [0x8001334:4]=0x4002601c
| ||:|::: 0x0800129c e11c adds r1, r4, 3
| ||:|::: 0x0800129e 89b2 uxth r1, r1
| ||:|::: 0x080012a0 2846 mov r0, r5
| ||:|::: 0x080012a2 00f0c4fc bl DMA_SetCurrDataCounter
| ||:|::: 0x080012a6 0121 movs r1, 1 ; 1
| ||:|::: 0x080012a8 2846 mov r0, r5
| ||:|::: 0x080012aa 00f0b4fc bl sign.bytes.DMA_Cmd_0
| ||:|::: ; JMP XREF from 0x08001276 (fcn.08001240)
\ --------> 0x080012ae 73bd pop {r0, r1, r4, r5, r6, pc}
\ ||:|::: ;-- USART3_RxMemInit:
/ (fcn) _USART3_RxMemInit 70
| Caller: USART3_IRQHandler
| _USART3_RxMemInit ();
| ||:|::: ; CALL XREF from 0x08002a30 (USART3_IRQHandler)
| ||:|::: 0x080012b0 38b5 push {r3, r4, r5, lr}
| ||:|::: 0x080012b2 234c ldr r4, [0x08001340] ; [0x8001340:4]=0x40026030
| ||:|::: 0x080012b4 0021 movs r1, 0
| ||:|::: 0x080012b6 2046 mov r0, r4
| ||:|::: 0x080012b8 00f0adfc bl sign.bytes.DMA_Cmd_0
| ||:|::: 0x080012bc 4ff48070 mov.w r0, 0x100 ; 256
| ||:|::: 0x080012c0 00f0c1fc bl sign.bytes.DMA_ClearFlag_0
| ||:|::: 0x080012c4 4ff40070 mov.w r0, 0x200 ; 512
| ||:|::: 0x080012c8 6060 str r0, [r4, 4]
| ||:|::: 0x080012ca 1c48 ldr r0, [0x0800133c] ; [0x800133c:4]=0x20000698
| ||:|::: 0x080012cc 00f50075 add.w r5, r0, 0x200
| ||:|::: 0x080012d0 4ff40072 mov.w r2, 0x200 ; 512
| ||:|::: 0x080012d4 2946 mov r1, r5
| ||:|::: 0x080012d6 00f58060 add.w r0, r0, 0x400
| ||:|::: 0x080012da 00f0f3fc bl memcpy ; void *memcpy(void *s1, const void *s2, size_t n)
| ||:|::: 0x080012de 4ff40072 mov.w r2, 0x200 ; 512
| ||:|::: 0x080012e2 0021 movs r1, 0
| ||:|::: 0x080012e4 2846 mov r0, r5
| ||:|::: 0x080012e6 00f0f3fc bl memset ; void *memset(void *s, int c, size_t n)
| ||:|::: 0x080012ea 0121 movs r1, 1 ; 1
| ||:|::: 0x080012ec 2046 mov r0, r4
| ||:|::: 0x080012ee bde83440 pop.w {r2, r4, r5, lr}
\ ========< 0x080012f2 00f090bc b.w sign.bytes.DMA_Cmd_0
||:|::: 0x080012f6 0000 movs r0, r0
||:|::: ; DATA XREF from 0x08000b44 (fcn.08000b40)
||:|::: 0x080012f8 .dword 0xe000ed0c
||:|::: ; DATA XREF from 0x08000b4e (fcn.08000b40)
||:|::: 0x080012fc .dword 0x05fa0004
||:|::: ; DATA XREF from 0x08000c50 (fcn.08000c4c)
||:|::: ; DATA XREF from 0x0800105a (USB_Cable_Config)
||:|::: 0x08001300 .dword 0x2000067c
||:|::: ; DATA XREF from 0x08000c72 (fcn.08000c4c)
||:|::: 0x08001304 .dword 0x20000674
||:|::: ; DATA XREF from 0x08000c9c (fcn.08000c4c)
||:|::: 0x08001308 .dword 0x20000664
||:|::: ; DATA XREF from 0x08000cbe (fcn.08000c4c)
||:|::: ; DATA XREF from 0x08001226 (fcn.08001226)
||:|::: 0x0800130c .dword 0x2000066c
||:|::: ; DATA XREF from 0x08000cee (fcn.08000c4c)
||:|::: ; DATA XREF from 0x08000d5c (fcn.08000d56)
||:|::: 0x08001310 .dword 0x2000031c
||:|::: ; DATA XREF from 0x08000d20 (fcn.08000c4c)
||:|::: 0x08001314 .dword 0x20000544
||:|::: ; DATA XREF from 0x08000eb0 (fcn.08000eac)
||:|::: ; DATA XREF from 0x08000f32 (loc.08000f30)
||:|::: 0x08001318 .dword 0x20000600
||:|::: ; DATA XREF from 0x0800101e (USB_Get_SerialNum)
||:|::: 0x0800131c .dword 0x1ff80050
||:|::: ; DATA XREF from 0x0800102a (USB_Get_SerialNum)
||:|::: 0x08001320 .dword 0x200005ac
||:|::: ; DATA XREF from 0x08001044 (fcn.08001044)
||:|::: 0x08001324 .dword 0x20001120
||:|::: ; DATA XREF from 0x08001046 (fcn.08001044)
||:|::: 0x08001328 .dword 0x20001098
||:|::: ; DATA XREF from 0x080010b2 (fcn.08001090)
||:|::: 0x0800132c .dword 0x40020400
||:|::: ; DATA XREF from 0x080010e8 (fcn.08001090)
||:|::: 0x08001330 .dword 0x40004800
||:|::: ; DATA XREF from 0x08001178 (fcn.08001154)
||:|::: ; DATA XREF from 0x0800129a (fcn.08001240)
||:|::: ; DATA XREF from 0x08001330 (USART3_RxMemInit + 128)
||:|::: 0x08001334 .dword 0x4002601c
||:|::: ; DATA XREF from 0x08001180 (fcn.08001154)
||:|::: 0x08001338 .dword 0x40004804
||:|::: ; DATA XREF from 0x080011a0 (fcn.08001154)
||:|::: ; DATA XREF from 0x0800127c (fcn.08001240)
||:|::: ; DATA XREF from 0x080012ca (_USART3_RxMemInit)
||:|::: 0x0800133c .dword 0x20000698
||:|::: ; DATA XREF from 0x080011c0 (fcn.08001154)
||:|::: ; DATA XREF from 0x080012b2 (_USART3_RxMemInit)
||:|::: 0x08001340 .dword 0x40026030
/ (fcn) fcn.08001344 24
| Caller: fcn.0800135c
| fcn.08001344 ();
| ||:|::: ; CALL XREF from 0x08001392 (fcn.0800135c)
| ||:|::: 0x08001344 0170 strb r1, [r0]
| ||:|::: 0x08001346 4270 strb r2, [r0, 1]
| ||:|::: 0x08001348 c370 strb r3, [r0, 3]
| ||:|::: 0x0800134a 0099 ldr r1, [sp]
| ||:|::: ; DATA XREF from 0x08001338 (USART3_RxMemInit + 136)
| ||:|::: 0x0800134c 8170 strb r1, [r0, 2]
| ||:|::: 0x0800134e 0199 ldr r1, [sp, 4]
| ||:|::: 0x08001350 0171 strb r1, [r0, 4]
| ||:|::: 0x08001352 0299 ldr r1, [sp, 8]
| ||:|::: 0x08001354 4171 strb r1, [r0, 5]
| ||:|::: 0x08001356 0399 ldr r1, [sp, 0xc]
| ||:|::: 0x08001358 8171 strb r1, [r0, 6]
\ ||:|::: 0x0800135a 7047 bx lr
/ (fcn) fcn.0800135c 80
| Caller: fcn.08000b5c
| fcn.0800135c ();
| ||:|::: ; CALL XREF from 0x08000b6e (fcn.08000b5c)
| ||:|::: 0x0800135c f0b5 push {r4, r5, r6, r7, lr}
| ||:|::: 0x0800135e 85b0 sub sp, 0x14
| ||:|::: 0x08001360 0024 movs r4, 0
| ||:|::: 0x08001362 2546 mov r5, r4
| ========< 0x08001364 1ce0 b 0x80013a0
| ||:|::: ; JMP XREF from 0x0800139c (fcn.0800135c)
| --------> 0x08001366 1148 ldr r0, [0x080013ac] ; [0x80013ac:4]=0x20000000
| ||:|::: 0x08001368 c5ebc501 rsb r1, r5, r5, lsl 3
| ||:|::: 0x0800136c 00eb4101 add.w r1, r0, r1, lsl 1
| ||:|::: 0x08001370 735c ldrb r3, [r6, r1]
| ||:|::: 0x08001372 0021 movs r1, 0
| ||:|::: 0x08001374 0391 str r1, [sp, 0xc]
| ||:|::: 0x08001376 0291 str r1, [sp, 8]
| ||:|::: 0x08001378 0191 str r1, [sp, 4]
| ||:|::: 0x0800137a 0091 str r1, [sp]
| ||:|::: 0x0800137c 1a46 mov r2, r3
| ||:|::: 0x0800137e 2146 mov r1, r4
| ||:|::: 0x08001380 c9b2 uxtb r1, r1
| ||:|::: 0x08001382 c6ebc607 rsb r7, r6, r6, lsl 3
| ||:|::: 0x08001386 4ff0620c mov.w ip, 0x62 ; 'b' ; 98
| ||:|::: 0x0800138a 0cfb0500 mla r0, ip, r5, r0
| ||:|::: 0x0800138e 3818 adds r0, r7, r0
| ||:|::: 0x08001390 4830 adds r0, 0x48
| ||:|::: 0x08001392 fff7d7ff bl fcn.08001344
| ||:|::: 0x08001396 641c adds r4, r4, 1
| ||:|::: 0x08001398 761c adds r6, r6, 1
| ||:|::: ; JMP XREF from 0x080013a6 (fcn.0800135c)
| --------> 0x0800139a 0e2e cmp r6, 0xe ; 14
| ========< 0x0800139c e3db blt 0x8001366
| ||:|::: 0x0800139e 6d1c adds r5, r5, 1
| ||:|::: ; JMP XREF from 0x08001364 (fcn.0800135c)
| --------> 0x080013a0 052d cmp r5, 5 ; 5
| ========< 0x080013a2 01da bge 0x80013a8
| ||:|::: 0x080013a4 0026 movs r6, 0
| ========< 0x080013a6 f8e7 b 0x800139a
| ||:|::: ; JMP XREF from 0x080013a2 (fcn.0800135c)
| --------> 0x080013a8 05b0 add sp, 0x14
\ ||:|::: 0x080013aa f0bd pop {r4, r5, r6, r7, pc}
||:|::: ; DATA XREF from 0x08001366 (fcn.0800135c)
||:|::: 0x080013ac .dword 0x20000000
/ (fcn) RCC_DeInit 48
| Caller: _Peripherals_Config
| RCC_DeInit ();
| ||:|::: ; CALL XREF from 0x08000b8c (_Peripherals_Config)
| ||:|::: 0x080013b0 7548 ldr r0, [0x08001588] ; [0x8001588:4]=0x40023800
| ||:|::: 0x080013b2 0168 ldr r1, [r0]
| ||:|::: 0x080013b4 41f48071 orr r1, r1, 0x100
| ||:|::: 0x080013b8 0160 str r1, [r0]
| ||:|::: 0x080013ba 8168 ldr r1, [r0, 8]
| ||:|::: 0x080013bc 734a ldr r2, [0x0800158c] ; [0x800158c:4]=0x88ffc00c
| ||:|::: 0x080013be 1140 ands r1, r2
| ||:|::: 0x080013c0 8160 str r1, [r0, 8]
| ||:|::: 0x080013c2 0168 ldr r1, [r0]
| ||:|::: 0x080013c4 724a ldr r2, [0x08001590] ; [0x8001590:4]=0xeefefffe
| ||:|::: 0x080013c6 1140 ands r1, r2
| ||:|::: 0x080013c8 0160 str r1, [r0]
| ||:|::: 0x080013ca 0168 ldr r1, [r0]
| ||:|::: 0x080013cc 21f48021 bic r1, r1, 0x40000
| ||:|::: 0x080013d0 0160 str r1, [r0]
| ||:|::: 0x080013d2 8168 ldr r1, [r0, 8]
| ||:|::: 0x080013d4 21f47d01 bic r1, r1, 0xfd0000
| ||:|::: 0x080013d8 8160 str r1, [r0, 8]
| ||:|::: 0x080013da 0021 movs r1, 0
| ||:|::: 0x080013dc c160 str r1, [r0, 0xc]
\ ||:|::: 0x080013de 7047 bx lr
/ (fcn) RCC_HSEConfig 10
| Caller: _Peripherals_Config
| RCC_HSEConfig ();
| ||:|::: ; CALL XREF from 0x08000b92 (_Peripherals_Config)
| ||:|::: 0x080013e0 6c49 ldr r1, [0x08001594] ; [0x8001594:4]=0x40023802
| ||:|::: 0x080013e2 0022 movs r2, 0
| ||:|::: 0x080013e4 0a70 strb r2, [r1]
| ||:|::: 0x080013e6 0870 strb r0, [r1]
\ ||:|::: 0x080013e8 7047 bx lr
/ (fcn) sign.bytes.RCC_WaitForHSEStartUp_0 50
| Caller: _Peripherals_Config
| sign.bytes.RCC_WaitForHSEStartUp_0 ();
| ||:|::: ; CALL XREF from 0x08000b96 (_Peripherals_Config)
| ||:|::: 0x080013ea 10b5 push {r4, lr}
| ||:|::: 0x080013ec 82b0 sub sp, 8
| ||:|::: 0x080013ee 0020 movs r0, 0
| ||:|::: 0x080013f0 0090 str r0, [sp]
| ||:|::: 0x080013f2 0446 mov r4, r0
| ||:|::: ; JMP XREF from 0x0800140a (sign.bytes.RCC_WaitForHSEStartUp_0)
| --------> 0x080013f4 3120 movs r0, 0x31 ; '1' ; 49
| ||:|::: 0x080013f6 00f0b9f8 bl sign.bytes.RCC_GetFlagStatus_0
| ||:|::: 0x080013fa 0099 ldr r1, [sp]
| ||:|::: 0x080013fc 491c adds r1, r1, 1
| ||:|::: 0x080013fe 0091 str r1, [sp]
| ||:|::: 0x08001400 0099 ldr r1, [sp]
| ||:|::: 0x08001402 b1f5a04f cmp.w r1, 0x5000
| ========< 0x08001406 01d0 beq 0x800140c
| ||:|::: 0x08001408 0028 cmp r0, 0
| ========< 0x0800140a f3d0 beq 0x80013f4
| ||:|::: ; JMP XREF from 0x08001406 (sign.bytes.RCC_WaitForHSEStartUp_0)
| --------> 0x0800140c 3120 movs r0, 0x31 ; '1' ; 49
| ||:|::: 0x0800140e 00f0adf8 bl sign.bytes.RCC_GetFlagStatus_0
| ||:|::: 0x08001412 0028 cmp r0, 0
| ========< 0x08001414 00d0 beq 0x8001418
| ||:|::: 0x08001416 0124 movs r4, 1 ; 1
| ||:|::: ; JMP XREF from 0x08001414 (sign.bytes.RCC_WaitForHSEStartUp_0)
| --------> 0x08001418 2046 mov r0, r4
\ ||:|::: 0x0800141a 16bd pop {r1, r2, r4, pc}
/ (fcn) RCC_MSICmd 6
| Caller: _Peripherals_Config
| RCC_MSICmd ();
| ||:|::: ; CALL XREF from 0x08000c36 (_Peripherals_Config)
| ||:|::: 0x0800141c 5f49 ldr r1, [0x0800159c] ; [0x800159c:4]=0x42470020
| ||:|::: 0x0800141e 0860 str r0, [r1]
\ ||:|::: 0x08001420 7047 bx lr
/ (fcn) RCC_HSICmd 6
| Caller: _Peripherals_Config
| RCC_HSICmd ();
| ||:|::: ; CALL XREF from 0x08000c30 (_Peripherals_Config)
| ||:|::: 0x08001422 5f49 ldr r1, [0x080015a0] ; [0x80015a0:4]=0x42470000
| ||:|::: 0x08001424 0860 str r0, [r1]
\ ||:|::: 0x08001426 7047 bx lr
|- RCC_LSEConfig 10
| RCC_LSEConfig ();
| ||:|::: ; JMP XREF from 0x08000c40 (_Peripherals_Config)
| `-------> 0x08001428 5e49 ldr r1, [0x080015a4] ; [0x80015a4:4]=0x40023835
| |:|::: 0x0800142a 0022 movs r2, 0
| |:|::: 0x0800142c 0a70 strb r2, [r1]
| |:|::: 0x0800142e 0870 strb r0, [r1]
\ |:|::: 0x08001430 7047 bx lr
/ (fcn) RCC_PLLConfig 10
| Caller: _Peripherals_Config
| RCC_PLLConfig ();
| |:|::: ; CALL XREF from 0x08000be4 (_Peripherals_Config)
| |:|::: 0x08001432 0843 orrs r0, r1
| |:|::: 0x08001434 1043 orrs r0, r2
| |:|::: 0x08001436 5c49 ldr r1, [0x080015a8] ; [0x80015a8:4]=0x4002380a
| |:|::: 0x08001438 0870 strb r0, [r1]
\ |:|::: 0x0800143a 7047 bx lr
/ (fcn) RCC_PLLCmd 6
| Caller: _Peripherals_Config
| RCC_PLLCmd ();
| |:|::: ; CALL XREF from 0x08000bea (_Peripherals_Config)
| |:|::: 0x0800143c 5b49 ldr r1, [0x080015ac] ; [0x80015ac:4]=0x42470060
| |:|::: 0x0800143e 0860 str r0, [r1]
\ |:|::: 0x08001440 7047 bx lr
/ (fcn) RCC_SYSCLKConfig 14
| Caller: _Peripherals_Config
| RCC_SYSCLKConfig ();
| |:|::: ; CALL XREF from 0x08000bfa (_Peripherals_Config)
| |:|::: 0x08001442 5b49 ldr r1, [0x080015b0] ; [0x80015b0:4]=0x40023808
| |:|::: 0x08001444 0a68 ldr r2, [r1]
| |:|::: 0x08001446 9208 lsrs r2, r2, 2
| |:|::: 0x08001448 50ea8200 orrs.w r0, r0, r2, lsl 2
| |:|::: 0x0800144c 0860 str r0, [r1]
\ |:|::: 0x0800144e 7047 bx lr
/ (fcn) RCC_GetSYSCLKSource 10
| Caller: _Peripherals_Config
| RCC_GetSYSCLKSource ();
| |:|::: 0x08001450 5748 ldr r0, [0x080015b0] ; [0x80015b0:4]=0x40023808
| |:|::: 0x08001452 0068 ldr r0, [r0]
| |:|::: 0x08001454 00f00c00 and r0, r0, 0xc
\ |:|::: 0x08001458 7047 bx lr
/ (fcn) RCC_HCLKConfig 14
| Caller: _Peripherals_Config
| RCC_HCLKConfig ();
| |:|::: ; CALL XREF from 0x08000bca (_Peripherals_Config)
| |:|::: 0x0800145a 5549 ldr r1, [0x080015b0] ; [0x80015b0:4]=0x40023808
| |:|::: 0x0800145c 0a68 ldr r2, [r1]
| |:|::: 0x0800145e 22f0f002 bic r2, r2, 0xf0
| |:|::: 0x08001462 1043 orrs r0, r2
| |:|::: 0x08001464 0860 str r0, [r1]
\ |:|::: 0x08001466 7047 bx lr
/ (fcn) RCC_PCLK1Config 14
| Caller: _Peripherals_Config
| RCC_PCLK1Config ();
| |:|::: ; CALL XREF from 0x08000bda (_Peripherals_Config)
| |:|::: 0x08001468 5149 ldr r1, [0x080015b0] ; [0x80015b0:4]=0x40023808
| |:|::: 0x0800146a 0a68 ldr r2, [r1]
| |:|::: 0x0800146c 22f4e062 bic r2, r2, 0x700
| |:|::: 0x08001470 1043 orrs r0, r2
| |:|::: 0x08001472 0860 str r0, [r1]
\ |:|::: 0x08001474 7047 bx lr
/ (fcn) RCC_PCLK2Config 16
| Caller: _Peripherals_Config
| RCC_PCLK2Config ();
| |:|::: ; CALL XREF from 0x08000bd2 (_Peripherals_Config)
| |:|::: 0x08001476 4e49 ldr r1, [0x080015b0] ; [0x80015b0:4]=0x40023808
| |:|::: 0x08001478 0a68 ldr r2, [r1]
| |:|::: 0x0800147a 22f46052 bic r2, r2, 0x3800
| |:|::: 0x0800147e 42eac000 orr.w r0, r2, r0, lsl 3
| |:|::: 0x08001482 0860 str r0, [r1]
\ |:|::: 0x08001484 7047 bx lr
/ (fcn) RCC_GetClocksFreq 164
| Caller: sign.bytes.USART_Init_0
| RCC_GetClocksFreq ();
| |:|::: ; CALL XREF from 0x080019b8 (sign.bytes.USART_Init_0)
| |:|::: 0x08001486 30b4 push {r4, r5}
| |:|::: 0x08001488 4349 ldr r1, [0x08001598] ; [0x8001598:4]=0x40023804
| |:|::: 0x0800148a 4a68 ldr r2, [r1, 4]
| |:|::: 0x0800148c 12f00c02 ands r2, r2, 0xc
| ,=======< 0x08001490 06d0 beq 0x80014a0
| ||:|::: 0x08001492 042a cmp r2, 4 ; 4
| ========< 0x08001494 0dd0 beq 0x80014b2
| ||:|::: 0x08001496 082a cmp r2, 8 ; 8
| ========< 0x08001498 0bd0 beq 0x80014b2
| ||:|::: 0x0800149a 0c2a cmp r2, 0xc ; 12
| ========< 0x0800149c 0cd0 beq 0x80014b8
| ========< 0x0800149e 1de0 b 0x80014dc
| ||:|::: ; JMP XREF from 0x08001490 (RCC_GetClocksFreq)
| `-------> 0x080014a0 0122 movs r2, 1 ; 1
| |:|::: 0x080014a2 0b68 ldr r3, [r1]
| |:|::: 0x080014a4 c3f34233 ubfx r3, r3, 0xd, 3
| |:|::: 0x080014a8 5b1c adds r3, r3, 1
| |:|::: 0x080014aa 9a40 lsls r2, r3
| |:|::: 0x080014ac d203 lsls r2, r2, 0xf
| |:|::: 0x080014ae 0260 str r2, [r0]
| ,=======< 0x080014b0 1ce0 b 0x80014ec
| ||:|::: ; JMP XREF from 0x08001494 (RCC_GetClocksFreq)
| ||:|::: ; JMP XREF from 0x08001498 (RCC_GetClocksFreq)
| --------> 0x080014b2 404a ldr r2, [0x080015b4] ; [0x80015b4:4]=0xf42400
| ||:|::: 0x080014b4 0260 str r2, [r0]
| ========< 0x080014b6 19e0 b 0x80014ec
| ||:|::: ; JMP XREF from 0x0800149c (RCC_GetClocksFreq)
| --------> 0x080014b8 4a68 ldr r2, [r1, 4]
| ||:|::: 0x080014ba 02f47012 and r2, r2, 0x3c0000
| ||:|::: 0x080014be 4b68 ldr r3, [r1, 4]
| ||:|::: 0x080014c0 03f44003 and r3, r3, 0xc00000
| ||:|::: 0x080014c4 920c lsrs r2, r2, 0x12
| ||:|::: 0x080014c6 3c4c ldr r4, [0x080015b8] ; [0x80015b8:4]=0x20000590
| ||:|::: 0x080014c8 125d ldrb r2, [r2, r4]
| ||:|::: 0x080014ca 9b0d lsrs r3, r3, 0x16
| ||:|::: 0x080014cc 5b1c adds r3, r3, 1
| ||:|::: 0x080014ce 4c68 ldr r4, [r1, 4]
| ||:|::: 0x080014d0 384d ldr r5, [0x080015b4] ; [0x80015b4:4]=0xf42400
| ||:|::: 0x080014d2 6a43 muls r2, r5, r2
| ||:|::: 0x080014d4 b2fbf3f2 udiv r2, r2, r3
| ||:|::: 0x080014d8 0260 str r2, [r0]
| ========< 0x080014da 07e0 b 0x80014ec
| ||:|::: ; JMP XREF from 0x0800149e (RCC_GetClocksFreq)
| --------> 0x080014dc 0122 movs r2, 1 ; 1
| ||:|::: 0x080014de 0b68 ldr r3, [r1]
| ||:|::: 0x080014e0 c3f34233 ubfx r3, r3, 0xd, 3
| ||:|::: 0x080014e4 5b1c adds r3, r3, 1
| ||:|::: 0x080014e6 9a40 lsls r2, r3
| ||:|::: 0x080014e8 d203 lsls r2, r2, 0xf
| ||:|::: 0x080014ea 0260 str r2, [r0]
| ||:|::: ; JMP XREF from 0x080014b0 (RCC_GetClocksFreq)
| ||:|::: ; JMP XREF from 0x080014b6 (RCC_GetClocksFreq)
| ||:|::: ; JMP XREF from 0x080014da (RCC_GetClocksFreq)
| `-------> 0x080014ec 4a68 ldr r2, [r1, 4]
| |:|::: 0x080014ee 02f0f003 and r3, r2, 0xf0
| |:|::: 0x080014f2 314a ldr r2, [0x080015b8] ; [0x80015b8:4]=0x20000590
| |:|::: 0x080014f4 02eb1313 add.w r3, r2, r3, lsr 4
| |:|::: 0x080014f8 1b7b ldrb r3, [r3, 0xc]
| |:|::: 0x080014fa 0468 ldr r4, [r0]
| |:|::: 0x080014fc 24fa03f3 lsr.w r3, r4, r3
| |:|::: 0x08001500 4360 str r3, [r0, 4]
| |:|::: 0x08001502 4c68 ldr r4, [r1, 4]
| |:|::: 0x08001504 04f4e064 and r4, r4, 0x700
| |:|::: 0x08001508 02eb1424 add.w r4, r2, r4, lsr 8
| |:|::: 0x0800150c 247b ldrb r4, [r4, 0xc]
| |:|::: 0x0800150e e340 lsrs r3, r4
| |:|::: 0x08001510 8360 str r3, [r0, 8]
| |:|::: 0x08001512 4968 ldr r1, [r1, 4]
| |:|::: 0x08001514 01f46051 and r1, r1, 0x3800
| |:|::: 0x08001518 02ebd121 add.w r1, r2, r1, lsr 11
| |:|::: 0x0800151c 097b ldrb r1, [r1, 0xc]
| |:|::: 0x0800151e 4268 ldr r2, [r0, 4]
| |:|::: 0x08001520 22fa01f1 lsr.w r1, r2, r1
| |:|::: 0x08001524 c160 str r1, [r0, 0xc]
| |:|::: 0x08001526 30bc pop {r4, r5}
\ |:|::: 0x08001528 7047 bx lr
/ (fcn) sign.bytes.RCC_APB2PeriphResetCmd_0 22
| Caller: _Peripherals_Config
| sign.bytes.RCC_APB2PeriphResetCmd_0 ();
| |:|::: ; JMP XREF from 0x0800108c (fcn.08001086)
| |:|::: ; CALL XREF from 0x08000c12 (_Peripherals_Config)
| |:|::: ; CALL XREF from 0x08000c1a (_Peripherals_Config)
| |:|::: ; CALL XREF from 0x08000c22 (_Peripherals_Config)
| --------> 0x0800152a 244a ldr r2, [0x080015bc] ; [0x80015bc:4]=0x4002381c
| |:|::: 0x0800152c 0029 cmp r1, 0
| |:|::: 0x0800152e 1168 ldr r1, [r2]
| ,=======< 0x08001530 02d0 beq 0x8001538
| ||:|::: 0x08001532 0843 orrs r0, r1
| ||:|::: 0x08001534 1060 str r0, [r2]
| ||:|::: 0x08001536 7047 bx lr
| ||:|::: ; JMP XREF from 0x08001530 (sign.bytes.RCC_APB2PeriphResetCmd_0)
| `-------> 0x08001538 21ea0000 bic.w r0, r1, r0
| |:|::: 0x0800153c 1060 str r0, [r2]
\ |:|::: 0x0800153e 7047 bx lr
/ (fcn) sign.bytes.RCC_APB1PeriphResetCmd_0 22
| Caller: _Peripherals_Config
| sign.bytes.RCC_APB1PeriphResetCmd_0 ();
| |:|::: ; CALL XREF from 0x08000c2a (_Peripherals_Config)
| |:|::: 0x08001540 1f4a ldr r2, [0x080015c0] ; [0x80015c0:4]=0x40023820
| |:|::: 0x08001542 0029 cmp r1, 0
| |:|::: 0x08001544 1168 ldr r1, [r2]
| ,=======< 0x08001546 02d0 beq 0x800154e
| ||:|::: 0x08001548 0843 orrs r0, r1
| ||:|::: 0x0800154a 1060 str r0, [r2]
| ||:|::: 0x0800154c 7047 bx lr
| ||:|::: ; JMP XREF from 0x08001546 (sign.bytes.RCC_APB1PeriphResetCmd_0)
| `-------> 0x0800154e 21ea0000 bic.w r0, r1, r0
| |:|::: 0x08001552 1060 str r0, [r2]
\ |:|::: 0x08001554 7047 bx lr
/ (fcn) RCC_APB1PeriphClockCmd 22
| Caller: _Peripherals_Config
| RCC_APB1PeriphClockCmd ();
| |:|::: ; JMP XREF from 0x08000fde (fcn.08000fd8)
| |:|::: ; JMP XREF from 0x08000fe8 (fcn.08000fe2)
| |:|::: ; JMP XREF from 0x08001082 (fcn.0800107c)
| |:|::: ; CALL XREF from 0x08000bb2 (_Peripherals_Config)
| -`-`----> 0x08001556 1b4a ldr r2, [0x080015c4] ; [0x80015c4:4]=0x40023824
| : ::: 0x08001558 0029 cmp r1, 0
| : ::: 0x0800155a 1168 ldr r1, [r2]
| :,====< 0x0800155c 02d0 beq 0x8001564
| :|::: 0x0800155e 0843 orrs r0, r1
| :|::: 0x08001560 1060 str r0, [r2]
| :|::: 0x08001562 7047 bx lr
| :|::: ; JMP XREF from 0x0800155c (RCC_APB1PeriphClockCmd)
| :`----> 0x08001564 21ea0000 bic.w r0, r1, r0
| : ::: 0x08001568 1060 str r0, [r2]
\ : ::: 0x0800156a 7047 bx lr
/ (fcn) sign.bytes.RCC_GetFlagStatus_0 28
| Caller: _Peripherals_Config sign.bytes.RCC_WaitForHSEStartUp_0
| sign.bytes.RCC_GetFlagStatus_0 ();
| : ::: ; CALL XREF from 0x08000bf0 (_Peripherals_Config)
| : ::: ; CALL XREF from 0x080013f6 (sign.bytes.RCC_WaitForHSEStartUp_0)
| : ::: ; CALL XREF from 0x0800140e (sign.bytes.RCC_WaitForHSEStartUp_0)
| : ::: 0x0800156c 0649 ldr r1, [0x08001588] ; [0x8001588:4]=0x40023800
| : ::: 0x0800156e 4209 lsrs r2, r0, 5
| : ::: 0x08001570 012a cmp r2, 1 ; 1
| :,====< 0x08001572 01d1 bne 0x8001578
| :|::: 0x08001574 0968 ldr r1, [r1]
| ,======< 0x08001576 00e0 b 0x800157a
| |:|::: ; JMP XREF from 0x08001572 (sign.bytes.RCC_GetFlagStatus_0)
| |:`----> 0x08001578 496b ldr r1, [r1, 0x34]
| |: ::: ; JMP XREF from 0x08001576 (sign.bytes.RCC_GetFlagStatus_0)
| `------> 0x0800157a 00f01f00 and r0, r0, 0x1f
| : ::: 0x0800157e 21fa00f0 lsr.w r0, r1, r0
| : ::: 0x08001582 00f00100 and r0, r0, 1
\ : ::: 0x08001586 7047 bx lr
: ::: ; DATA XREF from 0x080013b0 (RCC_DeInit)
: ::: ; DATA XREF from 0x0800156c (sign.bytes.RCC_GetFlagStatus_0)
: ::: 0x08001588 .dword 0x40023800
: ::: ; DATA XREF from 0x080013bc (RCC_DeInit)
: ::: 0x0800158c .dword 0x88ffc00c
: ::: ; DATA XREF from 0x080013c4 (RCC_DeInit)
: ::: 0x08001590 .dword 0xeefefffe
: ::: ; DATA XREF from 0x080013e0 (RCC_HSEConfig)
: ::: 0x08001594 .dword 0x40023802
: ::: ; DATA XREF from 0x08001488 (RCC_GetClocksFreq)
: ::: 0x08001598 .dword 0x40023804
: ::: ; DATA XREF from 0x0800141c (RCC_MSICmd)
: ::: 0x0800159c .dword 0x42470020
: ::: ; DATA XREF from 0x08001422 (RCC_HSICmd)
: ::: 0x080015a0 .dword 0x42470000
: ::: ; DATA XREF from 0x08001428 (RCC_LSEConfig)
: ::: 0x080015a4 .dword 0x40023835
: ::: ; DATA XREF from 0x08001436 (RCC_PLLConfig)
: ::: 0x080015a8 .dword 0x4002380a
: ::: ; DATA XREF from 0x0800143c (RCC_PLLCmd)
: ::: 0x080015ac .dword 0x42470060
: ::: ; DATA XREF from 0x08001442 (RCC_SYSCLKConfig)
: ::: ; DATA XREF from 0x08001450 (RCC_GetSYSCLKSource)
: ::: ; DATA XREF from 0x0800145a (RCC_HCLKConfig)
: ::: ; DATA XREF from 0x08001468 (RCC_PCLK1Config)
: ::: ; DATA XREF from 0x08001476 (RCC_PCLK2Config)
: ::: 0x080015b0 .dword 0x40023808
: ::: ; DATA XREF from 0x080014b2 (RCC_GetClocksFreq)
: ::: ; DATA XREF from 0x080014d0 (RCC_GetClocksFreq)
: ::: 0x080015b4 .dword 0x00f42400
: ::: ; DATA XREF from 0x080014c6 (RCC_GetClocksFreq)
: ::: ; DATA XREF from 0x080014f2 (RCC_GetClocksFreq)
: ::: 0x080015b8 .dword 0x20000590
: ::: ; DATA XREF from 0x0800152a (sign.bytes.RCC_APB2PeriphResetCmd_0)
: ::: 0x080015bc .dword 0x4002381c
: ::: ; DATA XREF from 0x08001540 (sign.bytes.RCC_APB1PeriphResetCmd_0)
: ::: 0x080015c0 .dword 0x40023820
: ::: ; DATA XREF from 0x08001556 (RCC_APB1PeriphClockCmd)
: ::: 0x080015c4 .dword 0x40023824
/ (fcn) sign.bytes.FLASH_SetLatency_0 16
| Caller: _Peripherals_Config
| sign.bytes.FLASH_SetLatency_0 ();
| : ::: ; CALL XREF from 0x08000ba8 (_Peripherals_Config)
| : ::: 0x080015c8 dff8e410 ldr.w r1, [0x080016b0] ; [0x80016b0:4]=0x40023c00
| : ::: 0x080015cc 0a68 ldr r2, [r1]
| : ::: 0x080015ce 5208 lsrs r2, r2, 1
| : ::: 0x080015d0 50ea4200 orrs.w r0, r0, r2, lsl 1
| : ::: 0x080015d4 0860 str r0, [r1]
\ : ::: 0x080015d6 7047 bx lr
/ (fcn) sign.bytes.FLASH_PrefetchBufferCmd_0 26
| Caller: _Peripherals_Config
| sign.bytes.FLASH_PrefetchBufferCmd_0 ();
| : ::: ; CALL XREF from 0x08000ba2 (_Peripherals_Config)
| : ::: 0x080015d8 dff8d410 ldr.w r1, [0x080016b0] ; [0x80016b0:4]=0x40023c00
| : ::: 0x080015dc 0028 cmp r0, 0
| : ::: 0x080015de 0868 ldr r0, [r1]
| :,====< 0x080015e0 03d0 beq 0x80015ea
| :|::: 0x080015e2 40f00200 orr r0, r0, 2
| :|::: 0x080015e6 0860 str r0, [r1]
| :|::: 0x080015e8 7047 bx lr
| :|::: ; JMP XREF from 0x080015e0 (sign.bytes.FLASH_PrefetchBufferCmd_0)
| :`----> 0x080015ea 20f00200 bic r0, r0, 2
| : ::: 0x080015ee 0860 str r0, [r1]
\ : ::: 0x080015f0 7047 bx lr
/ (fcn) sign.bytes.FLASH_ReadAccess64Cmd_0 26
| Caller: _Peripherals_Config
| sign.bytes.FLASH_ReadAccess64Cmd_0 ();
| : ::: ; CALL XREF from 0x08000b9c (_Peripherals_Config)
| : ::: 0x080015f2 dff8bc10 ldr.w r1, [0x080016b0] ; [0x80016b0:4]=0x40023c00
| : ::: 0x080015f6 0028 cmp r0, 0
| : ::: 0x080015f8 0868 ldr r0, [r1]
| :,====< 0x080015fa 03d0 beq 0x8001604
| :|::: 0x080015fc 40f00400 orr r0, r0, 4
| :|::: 0x08001600 0860 str r0, [r1]
| :|::: 0x08001602 7047 bx lr
| :|::: ; JMP XREF from 0x080015fa (sign.bytes.FLASH_ReadAccess64Cmd_0)
| :`----> 0x08001604 20f00400 bic r0, r0, 4
| : ::: 0x08001608 0860 str r0, [r1]
\ : ::: 0x0800160a 7047 bx lr
/ (fcn) fcn.0800160c 30
| Caller: main
| fcn.0800160c ();
| : ::: ; CALL XREF from 0x08002e18 (main)
| : ::: 0x0800160c 10b5 push {r4, lr}
| : ::: 0x0800160e dff8a440 ldr.w r4, [0x080016b4] ; [0x80016b4:4]=0x40023c04
| : ::: 0x08001612 2068 ldr r0, [r4]
| : ::: 0x08001614 8007 lsls r0, r0, 0x1e
| :,====< 0x08001616 07d5 bpl 0x8001628
| :|::: 0x08001618 00f028f8 bl sign.bytes.FLASH_Unlock_0
| :|::: 0x0800161c dff89800 ldr.w r0, [0x080016b8] ; [0x80016b8:4]=0x8c9daebf
| :|::: 0x08001620 e060 str r0, [r4, 0xc]
| :|::: 0x08001622 dff89800 ldr.w r0, [0x080016bc] ; [0x80016bc:4]=0x13141516
| :|::: 0x08001626 e060 str r0, [r4, 0xc]
| :|::: ; JMP XREF from 0x08001616 (fcn.0800160c)
\ :`----> 0x08001628 10bd pop {r4, pc}
/ (fcn) fcn.0800162a 66
| Caller: fcn.08002ee8
| fcn.0800162a ();
| : ::: ; CALL XREF from 0x08002efa (fcn.08002ee8)
| : ::: 0x0800162a 38b5 push {r3, r4, r5, lr}
| : ::: 0x0800162c 0546 mov r5, r0
| : ::: 0x0800162e 4ff40040 mov.w r0, 0x8000
| : ::: 0x08001632 00f04bf8 bl sign.bytes.FLASH_WaitForLastOperation_0
| : ::: 0x08001636 0428 cmp r0, 4 ; 4
| :,====< 0x08001638 17d1 bne 0x800166a
| :|::: 0x0800163a dff87840 ldr.w r4, [0x080016b4] ; [0x80016b4:4]=0x40023c04
| :|::: 0x0800163e 2068 ldr r0, [r4]
| :|::: 0x08001640 40f40070 orr r0, r0, 0x200
| :|::: 0x08001644 2060 str r0, [r4]
| :|::: 0x08001646 2068 ldr r0, [r4]
| :|::: 0x08001648 40f00800 orr r0, r0, 8
| :|::: 0x0800164c 2060 str r0, [r4]
| :|::: 0x0800164e 0020 movs r0, 0
| :|::: 0x08001650 2860 str r0, [r5]
| :|::: 0x08001652 4ff40040 mov.w r0, 0x8000
| :|::: 0x08001656 00f039f8 bl sign.bytes.FLASH_WaitForLastOperation_0
| :|::: 0x0800165a 2168 ldr r1, [r4]
| :|::: 0x0800165c 21f00801 bic r1, r1, 8
| :|::: 0x08001660 2160 str r1, [r4]
| :|::: 0x08001662 2168 ldr r1, [r4]
| :|::: 0x08001664 21f40071 bic r1, r1, 0x200
| :|::: 0x08001668 2160 str r1, [r4]
| :|::: ; JMP XREF from 0x08001638 (fcn.0800162a)
\ :`----> 0x0800166a 32bd pop {r1, r4, r5, pc}
/ (fcn) sign.bytes.FLASH_Unlock_0 24
| Caller: fcn.0800160c
| sign.bytes.FLASH_Unlock_0 ();
| : ::: ; CALL XREF from 0x08001618 (fcn.0800160c)
| : ::: 0x0800166c dff84400 ldr.w r0, [0x080016b4] ; [0x80016b4:4]=0x40023c04
| : ::: 0x08001670 0168 ldr r1, [r0]
| : ::: 0x08001672 c907 lsls r1, r1, 0x1f
| :,====< 0x08001674 05d5 bpl 0x8001682
| :|::: 0x08001676 dff84810 ldr.w r1, [0x080016c0] ; [0x80016c0:4]=0x89abcdef
| :|::: 0x0800167a 8160 str r1, [r0, 8]
| :|::: 0x0800167c dff84410 ldr.w r1, [0x080016c4] ; [0x80016c4:4]=0x2030405
| :|::: 0x08001680 8160 str r1, [r0, 8]
| :|::: ; JMP XREF from 0x08001674 (sign.bytes.FLASH_Unlock_0)
\ :`----> 0x08001682 7047 bx lr
/ (fcn) FLASH_ClearFlag 6
| Caller: fcn.08002ee8
| FLASH_ClearFlag ();
| : ::: ; CALL XREF from 0x08002ef4 (fcn.08002ee8)
| : ::: 0x08001684 1049 ldr r1, [0x080016c8] ; [0x80016c8:4]=0x40023c18
| : ::: 0x08001686 0860 str r0, [r1]
\ : ::: 0x08001688 7047 bx lr
/ (fcn) sign.bytes.FLASH_GetStatus_0 36
| Caller: sign.bytes.FLASH_WaitForLastOperation_0
| sign.bytes.FLASH_GetStatus_0 ();
| : ::: ; CALL XREF from 0x080016d8 (sign.bytes.FLASH_WaitForLastOperation_0)
| : ::: ; CALL XREF from 0x080016e2 (sign.bytes.FLASH_WaitForLastOperation_0)
| : ::: 0x0800168a 0420 movs r0, 4 ; 4
| : ::: 0x0800168c 0e49 ldr r1, [0x080016c8] ; [0x80016c8:4]=0x40023c18
| : ::: 0x0800168e 0a68 ldr r2, [r1]
| : ::: 0x08001690 d207 lsls r2, r2, 0x1f
| :,====< 0x08001692 01d5 bpl 0x8001698
| :|::: 0x08001694 0120 movs r0, 1 ; 1
| :|::: 0x08001696 7047 bx lr
| :|::: ; JMP XREF from 0x08001692 (sign.bytes.FLASH_GetStatus_0)
| :`----> 0x08001698 0a68 ldr r2, [r1]
| : ::: 0x0800169a d205 lsls r2, r2, 0x17
| :,====< 0x0800169c 01d5 bpl 0x80016a2
| :|::: 0x0800169e 0220 movs r0, 2 ; 2
| :|::: 0x080016a0 7047 bx lr
| :|::: ; JMP XREF from 0x0800169c (sign.bytes.FLASH_GetStatus_0)
| :`----> 0x080016a2 0968 ldr r1, [r1]
| : ::: 0x080016a4 11f4f05f tst.w r1, 0x1e00
| :,====< 0x080016a8 00d0 beq 0x80016ac
| :|::: 0x080016aa 0320 movs r0, 3 ; 3
| :|::: ; JMP XREF from 0x080016a8 (sign.bytes.FLASH_GetStatus_0)
\ :`----> 0x080016ac 7047 bx lr
: ::: 0x080016ae 0000 movs r0, r0
: ::: ; DATA XREF from 0x080015c8 (sign.bytes.FLASH_SetLatency_0)
: ::: ; DATA XREF from 0x080015d8 (sign.bytes.FLASH_PrefetchBufferCmd_0)
: ::: ; DATA XREF from 0x080015f2 (sign.bytes.FLASH_ReadAccess64Cmd_0)
: ::: 0x080016b0 .dword 0x40023c00
: ::: ; DATA XREF from 0x0800160e (fcn.0800160c)
: ::: ; DATA XREF from 0x0800163a (fcn.0800162a)
: ::: ; DATA XREF from 0x0800166c (sign.bytes.FLASH_Unlock_0)
: ::: 0x080016b4 .dword 0x40023c04
: ::: ; DATA XREF from 0x0800161c (fcn.0800160c)
: ::: 0x080016b8 .dword 0x8c9daebf
: ::: ; DATA XREF from 0x08001622 (fcn.0800160c)
: ::: 0x080016bc .dword 0x13141516
: ::: ; DATA XREF from 0x08001676 (sign.bytes.FLASH_Unlock_0)
: ::: 0x080016c0 .dword 0x89abcdef
: ::: ; DATA XREF from 0x0800167c (sign.bytes.FLASH_Unlock_0)
: ::: 0x080016c4 .dword 0x02030405
: ::: ; DATA XREF from 0x08001684 (FLASH_ClearFlag)
: ::: ; DATA XREF from 0x0800168c (sign.bytes.FLASH_GetStatus_0)
: ::: 0x080016c8 .dword 0x40023c18
/ (fcn) sign.bytes.FLASH_WaitForLastOperation_0 60
| Caller: fcn.0800162a
| sign.bytes.FLASH_WaitForLastOperation_0 ();
| : ::: ; CALL XREF from 0x08001632 (fcn.0800162a)
| : ::: ; CALL XREF from 0x08001656 (fcn.0800162a)
| : ::: 0x080016cc 10b5 push {r4, lr}
| : ::: 0x080016ce 82b0 sub sp, 8
| : ::: 0x080016d0 0446 mov r4, r0
| : ::: 0x080016d2 0420 movs r0, 4 ; 4
| : ::: 0x080016d4 8df80000 strb.w r0, [sp]
| : ::: 0x080016d8 fff7d7ff bl sign.bytes.FLASH_GetStatus_0
| : ::: 0x080016dc 8df80000 strb.w r0, [sp]
| :,====< 0x080016e0 04e0 b 0x80016ec
| :|::: ; JMP XREF from 0x080016f6 (sign.bytes.FLASH_WaitForLastOperation_0)
| .------> 0x080016e2 fff7d2ff bl sign.bytes.FLASH_GetStatus_0
| ::|::: 0x080016e6 8df80000 strb.w r0, [sp]
| ::|::: 0x080016ea 641e subs r4, r4, 1
| ::|::: ; JMP XREF from 0x080016e0 (sign.bytes.FLASH_WaitForLastOperation_0)
| ::`----> 0x080016ec 9df80000 ldrb.w r0, [sp]
| :: ::: 0x080016f0 0128 cmp r0, 1 ; 1
| ::,====< 0x080016f2 01d1 bne 0x80016f8
| ::|::: 0x080016f4 002c cmp r4, 0
| `======< 0x080016f6 f4d1 bne 0x80016e2
| :|::: ; JMP XREF from 0x080016f2 (sign.bytes.FLASH_WaitForLastOperation_0)
| :`----> 0x080016f8 002c cmp r4, 0
| :,====< 0x080016fa 02d1 bne 0x8001702
| :|::: 0x080016fc 0520 movs r0, 5 ; 5
| :|::: 0x080016fe 8df80000 strb.w r0, [sp]
| :|::: ; JMP XREF from 0x080016fa (sign.bytes.FLASH_WaitForLastOperation_0)
| :`----> 0x08001702 9df80000 ldrb.w r0, [sp]
\ : ::: 0x08001706 16bd pop {r1, r2, r4, pc}
/ (fcn) PWR_VoltageScalingConfig 18
| Caller: _Peripherals_Config
| PWR_VoltageScalingConfig ();
| : ::: ; CALL XREF from 0x08000bba (_Peripherals_Config)
| : ::: 0x08001708 0849 ldr r1, [0x0800172c] ; [0x800172c:4]=0x40007000
| : ::: 0x0800170a 0a68 ldr r2, [r1]
| : ::: 0x0800170c 22f4c052 bic r2, r2, 0x1800
| : ::: 0x08001710 1043 orrs r0, r2
| : ::: 0x08001712 20f00c00 bic r0, r0, 0xc
| : ::: 0x08001716 0860 str r0, [r1]
\ : ::: 0x08001718 7047 bx lr
/ (fcn) sign.bytes.EXTI_GetITStatus_0 16
| Caller: _Peripherals_Config
| sign.bytes.EXTI_GetITStatus_0 ();
| : ::: ; CALL XREF from 0x08000bc0 (_Peripherals_Config)
| : ::: 0x0800171a 0021 movs r1, 0
| : ::: 0x0800171c 044a ldr r2, [0x08001730] ; [0x8001730:4]=0x40007004
| : ::: 0x0800171e 1268 ldr r2, [r2]
| : ::: 0x08001720 0242 tst r2, r0
| :,====< 0x08001722 00d0 beq 0x8001726
| :|::: 0x08001724 0121 movs r1, 1 ; 1
| :|::: ; JMP XREF from 0x08001722 (sign.bytes.EXTI_GetITStatus_0)
| :`----> 0x08001726 0846 mov r0, r1
\ : ::: 0x08001728 7047 bx lr
: ::: 0x0800172a 0000 movs r0, r0
: ::: ; DATA XREF from 0x08001708 (PWR_VoltageScalingConfig)
: ::: 0x0800172c .dword 0x40007000
: ::: ; DATA XREF from 0x0800171c (sign.bytes.EXTI_GetITStatus_0)
: ::: 0x08001730 .dword 0x40007004
/ (fcn) NVIC_PriorityGroupConfig 10
| Caller: fcn.08000f78 fcn.08001090
| NVIC_PriorityGroupConfig ();
| : ::: ; JMP XREF from 0x08000c48 (fcn.08000c44)
| : ::: ; CALL XREF from 0x08000f9e (fcn.08000f78)
| : ::: ; CALL XREF from 0x0800110e (fcn.08001090)
| --------> 0x08001734 1f49 ldr r1, [0x080017b4] ; [0x80017b4:4]=0x5fa0000
| : ::: 0x08001736 0843 orrs r0, r1
| : ::: 0x08001738 1f49 ldr r1, [0x080017b8] ; [0x80017b8:4]=0xe000ed0c
| : ::: 0x0800173a 0860 str r0, [r1]
\ : ::: 0x0800173c 7047 bx lr
/ (fcn) sign.bytes.NVIC_Init_0 92
| Caller: fcn.08001154 fcn.08000f78 fcn.08001090 sign.bytes._KBD_WKUPInterruptsEnable_0
| sign.bytes.NVIC_Init_0 ();
| : ::: ; XREFS: CALL 0x08000e6a CALL 0x08000e88 CALL 0x08000ea6 CALL 0x08000fbc CALL 0x08000fd2 CALL 0x08001128
| : ::: ; XREFS: CALL 0x08001174
| : ::: 0x0800173e 70b4 push {r4, r5, r6}
| : ::: 0x08001740 0378 ldrb r3, [r0]
| : ::: 0x08001742 1a46 mov r2, r3
| : ::: 0x08001744 0121 movs r1, 1 ; 1
| : ::: 0x08001746 c478 ldrb r4, [r0, 3]
| : ::: 0x08001748 002c cmp r4, 0
| :,====< 0x0800174a 1cd0 beq 0x8001786
| :|::: 0x0800174c 1a4b ldr r3, [0x080017b8] ; [0x80017b8:4]=0xe000ed0c
| :|::: 0x0800174e 1b68 ldr r3, [r3]
| :|::: 0x08001750 03f4e063 and r3, r3, 0x700
| :|::: 0x08001754 c3f5e063 rsb.w r3, r3, 0x700
| :|::: 0x08001758 1b0a lsrs r3, r3, 8
| :|::: 0x0800175a 4478 ldrb r4, [r0, 1]
| :|::: 0x0800175c c3f10405 rsb.w r5, r3, 4
| :|::: 0x08001760 ac40 lsls r4, r5
| :|::: 0x08001762 8578 ldrb r5, [r0, 2]
| :|::: 0x08001764 0f26 movs r6, 0xf ; 15
| :|::: 0x08001766 46fa03f3 asr.w r3, r6, r3
| :|::: 0x0800176a 2b40 ands r3, r5
| :|::: 0x0800176c 2343 orrs r3, r4
| :|::: 0x0800176e 1b01 lsls r3, r3, 4
| :|::: 0x08001770 124c ldr r4, [0x080017bc] ; [0x80017bc:4]=0xe000e400
| :|::: 0x08001772 1355 strb r3, [r2, r4]
| :|::: 0x08001774 0078 ldrb r0, [r0]
| :|::: 0x08001776 00f01f02 and r2, r0, 0x1f
| :|::: 0x0800177a 9140 lsls r1, r2
| :|::: 0x0800177c 4011 asrs r0, r0, 5
| :|::: 0x0800177e 104a ldr r2, [0x080017c0] ; [0x80017c0:4]=0xe000e100
| :|::: 0x08001780 42f82010 str.w r1, [r2, r0, lsl 2]
| ,======< 0x08001784 07e0 b 0x8001796
| |:|::: ; JMP XREF from 0x0800174a (sign.bytes.NVIC_Init_0)
| |:`----> 0x08001786 03f01f00 and r0, r3, 0x1f
| |: ::: 0x0800178a 01fa00f0 lsl.w r0, r1, r0
| |: ::: 0x0800178e 5111 asrs r1, r2, 5
| |: ::: 0x08001790 0c4a ldr r2, [0x080017c4] ; [0x80017c4:4]=0xe000e180
| |: ::: 0x08001792 42f82100 str.w r0, [r2, r1, lsl 2]
| |: ::: ; JMP XREF from 0x08001784 (sign.bytes.NVIC_Init_0)
| `------> 0x08001796 70bc pop {r4, r5, r6}
\ : ::: 0x08001798 7047 bx lr
/ (fcn) sign.bytes.SysTick_CLKSourceConfig_0 24
| Caller: _Peripherals_Config sign.bytes._Wait_AHBby8_0
| sign.bytes.SysTick_CLKSourceConfig_0 ();
| : ::: ; CALL XREF from 0x08000c0a (_Peripherals_Config)
| : ::: ; CALL XREF from 0x08001958 (sign.bytes._Wait_AHBby8_0)
| : ::: 0x0800179a 0b49 ldr r1, [0x080017c8] ; [0x80017c8:4]=0xe000e010
| : ::: 0x0800179c 0428 cmp r0, 4 ; 4
| : ::: 0x0800179e 0868 ldr r0, [r1]
| :,====< 0x080017a0 03d1 bne 0x80017aa
| :|::: 0x080017a2 40f00400 orr r0, r0, 4
| :|::: 0x080017a6 0860 str r0, [r1]
| :|::: 0x080017a8 7047 bx lr
| :|::: ; JMP XREF from 0x080017a0 (sign.bytes.SysTick_CLKSourceConfig_0)
| :`----> 0x080017aa 20f00400 bic r0, r0, 4
| : ::: 0x080017ae 0860 str r0, [r1]
\ : ::: 0x080017b0 7047 bx lr
: ::: 0x080017b2 0000 movs r0, r0
: ::: ; DATA XREF from 0x08001734 (NVIC_PriorityGroupConfig)
: ::: 0x080017b4 .dword 0x05fa0000
: ::: ; DATA XREF from 0x08001738 (NVIC_PriorityGroupConfig)
: ::: ; DATA XREF from 0x0800174c (sign.bytes.NVIC_Init_0)
: ::: 0x080017b8 .dword 0xe000ed0c
: ::: ; DATA XREF from 0x08001770 (sign.bytes.NVIC_Init_0)
: ::: 0x080017bc .dword 0xe000e400
: ::: ; DATA XREF from 0x0800177e (sign.bytes.NVIC_Init_0)
: ::: 0x080017c0 .dword 0xe000e100
: ::: ; DATA XREF from 0x08001790 (sign.bytes.NVIC_Init_0)
: ::: 0x080017c4 .dword 0xe000e180
: ::: ; DATA XREF from 0x0800179a (sign.bytes.SysTick_CLKSourceConfig_0)
: ::: 0x080017c8 .dword 0xe000e010
/ (fcn) sign.bytes.GPIO_Init_0 98
| Caller: fcn.08000eac fcn.08000c4c fcn.08001090
| sign.bytes.GPIO_Init_0 ();
| : ::: ; XREFS: CALL 0x08000c6e CALL 0x08000c90 CALL 0x08000cba CALL 0x08000cdc CALL 0x08000d12 CALL 0x08000d42
| : ::: ; XREFS: CALL 0x08000ece CALL 0x08000eea CALL 0x08000f48 CALL 0x08000f68 CALL 0x080010b8
| : ::: 0x080017cc f0b4 push {r4, r5, r6, r7}
| : ::: ; JMP XREF from 0x080017ca (sign.bytes.SysTick_CLKSourceConfig_0 + 48)
| : ::: 0x080017ce 0022 movs r2, 0
| :,====< 0x080017d0 29e0 b 0x8001826
| :|::: ; JMP XREF from 0x08001828 (sign.bytes.GPIO_Init_0)
| .------> 0x080017d2 0123 movs r3, 1 ; 1
| ::|::: 0x080017d4 9340 lsls r3, r2
| ::|::: 0x080017d6 0c68 ldr r4, [r1]
| ::|::: 0x080017d8 1c40 ands r4, r3
| ::|::: 0x080017da 9c42 cmp r4, r3
| ,=======< 0x080017dc 22d1 bne 0x8001824
| |::|::: 0x080017de 0668 ldr r6, [r0]
| |::|::: 0x080017e0 5400 lsls r4, r2, 1
| |::|::: 0x080017e2 0325 movs r5, 3 ; 3
| |::|::: 0x080017e4 a540 lsls r5, r4
| |::|::: 0x080017e6 ed43 mvns r5, r5
| |::|::: 0x080017e8 2e40 ands r6, r5
| |::|::: 0x080017ea 0f79 ldrb r7, [r1, 4]
| |::|::: ; JMP XREF from 0x080017c8 (sign.bytes.SysTick_CLKSourceConfig_0 + 46)
| |::|::: 0x080017ec a740 lsls r7, r4
| |::|::: 0x080017ee 3e43 orrs r6, r7
| |::|::: 0x080017f0 0660 str r6, [r0]
| |::|::: 0x080017f2 0e79 ldrb r6, [r1, 4]
| |::|::: 0x080017f4 012e cmp r6, 1 ; 1
| ========< 0x080017f6 01d0 beq 0x80017fc
| |::|::: 0x080017f8 022e cmp r6, 2 ; 2
| ========< 0x080017fa 0cd1 bne 0x8001816
| |::|::: ; JMP XREF from 0x080017f6 (sign.bytes.GPIO_Init_0)
| --------> 0x080017fc 8668 ldr r6, [r0, 8]
| |::|::: 0x080017fe 2e40 ands r6, r5
| |::|::: 0x08001800 4f79 ldrb r7, [r1, 5]
| |::|::: 0x08001802 a740 lsls r7, r4
| |::|::: 0x08001804 3e43 orrs r6, r7
| |::|::: 0x08001806 8660 str r6, [r0, 8]
| |::|::: 0x08001808 8688 ldrh r6, [r0, 4]
| |::|::: 0x0800180a 26ea0303 bic.w r3, r6, r3
| |::|::: 0x0800180e 8e79 ldrb r6, [r1, 6]
| |::|::: 0x08001810 9640 lsls r6, r2
| |::|::: 0x08001812 3343 orrs r3, r6
| |::|::: 0x08001814 8380 strh r3, [r0, 4]
| |::|::: ; JMP XREF from 0x080017fa (sign.bytes.GPIO_Init_0)
| --------> 0x08001816 c368 ldr r3, [r0, 0xc]
| |::|::: 0x08001818 2b40 ands r3, r5
| |::|::: 0x0800181a cd79 ldrb r5, [r1, 7]
| |::|::: 0x0800181c 05fa04f4 lsl.w r4, r5, r4
| |::|::: 0x08001820 2343 orrs r3, r4
| |::|::: 0x08001822 c360 str r3, [r0, 0xc]
| |::|::: ; JMP XREF from 0x080017dc (sign.bytes.GPIO_Init_0)
| `-------> 0x08001824 521c adds r2, r2, 1
| ::|::: ; JMP XREF from 0x080017d0 (sign.bytes.GPIO_Init_0)
| ::`----> 0x08001826 102a cmp r2, 0x10 ; 16
| `======< 0x08001828 d3d3 blo 0x80017d2
| : ::: 0x0800182a f0bc pop {r4, r5, r6, r7}
\ : ::: 0x0800182c 7047 bx lr
/ (fcn) GPIO_ReadInputDataBit 14
| Caller: fcn.08000eac fcn.08002bbc
| GPIO_ReadInputDataBit ();
| : ::: ; CALL XREF from 0x08000f02 (fcn.08000eac)
| : ::: ; CALL XREF from 0x08000f1c (fcn.08000eac)
| : ::: ; CALL XREF from 0x08002c1e (fcn.08002bbc)
| : ::: 0x0800182e 0022 movs r2, 0
| : ::: 0x08001830 008a ldrh r0, [r0, 0x10]
| : ::: 0x08001832 0842 tst r0, r1
| :,====< 0x08001834 00d0 beq 0x8001838
| :|::: 0x08001836 0122 movs r2, 1 ; 1
| :|::: ; JMP XREF from 0x08001834 (GPIO_ReadInputDataBit)
| :`----> 0x08001838 1046 mov r0, r2
\ : ::: 0x0800183a 7047 bx lr
/ (fcn) GPIO_SetBits 4
| Caller: fcn.08002bbc fcn.08000d56
| GPIO_SetBits ();
| : ::: ; JMP XREF from 0x08001066 (USB_Cable_Config)
| : ::: ; CALL XREF from 0x08000d6a (fcn.08000d56)
| : ::: ; CALL XREF from 0x08002c08 (fcn.08002bbc)
| : ::: ; CALL XREF from 0x08002c90 (fcn.08002bbc)
| --------> 0x0800183c 0183 strh r1, [r0, 0x18]
\ : ::: 0x0800183e 7047 bx lr
/ (fcn) GPIO_ResetBits 4
| Caller: fcn.08002bbc
| GPIO_ResetBits ();
| : ::: ; JMP XREF from 0x0800106a (USB_Cable_Config)
| : ::: ; CALL XREF from 0x08002bd0 (fcn.08002bbc)
| : ::: ; CALL XREF from 0x08002bf8 (fcn.08002bbc)
| --------> 0x08001840 4183 strh r1, [r0, 0x1a]
\ : ::: 0x08001842 7047 bx lr
/ (fcn) GPIO_WriteBit 12
| Caller: fcn.08000eac fcn.08000c4c
| GPIO_WriteBit ();
| : ::: ; JMP XREF from 0x08001234 (fcn.08001226)
| : ::: ; JMP XREF from 0x0800123c (fcn.08001226)
| : ::: ; CALL XREF from 0x08000ce6 (fcn.08000c4c)
| : ::: ; CALL XREF from 0x08000ef4 (fcn.08000eac)
| : ::: ; CALL XREF from 0x08000f0e (fcn.08000eac)
| --------> 0x08001844 002a cmp r2, 0
| :,====< 0x08001846 01d0 beq 0x800184c
| :|::: 0x08001848 0183 strh r1, [r0, 0x18]
| :|::: 0x0800184a 7047 bx lr
| :|::: ; JMP XREF from 0x08001846 (GPIO_WriteBit)
| :`----> 0x0800184c 4183 strh r1, [r0, 0x1a]
\ : ::: 0x0800184e 7047 bx lr
/ (fcn) sign.bytes.GPIO_PinAFConfig_0 38
| Caller: fcn.08000eac fcn.08001090
| sign.bytes.GPIO_PinAFConfig_0 ();
| : ::: ; CALL XREF from 0x08000f52 (loc.08000f30)
| : ::: ; CALL XREF from 0x08000f72 (loc.08000f30)
| : ::: ; CALL XREF from 0x080010c2 (fcn.08001090)
| : ::: ; CALL XREF from 0x080010cc (fcn.08001090)
| : ::: 0x08001850 10b4 push {r4}
| : ::: 0x08001852 cb10 asrs r3, r1, 3
| : ::: 0x08001854 00eb8300 add.w r0, r0, r3, lsl 2
| : ::: 0x08001858 01f00701 and r1, r1, 7
| : ::: 0x0800185c 8900 lsls r1, r1, 2
| : ::: 0x0800185e 036a ldr r3, [r0, 0x20]
| : ::: 0x08001860 0f24 movs r4, 0xf ; 15
| : ::: 0x08001862 8c40 lsls r4, r1
| : ::: 0x08001864 a343 bics r3, r4
| : ::: 0x08001866 0362 str r3, [r0, 0x20]
| : ::: 0x08001868 036a ldr r3, [r0, 0x20]
| : ::: 0x0800186a 02fa01f1 lsl.w r1, r2, r1
| : ::: 0x0800186e 1943 orrs r1, r3
| : ::: 0x08001870 0162 str r1, [r0, 0x20]
| : ::: 0x08001872 10bc pop {r4}
\ : ::: 0x08001874 7047 bx lr
: ::: 0x08001876 0000 movs r0, r0
/ (fcn) sign.bytes.SYSCFG_EXTILineConfig_0 36
| Caller: fcn.08000c4c
| sign.bytes.SYSCFG_EXTILineConfig_0 ();
| : ::: ; CALL XREF from 0x08000c98 (fcn.08000c4c)
| : ::: ; CALL XREF from 0x08000d4a (fcn.08000c4c)
| : ::: 0x08001878 30b4 push {r4, r5}
| : ::: 0x0800187a 01f00302 and r2, r1, 3
| : ::: 0x0800187e 9200 lsls r2, r2, 2
| : ::: 0x08001880 21f00301 bic r1, r1, 3
| : ::: 0x08001884 054b ldr r3, [0x0800189c] ; [0x800189c:4]=0x40010008
| : ::: 0x08001886 cc58 ldr r4, [r1, r3]
| : ::: 0x08001888 0f25 movs r5, 0xf ; 15
| : ::: 0x0800188a 9540 lsls r5, r2
| : ::: 0x0800188c ac43 bics r4, r5
| : ::: 0x0800188e cc50 str r4, [r1, r3]
| : ::: 0x08001890 cc58 ldr r4, [r1, r3]
| : ::: 0x08001892 9040 lsls r0, r2
| : ::: 0x08001894 2043 orrs r0, r4
| : ::: 0x08001896 c850 str r0, [r1, r3]
| : ::: 0x08001898 30bc pop {r4, r5}
\ : ::: 0x0800189a 7047 bx lr
: ::: ; DATA XREF from 0x08001884 (sign.bytes.SYSCFG_EXTILineConfig_0)
: ::: 0x0800189c .dword 0x40010008
/ (fcn) sign.bytes.EXTI_Init_0 106
| Caller: fcn.08000f78 sign.bytes._KBD_WKUPInterruptsEnable_0
| sign.bytes.EXTI_Init_0 ();
| : ::: ; XREFS: CALL 0x08000d9a CALL 0x08000dc0 CALL 0x08000de6 CALL 0x08000e08 CALL 0x08000e2a CALL 0x08000e4c
| : ::: ; XREFS: CALL 0x08000f96
| : ::: 0x080018a0 30b4 push {r4, r5}
| : ::: 0x080018a2 0168 ldr r1, [r0]
| : ::: 0x080018a4 cb43 mvns r3, r1
| : ::: 0x080018a6 1e49 ldr r1, [0x08001920] ; [0x8001920:4]=0x40010400
| : ::: 0x080018a8 8279 ldrb r2, [r0, 6]
| : ::: 0x080018aa 002a cmp r2, 0
| :,====< 0x080018ac 26d0 beq 0x80018fc
| :|::: 0x080018ae 0a46 mov r2, r1
| :|::: 0x080018b0 1468 ldr r4, [r2]
| :|::: 0x080018b2 2340 ands r3, r4
| :|::: 0x080018b4 1360 str r3, [r2]
| :|::: 0x080018b6 5368 ldr r3, [r2, 4]
| :|::: 0x080018b8 0468 ldr r4, [r0]
| :|::: 0x080018ba a343 bics r3, r4
| :|::: 0x080018bc 5360 str r3, [r2, 4]
| :|::: 0x080018be 0379 ldrb r3, [r0, 4]
| :|::: 0x080018c0 cc18 adds r4, r1, r3
| :|::: 0x080018c2 2368 ldr r3, [r4]
| :|::: 0x080018c4 0568 ldr r5, [r0]
| :|::: 0x080018c6 2b43 orrs r3, r5
| :|::: 0x080018c8 2360 str r3, [r4]
| :|::: 0x080018ca 9368 ldr r3, [r2, 8]
| :|::: 0x080018cc 0468 ldr r4, [r0]
| :|::: 0x080018ce a343 bics r3, r4
| :|::: 0x080018d0 9360 str r3, [r2, 8]
| :|::: 0x080018d2 d368 ldr r3, [r2, 0xc]
| :|::: 0x080018d4 0468 ldr r4, [r0]
| :|::: 0x080018d6 a343 bics r3, r4
| :|::: 0x080018d8 d360 str r3, [r2, 0xc]
| :|::: 0x080018da 4379 ldrb r3, [r0, 5]
| :|::: 0x080018dc 0568 ldr r5, [r0]
| :|::: 0x080018de 102b cmp r3, 0x10 ; 16
| ,======< 0x080018e0 07d1 bne 0x80018f2
| |:|::: 0x080018e2 9168 ldr r1, [r2, 8]
| |:|::: 0x080018e4 2943 orrs r1, r5
| |:|::: 0x080018e6 9160 str r1, [r2, 8]
| |:|::: 0x080018e8 d168 ldr r1, [r2, 0xc]
| |:|::: 0x080018ea 0068 ldr r0, [r0]
| |:|::: 0x080018ec 0843 orrs r0, r1
| |:|::: 0x080018ee d060 str r0, [r2, 0xc]
| ,=======< 0x080018f0 09e0 b 0x8001906
| ||:|::: ; JMP XREF from 0x080018e0 (sign.bytes.EXTI_Init_0)
| |`------> 0x080018f2 cc18 adds r4, r1, r3
| | :|::: 0x080018f4 2068 ldr r0, [r4]
| | :|::: 0x080018f6 2843 orrs r0, r5
| | :|::: 0x080018f8 2060 str r0, [r4]
| |,======< 0x080018fa 04e0 b 0x8001906
| ||:|::: ; JMP XREF from 0x080018ac (sign.bytes.EXTI_Init_0)
| ||:`----> 0x080018fc 0079 ldrb r0, [r0, 4]
| ||: ::: 0x080018fe 0c18 adds r4, r1, r0
| ||: ::: 0x08001900 2068 ldr r0, [r4]
| ||: ::: 0x08001902 1840 ands r0, r3
| ||: ::: 0x08001904 2060 str r0, [r4]
| ||: ::: ; JMP XREF from 0x080018f0 (sign.bytes.EXTI_Init_0)
| ||: ::: ; JMP XREF from 0x080018fa (sign.bytes.EXTI_Init_0)
| ``------> 0x08001906 30bc pop {r4, r5}
\ : ::: 0x08001908 7047 bx lr
/ (fcn) sign.bytes.EXTI_GetITStatus_1 16
| Caller: EXTI15_10_IRQHandler EXTI9_5_IRQHandler EXTI0_IRQHandler
| sign.bytes.EXTI_GetITStatus_1 ();
| : ::: ; XREFS: CALL 0x08002954 CALL 0x08002970 CALL 0x0800298a CALL 0x080029a2 CALL 0x080029be CALL 0x08002a52
| : ::: ; XREFS: CALL 0x08002a66
| : ::: 0x0800190a 0021 movs r1, 0
| : ::: 0x0800190c 054a ldr r2, [0x08001924] ; [0x8001924:4]=0x40010414
| : ::: 0x0800190e 1268 ldr r2, [r2]
| : ::: 0x08001910 0242 tst r2, r0
| :,====< 0x08001912 00d0 beq 0x8001916
| :|::: 0x08001914 0121 movs r1, 1 ; 1
| :|::: ; JMP XREF from 0x08001912 (sign.bytes.EXTI_GetITStatus_1)
| :`----> 0x08001916 0846 mov r0, r1
\ : ::: 0x08001918 7047 bx lr
/ (fcn) EXTI_ClearITPendingBit 6
| Caller: EXTI15_10_IRQHandler fcn.08000f78 EXTI9_5_IRQHandler sign.bytes._KBD_WKUPInterruptsEnable_0
| EXTI0_IRQHandler
| EXTI_ClearITPendingBit ();
| : ::: ; XREFS: JMP 0x080029da JMP 0x08002a76 CALL 0x08000d7c CALL 0x08000da2 CALL 0x08000dc8 CALL 0x08000dec
| : ::: ; XREFS: CALL 0x08000e0e CALL 0x08000e30 CALL 0x08000f7e CALL 0x08002960 CALL 0x0800297c CALL 0x08002994
| : ::: ; XREFS: CALL 0x080029ac CALL 0x080029c8 CALL 0x08002a5e
| .-.----> 0x0800191a 0249 ldr r1, [0x08001924] ; [0x8001924:4]=0x40010414
| :::::: 0x0800191c 0860 str r0, [r1]
\ :::::: 0x0800191e 7047 bx lr
:::::: ; DATA XREF from 0x080018a6 (sign.bytes.EXTI_Init_0)
:::::: 0x08001920 .dword 0x40010400
:::::: ; DATA XREF from 0x0800190c (sign.bytes.EXTI_GetITStatus_1)
:::::: ; DATA XREF from 0x0800191a (EXTI_ClearITPendingBit)
:::::: 0x08001924 .dword 0x40010414
/ (fcn) Wait 36
| Caller: main
| Wait ();
| :::::: ; CALL XREF from 0x08002e62 (main)
| :::::: ; CALL XREF from 0x08002e74 (main)
| :::::: ; CALL XREF from 0x08002e7e (main)
| :::::: 0x08001928 1349 ldr r1, [0x08001978] ; [0x8001978:4]=0xe000e010
| :::::: 0x0800192a 42f22832 movw r2, 0x2328
| :::::: 0x0800192e 5043 muls r0, r2, r0
| :::::: 0x08001930 4860 str r0, [r1, 4]
| :::::: 0x08001932 0020 movs r0, 0
| :::::: 0x08001934 8860 str r0, [r1, 8]
| :::::: 0x08001936 0120 movs r0, 1 ; 1
| :::::: 0x08001938 0860 str r0, [r1]
| :::::: ; JMP XREF from 0x08001942 (Wait)
| .-------> 0x0800193a 0868 ldr r0, [r1]
| ::::::: 0x0800193c 00f00110 and r0, r0, 0x10001
| ::::::: 0x08001940 0128 cmp r0, 1 ; 1
| `=======< 0x08001942 fad0 beq 0x800193a
| :::::: 0x08001944 0020 movs r0, 0
| :::::: 0x08001946 0860 str r0, [r1]
| :::::: 0x08001948 8860 str r0, [r1, 8]
\ :::::: 0x0800194a 7047 bx lr
/ (fcn) sign.bytes._Wait_AHBby8_0 42
| Caller: fcn.08000eac fcn.08002bbc
| sign.bytes._Wait_AHBby8_0 ();
| :::::: ; CALL XREF from 0x08000efa (fcn.08000eac)
| :::::: ; CALL XREF from 0x08000f14 (fcn.08000eac)
| :::::: ; CALL XREF from 0x08002c0e (fcn.08002bbc)
| :::::: 0x0800194c 10b5 push {r4, lr}
| :::::: 0x0800194e 0a4c ldr r4, [0x08001978] ; [0x8001978:4]=0xe000e010
| :::::: 0x08001950 8000 lsls r0, r0, 2
| :::::: 0x08001952 6060 str r0, [r4, 4]
| :::::: 0x08001954 6ff00400 mvn r0, 4
| :::::: 0x08001958 fff71fff bl sign.bytes.SysTick_CLKSourceConfig_0
| :::::: 0x0800195c 0020 movs r0, 0
| :::::: 0x0800195e a060 str r0, [r4, 8]
| :::::: 0x08001960 0120 movs r0, 1 ; 1
| :::::: 0x08001962 2060 str r0, [r4]
| :::::: ; JMP XREF from 0x0800196c (sign.bytes._Wait_AHBby8_0)
| .-------> 0x08001964 2068 ldr r0, [r4]
| ::::::: 0x08001966 00f00110 and r0, r0, 0x10001
| ::::::: 0x0800196a 0128 cmp r0, 1 ; 1
| `=======< 0x0800196c fad0 beq 0x8001964
| :::::: 0x0800196e 0020 movs r0, 0
| :::::: 0x08001970 2060 str r0, [r4]
| :::::: 0x08001972 a060 str r0, [r4, 8]
\ :::::: 0x08001974 10bd pop {r4, pc}
:::::: 0x08001976 0000 movs r0, r0
:::::: ; DATA XREF from 0x08001928 (Wait)
:::::: ; DATA XREF from 0x0800194e (sign.bytes._Wait_AHBby8_0)
,=======< 0x08001978 .dword 0xe000e010
/ (fcn) sign.bytes.USART_Init_0 164
| Caller: fcn.08001090
| sign.bytes.USART_Init_0 ();
| |:::::: ; CALL XREF from 0x080010ee (fcn.08001090)
| |:::::: 0x0800197c 30b5 push {r4, r5, lr}
| |:::::: ; JMP XREF from 0x0800197a (sign.bytes._Wait_AHBby8_0 + 46)
| |:::::: 0x0800197e 85b0 sub sp, 0x14
| |:::::: 0x08001980 0446 mov r4, r0
| |:::::: 0x08001982 0d46 mov r5, r1
| |:::::: 0x08001984 208a ldrh r0, [r4, 0x10]
| |:::::: 0x08001986 4cf6ff71 movw r1, 0xcfff
| |:::::: 0x0800198a 0840 ands r0, r1
| |:::::: 0x0800198c e988 ldrh r1, [r5, 6]
| |:::::: 0x0800198e 0843 orrs r0, r1
| |:::::: 0x08001990 2082 strh r0, [r4, 0x10]
| |:::::: 0x08001992 a089 ldrh r0, [r4, 0xc]
| |:::::: 0x08001994 4ef6f311 movw r1, 0xe9f3
| |:::::: 0x08001998 0840 ands r0, r1
| |:::::: 0x0800199a a988 ldrh r1, [r5, 4]
| |:::::: ; JMP XREF from 0x08001978 (sign.bytes._Wait_AHBby8_0 + 44)
| `-------> 0x0800199c 0843 orrs r0, r1
| :::::: 0x0800199e 2989 ldrh r1, [r5, 8]
| :::::: 0x080019a0 0843 orrs r0, r1
| :::::: 0x080019a2 6989 ldrh r1, [r5, 0xa]
| :::::: 0x080019a4 0843 orrs r0, r1
| :::::: 0x080019a6 a081 strh r0, [r4, 0xc]
| :::::: 0x080019a8 a08a ldrh r0, [r4, 0x14]
| :::::: 0x080019aa 4ff6ff41 movw r1, 0xfcff
| :::::: 0x080019ae 0840 ands r0, r1
| :::::: 0x080019b0 a989 ldrh r1, [r5, 0xc]
| :::::: 0x080019b2 0843 orrs r0, r1
| :::::: 0x080019b4 a082 strh r0, [r4, 0x14]
| :::::: 0x080019b6 00a8 add r0, sp, 0
| :::::: 0x080019b8 fff765fd bl RCC_GetClocksFreq
| :::::: 0x080019bc 1948 ldr r0, [0x08001a24] ; [0x8001a24:4]=0x40013800
| :::::: 0x080019be 8442 cmp r4, r0
| ,=======< 0x080019c0 01d1 bne 0x80019c6
| |:::::: 0x080019c2 0398 ldr r0, [sp, 0xc]
| |:::::: ; JMP XREF from 0x080017c0 (sign.bytes.SysTick_CLKSourceConfig_0 + 38)
| ========< 0x080019c4 00e0 b 0x80019c8
| |:::::: ; JMP XREF from 0x080019c0 (sign.bytes.USART_Init_0)
| `-------> 0x080019c6 0298 ldr r0, [sp, 8]
| :::::: ; JMP XREF from 0x080019c4 (sign.bytes.USART_Init_0)
| --------> 0x080019c8 2968 ldr r1, [r5]
| :::::: 0x080019ca 1922 movs r2, 0x19 ; 25
| :::::: 0x080019cc 5043 muls r0, r2, r0
| :::::: 0x080019ce a289 ldrh r2, [r4, 0xc]
| :::::: 0x080019d0 1204 lsls r2, r2, 0x10
| ,=======< 0x080019d2 03d5 bpl 0x80019dc
| |:::::: 0x080019d4 4900 lsls r1, r1, 1
| |:::::: 0x080019d6 b0fbf1f1 udiv r1, r0, r1
| ========< 0x080019da 02e0 b 0x80019e2
| |:::::: ; JMP XREF from 0x080019d2 (sign.bytes.USART_Init_0)
| `-------> 0x080019dc 8900 lsls r1, r1, 2
| :::::: 0x080019de b0fbf1f1 udiv r1, r0, r1
| :::::: ; JMP XREF from 0x080019da (sign.bytes.USART_Init_0)
| --------> 0x080019e2 6420 movs r0, 0x64 ; 'd' ; 100
| :::::: 0x080019e4 b1fbf0f0 udiv r0, r1, r0
| :::::: 0x080019e8 0001 lsls r0, r0, 4
| :::::: 0x080019ea 0209 lsrs r2, r0, 4
| :::::: 0x080019ec 6423 movs r3, 0x64 ; 'd' ; 100
| :::::: 0x080019ee 03fb1211 mls r1, r3, r2, r1
| :::::: 0x080019f2 a289 ldrh r2, [r4, 0xc]
| :::::: 0x080019f4 1204 lsls r2, r2, 0x10
| ,=======< 0x080019f6 08d5 bpl 0x8001a0a
| |:::::: 0x080019f8 c900 lsls r1, r1, 3
| |:::::: 0x080019fa 3231 adds r1, 0x32
| |:::::: 0x080019fc 1a46 mov r2, r3
| |:::::: 0x080019fe b1fbf2f1 udiv r1, r1, r2
| |:::::: 0x08001a02 01f00701 and r1, r1, 7
| |:::::: 0x08001a06 0843 orrs r0, r1
| ========< 0x08001a08 07e0 b 0x8001a1a
| |:::::: ; JMP XREF from 0x080019f6 (sign.bytes.USART_Init_0)
| `-------> 0x08001a0a 0901 lsls r1, r1, 4
| :::::: 0x08001a0c 3231 adds r1, 0x32
| :::::: 0x08001a0e 1a46 mov r2, r3
| :::::: 0x08001a10 b1fbf2f1 udiv r1, r1, r2
| :::::: 0x08001a14 01f00f01 and r1, r1, 0xf
| :::::: 0x08001a18 0843 orrs r0, r1
| :::::: ; JMP XREF from 0x08001a08 (sign.bytes.USART_Init_0)
| --------> 0x08001a1a 2081 strh r0, [r4, 8]
| :::::: 0x08001a1c 05b0 add sp, 0x14
\ :::::: 0x08001a1e 30bd pop {r4, r5, pc}
:::::: 0x08001a20 0000 movs r0, r0
:::::: 0x08001a22 0000 movs r0, r0
:::::: ; DATA XREF from 0x080019bc (sign.bytes.USART_Init_0)
:::::: 0x08001a24 .dword 0x40013800
/ (fcn) sign.bytes.USART_Cmd_0 24
| Caller: fcn.08001090
| sign.bytes.USART_Cmd_0 ();
| :::::: ; CALL XREF from 0x08001144 (fcn.08001090)
| :::::: 0x08001a28 0029 cmp r1, 0
| :::::: 0x08001a2a 8189 ldrh r1, [r0, 0xc]
| ,=======< 0x08001a2c 03d0 beq 0x8001a36
| |:::::: 0x08001a2e 41f40051 orr r1, r1, 0x2000
| |:::::: 0x08001a32 8181 strh r1, [r0, 0xc]
| |:::::: 0x08001a34 7047 bx lr
| |:::::: ; JMP XREF from 0x08001a2c (sign.bytes.USART_Cmd_0)
| `-------> 0x08001a36 4df6ff72 movw r2, 0xdfff
| :::::: 0x08001a3a 1140 ands r1, r2
| :::::: 0x08001a3c 8181 strh r1, [r0, 0xc]
\ :::::: 0x08001a3e 7047 bx lr
/ (fcn) USART_ReceiveData 8
| USART_ReceiveData ();
| :::::: ; JMP XREF from 0x08002a3a (USART3_IRQHandler)
| .-------> 0x08001a40 8088 ldrh r0, [r0, 4]
| ::::::: 0x08001a42 c005 lsls r0, r0, 0x17
| ::::::: 0x08001a44 c00d lsrs r0, r0, 0x17
\ ::::::: 0x08001a46 7047 bx lr
/ (fcn) sign.bytes.USART_DMACmd_0 20
| Caller: fcn.08001090
| sign.bytes.USART_DMACmd_0 ();
| ::::::: ; CALL XREF from 0x08001132 (fcn.08001090)
| ::::::: ; CALL XREF from 0x0800113c (fcn.08001090)
| ::::::: 0x08001a48 002a cmp r2, 0
| ::::::: 0x08001a4a 828a ldrh r2, [r0, 0x14]
| ========< 0x08001a4c 02d0 beq 0x8001a54
| ::::::: 0x08001a4e 1143 orrs r1, r2
| ::::::: 0x08001a50 8182 strh r1, [r0, 0x14]
| ::::::: 0x08001a52 7047 bx lr
| ::::::: ; JMP XREF from 0x08001a4c (sign.bytes.USART_DMACmd_0)
| --------> 0x08001a54 22ea0101 bic.w r1, r2, r1
| ::::::: 0x08001a58 8182 strh r1, [r0, 0x14]
\ ::::::: 0x08001a5a 7047 bx lr
/ (fcn) sign.bytes.USART_ITConfig_0 58
| Caller: fcn.08001090
| sign.bytes.USART_ITConfig_0 ();
| ::::::: ; CALL XREF from 0x080010fa (fcn.08001090)
| ::::::: ; CALL XREF from 0x08001106 (fcn.08001090)
| ::::::: 0x08001a5c 10b4 push {r4}
| ::::::: 0x08001a5e 0b46 mov r3, r1
| ::::::: 0x08001a60 dbb2 uxtb r3, r3
| ::::::: 0x08001a62 5b09 lsrs r3, r3, 5
| ::::::: 0x08001a64 0124 movs r4, 1 ; 1
| ::::::: 0x08001a66 01f01f01 and r1, r1, 0x1f
| ::::::: 0x08001a6a 04fa01f1 lsl.w r1, r4, r1
| ::::::: 0x08001a6e 012b cmp r3, 1 ; 1
| ========< 0x08001a70 01d1 bne 0x8001a76
| ::::::: 0x08001a72 0c30 adds r0, 0xc
| ========< 0x08001a74 04e0 b 0x8001a80
| ::::::: ; JMP XREF from 0x08001a70 (sign.bytes.USART_ITConfig_0)
| --------> 0x08001a76 022b cmp r3, 2 ; 2
| ========< 0x08001a78 01d1 bne 0x8001a7e
| ::::::: 0x08001a7a 1030 adds r0, 0x10
| ========< 0x08001a7c 00e0 b 0x8001a80
| ::::::: ; JMP XREF from 0x08001a78 (sign.bytes.USART_ITConfig_0)
| --------> 0x08001a7e 1430 adds r0, 0x14
| ::::::: ; JMP XREF from 0x08001a74 (sign.bytes.USART_ITConfig_0)
| ::::::: ; JMP XREF from 0x08001a7c (sign.bytes.USART_ITConfig_0)
| --------> 0x08001a80 002a cmp r2, 0
| ::::::: 0x08001a82 0268 ldr r2, [r0]
| ========< 0x08001a84 02d0 beq 0x8001a8c
| ::::::: 0x08001a86 1143 orrs r1, r2
| ::::::: 0x08001a88 0160 str r1, [r0]
| ========< 0x08001a8a 02e0 b 0x8001a92
| ::::::: ; JMP XREF from 0x08001a84 (sign.bytes.USART_ITConfig_0)
| --------> 0x08001a8c 22ea0101 bic.w r1, r2, r1
| ::::::: 0x08001a90 0160 str r1, [r0]
| ::::::: ; JMP XREF from 0x08001a8a (sign.bytes.USART_ITConfig_0)
| --------> 0x08001a92 10bc pop {r4}
\ ::::::: 0x08001a94 7047 bx lr
/ (fcn) USART_ClearFlag 6
| Caller: USART3_IRQHandler fcn.08001090
| USART_ClearFlag ();
| ::::::: ; CALL XREF from 0x0800114c (fcn.08001090)
| ::::::: ; CALL XREF from 0x08002a16 (USART3_IRQHandler)
| ::::::: 0x08001a96 c943 mvns r1, r1
| ::::::: 0x08001a98 0180 strh r1, [r0]
\ ::::::: 0x08001a9a 7047 bx lr
/ (fcn) sign.bytes.USART_GetITStatus_0 72
| Caller: USART3_IRQHandler
| sign.bytes.USART_GetITStatus_0 ();
| ::::::: ; CALL XREF from 0x08002a0a (USART3_IRQHandler)
| ::::::: ; CALL XREF from 0x08002a28 (USART3_IRQHandler)
| ::::::: 0x08001a9c 30b4 push {r4, r5}
| ::::::: 0x08001a9e 0a46 mov r2, r1
| ::::::: 0x08001aa0 0021 movs r1, 0
| ::::::: 0x08001aa2 1346 mov r3, r2
| ::::::: 0x08001aa4 dbb2 uxtb r3, r3
| ::::::: 0x08001aa6 5b09 lsrs r3, r3, 5
| ::::::: 0x08001aa8 0124 movs r4, 1 ; 1
| ::::::: 0x08001aaa 02f01f05 and r5, r2, 0x1f
| ::::::: 0x08001aae 04fa05f5 lsl.w r5, r4, r5
| ::::::: 0x08001ab2 012b cmp r3, 1 ; 1
| ========< 0x08001ab4 02d1 bne 0x8001abc
| ::::::: 0x08001ab6 8389 ldrh r3, [r0, 0xc]
| ::::::: 0x08001ab8 2b40 ands r3, r5
| ========< 0x08001aba 06e0 b 0x8001aca
| ::::::: ; JMP XREF from 0x08001ab4 (sign.bytes.USART_GetITStatus_0)
| --------> 0x08001abc 022b cmp r3, 2 ; 2
| ========< 0x08001abe 02d1 bne 0x8001ac6
| ::::::: 0x08001ac0 038a ldrh r3, [r0, 0x10]
| ::::::: 0x08001ac2 2b40 ands r3, r5
| ========< 0x08001ac4 01e0 b 0x8001aca
| ::::::: ; JMP XREF from 0x08001abe (sign.bytes.USART_GetITStatus_0)
| --------> 0x08001ac6 838a ldrh r3, [r0, 0x14]
| ::::::: ; JMP XREF from 0x080017c4 (sign.bytes.SysTick_CLKSourceConfig_0 + 42)
| ::::::: 0x08001ac8 2b40 ands r3, r5
| ::::::: ; JMP XREF from 0x08001aba (sign.bytes.USART_GetITStatus_0)
| ::::::: ; JMP XREF from 0x08001ac4 (sign.bytes.USART_GetITStatus_0)
| --------> 0x08001aca 120a lsrs r2, r2, 8
| ::::::: 0x08001acc 04fa02f2 lsl.w r2, r4, r2
| ::::::: 0x08001ad0 0088 ldrh r0, [r0]
| ::::::: 0x08001ad2 1040 ands r0, r2
| ::::::: 0x08001ad4 002b cmp r3, 0
| ========< 0x08001ad6 02d0 beq 0x8001ade
| ::::::: 0x08001ad8 0028 cmp r0, 0
| ========< 0x08001ada 00d0 beq 0x8001ade
| ::::::: 0x08001adc 2146 mov r1, r4
| ::::::: ; JMP XREF from 0x08001ad6 (sign.bytes.USART_GetITStatus_0)
| ::::::: ; JMP XREF from 0x08001ada (sign.bytes.USART_GetITStatus_0)
| --------> 0x08001ade 0846 mov r0, r1
| ::::::: 0x08001ae0 30bc pop {r4, r5}
\ ::::::: 0x08001ae2 7047 bx lr
/ (fcn) sign.bytes.USART_ClearITPendingBit_0 16
| Caller: USART3_IRQHandler
| sign.bytes.USART_ClearITPendingBit_0 ();
| ::::::: ; CALL XREF from 0x08002a1e (USART3_IRQHandler)
| ::::::: 0x08001ae4 0122 movs r2, 1 ; 1
| ::::::: 0x08001ae6 090a lsrs r1, r1, 8
| ::::::: 0x08001ae8 02fa01f1 lsl.w r1, r2, r1
| ::::::: 0x08001aec 89b2 uxth r1, r1
| ::::::: 0x08001aee c943 mvns r1, r1
| ::::::: 0x08001af0 0180 strh r1, [r0]
\ ::::::: 0x08001af2 7047 bx lr
/ (fcn) sign.bytes.DMA_DeInit_0 236
| Caller: fcn.08001154
| sign.bytes.DMA_DeInit_0 ();
| ::::::: ; CALL XREF from 0x0800117c (fcn.08001154)
| ::::::: ; CALL XREF from 0x080011cc (fcn.08001154)
| ::::::: 0x08001af4 0168 ldr r1, [r0]
| ::::::: 0x08001af6 4ff6fe72 movw r2, 0xfffe
| ::::::: 0x08001afa 1140 ands r1, r2
| ::::::: 0x08001afc 0160 str r1, [r0]
| ::::::: 0x08001afe 0021 movs r1, 0
| ::::::: 0x08001b00 0160 str r1, [r0]
| ::::::: 0x08001b02 4160 str r1, [r0, 4]
| ::::::: 0x08001b04 8160 str r1, [r0, 8]
| ::::::: 0x08001b06 c160 str r1, [r0, 0xc]
| ::::::: 0x08001b08 5e49 ldr r1, [0x08001c84] ; [0x8001c84:4]=0x40026008
| ::::::: 0x08001b0a 8842 cmp r0, r1
| ========< 0x08001b0c 05d1 bne 0x8001b1a
| ::::::: 0x08001b0e 5e48 ldr r0, [0x08001c88] ; [0x8001c88:4]=0x40026004
| ::::::: 0x08001b10 0168 ldr r1, [r0]
| ::::::: 0x08001b12 41f00f01 orr r1, r1, 0xf
| ::::::: 0x08001b16 0160 str r1, [r0]
| ::::::: 0x08001b18 7047 bx lr
| ::::::: ; JMP XREF from 0x08001b0c (sign.bytes.DMA_DeInit_0)
| --------> 0x08001b1a 5c49 ldr r1, [0x08001c8c] ; [0x8001c8c:4]=0x4002601c
| ::::::: 0x08001b1c 8842 cmp r0, r1
| ========< 0x08001b1e 05d1 bne 0x8001b2c
| ::::::: 0x08001b20 5948 ldr r0, [0x08001c88] ; [0x8001c88:4]=0x40026004
| ::::::: 0x08001b22 0168 ldr r1, [r0]
| ::::::: 0x08001b24 41f0f001 orr r1, r1, 0xf0
| ::::::: 0x08001b28 0160 str r1, [r0]
| ::::::: 0x08001b2a 7047 bx lr
| ::::::: ; JMP XREF from 0x08001b1e (sign.bytes.DMA_DeInit_0)
| --------> 0x08001b2c 5849 ldr r1, [0x08001c90] ; [0x8001c90:4]=0x40026030
| ::::::: 0x08001b2e 8842 cmp r0, r1
| ========< 0x08001b30 05d1 bne 0x8001b3e
| ::::::: 0x08001b32 5548 ldr r0, [0x08001c88] ; [0x8001c88:4]=0x40026004
| ::::::: 0x08001b34 0168 ldr r1, [r0]
| ::::::: 0x08001b36 41f47061 orr r1, r1, 0xf00
| ::::::: 0x08001b3a 0160 str r1, [r0]
| ::::::: 0x08001b3c 7047 bx lr
| ::::::: ; JMP XREF from 0x08001b30 (sign.bytes.DMA_DeInit_0)
| --------> 0x08001b3e 5549 ldr r1, [0x08001c94] ; [0x8001c94:4]=0x40026044
| ::::::: 0x08001b40 8842 cmp r0, r1
| ========< 0x08001b42 05d1 bne 0x8001b50
| ::::::: 0x08001b44 5048 ldr r0, [0x08001c88] ; [0x8001c88:4]=0x40026004
| ::::::: 0x08001b46 0168 ldr r1, [r0]
| ::::::: 0x08001b48 41f47041 orr r1, r1, 0xf000
| ::::::: 0x08001b4c 0160 str r1, [r0]
| ::::::: 0x08001b4e 7047 bx lr
| ::::::: ; JMP XREF from 0x08001b42 (sign.bytes.DMA_DeInit_0)
| --------> 0x08001b50 5149 ldr r1, [0x08001c98] ; [0x8001c98:4]=0x40026058
| ::::::: 0x08001b52 8842 cmp r0, r1
| ========< 0x08001b54 05d1 bne 0x8001b62
| ::::::: 0x08001b56 4c48 ldr r0, [0x08001c88] ; [0x8001c88:4]=0x40026004
| ::::::: 0x08001b58 0168 ldr r1, [r0]
| ::::::: 0x08001b5a 41f47021 orr r1, r1, 0xf0000
| ::::::: 0x08001b5e 0160 str r1, [r0]
| ::::::: 0x08001b60 7047 bx lr
| ::::::: ; JMP XREF from 0x08001b54 (sign.bytes.DMA_DeInit_0)
| --------> 0x08001b62 4e49 ldr r1, [0x08001c9c] ; [0x8001c9c:4]=0x4002606c
| ::::::: 0x08001b64 8842 cmp r0, r1
| ========< 0x08001b66 05d1 bne 0x8001b74
| ::::::: 0x08001b68 4748 ldr r0, [0x08001c88] ; [0x8001c88:4]=0x40026004
| ::::::: 0x08001b6a 0168 ldr r1, [r0]
| ::::::: 0x08001b6c 41f47001 orr r1, r1, 0xf00000
| ::::::: 0x08001b70 0160 str r1, [r0]
| ::::::: 0x08001b72 7047 bx lr
| ::::::: ; JMP XREF from 0x08001b66 (sign.bytes.DMA_DeInit_0)
| --------> 0x08001b74 4a49 ldr r1, [0x08001ca0] ; [0x8001ca0:4]=0x40026080
| ::::::: 0x08001b76 8842 cmp r0, r1
| ========< 0x08001b78 05d1 bne 0x8001b86
| ::::::: 0x08001b7a 4348 ldr r0, [0x08001c88] ; [0x8001c88:4]=0x40026004
| ::::::: 0x08001b7c 0168 ldr r1, [r0]
| ::::::: 0x08001b7e 41f07061 orr r1, r1, 0xf000000
| ::::::: 0x08001b82 0160 str r1, [r0]
| ::::::: 0x08001b84 7047 bx lr
| ::::::: ; JMP XREF from 0x08001b78 (sign.bytes.DMA_DeInit_0)
| --------> 0x08001b86 4749 ldr r1, [0x08001ca4] ; [0x8001ca4:4]=0x40026408
| ::::::: 0x08001b88 8842 cmp r0, r1
| ========< 0x08001b8a 05d1 bne 0x8001b98
| ::::::: 0x08001b8c 4648 ldr r0, [0x08001ca8] ; [0x8001ca8:4]=0x40026404
| ::::::: 0x08001b8e 0168 ldr r1, [r0]
| ::::::: 0x08001b90 41f00f01 orr r1, r1, 0xf
| ::::::: 0x08001b94 0160 str r1, [r0]
| ::::::: 0x08001b96 7047 bx lr
| ::::::: ; JMP XREF from 0x08001b8a (sign.bytes.DMA_DeInit_0)
| --------> 0x08001b98 4449 ldr r1, [0x08001cac] ; [0x8001cac:4]=0x4002641c
| ::::::: 0x08001b9a 8842 cmp r0, r1
| ========< 0x08001b9c 05d1 bne 0x8001baa
| ::::::: 0x08001b9e 4248 ldr r0, [0x08001ca8] ; [0x8001ca8:4]=0x40026404
| ::::::: 0x08001ba0 0168 ldr r1, [r0]
| ::::::: 0x08001ba2 41f0f001 orr r1, r1, 0xf0
| ::::::: 0x08001ba6 0160 str r1, [r0]
| ::::::: 0x08001ba8 7047 bx lr
| ::::::: ; JMP XREF from 0x08001b9c (sign.bytes.DMA_DeInit_0)
| --------> 0x08001baa 4149 ldr r1, [0x08001cb0] ; [0x8001cb0:4]=0x40026430
| ::::::: 0x08001bac 8842 cmp r0, r1
| ========< 0x08001bae 05d1 bne 0x8001bbc
| ::::::: 0x08001bb0 3d48 ldr r0, [0x08001ca8] ; [0x8001ca8:4]=0x40026404
| ::::::: 0x08001bb2 0168 ldr r1, [r0]
| ::::::: 0x08001bb4 41f47061 orr r1, r1, 0xf00
| ::::::: 0x08001bb8 0160 str r1, [r0]
| ::::::: 0x08001bba 7047 bx lr
| ::::::: ; JMP XREF from 0x08001bae (sign.bytes.DMA_DeInit_0)
| --------> 0x08001bbc 3d49 ldr r1, [0x08001cb4] ; [0x8001cb4:4]=0x40026444
| ::::::: 0x08001bbe 8842 cmp r0, r1
| ========< 0x08001bc0 05d1 bne 0x8001bce
| ::::::: 0x08001bc2 3948 ldr r0, [0x08001ca8] ; [0x8001ca8:4]=0x40026404
| ::::::: 0x08001bc4 0168 ldr r1, [r0]
| ::::::: 0x08001bc6 41f47041 orr r1, r1, 0xf000
| ::::::: 0x08001bca 0160 str r1, [r0]
| ::::::: 0x08001bcc 7047 bx lr
| ::::::: ; JMP XREF from 0x08001bc0 (sign.bytes.DMA_DeInit_0)
| --------> 0x08001bce 3a49 ldr r1, [0x08001cb8] ; [0x8001cb8:4]=0x40026458
| ::::::: 0x08001bd0 8842 cmp r0, r1
| ========< 0x08001bd2 04d1 bne 0x8001bde
| ::::::: 0x08001bd4 3448 ldr r0, [0x08001ca8] ; [0x8001ca8:4]=0x40026404
| ::::::: 0x08001bd6 0168 ldr r1, [r0]
| ::::::: 0x08001bd8 41f47021 orr r1, r1, 0xf0000
| ::::::: 0x08001bdc 0160 str r1, [r0]
| ::::::: ; JMP XREF from 0x08001bd2 (sign.bytes.DMA_DeInit_0)
\ --------> 0x08001bde 7047 bx lr
/ (fcn) sign.bytes.DMA_Init_0 54
| Caller: fcn.08001154
| sign.bytes.DMA_Init_0 ();
| ::::::: ; CALL XREF from 0x080011b2 (fcn.08001154)
| ::::::: ; CALL XREF from 0x080011f8 (fcn.08001154)
| ::::::: 0x08001be0 0268 ldr r2, [r0]
| ::::::: 0x08001be2 6ff30e12 bfc r2, 4, 0xb
| ::::::: 0x08001be6 8b68 ldr r3, [r1, 8]
| ::::::: 0x08001be8 1a43 orrs r2, r3
| ::::::: 0x08001bea 0b6a ldr r3, [r1, 0x20]
| ::::::: 0x08001bec 1a43 orrs r2, r3
| ::::::: 0x08001bee 0b69 ldr r3, [r1, 0x10]
| ::::::: 0x08001bf0 1a43 orrs r2, r3
| ::::::: 0x08001bf2 4b69 ldr r3, [r1, 0x14]
| ::::::: 0x08001bf4 1a43 orrs r2, r3
| ::::::: 0x08001bf6 8b69 ldr r3, [r1, 0x18]
| ::::::: 0x08001bf8 1a43 orrs r2, r3
| ::::::: 0x08001bfa cb69 ldr r3, [r1, 0x1c]
| ::::::: 0x08001bfc 1a43 orrs r2, r3
| ::::::: 0x08001bfe 4b6a ldr r3, [r1, 0x24]
| ::::::: 0x08001c00 1a43 orrs r2, r3
| ::::::: 0x08001c02 8b6a ldr r3, [r1, 0x28]
| ::::::: 0x08001c04 1a43 orrs r2, r3
| ::::::: 0x08001c06 0260 str r2, [r0]
| ::::::: 0x08001c08 ca68 ldr r2, [r1, 0xc]
| ::::::: 0x08001c0a 4260 str r2, [r0, 4]
| ::::::: 0x08001c0c 0a68 ldr r2, [r1]
| ::::::: 0x08001c0e 8260 str r2, [r0, 8]
| ::::::: 0x08001c10 4968 ldr r1, [r1, 4]
| ::::::: 0x08001c12 c160 str r1, [r0, 0xc]
\ ::::::: 0x08001c14 7047 bx lr
/ (fcn) sign.bytes.DMA_Cmd_0 24
| Caller: fcn.08001240 fcn.08001154 fcn.08002f8c _USART3_RxMemInit main fcn.08002fba
| sign.bytes.DMA_Cmd_0 ();
| ::::::: ; XREFS: JMP 0x080012f2 JMP 0x080029f8 CALL 0x080011c6 CALL 0x08001208 CALL 0x080012aa CALL 0x080012b8
| ::::::: ; XREFS: CALL 0x08002e56 CALL 0x08002fb2 CALL 0x08003000
| --------> 0x08001c16 0029 cmp r1, 0
| ::::::: 0x08001c18 0168 ldr r1, [r0]
| ========< 0x08001c1a 03d0 beq 0x8001c24
| ::::::: 0x08001c1c 41f00101 orr r1, r1, 1
| ::::::: 0x08001c20 0160 str r1, [r0]
| ::::::: 0x08001c22 7047 bx lr
| ::::::: ; JMP XREF from 0x08001c1a (sign.bytes.DMA_Cmd_0)
| --------> 0x08001c24 4ff6fe72 movw r2, 0xfffe
| ::::::: 0x08001c28 1140 ands r1, r2
| ::::::: 0x08001c2a 0160 str r1, [r0]
\ ::::::: 0x08001c2c 7047 bx lr
/ (fcn) DMA_SetCurrDataCounter 4
| Caller: fcn.08002f8c main fcn.08001240 fcn.08002fba
| DMA_SetCurrDataCounter ();
| ::::::: ; CALL XREF from 0x080012a2 (fcn.08001240)
| ::::::: ; CALL XREF from 0x08002e4e (main)
| ::::::: ; CALL XREF from 0x08002faa (fcn.08002f8c)
| ::::::: ; CALL XREF from 0x08002ff8 (fcn.08002fba)
| ::::::: 0x08001c2e 4160 str r1, [r0, 4]
\ ::::::: 0x08001c30 7047 bx lr
/ (fcn) sign.bytes.DMA_ITConfig_0 20
| Caller: fcn.08001154
| sign.bytes.DMA_ITConfig_0 ();
| ::::::: ; CALL XREF from 0x080011bc (fcn.08001154)
| ::::::: 0x08001c32 002a cmp r2, 0
| ::::::: 0x08001c34 0268 ldr r2, [r0]
| ========< 0x08001c36 02d0 beq 0x8001c3e
| ::::::: 0x08001c38 1143 orrs r1, r2
| ::::::: 0x08001c3a 0160 str r1, [r0]
| ::::::: 0x08001c3c 7047 bx lr
| ::::::: ; JMP XREF from 0x08001c36 (sign.bytes.DMA_ITConfig_0)
| --------> 0x08001c3e 22ea0101 bic.w r1, r2, r1
| ::::::: 0x08001c42 0160 str r1, [r0]
\ ::::::: 0x08001c44 7047 bx lr
/ (fcn) sign.bytes.DMA_ClearFlag_0 16
| Caller: fcn.08001154 _USART3_RxMemInit
| sign.bytes.DMA_ClearFlag_0 ();
| ::::::: ; CALL XREF from 0x08001200 (fcn.08001154)
| ::::::: ; CALL XREF from 0x080012c0 (_USART3_RxMemInit)
| ::::::: 0x08001c46 c100 lsls r1, r0, 3
| ========< 0x08001c48 02d4 bmi 0x8001c50
| ::::::: 0x08001c4a 0f49 ldr r1, [0x08001c88] ; [0x8001c88:4]=0x40026004
| ::::::: 0x08001c4c 0860 str r0, [r1]
| ::::::: 0x08001c4e 7047 bx lr
| ::::::: ; JMP XREF from 0x08001c48 (sign.bytes.DMA_ClearFlag_0)
| --------> 0x08001c50 1549 ldr r1, [0x08001ca8] ; [0x8001ca8:4]=0x40026404
| ::::::: 0x08001c52 0860 str r0, [r1]
\ ::::::: 0x08001c54 7047 bx lr
/ (fcn) sign.bytes.DMA_GetITStatus_0 26
| Caller: DMA1_Channel2_IRQHandler
| sign.bytes.DMA_GetITStatus_0 ();
| ::::::: ; CALL XREF from 0x080029e2 (DMA1_Channel2_IRQHandler)
| ::::::: 0x08001c56 0021 movs r1, 0
| ::::::: 0x08001c58 c200 lsls r2, r0, 3
| ========< 0x08001c5a 02d4 bmi 0x8001c62
| ::::::: 0x08001c5c 174a ldr r2, [0x08001cbc] ; [0x8001cbc:4]=0x40026000
| ::::::: 0x08001c5e 1268 ldr r2, [r2]
| ========< 0x08001c60 01e0 b 0x8001c66
| ::::::: ; JMP XREF from 0x08001c5a (sign.bytes.DMA_GetITStatus_0)
| --------> 0x08001c62 174a ldr r2, [0x08001cc0] ; [0x8001cc0:4]=0x40026400
| ::::::: 0x08001c64 1268 ldr r2, [r2]
| ::::::: ; JMP XREF from 0x08001c60 (sign.bytes.DMA_GetITStatus_0)
| --------> 0x08001c66 0242 tst r2, r0
| ========< 0x08001c68 00d0 beq 0x8001c6c
| ::::::: 0x08001c6a 0121 movs r1, 1 ; 1
| ::::::: ; JMP XREF from 0x08001c68 (sign.bytes.DMA_GetITStatus_0)
| --------> 0x08001c6c 0846 mov r0, r1
\ ::::::: 0x08001c6e 7047 bx lr
/ (fcn) sign.bytes.DMA_ClearITPendingBit_0 16
| Caller: DMA1_Channel2_IRQHandler
| sign.bytes.DMA_ClearITPendingBit_0 ();
| ::::::: ; CALL XREF from 0x080029ec (DMA1_Channel2_IRQHandler)
| ::::::: 0x08001c70 c100 lsls r1, r0, 3
| ========< 0x08001c72 02d4 bmi 0x8001c7a
| ::::::: 0x08001c74 0449 ldr r1, [0x08001c88] ; [0x8001c88:4]=0x40026004
| ::::::: 0x08001c76 0860 str r0, [r1]
| ::::::: 0x08001c78 7047 bx lr
| ::::::: ; JMP XREF from 0x08001c72 (sign.bytes.DMA_ClearITPendingBit_0)
| --------> 0x08001c7a 0b49 ldr r1, [0x08001ca8] ; [0x8001ca8:4]=0x40026404
| ::::::: 0x08001c7c 0860 str r0, [r1]
\ ::::::: 0x08001c7e 7047 bx lr
::::::: 0x08001c80 0000 movs r0, r0
::::::: 0x08001c82 0000 movs r0, r0
::::::: ; DATA XREF from 0x08001b08 (sign.bytes.DMA_DeInit_0)
::::::: 0x08001c84 .dword 0x40026008
::::::: ; XREFS: DATA 0x08001b0e DATA 0x08001b20 DATA 0x08001b32 DATA 0x08001b44 DATA 0x08001b56 DATA 0x08001b68
::::::: ; XREFS: DATA 0x08001b7a DATA 0x08001c4a DATA 0x08001c74
::::::: 0x08001c88 .dword 0x40026004
::::::: ; DATA XREF from 0x08001b1a (sign.bytes.DMA_DeInit_0)
::::::: 0x08001c8c .dword 0x4002601c
::::::: ; DATA XREF from 0x08001b2c (sign.bytes.DMA_DeInit_0)
::::::: 0x08001c90 .dword 0x40026030
::::::: ; DATA XREF from 0x08001b3e (sign.bytes.DMA_DeInit_0)
::::::: 0x08001c94 .dword 0x40026044
::::::: ; DATA XREF from 0x08001b50 (sign.bytes.DMA_DeInit_0)
::::::: 0x08001c98 .dword 0x40026058
::::::: ; DATA XREF from 0x08001b62 (sign.bytes.DMA_DeInit_0)
::::::: 0x08001c9c .dword 0x4002606c
::::::: ; DATA XREF from 0x08001b74 (sign.bytes.DMA_DeInit_0)
::::::: 0x08001ca0 .dword 0x40026080
::::::: ; DATA XREF from 0x08001b86 (sign.bytes.DMA_DeInit_0)
::::::: 0x08001ca4 .dword 0x40026408
::::::: ; XREFS: DATA 0x08001b8c DATA 0x08001b9e DATA 0x08001bb0 DATA 0x08001bc2 DATA 0x08001bd4 DATA 0x08001c50
::::::: ; XREFS: DATA 0x08001c7a
::::::: 0x08001ca8 .dword 0x40026404
::::::: ; DATA XREF from 0x08001b98 (sign.bytes.DMA_DeInit_0)
::::::: 0x08001cac .dword 0x4002641c
::::::: ; DATA XREF from 0x08001baa (sign.bytes.DMA_DeInit_0)
::::::: 0x08001cb0 .dword 0x40026430
::::::: ; DATA XREF from 0x08001bbc (sign.bytes.DMA_DeInit_0)
::::::: 0x08001cb4 .dword 0x40026444
::::::: ; DATA XREF from 0x08001bce (sign.bytes.DMA_DeInit_0)
::::::: 0x08001cb8 .dword 0x40026458
::::::: ; DATA XREF from 0x08001c5c (sign.bytes.DMA_GetITStatus_0)
::::::: 0x08001cbc .dword 0x40026000
::::::: ; DATA XREF from 0x08001c62 (sign.bytes.DMA_GetITStatus_0)
::::::: 0x08001cc0 .dword 0x40026400
/ (fcn) memcpy 12
| Caller: _USART3_RxMemInit fcn.08001240 fcn.08002fba
| memcpy ();
| ::::::: ; CALL XREF from 0x08001284 (fcn.08001240)
| ::::::: ; CALL XREF from 0x080012da (_USART3_RxMemInit)
| ::::::: ; CALL XREF from 0x08002fea (fcn.08002fba)
| ::::::: 0x08001cc4 10b5 push {r4, lr}
| ::::::: 0x08001cc6 0446 mov r4, r0
| ::::::: 0x08001cc8 00f00cf8 bl sign.bytes._memcpy_0 ; void *memcpy(void *s1, const void *s2, size_t n)
| ::::::: 0x08001ccc 2046 mov r0, r4
\ ::::::: 0x08001cce 10bd pop {r4, pc}
/ (fcn) memset 20
| Caller: _USART3_RxMemInit
| memset ();
| ::::::: ; CALL XREF from 0x080012e6 (_USART3_RxMemInit)
| ::::::: 0x08001cd0 10b5 push {r4, lr}
| ::::::: 0x08001cd2 0446 mov r4, r0
| ::::::: 0x08001cd4 1046 mov r0, r2
| ::::::: 0x08001cd6 0a46 mov r2, r1
| ::::::: 0x08001cd8 0146 mov r1, r0
| ::::::: 0x08001cda 2046 mov r0, r4
| ::::::: 0x08001cdc 00f03ef8 bl sign.bytes._memset_0 ; void *memset(void *s, int c, size_t n)
| ::::::: 0x08001ce0 2046 mov r0, r4
\ ::::::: 0x08001ce2 10bd pop {r4, pc}
/ (fcn) sign.bytes._memcpy_0 118
| Caller: memcpy
| sign.bytes._memcpy_0 ();
| ::::::: ; CALL XREF from 0x08001cc8 (memcpy)
| ========< 0x08001ce4 62b3 cbz r2, 0x8001d40
| ::::::: 0x08001ce6 8b07 lsls r3, r1, 0x1e
| ========< 0x08001ce8 08d0 beq 0x8001cfc
| ::::::: ; JMP XREF from 0x08001cfa (sign.bytes._memcpy_0)
| --------> 0x08001cea 521e subs r2, r2, 1
| ::::::: 0x08001cec 11f8013b ldrb r3, [r1], 1
| ::::::: 0x08001cf0 00f8013b strb r3, [r0], 1
| ========< 0x08001cf4 00f02480 beq.w 0x8001d40
| ::::::: 0x08001cf8 8b07 lsls r3, r1, 0x1e
| ========< 0x08001cfa f6d1 bne 0x8001cea
| ::::::: ; JMP XREF from 0x08001ce8 (sign.bytes._memcpy_0)
| --------> 0x08001cfc 8307 lsls r3, r0, 0x1e
| ========< 0x08001cfe 40f02080 bne.w 0x8001d42
| ::::::: 0x08001d02 00bf nop
| ::::::: 0x08001d04 103a subs r2, 0x10
| ========< 0x08001d06 07d3 blo 0x8001d18
| ::::::: 0x08001d08 30b4 push {r4, r5}
| ::::::: ; JMP XREF from 0x08001d14 (sign.bytes._memcpy_0)
| --------> 0x08001d0a b1e83810 ldm.w r1!, {r3, r4, r5, ip}
| ::::::: 0x08001d0e 103a subs r2, 0x10
| ::::::: 0x08001d10 a0e83810 stm.w r0!, {r3, r4, r5, ip}
| ========< 0x08001d14 f9d2 bhs 0x8001d0a
| ::::::: 0x08001d16 30bc pop {r4, r5}
| ::::::: ; JMP XREF from 0x08001d06 (sign.bytes._memcpy_0)
| --------> 0x08001d18 5307 lsls r3, r2, 0x1d
| ========< 0x08001d1a 24bf itt hs
| ::::::: ; JMP XREF from 0x08001d1a (sign.bytes._memcpy_0)
| --------> 0x08001d1c b1e80810 ldm.w r1!, {r3, ip}
| ::::::: 0x08001d20 a0e80810 stm.w r0!, {r3, ip}
| ::::::: ; JMP XREF from 0x08001d58 (sign.bytes._memcpy_0)
| --------> 0x08001d24 44bf itt mi
| ::::::: ; JMP XREF from 0x08001d24 (sign.bytes._memcpy_0)
| --------> 0x08001d26 51f8043b ldr r3, [r1], 4
| ::::::: 0x08001d2a 40f8043b str r3, [r0], 4
| ::::::: 0x08001d2e d207 lsls r2, r2, 0x1f
| ========< 0x08001d30 24bf itt hs
| ::::::: ; JMP XREF from 0x08001d30 (sign.bytes._memcpy_0)
| --------> 0x08001d32 31f8022b ldrh r2, [r1], 2
| ::::::: 0x08001d36 20f8022b strh r2, [r0], 2
| ========< 0x08001d3a 44bf itt mi
| ::::::: ; JMP XREF from 0x08001d3a (sign.bytes._memcpy_0)
| --------> 0x08001d3c 0b78 ldrb r3, [r1]
| ::::::: 0x08001d3e 0370 strb r3, [r0]
| ::::::: ; JMP XREF from 0x08001ce4 (sign.bytes._memcpy_0)
| ::::::: ; JMP XREF from 0x08001cf4 (sign.bytes._memcpy_0)
| --------> 0x08001d40 7047 bx lr
| --------> 0x08001d42 083a subs r2, 8
| ========< 0x08001d44 07d3 blo 0x8001d56
| ::::::: ; JMP XREF from 0x08001d54 (sign.bytes._memcpy_0)
| --------> 0x08001d46 b1e80810 ldm.w r1!, {r3, ip}
| ::::::: 0x08001d4a 083a subs r2, 8
| ::::::: 0x08001d4c 40f8043b str r3, [r0], 4
| ::::::: 0x08001d50 40f804cb str ip, [r0], 4
| ========< 0x08001d54 f7d2 bhs 0x8001d46
| ::::::: ; JMP XREF from 0x08001d44 (sign.bytes._memcpy_0)
| --------> 0x08001d56 5307 lsls r3, r2, 0x1d
\ ========< 0x08001d58 e4e7 b 0x8001d24
::::::: 0x08001d5a 0000 movs r0, r0
/ (fcn) sign.bytes._memset_0 102
| Caller: memset
| sign.bytes._memset_0 ();
| ::::::: ; CALL XREF from 0x08001cdc (memset)
| ::::::: 0x08001d5c 62f30f22 bfi r2, r2, 8, 8
| ::::::: 0x08001d60 62f31f42 bfi r2, r2, 0x10, 0x10
| ::::::: 0x08001d64 4018 adds r0, r0, r1
| ::::::: 0x08001d66 10f00303 ands r3, r0, 3
| ========< 0x08001d6a 08d0 beq 0x8001d7e
| ::::::: 0x08001d6c c91a subs r1, r1, r3
| ========< 0x08001d6e 1fd3 blo 0x8001db0
| ::::::: 0x08001d70 db07 lsls r3, r3, 0x1f
| ========< 0x08001d72 48bf it mi
| ::::::: ; JMP XREF from 0x08001d72 (sign.bytes._memset_0)
| --------> 0x08001d74 00f8012d strb r2, [r0, -0x1]!
| ========< 0x08001d78 28bf it hs
| ::::::: ; JMP XREF from 0x08001d78 (sign.bytes._memset_0)
| --------> 0x08001d7a 20f8022d strh r2, [r0, -0x2]!
| ::::::: ; JMP XREF from 0x08001d6a (sign.bytes._memset_0)
| --------> 0x08001d7e 1300 movs r3, r2
| ::::::: 0x08001d80 30b4 push {r4, r5}
| ::::::: 0x08001d82 1446 mov r4, r2
| ::::::: 0x08001d84 1546 mov r5, r2
| ::::::: ; JMP XREF from 0x08001d8e (sign.bytes._memset_0)
| --------> 0x08001d86 1039 subs r1, 0x10
| ========< 0x08001d88 28bf it hs
| ::::::: ; JMP XREF from 0x08001d88 (sign.bytes._memset_0)
| --------> 0x08001d8a 20e93c00 stmdb r0!, {r2, r3, r4, r5}
| ========< 0x08001d8e fad8 bhi 0x8001d86
| ::::::: 0x08001d90 4907 lsls r1, r1, 0x1d
| ========< 0x08001d92 28bf it hs
| ::::::: ; JMP XREF from 0x08001d92 (sign.bytes._memset_0)
| --------> 0x08001d94 20e90c00 stmdb r0!, {r2, r3}
| ========< 0x08001d98 48bf it mi
| ::::::: ; JMP XREF from 0x08001d98 (sign.bytes._memset_0)
| --------> 0x08001d9a 40f8042d str r2, [r0, -0x4]!
| ::::::: 0x08001d9e 8900 lsls r1, r1, 2
| ========< 0x08001da0 28bf it hs
| ::::::: ; JMP XREF from 0x08001da0 (sign.bytes._memset_0)
| --------> 0x08001da2 20f8022d strh r2, [r0, -0x2]!
| ========< 0x08001da6 48bf it mi
| ::::::: ; JMP XREF from 0x08001da6 (sign.bytes._memset_0)
| --------> 0x08001da8 00f8012d strb r2, [r0, -0x1]!
| ::::::: 0x08001dac 30bc pop {r4, r5}
| ::::::: 0x08001dae 7047 bx lr
| ::::::: ; JMP XREF from 0x08001d6e (sign.bytes._memset_0)
| --------> 0x08001db0 c918 adds r1, r1, r3
| ========< 0x08001db2 18bf it ne
| ::::::: ; JMP XREF from 0x08001db2 (sign.bytes._memset_0)
| --------> 0x08001db4 00f8012d strb r2, [r0, -0x1]!
| ::::::: 0x08001db8 cb07 lsls r3, r1, 0x1f
| ========< 0x08001dba 28bf it hs
| ::::::: ; JMP XREF from 0x08001dba (sign.bytes._memset_0)
| --------> 0x08001dbc 00f8012d strb r2, [r0, -0x1]!
\ ::::::: 0x08001dc0 7047 bx lr
::::::: 0x08001dc2 0000 movs r0, r0
/ (fcn) USB_Port_Init 36
| USB_Port_Init ();
| ::::::: 0x08001dc4 80b5 push {r7, lr}
| ::::::: 0x08001dc6 fff729f9 bl USB_Get_SerialNum
| ::::::: 0x08001dca 0020 movs r0, 0
| ::::::: 0x08001dcc dff8e814 ldr.w r1, [0x080022b8] ; [0x80022b8:4]=0x20001098
| ::::::: 0x08001dd0 8872 strb r0, [r1, 0xa]
| ::::::: 0x08001dd2 00f08ffa bl USB_PowerOn
| ::::::: 0x08001dd6 00f065fb bl sign.bytes.USB_SIL_Init_0
| ::::::: 0x08001dda fff7cdf8 bl fcn.08000f78
| ::::::: 0x08001dde 0020 movs r0, 0
| ::::::: 0x08001de0 dff8d814 ldr.w r1, [0x080022bc] ; [0x80022bc:4]=0x20001120
| ::::::: 0x08001de4 0860 str r0, [r1]
\ ::::::: 0x08001de6 01bd pop {r0, pc}
/ (fcn) fcn.08001de8 148
| fcn.08001de8 ();
| ::::::: 0x08001de8 38b5 push {r3, r4, r5, lr}
| ::::::: 0x08001dea 0020 movs r0, 0
| ::::::: 0x08001dec dff8c814 ldr.w r1, [0x080022b8] ; [0x80022b8:4]=0x20001098
| ::::::: 0x08001df0 8872 strb r0, [r1, 0xa]
| ::::::: 0x08001df2 dff8cc04 ldr.w r0, [0x080022c0] ; [0x80022c0:4]=0x200004e4
| ::::::: 0x08001df6 c079 ldrb r0, [r0, 7]
| ::::::: 0x08001df8 dff8c814 ldr.w r1, [0x080022c4] ; [0x80022c4:4]=0x200010b4
| ::::::: 0x08001dfc 0968 ldr r1, [r1]
| ::::::: 0x08001dfe 4872 strb r0, [r1, 9]
| ::::::: 0x08001e00 dff8c444 ldr.w r4, [0x080022c8] ; [0x80022c8:4]=0x40005c00
| ::::::: 0x08001e04 0020 movs r0, 0
| ::::::: 0x08001e06 2065 str r0, [r4, 0x50]
| ::::::: 0x08001e08 2068 ldr r0, [r4]
| ::::::: 0x08001e0a 48f68f11 movw r1, 0x898f
| ::::::: 0x08001e0e 0840 ands r0, r1
| ::::::: 0x08001e10 40f40070 orr r0, r0, 0x200
| ::::::: 0x08001e14 2060 str r0, [r4]
| ::::::: 0x08001e16 2068 ldr r0, [r4]
| ::::::: 0x08001e18 48f6bf71 movw r1, 0x8fbf
| ::::::: 0x08001e1c 0840 ands r0, r1
| ::::::: 0x08001e1e 80f02000 eor r0, r0, 0x20
| ::::::: 0x08001e22 40f40040 orr r0, r0, 0x8000
| ::::::: 0x08001e26 40f08000 orr r0, r0, 0x80
| ::::::: 0x08001e2a 2060 str r0, [r4]
| ::::::: 0x08001e2c 1020 movs r0, 0x10 ; 16
| ::::::: 0x08001e2e 216d ldr r1, [r4, 0x50]
| ::::::: 0x08001e30 89b2 uxth r1, r1
| ::::::: 0x08001e32 dff89824 ldr.w r2, [0x080022cc] ; [0x80022cc:4]=0x40006008
| ::::::: 0x08001e36 42f81100 str.w r0, [r2, r1, lsl 1]
| ::::::: 0x08001e3a dff89454 ldr.w r5, [0x080022d0] ; [0x80022d0:4]=0x20000514
| ::::::: 0x08001e3e 95f82c10 ldrb.w r1, [r5, 0x2c]
| ::::::: 0x08001e42 0020 movs r0, 0
| ::::::: 0x08001e44 fef727fe bl USB_SetEPRxCount
| ::::::: 0x08001e48 5020 movs r0, 0x50 ; 'P' ; 80
| ::::::: 0x08001e4a 216d ldr r1, [r4, 0x50]
| ::::::: 0x08001e4c 89b2 uxth r1, r1
| ::::::: 0x08001e4e dff88424 ldr.w r2, [0x080022d4] ; [0x80022d4:4]=0x40006000
| ::::::: 0x08001e52 42f81100 str.w r0, [r2, r1, lsl 1]
| ::::::: 0x08001e56 95f82c10 ldrb.w r1, [r5, 0x2c]
| ::::::: 0x08001e5a 0020 movs r0, 0
| ::::::: 0x08001e5c fef712fe bl sign.bytes.USB_SetEPTxCount_0
| ::::::: 0x08001e60 0020 movs r0, 0
| ::::::: 0x08001e62 fef7c7fd bl sign.bytes.USB_ClearEP_KIND_0
| ::::::: 0x08001e66 0020 movs r0, 0
| ::::::: 0x08001e68 fef7b4fd bl sign.bytes.USB_SetEPRxValid_0
| ::::::: 0x08001e6c 0020 movs r0, 0
| ::::::: 0x08001e6e fef748fd bl sign.bytes.USB_SetDeviceAddress_0
| ::::::: 0x08001e72 0120 movs r0, 1 ; 1
| ::::::: 0x08001e74 dff84414 ldr.w r1, [0x080022bc] ; [0x80022bc:4]=0x20001120
| ::::::: 0x08001e78 0860 str r0, [r1]
\ ::::::: 0x08001e7a 31bd pop {r0, r4, r5, pc}
/ (fcn) fcn.08001e7c 30
| fcn.08001e7c ();
| ::::::: 0x08001e7c dff83804 ldr.w r0, [0x080022b8] ; [0x80022b8:4]=0x20001098
| ::::::: 0x08001e80 807a ldrb r0, [r0, 0xa]
| ::::::: 0x08001e82 0028 cmp r0, 0
| ========< 0x08001e84 03d0 beq 0x8001e8e
| ::::::: 0x08001e86 0520 movs r0, 5 ; 5
| ::::::: 0x08001e88 dff83014 ldr.w r1, [0x080022bc] ; [0x80022bc:4]=0x20001120
| ::::::: 0x08001e8c 0860 str r0, [r1]
| ::::::: ; JMP XREF from 0x08001e84 (fcn.08001e7c)
| --------> 0x08001e8e 7047 bx lr
| ::::::: 0x08001e90 0420 movs r0, 4 ; 4
| ::::::: 0x08001e92 dff82814 ldr.w r1, [0x080022bc] ; [0x80022bc:4]=0x20001120
| ::::::: 0x08001e96 0860 str r0, [r1]
\ ::::::: 0x08001e98 7047 bx lr
/ (fcn) fcn.08001e9a 2
| fcn.08001e9a ();
\ ::::::: 0x08001e9a 7047 bx lr
/ (fcn) fcn.08001e9c 180
| fcn.08001e9c ();
| ::::::: 0x08001e9c dff81804 ldr.w r0, [0x080022b8] ; [0x80022b8:4]=0x20001098
| ::::::: 0x08001ea0 4078 ldrb r0, [r0, 1]
| ::::::: 0x08001ea2 0328 cmp r0, 3 ; 3
| ========< 0x08001ea4 00d0 beq 0x8001ea8
| ::::::: 0x08001ea6 7047 bx lr
| ::::::: ; JMP XREF from 0x08001ea4 (fcn.08001e9c)
| --------> 0x08001ea8 38b5 push {r3, r4, r5, lr}
| ::::::: 0x08001eaa dff82c44 ldr.w r4, [0x080022d8] ; [0x80022d8:4]=0x200010e9
| ::::::: 0x08001eae 2078 ldrb r0, [r4]
| ::::::: 0x08001eb0 0428 cmp r0, 4 ; 4
| ========< 0x08001eb2 47d1 bne 0x8001f44
| ::::::: 0x08001eb4 dff82454 ldr.w r5, [0x080022dc] ; [0x80022dc:4]=0x20000618
| ::::::: 0x08001eb8 2868 ldr r0, [r5]
| ::::::: 0x08001eba 0028 cmp r0, 0
| ========< 0x08001ebc 2bd1 bne 0x8001f16
| ::::::: 0x08001ebe dff82004 ldr.w r0, [0x080022e0] ; [0x80022e0:4]=0x20000c98
| ::::::: 0x08001ec2 0178 ldrb r1, [r0]
| ::::::: 0x08001ec4 0029 cmp r1, 0
| ========< 0x08001ec6 02d1 bne 0x8001ece
| ::::::: 0x08001ec8 6a68 ldr r2, [r5, 4]
| ::::::: 0x08001eca 012a cmp r2, 1 ; 1
| ========< 0x08001ecc 2cd0 beq 0x8001f28
| ::::::: ; JMP XREF from 0x08001ec6 (fcn.08001e9c)
| --------> 0x08001ece 2129 cmp r1, 0x21 ; '!' ; 33
| ========< 0x08001ed0 0ed1 bne 0x8001ef0
| ::::::: 0x08001ed2 6a68 ldr r2, [r5, 4]
| ::::::: 0x08001ed4 052a cmp r2, 5 ; 5
| ========< 0x08001ed6 0bd1 bne 0x8001ef0
| ::::::: 0x08001ed8 4178 ldrb r1, [r0, 1]
| ::::::: 0x08001eda 8278 ldrb r2, [r0, 2]
| ::::::: 0x08001edc 01eb0221 add.w r1, r1, r2, lsl 8
| ::::::: 0x08001ee0 c278 ldrb r2, [r0, 3]
| ::::::: 0x08001ee2 01eb0241 add.w r1, r1, r2, lsl 16
| ::::::: 0x08001ee6 0079 ldrb r0, [r0, 4]
| ::::::: 0x08001ee8 01eb0060 add.w r0, r1, r0, lsl 24
| ::::::: 0x08001eec e860 str r0, [r5, 0xc]
| ========< 0x08001eee 1be0 b 0x8001f28
| ::::::: ; JMP XREF from 0x08001ed0 (fcn.08001e9c)
| ::::::: ; JMP XREF from 0x08001ed6 (fcn.08001e9c)
| --------> 0x08001ef0 4129 cmp r1, 0x41 ; 'A' ; 65
| ========< 0x08001ef2 19d1 bne 0x8001f28
| ::::::: 0x08001ef4 6968 ldr r1, [r5, 4]
| ::::::: 0x08001ef6 0529 cmp r1, 5 ; 5
| ========< 0x08001ef8 16d1 bne 0x8001f28
| ::::::: 0x08001efa 4178 ldrb r1, [r0, 1]
| ::::::: 0x08001efc 8278 ldrb r2, [r0, 2]
| ::::::: 0x08001efe 01eb0221 add.w r1, r1, r2, lsl 8
| ::::::: 0x08001f02 c278 ldrb r2, [r0, 3]
| ::::::: 0x08001f04 01eb0241 add.w r1, r1, r2, lsl 16
| ::::::: 0x08001f08 0079 ldrb r0, [r0, 4]
| ::::::: 0x08001f0a 01eb0060 add.w r0, r1, r0, lsl 24
| ::::::: 0x08001f0e e860 str r0, [r5, 0xc]
| ::::::: 0x08001f10 00f0d6fa bl fcn.080024c0
| ========< 0x08001f14 08e0 b 0x8001f28
| ::::::: ; JMP XREF from 0x08001ebc (fcn.08001e9c)
| --------> 0x08001f16 0228 cmp r0, 2 ; 2
| ========< 0x08001f18 06d3 blo 0x8001f28
| ::::::: 0x08001f1a 6968 ldr r1, [r5, 4]
| ::::::: 0x08001f1c 801e subs r0, r0, 2
| ::::::: 0x08001f1e ea68 ldr r2, [r5, 0xc]
| ::::::: 0x08001f20 02eb8020 add.w r0, r2, r0, lsl 10
| ::::::: 0x08001f24 00f0e4fa bl fcn.080024f0
| ::::::: ; XREFS: JMP 0x08001ecc JMP 0x08001eee JMP 0x08001ef2 JMP 0x08001ef8 JMP 0x08001f14 JMP 0x08001f18
| --------> 0x08001f28 0020 movs r0, 0
| ::::::: 0x08001f2a 6860 str r0, [r5, 4]
| ::::::: 0x08001f2c 2860 str r0, [r5]
| ::::::: 0x08001f2e 0320 movs r0, 3 ; 3
| ::::::: 0x08001f30 2070 strb r0, [r4]
| ::::::: 0x08001f32 dff8b003 ldr.w r0, [0x080022e4] ; [0x80022e4:4]=0x200010e0
| ::::::: 0x08001f36 0321 movs r1, 3 ; 3
| ::::::: 0x08001f38 0171 strb r1, [r0, 4]
| ::::::: 0x08001f3a 0021 movs r1, 0
| ::::::: 0x08001f3c 4170 strb r1, [r0, 1]
| ::::::: 0x08001f3e 8170 strb r1, [r0, 2]
| ::::::: 0x08001f40 c170 strb r1, [r0, 3]
| ::::::: 0x08001f42 31bd pop {r0, r4, r5, pc}
| ::::::: ; JMP XREF from 0x08001eb2 (fcn.08001e9c)
| --------> 0x08001f44 0728 cmp r0, 7 ; 7
| ========< 0x08001f46 02d1 bne 0x8001f4e
| ::::::: 0x08001f48 bde83140 pop.w {r0, r4, r5, lr}
| ========< 0x08001f4c 9ae1 b fcn.08002284
| ::::::: ; JMP XREF from 0x08001f46 (fcn.08001e9c)
\ --------> 0x08001f4e 31bd pop {r0, r4, r5, pc}
/ (fcn) fcn.08001f50 118
| fcn.08001f50 ();
| ::::::: 0x08001f50 10b5 push {r4, lr}
| ::::::: 0x08001f52 dff87013 ldr.w r1, [0x080022c4] ; [0x80022c4:4]=0x200010b4
| ::::::: 0x08001f56 0a68 ldr r2, [r1]
| ::::::: 0x08001f58 1378 ldrb r3, [r2]
| ::::::: 0x08001f5a 03f07f03 and r3, r3, 0x7f
| ::::::: 0x08001f5e 212b cmp r3, 0x21 ; '!' ; 33
| ========< 0x08001f60 28d1 bne 0x8001fb4
| ::::::: 0x08001f62 0228 cmp r0, 2 ; 2
| ========< 0x08001f64 0cd1 bne 0x8001f80
| ::::::: 0x08001f66 dff87033 ldr.w r3, [0x080022d8] ; [0x80022d8:4]=0x200010e9
| ::::::: 0x08001f6a 1c78 ldrb r4, [r3]
| ::::::: 0x08001f6c 022c cmp r4, 2 ; 2
| ========< 0x08001f6e 01d0 beq 0x8001f74
| ::::::: 0x08001f70 092c cmp r4, 9 ; 9
| ========< 0x08001f72 05d1 bne 0x8001f80
| ::::::: ; JMP XREF from 0x08001f6e (fcn.08001f50)
| --------> 0x08001f74 0ff26113 addw r3, pc, 0x161
| ::::::: ; JMP XREF from 0x08001f9a (fcn.08001f50)
| ::::::: ; JMP XREF from 0x08001fa4 (fcn.08001f50)
| ::::::: ; JMP XREF from 0x08001fae (fcn.08001f50)
| --------> 0x08001f78 1800 movs r0, r3
| ========< 0x08001f7a 1dd1 bne 0x8001fb8
| ::::::: 0x08001f7c 0220 movs r0, 2 ; 2
| ::::::: 0x08001f7e 10bd pop {r4, pc}
| ::::::: ; JMP XREF from 0x08001f64 (fcn.08001f50)
| ::::::: ; JMP XREF from 0x08001f72 (fcn.08001f50)
| --------> 0x08001f80 0128 cmp r0, 1 ; 1
| ========< 0x08001f82 0bd1 bne 0x8001f9c
| ::::::: 0x08001f84 dff85033 ldr.w r3, [0x080022d8] ; [0x80022d8:4]=0x200010e9
| ::::::: 0x08001f88 1c78 ldrb r4, [r3]
| ::::::: 0x08001f8a 022c cmp r4, 2 ; 2
| ========< 0x08001f8c 01d0 beq 0x8001f92
| ::::::: 0x08001f8e 052c cmp r4, 5 ; 5
| ========< 0x08001f90 04d1 bne 0x8001f9c
| ::::::: ; JMP XREF from 0x08001f8c (fcn.08001f50)
| --------> 0x08001f92 0320 movs r0, 3 ; 3
| ::::::: 0x08001f94 1870 strb r0, [r3]
| ::::::: 0x08001f96 0ff2f113 addw r3, pc, 0x1f1
| ========< 0x08001f9a ede7 b 0x8001f78
| ::::::: ; JMP XREF from 0x08001f82 (fcn.08001f50)
| ::::::: ; JMP XREF from 0x08001f90 (fcn.08001f50)
| --------> 0x08001f9c 0528 cmp r0, 5 ; 5
| ========< 0x08001f9e 02d1 bne 0x8001fa6
| ::::::: 0x08001fa0 0ff22523 addw r3, pc, 0x225
| ========< 0x08001fa4 e8e7 b 0x8001f78
| ::::::: ; JMP XREF from 0x08001f9e (fcn.08001f50)
| --------> 0x08001fa6 0328 cmp r0, 3 ; 3
| ========< 0x08001fa8 02d1 bne 0x8001fb0
| ::::::: 0x08001faa 0ff23123 addw r3, pc, 0x231
| ========< 0x08001fae e3e7 b 0x8001f78
| ::::::: ; JMP XREF from 0x08001fa8 (fcn.08001f50)
| --------> 0x08001fb0 0220 movs r0, 2 ; 2
| ::::::: 0x08001fb2 10bd pop {r4, pc}
| ::::::: ; JMP XREF from 0x08001f60 (fcn.08001f50)
| --------> 0x08001fb4 0220 movs r0, 2 ; 2
| ::::::: 0x08001fb6 10bd pop {r4, pc}
| ::::::: ; JMP XREF from 0x08001f7a (fcn.08001f50)
| --------> 0x08001fb8 9361 str r3, [r2, 0x18]
| ::::::: 0x08001fba 0020 movs r0, 0
| ::::::: 0x08001fbc 0968 ldr r1, [r1]
| ::::::: 0x08001fbe 4882 strh r0, [r1, 0x12]
| ::::::: 0x08001fc0 9847 blx r3
| ::::::: 0x08001fc2 0020 movs r0, 0
\ ::::::: 0x08001fc4 10bd pop {r4, pc}
/ (fcn) fcn.08001fc6 216
| fcn.08001fc6 ();
| ::::::: 0x08001fc6 bf49 ldr r1, [0x080022c4] ; [0x80022c4:4]=0x200010b4
| ::::::: 0x08001fc8 0968 ldr r1, [r1]
| ::::::: 0x08001fca 0978 ldrb r1, [r1]
| ::::::: 0x08001fcc 01f07f01 and r1, r1, 0x7f
| ::::::: 0x08001fd0 2129 cmp r1, 0x21 ; '!' ; 33
| ========< 0x08001fd2 62d1 bne 0x800209a
| ::::::: 0x08001fd4 0128 cmp r0, 1 ; 1
| ========< 0x08001fd6 13d1 bne 0x8002000
| ::::::: 0x08001fd8 bf49 ldr r1, [0x080022d8] ; [0x80022d8:4]=0x200010e9
| ::::::: 0x08001fda 0878 ldrb r0, [r1]
| ::::::: 0x08001fdc 0528 cmp r0, 5 ; 5
| ========< 0x08001fde 01d0 beq 0x8001fe4
| ::::::: 0x08001fe0 0228 cmp r0, 2 ; 2
| ========< 0x08001fe2 5ad1 bne 0x800209a
| ::::::: ; JMP XREF from 0x08001fde (fcn.08001fc6)
| --------> 0x08001fe4 0120 movs r0, 1 ; 1
| ::::::: 0x08001fe6 bd4a ldr r2, [0x080022dc] ; [0x80022dc:4]=0x20000618
| ::::::: 0x08001fe8 9060 str r0, [r2, 8]
| ::::::: 0x08001fea 0620 movs r0, 6 ; 6
| ::::::: 0x08001fec 0870 strb r0, [r1]
| ::::::: 0x08001fee bd48 ldr r0, [0x080022e4] ; [0x80022e4:4]=0x200010e0
| ::::::: 0x08001ff0 0021 movs r1, 0
| ::::::: 0x08001ff2 4170 strb r1, [r0, 1]
| ::::::: 0x08001ff4 8170 strb r1, [r0, 2]
| ::::::: 0x08001ff6 c170 strb r1, [r0, 3]
| ::::::: 0x08001ff8 0621 movs r1, 6 ; 6
| ::::::: 0x08001ffa 0171 strb r1, [r0, 4]
| ::::::: 0x08001ffc 0020 movs r0, 0
| ::::::: 0x08001ffe 7047 bx lr
| ::::::: ; JMP XREF from 0x08001fd6 (fcn.08001fc6)
| --------> 0x08002000 0228 cmp r0, 2 ; 2
| ========< 0x08002002 0bd1 bne 0x800201c
| ::::::: 0x08002004 0220 movs r0, 2 ; 2
| ::::::: 0x08002006 b449 ldr r1, [0x080022d8] ; [0x80022d8:4]=0x200010e9
| ::::::: 0x08002008 0870 strb r0, [r1]
| ::::::: 0x0800200a b648 ldr r0, [0x080022e4] ; [0x80022e4:4]=0x200010e0
| ::::::: 0x0800200c 0021 movs r1, 0
| ::::::: 0x0800200e 4170 strb r1, [r0, 1]
| ::::::: 0x08002010 8170 strb r1, [r0, 2]
| ::::::: 0x08002012 c170 strb r1, [r0, 3]
| ::::::: 0x08002014 0221 movs r1, 2 ; 2
| ::::::: 0x08002016 0171 strb r1, [r0, 4]
| ::::::: 0x08002018 0020 movs r0, 0
| ::::::: 0x0800201a 7047 bx lr
| ::::::: ; JMP XREF from 0x08002002 (fcn.08001fc6)
| --------> 0x0800201c 0428 cmp r0, 4 ; 4
| ========< 0x0800201e 1dd1 bne 0x800205c
| ::::::: 0x08002020 b048 ldr r0, [0x080022e4] ; [0x80022e4:4]=0x200010e0
| ::::::: 0x08002022 ad49 ldr r1, [0x080022d8] ; [0x80022d8:4]=0x200010e9
| ::::::: 0x08002024 0a78 ldrb r2, [r1]
| ::::::: 0x08002026 0a2a cmp r2, 0xa ; 10
| ========< 0x08002028 0bd1 bne 0x8002042
| ::::::: 0x0800202a 0222 movs r2, 2 ; 2
| ::::::: 0x0800202c 0a70 strb r2, [r1]
| ::::::: 0x0800202e 0021 movs r1, 0
| ::::::: 0x08002030 0170 strb r1, [r0]
| ::::::: 0x08002032 4170 strb r1, [r0, 1]
| ::::::: 0x08002034 8170 strb r1, [r0, 2]
| ::::::: 0x08002036 c170 strb r1, [r0, 3]
| ::::::: 0x08002038 1146 mov r1, r2
| ::::::: 0x0800203a 0171 strb r1, [r0, 4]
| ::::::: 0x0800203c 0021 movs r1, 0
| ::::::: 0x0800203e 4171 strb r1, [r0, 5]
| ========< 0x08002040 29e0 b 0x8002096
| ::::::: ; JMP XREF from 0x08002028 (fcn.08001fc6)
| --------> 0x08002042 0a22 movs r2, 0xa ; 10
| ::::::: 0x08002044 0a70 strb r2, [r1]
| ::::::: 0x08002046 0e21 movs r1, 0xe ; 14
| ::::::: 0x08002048 0170 strb r1, [r0]
| ::::::: 0x0800204a 0021 movs r1, 0
| ::::::: 0x0800204c 4170 strb r1, [r0, 1]
| ::::::: 0x0800204e 8170 strb r1, [r0, 2]
| ::::::: 0x08002050 c170 strb r1, [r0, 3]
| ::::::: 0x08002052 1146 mov r1, r2
| ::::::: 0x08002054 0171 strb r1, [r0, 4]
| ::::::: 0x08002056 0021 movs r1, 0
| ::::::: 0x08002058 4171 strb r1, [r0, 5]
| ========< 0x0800205a 1ce0 b 0x8002096
| ::::::: ; JMP XREF from 0x0800201e (fcn.08001fc6)
| --------> 0x0800205c 0628 cmp r0, 6 ; 6
| ========< 0x0800205e 1cd1 bne 0x800209a
| ::::::: 0x08002060 9d49 ldr r1, [0x080022d8] ; [0x80022d8:4]=0x200010e9
| ::::::: 0x08002062 0878 ldrb r0, [r1]
| ::::::: 0x08002064 0228 cmp r0, 2 ; 2
| ========< 0x08002066 07d0 beq 0x8002078
| ::::::: 0x08002068 0328 cmp r0, 3 ; 3
| ========< 0x0800206a 05d0 beq 0x8002078
| ::::::: 0x0800206c 0528 cmp r0, 5 ; 5
| ========< 0x0800206e 03d0 beq 0x8002078
| ::::::: 0x08002070 0628 cmp r0, 6 ; 6
| ========< 0x08002072 01d0 beq 0x8002078
| ::::::: 0x08002074 0928 cmp r0, 9 ; 9
| ========< 0x08002076 0ed1 bne 0x8002096
| ::::::: ; JMP XREF from 0x08002066 (fcn.08001fc6)
| ::::::: ; JMP XREF from 0x0800206a (fcn.08001fc6)
| ::::::: ; JMP XREF from 0x0800206e (fcn.08001fc6)
| ::::::: ; JMP XREF from 0x08002072 (fcn.08001fc6)
| --------> 0x08002078 0220 movs r0, 2 ; 2
| ::::::: 0x0800207a 0870 strb r0, [r1]
| ::::::: 0x0800207c 9948 ldr r0, [0x080022e4] ; [0x80022e4:4]=0x200010e0
| ::::::: 0x0800207e 0021 movs r1, 0
| ::::::: 0x08002080 0170 strb r1, [r0]
| ::::::: 0x08002082 4170 strb r1, [r0, 1]
| ::::::: 0x08002084 8170 strb r1, [r0, 2]
| ::::::: 0x08002086 c170 strb r1, [r0, 3]
| ::::::: 0x08002088 0221 movs r1, 2 ; 2
| ::::::: 0x0800208a 0171 strb r1, [r0, 4]
| ::::::: 0x0800208c 0021 movs r1, 0
| ::::::: 0x0800208e 4171 strb r1, [r0, 5]
| ::::::: 0x08002090 9248 ldr r0, [0x080022dc] ; [0x80022dc:4]=0x20000618
| ::::::: 0x08002092 0160 str r1, [r0]
| ::::::: 0x08002094 4160 str r1, [r0, 4]
| ::::::: ; JMP XREF from 0x08002040 (fcn.08001fc6)
| ::::::: ; JMP XREF from 0x0800205a (fcn.08001fc6)
| ::::::: ; JMP XREF from 0x08002076 (fcn.08001fc6)
| --------> 0x08002096 0020 movs r0, 0
| ::::::: 0x08002098 7047 bx lr
| ::::::: ; JMP XREF from 0x08001fd2 (fcn.08001fc6)
| ::::::: ; JMP XREF from 0x08001fe2 (fcn.08001fc6)
| ::::::: ; JMP XREF from 0x0800205e (fcn.08001fc6)
| --------> 0x0800209a 0220 movs r0, 2 ; 2
\ ::::::: 0x0800209c 7047 bx lr
/ (fcn) fcn.0800209e 6
| fcn.0800209e ();
| ::::::: 0x0800209e 9249 ldr r1, [0x080022e8] ; [0x80022e8:4]=0x20000684
\ ::::`===< 0x080020a0 fef79ab9 b.w USB_Standard_GetDescriptorData
/ (fcn) fcn.080020a4 6
| fcn.080020a4 ();
| :::: :: 0x080020a4 9149 ldr r1, [0x080022ec] ; [0x80022ec:4]=0x20000628
\ :::: `==< 0x080020a6 fef797b9 b.w USB_Standard_GetDescriptorData
/ (fcn) fcn.080020aa 24
| fcn.080020aa ();
| :::: : 0x080020aa 8649 ldr r1, [0x080022c4] ; [0x80022c4:4]=0x200010b4
| :::: : 0x080020ac 0968 ldr r1, [r1]
| :::: : 0x080020ae c978 ldrb r1, [r1, 3]
| :::: : 0x080020b0 0929 cmp r1, 9 ; 9
| :::: ,==< 0x080020b2 01db blt 0x80020b8
| :::: |: 0x080020b4 0020 movs r0, 0
| :::: |: 0x080020b6 7047 bx lr
| :::: |: ; JMP XREF from 0x080020b2 (fcn.080020aa)
| :::: `--> 0x080020b8 8d4a ldr r2, [0x080022f0] ; [0x80022f0:4]=0x200004ac
| :::: : 0x080020ba 02ebc101 add.w r1, r2, r1, lsl 3
\ :::: `=< 0x080020be fef78bb9 b.w USB_Standard_GetDescriptorData
/ (fcn) fcn.080020c2 20
| fcn.080020c2 ();
| :::: 0x080020c2 0429 cmp r1, 4 ; 4
| :::: ,=< 0x080020c4 01db blt 0x80020ca
| :::: | 0x080020c6 0220 movs r0, 2 ; 2
| :::: | 0x080020c8 7047 bx lr
| :::: | ; JMP XREF from 0x080020c4 (fcn.080020c2)
| :::: `-> 0x080020ca 0328 cmp r0, 3 ; 3
| :::: ,=< 0x080020cc 01db blt 0x80020d2
| :::: | 0x080020ce 0220 movs r0, 2 ; 2
| :::: | 0x080020d0 7047 bx lr
| :::: | ; JMP XREF from 0x080020cc (fcn.080020c2)
| :::: `-> 0x080020d2 0020 movs r0, 0
\ :::: 0x080020d4 7047 bx lr
:::: 0x080020d6 0000 movs r0, r0
/ (fcn) fcn.080020d8 174
| fcn.080020d8 ();
| :::: 0x080020d8 f8b5 push {r3, r4, r5, r6, r7, lr}
| :::: 0x080020da 0446 mov r4, r0
| :::: 0x080020dc 7649 ldr r1, [0x080022b8] ; [0x80022b8:4]=0x20001098
| :::: 0x080020de 8878 ldrb r0, [r1, 2]
| :::: 0x080020e0 ca78 ldrb r2, [r1, 3]
| :::: 0x080020e2 02eb0020 add.w r0, r2, r0, lsl 8
| :::: 0x080020e6 7d4d ldr r5, [0x080022dc] ; [0x80022dc:4]=0x20000618
| :::: 0x080020e8 2860 str r0, [r5]
| :::: 0x080020ea ca79 ldrb r2, [r1, 7]
| :::: 0x080020ec 8979 ldrb r1, [r1, 6]
| :::: 0x080020ee 01eb0221 add.w r1, r1, r2, lsl 8
| :::: 0x080020f2 6960 str r1, [r5, 4]
| :::: 0x080020f4 734e ldr r6, [0x080022c4] ; [0x80022c4:4]=0x200010b4
| :::: 0x080020f6 3268 ldr r2, [r6]
| :::: 0x080020f8 578a ldrh r7, [r2, 0x12]
| :::: 0x080020fa dff8dcc1 ldr.w ip, [0x080022d8] ; [0x80022d8:4]=0x200010e9
| :::: 0x080020fe 0028 cmp r0, 0
| :::: ,=< 0x08002100 1dd1 bne 0x800213e
| :::: | 0x08002102 0429 cmp r1, 4 ; 4
| :::: ,==< 0x08002104 03d3 blo 0x800210e
| :::: || 0x08002106 0220 movs r0, 2 ; 2
| :::: || 0x08002108 8cf80000 strb.w r0, [ip]
| ::::,===< 0x0800210c 02e0 b 0x8002114
| ::::||| ; JMP XREF from 0x08002104 (fcn.080020d8)
| ::::|`--> 0x0800210e 0920 movs r0, 9 ; 9
| ::::| | 0x08002110 8cf80000 strb.w r0, [ip]
| ::::| | ; JMP XREF from 0x0800210c (fcn.080020d8)
| ::::`---> 0x08002114 734b ldr r3, [0x080022e4] ; [0x80022e4:4]=0x200010e0
| :::: | 0x08002116 9cf80000 ldrb.w r0, [ip]
| :::: | 0x0800211a 1871 strb r0, [r3, 4]
| :::: | 0x0800211c 0020 movs r0, 0
| :::: | 0x0800211e 5870 strb r0, [r3, 1]
| :::: | 0x08002120 9870 strb r0, [r3, 2]
| :::: | 0x08002122 d870 strb r0, [r3, 3]
| :::: | 0x08002124 6e48 ldr r0, [0x080022e0] ; [0x80022e0:4]=0x20000c98
| :::: | 0x08002126 0021 movs r1, 0
| :::: | 0x08002128 0170 strb r1, [r0]
| :::: | 0x0800212a 2121 movs r1, 0x21 ; '!' ; 33
| :::: | 0x0800212c 4170 strb r1, [r0, 1]
| :::: | 0x0800212e 4121 movs r1, 0x41 ; 'A' ; 65
| :::: | 0x08002130 8170 strb r1, [r0, 2]
| :::: | 0x08002132 002c cmp r4, 0
| :::: ,==< 0x08002134 26d1 bne 0x8002184
| :::: || 0x08002136 0320 movs r0, 3 ; 3
| :::: || 0x08002138 1082 strh r0, [r2, 0x10]
| :::: || 0x0800213a 0020 movs r0, 0
| :::: || 0x0800213c f2bd pop {r1, r4, r5, r6, r7, pc}
| :::: || ; JMP XREF from 0x08002100 (fcn.080020d8)
| :::: |`-> 0x0800213e 694b ldr r3, [0x080022e4] ; [0x80022e4:4]=0x200010e0
| :::: | 0x08002140 0228 cmp r0, 2 ; 2
| :::: |,=< 0x08002142 17d3 blo 0x8002174
| :::: || 0x08002144 0922 movs r2, 9 ; 9
| :::: || 0x08002146 8cf80020 strb.w r2, [ip]
| :::: || 0x0800214a 1a71 strb r2, [r3, 4]
| :::: || 0x0800214c 0022 movs r2, 0
| :::: || 0x0800214e 5a70 strb r2, [r3, 1]
| :::: || 0x08002150 9a70 strb r2, [r3, 2]
| :::: || 0x08002152 da70 strb r2, [r3, 3]
| :::: || 0x08002154 801e subs r0, r0, 2
| :::: || 0x08002156 ea68 ldr r2, [r5, 0xc]
| :::: || 0x08002158 02eb8020 add.w r0, r2, r0, lsl 10
| :::: || 0x0800215c 00f0e0f9 bl fcn.08002520
| :::: || 0x08002160 002c cmp r4, 0
| ::::,===< 0x08002162 05d1 bne 0x8002170
| ::::||| 0x08002164 6868 ldr r0, [r5, 4]
| ::::||| 0x08002166 c01b subs r0, r0, r7
| ::::||| 0x08002168 3168 ldr r1, [r6]
| ::::||| 0x0800216a 0882 strh r0, [r1, 0x10]
| ::::||| 0x0800216c 0020 movs r0, 0
| ::::||| 0x0800216e f2bd pop {r1, r4, r5, r6, r7, pc}
| ::::||| ; JMP XREF from 0x08002162 (fcn.080020d8)
| ::::`---> 0x08002170 3818 adds r0, r7, r0
| :::: || 0x08002172 f2bd pop {r1, r4, r5, r6, r7, pc}
| :::: || ; JMP XREF from 0x08002142 (fcn.080020d8)
| :::: |`-> 0x08002174 0f20 movs r0, 0xf ; 15
| :::: | 0x08002176 8cf80000 strb.w r0, [ip]
| :::: | 0x0800217a 1871 strb r0, [r3, 4]
| :::: | 0x0800217c 0020 movs r0, 0
| :::: | 0x0800217e 5870 strb r0, [r3, 1]
| :::: | 0x08002180 9870 strb r0, [r3, 2]
| :::: | 0x08002182 d870 strb r0, [r3, 3]
| :::: | ; JMP XREF from 0x08002134 (fcn.080020d8)
\ :::: `--> 0x08002184 f2bd pop {r1, r4, r5, r6, r7, pc}
:::: 0x08002186 0000 movs r0, r0
/ (fcn) fcn.08002188 62
| fcn.08002188 ();
| :::: 0x08002188 10b4 push {r4}
| :::: 0x0800218a 5449 ldr r1, [0x080022dc] ; [0x80022dc:4]=0x20000618
| :::: 0x0800218c 4a4a ldr r2, [0x080022b8] ; [0x80022b8:4]=0x20001098
| :::: 0x0800218e 9378 ldrb r3, [r2, 2]
| :::: 0x08002190 d478 ldrb r4, [r2, 3]
| :::: 0x08002192 04eb0323 add.w r3, r4, r3, lsl 8
| :::: 0x08002196 0b60 str r3, [r1]
| :::: 0x08002198 d379 ldrb r3, [r2, 7]
| :::: 0x0800219a 9479 ldrb r4, [r2, 6]
| :::: 0x0800219c 04eb0323 add.w r3, r4, r3, lsl 8
| :::: 0x080021a0 4b60 str r3, [r1, 4]
| :::: 0x080021a2 518a ldrh r1, [r2, 0x12]
| :::: 0x080021a4 0322 movs r2, 3 ; 3
| :::: 0x080021a6 4c4c ldr r4, [0x080022d8] ; [0x80022d8:4]=0x200010e9
| :::: 0x080021a8 2270 strb r2, [r4]
| :::: 0x080021aa 4e4c ldr r4, [0x080022e4] ; [0x80022e4:4]=0x200010e0
| :::: 0x080021ac 2271 strb r2, [r4, 4]
| :::: 0x080021ae 0028 cmp r0, 0
| :::: ,=< 0x080021b0 05d1 bne 0x80021be
| :::: | 0x080021b2 581a subs r0, r3, r1
| :::: | 0x080021b4 4349 ldr r1, [0x080022c4] ; [0x80022c4:4]=0x200010b4
| :::: | 0x080021b6 0968 ldr r1, [r1]
| :::: | 0x080021b8 0882 strh r0, [r1, 0x10]
| :::: | 0x080021ba 0020 movs r0, 0
| :::: ,==< 0x080021bc 01e0 b 0x80021c2
| :::: || ; JMP XREF from 0x080021b0 (fcn.08002188)
| :::: |`-> 0x080021be 4848 ldr r0, [0x080022e0] ; [0x80022e0:4]=0x20000c98
| :::: | 0x080021c0 0818 adds r0, r1, r0
| :::: | ; JMP XREF from 0x080021bc (fcn.08002188)
| :::: `--> 0x080021c2 10bc pop {r4}
\ :::: 0x080021c4 7047 bx lr
:::: 0x080021c6 0000 movs r0, r0
/ (fcn) fcn.080021c8 20
| fcn.080021c8 ();
| :::: 0x080021c8 0028 cmp r0, 0
| :::: ,=< 0x080021ca 05d1 bne 0x80021d8
| :::: | 0x080021cc 0120 movs r0, 1 ; 1
| :::: | 0x080021ce 3d49 ldr r1, [0x080022c4] ; [0x80022c4:4]=0x200010b4
| :::: | 0x080021d0 0968 ldr r1, [r1]
| :::: | 0x080021d2 0882 strh r0, [r1, 0x10]
| :::: | 0x080021d4 0020 movs r0, 0
| :::: | 0x080021d6 7047 bx lr
| :::: | ; JMP XREF from 0x080021ca (fcn.080021c8)
| :::: `-> 0x080021d8 3f48 ldr r0, [0x080022d8] ; [0x80022d8:4]=0x200010e9
\ :::: 0x080021da 7047 bx lr
/ (fcn) fcn.080021dc 168
| fcn.080021dc ();
| :::: 0x080021dc 10b5 push {r4, lr}
| :::: 0x080021de 0446 mov r4, r0
| :::: 0x080021e0 3d48 ldr r0, [0x080022d8] ; [0x80022d8:4]=0x200010e9
| :::: 0x080021e2 0178 ldrb r1, [r0]
| :::: 0x080021e4 0329 cmp r1, 3 ; 3
| :::: ,=< 0x080021e6 02d0 beq 0x80021ee
| :::: | 0x080021e8 0629 cmp r1, 6 ; 6
| :::: ,==< 0x080021ea 23d0 beq 0x8002234
| ::::,===< 0x080021ec 40e0 b 0x8002270
| ::::||| ; JMP XREF from 0x080021e6 (fcn.080021dc)
| ::::||`-> 0x080021ee 3d4a ldr r2, [0x080022e4] ; [0x80022e4:4]=0x200010e0
| ::::|| 0x080021f0 3a4b ldr r3, [0x080022dc] ; [0x80022dc:4]=0x20000618
| ::::|| 0x080021f2 5968 ldr r1, [r3, 4]
| ::::|| 0x080021f4 0029 cmp r1, 0
| ::::||,=< 0x080021f6 14d0 beq 0x8002222
| ::::||| 0x080021f8 0421 movs r1, 4 ; 4
| ::::||| 0x080021fa 0170 strb r1, [r0]
| ::::||| 0x080021fc 0846 mov r0, r1
| ::::||| 0x080021fe 1071 strb r0, [r2, 4]
| ::::||| 0x08002200 1868 ldr r0, [r3]
| ::::||| 0x08002202 0028 cmp r0, 0
| ========< 0x08002204 08d1 bne 0x8002218
| ::::||| 0x08002206 3648 ldr r0, [0x080022e0] ; [0x80022e0:4]=0x20000c98
| ::::||| 0x08002208 0078 ldrb r0, [r0]
| ::::||| 0x0800220a 4128 cmp r0, 0x41 ; 'A' ; 65
| ========< 0x0800220c 04d1 bne 0x8002218
| ::::||| 0x0800220e 0021 movs r1, 0
| ::::||| 0x08002210 d868 ldr r0, [r3, 0xc]
| ::::||| 0x08002212 00f0b1f9 bl fcn.08002578
| ========< 0x08002216 2be0 b 0x8002270
| ::::||| ; JMP XREF from 0x08002204 (fcn.080021dc)
| ::::||| ; JMP XREF from 0x0800220c (fcn.080021dc)
| --------> 0x08002218 0121 movs r1, 1 ; 1
| ::::||| 0x0800221a d868 ldr r0, [r3, 0xc]
| ::::||| 0x0800221c 00f0acf9 bl fcn.08002578
| ========< 0x08002220 26e0 b 0x8002270
| ::::||| ; JMP XREF from 0x080021f6 (fcn.080021dc)
| ::::||`-> 0x08002222 0521 movs r1, 5 ; 5
| ::::|| 0x08002224 0170 strb r1, [r0]
| ::::|| 0x08002226 0846 mov r0, r1
| ::::|| 0x08002228 1071 strb r0, [r2, 4]
| ::::|| 0x0800222a 0020 movs r0, 0
| ::::|| 0x0800222c 5070 strb r0, [r2, 1]
| ::::|| 0x0800222e 9070 strb r0, [r2, 2]
| ::::|| 0x08002230 d070 strb r0, [r2, 3]
| ::::||,=< 0x08002232 1de0 b 0x8002270
| ::::||| ; JMP XREF from 0x080021ea (fcn.080021dc)
| ::::|`--> 0x08002234 294b ldr r3, [0x080022dc] ; [0x80022dc:4]=0x20000618
| ::::| | 0x08002236 9968 ldr r1, [r3, 8]
| ::::| | 0x08002238 0129 cmp r1, 1 ; 1
| ::::|,==< 0x0800223a 0ad1 bne 0x8002252
| ::::||| 0x0800223c 0721 movs r1, 7 ; 7
| ::::||| 0x0800223e 0170 strb r1, [r0]
| ::::||| 0x08002240 284a ldr r2, [0x080022e4] ; [0x80022e4:4]=0x200010e0
| ::::||| 0x08002242 0846 mov r0, r1
| ::::||| 0x08002244 1071 strb r0, [r2, 4]
| ::::||| 0x08002246 0120 movs r0, 1 ; 1
| ::::||| 0x08002248 5070 strb r0, [r2, 1]
| ::::||| 0x0800224a 0020 movs r0, 0
| ::::||| 0x0800224c 9070 strb r0, [r2, 2]
| ::::||| 0x0800224e d070 strb r0, [r2, 3]
| ========< 0x08002250 0ee0 b 0x8002270
| ::::||| ; JMP XREF from 0x0800223a (fcn.080021dc)
| ::::|`--> 0x08002252 0029 cmp r1, 0
| ::::|,==< 0x08002254 0cd1 bne 0x8002270
| ::::||| 0x08002256 1969 ldr r1, [r3, 0x10]
| ::::||| 0x08002258 097d ldrb r1, [r1, 0x14]
| ::::||| 0x0800225a 4907 lsls r1, r1, 0x1d
| ========< 0x0800225c 08d5 bpl 0x8002270
| ::::||| 0x0800225e 0221 movs r1, 2 ; 2
| ::::||| 0x08002260 0170 strb r1, [r0]
| ::::||| 0x08002262 204a ldr r2, [0x080022e4] ; [0x80022e4:4]=0x200010e0
| ::::||| 0x08002264 0846 mov r0, r1
| ::::||| 0x08002266 1071 strb r0, [r2, 4]
| ::::||| 0x08002268 0020 movs r0, 0
| ::::||| 0x0800226a 5070 strb r0, [r2, 1]
| ::::||| 0x0800226c 9070 strb r0, [r2, 2]
| ::::||| 0x0800226e d070 strb r0, [r2, 3]
| ::::||| ; XREFS: JMP 0x080021ec JMP 0x08002216 JMP 0x08002220 JMP 0x08002232 JMP 0x08002250 JMP 0x08002254
| ::::||| ; XREFS: JMP 0x0800225c
| ----```-> 0x08002270 002c cmp r4, 0
| :::: ,=< 0x08002272 05d1 bne 0x8002280
| :::: | 0x08002274 0620 movs r0, 6 ; 6
| :::: | 0x08002276 1349 ldr r1, [0x080022c4] ; [0x80022c4:4]=0x200010b4
| :::: | 0x08002278 0968 ldr r1, [r1]
| :::: | 0x0800227a 0882 strh r0, [r1, 0x10]
| :::: | 0x0800227c 0020 movs r0, 0
| :::: | 0x0800227e 10bd pop {r4, pc}
| :::: | ; JMP XREF from 0x08002272 (fcn.080021dc)
| :::: `-> 0x08002280 1848 ldr r0, [0x080022e4] ; [0x80022e4:4]=0x200010e0
\ :::: 0x08002282 10bd pop {r4, pc}
/ (fcn) fcn.08002284 52
| fcn.08002284 ();
| :::: ; JMP XREF from 0x08001f4c (fcn.08001e9c)
| --------> 0x08002284 1549 ldr r1, [0x080022dc] ; [0x80022dc:4]=0x20000618
| :::: 0x08002286 0020 movs r0, 0
| :::: 0x08002288 8860 str r0, [r1, 8]
| :::: 0x0800228a 1648 ldr r0, [0x080022e4] ; [0x80022e4:4]=0x200010e0
| :::: 0x0800228c 124a ldr r2, [0x080022d8] ; [0x80022d8:4]=0x200010e9
| :::: 0x0800228e 0969 ldr r1, [r1, 0x10]
| :::: 0x08002290 097d ldrb r1, [r1, 0x14]
| :::: 0x08002292 4907 lsls r1, r1, 0x1d
| :::: ,=< 0x08002294 07d5 bpl 0x80022a6
| :::: | 0x08002296 0621 movs r1, 6 ; 6
| :::: | 0x08002298 1170 strb r1, [r2]
| :::: | 0x0800229a 0171 strb r1, [r0, 4]
| :::: | 0x0800229c 0021 movs r1, 0
| :::: | 0x0800229e 4170 strb r1, [r0, 1]
| :::: | 0x080022a0 8170 strb r1, [r0, 2]
| :::: | 0x080022a2 c170 strb r1, [r0, 3]
| :::: | 0x080022a4 7047 bx lr
| :::: | ; JMP XREF from 0x08002294 (fcn.08002284)
| :::: `-> 0x080022a6 0821 movs r1, 8 ; 8
| :::: 0x080022a8 1170 strb r1, [r2]
| :::: 0x080022aa 0171 strb r1, [r0, 4]
| :::: 0x080022ac 0021 movs r1, 0
| :::: 0x080022ae 4170 strb r1, [r0, 1]
| :::: 0x080022b0 8170 strb r1, [r0, 2]
| :::: 0x080022b2 c170 strb r1, [r0, 3]
\ ::`=====< 0x080022b4 fef7dbbe b.w fcn.0800106e
:: : ; XREFS: DATA 0x08001dcc DATA 0x08001dec DATA 0x08001e7c DATA 0x08001e9c DATA 0x080020dc DATA 0x0800218c
:: : 0x080022b8 .dword 0x20001098
:: : ; DATA XREF from 0x08001de0 (USB_Port_Init)
:: : ; DATA XREF from 0x08001e74 (fcn.08001de8)
:: : ; DATA XREF from 0x08001e88 (fcn.08001e7c)
:: : ; DATA XREF from 0x08001e92 (fcn.08001e7c)
:: : 0x080022bc .dword 0x20001120
:: : ; DATA XREF from 0x08001df2 (fcn.08001de8)
:: : 0x080022c0 .dword 0x200004e4
:: : ; XREFS: DATA 0x08001df8 DATA 0x08001f52 DATA 0x08001fc6 DATA 0x080020aa DATA 0x080020f4 DATA 0x080021b4
:: : ; XREFS: DATA 0x080021ce DATA 0x08002276
:: : 0x080022c4 .dword 0x200010b4
:: : ; DATA XREF from 0x08001e00 (fcn.08001de8)
:: : 0x080022c8 .dword 0x40005c00
:: : ; DATA XREF from 0x08001e32 (fcn.08001de8)
:: : 0x080022cc .dword 0x40006008
:: : ; DATA XREF from 0x08001e3a (fcn.08001de8)
:: : 0x080022d0 .dword 0x20000514
:: : ; DATA XREF from 0x08001e4e (fcn.08001de8)
:: : 0x080022d4 .dword 0x40006000
:: : ; XREFS: DATA 0x08001eaa DATA 0x08001f66 DATA 0x08001f84 DATA 0x08001fd8 DATA 0x08002006 DATA 0x08002022
:: : ; XREFS: DATA 0x08002060 DATA 0x080020fa DATA 0x080021a6 DATA 0x080021d8 DATA 0x080021e0 DATA 0x0800228c
:: : 0x080022d8 .dword 0x200010e9
:: : ; XREFS: DATA 0x08001eb4 DATA 0x08001fe6 DATA 0x08002090 DATA 0x080020e6 DATA 0x0800218a DATA 0x080021f0
:: : ; XREFS: DATA 0x08002234 DATA 0x08002284
:: : 0x080022dc .dword 0x20000618
:: : ; DATA XREF from 0x08001ebe (fcn.08001e9c)
:: : ; DATA XREF from 0x08002124 (fcn.080020d8)
:: : ; DATA XREF from 0x080021be (fcn.08002188)
:: : ; DATA XREF from 0x08002206 (fcn.080021dc)
:: : 0x080022e0 .dword 0x20000c98
:: : ; XREFS: DATA 0x08001f32 DATA 0x08001fee DATA 0x0800200a DATA 0x08002020 DATA 0x0800207c DATA 0x08002114
:: : ; XREFS: DATA 0x0800213e DATA 0x080021aa DATA 0x080021ee DATA 0x08002240 DATA 0x08002262 DATA 0x08002280
:: : ; XREFS: DATA 0x0800228a
:: : 0x080022e4 .dword 0x200010e0
:: : ; DATA XREF from 0x0800209e (fcn.0800209e)
:: : 0x080022e8 .dword 0x20000684
:: : ; DATA XREF from 0x080020a4 (fcn.080020a4)
:: : 0x080022ec .dword 0x20000628
:: : ; DATA XREF from 0x080020b8 (fcn.080020aa)
:: : 0x080022f0 .dword 0x200004ac
/ (fcn) USB_PowerOn 34
| Caller: USB_Port_Init
| USB_PowerOn ();
| :: : ; CALL XREF from 0x08001dd2 (USB_Port_Init)
| :: : 0x080022f4 80b5 push {r7, lr}
| :: : 0x080022f6 0120 movs r0, 1 ; 1
| :: : 0x080022f8 fef7affe bl USB_Cable_Config
| :: : 0x080022fc 6248 ldr r0, [0x08002488] ; [0x8002488:4]=0x40005c40
| :: : 0x080022fe 0121 movs r1, 1 ; 1
| :: : 0x08002300 0160 str r1, [r0]
| :: : 0x08002302 0021 movs r1, 0
| :: : 0x08002304 0160 str r1, [r0]
| :: : 0x08002306 4160 str r1, [r0, 4]
| :: : 0x08002308 4ff4e051 mov.w r1, 0x1c00
| :: : 0x0800230c 5f4a ldr r2, [0x0800248c] ; [0x800248c:4]=0x20001124
| :: : 0x0800230e 1180 strh r1, [r2]
| :: : 0x08002310 0160 str r1, [r0]
| :: : 0x08002312 0020 movs r0, 0
\ :: : 0x08002314 02bd pop {r1, pc}
/ (fcn) fcn.08002316 190
| Caller: USB_Istr
| fcn.08002316 ();
| :: : ; CALL XREF from 0x08002ae8 (USB_Istr)
| :: : 0x08002316 18b4 push {r3, r4}
| :: : 0x08002318 0021 movs r1, 0
| :: : 0x0800231a 0846 mov r0, r1
| :: : 0x0800231c 0090 str r0, [sp]
| :: : 0x0800231e 5a48 ldr r0, [0x08002488] ; [0x8002488:4]=0x40005c40
| :: : 0x08002320 0268 ldr r2, [r0]
| :: : 0x08002322 5b4c ldr r4, [0x08002490] ; [0x8002490:4]=0x200010c0
| :: : ,=< 0x08002324 06e0 b 0x8002334
| :: : | ; JMP XREF from 0x08002336 (fcn.08002316)
| :: : .--> 0x08002326 5b4b ldr r3, [0x08002494] ; [0x8002494:4]=0x40005c00
| :: : :| 0x08002328 53f82130 ldr.w r3, [r3, r1, lsl 2]
| :: : :| 0x0800232c 9bb2 uxth r3, r3
| :: : :| 0x0800232e 44f82130 str.w r3, [r4, r1, lsl 2]
| :: : :| 0x08002332 491c adds r1, r1, 1
| :: : :| ; JMP XREF from 0x08002324 (fcn.08002316)
| :: : :`-> 0x08002334 0829 cmp r1, 8 ; 8
| :: : `==< 0x08002336 f6d3 blo 0x8002326
| :: : 0x08002338 42f48061 orr r1, r2, 0x400
| :: : 0x0800233c 89b2 uxth r1, r1
| :: : 0x0800233e 0a46 mov r2, r1
| :: : 0x08002340 0260 str r2, [r0]
| :: : 0x08002342 41f00101 orr r1, r1, 1
| :: : 0x08002346 0a46 mov r2, r1
| :: : 0x08002348 0260 str r2, [r0]
| :: : 0x0800234a 4ff6fe72 movw r2, 0xfffe
| :: : 0x0800234e 1140 ands r1, r2
| :: : 0x08002350 0160 str r1, [r0]
| :: : ; JMP XREF from 0x08002356 (fcn.08002316)
| :: : .-> 0x08002352 4268 ldr r2, [r0, 4]
| :: : : 0x08002354 5205 lsls r2, r2, 0x15
| :: : `=< 0x08002356 fcd5 bpl 0x8002352
| :: : 0x08002358 4ff6ff32 movw r2, 0xfbff
| :: : 0x0800235c 4260 str r2, [r0, 4]
| :: : 0x0800235e 0022 movs r2, 0
| :: : 0x08002360 4c4c ldr r4, [0x08002494] ; [0x8002494:4]=0x40005c00
| :: : ,=< 0x08002362 06e0 b 0x8002372
| :: : | ; JMP XREF from 0x08002374 (fcn.08002316)
| :: : .--> 0x08002364 4a4b ldr r3, [0x08002490] ; [0x8002490:4]=0x200010c0
| :: : :| 0x08002366 53f82230 ldr.w r3, [r3, r2, lsl 2]
| :: : :| 0x0800236a 9bb2 uxth r3, r3
| :: : :| 0x0800236c 44f82230 str.w r3, [r4, r2, lsl 2]
| :: : :| 0x08002370 521c adds r2, r2, 1
| :: : :| ; JMP XREF from 0x08002362 (fcn.08002316)
| :: : :`-> 0x08002372 082a cmp r2, 8 ; 8
| :: : `==< 0x08002374 f6d3 blo 0x8002364
| :: : 0x08002376 41f00801 orr r1, r1, 8
| :: : 0x0800237a 0160 str r1, [r0]
| :: : 0x0800237c 0368 ldr r3, [r0]
| :: : 0x0800237e 43f00401 orr r1, r3, 4
| :: : 0x08002382 89b2 uxth r1, r1
| :: : 0x08002384 0160 str r1, [r0]
| :: : 0x08002386 4449 ldr r1, [0x08002498] ; [0x8002498:4]=0x40007000
| :: : 0x08002388 0a68 ldr r2, [r1]
| :: : 0x0800238a 0092 str r2, [sp]
| :: : 0x0800238c 0a68 ldr r2, [r1]
| :: : 0x0800238e 9208 lsrs r2, r2, 2
| :: : 0x08002390 9200 lsls r2, r2, 2
| :: : 0x08002392 42f00102 orr r2, r2, 1
| :: : 0x08002396 0a60 str r2, [r1]
| :: : 0x08002398 404a ldr r2, [0x0800249c] ; [0x800249c:4]=0xe000ed10
| :: : 0x0800239a 1368 ldr r3, [r2]
| :: : 0x0800239c 43f00403 orr r3, r3, 4
| :: : 0x080023a0 1360 str r3, [r2]
| :: : 0x080023a2 4368 ldr r3, [r0, 4]
| :: : 0x080023a4 db04 lsls r3, r3, 0x13
| :: : ,=< 0x080023a6 05d4 bmi 0x80023b4
| :: : | 0x080023a8 30bf wfi
| :: : | 0x080023aa 1068 ldr r0, [r2]
| :: : | 0x080023ac 20f00400 bic r0, r0, 4
| :: : | 0x080023b0 1060 str r0, [r2]
| :: : ,==< 0x080023b2 0de0 b 0x80023d0
| :: : || ; JMP XREF from 0x080023a6 (fcn.08002316)
| :: : |`-> 0x080023b4 4ef6ff73 movw r3, 0xefff
| :: : | 0x080023b8 4360 str r3, [r0, 4]
| :: : | 0x080023ba 0368 ldr r3, [r0]
| :: : | 0x080023bc 4ff6f774 movw r4, 0xfff7
| :: : | 0x080023c0 2340 ands r3, r4
| :: : | 0x080023c2 0360 str r3, [r0]
| :: : | 0x080023c4 0098 ldr r0, [sp]
| :: : | 0x080023c6 0860 str r0, [r1]
| :: : | 0x080023c8 1068 ldr r0, [r2]
| :: : | 0x080023ca 20f00400 bic r0, r0, 4
| :: : | 0x080023ce 1060 str r0, [r2]
| :: : | ; JMP XREF from 0x080023b2 (fcn.08002316)
| :: : `--> 0x080023d0 11bc pop {r0, r4}
\ :: : 0x080023d2 7047 bx lr
/ (fcn) fcn.080023d4 26
| Caller: sign.bytes._USB_Resume_0
| fcn.080023d4 ();
| :: : ; CALL XREF from 0x08002410 (sign.bytes._USB_Resume_0 + 32)
| :: : ; CALL XREF from 0x08002420 (sign.bytes._USB_Resume_0 + 48)
| :: : 0x080023d4 10b5 push {r4, lr}
| :: : 0x080023d6 2c4c ldr r4, [0x08002488] ; [0x8002488:4]=0x40005c40
| :: : 0x080023d8 2068 ldr r0, [r4]
| :: : 0x080023da 4ff6fb71 movw r1, 0xfffb
| :: : 0x080023de 0840 ands r0, r1
| :: : 0x080023e0 2060 str r0, [r4]
| :: : 0x080023e2 fef72ffe bl fcn.08001044
| :: : 0x080023e6 4ff43f40 mov.w r0, 0xbf00
| :: : 0x080023ea 2060 str r0, [r4]
\ :: : 0x080023ec 10bd pop {r4, pc}
:: : 0x080023ee 0000 movs r0, r0
/ (fcn) sign.bytes._USB_Resume_0 26
| Caller: USB_Istr
| sign.bytes._USB_Resume_0 ();
| :: : ; CALL XREF from 0x08002ad2 (USB_Istr)
| :: : ; CALL XREF from 0x08002af0 (USB_Istr)
| :: : ; CALL XREF from 0x08002b9a (USB_Istr)
| :: : 0x080023f0 10b5 push {r4, lr}
| :: : 0x080023f2 2b4c ldr r4, [0x080024a0] ; [0x80024a0:4]=0x20001104
| :: : 0x080023f4 0728 cmp r0, 7 ; 7
| :: : ,=< 0x080023f6 00d0 beq 0x80023fa
| :: : | 0x080023f8 2070 strb r0, [r4]
| :: : | ; JMP XREF from 0x080023f6 (sign.bytes._USB_Resume_0)
| :: : `-> 0x080023fa 2078 ldrb r0, [r4]
| :: : 0x080023fc 0528 cmp r0, 5 ; 5
| :: : ,=< 0x080023fe 40d8 bhi 0x8002482
| :: : | 0x08002400 dfe800f0 tbb [0x08002408]
:: : | 0x08002404 030e lsrs r3, r0, 0x18
:: : | 0x08002406 151a subs r5, r2, r0
:: : | 0x08002408 232e cmp r6, 0x23 ; '#' ; 35
:: : | 0x0800240a 6068 ldr r0, [r4, 4]
:: : | 0x0800240c 0028 cmp r0, 0
:: : ,==< 0x0800240e 04d1 bne 0x800241a
:: : || 0x08002410 fff7e0ff bl fcn.080023d4
:: : || 0x08002414 0620 movs r0, 6 ; 6
:: : || 0x08002416 2070 strb r0, [r4]
:: : || 0x08002418 10bd pop {r4, pc}
:: : || ; JMP XREF from 0x0800240e (sign.bytes._USB_Resume_0 + 30)
:: : `--> 0x0800241a 0520 movs r0, 5 ; 5
:: : | 0x0800241c 2070 strb r0, [r4]
:: : | 0x0800241e 10bd pop {r4, pc}
:: : | 0x08002420 fff7d8ff bl fcn.080023d4
:: : | 0x08002424 0420 movs r0, 4 ; 4
:: : | 0x08002426 2070 strb r0, [r4]
:: : | 0x08002428 0120 movs r0, 1 ; 1
:: : | 0x0800242a 6060 str r0, [r4, 4]
:: : | 0x0800242c 10bd pop {r4, pc}
:: : | 0x0800242e 0220 movs r0, 2 ; 2
:: : | 0x08002430 6070 strb r0, [r4, 1]
:: : | 0x08002432 0320 movs r0, 3 ; 3
:: : | 0x08002434 2070 strb r0, [r4]
:: : | 0x08002436 10bd pop {r4, pc}
:: : | 0x08002438 6078 ldrb r0, [r4, 1]
:: : | 0x0800243a 401e subs r0, r0, 1
:: : | 0x0800243c 6070 strb r0, [r4, 1]
:: : | 0x0800243e 6078 ldrb r0, [r4, 1]
:: : | 0x08002440 0028 cmp r0, 0
:: : ,==< 0x08002442 20d1 bne 0x8002486 ; sign.bytes._USB_Resume_0+0x96
:: : || 0x08002444 0420 movs r0, 4 ; 4
:: : || 0x08002446 2070 strb r0, [r4]
:: : || 0x08002448 10bd pop {r4, pc}
:: : || 0x0800244a 0f48 ldr r0, [0x08002488] ; [0x8002488:4]=0x40005c40
:: : || 0x0800244c 0168 ldr r1, [r0]
:: : || 0x0800244e 41f01001 orr r1, r1, 0x10
:: : || 0x08002452 89b2 uxth r1, r1
:: : || 0x08002454 0160 str r1, [r0]
:: : || 0x08002456 0520 movs r0, 5 ; 5
:: : || 0x08002458 2070 strb r0, [r4]
:: : || 0x0800245a 0a20 movs r0, 0xa ; 10
:: : || 0x0800245c 6070 strb r0, [r4, 1]
:: : || 0x0800245e 10bd pop {r4, pc}
:: : || 0x08002460 6078 ldrb r0, [r4, 1]
:: : || 0x08002462 401e subs r0, r0, 1
:: : || 0x08002464 6070 strb r0, [r4, 1]
:: : || 0x08002466 6078 ldrb r0, [r4, 1]
:: : || 0x08002468 0028 cmp r0, 0
:: :,===< 0x0800246a 0cd1 bne 0x8002486 ; sign.bytes._USB_Resume_0+0x96
:: :||| 0x0800246c 0648 ldr r0, [0x08002488] ; [0x8002488:4]=0x40005c40
:: :||| 0x0800246e 0168 ldr r1, [r0]
:: :||| 0x08002470 4ff6ef72 movw r2, 0xffef
:: :||| 0x08002474 1140 ands r1, r2
:: :||| 0x08002476 0160 str r1, [r0]
:: :||| 0x08002478 0620 movs r0, 6 ; 6
:: :||| 0x0800247a 2070 strb r0, [r4]
:: :||| 0x0800247c 0020 movs r0, 0
:: :||| 0x0800247e 6060 str r0, [r4, 4]
:: :||| 0x08002480 10bd pop {r4, pc}
| :: :||| ; JMP XREF from 0x080023fe (sign.bytes._USB_Resume_0)
| :: :||`-> 0x08002482 0620 movs r0, 6 ; 6
| :: :|| 0x08002484 2070 strb r0, [r4]
| :: :|| ; JMP XREF from 0x08002442 (sign.bytes._USB_Resume_0 + 82)
| :: :|| ; JMP XREF from 0x0800246a (sign.bytes._USB_Resume_0 + 122)
\ :: :``--> 0x08002486 10bd pop {r4, pc}
:: : ; DATA XREF from 0x080022fc (USB_PowerOn)
:: : ; DATA XREF from 0x0800231e (fcn.08002316)
:: : ; DATA XREF from 0x080023d6 (fcn.080023d4)
:: : ; DATA XREF from 0x0800244a (sign.bytes._USB_Resume_0 + 90)
:: : ; DATA XREF from 0x0800246c (sign.bytes._USB_Resume_0 + 124)
:: : 0x08002488 .dword 0x40005c40
:: : ; DATA XREF from 0x0800230c (USB_PowerOn)
:: : 0x0800248c .dword 0x20001124
:: : ; DATA XREF from 0x08002322 (fcn.08002316)
:: : ; DATA XREF from 0x08002364 (fcn.08002316)
:: : 0x08002490 .dword 0x200010c0
:: : ; DATA XREF from 0x08002326 (fcn.08002316)
:: : ; DATA XREF from 0x08002360 (fcn.08002316)
:: : 0x08002494 .dword 0x40005c00
:: : ; DATA XREF from 0x08002386 (fcn.08002316)
:: : 0x08002498 .dword 0x40007000
:: : ; DATA XREF from 0x08002398 (fcn.08002316)
:: : 0x0800249c .dword 0xe000ed10
:: : ; DATA XREF from 0x080023f2 (sign.bytes._USB_Resume_0)
:: : 0x080024a0 .dword 0x20001104
/ (fcn) sign.bytes.USB_SIL_Init_0 20
| Caller: USB_Port_Init
| sign.bytes.USB_SIL_Init_0 ();
| :: : ; CALL XREF from 0x08001dd6 (USB_Port_Init)
| :: : 0x080024a4 0448 ldr r0, [0x080024b8] ; [0x80024b8:4]=0x40005c40
| :: : 0x080024a6 0021 movs r1, 0
| :: : 0x080024a8 4160 str r1, [r0, 4]
| :: : 0x080024aa 4ff43f41 mov.w r1, 0xbf00
| :: : 0x080024ae 034a ldr r2, [0x080024bc] ; [0x80024bc:4]=0x20001124
| :: : 0x080024b0 1180 strh r1, [r2]
| :: : 0x080024b2 0160 str r1, [r0]
| :: : 0x080024b4 0020 movs r0, 0
\ :: : 0x080024b6 7047 bx lr
:: : ; DATA XREF from 0x080024a4 (sign.bytes.USB_SIL_Init_0)
:: : 0x080024b8 .dword 0x40005c40
:: : ; DATA XREF from 0x080024ae (sign.bytes.USB_SIL_Init_0)
:: : 0x080024bc .dword 0x20001124
/ (fcn) fcn.080024c0 48
| Caller: fcn.08001e9c
| fcn.080024c0 ();
| :: : ; CALL XREF from 0x08001f10 (fcn.08001e9c)
| :: : 0x080024c0 00f07c41 and r1, r0, 0xfc000000
| :: : 0x080024c4 b1f1806f cmp.w r1, 0x4000000
| :: : ,=< 0x080024c8 09d0 beq 0x80024de
| :: : | 0x080024ca b1f1006f cmp.w r1, vector_table ; 0x8000000 ; "(\x15"
| :: : ,==< 0x080024ce 03d0 beq 0x80024d8
| :: : || 0x080024d0 b1f1406f cmp.w r1, 0xc000000
| :: :,===< 0x080024d4 06d0 beq 0x80024e4
| ::,=====< 0x080024d6 09e0 b 0x80024ec
| ::|:||| ; JMP XREF from 0x080024ce (fcn.080024c0)
| ::|:|`--> 0x080024d8 1e49 ldr r1, [0x08002554] ; [0x8002554:4]=0x8002eed
| ::|:| | 0x080024da 1f4a ldr r2, [0x08002558] ; [0x8002558:4]=0x2000110c
| ::|:| | 0x080024dc 1160 str r1, [r2]
| ::|:| | ; JMP XREF from 0x080024c8 (fcn.080024c0)
| ::|:| | ; JMP XREF from 0x080024ea (fcn.080024c0)
| ::|:|.`-> 0x080024de 1e49 ldr r1, [0x08002558] ; [0x8002558:4]=0x2000110c
| ::|:|: 0x080024e0 0968 ldr r1, [r1]
| ::|:|: 0x080024e2 0847 bx r1
| ::|:|: ; JMP XREF from 0x080024d4 (fcn.080024c0)
| ::|:`---> 0x080024e4 1d49 ldr r1, [0x0800255c] ; [0x800255c:4]=0x8002f8d
| ::|: : 0x080024e6 1c4a ldr r2, [0x08002558] ; [0x8002558:4]=0x2000110c
| ::|: : 0x080024e8 1160 str r1, [r2]
| ::|: `==< 0x080024ea f8e7 b 0x80024de
| ::|: ; JMP XREF from 0x080024d6 (fcn.080024c0)
| ::`-----> 0x080024ec 0120 movs r0, 1 ; 1
\ :: : 0x080024ee 7047 bx lr
/ (fcn) fcn.080024f0 48
| Caller: fcn.08001e9c
| fcn.080024f0 ();
| :: : ; CALL XREF from 0x08001f24 (fcn.08001e9c)
| :: : 0x080024f0 00f07c42 and r2, r0, 0xfc000000
| :: : 0x080024f4 b2f1806f cmp.w r2, 0x4000000
| :: : ,=< 0x080024f8 09d0 beq 0x800250e
| :: : | 0x080024fa b2f1006f cmp.w r2, vector_table ; 0x8000000 ; "(\x15"
| :: : ,==< 0x080024fe 03d0 beq 0x8002508
| :: : || 0x08002500 b2f1406f cmp.w r2, 0xc000000
| :: :,===< 0x08002504 06d0 beq 0x8002514
| ::,=====< 0x08002506 09e0 b 0x800251c
| ::|:||| ; JMP XREF from 0x080024fe (fcn.080024f0)
| ::|:|`--> 0x08002508 154a ldr r2, [0x08002560] ; [0x8002560:4]=0x8002f03
| ::|:| | 0x0800250a 164b ldr r3, [0x08002564] ; [0x8002564:4]=0x20001110
| ::|:| | 0x0800250c 1a60 str r2, [r3]
| ::|:| | ; JMP XREF from 0x080024f8 (fcn.080024f0)
| ::|:| | ; JMP XREF from 0x0800251a (fcn.080024f0)
| ::|:|.`-> 0x0800250e 154a ldr r2, [0x08002564] ; [0x8002564:4]=0x20001110
| ::|:|: 0x08002510 1268 ldr r2, [r2]
| ::|:|: 0x08002512 1047 bx r2
| ::|:|: ; JMP XREF from 0x08002504 (fcn.080024f0)
| ::|:`---> 0x08002514 144a ldr r2, [0x08002568] ; [0x8002568:4]=0x8002fbb
| ::|: : 0x08002516 134b ldr r3, [0x08002564] ; [0x8002564:4]=0x20001110
| ::|: : 0x08002518 1a60 str r2, [r3]
| ::|: `==< 0x0800251a f8e7 b 0x800250e
| ::|: ; JMP XREF from 0x08002506 (fcn.080024f0)
| ::`-----> 0x0800251c 0120 movs r0, 1 ; 1
\ :: : 0x0800251e 7047 bx lr
/ (fcn) fcn.08002520 48
| Caller: fcn.080020d8
| fcn.08002520 ();
| :: : ; CALL XREF from 0x0800215c (fcn.080020d8)
| :: : 0x08002520 00f07c42 and r2, r0, 0xfc000000
| :: : 0x08002524 b2f1806f cmp.w r2, 0x4000000
| :: : ,=< 0x08002528 09d0 beq 0x800253e
| :: : | 0x0800252a b2f1006f cmp.w r2, vector_table ; 0x8000000 ; "(\x15"
| :: : ,==< 0x0800252e 03d0 beq 0x8002538
| :: : || 0x08002530 b2f1406f cmp.w r2, 0xc000000
| :: :,===< 0x08002534 06d0 beq 0x8002544
| ::,=====< 0x08002536 09e0 b 0x800254c
| ::|:||| ; JMP XREF from 0x0800252e (fcn.08002520)
| ::|:|`--> 0x08002538 0c4a ldr r2, [0x0800256c] ; [0x800256c:4]=0x8002f89
| ::|:| | 0x0800253a 0d4b ldr r3, [0x08002570] ; [0x8002570:4]=0x20001114
| ::|:| | 0x0800253c 1a60 str r2, [r3]
| ::|:| | ; JMP XREF from 0x08002528 (fcn.08002520)
| ::|:| | ; JMP XREF from 0x0800254a (fcn.08002520)
| ::|:|.`-> 0x0800253e 0c4a ldr r2, [0x08002570] ; [0x8002570:4]=0x20001114
| ::|:|: 0x08002540 1268 ldr r2, [r2]
| ::|:|: 0x08002542 1047 bx r2
| ::|:|: ; JMP XREF from 0x08002534 (fcn.08002520)
| ::|:`---> 0x08002544 0b4a ldr r2, [0x08002574] ; [0x8002574:4]=0x8003015
| ::|: : 0x08002546 0a4b ldr r3, [0x08002570] ; [0x8002570:4]=0x20001114
| ::|: : 0x08002548 1a60 str r2, [r3]
| ::|: `==< 0x0800254a f8e7 b 0x800253e
| ::|: ; JMP XREF from 0x08002536 (fcn.08002520)
| ::`-----> 0x0800254c 0020 movs r0, 0
\ :: : 0x0800254e 7047 bx lr
:: : 0x08002550 0000 movs r0, r0
:: : 0x08002552 0000 movs r0, r0
:: : ; DATA XREF from 0x080024d8 (fcn.080024c0)
:: : 0x08002554 .dword 0x08002eed
:: : ; DATA XREF from 0x080024da (fcn.080024c0)
:: : ; DATA XREF from 0x080024de (fcn.080024c0)
:: : ; DATA XREF from 0x080024e6 (fcn.080024c0)
:: : 0x08002558 .dword 0x2000110c
:: : ; DATA XREF from 0x080024e4 (fcn.080024c0)
:: : 0x0800255c .dword 0x08002f8d ; fcn.08002f8c
:: : ; DATA XREF from 0x08002508 (fcn.080024f0)
:: : 0x08002560 .dword 0x08002f03 ; fcn.08002f02
:: : ; DATA XREF from 0x0800250a (fcn.080024f0)
:: : ; DATA XREF from 0x0800250e (fcn.080024f0)
:: : ; DATA XREF from 0x08002516 (fcn.080024f0)
:: : 0x08002564 .dword 0x20001110
:: : ; DATA XREF from 0x08002514 (fcn.080024f0)
:: : 0x08002568 .dword 0x08002fbb ; fcn.08002fba
:: : ; DATA XREF from 0x08002538 (fcn.08002520)
:: : 0x0800256c .dword 0x08002f89 ; fcn.08002f88
:: : ; DATA XREF from 0x0800253a (fcn.08002520)
:: : ; DATA XREF from 0x0800253e (fcn.08002520)
:: : ; DATA XREF from 0x08002546 (fcn.08002520)
:: : 0x08002570 .dword 0x20001114
:: : ; DATA XREF from 0x08002544 (fcn.08002520)
:: : 0x08002574 .dword 0x08003015 ; fcn.08003014
/ (fcn) fcn.08002578 34
| Caller: fcn.080021dc
| fcn.08002578 ();
| :: : ; CALL XREF from 0x08002212 (fcn.080021dc)
| :: : ; CALL XREF from 0x0800221c (fcn.080021dc)
| :: : 0x08002578 800e lsrs r0, r0, 0x1a
| :: : 0x0800257a 00f00300 and r0, r0, 3
| :: : 0x0800257e 01f00101 and r1, r1, 1
| :: : 0x08002582 0ff21803 addw r3, pc, 0x18
| :: : 0x08002586 03eb8000 add.w r0, r3, r0, lsl 2
| :: : 0x0800258a 30f81100 ldrh.w r0, [r0, r1, lsl 1]
| :: : 0x0800258e 5070 strb r0, [r2, 1]
| :: : 0x08002590 000a lsrs r0, r0, 8
| :: : 0x08002592 9070 strb r0, [r2, 2]
| :: : 0x08002594 0020 movs r0, 0
| :: : 0x08002596 d070 strb r0, [r2, 3]
\ :: : 0x08002598 7047 bx lr
:: : 0x0800259a 0000 movs r0, r0
:: : 0x0800259c hex length=24 delta=0
0x0800259c b80b 1400 fa00 fa00 6400 6800 fa00 fa00 ........d.h.....
0x080025ac e803 1900 e803 2d00 ......-.
/ (fcn) sign.bytes.load_byte_from_flash_region_0 34
| Caller: fcn.08002616
| sign.bytes.load_byte_from_flash_region_0 ();
| :: : ; CALL XREF from 0x08002660 (fcn.08002616)
| :: : ; CALL XREF from 0x0800266e (fcn.08002616)
| :: : ; CALL XREF from 0x0800267c (fcn.08002616)
| :: : ; CALL XREF from 0x080026bc (fcn.08002616)
| :: : ; CALL XREF from 0x080026ce (fcn.08002616)
| :: : 0x080025b4 8168 ldr r1, [r0, 8]
| :: : ,=< 0x080025b6 07e0 b 0x80025c8
| :: : | ; JMP XREF from 0x080025cc (sign.bytes.load_byte_from_flash_region_0)
| :: : .--> 0x080025b8 0268 ldr r2, [r0]
| :: : :| 0x080025ba 1168 ldr r1, [r2]
| :: : :| 0x080025bc 5368 ldr r3, [r2, 4]
| :: : :| 0x080025be 8918 adds r1, r1, r2
| :: : :| 0x080025c0 5b18 adds r3, r3, r1
| :: : :| 0x080025c2 c360 str r3, [r0, 0xc]
| :: : :| 0x080025c4 0832 adds r2, 8
| :: : :| 0x080025c6 0260 str r2, [r0]
| :: : :| ; JMP XREF from 0x080025b6 (sign.bytes.load_byte_from_flash_region_0)
| :: : :`-> 0x080025c8 c268 ldr r2, [r0, 0xc]
| :: : : 0x080025ca 9142 cmp r1, r2
| :: : `==< 0x080025cc f4d0 beq 0x80025b8
| :: : 0x080025ce 4a1c adds r2, r1, 1
| :: : 0x080025d0 8260 str r2, [r0, 8]
| :: : 0x080025d2 0878 ldrb r0, [r1]
\ :: : 0x080025d4 7047 bx lr
/ (fcn) sign.bytes.store_byte_in_sram_region_0 64
| Caller: fcn.08002616
| sign.bytes.store_byte_in_sram_region_0 ();
| :: : ; CALL XREF from 0x080026ae (fcn.08002616)
| :: : 0x080025d6 38b5 push {r3, r4, r5, lr}
| :: : 0x080025d8 0446 mov r4, r0
| :: : 0x080025da 0d46 mov r5, r1
| :: : 0x080025dc a068 ldr r0, [r4, 8]
| :: : 0x080025de e168 ldr r1, [r4, 0xc]
| :: : 0x080025e0 8842 cmp r0, r1
| :: : ,=< 0x080025e2 12d1 bne 0x800260a
| :: : | ; JMP XREF from 0x08002608 (sign.bytes.store_byte_in_sram_region_0)
| :: : .--> 0x080025e4 2068 ldr r0, [r4]
| :: : :| 0x080025e6 6168 ldr r1, [r4, 4]
| :: : :| 0x080025e8 8842 cmp r0, r1
| :: :,===< 0x080025ea 08bf it eq
| :: :|:| ; JMP XREF from 0x080025ea (sign.bytes.store_byte_in_sram_region_0)
| :: :`---> 0x080025ec 00f0c5f8 bl exit_error ; void error(int status, int errname, char *format)
| :: : :| 0x080025f0 2068 ldr r0, [r4]
| :: : :| 0x080025f2 227c ldrb r2, [r4, 0x10]
| :: : :| 0x080025f4 0168 ldr r1, [r0]
| :: :,===< 0x080025f6 02b1 cbz r2, 0x80025fa
| :: :|:| 0x080025f8 4944 add r1, sb
| :: :|:| ; JMP XREF from 0x080025f6 (sign.bytes.store_byte_in_sram_region_0)
| :: :`---> 0x080025fa a160 str r1, [r4, 8]
| :: : :| 0x080025fc 4268 ldr r2, [r0, 4]
| :: : :| 0x080025fe 5218 adds r2, r2, r1
| :: : :| 0x08002600 e260 str r2, [r4, 0xc]
| :: : :| 0x08002602 0830 adds r0, 8
| :: : :| 0x08002604 2060 str r0, [r4]
| :: : :| 0x08002606 9142 cmp r1, r2
| :: : `==< 0x08002608 ecd0 beq 0x80025e4
| :: : | ; JMP XREF from 0x080025e2 (sign.bytes.store_byte_in_sram_region_0)
| :: : `-> 0x0800260a a068 ldr r0, [r4, 8]
| :: : 0x0800260c 401c adds r0, r0, 1
| :: : 0x0800260e a060 str r0, [r4, 8]
| :: : 0x08002610 00f8015d strb r5, [r0, -0x1]!
\ :: : 0x08002614 31bd pop {r0, r4, r5, pc}
/ (fcn) fcn.08002616 356
| fcn.08002616 ();
| :: : 0x08002616 2de9f041 push.w {r4, r5, r6, r7, r8, lr}
| :: : 0x0800261a 8ab0 sub sp, 0x28 ; '('
| :: : 0x0800261c 00f10801 add.w r1, r0, 8
| :: : 0x08002620 0591 str r1, [sp, 0x14]
| :: : 0x08002622 0168 ldr r1, [r0]
| :: : 0x08002624 059a ldr r2, [sp, 0x14]
| :: : 0x08002626 4908 lsrs r1, r1, 1
| :: : 0x08002628 02ebc101 add.w r1, r2, r1, lsl 3
| :: : 0x0800262c 0691 str r1, [sp, 0x18]
| :: : 0x0800262e 0021 movs r1, 0
| :: : 0x08002630 0791 str r1, [sp, 0x1c]
| :: : 0x08002632 0891 str r1, [sp, 0x20]
| :: : 0x08002634 0168 ldr r1, [r0]
| :: : 0x08002636 4908 lsrs r1, r1, 1
| :: : 0x08002638 00ebc101 add.w r1, r0, r1, lsl 3
| :: : 0x0800263c 0831 adds r1, 8
| :: : 0x0800263e 0091 str r1, [sp]
| :: : 0x08002640 0179 ldrb r1, [r0, 4]
| :: : 0x08002642 01f00101 and r1, r1, 1
| :: : 0x08002646 8df81010 strb.w r1, [sp, 0x10]
| :: : 0x0800264a 4068 ldr r0, [r0, 4]
| :: : 0x0800264c 0099 ldr r1, [sp]
| :: : 0x0800264e 4008 lsrs r0, r0, 1
| :: : 0x08002650 01ebc000 add.w r0, r1, r0, lsl 3
| :: : 0x08002654 0190 str r0, [sp, 4]
| :: : 0x08002656 0020 movs r0, 0
| :: : 0x08002658 0290 str r0, [sp, 8]
| :: : 0x0800265a 0390 str r0, [sp, 0xc]
| :: : ,=< 0x0800265c 85e0 b 0x800276a
| :: : | ; JMP XREF from 0x08002766 (fcn.08002616)
| :: : | ; JMP XREF from 0x08002770 (fcn.08002616)
| :: :..--> 0x0800265e 05a8 add r0, sp, 0x14
| :: :::| 0x08002660 fff7a8ff bl sign.bytes.load_byte_from_flash_region_0
| :: :::| 0x08002664 0446 mov r4, r0
| :: :::| 0x08002666 14f00306 ands r6, r4, 3
| ::,=====< 0x0800266a 03d1 bne 0x8002674
| ::|:::| 0x0800266c 05a8 add r0, sp, 0x14
| ::|:::| 0x0800266e fff7a1ff bl sign.bytes.load_byte_from_flash_region_0
| ::|:::| 0x08002672 c61c adds r6, r0, 3
| ::|:::| ; JMP XREF from 0x0800266a (fcn.08002616)
| ::`-----> 0x08002674 2509 lsrs r5, r4, 4
| :: :::| 0x08002676 0f2d cmp r5, 0xf ; 15
| ::,=====< 0x08002678 1bd1 bne 0x80026b2
| ::|:::| 0x0800267a 05a8 add r0, sp, 0x14
| ::|:::| 0x0800267c fff79aff bl sign.bytes.load_byte_from_flash_region_0
| ::|:::| 0x08002680 00f10f05 add.w r5, r0, 0xf
| ========< 0x08002684 15e0 b 0x80026b2
| ::|:::| ; JMP XREF from 0x080026a2 (fcn.08002616)
| --------> 0x08002686 0598 ldr r0, [sp, 0x14]
| ::|:::| 0x08002688 0168 ldr r1, [r0]
| ::|:::| 0x0800268a 0818 adds r0, r1, r0
| ::|:::| 0x0800268c 0599 ldr r1, [sp, 0x14]
| ::|:::| 0x0800268e 0790 str r0, [sp, 0x1c]
| ::|:::| 0x08002690 4968 ldr r1, [r1, 4]
| ::|:::| 0x08002692 0818 adds r0, r1, r0
| ::|:::| 0x08002694 0890 str r0, [sp, 0x20]
| ::|:::| 0x08002696 0598 ldr r0, [sp, 0x14]
| ::|:::| 0x08002698 0830 adds r0, 8
| ::|:::| 0x0800269a 0590 str r0, [sp, 0x14]
| ::|:::| ; JMP XREF from 0x080026b4 (fcn.08002616)
| --------> 0x0800269c 0798 ldr r0, [sp, 0x1c]
| ::|:::| 0x0800269e 0899 ldr r1, [sp, 0x20]
| ::|:::| 0x080026a0 8842 cmp r0, r1
| ========< 0x080026a2 f0d0 beq 0x8002686
| ::|:::| 0x080026a4 401c adds r0, r0, 1
| ::|:::| 0x080026a6 0790 str r0, [sp, 0x1c]
| ::|:::| 0x080026a8 10f8011d ldrb r1, [r0, -0x1]!
| ::|:::| 0x080026ac 00a8 add r0, sp, 0
| ::|:::| 0x080026ae fff792ff bl sign.bytes.store_byte_in_sram_region_0
| ::|:::| ; JMP XREF from 0x08002678 (fcn.08002616)
| ::|:::| ; JMP XREF from 0x08002684 (fcn.08002616)
| --`-----> 0x080026b2 761e subs r6, r6, 1
| ========< 0x080026b4 f2d1 bne 0x800269c
| :: :::| 0x080026b6 002d cmp r5, 0
| ::,=====< 0x080026b8 52d0 beq 0x8002760
| ::|:::| 0x080026ba 05a8 add r0, sp, 0x14
| ::|:::| 0x080026bc fff77aff bl sign.bytes.load_byte_from_flash_region_0
| ::|:::| 0x080026c0 0646 mov r6, r0
| ::|:::| 0x080026c2 a008 lsrs r0, r4, 2
| ::|:::| 0x080026c4 00f00300 and r0, r0, 3
| ::|:::| 0x080026c8 0328 cmp r0, 3 ; 3
| ========< 0x080026ca 04bf itt eq
| ::|:::| ; JMP XREF from 0x080026ca (fcn.08002616)
| --------> 0x080026cc 05a8 add r0, sp, 0x14
| ::|:::| 0x080026ce fff771ff bl sign.bytes.load_byte_from_flash_region_0
| ::|:::| 0x080026d2 ddf80080 ldr.w r8, [sp]
| ::|:::| 0x080026d6 0299 ldr r1, [sp, 8]
| ::|:::| 0x080026d8 039f ldr r7, [sp, 0xc]
| ::|:::| 0x080026da 06eb0020 add.w r0, r6, r0, lsl 8
| ========< 0x080026de 08e0 b 0x80026f2
| ::|:::| ; JMP XREF from 0x080026fa (fcn.08002616)
| --------> 0x080026e0 a8f10808 sub.w r8, r8, 8
| ::|:::| 0x080026e4 801a subs r0, r0, r2
| ::|:::| 0x080026e6 58f8041c ldr r1, [r8, -0x4]
| ::|:::| 0x080026ea 58f8082c ldr r2, [r8, -0x8]
| ::|:::| 0x080026ee 8f18 adds r7, r1, r2
| ::|:::| 0x080026f0 3946 mov r1, r7
| ::|:::| ; JMP XREF from 0x080026de (fcn.08002616)
| --------> 0x080026f2 58f8082c ldr r2, [r8, -0x8]
| ::|:::| 0x080026f6 8a1a subs r2, r1, r2
| ::|:::| 0x080026f8 8242 cmp r2, r0
| ========< 0x080026fa f1d3 blo 0x80026e0
| ::|:::| 0x080026fc 4042 rsbs r0, r0, 0
| ::|:::| 0x080026fe 4418 adds r4, r0, r1
| ::|:::| 0x08002700 ae1c adds r6, r5, 2
| ========< 0x08002702 2dd0 beq 0x8002760
| ::|:::| ; JMP XREF from 0x0800275e (fcn.08002616)
| --------> 0x08002704 bc42 cmp r4, r7
| ========< 0x08002706 06d1 bne 0x8002716
| ::|:::| ; JMP XREF from 0x08002714 (fcn.08002616)
| --------> 0x08002708 58f8044b ldr r4, [r8], 4
| ::|:::| 0x0800270c 58f8040b ldr r0, [r8], 4
| ::|:::| 0x08002710 0719 adds r7, r0, r4
| ::|:::| 0x08002712 bc42 cmp r4, r7
| ========< 0x08002714 f8d0 beq 0x8002708
| ::|:::| ; JMP XREF from 0x08002706 (fcn.08002616)
| --------> 0x08002716 0298 ldr r0, [sp, 8]
| ::|:::| 0x08002718 0399 ldr r1, [sp, 0xc]
| ::|:::| 0x0800271a 14f8015b ldrb r5, [r4], 1
| ::|:::| 0x0800271e 8842 cmp r0, r1
| ========< 0x08002720 17d1 bne 0x8002752
| ::|:::| ; JMP XREF from 0x08002750 (fcn.08002616)
| --------> 0x08002722 0098 ldr r0, [sp]
| ::|:::| 0x08002724 0199 ldr r1, [sp, 4]
| ::|:::| 0x08002726 8842 cmp r0, r1
| ========< 0x08002728 08bf it eq
| ::|:::| ; JMP XREF from 0x08002728 (fcn.08002616)
| --------> 0x0800272a 00f026f8 bl exit_error ; void error(int status, int errname, char *format)
| ::|:::| 0x0800272e 0098 ldr r0, [sp]
| ::|:::| 0x08002730 0068 ldr r0, [r0]
| ::|:::| 0x08002732 9df81010 ldrb.w r1, [sp, 0x10]
| ::|:::| 0x08002736 0290 str r0, [sp, 8]
| ========< 0x08002738 09b1 cbz r1, 0x800273e
| ::|:::| 0x0800273a 4844 add r0, sb
| ::|:::| 0x0800273c 0290 str r0, [sp, 8]
| ::|:::| ; JMP XREF from 0x08002738 (fcn.08002616)
| --------> 0x0800273e 0099 ldr r1, [sp]
| ::|:::| 0x08002740 0298 ldr r0, [sp, 8]
| ::|:::| 0x08002742 4968 ldr r1, [r1, 4]
| ::|:::| 0x08002744 009a ldr r2, [sp]
| ::|:::| 0x08002746 0918 adds r1, r1, r0
| ::|:::| 0x08002748 0832 adds r2, 8
| ::|:::| 0x0800274a 0391 str r1, [sp, 0xc]
| ::|:::| 0x0800274c 0092 str r2, [sp]
| ::|:::| 0x0800274e 8842 cmp r0, r1
| ========< 0x08002750 e7d0 beq 0x8002722
| ::|:::| ; JMP XREF from 0x08002720 (fcn.08002616)
| --------> 0x08002752 0298 ldr r0, [sp, 8]
| ::|:::| 0x08002754 401c adds r0, r0, 1
| ::|:::| 0x08002756 0290 str r0, [sp, 8]
| ::|:::| 0x08002758 761e subs r6, r6, 1
| ::|:::| 0x0800275a 00f8015d strb r5, [r0, -0x1]!
| ========< 0x0800275e d1d1 bne 0x8002704
| ::|:::| ; JMP XREF from 0x080026b8 (fcn.08002616)
| ::|:::| ; JMP XREF from 0x08002702 (fcn.08002616)
| --`-----> 0x08002760 0298 ldr r0, [sp, 8]
| :: :::| 0x08002762 0399 ldr r1, [sp, 0xc]
| :: :::| 0x08002764 8842 cmp r0, r1
| :: :`===< 0x08002766 7ff47aaf bne.w 0x800265e
| :: : :| ; JMP XREF from 0x0800265c (fcn.08002616)
| :: : :`-> 0x0800276a 0198 ldr r0, [sp, 4]
| :: : : 0x0800276c 0099 ldr r1, [sp]
| :: : : 0x0800276e 8142 cmp r1, r0
| :: : `==< 0x08002770 7ff475af bne.w 0x800265e
| :: : 0x08002774 0ab0 add sp, 0x28
\ :: : 0x08002776 bde8f081 pop.w {r4, r5, r6, r7, r8, pc}
/ (fcn) exit_error 6
| Caller: fcn.08002616 sign.bytes.store_byte_in_sram_region_0
| exit_error ();
| :: : ; CALL XREF from 0x080025ec (sign.bytes.store_byte_in_sram_region_0)
| :: : ; CALL XREF from 0x0800272a (fcn.08002616)
| :: : 0x0800277a 0120 movs r0, 1 ; 1
\ :: : ,=< 0x0800277c 00f000b8 b.w sign.bytes.bkpt_loop_0
/ (fcn) sign.bytes.bkpt_loop_0 16
| Caller: exit
| sign.bytes.bkpt_loop_0 ();
| :: : | ; JMP XREF from 0x0800277c (exit_error)
| :: : | ; CALL XREF from 0x08003094 (exit)
| :: : `-> 0x08002780 80b5 push {r7, lr}
| :: : 0x08002782 c046 mov r8, r8
| :: : 0x08002784 c046 mov r8, r8
| :: : 0x08002786 024a ldr r2, [0x08002790] ; [0x8002790:4]=0x20026
| :: : ; JMP XREF from 0x0800278e (sign.bytes.bkpt_loop_0)
| :: : .-> 0x08002788 1100 movs r1, r2
| :: : : 0x0800278a 1820 movs r0, 0x18 ; 24
| :: : : 0x0800278c abbe bkpt 0xab
\ :: : `=< 0x0800278e fbe7 b 0x8002788
:: : ; DATA XREF from 0x08002786 (sign.bytes.bkpt_loop_0)
:: : 0x08002790 .dword 0x00020026
/ (fcn) USB_CTR_LP 394
| Caller: USB_Istr
| USB_CTR_LP ();
| :: : ; CALL XREF from 0x08002a96 (USB_Istr)
| :: : 0x08002794 f8b5 push {r3, r4, r5, r6, r7, lr}
| :: : 0x08002796 0020 movs r0, 0
| :: : 0x08002798 adf80000 strh.w r0, [sp]
| :: : 0x0800279c 604c ldr r4, [0x08002920] ; [0x8002920:4]=0x40005c00
| :: : 0x0800279e 48f28006 movw r6, 0x8080
| :: : 0x080027a2 4bf6bf77 movw r7, 0xbfbf
| :: : ,=< 0x080027a6 29e0 b 0x80027fc
| :: : | ; JMP XREF from 0x08002812 (USB_CTR_LP)
| :: : .--> 0x080027a8 54f82100 ldr.w r0, [r4, r1, lsl 2]
| :: : :| 0x080027ac adf80000 strh.w r0, [sp]
| :: : :| 0x080027b0 bdf80000 ldrh.w r0, [sp]
| :: : :| 0x080027b4 0004 lsls r0, r0, 0x10
| :: :,===< 0x080027b6 0dd5 bpl 0x80027d4
| :: :|:| 0x080027b8 54f82100 ldr.w r0, [r4, r1, lsl 2]
| :: :|:| 0x080027bc 40f68f72 movw r2, 0xf8f ; 3983
| :: :|:| 0x080027c0 1040 ands r0, r2
| :: :|:| 0x080027c2 44f82100 str.w r0, [r4, r1, lsl 2]
| :: :|:| 0x080027c6 2878 ldrb r0, [r5]
| :: :|:| 0x080027c8 5649 ldr r1, [0x08002924] ; [0x8002924:4]=0x200005e4
| :: :|:| 0x080027ca 01eb8000 add.w r0, r1, r0, lsl 2
| :: :|:| 0x080027ce 50f8040c ldr r0, [r0, -0x4]
| :: :|:| 0x080027d2 8047 blx r0
| :: :|:| ; JMP XREF from 0x080027b6 (USB_CTR_LP)
| :: :`---> 0x080027d4 bdf80000 ldrh.w r0, [sp]
| :: : :| 0x080027d8 0006 lsls r0, r0, 0x18
| :: :,===< 0x080027da 0fd5 bpl 0x80027fc
| :: :|:| 0x080027dc 2878 ldrb r0, [r5]
| :: :|:| 0x080027de 54f82010 ldr.w r1, [r4, r0, lsl 2]
| :: :|:| 0x080027e2 89b2 uxth r1, r1
| :: :|:| 0x080027e4 48f60f72 movw r2, 0x8f0f
| :: :|:| 0x080027e8 1140 ands r1, r2
| :: :|:| 0x080027ea 44f82010 str.w r1, [r4, r0, lsl 2]
| :: :|:| 0x080027ee 2878 ldrb r0, [r5]
| :: :|:| 0x080027f0 4d49 ldr r1, [0x08002928] ; [0x8002928:4]=0x200005c8
| :: :|:| 0x080027f2 01eb8000 add.w r0, r1, r0, lsl 2
| :: :|:| 0x080027f6 50f8040c ldr r0, [r0, -0x4]
| :: :|:| 0x080027fa 8047 blx r0
| :: :|:| ; JMP XREF from 0x080027a6 (USB_CTR_LP)
| :: :|:| ; JMP XREF from 0x080027da (USB_CTR_LP)
| :: :|:| ; JMP XREF from 0x080028da (USB_CTR_LP)
| ::.-`-`-> 0x080027fc 616c ldr r1, [r4, 0x44]
| :::: : 0x080027fe 4b48 ldr r0, [0x0800292c] ; [0x800292c:4]=0x200010f2
| :::: : 0x08002800 0180 strh r1, [r0]
| :::: : 0x08002802 0904 lsls r1, r1, 0x10
| :::: :,=< 0x08002804 40f18a80 bpl.w 0x800291c
| :::: :| 0x08002808 0188 ldrh r1, [r0]
| :::: :| 0x0800280a 11f00f01 ands r1, r1, 0xf
| :::: :| 0x0800280e 484d ldr r5, [0x08002930] ; [0x8002930:4]=0x20001127
| :::: :| 0x08002810 2970 strb r1, [r5]
| :::: `==< 0x08002812 c9d1 bne 0x80027a8
| :::: | 0x08002814 474d ldr r5, [0x08002934] ; [0x8002934:4]=0x2000111c
| :::: | 0x08002816 2168 ldr r1, [r4]
| :::: | 0x08002818 2980 strh r1, [r5]
| :::: | 0x0800281a 2988 ldrh r1, [r5]
| :::: | 0x0800281c 01f03001 and r1, r1, 0x30
| :::: | 0x08002820 6980 strh r1, [r5, 2]
| :::: | 0x08002822 2988 ldrh r1, [r5]
| :::: | 0x08002824 01f44051 and r1, r1, 0x3000
| :::: | 0x08002828 2980 strh r1, [r5]
| :::: | 0x0800282a 2168 ldr r1, [r4]
| :::: | 0x0800282c 89b2 uxth r1, r1
| :::: | 0x0800282e 3940 ands r1, r7
| :::: | 0x08002830 81f40051 eor r1, r1, 0x2000
| :::: | 0x08002834 81f02001 eor r1, r1, 0x20
| :::: | 0x08002838 3143 orrs r1, r6
| :::: | 0x0800283a 2160 str r1, [r4]
| :::: | 0x0800283c 0088 ldrh r0, [r0]
| :::: | 0x0800283e c006 lsls r0, r0, 0x1b
| :::: | 0x08002840 2068 ldr r0, [r4]
| :::: ,==< 0x08002842 20d4 bmi 0x8002886
| :::: || 0x08002844 80b2 uxth r0, r0
| :::: || 0x08002846 48f60f71 movw r1, 0x8f0f
| :::: || 0x0800284a 0840 ands r0, r1
| :::: || 0x0800284c 2060 str r0, [r4]
| :::: || 0x0800284e fdf7f5ff bl sign.bytes.USB_In0_Process_0
| :::: || 0x08002852 2068 ldr r0, [r4]
| :::: || 0x08002854 80b2 uxth r0, r0
| :::: || 0x08002856 3840 ands r0, r7
| :::: || 0x08002858 2988 ldrh r1, [r5]
| :::: || 0x0800285a c904 lsls r1, r1, 0x13
| ::::,===< 0x0800285c 01d5 bpl 0x8002862
| ::::||| 0x0800285e 80f48050 eor r0, r0, 0x1000
| ::::||| ; JMP XREF from 0x0800285c (USB_CTR_LP)
| ::::`---> 0x08002862 2988 ldrh r1, [r5]
| :::: || 0x08002864 8904 lsls r1, r1, 0x12
| ::::,===< 0x08002866 01d5 bpl 0x800286c
| ::::||| 0x08002868 80f40050 eor r0, r0, 0x2000
| ::::||| ; JMP XREF from 0x08002866 (USB_CTR_LP)
| ::::`---> 0x0800286c 6988 ldrh r1, [r5, 2]
| :::: || 0x0800286e c906 lsls r1, r1, 0x1b
| ::::,===< 0x08002870 01d5 bpl 0x8002876
| ::::||| 0x08002872 80f01000 eor r0, r0, 0x10
| ::::||| ; JMP XREF from 0x08002870 (USB_CTR_LP)
| ::::`---> 0x08002876 6988 ldrh r1, [r5, 2]
| :::: || 0x08002878 8906 lsls r1, r1, 0x1a
| ::::,===< 0x0800287a 01d5 bpl 0x8002880
| ::::||| 0x0800287c 80f02000 eor r0, r0, 0x20
| ::::||| ; JMP XREF from 0x0800287a (USB_CTR_LP)
| ::::`---> 0x08002880 3043 orrs r0, r6
| :::: || 0x08002882 2060 str r0, [r4]
| :::: || 0x08002884 f1bd pop {r0, r4, r5, r6, r7, pc}
| :::: || ; JMP XREF from 0x08002842 (USB_CTR_LP)
| :::: `--> 0x08002886 adf80000 strh.w r0, [sp]
| :::: | 0x0800288a bdf80000 ldrh.w r0, [sp]
| :::: | 0x0800288e 0005 lsls r0, r0, 0x14
| :::: ,==< 0x08002890 20d5 bpl 0x80028d4
| :::: || 0x08002892 2068 ldr r0, [r4]
| :::: || 0x08002894 40f68f71 movw r1, 0xf8f ; 3983
| :::: || 0x08002898 0840 ands r0, r1
| :::: || 0x0800289a 2060 str r0, [r4]
| :::: || 0x0800289c fdf796ff bl USB_Setup0_Process
| :::: || 0x080028a0 2068 ldr r0, [r4]
| :::: || 0x080028a2 80b2 uxth r0, r0
| :::: || 0x080028a4 3840 ands r0, r7
| :::: || 0x080028a6 2988 ldrh r1, [r5]
| :::: || 0x080028a8 c904 lsls r1, r1, 0x13
| ::::,===< 0x080028aa 01d5 bpl 0x80028b0
| ::::||| 0x080028ac 80f48050 eor r0, r0, 0x1000
| ::::||| ; JMP XREF from 0x080028aa (USB_CTR_LP)
| ::::`---> 0x080028b0 2988 ldrh r1, [r5]
| :::: || 0x080028b2 8904 lsls r1, r1, 0x12
| ::::,===< 0x080028b4 01d5 bpl 0x80028ba
| ::::||| 0x080028b6 80f40050 eor r0, r0, 0x2000
| ::::||| ; JMP XREF from 0x080028b4 (USB_CTR_LP)
| ::::`---> 0x080028ba 6988 ldrh r1, [r5, 2]
| :::: || 0x080028bc c906 lsls r1, r1, 0x1b
| ::::,===< 0x080028be 01d5 bpl 0x80028c4
| ::::||| 0x080028c0 80f01000 eor r0, r0, 0x10
| ::::||| ; JMP XREF from 0x080028be (USB_CTR_LP)
| ::::`---> 0x080028c4 6988 ldrh r1, [r5, 2]
| :::: || 0x080028c6 8906 lsls r1, r1, 0x1a
| ::::,===< 0x080028c8 01d5 bpl 0x80028ce
| ::::||| 0x080028ca 80f02000 eor r0, r0, 0x20
| ::::||| ; JMP XREF from 0x080028c8 (USB_CTR_LP)
| ::::`---> 0x080028ce 3043 orrs r0, r6
| :::: || 0x080028d0 2060 str r0, [r4]
| :::: || 0x080028d2 f1bd pop {r0, r4, r5, r6, r7, pc}
| :::: || ; JMP XREF from 0x08002890 (USB_CTR_LP)
| :::: `--> 0x080028d4 bdf80000 ldrh.w r0, [sp]
| :::: | 0x080028d8 0004 lsls r0, r0, 0x10
| ::`=====< 0x080028da 8fd5 bpl 0x80027fc
| :: : | 0x080028dc 2068 ldr r0, [r4]
| :: : | 0x080028de 40f68f71 movw r1, 0xf8f ; 3983
| :: : | 0x080028e2 0840 ands r0, r1
| :: : | 0x080028e4 2060 str r0, [r4]
| :: : | 0x080028e6 fdf7d2ff bl USB_Out0_Process
| :: : | 0x080028ea 2068 ldr r0, [r4]
| :: : | 0x080028ec 80b2 uxth r0, r0
| :: : | 0x080028ee 3840 ands r0, r7
| :: : | 0x080028f0 2988 ldrh r1, [r5]
| :: : | 0x080028f2 c904 lsls r1, r1, 0x13
| :: : ,==< 0x080028f4 01d5 bpl 0x80028fa
| :: : || 0x080028f6 80f48050 eor r0, r0, 0x1000
| :: : || ; JMP XREF from 0x080028f4 (USB_CTR_LP)
| :: : `--> 0x080028fa 2988 ldrh r1, [r5]
| :: : | 0x080028fc 8904 lsls r1, r1, 0x12
| :: : ,==< 0x080028fe 01d5 bpl 0x8002904
| :: : || 0x08002900 80f40050 eor r0, r0, 0x2000
| :: : || ; JMP XREF from 0x080028fe (USB_CTR_LP)
| :: : `--> 0x08002904 6988 ldrh r1, [r5, 2]
| :: : | 0x08002906 c906 lsls r1, r1, 0x1b
| :: : ,==< 0x08002908 01d5 bpl 0x800290e
| :: : || 0x0800290a 80f01000 eor r0, r0, 0x10
| :: : || ; JMP XREF from 0x08002908 (USB_CTR_LP)
| :: : `--> 0x0800290e 6988 ldrh r1, [r5, 2]
| :: : | 0x08002910 8906 lsls r1, r1, 0x1a
| :: : ,==< 0x08002912 01d5 bpl 0x8002918
| :: : || 0x08002914 80f02000 eor r0, r0, 0x20
| :: : || ; JMP XREF from 0x08002912 (USB_CTR_LP)
| :: : `--> 0x08002918 3043 orrs r0, r6
| :: : | 0x0800291a 2060 str r0, [r4]
| :: : | ; JMP XREF from 0x08002804 (USB_CTR_LP)
\ :: : `-> 0x0800291c f1bd pop {r0, r4, r5, r6, r7, pc}
:: : 0x0800291e 0000 movs r0, r0
:: : ; DATA XREF from 0x0800279c (USB_CTR_LP)
:: : 0x08002920 .dword 0x40005c00
:: : ; DATA XREF from 0x080027c8 (USB_CTR_LP)
:: : 0x08002924 .dword 0x200005e4
:: : ; DATA XREF from 0x080027f0 (USB_CTR_LP)
:: : 0x08002928 .dword 0x200005c8
:: : ; DATA XREF from 0x080027fe (USB_CTR_LP)
:: : 0x0800292c .dword 0x200010f2
:: : ; DATA XREF from 0x0800280e (USB_CTR_LP)
:: : 0x08002930 .dword 0x20001127
:: : ; DATA XREF from 0x08002814 (USB_CTR_LP)
:: : 0x08002934 .dword 0x2000111c
/ (fcn) NMI_Handler 2
| NMI_Handler ();
\ :: : 0x08002938 7047 bx lr
/ (fcn) HardFault_Handler 2
| HardFault_Handler ();
| :: : | ; JMP XREF from 0x0800293a (HardFault_Handler)
\ :: : `-> 0x0800293a fee7 b HardFault_Handler
/ (fcn) MemManage_Handler 2
| MemManage_Handler ();
| :: : | ; JMP XREF from 0x0800293c (MemManage_Handler)
\ :: : `-> 0x0800293c fee7 b MemManage_Handler
/ (fcn) BusFault_Handler 2
| BusFault_Handler ();
| :: : | ; JMP XREF from 0x0800293e (BusFault_Handler)
\ :: : `-> 0x0800293e fee7 b BusFault_Handler
/ (fcn) UsageFault_Handler 2
| UsageFault_Handler ();
| :: : | ; JMP XREF from 0x08002940 (UsageFault_Handler)
\ :: : `-> 0x08002940 fee7 b UsageFault_Handler
/ (fcn) SVC_Handler 2
| SVC_Handler ();
\ :: : 0x08002942 7047 bx lr
/ (fcn) DebugMon_Handler 2
| DebugMon_Handler ();
\ :: : 0x08002944 7047 bx lr
/ (fcn) PendSV_Handler 2
| PendSV_Handler ();
\ :: : 0x08002946 7047 bx lr
/ (fcn) SysTick_Handler 2
| SysTick_Handler ();
\ :: : 0x08002948 7047 bx lr
/ (fcn) USB_LP_IRQHandler 4
| USB_LP_IRQHandler ();
\ :: : ,=< 0x0800294a 00f097b8 b.w USB_Istr
/ (fcn) EXTI9_5_IRQHandler 108
| EXTI9_5_IRQHandler ();
| :: : | 0x0800294e 80b5 push {r7, lr}
| :: : | 0x08002950 4ff40070 mov.w r0, 0x200 ; 512
| :: : | 0x08002954 fef7d9ff bl sign.bytes.EXTI_GetITStatus_1
| :: : | 0x08002958 0028 cmp r0, 0
| :: : ,==< 0x0800295a 07d0 beq 0x800296c
| :: : || 0x0800295c 4ff40070 mov.w r0, 0x200 ; 512
| :: : || 0x08002960 fef7dbff bl EXTI_ClearITPendingBit
| :: : || 0x08002964 3648 ldr r0, [0x08002a40] ; [0x8002a40:4]=0x200010ec
| :: : || 0x08002966 0168 ldr r1, [r0]
| :: : || 0x08002968 491c adds r1, r1, 1
| :: : || 0x0800296a 0160 str r1, [r0]
| :: : || ; JMP XREF from 0x0800295a (EXTI9_5_IRQHandler)
| :: : `--> 0x0800296c 4ff48070 mov.w r0, 0x100 ; 256
| :: : | 0x08002970 fef7cbff bl sign.bytes.EXTI_GetITStatus_1
| :: : | 0x08002974 0028 cmp r0, 0
| :: : ,==< 0x08002976 07d0 beq 0x8002988
| :: : || 0x08002978 4ff48070 mov.w r0, 0x100 ; 256
| :: : || 0x0800297c fef7cdff bl EXTI_ClearITPendingBit
| :: : || 0x08002980 2f48 ldr r0, [0x08002a40] ; [0x8002a40:4]=0x200010ec
| :: : || 0x08002982 0168 ldr r1, [r0]
| :: : || 0x08002984 491c adds r1, r1, 1
| :: : || 0x08002986 0160 str r1, [r0]
| :: : || ; JMP XREF from 0x08002976 (EXTI9_5_IRQHandler)
| :: : `--> 0x08002988 8020 movs r0, 0x80 ; 128
| :: : | 0x0800298a fef7beff bl sign.bytes.EXTI_GetITStatus_1
| :: : | 0x0800298e 0028 cmp r0, 0
| :: : ,==< 0x08002990 06d0 beq 0x80029a0
| :: : || 0x08002992 8020 movs r0, 0x80 ; 128
| :: : || 0x08002994 fef7c1ff bl EXTI_ClearITPendingBit
| :: : || 0x08002998 2948 ldr r0, [0x08002a40] ; [0x8002a40:4]=0x200010ec
| :: : || 0x0800299a 0168 ldr r1, [r0]
| :: : || 0x0800299c 491c adds r1, r1, 1
| :: : || 0x0800299e 0160 str r1, [r0]
| :: : || ; JMP XREF from 0x08002990 (EXTI9_5_IRQHandler)
| :: : `--> 0x080029a0 4020 movs r0, 0x40 ; '@' ; 64
| :: : | 0x080029a2 fef7b2ff bl sign.bytes.EXTI_GetITStatus_1
| :: : | 0x080029a6 0028 cmp r0, 0
| :: : ,==< 0x080029a8 06d0 beq 0x80029b8
| :: : || 0x080029aa 4020 movs r0, 0x40 ; '@' ; 64
| :: : || 0x080029ac fef7b5ff bl EXTI_ClearITPendingBit
| :: : || 0x080029b0 2348 ldr r0, [0x08002a40] ; [0x8002a40:4]=0x200010ec
| :: : || 0x080029b2 0168 ldr r1, [r0]
| :: : || 0x080029b4 491c adds r1, r1, 1
| :: : || 0x080029b6 0160 str r1, [r0]
| :: : || ; JMP XREF from 0x080029a8 (EXTI9_5_IRQHandler)
\ :: : `--> 0x080029b8 01bd pop {r0, pc}
/ (fcn) EXTI0_IRQHandler 28
| EXTI0_IRQHandler ();
| :: : | 0x080029ba 80b5 push {r7, lr}
| :: : | 0x080029bc 0120 movs r0, 1 ; 1
| :: : | 0x080029be fef7a4ff bl sign.bytes.EXTI_GetITStatus_1
| :: : | 0x080029c2 0028 cmp r0, 0
| :: : ,==< 0x080029c4 06d0 beq 0x80029d4
| :: : || 0x080029c6 0120 movs r0, 1 ; 1
| :: : || 0x080029c8 fef7a7ff bl EXTI_ClearITPendingBit
| :: : || 0x080029cc 1c48 ldr r0, [0x08002a40] ; [0x8002a40:4]=0x200010ec
| :: : || 0x080029ce 0168 ldr r1, [r0]
| :: : || 0x080029d0 491c adds r1, r1, 1
| :: : || 0x080029d2 0160 str r1, [r0]
| :: : || ; JMP XREF from 0x080029c4 (EXTI0_IRQHandler)
\ :: : `--> 0x080029d4 01bd pop {r0, pc}
/ (fcn) USB_FS_WKUP_IRQHandler 8
| USB_FS_WKUP_IRQHandler ();
| :: : | 0x080029d6 4ff48020 mov.w r0, 0x40000
\ :`======< 0x080029da fef79ebf b.w EXTI_ClearITPendingBit
/ (fcn) DMA1_Channel2_IRQHandler 32
| DMA1_Channel2_IRQHandler ();
| : : | 0x080029de 80b5 push {r7, lr}
| : : | 0x080029e0 2020 movs r0, 0x20 ; 32
| : : | 0x080029e2 fff738f9 bl sign.bytes.DMA_GetITStatus_0
| : : | 0x080029e6 0028 cmp r0, 0
| : : ,==< 0x080029e8 08d0 beq 0x80029fc
| : : || 0x080029ea 2020 movs r0, 0x20 ; 32
| : : || 0x080029ec fff740f9 bl sign.bytes.DMA_ClearITPendingBit_0
| : : || 0x080029f0 0021 movs r1, 0
| : : || 0x080029f2 1448 ldr r0, [0x08002a44] ; [0x8002a44:4]=0x4002601c
| : : || 0x080029f4 bde80440 pop.w {r2, lr}
| ========< 0x080029f8 fff70db9 b.w sign.bytes.DMA_Cmd_0
| : : || ; JMP XREF from 0x080029e8 (DMA1_Channel2_IRQHandler)
\ : : `--> 0x080029fc 01bd pop {r0, pc}
/ (fcn) USART3_IRQHandler 66
| USART3_IRQHandler ();
| : : | 0x080029fe 38b5 push {r3, r4, r5, lr}
| : : | 0x08002a00 114c ldr r4, [0x08002a48] ; [0x8002a48:4]=0x40004800
| : : | 0x08002a02 40f22665 movw r5, 0x626 ; 1574
| : : | 0x08002a06 2946 mov r1, r5
| : : | 0x08002a08 2046 mov r0, r4
| : : | 0x08002a0a fff747f8 bl sign.bytes.USART_GetITStatus_0
| : : | 0x08002a0e 0128 cmp r0, 1 ; 1
| : : ,==< 0x08002a10 07d1 bne 0x8002a22
| : : || 0x08002a12 4021 movs r1, 0x40 ; '@' ; 64
| : : || 0x08002a14 2046 mov r0, r4
| : : || 0x08002a16 fff73ef8 bl USART_ClearFlag
| : : || 0x08002a1a 2946 mov r1, r5
| : : || 0x08002a1c 2046 mov r0, r4
| : : || 0x08002a1e fff761f8 bl sign.bytes.USART_ClearITPendingBit_0
| : : || ; JMP XREF from 0x08002a10 (USART3_IRQHandler)
| : : `--> 0x08002a22 40f22441 movw r1, 0x424 ; 1060
| : : | 0x08002a26 2046 mov r0, r4
| : : | 0x08002a28 fff738f8 bl sign.bytes.USART_GetITStatus_0
| : : | 0x08002a2c 0028 cmp r0, 0
| : : ,==< 0x08002a2e 06d0 beq 0x8002a3e
| : : || 0x08002a30 fef73efc bl _USART3_RxMemInit
| : : || 0x08002a34 2046 mov r0, r4
| : : || 0x08002a36 bde83240 pop.w {r1, r4, r5, lr}
| `=======< 0x08002a3a fff701b8 b.w USART_ReceiveData
| : || ; JMP XREF from 0x08002a2e (USART3_IRQHandler)
\ : `--> 0x08002a3e 31bd pop {r0, r4, r5, pc}
: | ; DATA XREF from 0x08002964 (EXTI9_5_IRQHandler)
: | ; DATA XREF from 0x08002980 (EXTI9_5_IRQHandler)
: | ; DATA XREF from 0x08002998 (EXTI9_5_IRQHandler)
: | ; DATA XREF from 0x080029b0 (EXTI9_5_IRQHandler)
: | ; DATA XREF from 0x080029cc (EXTI0_IRQHandler)
: | 0x08002a40 .dword 0x200010ec
: | ; DATA XREF from 0x080029f2 (DMA1_Channel2_IRQHandler)
: | 0x08002a44 .dword 0x4002601c
: | ; DATA XREF from 0x08002a00 (USART3_IRQHandler)
: | 0x08002a48 .dword 0x40004800
/ (fcn) EXTI15_10_IRQHandler 48
| EXTI15_10_IRQHandler ();
| : | ; DATA XREF from 0x08002a48 (USART3_IRQHandler + 74)
| : | 0x08002a4c 80b5 push {r7, lr}
| : | 0x08002a4e 4ff48060 mov.w r0, 0x400 ; 1024
| : | 0x08002a52 fef75aff bl sign.bytes.EXTI_GetITStatus_1
| : | 0x08002a56 0028 cmp r0, 0
| : ,==< 0x08002a58 03d0 beq 0x8002a62
| : || 0x08002a5a 4ff48060 mov.w r0, 0x400 ; 1024
| : || 0x08002a5e fef75cff bl EXTI_ClearITPendingBit
| : || ; JMP XREF from 0x08002a58 (EXTI15_10_IRQHandler)
| : `--> 0x08002a62 4ff40040 mov.w r0, 0x8000
| : | 0x08002a66 fef750ff bl sign.bytes.EXTI_GetITStatus_1
| : | 0x08002a6a 0028 cmp r0, 0
| : ,==< 0x08002a6c 05d0 beq 0x8002a7a
| : || 0x08002a6e 4ff40040 mov.w r0, 0x8000
| : || 0x08002a72 bde80240 pop.w {r1, lr}
| `====< 0x08002a76 fef750bf b.w EXTI_ClearITPendingBit
| || ; JMP XREF from 0x08002a6c (EXTI15_10_IRQHandler)
\ `--> 0x08002a7a 01bd pop {r0, pc}
/ (fcn) USB_Istr 294
| USB_Istr ();
| | ; JMP XREF from 0x0800294a (USB_LP_IRQHandler)
| `-> 0x08002a7c f0b5 push {r4, r5, r6, r7, lr}
| 0x08002a7e 89b0 sub sp, 0x24 ; '$'
| 0x08002a80 0024 movs r4, 0
| 0x08002a82 484d ldr r5, [0x08002ba4] ; [0x8002ba4:4]=0x40005c40
| 0x08002a84 484e ldr r6, [0x08002ba8] ; [0x8002ba8:4]=0x200010f0
| 0x08002a86 6868 ldr r0, [r5, 4]
| 0x08002a88 7080 strh r0, [r6, 2]
| 0x08002a8a 484f ldr r7, [0x08002bac] ; [0x8002bac:4]=0x20001124
| 0x08002a8c 7088 ldrh r0, [r6, 2]
| 0x08002a8e 3988 ldrh r1, [r7]
| 0x08002a90 0840 ands r0, r1
| 0x08002a92 0004 lsls r0, r0, 0x10
| ,=< 0x08002a94 01d5 bpl 0x8002a9a
| | 0x08002a96 fff77dfe bl USB_CTR_LP
| | ; JMP XREF from 0x08002a94 (USB_Istr)
| `-> 0x08002a9a 7088 ldrh r0, [r6, 2]
| 0x08002a9c 3988 ldrh r1, [r7]
| 0x08002a9e 0840 ands r0, r1
| 0x08002aa0 4005 lsls r0, r0, 0x15
| ,=< 0x08002aa2 05d5 bpl 0x8002ab0
| | 0x08002aa4 4ff6ff30 movw r0, 0xfbff
| | 0x08002aa8 6860 str r0, [r5, 4]
| | 0x08002aaa 4148 ldr r0, [0x08002bb0] ; [0x8002bb0:4]=0x20000514
| | 0x08002aac 4068 ldr r0, [r0, 4]
| | 0x08002aae 8047 blx r0
| | ; JMP XREF from 0x08002aa2 (USB_Istr)
| `-> 0x08002ab0 7088 ldrh r0, [r6, 2]
| 0x08002ab2 3988 ldrh r1, [r7]
| 0x08002ab4 0840 ands r0, r1
| 0x08002ab6 8004 lsls r0, r0, 0x12
| ,=< 0x08002ab8 02d5 bpl 0x8002ac0
| | 0x08002aba 4df6ff70 movw r0, 0xdfff
| | 0x08002abe 6860 str r0, [r5, 4]
| | ; JMP XREF from 0x08002ab8 (USB_Istr)
| `-> 0x08002ac0 7088 ldrh r0, [r6, 2]
| 0x08002ac2 3988 ldrh r1, [r7]
| 0x08002ac4 0840 ands r0, r1
| 0x08002ac6 c004 lsls r0, r0, 0x13
| ,=< 0x08002ac8 05d5 bpl 0x8002ad6
| | 0x08002aca 4ef6ff70 movw r0, 0xefff
| | 0x08002ace 6860 str r0, [r5, 4]
| | 0x08002ad0 2046 mov r0, r4
| | 0x08002ad2 fff78dfc bl sign.bytes._USB_Resume_0
| | ; JMP XREF from 0x08002ac8 (USB_Istr)
| `-> 0x08002ad6 7088 ldrh r0, [r6, 2]
| 0x08002ad8 3988 ldrh r1, [r7]
| 0x08002ada 0840 ands r0, r1
| 0x08002adc 0005 lsls r0, r0, 0x14
| ,=< 0x08002ade 0cd5 bpl 0x8002afa
| | 0x08002ae0 3448 ldr r0, [0x08002bb4] ; [0x8002bb4:4]=0x20000694
| | 0x08002ae2 0078 ldrb r0, [r0]
| | 0x08002ae4 0028 cmp r0, 0
| ,==< 0x08002ae6 02d0 beq 0x8002aee
| || 0x08002ae8 fff715fc bl fcn.08002316
| ,===< 0x08002aec 02e0 b 0x8002af4
| ||| ; JMP XREF from 0x08002ae6 (USB_Istr)
| |`--> 0x08002aee 0220 movs r0, 2 ; 2
| | | 0x08002af0 fff77efc bl sign.bytes._USB_Resume_0
| | | ; JMP XREF from 0x08002aec (USB_Istr)
| `---> 0x08002af4 4ff2ff70 movw r0, 0xf7ff
| | 0x08002af8 6860 str r0, [r5, 4]
| | ; JMP XREF from 0x08002ade (USB_Istr)
| `-> 0x08002afa 7088 ldrh r0, [r6, 2]
| 0x08002afc 3988 ldrh r1, [r7]
| 0x08002afe 0840 ands r0, r1
| 0x08002b00 8005 lsls r0, r0, 0x16
| ,=< 0x08002b02 05d5 bpl 0x8002b10
| | 0x08002b04 4ff6ff50 movw r0, 0xfdff
| | 0x08002b08 6860 str r0, [r5, 4]
| | 0x08002b0a 3078 ldrb r0, [r6]
| | 0x08002b0c 401c adds r0, r0, 1
| | 0x08002b0e 3070 strb r0, [r6]
| | ; JMP XREF from 0x08002b02 (USB_Istr)
| `-> 0x08002b10 7088 ldrh r0, [r6, 2]
| 0x08002b12 3988 ldrh r1, [r7]
| 0x08002b14 0840 ands r0, r1
| 0x08002b16 c005 lsls r0, r0, 0x17
| ,=< 0x08002b18 41d5 bpl 0x8002b9e
| | 0x08002b1a 4ff6ff60 movw r0, 0xfeff
| | 0x08002b1e 6860 str r0, [r5, 4]
| | 0x08002b20 a868 ldr r0, [r5, 8]
| | 0x08002b22 0004 lsls r0, r0, 0x10
| ,==< 0x08002b24 36d5 bpl 0x8002b94
| || 0x08002b26 7068 ldr r0, [r6, 4]
| || 0x08002b28 401c adds r0, r0, 1
| || 0x08002b2a 7060 str r0, [r6, 4]
| || 0x08002b2c 7068 ldr r0, [r6, 4]
| || 0x08002b2e 0428 cmp r0, 4 ; 4
| ,===< 0x08002b30 32d3 blo 0x8002b98
| ||| 0x08002b32 2868 ldr r0, [r5]
| ||| 0x08002b34 0007 lsls r0, r0, 0x1c
| ,====< 0x08002b36 2fd4 bmi 0x8002b98
| |||| 0x08002b38 2868 ldr r0, [r5]
| |||| 0x08002b3a 80b2 uxth r0, r0
| |||| 0x08002b3c b060 str r0, [r6, 8]
| |||| 0x08002b3e 00a9 add r1, sp, 0
| ,=====< 0x08002b40 06e0 b 0x8002b50
| ||||| ; JMP XREF from 0x08002b52 (USB_Istr)
| .------> 0x08002b42 1d48 ldr r0, [0x08002bb8] ; [0x8002bb8:4]=0x40005c00
| :||||| 0x08002b44 50f82400 ldr.w r0, [r0, r4, lsl 2]
| :||||| 0x08002b48 80b2 uxth r0, r0
| :||||| 0x08002b4a 41f82400 str.w r0, [r1, r4, lsl 2]
| :||||| 0x08002b4e 641c adds r4, r4, 1
| :||||| ; JMP XREF from 0x08002b40 (USB_Istr)
| :`-----> 0x08002b50 082c cmp r4, 8 ; 8
| `======< 0x08002b52 f6d3 blo 0x8002b42
| |||| 0x08002b54 b068 ldr r0, [r6, 8]
| |||| 0x08002b56 40f00100 orr r0, r0, 1
| |||| 0x08002b5a b060 str r0, [r6, 8]
| |||| 0x08002b5c b068 ldr r0, [r6, 8]
| |||| 0x08002b5e 80b2 uxth r0, r0
| |||| 0x08002b60 2860 str r0, [r5]
| |||| 0x08002b62 b068 ldr r0, [r6, 8]
| |||| 0x08002b64 4008 lsrs r0, r0, 1
| |||| 0x08002b66 4000 lsls r0, r0, 1
| |||| 0x08002b68 b060 str r0, [r6, 8]
| |||| 0x08002b6a b068 ldr r0, [r6, 8]
| |||| 0x08002b6c 80b2 uxth r0, r0
| |||| 0x08002b6e 2860 str r0, [r5]
| |||| ; JMP XREF from 0x08002b74 (USB_Istr)
| .-----> 0x08002b70 6868 ldr r0, [r5, 4]
| :|||| 0x08002b72 4005 lsls r0, r0, 0x15
| `=====< 0x08002b74 fcd5 bpl 0x8002b70
| |||| 0x08002b76 4ff6ff30 movw r0, 0xfbff
| |||| 0x08002b7a 6860 str r0, [r5, 4]
| |||| 0x08002b7c 0024 movs r4, 0
| |||| 0x08002b7e 0e49 ldr r1, [0x08002bb8] ; [0x8002bb8:4]=0x40005c00
| ,=====< 0x08002b80 06e0 b 0x8002b90
| ||||| ; JMP XREF from 0x08002b92 (USB_Istr)
| .------> 0x08002b82 00a8 add r0, sp, 0
| :||||| 0x08002b84 50f82400 ldr.w r0, [r0, r4, lsl 2]
| :||||| 0x08002b88 80b2 uxth r0, r0
| :||||| 0x08002b8a 41f82400 str.w r0, [r1, r4, lsl 2]
| ::||||| 0x08002b8e 641c adds r4, r4, 1
| ::||||| ; JMP XREF from 0x08002b80 (USB_Istr)
| ::`-----> 0x08002b90 082c cmp r4, 8 ; 8
| :`======< 0x08002b92 f6d3 blo 0x8002b82
| : |||| ; JMP XREF from 0x08002b24 (USB_Istr)
| : ||`--> 0x08002b94 0020 movs r0, 0
| : || | 0x08002b96 7060 str r0, [r6, 4]
| : || | ; JMP XREF from 0x08002b30 (USB_Istr)
| : || | ; JMP XREF from 0x08002b36 (USB_Istr)
| : ``---> 0x08002b98 0720 movs r0, 7 ; 7
| : | 0x08002b9a fff729fc bl sign.bytes._USB_Resume_0
| : | ; JMP XREF from 0x08002b18 (USB_Istr)
| : `-> 0x08002b9e 09b0 add sp, 0x24
\ : 0x08002ba0 f0bd pop {r4, r5, r6, r7, pc}
: 0x08002ba2 00bf nop
: ; DATA XREF from 0x08002a82 (USB_Istr)
: 0x08002ba4 .dword 0x40005c40
: ; DATA XREF from 0x08002a84 (USB_Istr)
: 0x08002ba8 .dword 0x200010f0
: ; DATA XREF from 0x08002a8a (USB_Istr)
: 0x08002bac .dword 0x20001124
: ; DATA XREF from 0x08002aaa (USB_Istr)
: 0x08002bb0 .dword 0x20000514
: ; DATA XREF from 0x08002ae0 (USB_Istr)
: 0x08002bb4 .dword 0x20000694
: ; DATA XREF from 0x08002b42 (USB_Istr)
: ; DATA XREF from 0x08002b7e (USB_Istr)
: 0x08002bb8 .dword 0x40005c00
/ (fcn) fcn.08002bbc 224
| Caller: main
| fcn.08002bbc ();
| : ; CALL XREF from 0x08002dec (main)
| : ; CALL XREF from 0x08002e32 (main)
| : 0x08002bbc f8b5 push {r3, r4, r5, r6, r7, lr}
| : 0x08002bbe 0024 movs r4, 0
| : 0x08002bc0 2646 mov r6, r4
| : 0x08002bc2 404d ldr r5, [0x08002cc4] ; [0x8002cc4:4]=0x2000031c
| : ,=< 0x08002bc4 07e0 b 0x8002bd6
| : | ; JMP XREF from 0x08002bd8 (fcn.08002bbc)
| : .--> 0x08002bc6 05ebc600 add.w r0, r5, r6, lsl 3
| : :| 0x08002bca 8188 ldrh r1, [r0, 4]
| : :| 0x08002bcc 55f83600 ldr.w r0, [r5, r6, lsl 3]
| : :| 0x08002bd0 fef736fe bl GPIO_ResetBits
| : :| 0x08002bd4 761c adds r6, r6, 1
| : :| ; JMP XREF from 0x08002bc4 (fcn.08002bbc)
| : :`-> 0x08002bd6 0e2e cmp r6, 0xe ; 14
| : `==< 0x08002bd8 f5db blt 0x8002bc6
| : ; JMP XREF from 0x08002c80 (fcn.08002bbc)
| : .-> 0x08002bda 0e2c cmp r4, 0xe ; 14
| : ,==< 0x08002bdc 51d2 bhs 0x8002c82
| : |: 0x08002bde 0026 movs r6, 0
| : |: 0x08002be0 05ebc407 add.w r7, r5, r4, lsl 3
| : ,===< 0x08002be4 0be0 b 0x8002bfe
| : ||: ; JMP XREF from 0x08002c6e (fcn.08002bbc)
| : .----> 0x08002be6 0022 movs r2, 0
| : :||: 0x08002be8 1cf80110 ldrb.w r1, [ip, r1]
| : :||: 0x08002bec 5878 ldrb r0, [r3, 1]
| : :||: 0x08002bee 00f055f8 bl fcn.08002c9c
| : :||: ; JMP XREF from 0x08002c38 (fcn.08002bbc)
| : :||: ; JMP XREF from 0x08002c40 (fcn.08002bbc)
| : :||: ; JMP XREF from 0x08002c5c (fcn.08002bbc)
| : :||: ; JMP XREF from 0x08002c6a (fcn.08002bbc)
| : :||: ; JMP XREF from 0x08002c7c (fcn.08002bbc)
| -..-----> 0x08002bf2 b988 ldrh r1, [r7, 4]
| ::::||: 0x08002bf4 55f83400 ldr.w r0, [r5, r4, lsl 3]
| ::::||: 0x08002bf8 fef722fe bl GPIO_ResetBits
| ::::||: 0x08002bfc 761c adds r6, r6, 1
| ::::||: ; JMP XREF from 0x08002be4 (fcn.08002bbc)
| ::::`---> 0x08002bfe 052e cmp r6, 5 ; 5
| ::::,===< 0x08002c00 3dd2 bhs 0x8002c7e
| ::::||: 0x08002c02 b988 ldrh r1, [r7, 4]
| ::::||: 0x08002c04 55f83400 ldr.w r0, [r5, r4, lsl 3]
| ::::||: 0x08002c08 fef718fe bl GPIO_SetBits
| ::::||: 0x08002c0c 0a20 movs r0, 0xa ; 10
| ::::||: 0x08002c0e fef79dfe bl sign.bytes._Wait_AHBby8_0
| ::::||: 0x08002c12 2d48 ldr r0, [0x08002cc8] ; [0x8002cc8:4]=0x20000544
| ::::||: 0x08002c14 00ebc601 add.w r1, r0, r6, lsl 3
| ::::||: 0x08002c18 8988 ldrh r1, [r1, 4]
| ::::||: 0x08002c1a 50f83600 ldr.w r0, [r0, r6, lsl 3]
| ::::||: 0x08002c1e fef706fe bl GPIO_ReadInputDataBit
| ::::||: 0x08002c22 2a4a ldr r2, [0x08002ccc] ; [0x8002ccc:4]=0x20000048
| ::::||: 0x08002c24 6221 movs r1, 0x62 ; 'b' ; 98
| ::::||: 0x08002c26 01fb0621 mla r1, r1, r6, r2
| ::::||: 0x08002c2a c4ebc40c rsb ip, r4, r4, lsl 3
| ::::||: 0x08002c2e 0ceb0103 add.w r3, ip, r1
| ::::||: 0x08002c32 93f802e0 ldrb.w lr, [r3, 2]
| ::::||: 0x08002c36 7045 cmp r0, lr
| ========< 0x08002c38 dbd0 beq 0x8002bf2
| ::::||: 0x08002c3a 9870 strb r0, [r3, 2]
| ::::||: 0x08002c3c 5878 ldrb r0, [r3, 1]
| ::::||: 0x08002c3e 0028 cmp r0, 0
| ========< 0x08002c40 d7d0 beq 0x8002bf2
| ::::||: 0x08002c42 92f8d701 ldrb.w r0, [r2, 0x1d7]
| ::::||: 0x08002c46 9a78 ldrb r2, [r3, 2]
| ::::||: 0x08002c48 012a cmp r2, 1 ; 1
| ========< 0x08002c4a 0fd1 bne 0x8002c6c
| ::::||: 0x08002c4c 0128 cmp r0, 1 ; 1
| ========< 0x08002c4e 06d1 bne 0x8002c5e
| ::::||: 0x08002c50 0122 movs r2, 1 ; 1
| ::::||: 0x08002c52 1cf80110 ldrb.w r1, [ip, r1]
| ::::||: 0x08002c56 d878 ldrb r0, [r3, 3]
| ::::||: 0x08002c58 00f020f8 bl fcn.08002c9c
| ========< 0x08002c5c c9e7 b 0x8002bf2
| ::::||: ; JMP XREF from 0x08002c4e (fcn.08002bbc)
| --------> 0x08002c5e 0122 movs r2, 1 ; 1
| ::::||: 0x08002c60 1cf80110 ldrb.w r1, [ip, r1]
| ::::||: 0x08002c64 5878 ldrb r0, [r3, 1]
| ::::||: 0x08002c66 00f019f8 bl fcn.08002c9c
| :`======< 0x08002c6a c2e7 b 0x8002bf2
| : ::||: ; JMP XREF from 0x08002c4a (fcn.08002bbc)
| --------> 0x08002c6c 0128 cmp r0, 1 ; 1
| : :`====< 0x08002c6e bad1 bne 0x8002be6
| : : ||: 0x08002c70 0022 movs r2, 0
| : : ||: 0x08002c72 1cf80110 ldrb.w r1, [ip, r1]
| : : ||: 0x08002c76 d878 ldrb r0, [r3, 3]
| : : ||: 0x08002c78 00f010f8 bl fcn.08002c9c
| : `=====< 0x08002c7c b9e7 b 0x8002bf2
| : ||: ; JMP XREF from 0x08002c00 (fcn.08002bbc)
| : `---> 0x08002c7e 641c adds r4, r4, 1
| : |`=< 0x08002c80 abe7 b 0x8002bda
| : | ; JMP XREF from 0x08002bdc (fcn.08002bbc)
| : `--> 0x08002c82 0024 movs r4, 0
| : ,=< 0x08002c84 07e0 b 0x8002c96
| : | ; JMP XREF from 0x08002c98 (fcn.08002bbc)
| : .--> 0x08002c86 05ebc400 add.w r0, r5, r4, lsl 3
| : :| 0x08002c8a 8188 ldrh r1, [r0, 4]
| : :| 0x08002c8c 55f83400 ldr.w r0, [r5, r4, lsl 3]
| : :| 0x08002c90 fef7d4fd bl GPIO_SetBits
| : :| 0x08002c94 641c adds r4, r4, 1
| : :| ; JMP XREF from 0x08002c84 (fcn.08002bbc)
| : :`-> 0x08002c96 0e2c cmp r4, 0xe ; 14
| : `==< 0x08002c98 f5db blt 0x8002c86
\ : 0x08002c9a f1bd pop {r0, r4, r5, r6, r7, pc}
/ (fcn) fcn.08002c9c 38
| Caller: fcn.08002bbc
| fcn.08002c9c ();
| : ; CALL XREF from 0x08002bee (fcn.08002bbc)
| : ; CALL XREF from 0x08002c58 (fcn.08002bbc)
| : ; CALL XREF from 0x08002c66 (fcn.08002bbc)
| : ; CALL XREF from 0x08002c78 (fcn.08002bbc)
| : 0x08002c9c 0b49 ldr r1, [0x08002ccc] ; [0x8002ccc:4]=0x20000048
| : 0x08002c9e 4978 ldrb r1, [r1, 1]
| : 0x08002ca0 8842 cmp r0, r1
| : ,=< 0x08002ca2 0dd1 bne 0x8002cc0
| : | 0x08002ca4 002a cmp r2, 0
| : ,==< 0x08002ca6 0bd0 beq 0x8002cc0
| : || 0x08002ca8 0948 ldr r0, [0x08002cd0] ; [0x8002cd0:4]=0x200010e8
| : || 0x08002caa 0178 ldrb r1, [r0]
| : || 0x08002cac 0029 cmp r1, 0
| : ,===< 0x08002cae 02d1 bne 0x8002cb6
| : ||| 0x08002cb0 0121 movs r1, 1 ; 1
| : ||| 0x08002cb2 0170 strb r1, [r0]
| : ||| 0x08002cb4 7047 bx lr
| : ||| ; JMP XREF from 0x08002cae (fcn.08002c9c)
| : `---> 0x08002cb6 0178 ldrb r1, [r0]
| : || 0x08002cb8 0029 cmp r1, 0
| : ,===< 0x08002cba 01d0 beq 0x8002cc0
| : ||| 0x08002cbc 0021 movs r1, 0
| : ||| 0x08002cbe 0170 strb r1, [r0]
| : ||| ; JMP XREF from 0x08002ca2 (fcn.08002c9c)
| : ||| ; JMP XREF from 0x08002ca6 (fcn.08002c9c)
| : ||| ; JMP XREF from 0x08002cba (fcn.08002c9c)
\ : ```-> 0x08002cc0 7047 bx lr
: 0x08002cc2 0000 movs r0, r0
: ; DATA XREF from 0x08002bc2 (fcn.08002bbc)
: 0x08002cc4 .dword 0x2000031c
: ; DATA XREF from 0x08002c12 (fcn.08002bbc)
: 0x08002cc8 .dword 0x20000544
: ; DATA XREF from 0x08002c22 (fcn.08002bbc)
: ; DATA XREF from 0x08002c9c (fcn.08002c9c)
: 0x08002ccc .dword 0x20000048
: ; DATA XREF from 0x08002ca8 (fcn.08002c9c)
: 0x08002cd0 .dword 0x200010e8
/ (fcn) SystemInit 62
| SystemInit ();
| : 0x08002cd4 80b5 push {r7, lr}
| : 0x08002cd6 3c48 ldr r0, [0x08002dc8] ; [0x8002dc8:4]=0x40023800
| : 0x08002cd8 0168 ldr r1, [r0]
| : 0x08002cda 41f48071 orr r1, r1, 0x100
| : 0x08002cde 0160 str r1, [r0]
| : 0x08002ce0 8168 ldr r1, [r0, 8]
| : 0x08002ce2 3a4a ldr r2, [0x08002dcc] ; [0x8002dcc:4]=0x88ffc00c
| : 0x08002ce4 1140 ands r1, r2
| : 0x08002ce6 8160 str r1, [r0, 8]
| : 0x08002ce8 0168 ldr r1, [r0]
| : 0x08002cea 394a ldr r2, [0x08002dd0] ; [0x8002dd0:4]=0xeefefffe
| : 0x08002cec 1140 ands r1, r2
| : 0x08002cee 0160 str r1, [r0]
| : 0x08002cf0 0168 ldr r1, [r0]
| : 0x08002cf2 21f48021 bic r1, r1, 0x40000
| : 0x08002cf6 0160 str r1, [r0]
| : 0x08002cf8 8168 ldr r1, [r0, 8]
| : 0x08002cfa 21f47d01 bic r1, r1, 0xfd0000
| : 0x08002cfe 8160 str r1, [r0, 8]
| : 0x08002d00 0021 movs r1, 0
| : 0x08002d02 c160 str r1, [r0, 0xc]
| : 0x08002d04 00f005f8 bl sign.bytes.SetSysClock_0
| : 0x08002d08 4ff00060 mov.w r0, vector_table ; 0x8000000 ; "(\x15"
| : 0x08002d0c 3149 ldr r1, [0x08002dd4] ; [0x8002dd4:4]=0xe000ed08
| : 0x08002d0e 0860 str r0, [r1]
\ : 0x08002d10 01bd pop {r0, pc}
/ (fcn) sign.bytes.SetSysClock_0 182
| Caller: SystemInit
| sign.bytes.SetSysClock_0 ();
| : ; CALL XREF from 0x08002d04 (SystemInit)
| : 0x08002d12 82b0 sub sp, 8
| : 0x08002d14 0020 movs r0, 0
| : 0x08002d16 0190 str r0, [sp, 4]
| : 0x08002d18 0090 str r0, [sp]
| : 0x08002d1a 2b48 ldr r0, [0x08002dc8] ; [0x8002dc8:4]=0x40023800
| : 0x08002d1c 0168 ldr r1, [r0]
| : 0x08002d1e 41f48031 orr r1, r1, 0x10000
| : 0x08002d22 0160 str r1, [r0]
| : ; JMP XREF from 0x08002d3e (sign.bytes.SetSysClock_0)
| : .-> 0x08002d24 0168 ldr r1, [r0]
| : : 0x08002d26 01f40031 and r1, r1, 0x20000
| : : 0x08002d2a 0091 str r1, [sp]
| : : 0x08002d2c 0199 ldr r1, [sp, 4]
| : : 0x08002d2e 491c adds r1, r1, 1
| : : 0x08002d30 0191 str r1, [sp, 4]
| : : 0x08002d32 0099 ldr r1, [sp]
| : : 0x08002d34 0029 cmp r1, 0
| : ,==< 0x08002d36 03d1 bne 0x8002d40
| : |: 0x08002d38 0199 ldr r1, [sp, 4]
| : |: 0x08002d3a b1f5a04f cmp.w r1, 0x5000
| : |`=< 0x08002d3e f1d1 bne 0x8002d24
| : | ; JMP XREF from 0x08002d36 (sign.bytes.SetSysClock_0)
| : `--> 0x08002d40 0168 ldr r1, [r0]
| : 0x08002d42 490c lsrs r1, r1, 0x11
| : 0x08002d44 01f00101 and r1, r1, 1
| : 0x08002d48 0091 str r1, [sp]
| : 0x08002d4a 0099 ldr r1, [sp]
| : 0x08002d4c 0129 cmp r1, 1 ; 1
| : ,=< 0x08002d4e 39d1 bne 0x8002dc4
| : | 0x08002d50 2149 ldr r1, [0x08002dd8] ; [0x8002dd8:4]=0x40023c00
| : | 0x08002d52 0a68 ldr r2, [r1]
| : | 0x08002d54 42f00402 orr r2, r2, 4
| : | 0x08002d58 0a60 str r2, [r1]
| : | 0x08002d5a 0a68 ldr r2, [r1]
| : | 0x08002d5c 42f00202 orr r2, r2, 2
| : | 0x08002d60 0a60 str r2, [r1]
| : | 0x08002d62 0a68 ldr r2, [r1]
| : | 0x08002d64 42f00102 orr r2, r2, 1
| : | 0x08002d68 0a60 str r2, [r1]
| : | 0x08002d6a 416a ldr r1, [r0, 0x24]
| : | 0x08002d6c 41f08051 orr r1, r1, 0x10000000
| : | 0x08002d70 4162 str r1, [r0, 0x24]
| : | 0x08002d72 1a49 ldr r1, [0x08002ddc] ; [0x8002ddc:4]=0x40007000
| : | 0x08002d74 4ff40062 mov.w r2, 0x800 ; 2048
| : | 0x08002d78 0a60 str r2, [r1]
| : | ; JMP XREF from 0x08002d7e (sign.bytes.SetSysClock_0)
| : .--> 0x08002d7a 4a68 ldr r2, [r1, 4]
| : :| 0x08002d7c d206 lsls r2, r2, 0x1b
| : `==< 0x08002d7e fcd4 bmi 0x8002d7a
| : | 0x08002d80 8168 ldr r1, [r0, 8]
| : | 0x08002d82 8160 str r1, [r0, 8]
| : | 0x08002d84 8168 ldr r1, [r0, 8]
| : | 0x08002d86 8160 str r1, [r0, 8]
| : | 0x08002d88 8168 ldr r1, [r0, 8]
| : | 0x08002d8a 8160 str r1, [r0, 8]
| : | 0x08002d8c 8168 ldr r1, [r0, 8]
| : | 0x08002d8e 21f47d01 bic r1, r1, 0xfd0000
| : | 0x08002d92 8160 str r1, [r0, 8]
| : | 0x08002d94 8168 ldr r1, [r0, 8]
| : | 0x08002d96 41f40901 orr r1, r1, 0x890000
| : | 0x08002d9a 8160 str r1, [r0, 8]
| : | 0x08002d9c 0168 ldr r1, [r0]
| : | 0x08002d9e 41f08071 orr r1, r1, 0x1000000
| : | 0x08002da2 0160 str r1, [r0]
| : | ; JMP XREF from 0x08002da8 (sign.bytes.SetSysClock_0)
| : .--> 0x08002da4 0168 ldr r1, [r0]
| : :| 0x08002da6 8901 lsls r1, r1, 6
| : `==< 0x08002da8 fcd5 bpl 0x8002da4
| : | 0x08002daa 8168 ldr r1, [r0, 8]
| : | 0x08002dac 8908 lsrs r1, r1, 2
| : | 0x08002dae 8900 lsls r1, r1, 2
| : | 0x08002db0 8160 str r1, [r0, 8]
| : | 0x08002db2 8168 ldr r1, [r0, 8]
| : | 0x08002db4 41f00301 orr r1, r1, 3
| : | 0x08002db8 8160 str r1, [r0, 8]
| : | ; JMP XREF from 0x08002dc2 (sign.bytes.SetSysClock_0)
| : .--> 0x08002dba 8168 ldr r1, [r0, 8]
| : :| 0x08002dbc 01f00c01 and r1, r1, 0xc
| : :| 0x08002dc0 0c29 cmp r1, 0xc ; 12
| : `==< 0x08002dc2 fad1 bne 0x8002dba
| : | ; JMP XREF from 0x08002d4e (sign.bytes.SetSysClock_0)
| : `-> 0x08002dc4 02b0 add sp, 8
\ : 0x08002dc6 7047 bx lr
: ; DATA XREF from 0x08002cd6 (SystemInit)
: ; DATA XREF from 0x08002d1a (sign.bytes.SetSysClock_0)
: 0x08002dc8 .dword 0x40023800
: ; DATA XREF from 0x08002ce2 (SystemInit)
: 0x08002dcc .dword 0x88ffc00c
: ; DATA XREF from 0x08002cea (SystemInit)
: 0x08002dd0 .dword 0xeefefffe
: ; DATA XREF from 0x08002d0c (SystemInit)
: 0x08002dd4 .dword 0xe000ed08
: ; DATA XREF from 0x08002d50 (sign.bytes.SetSysClock_0)
: 0x08002dd8 .dword 0x40023c00
: ; DATA XREF from 0x08002d72 (sign.bytes.SetSysClock_0)
: 0x08002ddc .dword 0x40007000
/ (fcn) main 170
| Caller: exit _main2
| main ();
| : ; CALL XREF from 0x0800307e (_main2)
| : 0x08002de0 1cb5 push {r2, r3, r4, lr}
| : 0x08002de2 fdf7bbfe bl fcn.08000b5c
| : 0x08002de6 0020 movs r0, 0
| : 0x08002de8 fef71dfa bl fcn.08001226
| : 0x08002dec fff7e6fe bl fcn.08002bbc
| : 0x08002df0 2e4c ldr r4, [0x08002eac] ; [0x8002eac:4]=0x200010e0
| : 0x08002df2 207a ldrb r0, [r4, 8]
| : 0x08002df4 0028 cmp r0, 0
| : ,=< 0x08002df6 41d0 beq 0x8002e7c
| : | 0x08002df8 0a20 movs r0, 0xa ; 10
| : | 0x08002dfa 6072 strb r0, [r4, 9]
| : | 0x08002dfc 2070 strb r0, [r4]
| : | 0x08002dfe 2071 strb r0, [r4, 4]
| : | 0x08002e00 0120 movs r0, 1 ; 1
| : | 0x08002e02 fef710fa bl fcn.08001226
| : | 0x08002e06 0320 movs r0, 3 ; 3
| : | 0x08002e08 0190 str r0, [sp, 4]
| : | 0x08002e0a 0020 movs r0, 0
| : | 0x08002e0c 0090 str r0, [sp]
| : | 0x08002e0e 0346 mov r3, r0
| : | 0x08002e10 0222 movs r2, 2 ; 2
| : | 0x08002e12 1146 mov r1, r2
| : | 0x08002e14 fef714fa bl fcn.08001240
| : | 0x08002e18 fef7f8fb bl fcn.0800160c
| : | 0x08002e1c fef7dcf8 bl fcn.08000fd8
| : | 0x08002e20 00f050f8 bl sign.bytes.USB_Init_0
| : | 0x08002e24 0120 movs r0, 1 ; 1
| : | 0x08002e26 fef718f9 bl USB_Cable_Config
| : ,==< 0x08002e2a 07e0 b 0x8002e3c
| : || ; JMP XREF from 0x08002e40 (main)
| : .---> 0x08002e2c e068 ldr r0, [r4, 0xc]
| : :|| 0x08002e2e 0128 cmp r0, 1 ; 1
| : ,====< 0x08002e30 04db blt 0x8002e3c
| : |:|| 0x08002e32 fff7c3fe bl fcn.08002bbc
| : |:|| 0x08002e36 e068 ldr r0, [r4, 0xc]
| : |:|| 0x08002e38 401e subs r0, r0, 1
| : |:|| 0x08002e3a e060 str r0, [r4, 0xc]
| : |:|| ; JMP XREF from 0x08002e2a (main)
| : |:|| ; JMP XREF from 0x08002e30 (main)
| : `-`--> 0x08002e3c 207a ldrb r0, [r4, 8]
| : : | 0x08002e3e 0028 cmp r0, 0
| : `===< 0x08002e40 f4d1 bne 0x8002e2c
| : | 0x08002e42 8120 movs r0, 0x81 ; 129
| : | 0x08002e44 1a49 ldr r1, [0x08002eb0] ; [0x8002eb0:4]=0x20000698
| : | 0x08002e46 0870 strb r0, [r1]
| : | 0x08002e48 1a4c ldr r4, [0x08002eb4] ; [0x8002eb4:4]=0x4002601c
| : | 0x08002e4a 0121 movs r1, 1 ; 1
| : | 0x08002e4c 2046 mov r0, r4
| : | 0x08002e4e fef7eefe bl DMA_SetCurrDataCounter
| : | 0x08002e52 0121 movs r1, 1 ; 1
| : | 0x08002e54 2046 mov r0, r4
| : | 0x08002e56 fef7defe bl sign.bytes.DMA_Cmd_0
| : | 0x08002e5a 0020 movs r0, 0
| : | 0x08002e5c fef7e3f9 bl fcn.08001226
| : | 0x08002e60 6420 movs r0, 0x64 ; 'd' ; 100
| : | 0x08002e62 fef761fd bl Wait
| : | 0x08002e66 fef7bcf8 bl fcn.08000fe2
| : | 0x08002e6a 0020 movs r0, 0
| : | 0x08002e6c fef7f5f8 bl USB_Cable_Config
| : | 0x08002e70 4ff44870 mov.w r0, 0x320 ; 800
| : | 0x08002e74 fef758fd bl Wait
| : | 0x08002e78 fef7f9f8 bl fcn.0800106e
| : | ; JMP XREF from 0x08002df6 (main)
| : `-> 0x08002e7c c820 movs r0, 0xc8 ; 200
| : 0x08002e7e fef753fd bl Wait
| : 0x08002e82 00f002f8 bl fcn.08002e8a
| : 0x08002e86 0020 movs r0, 0
\ : 0x08002e88 16bd pop {r1, r2, r4, pc}
/ (fcn) fcn.08002e8a 26
| Caller: main
| fcn.08002e8a ();
| : ; CALL XREF from 0x08002e82 (main)
| : 0x08002e8a 0b48 ldr r0, [0x08002eb8] ; [0x8002eb8:4]=0x8004000
| : 0x08002e8c 0168 ldr r1, [r0]
| : 0x08002e8e 0b4a ldr r2, [0x08002ebc] ; [0x8002ebc:4]=0x2ffe0000
| : 0x08002e90 1140 ands r1, r2
| : 0x08002e92 b1f1005f cmp.w r1, 0x20000000
| : ,=< 0x08002e96 08d1 bne 0x8002eaa
| : | 0x08002e98 4168 ldr r1, [r0, 4]
| : | 0x08002e9a 094a ldr r2, [0x08002ec0] ; [0x8002ec0:4]=0x200010fc
| : | 0x08002e9c 5160 str r1, [r2, 4]
| : | 0x08002e9e 1160 str r1, [r2]
| : | 0x08002ea0 0068 ldr r0, [r0]
\ : | 0x08002ea2 80f30888 invalid
: | 0x08002ea6 0846 mov r0, r1
: | 0x08002ea8 0047 bx r0
: | ; JMP XREF from 0x08002e96 (fcn.08002e8a)
: `-> 0x08002eaa 7047 bx lr
: ; DATA XREF from 0x08002df0 (main)
: 0x08002eac .dword 0x200010e0
: ; DATA XREF from 0x08002e44 (main)
: 0x08002eb0 .dword 0x20000698
: ; DATA XREF from 0x08002e48 (main)
: 0x08002eb4 .dword 0x4002601c
: ; DATA XREF from 0x08002e8a (fcn.08002e8a)
: 0x08002eb8 .dword 0x08004000
: ; DATA XREF from 0x08002e8e (fcn.08002e8a)
: 0x08002ebc .dword 0x2ffe0000
: ; DATA XREF from 0x08002e9a (fcn.08002e8a)
: 0x08002ec0 .dword 0x200010fc
/ (fcn) sign.bytes.USB_Init_0 20
| Caller: main
| sign.bytes.USB_Init_0 ();
| : ; CALL XREF from 0x08002e20 (main)
| : 0x08002ec4 0448 ldr r0, [0x08002ed8] ; [0x8002ed8:4]=0x20001098
| : 0x08002ec6 c061 str r0, [r0, 0x1c]
| : 0x08002ec8 0221 movs r1, 2 ; 2
| : 0x08002eca 0172 strb r1, [r0, 8]
| : 0x08002ecc 0349 ldr r1, [0x08002edc] ; [0x8002edc:4]=0x20000514
| : 0x08002ece 0162 str r1, [r0, 0x20]
| : 0x08002ed0 034a ldr r2, [0x08002ee0] ; [0x8002ee0:4]=0x2000056c
| : 0x08002ed2 4262 str r2, [r0, 0x24]
| : 0x08002ed4 0868 ldr r0, [r1]
\ : 0x08002ed6 0047 bx r0
: ; DATA XREF from 0x08002ec4 (sign.bytes.USB_Init_0)
: 0x08002ed8 .dword 0x20001098
: ; DATA XREF from 0x08002ecc (sign.bytes.USB_Init_0)
: 0x08002edc .dword 0x20000514
: ; DATA XREF from 0x08002ed0 (sign.bytes.USB_Init_0)
: 0x08002ee0 .dword 0x2000056c
/ (fcn) fcn.08002ee4 4
| Caller: fcn.08002f02
| fcn.08002ee4 ();
| : ; CALL XREF from 0x08002f76 (fcn.08002f02)
\ : 0x08002ee4 dff800f0 ldr.w pc, [fcn.08002ee8] ; [0x8002ee8:4]=0x20000235 ; "5\x02"
/ (fcn) fcn.08002ee8 26
| fcn.08002ee8 ();
| : ; JMP XREF from 0x08002ee4 (fcn.08002ee4)
| : 0x08002ee8 3502 lsls r5, r6, 8
| : 0x08002eea 0020 movs r0, 0
| : 0x08002eec 10b5 push {r4, lr}
| : 0x08002eee 0446 mov r4, r0
| : 0x08002ef0 4ff42060 mov.w r0, 0xa00 ; 2560
| : 0x08002ef4 fef7c6fb bl FLASH_ClearFlag
| : 0x08002ef8 2046 mov r0, r4
| : 0x08002efa fef796fb bl fcn.0800162a
| : 0x08002efe 0020 movs r0, 0
\ : 0x08002f00 10bd pop {r4, pc}
/ (fcn) fcn.08002f02 128
| fcn.08002f02 ();
| : 0x08002f02 f0b5 push {r4, r5, r6, r7, lr}
| : 0x08002f04 a1b0 sub sp, 0x84
| : 0x08002f06 0c46 mov r4, r1
| : 0x08002f08 1e4d ldr r5, [0x08002f84] ; [0x8002f84:4]=0x20000c98
| : 0x08002f0a 2e46 mov r6, r5
| : 0x08002f0c 00a9 add r1, sp, 0
| : 0x08002f0e 14f0030f tst.w r4, 3 ; 3
| : ,=< 0x08002f12 0ad0 beq 0x8002f2a
| : | 0x08002f14 2246 mov r2, r4
| : ,==< 0x08002f16 02e0 b 0x8002f1e
| : || ; JMP XREF from 0x08002f28 (fcn.08002f02)
| : .---> 0x08002f18 ff23 movs r3, 0xff ; 255
| : :|| 0x08002f1a 5355 strb r3, [r2, r5]
| : :|| 0x08002f1c 521c adds r2, r2, 1
| : :|| ; JMP XREF from 0x08002f16 (fcn.08002f02)
| : :`--> 0x08002f1e 4ff6fc73 movw r3, 0xfffc
| : : | 0x08002f22 2340 ands r3, r4
| : : | 0x08002f24 1b1d adds r3, r3, 4
| : : | 0x08002f26 9a42 cmp r2, r3
| : `===< 0x08002f28 f6d3 blo 0x8002f18
| : | ; JMP XREF from 0x08002f12 (fcn.08002f02)
| : `-> 0x08002f2a 10f07f02 ands r2, r0, 0x7f
| : ,=< 0x08002f2e 09d0 beq 0x8002f44
| : | 0x08002f30 0246 mov r2, r0
| : | 0x08002f32 d309 lsrs r3, r2, 7
| : | 0x08002f34 db01 lsls r3, r3, 7
| : ,==< 0x08002f36 03e0 b 0x8002f40
| : || ; JMP XREF from 0x08002f42 (fcn.08002f02)
| : .---> 0x08002f38 53f8047b ldr r7, [r3], 4
| : :|| 0x08002f3c 41f8047b str r7, [r1], 4
| : :|| ; JMP XREF from 0x08002f36 (fcn.08002f02)
| : :`--> 0x08002f40 9342 cmp r3, r2
| : `===< 0x08002f42 f9d3 blo 0x8002f38
| : | ; JMP XREF from 0x08002f2e (fcn.08002f02)
| : | ; JMP XREF from 0x08002f80 (fcn.08002f02)
| : .`-> 0x08002f44 6219 adds r2, r4, r5
| : : 0x08002f46 9642 cmp r6, r2
| : :,=< 0x08002f48 06d3 blo 0x8002f58
| : :| 0x08002f4a 0020 movs r0, 0
| : :| 0x08002f4c 21b0 add sp, 0x84
| : :| 0x08002f4e f0bd pop {r4, r5, r6, r7, pc}
| : :| ; JMP XREF from 0x08002f64 (fcn.08002f02)
| : .---> 0x08002f50 56f8042b ldr r2, [r6], 4
| : ::| 0x08002f54 41f8042b str r2, [r1], 4
| : ::| ; JMP XREF from 0x08002f48 (fcn.08002f02)
| : ::| ; JMP XREF from 0x08002f6c (fcn.08002f02)
| : .--`-> 0x08002f58 20aa add r2, sp, 0x80
| : ::: 0x08002f5a 9142 cmp r1, r2
| : :::,=< 0x08002f5c 07d2 bhs 0x8002f6e
| : :::| 0x08002f5e 05eb8402 add.w r2, r5, r4, lsl 2
| : :::| 0x08002f62 9642 cmp r6, r2
| : :`===< 0x08002f64 f4d3 blo 0x8002f50
| : : :| 0x08002f66 0022 movs r2, 0
| : : :| 0x08002f68 41f8042b str r2, [r1], 4
| : `====< 0x08002f6c f4e7 b 0x8002f58
| : :| ; JMP XREF from 0x08002f5c (fcn.08002f02)
| : :`-> 0x08002f6e c709 lsrs r7, r0, 7
| : : 0x08002f70 ff01 lsls r7, r7, 7
| : : 0x08002f72 00a9 add r1, sp, 0
| : : 0x08002f74 3846 mov r0, r7
| : : 0x08002f76 fff7b5ff bl fcn.08002ee4
| : : 0x08002f7a 07f18000 add.w r0, r7, 0x80
| : : 0x08002f7e 00a9 add r1, sp, 0
\ : `==< 0x08002f80 e0e7 b 0x8002f44
: 0x08002f82 0000 movs r0, r0
: ; DATA XREF from 0x08002f08 (fcn.08002f02)
: 0x08002f84 .dword 0x20000c98
/ (fcn) fcn.08002f88 2
| fcn.08002f88 ();
\ : 0x08002f88 7047 bx lr
: 0x08002f8a 0000 movs r0, r0
/ (fcn) fcn.08002f8c 46
| fcn.08002f8c ();
| : 0x08002f8c 10b5 push {r4, lr}
| : 0x08002f8e 1e49 ldr r1, [0x08003008] ; [0x8003008:4]=0x20000698
| : 0x08002f90 4122 movs r2, 0x41 ; 'A' ; 65
| : 0x08002f92 0a70 strb r2, [r1]
| : 0x08002f94 4870 strb r0, [r1, 1]
| : ; JMP XREF from 0x08003194 (TIM7_IRQHandler + 72)
| : .-> 0x08002f96 020a lsrs r2, r0, 8
| : : 0x08002f98 8a70 strb r2, [r1, 2]
| : : 0x08002f9a 020c lsrs r2, r0, 0x10
| : : 0x08002f9c ca70 strb r2, [r1, 3]
| : : 0x08002f9e 000e lsrs r0, r0, 0x18
| : : 0x08002fa0 001f subs r0, r0, 4
| : : 0x08002fa2 0871 strb r0, [r1, 4]
| : : 0x08002fa4 194c ldr r4, [0x0800300c] ; [0x800300c:4]=0x4002601c
| : : 0x08002fa6 0521 movs r1, 5 ; 5
| : : 0x08002fa8 2046 mov r0, r4
| : : 0x08002faa fef740fe bl DMA_SetCurrDataCounter
| : : 0x08002fae 0121 movs r1, 1 ; 1
| : : 0x08002fb0 2046 mov r0, r4
| : : 0x08002fb2 fef730fe bl sign.bytes.DMA_Cmd_0
| : : 0x08002fb6 0020 movs r0, 0
\ : : 0x08002fb8 10bd pop {r4, pc}
/ (fcn) fcn.08002fba 78
| fcn.08002fba ();
| : : 0x08002fba 38b5 push {r3, r4, r5, lr}
| : : 0x08002fbc 0c46 mov r4, r1
| : : 0x08002fbe 124b ldr r3, [0x08003008] ; [0x8003008:4]=0x20000698
| : : 0x08002fc0 2121 movs r1, 0x21 ; '!' ; 33
| : : 0x08002fc2 1970 strb r1, [r3]
| : : 0x08002fc4 5c70 strb r4, [r3, 1]
| : : 0x08002fc6 210a lsrs r1, r4, 8
| : : 0x08002fc8 9970 strb r1, [r3, 2]
| : : 0x08002fca 210c lsrs r1, r4, 0x10
| : : 0x08002fcc d970 strb r1, [r3, 3]
| : : 0x08002fce 210e lsrs r1, r4, 0x18
| : : 0x08002fd0 1971 strb r1, [r3, 4]
| : : 0x08002fd2 5871 strb r0, [r3, 5]
| : : 0x08002fd4 010a lsrs r1, r0, 8
| : : 0x08002fd6 9971 strb r1, [r3, 6]
| : : 0x08002fd8 010c lsrs r1, r0, 0x10
| : : 0x08002fda d971 strb r1, [r3, 7]
| : : 0x08002fdc 000e lsrs r0, r0, 0x18
| : : 0x08002fde 001f subs r0, r0, 4
| : : 0x08002fe0 1872 strb r0, [r3, 8]
| : : 0x08002fe2 2246 mov r2, r4
| : : 0x08002fe4 0a49 ldr r1, [0x08003010] ; [0x8003010:4]=0x20000c98
| : : 0x08002fe6 03f10900 add.w r0, r3, 9
| : : 0x08002fea fef76bfe bl memcpy ; void *memcpy(void *s1, const void *s2, size_t n)
| : : 0x08002fee 074d ldr r5, [0x0800300c] ; [0x800300c:4]=0x4002601c
| : : 0x08002ff0 04f10901 add.w r1, r4, 9
| : : 0x08002ff4 89b2 uxth r1, r1
| : : 0x08002ff6 2846 mov r0, r5
| : : 0x08002ff8 fef719fe bl DMA_SetCurrDataCounter
| : : 0x08002ffc 0121 movs r1, 1 ; 1
| : : 0x08002ffe 2846 mov r0, r5
| : : 0x08003000 fef709fe bl sign.bytes.DMA_Cmd_0
| : : 0x08003004 0020 movs r0, 0
\ : : 0x08003006 32bd pop {r1, r4, r5, pc}
: : ; DATA XREF from 0x08002f8e (fcn.08002f8c)
: : ; DATA XREF from 0x08002fbe (fcn.08002fba)
: : 0x08003008 .dword 0x20000698
: : ; DATA XREF from 0x08002fa4 (fcn.08002f8c)
: : ; DATA XREF from 0x08002fee (fcn.08002fba)
: : 0x0800300c .dword 0x4002601c
: : ; DATA XREF from 0x08002fe4 (fcn.08002fba)
: : 0x08003010 .dword 0x20000c98
/ (fcn) fcn.08003014 2
| fcn.08003014 ();
\ : : 0x08003014 7047 bx lr
: : 0x08003016 0000 movs r0, r0
/ (fcn) sign.bytes.initialize_memory_regions_0 32
| Caller: _main2
| sign.bytes.initialize_memory_regions_0 ();
| : : ; CALL XREF from 0x08003074 (_main2)
| : : 0x08003018 10b5 push {r4, lr}
| : : 0x0800301a 0749 ldr r1, [0x08003038] ; [0x8003038:4]=8
| : : 0x0800301c 7944 add r1, pc
| : : 0x0800301e 1831 adds r1, 0x18
| : : 0x08003020 064c ldr r4, [0x0800303c] ; [0x800303c:4]=48
| : : 0x08003022 7c44 add r4, pc
| : : 0x08003024 1634 adds r4, 0x16
| : ,==< 0x08003026 04e0 b 0x8003032
| : |: ; JMP XREF from 0x08003034 (sign.bytes.initialize_memory_regions_0)
| : .---> 0x08003028 0a68 ldr r2, [r1]
| : :|: 0x0800302a 081d adds r0, r1, 4
| : :|: 0x0800302c 5118 adds r1, r2, r1
| : :|: 0x0800302e 8847 blx r1
| : :|: 0x08003030 0146 mov r1, r0
| : :|: ; JMP XREF from 0x08003026 (sign.bytes.initialize_memory_regions_0)
| : :`--> 0x08003032 a142 cmp r1, r4
| : `===< 0x08003034 f8d1 bne 0x8003028
\ : : 0x08003036 10bd pop {r4, pc}
: : ; DATA XREF from 0x0800301a (sign.bytes.initialize_memory_regions_0)
: : 0x08003038 .dword 0x00000008
: : ; DATA XREF from 0x08003020 (sign.bytes.initialize_memory_regions_0)
: : 0x0800303c .dword 0x00000030
: : 0x08003040 .dword 0xffffd943
: : 0x08003044 .dword 0x00000a90
: : 0x08003048 .dword 0x20000698
: : 0x0800304c .dword 0x00000000
: : 0x08003050 .dword 0xfffff5c7
: : 0x08003054 .dword 0x00000002
: : 0x08003058 .dword 0x00000002
: : 0x0800305c .dword 0x000000f4
: : 0x08003060 .dword 0x000002f8
: : 0x08003064 .dword 0x20000000
: : 0x08003068 .dword 0x00000695
| : : ;-- main2:
/ (fcn) _main2 26
| Caller: _main
| _main2 ();
| : : ; CALL XREF from 0x080030b4 (_main)
| : : 0x0800306c 00f00bf8 bl return_one
| : : 0x08003070 0028 cmp r0, 0
| : ,==< 0x08003072 01d0 beq 0x8003078
| : |: 0x08003074 fff7d0ff bl sign.bytes.initialize_memory_regions_0
| : |: ; JMP XREF from 0x08003072 (_main2)
| : `--> 0x08003078 0020 movs r0, 0
| : : 0x0800307a c046 mov r8, r8
| : : 0x0800307c c046 mov r8, r8
| : : 0x0800307e fff7affe bl main
\ : : 0x08003082 00f002f8 bl exit ; void exit(int status)
/ (fcn) return_one 4
| Caller: _main2
| return_one ();
| : : ; CALL XREF from 0x0800306c (_main2)
| : : 0x08003086 0120 movs r0, 1 ; 1
\ : : 0x08003088 7047 bx lr
/ (fcn) exit 14
| Caller: _main2
| exit ();
| : : ; CALL XREF from 0x08003082 (_main2)
| : ,==< 0x0800308a 00f001b8 b.w 0x8003090
: |: 0x0800308e 0000 movs r0, r0
| : |: ; JMP XREF from 0x0800308a (exit)
| : `--> 0x08003090 0746 mov r7, r0
| : : ; JMP XREF from 0x08003098 (exit)
| : .--> 0x08003092 3846 mov r0, r7
| : :: 0x08003094 fff774fb bl sign.bytes.bkpt_loop_0
\ : `==< 0x08003098 fbe7 b 0x8003092
: : 0x0800309a 0000 movs r0, r0
: : 0x0800309c 0148 ldr r0, [0x080030a4] ; [0x80030a4:4]=0x8002cd5
: : 0x0800309e 8047 blx r0
: : 0x080030a0 0148 ldr r0, [0x080030a8] ; [0x80030a8:4]=0x80030ad
: : 0x080030a2 0047 bx r0
: : ; DATA XREF from 0x0800309c (exit + 18)
: : 0x080030a4 .dword 0x08002cd5 ; SystemInit
: : ; DATA XREF from 0x080030a0 (exit + 22)
: : 0x080030a8 .dword 0x080030ad ; main
| : : ;-- main:
/ (fcn) _main 12
| _main ();
| : : 0x080030ac c046 mov r8, r8
| : : 0x080030ae c046 mov r8, r8
| : : 0x080030b0 c046 mov r8, r8
| : : 0x080030b2 c046 mov r8, r8
\ : : 0x080030b4 fff7daff bl _main2
/ (fcn) WWDG_IRQHandler 4
| WWDG_IRQHandler ();
| : |: ; JMP XREF from 0x080030b8 (WWDG_IRQHandler)
\ : `=-> 0x080030b8 fff7febf b.w WWDG_IRQHandler
/ (fcn) PVD_IRQHandler 4
| PVD_IRQHandler ();
| : |: ; JMP XREF from 0x080030bc (PVD_IRQHandler)
\ : `=-> 0x080030bc fff7febf b.w PVD_IRQHandler
/ (fcn) TAMPER_STAMP_IRQHandler 4
| TAMPER_STAMP_IRQHandler ();
| : |: ; JMP XREF from 0x080030c0 (TAMPER_STAMP_IRQHandler)
\ : `=-> 0x080030c0 fff7febf b.w TAMPER_STAMP_IRQHandler
/ (fcn) RTC_WKUP_IRQHandler 4
| RTC_WKUP_IRQHandler ();
| : |: ; JMP XREF from 0x080030c4 (RTC_WKUP_IRQHandler)
\ : `=-> 0x080030c4 fff7febf b.w RTC_WKUP_IRQHandler
/ (fcn) FLASH_IRQHandler 4
| FLASH_IRQHandler ();
| : |: ; JMP XREF from 0x080030c8 (FLASH_IRQHandler)
\ : `=-> 0x080030c8 fff7febf b.w FLASH_IRQHandler
/ (fcn) RCC_IRQHandler 4
| RCC_IRQHandler ();
| : |: ; JMP XREF from 0x080030cc (RCC_IRQHandler)
\ : `=-> 0x080030cc fff7febf b.w RCC_IRQHandler
/ (fcn) EXTI1_IRQHandler 4
| EXTI1_IRQHandler ();
| : |: ; JMP XREF from 0x080030d0 (EXTI1_IRQHandler)
\ : `=-> 0x080030d0 fff7febf b.w EXTI1_IRQHandler
/ (fcn) EXTI2_IRQHandler 4
| EXTI2_IRQHandler ();
| : |: ; JMP XREF from 0x080030d4 (EXTI2_IRQHandler)
\ : `=-> 0x080030d4 fff7febf b.w EXTI2_IRQHandler
/ (fcn) EXTI3_IRQHandler 4
| EXTI3_IRQHandler ();
| : |: ; JMP XREF from 0x080030d8 (EXTI3_IRQHandler)
\ : `=-> 0x080030d8 fff7febf b.w EXTI3_IRQHandler
/ (fcn) EXTI4_IRQHandler 4
| EXTI4_IRQHandler ();
| : |: ; JMP XREF from 0x080030dc (EXTI4_IRQHandler)
\ : `=-> 0x080030dc fff7febf b.w EXTI4_IRQHandler
/ (fcn) DMA1_Channel1_IRQHandler 4
| DMA1_Channel1_IRQHandler ();
| : |: ; JMP XREF from 0x080030e0 (DMA1_Channel1_IRQHandler)
\ : `=-> 0x080030e0 fff7febf b.w DMA1_Channel1_IRQHandler
/ (fcn) DMA1_Channel3_IRQHandler 4
| DMA1_Channel3_IRQHandler ();
| : |: ; JMP XREF from 0x080030e4 (DMA1_Channel3_IRQHandler)
\ : `=-> 0x080030e4 fff7febf b.w DMA1_Channel3_IRQHandler
/ (fcn) DMA1_Channel4_IRQHandler 4
| DMA1_Channel4_IRQHandler ();
| : |: ; JMP XREF from 0x080030e8 (DMA1_Channel4_IRQHandler)
\ : `=-> 0x080030e8 fff7febf b.w DMA1_Channel4_IRQHandler
/ (fcn) DMA1_Channel5_IRQHandler 4
| DMA1_Channel5_IRQHandler ();
| : |: ; JMP XREF from 0x080030ec (DMA1_Channel5_IRQHandler)
\ : `=-> 0x080030ec fff7febf b.w DMA1_Channel5_IRQHandler
/ (fcn) DMA1_Channel6_IRQHandler 4
| DMA1_Channel6_IRQHandler ();
| : |: ; JMP XREF from 0x080030f0 (DMA1_Channel6_IRQHandler)
\ : `=-> 0x080030f0 fff7febf b.w DMA1_Channel6_IRQHandler
/ (fcn) DMA1_Channel7_IRQHandler 4
| DMA1_Channel7_IRQHandler ();
| : |: ; JMP XREF from 0x080030f4 (DMA1_Channel7_IRQHandler)
\ : `=-> 0x080030f4 fff7febf b.w DMA1_Channel7_IRQHandler
/ (fcn) ADC1_IRQHandler 4
| ADC1_IRQHandler ();
| : |: ; JMP XREF from 0x080030f8 (ADC1_IRQHandler)
\ : `=-> 0x080030f8 fff7febf b.w ADC1_IRQHandler
/ (fcn) USB_HP_IRQHandler 4
| USB_HP_IRQHandler ();
| : |: ; JMP XREF from 0x080030fc (USB_HP_IRQHandler)
\ : `=-> 0x080030fc fff7febf b.w USB_HP_IRQHandler
/ (fcn) DAC_IRQHandler 4
| DAC_IRQHandler ();
| : |: ; JMP XREF from 0x08003100 (DAC_IRQHandler)
\ : `=-> 0x08003100 fff7febf b.w DAC_IRQHandler
/ (fcn) COMP_IRQHandler 4
| COMP_IRQHandler ();
| : |: ; JMP XREF from 0x08003104 (COMP_IRQHandler)
\ : `=-> 0x08003104 fff7febf b.w COMP_IRQHandler
/ (fcn) LCD_IRQHandler 4
| LCD_IRQHandler ();
| : |: ; JMP XREF from 0x08003108 (LCD_IRQHandler)
\ : `=-> 0x08003108 fff7febf b.w LCD_IRQHandler
/ (fcn) TIM9_IRQHandler 4
| TIM9_IRQHandler ();
| : |: ; JMP XREF from 0x0800310c (TIM9_IRQHandler)
\ : `=-> 0x0800310c fff7febf b.w TIM9_IRQHandler
/ (fcn) TIM10_IRQHandler 4
| TIM10_IRQHandler ();
| : |: ; JMP XREF from 0x08003110 (TIM10_IRQHandler)
\ : `=-> 0x08003110 fff7febf b.w TIM10_IRQHandler
/ (fcn) TIM11_IRQHandler 4
| TIM11_IRQHandler ();
| : |: ; JMP XREF from 0x08003114 (TIM11_IRQHandler)
\ : `=-> 0x08003114 fff7febf b.w TIM11_IRQHandler
/ (fcn) TIM2_IRQHandler 4
| TIM2_IRQHandler ();
| : |: ; JMP XREF from 0x08003118 (TIM2_IRQHandler)
\ : `=-> 0x08003118 fff7febf b.w TIM2_IRQHandler
/ (fcn) TIM3_IRQHandler 4
| TIM3_IRQHandler ();
| : |: ; JMP XREF from 0x0800311c (TIM3_IRQHandler)
\ : `=-> 0x0800311c fff7febf b.w TIM3_IRQHandler
/ (fcn) TIM4_IRQHandler 4
| TIM4_IRQHandler ();
| : |: ; JMP XREF from 0x08003120 (TIM4_IRQHandler)
\ : `=-> 0x08003120 fff7febf b.w TIM4_IRQHandler
/ (fcn) I2C1_EV_IRQHandler 4
| I2C1_EV_IRQHandler ();
| : |: ; JMP XREF from 0x08003124 (I2C1_EV_IRQHandler)
\ : `=-> 0x08003124 fff7febf b.w I2C1_EV_IRQHandler
/ (fcn) I2C1_ER_IRQHandler 4
| I2C1_ER_IRQHandler ();
| : |: ; JMP XREF from 0x08003128 (I2C1_ER_IRQHandler)
\ : `=-> 0x08003128 fff7febf b.w I2C1_ER_IRQHandler
/ (fcn) I2C2_EV_IRQHandler 4
| I2C2_EV_IRQHandler ();
| : |: ; JMP XREF from 0x0800312c (I2C2_EV_IRQHandler)
\ : `=-> 0x0800312c fff7febf b.w I2C2_EV_IRQHandler
/ (fcn) I2C2_ER_IRQHandler 4
| I2C2_ER_IRQHandler ();
| : |: ; JMP XREF from 0x08003130 (I2C2_ER_IRQHandler)
\ : `=-> 0x08003130 fff7febf b.w I2C2_ER_IRQHandler
/ (fcn) SPI1_IRQHandler 4
| SPI1_IRQHandler ();
| : |: ; JMP XREF from 0x08003134 (SPI1_IRQHandler)
\ : `=-> 0x08003134 fff7febf b.w SPI1_IRQHandler
/ (fcn) SPI2_IRQHandler 4
| SPI2_IRQHandler ();
| : |: ; JMP XREF from 0x08003138 (SPI2_IRQHandler)
\ : `=-> 0x08003138 fff7febf b.w SPI2_IRQHandler
/ (fcn) USART1_IRQHandler 4
| USART1_IRQHandler ();
| : |: ; JMP XREF from 0x0800313c (USART1_IRQHandler)
\ : `=-> 0x0800313c fff7febf b.w USART1_IRQHandler
/ (fcn) USART2_IRQHandler 4
| USART2_IRQHandler ();
| : |: ; JMP XREF from 0x08003140 (USART2_IRQHandler)
\ : `=-> 0x08003140 fff7febf b.w USART2_IRQHandler
/ (fcn) RTC_Alarm_IRQHandler 4
| RTC_Alarm_IRQHandler ();
| : |: ; JMP XREF from 0x08003144 (RTC_Alarm_IRQHandler)
\ : `=-> 0x08003144 fff7febf b.w RTC_Alarm_IRQHandler
/ (fcn) TIM6_IRQHandler 4
| TIM6_IRQHandler ();
| : |: ; JMP XREF from 0x08003148 (TIM6_IRQHandler)
\ : `=-> 0x08003148 fff7febf b.w TIM6_IRQHandler
/ (fcn) TIM7_IRQHandler 4
| TIM7_IRQHandler ();
| : |: ; JMP XREF from 0x0800314c (TIM7_IRQHandler)
\ : `=-> 0x0800314c fff7febf b.w TIM7_IRQHandler
: : 0x08003150 103d subs r5, 0x10
: : 0x08003152 291e subs r1, r5, 0
: : 0x08003154 1f20 movs r0, 0x1f ; 31
: : 0x08003156 2122 movs r2, 0x21 ; '!' ; 33
: : 0x08003158 2324 movs r4, 0x23 ; '#' ; 35
: : 0x0800315a 2526 movs r6, 0x25 ; '%' ; 37
: : 0x0800315c 272d cmp r5, 0x27 ; ''' ; 39
: : 0x0800315e 2e2a cmp r2, 0x2e ; '.' ; 46
: : 0x08003160 2b14 asrs r3, r5, 0x10
: : 0x08003162 1a08 lsrs r2, r3, 0x20
: : 0x08003164 1517 asrs r5, r2, 0x1c
: : 0x08003166 1c18 adds r4, r3, r0
: : 0x08003168 0c12 asrs r4, r1, 8
: : 0x0800316a 132f cmp r7, 0x13 ; 19
: : 0x0800316c 3031 adds r1, 0x30
: : 0x0800316e 3904 lsls r1, r7, 0x10
: : 0x08003170 1607 lsls r6, r2, 0x1c
: : 0x08003172 090a lsrs r1, r1, 8
: : 0x08003174 0b0d lsrs r3, r1, 0x14
: : 0x08003176 0e0f lsrs r6, r1, 0x1c
: : 0x08003178 3334 adds r4, 0x33
: : 0x0800317a 0028 cmp r0, 0
: : 0x0800317c e11d adds r1, r4, 7
: : 0x0800317e 1b06 lsls r3, r3, 0x18
: : 0x08003180 1905 lsls r1, r3, 0x14
: : 0x08003182 1110 asrs r1, r2, 0x20
: : 0x08003184 3637 adds r7, 0x36
: : 0x08003186 3800 movs r0, r7
`=======< 0x08003188 00e5 b 0x8002b8c ; USB_Istr+0x110
,==< 0x0800318a e0e3 b 0x800394e
|: 0x0800318c e200 lsls r2, r4, 3
|: 0x0800318e 002c cmp r4, 0
|: 0x08003190 0001 lsls r0, r0, 4
|: 0x08003192 f003 lsls r0, r6, 0xf
|`=< 0x08003194 ffe6 b 0x8002f96 ; fcn.08002f8c+0xa
| 0x08003196 fe76 strb r6, [r7, 0x1b]
| 0x08003198 e400 lsls r4, r4, 3
| 0x0800319a 01f5cc11 add.w r1, r1, 0x198000
| 0x0800319e 102b cmp r3, 0x10 ; 16
| 0x080031a0 2de9f041 push.w {r4, r5, r6, r7, r8, lr}
| 0x080031a4 0446 mov r4, r0
| 0x080031a6 0d46 mov r5, r1
| 0x080031a8 0026 movs r6, 0
| 0x080031aa 264f ldr r7, [0x08003244] ; [0x8003244:4]=0x7c8d2004
| 0x080031ac 3868 ldr r0, [r7]
| 0x080031ae 40f00100 orr r0, r0, 1
| 0x080031b2 3860 str r0, [r7]
| 0x080031b4 4ff40040 mov.w r0, 0x8000
| 0x080031b8 00f048f8 bl fcn.0800324c
| 0x080031bc 0428 cmp r0, 4 ; 4
|,=< 0x080031be 25d1 bne 0x800320c ; fcn.0800320a+0x2
|| 0x080031c0 dff87c80 ldr.w r8, [0x08003240] ; [0x8003240:4]=0x4604b082
|| 0x080031c4 d8f80000 ldr.w r0, [r8]
|| 0x080031c8 40f48060 orr r0, r0, 0x400
|| 0x080031cc c808 lsrs r0, r1, 3
|| 0x080031ce 310c lsrs r1, r6, 0x10
|| 0x080031d0 2001 lsls r0, r4, 4
|| 0x080031d2 f008 lsrs r0, r6, 3
|| 0x080031d4 000c lsrs r0, r0, 0x10
|| 0x080031d6 400e lsrs r0, r0, 0x19
,===< 0x080031d8 04e0 b 0x80031e4
||| ; JMP XREF from 0x080031e6 (TIM7_IRQHandler + 154)
.----> 0x080031da 55f8040b ldr r0, [r5], 4
:||| 0x080031de 44f82600 str.w r0, [r4, r6, lsl 2]
:||| 0x080031e2 761c adds r6, r6, 1
:||| ; JMP XREF from 0x080031d8 (TIM7_IRQHandler + 140)
:`---> 0x080031e4 202e cmp r6, 0x20 ; 32
`====< 0x080031e6 f8d3 blo 0x80031da
|| 0x080031e8 3813 asrs r0, r7, 0xc
|| 0x080031ea 2cf82410 strh.w r1, [ip, r4, lsl 2]
|| 0x080031ee 0310 asrs r3, r0, 0x20
|| 0x080031f0 21f00801 bic r1, r1, 8
|| 0x080031f4 2432 adds r2, 0x24
|| 0x080031f6 100c lsrs r0, r2, 0x10
|| 0x080031f8 2001 lsls r0, r4, 4
|| 0x080031fa f480 strh r4, [r6, 6]
|| 0x080031fc 610c lsrs r1, r4, 0x11
|| 0x080031fe 1018 adds r0, r2, r0
|| 0x08003200 3968 ldr r1, [r7]
|| 0x08003202 4908 lsrs r1, r1, 1
|| 0x08003204 4900 lsls r1, r1, 1
|| 0x08003206 3960 str r1, [r7]
|| 0x08003208 ~ bde8f081 pop.w {r4, r5, r6, r7, r8, pc}
/ (fcn) fcn.0800320a 46
| fcn.0800320a ();
| || ; CALL XREF from 0x0800324a (loc.0800324a)
| || 0x0800320a f081 strh r0, [r6, 0xe]
| || ; JMP XREF from 0x080031be (TIM7_IRQHandler + 114)
| |`-> 0x0800320c 0420 movs r0, 4 ; 4
| | 0x0800320e 0b49 ldr r1, [0x0800323c] ; [0x800323c:4]=0xb5100710
| | 0x08003210 0a68 ldr r2, [r1]
| | 0x08003212 d207 lsls r2, r2, 0x1f
| |,=< 0x08003214 01d5 bpl 0x800321a
| || 0x08003216 0120 movs r0, 1 ; 1
| || 0x08003218 7047 bx lr
| || ; JMP XREF from 0x08003214 (fcn.0800320a)
| |`-> 0x0800321a 0a10 asrs r2, r1, 0x20
| | 0x0800321c 0205 lsls r2, r0, 0x14
| |,=< 0x0800321e 01d5 bpl 0x8003224
| || 0x08003220 020a lsrs r2, r0, 8
| || 0x08003222 1007 lsls r0, r2, 0x1c
| || ; JMP XREF from 0x0800321e (fcn.0800320a)
| |`-> 0x08003224 0968 ldr r1, [r1]
| | 0x08003226 11f4f05f tst.w r1, 0x1e00
| |,=< 0x0800322a 00d0 beq 0x800322e
| || 0x0800322c 030c lsrs r3, r0, 0x10
| || ; JMP XREF from 0x0800322a (fcn.0800320a)
| |`-> 0x0800322e 257d ldrb r5, [r4, 0x14]
| | 0x08003230 1007 lsls r0, r2, 0x1c
| | 0x08003232 043c subs r4, 4
| | 0x08003234 0240 ands r2, r0
\ |,=< 0x08003236 08e0 b loc.0800324a
,===< 0x08003238 00e0 b 0x800323c
||| 0x0800323a 1808 lsrs r0, r3, 0x20
||| ; JMP XREF from 0x08003238 (fcn.0800320a + 46)
||| ; DATA XREF from 0x0800320e (fcn.0800320a)
`---> 0x0800323c 1007 lsls r0, r2, 0x1c
|| 0x0800323e 10b5 push {r4, lr}
|| ; DATA XREF from 0x080031c0 (TIM7_IRQHandler + 116)
|| 0x08003240 82b0 sub sp, 8
|| 0x08003242 0446 mov r4, r0
|| ; DATA XREF from 0x080031aa (TIM7_IRQHandler + 94)
|| 0x08003244 0420 movs r0, 4 ; 4
|| ; JMP XREF from 0x08003254 (fcn.0800324c + 8)
.---> 0x08003246 8d7c ldrb r5, [r1, 0x12]
:|| 0x08003248 2002 lsls r0, r4, 8
|- loc.0800324a 2
| loc.0800324a ();
| :|| ; JMP XREF from 0x08003236 (fcn.0800320a)
| :|`-> 0x0800324a ~ fff7deff bl fcn.0800320a
/ (fcn) fcn.0800324c 2
| Caller: TIM7_IRQHandler
| fcn.0800324c ();
| :| ; CALL XREF from 0x080031b8 (TIM7_IRQHandler + 108)
\ :| 0x0800324c deff0830 invalid
:| 0x08003250 0304 lsls r3, r0, 0x10
:| 0x08003252 e0fff7d9 invalid
| 0x08003256 0a10 asrs r2, r1, 0x20
| 0x08003258 0164 str r1, [r0, 0x40]
| 0x0800325a 1e9d ldr r5, [sp, 0x78]
| 0x0800325c 0610 asrs r6, r0, 0x20
| 0x0800325e 0501 lsls r5, r0, 4
| 0x08003260 2801 lsls r0, r5, 4
| 0x08003262 d100 lsls r1, r2, 3
| 0x08003264 2cf40430 bic r0, ip, 0x21000
| 0x08003268 0102 lsls r1, r0, 8
| 0x0800326a d105 lsls r1, r2, 0x17
| 0x0800326c 2a21 movs r1, 0x2a ; '*' ; 42
| 0x0800326e 1634 adds r4, 0x16
| 0x08003270 0516 asrs r5, r0, 0x18
| 0x08003272 bd00 lsls r5, r7, 2
| 0x08003274 0002 lsls r0, r0, 8
| 0x08003276 4020 movs r0, 0x40 ; '@' ; 64
| 0x08003278 cf50 str r7, [r1, r3]
| 0x0800327a 0102 lsls r1, r0, 8
| 0x0800327c 4040 eors r0, r0
| 0x0800327e 0832 adds r2, 8
| 0x08003280 8061 str r0, [r0, 0x18]
| 0x08003282 5001 lsls r0, r2, 5
| 0x08003284 0240 ands r2, r0
| 0x08003286 0108 lsrs r1, r0, 0x20
| 0x08003288 5202 lsls r2, r2, 9
| 0x0800328a 0853 strh r0, [r1, r4]
| 0x0800328c 0010 asrs r0, r0, 0x20
| 0x0800328e 0852 strh r0, [r1, r0]
| 0x08003290 2008 lsrs r0, r4, 0x20
| 0x08003292 3131 adds r1, 0x31
| 0x08003294 1108 lsrs r1, r2, 0x20
| 0x08003296 5201 lsls r2, r2, 5
| 0x08003298 0852 strh r0, [r1, r0]
| 0x0800329a 0208 lsrs r2, r0, 0x20
| 0x0800329c 4280 strh r2, [r0, 2]
| 0x0800329e 2052 strh r0, [r4, r0]
| 0x080032a0 0838 subs r0, 8
| 0x080032a2 5210 asrs r2, r2, 1
| 0x080032a4 0821 movs r1, 8 ; 8
| 0x080032a6 3710 asrs r7, r6, 0x20
| 0x080032a8 0b60 str r3, [r1]
| 0x080032aa 0340 ands r3, r0
| 0x080032ac 0049 ldr r1, [0x080032b0] ; [0x80032b0:4]=0x65007400
| 0x080032ae 006e ldr r0, [r0, 0x60]
| ; DATA XREF from 0x080032ac (fcn.0800324c + 96)
| 0x080032b0 0074 strb r0, [r0, 0x10]
| 0x080032b2 0065 str r0, [r0, 0x50]
| 0x080032b4 0072 strb r0, [r0, 8]
| 0x080032b6 0810 asrs r0, r1, 0x20
| 0x080032b8 0161 str r1, [r0, 0x10]
| 0x080032ba 006c ldr r0, [r0, 0x40]
| 0x080032bc 4f12 asrs r7, r1, 9
| 0x080032be 4606 lsls r6, r0, 0x19
| 0x080032c0 1003 lsls r0, r2, 0xc
| 0x080032c2 6100 lsls r1, r4, 1
| 0x080032c4 7300 lsls r3, r6, 1
| 0x080032c6 680c lsrs r0, r5, 0x11
| 0x080032c8 1005 lsls r0, r2, 0x14
| 0x080032ca 2000 movs r0, r4
| 0x080032cc 2f00 movs r7, r5
| 0x080032ce 3000 movs r0, r6
| 0x080032d0 7804 lsls r0, r7, 0x11
| 0x080032d2 1238 subs r0, 0x12
| 0x080032d4 0481 strh r4, [r0, 8]
| 0x080032d6 0210 asrs r2, r0, 0x20
| 0x080032d8 092f cmp r7, 9 ; 9
| 0x080032da 0036 adds r6, 0
| 0x080032dc 0034 adds r4, 0
| 0x080032de 002a cmp r2, 0
| 0x080032e0 0032 adds r2, 0
| 0x080032e2 0035 adds r5, 0
| 0x080032e4 0a12 asrs r2, r1, 8
| 0x080032e6 2030 adds r0, 0x20
| 0x080032e8 9005 lsls r0, r2, 0x16
| 0x080032ea 2c00 movs r4, r5
| 0x080032ec 3100 movs r1, r6
| 0x080032ee 3900 movs r1, r7
| 0x080032f0 3214 asrs r2, r6, 0x10
| 0x080032f2 f21c adds r2, r6, 3
| 0x080032f4 6760 str r7, [r4, 4]
| 0x080032f6 f226 movs r6, 0xf2 ; 242
| 0x080032f8 6360 str r3, [r4, 4]
| 0x080032fa 1242 tst r2, r2
| 0x080032fc 4e12 asrs r6, r1, 9
| 0x080032fe 7560 str r5, [r6, 4]
| 0x08003300 1001 lsls r0, r2, 4
| 0x08003302 7400 lsls r4, r6, 1
| 0x08003304 6f02 lsls r7, r5, 9
| 0x08003306 1274 strb r2, [r2, 0x10]
| 0x08003308 56f10360 adcs r0, r6, 0x8300000
| 0x0800330c f200 lsls r2, r6, 3
| 0x0800330e 3160 str r1, [r6]
| 0x08003310 f212 asrs r2, r6, 0xb
| 0x08003312 3160 str r1, [r6]
| 0x08003314 1403 lsls r4, r2, 0xc
| 0x08003316 8c06 lsls r4, r1, 0x1a
| 0x08003318 0020 movs r0, 0
| 0x0800331a 0428 cmp r0, 4 ; 4
| 0x0800331c 1258 ldr r2, [r2, r0]
| 0x0800331e 0812 asrs r0, r1, 8
| 0x08003320 0c08 lsrs r4, r1, 0x20
| 0x08003322 1244 add r2, r2
| 0x08003324 0812 asrs r0, r1, 8
| 0x08003326 1408 lsrs r4, r2, 0x20
| 0x08003328 1003 lsls r0, r2, 0xc
| 0x0800332a ac05 lsls r4, r5, 0x16
| 0x0800332c 0020 movs r0, 0
| 0x0800332e 1a08 lsrs r2, r3, 0x20
| 0x08003330 1003 lsls r0, r2, 0xc
| 0x08003332 8c03 lsls r4, r1, 0xe
| 0x08003334 0020 movs r0, 0
| 0x08003336 6008 lsrs r0, r4, 1
| 0x08003338 52ec0843 mrrc p3, 0, r4, r2, c8
| 0x0800333c 4c04 lsls r4, r1, 0x11
| 0x0800333e 0820 movs r0, 8 ; 8
| 0x08003340 0809 lsrs r0, r1, 4
| 0x08003342 022d cmp r5, 2 ; 2
| 0x08003344 0001 lsls r0, r0, 4
| 0x08003346 0100 movs r1, r0
| 0x08003348 c032 adds r2, 0xc0
| 0x0800334a 093e subs r6, 9
| 0x0800334c 1002 lsls r0, r2, 8
| 0x0800334e fe01 lsls r6, r7, 7
| 0x08003350 0204 lsls r2, r0, 0x10
| 0x08003352 0922 movs r2, 9 ; 9
| 0x08003354 0109 lsrs r1, r0, 4
| 0x08003356 1205 lsls r2, r2, 0x14
| 0x08003358 0922 movs r2, 9 ; 9
| 0x0800335a 0209 lsrs r2, r0, 4
| 0x0800335c 1403 lsls r4, r2, 0xc
| 0x0800335e 0609 lsrs r6, r0, 4
| 0x08003360 210b lsrs r1, r4, 0xc
| 0x08003362 ff89 ldrh r7, [r7, 0xe]
| 0x08003364 261a subs r6, r4, r0
| 0x08003366 af10 asrs r7, r5, 2
| 0x08003368 03c5 stm r5!, {r0, r1}
| 0x0800336a 1d00 movs r5, r3
| 0x0800336c 08e90410 stmdb r8, {r2, ip}
| 0x08003370 039b ldr r3, [sp, 0xc]
| 0x08003372 1e00 movs r6, r3
| 0x08003374 089d ldr r5, [sp, 0x20]
| 0x08003376 0410 asrs r4, r0, 0x20
| 0x08003378 0351 str r3, [r0, r4]
| 0x0800337a 1f00 movs r7, r3
| 0x0800337c 08c7 stm r7!, {r3}
| 0x0800337e 0410 asrs r4, r0, 0x20
| 0x08003380 03c3 stm r3!, {r0, r1}
| 0x08003382 2000 movs r0, r4
| 0x08003384 089f ldr r7, [sp, 0x20]
| 0x08003386 0412 asrs r4, r0, 8
| 0x08003388 a504 lsls r5, r4, 0x12
| 0x0800338a 12ab add r3, sp, 0x48
| 0x0800338c 0425 movs r5, 4 ; 4
| 0x0800338e bb56 ldrsb r3, [r7, r2]
| 0x08003390 40c0 stm r0!, {r6}
| 0x08003392 3002 lsls r0, r6, 8
| 0x08003394 0002 lsls r0, r0, 8
| 0x08003396 0109 lsrs r1, r0, 4
| 0x08003398 0820 movs r0, 8 ; 8
| 0x0800339a 0101 lsls r1, r0, 4
| 0x0800339c 0108 lsrs r1, r0, 0x20
| 0x0800339e 0820 movs r0, 8 ; 8
| 0x080033a0 0280 strh r2, [r0]
| 0x080033a2 0001 lsls r0, r0, 4
| 0x080033a4 0708 lsrs r7, r0, 0x20
| 0x080033a6 1111 asrs r1, r2, 4
| 0x080033a8 2606 lsls r6, r4, 0x18
| 0x080033aa f821 movs r1, 0xf8 ; 248
| 0x080033ac 5810 asrs r0, r3, 1
| 0x080033ae 0381 strh r3, [r0, 8]
| 0x080033b0 0900 movs r1, r1
| 0x080033b2 087d ldrb r0, [r1, 0x14]
|,=< 0x080033b4 50f30581 ble.w 0x80135c2
|| 0x080033b8 0904 lsls r1, r1, 0x10
|| 0x080033ba 1291 str r1, [sp, 0x48]
|| 0x080033bc 1c40 ands r4, r3
|| 0x080033be 0803 lsls r0, r1, 0xc
|| 0x080033c0 0406 lsls r4, r0, 0x18
|| 0x080033c2 080c lsrs r0, r1, 0x10
|| 0x080033c4 1018 adds r0, r2, r0
|| 0x080033c6 2030 adds r0, 0x20
|| 0x080033c8 0001 lsls r0, r0, 4
|| 0x080033ca 2002 lsls r0, r4, 8
|| 0x080033cc 0102 lsls r1, r0, 8
|| 0x080033ce 0304 lsls r3, r0, 0x10
,===< 0x080033d0 04e0 b 0x80033dc
||| 0x080033d2 0e06 lsls r6, r1, 0x18
||| 0x080033d4 0708 lsrs r7, r0, 0x20
||| 0x080033d6 091a subs r1, r1, r0
||| 0x080033d8 0353 strh r3, [r0, r4]
||| 0x080033da 0054 strb r0, [r0, r0]
||| ; JMP XREF from 0x080033d0 (fcn.0800324c + 388)
`---> 0x080033dc 004d ldr r5, [0x080033e0] ; [0x80033e0:4]=0x1003200
|| 0x080033de 0033 adds r3, 0
|| ; DATA XREF from 0x080033dc (fcn.0800324c + 400)
|| 0x080033e0 0032 adds r2, 0
|| 0x080033e2 0001 lsls r0, r0, 4
|| 0x080033e4 f107 lsls r1, r6, 0x1f
|| 0x080033e6 54f10f04 adcs r4, r4, 0xf
|| 0x080033ea 3994 str r4, [sp, 0xe4]
|| 0x080033ec 3002 lsls r0, r6, 8
|| 0x080033ee 080b lsrs r0, r1, 0xc
|| 0x080033f0 000a lsrs r0, r0, 8
|| 0x080033f2 4629 cmp r1, 0x46 ; 'F' ; 70
|| 0x080033f4 c852 strh r0, [r1, r3]
|| 0x080033f6 0c0c lsrs r4, r1, 0x10
|| 0x080033f8 9105 lsls r1, r2, 0x16
|| 0x080033fa 1122 movs r2, 0x11 ; 17
========< 0x080033fc 16e4 b 0x8002c2c ; fcn.08002bbc+0x70
|| 0x080033fe 4c12 asrs r4, r1, 9
|| 0x08003400 2d0b lsrs r5, r5, 0xc
|| 0x08003402 3b12 asrs r3, r7, 8
,===< 0x08003404 01d2 bhs 0x800340a
||| 0x08003406 1003 lsls r0, r2, 0xc
||| 0x08003408 4083 strh r0, [r0, 0x1a]
||| ; JMP XREF from 0x08003404 (fcn.0800324c + 440)
`---> 0x0800340a 0411 asrs r4, r0, 4
|| 0x0800340c dff41302 invalid
|| 0x08003410 030e lsrs r3, r0, 0x18
|| 0x08003412 1805 lsls r0, r3, 0x14
|| 0x08003414 1403 lsls r4, r2, 0xc
|| 0x08003416 6f00 lsls r7, r5, 1
|| 0x08003418 6200 lsls r2, r4, 1
|| 0x0800341a 6952 strh r1, [r5, r1]
|| 0x0800341c 1673 strb r6, [r2, 0xc]
|| 0x0800341e a816 asrs r0, r5, 0x1a
|| 0x08003420 44f29001 movw r1, 0x4090
|| 0x08003424 5500 lsls r5, r2, 1
|| 0x08003426 0c14 asrs r4, r1, 0x10
|| 0x08003428 2158 ldr r1, [r4, r0]
|| 0x0800342a 39ff8e08 vsub.i64 d0, d25, d14
|| 0x0800342e 0003 lsls r0, r0, 0xc
|| 0x08003430 3002 lsls r0, r6, 8
|| 0x08003432 0080 strh r0, [r0]
|| 0x08003434 010f lsrs r1, r0, 0x1c
|| 0x08003436 7015 asrs r0, r6, 0x15
|| 0x08003438 9316 asrs r3, r2, 0x1a
|| 0x0800343a 30c8 ldm r0!, {r4, r5}
|| 0x0800343c 2212 asrs r2, r4, 8
|| 0x0800343e 1714 asrs r7, r2, 0x10
|| 0x08003440 0103 lsls r1, r0, 0xc
|| 0x08003442 0904 lsls r1, r1, 0x10
|| 0x08003444 a803 lsls r0, r5, 0xe
|| 0x08003446 0001 lsls r0, r0, 4
|| 0x08003448 0000 movs r0, r0
|| 0x0800344a 0000 movs r0, r0
|| 0x0800344c 0000 movs r0, r0
|| 0x0800344e 0000 movs r0, r0
|| 0x08003450 0000 movs r0, r0