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