]> git.leonardobizzoni.com Git - pioneer-stm32/commitdiff
hello world! funziona
authorFederica Di Lauro <federicadilauro1998@gmail.com>
Wed, 11 Sep 2019 13:51:31 +0000 (15:51 +0200)
committerFederica Di Lauro <federicadilauro1998@gmail.com>
Wed, 11 Sep 2019 13:51:31 +0000 (15:51 +0200)
453 files changed:
rosserial_hello_world/.cproject [moved from rosserial_test/.cproject with 62% similarity]
rosserial_hello_world/.mxproject [moved from rosserial_test/.mxproject with 97% similarity]
rosserial_hello_world/.project [moved from rosserial_test/.project with 96% similarity]
rosserial_hello_world/.settings/language.settings.xml [moved from rosserial_test/.settings/language.settings.xml with 96% similarity]
rosserial_hello_world/.settings/org.eclipse.cdt.codan.core.prefs [moved from rosserial_test/.settings/org.eclipse.cdt.codan.core.prefs with 100% similarity]
rosserial_hello_world/.settings/org.eclipse.core.runtime.prefs [moved from rosserial_test/.settings/org.eclipse.core.runtime.prefs with 100% similarity]
rosserial_hello_world/Debug/Drivers/STM32F7xx_HAL_Driver/Src/subdir.mk [moved from rosserial_test/Debug/Drivers/STM32F7xx_HAL_Driver/Src/subdir.mk with 89% similarity]
rosserial_hello_world/Debug/Src/subdir.mk [moved from rosserial_test/Debug/Src/subdir.mk with 81% similarity]
rosserial_hello_world/Debug/Startup/subdir.mk [moved from rosserial_test/Debug/Startup/subdir.mk with 87% similarity]
rosserial_hello_world/Debug/makefile [moved from rosserial_test/Debug/makefile with 92% similarity]
rosserial_hello_world/Debug/objects.list [moved from rosserial_test/Debug/objects.list with 100% similarity]
rosserial_hello_world/Debug/objects.mk [moved from rosserial_test/Debug/objects.mk with 100% similarity]
rosserial_hello_world/Debug/rosserial_test.list [new file with mode: 0644]
rosserial_hello_world/Debug/sources.mk [moved from rosserial_test/Debug/sources.mk with 100% similarity]
rosserial_hello_world/Drivers/CMSIS/Device/ST/STM32F7xx/Include/stm32f767xx.h [moved from rosserial_test/Drivers/CMSIS/Device/ST/STM32F7xx/Include/stm32f767xx.h with 100% similarity]
rosserial_hello_world/Drivers/CMSIS/Device/ST/STM32F7xx/Include/stm32f7xx.h [moved from rosserial_test/Drivers/CMSIS/Device/ST/STM32F7xx/Include/stm32f7xx.h with 100% similarity]
rosserial_hello_world/Drivers/CMSIS/Device/ST/STM32F7xx/Include/system_stm32f7xx.h [moved from rosserial_test/Drivers/CMSIS/Device/ST/STM32F7xx/Include/system_stm32f7xx.h with 100% similarity]
rosserial_hello_world/Drivers/CMSIS/Include/cmsis_armcc.h [moved from rosserial_test/Drivers/CMSIS/Include/cmsis_armcc.h with 100% similarity]
rosserial_hello_world/Drivers/CMSIS/Include/cmsis_armclang.h [moved from rosserial_test/Drivers/CMSIS/Include/cmsis_armclang.h with 100% similarity]
rosserial_hello_world/Drivers/CMSIS/Include/cmsis_compiler.h [moved from rosserial_test/Drivers/CMSIS/Include/cmsis_compiler.h with 100% similarity]
rosserial_hello_world/Drivers/CMSIS/Include/cmsis_gcc.h [moved from rosserial_test/Drivers/CMSIS/Include/cmsis_gcc.h with 100% similarity]
rosserial_hello_world/Drivers/CMSIS/Include/cmsis_iccarm.h [moved from rosserial_test/Drivers/CMSIS/Include/cmsis_iccarm.h with 100% similarity]
rosserial_hello_world/Drivers/CMSIS/Include/cmsis_version.h [moved from rosserial_test/Drivers/CMSIS/Include/cmsis_version.h with 100% similarity]
rosserial_hello_world/Drivers/CMSIS/Include/core_armv8mbl.h [moved from rosserial_test/Drivers/CMSIS/Include/core_armv8mbl.h with 100% similarity]
rosserial_hello_world/Drivers/CMSIS/Include/core_armv8mml.h [moved from rosserial_test/Drivers/CMSIS/Include/core_armv8mml.h with 100% similarity]
rosserial_hello_world/Drivers/CMSIS/Include/core_cm0.h [moved from rosserial_test/Drivers/CMSIS/Include/core_cm0.h with 100% similarity]
rosserial_hello_world/Drivers/CMSIS/Include/core_cm0plus.h [moved from rosserial_test/Drivers/CMSIS/Include/core_cm0plus.h with 100% similarity]
rosserial_hello_world/Drivers/CMSIS/Include/core_cm1.h [moved from rosserial_test/Drivers/CMSIS/Include/core_cm1.h with 100% similarity]
rosserial_hello_world/Drivers/CMSIS/Include/core_cm23.h [moved from rosserial_test/Drivers/CMSIS/Include/core_cm23.h with 100% similarity]
rosserial_hello_world/Drivers/CMSIS/Include/core_cm3.h [moved from rosserial_test/Drivers/CMSIS/Include/core_cm3.h with 100% similarity]
rosserial_hello_world/Drivers/CMSIS/Include/core_cm33.h [moved from rosserial_test/Drivers/CMSIS/Include/core_cm33.h with 100% similarity]
rosserial_hello_world/Drivers/CMSIS/Include/core_cm4.h [moved from rosserial_test/Drivers/CMSIS/Include/core_cm4.h with 100% similarity]
rosserial_hello_world/Drivers/CMSIS/Include/core_cm7.h [moved from rosserial_test/Drivers/CMSIS/Include/core_cm7.h with 100% similarity]
rosserial_hello_world/Drivers/CMSIS/Include/core_sc000.h [moved from rosserial_test/Drivers/CMSIS/Include/core_sc000.h with 100% similarity]
rosserial_hello_world/Drivers/CMSIS/Include/core_sc300.h [moved from rosserial_test/Drivers/CMSIS/Include/core_sc300.h with 100% similarity]
rosserial_hello_world/Drivers/CMSIS/Include/mpu_armv7.h [moved from rosserial_test/Drivers/CMSIS/Include/mpu_armv7.h with 100% similarity]
rosserial_hello_world/Drivers/CMSIS/Include/mpu_armv8.h [moved from rosserial_test/Drivers/CMSIS/Include/mpu_armv8.h with 100% similarity]
rosserial_hello_world/Drivers/CMSIS/Include/tz_context.h [moved from rosserial_test/Drivers/CMSIS/Include/tz_context.h with 100% similarity]
rosserial_hello_world/Drivers/STM32F7xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h [moved from rosserial_test/Drivers/STM32F7xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h with 100% similarity]
rosserial_hello_world/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal.h [moved from rosserial_test/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal.h with 100% similarity]
rosserial_hello_world/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_cortex.h [moved from rosserial_test/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_cortex.h with 100% similarity]
rosserial_hello_world/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_def.h [moved from rosserial_test/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_def.h with 100% similarity]
rosserial_hello_world/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_dma.h [moved from rosserial_test/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_dma.h with 100% similarity]
rosserial_hello_world/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_dma_ex.h [moved from rosserial_test/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_dma_ex.h with 100% similarity]
rosserial_hello_world/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_exti.h [moved from rosserial_test/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_exti.h with 100% similarity]
rosserial_hello_world/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_flash.h [moved from rosserial_test/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_flash.h with 100% similarity]
rosserial_hello_world/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_flash_ex.h [moved from rosserial_test/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_flash_ex.h with 100% similarity]
rosserial_hello_world/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_gpio.h [moved from rosserial_test/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_gpio.h with 100% similarity]
rosserial_hello_world/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_gpio_ex.h [moved from rosserial_test/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_gpio_ex.h with 100% similarity]
rosserial_hello_world/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_i2c.h [moved from rosserial_test/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_i2c.h with 100% similarity]
rosserial_hello_world/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_i2c_ex.h [moved from rosserial_test/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_i2c_ex.h with 100% similarity]
rosserial_hello_world/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_pwr.h [moved from rosserial_test/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_pwr.h with 100% similarity]
rosserial_hello_world/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_pwr_ex.h [moved from rosserial_test/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_pwr_ex.h with 100% similarity]
rosserial_hello_world/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_rcc.h [moved from rosserial_test/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_rcc.h with 100% similarity]
rosserial_hello_world/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_rcc_ex.h [moved from rosserial_test/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_rcc_ex.h with 100% similarity]
rosserial_hello_world/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_tim.h [moved from rosserial_test/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_tim.h with 100% similarity]
rosserial_hello_world/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_tim_ex.h [moved from rosserial_test/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_tim_ex.h with 100% similarity]
rosserial_hello_world/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_uart.h [moved from rosserial_test/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_uart.h with 100% similarity]
rosserial_hello_world/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_uart_ex.h [moved from rosserial_test/Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_uart_ex.h with 100% similarity]
rosserial_hello_world/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal.c [moved from rosserial_test/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal.c with 100% similarity]
rosserial_hello_world/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c [moved from rosserial_test/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c with 100% similarity]
rosserial_hello_world/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_dma.c [moved from rosserial_test/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_dma.c with 100% similarity]
rosserial_hello_world/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_dma_ex.c [moved from rosserial_test/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_dma_ex.c with 100% similarity]
rosserial_hello_world/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c [moved from rosserial_test/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c with 100% similarity]
rosserial_hello_world/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_flash.c [moved from rosserial_test/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_flash.c with 100% similarity]
rosserial_hello_world/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_flash_ex.c [moved from rosserial_test/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_flash_ex.c with 100% similarity]
rosserial_hello_world/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c [moved from rosserial_test/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c with 100% similarity]
rosserial_hello_world/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_i2c.c [moved from rosserial_test/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_i2c.c with 100% similarity]
rosserial_hello_world/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_i2c_ex.c [moved from rosserial_test/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_i2c_ex.c with 100% similarity]
rosserial_hello_world/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_pwr.c [moved from rosserial_test/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_pwr.c with 100% similarity]
rosserial_hello_world/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_pwr_ex.c [moved from rosserial_test/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_pwr_ex.c with 100% similarity]
rosserial_hello_world/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_rcc.c [moved from rosserial_test/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_rcc.c with 100% similarity]
rosserial_hello_world/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_rcc_ex.c [moved from rosserial_test/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_rcc_ex.c with 100% similarity]
rosserial_hello_world/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_tim.c [moved from rosserial_test/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_tim.c with 100% similarity]
rosserial_hello_world/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_tim_ex.c [moved from rosserial_test/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_tim_ex.c with 100% similarity]
rosserial_hello_world/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c [moved from rosserial_test/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c with 100% similarity]
rosserial_hello_world/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart_ex.c [moved from rosserial_test/Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart_ex.c with 100% similarity]
rosserial_hello_world/Inc/STM32Hardware.h [moved from rosserial_test/Inc/STM32Hardware.h with 96% similarity]
rosserial_hello_world/Inc/actionlib/TestAction.h [moved from rosserial_test/Inc/actionlib/TestAction.h with 100% similarity]
rosserial_hello_world/Inc/actionlib/TestActionFeedback.h [moved from rosserial_test/Inc/actionlib/TestActionFeedback.h with 100% similarity]
rosserial_hello_world/Inc/actionlib/TestActionGoal.h [moved from rosserial_test/Inc/actionlib/TestActionGoal.h with 100% similarity]
rosserial_hello_world/Inc/actionlib/TestActionResult.h [moved from rosserial_test/Inc/actionlib/TestActionResult.h with 100% similarity]
rosserial_hello_world/Inc/actionlib/TestFeedback.h [moved from rosserial_test/Inc/actionlib/TestFeedback.h with 100% similarity]
rosserial_hello_world/Inc/actionlib/TestGoal.h [moved from rosserial_test/Inc/actionlib/TestGoal.h with 100% similarity]
rosserial_hello_world/Inc/actionlib/TestRequestAction.h [moved from rosserial_test/Inc/actionlib/TestRequestAction.h with 100% similarity]
rosserial_hello_world/Inc/actionlib/TestRequestActionFeedback.h [moved from rosserial_test/Inc/actionlib/TestRequestActionFeedback.h with 100% similarity]
rosserial_hello_world/Inc/actionlib/TestRequestActionGoal.h [moved from rosserial_test/Inc/actionlib/TestRequestActionGoal.h with 100% similarity]
rosserial_hello_world/Inc/actionlib/TestRequestActionResult.h [moved from rosserial_test/Inc/actionlib/TestRequestActionResult.h with 100% similarity]
rosserial_hello_world/Inc/actionlib/TestRequestFeedback.h [moved from rosserial_test/Inc/actionlib/TestRequestFeedback.h with 100% similarity]
rosserial_hello_world/Inc/actionlib/TestRequestGoal.h [moved from rosserial_test/Inc/actionlib/TestRequestGoal.h with 100% similarity]
rosserial_hello_world/Inc/actionlib/TestRequestResult.h [moved from rosserial_test/Inc/actionlib/TestRequestResult.h with 100% similarity]
rosserial_hello_world/Inc/actionlib/TestResult.h [moved from rosserial_test/Inc/actionlib/TestResult.h with 100% similarity]
rosserial_hello_world/Inc/actionlib/TwoIntsAction.h [moved from rosserial_test/Inc/actionlib/TwoIntsAction.h with 100% similarity]
rosserial_hello_world/Inc/actionlib/TwoIntsActionFeedback.h [moved from rosserial_test/Inc/actionlib/TwoIntsActionFeedback.h with 100% similarity]
rosserial_hello_world/Inc/actionlib/TwoIntsActionGoal.h [moved from rosserial_test/Inc/actionlib/TwoIntsActionGoal.h with 100% similarity]
rosserial_hello_world/Inc/actionlib/TwoIntsActionResult.h [moved from rosserial_test/Inc/actionlib/TwoIntsActionResult.h with 100% similarity]
rosserial_hello_world/Inc/actionlib/TwoIntsFeedback.h [moved from rosserial_test/Inc/actionlib/TwoIntsFeedback.h with 100% similarity]
rosserial_hello_world/Inc/actionlib/TwoIntsGoal.h [moved from rosserial_test/Inc/actionlib/TwoIntsGoal.h with 100% similarity]
rosserial_hello_world/Inc/actionlib/TwoIntsResult.h [moved from rosserial_test/Inc/actionlib/TwoIntsResult.h with 100% similarity]
rosserial_hello_world/Inc/actionlib_msgs/GoalID.h [moved from rosserial_test/Inc/actionlib_msgs/GoalID.h with 100% similarity]
rosserial_hello_world/Inc/actionlib_msgs/GoalStatus.h [moved from rosserial_test/Inc/actionlib_msgs/GoalStatus.h with 100% similarity]
rosserial_hello_world/Inc/actionlib_msgs/GoalStatusArray.h [moved from rosserial_test/Inc/actionlib_msgs/GoalStatusArray.h with 100% similarity]
rosserial_hello_world/Inc/actionlib_tutorials/AveragingAction.h [moved from rosserial_test/Inc/actionlib_tutorials/AveragingAction.h with 100% similarity]
rosserial_hello_world/Inc/actionlib_tutorials/AveragingActionFeedback.h [moved from rosserial_test/Inc/actionlib_tutorials/AveragingActionFeedback.h with 100% similarity]
rosserial_hello_world/Inc/actionlib_tutorials/AveragingActionGoal.h [moved from rosserial_test/Inc/actionlib_tutorials/AveragingActionGoal.h with 100% similarity]
rosserial_hello_world/Inc/actionlib_tutorials/AveragingActionResult.h [moved from rosserial_test/Inc/actionlib_tutorials/AveragingActionResult.h with 100% similarity]
rosserial_hello_world/Inc/actionlib_tutorials/AveragingFeedback.h [moved from rosserial_test/Inc/actionlib_tutorials/AveragingFeedback.h with 100% similarity]
rosserial_hello_world/Inc/actionlib_tutorials/AveragingGoal.h [moved from rosserial_test/Inc/actionlib_tutorials/AveragingGoal.h with 100% similarity]
rosserial_hello_world/Inc/actionlib_tutorials/AveragingResult.h [moved from rosserial_test/Inc/actionlib_tutorials/AveragingResult.h with 100% similarity]
rosserial_hello_world/Inc/actionlib_tutorials/FibonacciAction.h [moved from rosserial_test/Inc/actionlib_tutorials/FibonacciAction.h with 100% similarity]
rosserial_hello_world/Inc/actionlib_tutorials/FibonacciActionFeedback.h [moved from rosserial_test/Inc/actionlib_tutorials/FibonacciActionFeedback.h with 100% similarity]
rosserial_hello_world/Inc/actionlib_tutorials/FibonacciActionGoal.h [moved from rosserial_test/Inc/actionlib_tutorials/FibonacciActionGoal.h with 100% similarity]
rosserial_hello_world/Inc/actionlib_tutorials/FibonacciActionResult.h [moved from rosserial_test/Inc/actionlib_tutorials/FibonacciActionResult.h with 100% similarity]
rosserial_hello_world/Inc/actionlib_tutorials/FibonacciFeedback.h [moved from rosserial_test/Inc/actionlib_tutorials/FibonacciFeedback.h with 100% similarity]
rosserial_hello_world/Inc/actionlib_tutorials/FibonacciGoal.h [moved from rosserial_test/Inc/actionlib_tutorials/FibonacciGoal.h with 100% similarity]
rosserial_hello_world/Inc/actionlib_tutorials/FibonacciResult.h [moved from rosserial_test/Inc/actionlib_tutorials/FibonacciResult.h with 100% similarity]
rosserial_hello_world/Inc/bond/Constants.h [moved from rosserial_test/Inc/bond/Constants.h with 100% similarity]
rosserial_hello_world/Inc/bond/Status.h [moved from rosserial_test/Inc/bond/Status.h with 100% similarity]
rosserial_hello_world/Inc/control_msgs/FollowJointTrajectoryAction.h [moved from rosserial_test/Inc/control_msgs/FollowJointTrajectoryAction.h with 100% similarity]
rosserial_hello_world/Inc/control_msgs/FollowJointTrajectoryActionFeedback.h [moved from rosserial_test/Inc/control_msgs/FollowJointTrajectoryActionFeedback.h with 100% similarity]
rosserial_hello_world/Inc/control_msgs/FollowJointTrajectoryActionGoal.h [moved from rosserial_test/Inc/control_msgs/FollowJointTrajectoryActionGoal.h with 100% similarity]
rosserial_hello_world/Inc/control_msgs/FollowJointTrajectoryActionResult.h [moved from rosserial_test/Inc/control_msgs/FollowJointTrajectoryActionResult.h with 100% similarity]
rosserial_hello_world/Inc/control_msgs/FollowJointTrajectoryFeedback.h [moved from rosserial_test/Inc/control_msgs/FollowJointTrajectoryFeedback.h with 100% similarity]
rosserial_hello_world/Inc/control_msgs/FollowJointTrajectoryGoal.h [moved from rosserial_test/Inc/control_msgs/FollowJointTrajectoryGoal.h with 100% similarity]
rosserial_hello_world/Inc/control_msgs/FollowJointTrajectoryResult.h [moved from rosserial_test/Inc/control_msgs/FollowJointTrajectoryResult.h with 100% similarity]
rosserial_hello_world/Inc/control_msgs/GripperCommand.h [moved from rosserial_test/Inc/control_msgs/GripperCommand.h with 100% similarity]
rosserial_hello_world/Inc/control_msgs/GripperCommandAction.h [moved from rosserial_test/Inc/control_msgs/GripperCommandAction.h with 100% similarity]
rosserial_hello_world/Inc/control_msgs/GripperCommandActionFeedback.h [moved from rosserial_test/Inc/control_msgs/GripperCommandActionFeedback.h with 100% similarity]
rosserial_hello_world/Inc/control_msgs/GripperCommandActionGoal.h [moved from rosserial_test/Inc/control_msgs/GripperCommandActionGoal.h with 100% similarity]
rosserial_hello_world/Inc/control_msgs/GripperCommandActionResult.h [moved from rosserial_test/Inc/control_msgs/GripperCommandActionResult.h with 100% similarity]
rosserial_hello_world/Inc/control_msgs/GripperCommandFeedback.h [moved from rosserial_test/Inc/control_msgs/GripperCommandFeedback.h with 100% similarity]
rosserial_hello_world/Inc/control_msgs/GripperCommandGoal.h [moved from rosserial_test/Inc/control_msgs/GripperCommandGoal.h with 100% similarity]
rosserial_hello_world/Inc/control_msgs/GripperCommandResult.h [moved from rosserial_test/Inc/control_msgs/GripperCommandResult.h with 100% similarity]
rosserial_hello_world/Inc/control_msgs/JointControllerState.h [moved from rosserial_test/Inc/control_msgs/JointControllerState.h with 100% similarity]
rosserial_hello_world/Inc/control_msgs/JointJog.h [moved from rosserial_test/Inc/control_msgs/JointJog.h with 100% similarity]
rosserial_hello_world/Inc/control_msgs/JointTolerance.h [moved from rosserial_test/Inc/control_msgs/JointTolerance.h with 100% similarity]
rosserial_hello_world/Inc/control_msgs/JointTrajectoryAction.h [moved from rosserial_test/Inc/control_msgs/JointTrajectoryAction.h with 100% similarity]
rosserial_hello_world/Inc/control_msgs/JointTrajectoryActionFeedback.h [moved from rosserial_test/Inc/control_msgs/JointTrajectoryActionFeedback.h with 100% similarity]
rosserial_hello_world/Inc/control_msgs/JointTrajectoryActionGoal.h [moved from rosserial_test/Inc/control_msgs/JointTrajectoryActionGoal.h with 100% similarity]
rosserial_hello_world/Inc/control_msgs/JointTrajectoryActionResult.h [moved from rosserial_test/Inc/control_msgs/JointTrajectoryActionResult.h with 100% similarity]
rosserial_hello_world/Inc/control_msgs/JointTrajectoryControllerState.h [moved from rosserial_test/Inc/control_msgs/JointTrajectoryControllerState.h with 100% similarity]
rosserial_hello_world/Inc/control_msgs/JointTrajectoryFeedback.h [moved from rosserial_test/Inc/control_msgs/JointTrajectoryFeedback.h with 100% similarity]
rosserial_hello_world/Inc/control_msgs/JointTrajectoryGoal.h [moved from rosserial_test/Inc/control_msgs/JointTrajectoryGoal.h with 100% similarity]
rosserial_hello_world/Inc/control_msgs/JointTrajectoryResult.h [moved from rosserial_test/Inc/control_msgs/JointTrajectoryResult.h with 100% similarity]
rosserial_hello_world/Inc/control_msgs/PidState.h [moved from rosserial_test/Inc/control_msgs/PidState.h with 100% similarity]
rosserial_hello_world/Inc/control_msgs/PointHeadAction.h [moved from rosserial_test/Inc/control_msgs/PointHeadAction.h with 100% similarity]
rosserial_hello_world/Inc/control_msgs/PointHeadActionFeedback.h [moved from rosserial_test/Inc/control_msgs/PointHeadActionFeedback.h with 100% similarity]
rosserial_hello_world/Inc/control_msgs/PointHeadActionGoal.h [moved from rosserial_test/Inc/control_msgs/PointHeadActionGoal.h with 100% similarity]
rosserial_hello_world/Inc/control_msgs/PointHeadActionResult.h [moved from rosserial_test/Inc/control_msgs/PointHeadActionResult.h with 100% similarity]
rosserial_hello_world/Inc/control_msgs/PointHeadFeedback.h [moved from rosserial_test/Inc/control_msgs/PointHeadFeedback.h with 100% similarity]
rosserial_hello_world/Inc/control_msgs/PointHeadGoal.h [moved from rosserial_test/Inc/control_msgs/PointHeadGoal.h with 100% similarity]
rosserial_hello_world/Inc/control_msgs/PointHeadResult.h [moved from rosserial_test/Inc/control_msgs/PointHeadResult.h with 100% similarity]
rosserial_hello_world/Inc/control_msgs/QueryCalibrationState.h [moved from rosserial_test/Inc/control_msgs/QueryCalibrationState.h with 100% similarity]
rosserial_hello_world/Inc/control_msgs/QueryTrajectoryState.h [moved from rosserial_test/Inc/control_msgs/QueryTrajectoryState.h with 100% similarity]
rosserial_hello_world/Inc/control_msgs/SingleJointPositionAction.h [moved from rosserial_test/Inc/control_msgs/SingleJointPositionAction.h with 100% similarity]
rosserial_hello_world/Inc/control_msgs/SingleJointPositionActionFeedback.h [moved from rosserial_test/Inc/control_msgs/SingleJointPositionActionFeedback.h with 100% similarity]
rosserial_hello_world/Inc/control_msgs/SingleJointPositionActionGoal.h [moved from rosserial_test/Inc/control_msgs/SingleJointPositionActionGoal.h with 100% similarity]
rosserial_hello_world/Inc/control_msgs/SingleJointPositionActionResult.h [moved from rosserial_test/Inc/control_msgs/SingleJointPositionActionResult.h with 100% similarity]
rosserial_hello_world/Inc/control_msgs/SingleJointPositionFeedback.h [moved from rosserial_test/Inc/control_msgs/SingleJointPositionFeedback.h with 100% similarity]
rosserial_hello_world/Inc/control_msgs/SingleJointPositionGoal.h [moved from rosserial_test/Inc/control_msgs/SingleJointPositionGoal.h with 100% similarity]
rosserial_hello_world/Inc/control_msgs/SingleJointPositionResult.h [moved from rosserial_test/Inc/control_msgs/SingleJointPositionResult.h with 100% similarity]
rosserial_hello_world/Inc/control_toolbox/SetPidGains.h [moved from rosserial_test/Inc/control_toolbox/SetPidGains.h with 100% similarity]
rosserial_hello_world/Inc/controller_manager_msgs/ControllerState.h [moved from rosserial_test/Inc/controller_manager_msgs/ControllerState.h with 100% similarity]
rosserial_hello_world/Inc/controller_manager_msgs/ControllerStatistics.h [moved from rosserial_test/Inc/controller_manager_msgs/ControllerStatistics.h with 100% similarity]
rosserial_hello_world/Inc/controller_manager_msgs/ControllersStatistics.h [moved from rosserial_test/Inc/controller_manager_msgs/ControllersStatistics.h with 100% similarity]
rosserial_hello_world/Inc/controller_manager_msgs/HardwareInterfaceResources.h [moved from rosserial_test/Inc/controller_manager_msgs/HardwareInterfaceResources.h with 100% similarity]
rosserial_hello_world/Inc/controller_manager_msgs/ListControllerTypes.h [moved from rosserial_test/Inc/controller_manager_msgs/ListControllerTypes.h with 100% similarity]
rosserial_hello_world/Inc/controller_manager_msgs/ListControllers.h [moved from rosserial_test/Inc/controller_manager_msgs/ListControllers.h with 100% similarity]
rosserial_hello_world/Inc/controller_manager_msgs/LoadController.h [moved from rosserial_test/Inc/controller_manager_msgs/LoadController.h with 100% similarity]
rosserial_hello_world/Inc/controller_manager_msgs/ReloadControllerLibraries.h [moved from rosserial_test/Inc/controller_manager_msgs/ReloadControllerLibraries.h with 100% similarity]
rosserial_hello_world/Inc/controller_manager_msgs/SwitchController.h [moved from rosserial_test/Inc/controller_manager_msgs/SwitchController.h with 100% similarity]
rosserial_hello_world/Inc/controller_manager_msgs/UnloadController.h [moved from rosserial_test/Inc/controller_manager_msgs/UnloadController.h with 100% similarity]
rosserial_hello_world/Inc/diagnostic_msgs/AddDiagnostics.h [moved from rosserial_test/Inc/diagnostic_msgs/AddDiagnostics.h with 100% similarity]
rosserial_hello_world/Inc/diagnostic_msgs/DiagnosticArray.h [moved from rosserial_test/Inc/diagnostic_msgs/DiagnosticArray.h with 100% similarity]
rosserial_hello_world/Inc/diagnostic_msgs/DiagnosticStatus.h [moved from rosserial_test/Inc/diagnostic_msgs/DiagnosticStatus.h with 100% similarity]
rosserial_hello_world/Inc/diagnostic_msgs/KeyValue.h [moved from rosserial_test/Inc/diagnostic_msgs/KeyValue.h with 100% similarity]
rosserial_hello_world/Inc/diagnostic_msgs/SelfTest.h [moved from rosserial_test/Inc/diagnostic_msgs/SelfTest.h with 100% similarity]
rosserial_hello_world/Inc/duration.cpp [moved from rosserial_test/Inc/duration.cpp with 100% similarity]
rosserial_hello_world/Inc/dynamic_reconfigure/BoolParameter.h [moved from rosserial_test/Inc/dynamic_reconfigure/BoolParameter.h with 100% similarity]
rosserial_hello_world/Inc/dynamic_reconfigure/Config.h [moved from rosserial_test/Inc/dynamic_reconfigure/Config.h with 100% similarity]
rosserial_hello_world/Inc/dynamic_reconfigure/ConfigDescription.h [moved from rosserial_test/Inc/dynamic_reconfigure/ConfigDescription.h with 100% similarity]
rosserial_hello_world/Inc/dynamic_reconfigure/DoubleParameter.h [moved from rosserial_test/Inc/dynamic_reconfigure/DoubleParameter.h with 100% similarity]
rosserial_hello_world/Inc/dynamic_reconfigure/Group.h [moved from rosserial_test/Inc/dynamic_reconfigure/Group.h with 100% similarity]
rosserial_hello_world/Inc/dynamic_reconfigure/GroupState.h [moved from rosserial_test/Inc/dynamic_reconfigure/GroupState.h with 100% similarity]
rosserial_hello_world/Inc/dynamic_reconfigure/IntParameter.h [moved from rosserial_test/Inc/dynamic_reconfigure/IntParameter.h with 100% similarity]
rosserial_hello_world/Inc/dynamic_reconfigure/ParamDescription.h [moved from rosserial_test/Inc/dynamic_reconfigure/ParamDescription.h with 100% similarity]
rosserial_hello_world/Inc/dynamic_reconfigure/Reconfigure.h [moved from rosserial_test/Inc/dynamic_reconfigure/Reconfigure.h with 100% similarity]
rosserial_hello_world/Inc/dynamic_reconfigure/SensorLevels.h [moved from rosserial_test/Inc/dynamic_reconfigure/SensorLevels.h with 100% similarity]
rosserial_hello_world/Inc/dynamic_reconfigure/StrParameter.h [moved from rosserial_test/Inc/dynamic_reconfigure/StrParameter.h with 100% similarity]
rosserial_hello_world/Inc/gazebo_msgs/ApplyBodyWrench.h [moved from rosserial_test/Inc/gazebo_msgs/ApplyBodyWrench.h with 100% similarity]
rosserial_hello_world/Inc/gazebo_msgs/ApplyJointEffort.h [moved from rosserial_test/Inc/gazebo_msgs/ApplyJointEffort.h with 100% similarity]
rosserial_hello_world/Inc/gazebo_msgs/BodyRequest.h [moved from rosserial_test/Inc/gazebo_msgs/BodyRequest.h with 100% similarity]
rosserial_hello_world/Inc/gazebo_msgs/ContactState.h [moved from rosserial_test/Inc/gazebo_msgs/ContactState.h with 100% similarity]
rosserial_hello_world/Inc/gazebo_msgs/ContactsState.h [moved from rosserial_test/Inc/gazebo_msgs/ContactsState.h with 100% similarity]
rosserial_hello_world/Inc/gazebo_msgs/DeleteLight.h [moved from rosserial_test/Inc/gazebo_msgs/DeleteLight.h with 100% similarity]
rosserial_hello_world/Inc/gazebo_msgs/DeleteModel.h [moved from rosserial_test/Inc/gazebo_msgs/DeleteModel.h with 100% similarity]
rosserial_hello_world/Inc/gazebo_msgs/GetJointProperties.h [moved from rosserial_test/Inc/gazebo_msgs/GetJointProperties.h with 100% similarity]
rosserial_hello_world/Inc/gazebo_msgs/GetLightProperties.h [moved from rosserial_test/Inc/gazebo_msgs/GetLightProperties.h with 100% similarity]
rosserial_hello_world/Inc/gazebo_msgs/GetLinkProperties.h [moved from rosserial_test/Inc/gazebo_msgs/GetLinkProperties.h with 100% similarity]
rosserial_hello_world/Inc/gazebo_msgs/GetLinkState.h [moved from rosserial_test/Inc/gazebo_msgs/GetLinkState.h with 100% similarity]
rosserial_hello_world/Inc/gazebo_msgs/GetModelProperties.h [moved from rosserial_test/Inc/gazebo_msgs/GetModelProperties.h with 100% similarity]
rosserial_hello_world/Inc/gazebo_msgs/GetModelState.h [moved from rosserial_test/Inc/gazebo_msgs/GetModelState.h with 100% similarity]
rosserial_hello_world/Inc/gazebo_msgs/GetPhysicsProperties.h [moved from rosserial_test/Inc/gazebo_msgs/GetPhysicsProperties.h with 100% similarity]
rosserial_hello_world/Inc/gazebo_msgs/GetWorldProperties.h [moved from rosserial_test/Inc/gazebo_msgs/GetWorldProperties.h with 100% similarity]
rosserial_hello_world/Inc/gazebo_msgs/JointRequest.h [moved from rosserial_test/Inc/gazebo_msgs/JointRequest.h with 100% similarity]
rosserial_hello_world/Inc/gazebo_msgs/LinkState.h [moved from rosserial_test/Inc/gazebo_msgs/LinkState.h with 100% similarity]
rosserial_hello_world/Inc/gazebo_msgs/LinkStates.h [moved from rosserial_test/Inc/gazebo_msgs/LinkStates.h with 100% similarity]
rosserial_hello_world/Inc/gazebo_msgs/ModelState.h [moved from rosserial_test/Inc/gazebo_msgs/ModelState.h with 100% similarity]
rosserial_hello_world/Inc/gazebo_msgs/ModelStates.h [moved from rosserial_test/Inc/gazebo_msgs/ModelStates.h with 100% similarity]
rosserial_hello_world/Inc/gazebo_msgs/ODEJointProperties.h [moved from rosserial_test/Inc/gazebo_msgs/ODEJointProperties.h with 100% similarity]
rosserial_hello_world/Inc/gazebo_msgs/ODEPhysics.h [moved from rosserial_test/Inc/gazebo_msgs/ODEPhysics.h with 100% similarity]
rosserial_hello_world/Inc/gazebo_msgs/SetJointProperties.h [moved from rosserial_test/Inc/gazebo_msgs/SetJointProperties.h with 100% similarity]
rosserial_hello_world/Inc/gazebo_msgs/SetJointTrajectory.h [moved from rosserial_test/Inc/gazebo_msgs/SetJointTrajectory.h with 100% similarity]
rosserial_hello_world/Inc/gazebo_msgs/SetLightProperties.h [moved from rosserial_test/Inc/gazebo_msgs/SetLightProperties.h with 100% similarity]
rosserial_hello_world/Inc/gazebo_msgs/SetLinkProperties.h [moved from rosserial_test/Inc/gazebo_msgs/SetLinkProperties.h with 100% similarity]
rosserial_hello_world/Inc/gazebo_msgs/SetLinkState.h [moved from rosserial_test/Inc/gazebo_msgs/SetLinkState.h with 100% similarity]
rosserial_hello_world/Inc/gazebo_msgs/SetModelConfiguration.h [moved from rosserial_test/Inc/gazebo_msgs/SetModelConfiguration.h with 100% similarity]
rosserial_hello_world/Inc/gazebo_msgs/SetModelState.h [moved from rosserial_test/Inc/gazebo_msgs/SetModelState.h with 100% similarity]
rosserial_hello_world/Inc/gazebo_msgs/SetPhysicsProperties.h [moved from rosserial_test/Inc/gazebo_msgs/SetPhysicsProperties.h with 100% similarity]
rosserial_hello_world/Inc/gazebo_msgs/SpawnModel.h [moved from rosserial_test/Inc/gazebo_msgs/SpawnModel.h with 100% similarity]
rosserial_hello_world/Inc/gazebo_msgs/WorldState.h [moved from rosserial_test/Inc/gazebo_msgs/WorldState.h with 100% similarity]
rosserial_hello_world/Inc/geometry_msgs/Accel.h [moved from rosserial_test/Inc/geometry_msgs/Accel.h with 100% similarity]
rosserial_hello_world/Inc/geometry_msgs/AccelStamped.h [moved from rosserial_test/Inc/geometry_msgs/AccelStamped.h with 100% similarity]
rosserial_hello_world/Inc/geometry_msgs/AccelWithCovariance.h [moved from rosserial_test/Inc/geometry_msgs/AccelWithCovariance.h with 100% similarity]
rosserial_hello_world/Inc/geometry_msgs/AccelWithCovarianceStamped.h [moved from rosserial_test/Inc/geometry_msgs/AccelWithCovarianceStamped.h with 100% similarity]
rosserial_hello_world/Inc/geometry_msgs/Inertia.h [moved from rosserial_test/Inc/geometry_msgs/Inertia.h with 100% similarity]
rosserial_hello_world/Inc/geometry_msgs/InertiaStamped.h [moved from rosserial_test/Inc/geometry_msgs/InertiaStamped.h with 100% similarity]
rosserial_hello_world/Inc/geometry_msgs/Point.h [moved from rosserial_test/Inc/geometry_msgs/Point.h with 100% similarity]
rosserial_hello_world/Inc/geometry_msgs/Point32.h [moved from rosserial_test/Inc/geometry_msgs/Point32.h with 100% similarity]
rosserial_hello_world/Inc/geometry_msgs/PointStamped.h [moved from rosserial_test/Inc/geometry_msgs/PointStamped.h with 100% similarity]
rosserial_hello_world/Inc/geometry_msgs/Polygon.h [moved from rosserial_test/Inc/geometry_msgs/Polygon.h with 100% similarity]
rosserial_hello_world/Inc/geometry_msgs/PolygonStamped.h [moved from rosserial_test/Inc/geometry_msgs/PolygonStamped.h with 100% similarity]
rosserial_hello_world/Inc/geometry_msgs/Pose.h [moved from rosserial_test/Inc/geometry_msgs/Pose.h with 100% similarity]
rosserial_hello_world/Inc/geometry_msgs/Pose2D.h [moved from rosserial_test/Inc/geometry_msgs/Pose2D.h with 100% similarity]
rosserial_hello_world/Inc/geometry_msgs/PoseArray.h [moved from rosserial_test/Inc/geometry_msgs/PoseArray.h with 100% similarity]
rosserial_hello_world/Inc/geometry_msgs/PoseStamped.h [moved from rosserial_test/Inc/geometry_msgs/PoseStamped.h with 100% similarity]
rosserial_hello_world/Inc/geometry_msgs/PoseWithCovariance.h [moved from rosserial_test/Inc/geometry_msgs/PoseWithCovariance.h with 100% similarity]
rosserial_hello_world/Inc/geometry_msgs/PoseWithCovarianceStamped.h [moved from rosserial_test/Inc/geometry_msgs/PoseWithCovarianceStamped.h with 100% similarity]
rosserial_hello_world/Inc/geometry_msgs/Quaternion.h [moved from rosserial_test/Inc/geometry_msgs/Quaternion.h with 100% similarity]
rosserial_hello_world/Inc/geometry_msgs/QuaternionStamped.h [moved from rosserial_test/Inc/geometry_msgs/QuaternionStamped.h with 100% similarity]
rosserial_hello_world/Inc/geometry_msgs/Transform.h [moved from rosserial_test/Inc/geometry_msgs/Transform.h with 100% similarity]
rosserial_hello_world/Inc/geometry_msgs/TransformStamped.h [moved from rosserial_test/Inc/geometry_msgs/TransformStamped.h with 100% similarity]
rosserial_hello_world/Inc/geometry_msgs/Twist.h [moved from rosserial_test/Inc/geometry_msgs/Twist.h with 100% similarity]
rosserial_hello_world/Inc/geometry_msgs/TwistStamped.h [moved from rosserial_test/Inc/geometry_msgs/TwistStamped.h with 100% similarity]
rosserial_hello_world/Inc/geometry_msgs/TwistWithCovariance.h [moved from rosserial_test/Inc/geometry_msgs/TwistWithCovariance.h with 100% similarity]
rosserial_hello_world/Inc/geometry_msgs/TwistWithCovarianceStamped.h [moved from rosserial_test/Inc/geometry_msgs/TwistWithCovarianceStamped.h with 100% similarity]
rosserial_hello_world/Inc/geometry_msgs/Vector3.h [moved from rosserial_test/Inc/geometry_msgs/Vector3.h with 100% similarity]
rosserial_hello_world/Inc/geometry_msgs/Vector3Stamped.h [moved from rosserial_test/Inc/geometry_msgs/Vector3Stamped.h with 100% similarity]
rosserial_hello_world/Inc/geometry_msgs/Wrench.h [moved from rosserial_test/Inc/geometry_msgs/Wrench.h with 100% similarity]
rosserial_hello_world/Inc/geometry_msgs/WrenchStamped.h [moved from rosserial_test/Inc/geometry_msgs/WrenchStamped.h with 100% similarity]
rosserial_hello_world/Inc/laser_assembler/AssembleScans.h [moved from rosserial_test/Inc/laser_assembler/AssembleScans.h with 100% similarity]
rosserial_hello_world/Inc/laser_assembler/AssembleScans2.h [moved from rosserial_test/Inc/laser_assembler/AssembleScans2.h with 100% similarity]
rosserial_hello_world/Inc/main.h [moved from rosserial_test/Inc/main.h with 100% similarity]
rosserial_hello_world/Inc/map_msgs/GetMapROI.h [moved from rosserial_test/Inc/map_msgs/GetMapROI.h with 100% similarity]
rosserial_hello_world/Inc/map_msgs/GetPointMap.h [moved from rosserial_test/Inc/map_msgs/GetPointMap.h with 100% similarity]
rosserial_hello_world/Inc/map_msgs/GetPointMapROI.h [moved from rosserial_test/Inc/map_msgs/GetPointMapROI.h with 100% similarity]
rosserial_hello_world/Inc/map_msgs/OccupancyGridUpdate.h [moved from rosserial_test/Inc/map_msgs/OccupancyGridUpdate.h with 100% similarity]
rosserial_hello_world/Inc/map_msgs/PointCloud2Update.h [moved from rosserial_test/Inc/map_msgs/PointCloud2Update.h with 100% similarity]
rosserial_hello_world/Inc/map_msgs/ProjectedMap.h [moved from rosserial_test/Inc/map_msgs/ProjectedMap.h with 100% similarity]
rosserial_hello_world/Inc/map_msgs/ProjectedMapInfo.h [moved from rosserial_test/Inc/map_msgs/ProjectedMapInfo.h with 100% similarity]
rosserial_hello_world/Inc/map_msgs/ProjectedMapsInfo.h [moved from rosserial_test/Inc/map_msgs/ProjectedMapsInfo.h with 100% similarity]
rosserial_hello_world/Inc/map_msgs/SaveMap.h [moved from rosserial_test/Inc/map_msgs/SaveMap.h with 100% similarity]
rosserial_hello_world/Inc/map_msgs/SetMapProjections.h [moved from rosserial_test/Inc/map_msgs/SetMapProjections.h with 100% similarity]
rosserial_hello_world/Inc/nav_msgs/GetMap.h [moved from rosserial_test/Inc/nav_msgs/GetMap.h with 100% similarity]
rosserial_hello_world/Inc/nav_msgs/GetMapAction.h [moved from rosserial_test/Inc/nav_msgs/GetMapAction.h with 100% similarity]
rosserial_hello_world/Inc/nav_msgs/GetMapActionFeedback.h [moved from rosserial_test/Inc/nav_msgs/GetMapActionFeedback.h with 100% similarity]
rosserial_hello_world/Inc/nav_msgs/GetMapActionGoal.h [moved from rosserial_test/Inc/nav_msgs/GetMapActionGoal.h with 100% similarity]
rosserial_hello_world/Inc/nav_msgs/GetMapActionResult.h [moved from rosserial_test/Inc/nav_msgs/GetMapActionResult.h with 100% similarity]
rosserial_hello_world/Inc/nav_msgs/GetMapFeedback.h [moved from rosserial_test/Inc/nav_msgs/GetMapFeedback.h with 100% similarity]
rosserial_hello_world/Inc/nav_msgs/GetMapGoal.h [moved from rosserial_test/Inc/nav_msgs/GetMapGoal.h with 100% similarity]
rosserial_hello_world/Inc/nav_msgs/GetMapResult.h [moved from rosserial_test/Inc/nav_msgs/GetMapResult.h with 100% similarity]
rosserial_hello_world/Inc/nav_msgs/GetPlan.h [moved from rosserial_test/Inc/nav_msgs/GetPlan.h with 100% similarity]
rosserial_hello_world/Inc/nav_msgs/GridCells.h [moved from rosserial_test/Inc/nav_msgs/GridCells.h with 100% similarity]
rosserial_hello_world/Inc/nav_msgs/MapMetaData.h [moved from rosserial_test/Inc/nav_msgs/MapMetaData.h with 100% similarity]
rosserial_hello_world/Inc/nav_msgs/OccupancyGrid.h [moved from rosserial_test/Inc/nav_msgs/OccupancyGrid.h with 100% similarity]
rosserial_hello_world/Inc/nav_msgs/Odometry.h [moved from rosserial_test/Inc/nav_msgs/Odometry.h with 100% similarity]
rosserial_hello_world/Inc/nav_msgs/Path.h [moved from rosserial_test/Inc/nav_msgs/Path.h with 100% similarity]
rosserial_hello_world/Inc/nav_msgs/SetMap.h [moved from rosserial_test/Inc/nav_msgs/SetMap.h with 100% similarity]
rosserial_hello_world/Inc/nodelet/NodeletList.h [moved from rosserial_test/Inc/nodelet/NodeletList.h with 100% similarity]
rosserial_hello_world/Inc/nodelet/NodeletLoad.h [moved from rosserial_test/Inc/nodelet/NodeletLoad.h with 100% similarity]
rosserial_hello_world/Inc/nodelet/NodeletUnload.h [moved from rosserial_test/Inc/nodelet/NodeletUnload.h with 100% similarity]
rosserial_hello_world/Inc/pcl_msgs/ModelCoefficients.h [moved from rosserial_test/Inc/pcl_msgs/ModelCoefficients.h with 100% similarity]
rosserial_hello_world/Inc/pcl_msgs/PointIndices.h [moved from rosserial_test/Inc/pcl_msgs/PointIndices.h with 100% similarity]
rosserial_hello_world/Inc/pcl_msgs/PolygonMesh.h [moved from rosserial_test/Inc/pcl_msgs/PolygonMesh.h with 100% similarity]
rosserial_hello_world/Inc/pcl_msgs/Vertices.h [moved from rosserial_test/Inc/pcl_msgs/Vertices.h with 100% similarity]
rosserial_hello_world/Inc/polled_camera/GetPolledImage.h [moved from rosserial_test/Inc/polled_camera/GetPolledImage.h with 100% similarity]
rosserial_hello_world/Inc/ros.h [moved from rosserial_test/Inc/ros.h with 100% similarity]
rosserial_hello_world/Inc/ros/duration.h [moved from rosserial_test/Inc/ros/duration.h with 100% similarity]
rosserial_hello_world/Inc/ros/msg.h [moved from rosserial_test/Inc/ros/msg.h with 100% similarity]
rosserial_hello_world/Inc/ros/node_handle.h [moved from rosserial_test/Inc/ros/node_handle.h with 100% similarity]
rosserial_hello_world/Inc/ros/publisher.h [moved from rosserial_test/Inc/ros/publisher.h with 100% similarity]
rosserial_hello_world/Inc/ros/ros_time.h [moved from rosserial_test/Inc/ros/ros_time.h with 100% similarity]
rosserial_hello_world/Inc/ros/service_client.h [moved from rosserial_test/Inc/ros/service_client.h with 100% similarity]
rosserial_hello_world/Inc/ros/service_server.h [moved from rosserial_test/Inc/ros/service_server.h with 100% similarity]
rosserial_hello_world/Inc/ros/subscriber.h [moved from rosserial_test/Inc/ros/subscriber.h with 100% similarity]
rosserial_hello_world/Inc/roscpp/Empty.h [moved from rosserial_test/Inc/roscpp/Empty.h with 100% similarity]
rosserial_hello_world/Inc/roscpp/GetLoggers.h [moved from rosserial_test/Inc/roscpp/GetLoggers.h with 100% similarity]
rosserial_hello_world/Inc/roscpp/Logger.h [moved from rosserial_test/Inc/roscpp/Logger.h with 100% similarity]
rosserial_hello_world/Inc/roscpp/SetLoggerLevel.h [moved from rosserial_test/Inc/roscpp/SetLoggerLevel.h with 100% similarity]
rosserial_hello_world/Inc/roscpp_tutorials/TwoInts.h [moved from rosserial_test/Inc/roscpp_tutorials/TwoInts.h with 100% similarity]
rosserial_hello_world/Inc/rosgraph_msgs/Clock.h [moved from rosserial_test/Inc/rosgraph_msgs/Clock.h with 100% similarity]
rosserial_hello_world/Inc/rosgraph_msgs/Log.h [moved from rosserial_test/Inc/rosgraph_msgs/Log.h with 100% similarity]
rosserial_hello_world/Inc/rosgraph_msgs/TopicStatistics.h [moved from rosserial_test/Inc/rosgraph_msgs/TopicStatistics.h with 100% similarity]
rosserial_hello_world/Inc/rospy_tutorials/AddTwoInts.h [moved from rosserial_test/Inc/rospy_tutorials/AddTwoInts.h with 100% similarity]
rosserial_hello_world/Inc/rospy_tutorials/BadTwoInts.h [moved from rosserial_test/Inc/rospy_tutorials/BadTwoInts.h with 100% similarity]
rosserial_hello_world/Inc/rospy_tutorials/Floats.h [moved from rosserial_test/Inc/rospy_tutorials/Floats.h with 100% similarity]
rosserial_hello_world/Inc/rospy_tutorials/HeaderString.h [moved from rosserial_test/Inc/rospy_tutorials/HeaderString.h with 100% similarity]
rosserial_hello_world/Inc/rosserial_msgs/Log.h [moved from rosserial_test/Inc/rosserial_msgs/Log.h with 100% similarity]
rosserial_hello_world/Inc/rosserial_msgs/RequestMessageInfo.h [moved from rosserial_test/Inc/rosserial_msgs/RequestMessageInfo.h with 100% similarity]
rosserial_hello_world/Inc/rosserial_msgs/RequestParam.h [moved from rosserial_test/Inc/rosserial_msgs/RequestParam.h with 100% similarity]
rosserial_hello_world/Inc/rosserial_msgs/RequestServiceInfo.h [moved from rosserial_test/Inc/rosserial_msgs/RequestServiceInfo.h with 100% similarity]
rosserial_hello_world/Inc/rosserial_msgs/TopicInfo.h [moved from rosserial_test/Inc/rosserial_msgs/TopicInfo.h with 100% similarity]
rosserial_hello_world/Inc/sensor_msgs/BatteryState.h [moved from rosserial_test/Inc/sensor_msgs/BatteryState.h with 100% similarity]
rosserial_hello_world/Inc/sensor_msgs/CameraInfo.h [moved from rosserial_test/Inc/sensor_msgs/CameraInfo.h with 100% similarity]
rosserial_hello_world/Inc/sensor_msgs/ChannelFloat32.h [moved from rosserial_test/Inc/sensor_msgs/ChannelFloat32.h with 100% similarity]
rosserial_hello_world/Inc/sensor_msgs/CompressedImage.h [moved from rosserial_test/Inc/sensor_msgs/CompressedImage.h with 100% similarity]
rosserial_hello_world/Inc/sensor_msgs/FluidPressure.h [moved from rosserial_test/Inc/sensor_msgs/FluidPressure.h with 100% similarity]
rosserial_hello_world/Inc/sensor_msgs/Illuminance.h [moved from rosserial_test/Inc/sensor_msgs/Illuminance.h with 100% similarity]
rosserial_hello_world/Inc/sensor_msgs/Image.h [moved from rosserial_test/Inc/sensor_msgs/Image.h with 100% similarity]
rosserial_hello_world/Inc/sensor_msgs/Imu.h [moved from rosserial_test/Inc/sensor_msgs/Imu.h with 100% similarity]
rosserial_hello_world/Inc/sensor_msgs/JointState.h [moved from rosserial_test/Inc/sensor_msgs/JointState.h with 100% similarity]
rosserial_hello_world/Inc/sensor_msgs/Joy.h [moved from rosserial_test/Inc/sensor_msgs/Joy.h with 100% similarity]
rosserial_hello_world/Inc/sensor_msgs/JoyFeedback.h [moved from rosserial_test/Inc/sensor_msgs/JoyFeedback.h with 100% similarity]
rosserial_hello_world/Inc/sensor_msgs/JoyFeedbackArray.h [moved from rosserial_test/Inc/sensor_msgs/JoyFeedbackArray.h with 100% similarity]
rosserial_hello_world/Inc/sensor_msgs/LaserEcho.h [moved from rosserial_test/Inc/sensor_msgs/LaserEcho.h with 100% similarity]
rosserial_hello_world/Inc/sensor_msgs/LaserScan.h [moved from rosserial_test/Inc/sensor_msgs/LaserScan.h with 100% similarity]
rosserial_hello_world/Inc/sensor_msgs/MagneticField.h [moved from rosserial_test/Inc/sensor_msgs/MagneticField.h with 100% similarity]
rosserial_hello_world/Inc/sensor_msgs/MultiDOFJointState.h [moved from rosserial_test/Inc/sensor_msgs/MultiDOFJointState.h with 100% similarity]
rosserial_hello_world/Inc/sensor_msgs/MultiEchoLaserScan.h [moved from rosserial_test/Inc/sensor_msgs/MultiEchoLaserScan.h with 100% similarity]
rosserial_hello_world/Inc/sensor_msgs/NavSatFix.h [moved from rosserial_test/Inc/sensor_msgs/NavSatFix.h with 100% similarity]
rosserial_hello_world/Inc/sensor_msgs/NavSatStatus.h [moved from rosserial_test/Inc/sensor_msgs/NavSatStatus.h with 100% similarity]
rosserial_hello_world/Inc/sensor_msgs/PointCloud.h [moved from rosserial_test/Inc/sensor_msgs/PointCloud.h with 100% similarity]
rosserial_hello_world/Inc/sensor_msgs/PointCloud2.h [moved from rosserial_test/Inc/sensor_msgs/PointCloud2.h with 100% similarity]
rosserial_hello_world/Inc/sensor_msgs/PointField.h [moved from rosserial_test/Inc/sensor_msgs/PointField.h with 100% similarity]
rosserial_hello_world/Inc/sensor_msgs/Range.h [moved from rosserial_test/Inc/sensor_msgs/Range.h with 100% similarity]
rosserial_hello_world/Inc/sensor_msgs/RegionOfInterest.h [moved from rosserial_test/Inc/sensor_msgs/RegionOfInterest.h with 100% similarity]
rosserial_hello_world/Inc/sensor_msgs/RelativeHumidity.h [moved from rosserial_test/Inc/sensor_msgs/RelativeHumidity.h with 100% similarity]
rosserial_hello_world/Inc/sensor_msgs/SetCameraInfo.h [moved from rosserial_test/Inc/sensor_msgs/SetCameraInfo.h with 100% similarity]
rosserial_hello_world/Inc/sensor_msgs/Temperature.h [moved from rosserial_test/Inc/sensor_msgs/Temperature.h with 100% similarity]
rosserial_hello_world/Inc/sensor_msgs/TimeReference.h [moved from rosserial_test/Inc/sensor_msgs/TimeReference.h with 100% similarity]
rosserial_hello_world/Inc/shape_msgs/Mesh.h [moved from rosserial_test/Inc/shape_msgs/Mesh.h with 100% similarity]
rosserial_hello_world/Inc/shape_msgs/MeshTriangle.h [moved from rosserial_test/Inc/shape_msgs/MeshTriangle.h with 100% similarity]
rosserial_hello_world/Inc/shape_msgs/Plane.h [moved from rosserial_test/Inc/shape_msgs/Plane.h with 100% similarity]
rosserial_hello_world/Inc/shape_msgs/SolidPrimitive.h [moved from rosserial_test/Inc/shape_msgs/SolidPrimitive.h with 100% similarity]
rosserial_hello_world/Inc/smach_msgs/SmachContainerInitialStatusCmd.h [moved from rosserial_test/Inc/smach_msgs/SmachContainerInitialStatusCmd.h with 100% similarity]
rosserial_hello_world/Inc/smach_msgs/SmachContainerStatus.h [moved from rosserial_test/Inc/smach_msgs/SmachContainerStatus.h with 100% similarity]
rosserial_hello_world/Inc/smach_msgs/SmachContainerStructure.h [moved from rosserial_test/Inc/smach_msgs/SmachContainerStructure.h with 100% similarity]
rosserial_hello_world/Inc/std_msgs/Bool.h [moved from rosserial_test/Inc/std_msgs/Bool.h with 100% similarity]
rosserial_hello_world/Inc/std_msgs/Byte.h [moved from rosserial_test/Inc/std_msgs/Byte.h with 100% similarity]
rosserial_hello_world/Inc/std_msgs/ByteMultiArray.h [moved from rosserial_test/Inc/std_msgs/ByteMultiArray.h with 100% similarity]
rosserial_hello_world/Inc/std_msgs/Char.h [moved from rosserial_test/Inc/std_msgs/Char.h with 100% similarity]
rosserial_hello_world/Inc/std_msgs/ColorRGBA.h [moved from rosserial_test/Inc/std_msgs/ColorRGBA.h with 100% similarity]
rosserial_hello_world/Inc/std_msgs/Duration.h [moved from rosserial_test/Inc/std_msgs/Duration.h with 100% similarity]
rosserial_hello_world/Inc/std_msgs/Empty.h [moved from rosserial_test/Inc/std_msgs/Empty.h with 100% similarity]
rosserial_hello_world/Inc/std_msgs/Float32.h [moved from rosserial_test/Inc/std_msgs/Float32.h with 100% similarity]
rosserial_hello_world/Inc/std_msgs/Float32MultiArray.h [moved from rosserial_test/Inc/std_msgs/Float32MultiArray.h with 100% similarity]
rosserial_hello_world/Inc/std_msgs/Float64.h [moved from rosserial_test/Inc/std_msgs/Float64.h with 100% similarity]
rosserial_hello_world/Inc/std_msgs/Float64MultiArray.h [moved from rosserial_test/Inc/std_msgs/Float64MultiArray.h with 100% similarity]
rosserial_hello_world/Inc/std_msgs/Header.h [moved from rosserial_test/Inc/std_msgs/Header.h with 100% similarity]
rosserial_hello_world/Inc/std_msgs/Int16.h [moved from rosserial_test/Inc/std_msgs/Int16.h with 100% similarity]
rosserial_hello_world/Inc/std_msgs/Int16MultiArray.h [moved from rosserial_test/Inc/std_msgs/Int16MultiArray.h with 100% similarity]
rosserial_hello_world/Inc/std_msgs/Int32.h [moved from rosserial_test/Inc/std_msgs/Int32.h with 100% similarity]
rosserial_hello_world/Inc/std_msgs/Int32MultiArray.h [moved from rosserial_test/Inc/std_msgs/Int32MultiArray.h with 100% similarity]
rosserial_hello_world/Inc/std_msgs/Int64.h [moved from rosserial_test/Inc/std_msgs/Int64.h with 100% similarity]
rosserial_hello_world/Inc/std_msgs/Int64MultiArray.h [moved from rosserial_test/Inc/std_msgs/Int64MultiArray.h with 100% similarity]
rosserial_hello_world/Inc/std_msgs/Int8.h [moved from rosserial_test/Inc/std_msgs/Int8.h with 100% similarity]
rosserial_hello_world/Inc/std_msgs/Int8MultiArray.h [moved from rosserial_test/Inc/std_msgs/Int8MultiArray.h with 100% similarity]
rosserial_hello_world/Inc/std_msgs/MultiArrayDimension.h [moved from rosserial_test/Inc/std_msgs/MultiArrayDimension.h with 100% similarity]
rosserial_hello_world/Inc/std_msgs/MultiArrayLayout.h [moved from rosserial_test/Inc/std_msgs/MultiArrayLayout.h with 100% similarity]
rosserial_hello_world/Inc/std_msgs/String.h [moved from rosserial_test/Inc/std_msgs/String.h with 100% similarity]
rosserial_hello_world/Inc/std_msgs/Time.h [moved from rosserial_test/Inc/std_msgs/Time.h with 100% similarity]
rosserial_hello_world/Inc/std_msgs/UInt16.h [moved from rosserial_test/Inc/std_msgs/UInt16.h with 100% similarity]
rosserial_hello_world/Inc/std_msgs/UInt16MultiArray.h [moved from rosserial_test/Inc/std_msgs/UInt16MultiArray.h with 100% similarity]
rosserial_hello_world/Inc/std_msgs/UInt32.h [moved from rosserial_test/Inc/std_msgs/UInt32.h with 100% similarity]
rosserial_hello_world/Inc/std_msgs/UInt32MultiArray.h [moved from rosserial_test/Inc/std_msgs/UInt32MultiArray.h with 100% similarity]
rosserial_hello_world/Inc/std_msgs/UInt64.h [moved from rosserial_test/Inc/std_msgs/UInt64.h with 100% similarity]
rosserial_hello_world/Inc/std_msgs/UInt64MultiArray.h [moved from rosserial_test/Inc/std_msgs/UInt64MultiArray.h with 100% similarity]
rosserial_hello_world/Inc/std_msgs/UInt8.h [moved from rosserial_test/Inc/std_msgs/UInt8.h with 100% similarity]
rosserial_hello_world/Inc/std_msgs/UInt8MultiArray.h [moved from rosserial_test/Inc/std_msgs/UInt8MultiArray.h with 100% similarity]
rosserial_hello_world/Inc/std_srvs/Empty.h [moved from rosserial_test/Inc/std_srvs/Empty.h with 100% similarity]
rosserial_hello_world/Inc/std_srvs/SetBool.h [moved from rosserial_test/Inc/std_srvs/SetBool.h with 100% similarity]
rosserial_hello_world/Inc/std_srvs/Trigger.h [moved from rosserial_test/Inc/std_srvs/Trigger.h with 100% similarity]
rosserial_hello_world/Inc/stereo_msgs/DisparityImage.h [moved from rosserial_test/Inc/stereo_msgs/DisparityImage.h with 100% similarity]
rosserial_hello_world/Inc/stm32f7xx_hal_conf.h [moved from rosserial_test/Inc/stm32f7xx_hal_conf.h with 100% similarity]
rosserial_hello_world/Inc/stm32f7xx_it.h [moved from rosserial_test/Inc/stm32f7xx_it.h with 92% similarity]
rosserial_hello_world/Inc/test.hpp [moved from rosserial_test/Inc/test.hpp with 100% similarity]
rosserial_hello_world/Inc/tf/FrameGraph.h [moved from rosserial_test/Inc/tf/FrameGraph.h with 100% similarity]
rosserial_hello_world/Inc/tf/tf.h [moved from rosserial_test/Inc/tf/tf.h with 100% similarity]
rosserial_hello_world/Inc/tf/tfMessage.h [moved from rosserial_test/Inc/tf/tfMessage.h with 100% similarity]
rosserial_hello_world/Inc/tf/transform_broadcaster.h [moved from rosserial_test/Inc/tf/transform_broadcaster.h with 100% similarity]
rosserial_hello_world/Inc/tf2_msgs/FrameGraph.h [moved from rosserial_test/Inc/tf2_msgs/FrameGraph.h with 100% similarity]
rosserial_hello_world/Inc/tf2_msgs/LookupTransformAction.h [moved from rosserial_test/Inc/tf2_msgs/LookupTransformAction.h with 100% similarity]
rosserial_hello_world/Inc/tf2_msgs/LookupTransformActionFeedback.h [moved from rosserial_test/Inc/tf2_msgs/LookupTransformActionFeedback.h with 100% similarity]
rosserial_hello_world/Inc/tf2_msgs/LookupTransformActionGoal.h [moved from rosserial_test/Inc/tf2_msgs/LookupTransformActionGoal.h with 100% similarity]
rosserial_hello_world/Inc/tf2_msgs/LookupTransformActionResult.h [moved from rosserial_test/Inc/tf2_msgs/LookupTransformActionResult.h with 100% similarity]
rosserial_hello_world/Inc/tf2_msgs/LookupTransformFeedback.h [moved from rosserial_test/Inc/tf2_msgs/LookupTransformFeedback.h with 100% similarity]
rosserial_hello_world/Inc/tf2_msgs/LookupTransformGoal.h [moved from rosserial_test/Inc/tf2_msgs/LookupTransformGoal.h with 100% similarity]
rosserial_hello_world/Inc/tf2_msgs/LookupTransformResult.h [moved from rosserial_test/Inc/tf2_msgs/LookupTransformResult.h with 100% similarity]
rosserial_hello_world/Inc/tf2_msgs/TF2Error.h [moved from rosserial_test/Inc/tf2_msgs/TF2Error.h with 100% similarity]
rosserial_hello_world/Inc/tf2_msgs/TFMessage.h [moved from rosserial_test/Inc/tf2_msgs/TFMessage.h with 100% similarity]
rosserial_hello_world/Inc/theora_image_transport/Packet.h [moved from rosserial_test/Inc/theora_image_transport/Packet.h with 100% similarity]
rosserial_hello_world/Inc/topic_tools/DemuxAdd.h [moved from rosserial_test/Inc/topic_tools/DemuxAdd.h with 100% similarity]
rosserial_hello_world/Inc/topic_tools/DemuxDelete.h [moved from rosserial_test/Inc/topic_tools/DemuxDelete.h with 100% similarity]
rosserial_hello_world/Inc/topic_tools/DemuxList.h [moved from rosserial_test/Inc/topic_tools/DemuxList.h with 100% similarity]
rosserial_hello_world/Inc/topic_tools/DemuxSelect.h [moved from rosserial_test/Inc/topic_tools/DemuxSelect.h with 100% similarity]
rosserial_hello_world/Inc/topic_tools/MuxAdd.h [moved from rosserial_test/Inc/topic_tools/MuxAdd.h with 100% similarity]
rosserial_hello_world/Inc/topic_tools/MuxDelete.h [moved from rosserial_test/Inc/topic_tools/MuxDelete.h with 100% similarity]
rosserial_hello_world/Inc/topic_tools/MuxList.h [moved from rosserial_test/Inc/topic_tools/MuxList.h with 100% similarity]
rosserial_hello_world/Inc/topic_tools/MuxSelect.h [moved from rosserial_test/Inc/topic_tools/MuxSelect.h with 100% similarity]
rosserial_hello_world/Inc/trajectory_msgs/JointTrajectory.h [moved from rosserial_test/Inc/trajectory_msgs/JointTrajectory.h with 100% similarity]
rosserial_hello_world/Inc/trajectory_msgs/JointTrajectoryPoint.h [moved from rosserial_test/Inc/trajectory_msgs/JointTrajectoryPoint.h with 100% similarity]
rosserial_hello_world/Inc/trajectory_msgs/MultiDOFJointTrajectory.h [moved from rosserial_test/Inc/trajectory_msgs/MultiDOFJointTrajectory.h with 100% similarity]
rosserial_hello_world/Inc/trajectory_msgs/MultiDOFJointTrajectoryPoint.h [moved from rosserial_test/Inc/trajectory_msgs/MultiDOFJointTrajectoryPoint.h with 100% similarity]
rosserial_hello_world/Inc/turtle_actionlib/ShapeAction.h [moved from rosserial_test/Inc/turtle_actionlib/ShapeAction.h with 100% similarity]
rosserial_hello_world/Inc/turtle_actionlib/ShapeActionFeedback.h [moved from rosserial_test/Inc/turtle_actionlib/ShapeActionFeedback.h with 100% similarity]
rosserial_hello_world/Inc/turtle_actionlib/ShapeActionGoal.h [moved from rosserial_test/Inc/turtle_actionlib/ShapeActionGoal.h with 100% similarity]
rosserial_hello_world/Inc/turtle_actionlib/ShapeActionResult.h [moved from rosserial_test/Inc/turtle_actionlib/ShapeActionResult.h with 100% similarity]
rosserial_hello_world/Inc/turtle_actionlib/ShapeFeedback.h [moved from rosserial_test/Inc/turtle_actionlib/ShapeFeedback.h with 100% similarity]
rosserial_hello_world/Inc/turtle_actionlib/ShapeGoal.h [moved from rosserial_test/Inc/turtle_actionlib/ShapeGoal.h with 100% similarity]
rosserial_hello_world/Inc/turtle_actionlib/ShapeResult.h [moved from rosserial_test/Inc/turtle_actionlib/ShapeResult.h with 100% similarity]
rosserial_hello_world/Inc/turtle_actionlib/Velocity.h [moved from rosserial_test/Inc/turtle_actionlib/Velocity.h with 100% similarity]
rosserial_hello_world/Inc/turtlesim/Color.h [moved from rosserial_test/Inc/turtlesim/Color.h with 100% similarity]
rosserial_hello_world/Inc/turtlesim/Kill.h [moved from rosserial_test/Inc/turtlesim/Kill.h with 100% similarity]
rosserial_hello_world/Inc/turtlesim/Pose.h [moved from rosserial_test/Inc/turtlesim/Pose.h with 100% similarity]
rosserial_hello_world/Inc/turtlesim/SetPen.h [moved from rosserial_test/Inc/turtlesim/SetPen.h with 100% similarity]
rosserial_hello_world/Inc/turtlesim/Spawn.h [moved from rosserial_test/Inc/turtlesim/Spawn.h with 100% similarity]
rosserial_hello_world/Inc/turtlesim/TeleportAbsolute.h [moved from rosserial_test/Inc/turtlesim/TeleportAbsolute.h with 100% similarity]
rosserial_hello_world/Inc/turtlesim/TeleportRelative.h [moved from rosserial_test/Inc/turtlesim/TeleportRelative.h with 100% similarity]
rosserial_hello_world/Inc/visualization_msgs/ImageMarker.h [moved from rosserial_test/Inc/visualization_msgs/ImageMarker.h with 100% similarity]
rosserial_hello_world/Inc/visualization_msgs/InteractiveMarker.h [moved from rosserial_test/Inc/visualization_msgs/InteractiveMarker.h with 100% similarity]
rosserial_hello_world/Inc/visualization_msgs/InteractiveMarkerControl.h [moved from rosserial_test/Inc/visualization_msgs/InteractiveMarkerControl.h with 100% similarity]
rosserial_hello_world/Inc/visualization_msgs/InteractiveMarkerFeedback.h [moved from rosserial_test/Inc/visualization_msgs/InteractiveMarkerFeedback.h with 100% similarity]
rosserial_hello_world/Inc/visualization_msgs/InteractiveMarkerInit.h [moved from rosserial_test/Inc/visualization_msgs/InteractiveMarkerInit.h with 100% similarity]
rosserial_hello_world/Inc/visualization_msgs/InteractiveMarkerPose.h [moved from rosserial_test/Inc/visualization_msgs/InteractiveMarkerPose.h with 100% similarity]
rosserial_hello_world/Inc/visualization_msgs/InteractiveMarkerUpdate.h [moved from rosserial_test/Inc/visualization_msgs/InteractiveMarkerUpdate.h with 100% similarity]
rosserial_hello_world/Inc/visualization_msgs/Marker.h [moved from rosserial_test/Inc/visualization_msgs/Marker.h with 100% similarity]
rosserial_hello_world/Inc/visualization_msgs/MarkerArray.h [moved from rosserial_test/Inc/visualization_msgs/MarkerArray.h with 100% similarity]
rosserial_hello_world/Inc/visualization_msgs/MenuEntry.h [moved from rosserial_test/Inc/visualization_msgs/MenuEntry.h with 100% similarity]
rosserial_hello_world/STM32F767ZITX_FLASH.ld [moved from rosserial_test/STM32F767ZITX_FLASH.ld with 100% similarity]
rosserial_hello_world/STM32F767ZITX_RAM.ld [moved from rosserial_test/STM32F767ZITX_RAM.ld with 100% similarity]
rosserial_hello_world/Src/main.cpp [new file with mode: 0644]
rosserial_hello_world/Src/ros_time.cpp [moved from rosserial_test/Src/ros_time.cpp with 100% similarity]
rosserial_hello_world/Src/stm32f7xx_hal_msp.c [moved from rosserial_test/Src/stm32f7xx_hal_msp.c with 66% similarity]
rosserial_hello_world/Src/stm32f7xx_it.c [moved from rosserial_test/Src/stm32f7xx_it.c with 80% similarity]
rosserial_hello_world/Src/syscalls.c [moved from rosserial_test/Src/syscalls.c with 100% similarity]
rosserial_hello_world/Src/sysmem.c [moved from rosserial_test/Src/sysmem.c with 100% similarity]
rosserial_hello_world/Src/system_stm32f7xx.c [moved from rosserial_test/Src/system_stm32f7xx.c with 100% similarity]
rosserial_hello_world/Src/test.cpp [moved from rosserial_test/Src/test.cpp with 100% similarity]
rosserial_hello_world/Startup/startup_stm32f767zitx.s [moved from rosserial_test/Startup/startup_stm32f767zitx.s with 100% similarity]
rosserial_hello_world/rosserial_hello_world.ioc [moved from rosserial_test/rosserial_test.ioc with 67% similarity]
rosserial_hello_world/rosserial_test.elf.launch [moved from rosserial_test/rosserial_test.elf.launch with 100% similarity]
rosserial_test/Debug/rosserial_test.list [deleted file]
rosserial_test/Src/main.cpp [deleted file]

similarity index 62%
rename from rosserial_test/.cproject
rename to rosserial_hello_world/.cproject
index e68b1917b1fde82319e13f9e33a8cbae4890b3ec..4e9d4801b4c542496d9bd63bba3b53d34a2b9009 100644 (file)
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
        <storageModule moduleId="org.eclipse.cdt.core.settings">
-               <cconfiguration id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1770731246">
-                       <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1770731246" moduleId="org.eclipse.cdt.core.settings" name="Debug">
+               <cconfiguration id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1616350920">
+                       <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1616350920" moduleId="org.eclipse.cdt.core.settings" name="Debug">
                                <externalSettings/>
                                <extensions>
                                        <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
                                </extensions>
                        </storageModule>
                        <storageModule moduleId="cdtBuildSystem" version="4.0.0">
-                               <configuration artifactExtension="elf" artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" cleanCommand="rm -rf" description="" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1770731246" name="Debug" parent="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug">
-                                       <folderInfo id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1770731246." name="/" resourcePath="">
-                                               <toolChain id="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.debug.1235743885" name="MCU ARM GCC" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.debug">
-                                                       <option id="com.st.stm32cube.ide.mcu.option.internal.toolchain.type.1649557231" name="Internal Toolchain Type" superClass="com.st.stm32cube.ide.mcu.option.internal.toolchain.type" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.base.gnu-tools-for-stm32" valueType="string"/>
-                                                       <option id="com.st.stm32cube.ide.mcu.option.internal.toolchain.version.938820160" name="Internal Toolchain Version" superClass="com.st.stm32cube.ide.mcu.option.internal.toolchain.version" value="7-2018-q2-update" valueType="string"/>
-                                                       <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu.985627547" name="Mcu" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu" value="STM32F767ZITx" valueType="string"/>
-                                                       <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid.652418242" name="CpuId" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid" value="0" valueType="string"/>
-                                                       <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid.381533972" name="CpuCoreId" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid" value="0" valueType="string"/>
-                                                       <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.fpu.1020320664" name="Floating-point unit" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.fpu" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.fpu.value.fpv5-d16" valueType="enumerated"/>
-                                                       <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.floatabi.724904261" name="Floating-point ABI" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.floatabi" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.floatabi.value.hard" valueType="enumerated"/>
-                                                       <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board.425886289" name="Board" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board" value="genericBoard" valueType="string"/>
-                                                       <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults.1361488801" name="Defaults" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults" value="com.st.stm32cube.ide.common.services.build.inputs.revA.1.0.0 || Debug || true || Executable || com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.base.gnu-tools-for-stm32 || STM32F767ZITx || 0 || arm-none-eabi- || ${gnu_tools_for_stm32_compiler_path} || ../Inc | ../Drivers/CMSIS/Include | ../Drivers/CMSIS/Device/ST/STM32F7xx/Include | ../Drivers/STM32F7xx_HAL_Driver/Inc | ../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy || ../ ||  || USE_HAL_DRIVER | STM32F767xx ||  || Startup || Drivers | Src ||  || ${workspace_loc:/${ProjName}/STM32F767ZITX_FLASH.ld} || true" valueType="string"/>
-                                                       <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.runtimelibrary_cpp.941432903" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.runtimelibrary_cpp" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.runtimelibrary_cpp.value.standard_c_standard_cpp" valueType="enumerated"/>
-                                                       <targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform.1430742399" isAbstract="false" osList="all" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform"/>
-                                                       <builder buildPath="${workspace_loc:/rosserial_test}/Debug" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder.1401738395" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder"/>
-                                                       <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.752342455" name="MCU GCC Assembler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler">
-                                                               <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.1273391886" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.value.g3" valueType="enumerated"/>
-                                                               <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.includepaths.1603889327" name="Include paths (-I)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.includepaths" valueType="includePath">
+                               <configuration artifactExtension="elf" artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" cleanCommand="rm -rf" description="" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1616350920" name="Debug" parent="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug">
+                                       <folderInfo id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1616350920." name="/" resourcePath="">
+                                               <toolChain id="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.debug.1593111825" name="MCU ARM GCC" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.debug">
+                                                       <option id="com.st.stm32cube.ide.mcu.option.internal.toolchain.type.1144812047" name="Internal Toolchain Type" superClass="com.st.stm32cube.ide.mcu.option.internal.toolchain.type" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.base.gnu-tools-for-stm32" valueType="string"/>
+                                                       <option id="com.st.stm32cube.ide.mcu.option.internal.toolchain.version.1022452319" name="Internal Toolchain Version" superClass="com.st.stm32cube.ide.mcu.option.internal.toolchain.version" value="7-2018-q2-update" valueType="string"/>
+                                                       <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu.245942797" name="Mcu" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu" value="STM32F767ZITx" valueType="string"/>
+                                                       <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid.434310561" name="CpuId" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid" value="0" valueType="string"/>
+                                                       <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid.483130468" name="CpuCoreId" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid" value="0" valueType="string"/>
+                                                       <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.fpu.1789254727" name="Floating-point unit" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.fpu" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.fpu.value.fpv5-d16" valueType="enumerated"/>
+                                                       <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.floatabi.1627531671" name="Floating-point ABI" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.floatabi" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.floatabi.value.hard" valueType="enumerated"/>
+                                                       <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board.481952041" name="Board" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board" value="genericBoard" valueType="string"/>
+                                                       <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults.1879737249" name="Defaults" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults" value="com.st.stm32cube.ide.common.services.build.inputs.revA.1.0.0 || Debug || true || Executable || com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.base.gnu-tools-for-stm32 || STM32F767ZITx || 0 || arm-none-eabi- || ${gnu_tools_for_stm32_compiler_path} || ../Inc | ../Drivers/CMSIS/Include | ../Drivers/CMSIS/Device/ST/STM32F7xx/Include | ../Drivers/STM32F7xx_HAL_Driver/Inc | ../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy || ../ ||  || USE_HAL_DRIVER | STM32F767xx ||  || Startup || Drivers | Src ||  || ${workspace_loc:/${ProjName}/STM32F767ZITX_FLASH.ld} || true" valueType="string"/>
+                                                       <targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform.1871870953" isAbstract="false" osList="all" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform"/>
+                                                       <builder buildPath="${workspace_loc:/rosserial_test}/Debug" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder.1429261781" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder"/>
+                                                       <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.333156011" name="MCU GCC Assembler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler">
+                                                               <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.1795005026" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.value.g3" valueType="enumerated"/>
+                                                               <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.includepaths.573113343" name="Include paths (-I)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.includepaths" valueType="includePath">
                                                                        <listOptionValue builtIn="false" value="../"/>
                                                                </option>
-                                                               <inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input.1113516996" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input"/>
+                                                               <inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input.1480616467" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input"/>
                                                        </tool>
-                                                       <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.101636082" name="MCU GCC Compiler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler">
-                                                               <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel.1716851587" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel.value.g3" valueType="enumerated"/>
-                                                               <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level.1160675817" name="Optimization level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level" useByScannerDiscovery="false"/>
-                                                               <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols.2008776513" name="Define symbols (-D)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols" useByScannerDiscovery="false" valueType="definedSymbols">
+                                                       <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.1904393940" name="MCU GCC Compiler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler">
+                                                               <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel.164454045" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel.value.g3" valueType="enumerated"/>
+                                                               <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level.704024016" name="Optimization level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level" useByScannerDiscovery="false"/>
+                                                               <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols.1766283785" name="Define symbols (-D)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols" useByScannerDiscovery="false" valueType="definedSymbols">
                                                                        <listOptionValue builtIn="false" value="USE_HAL_DRIVER"/>
                                                                        <listOptionValue builtIn="false" value="STM32F767xx"/>
                                                                        <listOptionValue builtIn="false" value="DEBUG"/>
                                                                </option>
-                                                               <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths.869193768" name="Include paths (-I)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths" useByScannerDiscovery="false" valueType="includePath">
+                                                               <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths.724702073" name="Include paths (-I)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths" useByScannerDiscovery="false" valueType="includePath">
                                                                        <listOptionValue builtIn="false" value="../Inc"/>
                                                                        <listOptionValue builtIn="false" value="../Drivers/CMSIS/Include"/>
                                                                        <listOptionValue builtIn="false" value="../Drivers/CMSIS/Device/ST/STM32F7xx/Include"/>
                                                                        <listOptionValue builtIn="false" value="../Drivers/STM32F7xx_HAL_Driver/Inc"/>
                                                                        <listOptionValue builtIn="false" value="../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy"/>
                                                                </option>
-                                                               <inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.1659970660" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c"/>
+                                                               <inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.1536400589" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c"/>
                                                        </tool>
-                                                       <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.573995662" name="MCU G++ Compiler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler">
-                                                               <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel.1648824122" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel.value.g3" valueType="enumerated"/>
-                                                               <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level.207700085" name="Optimization level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level" useByScannerDiscovery="false"/>
-                                                               <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.includepaths.497001426" name="Include paths (-I)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.includepaths" useByScannerDiscovery="false" valueType="includePath">
+                                                       <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.1771851839" name="MCU G++ Compiler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler">
+                                                               <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel.2026923437" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel.value.g3" valueType="enumerated"/>
+                                                               <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level.1123611357" name="Optimization level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level" useByScannerDiscovery="false"/>
+                                                               <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.includepaths.1054792070" name="Include paths (-I)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.includepaths" useByScannerDiscovery="false" valueType="includePath">
                                                                        <listOptionValue builtIn="false" value="../Inc"/>
                                                                        <listOptionValue builtIn="false" value="../Drivers/CMSIS/Include"/>
                                                                        <listOptionValue builtIn="false" value="../Drivers/CMSIS/Device/ST/STM32F7xx/Include"/>
                                                                        <listOptionValue builtIn="false" value="../Drivers/STM32F7xx_HAL_Driver/Inc"/>
                                                                        <listOptionValue builtIn="false" value="../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy"/>
                                                                </option>
-                                                               <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.definedsymbols.1987553956" name="Define symbols (-D)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.definedsymbols" useByScannerDiscovery="false" valueType="definedSymbols">
+                                                               <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.definedsymbols.163289721" name="Define symbols (-D)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.definedsymbols" useByScannerDiscovery="false" valueType="definedSymbols">
                                                                        <listOptionValue builtIn="false" value="USE_HAL_DRIVER"/>
                                                                        <listOptionValue builtIn="false" value="STM32F767xx"/>
                                                                        <listOptionValue builtIn="false" value="DEBUG"/>
                                                                </option>
-                                                               <inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.input.cpp.1808157565" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.input.cpp"/>
+                                                               <inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.input.cpp.1408252917" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.input.cpp"/>
                                                        </tool>
-                                                       <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.1275115093" name="MCU GCC Linker" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker">
-                                                               <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.script.2081920304" name="Linker Script (-T)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.script" value="${workspace_loc:/${ProjName}/STM32F767ZITX_FLASH.ld}" valueType="string"/>
-                                                               <inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.input.1504793776" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.input">
+                                                       <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.2026684217" name="MCU GCC Linker" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker">
+                                                               <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.script.644040067" name="Linker Script (-T)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.script" value="${workspace_loc:/${ProjName}/STM32F767ZITX_FLASH.ld}" valueType="string"/>
+                                                               <inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.input.1362709409" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.input">
                                                                        <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
                                                                        <additionalInput kind="additionalinput" paths="$(LIBS)"/>
                                                                </inputType>
                                                        </tool>
-                                                       <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.1565139484" name="MCU G++ Linker" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker">
-                                                               <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.option.script.751763727" name="Linker Script (-T)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.option.script" value="${workspace_loc:/${ProjName}/STM32F767ZITX_FLASH.ld}" valueType="string"/>
-                                                               <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.option.systemcalls.223620698" name="System calls" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.option.systemcalls" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.systemcalls.value.minimalimplementation" valueType="enumerated"/>
-                                                               <inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.input.936169680" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.input">
+                                                       <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.41970944" name="MCU G++ Linker" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker">
+                                                               <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.option.script.1995138223" name="Linker Script (-T)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.option.script" value="${workspace_loc:/${ProjName}/STM32F767ZITX_FLASH.ld}" valueType="string"/>
+                                                               <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.option.systemcalls.309871335" name="System calls" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.option.systemcalls" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.systemcalls.value.minimalimplementation" valueType="enumerated"/>
+                                                               <inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.input.1055945339" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.input">
                                                                        <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
                                                                        <additionalInput kind="additionalinput" paths="$(LIBS)"/>
                                                                </inputType>
                                                        </tool>
-                                                       <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver.41922372" name="MCU GCC Archiver" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver"/>
-                                                       <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size.838809643" name="MCU Size" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size"/>
-                                                       <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile.1797065418" name="MCU Output Converter list file" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile"/>
-                                                       <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex.678559595" name="MCU Output Converter Hex" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex"/>
-                                                       <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary.1913910526" name="MCU Output Converter Binary" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary"/>
-                                                       <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog.539390466" name="MCU Output Converter Verilog" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog"/>
-                                                       <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec.604269826" name="MCU Output Converter Motorola S-rec" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec"/>
-                                                       <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec.1316994310" name="MCU Output Converter Motorola S-rec with symbols" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec"/>
+                                                       <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver.1130076596" name="MCU GCC Archiver" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver"/>
+                                                       <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size.1927535730" name="MCU Size" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size"/>
+                                                       <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile.15654677" name="MCU Output Converter list file" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile"/>
+                                                       <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex.878654180" name="MCU Output Converter Hex" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex"/>
+                                                       <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary.1251219583" name="MCU Output Converter Binary" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary"/>
+                                                       <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog.577222135" name="MCU Output Converter Verilog" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog"/>
+                                                       <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec.1111972453" name="MCU Output Converter Motorola S-rec" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec"/>
+                                                       <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec.1510158296" name="MCU Output Converter Motorola S-rec with symbols" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec"/>
                                                </toolChain>
                                        </folderInfo>
                                        <sourceEntries>
                        </storageModule>
                        <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
                </cconfiguration>
-               <cconfiguration id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1030040177">
-                       <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1030040177" moduleId="org.eclipse.cdt.core.settings" name="Release">
+               <cconfiguration id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1567199532">
+                       <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1567199532" moduleId="org.eclipse.cdt.core.settings" name="Release">
                                <externalSettings/>
                                <extensions>
                                        <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
                                </extensions>
                        </storageModule>
                        <storageModule moduleId="cdtBuildSystem" version="4.0.0">
-                               <configuration artifactExtension="elf" artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release" cleanCommand="rm -rf" description="" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1030040177" name="Release" parent="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release">
-                                       <folderInfo id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1030040177." name="/" resourcePath="">
-                                               <toolChain id="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.release.851608397" name="MCU ARM GCC" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.release">
-                                                       <option id="com.st.stm32cube.ide.mcu.option.internal.toolchain.type.2079583370" name="Internal Toolchain Type" superClass="com.st.stm32cube.ide.mcu.option.internal.toolchain.type" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.base.gnu-tools-for-stm32" valueType="string"/>
-                                                       <option id="com.st.stm32cube.ide.mcu.option.internal.toolchain.version.2114431755" name="Internal Toolchain Version" superClass="com.st.stm32cube.ide.mcu.option.internal.toolchain.version" value="7-2018-q2-update" valueType="string"/>
-                                                       <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu.1280630371" name="Mcu" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu" value="STM32F767ZITx" valueType="string"/>
-                                                       <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid.938725040" name="CpuId" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid" value="0" valueType="string"/>
-                                                       <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid.854735963" name="CpuCoreId" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid" value="0" valueType="string"/>
-                                                       <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.fpu.1733224565" name="Floating-point unit" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.fpu" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.fpu.value.fpv5-d16" valueType="enumerated"/>
-                                                       <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.floatabi.1462808122" name="Floating-point ABI" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.floatabi" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.floatabi.value.hard" valueType="enumerated"/>
-                                                       <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board.2019485709" name="Board" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board" value="genericBoard" valueType="string"/>
-                                                       <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults.1418459043" name="Defaults" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults" value="com.st.stm32cube.ide.common.services.build.inputs.revA.1.0.0 || Release || false || Executable || com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.base.gnu-tools-for-stm32 || STM32F767ZITx || 0 || arm-none-eabi- || ${gnu_tools_for_stm32_compiler_path} || ../Inc | ../Drivers/CMSIS/Include | ../Drivers/CMSIS/Device/ST/STM32F7xx/Include | ../Drivers/STM32F7xx_HAL_Driver/Inc | ../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy || ../ ||  || USE_HAL_DRIVER | STM32F767xx ||  || Startup || Drivers | Src ||  || ${workspace_loc:/${ProjName}/STM32F767ZITX_FLASH.ld} || true" valueType="string"/>
-                                                       <targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform.795049488" isAbstract="false" osList="all" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform"/>
-                                                       <builder buildPath="${workspace_loc:/rosserial_test}/Release" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder.1832009400" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder"/>
-                                                       <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.647530436" name="MCU GCC Assembler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler">
-                                                               <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.338898279" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.value.g0" valueType="enumerated"/>
-                                                               <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.includepaths.275881175" name="Include paths (-I)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.includepaths" valueType="includePath">
+                               <configuration artifactExtension="elf" artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release" cleanCommand="rm -rf" description="" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1567199532" name="Release" parent="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release">
+                                       <folderInfo id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1567199532." name="/" resourcePath="">
+                                               <toolChain id="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.release.1880777392" name="MCU ARM GCC" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.release">
+                                                       <option id="com.st.stm32cube.ide.mcu.option.internal.toolchain.type.161031398" name="Internal Toolchain Type" superClass="com.st.stm32cube.ide.mcu.option.internal.toolchain.type" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.base.gnu-tools-for-stm32" valueType="string"/>
+                                                       <option id="com.st.stm32cube.ide.mcu.option.internal.toolchain.version.1631539329" name="Internal Toolchain Version" superClass="com.st.stm32cube.ide.mcu.option.internal.toolchain.version" value="7-2018-q2-update" valueType="string"/>
+                                                       <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu.924495688" name="Mcu" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu" value="STM32F767ZITx" valueType="string"/>
+                                                       <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid.1071035933" name="CpuId" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid" value="0" valueType="string"/>
+                                                       <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid.210375373" name="CpuCoreId" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid" value="0" valueType="string"/>
+                                                       <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.fpu.543544251" name="Floating-point unit" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.fpu" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.fpu.value.fpv5-d16" valueType="enumerated"/>
+                                                       <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.floatabi.1917860479" name="Floating-point ABI" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.floatabi" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.floatabi.value.hard" valueType="enumerated"/>
+                                                       <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board.175528528" name="Board" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board" value="genericBoard" valueType="string"/>
+                                                       <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults.1232776262" name="Defaults" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults" value="com.st.stm32cube.ide.common.services.build.inputs.revA.1.0.0 || Release || false || Executable || com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.base.gnu-tools-for-stm32 || STM32F767ZITx || 0 || arm-none-eabi- || ${gnu_tools_for_stm32_compiler_path} || ../Inc | ../Drivers/CMSIS/Include | ../Drivers/CMSIS/Device/ST/STM32F7xx/Include | ../Drivers/STM32F7xx_HAL_Driver/Inc | ../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy || ../ ||  || USE_HAL_DRIVER | STM32F767xx ||  || Startup || Drivers | Src ||  || ${workspace_loc:/${ProjName}/STM32F767ZITX_FLASH.ld} || true" valueType="string"/>
+                                                       <targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform.304503877" isAbstract="false" osList="all" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform"/>
+                                                       <builder buildPath="${workspace_loc:/rosserial_test}/Release" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder.638985396" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder"/>
+                                                       <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.62424479" name="MCU GCC Assembler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler">
+                                                               <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.1898353712" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.value.g0" valueType="enumerated"/>
+                                                               <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.includepaths.734956031" name="Include paths (-I)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.includepaths" valueType="includePath">
                                                                        <listOptionValue builtIn="false" value="../"/>
                                                                </option>
-                                                               <inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input.1870557161" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input"/>
+                                                               <inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input.1801698670" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input"/>
                                                        </tool>
-                                                       <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.873001624" name="MCU GCC Compiler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler">
-                                                               <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel.787593002" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel.value.g0" valueType="enumerated"/>
-                                                               <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level.598246412" name="Optimization level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level.value.o3" valueType="enumerated"/>
-                                                               <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols.828141580" name="Define symbols (-D)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols" useByScannerDiscovery="false" valueType="definedSymbols">
+                                                       <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.1868314740" name="MCU GCC Compiler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler">
+                                                               <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel.1127889030" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel.value.g0" valueType="enumerated"/>
+                                                               <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level.310009720" name="Optimization level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level.value.o3" valueType="enumerated"/>
+                                                               <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols.828026503" name="Define symbols (-D)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols" useByScannerDiscovery="false" valueType="definedSymbols">
                                                                        <listOptionValue builtIn="false" value="USE_HAL_DRIVER"/>
                                                                        <listOptionValue builtIn="false" value="STM32F767xx"/>
                                                                </option>
-                                                               <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths.1450277692" name="Include paths (-I)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths" useByScannerDiscovery="false" valueType="includePath">
+                                                               <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths.1692546308" name="Include paths (-I)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths" useByScannerDiscovery="false" valueType="includePath">
                                                                        <listOptionValue builtIn="false" value="../Inc"/>
                                                                        <listOptionValue builtIn="false" value="../Drivers/CMSIS/Include"/>
                                                                        <listOptionValue builtIn="false" value="../Drivers/CMSIS/Device/ST/STM32F7xx/Include"/>
                                                                        <listOptionValue builtIn="false" value="../Drivers/STM32F7xx_HAL_Driver/Inc"/>
                                                                        <listOptionValue builtIn="false" value="../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy"/>
                                                                </option>
-                                                               <inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.1439561519" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c"/>
+                                                               <inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.448971019" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c"/>
                                                        </tool>
-                                                       <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.105644411" name="MCU G++ Compiler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler">
-                                                               <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel.573605373" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel.value.g0" valueType="enumerated"/>
-                                                               <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level.1136888759" name="Optimization level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level.value.o3" valueType="enumerated"/>
-                                                               <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.includepaths.554705507" name="Include paths (-I)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.includepaths" useByScannerDiscovery="false" valueType="includePath">
+                                                       <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.397469470" name="MCU G++ Compiler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler">
+                                                               <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel.1398066948" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel.value.g0" valueType="enumerated"/>
+                                                               <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level.440991187" name="Optimization level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level.value.o3" valueType="enumerated"/>
+                                                               <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.includepaths.1939502239" name="Include paths (-I)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.includepaths" useByScannerDiscovery="false" valueType="includePath">
                                                                        <listOptionValue builtIn="false" value="../Inc"/>
                                                                        <listOptionValue builtIn="false" value="../Drivers/CMSIS/Include"/>
                                                                        <listOptionValue builtIn="false" value="../Drivers/CMSIS/Device/ST/STM32F7xx/Include"/>
                                                                        <listOptionValue builtIn="false" value="../Drivers/STM32F7xx_HAL_Driver/Inc"/>
                                                                        <listOptionValue builtIn="false" value="../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy"/>
                                                                </option>
-                                                               <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.definedsymbols.1290928021" name="Define symbols (-D)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.definedsymbols" useByScannerDiscovery="false" valueType="definedSymbols">
+                                                               <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.definedsymbols.1181783938" name="Define symbols (-D)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.definedsymbols" useByScannerDiscovery="false" valueType="definedSymbols">
                                                                        <listOptionValue builtIn="false" value="USE_HAL_DRIVER"/>
                                                                        <listOptionValue builtIn="false" value="STM32F767xx"/>
                                                                </option>
-                                                               <inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.input.cpp.930142684" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.input.cpp"/>
+                                                               <inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.input.cpp.298665761" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.input.cpp"/>
                                                        </tool>
-                                                       <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.389798558" name="MCU GCC Linker" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker">
-                                                               <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.script.1377672154" name="Linker Script (-T)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.script" value="${workspace_loc:/${ProjName}/STM32F767ZITX_FLASH.ld}" valueType="string"/>
-                                                               <inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.input.113357705" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.input">
+                                                       <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.1761428764" name="MCU GCC Linker" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker">
+                                                               <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.script.304637512" name="Linker Script (-T)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.script" value="${workspace_loc:/${ProjName}/STM32F767ZITX_FLASH.ld}" valueType="string"/>
+                                                               <inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.input.1340686849" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.input">
                                                                        <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
                                                                        <additionalInput kind="additionalinput" paths="$(LIBS)"/>
                                                                </inputType>
                                                        </tool>
-                                                       <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.1113951157" name="MCU G++ Linker" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker">
-                                                               <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.option.script.840911601" name="Linker Script (-T)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.option.script" value="${workspace_loc:/${ProjName}/STM32F767ZITX_FLASH.ld}" valueType="string"/>
-                                                               <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.option.systemcalls.32080964" name="System calls" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.option.systemcalls" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.systemcalls.value.minimalimplementation" valueType="enumerated"/>
-                                                               <inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.input.1053120963" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.input">
+                                                       <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.1906475392" name="MCU G++ Linker" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker">
+                                                               <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.option.script.1089437421" name="Linker Script (-T)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.option.script" value="${workspace_loc:/${ProjName}/STM32F767ZITX_FLASH.ld}" valueType="string"/>
+                                                               <option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.option.systemcalls.1540903533" name="System calls" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.option.systemcalls" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.systemcalls.value.minimalimplementation" valueType="enumerated"/>
+                                                               <inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.input.323190229" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.input">
                                                                        <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
                                                                        <additionalInput kind="additionalinput" paths="$(LIBS)"/>
                                                                </inputType>
                                                        </tool>
-                                                       <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver.1518282746" name="MCU GCC Archiver" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver"/>
-                                                       <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size.691924534" name="MCU Size" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size"/>
-                                                       <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile.1732901055" name="MCU Output Converter list file" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile"/>
-                                                       <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex.2128378234" name="MCU Output Converter Hex" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex"/>
-                                                       <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary.566855543" name="MCU Output Converter Binary" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary"/>
-                                                       <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog.112262915" name="MCU Output Converter Verilog" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog"/>
-                                                       <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec.494864328" name="MCU Output Converter Motorola S-rec" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec"/>
-                                                       <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec.1620968020" name="MCU Output Converter Motorola S-rec with symbols" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec"/>
+                                                       <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver.515606871" name="MCU GCC Archiver" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver"/>
+                                                       <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size.10258681" name="MCU Size" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size"/>
+                                                       <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile.1270528861" name="MCU Output Converter list file" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile"/>
+                                                       <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex.675108448" name="MCU Output Converter Hex" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex"/>
+                                                       <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary.687066066" name="MCU Output Converter Binary" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary"/>
+                                                       <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog.385351904" name="MCU Output Converter Verilog" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog"/>
+                                                       <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec.443182926" name="MCU Output Converter Motorola S-rec" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec"/>
+                                                       <tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec.1867000292" name="MCU Output Converter Motorola S-rec with symbols" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec"/>
                                                </toolChain>
                                        </folderInfo>
                                        <sourceEntries>
                <scannerConfigBuildInfo instanceId="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1770731246;com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1770731246.;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.101636082;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.1659970660">
                        <autodiscovery enabled="false" problemReportingEnabled="true" selectedProfileId=""/>
                </scannerConfigBuildInfo>
+               <scannerConfigBuildInfo instanceId="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1616350920;com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1616350920.;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.1904393940;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.1536400589">
+                       <autodiscovery enabled="false" problemReportingEnabled="true" selectedProfileId=""/>
+               </scannerConfigBuildInfo>
                <scannerConfigBuildInfo instanceId="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.831272840;com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.831272840.;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.1699301827;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.input.cpp.1951458697">
                        <autodiscovery enabled="false" problemReportingEnabled="true" selectedProfileId=""/>
                </scannerConfigBuildInfo>
+               <scannerConfigBuildInfo instanceId="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.875985765;com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.875985765.;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.654297081;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.input.cpp.588422766">
+                       <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+               </scannerConfigBuildInfo>
                <scannerConfigBuildInfo instanceId="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1030040177;com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1030040177.;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.105644411;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.input.cpp.930142684">
                        <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
                </scannerConfigBuildInfo>
+               <scannerConfigBuildInfo instanceId="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1875988056;com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1875988056.;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.398675180;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.input.cpp.1024940">
+                       <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+               </scannerConfigBuildInfo>
+               <scannerConfigBuildInfo instanceId="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1344726095;com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1344726095.;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.92605140;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.input.cpp.762137204">
+                       <autodiscovery enabled="false" problemReportingEnabled="true" selectedProfileId=""/>
+               </scannerConfigBuildInfo>
+               <scannerConfigBuildInfo instanceId="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1030040177;com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1030040177.;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.873001624;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.1439561519">
+                       <autodiscovery enabled="false" problemReportingEnabled="true" selectedProfileId=""/>
+               </scannerConfigBuildInfo>
+               <scannerConfigBuildInfo instanceId="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1567199532;com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1567199532.;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.1868314740;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.448971019">
+                       <autodiscovery enabled="false" problemReportingEnabled="true" selectedProfileId=""/>
+               </scannerConfigBuildInfo>
+               <scannerConfigBuildInfo instanceId="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1567199532;com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1567199532.;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.397469470;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.input.cpp.298665761">
+                       <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+               </scannerConfigBuildInfo>
+               <scannerConfigBuildInfo instanceId="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1710326050;com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1710326050.;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.1746574244;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.1887120486">
+                       <autodiscovery enabled="false" problemReportingEnabled="true" selectedProfileId=""/>
+               </scannerConfigBuildInfo>
+               <scannerConfigBuildInfo instanceId="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.180618312;com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.180618312.;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.500583811;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.1182061308">
+                       <autodiscovery enabled="false" problemReportingEnabled="true" selectedProfileId=""/>
+               </scannerConfigBuildInfo>
+               <scannerConfigBuildInfo instanceId="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.180618312;com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.180618312.;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.628072540;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.input.cpp.1118308750">
+                       <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+               </scannerConfigBuildInfo>
                <scannerConfigBuildInfo instanceId="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.112863703;com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.112863703.;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.1267752450;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.296136203">
                        <autodiscovery enabled="false" problemReportingEnabled="true" selectedProfileId=""/>
                </scannerConfigBuildInfo>
                <scannerConfigBuildInfo instanceId="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1770731246;com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1770731246.;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.573995662;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.input.cpp.1808157565">
                        <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
                </scannerConfigBuildInfo>
+               <scannerConfigBuildInfo instanceId="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1616350920;com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1616350920.;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.1771851839;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.input.cpp.1408252917">
+                       <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+               </scannerConfigBuildInfo>
                <scannerConfigBuildInfo instanceId="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1344726095;com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1344726095.;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.103525243;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.234078500">
                        <autodiscovery enabled="false" problemReportingEnabled="true" selectedProfileId=""/>
                </scannerConfigBuildInfo>
                <scannerConfigBuildInfo instanceId="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.831272840;com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.831272840.;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.231787141;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.1552901374">
                        <autodiscovery enabled="false" problemReportingEnabled="true" selectedProfileId=""/>
                </scannerConfigBuildInfo>
-               <scannerConfigBuildInfo instanceId="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1344726095;com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1344726095.;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.92605140;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.input.cpp.762137204">
+               <scannerConfigBuildInfo instanceId="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.875985765;com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.875985765.;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.399040309;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.1431955331">
                        <autodiscovery enabled="false" problemReportingEnabled="true" selectedProfileId=""/>
                </scannerConfigBuildInfo>
-               <scannerConfigBuildInfo instanceId="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1030040177;com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1030040177.;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.873001624;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.1439561519">
+               <scannerConfigBuildInfo instanceId="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1875988056;com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1875988056.;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.740007218;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.1574776698">
                        <autodiscovery enabled="false" problemReportingEnabled="true" selectedProfileId=""/>
                </scannerConfigBuildInfo>
+               <scannerConfigBuildInfo instanceId="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1710326050;com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1710326050.;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.885877558;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.input.cpp.174994890">
+                       <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+               </scannerConfigBuildInfo>
        </storageModule>
 </cproject>
similarity index 97%
rename from rosserial_test/.mxproject
rename to rosserial_hello_world/.mxproject
index 6341bfac1f9eaf1ddd3a1240a6d1271e7fca34ea..d18ce26bdbecdbf3e41361dc2b122b0dcf20150d 100644 (file)
@@ -1,7 +1,7 @@
 [PreviousGenFiles]\r
-HeaderPath=/home/fdila/Projects/otto/rosserial_test/Inc\r
+HeaderPath=/home/fdila/Projects/otto/rosserial_hello_world/Inc\r
 HeaderFiles=stm32f7xx_it.h;stm32f7xx_hal_conf.h;main.h;\r
-SourcePath=/home/fdila/Projects/otto/rosserial_test/Src\r
+SourcePath=/home/fdila/Projects/otto/rosserial_hello_world/Src\r
 SourceFiles=stm32f7xx_it.c;stm32f7xx_hal_msp.c;main.c;\r
 \r
 [PreviousLibFiles]\r
similarity index 96%
rename from rosserial_test/.project
rename to rosserial_hello_world/.project
index 3cf2835efcb56c06dfc517718c26e04d25939681..0315f22e99ceb8e5fe6705be1ab74f014bd81a81 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <projectDescription>
-       <name>rosserial_test</name>
+       <name>rosserial_hello_world</name>
        <comment></comment>
        <projects>
        </projects>
similarity index 96%
rename from rosserial_test/.settings/language.settings.xml
rename to rosserial_hello_world/.settings/language.settings.xml
index 7aa498b8022d9ccb8452095fc3075c451bfd3695..43da2716cc008a1a992209585a91cc859b43c7f1 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <project>
-       <configuration id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1770731246" name="Debug">
+       <configuration id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1616350920" name="Debug">
                <extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
                        <provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
                        <provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
@@ -12,7 +12,7 @@
                        </provider>
                </extension>
        </configuration>
-       <configuration id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1030040177" name="Release">
+       <configuration id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1567199532" name="Release">
                <extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
                        <provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
                        <provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
similarity index 89%
rename from rosserial_test/Debug/Drivers/STM32F7xx_HAL_Driver/Src/subdir.mk
rename to rosserial_hello_world/Debug/Drivers/STM32F7xx_HAL_Driver/Src/subdir.mk
index e8ba2fbae78a19329638904ab2ceaaad1fa4846d..cc497af99aeabab42458ddc5c07306715756d441 100644 (file)
@@ -66,39 +66,39 @@ C_DEPS += \
 
 # Each subdirectory must supply rules for building sources it contributes
 Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal.o: ../Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal.c
-       arm-none-eabi-gcc "$<" -mcpu=cortex-m7 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F767xx -DDEBUG -c -I../Inc -I../Drivers/CMSIS/Include -I../Drivers/CMSIS/Device/ST/STM32F7xx/Include -I../Drivers/STM32F7xx_HAL_Driver/Inc -I../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal.d" -MT"$@"  -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "$@"
+       arm-none-eabi-gcc "$<" -mcpu=cortex-m7 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F767xx -DDEBUG -c -I../Inc -I../Drivers/CMSIS/Include -I../Drivers/CMSIS/Device/ST/STM32F7xx/Include -I../Drivers/STM32F7xx_HAL_Driver/Inc -I../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal.d" -MT"$@" --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "$@"
 Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.o: ../Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c
-       arm-none-eabi-gcc "$<" -mcpu=cortex-m7 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F767xx -DDEBUG -c -I../Inc -I../Drivers/CMSIS/Include -I../Drivers/CMSIS/Device/ST/STM32F7xx/Include -I../Drivers/STM32F7xx_HAL_Driver/Inc -I../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.d" -MT"$@"  -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "$@"
+       arm-none-eabi-gcc "$<" -mcpu=cortex-m7 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F767xx -DDEBUG -c -I../Inc -I../Drivers/CMSIS/Include -I../Drivers/CMSIS/Device/ST/STM32F7xx/Include -I../Drivers/STM32F7xx_HAL_Driver/Inc -I../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.d" -MT"$@" --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "$@"
 Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_dma.o: ../Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_dma.c
-       arm-none-eabi-gcc "$<" -mcpu=cortex-m7 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F767xx -DDEBUG -c -I../Inc -I../Drivers/CMSIS/Include -I../Drivers/CMSIS/Device/ST/STM32F7xx/Include -I../Drivers/STM32F7xx_HAL_Driver/Inc -I../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_dma.d" -MT"$@"  -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "$@"
+       arm-none-eabi-gcc "$<" -mcpu=cortex-m7 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F767xx -DDEBUG -c -I../Inc -I../Drivers/CMSIS/Include -I../Drivers/CMSIS/Device/ST/STM32F7xx/Include -I../Drivers/STM32F7xx_HAL_Driver/Inc -I../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_dma.d" -MT"$@" --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "$@"
 Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_dma_ex.o: ../Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_dma_ex.c
-       arm-none-eabi-gcc "$<" -mcpu=cortex-m7 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F767xx -DDEBUG -c -I../Inc -I../Drivers/CMSIS/Include -I../Drivers/CMSIS/Device/ST/STM32F7xx/Include -I../Drivers/STM32F7xx_HAL_Driver/Inc -I../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_dma_ex.d" -MT"$@"  -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "$@"
+       arm-none-eabi-gcc "$<" -mcpu=cortex-m7 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F767xx -DDEBUG -c -I../Inc -I../Drivers/CMSIS/Include -I../Drivers/CMSIS/Device/ST/STM32F7xx/Include -I../Drivers/STM32F7xx_HAL_Driver/Inc -I../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_dma_ex.d" -MT"$@" --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "$@"
 Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.o: ../Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c
-       arm-none-eabi-gcc "$<" -mcpu=cortex-m7 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F767xx -DDEBUG -c -I../Inc -I../Drivers/CMSIS/Include -I../Drivers/CMSIS/Device/ST/STM32F7xx/Include -I../Drivers/STM32F7xx_HAL_Driver/Inc -I../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.d" -MT"$@"  -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "$@"
+       arm-none-eabi-gcc "$<" -mcpu=cortex-m7 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F767xx -DDEBUG -c -I../Inc -I../Drivers/CMSIS/Include -I../Drivers/CMSIS/Device/ST/STM32F7xx/Include -I../Drivers/STM32F7xx_HAL_Driver/Inc -I../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.d" -MT"$@" --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "$@"
 Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_flash.o: ../Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_flash.c
-       arm-none-eabi-gcc "$<" -mcpu=cortex-m7 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F767xx -DDEBUG -c -I../Inc -I../Drivers/CMSIS/Include -I../Drivers/CMSIS/Device/ST/STM32F7xx/Include -I../Drivers/STM32F7xx_HAL_Driver/Inc -I../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_flash.d" -MT"$@"  -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "$@"
+       arm-none-eabi-gcc "$<" -mcpu=cortex-m7 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F767xx -DDEBUG -c -I../Inc -I../Drivers/CMSIS/Include -I../Drivers/CMSIS/Device/ST/STM32F7xx/Include -I../Drivers/STM32F7xx_HAL_Driver/Inc -I../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_flash.d" -MT"$@" --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "$@"
 Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_flash_ex.o: ../Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_flash_ex.c
-       arm-none-eabi-gcc "$<" -mcpu=cortex-m7 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F767xx -DDEBUG -c -I../Inc -I../Drivers/CMSIS/Include -I../Drivers/CMSIS/Device/ST/STM32F7xx/Include -I../Drivers/STM32F7xx_HAL_Driver/Inc -I../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_flash_ex.d" -MT"$@"  -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "$@"
+       arm-none-eabi-gcc "$<" -mcpu=cortex-m7 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F767xx -DDEBUG -c -I../Inc -I../Drivers/CMSIS/Include -I../Drivers/CMSIS/Device/ST/STM32F7xx/Include -I../Drivers/STM32F7xx_HAL_Driver/Inc -I../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_flash_ex.d" -MT"$@" --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "$@"
 Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.o: ../Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c
-       arm-none-eabi-gcc "$<" -mcpu=cortex-m7 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F767xx -DDEBUG -c -I../Inc -I../Drivers/CMSIS/Include -I../Drivers/CMSIS/Device/ST/STM32F7xx/Include -I../Drivers/STM32F7xx_HAL_Driver/Inc -I../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.d" -MT"$@"  -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "$@"
+       arm-none-eabi-gcc "$<" -mcpu=cortex-m7 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F767xx -DDEBUG -c -I../Inc -I../Drivers/CMSIS/Include -I../Drivers/CMSIS/Device/ST/STM32F7xx/Include -I../Drivers/STM32F7xx_HAL_Driver/Inc -I../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.d" -MT"$@" --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "$@"
 Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_i2c.o: ../Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_i2c.c
-       arm-none-eabi-gcc "$<" -mcpu=cortex-m7 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F767xx -DDEBUG -c -I../Inc -I../Drivers/CMSIS/Include -I../Drivers/CMSIS/Device/ST/STM32F7xx/Include -I../Drivers/STM32F7xx_HAL_Driver/Inc -I../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_i2c.d" -MT"$@"  -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "$@"
+       arm-none-eabi-gcc "$<" -mcpu=cortex-m7 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F767xx -DDEBUG -c -I../Inc -I../Drivers/CMSIS/Include -I../Drivers/CMSIS/Device/ST/STM32F7xx/Include -I../Drivers/STM32F7xx_HAL_Driver/Inc -I../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_i2c.d" -MT"$@" --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "$@"
 Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_i2c_ex.o: ../Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_i2c_ex.c
-       arm-none-eabi-gcc "$<" -mcpu=cortex-m7 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F767xx -DDEBUG -c -I../Inc -I../Drivers/CMSIS/Include -I../Drivers/CMSIS/Device/ST/STM32F7xx/Include -I../Drivers/STM32F7xx_HAL_Driver/Inc -I../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_i2c_ex.d" -MT"$@"  -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "$@"
+       arm-none-eabi-gcc "$<" -mcpu=cortex-m7 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F767xx -DDEBUG -c -I../Inc -I../Drivers/CMSIS/Include -I../Drivers/CMSIS/Device/ST/STM32F7xx/Include -I../Drivers/STM32F7xx_HAL_Driver/Inc -I../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_i2c_ex.d" -MT"$@" --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "$@"
 Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_pwr.o: ../Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_pwr.c
-       arm-none-eabi-gcc "$<" -mcpu=cortex-m7 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F767xx -DDEBUG -c -I../Inc -I../Drivers/CMSIS/Include -I../Drivers/CMSIS/Device/ST/STM32F7xx/Include -I../Drivers/STM32F7xx_HAL_Driver/Inc -I../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_pwr.d" -MT"$@"  -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "$@"
+       arm-none-eabi-gcc "$<" -mcpu=cortex-m7 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F767xx -DDEBUG -c -I../Inc -I../Drivers/CMSIS/Include -I../Drivers/CMSIS/Device/ST/STM32F7xx/Include -I../Drivers/STM32F7xx_HAL_Driver/Inc -I../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_pwr.d" -MT"$@" --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "$@"
 Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_pwr_ex.o: ../Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_pwr_ex.c
-       arm-none-eabi-gcc "$<" -mcpu=cortex-m7 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F767xx -DDEBUG -c -I../Inc -I../Drivers/CMSIS/Include -I../Drivers/CMSIS/Device/ST/STM32F7xx/Include -I../Drivers/STM32F7xx_HAL_Driver/Inc -I../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_pwr_ex.d" -MT"$@"  -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "$@"
+       arm-none-eabi-gcc "$<" -mcpu=cortex-m7 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F767xx -DDEBUG -c -I../Inc -I../Drivers/CMSIS/Include -I../Drivers/CMSIS/Device/ST/STM32F7xx/Include -I../Drivers/STM32F7xx_HAL_Driver/Inc -I../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_pwr_ex.d" -MT"$@" --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "$@"
 Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_rcc.o: ../Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_rcc.c
-       arm-none-eabi-gcc "$<" -mcpu=cortex-m7 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F767xx -DDEBUG -c -I../Inc -I../Drivers/CMSIS/Include -I../Drivers/CMSIS/Device/ST/STM32F7xx/Include -I../Drivers/STM32F7xx_HAL_Driver/Inc -I../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_rcc.d" -MT"$@"  -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "$@"
+       arm-none-eabi-gcc "$<" -mcpu=cortex-m7 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F767xx -DDEBUG -c -I../Inc -I../Drivers/CMSIS/Include -I../Drivers/CMSIS/Device/ST/STM32F7xx/Include -I../Drivers/STM32F7xx_HAL_Driver/Inc -I../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_rcc.d" -MT"$@" --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "$@"
 Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_rcc_ex.o: ../Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_rcc_ex.c
-       arm-none-eabi-gcc "$<" -mcpu=cortex-m7 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F767xx -DDEBUG -c -I../Inc -I../Drivers/CMSIS/Include -I../Drivers/CMSIS/Device/ST/STM32F7xx/Include -I../Drivers/STM32F7xx_HAL_Driver/Inc -I../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_rcc_ex.d" -MT"$@"  -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "$@"
+       arm-none-eabi-gcc "$<" -mcpu=cortex-m7 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F767xx -DDEBUG -c -I../Inc -I../Drivers/CMSIS/Include -I../Drivers/CMSIS/Device/ST/STM32F7xx/Include -I../Drivers/STM32F7xx_HAL_Driver/Inc -I../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_rcc_ex.d" -MT"$@" --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "$@"
 Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_tim.o: ../Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_tim.c
-       arm-none-eabi-gcc "$<" -mcpu=cortex-m7 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F767xx -DDEBUG -c -I../Inc -I../Drivers/CMSIS/Include -I../Drivers/CMSIS/Device/ST/STM32F7xx/Include -I../Drivers/STM32F7xx_HAL_Driver/Inc -I../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_tim.d" -MT"$@"  -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "$@"
+       arm-none-eabi-gcc "$<" -mcpu=cortex-m7 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F767xx -DDEBUG -c -I../Inc -I../Drivers/CMSIS/Include -I../Drivers/CMSIS/Device/ST/STM32F7xx/Include -I../Drivers/STM32F7xx_HAL_Driver/Inc -I../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_tim.d" -MT"$@" --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "$@"
 Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_tim_ex.o: ../Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_tim_ex.c
-       arm-none-eabi-gcc "$<" -mcpu=cortex-m7 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F767xx -DDEBUG -c -I../Inc -I../Drivers/CMSIS/Include -I../Drivers/CMSIS/Device/ST/STM32F7xx/Include -I../Drivers/STM32F7xx_HAL_Driver/Inc -I../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_tim_ex.d" -MT"$@"  -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "$@"
+       arm-none-eabi-gcc "$<" -mcpu=cortex-m7 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F767xx -DDEBUG -c -I../Inc -I../Drivers/CMSIS/Include -I../Drivers/CMSIS/Device/ST/STM32F7xx/Include -I../Drivers/STM32F7xx_HAL_Driver/Inc -I../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_tim_ex.d" -MT"$@" --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "$@"
 Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.o: ../Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c
-       arm-none-eabi-gcc "$<" -mcpu=cortex-m7 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F767xx -DDEBUG -c -I../Inc -I../Drivers/CMSIS/Include -I../Drivers/CMSIS/Device/ST/STM32F7xx/Include -I../Drivers/STM32F7xx_HAL_Driver/Inc -I../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.d" -MT"$@"  -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "$@"
+       arm-none-eabi-gcc "$<" -mcpu=cortex-m7 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F767xx -DDEBUG -c -I../Inc -I../Drivers/CMSIS/Include -I../Drivers/CMSIS/Device/ST/STM32F7xx/Include -I../Drivers/STM32F7xx_HAL_Driver/Inc -I../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.d" -MT"$@" --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "$@"
 Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart_ex.o: ../Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart_ex.c
-       arm-none-eabi-gcc "$<" -mcpu=cortex-m7 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F767xx -DDEBUG -c -I../Inc -I../Drivers/CMSIS/Include -I../Drivers/CMSIS/Device/ST/STM32F7xx/Include -I../Drivers/STM32F7xx_HAL_Driver/Inc -I../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart_ex.d" -MT"$@"  -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "$@"
+       arm-none-eabi-gcc "$<" -mcpu=cortex-m7 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F767xx -DDEBUG -c -I../Inc -I../Drivers/CMSIS/Include -I../Drivers/CMSIS/Device/ST/STM32F7xx/Include -I../Drivers/STM32F7xx_HAL_Driver/Inc -I../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart_ex.d" -MT"$@" --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "$@"
 
similarity index 81%
rename from rosserial_test/Debug/Src/subdir.mk
rename to rosserial_hello_world/Debug/Src/subdir.mk
index 024deb1d5f9f42a2d61f6dc00d83411297dfa178..02fb6301c0ba58de3394a165f769291b9eafd1b8 100644 (file)
@@ -40,19 +40,19 @@ CPP_DEPS += \
 
 # Each subdirectory must supply rules for building sources it contributes
 Src/main.o: ../Src/main.cpp
-       arm-none-eabi-g++ "$<" -mcpu=cortex-m7 -std=gnu++14 -g3 -DUSE_HAL_DRIVER -DSTM32F767xx -DDEBUG -c -I../Inc -I../Drivers/CMSIS/Include -I../Drivers/CMSIS/Device/ST/STM32F7xx/Include -I../Drivers/STM32F7xx_HAL_Driver/Inc -I../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy -O0 -ffunction-sections -fdata-sections -fno-exceptions -fno-rtti -fno-threadsafe-statics -fno-use-cxa-atexit -Wall -fstack-usage -MMD -MP -MF"Src/main.d" -MT"$@"  -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "$@"
+       arm-none-eabi-g++ "$<" -mcpu=cortex-m7 -std=gnu++14 -g3 -DUSE_HAL_DRIVER -DSTM32F767xx -DDEBUG -c -I../Inc -I../Drivers/CMSIS/Include -I../Drivers/CMSIS/Device/ST/STM32F7xx/Include -I../Drivers/STM32F7xx_HAL_Driver/Inc -I../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy -O0 -ffunction-sections -fdata-sections -fno-exceptions -fno-rtti -fno-threadsafe-statics -fno-use-cxa-atexit -Wall -fstack-usage -MMD -MP -MF"Src/main.d" -MT"$@" --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "$@"
 Src/ros_time.o: ../Src/ros_time.cpp
-       arm-none-eabi-g++ "$<" -mcpu=cortex-m7 -std=gnu++14 -g3 -DUSE_HAL_DRIVER -DSTM32F767xx -DDEBUG -c -I../Inc -I../Drivers/CMSIS/Include -I../Drivers/CMSIS/Device/ST/STM32F7xx/Include -I../Drivers/STM32F7xx_HAL_Driver/Inc -I../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy -O0 -ffunction-sections -fdata-sections -fno-exceptions -fno-rtti -fno-threadsafe-statics -fno-use-cxa-atexit -Wall -fstack-usage -MMD -MP -MF"Src/ros_time.d" -MT"$@"  -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "$@"
+       arm-none-eabi-g++ "$<" -mcpu=cortex-m7 -std=gnu++14 -g3 -DUSE_HAL_DRIVER -DSTM32F767xx -DDEBUG -c -I../Inc -I../Drivers/CMSIS/Include -I../Drivers/CMSIS/Device/ST/STM32F7xx/Include -I../Drivers/STM32F7xx_HAL_Driver/Inc -I../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy -O0 -ffunction-sections -fdata-sections -fno-exceptions -fno-rtti -fno-threadsafe-statics -fno-use-cxa-atexit -Wall -fstack-usage -MMD -MP -MF"Src/ros_time.d" -MT"$@" --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "$@"
 Src/stm32f7xx_hal_msp.o: ../Src/stm32f7xx_hal_msp.c
-       arm-none-eabi-gcc "$<" -mcpu=cortex-m7 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F767xx -DDEBUG -c -I../Inc -I../Drivers/CMSIS/Include -I../Drivers/CMSIS/Device/ST/STM32F7xx/Include -I../Drivers/STM32F7xx_HAL_Driver/Inc -I../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Src/stm32f7xx_hal_msp.d" -MT"$@"  -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "$@"
+       arm-none-eabi-gcc "$<" -mcpu=cortex-m7 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F767xx -DDEBUG -c -I../Inc -I../Drivers/CMSIS/Include -I../Drivers/CMSIS/Device/ST/STM32F7xx/Include -I../Drivers/STM32F7xx_HAL_Driver/Inc -I../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Src/stm32f7xx_hal_msp.d" -MT"$@" --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "$@"
 Src/stm32f7xx_it.o: ../Src/stm32f7xx_it.c
-       arm-none-eabi-gcc "$<" -mcpu=cortex-m7 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F767xx -DDEBUG -c -I../Inc -I../Drivers/CMSIS/Include -I../Drivers/CMSIS/Device/ST/STM32F7xx/Include -I../Drivers/STM32F7xx_HAL_Driver/Inc -I../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Src/stm32f7xx_it.d" -MT"$@"  -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "$@"
+       arm-none-eabi-gcc "$<" -mcpu=cortex-m7 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F767xx -DDEBUG -c -I../Inc -I../Drivers/CMSIS/Include -I../Drivers/CMSIS/Device/ST/STM32F7xx/Include -I../Drivers/STM32F7xx_HAL_Driver/Inc -I../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Src/stm32f7xx_it.d" -MT"$@" --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "$@"
 Src/syscalls.o: ../Src/syscalls.c
-       arm-none-eabi-gcc "$<" -mcpu=cortex-m7 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F767xx -DDEBUG -c -I../Inc -I../Drivers/CMSIS/Include -I../Drivers/CMSIS/Device/ST/STM32F7xx/Include -I../Drivers/STM32F7xx_HAL_Driver/Inc -I../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Src/syscalls.d" -MT"$@"  -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "$@"
+       arm-none-eabi-gcc "$<" -mcpu=cortex-m7 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F767xx -DDEBUG -c -I../Inc -I../Drivers/CMSIS/Include -I../Drivers/CMSIS/Device/ST/STM32F7xx/Include -I../Drivers/STM32F7xx_HAL_Driver/Inc -I../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Src/syscalls.d" -MT"$@" --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "$@"
 Src/sysmem.o: ../Src/sysmem.c
-       arm-none-eabi-gcc "$<" -mcpu=cortex-m7 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F767xx -DDEBUG -c -I../Inc -I../Drivers/CMSIS/Include -I../Drivers/CMSIS/Device/ST/STM32F7xx/Include -I../Drivers/STM32F7xx_HAL_Driver/Inc -I../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Src/sysmem.d" -MT"$@"  -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "$@"
+       arm-none-eabi-gcc "$<" -mcpu=cortex-m7 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F767xx -DDEBUG -c -I../Inc -I../Drivers/CMSIS/Include -I../Drivers/CMSIS/Device/ST/STM32F7xx/Include -I../Drivers/STM32F7xx_HAL_Driver/Inc -I../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Src/sysmem.d" -MT"$@" --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "$@"
 Src/system_stm32f7xx.o: ../Src/system_stm32f7xx.c
-       arm-none-eabi-gcc "$<" -mcpu=cortex-m7 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F767xx -DDEBUG -c -I../Inc -I../Drivers/CMSIS/Include -I../Drivers/CMSIS/Device/ST/STM32F7xx/Include -I../Drivers/STM32F7xx_HAL_Driver/Inc -I../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Src/system_stm32f7xx.d" -MT"$@"  -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "$@"
+       arm-none-eabi-gcc "$<" -mcpu=cortex-m7 -std=gnu11 -g3 -DUSE_HAL_DRIVER -DSTM32F767xx -DDEBUG -c -I../Inc -I../Drivers/CMSIS/Include -I../Drivers/CMSIS/Device/ST/STM32F7xx/Include -I../Drivers/STM32F7xx_HAL_Driver/Inc -I../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"Src/system_stm32f7xx.d" -MT"$@" --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "$@"
 Src/test.o: ../Src/test.cpp
-       arm-none-eabi-g++ "$<" -mcpu=cortex-m7 -std=gnu++14 -g3 -DUSE_HAL_DRIVER -DSTM32F767xx -DDEBUG -c -I../Inc -I../Drivers/CMSIS/Include -I../Drivers/CMSIS/Device/ST/STM32F7xx/Include -I../Drivers/STM32F7xx_HAL_Driver/Inc -I../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy -O0 -ffunction-sections -fdata-sections -fno-exceptions -fno-rtti -fno-threadsafe-statics -fno-use-cxa-atexit -Wall -fstack-usage -MMD -MP -MF"Src/test.d" -MT"$@"  -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "$@"
+       arm-none-eabi-g++ "$<" -mcpu=cortex-m7 -std=gnu++14 -g3 -DUSE_HAL_DRIVER -DSTM32F767xx -DDEBUG -c -I../Inc -I../Drivers/CMSIS/Include -I../Drivers/CMSIS/Device/ST/STM32F7xx/Include -I../Drivers/STM32F7xx_HAL_Driver/Inc -I../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy -O0 -ffunction-sections -fdata-sections -fno-exceptions -fno-rtti -fno-threadsafe-statics -fno-use-cxa-atexit -Wall -fstack-usage -MMD -MP -MF"Src/test.d" -MT"$@" --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "$@"
 
similarity index 87%
rename from rosserial_test/Debug/Startup/subdir.mk
rename to rosserial_hello_world/Debug/Startup/subdir.mk
index c14a1b12c50929bf9d54bf486086cd096e738d7a..6d369287a1b75bd123c0a0fc77a5b4312251db85 100644 (file)
@@ -12,5 +12,5 @@ OBJS += \
 
 # Each subdirectory must supply rules for building sources it contributes
 Startup/%.o: ../Startup/%.s
-       arm-none-eabi-gcc -mcpu=cortex-m7 -g3 -c -I../ -x assembler-with-cpp  -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "$@" "$<"
+       arm-none-eabi-gcc -mcpu=cortex-m7 -g3 -c -I../ -x assembler-with-cpp --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -o "$@" "$<"
 
similarity index 92%
rename from rosserial_test/Debug/makefile
rename to rosserial_hello_world/Debug/makefile
index e588334dd394eb91df0ba6bbb0b010f4cf9038c4..6da9b556175b4084b4febcfd2fe09fbcc472fc4b 100644 (file)
@@ -53,7 +53,7 @@ all: rosserial_test.elf secondary-outputs
 
 # Tool invocations
 rosserial_test.elf: $(OBJS) $(USER_OBJS) /home/fdila/Projects/otto/rosserial_test/STM32F767ZITX_FLASH.ld
-       arm-none-eabi-g++ -o "rosserial_test.elf" @"objects.list" $(USER_OBJS) $(LIBS) -mcpu=cortex-m7 -T"/home/fdila/Projects/otto/rosserial_test/STM32F767ZITX_FLASH.ld" -Wl,-Map="rosserial_test.map" -Wl,--gc-sections -static  -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -Wl,--start-group -lc -lm -lstdc++ -lsupc++ -Wl,--end-group
+       arm-none-eabi-g++ -o "rosserial_test.elf" @"objects.list" $(USER_OBJS) $(LIBS) -mcpu=cortex-m7 -T"/home/fdila/Projects/otto/rosserial_test/STM32F767ZITX_FLASH.ld" -Wl,-Map="rosserial_test.map" -Wl,--gc-sections -static --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -Wl,--start-group -lc -lm -lstdc++ -lsupc++ -Wl,--end-group
        @echo 'Finished building target: $@'
        @echo ' '
 
diff --git a/rosserial_hello_world/Debug/rosserial_test.list b/rosserial_hello_world/Debug/rosserial_test.list
new file mode 100644 (file)
index 0000000..e3946f0
--- /dev/null
@@ -0,0 +1,15090 @@
+
+rosserial_test.elf:     file format elf32-littlearm
+
+Sections:
+Idx Name          Size      VMA       LMA       File off  Algn
+  0 .isr_vector   000001f8  08000000  08000000  00010000  2**0
+                  CONTENTS, ALLOC, LOAD, READONLY, DATA
+  1 .text         00005be0  080001f8  080001f8  000101f8  2**2
+                  CONTENTS, ALLOC, LOAD, READONLY, CODE
+  2 .rodata       00000250  08005dd8  08005dd8  00015dd8  2**2
+                  CONTENTS, ALLOC, LOAD, READONLY, DATA
+  3 .ARM.extab    00000000  08006028  08006028  00020074  2**0
+                  CONTENTS
+  4 .ARM          00000008  08006028  08006028  00016028  2**2
+                  CONTENTS, ALLOC, LOAD, READONLY, DATA
+  5 .preinit_array 00000000  08006030  08006030  00020074  2**0
+                  CONTENTS, ALLOC, LOAD, DATA
+  6 .init_array   00000004  08006030  08006030  00016030  2**2
+                  CONTENTS, ALLOC, LOAD, DATA
+  7 .fini_array   00000004  08006034  08006034  00016034  2**2
+                  CONTENTS, ALLOC, LOAD, DATA
+  8 .data         00000074  20000000  08006038  00020000  2**2
+                  CONTENTS, ALLOC, LOAD, DATA
+  9 .bss          000001b4  20000074  080060ac  00020074  2**2
+                  ALLOC
+ 10 ._user_heap_stack 00000600  20000228  080060ac  00020228  2**0
+                  ALLOC
+ 11 .ARM.attributes 0000002e  00000000  00000000  00020074  2**0
+                  CONTENTS, READONLY
+ 12 .debug_info   00012bb3  00000000  00000000  000200a2  2**0
+                  CONTENTS, READONLY, DEBUGGING
+ 13 .debug_abbrev 0000274a  00000000  00000000  00032c55  2**0
+                  CONTENTS, READONLY, DEBUGGING
+ 14 .debug_aranges 00000f00  00000000  00000000  000353a0  2**3
+                  CONTENTS, READONLY, DEBUGGING
+ 15 .debug_ranges 00000e10  00000000  00000000  000362a0  2**3
+                  CONTENTS, READONLY, DEBUGGING
+ 16 .debug_macro  0002b2b6  00000000  00000000  000370b0  2**0
+                  CONTENTS, READONLY, DEBUGGING
+ 17 .debug_line   0000b13d  00000000  00000000  00062366  2**0
+                  CONTENTS, READONLY, DEBUGGING
+ 18 .debug_str    000fa8c5  00000000  00000000  0006d4a3  2**0
+                  CONTENTS, READONLY, DEBUGGING
+ 19 .comment      0000007b  00000000  00000000  00167d68  2**0
+                  CONTENTS, READONLY
+ 20 .debug_frame  00004344  00000000  00000000  00167de4  2**2
+                  CONTENTS, READONLY, DEBUGGING
+
+Disassembly of section .text:
+
+080001f8 <__do_global_dtors_aux>:
+ 80001f8:      b510            push    {r4, lr}
+ 80001fa:      4c05            ldr     r4, [pc, #20]   ; (8000210 <__do_global_dtors_aux+0x18>)
+ 80001fc:      7823            ldrb    r3, [r4, #0]
+ 80001fe:      b933            cbnz    r3, 800020e <__do_global_dtors_aux+0x16>
+ 8000200:      4b04            ldr     r3, [pc, #16]   ; (8000214 <__do_global_dtors_aux+0x1c>)
+ 8000202:      b113            cbz     r3, 800020a <__do_global_dtors_aux+0x12>
+ 8000204:      4804            ldr     r0, [pc, #16]   ; (8000218 <__do_global_dtors_aux+0x20>)
+ 8000206:      f3af 8000       nop.w
+ 800020a:      2301            movs    r3, #1
+ 800020c:      7023            strb    r3, [r4, #0]
+ 800020e:      bd10            pop     {r4, pc}
+ 8000210:      20000074        .word   0x20000074
+ 8000214:      00000000        .word   0x00000000
+ 8000218:      08005dc0        .word   0x08005dc0
+
+0800021c <frame_dummy>:
+ 800021c:      b508            push    {r3, lr}
+ 800021e:      4b03            ldr     r3, [pc, #12]   ; (800022c <frame_dummy+0x10>)
+ 8000220:      b11b            cbz     r3, 800022a <frame_dummy+0xe>
+ 8000222:      4903            ldr     r1, [pc, #12]   ; (8000230 <frame_dummy+0x14>)
+ 8000224:      4803            ldr     r0, [pc, #12]   ; (8000234 <frame_dummy+0x18>)
+ 8000226:      f3af 8000       nop.w
+ 800022a:      bd08            pop     {r3, pc}
+ 800022c:      00000000        .word   0x00000000
+ 8000230:      20000078        .word   0x20000078
+ 8000234:      08005dc0        .word   0x08005dc0
+
+08000238 <strlen>:
+ 8000238:      4603            mov     r3, r0
+ 800023a:      f813 2b01       ldrb.w  r2, [r3], #1
+ 800023e:      2a00            cmp     r2, #0
+ 8000240:      d1fb            bne.n   800023a <strlen+0x2>
+ 8000242:      1a18            subs    r0, r3, r0
+ 8000244:      3801            subs    r0, #1
+ 8000246:      4770            bx      lr
+
+08000248 <__aeabi_uldivmod>:
+ 8000248:      b953            cbnz    r3, 8000260 <__aeabi_uldivmod+0x18>
+ 800024a:      b94a            cbnz    r2, 8000260 <__aeabi_uldivmod+0x18>
+ 800024c:      2900            cmp     r1, #0
+ 800024e:      bf08            it      eq
+ 8000250:      2800            cmpeq   r0, #0
+ 8000252:      bf1c            itt     ne
+ 8000254:      f04f 31ff       movne.w r1, #4294967295 ; 0xffffffff
+ 8000258:      f04f 30ff       movne.w r0, #4294967295 ; 0xffffffff
+ 800025c:      f000 b972       b.w     8000544 <__aeabi_idiv0>
+ 8000260:      f1ad 0c08       sub.w   ip, sp, #8
+ 8000264:      e96d ce04       strd    ip, lr, [sp, #-16]!
+ 8000268:      f000 f806       bl      8000278 <__udivmoddi4>
+ 800026c:      f8dd e004       ldr.w   lr, [sp, #4]
+ 8000270:      e9dd 2302       ldrd    r2, r3, [sp, #8]
+ 8000274:      b004            add     sp, #16
+ 8000276:      4770            bx      lr
+
+08000278 <__udivmoddi4>:
+ 8000278:      e92d 47f0       stmdb   sp!, {r4, r5, r6, r7, r8, r9, sl, lr}
+ 800027c:      9e08            ldr     r6, [sp, #32]
+ 800027e:      4604            mov     r4, r0
+ 8000280:      4688            mov     r8, r1
+ 8000282:      2b00            cmp     r3, #0
+ 8000284:      d14b            bne.n   800031e <__udivmoddi4+0xa6>
+ 8000286:      428a            cmp     r2, r1
+ 8000288:      4615            mov     r5, r2
+ 800028a:      d967            bls.n   800035c <__udivmoddi4+0xe4>
+ 800028c:      fab2 f282       clz     r2, r2
+ 8000290:      b14a            cbz     r2, 80002a6 <__udivmoddi4+0x2e>
+ 8000292:      f1c2 0720       rsb     r7, r2, #32
+ 8000296:      fa01 f302       lsl.w   r3, r1, r2
+ 800029a:      fa20 f707       lsr.w   r7, r0, r7
+ 800029e:      4095            lsls    r5, r2
+ 80002a0:      ea47 0803       orr.w   r8, r7, r3
+ 80002a4:      4094            lsls    r4, r2
+ 80002a6:      ea4f 4e15       mov.w   lr, r5, lsr #16
+ 80002aa:      0c23            lsrs    r3, r4, #16
+ 80002ac:      fbb8 f7fe       udiv    r7, r8, lr
+ 80002b0:      fa1f fc85       uxth.w  ip, r5
+ 80002b4:      fb0e 8817       mls     r8, lr, r7, r8
+ 80002b8:      ea43 4308       orr.w   r3, r3, r8, lsl #16
+ 80002bc:      fb07 f10c       mul.w   r1, r7, ip
+ 80002c0:      4299            cmp     r1, r3
+ 80002c2:      d909            bls.n   80002d8 <__udivmoddi4+0x60>
+ 80002c4:      18eb            adds    r3, r5, r3
+ 80002c6:      f107 30ff       add.w   r0, r7, #4294967295     ; 0xffffffff
+ 80002ca:      f080 811b       bcs.w   8000504 <__udivmoddi4+0x28c>
+ 80002ce:      4299            cmp     r1, r3
+ 80002d0:      f240 8118       bls.w   8000504 <__udivmoddi4+0x28c>
+ 80002d4:      3f02            subs    r7, #2
+ 80002d6:      442b            add     r3, r5
+ 80002d8:      1a5b            subs    r3, r3, r1
+ 80002da:      b2a4            uxth    r4, r4
+ 80002dc:      fbb3 f0fe       udiv    r0, r3, lr
+ 80002e0:      fb0e 3310       mls     r3, lr, r0, r3
+ 80002e4:      ea44 4403       orr.w   r4, r4, r3, lsl #16
+ 80002e8:      fb00 fc0c       mul.w   ip, r0, ip
+ 80002ec:      45a4            cmp     ip, r4
+ 80002ee:      d909            bls.n   8000304 <__udivmoddi4+0x8c>
+ 80002f0:      192c            adds    r4, r5, r4
+ 80002f2:      f100 33ff       add.w   r3, r0, #4294967295     ; 0xffffffff
+ 80002f6:      f080 8107       bcs.w   8000508 <__udivmoddi4+0x290>
+ 80002fa:      45a4            cmp     ip, r4
+ 80002fc:      f240 8104       bls.w   8000508 <__udivmoddi4+0x290>
+ 8000300:      3802            subs    r0, #2
+ 8000302:      442c            add     r4, r5
+ 8000304:      ea40 4007       orr.w   r0, r0, r7, lsl #16
+ 8000308:      eba4 040c       sub.w   r4, r4, ip
+ 800030c:      2700            movs    r7, #0
+ 800030e:      b11e            cbz     r6, 8000318 <__udivmoddi4+0xa0>
+ 8000310:      40d4            lsrs    r4, r2
+ 8000312:      2300            movs    r3, #0
+ 8000314:      e9c6 4300       strd    r4, r3, [r6]
+ 8000318:      4639            mov     r1, r7
+ 800031a:      e8bd 87f0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc}
+ 800031e:      428b            cmp     r3, r1
+ 8000320:      d909            bls.n   8000336 <__udivmoddi4+0xbe>
+ 8000322:      2e00            cmp     r6, #0
+ 8000324:      f000 80eb       beq.w   80004fe <__udivmoddi4+0x286>
+ 8000328:      2700            movs    r7, #0
+ 800032a:      e9c6 0100       strd    r0, r1, [r6]
+ 800032e:      4638            mov     r0, r7
+ 8000330:      4639            mov     r1, r7
+ 8000332:      e8bd 87f0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc}
+ 8000336:      fab3 f783       clz     r7, r3
+ 800033a:      2f00            cmp     r7, #0
+ 800033c:      d147            bne.n   80003ce <__udivmoddi4+0x156>
+ 800033e:      428b            cmp     r3, r1
+ 8000340:      d302            bcc.n   8000348 <__udivmoddi4+0xd0>
+ 8000342:      4282            cmp     r2, r0
+ 8000344:      f200 80fa       bhi.w   800053c <__udivmoddi4+0x2c4>
+ 8000348:      1a84            subs    r4, r0, r2
+ 800034a:      eb61 0303       sbc.w   r3, r1, r3
+ 800034e:      2001            movs    r0, #1
+ 8000350:      4698            mov     r8, r3
+ 8000352:      2e00            cmp     r6, #0
+ 8000354:      d0e0            beq.n   8000318 <__udivmoddi4+0xa0>
+ 8000356:      e9c6 4800       strd    r4, r8, [r6]
+ 800035a:      e7dd            b.n     8000318 <__udivmoddi4+0xa0>
+ 800035c:      b902            cbnz    r2, 8000360 <__udivmoddi4+0xe8>
+ 800035e:      deff            udf     #255    ; 0xff
+ 8000360:      fab2 f282       clz     r2, r2
+ 8000364:      2a00            cmp     r2, #0
+ 8000366:      f040 808f       bne.w   8000488 <__udivmoddi4+0x210>
+ 800036a:      1b49            subs    r1, r1, r5
+ 800036c:      ea4f 4e15       mov.w   lr, r5, lsr #16
+ 8000370:      fa1f f885       uxth.w  r8, r5
+ 8000374:      2701            movs    r7, #1
+ 8000376:      fbb1 fcfe       udiv    ip, r1, lr
+ 800037a:      0c23            lsrs    r3, r4, #16
+ 800037c:      fb0e 111c       mls     r1, lr, ip, r1
+ 8000380:      ea43 4301       orr.w   r3, r3, r1, lsl #16
+ 8000384:      fb08 f10c       mul.w   r1, r8, ip
+ 8000388:      4299            cmp     r1, r3
+ 800038a:      d907            bls.n   800039c <__udivmoddi4+0x124>
+ 800038c:      18eb            adds    r3, r5, r3
+ 800038e:      f10c 30ff       add.w   r0, ip, #4294967295     ; 0xffffffff
+ 8000392:      d202            bcs.n   800039a <__udivmoddi4+0x122>
+ 8000394:      4299            cmp     r1, r3
+ 8000396:      f200 80cd       bhi.w   8000534 <__udivmoddi4+0x2bc>
+ 800039a:      4684            mov     ip, r0
+ 800039c:      1a59            subs    r1, r3, r1
+ 800039e:      b2a3            uxth    r3, r4
+ 80003a0:      fbb1 f0fe       udiv    r0, r1, lr
+ 80003a4:      fb0e 1410       mls     r4, lr, r0, r1
+ 80003a8:      ea43 4404       orr.w   r4, r3, r4, lsl #16
+ 80003ac:      fb08 f800       mul.w   r8, r8, r0
+ 80003b0:      45a0            cmp     r8, r4
+ 80003b2:      d907            bls.n   80003c4 <__udivmoddi4+0x14c>
+ 80003b4:      192c            adds    r4, r5, r4
+ 80003b6:      f100 33ff       add.w   r3, r0, #4294967295     ; 0xffffffff
+ 80003ba:      d202            bcs.n   80003c2 <__udivmoddi4+0x14a>
+ 80003bc:      45a0            cmp     r8, r4
+ 80003be:      f200 80b6       bhi.w   800052e <__udivmoddi4+0x2b6>
+ 80003c2:      4618            mov     r0, r3
+ 80003c4:      eba4 0408       sub.w   r4, r4, r8
+ 80003c8:      ea40 400c       orr.w   r0, r0, ip, lsl #16
+ 80003cc:      e79f            b.n     800030e <__udivmoddi4+0x96>
+ 80003ce:      f1c7 0c20       rsb     ip, r7, #32
+ 80003d2:      40bb            lsls    r3, r7
+ 80003d4:      fa22 fe0c       lsr.w   lr, r2, ip
+ 80003d8:      ea4e 0e03       orr.w   lr, lr, r3
+ 80003dc:      fa01 f407       lsl.w   r4, r1, r7
+ 80003e0:      fa20 f50c       lsr.w   r5, r0, ip
+ 80003e4:      fa21 f30c       lsr.w   r3, r1, ip
+ 80003e8:      ea4f 481e       mov.w   r8, lr, lsr #16
+ 80003ec:      4325            orrs    r5, r4
+ 80003ee:      fbb3 f9f8       udiv    r9, r3, r8
+ 80003f2:      0c2c            lsrs    r4, r5, #16
+ 80003f4:      fb08 3319       mls     r3, r8, r9, r3
+ 80003f8:      fa1f fa8e       uxth.w  sl, lr
+ 80003fc:      ea44 4303       orr.w   r3, r4, r3, lsl #16
+ 8000400:      fb09 f40a       mul.w   r4, r9, sl
+ 8000404:      429c            cmp     r4, r3
+ 8000406:      fa02 f207       lsl.w   r2, r2, r7
+ 800040a:      fa00 f107       lsl.w   r1, r0, r7
+ 800040e:      d90b            bls.n   8000428 <__udivmoddi4+0x1b0>
+ 8000410:      eb1e 0303       adds.w  r3, lr, r3
+ 8000414:      f109 30ff       add.w   r0, r9, #4294967295     ; 0xffffffff
+ 8000418:      f080 8087       bcs.w   800052a <__udivmoddi4+0x2b2>
+ 800041c:      429c            cmp     r4, r3
+ 800041e:      f240 8084       bls.w   800052a <__udivmoddi4+0x2b2>
+ 8000422:      f1a9 0902       sub.w   r9, r9, #2
+ 8000426:      4473            add     r3, lr
+ 8000428:      1b1b            subs    r3, r3, r4
+ 800042a:      b2ad            uxth    r5, r5
+ 800042c:      fbb3 f0f8       udiv    r0, r3, r8
+ 8000430:      fb08 3310       mls     r3, r8, r0, r3
+ 8000434:      ea45 4403       orr.w   r4, r5, r3, lsl #16
+ 8000438:      fb00 fa0a       mul.w   sl, r0, sl
+ 800043c:      45a2            cmp     sl, r4
+ 800043e:      d908            bls.n   8000452 <__udivmoddi4+0x1da>
+ 8000440:      eb1e 0404       adds.w  r4, lr, r4
+ 8000444:      f100 33ff       add.w   r3, r0, #4294967295     ; 0xffffffff
+ 8000448:      d26b            bcs.n   8000522 <__udivmoddi4+0x2aa>
+ 800044a:      45a2            cmp     sl, r4
+ 800044c:      d969            bls.n   8000522 <__udivmoddi4+0x2aa>
+ 800044e:      3802            subs    r0, #2
+ 8000450:      4474            add     r4, lr
+ 8000452:      ea40 4009       orr.w   r0, r0, r9, lsl #16
+ 8000456:      fba0 8902       umull   r8, r9, r0, r2
+ 800045a:      eba4 040a       sub.w   r4, r4, sl
+ 800045e:      454c            cmp     r4, r9
+ 8000460:      46c2            mov     sl, r8
+ 8000462:      464b            mov     r3, r9
+ 8000464:      d354            bcc.n   8000510 <__udivmoddi4+0x298>
+ 8000466:      d051            beq.n   800050c <__udivmoddi4+0x294>
+ 8000468:      2e00            cmp     r6, #0
+ 800046a:      d069            beq.n   8000540 <__udivmoddi4+0x2c8>
+ 800046c:      ebb1 050a       subs.w  r5, r1, sl
+ 8000470:      eb64 0403       sbc.w   r4, r4, r3
+ 8000474:      fa04 fc0c       lsl.w   ip, r4, ip
+ 8000478:      40fd            lsrs    r5, r7
+ 800047a:      40fc            lsrs    r4, r7
+ 800047c:      ea4c 0505       orr.w   r5, ip, r5
+ 8000480:      e9c6 5400       strd    r5, r4, [r6]
+ 8000484:      2700            movs    r7, #0
+ 8000486:      e747            b.n     8000318 <__udivmoddi4+0xa0>
+ 8000488:      f1c2 0320       rsb     r3, r2, #32
+ 800048c:      fa20 f703       lsr.w   r7, r0, r3
+ 8000490:      4095            lsls    r5, r2
+ 8000492:      fa01 f002       lsl.w   r0, r1, r2
+ 8000496:      fa21 f303       lsr.w   r3, r1, r3
+ 800049a:      ea4f 4e15       mov.w   lr, r5, lsr #16
+ 800049e:      4338            orrs    r0, r7
+ 80004a0:      0c01            lsrs    r1, r0, #16
+ 80004a2:      fbb3 f7fe       udiv    r7, r3, lr
+ 80004a6:      fa1f f885       uxth.w  r8, r5
+ 80004aa:      fb0e 3317       mls     r3, lr, r7, r3
+ 80004ae:      ea41 4103       orr.w   r1, r1, r3, lsl #16
+ 80004b2:      fb07 f308       mul.w   r3, r7, r8
+ 80004b6:      428b            cmp     r3, r1
+ 80004b8:      fa04 f402       lsl.w   r4, r4, r2
+ 80004bc:      d907            bls.n   80004ce <__udivmoddi4+0x256>
+ 80004be:      1869            adds    r1, r5, r1
+ 80004c0:      f107 3cff       add.w   ip, r7, #4294967295     ; 0xffffffff
+ 80004c4:      d22f            bcs.n   8000526 <__udivmoddi4+0x2ae>
+ 80004c6:      428b            cmp     r3, r1
+ 80004c8:      d92d            bls.n   8000526 <__udivmoddi4+0x2ae>
+ 80004ca:      3f02            subs    r7, #2
+ 80004cc:      4429            add     r1, r5
+ 80004ce:      1acb            subs    r3, r1, r3
+ 80004d0:      b281            uxth    r1, r0
+ 80004d2:      fbb3 f0fe       udiv    r0, r3, lr
+ 80004d6:      fb0e 3310       mls     r3, lr, r0, r3
+ 80004da:      ea41 4103       orr.w   r1, r1, r3, lsl #16
+ 80004de:      fb00 f308       mul.w   r3, r0, r8
+ 80004e2:      428b            cmp     r3, r1
+ 80004e4:      d907            bls.n   80004f6 <__udivmoddi4+0x27e>
+ 80004e6:      1869            adds    r1, r5, r1
+ 80004e8:      f100 3cff       add.w   ip, r0, #4294967295     ; 0xffffffff
+ 80004ec:      d217            bcs.n   800051e <__udivmoddi4+0x2a6>
+ 80004ee:      428b            cmp     r3, r1
+ 80004f0:      d915            bls.n   800051e <__udivmoddi4+0x2a6>
+ 80004f2:      3802            subs    r0, #2
+ 80004f4:      4429            add     r1, r5
+ 80004f6:      1ac9            subs    r1, r1, r3
+ 80004f8:      ea40 4707       orr.w   r7, r0, r7, lsl #16
+ 80004fc:      e73b            b.n     8000376 <__udivmoddi4+0xfe>
+ 80004fe:      4637            mov     r7, r6
+ 8000500:      4630            mov     r0, r6
+ 8000502:      e709            b.n     8000318 <__udivmoddi4+0xa0>
+ 8000504:      4607            mov     r7, r0
+ 8000506:      e6e7            b.n     80002d8 <__udivmoddi4+0x60>
+ 8000508:      4618            mov     r0, r3
+ 800050a:      e6fb            b.n     8000304 <__udivmoddi4+0x8c>
+ 800050c:      4541            cmp     r1, r8
+ 800050e:      d2ab            bcs.n   8000468 <__udivmoddi4+0x1f0>
+ 8000510:      ebb8 0a02       subs.w  sl, r8, r2
+ 8000514:      eb69 020e       sbc.w   r2, r9, lr
+ 8000518:      3801            subs    r0, #1
+ 800051a:      4613            mov     r3, r2
+ 800051c:      e7a4            b.n     8000468 <__udivmoddi4+0x1f0>
+ 800051e:      4660            mov     r0, ip
+ 8000520:      e7e9            b.n     80004f6 <__udivmoddi4+0x27e>
+ 8000522:      4618            mov     r0, r3
+ 8000524:      e795            b.n     8000452 <__udivmoddi4+0x1da>
+ 8000526:      4667            mov     r7, ip
+ 8000528:      e7d1            b.n     80004ce <__udivmoddi4+0x256>
+ 800052a:      4681            mov     r9, r0
+ 800052c:      e77c            b.n     8000428 <__udivmoddi4+0x1b0>
+ 800052e:      3802            subs    r0, #2
+ 8000530:      442c            add     r4, r5
+ 8000532:      e747            b.n     80003c4 <__udivmoddi4+0x14c>
+ 8000534:      f1ac 0c02       sub.w   ip, ip, #2
+ 8000538:      442b            add     r3, r5
+ 800053a:      e72f            b.n     800039c <__udivmoddi4+0x124>
+ 800053c:      4638            mov     r0, r7
+ 800053e:      e708            b.n     8000352 <__udivmoddi4+0xda>
+ 8000540:      4637            mov     r7, r6
+ 8000542:      e6e9            b.n     8000318 <__udivmoddi4+0xa0>
+
+08000544 <__aeabi_idiv0>:
+ 8000544:      4770            bx      lr
+ 8000546:      bf00            nop
+
+08000548 <HAL_Init>:
+  *         need to ensure that the SysTick time base is always set to 1 millisecond
+  *         to have correct HAL operation.
+  * @retval HAL status
+  */
+HAL_StatusTypeDef HAL_Init(void)
+{
+ 8000548:      b580            push    {r7, lr}
+ 800054a:      af00            add     r7, sp, #0
+#if (PREFETCH_ENABLE != 0U)
+  __HAL_FLASH_PREFETCH_BUFFER_ENABLE();
+#endif /* PREFETCH_ENABLE */
+
+  /* Set Interrupt Group Priority */
+  HAL_NVIC_SetPriorityGrouping(NVIC_PRIORITYGROUP_4);
+ 800054c:      2003            movs    r0, #3
+ 800054e:      f000 f94b       bl      80007e8 <HAL_NVIC_SetPriorityGrouping>
+
+  /* Use systick as time base source and configure 1ms tick (default clock after Reset is HSI) */
+  HAL_InitTick(TICK_INT_PRIORITY);
+ 8000552:      2000            movs    r0, #0
+ 8000554:      f000 f806       bl      8000564 <HAL_InitTick>
+  
+  /* Init the low level hardware */
+  HAL_MspInit();
+ 8000558:      f005 f8b8       bl      80056cc <HAL_MspInit>
+  
+  /* Return function status */
+  return HAL_OK;
+ 800055c:      2300            movs    r3, #0
+}
+ 800055e:      4618            mov     r0, r3
+ 8000560:      bd80            pop     {r7, pc}
+       ...
+
+08000564 <HAL_InitTick>:
+  *       implementation  in user file.
+  * @param TickPriority Tick interrupt priority.
+  * @retval HAL status
+  */
+__weak HAL_StatusTypeDef HAL_InitTick(uint32_t TickPriority)
+{
+ 8000564:      b580            push    {r7, lr}
+ 8000566:      b082            sub     sp, #8
+ 8000568:      af00            add     r7, sp, #0
+ 800056a:      6078            str     r0, [r7, #4]
+  /* Configure the SysTick to have interrupt in 1ms time basis*/
+  if (HAL_SYSTICK_Config(SystemCoreClock / (1000U / uwTickFreq)) > 0U)
+ 800056c:      4b12            ldr     r3, [pc, #72]   ; (80005b8 <HAL_InitTick+0x54>)
+ 800056e:      681a            ldr     r2, [r3, #0]
+ 8000570:      4b12            ldr     r3, [pc, #72]   ; (80005bc <HAL_InitTick+0x58>)
+ 8000572:      781b            ldrb    r3, [r3, #0]
+ 8000574:      4619            mov     r1, r3
+ 8000576:      f44f 737a       mov.w   r3, #1000       ; 0x3e8
+ 800057a:      fbb3 f3f1       udiv    r3, r3, r1
+ 800057e:      fbb2 f3f3       udiv    r3, r2, r3
+ 8000582:      4618            mov     r0, r3
+ 8000584:      f000 f965       bl      8000852 <HAL_SYSTICK_Config>
+ 8000588:      4603            mov     r3, r0
+ 800058a:      2b00            cmp     r3, #0
+ 800058c:      d001            beq.n   8000592 <HAL_InitTick+0x2e>
+  {
+    return HAL_ERROR;
+ 800058e:      2301            movs    r3, #1
+ 8000590:      e00e            b.n     80005b0 <HAL_InitTick+0x4c>
+  }
+
+  /* Configure the SysTick IRQ priority */
+  if (TickPriority < (1UL << __NVIC_PRIO_BITS))
+ 8000592:      687b            ldr     r3, [r7, #4]
+ 8000594:      2b0f            cmp     r3, #15
+ 8000596:      d80a            bhi.n   80005ae <HAL_InitTick+0x4a>
+  {
+    HAL_NVIC_SetPriority(SysTick_IRQn, TickPriority, 0U);
+ 8000598:      2200            movs    r2, #0
+ 800059a:      6879            ldr     r1, [r7, #4]
+ 800059c:      f04f 30ff       mov.w   r0, #4294967295 ; 0xffffffff
+ 80005a0:      f000 f92d       bl      80007fe <HAL_NVIC_SetPriority>
+    uwTickPrio = TickPriority;
+ 80005a4:      4a06            ldr     r2, [pc, #24]   ; (80005c0 <HAL_InitTick+0x5c>)
+ 80005a6:      687b            ldr     r3, [r7, #4]
+ 80005a8:      6013            str     r3, [r2, #0]
+  {
+    return HAL_ERROR;
+  }
+
+  /* Return function status */
+  return HAL_OK;
+ 80005aa:      2300            movs    r3, #0
+ 80005ac:      e000            b.n     80005b0 <HAL_InitTick+0x4c>
+    return HAL_ERROR;
+ 80005ae:      2301            movs    r3, #1
+}
+ 80005b0:      4618            mov     r0, r3
+ 80005b2:      3708            adds    r7, #8
+ 80005b4:      46bd            mov     sp, r7
+ 80005b6:      bd80            pop     {r7, pc}
+ 80005b8:      20000008        .word   0x20000008
+ 80005bc:      20000004        .word   0x20000004
+ 80005c0:      20000000        .word   0x20000000
+
+080005c4 <HAL_IncTick>:
+ * @note This function is declared as __weak to be overwritten in case of other 
+  *      implementations in user file.
+  * @retval None
+  */
+__weak void HAL_IncTick(void)
+{
+ 80005c4:      b480            push    {r7}
+ 80005c6:      af00            add     r7, sp, #0
+  uwTick += uwTickFreq;
+ 80005c8:      4b06            ldr     r3, [pc, #24]   ; (80005e4 <HAL_IncTick+0x20>)
+ 80005ca:      781b            ldrb    r3, [r3, #0]
+ 80005cc:      461a            mov     r2, r3
+ 80005ce:      4b06            ldr     r3, [pc, #24]   ; (80005e8 <HAL_IncTick+0x24>)
+ 80005d0:      681b            ldr     r3, [r3, #0]
+ 80005d2:      4413            add     r3, r2
+ 80005d4:      4a04            ldr     r2, [pc, #16]   ; (80005e8 <HAL_IncTick+0x24>)
+ 80005d6:      6013            str     r3, [r2, #0]
+}
+ 80005d8:      bf00            nop
+ 80005da:      46bd            mov     sp, r7
+ 80005dc:      f85d 7b04       ldr.w   r7, [sp], #4
+ 80005e0:      4770            bx      lr
+ 80005e2:      bf00            nop
+ 80005e4:      20000004        .word   0x20000004
+ 80005e8:      20000220        .word   0x20000220
+
+080005ec <HAL_GetTick>:
+  * @note This function is declared as __weak to be overwritten in case of other 
+  *       implementations in user file.
+  * @retval tick value
+  */
+__weak uint32_t HAL_GetTick(void)
+{
+ 80005ec:      b480            push    {r7}
+ 80005ee:      af00            add     r7, sp, #0
+  return uwTick;
+ 80005f0:      4b03            ldr     r3, [pc, #12]   ; (8000600 <HAL_GetTick+0x14>)
+ 80005f2:      681b            ldr     r3, [r3, #0]
+}
+ 80005f4:      4618            mov     r0, r3
+ 80005f6:      46bd            mov     sp, r7
+ 80005f8:      f85d 7b04       ldr.w   r7, [sp], #4
+ 80005fc:      4770            bx      lr
+ 80005fe:      bf00            nop
+ 8000600:      20000220        .word   0x20000220
+
+08000604 <HAL_Delay>:
+  *       implementations in user file.
+  * @param Delay  specifies the delay time length, in milliseconds.
+  * @retval None
+  */
+__weak void HAL_Delay(uint32_t Delay)
+{
+ 8000604:      b580            push    {r7, lr}
+ 8000606:      b084            sub     sp, #16
+ 8000608:      af00            add     r7, sp, #0
+ 800060a:      6078            str     r0, [r7, #4]
+  uint32_t tickstart = HAL_GetTick();
+ 800060c:      f7ff ffee       bl      80005ec <HAL_GetTick>
+ 8000610:      60b8            str     r0, [r7, #8]
+  uint32_t wait = Delay;
+ 8000612:      687b            ldr     r3, [r7, #4]
+ 8000614:      60fb            str     r3, [r7, #12]
+
+  /* Add a freq to guarantee minimum wait */
+  if (wait < HAL_MAX_DELAY)
+ 8000616:      68fb            ldr     r3, [r7, #12]
+ 8000618:      f1b3 3fff       cmp.w   r3, #4294967295 ; 0xffffffff
+ 800061c:      d005            beq.n   800062a <HAL_Delay+0x26>
+  {
+    wait += (uint32_t)(uwTickFreq);
+ 800061e:      4b09            ldr     r3, [pc, #36]   ; (8000644 <HAL_Delay+0x40>)
+ 8000620:      781b            ldrb    r3, [r3, #0]
+ 8000622:      461a            mov     r2, r3
+ 8000624:      68fb            ldr     r3, [r7, #12]
+ 8000626:      4413            add     r3, r2
+ 8000628:      60fb            str     r3, [r7, #12]
+  }
+
+  while ((HAL_GetTick() - tickstart) < wait)
+ 800062a:      bf00            nop
+ 800062c:      f7ff ffde       bl      80005ec <HAL_GetTick>
+ 8000630:      4602            mov     r2, r0
+ 8000632:      68bb            ldr     r3, [r7, #8]
+ 8000634:      1ad3            subs    r3, r2, r3
+ 8000636:      68fa            ldr     r2, [r7, #12]
+ 8000638:      429a            cmp     r2, r3
+ 800063a:      d8f7            bhi.n   800062c <HAL_Delay+0x28>
+  {
+  }
+}
+ 800063c:      bf00            nop
+ 800063e:      3710            adds    r7, #16
+ 8000640:      46bd            mov     sp, r7
+ 8000642:      bd80            pop     {r7, pc}
+ 8000644:      20000004        .word   0x20000004
+
+08000648 <__NVIC_SetPriorityGrouping>:
+           In case of a conflict between priority grouping and available
+           priority bits (__NVIC_PRIO_BITS), the smallest possible priority group is set.
+  \param [in]      PriorityGroup  Priority grouping field.
+ */
+__STATIC_INLINE void __NVIC_SetPriorityGrouping(uint32_t PriorityGroup)
+{
+ 8000648:      b480            push    {r7}
+ 800064a:      b085            sub     sp, #20
+ 800064c:      af00            add     r7, sp, #0
+ 800064e:      6078            str     r0, [r7, #4]
+  uint32_t reg_value;
+  uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL);             /* only values 0..7 are used          */
+ 8000650:      687b            ldr     r3, [r7, #4]
+ 8000652:      f003 0307       and.w   r3, r3, #7
+ 8000656:      60fb            str     r3, [r7, #12]
+
+  reg_value  =  SCB->AIRCR;                                                   /* read old register configuration    */
+ 8000658:      4b0b            ldr     r3, [pc, #44]   ; (8000688 <__NVIC_SetPriorityGrouping+0x40>)
+ 800065a:      68db            ldr     r3, [r3, #12]
+ 800065c:      60bb            str     r3, [r7, #8]
+  reg_value &= ~((uint32_t)(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_PRIGROUP_Msk)); /* clear bits to change               */
+ 800065e:      68ba            ldr     r2, [r7, #8]
+ 8000660:      f64f 03ff       movw    r3, #63743      ; 0xf8ff
+ 8000664:      4013            ands    r3, r2
+ 8000666:      60bb            str     r3, [r7, #8]
+  reg_value  =  (reg_value                                   |
+                ((uint32_t)0x5FAUL << SCB_AIRCR_VECTKEY_Pos) |
+                (PriorityGroupTmp << SCB_AIRCR_PRIGROUP_Pos)  );              /* Insert write key and priority group */
+ 8000668:      68fb            ldr     r3, [r7, #12]
+ 800066a:      021a            lsls    r2, r3, #8
+                ((uint32_t)0x5FAUL << SCB_AIRCR_VECTKEY_Pos) |
+ 800066c:      68bb            ldr     r3, [r7, #8]
+ 800066e:      431a            orrs    r2, r3
+  reg_value  =  (reg_value                                   |
+ 8000670:      4b06            ldr     r3, [pc, #24]   ; (800068c <__NVIC_SetPriorityGrouping+0x44>)
+ 8000672:      4313            orrs    r3, r2
+ 8000674:      60bb            str     r3, [r7, #8]
+  SCB->AIRCR =  reg_value;
+ 8000676:      4a04            ldr     r2, [pc, #16]   ; (8000688 <__NVIC_SetPriorityGrouping+0x40>)
+ 8000678:      68bb            ldr     r3, [r7, #8]
+ 800067a:      60d3            str     r3, [r2, #12]
+}
+ 800067c:      bf00            nop
+ 800067e:      3714            adds    r7, #20
+ 8000680:      46bd            mov     sp, r7
+ 8000682:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8000686:      4770            bx      lr
+ 8000688:      e000ed00        .word   0xe000ed00
+ 800068c:      05fa0000        .word   0x05fa0000
+
+08000690 <__NVIC_GetPriorityGrouping>:
+  \brief   Get Priority Grouping
+  \details Reads the priority grouping field from the NVIC Interrupt Controller.
+  \return                Priority grouping field (SCB->AIRCR [10:8] PRIGROUP field).
+ */
+__STATIC_INLINE uint32_t __NVIC_GetPriorityGrouping(void)
+{
+ 8000690:      b480            push    {r7}
+ 8000692:      af00            add     r7, sp, #0
+  return ((uint32_t)((SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) >> SCB_AIRCR_PRIGROUP_Pos));
+ 8000694:      4b04            ldr     r3, [pc, #16]   ; (80006a8 <__NVIC_GetPriorityGrouping+0x18>)
+ 8000696:      68db            ldr     r3, [r3, #12]
+ 8000698:      0a1b            lsrs    r3, r3, #8
+ 800069a:      f003 0307       and.w   r3, r3, #7
+}
+ 800069e:      4618            mov     r0, r3
+ 80006a0:      46bd            mov     sp, r7
+ 80006a2:      f85d 7b04       ldr.w   r7, [sp], #4
+ 80006a6:      4770            bx      lr
+ 80006a8:      e000ed00        .word   0xe000ed00
+
+080006ac <__NVIC_EnableIRQ>:
+  \details Enables a device specific interrupt in the NVIC interrupt controller.
+  \param [in]      IRQn  Device specific interrupt number.
+  \note    IRQn must not be negative.
+ */
+__STATIC_INLINE void __NVIC_EnableIRQ(IRQn_Type IRQn)
+{
+ 80006ac:      b480            push    {r7}
+ 80006ae:      b083            sub     sp, #12
+ 80006b0:      af00            add     r7, sp, #0
+ 80006b2:      4603            mov     r3, r0
+ 80006b4:      71fb            strb    r3, [r7, #7]
+  if ((int32_t)(IRQn) >= 0)
+ 80006b6:      f997 3007       ldrsb.w r3, [r7, #7]
+ 80006ba:      2b00            cmp     r3, #0
+ 80006bc:      db0b            blt.n   80006d6 <__NVIC_EnableIRQ+0x2a>
+  {
+    NVIC->ISER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
+ 80006be:      79fb            ldrb    r3, [r7, #7]
+ 80006c0:      f003 021f       and.w   r2, r3, #31
+ 80006c4:      4907            ldr     r1, [pc, #28]   ; (80006e4 <__NVIC_EnableIRQ+0x38>)
+ 80006c6:      f997 3007       ldrsb.w r3, [r7, #7]
+ 80006ca:      095b            lsrs    r3, r3, #5
+ 80006cc:      2001            movs    r0, #1
+ 80006ce:      fa00 f202       lsl.w   r2, r0, r2
+ 80006d2:      f841 2023       str.w   r2, [r1, r3, lsl #2]
+  }
+}
+ 80006d6:      bf00            nop
+ 80006d8:      370c            adds    r7, #12
+ 80006da:      46bd            mov     sp, r7
+ 80006dc:      f85d 7b04       ldr.w   r7, [sp], #4
+ 80006e0:      4770            bx      lr
+ 80006e2:      bf00            nop
+ 80006e4:      e000e100        .word   0xe000e100
+
+080006e8 <__NVIC_SetPriority>:
+  \param [in]      IRQn  Interrupt number.
+  \param [in]  priority  Priority to set.
+  \note    The priority cannot be set for every processor exception.
+ */
+__STATIC_INLINE void __NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority)
+{
+ 80006e8:      b480            push    {r7}
+ 80006ea:      b083            sub     sp, #12
+ 80006ec:      af00            add     r7, sp, #0
+ 80006ee:      4603            mov     r3, r0
+ 80006f0:      6039            str     r1, [r7, #0]
+ 80006f2:      71fb            strb    r3, [r7, #7]
+  if ((int32_t)(IRQn) >= 0)
+ 80006f4:      f997 3007       ldrsb.w r3, [r7, #7]
+ 80006f8:      2b00            cmp     r3, #0
+ 80006fa:      db0a            blt.n   8000712 <__NVIC_SetPriority+0x2a>
+  {
+    NVIC->IP[((uint32_t)IRQn)]                = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL);
+ 80006fc:      683b            ldr     r3, [r7, #0]
+ 80006fe:      b2da            uxtb    r2, r3
+ 8000700:      490c            ldr     r1, [pc, #48]   ; (8000734 <__NVIC_SetPriority+0x4c>)
+ 8000702:      f997 3007       ldrsb.w r3, [r7, #7]
+ 8000706:      0112            lsls    r2, r2, #4
+ 8000708:      b2d2            uxtb    r2, r2
+ 800070a:      440b            add     r3, r1
+ 800070c:      f883 2300       strb.w  r2, [r3, #768]  ; 0x300
+  }
+  else
+  {
+    SCB->SHPR[(((uint32_t)IRQn) & 0xFUL)-4UL] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL);
+  }
+}
+ 8000710:      e00a            b.n     8000728 <__NVIC_SetPriority+0x40>
+    SCB->SHPR[(((uint32_t)IRQn) & 0xFUL)-4UL] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL);
+ 8000712:      683b            ldr     r3, [r7, #0]
+ 8000714:      b2da            uxtb    r2, r3
+ 8000716:      4908            ldr     r1, [pc, #32]   ; (8000738 <__NVIC_SetPriority+0x50>)
+ 8000718:      79fb            ldrb    r3, [r7, #7]
+ 800071a:      f003 030f       and.w   r3, r3, #15
+ 800071e:      3b04            subs    r3, #4
+ 8000720:      0112            lsls    r2, r2, #4
+ 8000722:      b2d2            uxtb    r2, r2
+ 8000724:      440b            add     r3, r1
+ 8000726:      761a            strb    r2, [r3, #24]
+}
+ 8000728:      bf00            nop
+ 800072a:      370c            adds    r7, #12
+ 800072c:      46bd            mov     sp, r7
+ 800072e:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8000732:      4770            bx      lr
+ 8000734:      e000e100        .word   0xe000e100
+ 8000738:      e000ed00        .word   0xe000ed00
+
+0800073c <NVIC_EncodePriority>:
+  \param [in]   PreemptPriority  Preemptive priority value (starting from 0).
+  \param [in]       SubPriority  Subpriority value (starting from 0).
+  \return                        Encoded priority. Value can be used in the function \ref NVIC_SetPriority().
+ */
+__STATIC_INLINE uint32_t NVIC_EncodePriority (uint32_t PriorityGroup, uint32_t PreemptPriority, uint32_t SubPriority)
+{
+ 800073c:      b480            push    {r7}
+ 800073e:      b089            sub     sp, #36 ; 0x24
+ 8000740:      af00            add     r7, sp, #0
+ 8000742:      60f8            str     r0, [r7, #12]
+ 8000744:      60b9            str     r1, [r7, #8]
+ 8000746:      607a            str     r2, [r7, #4]
+  uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL);   /* only values 0..7 are used          */
+ 8000748:      68fb            ldr     r3, [r7, #12]
+ 800074a:      f003 0307       and.w   r3, r3, #7
+ 800074e:      61fb            str     r3, [r7, #28]
+  uint32_t PreemptPriorityBits;
+  uint32_t SubPriorityBits;
+
+  PreemptPriorityBits = ((7UL - PriorityGroupTmp) > (uint32_t)(__NVIC_PRIO_BITS)) ? (uint32_t)(__NVIC_PRIO_BITS) : (uint32_t)(7UL - PriorityGroupTmp);
+ 8000750:      69fb            ldr     r3, [r7, #28]
+ 8000752:      f1c3 0307       rsb     r3, r3, #7
+ 8000756:      2b04            cmp     r3, #4
+ 8000758:      bf28            it      cs
+ 800075a:      2304            movcs   r3, #4
+ 800075c:      61bb            str     r3, [r7, #24]
+  SubPriorityBits     = ((PriorityGroupTmp + (uint32_t)(__NVIC_PRIO_BITS)) < (uint32_t)7UL) ? (uint32_t)0UL : (uint32_t)((PriorityGroupTmp - 7UL) + (uint32_t)(__NVIC_PRIO_BITS));
+ 800075e:      69fb            ldr     r3, [r7, #28]
+ 8000760:      3304            adds    r3, #4
+ 8000762:      2b06            cmp     r3, #6
+ 8000764:      d902            bls.n   800076c <NVIC_EncodePriority+0x30>
+ 8000766:      69fb            ldr     r3, [r7, #28]
+ 8000768:      3b03            subs    r3, #3
+ 800076a:      e000            b.n     800076e <NVIC_EncodePriority+0x32>
+ 800076c:      2300            movs    r3, #0
+ 800076e:      617b            str     r3, [r7, #20]
+
+  return (
+           ((PreemptPriority & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL)) << SubPriorityBits) |
+ 8000770:      f04f 32ff       mov.w   r2, #4294967295 ; 0xffffffff
+ 8000774:      69bb            ldr     r3, [r7, #24]
+ 8000776:      fa02 f303       lsl.w   r3, r2, r3
+ 800077a:      43da            mvns    r2, r3
+ 800077c:      68bb            ldr     r3, [r7, #8]
+ 800077e:      401a            ands    r2, r3
+ 8000780:      697b            ldr     r3, [r7, #20]
+ 8000782:      409a            lsls    r2, r3
+           ((SubPriority     & (uint32_t)((1UL << (SubPriorityBits    )) - 1UL)))
+ 8000784:      f04f 31ff       mov.w   r1, #4294967295 ; 0xffffffff
+ 8000788:      697b            ldr     r3, [r7, #20]
+ 800078a:      fa01 f303       lsl.w   r3, r1, r3
+ 800078e:      43d9            mvns    r1, r3
+ 8000790:      687b            ldr     r3, [r7, #4]
+ 8000792:      400b            ands    r3, r1
+           ((PreemptPriority & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL)) << SubPriorityBits) |
+ 8000794:      4313            orrs    r3, r2
+         );
+}
+ 8000796:      4618            mov     r0, r3
+ 8000798:      3724            adds    r7, #36 ; 0x24
+ 800079a:      46bd            mov     sp, r7
+ 800079c:      f85d 7b04       ldr.w   r7, [sp], #4
+ 80007a0:      4770            bx      lr
+       ...
+
+080007a4 <SysTick_Config>:
+  \note    When the variable <b>__Vendor_SysTickConfig</b> is set to 1, then the
+           function <b>SysTick_Config</b> is not included. In this case, the file <b><i>device</i>.h</b>
+           must contain a vendor-specific implementation of this function.
+ */
+__STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks)
+{
+ 80007a4:      b580            push    {r7, lr}
+ 80007a6:      b082            sub     sp, #8
+ 80007a8:      af00            add     r7, sp, #0
+ 80007aa:      6078            str     r0, [r7, #4]
+  if ((ticks - 1UL) > SysTick_LOAD_RELOAD_Msk)
+ 80007ac:      687b            ldr     r3, [r7, #4]
+ 80007ae:      3b01            subs    r3, #1
+ 80007b0:      f1b3 7f80       cmp.w   r3, #16777216   ; 0x1000000
+ 80007b4:      d301            bcc.n   80007ba <SysTick_Config+0x16>
+  {
+    return (1UL);                                                   /* Reload value impossible */
+ 80007b6:      2301            movs    r3, #1
+ 80007b8:      e00f            b.n     80007da <SysTick_Config+0x36>
+  }
+
+  SysTick->LOAD  = (uint32_t)(ticks - 1UL);                         /* set reload register */
+ 80007ba:      4a0a            ldr     r2, [pc, #40]   ; (80007e4 <SysTick_Config+0x40>)
+ 80007bc:      687b            ldr     r3, [r7, #4]
+ 80007be:      3b01            subs    r3, #1
+ 80007c0:      6053            str     r3, [r2, #4]
+  NVIC_SetPriority (SysTick_IRQn, (1UL << __NVIC_PRIO_BITS) - 1UL); /* set Priority for Systick Interrupt */
+ 80007c2:      210f            movs    r1, #15
+ 80007c4:      f04f 30ff       mov.w   r0, #4294967295 ; 0xffffffff
+ 80007c8:      f7ff ff8e       bl      80006e8 <__NVIC_SetPriority>
+  SysTick->VAL   = 0UL;                                             /* Load the SysTick Counter Value */
+ 80007cc:      4b05            ldr     r3, [pc, #20]   ; (80007e4 <SysTick_Config+0x40>)
+ 80007ce:      2200            movs    r2, #0
+ 80007d0:      609a            str     r2, [r3, #8]
+  SysTick->CTRL  = SysTick_CTRL_CLKSOURCE_Msk |
+ 80007d2:      4b04            ldr     r3, [pc, #16]   ; (80007e4 <SysTick_Config+0x40>)
+ 80007d4:      2207            movs    r2, #7
+ 80007d6:      601a            str     r2, [r3, #0]
+                   SysTick_CTRL_TICKINT_Msk   |
+                   SysTick_CTRL_ENABLE_Msk;                         /* Enable SysTick IRQ and SysTick Timer */
+  return (0UL);                                                     /* Function successful */
+ 80007d8:      2300            movs    r3, #0
+}
+ 80007da:      4618            mov     r0, r3
+ 80007dc:      3708            adds    r7, #8
+ 80007de:      46bd            mov     sp, r7
+ 80007e0:      bd80            pop     {r7, pc}
+ 80007e2:      bf00            nop
+ 80007e4:      e000e010        .word   0xe000e010
+
+080007e8 <HAL_NVIC_SetPriorityGrouping>:
+  * @note   When the NVIC_PriorityGroup_0 is selected, IRQ preemption is no more possible. 
+  *         The pending IRQ priority will be managed only by the subpriority. 
+  * @retval None
+  */
+void HAL_NVIC_SetPriorityGrouping(uint32_t PriorityGroup)
+{
+ 80007e8:      b580            push    {r7, lr}
+ 80007ea:      b082            sub     sp, #8
+ 80007ec:      af00            add     r7, sp, #0
+ 80007ee:      6078            str     r0, [r7, #4]
+  /* Check the parameters */
+  assert_param(IS_NVIC_PRIORITY_GROUP(PriorityGroup));
+  
+  /* Set the PRIGROUP[10:8] bits according to the PriorityGroup parameter value */
+  NVIC_SetPriorityGrouping(PriorityGroup);
+ 80007f0:      6878            ldr     r0, [r7, #4]
+ 80007f2:      f7ff ff29       bl      8000648 <__NVIC_SetPriorityGrouping>
+}
+ 80007f6:      bf00            nop
+ 80007f8:      3708            adds    r7, #8
+ 80007fa:      46bd            mov     sp, r7
+ 80007fc:      bd80            pop     {r7, pc}
+
+080007fe <HAL_NVIC_SetPriority>:
+  *         This parameter can be a value between 0 and 15
+  *         A lower priority value indicates a higher priority.          
+  * @retval None
+  */
+void HAL_NVIC_SetPriority(IRQn_Type IRQn, uint32_t PreemptPriority, uint32_t SubPriority)
+{ 
+ 80007fe:      b580            push    {r7, lr}
+ 8000800:      b086            sub     sp, #24
+ 8000802:      af00            add     r7, sp, #0
+ 8000804:      4603            mov     r3, r0
+ 8000806:      60b9            str     r1, [r7, #8]
+ 8000808:      607a            str     r2, [r7, #4]
+ 800080a:      73fb            strb    r3, [r7, #15]
+  uint32_t prioritygroup = 0x00;
+ 800080c:      2300            movs    r3, #0
+ 800080e:      617b            str     r3, [r7, #20]
+  
+  /* Check the parameters */
+  assert_param(IS_NVIC_SUB_PRIORITY(SubPriority));
+  assert_param(IS_NVIC_PREEMPTION_PRIORITY(PreemptPriority));
+  
+  prioritygroup = NVIC_GetPriorityGrouping();
+ 8000810:      f7ff ff3e       bl      8000690 <__NVIC_GetPriorityGrouping>
+ 8000814:      6178            str     r0, [r7, #20]
+  
+  NVIC_SetPriority(IRQn, NVIC_EncodePriority(prioritygroup, PreemptPriority, SubPriority));
+ 8000816:      687a            ldr     r2, [r7, #4]
+ 8000818:      68b9            ldr     r1, [r7, #8]
+ 800081a:      6978            ldr     r0, [r7, #20]
+ 800081c:      f7ff ff8e       bl      800073c <NVIC_EncodePriority>
+ 8000820:      4602            mov     r2, r0
+ 8000822:      f997 300f       ldrsb.w r3, [r7, #15]
+ 8000826:      4611            mov     r1, r2
+ 8000828:      4618            mov     r0, r3
+ 800082a:      f7ff ff5d       bl      80006e8 <__NVIC_SetPriority>
+}
+ 800082e:      bf00            nop
+ 8000830:      3718            adds    r7, #24
+ 8000832:      46bd            mov     sp, r7
+ 8000834:      bd80            pop     {r7, pc}
+
+08000836 <HAL_NVIC_EnableIRQ>:
+  *         This parameter can be an enumerator of IRQn_Type enumeration
+  *         (For the complete STM32 Devices IRQ Channels list, please refer to the appropriate CMSIS device file (stm32f7xxxx.h))
+  * @retval None
+  */
+void HAL_NVIC_EnableIRQ(IRQn_Type IRQn)
+{
+ 8000836:      b580            push    {r7, lr}
+ 8000838:      b082            sub     sp, #8
+ 800083a:      af00            add     r7, sp, #0
+ 800083c:      4603            mov     r3, r0
+ 800083e:      71fb            strb    r3, [r7, #7]
+  /* Check the parameters */
+  assert_param(IS_NVIC_DEVICE_IRQ(IRQn));
+  
+  /* Enable interrupt */
+  NVIC_EnableIRQ(IRQn);
+ 8000840:      f997 3007       ldrsb.w r3, [r7, #7]
+ 8000844:      4618            mov     r0, r3
+ 8000846:      f7ff ff31       bl      80006ac <__NVIC_EnableIRQ>
+}
+ 800084a:      bf00            nop
+ 800084c:      3708            adds    r7, #8
+ 800084e:      46bd            mov     sp, r7
+ 8000850:      bd80            pop     {r7, pc}
+
+08000852 <HAL_SYSTICK_Config>:
+  * @param  TicksNumb Specifies the ticks Number of ticks between two interrupts.
+  * @retval status:  - 0  Function succeeded.
+  *                  - 1  Function failed.
+  */
+uint32_t HAL_SYSTICK_Config(uint32_t TicksNumb)
+{
+ 8000852:      b580            push    {r7, lr}
+ 8000854:      b082            sub     sp, #8
+ 8000856:      af00            add     r7, sp, #0
+ 8000858:      6078            str     r0, [r7, #4]
+   return SysTick_Config(TicksNumb);
+ 800085a:      6878            ldr     r0, [r7, #4]
+ 800085c:      f7ff ffa2       bl      80007a4 <SysTick_Config>
+ 8000860:      4603            mov     r3, r0
+}
+ 8000862:      4618            mov     r0, r3
+ 8000864:      3708            adds    r7, #8
+ 8000866:      46bd            mov     sp, r7
+ 8000868:      bd80            pop     {r7, pc}
+       ...
+
+0800086c <HAL_DMA_Init>:
+  * @param  hdma Pointer to a DMA_HandleTypeDef structure that contains
+  *               the configuration information for the specified DMA Stream.  
+  * @retval HAL status
+  */
+HAL_StatusTypeDef HAL_DMA_Init(DMA_HandleTypeDef *hdma)
+{
+ 800086c:      b580            push    {r7, lr}
+ 800086e:      b086            sub     sp, #24
+ 8000870:      af00            add     r7, sp, #0
+ 8000872:      6078            str     r0, [r7, #4]
+  uint32_t tmp = 0U;
+ 8000874:      2300            movs    r3, #0
+ 8000876:      617b            str     r3, [r7, #20]
+  uint32_t tickstart = HAL_GetTick();
+ 8000878:      f7ff feb8       bl      80005ec <HAL_GetTick>
+ 800087c:      6138            str     r0, [r7, #16]
+  DMA_Base_Registers *regs;
+
+  /* Check the DMA peripheral state */
+  if(hdma == NULL)
+ 800087e:      687b            ldr     r3, [r7, #4]
+ 8000880:      2b00            cmp     r3, #0
+ 8000882:      d101            bne.n   8000888 <HAL_DMA_Init+0x1c>
+  {
+    return HAL_ERROR;
+ 8000884:      2301            movs    r3, #1
+ 8000886:      e099            b.n     80009bc <HAL_DMA_Init+0x150>
+    assert_param(IS_DMA_MEMORY_BURST(hdma->Init.MemBurst));
+    assert_param(IS_DMA_PERIPHERAL_BURST(hdma->Init.PeriphBurst));
+  }
+  
+  /* Allocate lock resource */
+  __HAL_UNLOCK(hdma);
+ 8000888:      687b            ldr     r3, [r7, #4]
+ 800088a:      2200            movs    r2, #0
+ 800088c:      f883 2034       strb.w  r2, [r3, #52]   ; 0x34
+
+  /* Change DMA peripheral state */
+  hdma->State = HAL_DMA_STATE_BUSY;
+ 8000890:      687b            ldr     r3, [r7, #4]
+ 8000892:      2202            movs    r2, #2
+ 8000894:      f883 2035       strb.w  r2, [r3, #53]   ; 0x35
+  
+  /* Disable the peripheral */
+  __HAL_DMA_DISABLE(hdma);
+ 8000898:      687b            ldr     r3, [r7, #4]
+ 800089a:      681b            ldr     r3, [r3, #0]
+ 800089c:      681a            ldr     r2, [r3, #0]
+ 800089e:      687b            ldr     r3, [r7, #4]
+ 80008a0:      681b            ldr     r3, [r3, #0]
+ 80008a2:      f022 0201       bic.w   r2, r2, #1
+ 80008a6:      601a            str     r2, [r3, #0]
+  
+  /* Check if the DMA Stream is effectively disabled */
+  while((hdma->Instance->CR & DMA_SxCR_EN) != RESET)
+ 80008a8:      e00f            b.n     80008ca <HAL_DMA_Init+0x5e>
+  {
+    /* Check for the Timeout */
+    if((HAL_GetTick() - tickstart ) > HAL_TIMEOUT_DMA_ABORT)
+ 80008aa:      f7ff fe9f       bl      80005ec <HAL_GetTick>
+ 80008ae:      4602            mov     r2, r0
+ 80008b0:      693b            ldr     r3, [r7, #16]
+ 80008b2:      1ad3            subs    r3, r2, r3
+ 80008b4:      2b05            cmp     r3, #5
+ 80008b6:      d908            bls.n   80008ca <HAL_DMA_Init+0x5e>
+    {
+      /* Update error code */
+      hdma->ErrorCode = HAL_DMA_ERROR_TIMEOUT;
+ 80008b8:      687b            ldr     r3, [r7, #4]
+ 80008ba:      2220            movs    r2, #32
+ 80008bc:      655a            str     r2, [r3, #84]   ; 0x54
+      
+      /* Change the DMA state */
+      hdma->State = HAL_DMA_STATE_TIMEOUT;
+ 80008be:      687b            ldr     r3, [r7, #4]
+ 80008c0:      2203            movs    r2, #3
+ 80008c2:      f883 2035       strb.w  r2, [r3, #53]   ; 0x35
+      
+      return HAL_TIMEOUT;
+ 80008c6:      2303            movs    r3, #3
+ 80008c8:      e078            b.n     80009bc <HAL_DMA_Init+0x150>
+  while((hdma->Instance->CR & DMA_SxCR_EN) != RESET)
+ 80008ca:      687b            ldr     r3, [r7, #4]
+ 80008cc:      681b            ldr     r3, [r3, #0]
+ 80008ce:      681b            ldr     r3, [r3, #0]
+ 80008d0:      f003 0301       and.w   r3, r3, #1
+ 80008d4:      2b00            cmp     r3, #0
+ 80008d6:      d1e8            bne.n   80008aa <HAL_DMA_Init+0x3e>
+    }
+  }
+  
+  /* Get the CR register value */
+  tmp = hdma->Instance->CR;
+ 80008d8:      687b            ldr     r3, [r7, #4]
+ 80008da:      681b            ldr     r3, [r3, #0]
+ 80008dc:      681b            ldr     r3, [r3, #0]
+ 80008de:      617b            str     r3, [r7, #20]
+
+  /* Clear CHSEL, MBURST, PBURST, PL, MSIZE, PSIZE, MINC, PINC, CIRC, DIR, CT and DBM bits */
+  tmp &= ((uint32_t)~(DMA_SxCR_CHSEL | DMA_SxCR_MBURST | DMA_SxCR_PBURST | \
+ 80008e0:      697a            ldr     r2, [r7, #20]
+ 80008e2:      4b38            ldr     r3, [pc, #224]  ; (80009c4 <HAL_DMA_Init+0x158>)
+ 80008e4:      4013            ands    r3, r2
+ 80008e6:      617b            str     r3, [r7, #20]
+                      DMA_SxCR_PL    | DMA_SxCR_MSIZE  | DMA_SxCR_PSIZE  | \
+                      DMA_SxCR_MINC  | DMA_SxCR_PINC   | DMA_SxCR_CIRC   | \
+                      DMA_SxCR_DIR   | DMA_SxCR_CT     | DMA_SxCR_DBM));
+
+  /* Prepare the DMA Stream configuration */
+  tmp |=  hdma->Init.Channel             | hdma->Init.Direction        |
+ 80008e8:      687b            ldr     r3, [r7, #4]
+ 80008ea:      685a            ldr     r2, [r3, #4]
+ 80008ec:      687b            ldr     r3, [r7, #4]
+ 80008ee:      689b            ldr     r3, [r3, #8]
+ 80008f0:      431a            orrs    r2, r3
+          hdma->Init.PeriphInc           | hdma->Init.MemInc           |
+ 80008f2:      687b            ldr     r3, [r7, #4]
+ 80008f4:      68db            ldr     r3, [r3, #12]
+  tmp |=  hdma->Init.Channel             | hdma->Init.Direction        |
+ 80008f6:      431a            orrs    r2, r3
+          hdma->Init.PeriphInc           | hdma->Init.MemInc           |
+ 80008f8:      687b            ldr     r3, [r7, #4]
+ 80008fa:      691b            ldr     r3, [r3, #16]
+ 80008fc:      431a            orrs    r2, r3
+          hdma->Init.PeriphDataAlignment | hdma->Init.MemDataAlignment |
+ 80008fe:      687b            ldr     r3, [r7, #4]
+ 8000900:      695b            ldr     r3, [r3, #20]
+          hdma->Init.PeriphInc           | hdma->Init.MemInc           |
+ 8000902:      431a            orrs    r2, r3
+          hdma->Init.PeriphDataAlignment | hdma->Init.MemDataAlignment |
+ 8000904:      687b            ldr     r3, [r7, #4]
+ 8000906:      699b            ldr     r3, [r3, #24]
+ 8000908:      431a            orrs    r2, r3
+          hdma->Init.Mode                | hdma->Init.Priority;
+ 800090a:      687b            ldr     r3, [r7, #4]
+ 800090c:      69db            ldr     r3, [r3, #28]
+          hdma->Init.PeriphDataAlignment | hdma->Init.MemDataAlignment |
+ 800090e:      431a            orrs    r2, r3
+          hdma->Init.Mode                | hdma->Init.Priority;
+ 8000910:      687b            ldr     r3, [r7, #4]
+ 8000912:      6a1b            ldr     r3, [r3, #32]
+ 8000914:      4313            orrs    r3, r2
+  tmp |=  hdma->Init.Channel             | hdma->Init.Direction        |
+ 8000916:      697a            ldr     r2, [r7, #20]
+ 8000918:      4313            orrs    r3, r2
+ 800091a:      617b            str     r3, [r7, #20]
+
+  /* the Memory burst and peripheral burst are not used when the FIFO is disabled */
+  if(hdma->Init.FIFOMode == DMA_FIFOMODE_ENABLE)
+ 800091c:      687b            ldr     r3, [r7, #4]
+ 800091e:      6a5b            ldr     r3, [r3, #36]   ; 0x24
+ 8000920:      2b04            cmp     r3, #4
+ 8000922:      d107            bne.n   8000934 <HAL_DMA_Init+0xc8>
+  {
+    /* Get memory burst and peripheral burst */
+    tmp |=  hdma->Init.MemBurst | hdma->Init.PeriphBurst;
+ 8000924:      687b            ldr     r3, [r7, #4]
+ 8000926:      6ada            ldr     r2, [r3, #44]   ; 0x2c
+ 8000928:      687b            ldr     r3, [r7, #4]
+ 800092a:      6b1b            ldr     r3, [r3, #48]   ; 0x30
+ 800092c:      4313            orrs    r3, r2
+ 800092e:      697a            ldr     r2, [r7, #20]
+ 8000930:      4313            orrs    r3, r2
+ 8000932:      617b            str     r3, [r7, #20]
+  }
+  
+  /* Write to DMA Stream CR register */
+  hdma->Instance->CR = tmp;  
+ 8000934:      687b            ldr     r3, [r7, #4]
+ 8000936:      681b            ldr     r3, [r3, #0]
+ 8000938:      697a            ldr     r2, [r7, #20]
+ 800093a:      601a            str     r2, [r3, #0]
+
+  /* Get the FCR register value */
+  tmp = hdma->Instance->FCR;
+ 800093c:      687b            ldr     r3, [r7, #4]
+ 800093e:      681b            ldr     r3, [r3, #0]
+ 8000940:      695b            ldr     r3, [r3, #20]
+ 8000942:      617b            str     r3, [r7, #20]
+
+  /* Clear Direct mode and FIFO threshold bits */
+  tmp &= (uint32_t)~(DMA_SxFCR_DMDIS | DMA_SxFCR_FTH);
+ 8000944:      697b            ldr     r3, [r7, #20]
+ 8000946:      f023 0307       bic.w   r3, r3, #7
+ 800094a:      617b            str     r3, [r7, #20]
+
+  /* Prepare the DMA Stream FIFO configuration */
+  tmp |= hdma->Init.FIFOMode;
+ 800094c:      687b            ldr     r3, [r7, #4]
+ 800094e:      6a5b            ldr     r3, [r3, #36]   ; 0x24
+ 8000950:      697a            ldr     r2, [r7, #20]
+ 8000952:      4313            orrs    r3, r2
+ 8000954:      617b            str     r3, [r7, #20]
+
+  /* The FIFO threshold is not used when the FIFO mode is disabled */
+  if(hdma->Init.FIFOMode == DMA_FIFOMODE_ENABLE)
+ 8000956:      687b            ldr     r3, [r7, #4]
+ 8000958:      6a5b            ldr     r3, [r3, #36]   ; 0x24
+ 800095a:      2b04            cmp     r3, #4
+ 800095c:      d117            bne.n   800098e <HAL_DMA_Init+0x122>
+  {
+    /* Get the FIFO threshold */
+    tmp |= hdma->Init.FIFOThreshold;
+ 800095e:      687b            ldr     r3, [r7, #4]
+ 8000960:      6a9b            ldr     r3, [r3, #40]   ; 0x28
+ 8000962:      697a            ldr     r2, [r7, #20]
+ 8000964:      4313            orrs    r3, r2
+ 8000966:      617b            str     r3, [r7, #20]
+    
+    /* Check compatibility between FIFO threshold level and size of the memory burst */
+    /* for INCR4, INCR8, INCR16 bursts */
+    if (hdma->Init.MemBurst != DMA_MBURST_SINGLE)
+ 8000968:      687b            ldr     r3, [r7, #4]
+ 800096a:      6adb            ldr     r3, [r3, #44]   ; 0x2c
+ 800096c:      2b00            cmp     r3, #0
+ 800096e:      d00e            beq.n   800098e <HAL_DMA_Init+0x122>
+    {
+      if (DMA_CheckFifoParam(hdma) != HAL_OK)
+ 8000970:      6878            ldr     r0, [r7, #4]
+ 8000972:      f000 fa99       bl      8000ea8 <DMA_CheckFifoParam>
+ 8000976:      4603            mov     r3, r0
+ 8000978:      2b00            cmp     r3, #0
+ 800097a:      d008            beq.n   800098e <HAL_DMA_Init+0x122>
+      {
+        /* Update error code */
+        hdma->ErrorCode = HAL_DMA_ERROR_PARAM;
+ 800097c:      687b            ldr     r3, [r7, #4]
+ 800097e:      2240            movs    r2, #64 ; 0x40
+ 8000980:      655a            str     r2, [r3, #84]   ; 0x54
+        
+        /* Change the DMA state */
+        hdma->State = HAL_DMA_STATE_READY;
+ 8000982:      687b            ldr     r3, [r7, #4]
+ 8000984:      2201            movs    r2, #1
+ 8000986:      f883 2035       strb.w  r2, [r3, #53]   ; 0x35
+        
+        return HAL_ERROR; 
+ 800098a:      2301            movs    r3, #1
+ 800098c:      e016            b.n     80009bc <HAL_DMA_Init+0x150>
+      }
+    }
+  }
+  
+  /* Write to DMA Stream FCR */
+  hdma->Instance->FCR = tmp;
+ 800098e:      687b            ldr     r3, [r7, #4]
+ 8000990:      681b            ldr     r3, [r3, #0]
+ 8000992:      697a            ldr     r2, [r7, #20]
+ 8000994:      615a            str     r2, [r3, #20]
+
+  /* Initialize StreamBaseAddress and StreamIndex parameters to be used to calculate
+     DMA steam Base Address needed by HAL_DMA_IRQHandler() and HAL_DMA_PollForTransfer() */
+  regs = (DMA_Base_Registers *)DMA_CalcBaseAndBitshift(hdma);
+ 8000996:      6878            ldr     r0, [r7, #4]
+ 8000998:      f000 fa50       bl      8000e3c <DMA_CalcBaseAndBitshift>
+ 800099c:      4603            mov     r3, r0
+ 800099e:      60fb            str     r3, [r7, #12]
+  
+  /* Clear all interrupt flags */
+  regs->IFCR = 0x3FU << hdma->StreamIndex;
+ 80009a0:      687b            ldr     r3, [r7, #4]
+ 80009a2:      6ddb            ldr     r3, [r3, #92]   ; 0x5c
+ 80009a4:      223f            movs    r2, #63 ; 0x3f
+ 80009a6:      409a            lsls    r2, r3
+ 80009a8:      68fb            ldr     r3, [r7, #12]
+ 80009aa:      609a            str     r2, [r3, #8]
+
+  /* Initialize the error code */
+  hdma->ErrorCode = HAL_DMA_ERROR_NONE;
+ 80009ac:      687b            ldr     r3, [r7, #4]
+ 80009ae:      2200            movs    r2, #0
+ 80009b0:      655a            str     r2, [r3, #84]   ; 0x54
+                                                                                     
+  /* Initialize the DMA state */
+  hdma->State = HAL_DMA_STATE_READY;
+ 80009b2:      687b            ldr     r3, [r7, #4]
+ 80009b4:      2201            movs    r2, #1
+ 80009b6:      f883 2035       strb.w  r2, [r3, #53]   ; 0x35
+
+  return HAL_OK;
+ 80009ba:      2300            movs    r3, #0
+}
+ 80009bc:      4618            mov     r0, r3
+ 80009be:      3718            adds    r7, #24
+ 80009c0:      46bd            mov     sp, r7
+ 80009c2:      bd80            pop     {r7, pc}
+ 80009c4:      e010803f        .word   0xe010803f
+
+080009c8 <HAL_DMA_Start_IT>:
+  * @param  DstAddress The destination memory Buffer address
+  * @param  DataLength The length of data to be transferred from source to destination
+  * @retval HAL status
+  */
+HAL_StatusTypeDef HAL_DMA_Start_IT(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32_t DataLength)
+{
+ 80009c8:      b580            push    {r7, lr}
+ 80009ca:      b086            sub     sp, #24
+ 80009cc:      af00            add     r7, sp, #0
+ 80009ce:      60f8            str     r0, [r7, #12]
+ 80009d0:      60b9            str     r1, [r7, #8]
+ 80009d2:      607a            str     r2, [r7, #4]
+ 80009d4:      603b            str     r3, [r7, #0]
+  HAL_StatusTypeDef status = HAL_OK;
+ 80009d6:      2300            movs    r3, #0
+ 80009d8:      75fb            strb    r3, [r7, #23]
+
+  /* calculate DMA base and stream number */
+  DMA_Base_Registers *regs = (DMA_Base_Registers *)hdma->StreamBaseAddress;
+ 80009da:      68fb            ldr     r3, [r7, #12]
+ 80009dc:      6d9b            ldr     r3, [r3, #88]   ; 0x58
+ 80009de:      613b            str     r3, [r7, #16]
+  
+  /* Check the parameters */
+  assert_param(IS_DMA_BUFFER_SIZE(DataLength));
+  /* Process locked */
+  __HAL_LOCK(hdma);
+ 80009e0:      68fb            ldr     r3, [r7, #12]
+ 80009e2:      f893 3034       ldrb.w  r3, [r3, #52]   ; 0x34
+ 80009e6:      2b01            cmp     r3, #1
+ 80009e8:      d101            bne.n   80009ee <HAL_DMA_Start_IT+0x26>
+ 80009ea:      2302            movs    r3, #2
+ 80009ec:      e048            b.n     8000a80 <HAL_DMA_Start_IT+0xb8>
+ 80009ee:      68fb            ldr     r3, [r7, #12]
+ 80009f0:      2201            movs    r2, #1
+ 80009f2:      f883 2034       strb.w  r2, [r3, #52]   ; 0x34
+  
+  if(HAL_DMA_STATE_READY == hdma->State)
+ 80009f6:      68fb            ldr     r3, [r7, #12]
+ 80009f8:      f893 3035       ldrb.w  r3, [r3, #53]   ; 0x35
+ 80009fc:      b2db            uxtb    r3, r3
+ 80009fe:      2b01            cmp     r3, #1
+ 8000a00:      d137            bne.n   8000a72 <HAL_DMA_Start_IT+0xaa>
+  {
+    /* Change DMA peripheral state */
+    hdma->State = HAL_DMA_STATE_BUSY;
+ 8000a02:      68fb            ldr     r3, [r7, #12]
+ 8000a04:      2202            movs    r2, #2
+ 8000a06:      f883 2035       strb.w  r2, [r3, #53]   ; 0x35
+    
+    /* Initialize the error code */
+    hdma->ErrorCode = HAL_DMA_ERROR_NONE;
+ 8000a0a:      68fb            ldr     r3, [r7, #12]
+ 8000a0c:      2200            movs    r2, #0
+ 8000a0e:      655a            str     r2, [r3, #84]   ; 0x54
+    
+    /* Configure the source, destination address and the data length */
+    DMA_SetConfig(hdma, SrcAddress, DstAddress, DataLength);
+ 8000a10:      683b            ldr     r3, [r7, #0]
+ 8000a12:      687a            ldr     r2, [r7, #4]
+ 8000a14:      68b9            ldr     r1, [r7, #8]
+ 8000a16:      68f8            ldr     r0, [r7, #12]
+ 8000a18:      f000 f9e2       bl      8000de0 <DMA_SetConfig>
+    
+    /* Clear all interrupt flags at correct offset within the register */
+    regs->IFCR = 0x3FU << hdma->StreamIndex;
+ 8000a1c:      68fb            ldr     r3, [r7, #12]
+ 8000a1e:      6ddb            ldr     r3, [r3, #92]   ; 0x5c
+ 8000a20:      223f            movs    r2, #63 ; 0x3f
+ 8000a22:      409a            lsls    r2, r3
+ 8000a24:      693b            ldr     r3, [r7, #16]
+ 8000a26:      609a            str     r2, [r3, #8]
+    
+    /* Enable Common interrupts*/
+    hdma->Instance->CR  |= DMA_IT_TC | DMA_IT_TE | DMA_IT_DME;
+ 8000a28:      68fb            ldr     r3, [r7, #12]
+ 8000a2a:      681b            ldr     r3, [r3, #0]
+ 8000a2c:      681a            ldr     r2, [r3, #0]
+ 8000a2e:      68fb            ldr     r3, [r7, #12]
+ 8000a30:      681b            ldr     r3, [r3, #0]
+ 8000a32:      f042 0216       orr.w   r2, r2, #22
+ 8000a36:      601a            str     r2, [r3, #0]
+    hdma->Instance->FCR |= DMA_IT_FE;
+ 8000a38:      68fb            ldr     r3, [r7, #12]
+ 8000a3a:      681b            ldr     r3, [r3, #0]
+ 8000a3c:      695a            ldr     r2, [r3, #20]
+ 8000a3e:      68fb            ldr     r3, [r7, #12]
+ 8000a40:      681b            ldr     r3, [r3, #0]
+ 8000a42:      f042 0280       orr.w   r2, r2, #128    ; 0x80
+ 8000a46:      615a            str     r2, [r3, #20]
+    
+    if(hdma->XferHalfCpltCallback != NULL)
+ 8000a48:      68fb            ldr     r3, [r7, #12]
+ 8000a4a:      6c1b            ldr     r3, [r3, #64]   ; 0x40
+ 8000a4c:      2b00            cmp     r3, #0
+ 8000a4e:      d007            beq.n   8000a60 <HAL_DMA_Start_IT+0x98>
+    {
+      hdma->Instance->CR  |= DMA_IT_HT;
+ 8000a50:      68fb            ldr     r3, [r7, #12]
+ 8000a52:      681b            ldr     r3, [r3, #0]
+ 8000a54:      681a            ldr     r2, [r3, #0]
+ 8000a56:      68fb            ldr     r3, [r7, #12]
+ 8000a58:      681b            ldr     r3, [r3, #0]
+ 8000a5a:      f042 0208       orr.w   r2, r2, #8
+ 8000a5e:      601a            str     r2, [r3, #0]
+    }
+    
+    /* Enable the Peripheral */
+    __HAL_DMA_ENABLE(hdma);
+ 8000a60:      68fb            ldr     r3, [r7, #12]
+ 8000a62:      681b            ldr     r3, [r3, #0]
+ 8000a64:      681a            ldr     r2, [r3, #0]
+ 8000a66:      68fb            ldr     r3, [r7, #12]
+ 8000a68:      681b            ldr     r3, [r3, #0]
+ 8000a6a:      f042 0201       orr.w   r2, r2, #1
+ 8000a6e:      601a            str     r2, [r3, #0]
+ 8000a70:      e005            b.n     8000a7e <HAL_DMA_Start_IT+0xb6>
+  }
+  else
+  {
+    /* Process unlocked */
+    __HAL_UNLOCK(hdma);          
+ 8000a72:      68fb            ldr     r3, [r7, #12]
+ 8000a74:      2200            movs    r2, #0
+ 8000a76:      f883 2034       strb.w  r2, [r3, #52]   ; 0x34
+    
+    /* Return error status */
+    status = HAL_BUSY;
+ 8000a7a:      2302            movs    r3, #2
+ 8000a7c:      75fb            strb    r3, [r7, #23]
+  }
+  
+  return status;
+ 8000a7e:      7dfb            ldrb    r3, [r7, #23]
+}
+ 8000a80:      4618            mov     r0, r3
+ 8000a82:      3718            adds    r7, #24
+ 8000a84:      46bd            mov     sp, r7
+ 8000a86:      bd80            pop     {r7, pc}
+
+08000a88 <HAL_DMA_Abort_IT>:
+  * @param  hdma   pointer to a DMA_HandleTypeDef structure that contains
+  *                 the configuration information for the specified DMA Stream.
+  * @retval HAL status
+  */
+HAL_StatusTypeDef HAL_DMA_Abort_IT(DMA_HandleTypeDef *hdma)
+{
+ 8000a88:      b480            push    {r7}
+ 8000a8a:      b083            sub     sp, #12
+ 8000a8c:      af00            add     r7, sp, #0
+ 8000a8e:      6078            str     r0, [r7, #4]
+  if(hdma->State != HAL_DMA_STATE_BUSY)
+ 8000a90:      687b            ldr     r3, [r7, #4]
+ 8000a92:      f893 3035       ldrb.w  r3, [r3, #53]   ; 0x35
+ 8000a96:      b2db            uxtb    r3, r3
+ 8000a98:      2b02            cmp     r3, #2
+ 8000a9a:      d004            beq.n   8000aa6 <HAL_DMA_Abort_IT+0x1e>
+  {
+    hdma->ErrorCode = HAL_DMA_ERROR_NO_XFER;
+ 8000a9c:      687b            ldr     r3, [r7, #4]
+ 8000a9e:      2280            movs    r2, #128        ; 0x80
+ 8000aa0:      655a            str     r2, [r3, #84]   ; 0x54
+    return HAL_ERROR;
+ 8000aa2:      2301            movs    r3, #1
+ 8000aa4:      e00c            b.n     8000ac0 <HAL_DMA_Abort_IT+0x38>
+  }
+  else
+  {
+    /* Set Abort State  */
+    hdma->State = HAL_DMA_STATE_ABORT;
+ 8000aa6:      687b            ldr     r3, [r7, #4]
+ 8000aa8:      2205            movs    r2, #5
+ 8000aaa:      f883 2035       strb.w  r2, [r3, #53]   ; 0x35
+    
+    /* Disable the stream */
+    __HAL_DMA_DISABLE(hdma);
+ 8000aae:      687b            ldr     r3, [r7, #4]
+ 8000ab0:      681b            ldr     r3, [r3, #0]
+ 8000ab2:      681a            ldr     r2, [r3, #0]
+ 8000ab4:      687b            ldr     r3, [r7, #4]
+ 8000ab6:      681b            ldr     r3, [r3, #0]
+ 8000ab8:      f022 0201       bic.w   r2, r2, #1
+ 8000abc:      601a            str     r2, [r3, #0]
+  }
+
+  return HAL_OK;
+ 8000abe:      2300            movs    r3, #0
+}
+ 8000ac0:      4618            mov     r0, r3
+ 8000ac2:      370c            adds    r7, #12
+ 8000ac4:      46bd            mov     sp, r7
+ 8000ac6:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8000aca:      4770            bx      lr
+
+08000acc <HAL_DMA_IRQHandler>:
+  * @param  hdma pointer to a DMA_HandleTypeDef structure that contains
+  *               the configuration information for the specified DMA Stream.  
+  * @retval None
+  */
+void HAL_DMA_IRQHandler(DMA_HandleTypeDef *hdma)
+{
+ 8000acc:      b580            push    {r7, lr}
+ 8000ace:      b086            sub     sp, #24
+ 8000ad0:      af00            add     r7, sp, #0
+ 8000ad2:      6078            str     r0, [r7, #4]
+  uint32_t tmpisr;
+  __IO uint32_t count = 0;
+ 8000ad4:      2300            movs    r3, #0
+ 8000ad6:      60bb            str     r3, [r7, #8]
+  uint32_t timeout = SystemCoreClock / 9600;
+ 8000ad8:      4b92            ldr     r3, [pc, #584]  ; (8000d24 <HAL_DMA_IRQHandler+0x258>)
+ 8000ada:      681b            ldr     r3, [r3, #0]
+ 8000adc:      4a92            ldr     r2, [pc, #584]  ; (8000d28 <HAL_DMA_IRQHandler+0x25c>)
+ 8000ade:      fba2 2303       umull   r2, r3, r2, r3
+ 8000ae2:      0a9b            lsrs    r3, r3, #10
+ 8000ae4:      617b            str     r3, [r7, #20]
+
+  /* calculate DMA base and stream number */
+  DMA_Base_Registers *regs = (DMA_Base_Registers *)hdma->StreamBaseAddress;
+ 8000ae6:      687b            ldr     r3, [r7, #4]
+ 8000ae8:      6d9b            ldr     r3, [r3, #88]   ; 0x58
+ 8000aea:      613b            str     r3, [r7, #16]
+
+  tmpisr = regs->ISR;
+ 8000aec:      693b            ldr     r3, [r7, #16]
+ 8000aee:      681b            ldr     r3, [r3, #0]
+ 8000af0:      60fb            str     r3, [r7, #12]
+
+  /* Transfer Error Interrupt management ***************************************/
+  if ((tmpisr & (DMA_FLAG_TEIF0_4 << hdma->StreamIndex)) != RESET)
+ 8000af2:      687b            ldr     r3, [r7, #4]
+ 8000af4:      6ddb            ldr     r3, [r3, #92]   ; 0x5c
+ 8000af6:      2208            movs    r2, #8
+ 8000af8:      409a            lsls    r2, r3
+ 8000afa:      68fb            ldr     r3, [r7, #12]
+ 8000afc:      4013            ands    r3, r2
+ 8000afe:      2b00            cmp     r3, #0
+ 8000b00:      d01a            beq.n   8000b38 <HAL_DMA_IRQHandler+0x6c>
+  {
+    if(__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_TE) != RESET)
+ 8000b02:      687b            ldr     r3, [r7, #4]
+ 8000b04:      681b            ldr     r3, [r3, #0]
+ 8000b06:      681b            ldr     r3, [r3, #0]
+ 8000b08:      f003 0304       and.w   r3, r3, #4
+ 8000b0c:      2b00            cmp     r3, #0
+ 8000b0e:      d013            beq.n   8000b38 <HAL_DMA_IRQHandler+0x6c>
+    {
+      /* Disable the transfer error interrupt */
+      hdma->Instance->CR  &= ~(DMA_IT_TE);
+ 8000b10:      687b            ldr     r3, [r7, #4]
+ 8000b12:      681b            ldr     r3, [r3, #0]
+ 8000b14:      681a            ldr     r2, [r3, #0]
+ 8000b16:      687b            ldr     r3, [r7, #4]
+ 8000b18:      681b            ldr     r3, [r3, #0]
+ 8000b1a:      f022 0204       bic.w   r2, r2, #4
+ 8000b1e:      601a            str     r2, [r3, #0]
+      
+      /* Clear the transfer error flag */
+      regs->IFCR = DMA_FLAG_TEIF0_4 << hdma->StreamIndex;
+ 8000b20:      687b            ldr     r3, [r7, #4]
+ 8000b22:      6ddb            ldr     r3, [r3, #92]   ; 0x5c
+ 8000b24:      2208            movs    r2, #8
+ 8000b26:      409a            lsls    r2, r3
+ 8000b28:      693b            ldr     r3, [r7, #16]
+ 8000b2a:      609a            str     r2, [r3, #8]
+      
+      /* Update error code */
+      hdma->ErrorCode |= HAL_DMA_ERROR_TE;
+ 8000b2c:      687b            ldr     r3, [r7, #4]
+ 8000b2e:      6d5b            ldr     r3, [r3, #84]   ; 0x54
+ 8000b30:      f043 0201       orr.w   r2, r3, #1
+ 8000b34:      687b            ldr     r3, [r7, #4]
+ 8000b36:      655a            str     r2, [r3, #84]   ; 0x54
+    }
+  }
+  /* FIFO Error Interrupt management ******************************************/
+  if ((tmpisr & (DMA_FLAG_FEIF0_4 << hdma->StreamIndex)) != RESET)
+ 8000b38:      687b            ldr     r3, [r7, #4]
+ 8000b3a:      6ddb            ldr     r3, [r3, #92]   ; 0x5c
+ 8000b3c:      2201            movs    r2, #1
+ 8000b3e:      409a            lsls    r2, r3
+ 8000b40:      68fb            ldr     r3, [r7, #12]
+ 8000b42:      4013            ands    r3, r2
+ 8000b44:      2b00            cmp     r3, #0
+ 8000b46:      d012            beq.n   8000b6e <HAL_DMA_IRQHandler+0xa2>
+  {
+    if(__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_FE) != RESET)
+ 8000b48:      687b            ldr     r3, [r7, #4]
+ 8000b4a:      681b            ldr     r3, [r3, #0]
+ 8000b4c:      695b            ldr     r3, [r3, #20]
+ 8000b4e:      f003 0380       and.w   r3, r3, #128    ; 0x80
+ 8000b52:      2b00            cmp     r3, #0
+ 8000b54:      d00b            beq.n   8000b6e <HAL_DMA_IRQHandler+0xa2>
+    {
+      /* Clear the FIFO error flag */
+      regs->IFCR = DMA_FLAG_FEIF0_4 << hdma->StreamIndex;
+ 8000b56:      687b            ldr     r3, [r7, #4]
+ 8000b58:      6ddb            ldr     r3, [r3, #92]   ; 0x5c
+ 8000b5a:      2201            movs    r2, #1
+ 8000b5c:      409a            lsls    r2, r3
+ 8000b5e:      693b            ldr     r3, [r7, #16]
+ 8000b60:      609a            str     r2, [r3, #8]
+
+      /* Update error code */
+      hdma->ErrorCode |= HAL_DMA_ERROR_FE;
+ 8000b62:      687b            ldr     r3, [r7, #4]
+ 8000b64:      6d5b            ldr     r3, [r3, #84]   ; 0x54
+ 8000b66:      f043 0202       orr.w   r2, r3, #2
+ 8000b6a:      687b            ldr     r3, [r7, #4]
+ 8000b6c:      655a            str     r2, [r3, #84]   ; 0x54
+    }
+  }
+  /* Direct Mode Error Interrupt management ***********************************/
+  if ((tmpisr & (DMA_FLAG_DMEIF0_4 << hdma->StreamIndex)) != RESET)
+ 8000b6e:      687b            ldr     r3, [r7, #4]
+ 8000b70:      6ddb            ldr     r3, [r3, #92]   ; 0x5c
+ 8000b72:      2204            movs    r2, #4
+ 8000b74:      409a            lsls    r2, r3
+ 8000b76:      68fb            ldr     r3, [r7, #12]
+ 8000b78:      4013            ands    r3, r2
+ 8000b7a:      2b00            cmp     r3, #0
+ 8000b7c:      d012            beq.n   8000ba4 <HAL_DMA_IRQHandler+0xd8>
+  {
+    if(__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_DME) != RESET)
+ 8000b7e:      687b            ldr     r3, [r7, #4]
+ 8000b80:      681b            ldr     r3, [r3, #0]
+ 8000b82:      681b            ldr     r3, [r3, #0]
+ 8000b84:      f003 0302       and.w   r3, r3, #2
+ 8000b88:      2b00            cmp     r3, #0
+ 8000b8a:      d00b            beq.n   8000ba4 <HAL_DMA_IRQHandler+0xd8>
+    {
+      /* Clear the direct mode error flag */
+      regs->IFCR = DMA_FLAG_DMEIF0_4 << hdma->StreamIndex;
+ 8000b8c:      687b            ldr     r3, [r7, #4]
+ 8000b8e:      6ddb            ldr     r3, [r3, #92]   ; 0x5c
+ 8000b90:      2204            movs    r2, #4
+ 8000b92:      409a            lsls    r2, r3
+ 8000b94:      693b            ldr     r3, [r7, #16]
+ 8000b96:      609a            str     r2, [r3, #8]
+
+      /* Update error code */
+      hdma->ErrorCode |= HAL_DMA_ERROR_DME;
+ 8000b98:      687b            ldr     r3, [r7, #4]
+ 8000b9a:      6d5b            ldr     r3, [r3, #84]   ; 0x54
+ 8000b9c:      f043 0204       orr.w   r2, r3, #4
+ 8000ba0:      687b            ldr     r3, [r7, #4]
+ 8000ba2:      655a            str     r2, [r3, #84]   ; 0x54
+    }
+  }
+  /* Half Transfer Complete Interrupt management ******************************/
+  if ((tmpisr & (DMA_FLAG_HTIF0_4 << hdma->StreamIndex)) != RESET)
+ 8000ba4:      687b            ldr     r3, [r7, #4]
+ 8000ba6:      6ddb            ldr     r3, [r3, #92]   ; 0x5c
+ 8000ba8:      2210            movs    r2, #16
+ 8000baa:      409a            lsls    r2, r3
+ 8000bac:      68fb            ldr     r3, [r7, #12]
+ 8000bae:      4013            ands    r3, r2
+ 8000bb0:      2b00            cmp     r3, #0
+ 8000bb2:      d043            beq.n   8000c3c <HAL_DMA_IRQHandler+0x170>
+  {
+    if(__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_HT) != RESET)
+ 8000bb4:      687b            ldr     r3, [r7, #4]
+ 8000bb6:      681b            ldr     r3, [r3, #0]
+ 8000bb8:      681b            ldr     r3, [r3, #0]
+ 8000bba:      f003 0308       and.w   r3, r3, #8
+ 8000bbe:      2b00            cmp     r3, #0
+ 8000bc0:      d03c            beq.n   8000c3c <HAL_DMA_IRQHandler+0x170>
+    {
+      /* Clear the half transfer complete flag */
+      regs->IFCR = DMA_FLAG_HTIF0_4 << hdma->StreamIndex;
+ 8000bc2:      687b            ldr     r3, [r7, #4]
+ 8000bc4:      6ddb            ldr     r3, [r3, #92]   ; 0x5c
+ 8000bc6:      2210            movs    r2, #16
+ 8000bc8:      409a            lsls    r2, r3
+ 8000bca:      693b            ldr     r3, [r7, #16]
+ 8000bcc:      609a            str     r2, [r3, #8]
+      
+      /* Multi_Buffering mode enabled */
+      if(((hdma->Instance->CR) & (uint32_t)(DMA_SxCR_DBM)) != RESET)
+ 8000bce:      687b            ldr     r3, [r7, #4]
+ 8000bd0:      681b            ldr     r3, [r3, #0]
+ 8000bd2:      681b            ldr     r3, [r3, #0]
+ 8000bd4:      f403 2380       and.w   r3, r3, #262144 ; 0x40000
+ 8000bd8:      2b00            cmp     r3, #0
+ 8000bda:      d018            beq.n   8000c0e <HAL_DMA_IRQHandler+0x142>
+      {
+        /* Current memory buffer used is Memory 0 */
+        if((hdma->Instance->CR & DMA_SxCR_CT) == RESET)
+ 8000bdc:      687b            ldr     r3, [r7, #4]
+ 8000bde:      681b            ldr     r3, [r3, #0]
+ 8000be0:      681b            ldr     r3, [r3, #0]
+ 8000be2:      f403 2300       and.w   r3, r3, #524288 ; 0x80000
+ 8000be6:      2b00            cmp     r3, #0
+ 8000be8:      d108            bne.n   8000bfc <HAL_DMA_IRQHandler+0x130>
+        {
+          if(hdma->XferHalfCpltCallback != NULL)
+ 8000bea:      687b            ldr     r3, [r7, #4]
+ 8000bec:      6c1b            ldr     r3, [r3, #64]   ; 0x40
+ 8000bee:      2b00            cmp     r3, #0
+ 8000bf0:      d024            beq.n   8000c3c <HAL_DMA_IRQHandler+0x170>
+          {
+            /* Half transfer callback */
+            hdma->XferHalfCpltCallback(hdma);
+ 8000bf2:      687b            ldr     r3, [r7, #4]
+ 8000bf4:      6c1b            ldr     r3, [r3, #64]   ; 0x40
+ 8000bf6:      6878            ldr     r0, [r7, #4]
+ 8000bf8:      4798            blx     r3
+ 8000bfa:      e01f            b.n     8000c3c <HAL_DMA_IRQHandler+0x170>
+          }
+        }
+        /* Current memory buffer used is Memory 1 */
+        else
+        {
+          if(hdma->XferM1HalfCpltCallback != NULL)
+ 8000bfc:      687b            ldr     r3, [r7, #4]
+ 8000bfe:      6c9b            ldr     r3, [r3, #72]   ; 0x48
+ 8000c00:      2b00            cmp     r3, #0
+ 8000c02:      d01b            beq.n   8000c3c <HAL_DMA_IRQHandler+0x170>
+          {
+            /* Half transfer callback */
+            hdma->XferM1HalfCpltCallback(hdma);
+ 8000c04:      687b            ldr     r3, [r7, #4]
+ 8000c06:      6c9b            ldr     r3, [r3, #72]   ; 0x48
+ 8000c08:      6878            ldr     r0, [r7, #4]
+ 8000c0a:      4798            blx     r3
+ 8000c0c:      e016            b.n     8000c3c <HAL_DMA_IRQHandler+0x170>
+        }
+      }
+      else
+      {
+        /* Disable the half transfer interrupt if the DMA mode is not CIRCULAR */
+        if((hdma->Instance->CR & DMA_SxCR_CIRC) == RESET)
+ 8000c0e:      687b            ldr     r3, [r7, #4]
+ 8000c10:      681b            ldr     r3, [r3, #0]
+ 8000c12:      681b            ldr     r3, [r3, #0]
+ 8000c14:      f403 7380       and.w   r3, r3, #256    ; 0x100
+ 8000c18:      2b00            cmp     r3, #0
+ 8000c1a:      d107            bne.n   8000c2c <HAL_DMA_IRQHandler+0x160>
+        {
+          /* Disable the half transfer interrupt */
+          hdma->Instance->CR  &= ~(DMA_IT_HT);
+ 8000c1c:      687b            ldr     r3, [r7, #4]
+ 8000c1e:      681b            ldr     r3, [r3, #0]
+ 8000c20:      681a            ldr     r2, [r3, #0]
+ 8000c22:      687b            ldr     r3, [r7, #4]
+ 8000c24:      681b            ldr     r3, [r3, #0]
+ 8000c26:      f022 0208       bic.w   r2, r2, #8
+ 8000c2a:      601a            str     r2, [r3, #0]
+        }
+        
+        if(hdma->XferHalfCpltCallback != NULL)
+ 8000c2c:      687b            ldr     r3, [r7, #4]
+ 8000c2e:      6c1b            ldr     r3, [r3, #64]   ; 0x40
+ 8000c30:      2b00            cmp     r3, #0
+ 8000c32:      d003            beq.n   8000c3c <HAL_DMA_IRQHandler+0x170>
+        {
+          /* Half transfer callback */
+          hdma->XferHalfCpltCallback(hdma);
+ 8000c34:      687b            ldr     r3, [r7, #4]
+ 8000c36:      6c1b            ldr     r3, [r3, #64]   ; 0x40
+ 8000c38:      6878            ldr     r0, [r7, #4]
+ 8000c3a:      4798            blx     r3
+        }
+      }
+    }
+  }
+  /* Transfer Complete Interrupt management ***********************************/
+  if ((tmpisr & (DMA_FLAG_TCIF0_4 << hdma->StreamIndex)) != RESET)
+ 8000c3c:      687b            ldr     r3, [r7, #4]
+ 8000c3e:      6ddb            ldr     r3, [r3, #92]   ; 0x5c
+ 8000c40:      2220            movs    r2, #32
+ 8000c42:      409a            lsls    r2, r3
+ 8000c44:      68fb            ldr     r3, [r7, #12]
+ 8000c46:      4013            ands    r3, r2
+ 8000c48:      2b00            cmp     r3, #0
+ 8000c4a:      f000 808e       beq.w   8000d6a <HAL_DMA_IRQHandler+0x29e>
+  {
+    if(__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_TC) != RESET)
+ 8000c4e:      687b            ldr     r3, [r7, #4]
+ 8000c50:      681b            ldr     r3, [r3, #0]
+ 8000c52:      681b            ldr     r3, [r3, #0]
+ 8000c54:      f003 0310       and.w   r3, r3, #16
+ 8000c58:      2b00            cmp     r3, #0
+ 8000c5a:      f000 8086       beq.w   8000d6a <HAL_DMA_IRQHandler+0x29e>
+    {
+      /* Clear the transfer complete flag */
+      regs->IFCR = DMA_FLAG_TCIF0_4 << hdma->StreamIndex;
+ 8000c5e:      687b            ldr     r3, [r7, #4]
+ 8000c60:      6ddb            ldr     r3, [r3, #92]   ; 0x5c
+ 8000c62:      2220            movs    r2, #32
+ 8000c64:      409a            lsls    r2, r3
+ 8000c66:      693b            ldr     r3, [r7, #16]
+ 8000c68:      609a            str     r2, [r3, #8]
+      
+      if(HAL_DMA_STATE_ABORT == hdma->State)
+ 8000c6a:      687b            ldr     r3, [r7, #4]
+ 8000c6c:      f893 3035       ldrb.w  r3, [r3, #53]   ; 0x35
+ 8000c70:      b2db            uxtb    r3, r3
+ 8000c72:      2b05            cmp     r3, #5
+ 8000c74:      d136            bne.n   8000ce4 <HAL_DMA_IRQHandler+0x218>
+      {
+        /* Disable all the transfer interrupts */
+        hdma->Instance->CR  &= ~(DMA_IT_TC | DMA_IT_TE | DMA_IT_DME);
+ 8000c76:      687b            ldr     r3, [r7, #4]
+ 8000c78:      681b            ldr     r3, [r3, #0]
+ 8000c7a:      681a            ldr     r2, [r3, #0]
+ 8000c7c:      687b            ldr     r3, [r7, #4]
+ 8000c7e:      681b            ldr     r3, [r3, #0]
+ 8000c80:      f022 0216       bic.w   r2, r2, #22
+ 8000c84:      601a            str     r2, [r3, #0]
+        hdma->Instance->FCR &= ~(DMA_IT_FE);
+ 8000c86:      687b            ldr     r3, [r7, #4]
+ 8000c88:      681b            ldr     r3, [r3, #0]
+ 8000c8a:      695a            ldr     r2, [r3, #20]
+ 8000c8c:      687b            ldr     r3, [r7, #4]
+ 8000c8e:      681b            ldr     r3, [r3, #0]
+ 8000c90:      f022 0280       bic.w   r2, r2, #128    ; 0x80
+ 8000c94:      615a            str     r2, [r3, #20]
+        
+        if((hdma->XferHalfCpltCallback != NULL) || (hdma->XferM1HalfCpltCallback != NULL))
+ 8000c96:      687b            ldr     r3, [r7, #4]
+ 8000c98:      6c1b            ldr     r3, [r3, #64]   ; 0x40
+ 8000c9a:      2b00            cmp     r3, #0
+ 8000c9c:      d103            bne.n   8000ca6 <HAL_DMA_IRQHandler+0x1da>
+ 8000c9e:      687b            ldr     r3, [r7, #4]
+ 8000ca0:      6c9b            ldr     r3, [r3, #72]   ; 0x48
+ 8000ca2:      2b00            cmp     r3, #0
+ 8000ca4:      d007            beq.n   8000cb6 <HAL_DMA_IRQHandler+0x1ea>
+        {
+          hdma->Instance->CR  &= ~(DMA_IT_HT);
+ 8000ca6:      687b            ldr     r3, [r7, #4]
+ 8000ca8:      681b            ldr     r3, [r3, #0]
+ 8000caa:      681a            ldr     r2, [r3, #0]
+ 8000cac:      687b            ldr     r3, [r7, #4]
+ 8000cae:      681b            ldr     r3, [r3, #0]
+ 8000cb0:      f022 0208       bic.w   r2, r2, #8
+ 8000cb4:      601a            str     r2, [r3, #0]
+        }
+
+        /* Clear all interrupt flags at correct offset within the register */
+        regs->IFCR = 0x3FU << hdma->StreamIndex;
+ 8000cb6:      687b            ldr     r3, [r7, #4]
+ 8000cb8:      6ddb            ldr     r3, [r3, #92]   ; 0x5c
+ 8000cba:      223f            movs    r2, #63 ; 0x3f
+ 8000cbc:      409a            lsls    r2, r3
+ 8000cbe:      693b            ldr     r3, [r7, #16]
+ 8000cc0:      609a            str     r2, [r3, #8]
+
+        /* Process Unlocked */
+        __HAL_UNLOCK(hdma);
+ 8000cc2:      687b            ldr     r3, [r7, #4]
+ 8000cc4:      2200            movs    r2, #0
+ 8000cc6:      f883 2034       strb.w  r2, [r3, #52]   ; 0x34
+
+        /* Change the DMA state */
+        hdma->State = HAL_DMA_STATE_READY;
+ 8000cca:      687b            ldr     r3, [r7, #4]
+ 8000ccc:      2201            movs    r2, #1
+ 8000cce:      f883 2035       strb.w  r2, [r3, #53]   ; 0x35
+
+        if(hdma->XferAbortCallback != NULL)
+ 8000cd2:      687b            ldr     r3, [r7, #4]
+ 8000cd4:      6d1b            ldr     r3, [r3, #80]   ; 0x50
+ 8000cd6:      2b00            cmp     r3, #0
+ 8000cd8:      d07d            beq.n   8000dd6 <HAL_DMA_IRQHandler+0x30a>
+        {
+          hdma->XferAbortCallback(hdma);
+ 8000cda:      687b            ldr     r3, [r7, #4]
+ 8000cdc:      6d1b            ldr     r3, [r3, #80]   ; 0x50
+ 8000cde:      6878            ldr     r0, [r7, #4]
+ 8000ce0:      4798            blx     r3
+        }
+        return;
+ 8000ce2:      e078            b.n     8000dd6 <HAL_DMA_IRQHandler+0x30a>
+      }
+
+      if(((hdma->Instance->CR) & (uint32_t)(DMA_SxCR_DBM)) != RESET)
+ 8000ce4:      687b            ldr     r3, [r7, #4]
+ 8000ce6:      681b            ldr     r3, [r3, #0]
+ 8000ce8:      681b            ldr     r3, [r3, #0]
+ 8000cea:      f403 2380       and.w   r3, r3, #262144 ; 0x40000
+ 8000cee:      2b00            cmp     r3, #0
+ 8000cf0:      d01c            beq.n   8000d2c <HAL_DMA_IRQHandler+0x260>
+      {
+        /* Current memory buffer used is Memory 0 */
+        if((hdma->Instance->CR & DMA_SxCR_CT) == RESET)
+ 8000cf2:      687b            ldr     r3, [r7, #4]
+ 8000cf4:      681b            ldr     r3, [r3, #0]
+ 8000cf6:      681b            ldr     r3, [r3, #0]
+ 8000cf8:      f403 2300       and.w   r3, r3, #524288 ; 0x80000
+ 8000cfc:      2b00            cmp     r3, #0
+ 8000cfe:      d108            bne.n   8000d12 <HAL_DMA_IRQHandler+0x246>
+        {
+          if(hdma->XferM1CpltCallback != NULL)
+ 8000d00:      687b            ldr     r3, [r7, #4]
+ 8000d02:      6c5b            ldr     r3, [r3, #68]   ; 0x44
+ 8000d04:      2b00            cmp     r3, #0
+ 8000d06:      d030            beq.n   8000d6a <HAL_DMA_IRQHandler+0x29e>
+          {
+            /* Transfer complete Callback for memory1 */
+            hdma->XferM1CpltCallback(hdma);
+ 8000d08:      687b            ldr     r3, [r7, #4]
+ 8000d0a:      6c5b            ldr     r3, [r3, #68]   ; 0x44
+ 8000d0c:      6878            ldr     r0, [r7, #4]
+ 8000d0e:      4798            blx     r3
+ 8000d10:      e02b            b.n     8000d6a <HAL_DMA_IRQHandler+0x29e>
+          }
+        }
+        /* Current memory buffer used is Memory 1 */
+        else
+        {
+          if(hdma->XferCpltCallback != NULL)
+ 8000d12:      687b            ldr     r3, [r7, #4]
+ 8000d14:      6bdb            ldr     r3, [r3, #60]   ; 0x3c
+ 8000d16:      2b00            cmp     r3, #0
+ 8000d18:      d027            beq.n   8000d6a <HAL_DMA_IRQHandler+0x29e>
+          {
+            /* Transfer complete Callback for memory0 */
+            hdma->XferCpltCallback(hdma);
+ 8000d1a:      687b            ldr     r3, [r7, #4]
+ 8000d1c:      6bdb            ldr     r3, [r3, #60]   ; 0x3c
+ 8000d1e:      6878            ldr     r0, [r7, #4]
+ 8000d20:      4798            blx     r3
+ 8000d22:      e022            b.n     8000d6a <HAL_DMA_IRQHandler+0x29e>
+ 8000d24:      20000008        .word   0x20000008
+ 8000d28:      1b4e81b5        .word   0x1b4e81b5
+        }
+      }
+      /* Disable the transfer complete interrupt if the DMA mode is not CIRCULAR */
+      else
+      {
+        if((hdma->Instance->CR & DMA_SxCR_CIRC) == RESET)
+ 8000d2c:      687b            ldr     r3, [r7, #4]
+ 8000d2e:      681b            ldr     r3, [r3, #0]
+ 8000d30:      681b            ldr     r3, [r3, #0]
+ 8000d32:      f403 7380       and.w   r3, r3, #256    ; 0x100
+ 8000d36:      2b00            cmp     r3, #0
+ 8000d38:      d10f            bne.n   8000d5a <HAL_DMA_IRQHandler+0x28e>
+        {
+          /* Disable the transfer complete interrupt */
+          hdma->Instance->CR  &= ~(DMA_IT_TC);
+ 8000d3a:      687b            ldr     r3, [r7, #4]
+ 8000d3c:      681b            ldr     r3, [r3, #0]
+ 8000d3e:      681a            ldr     r2, [r3, #0]
+ 8000d40:      687b            ldr     r3, [r7, #4]
+ 8000d42:      681b            ldr     r3, [r3, #0]
+ 8000d44:      f022 0210       bic.w   r2, r2, #16
+ 8000d48:      601a            str     r2, [r3, #0]
+
+          /* Process Unlocked */
+          __HAL_UNLOCK(hdma);
+ 8000d4a:      687b            ldr     r3, [r7, #4]
+ 8000d4c:      2200            movs    r2, #0
+ 8000d4e:      f883 2034       strb.w  r2, [r3, #52]   ; 0x34
+
+          /* Change the DMA state */
+          hdma->State = HAL_DMA_STATE_READY;
+ 8000d52:      687b            ldr     r3, [r7, #4]
+ 8000d54:      2201            movs    r2, #1
+ 8000d56:      f883 2035       strb.w  r2, [r3, #53]   ; 0x35
+        }
+
+        if(hdma->XferCpltCallback != NULL)
+ 8000d5a:      687b            ldr     r3, [r7, #4]
+ 8000d5c:      6bdb            ldr     r3, [r3, #60]   ; 0x3c
+ 8000d5e:      2b00            cmp     r3, #0
+ 8000d60:      d003            beq.n   8000d6a <HAL_DMA_IRQHandler+0x29e>
+        {
+          /* Transfer complete callback */
+          hdma->XferCpltCallback(hdma);
+ 8000d62:      687b            ldr     r3, [r7, #4]
+ 8000d64:      6bdb            ldr     r3, [r3, #60]   ; 0x3c
+ 8000d66:      6878            ldr     r0, [r7, #4]
+ 8000d68:      4798            blx     r3
+      }
+    }
+  }
+  
+  /* manage error case */
+  if(hdma->ErrorCode != HAL_DMA_ERROR_NONE)
+ 8000d6a:      687b            ldr     r3, [r7, #4]
+ 8000d6c:      6d5b            ldr     r3, [r3, #84]   ; 0x54
+ 8000d6e:      2b00            cmp     r3, #0
+ 8000d70:      d032            beq.n   8000dd8 <HAL_DMA_IRQHandler+0x30c>
+  {
+    if((hdma->ErrorCode & HAL_DMA_ERROR_TE) != RESET)
+ 8000d72:      687b            ldr     r3, [r7, #4]
+ 8000d74:      6d5b            ldr     r3, [r3, #84]   ; 0x54
+ 8000d76:      f003 0301       and.w   r3, r3, #1
+ 8000d7a:      2b00            cmp     r3, #0
+ 8000d7c:      d022            beq.n   8000dc4 <HAL_DMA_IRQHandler+0x2f8>
+    {
+      hdma->State = HAL_DMA_STATE_ABORT;
+ 8000d7e:      687b            ldr     r3, [r7, #4]
+ 8000d80:      2205            movs    r2, #5
+ 8000d82:      f883 2035       strb.w  r2, [r3, #53]   ; 0x35
+
+      /* Disable the stream */
+      __HAL_DMA_DISABLE(hdma);
+ 8000d86:      687b            ldr     r3, [r7, #4]
+ 8000d88:      681b            ldr     r3, [r3, #0]
+ 8000d8a:      681a            ldr     r2, [r3, #0]
+ 8000d8c:      687b            ldr     r3, [r7, #4]
+ 8000d8e:      681b            ldr     r3, [r3, #0]
+ 8000d90:      f022 0201       bic.w   r2, r2, #1
+ 8000d94:      601a            str     r2, [r3, #0]
+
+      do
+      {
+        if (++count > timeout)
+ 8000d96:      68bb            ldr     r3, [r7, #8]
+ 8000d98:      3301            adds    r3, #1
+ 8000d9a:      60bb            str     r3, [r7, #8]
+ 8000d9c:      697a            ldr     r2, [r7, #20]
+ 8000d9e:      429a            cmp     r2, r3
+ 8000da0:      d307            bcc.n   8000db2 <HAL_DMA_IRQHandler+0x2e6>
+        {
+          break;
+        }
+      }
+      while((hdma->Instance->CR & DMA_SxCR_EN) != RESET);
+ 8000da2:      687b            ldr     r3, [r7, #4]
+ 8000da4:      681b            ldr     r3, [r3, #0]
+ 8000da6:      681b            ldr     r3, [r3, #0]
+ 8000da8:      f003 0301       and.w   r3, r3, #1
+ 8000dac:      2b00            cmp     r3, #0
+ 8000dae:      d1f2            bne.n   8000d96 <HAL_DMA_IRQHandler+0x2ca>
+ 8000db0:      e000            b.n     8000db4 <HAL_DMA_IRQHandler+0x2e8>
+          break;
+ 8000db2:      bf00            nop
+
+      /* Process Unlocked */
+      __HAL_UNLOCK(hdma);
+ 8000db4:      687b            ldr     r3, [r7, #4]
+ 8000db6:      2200            movs    r2, #0
+ 8000db8:      f883 2034       strb.w  r2, [r3, #52]   ; 0x34
+
+      /* Change the DMA state */
+      hdma->State = HAL_DMA_STATE_READY;
+ 8000dbc:      687b            ldr     r3, [r7, #4]
+ 8000dbe:      2201            movs    r2, #1
+ 8000dc0:      f883 2035       strb.w  r2, [r3, #53]   ; 0x35
+    }
+
+    if(hdma->XferErrorCallback != NULL)
+ 8000dc4:      687b            ldr     r3, [r7, #4]
+ 8000dc6:      6cdb            ldr     r3, [r3, #76]   ; 0x4c
+ 8000dc8:      2b00            cmp     r3, #0
+ 8000dca:      d005            beq.n   8000dd8 <HAL_DMA_IRQHandler+0x30c>
+    {
+      /* Transfer error callback */
+      hdma->XferErrorCallback(hdma);
+ 8000dcc:      687b            ldr     r3, [r7, #4]
+ 8000dce:      6cdb            ldr     r3, [r3, #76]   ; 0x4c
+ 8000dd0:      6878            ldr     r0, [r7, #4]
+ 8000dd2:      4798            blx     r3
+ 8000dd4:      e000            b.n     8000dd8 <HAL_DMA_IRQHandler+0x30c>
+        return;
+ 8000dd6:      bf00            nop
+    }
+  }
+}
+ 8000dd8:      3718            adds    r7, #24
+ 8000dda:      46bd            mov     sp, r7
+ 8000ddc:      bd80            pop     {r7, pc}
+ 8000dde:      bf00            nop
+
+08000de0 <DMA_SetConfig>:
+  * @param  DstAddress The destination memory Buffer address
+  * @param  DataLength The length of data to be transferred from source to destination
+  * @retval HAL status
+  */
+static void DMA_SetConfig(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32_t DataLength)
+{
+ 8000de0:      b480            push    {r7}
+ 8000de2:      b085            sub     sp, #20
+ 8000de4:      af00            add     r7, sp, #0
+ 8000de6:      60f8            str     r0, [r7, #12]
+ 8000de8:      60b9            str     r1, [r7, #8]
+ 8000dea:      607a            str     r2, [r7, #4]
+ 8000dec:      603b            str     r3, [r7, #0]
+  /* Clear DBM bit */
+  hdma->Instance->CR &= (uint32_t)(~DMA_SxCR_DBM);
+ 8000dee:      68fb            ldr     r3, [r7, #12]
+ 8000df0:      681b            ldr     r3, [r3, #0]
+ 8000df2:      681a            ldr     r2, [r3, #0]
+ 8000df4:      68fb            ldr     r3, [r7, #12]
+ 8000df6:      681b            ldr     r3, [r3, #0]
+ 8000df8:      f422 2280       bic.w   r2, r2, #262144 ; 0x40000
+ 8000dfc:      601a            str     r2, [r3, #0]
+
+  /* Configure DMA Stream data length */
+  hdma->Instance->NDTR = DataLength;
+ 8000dfe:      68fb            ldr     r3, [r7, #12]
+ 8000e00:      681b            ldr     r3, [r3, #0]
+ 8000e02:      683a            ldr     r2, [r7, #0]
+ 8000e04:      605a            str     r2, [r3, #4]
+
+  /* Memory to Peripheral */
+  if((hdma->Init.Direction) == DMA_MEMORY_TO_PERIPH)
+ 8000e06:      68fb            ldr     r3, [r7, #12]
+ 8000e08:      689b            ldr     r3, [r3, #8]
+ 8000e0a:      2b40            cmp     r3, #64 ; 0x40
+ 8000e0c:      d108            bne.n   8000e20 <DMA_SetConfig+0x40>
+  {
+    /* Configure DMA Stream destination address */
+    hdma->Instance->PAR = DstAddress;
+ 8000e0e:      68fb            ldr     r3, [r7, #12]
+ 8000e10:      681b            ldr     r3, [r3, #0]
+ 8000e12:      687a            ldr     r2, [r7, #4]
+ 8000e14:      609a            str     r2, [r3, #8]
+
+    /* Configure DMA Stream source address */
+    hdma->Instance->M0AR = SrcAddress;
+ 8000e16:      68fb            ldr     r3, [r7, #12]
+ 8000e18:      681b            ldr     r3, [r3, #0]
+ 8000e1a:      68ba            ldr     r2, [r7, #8]
+ 8000e1c:      60da            str     r2, [r3, #12]
+    hdma->Instance->PAR = SrcAddress;
+
+    /* Configure DMA Stream destination address */
+    hdma->Instance->M0AR = DstAddress;
+  }
+}
+ 8000e1e:      e007            b.n     8000e30 <DMA_SetConfig+0x50>
+    hdma->Instance->PAR = SrcAddress;
+ 8000e20:      68fb            ldr     r3, [r7, #12]
+ 8000e22:      681b            ldr     r3, [r3, #0]
+ 8000e24:      68ba            ldr     r2, [r7, #8]
+ 8000e26:      609a            str     r2, [r3, #8]
+    hdma->Instance->M0AR = DstAddress;
+ 8000e28:      68fb            ldr     r3, [r7, #12]
+ 8000e2a:      681b            ldr     r3, [r3, #0]
+ 8000e2c:      687a            ldr     r2, [r7, #4]
+ 8000e2e:      60da            str     r2, [r3, #12]
+}
+ 8000e30:      bf00            nop
+ 8000e32:      3714            adds    r7, #20
+ 8000e34:      46bd            mov     sp, r7
+ 8000e36:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8000e3a:      4770            bx      lr
+
+08000e3c <DMA_CalcBaseAndBitshift>:
+  * @param  hdma       pointer to a DMA_HandleTypeDef structure that contains
+  *                     the configuration information for the specified DMA Stream. 
+  * @retval Stream base address
+  */
+static uint32_t DMA_CalcBaseAndBitshift(DMA_HandleTypeDef *hdma)
+{
+ 8000e3c:      b480            push    {r7}
+ 8000e3e:      b085            sub     sp, #20
+ 8000e40:      af00            add     r7, sp, #0
+ 8000e42:      6078            str     r0, [r7, #4]
+  uint32_t stream_number = (((uint32_t)hdma->Instance & 0xFFU) - 16U) / 24U;
+ 8000e44:      687b            ldr     r3, [r7, #4]
+ 8000e46:      681b            ldr     r3, [r3, #0]
+ 8000e48:      b2db            uxtb    r3, r3
+ 8000e4a:      3b10            subs    r3, #16
+ 8000e4c:      4a13            ldr     r2, [pc, #76]   ; (8000e9c <DMA_CalcBaseAndBitshift+0x60>)
+ 8000e4e:      fba2 2303       umull   r2, r3, r2, r3
+ 8000e52:      091b            lsrs    r3, r3, #4
+ 8000e54:      60fb            str     r3, [r7, #12]
+  
+  /* lookup table for necessary bitshift of flags within status registers */
+  static const uint8_t flagBitshiftOffset[8U] = {0U, 6U, 16U, 22U, 0U, 6U, 16U, 22U};
+  hdma->StreamIndex = flagBitshiftOffset[stream_number];
+ 8000e56:      4a12            ldr     r2, [pc, #72]   ; (8000ea0 <DMA_CalcBaseAndBitshift+0x64>)
+ 8000e58:      68fb            ldr     r3, [r7, #12]
+ 8000e5a:      4413            add     r3, r2
+ 8000e5c:      781b            ldrb    r3, [r3, #0]
+ 8000e5e:      461a            mov     r2, r3
+ 8000e60:      687b            ldr     r3, [r7, #4]
+ 8000e62:      65da            str     r2, [r3, #92]   ; 0x5c
+  
+  if (stream_number > 3U)
+ 8000e64:      68fb            ldr     r3, [r7, #12]
+ 8000e66:      2b03            cmp     r3, #3
+ 8000e68:      d908            bls.n   8000e7c <DMA_CalcBaseAndBitshift+0x40>
+  {
+    /* return pointer to HISR and HIFCR */
+    hdma->StreamBaseAddress = (((uint32_t)hdma->Instance & (uint32_t)(~0x3FFU)) + 4U);
+ 8000e6a:      687b            ldr     r3, [r7, #4]
+ 8000e6c:      681b            ldr     r3, [r3, #0]
+ 8000e6e:      461a            mov     r2, r3
+ 8000e70:      4b0c            ldr     r3, [pc, #48]   ; (8000ea4 <DMA_CalcBaseAndBitshift+0x68>)
+ 8000e72:      4013            ands    r3, r2
+ 8000e74:      1d1a            adds    r2, r3, #4
+ 8000e76:      687b            ldr     r3, [r7, #4]
+ 8000e78:      659a            str     r2, [r3, #88]   ; 0x58
+ 8000e7a:      e006            b.n     8000e8a <DMA_CalcBaseAndBitshift+0x4e>
+  }
+  else
+  {
+    /* return pointer to LISR and LIFCR */
+    hdma->StreamBaseAddress = ((uint32_t)hdma->Instance & (uint32_t)(~0x3FFU));
+ 8000e7c:      687b            ldr     r3, [r7, #4]
+ 8000e7e:      681b            ldr     r3, [r3, #0]
+ 8000e80:      461a            mov     r2, r3
+ 8000e82:      4b08            ldr     r3, [pc, #32]   ; (8000ea4 <DMA_CalcBaseAndBitshift+0x68>)
+ 8000e84:      4013            ands    r3, r2
+ 8000e86:      687a            ldr     r2, [r7, #4]
+ 8000e88:      6593            str     r3, [r2, #88]   ; 0x58
+  }
+  
+  return hdma->StreamBaseAddress;
+ 8000e8a:      687b            ldr     r3, [r7, #4]
+ 8000e8c:      6d9b            ldr     r3, [r3, #88]   ; 0x58
+}
+ 8000e8e:      4618            mov     r0, r3
+ 8000e90:      3714            adds    r7, #20
+ 8000e92:      46bd            mov     sp, r7
+ 8000e94:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8000e98:      4770            bx      lr
+ 8000e9a:      bf00            nop
+ 8000e9c:      aaaaaaab        .word   0xaaaaaaab
+ 8000ea0:      08005f34        .word   0x08005f34
+ 8000ea4:      fffffc00        .word   0xfffffc00
+
+08000ea8 <DMA_CheckFifoParam>:
+  * @param  hdma       pointer to a DMA_HandleTypeDef structure that contains
+  *                     the configuration information for the specified DMA Stream. 
+  * @retval HAL status
+  */
+static HAL_StatusTypeDef DMA_CheckFifoParam(DMA_HandleTypeDef *hdma)
+{
+ 8000ea8:      b480            push    {r7}
+ 8000eaa:      b085            sub     sp, #20
+ 8000eac:      af00            add     r7, sp, #0
+ 8000eae:      6078            str     r0, [r7, #4]
+  HAL_StatusTypeDef status = HAL_OK;
+ 8000eb0:      2300            movs    r3, #0
+ 8000eb2:      73fb            strb    r3, [r7, #15]
+  uint32_t tmp = hdma->Init.FIFOThreshold;
+ 8000eb4:      687b            ldr     r3, [r7, #4]
+ 8000eb6:      6a9b            ldr     r3, [r3, #40]   ; 0x28
+ 8000eb8:      60bb            str     r3, [r7, #8]
+  
+  /* Memory Data size equal to Byte */
+  if(hdma->Init.MemDataAlignment == DMA_MDATAALIGN_BYTE)
+ 8000eba:      687b            ldr     r3, [r7, #4]
+ 8000ebc:      699b            ldr     r3, [r3, #24]
+ 8000ebe:      2b00            cmp     r3, #0
+ 8000ec0:      d11f            bne.n   8000f02 <DMA_CheckFifoParam+0x5a>
+  {
+    switch (tmp)
+ 8000ec2:      68bb            ldr     r3, [r7, #8]
+ 8000ec4:      2b03            cmp     r3, #3
+ 8000ec6:      d855            bhi.n   8000f74 <DMA_CheckFifoParam+0xcc>
+ 8000ec8:      a201            add     r2, pc, #4      ; (adr r2, 8000ed0 <DMA_CheckFifoParam+0x28>)
+ 8000eca:      f852 f023       ldr.w   pc, [r2, r3, lsl #2]
+ 8000ece:      bf00            nop
+ 8000ed0:      08000ee1        .word   0x08000ee1
+ 8000ed4:      08000ef3        .word   0x08000ef3
+ 8000ed8:      08000ee1        .word   0x08000ee1
+ 8000edc:      08000f75        .word   0x08000f75
+    {
+    case DMA_FIFO_THRESHOLD_1QUARTERFULL:
+    case DMA_FIFO_THRESHOLD_3QUARTERSFULL:
+      if ((hdma->Init.MemBurst & DMA_SxCR_MBURST_1) == DMA_SxCR_MBURST_1)
+ 8000ee0:      687b            ldr     r3, [r7, #4]
+ 8000ee2:      6adb            ldr     r3, [r3, #44]   ; 0x2c
+ 8000ee4:      f003 7380       and.w   r3, r3, #16777216       ; 0x1000000
+ 8000ee8:      2b00            cmp     r3, #0
+ 8000eea:      d045            beq.n   8000f78 <DMA_CheckFifoParam+0xd0>
+      {
+        status = HAL_ERROR;
+ 8000eec:      2301            movs    r3, #1
+ 8000eee:      73fb            strb    r3, [r7, #15]
+      }
+      break;
+ 8000ef0:      e042            b.n     8000f78 <DMA_CheckFifoParam+0xd0>
+    case DMA_FIFO_THRESHOLD_HALFFULL:
+      if (hdma->Init.MemBurst == DMA_MBURST_INC16)
+ 8000ef2:      687b            ldr     r3, [r7, #4]
+ 8000ef4:      6adb            ldr     r3, [r3, #44]   ; 0x2c
+ 8000ef6:      f1b3 7fc0       cmp.w   r3, #25165824   ; 0x1800000
+ 8000efa:      d13f            bne.n   8000f7c <DMA_CheckFifoParam+0xd4>
+      {
+        status = HAL_ERROR;
+ 8000efc:      2301            movs    r3, #1
+ 8000efe:      73fb            strb    r3, [r7, #15]
+      }
+      break;
+ 8000f00:      e03c            b.n     8000f7c <DMA_CheckFifoParam+0xd4>
+      break;
+    }
+  }
+  
+  /* Memory Data size equal to Half-Word */
+  else if (hdma->Init.MemDataAlignment == DMA_MDATAALIGN_HALFWORD)
+ 8000f02:      687b            ldr     r3, [r7, #4]
+ 8000f04:      699b            ldr     r3, [r3, #24]
+ 8000f06:      f5b3 5f00       cmp.w   r3, #8192       ; 0x2000
+ 8000f0a:      d121            bne.n   8000f50 <DMA_CheckFifoParam+0xa8>
+  {
+    switch (tmp)
+ 8000f0c:      68bb            ldr     r3, [r7, #8]
+ 8000f0e:      2b03            cmp     r3, #3
+ 8000f10:      d836            bhi.n   8000f80 <DMA_CheckFifoParam+0xd8>
+ 8000f12:      a201            add     r2, pc, #4      ; (adr r2, 8000f18 <DMA_CheckFifoParam+0x70>)
+ 8000f14:      f852 f023       ldr.w   pc, [r2, r3, lsl #2]
+ 8000f18:      08000f29        .word   0x08000f29
+ 8000f1c:      08000f2f        .word   0x08000f2f
+ 8000f20:      08000f29        .word   0x08000f29
+ 8000f24:      08000f41        .word   0x08000f41
+    {
+    case DMA_FIFO_THRESHOLD_1QUARTERFULL:
+    case DMA_FIFO_THRESHOLD_3QUARTERSFULL:
+      status = HAL_ERROR;
+ 8000f28:      2301            movs    r3, #1
+ 8000f2a:      73fb            strb    r3, [r7, #15]
+      break;
+ 8000f2c:      e02f            b.n     8000f8e <DMA_CheckFifoParam+0xe6>
+    case DMA_FIFO_THRESHOLD_HALFFULL:
+      if ((hdma->Init.MemBurst & DMA_SxCR_MBURST_1) == DMA_SxCR_MBURST_1)
+ 8000f2e:      687b            ldr     r3, [r7, #4]
+ 8000f30:      6adb            ldr     r3, [r3, #44]   ; 0x2c
+ 8000f32:      f003 7380       and.w   r3, r3, #16777216       ; 0x1000000
+ 8000f36:      2b00            cmp     r3, #0
+ 8000f38:      d024            beq.n   8000f84 <DMA_CheckFifoParam+0xdc>
+      {
+        status = HAL_ERROR;
+ 8000f3a:      2301            movs    r3, #1
+ 8000f3c:      73fb            strb    r3, [r7, #15]
+      }
+      break;
+ 8000f3e:      e021            b.n     8000f84 <DMA_CheckFifoParam+0xdc>
+    case DMA_FIFO_THRESHOLD_FULL:
+      if (hdma->Init.MemBurst == DMA_MBURST_INC16)
+ 8000f40:      687b            ldr     r3, [r7, #4]
+ 8000f42:      6adb            ldr     r3, [r3, #44]   ; 0x2c
+ 8000f44:      f1b3 7fc0       cmp.w   r3, #25165824   ; 0x1800000
+ 8000f48:      d11e            bne.n   8000f88 <DMA_CheckFifoParam+0xe0>
+      {
+        status = HAL_ERROR;
+ 8000f4a:      2301            movs    r3, #1
+ 8000f4c:      73fb            strb    r3, [r7, #15]
+      }
+      break;   
+ 8000f4e:      e01b            b.n     8000f88 <DMA_CheckFifoParam+0xe0>
+  }
+  
+  /* Memory Data size equal to Word */
+  else
+  {
+    switch (tmp)
+ 8000f50:      68bb            ldr     r3, [r7, #8]
+ 8000f52:      2b02            cmp     r3, #2
+ 8000f54:      d902            bls.n   8000f5c <DMA_CheckFifoParam+0xb4>
+ 8000f56:      2b03            cmp     r3, #3
+ 8000f58:      d003            beq.n   8000f62 <DMA_CheckFifoParam+0xba>
+      {
+        status = HAL_ERROR;
+      }
+      break;
+    default:
+      break;
+ 8000f5a:      e018            b.n     8000f8e <DMA_CheckFifoParam+0xe6>
+      status = HAL_ERROR;
+ 8000f5c:      2301            movs    r3, #1
+ 8000f5e:      73fb            strb    r3, [r7, #15]
+      break;
+ 8000f60:      e015            b.n     8000f8e <DMA_CheckFifoParam+0xe6>
+      if ((hdma->Init.MemBurst & DMA_SxCR_MBURST_1) == DMA_SxCR_MBURST_1)
+ 8000f62:      687b            ldr     r3, [r7, #4]
+ 8000f64:      6adb            ldr     r3, [r3, #44]   ; 0x2c
+ 8000f66:      f003 7380       and.w   r3, r3, #16777216       ; 0x1000000
+ 8000f6a:      2b00            cmp     r3, #0
+ 8000f6c:      d00e            beq.n   8000f8c <DMA_CheckFifoParam+0xe4>
+        status = HAL_ERROR;
+ 8000f6e:      2301            movs    r3, #1
+ 8000f70:      73fb            strb    r3, [r7, #15]
+      break;
+ 8000f72:      e00b            b.n     8000f8c <DMA_CheckFifoParam+0xe4>
+      break;
+ 8000f74:      bf00            nop
+ 8000f76:      e00a            b.n     8000f8e <DMA_CheckFifoParam+0xe6>
+      break;
+ 8000f78:      bf00            nop
+ 8000f7a:      e008            b.n     8000f8e <DMA_CheckFifoParam+0xe6>
+      break;
+ 8000f7c:      bf00            nop
+ 8000f7e:      e006            b.n     8000f8e <DMA_CheckFifoParam+0xe6>
+      break;
+ 8000f80:      bf00            nop
+ 8000f82:      e004            b.n     8000f8e <DMA_CheckFifoParam+0xe6>
+      break;
+ 8000f84:      bf00            nop
+ 8000f86:      e002            b.n     8000f8e <DMA_CheckFifoParam+0xe6>
+      break;   
+ 8000f88:      bf00            nop
+ 8000f8a:      e000            b.n     8000f8e <DMA_CheckFifoParam+0xe6>
+      break;
+ 8000f8c:      bf00            nop
+    }
+  } 
+  
+  return status; 
+ 8000f8e:      7bfb            ldrb    r3, [r7, #15]
+}
+ 8000f90:      4618            mov     r0, r3
+ 8000f92:      3714            adds    r7, #20
+ 8000f94:      46bd            mov     sp, r7
+ 8000f96:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8000f9a:      4770            bx      lr
+
+08000f9c <HAL_GPIO_Init>:
+  * @param  GPIO_Init pointer to a GPIO_InitTypeDef structure that contains
+  *         the configuration information for the specified GPIO peripheral.
+  * @retval None
+  */
+void HAL_GPIO_Init(GPIO_TypeDef  *GPIOx, GPIO_InitTypeDef *GPIO_Init)
+{
+ 8000f9c:      b480            push    {r7}
+ 8000f9e:      b089            sub     sp, #36 ; 0x24
+ 8000fa0:      af00            add     r7, sp, #0
+ 8000fa2:      6078            str     r0, [r7, #4]
+ 8000fa4:      6039            str     r1, [r7, #0]
+  uint32_t position = 0x00;
+ 8000fa6:      2300            movs    r3, #0
+ 8000fa8:      61fb            str     r3, [r7, #28]
+  uint32_t ioposition = 0x00;
+ 8000faa:      2300            movs    r3, #0
+ 8000fac:      617b            str     r3, [r7, #20]
+  uint32_t iocurrent = 0x00;
+ 8000fae:      2300            movs    r3, #0
+ 8000fb0:      613b            str     r3, [r7, #16]
+  uint32_t temp = 0x00;
+ 8000fb2:      2300            movs    r3, #0
+ 8000fb4:      61bb            str     r3, [r7, #24]
+  assert_param(IS_GPIO_PIN(GPIO_Init->Pin));
+  assert_param(IS_GPIO_MODE(GPIO_Init->Mode));
+  assert_param(IS_GPIO_PULL(GPIO_Init->Pull));
+
+  /* Configure the port pins */
+  for(position = 0; position < GPIO_NUMBER; position++)
+ 8000fb6:      2300            movs    r3, #0
+ 8000fb8:      61fb            str     r3, [r7, #28]
+ 8000fba:      e175            b.n     80012a8 <HAL_GPIO_Init+0x30c>
+  {
+    /* Get the IO position */
+    ioposition = ((uint32_t)0x01) << position;
+ 8000fbc:      2201            movs    r2, #1
+ 8000fbe:      69fb            ldr     r3, [r7, #28]
+ 8000fc0:      fa02 f303       lsl.w   r3, r2, r3
+ 8000fc4:      617b            str     r3, [r7, #20]
+    /* Get the current IO position */
+    iocurrent = (uint32_t)(GPIO_Init->Pin) & ioposition;
+ 8000fc6:      683b            ldr     r3, [r7, #0]
+ 8000fc8:      681b            ldr     r3, [r3, #0]
+ 8000fca:      697a            ldr     r2, [r7, #20]
+ 8000fcc:      4013            ands    r3, r2
+ 8000fce:      613b            str     r3, [r7, #16]
+
+    if(iocurrent == ioposition)
+ 8000fd0:      693a            ldr     r2, [r7, #16]
+ 8000fd2:      697b            ldr     r3, [r7, #20]
+ 8000fd4:      429a            cmp     r2, r3
+ 8000fd6:      f040 8164       bne.w   80012a2 <HAL_GPIO_Init+0x306>
+    {
+      /*--------------------- GPIO Mode Configuration ------------------------*/
+      /* In case of Alternate function mode selection */
+      if((GPIO_Init->Mode == GPIO_MODE_AF_PP) || (GPIO_Init->Mode == GPIO_MODE_AF_OD))
+ 8000fda:      683b            ldr     r3, [r7, #0]
+ 8000fdc:      685b            ldr     r3, [r3, #4]
+ 8000fde:      2b02            cmp     r3, #2
+ 8000fe0:      d003            beq.n   8000fea <HAL_GPIO_Init+0x4e>
+ 8000fe2:      683b            ldr     r3, [r7, #0]
+ 8000fe4:      685b            ldr     r3, [r3, #4]
+ 8000fe6:      2b12            cmp     r3, #18
+ 8000fe8:      d123            bne.n   8001032 <HAL_GPIO_Init+0x96>
+      {
+        /* Check the Alternate function parameter */
+        assert_param(IS_GPIO_AF(GPIO_Init->Alternate));
+        
+        /* Configure Alternate function mapped with the current IO */
+        temp = GPIOx->AFR[position >> 3];
+ 8000fea:      69fb            ldr     r3, [r7, #28]
+ 8000fec:      08da            lsrs    r2, r3, #3
+ 8000fee:      687b            ldr     r3, [r7, #4]
+ 8000ff0:      3208            adds    r2, #8
+ 8000ff2:      f853 3022       ldr.w   r3, [r3, r2, lsl #2]
+ 8000ff6:      61bb            str     r3, [r7, #24]
+        temp &= ~((uint32_t)0xF << ((uint32_t)(position & (uint32_t)0x07) * 4)) ;
+ 8000ff8:      69fb            ldr     r3, [r7, #28]
+ 8000ffa:      f003 0307       and.w   r3, r3, #7
+ 8000ffe:      009b            lsls    r3, r3, #2
+ 8001000:      220f            movs    r2, #15
+ 8001002:      fa02 f303       lsl.w   r3, r2, r3
+ 8001006:      43db            mvns    r3, r3
+ 8001008:      69ba            ldr     r2, [r7, #24]
+ 800100a:      4013            ands    r3, r2
+ 800100c:      61bb            str     r3, [r7, #24]
+        temp |= ((uint32_t)(GPIO_Init->Alternate) << (((uint32_t)position & (uint32_t)0x07) * 4));
+ 800100e:      683b            ldr     r3, [r7, #0]
+ 8001010:      691a            ldr     r2, [r3, #16]
+ 8001012:      69fb            ldr     r3, [r7, #28]
+ 8001014:      f003 0307       and.w   r3, r3, #7
+ 8001018:      009b            lsls    r3, r3, #2
+ 800101a:      fa02 f303       lsl.w   r3, r2, r3
+ 800101e:      69ba            ldr     r2, [r7, #24]
+ 8001020:      4313            orrs    r3, r2
+ 8001022:      61bb            str     r3, [r7, #24]
+        GPIOx->AFR[position >> 3] = temp;
+ 8001024:      69fb            ldr     r3, [r7, #28]
+ 8001026:      08da            lsrs    r2, r3, #3
+ 8001028:      687b            ldr     r3, [r7, #4]
+ 800102a:      3208            adds    r2, #8
+ 800102c:      69b9            ldr     r1, [r7, #24]
+ 800102e:      f843 1022       str.w   r1, [r3, r2, lsl #2]
+      }
+
+      /* Configure IO Direction mode (Input, Output, Alternate or Analog) */
+      temp = GPIOx->MODER;
+ 8001032:      687b            ldr     r3, [r7, #4]
+ 8001034:      681b            ldr     r3, [r3, #0]
+ 8001036:      61bb            str     r3, [r7, #24]
+      temp &= ~(GPIO_MODER_MODER0 << (position * 2));
+ 8001038:      69fb            ldr     r3, [r7, #28]
+ 800103a:      005b            lsls    r3, r3, #1
+ 800103c:      2203            movs    r2, #3
+ 800103e:      fa02 f303       lsl.w   r3, r2, r3
+ 8001042:      43db            mvns    r3, r3
+ 8001044:      69ba            ldr     r2, [r7, #24]
+ 8001046:      4013            ands    r3, r2
+ 8001048:      61bb            str     r3, [r7, #24]
+      temp |= ((GPIO_Init->Mode & GPIO_MODE) << (position * 2));
+ 800104a:      683b            ldr     r3, [r7, #0]
+ 800104c:      685b            ldr     r3, [r3, #4]
+ 800104e:      f003 0203       and.w   r2, r3, #3
+ 8001052:      69fb            ldr     r3, [r7, #28]
+ 8001054:      005b            lsls    r3, r3, #1
+ 8001056:      fa02 f303       lsl.w   r3, r2, r3
+ 800105a:      69ba            ldr     r2, [r7, #24]
+ 800105c:      4313            orrs    r3, r2
+ 800105e:      61bb            str     r3, [r7, #24]
+      GPIOx->MODER = temp;
+ 8001060:      687b            ldr     r3, [r7, #4]
+ 8001062:      69ba            ldr     r2, [r7, #24]
+ 8001064:      601a            str     r2, [r3, #0]
+
+      /* In case of Output or Alternate function mode selection */
+      if((GPIO_Init->Mode == GPIO_MODE_OUTPUT_PP) || (GPIO_Init->Mode == GPIO_MODE_AF_PP) ||
+ 8001066:      683b            ldr     r3, [r7, #0]
+ 8001068:      685b            ldr     r3, [r3, #4]
+ 800106a:      2b01            cmp     r3, #1
+ 800106c:      d00b            beq.n   8001086 <HAL_GPIO_Init+0xea>
+ 800106e:      683b            ldr     r3, [r7, #0]
+ 8001070:      685b            ldr     r3, [r3, #4]
+ 8001072:      2b02            cmp     r3, #2
+ 8001074:      d007            beq.n   8001086 <HAL_GPIO_Init+0xea>
+         (GPIO_Init->Mode == GPIO_MODE_OUTPUT_OD) || (GPIO_Init->Mode == GPIO_MODE_AF_OD))
+ 8001076:      683b            ldr     r3, [r7, #0]
+ 8001078:      685b            ldr     r3, [r3, #4]
+      if((GPIO_Init->Mode == GPIO_MODE_OUTPUT_PP) || (GPIO_Init->Mode == GPIO_MODE_AF_PP) ||
+ 800107a:      2b11            cmp     r3, #17
+ 800107c:      d003            beq.n   8001086 <HAL_GPIO_Init+0xea>
+         (GPIO_Init->Mode == GPIO_MODE_OUTPUT_OD) || (GPIO_Init->Mode == GPIO_MODE_AF_OD))
+ 800107e:      683b            ldr     r3, [r7, #0]
+ 8001080:      685b            ldr     r3, [r3, #4]
+ 8001082:      2b12            cmp     r3, #18
+ 8001084:      d130            bne.n   80010e8 <HAL_GPIO_Init+0x14c>
+      {
+        /* Check the Speed parameter */
+        assert_param(IS_GPIO_SPEED(GPIO_Init->Speed));
+        /* Configure the IO Speed */
+        temp = GPIOx->OSPEEDR; 
+ 8001086:      687b            ldr     r3, [r7, #4]
+ 8001088:      689b            ldr     r3, [r3, #8]
+ 800108a:      61bb            str     r3, [r7, #24]
+        temp &= ~(GPIO_OSPEEDER_OSPEEDR0 << (position * 2));
+ 800108c:      69fb            ldr     r3, [r7, #28]
+ 800108e:      005b            lsls    r3, r3, #1
+ 8001090:      2203            movs    r2, #3
+ 8001092:      fa02 f303       lsl.w   r3, r2, r3
+ 8001096:      43db            mvns    r3, r3
+ 8001098:      69ba            ldr     r2, [r7, #24]
+ 800109a:      4013            ands    r3, r2
+ 800109c:      61bb            str     r3, [r7, #24]
+        temp |= (GPIO_Init->Speed << (position * 2));
+ 800109e:      683b            ldr     r3, [r7, #0]
+ 80010a0:      68da            ldr     r2, [r3, #12]
+ 80010a2:      69fb            ldr     r3, [r7, #28]
+ 80010a4:      005b            lsls    r3, r3, #1
+ 80010a6:      fa02 f303       lsl.w   r3, r2, r3
+ 80010aa:      69ba            ldr     r2, [r7, #24]
+ 80010ac:      4313            orrs    r3, r2
+ 80010ae:      61bb            str     r3, [r7, #24]
+        GPIOx->OSPEEDR = temp;
+ 80010b0:      687b            ldr     r3, [r7, #4]
+ 80010b2:      69ba            ldr     r2, [r7, #24]
+ 80010b4:      609a            str     r2, [r3, #8]
+
+        /* Configure the IO Output Type */
+        temp = GPIOx->OTYPER;
+ 80010b6:      687b            ldr     r3, [r7, #4]
+ 80010b8:      685b            ldr     r3, [r3, #4]
+ 80010ba:      61bb            str     r3, [r7, #24]
+        temp &= ~(GPIO_OTYPER_OT_0 << position) ;
+ 80010bc:      2201            movs    r2, #1
+ 80010be:      69fb            ldr     r3, [r7, #28]
+ 80010c0:      fa02 f303       lsl.w   r3, r2, r3
+ 80010c4:      43db            mvns    r3, r3
+ 80010c6:      69ba            ldr     r2, [r7, #24]
+ 80010c8:      4013            ands    r3, r2
+ 80010ca:      61bb            str     r3, [r7, #24]
+        temp |= (((GPIO_Init->Mode & GPIO_OUTPUT_TYPE) >> 4) << position);
+ 80010cc:      683b            ldr     r3, [r7, #0]
+ 80010ce:      685b            ldr     r3, [r3, #4]
+ 80010d0:      091b            lsrs    r3, r3, #4
+ 80010d2:      f003 0201       and.w   r2, r3, #1
+ 80010d6:      69fb            ldr     r3, [r7, #28]
+ 80010d8:      fa02 f303       lsl.w   r3, r2, r3
+ 80010dc:      69ba            ldr     r2, [r7, #24]
+ 80010de:      4313            orrs    r3, r2
+ 80010e0:      61bb            str     r3, [r7, #24]
+        GPIOx->OTYPER = temp;
+ 80010e2:      687b            ldr     r3, [r7, #4]
+ 80010e4:      69ba            ldr     r2, [r7, #24]
+ 80010e6:      605a            str     r2, [r3, #4]
+      }
+
+      /* Activate the Pull-up or Pull down resistor for the current IO */
+      temp = GPIOx->PUPDR;
+ 80010e8:      687b            ldr     r3, [r7, #4]
+ 80010ea:      68db            ldr     r3, [r3, #12]
+ 80010ec:      61bb            str     r3, [r7, #24]
+      temp &= ~(GPIO_PUPDR_PUPDR0 << (position * 2));
+ 80010ee:      69fb            ldr     r3, [r7, #28]
+ 80010f0:      005b            lsls    r3, r3, #1
+ 80010f2:      2203            movs    r2, #3
+ 80010f4:      fa02 f303       lsl.w   r3, r2, r3
+ 80010f8:      43db            mvns    r3, r3
+ 80010fa:      69ba            ldr     r2, [r7, #24]
+ 80010fc:      4013            ands    r3, r2
+ 80010fe:      61bb            str     r3, [r7, #24]
+      temp |= ((GPIO_Init->Pull) << (position * 2));
+ 8001100:      683b            ldr     r3, [r7, #0]
+ 8001102:      689a            ldr     r2, [r3, #8]
+ 8001104:      69fb            ldr     r3, [r7, #28]
+ 8001106:      005b            lsls    r3, r3, #1
+ 8001108:      fa02 f303       lsl.w   r3, r2, r3
+ 800110c:      69ba            ldr     r2, [r7, #24]
+ 800110e:      4313            orrs    r3, r2
+ 8001110:      61bb            str     r3, [r7, #24]
+      GPIOx->PUPDR = temp;
+ 8001112:      687b            ldr     r3, [r7, #4]
+ 8001114:      69ba            ldr     r2, [r7, #24]
+ 8001116:      60da            str     r2, [r3, #12]
+
+      /*--------------------- EXTI Mode Configuration ------------------------*/
+      /* Configure the External Interrupt or event for the current IO */
+      if((GPIO_Init->Mode & EXTI_MODE) == EXTI_MODE)
+ 8001118:      683b            ldr     r3, [r7, #0]
+ 800111a:      685b            ldr     r3, [r3, #4]
+ 800111c:      f003 5380       and.w   r3, r3, #268435456      ; 0x10000000
+ 8001120:      2b00            cmp     r3, #0
+ 8001122:      f000 80be       beq.w   80012a2 <HAL_GPIO_Init+0x306>
+      {
+        /* Enable SYSCFG Clock */
+        __HAL_RCC_SYSCFG_CLK_ENABLE();
+ 8001126:      4b65            ldr     r3, [pc, #404]  ; (80012bc <HAL_GPIO_Init+0x320>)
+ 8001128:      6c5b            ldr     r3, [r3, #68]   ; 0x44
+ 800112a:      4a64            ldr     r2, [pc, #400]  ; (80012bc <HAL_GPIO_Init+0x320>)
+ 800112c:      f443 4380       orr.w   r3, r3, #16384  ; 0x4000
+ 8001130:      6453            str     r3, [r2, #68]   ; 0x44
+ 8001132:      4b62            ldr     r3, [pc, #392]  ; (80012bc <HAL_GPIO_Init+0x320>)
+ 8001134:      6c5b            ldr     r3, [r3, #68]   ; 0x44
+ 8001136:      f403 4380       and.w   r3, r3, #16384  ; 0x4000
+ 800113a:      60fb            str     r3, [r7, #12]
+ 800113c:      68fb            ldr     r3, [r7, #12]
+
+        temp = SYSCFG->EXTICR[position >> 2];
+ 800113e:      4a60            ldr     r2, [pc, #384]  ; (80012c0 <HAL_GPIO_Init+0x324>)
+ 8001140:      69fb            ldr     r3, [r7, #28]
+ 8001142:      089b            lsrs    r3, r3, #2
+ 8001144:      3302            adds    r3, #2
+ 8001146:      f852 3023       ldr.w   r3, [r2, r3, lsl #2]
+ 800114a:      61bb            str     r3, [r7, #24]
+        temp &= ~(((uint32_t)0x0F) << (4 * (position & 0x03)));
+ 800114c:      69fb            ldr     r3, [r7, #28]
+ 800114e:      f003 0303       and.w   r3, r3, #3
+ 8001152:      009b            lsls    r3, r3, #2
+ 8001154:      220f            movs    r2, #15
+ 8001156:      fa02 f303       lsl.w   r3, r2, r3
+ 800115a:      43db            mvns    r3, r3
+ 800115c:      69ba            ldr     r2, [r7, #24]
+ 800115e:      4013            ands    r3, r2
+ 8001160:      61bb            str     r3, [r7, #24]
+        temp |= ((uint32_t)(GPIO_GET_INDEX(GPIOx)) << (4 * (position & 0x03)));
+ 8001162:      687b            ldr     r3, [r7, #4]
+ 8001164:      4a57            ldr     r2, [pc, #348]  ; (80012c4 <HAL_GPIO_Init+0x328>)
+ 8001166:      4293            cmp     r3, r2
+ 8001168:      d037            beq.n   80011da <HAL_GPIO_Init+0x23e>
+ 800116a:      687b            ldr     r3, [r7, #4]
+ 800116c:      4a56            ldr     r2, [pc, #344]  ; (80012c8 <HAL_GPIO_Init+0x32c>)
+ 800116e:      4293            cmp     r3, r2
+ 8001170:      d031            beq.n   80011d6 <HAL_GPIO_Init+0x23a>
+ 8001172:      687b            ldr     r3, [r7, #4]
+ 8001174:      4a55            ldr     r2, [pc, #340]  ; (80012cc <HAL_GPIO_Init+0x330>)
+ 8001176:      4293            cmp     r3, r2
+ 8001178:      d02b            beq.n   80011d2 <HAL_GPIO_Init+0x236>
+ 800117a:      687b            ldr     r3, [r7, #4]
+ 800117c:      4a54            ldr     r2, [pc, #336]  ; (80012d0 <HAL_GPIO_Init+0x334>)
+ 800117e:      4293            cmp     r3, r2
+ 8001180:      d025            beq.n   80011ce <HAL_GPIO_Init+0x232>
+ 8001182:      687b            ldr     r3, [r7, #4]
+ 8001184:      4a53            ldr     r2, [pc, #332]  ; (80012d4 <HAL_GPIO_Init+0x338>)
+ 8001186:      4293            cmp     r3, r2
+ 8001188:      d01f            beq.n   80011ca <HAL_GPIO_Init+0x22e>
+ 800118a:      687b            ldr     r3, [r7, #4]
+ 800118c:      4a52            ldr     r2, [pc, #328]  ; (80012d8 <HAL_GPIO_Init+0x33c>)
+ 800118e:      4293            cmp     r3, r2
+ 8001190:      d019            beq.n   80011c6 <HAL_GPIO_Init+0x22a>
+ 8001192:      687b            ldr     r3, [r7, #4]
+ 8001194:      4a51            ldr     r2, [pc, #324]  ; (80012dc <HAL_GPIO_Init+0x340>)
+ 8001196:      4293            cmp     r3, r2
+ 8001198:      d013            beq.n   80011c2 <HAL_GPIO_Init+0x226>
+ 800119a:      687b            ldr     r3, [r7, #4]
+ 800119c:      4a50            ldr     r2, [pc, #320]  ; (80012e0 <HAL_GPIO_Init+0x344>)
+ 800119e:      4293            cmp     r3, r2
+ 80011a0:      d00d            beq.n   80011be <HAL_GPIO_Init+0x222>
+ 80011a2:      687b            ldr     r3, [r7, #4]
+ 80011a4:      4a4f            ldr     r2, [pc, #316]  ; (80012e4 <HAL_GPIO_Init+0x348>)
+ 80011a6:      4293            cmp     r3, r2
+ 80011a8:      d007            beq.n   80011ba <HAL_GPIO_Init+0x21e>
+ 80011aa:      687b            ldr     r3, [r7, #4]
+ 80011ac:      4a4e            ldr     r2, [pc, #312]  ; (80012e8 <HAL_GPIO_Init+0x34c>)
+ 80011ae:      4293            cmp     r3, r2
+ 80011b0:      d101            bne.n   80011b6 <HAL_GPIO_Init+0x21a>
+ 80011b2:      2309            movs    r3, #9
+ 80011b4:      e012            b.n     80011dc <HAL_GPIO_Init+0x240>
+ 80011b6:      230a            movs    r3, #10
+ 80011b8:      e010            b.n     80011dc <HAL_GPIO_Init+0x240>
+ 80011ba:      2308            movs    r3, #8
+ 80011bc:      e00e            b.n     80011dc <HAL_GPIO_Init+0x240>
+ 80011be:      2307            movs    r3, #7
+ 80011c0:      e00c            b.n     80011dc <HAL_GPIO_Init+0x240>
+ 80011c2:      2306            movs    r3, #6
+ 80011c4:      e00a            b.n     80011dc <HAL_GPIO_Init+0x240>
+ 80011c6:      2305            movs    r3, #5
+ 80011c8:      e008            b.n     80011dc <HAL_GPIO_Init+0x240>
+ 80011ca:      2304            movs    r3, #4
+ 80011cc:      e006            b.n     80011dc <HAL_GPIO_Init+0x240>
+ 80011ce:      2303            movs    r3, #3
+ 80011d0:      e004            b.n     80011dc <HAL_GPIO_Init+0x240>
+ 80011d2:      2302            movs    r3, #2
+ 80011d4:      e002            b.n     80011dc <HAL_GPIO_Init+0x240>
+ 80011d6:      2301            movs    r3, #1
+ 80011d8:      e000            b.n     80011dc <HAL_GPIO_Init+0x240>
+ 80011da:      2300            movs    r3, #0
+ 80011dc:      69fa            ldr     r2, [r7, #28]
+ 80011de:      f002 0203       and.w   r2, r2, #3
+ 80011e2:      0092            lsls    r2, r2, #2
+ 80011e4:      4093            lsls    r3, r2
+ 80011e6:      69ba            ldr     r2, [r7, #24]
+ 80011e8:      4313            orrs    r3, r2
+ 80011ea:      61bb            str     r3, [r7, #24]
+        SYSCFG->EXTICR[position >> 2] = temp;
+ 80011ec:      4934            ldr     r1, [pc, #208]  ; (80012c0 <HAL_GPIO_Init+0x324>)
+ 80011ee:      69fb            ldr     r3, [r7, #28]
+ 80011f0:      089b            lsrs    r3, r3, #2
+ 80011f2:      3302            adds    r3, #2
+ 80011f4:      69ba            ldr     r2, [r7, #24]
+ 80011f6:      f841 2023       str.w   r2, [r1, r3, lsl #2]
+
+        /* Clear EXTI line configuration */
+        temp = EXTI->IMR;
+ 80011fa:      4b3c            ldr     r3, [pc, #240]  ; (80012ec <HAL_GPIO_Init+0x350>)
+ 80011fc:      681b            ldr     r3, [r3, #0]
+ 80011fe:      61bb            str     r3, [r7, #24]
+        temp &= ~((uint32_t)iocurrent);
+ 8001200:      693b            ldr     r3, [r7, #16]
+ 8001202:      43db            mvns    r3, r3
+ 8001204:      69ba            ldr     r2, [r7, #24]
+ 8001206:      4013            ands    r3, r2
+ 8001208:      61bb            str     r3, [r7, #24]
+        if((GPIO_Init->Mode & GPIO_MODE_IT) == GPIO_MODE_IT)
+ 800120a:      683b            ldr     r3, [r7, #0]
+ 800120c:      685b            ldr     r3, [r3, #4]
+ 800120e:      f403 3380       and.w   r3, r3, #65536  ; 0x10000
+ 8001212:      2b00            cmp     r3, #0
+ 8001214:      d003            beq.n   800121e <HAL_GPIO_Init+0x282>
+        {
+          temp |= iocurrent;
+ 8001216:      69ba            ldr     r2, [r7, #24]
+ 8001218:      693b            ldr     r3, [r7, #16]
+ 800121a:      4313            orrs    r3, r2
+ 800121c:      61bb            str     r3, [r7, #24]
+        }
+        EXTI->IMR = temp;
+ 800121e:      4a33            ldr     r2, [pc, #204]  ; (80012ec <HAL_GPIO_Init+0x350>)
+ 8001220:      69bb            ldr     r3, [r7, #24]
+ 8001222:      6013            str     r3, [r2, #0]
+
+        temp = EXTI->EMR;
+ 8001224:      4b31            ldr     r3, [pc, #196]  ; (80012ec <HAL_GPIO_Init+0x350>)
+ 8001226:      685b            ldr     r3, [r3, #4]
+ 8001228:      61bb            str     r3, [r7, #24]
+        temp &= ~((uint32_t)iocurrent);
+ 800122a:      693b            ldr     r3, [r7, #16]
+ 800122c:      43db            mvns    r3, r3
+ 800122e:      69ba            ldr     r2, [r7, #24]
+ 8001230:      4013            ands    r3, r2
+ 8001232:      61bb            str     r3, [r7, #24]
+        if((GPIO_Init->Mode & GPIO_MODE_EVT) == GPIO_MODE_EVT)
+ 8001234:      683b            ldr     r3, [r7, #0]
+ 8001236:      685b            ldr     r3, [r3, #4]
+ 8001238:      f403 3300       and.w   r3, r3, #131072 ; 0x20000
+ 800123c:      2b00            cmp     r3, #0
+ 800123e:      d003            beq.n   8001248 <HAL_GPIO_Init+0x2ac>
+        {
+          temp |= iocurrent;
+ 8001240:      69ba            ldr     r2, [r7, #24]
+ 8001242:      693b            ldr     r3, [r7, #16]
+ 8001244:      4313            orrs    r3, r2
+ 8001246:      61bb            str     r3, [r7, #24]
+        }
+        EXTI->EMR = temp;
+ 8001248:      4a28            ldr     r2, [pc, #160]  ; (80012ec <HAL_GPIO_Init+0x350>)
+ 800124a:      69bb            ldr     r3, [r7, #24]
+ 800124c:      6053            str     r3, [r2, #4]
+
+        /* Clear Rising Falling edge configuration */
+        temp = EXTI->RTSR;
+ 800124e:      4b27            ldr     r3, [pc, #156]  ; (80012ec <HAL_GPIO_Init+0x350>)
+ 8001250:      689b            ldr     r3, [r3, #8]
+ 8001252:      61bb            str     r3, [r7, #24]
+        temp &= ~((uint32_t)iocurrent);
+ 8001254:      693b            ldr     r3, [r7, #16]
+ 8001256:      43db            mvns    r3, r3
+ 8001258:      69ba            ldr     r2, [r7, #24]
+ 800125a:      4013            ands    r3, r2
+ 800125c:      61bb            str     r3, [r7, #24]
+        if((GPIO_Init->Mode & RISING_EDGE) == RISING_EDGE)
+ 800125e:      683b            ldr     r3, [r7, #0]
+ 8001260:      685b            ldr     r3, [r3, #4]
+ 8001262:      f403 1380       and.w   r3, r3, #1048576        ; 0x100000
+ 8001266:      2b00            cmp     r3, #0
+ 8001268:      d003            beq.n   8001272 <HAL_GPIO_Init+0x2d6>
+        {
+          temp |= iocurrent;
+ 800126a:      69ba            ldr     r2, [r7, #24]
+ 800126c:      693b            ldr     r3, [r7, #16]
+ 800126e:      4313            orrs    r3, r2
+ 8001270:      61bb            str     r3, [r7, #24]
+        }
+        EXTI->RTSR = temp;
+ 8001272:      4a1e            ldr     r2, [pc, #120]  ; (80012ec <HAL_GPIO_Init+0x350>)
+ 8001274:      69bb            ldr     r3, [r7, #24]
+ 8001276:      6093            str     r3, [r2, #8]
+
+        temp = EXTI->FTSR;
+ 8001278:      4b1c            ldr     r3, [pc, #112]  ; (80012ec <HAL_GPIO_Init+0x350>)
+ 800127a:      68db            ldr     r3, [r3, #12]
+ 800127c:      61bb            str     r3, [r7, #24]
+        temp &= ~((uint32_t)iocurrent);
+ 800127e:      693b            ldr     r3, [r7, #16]
+ 8001280:      43db            mvns    r3, r3
+ 8001282:      69ba            ldr     r2, [r7, #24]
+ 8001284:      4013            ands    r3, r2
+ 8001286:      61bb            str     r3, [r7, #24]
+        if((GPIO_Init->Mode & FALLING_EDGE) == FALLING_EDGE)
+ 8001288:      683b            ldr     r3, [r7, #0]
+ 800128a:      685b            ldr     r3, [r3, #4]
+ 800128c:      f403 1300       and.w   r3, r3, #2097152        ; 0x200000
+ 8001290:      2b00            cmp     r3, #0
+ 8001292:      d003            beq.n   800129c <HAL_GPIO_Init+0x300>
+        {
+          temp |= iocurrent;
+ 8001294:      69ba            ldr     r2, [r7, #24]
+ 8001296:      693b            ldr     r3, [r7, #16]
+ 8001298:      4313            orrs    r3, r2
+ 800129a:      61bb            str     r3, [r7, #24]
+        }
+        EXTI->FTSR = temp;
+ 800129c:      4a13            ldr     r2, [pc, #76]   ; (80012ec <HAL_GPIO_Init+0x350>)
+ 800129e:      69bb            ldr     r3, [r7, #24]
+ 80012a0:      60d3            str     r3, [r2, #12]
+  for(position = 0; position < GPIO_NUMBER; position++)
+ 80012a2:      69fb            ldr     r3, [r7, #28]
+ 80012a4:      3301            adds    r3, #1
+ 80012a6:      61fb            str     r3, [r7, #28]
+ 80012a8:      69fb            ldr     r3, [r7, #28]
+ 80012aa:      2b0f            cmp     r3, #15
+ 80012ac:      f67f ae86       bls.w   8000fbc <HAL_GPIO_Init+0x20>
+      }
+    }
+  }
+}
+ 80012b0:      bf00            nop
+ 80012b2:      3724            adds    r7, #36 ; 0x24
+ 80012b4:      46bd            mov     sp, r7
+ 80012b6:      f85d 7b04       ldr.w   r7, [sp], #4
+ 80012ba:      4770            bx      lr
+ 80012bc:      40023800        .word   0x40023800
+ 80012c0:      40013800        .word   0x40013800
+ 80012c4:      40020000        .word   0x40020000
+ 80012c8:      40020400        .word   0x40020400
+ 80012cc:      40020800        .word   0x40020800
+ 80012d0:      40020c00        .word   0x40020c00
+ 80012d4:      40021000        .word   0x40021000
+ 80012d8:      40021400        .word   0x40021400
+ 80012dc:      40021800        .word   0x40021800
+ 80012e0:      40021c00        .word   0x40021c00
+ 80012e4:      40022000        .word   0x40022000
+ 80012e8:      40022400        .word   0x40022400
+ 80012ec:      40013c00        .word   0x40013c00
+
+080012f0 <HAL_RCC_OscConfig>:
+  *         supported by this function. User should request a transition to HSE Off
+  *         first and then HSE On or HSE Bypass.
+  * @retval HAL status
+  */
+HAL_StatusTypeDef HAL_RCC_OscConfig(RCC_OscInitTypeDef  *RCC_OscInitStruct)
+{
+ 80012f0:      b580            push    {r7, lr}
+ 80012f2:      b086            sub     sp, #24
+ 80012f4:      af00            add     r7, sp, #0
+ 80012f6:      6078            str     r0, [r7, #4]
+  uint32_t tickstart;
+  FlagStatus pwrclkchanged = RESET;
+ 80012f8:      2300            movs    r3, #0
+ 80012fa:      75fb            strb    r3, [r7, #23]
+
+  /* Check Null pointer */
+  if(RCC_OscInitStruct == NULL)
+ 80012fc:      687b            ldr     r3, [r7, #4]
+ 80012fe:      2b00            cmp     r3, #0
+ 8001300:      d101            bne.n   8001306 <HAL_RCC_OscConfig+0x16>
+  {
+    return HAL_ERROR;
+ 8001302:      2301            movs    r3, #1
+ 8001304:      e25e            b.n     80017c4 <HAL_RCC_OscConfig+0x4d4>
+
+  /* Check the parameters */
+  assert_param(IS_RCC_OSCILLATORTYPE(RCC_OscInitStruct->OscillatorType));
+
+  /*------------------------------- HSE Configuration ------------------------*/
+  if(((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_HSE) == RCC_OSCILLATORTYPE_HSE)
+ 8001306:      687b            ldr     r3, [r7, #4]
+ 8001308:      681b            ldr     r3, [r3, #0]
+ 800130a:      f003 0301       and.w   r3, r3, #1
+ 800130e:      2b00            cmp     r3, #0
+ 8001310:      f000 8087       beq.w   8001422 <HAL_RCC_OscConfig+0x132>
+  {
+    /* Check the parameters */
+    assert_param(IS_RCC_HSE(RCC_OscInitStruct->HSEState));
+    /* When the HSE is used as system clock or clock source for PLL, It can not be disabled */
+    if((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_SYSCLKSOURCE_STATUS_HSE)
+ 8001314:      4b96            ldr     r3, [pc, #600]  ; (8001570 <HAL_RCC_OscConfig+0x280>)
+ 8001316:      689b            ldr     r3, [r3, #8]
+ 8001318:      f003 030c       and.w   r3, r3, #12
+ 800131c:      2b04            cmp     r3, #4
+ 800131e:      d00c            beq.n   800133a <HAL_RCC_OscConfig+0x4a>
+       || ((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_SYSCLKSOURCE_STATUS_PLLCLK) && ((RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) == RCC_PLLCFGR_PLLSRC_HSE)))
+ 8001320:      4b93            ldr     r3, [pc, #588]  ; (8001570 <HAL_RCC_OscConfig+0x280>)
+ 8001322:      689b            ldr     r3, [r3, #8]
+ 8001324:      f003 030c       and.w   r3, r3, #12
+ 8001328:      2b08            cmp     r3, #8
+ 800132a:      d112            bne.n   8001352 <HAL_RCC_OscConfig+0x62>
+ 800132c:      4b90            ldr     r3, [pc, #576]  ; (8001570 <HAL_RCC_OscConfig+0x280>)
+ 800132e:      685b            ldr     r3, [r3, #4]
+ 8001330:      f403 0380       and.w   r3, r3, #4194304        ; 0x400000
+ 8001334:      f5b3 0f80       cmp.w   r3, #4194304    ; 0x400000
+ 8001338:      d10b            bne.n   8001352 <HAL_RCC_OscConfig+0x62>
+    {
+      if((__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) != RESET) && (RCC_OscInitStruct->HSEState == RCC_HSE_OFF))
+ 800133a:      4b8d            ldr     r3, [pc, #564]  ; (8001570 <HAL_RCC_OscConfig+0x280>)
+ 800133c:      681b            ldr     r3, [r3, #0]
+ 800133e:      f403 3300       and.w   r3, r3, #131072 ; 0x20000
+ 8001342:      2b00            cmp     r3, #0
+ 8001344:      d06c            beq.n   8001420 <HAL_RCC_OscConfig+0x130>
+ 8001346:      687b            ldr     r3, [r7, #4]
+ 8001348:      685b            ldr     r3, [r3, #4]
+ 800134a:      2b00            cmp     r3, #0
+ 800134c:      d168            bne.n   8001420 <HAL_RCC_OscConfig+0x130>
+      {
+        return HAL_ERROR;
+ 800134e:      2301            movs    r3, #1
+ 8001350:      e238            b.n     80017c4 <HAL_RCC_OscConfig+0x4d4>
+      }
+    }
+    else
+    {
+      /* Set the new HSE configuration ---------------------------------------*/
+      __HAL_RCC_HSE_CONFIG(RCC_OscInitStruct->HSEState);
+ 8001352:      687b            ldr     r3, [r7, #4]
+ 8001354:      685b            ldr     r3, [r3, #4]
+ 8001356:      f5b3 3f80       cmp.w   r3, #65536      ; 0x10000
+ 800135a:      d106            bne.n   800136a <HAL_RCC_OscConfig+0x7a>
+ 800135c:      4b84            ldr     r3, [pc, #528]  ; (8001570 <HAL_RCC_OscConfig+0x280>)
+ 800135e:      681b            ldr     r3, [r3, #0]
+ 8001360:      4a83            ldr     r2, [pc, #524]  ; (8001570 <HAL_RCC_OscConfig+0x280>)
+ 8001362:      f443 3380       orr.w   r3, r3, #65536  ; 0x10000
+ 8001366:      6013            str     r3, [r2, #0]
+ 8001368:      e02e            b.n     80013c8 <HAL_RCC_OscConfig+0xd8>
+ 800136a:      687b            ldr     r3, [r7, #4]
+ 800136c:      685b            ldr     r3, [r3, #4]
+ 800136e:      2b00            cmp     r3, #0
+ 8001370:      d10c            bne.n   800138c <HAL_RCC_OscConfig+0x9c>
+ 8001372:      4b7f            ldr     r3, [pc, #508]  ; (8001570 <HAL_RCC_OscConfig+0x280>)
+ 8001374:      681b            ldr     r3, [r3, #0]
+ 8001376:      4a7e            ldr     r2, [pc, #504]  ; (8001570 <HAL_RCC_OscConfig+0x280>)
+ 8001378:      f423 3380       bic.w   r3, r3, #65536  ; 0x10000
+ 800137c:      6013            str     r3, [r2, #0]
+ 800137e:      4b7c            ldr     r3, [pc, #496]  ; (8001570 <HAL_RCC_OscConfig+0x280>)
+ 8001380:      681b            ldr     r3, [r3, #0]
+ 8001382:      4a7b            ldr     r2, [pc, #492]  ; (8001570 <HAL_RCC_OscConfig+0x280>)
+ 8001384:      f423 2380       bic.w   r3, r3, #262144 ; 0x40000
+ 8001388:      6013            str     r3, [r2, #0]
+ 800138a:      e01d            b.n     80013c8 <HAL_RCC_OscConfig+0xd8>
+ 800138c:      687b            ldr     r3, [r7, #4]
+ 800138e:      685b            ldr     r3, [r3, #4]
+ 8001390:      f5b3 2fa0       cmp.w   r3, #327680     ; 0x50000
+ 8001394:      d10c            bne.n   80013b0 <HAL_RCC_OscConfig+0xc0>
+ 8001396:      4b76            ldr     r3, [pc, #472]  ; (8001570 <HAL_RCC_OscConfig+0x280>)
+ 8001398:      681b            ldr     r3, [r3, #0]
+ 800139a:      4a75            ldr     r2, [pc, #468]  ; (8001570 <HAL_RCC_OscConfig+0x280>)
+ 800139c:      f443 2380       orr.w   r3, r3, #262144 ; 0x40000
+ 80013a0:      6013            str     r3, [r2, #0]
+ 80013a2:      4b73            ldr     r3, [pc, #460]  ; (8001570 <HAL_RCC_OscConfig+0x280>)
+ 80013a4:      681b            ldr     r3, [r3, #0]
+ 80013a6:      4a72            ldr     r2, [pc, #456]  ; (8001570 <HAL_RCC_OscConfig+0x280>)
+ 80013a8:      f443 3380       orr.w   r3, r3, #65536  ; 0x10000
+ 80013ac:      6013            str     r3, [r2, #0]
+ 80013ae:      e00b            b.n     80013c8 <HAL_RCC_OscConfig+0xd8>
+ 80013b0:      4b6f            ldr     r3, [pc, #444]  ; (8001570 <HAL_RCC_OscConfig+0x280>)
+ 80013b2:      681b            ldr     r3, [r3, #0]
+ 80013b4:      4a6e            ldr     r2, [pc, #440]  ; (8001570 <HAL_RCC_OscConfig+0x280>)
+ 80013b6:      f423 3380       bic.w   r3, r3, #65536  ; 0x10000
+ 80013ba:      6013            str     r3, [r2, #0]
+ 80013bc:      4b6c            ldr     r3, [pc, #432]  ; (8001570 <HAL_RCC_OscConfig+0x280>)
+ 80013be:      681b            ldr     r3, [r3, #0]
+ 80013c0:      4a6b            ldr     r2, [pc, #428]  ; (8001570 <HAL_RCC_OscConfig+0x280>)
+ 80013c2:      f423 2380       bic.w   r3, r3, #262144 ; 0x40000
+ 80013c6:      6013            str     r3, [r2, #0]
+
+      /* Check the HSE State */
+      if(RCC_OscInitStruct->HSEState != RCC_HSE_OFF)
+ 80013c8:      687b            ldr     r3, [r7, #4]
+ 80013ca:      685b            ldr     r3, [r3, #4]
+ 80013cc:      2b00            cmp     r3, #0
+ 80013ce:      d013            beq.n   80013f8 <HAL_RCC_OscConfig+0x108>
+      {
+        /* Get Start Tick*/
+        tickstart = HAL_GetTick();
+ 80013d0:      f7ff f90c       bl      80005ec <HAL_GetTick>
+ 80013d4:      6138            str     r0, [r7, #16]
+
+        /* Wait till HSE is ready */
+        while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) == RESET)
+ 80013d6:      e008            b.n     80013ea <HAL_RCC_OscConfig+0xfa>
+        {
+          if((HAL_GetTick() - tickstart ) > HSE_TIMEOUT_VALUE)
+ 80013d8:      f7ff f908       bl      80005ec <HAL_GetTick>
+ 80013dc:      4602            mov     r2, r0
+ 80013de:      693b            ldr     r3, [r7, #16]
+ 80013e0:      1ad3            subs    r3, r2, r3
+ 80013e2:      2b64            cmp     r3, #100        ; 0x64
+ 80013e4:      d901            bls.n   80013ea <HAL_RCC_OscConfig+0xfa>
+          {
+            return HAL_TIMEOUT;
+ 80013e6:      2303            movs    r3, #3
+ 80013e8:      e1ec            b.n     80017c4 <HAL_RCC_OscConfig+0x4d4>
+        while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) == RESET)
+ 80013ea:      4b61            ldr     r3, [pc, #388]  ; (8001570 <HAL_RCC_OscConfig+0x280>)
+ 80013ec:      681b            ldr     r3, [r3, #0]
+ 80013ee:      f403 3300       and.w   r3, r3, #131072 ; 0x20000
+ 80013f2:      2b00            cmp     r3, #0
+ 80013f4:      d0f0            beq.n   80013d8 <HAL_RCC_OscConfig+0xe8>
+ 80013f6:      e014            b.n     8001422 <HAL_RCC_OscConfig+0x132>
+        }
+      }
+      else
+      {
+        /* Get Start Tick*/
+        tickstart = HAL_GetTick();
+ 80013f8:      f7ff f8f8       bl      80005ec <HAL_GetTick>
+ 80013fc:      6138            str     r0, [r7, #16]
+
+        /* Wait till HSE is bypassed or disabled */
+        while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) != RESET)
+ 80013fe:      e008            b.n     8001412 <HAL_RCC_OscConfig+0x122>
+        {
+           if((HAL_GetTick() - tickstart ) > HSE_TIMEOUT_VALUE)
+ 8001400:      f7ff f8f4       bl      80005ec <HAL_GetTick>
+ 8001404:      4602            mov     r2, r0
+ 8001406:      693b            ldr     r3, [r7, #16]
+ 8001408:      1ad3            subs    r3, r2, r3
+ 800140a:      2b64            cmp     r3, #100        ; 0x64
+ 800140c:      d901            bls.n   8001412 <HAL_RCC_OscConfig+0x122>
+          {
+            return HAL_TIMEOUT;
+ 800140e:      2303            movs    r3, #3
+ 8001410:      e1d8            b.n     80017c4 <HAL_RCC_OscConfig+0x4d4>
+        while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) != RESET)
+ 8001412:      4b57            ldr     r3, [pc, #348]  ; (8001570 <HAL_RCC_OscConfig+0x280>)
+ 8001414:      681b            ldr     r3, [r3, #0]
+ 8001416:      f403 3300       and.w   r3, r3, #131072 ; 0x20000
+ 800141a:      2b00            cmp     r3, #0
+ 800141c:      d1f0            bne.n   8001400 <HAL_RCC_OscConfig+0x110>
+ 800141e:      e000            b.n     8001422 <HAL_RCC_OscConfig+0x132>
+      if((__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) != RESET) && (RCC_OscInitStruct->HSEState == RCC_HSE_OFF))
+ 8001420:      bf00            nop
+        }
+      }
+    }
+  }
+  /*----------------------------- HSI Configuration --------------------------*/
+  if(((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_HSI) == RCC_OSCILLATORTYPE_HSI)
+ 8001422:      687b            ldr     r3, [r7, #4]
+ 8001424:      681b            ldr     r3, [r3, #0]
+ 8001426:      f003 0302       and.w   r3, r3, #2
+ 800142a:      2b00            cmp     r3, #0
+ 800142c:      d069            beq.n   8001502 <HAL_RCC_OscConfig+0x212>
+    /* Check the parameters */
+    assert_param(IS_RCC_HSI(RCC_OscInitStruct->HSIState));
+    assert_param(IS_RCC_CALIBRATION_VALUE(RCC_OscInitStruct->HSICalibrationValue));
+
+    /* Check if HSI is used as system clock or as PLL source when PLL is selected as system clock */
+    if((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_SYSCLKSOURCE_STATUS_HSI)
+ 800142e:      4b50            ldr     r3, [pc, #320]  ; (8001570 <HAL_RCC_OscConfig+0x280>)
+ 8001430:      689b            ldr     r3, [r3, #8]
+ 8001432:      f003 030c       and.w   r3, r3, #12
+ 8001436:      2b00            cmp     r3, #0
+ 8001438:      d00b            beq.n   8001452 <HAL_RCC_OscConfig+0x162>
+       || ((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_SYSCLKSOURCE_STATUS_PLLCLK) && ((RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) == RCC_PLLCFGR_PLLSRC_HSI)))
+ 800143a:      4b4d            ldr     r3, [pc, #308]  ; (8001570 <HAL_RCC_OscConfig+0x280>)
+ 800143c:      689b            ldr     r3, [r3, #8]
+ 800143e:      f003 030c       and.w   r3, r3, #12
+ 8001442:      2b08            cmp     r3, #8
+ 8001444:      d11c            bne.n   8001480 <HAL_RCC_OscConfig+0x190>
+ 8001446:      4b4a            ldr     r3, [pc, #296]  ; (8001570 <HAL_RCC_OscConfig+0x280>)
+ 8001448:      685b            ldr     r3, [r3, #4]
+ 800144a:      f403 0380       and.w   r3, r3, #4194304        ; 0x400000
+ 800144e:      2b00            cmp     r3, #0
+ 8001450:      d116            bne.n   8001480 <HAL_RCC_OscConfig+0x190>
+    {
+      /* When HSI is used as system clock it will not disabled */
+      if((__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) != RESET) && (RCC_OscInitStruct->HSIState != RCC_HSI_ON))
+ 8001452:      4b47            ldr     r3, [pc, #284]  ; (8001570 <HAL_RCC_OscConfig+0x280>)
+ 8001454:      681b            ldr     r3, [r3, #0]
+ 8001456:      f003 0302       and.w   r3, r3, #2
+ 800145a:      2b00            cmp     r3, #0
+ 800145c:      d005            beq.n   800146a <HAL_RCC_OscConfig+0x17a>
+ 800145e:      687b            ldr     r3, [r7, #4]
+ 8001460:      68db            ldr     r3, [r3, #12]
+ 8001462:      2b01            cmp     r3, #1
+ 8001464:      d001            beq.n   800146a <HAL_RCC_OscConfig+0x17a>
+      {
+        return HAL_ERROR;
+ 8001466:      2301            movs    r3, #1
+ 8001468:      e1ac            b.n     80017c4 <HAL_RCC_OscConfig+0x4d4>
+      }
+      /* Otherwise, just the calibration is allowed */
+      else
+      {
+        /* Adjusts the Internal High Speed oscillator (HSI) calibration value.*/
+        __HAL_RCC_HSI_CALIBRATIONVALUE_ADJUST(RCC_OscInitStruct->HSICalibrationValue);
+ 800146a:      4b41            ldr     r3, [pc, #260]  ; (8001570 <HAL_RCC_OscConfig+0x280>)
+ 800146c:      681b            ldr     r3, [r3, #0]
+ 800146e:      f023 02f8       bic.w   r2, r3, #248    ; 0xf8
+ 8001472:      687b            ldr     r3, [r7, #4]
+ 8001474:      691b            ldr     r3, [r3, #16]
+ 8001476:      00db            lsls    r3, r3, #3
+ 8001478:      493d            ldr     r1, [pc, #244]  ; (8001570 <HAL_RCC_OscConfig+0x280>)
+ 800147a:      4313            orrs    r3, r2
+ 800147c:      600b            str     r3, [r1, #0]
+      if((__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) != RESET) && (RCC_OscInitStruct->HSIState != RCC_HSI_ON))
+ 800147e:      e040            b.n     8001502 <HAL_RCC_OscConfig+0x212>
+      }
+    }
+    else
+    {
+      /* Check the HSI State */
+      if((RCC_OscInitStruct->HSIState)!= RCC_HSI_OFF)
+ 8001480:      687b            ldr     r3, [r7, #4]
+ 8001482:      68db            ldr     r3, [r3, #12]
+ 8001484:      2b00            cmp     r3, #0
+ 8001486:      d023            beq.n   80014d0 <HAL_RCC_OscConfig+0x1e0>
+      {
+        /* Enable the Internal High Speed oscillator (HSI). */
+        __HAL_RCC_HSI_ENABLE();
+ 8001488:      4b39            ldr     r3, [pc, #228]  ; (8001570 <HAL_RCC_OscConfig+0x280>)
+ 800148a:      681b            ldr     r3, [r3, #0]
+ 800148c:      4a38            ldr     r2, [pc, #224]  ; (8001570 <HAL_RCC_OscConfig+0x280>)
+ 800148e:      f043 0301       orr.w   r3, r3, #1
+ 8001492:      6013            str     r3, [r2, #0]
+
+        /* Get Start Tick*/
+        tickstart = HAL_GetTick();
+ 8001494:      f7ff f8aa       bl      80005ec <HAL_GetTick>
+ 8001498:      6138            str     r0, [r7, #16]
+
+        /* Wait till HSI is ready */
+        while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) == RESET)
+ 800149a:      e008            b.n     80014ae <HAL_RCC_OscConfig+0x1be>
+        {
+          if((HAL_GetTick() - tickstart ) > HSI_TIMEOUT_VALUE)
+ 800149c:      f7ff f8a6       bl      80005ec <HAL_GetTick>
+ 80014a0:      4602            mov     r2, r0
+ 80014a2:      693b            ldr     r3, [r7, #16]
+ 80014a4:      1ad3            subs    r3, r2, r3
+ 80014a6:      2b02            cmp     r3, #2
+ 80014a8:      d901            bls.n   80014ae <HAL_RCC_OscConfig+0x1be>
+          {
+            return HAL_TIMEOUT;
+ 80014aa:      2303            movs    r3, #3
+ 80014ac:      e18a            b.n     80017c4 <HAL_RCC_OscConfig+0x4d4>
+        while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) == RESET)
+ 80014ae:      4b30            ldr     r3, [pc, #192]  ; (8001570 <HAL_RCC_OscConfig+0x280>)
+ 80014b0:      681b            ldr     r3, [r3, #0]
+ 80014b2:      f003 0302       and.w   r3, r3, #2
+ 80014b6:      2b00            cmp     r3, #0
+ 80014b8:      d0f0            beq.n   800149c <HAL_RCC_OscConfig+0x1ac>
+          }
+        }
+
+        /* Adjusts the Internal High Speed oscillator (HSI) calibration value.*/
+        __HAL_RCC_HSI_CALIBRATIONVALUE_ADJUST(RCC_OscInitStruct->HSICalibrationValue);
+ 80014ba:      4b2d            ldr     r3, [pc, #180]  ; (8001570 <HAL_RCC_OscConfig+0x280>)
+ 80014bc:      681b            ldr     r3, [r3, #0]
+ 80014be:      f023 02f8       bic.w   r2, r3, #248    ; 0xf8
+ 80014c2:      687b            ldr     r3, [r7, #4]
+ 80014c4:      691b            ldr     r3, [r3, #16]
+ 80014c6:      00db            lsls    r3, r3, #3
+ 80014c8:      4929            ldr     r1, [pc, #164]  ; (8001570 <HAL_RCC_OscConfig+0x280>)
+ 80014ca:      4313            orrs    r3, r2
+ 80014cc:      600b            str     r3, [r1, #0]
+ 80014ce:      e018            b.n     8001502 <HAL_RCC_OscConfig+0x212>
+      }
+      else
+      {
+        /* Disable the Internal High Speed oscillator (HSI). */
+        __HAL_RCC_HSI_DISABLE();
+ 80014d0:      4b27            ldr     r3, [pc, #156]  ; (8001570 <HAL_RCC_OscConfig+0x280>)
+ 80014d2:      681b            ldr     r3, [r3, #0]
+ 80014d4:      4a26            ldr     r2, [pc, #152]  ; (8001570 <HAL_RCC_OscConfig+0x280>)
+ 80014d6:      f023 0301       bic.w   r3, r3, #1
+ 80014da:      6013            str     r3, [r2, #0]
+
+        /* Get Start Tick*/
+        tickstart = HAL_GetTick();
+ 80014dc:      f7ff f886       bl      80005ec <HAL_GetTick>
+ 80014e0:      6138            str     r0, [r7, #16]
+
+        /* Wait till HSI is ready */
+        while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) != RESET)
+ 80014e2:      e008            b.n     80014f6 <HAL_RCC_OscConfig+0x206>
+        {
+          if((HAL_GetTick() - tickstart ) > HSI_TIMEOUT_VALUE)
+ 80014e4:      f7ff f882       bl      80005ec <HAL_GetTick>
+ 80014e8:      4602            mov     r2, r0
+ 80014ea:      693b            ldr     r3, [r7, #16]
+ 80014ec:      1ad3            subs    r3, r2, r3
+ 80014ee:      2b02            cmp     r3, #2
+ 80014f0:      d901            bls.n   80014f6 <HAL_RCC_OscConfig+0x206>
+          {
+            return HAL_TIMEOUT;
+ 80014f2:      2303            movs    r3, #3
+ 80014f4:      e166            b.n     80017c4 <HAL_RCC_OscConfig+0x4d4>
+        while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) != RESET)
+ 80014f6:      4b1e            ldr     r3, [pc, #120]  ; (8001570 <HAL_RCC_OscConfig+0x280>)
+ 80014f8:      681b            ldr     r3, [r3, #0]
+ 80014fa:      f003 0302       and.w   r3, r3, #2
+ 80014fe:      2b00            cmp     r3, #0
+ 8001500:      d1f0            bne.n   80014e4 <HAL_RCC_OscConfig+0x1f4>
+        }
+      }
+    }
+  }
+  /*------------------------------ LSI Configuration -------------------------*/
+  if(((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_LSI) == RCC_OSCILLATORTYPE_LSI)
+ 8001502:      687b            ldr     r3, [r7, #4]
+ 8001504:      681b            ldr     r3, [r3, #0]
+ 8001506:      f003 0308       and.w   r3, r3, #8
+ 800150a:      2b00            cmp     r3, #0
+ 800150c:      d038            beq.n   8001580 <HAL_RCC_OscConfig+0x290>
+  {
+    /* Check the parameters */
+    assert_param(IS_RCC_LSI(RCC_OscInitStruct->LSIState));
+
+    /* Check the LSI State */
+    if((RCC_OscInitStruct->LSIState)!= RCC_LSI_OFF)
+ 800150e:      687b            ldr     r3, [r7, #4]
+ 8001510:      695b            ldr     r3, [r3, #20]
+ 8001512:      2b00            cmp     r3, #0
+ 8001514:      d019            beq.n   800154a <HAL_RCC_OscConfig+0x25a>
+    {
+      /* Enable the Internal Low Speed oscillator (LSI). */
+      __HAL_RCC_LSI_ENABLE();
+ 8001516:      4b16            ldr     r3, [pc, #88]   ; (8001570 <HAL_RCC_OscConfig+0x280>)
+ 8001518:      6f5b            ldr     r3, [r3, #116]  ; 0x74
+ 800151a:      4a15            ldr     r2, [pc, #84]   ; (8001570 <HAL_RCC_OscConfig+0x280>)
+ 800151c:      f043 0301       orr.w   r3, r3, #1
+ 8001520:      6753            str     r3, [r2, #116]  ; 0x74
+
+      /* Get Start Tick*/
+      tickstart = HAL_GetTick();
+ 8001522:      f7ff f863       bl      80005ec <HAL_GetTick>
+ 8001526:      6138            str     r0, [r7, #16]
+
+      /* Wait till LSI is ready */
+      while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSIRDY) == RESET)
+ 8001528:      e008            b.n     800153c <HAL_RCC_OscConfig+0x24c>
+      {
+        if((HAL_GetTick() - tickstart ) > LSI_TIMEOUT_VALUE)
+ 800152a:      f7ff f85f       bl      80005ec <HAL_GetTick>
+ 800152e:      4602            mov     r2, r0
+ 8001530:      693b            ldr     r3, [r7, #16]
+ 8001532:      1ad3            subs    r3, r2, r3
+ 8001534:      2b02            cmp     r3, #2
+ 8001536:      d901            bls.n   800153c <HAL_RCC_OscConfig+0x24c>
+        {
+          return HAL_TIMEOUT;
+ 8001538:      2303            movs    r3, #3
+ 800153a:      e143            b.n     80017c4 <HAL_RCC_OscConfig+0x4d4>
+      while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSIRDY) == RESET)
+ 800153c:      4b0c            ldr     r3, [pc, #48]   ; (8001570 <HAL_RCC_OscConfig+0x280>)
+ 800153e:      6f5b            ldr     r3, [r3, #116]  ; 0x74
+ 8001540:      f003 0302       and.w   r3, r3, #2
+ 8001544:      2b00            cmp     r3, #0
+ 8001546:      d0f0            beq.n   800152a <HAL_RCC_OscConfig+0x23a>
+ 8001548:      e01a            b.n     8001580 <HAL_RCC_OscConfig+0x290>
+      }
+    }
+    else
+    {
+      /* Disable the Internal Low Speed oscillator (LSI). */
+      __HAL_RCC_LSI_DISABLE();
+ 800154a:      4b09            ldr     r3, [pc, #36]   ; (8001570 <HAL_RCC_OscConfig+0x280>)
+ 800154c:      6f5b            ldr     r3, [r3, #116]  ; 0x74
+ 800154e:      4a08            ldr     r2, [pc, #32]   ; (8001570 <HAL_RCC_OscConfig+0x280>)
+ 8001550:      f023 0301       bic.w   r3, r3, #1
+ 8001554:      6753            str     r3, [r2, #116]  ; 0x74
+
+      /* Get Start Tick*/
+      tickstart = HAL_GetTick();
+ 8001556:      f7ff f849       bl      80005ec <HAL_GetTick>
+ 800155a:      6138            str     r0, [r7, #16]
+
+      /* Wait till LSI is ready */
+      while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSIRDY) != RESET)
+ 800155c:      e00a            b.n     8001574 <HAL_RCC_OscConfig+0x284>
+      {
+        if((HAL_GetTick() - tickstart ) > LSI_TIMEOUT_VALUE)
+ 800155e:      f7ff f845       bl      80005ec <HAL_GetTick>
+ 8001562:      4602            mov     r2, r0
+ 8001564:      693b            ldr     r3, [r7, #16]
+ 8001566:      1ad3            subs    r3, r2, r3
+ 8001568:      2b02            cmp     r3, #2
+ 800156a:      d903            bls.n   8001574 <HAL_RCC_OscConfig+0x284>
+        {
+          return HAL_TIMEOUT;
+ 800156c:      2303            movs    r3, #3
+ 800156e:      e129            b.n     80017c4 <HAL_RCC_OscConfig+0x4d4>
+ 8001570:      40023800        .word   0x40023800
+      while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSIRDY) != RESET)
+ 8001574:      4b95            ldr     r3, [pc, #596]  ; (80017cc <HAL_RCC_OscConfig+0x4dc>)
+ 8001576:      6f5b            ldr     r3, [r3, #116]  ; 0x74
+ 8001578:      f003 0302       and.w   r3, r3, #2
+ 800157c:      2b00            cmp     r3, #0
+ 800157e:      d1ee            bne.n   800155e <HAL_RCC_OscConfig+0x26e>
+        }
+      }
+    }
+  }
+  /*------------------------------ LSE Configuration -------------------------*/
+  if(((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_LSE) == RCC_OSCILLATORTYPE_LSE)
+ 8001580:      687b            ldr     r3, [r7, #4]
+ 8001582:      681b            ldr     r3, [r3, #0]
+ 8001584:      f003 0304       and.w   r3, r3, #4
+ 8001588:      2b00            cmp     r3, #0
+ 800158a:      f000 80a4       beq.w   80016d6 <HAL_RCC_OscConfig+0x3e6>
+    /* Check the parameters */
+    assert_param(IS_RCC_LSE(RCC_OscInitStruct->LSEState));
+
+    /* Update LSE configuration in Backup Domain control register    */
+    /* Requires to enable write access to Backup Domain of necessary */
+    if(__HAL_RCC_PWR_IS_CLK_DISABLED())
+ 800158e:      4b8f            ldr     r3, [pc, #572]  ; (80017cc <HAL_RCC_OscConfig+0x4dc>)
+ 8001590:      6c1b            ldr     r3, [r3, #64]   ; 0x40
+ 8001592:      f003 5380       and.w   r3, r3, #268435456      ; 0x10000000
+ 8001596:      2b00            cmp     r3, #0
+ 8001598:      d10d            bne.n   80015b6 <HAL_RCC_OscConfig+0x2c6>
+    {
+      /* Enable Power Clock*/
+      __HAL_RCC_PWR_CLK_ENABLE();
+ 800159a:      4b8c            ldr     r3, [pc, #560]  ; (80017cc <HAL_RCC_OscConfig+0x4dc>)
+ 800159c:      6c1b            ldr     r3, [r3, #64]   ; 0x40
+ 800159e:      4a8b            ldr     r2, [pc, #556]  ; (80017cc <HAL_RCC_OscConfig+0x4dc>)
+ 80015a0:      f043 5380       orr.w   r3, r3, #268435456      ; 0x10000000
+ 80015a4:      6413            str     r3, [r2, #64]   ; 0x40
+ 80015a6:      4b89            ldr     r3, [pc, #548]  ; (80017cc <HAL_RCC_OscConfig+0x4dc>)
+ 80015a8:      6c1b            ldr     r3, [r3, #64]   ; 0x40
+ 80015aa:      f003 5380       and.w   r3, r3, #268435456      ; 0x10000000
+ 80015ae:      60fb            str     r3, [r7, #12]
+ 80015b0:      68fb            ldr     r3, [r7, #12]
+      pwrclkchanged = SET;
+ 80015b2:      2301            movs    r3, #1
+ 80015b4:      75fb            strb    r3, [r7, #23]
+    }
+
+    if(HAL_IS_BIT_CLR(PWR->CR1, PWR_CR1_DBP))
+ 80015b6:      4b86            ldr     r3, [pc, #536]  ; (80017d0 <HAL_RCC_OscConfig+0x4e0>)
+ 80015b8:      681b            ldr     r3, [r3, #0]
+ 80015ba:      f403 7380       and.w   r3, r3, #256    ; 0x100
+ 80015be:      2b00            cmp     r3, #0
+ 80015c0:      d118            bne.n   80015f4 <HAL_RCC_OscConfig+0x304>
+    {
+      /* Enable write access to Backup domain */
+      PWR->CR1 |= PWR_CR1_DBP;
+ 80015c2:      4b83            ldr     r3, [pc, #524]  ; (80017d0 <HAL_RCC_OscConfig+0x4e0>)
+ 80015c4:      681b            ldr     r3, [r3, #0]
+ 80015c6:      4a82            ldr     r2, [pc, #520]  ; (80017d0 <HAL_RCC_OscConfig+0x4e0>)
+ 80015c8:      f443 7380       orr.w   r3, r3, #256    ; 0x100
+ 80015cc:      6013            str     r3, [r2, #0]
+
+      /* Wait for Backup domain Write protection disable */
+      tickstart = HAL_GetTick();
+ 80015ce:      f7ff f80d       bl      80005ec <HAL_GetTick>
+ 80015d2:      6138            str     r0, [r7, #16]
+
+      while(HAL_IS_BIT_CLR(PWR->CR1, PWR_CR1_DBP))
+ 80015d4:      e008            b.n     80015e8 <HAL_RCC_OscConfig+0x2f8>
+      {
+        if((HAL_GetTick() - tickstart ) > RCC_DBP_TIMEOUT_VALUE)
+ 80015d6:      f7ff f809       bl      80005ec <HAL_GetTick>
+ 80015da:      4602            mov     r2, r0
+ 80015dc:      693b            ldr     r3, [r7, #16]
+ 80015de:      1ad3            subs    r3, r2, r3
+ 80015e0:      2b64            cmp     r3, #100        ; 0x64
+ 80015e2:      d901            bls.n   80015e8 <HAL_RCC_OscConfig+0x2f8>
+        {
+          return HAL_TIMEOUT;
+ 80015e4:      2303            movs    r3, #3
+ 80015e6:      e0ed            b.n     80017c4 <HAL_RCC_OscConfig+0x4d4>
+      while(HAL_IS_BIT_CLR(PWR->CR1, PWR_CR1_DBP))
+ 80015e8:      4b79            ldr     r3, [pc, #484]  ; (80017d0 <HAL_RCC_OscConfig+0x4e0>)
+ 80015ea:      681b            ldr     r3, [r3, #0]
+ 80015ec:      f403 7380       and.w   r3, r3, #256    ; 0x100
+ 80015f0:      2b00            cmp     r3, #0
+ 80015f2:      d0f0            beq.n   80015d6 <HAL_RCC_OscConfig+0x2e6>
+        }
+      }
+    }
+
+    /* Set the new LSE configuration -----------------------------------------*/
+    __HAL_RCC_LSE_CONFIG(RCC_OscInitStruct->LSEState);
+ 80015f4:      687b            ldr     r3, [r7, #4]
+ 80015f6:      689b            ldr     r3, [r3, #8]
+ 80015f8:      2b01            cmp     r3, #1
+ 80015fa:      d106            bne.n   800160a <HAL_RCC_OscConfig+0x31a>
+ 80015fc:      4b73            ldr     r3, [pc, #460]  ; (80017cc <HAL_RCC_OscConfig+0x4dc>)
+ 80015fe:      6f1b            ldr     r3, [r3, #112]  ; 0x70
+ 8001600:      4a72            ldr     r2, [pc, #456]  ; (80017cc <HAL_RCC_OscConfig+0x4dc>)
+ 8001602:      f043 0301       orr.w   r3, r3, #1
+ 8001606:      6713            str     r3, [r2, #112]  ; 0x70
+ 8001608:      e02d            b.n     8001666 <HAL_RCC_OscConfig+0x376>
+ 800160a:      687b            ldr     r3, [r7, #4]
+ 800160c:      689b            ldr     r3, [r3, #8]
+ 800160e:      2b00            cmp     r3, #0
+ 8001610:      d10c            bne.n   800162c <HAL_RCC_OscConfig+0x33c>
+ 8001612:      4b6e            ldr     r3, [pc, #440]  ; (80017cc <HAL_RCC_OscConfig+0x4dc>)
+ 8001614:      6f1b            ldr     r3, [r3, #112]  ; 0x70
+ 8001616:      4a6d            ldr     r2, [pc, #436]  ; (80017cc <HAL_RCC_OscConfig+0x4dc>)
+ 8001618:      f023 0301       bic.w   r3, r3, #1
+ 800161c:      6713            str     r3, [r2, #112]  ; 0x70
+ 800161e:      4b6b            ldr     r3, [pc, #428]  ; (80017cc <HAL_RCC_OscConfig+0x4dc>)
+ 8001620:      6f1b            ldr     r3, [r3, #112]  ; 0x70
+ 8001622:      4a6a            ldr     r2, [pc, #424]  ; (80017cc <HAL_RCC_OscConfig+0x4dc>)
+ 8001624:      f023 0304       bic.w   r3, r3, #4
+ 8001628:      6713            str     r3, [r2, #112]  ; 0x70
+ 800162a:      e01c            b.n     8001666 <HAL_RCC_OscConfig+0x376>
+ 800162c:      687b            ldr     r3, [r7, #4]
+ 800162e:      689b            ldr     r3, [r3, #8]
+ 8001630:      2b05            cmp     r3, #5
+ 8001632:      d10c            bne.n   800164e <HAL_RCC_OscConfig+0x35e>
+ 8001634:      4b65            ldr     r3, [pc, #404]  ; (80017cc <HAL_RCC_OscConfig+0x4dc>)
+ 8001636:      6f1b            ldr     r3, [r3, #112]  ; 0x70
+ 8001638:      4a64            ldr     r2, [pc, #400]  ; (80017cc <HAL_RCC_OscConfig+0x4dc>)
+ 800163a:      f043 0304       orr.w   r3, r3, #4
+ 800163e:      6713            str     r3, [r2, #112]  ; 0x70
+ 8001640:      4b62            ldr     r3, [pc, #392]  ; (80017cc <HAL_RCC_OscConfig+0x4dc>)
+ 8001642:      6f1b            ldr     r3, [r3, #112]  ; 0x70
+ 8001644:      4a61            ldr     r2, [pc, #388]  ; (80017cc <HAL_RCC_OscConfig+0x4dc>)
+ 8001646:      f043 0301       orr.w   r3, r3, #1
+ 800164a:      6713            str     r3, [r2, #112]  ; 0x70
+ 800164c:      e00b            b.n     8001666 <HAL_RCC_OscConfig+0x376>
+ 800164e:      4b5f            ldr     r3, [pc, #380]  ; (80017cc <HAL_RCC_OscConfig+0x4dc>)
+ 8001650:      6f1b            ldr     r3, [r3, #112]  ; 0x70
+ 8001652:      4a5e            ldr     r2, [pc, #376]  ; (80017cc <HAL_RCC_OscConfig+0x4dc>)
+ 8001654:      f023 0301       bic.w   r3, r3, #1
+ 8001658:      6713            str     r3, [r2, #112]  ; 0x70
+ 800165a:      4b5c            ldr     r3, [pc, #368]  ; (80017cc <HAL_RCC_OscConfig+0x4dc>)
+ 800165c:      6f1b            ldr     r3, [r3, #112]  ; 0x70
+ 800165e:      4a5b            ldr     r2, [pc, #364]  ; (80017cc <HAL_RCC_OscConfig+0x4dc>)
+ 8001660:      f023 0304       bic.w   r3, r3, #4
+ 8001664:      6713            str     r3, [r2, #112]  ; 0x70
+    /* Check the LSE State */
+    if((RCC_OscInitStruct->LSEState) != RCC_LSE_OFF)
+ 8001666:      687b            ldr     r3, [r7, #4]
+ 8001668:      689b            ldr     r3, [r3, #8]
+ 800166a:      2b00            cmp     r3, #0
+ 800166c:      d015            beq.n   800169a <HAL_RCC_OscConfig+0x3aa>
+    {
+      /* Get Start Tick*/
+      tickstart = HAL_GetTick();
+ 800166e:      f7fe ffbd       bl      80005ec <HAL_GetTick>
+ 8001672:      6138            str     r0, [r7, #16]
+
+      /* Wait till LSE is ready */
+      while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) == RESET)
+ 8001674:      e00a            b.n     800168c <HAL_RCC_OscConfig+0x39c>
+      {
+        if((HAL_GetTick() - tickstart ) > RCC_LSE_TIMEOUT_VALUE)
+ 8001676:      f7fe ffb9       bl      80005ec <HAL_GetTick>
+ 800167a:      4602            mov     r2, r0
+ 800167c:      693b            ldr     r3, [r7, #16]
+ 800167e:      1ad3            subs    r3, r2, r3
+ 8001680:      f241 3288       movw    r2, #5000       ; 0x1388
+ 8001684:      4293            cmp     r3, r2
+ 8001686:      d901            bls.n   800168c <HAL_RCC_OscConfig+0x39c>
+        {
+          return HAL_TIMEOUT;
+ 8001688:      2303            movs    r3, #3
+ 800168a:      e09b            b.n     80017c4 <HAL_RCC_OscConfig+0x4d4>
+      while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) == RESET)
+ 800168c:      4b4f            ldr     r3, [pc, #316]  ; (80017cc <HAL_RCC_OscConfig+0x4dc>)
+ 800168e:      6f1b            ldr     r3, [r3, #112]  ; 0x70
+ 8001690:      f003 0302       and.w   r3, r3, #2
+ 8001694:      2b00            cmp     r3, #0
+ 8001696:      d0ee            beq.n   8001676 <HAL_RCC_OscConfig+0x386>
+ 8001698:      e014            b.n     80016c4 <HAL_RCC_OscConfig+0x3d4>
+      }
+    }
+    else
+    {
+      /* Get Start Tick*/
+      tickstart = HAL_GetTick();
+ 800169a:      f7fe ffa7       bl      80005ec <HAL_GetTick>
+ 800169e:      6138            str     r0, [r7, #16]
+
+      /* Wait till LSE is ready */
+      while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) != RESET)
+ 80016a0:      e00a            b.n     80016b8 <HAL_RCC_OscConfig+0x3c8>
+      {
+        if((HAL_GetTick() - tickstart ) > RCC_LSE_TIMEOUT_VALUE)
+ 80016a2:      f7fe ffa3       bl      80005ec <HAL_GetTick>
+ 80016a6:      4602            mov     r2, r0
+ 80016a8:      693b            ldr     r3, [r7, #16]
+ 80016aa:      1ad3            subs    r3, r2, r3
+ 80016ac:      f241 3288       movw    r2, #5000       ; 0x1388
+ 80016b0:      4293            cmp     r3, r2
+ 80016b2:      d901            bls.n   80016b8 <HAL_RCC_OscConfig+0x3c8>
+        {
+          return HAL_TIMEOUT;
+ 80016b4:      2303            movs    r3, #3
+ 80016b6:      e085            b.n     80017c4 <HAL_RCC_OscConfig+0x4d4>
+      while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) != RESET)
+ 80016b8:      4b44            ldr     r3, [pc, #272]  ; (80017cc <HAL_RCC_OscConfig+0x4dc>)
+ 80016ba:      6f1b            ldr     r3, [r3, #112]  ; 0x70
+ 80016bc:      f003 0302       and.w   r3, r3, #2
+ 80016c0:      2b00            cmp     r3, #0
+ 80016c2:      d1ee            bne.n   80016a2 <HAL_RCC_OscConfig+0x3b2>
+        }
+      }
+    }
+
+    /* Restore clock configuration if changed */
+    if(pwrclkchanged == SET)
+ 80016c4:      7dfb            ldrb    r3, [r7, #23]
+ 80016c6:      2b01            cmp     r3, #1
+ 80016c8:      d105            bne.n   80016d6 <HAL_RCC_OscConfig+0x3e6>
+    {
+      __HAL_RCC_PWR_CLK_DISABLE();
+ 80016ca:      4b40            ldr     r3, [pc, #256]  ; (80017cc <HAL_RCC_OscConfig+0x4dc>)
+ 80016cc:      6c1b            ldr     r3, [r3, #64]   ; 0x40
+ 80016ce:      4a3f            ldr     r2, [pc, #252]  ; (80017cc <HAL_RCC_OscConfig+0x4dc>)
+ 80016d0:      f023 5380       bic.w   r3, r3, #268435456      ; 0x10000000
+ 80016d4:      6413            str     r3, [r2, #64]   ; 0x40
+    }
+  }
+  /*-------------------------------- PLL Configuration -----------------------*/
+  /* Check the parameters */
+  assert_param(IS_RCC_PLL(RCC_OscInitStruct->PLL.PLLState));
+  if ((RCC_OscInitStruct->PLL.PLLState) != RCC_PLL_NONE)
+ 80016d6:      687b            ldr     r3, [r7, #4]
+ 80016d8:      699b            ldr     r3, [r3, #24]
+ 80016da:      2b00            cmp     r3, #0
+ 80016dc:      d071            beq.n   80017c2 <HAL_RCC_OscConfig+0x4d2>
+  {
+    /* Check if the PLL is used as system clock or not */
+    if(__HAL_RCC_GET_SYSCLK_SOURCE() != RCC_SYSCLKSOURCE_STATUS_PLLCLK)
+ 80016de:      4b3b            ldr     r3, [pc, #236]  ; (80017cc <HAL_RCC_OscConfig+0x4dc>)
+ 80016e0:      689b            ldr     r3, [r3, #8]
+ 80016e2:      f003 030c       and.w   r3, r3, #12
+ 80016e6:      2b08            cmp     r3, #8
+ 80016e8:      d069            beq.n   80017be <HAL_RCC_OscConfig+0x4ce>
+    {
+      if((RCC_OscInitStruct->PLL.PLLState) == RCC_PLL_ON)
+ 80016ea:      687b            ldr     r3, [r7, #4]
+ 80016ec:      699b            ldr     r3, [r3, #24]
+ 80016ee:      2b02            cmp     r3, #2
+ 80016f0:      d14b            bne.n   800178a <HAL_RCC_OscConfig+0x49a>
+#if defined (RCC_PLLCFGR_PLLR)
+        assert_param(IS_RCC_PLLR_VALUE(RCC_OscInitStruct->PLL.PLLR));
+#endif
+
+        /* Disable the main PLL. */
+        __HAL_RCC_PLL_DISABLE();
+ 80016f2:      4b36            ldr     r3, [pc, #216]  ; (80017cc <HAL_RCC_OscConfig+0x4dc>)
+ 80016f4:      681b            ldr     r3, [r3, #0]
+ 80016f6:      4a35            ldr     r2, [pc, #212]  ; (80017cc <HAL_RCC_OscConfig+0x4dc>)
+ 80016f8:      f023 7380       bic.w   r3, r3, #16777216       ; 0x1000000
+ 80016fc:      6013            str     r3, [r2, #0]
+
+        /* Get Start Tick*/
+        tickstart = HAL_GetTick();
+ 80016fe:      f7fe ff75       bl      80005ec <HAL_GetTick>
+ 8001702:      6138            str     r0, [r7, #16]
+
+        /* Wait till PLL is ready */
+        while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) != RESET)
+ 8001704:      e008            b.n     8001718 <HAL_RCC_OscConfig+0x428>
+        {
+          if((HAL_GetTick() - tickstart ) > PLL_TIMEOUT_VALUE)
+ 8001706:      f7fe ff71       bl      80005ec <HAL_GetTick>
+ 800170a:      4602            mov     r2, r0
+ 800170c:      693b            ldr     r3, [r7, #16]
+ 800170e:      1ad3            subs    r3, r2, r3
+ 8001710:      2b02            cmp     r3, #2
+ 8001712:      d901            bls.n   8001718 <HAL_RCC_OscConfig+0x428>
+          {
+            return HAL_TIMEOUT;
+ 8001714:      2303            movs    r3, #3
+ 8001716:      e055            b.n     80017c4 <HAL_RCC_OscConfig+0x4d4>
+        while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) != RESET)
+ 8001718:      4b2c            ldr     r3, [pc, #176]  ; (80017cc <HAL_RCC_OscConfig+0x4dc>)
+ 800171a:      681b            ldr     r3, [r3, #0]
+ 800171c:      f003 7300       and.w   r3, r3, #33554432       ; 0x2000000
+ 8001720:      2b00            cmp     r3, #0
+ 8001722:      d1f0            bne.n   8001706 <HAL_RCC_OscConfig+0x416>
+          }
+        }
+
+        /* Configure the main PLL clock source, multiplication and division factors. */
+#if defined (RCC_PLLCFGR_PLLR)
+        __HAL_RCC_PLL_CONFIG(RCC_OscInitStruct->PLL.PLLSource,
+ 8001724:      687b            ldr     r3, [r7, #4]
+ 8001726:      69da            ldr     r2, [r3, #28]
+ 8001728:      687b            ldr     r3, [r7, #4]
+ 800172a:      6a1b            ldr     r3, [r3, #32]
+ 800172c:      431a            orrs    r2, r3
+ 800172e:      687b            ldr     r3, [r7, #4]
+ 8001730:      6a5b            ldr     r3, [r3, #36]   ; 0x24
+ 8001732:      019b            lsls    r3, r3, #6
+ 8001734:      431a            orrs    r2, r3
+ 8001736:      687b            ldr     r3, [r7, #4]
+ 8001738:      6a9b            ldr     r3, [r3, #40]   ; 0x28
+ 800173a:      085b            lsrs    r3, r3, #1
+ 800173c:      3b01            subs    r3, #1
+ 800173e:      041b            lsls    r3, r3, #16
+ 8001740:      431a            orrs    r2, r3
+ 8001742:      687b            ldr     r3, [r7, #4]
+ 8001744:      6adb            ldr     r3, [r3, #44]   ; 0x2c
+ 8001746:      061b            lsls    r3, r3, #24
+ 8001748:      431a            orrs    r2, r3
+ 800174a:      687b            ldr     r3, [r7, #4]
+ 800174c:      6b1b            ldr     r3, [r3, #48]   ; 0x30
+ 800174e:      071b            lsls    r3, r3, #28
+ 8001750:      491e            ldr     r1, [pc, #120]  ; (80017cc <HAL_RCC_OscConfig+0x4dc>)
+ 8001752:      4313            orrs    r3, r2
+ 8001754:      604b            str     r3, [r1, #4]
+                             RCC_OscInitStruct->PLL.PLLP,
+                             RCC_OscInitStruct->PLL.PLLQ);
+#endif
+
+        /* Enable the main PLL. */
+        __HAL_RCC_PLL_ENABLE();
+ 8001756:      4b1d            ldr     r3, [pc, #116]  ; (80017cc <HAL_RCC_OscConfig+0x4dc>)
+ 8001758:      681b            ldr     r3, [r3, #0]
+ 800175a:      4a1c            ldr     r2, [pc, #112]  ; (80017cc <HAL_RCC_OscConfig+0x4dc>)
+ 800175c:      f043 7380       orr.w   r3, r3, #16777216       ; 0x1000000
+ 8001760:      6013            str     r3, [r2, #0]
+
+        /* Get Start Tick*/
+        tickstart = HAL_GetTick();
+ 8001762:      f7fe ff43       bl      80005ec <HAL_GetTick>
+ 8001766:      6138            str     r0, [r7, #16]
+
+        /* Wait till PLL is ready */
+        while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) == RESET)
+ 8001768:      e008            b.n     800177c <HAL_RCC_OscConfig+0x48c>
+        {
+          if((HAL_GetTick() - tickstart ) > PLL_TIMEOUT_VALUE)
+ 800176a:      f7fe ff3f       bl      80005ec <HAL_GetTick>
+ 800176e:      4602            mov     r2, r0
+ 8001770:      693b            ldr     r3, [r7, #16]
+ 8001772:      1ad3            subs    r3, r2, r3
+ 8001774:      2b02            cmp     r3, #2
+ 8001776:      d901            bls.n   800177c <HAL_RCC_OscConfig+0x48c>
+          {
+            return HAL_TIMEOUT;
+ 8001778:      2303            movs    r3, #3
+ 800177a:      e023            b.n     80017c4 <HAL_RCC_OscConfig+0x4d4>
+        while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) == RESET)
+ 800177c:      4b13            ldr     r3, [pc, #76]   ; (80017cc <HAL_RCC_OscConfig+0x4dc>)
+ 800177e:      681b            ldr     r3, [r3, #0]
+ 8001780:      f003 7300       and.w   r3, r3, #33554432       ; 0x2000000
+ 8001784:      2b00            cmp     r3, #0
+ 8001786:      d0f0            beq.n   800176a <HAL_RCC_OscConfig+0x47a>
+ 8001788:      e01b            b.n     80017c2 <HAL_RCC_OscConfig+0x4d2>
+        }
+      }
+      else
+      {
+        /* Disable the main PLL. */
+        __HAL_RCC_PLL_DISABLE();
+ 800178a:      4b10            ldr     r3, [pc, #64]   ; (80017cc <HAL_RCC_OscConfig+0x4dc>)
+ 800178c:      681b            ldr     r3, [r3, #0]
+ 800178e:      4a0f            ldr     r2, [pc, #60]   ; (80017cc <HAL_RCC_OscConfig+0x4dc>)
+ 8001790:      f023 7380       bic.w   r3, r3, #16777216       ; 0x1000000
+ 8001794:      6013            str     r3, [r2, #0]
+
+        /* Get Start Tick*/
+        tickstart = HAL_GetTick();
+ 8001796:      f7fe ff29       bl      80005ec <HAL_GetTick>
+ 800179a:      6138            str     r0, [r7, #16]
+
+        /* Wait till PLL is ready */
+        while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) != RESET)
+ 800179c:      e008            b.n     80017b0 <HAL_RCC_OscConfig+0x4c0>
+        {
+          if((HAL_GetTick() - tickstart ) > PLL_TIMEOUT_VALUE)
+ 800179e:      f7fe ff25       bl      80005ec <HAL_GetTick>
+ 80017a2:      4602            mov     r2, r0
+ 80017a4:      693b            ldr     r3, [r7, #16]
+ 80017a6:      1ad3            subs    r3, r2, r3
+ 80017a8:      2b02            cmp     r3, #2
+ 80017aa:      d901            bls.n   80017b0 <HAL_RCC_OscConfig+0x4c0>
+          {
+            return HAL_TIMEOUT;
+ 80017ac:      2303            movs    r3, #3
+ 80017ae:      e009            b.n     80017c4 <HAL_RCC_OscConfig+0x4d4>
+        while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) != RESET)
+ 80017b0:      4b06            ldr     r3, [pc, #24]   ; (80017cc <HAL_RCC_OscConfig+0x4dc>)
+ 80017b2:      681b            ldr     r3, [r3, #0]
+ 80017b4:      f003 7300       and.w   r3, r3, #33554432       ; 0x2000000
+ 80017b8:      2b00            cmp     r3, #0
+ 80017ba:      d1f0            bne.n   800179e <HAL_RCC_OscConfig+0x4ae>
+ 80017bc:      e001            b.n     80017c2 <HAL_RCC_OscConfig+0x4d2>
+        }
+      }
+    }
+    else
+    {
+      return HAL_ERROR;
+ 80017be:      2301            movs    r3, #1
+ 80017c0:      e000            b.n     80017c4 <HAL_RCC_OscConfig+0x4d4>
+    }
+  }
+  return HAL_OK;
+ 80017c2:      2300            movs    r3, #0
+}
+ 80017c4:      4618            mov     r0, r3
+ 80017c6:      3718            adds    r7, #24
+ 80017c8:      46bd            mov     sp, r7
+ 80017ca:      bd80            pop     {r7, pc}
+ 80017cc:      40023800        .word   0x40023800
+ 80017d0:      40007000        .word   0x40007000
+
+080017d4 <HAL_RCC_ClockConfig>:
+  *         HPRE[3:0] bits to ensure that HCLK not exceed the maximum allowed frequency
+  *         (for more details refer to section above "Initialization/de-initialization functions")
+  * @retval None
+  */
+HAL_StatusTypeDef HAL_RCC_ClockConfig(RCC_ClkInitTypeDef  *RCC_ClkInitStruct, uint32_t FLatency)
+{
+ 80017d4:      b580            push    {r7, lr}
+ 80017d6:      b084            sub     sp, #16
+ 80017d8:      af00            add     r7, sp, #0
+ 80017da:      6078            str     r0, [r7, #4]
+ 80017dc:      6039            str     r1, [r7, #0]
+  uint32_t tickstart = 0;
+ 80017de:      2300            movs    r3, #0
+ 80017e0:      60fb            str     r3, [r7, #12]
+
+  /* Check Null pointer */
+  if(RCC_ClkInitStruct == NULL)
+ 80017e2:      687b            ldr     r3, [r7, #4]
+ 80017e4:      2b00            cmp     r3, #0
+ 80017e6:      d101            bne.n   80017ec <HAL_RCC_ClockConfig+0x18>
+  {
+    return HAL_ERROR;
+ 80017e8:      2301            movs    r3, #1
+ 80017ea:      e0ce            b.n     800198a <HAL_RCC_ClockConfig+0x1b6>
+  /* To correctly read data from FLASH memory, the number of wait states (LATENCY)
+     must be correctly programmed according to the frequency of the CPU clock
+     (HCLK) and the supply voltage of the device. */
+
+  /* Increasing the CPU frequency */
+  if(FLatency > __HAL_FLASH_GET_LATENCY())
+ 80017ec:      4b69            ldr     r3, [pc, #420]  ; (8001994 <HAL_RCC_ClockConfig+0x1c0>)
+ 80017ee:      681b            ldr     r3, [r3, #0]
+ 80017f0:      f003 030f       and.w   r3, r3, #15
+ 80017f4:      683a            ldr     r2, [r7, #0]
+ 80017f6:      429a            cmp     r2, r3
+ 80017f8:      d910            bls.n   800181c <HAL_RCC_ClockConfig+0x48>
+  {
+    /* Program the new number of wait states to the LATENCY bits in the FLASH_ACR register */
+    __HAL_FLASH_SET_LATENCY(FLatency);
+ 80017fa:      4b66            ldr     r3, [pc, #408]  ; (8001994 <HAL_RCC_ClockConfig+0x1c0>)
+ 80017fc:      681b            ldr     r3, [r3, #0]
+ 80017fe:      f023 020f       bic.w   r2, r3, #15
+ 8001802:      4964            ldr     r1, [pc, #400]  ; (8001994 <HAL_RCC_ClockConfig+0x1c0>)
+ 8001804:      683b            ldr     r3, [r7, #0]
+ 8001806:      4313            orrs    r3, r2
+ 8001808:      600b            str     r3, [r1, #0]
+
+    /* Check that the new number of wait states is taken into account to access the Flash
+    memory by reading the FLASH_ACR register */
+    if(__HAL_FLASH_GET_LATENCY() != FLatency)
+ 800180a:      4b62            ldr     r3, [pc, #392]  ; (8001994 <HAL_RCC_ClockConfig+0x1c0>)
+ 800180c:      681b            ldr     r3, [r3, #0]
+ 800180e:      f003 030f       and.w   r3, r3, #15
+ 8001812:      683a            ldr     r2, [r7, #0]
+ 8001814:      429a            cmp     r2, r3
+ 8001816:      d001            beq.n   800181c <HAL_RCC_ClockConfig+0x48>
+    {
+      return HAL_ERROR;
+ 8001818:      2301            movs    r3, #1
+ 800181a:      e0b6            b.n     800198a <HAL_RCC_ClockConfig+0x1b6>
+    }
+  }
+
+  /*-------------------------- HCLK Configuration --------------------------*/
+  if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_HCLK) == RCC_CLOCKTYPE_HCLK)
+ 800181c:      687b            ldr     r3, [r7, #4]
+ 800181e:      681b            ldr     r3, [r3, #0]
+ 8001820:      f003 0302       and.w   r3, r3, #2
+ 8001824:      2b00            cmp     r3, #0
+ 8001826:      d020            beq.n   800186a <HAL_RCC_ClockConfig+0x96>
+  {
+    /* Set the highest APBx dividers in order to ensure that we do not go through
+       a non-spec phase whatever we decrease or increase HCLK. */
+    if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_PCLK1) == RCC_CLOCKTYPE_PCLK1)
+ 8001828:      687b            ldr     r3, [r7, #4]
+ 800182a:      681b            ldr     r3, [r3, #0]
+ 800182c:      f003 0304       and.w   r3, r3, #4
+ 8001830:      2b00            cmp     r3, #0
+ 8001832:      d005            beq.n   8001840 <HAL_RCC_ClockConfig+0x6c>
+    {
+      MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE1, RCC_HCLK_DIV16);
+ 8001834:      4b58            ldr     r3, [pc, #352]  ; (8001998 <HAL_RCC_ClockConfig+0x1c4>)
+ 8001836:      689b            ldr     r3, [r3, #8]
+ 8001838:      4a57            ldr     r2, [pc, #348]  ; (8001998 <HAL_RCC_ClockConfig+0x1c4>)
+ 800183a:      f443 53e0       orr.w   r3, r3, #7168   ; 0x1c00
+ 800183e:      6093            str     r3, [r2, #8]
+    }
+
+    if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_PCLK2) == RCC_CLOCKTYPE_PCLK2)
+ 8001840:      687b            ldr     r3, [r7, #4]
+ 8001842:      681b            ldr     r3, [r3, #0]
+ 8001844:      f003 0308       and.w   r3, r3, #8
+ 8001848:      2b00            cmp     r3, #0
+ 800184a:      d005            beq.n   8001858 <HAL_RCC_ClockConfig+0x84>
+    {
+      MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE2, (RCC_HCLK_DIV16 << 3));
+ 800184c:      4b52            ldr     r3, [pc, #328]  ; (8001998 <HAL_RCC_ClockConfig+0x1c4>)
+ 800184e:      689b            ldr     r3, [r3, #8]
+ 8001850:      4a51            ldr     r2, [pc, #324]  ; (8001998 <HAL_RCC_ClockConfig+0x1c4>)
+ 8001852:      f443 4360       orr.w   r3, r3, #57344  ; 0xe000
+ 8001856:      6093            str     r3, [r2, #8]
+    }
+
+    /* Set the new HCLK clock divider */
+    assert_param(IS_RCC_HCLK(RCC_ClkInitStruct->AHBCLKDivider));
+    MODIFY_REG(RCC->CFGR, RCC_CFGR_HPRE, RCC_ClkInitStruct->AHBCLKDivider);
+ 8001858:      4b4f            ldr     r3, [pc, #316]  ; (8001998 <HAL_RCC_ClockConfig+0x1c4>)
+ 800185a:      689b            ldr     r3, [r3, #8]
+ 800185c:      f023 02f0       bic.w   r2, r3, #240    ; 0xf0
+ 8001860:      687b            ldr     r3, [r7, #4]
+ 8001862:      689b            ldr     r3, [r3, #8]
+ 8001864:      494c            ldr     r1, [pc, #304]  ; (8001998 <HAL_RCC_ClockConfig+0x1c4>)
+ 8001866:      4313            orrs    r3, r2
+ 8001868:      608b            str     r3, [r1, #8]
+  }
+
+  /*------------------------- SYSCLK Configuration ---------------------------*/
+  if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_SYSCLK) == RCC_CLOCKTYPE_SYSCLK)
+ 800186a:      687b            ldr     r3, [r7, #4]
+ 800186c:      681b            ldr     r3, [r3, #0]
+ 800186e:      f003 0301       and.w   r3, r3, #1
+ 8001872:      2b00            cmp     r3, #0
+ 8001874:      d040            beq.n   80018f8 <HAL_RCC_ClockConfig+0x124>
+  {
+    assert_param(IS_RCC_SYSCLKSOURCE(RCC_ClkInitStruct->SYSCLKSource));
+
+    /* HSE is selected as System Clock Source */
+    if(RCC_ClkInitStruct->SYSCLKSource == RCC_SYSCLKSOURCE_HSE)
+ 8001876:      687b            ldr     r3, [r7, #4]
+ 8001878:      685b            ldr     r3, [r3, #4]
+ 800187a:      2b01            cmp     r3, #1
+ 800187c:      d107            bne.n   800188e <HAL_RCC_ClockConfig+0xba>
+    {
+      /* Check the HSE ready flag */
+      if(__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) == RESET)
+ 800187e:      4b46            ldr     r3, [pc, #280]  ; (8001998 <HAL_RCC_ClockConfig+0x1c4>)
+ 8001880:      681b            ldr     r3, [r3, #0]
+ 8001882:      f403 3300       and.w   r3, r3, #131072 ; 0x20000
+ 8001886:      2b00            cmp     r3, #0
+ 8001888:      d115            bne.n   80018b6 <HAL_RCC_ClockConfig+0xe2>
+      {
+        return HAL_ERROR;
+ 800188a:      2301            movs    r3, #1
+ 800188c:      e07d            b.n     800198a <HAL_RCC_ClockConfig+0x1b6>
+      }
+    }
+    /* PLL is selected as System Clock Source */
+    else if(RCC_ClkInitStruct->SYSCLKSource == RCC_SYSCLKSOURCE_PLLCLK)
+ 800188e:      687b            ldr     r3, [r7, #4]
+ 8001890:      685b            ldr     r3, [r3, #4]
+ 8001892:      2b02            cmp     r3, #2
+ 8001894:      d107            bne.n   80018a6 <HAL_RCC_ClockConfig+0xd2>
+    {
+      /* Check the PLL ready flag */
+      if(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) == RESET)
+ 8001896:      4b40            ldr     r3, [pc, #256]  ; (8001998 <HAL_RCC_ClockConfig+0x1c4>)
+ 8001898:      681b            ldr     r3, [r3, #0]
+ 800189a:      f003 7300       and.w   r3, r3, #33554432       ; 0x2000000
+ 800189e:      2b00            cmp     r3, #0
+ 80018a0:      d109            bne.n   80018b6 <HAL_RCC_ClockConfig+0xe2>
+      {
+        return HAL_ERROR;
+ 80018a2:      2301            movs    r3, #1
+ 80018a4:      e071            b.n     800198a <HAL_RCC_ClockConfig+0x1b6>
+    }
+    /* HSI is selected as System Clock Source */
+    else
+    {
+      /* Check the HSI ready flag */
+      if(__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) == RESET)
+ 80018a6:      4b3c            ldr     r3, [pc, #240]  ; (8001998 <HAL_RCC_ClockConfig+0x1c4>)
+ 80018a8:      681b            ldr     r3, [r3, #0]
+ 80018aa:      f003 0302       and.w   r3, r3, #2
+ 80018ae:      2b00            cmp     r3, #0
+ 80018b0:      d101            bne.n   80018b6 <HAL_RCC_ClockConfig+0xe2>
+      {
+        return HAL_ERROR;
+ 80018b2:      2301            movs    r3, #1
+ 80018b4:      e069            b.n     800198a <HAL_RCC_ClockConfig+0x1b6>
+      }
+    }
+
+    __HAL_RCC_SYSCLK_CONFIG(RCC_ClkInitStruct->SYSCLKSource);
+ 80018b6:      4b38            ldr     r3, [pc, #224]  ; (8001998 <HAL_RCC_ClockConfig+0x1c4>)
+ 80018b8:      689b            ldr     r3, [r3, #8]
+ 80018ba:      f023 0203       bic.w   r2, r3, #3
+ 80018be:      687b            ldr     r3, [r7, #4]
+ 80018c0:      685b            ldr     r3, [r3, #4]
+ 80018c2:      4935            ldr     r1, [pc, #212]  ; (8001998 <HAL_RCC_ClockConfig+0x1c4>)
+ 80018c4:      4313            orrs    r3, r2
+ 80018c6:      608b            str     r3, [r1, #8]
+
+    /* Get Start Tick*/
+    tickstart = HAL_GetTick();
+ 80018c8:      f7fe fe90       bl      80005ec <HAL_GetTick>
+ 80018cc:      60f8            str     r0, [r7, #12]
+
+    while (__HAL_RCC_GET_SYSCLK_SOURCE() != (RCC_ClkInitStruct->SYSCLKSource << RCC_CFGR_SWS_Pos))
+ 80018ce:      e00a            b.n     80018e6 <HAL_RCC_ClockConfig+0x112>
+    {
+      if ((HAL_GetTick() - tickstart) > CLOCKSWITCH_TIMEOUT_VALUE)
+ 80018d0:      f7fe fe8c       bl      80005ec <HAL_GetTick>
+ 80018d4:      4602            mov     r2, r0
+ 80018d6:      68fb            ldr     r3, [r7, #12]
+ 80018d8:      1ad3            subs    r3, r2, r3
+ 80018da:      f241 3288       movw    r2, #5000       ; 0x1388
+ 80018de:      4293            cmp     r3, r2
+ 80018e0:      d901            bls.n   80018e6 <HAL_RCC_ClockConfig+0x112>
+      {
+        return HAL_TIMEOUT;
+ 80018e2:      2303            movs    r3, #3
+ 80018e4:      e051            b.n     800198a <HAL_RCC_ClockConfig+0x1b6>
+    while (__HAL_RCC_GET_SYSCLK_SOURCE() != (RCC_ClkInitStruct->SYSCLKSource << RCC_CFGR_SWS_Pos))
+ 80018e6:      4b2c            ldr     r3, [pc, #176]  ; (8001998 <HAL_RCC_ClockConfig+0x1c4>)
+ 80018e8:      689b            ldr     r3, [r3, #8]
+ 80018ea:      f003 020c       and.w   r2, r3, #12
+ 80018ee:      687b            ldr     r3, [r7, #4]
+ 80018f0:      685b            ldr     r3, [r3, #4]
+ 80018f2:      009b            lsls    r3, r3, #2
+ 80018f4:      429a            cmp     r2, r3
+ 80018f6:      d1eb            bne.n   80018d0 <HAL_RCC_ClockConfig+0xfc>
+      }
+    }
+  }
+
+  /* Decreasing the number of wait states because of lower CPU frequency */
+  if(FLatency < __HAL_FLASH_GET_LATENCY())
+ 80018f8:      4b26            ldr     r3, [pc, #152]  ; (8001994 <HAL_RCC_ClockConfig+0x1c0>)
+ 80018fa:      681b            ldr     r3, [r3, #0]
+ 80018fc:      f003 030f       and.w   r3, r3, #15
+ 8001900:      683a            ldr     r2, [r7, #0]
+ 8001902:      429a            cmp     r2, r3
+ 8001904:      d210            bcs.n   8001928 <HAL_RCC_ClockConfig+0x154>
+  {
+    /* Program the new number of wait states to the LATENCY bits in the FLASH_ACR register */
+    __HAL_FLASH_SET_LATENCY(FLatency);
+ 8001906:      4b23            ldr     r3, [pc, #140]  ; (8001994 <HAL_RCC_ClockConfig+0x1c0>)
+ 8001908:      681b            ldr     r3, [r3, #0]
+ 800190a:      f023 020f       bic.w   r2, r3, #15
+ 800190e:      4921            ldr     r1, [pc, #132]  ; (8001994 <HAL_RCC_ClockConfig+0x1c0>)
+ 8001910:      683b            ldr     r3, [r7, #0]
+ 8001912:      4313            orrs    r3, r2
+ 8001914:      600b            str     r3, [r1, #0]
+
+    /* Check that the new number of wait states is taken into account to access the Flash
+    memory by reading the FLASH_ACR register */
+    if(__HAL_FLASH_GET_LATENCY() != FLatency)
+ 8001916:      4b1f            ldr     r3, [pc, #124]  ; (8001994 <HAL_RCC_ClockConfig+0x1c0>)
+ 8001918:      681b            ldr     r3, [r3, #0]
+ 800191a:      f003 030f       and.w   r3, r3, #15
+ 800191e:      683a            ldr     r2, [r7, #0]
+ 8001920:      429a            cmp     r2, r3
+ 8001922:      d001            beq.n   8001928 <HAL_RCC_ClockConfig+0x154>
+    {
+      return HAL_ERROR;
+ 8001924:      2301            movs    r3, #1
+ 8001926:      e030            b.n     800198a <HAL_RCC_ClockConfig+0x1b6>
+    }
+  }
+
+  /*-------------------------- PCLK1 Configuration ---------------------------*/
+  if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_PCLK1) == RCC_CLOCKTYPE_PCLK1)
+ 8001928:      687b            ldr     r3, [r7, #4]
+ 800192a:      681b            ldr     r3, [r3, #0]
+ 800192c:      f003 0304       and.w   r3, r3, #4
+ 8001930:      2b00            cmp     r3, #0
+ 8001932:      d008            beq.n   8001946 <HAL_RCC_ClockConfig+0x172>
+  {
+    assert_param(IS_RCC_PCLK(RCC_ClkInitStruct->APB1CLKDivider));
+    MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE1, RCC_ClkInitStruct->APB1CLKDivider);
+ 8001934:      4b18            ldr     r3, [pc, #96]   ; (8001998 <HAL_RCC_ClockConfig+0x1c4>)
+ 8001936:      689b            ldr     r3, [r3, #8]
+ 8001938:      f423 52e0       bic.w   r2, r3, #7168   ; 0x1c00
+ 800193c:      687b            ldr     r3, [r7, #4]
+ 800193e:      68db            ldr     r3, [r3, #12]
+ 8001940:      4915            ldr     r1, [pc, #84]   ; (8001998 <HAL_RCC_ClockConfig+0x1c4>)
+ 8001942:      4313            orrs    r3, r2
+ 8001944:      608b            str     r3, [r1, #8]
+  }
+
+  /*-------------------------- PCLK2 Configuration ---------------------------*/
+  if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_PCLK2) == RCC_CLOCKTYPE_PCLK2)
+ 8001946:      687b            ldr     r3, [r7, #4]
+ 8001948:      681b            ldr     r3, [r3, #0]
+ 800194a:      f003 0308       and.w   r3, r3, #8
+ 800194e:      2b00            cmp     r3, #0
+ 8001950:      d009            beq.n   8001966 <HAL_RCC_ClockConfig+0x192>
+  {
+    assert_param(IS_RCC_PCLK(RCC_ClkInitStruct->APB2CLKDivider));
+    MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE2, ((RCC_ClkInitStruct->APB2CLKDivider) << 3));
+ 8001952:      4b11            ldr     r3, [pc, #68]   ; (8001998 <HAL_RCC_ClockConfig+0x1c4>)
+ 8001954:      689b            ldr     r3, [r3, #8]
+ 8001956:      f423 4260       bic.w   r2, r3, #57344  ; 0xe000
+ 800195a:      687b            ldr     r3, [r7, #4]
+ 800195c:      691b            ldr     r3, [r3, #16]
+ 800195e:      00db            lsls    r3, r3, #3
+ 8001960:      490d            ldr     r1, [pc, #52]   ; (8001998 <HAL_RCC_ClockConfig+0x1c4>)
+ 8001962:      4313            orrs    r3, r2
+ 8001964:      608b            str     r3, [r1, #8]
+  }
+
+  /* Update the SystemCoreClock global variable */
+  SystemCoreClock = HAL_RCC_GetSysClockFreq() >> AHBPrescTable[(RCC->CFGR & RCC_CFGR_HPRE)>> RCC_CFGR_HPRE_Pos];
+ 8001966:      f000 f81d       bl      80019a4 <HAL_RCC_GetSysClockFreq>
+ 800196a:      4601            mov     r1, r0
+ 800196c:      4b0a            ldr     r3, [pc, #40]   ; (8001998 <HAL_RCC_ClockConfig+0x1c4>)
+ 800196e:      689b            ldr     r3, [r3, #8]
+ 8001970:      091b            lsrs    r3, r3, #4
+ 8001972:      f003 030f       and.w   r3, r3, #15
+ 8001976:      4a09            ldr     r2, [pc, #36]   ; (800199c <HAL_RCC_ClockConfig+0x1c8>)
+ 8001978:      5cd3            ldrb    r3, [r2, r3]
+ 800197a:      fa21 f303       lsr.w   r3, r1, r3
+ 800197e:      4a08            ldr     r2, [pc, #32]   ; (80019a0 <HAL_RCC_ClockConfig+0x1cc>)
+ 8001980:      6013            str     r3, [r2, #0]
+
+  /* Configure the source of time base considering new system clocks settings*/
+  HAL_InitTick (TICK_INT_PRIORITY);
+ 8001982:      2000            movs    r0, #0
+ 8001984:      f7fe fdee       bl      8000564 <HAL_InitTick>
+
+  return HAL_OK;
+ 8001988:      2300            movs    r3, #0
+}
+ 800198a:      4618            mov     r0, r3
+ 800198c:      3710            adds    r7, #16
+ 800198e:      46bd            mov     sp, r7
+ 8001990:      bd80            pop     {r7, pc}
+ 8001992:      bf00            nop
+ 8001994:      40023c00        .word   0x40023c00
+ 8001998:      40023800        .word   0x40023800
+ 800199c:      08006010        .word   0x08006010
+ 80019a0:      20000008        .word   0x20000008
+
+080019a4 <HAL_RCC_GetSysClockFreq>:
+  *
+  *
+  * @retval SYSCLK frequency
+  */
+uint32_t HAL_RCC_GetSysClockFreq(void)
+{
+ 80019a4:      b5f0            push    {r4, r5, r6, r7, lr}
+ 80019a6:      b085            sub     sp, #20
+ 80019a8:      af00            add     r7, sp, #0
+  uint32_t pllm = 0, pllvco = 0, pllp = 0;
+ 80019aa:      2300            movs    r3, #0
+ 80019ac:      607b            str     r3, [r7, #4]
+ 80019ae:      2300            movs    r3, #0
+ 80019b0:      60fb            str     r3, [r7, #12]
+ 80019b2:      2300            movs    r3, #0
+ 80019b4:      603b            str     r3, [r7, #0]
+  uint32_t sysclockfreq = 0;
+ 80019b6:      2300            movs    r3, #0
+ 80019b8:      60bb            str     r3, [r7, #8]
+
+  /* Get SYSCLK source -------------------------------------------------------*/
+  switch (RCC->CFGR & RCC_CFGR_SWS)
+ 80019ba:      4b50            ldr     r3, [pc, #320]  ; (8001afc <HAL_RCC_GetSysClockFreq+0x158>)
+ 80019bc:      689b            ldr     r3, [r3, #8]
+ 80019be:      f003 030c       and.w   r3, r3, #12
+ 80019c2:      2b04            cmp     r3, #4
+ 80019c4:      d007            beq.n   80019d6 <HAL_RCC_GetSysClockFreq+0x32>
+ 80019c6:      2b08            cmp     r3, #8
+ 80019c8:      d008            beq.n   80019dc <HAL_RCC_GetSysClockFreq+0x38>
+ 80019ca:      2b00            cmp     r3, #0
+ 80019cc:      f040 808d       bne.w   8001aea <HAL_RCC_GetSysClockFreq+0x146>
+  {
+    case RCC_SYSCLKSOURCE_STATUS_HSI:  /* HSI used as system clock source */
+    {
+      sysclockfreq = HSI_VALUE;
+ 80019d0:      4b4b            ldr     r3, [pc, #300]  ; (8001b00 <HAL_RCC_GetSysClockFreq+0x15c>)
+ 80019d2:      60bb            str     r3, [r7, #8]
+       break;
+ 80019d4:      e08c            b.n     8001af0 <HAL_RCC_GetSysClockFreq+0x14c>
+    }
+    case RCC_SYSCLKSOURCE_STATUS_HSE:  /* HSE used as system clock  source */
+    {
+      sysclockfreq = HSE_VALUE;
+ 80019d6:      4b4b            ldr     r3, [pc, #300]  ; (8001b04 <HAL_RCC_GetSysClockFreq+0x160>)
+ 80019d8:      60bb            str     r3, [r7, #8]
+      break;
+ 80019da:      e089            b.n     8001af0 <HAL_RCC_GetSysClockFreq+0x14c>
+    }
+    case RCC_SYSCLKSOURCE_STATUS_PLLCLK:  /* PLL used as system clock  source */
+    {
+      /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLLM) * PLLN
+      SYSCLK = PLL_VCO / PLLP */
+      pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM;
+ 80019dc:      4b47            ldr     r3, [pc, #284]  ; (8001afc <HAL_RCC_GetSysClockFreq+0x158>)
+ 80019de:      685b            ldr     r3, [r3, #4]
+ 80019e0:      f003 033f       and.w   r3, r3, #63     ; 0x3f
+ 80019e4:      607b            str     r3, [r7, #4]
+      if (__HAL_RCC_GET_PLL_OSCSOURCE() != RCC_PLLCFGR_PLLSRC_HSI)
+ 80019e6:      4b45            ldr     r3, [pc, #276]  ; (8001afc <HAL_RCC_GetSysClockFreq+0x158>)
+ 80019e8:      685b            ldr     r3, [r3, #4]
+ 80019ea:      f403 0380       and.w   r3, r3, #4194304        ; 0x400000
+ 80019ee:      2b00            cmp     r3, #0
+ 80019f0:      d023            beq.n   8001a3a <HAL_RCC_GetSysClockFreq+0x96>
+      {
+        /* HSE used as PLL clock source */
+        pllvco = (uint32_t) ((((uint64_t) HSE_VALUE * ((uint64_t) ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> RCC_PLLCFGR_PLLN_Pos)))) / (uint64_t)pllm);
+ 80019f2:      4b42            ldr     r3, [pc, #264]  ; (8001afc <HAL_RCC_GetSysClockFreq+0x158>)
+ 80019f4:      685b            ldr     r3, [r3, #4]
+ 80019f6:      099b            lsrs    r3, r3, #6
+ 80019f8:      f04f 0400       mov.w   r4, #0
+ 80019fc:      f240 11ff       movw    r1, #511        ; 0x1ff
+ 8001a00:      f04f 0200       mov.w   r2, #0
+ 8001a04:      ea03 0501       and.w   r5, r3, r1
+ 8001a08:      ea04 0602       and.w   r6, r4, r2
+ 8001a0c:      4a3d            ldr     r2, [pc, #244]  ; (8001b04 <HAL_RCC_GetSysClockFreq+0x160>)
+ 8001a0e:      fb02 f106       mul.w   r1, r2, r6
+ 8001a12:      2200            movs    r2, #0
+ 8001a14:      fb02 f205       mul.w   r2, r2, r5
+ 8001a18:      440a            add     r2, r1
+ 8001a1a:      493a            ldr     r1, [pc, #232]  ; (8001b04 <HAL_RCC_GetSysClockFreq+0x160>)
+ 8001a1c:      fba5 0101       umull   r0, r1, r5, r1
+ 8001a20:      1853            adds    r3, r2, r1
+ 8001a22:      4619            mov     r1, r3
+ 8001a24:      687b            ldr     r3, [r7, #4]
+ 8001a26:      f04f 0400       mov.w   r4, #0
+ 8001a2a:      461a            mov     r2, r3
+ 8001a2c:      4623            mov     r3, r4
+ 8001a2e:      f7fe fc0b       bl      8000248 <__aeabi_uldivmod>
+ 8001a32:      4603            mov     r3, r0
+ 8001a34:      460c            mov     r4, r1
+ 8001a36:      60fb            str     r3, [r7, #12]
+ 8001a38:      e049            b.n     8001ace <HAL_RCC_GetSysClockFreq+0x12a>
+      }
+      else
+      {
+        /* HSI used as PLL clock source */
+        pllvco = (uint32_t) ((((uint64_t) HSI_VALUE * ((uint64_t) ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> RCC_PLLCFGR_PLLN_Pos)))) / (uint64_t)pllm);
+ 8001a3a:      4b30            ldr     r3, [pc, #192]  ; (8001afc <HAL_RCC_GetSysClockFreq+0x158>)
+ 8001a3c:      685b            ldr     r3, [r3, #4]
+ 8001a3e:      099b            lsrs    r3, r3, #6
+ 8001a40:      f04f 0400       mov.w   r4, #0
+ 8001a44:      f240 11ff       movw    r1, #511        ; 0x1ff
+ 8001a48:      f04f 0200       mov.w   r2, #0
+ 8001a4c:      ea03 0501       and.w   r5, r3, r1
+ 8001a50:      ea04 0602       and.w   r6, r4, r2
+ 8001a54:      4629            mov     r1, r5
+ 8001a56:      4632            mov     r2, r6
+ 8001a58:      f04f 0300       mov.w   r3, #0
+ 8001a5c:      f04f 0400       mov.w   r4, #0
+ 8001a60:      0154            lsls    r4, r2, #5
+ 8001a62:      ea44 64d1       orr.w   r4, r4, r1, lsr #27
+ 8001a66:      014b            lsls    r3, r1, #5
+ 8001a68:      4619            mov     r1, r3
+ 8001a6a:      4622            mov     r2, r4
+ 8001a6c:      1b49            subs    r1, r1, r5
+ 8001a6e:      eb62 0206       sbc.w   r2, r2, r6
+ 8001a72:      f04f 0300       mov.w   r3, #0
+ 8001a76:      f04f 0400       mov.w   r4, #0
+ 8001a7a:      0194            lsls    r4, r2, #6
+ 8001a7c:      ea44 6491       orr.w   r4, r4, r1, lsr #26
+ 8001a80:      018b            lsls    r3, r1, #6
+ 8001a82:      1a5b            subs    r3, r3, r1
+ 8001a84:      eb64 0402       sbc.w   r4, r4, r2
+ 8001a88:      f04f 0100       mov.w   r1, #0
+ 8001a8c:      f04f 0200       mov.w   r2, #0
+ 8001a90:      00e2            lsls    r2, r4, #3
+ 8001a92:      ea42 7253       orr.w   r2, r2, r3, lsr #29
+ 8001a96:      00d9            lsls    r1, r3, #3
+ 8001a98:      460b            mov     r3, r1
+ 8001a9a:      4614            mov     r4, r2
+ 8001a9c:      195b            adds    r3, r3, r5
+ 8001a9e:      eb44 0406       adc.w   r4, r4, r6
+ 8001aa2:      f04f 0100       mov.w   r1, #0
+ 8001aa6:      f04f 0200       mov.w   r2, #0
+ 8001aaa:      02a2            lsls    r2, r4, #10
+ 8001aac:      ea42 5293       orr.w   r2, r2, r3, lsr #22
+ 8001ab0:      0299            lsls    r1, r3, #10
+ 8001ab2:      460b            mov     r3, r1
+ 8001ab4:      4614            mov     r4, r2
+ 8001ab6:      4618            mov     r0, r3
+ 8001ab8:      4621            mov     r1, r4
+ 8001aba:      687b            ldr     r3, [r7, #4]
+ 8001abc:      f04f 0400       mov.w   r4, #0
+ 8001ac0:      461a            mov     r2, r3
+ 8001ac2:      4623            mov     r3, r4
+ 8001ac4:      f7fe fbc0       bl      8000248 <__aeabi_uldivmod>
+ 8001ac8:      4603            mov     r3, r0
+ 8001aca:      460c            mov     r4, r1
+ 8001acc:      60fb            str     r3, [r7, #12]
+      }
+      pllp = ((((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >> RCC_PLLCFGR_PLLP_Pos) + 1 ) *2);
+ 8001ace:      4b0b            ldr     r3, [pc, #44]   ; (8001afc <HAL_RCC_GetSysClockFreq+0x158>)
+ 8001ad0:      685b            ldr     r3, [r3, #4]
+ 8001ad2:      0c1b            lsrs    r3, r3, #16
+ 8001ad4:      f003 0303       and.w   r3, r3, #3
+ 8001ad8:      3301            adds    r3, #1
+ 8001ada:      005b            lsls    r3, r3, #1
+ 8001adc:      603b            str     r3, [r7, #0]
+
+      sysclockfreq = pllvco/pllp;
+ 8001ade:      68fa            ldr     r2, [r7, #12]
+ 8001ae0:      683b            ldr     r3, [r7, #0]
+ 8001ae2:      fbb2 f3f3       udiv    r3, r2, r3
+ 8001ae6:      60bb            str     r3, [r7, #8]
+      break;
+ 8001ae8:      e002            b.n     8001af0 <HAL_RCC_GetSysClockFreq+0x14c>
+    }
+    default:
+    {
+      sysclockfreq = HSI_VALUE;
+ 8001aea:      4b05            ldr     r3, [pc, #20]   ; (8001b00 <HAL_RCC_GetSysClockFreq+0x15c>)
+ 8001aec:      60bb            str     r3, [r7, #8]
+      break;
+ 8001aee:      bf00            nop
+    }
+  }
+  return sysclockfreq;
+ 8001af0:      68bb            ldr     r3, [r7, #8]
+}
+ 8001af2:      4618            mov     r0, r3
+ 8001af4:      3714            adds    r7, #20
+ 8001af6:      46bd            mov     sp, r7
+ 8001af8:      bdf0            pop     {r4, r5, r6, r7, pc}
+ 8001afa:      bf00            nop
+ 8001afc:      40023800        .word   0x40023800
+ 8001b00:      00f42400        .word   0x00f42400
+ 8001b04:      017d7840        .word   0x017d7840
+
+08001b08 <HAL_RCC_GetHCLKFreq>:
+  *         right HCLK value. Otherwise, any configuration based on this function will be incorrect.
+  * @note   The SystemCoreClock CMSIS variable is used to store System Clock Frequency.
+  * @retval HCLK frequency
+  */
+uint32_t HAL_RCC_GetHCLKFreq(void)
+{
+ 8001b08:      b480            push    {r7}
+ 8001b0a:      af00            add     r7, sp, #0
+  return SystemCoreClock;
+ 8001b0c:      4b03            ldr     r3, [pc, #12]   ; (8001b1c <HAL_RCC_GetHCLKFreq+0x14>)
+ 8001b0e:      681b            ldr     r3, [r3, #0]
+}
+ 8001b10:      4618            mov     r0, r3
+ 8001b12:      46bd            mov     sp, r7
+ 8001b14:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8001b18:      4770            bx      lr
+ 8001b1a:      bf00            nop
+ 8001b1c:      20000008        .word   0x20000008
+
+08001b20 <HAL_RCC_GetPCLK1Freq>:
+  * @note   Each time PCLK1 changes, this function must be called to update the
+  *         right PCLK1 value. Otherwise, any configuration based on this function will be incorrect.
+  * @retval PCLK1 frequency
+  */
+uint32_t HAL_RCC_GetPCLK1Freq(void)
+{
+ 8001b20:      b580            push    {r7, lr}
+ 8001b22:      af00            add     r7, sp, #0
+  /* Get HCLK source and Compute PCLK1 frequency ---------------------------*/
+  return (HAL_RCC_GetHCLKFreq() >> APBPrescTable[(RCC->CFGR & RCC_CFGR_PPRE1)>> RCC_CFGR_PPRE1_Pos]);
+ 8001b24:      f7ff fff0       bl      8001b08 <HAL_RCC_GetHCLKFreq>
+ 8001b28:      4601            mov     r1, r0
+ 8001b2a:      4b05            ldr     r3, [pc, #20]   ; (8001b40 <HAL_RCC_GetPCLK1Freq+0x20>)
+ 8001b2c:      689b            ldr     r3, [r3, #8]
+ 8001b2e:      0a9b            lsrs    r3, r3, #10
+ 8001b30:      f003 0307       and.w   r3, r3, #7
+ 8001b34:      4a03            ldr     r2, [pc, #12]   ; (8001b44 <HAL_RCC_GetPCLK1Freq+0x24>)
+ 8001b36:      5cd3            ldrb    r3, [r2, r3]
+ 8001b38:      fa21 f303       lsr.w   r3, r1, r3
+}
+ 8001b3c:      4618            mov     r0, r3
+ 8001b3e:      bd80            pop     {r7, pc}
+ 8001b40:      40023800        .word   0x40023800
+ 8001b44:      08006020        .word   0x08006020
+
+08001b48 <HAL_RCC_GetPCLK2Freq>:
+  * @note   Each time PCLK2 changes, this function must be called to update the
+  *         right PCLK2 value. Otherwise, any configuration based on this function will be incorrect.
+  * @retval PCLK2 frequency
+  */
+uint32_t HAL_RCC_GetPCLK2Freq(void)
+{
+ 8001b48:      b580            push    {r7, lr}
+ 8001b4a:      af00            add     r7, sp, #0
+  /* Get HCLK source and Compute PCLK2 frequency ---------------------------*/
+  return (HAL_RCC_GetHCLKFreq()>> APBPrescTable[(RCC->CFGR & RCC_CFGR_PPRE2)>> RCC_CFGR_PPRE2_Pos]);
+ 8001b4c:      f7ff ffdc       bl      8001b08 <HAL_RCC_GetHCLKFreq>
+ 8001b50:      4601            mov     r1, r0
+ 8001b52:      4b05            ldr     r3, [pc, #20]   ; (8001b68 <HAL_RCC_GetPCLK2Freq+0x20>)
+ 8001b54:      689b            ldr     r3, [r3, #8]
+ 8001b56:      0b5b            lsrs    r3, r3, #13
+ 8001b58:      f003 0307       and.w   r3, r3, #7
+ 8001b5c:      4a03            ldr     r2, [pc, #12]   ; (8001b6c <HAL_RCC_GetPCLK2Freq+0x24>)
+ 8001b5e:      5cd3            ldrb    r3, [r2, r3]
+ 8001b60:      fa21 f303       lsr.w   r3, r1, r3
+}
+ 8001b64:      4618            mov     r0, r3
+ 8001b66:      bd80            pop     {r7, pc}
+ 8001b68:      40023800        .word   0x40023800
+ 8001b6c:      08006020        .word   0x08006020
+
+08001b70 <HAL_RCCEx_PeriphCLKConfig>:
+  *         the backup registers) are set to their reset values.
+  *
+  * @retval HAL status
+  */
+HAL_StatusTypeDef HAL_RCCEx_PeriphCLKConfig(RCC_PeriphCLKInitTypeDef  *PeriphClkInit)
+{
+ 8001b70:      b580            push    {r7, lr}
+ 8001b72:      b088            sub     sp, #32
+ 8001b74:      af00            add     r7, sp, #0
+ 8001b76:      6078            str     r0, [r7, #4]
+  uint32_t tickstart = 0;
+ 8001b78:      2300            movs    r3, #0
+ 8001b7a:      617b            str     r3, [r7, #20]
+  uint32_t tmpreg0 = 0;
+ 8001b7c:      2300            movs    r3, #0
+ 8001b7e:      613b            str     r3, [r7, #16]
+  uint32_t tmpreg1 = 0;
+ 8001b80:      2300            movs    r3, #0
+ 8001b82:      60fb            str     r3, [r7, #12]
+  uint32_t plli2sused = 0;
+ 8001b84:      2300            movs    r3, #0
+ 8001b86:      61fb            str     r3, [r7, #28]
+  uint32_t pllsaiused = 0;
+ 8001b88:      2300            movs    r3, #0
+ 8001b8a:      61bb            str     r3, [r7, #24]
+
+  /* Check the parameters */
+  assert_param(IS_RCC_PERIPHCLOCK(PeriphClkInit->PeriphClockSelection));
+
+  /*----------------------------------- I2S configuration ----------------------------------*/
+  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_I2S) == (RCC_PERIPHCLK_I2S))
+ 8001b8c:      687b            ldr     r3, [r7, #4]
+ 8001b8e:      681b            ldr     r3, [r3, #0]
+ 8001b90:      f003 0301       and.w   r3, r3, #1
+ 8001b94:      2b00            cmp     r3, #0
+ 8001b96:      d012            beq.n   8001bbe <HAL_RCCEx_PeriphCLKConfig+0x4e>
+  {
+    /* Check the parameters */
+    assert_param(IS_RCC_I2SCLKSOURCE(PeriphClkInit->I2sClockSelection));
+
+    /* Configure I2S Clock source */
+    __HAL_RCC_I2S_CONFIG(PeriphClkInit->I2sClockSelection);
+ 8001b98:      4b69            ldr     r3, [pc, #420]  ; (8001d40 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
+ 8001b9a:      689b            ldr     r3, [r3, #8]
+ 8001b9c:      4a68            ldr     r2, [pc, #416]  ; (8001d40 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
+ 8001b9e:      f423 0300       bic.w   r3, r3, #8388608        ; 0x800000
+ 8001ba2:      6093            str     r3, [r2, #8]
+ 8001ba4:      4b66            ldr     r3, [pc, #408]  ; (8001d40 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
+ 8001ba6:      689a            ldr     r2, [r3, #8]
+ 8001ba8:      687b            ldr     r3, [r7, #4]
+ 8001baa:      6b5b            ldr     r3, [r3, #52]   ; 0x34
+ 8001bac:      4964            ldr     r1, [pc, #400]  ; (8001d40 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
+ 8001bae:      4313            orrs    r3, r2
+ 8001bb0:      608b            str     r3, [r1, #8]
+
+    /* Enable the PLLI2S when it's used as clock source for I2S */
+    if(PeriphClkInit->I2sClockSelection == RCC_I2SCLKSOURCE_PLLI2S)
+ 8001bb2:      687b            ldr     r3, [r7, #4]
+ 8001bb4:      6b5b            ldr     r3, [r3, #52]   ; 0x34
+ 8001bb6:      2b00            cmp     r3, #0
+ 8001bb8:      d101            bne.n   8001bbe <HAL_RCCEx_PeriphCLKConfig+0x4e>
+    {
+      plli2sused = 1;
+ 8001bba:      2301            movs    r3, #1
+ 8001bbc:      61fb            str     r3, [r7, #28]
+    }
+  }
+
+  /*------------------------------------ SAI1 configuration --------------------------------------*/
+  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI1) == (RCC_PERIPHCLK_SAI1))
+ 8001bbe:      687b            ldr     r3, [r7, #4]
+ 8001bc0:      681b            ldr     r3, [r3, #0]
+ 8001bc2:      f403 2300       and.w   r3, r3, #524288 ; 0x80000
+ 8001bc6:      2b00            cmp     r3, #0
+ 8001bc8:      d017            beq.n   8001bfa <HAL_RCCEx_PeriphCLKConfig+0x8a>
+  {
+    /* Check the parameters */
+    assert_param(IS_RCC_SAI1CLKSOURCE(PeriphClkInit->Sai1ClockSelection));
+
+    /* Configure SAI1 Clock source */
+    __HAL_RCC_SAI1_CONFIG(PeriphClkInit->Sai1ClockSelection);
+ 8001bca:      4b5d            ldr     r3, [pc, #372]  ; (8001d40 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
+ 8001bcc:      f8d3 308c       ldr.w   r3, [r3, #140]  ; 0x8c
+ 8001bd0:      f423 1240       bic.w   r2, r3, #3145728        ; 0x300000
+ 8001bd4:      687b            ldr     r3, [r7, #4]
+ 8001bd6:      6bdb            ldr     r3, [r3, #60]   ; 0x3c
+ 8001bd8:      4959            ldr     r1, [pc, #356]  ; (8001d40 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
+ 8001bda:      4313            orrs    r3, r2
+ 8001bdc:      f8c1 308c       str.w   r3, [r1, #140]  ; 0x8c
+    /* Enable the PLLI2S when it's used as clock source for SAI */
+    if(PeriphClkInit->Sai1ClockSelection == RCC_SAI1CLKSOURCE_PLLI2S)
+ 8001be0:      687b            ldr     r3, [r7, #4]
+ 8001be2:      6bdb            ldr     r3, [r3, #60]   ; 0x3c
+ 8001be4:      f5b3 1f80       cmp.w   r3, #1048576    ; 0x100000
+ 8001be8:      d101            bne.n   8001bee <HAL_RCCEx_PeriphCLKConfig+0x7e>
+    {
+      plli2sused = 1;
+ 8001bea:      2301            movs    r3, #1
+ 8001bec:      61fb            str     r3, [r7, #28]
+    }
+    /* Enable the PLLSAI when it's used as clock source for SAI */
+    if(PeriphClkInit->Sai1ClockSelection == RCC_SAI1CLKSOURCE_PLLSAI)
+ 8001bee:      687b            ldr     r3, [r7, #4]
+ 8001bf0:      6bdb            ldr     r3, [r3, #60]   ; 0x3c
+ 8001bf2:      2b00            cmp     r3, #0
+ 8001bf4:      d101            bne.n   8001bfa <HAL_RCCEx_PeriphCLKConfig+0x8a>
+    {
+      pllsaiused = 1;
+ 8001bf6:      2301            movs    r3, #1
+ 8001bf8:      61bb            str     r3, [r7, #24]
+    }
+  }
+
+  /*------------------------------------ SAI2 configuration --------------------------------------*/
+  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI2) == (RCC_PERIPHCLK_SAI2))
+ 8001bfa:      687b            ldr     r3, [r7, #4]
+ 8001bfc:      681b            ldr     r3, [r3, #0]
+ 8001bfe:      f403 1380       and.w   r3, r3, #1048576        ; 0x100000
+ 8001c02:      2b00            cmp     r3, #0
+ 8001c04:      d017            beq.n   8001c36 <HAL_RCCEx_PeriphCLKConfig+0xc6>
+  {
+    /* Check the parameters */
+    assert_param(IS_RCC_SAI2CLKSOURCE(PeriphClkInit->Sai2ClockSelection));
+
+    /* Configure SAI2 Clock source */
+    __HAL_RCC_SAI2_CONFIG(PeriphClkInit->Sai2ClockSelection);
+ 8001c06:      4b4e            ldr     r3, [pc, #312]  ; (8001d40 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
+ 8001c08:      f8d3 308c       ldr.w   r3, [r3, #140]  ; 0x8c
+ 8001c0c:      f423 0240       bic.w   r2, r3, #12582912       ; 0xc00000
+ 8001c10:      687b            ldr     r3, [r7, #4]
+ 8001c12:      6c1b            ldr     r3, [r3, #64]   ; 0x40
+ 8001c14:      494a            ldr     r1, [pc, #296]  ; (8001d40 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
+ 8001c16:      4313            orrs    r3, r2
+ 8001c18:      f8c1 308c       str.w   r3, [r1, #140]  ; 0x8c
+
+    /* Enable the PLLI2S when it's used as clock source for SAI */
+    if(PeriphClkInit->Sai2ClockSelection == RCC_SAI2CLKSOURCE_PLLI2S)
+ 8001c1c:      687b            ldr     r3, [r7, #4]
+ 8001c1e:      6c1b            ldr     r3, [r3, #64]   ; 0x40
+ 8001c20:      f5b3 0f80       cmp.w   r3, #4194304    ; 0x400000
+ 8001c24:      d101            bne.n   8001c2a <HAL_RCCEx_PeriphCLKConfig+0xba>
+    {
+      plli2sused = 1;
+ 8001c26:      2301            movs    r3, #1
+ 8001c28:      61fb            str     r3, [r7, #28]
+    }
+    /* Enable the PLLSAI when it's used as clock source for SAI */
+    if(PeriphClkInit->Sai2ClockSelection == RCC_SAI2CLKSOURCE_PLLSAI)
+ 8001c2a:      687b            ldr     r3, [r7, #4]
+ 8001c2c:      6c1b            ldr     r3, [r3, #64]   ; 0x40
+ 8001c2e:      2b00            cmp     r3, #0
+ 8001c30:      d101            bne.n   8001c36 <HAL_RCCEx_PeriphCLKConfig+0xc6>
+    {
+      pllsaiused = 1;
+ 8001c32:      2301            movs    r3, #1
+ 8001c34:      61bb            str     r3, [r7, #24]
+    }
+  }
+
+  /*-------------------------------------- SPDIF-RX Configuration -----------------------------------*/
+  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SPDIFRX) == RCC_PERIPHCLK_SPDIFRX)
+ 8001c36:      687b            ldr     r3, [r7, #4]
+ 8001c38:      681b            ldr     r3, [r3, #0]
+ 8001c3a:      f003 7380       and.w   r3, r3, #16777216       ; 0x1000000
+ 8001c3e:      2b00            cmp     r3, #0
+ 8001c40:      d001            beq.n   8001c46 <HAL_RCCEx_PeriphCLKConfig+0xd6>
+  {
+      plli2sused = 1;
+ 8001c42:      2301            movs    r3, #1
+ 8001c44:      61fb            str     r3, [r7, #28]
+  }
+
+  /*------------------------------------ RTC configuration --------------------------------------*/
+  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_RTC) == (RCC_PERIPHCLK_RTC))
+ 8001c46:      687b            ldr     r3, [r7, #4]
+ 8001c48:      681b            ldr     r3, [r3, #0]
+ 8001c4a:      f003 0320       and.w   r3, r3, #32
+ 8001c4e:      2b00            cmp     r3, #0
+ 8001c50:      f000 808b       beq.w   8001d6a <HAL_RCCEx_PeriphCLKConfig+0x1fa>
+  {
+    /* Check for RTC Parameters used to output RTCCLK */
+    assert_param(IS_RCC_RTCCLKSOURCE(PeriphClkInit->RTCClockSelection));
+
+    /* Enable Power Clock*/
+    __HAL_RCC_PWR_CLK_ENABLE();
+ 8001c54:      4b3a            ldr     r3, [pc, #232]  ; (8001d40 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
+ 8001c56:      6c1b            ldr     r3, [r3, #64]   ; 0x40
+ 8001c58:      4a39            ldr     r2, [pc, #228]  ; (8001d40 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
+ 8001c5a:      f043 5380       orr.w   r3, r3, #268435456      ; 0x10000000
+ 8001c5e:      6413            str     r3, [r2, #64]   ; 0x40
+ 8001c60:      4b37            ldr     r3, [pc, #220]  ; (8001d40 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
+ 8001c62:      6c1b            ldr     r3, [r3, #64]   ; 0x40
+ 8001c64:      f003 5380       and.w   r3, r3, #268435456      ; 0x10000000
+ 8001c68:      60bb            str     r3, [r7, #8]
+ 8001c6a:      68bb            ldr     r3, [r7, #8]
+
+    /* Enable write access to Backup domain */
+    PWR->CR1 |= PWR_CR1_DBP;
+ 8001c6c:      4b35            ldr     r3, [pc, #212]  ; (8001d44 <HAL_RCCEx_PeriphCLKConfig+0x1d4>)
+ 8001c6e:      681b            ldr     r3, [r3, #0]
+ 8001c70:      4a34            ldr     r2, [pc, #208]  ; (8001d44 <HAL_RCCEx_PeriphCLKConfig+0x1d4>)
+ 8001c72:      f443 7380       orr.w   r3, r3, #256    ; 0x100
+ 8001c76:      6013            str     r3, [r2, #0]
+
+    /* Get Start Tick*/
+    tickstart = HAL_GetTick();
+ 8001c78:      f7fe fcb8       bl      80005ec <HAL_GetTick>
+ 8001c7c:      6178            str     r0, [r7, #20]
+
+    /* Wait for Backup domain Write protection disable */
+    while((PWR->CR1 & PWR_CR1_DBP) == RESET)
+ 8001c7e:      e008            b.n     8001c92 <HAL_RCCEx_PeriphCLKConfig+0x122>
+    {
+      if((HAL_GetTick() - tickstart) > RCC_DBP_TIMEOUT_VALUE)
+ 8001c80:      f7fe fcb4       bl      80005ec <HAL_GetTick>
+ 8001c84:      4602            mov     r2, r0
+ 8001c86:      697b            ldr     r3, [r7, #20]
+ 8001c88:      1ad3            subs    r3, r2, r3
+ 8001c8a:      2b64            cmp     r3, #100        ; 0x64
+ 8001c8c:      d901            bls.n   8001c92 <HAL_RCCEx_PeriphCLKConfig+0x122>
+      {
+        return HAL_TIMEOUT;
+ 8001c8e:      2303            movs    r3, #3
+ 8001c90:      e38d            b.n     80023ae <HAL_RCCEx_PeriphCLKConfig+0x83e>
+    while((PWR->CR1 & PWR_CR1_DBP) == RESET)
+ 8001c92:      4b2c            ldr     r3, [pc, #176]  ; (8001d44 <HAL_RCCEx_PeriphCLKConfig+0x1d4>)
+ 8001c94:      681b            ldr     r3, [r3, #0]
+ 8001c96:      f403 7380       and.w   r3, r3, #256    ; 0x100
+ 8001c9a:      2b00            cmp     r3, #0
+ 8001c9c:      d0f0            beq.n   8001c80 <HAL_RCCEx_PeriphCLKConfig+0x110>
+      }
+    }
+
+    /* Reset the Backup domain only if the RTC Clock source selection is modified */
+    tmpreg0 = (RCC->BDCR & RCC_BDCR_RTCSEL);
+ 8001c9e:      4b28            ldr     r3, [pc, #160]  ; (8001d40 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
+ 8001ca0:      6f1b            ldr     r3, [r3, #112]  ; 0x70
+ 8001ca2:      f403 7340       and.w   r3, r3, #768    ; 0x300
+ 8001ca6:      613b            str     r3, [r7, #16]
+
+    if((tmpreg0 != 0x00000000U) && (tmpreg0 != (PeriphClkInit->RTCClockSelection & RCC_BDCR_RTCSEL)))
+ 8001ca8:      693b            ldr     r3, [r7, #16]
+ 8001caa:      2b00            cmp     r3, #0
+ 8001cac:      d035            beq.n   8001d1a <HAL_RCCEx_PeriphCLKConfig+0x1aa>
+ 8001cae:      687b            ldr     r3, [r7, #4]
+ 8001cb0:      6b1b            ldr     r3, [r3, #48]   ; 0x30
+ 8001cb2:      f403 7340       and.w   r3, r3, #768    ; 0x300
+ 8001cb6:      693a            ldr     r2, [r7, #16]
+ 8001cb8:      429a            cmp     r2, r3
+ 8001cba:      d02e            beq.n   8001d1a <HAL_RCCEx_PeriphCLKConfig+0x1aa>
+    {
+      /* Store the content of BDCR register before the reset of Backup Domain */
+      tmpreg0 = (RCC->BDCR & ~(RCC_BDCR_RTCSEL));
+ 8001cbc:      4b20            ldr     r3, [pc, #128]  ; (8001d40 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
+ 8001cbe:      6f1b            ldr     r3, [r3, #112]  ; 0x70
+ 8001cc0:      f423 7340       bic.w   r3, r3, #768    ; 0x300
+ 8001cc4:      613b            str     r3, [r7, #16]
+
+      /* RTC Clock selection can be changed only if the Backup Domain is reset */
+      __HAL_RCC_BACKUPRESET_FORCE();
+ 8001cc6:      4b1e            ldr     r3, [pc, #120]  ; (8001d40 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
+ 8001cc8:      6f1b            ldr     r3, [r3, #112]  ; 0x70
+ 8001cca:      4a1d            ldr     r2, [pc, #116]  ; (8001d40 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
+ 8001ccc:      f443 3380       orr.w   r3, r3, #65536  ; 0x10000
+ 8001cd0:      6713            str     r3, [r2, #112]  ; 0x70
+      __HAL_RCC_BACKUPRESET_RELEASE();
+ 8001cd2:      4b1b            ldr     r3, [pc, #108]  ; (8001d40 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
+ 8001cd4:      6f1b            ldr     r3, [r3, #112]  ; 0x70
+ 8001cd6:      4a1a            ldr     r2, [pc, #104]  ; (8001d40 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
+ 8001cd8:      f423 3380       bic.w   r3, r3, #65536  ; 0x10000
+ 8001cdc:      6713            str     r3, [r2, #112]  ; 0x70
+
+      /* Restore the Content of BDCR register */
+      RCC->BDCR = tmpreg0;
+ 8001cde:      4a18            ldr     r2, [pc, #96]   ; (8001d40 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
+ 8001ce0:      693b            ldr     r3, [r7, #16]
+ 8001ce2:      6713            str     r3, [r2, #112]  ; 0x70
+
+      /* Wait for LSE reactivation if LSE was enable prior to Backup Domain reset */
+      if (HAL_IS_BIT_SET(RCC->BDCR, RCC_BDCR_LSEON))
+ 8001ce4:      4b16            ldr     r3, [pc, #88]   ; (8001d40 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
+ 8001ce6:      6f1b            ldr     r3, [r3, #112]  ; 0x70
+ 8001ce8:      f003 0301       and.w   r3, r3, #1
+ 8001cec:      2b01            cmp     r3, #1
+ 8001cee:      d114            bne.n   8001d1a <HAL_RCCEx_PeriphCLKConfig+0x1aa>
+      {
+        /* Get Start Tick*/
+        tickstart = HAL_GetTick();
+ 8001cf0:      f7fe fc7c       bl      80005ec <HAL_GetTick>
+ 8001cf4:      6178            str     r0, [r7, #20]
+
+        /* Wait till LSE is ready */
+        while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) == RESET)
+ 8001cf6:      e00a            b.n     8001d0e <HAL_RCCEx_PeriphCLKConfig+0x19e>
+        {
+          if((HAL_GetTick() - tickstart ) > RCC_LSE_TIMEOUT_VALUE)
+ 8001cf8:      f7fe fc78       bl      80005ec <HAL_GetTick>
+ 8001cfc:      4602            mov     r2, r0
+ 8001cfe:      697b            ldr     r3, [r7, #20]
+ 8001d00:      1ad3            subs    r3, r2, r3
+ 8001d02:      f241 3288       movw    r2, #5000       ; 0x1388
+ 8001d06:      4293            cmp     r3, r2
+ 8001d08:      d901            bls.n   8001d0e <HAL_RCCEx_PeriphCLKConfig+0x19e>
+          {
+            return HAL_TIMEOUT;
+ 8001d0a:      2303            movs    r3, #3
+ 8001d0c:      e34f            b.n     80023ae <HAL_RCCEx_PeriphCLKConfig+0x83e>
+        while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) == RESET)
+ 8001d0e:      4b0c            ldr     r3, [pc, #48]   ; (8001d40 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
+ 8001d10:      6f1b            ldr     r3, [r3, #112]  ; 0x70
+ 8001d12:      f003 0302       and.w   r3, r3, #2
+ 8001d16:      2b00            cmp     r3, #0
+ 8001d18:      d0ee            beq.n   8001cf8 <HAL_RCCEx_PeriphCLKConfig+0x188>
+          }
+        }
+      }
+    }
+    __HAL_RCC_RTC_CONFIG(PeriphClkInit->RTCClockSelection);
+ 8001d1a:      687b            ldr     r3, [r7, #4]
+ 8001d1c:      6b1b            ldr     r3, [r3, #48]   ; 0x30
+ 8001d1e:      f403 7340       and.w   r3, r3, #768    ; 0x300
+ 8001d22:      f5b3 7f40       cmp.w   r3, #768        ; 0x300
+ 8001d26:      d111            bne.n   8001d4c <HAL_RCCEx_PeriphCLKConfig+0x1dc>
+ 8001d28:      4b05            ldr     r3, [pc, #20]   ; (8001d40 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
+ 8001d2a:      689b            ldr     r3, [r3, #8]
+ 8001d2c:      f423 12f8       bic.w   r2, r3, #2031616        ; 0x1f0000
+ 8001d30:      687b            ldr     r3, [r7, #4]
+ 8001d32:      6b19            ldr     r1, [r3, #48]   ; 0x30
+ 8001d34:      4b04            ldr     r3, [pc, #16]   ; (8001d48 <HAL_RCCEx_PeriphCLKConfig+0x1d8>)
+ 8001d36:      400b            ands    r3, r1
+ 8001d38:      4901            ldr     r1, [pc, #4]    ; (8001d40 <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
+ 8001d3a:      4313            orrs    r3, r2
+ 8001d3c:      608b            str     r3, [r1, #8]
+ 8001d3e:      e00b            b.n     8001d58 <HAL_RCCEx_PeriphCLKConfig+0x1e8>
+ 8001d40:      40023800        .word   0x40023800
+ 8001d44:      40007000        .word   0x40007000
+ 8001d48:      0ffffcff        .word   0x0ffffcff
+ 8001d4c:      4bb3            ldr     r3, [pc, #716]  ; (800201c <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8001d4e:      689b            ldr     r3, [r3, #8]
+ 8001d50:      4ab2            ldr     r2, [pc, #712]  ; (800201c <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8001d52:      f423 13f8       bic.w   r3, r3, #2031616        ; 0x1f0000
+ 8001d56:      6093            str     r3, [r2, #8]
+ 8001d58:      4bb0            ldr     r3, [pc, #704]  ; (800201c <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8001d5a:      6f1a            ldr     r2, [r3, #112]  ; 0x70
+ 8001d5c:      687b            ldr     r3, [r7, #4]
+ 8001d5e:      6b1b            ldr     r3, [r3, #48]   ; 0x30
+ 8001d60:      f3c3 030b       ubfx    r3, r3, #0, #12
+ 8001d64:      49ad            ldr     r1, [pc, #692]  ; (800201c <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8001d66:      4313            orrs    r3, r2
+ 8001d68:      670b            str     r3, [r1, #112]  ; 0x70
+  }
+
+  /*------------------------------------ TIM configuration --------------------------------------*/
+  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_TIM) == (RCC_PERIPHCLK_TIM))
+ 8001d6a:      687b            ldr     r3, [r7, #4]
+ 8001d6c:      681b            ldr     r3, [r3, #0]
+ 8001d6e:      f003 0310       and.w   r3, r3, #16
+ 8001d72:      2b00            cmp     r3, #0
+ 8001d74:      d010            beq.n   8001d98 <HAL_RCCEx_PeriphCLKConfig+0x228>
+  {
+    /* Check the parameters */
+    assert_param(IS_RCC_TIMPRES(PeriphClkInit->TIMPresSelection));
+
+    /* Configure Timer Prescaler */
+    __HAL_RCC_TIMCLKPRESCALER(PeriphClkInit->TIMPresSelection);
+ 8001d76:      4ba9            ldr     r3, [pc, #676]  ; (800201c <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8001d78:      f8d3 308c       ldr.w   r3, [r3, #140]  ; 0x8c
+ 8001d7c:      4aa7            ldr     r2, [pc, #668]  ; (800201c <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8001d7e:      f023 7380       bic.w   r3, r3, #16777216       ; 0x1000000
+ 8001d82:      f8c2 308c       str.w   r3, [r2, #140]  ; 0x8c
+ 8001d86:      4ba5            ldr     r3, [pc, #660]  ; (800201c <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8001d88:      f8d3 208c       ldr.w   r2, [r3, #140]  ; 0x8c
+ 8001d8c:      687b            ldr     r3, [r7, #4]
+ 8001d8e:      6b9b            ldr     r3, [r3, #56]   ; 0x38
+ 8001d90:      49a2            ldr     r1, [pc, #648]  ; (800201c <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8001d92:      4313            orrs    r3, r2
+ 8001d94:      f8c1 308c       str.w   r3, [r1, #140]  ; 0x8c
+  }
+
+  /*-------------------------------------- I2C1 Configuration -----------------------------------*/
+  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_I2C1) == RCC_PERIPHCLK_I2C1)
+ 8001d98:      687b            ldr     r3, [r7, #4]
+ 8001d9a:      681b            ldr     r3, [r3, #0]
+ 8001d9c:      f403 4380       and.w   r3, r3, #16384  ; 0x4000
+ 8001da0:      2b00            cmp     r3, #0
+ 8001da2:      d00a            beq.n   8001dba <HAL_RCCEx_PeriphCLKConfig+0x24a>
+  {
+    /* Check the parameters */
+    assert_param(IS_RCC_I2C1CLKSOURCE(PeriphClkInit->I2c1ClockSelection));
+
+    /* Configure the I2C1 clock source */
+    __HAL_RCC_I2C1_CONFIG(PeriphClkInit->I2c1ClockSelection);
+ 8001da4:      4b9d            ldr     r3, [pc, #628]  ; (800201c <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8001da6:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
+ 8001daa:      f423 3240       bic.w   r2, r3, #196608 ; 0x30000
+ 8001dae:      687b            ldr     r3, [r7, #4]
+ 8001db0:      6e5b            ldr     r3, [r3, #100]  ; 0x64
+ 8001db2:      499a            ldr     r1, [pc, #616]  ; (800201c <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8001db4:      4313            orrs    r3, r2
+ 8001db6:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
+  }
+
+  /*-------------------------------------- I2C2 Configuration -----------------------------------*/
+  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_I2C2) == RCC_PERIPHCLK_I2C2)
+ 8001dba:      687b            ldr     r3, [r7, #4]
+ 8001dbc:      681b            ldr     r3, [r3, #0]
+ 8001dbe:      f403 4300       and.w   r3, r3, #32768  ; 0x8000
+ 8001dc2:      2b00            cmp     r3, #0
+ 8001dc4:      d00a            beq.n   8001ddc <HAL_RCCEx_PeriphCLKConfig+0x26c>
+  {
+    /* Check the parameters */
+    assert_param(IS_RCC_I2C2CLKSOURCE(PeriphClkInit->I2c2ClockSelection));
+
+    /* Configure the I2C2 clock source */
+    __HAL_RCC_I2C2_CONFIG(PeriphClkInit->I2c2ClockSelection);
+ 8001dc6:      4b95            ldr     r3, [pc, #596]  ; (800201c <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8001dc8:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
+ 8001dcc:      f423 2240       bic.w   r2, r3, #786432 ; 0xc0000
+ 8001dd0:      687b            ldr     r3, [r7, #4]
+ 8001dd2:      6e9b            ldr     r3, [r3, #104]  ; 0x68
+ 8001dd4:      4991            ldr     r1, [pc, #580]  ; (800201c <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8001dd6:      4313            orrs    r3, r2
+ 8001dd8:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
+  }
+
+  /*-------------------------------------- I2C3 Configuration -----------------------------------*/
+  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_I2C3) == RCC_PERIPHCLK_I2C3)
+ 8001ddc:      687b            ldr     r3, [r7, #4]
+ 8001dde:      681b            ldr     r3, [r3, #0]
+ 8001de0:      f403 3380       and.w   r3, r3, #65536  ; 0x10000
+ 8001de4:      2b00            cmp     r3, #0
+ 8001de6:      d00a            beq.n   8001dfe <HAL_RCCEx_PeriphCLKConfig+0x28e>
+  {
+    /* Check the parameters */
+    assert_param(IS_RCC_I2C3CLKSOURCE(PeriphClkInit->I2c3ClockSelection));
+
+    /* Configure the I2C3 clock source */
+    __HAL_RCC_I2C3_CONFIG(PeriphClkInit->I2c3ClockSelection);
+ 8001de8:      4b8c            ldr     r3, [pc, #560]  ; (800201c <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8001dea:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
+ 8001dee:      f423 1240       bic.w   r2, r3, #3145728        ; 0x300000
+ 8001df2:      687b            ldr     r3, [r7, #4]
+ 8001df4:      6edb            ldr     r3, [r3, #108]  ; 0x6c
+ 8001df6:      4989            ldr     r1, [pc, #548]  ; (800201c <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8001df8:      4313            orrs    r3, r2
+ 8001dfa:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
+  }
+
+  /*-------------------------------------- I2C4 Configuration -----------------------------------*/
+  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_I2C4) == RCC_PERIPHCLK_I2C4)
+ 8001dfe:      687b            ldr     r3, [r7, #4]
+ 8001e00:      681b            ldr     r3, [r3, #0]
+ 8001e02:      f403 3300       and.w   r3, r3, #131072 ; 0x20000
+ 8001e06:      2b00            cmp     r3, #0
+ 8001e08:      d00a            beq.n   8001e20 <HAL_RCCEx_PeriphCLKConfig+0x2b0>
+  {
+    /* Check the parameters */
+    assert_param(IS_RCC_I2C4CLKSOURCE(PeriphClkInit->I2c4ClockSelection));
+
+    /* Configure the I2C4 clock source */
+    __HAL_RCC_I2C4_CONFIG(PeriphClkInit->I2c4ClockSelection);
+ 8001e0a:      4b84            ldr     r3, [pc, #528]  ; (800201c <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8001e0c:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
+ 8001e10:      f423 0240       bic.w   r2, r3, #12582912       ; 0xc00000
+ 8001e14:      687b            ldr     r3, [r7, #4]
+ 8001e16:      6f1b            ldr     r3, [r3, #112]  ; 0x70
+ 8001e18:      4980            ldr     r1, [pc, #512]  ; (800201c <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8001e1a:      4313            orrs    r3, r2
+ 8001e1c:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
+  }
+
+  /*-------------------------------------- USART1 Configuration -----------------------------------*/
+  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_USART1) == RCC_PERIPHCLK_USART1)
+ 8001e20:      687b            ldr     r3, [r7, #4]
+ 8001e22:      681b            ldr     r3, [r3, #0]
+ 8001e24:      f003 0340       and.w   r3, r3, #64     ; 0x40
+ 8001e28:      2b00            cmp     r3, #0
+ 8001e2a:      d00a            beq.n   8001e42 <HAL_RCCEx_PeriphCLKConfig+0x2d2>
+  {
+    /* Check the parameters */
+    assert_param(IS_RCC_USART1CLKSOURCE(PeriphClkInit->Usart1ClockSelection));
+
+    /* Configure the USART1 clock source */
+    __HAL_RCC_USART1_CONFIG(PeriphClkInit->Usart1ClockSelection);
+ 8001e2c:      4b7b            ldr     r3, [pc, #492]  ; (800201c <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8001e2e:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
+ 8001e32:      f023 0203       bic.w   r2, r3, #3
+ 8001e36:      687b            ldr     r3, [r7, #4]
+ 8001e38:      6c5b            ldr     r3, [r3, #68]   ; 0x44
+ 8001e3a:      4978            ldr     r1, [pc, #480]  ; (800201c <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8001e3c:      4313            orrs    r3, r2
+ 8001e3e:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
+  }
+
+  /*-------------------------------------- USART2 Configuration -----------------------------------*/
+  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_USART2) == RCC_PERIPHCLK_USART2)
+ 8001e42:      687b            ldr     r3, [r7, #4]
+ 8001e44:      681b            ldr     r3, [r3, #0]
+ 8001e46:      f003 0380       and.w   r3, r3, #128    ; 0x80
+ 8001e4a:      2b00            cmp     r3, #0
+ 8001e4c:      d00a            beq.n   8001e64 <HAL_RCCEx_PeriphCLKConfig+0x2f4>
+  {
+    /* Check the parameters */
+    assert_param(IS_RCC_USART2CLKSOURCE(PeriphClkInit->Usart2ClockSelection));
+
+    /* Configure the USART2 clock source */
+    __HAL_RCC_USART2_CONFIG(PeriphClkInit->Usart2ClockSelection);
+ 8001e4e:      4b73            ldr     r3, [pc, #460]  ; (800201c <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8001e50:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
+ 8001e54:      f023 020c       bic.w   r2, r3, #12
+ 8001e58:      687b            ldr     r3, [r7, #4]
+ 8001e5a:      6c9b            ldr     r3, [r3, #72]   ; 0x48
+ 8001e5c:      496f            ldr     r1, [pc, #444]  ; (800201c <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8001e5e:      4313            orrs    r3, r2
+ 8001e60:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
+  }
+
+  /*-------------------------------------- USART3 Configuration -----------------------------------*/
+  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_USART3) == RCC_PERIPHCLK_USART3)
+ 8001e64:      687b            ldr     r3, [r7, #4]
+ 8001e66:      681b            ldr     r3, [r3, #0]
+ 8001e68:      f403 7380       and.w   r3, r3, #256    ; 0x100
+ 8001e6c:      2b00            cmp     r3, #0
+ 8001e6e:      d00a            beq.n   8001e86 <HAL_RCCEx_PeriphCLKConfig+0x316>
+  {
+    /* Check the parameters */
+    assert_param(IS_RCC_USART3CLKSOURCE(PeriphClkInit->Usart3ClockSelection));
+
+    /* Configure the USART3 clock source */
+    __HAL_RCC_USART3_CONFIG(PeriphClkInit->Usart3ClockSelection);
+ 8001e70:      4b6a            ldr     r3, [pc, #424]  ; (800201c <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8001e72:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
+ 8001e76:      f023 0230       bic.w   r2, r3, #48     ; 0x30
+ 8001e7a:      687b            ldr     r3, [r7, #4]
+ 8001e7c:      6cdb            ldr     r3, [r3, #76]   ; 0x4c
+ 8001e7e:      4967            ldr     r1, [pc, #412]  ; (800201c <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8001e80:      4313            orrs    r3, r2
+ 8001e82:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
+  }
+
+  /*-------------------------------------- UART4 Configuration -----------------------------------*/
+  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_UART4) == RCC_PERIPHCLK_UART4)
+ 8001e86:      687b            ldr     r3, [r7, #4]
+ 8001e88:      681b            ldr     r3, [r3, #0]
+ 8001e8a:      f403 7300       and.w   r3, r3, #512    ; 0x200
+ 8001e8e:      2b00            cmp     r3, #0
+ 8001e90:      d00a            beq.n   8001ea8 <HAL_RCCEx_PeriphCLKConfig+0x338>
+  {
+    /* Check the parameters */
+    assert_param(IS_RCC_UART4CLKSOURCE(PeriphClkInit->Uart4ClockSelection));
+
+    /* Configure the UART4 clock source */
+    __HAL_RCC_UART4_CONFIG(PeriphClkInit->Uart4ClockSelection);
+ 8001e92:      4b62            ldr     r3, [pc, #392]  ; (800201c <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8001e94:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
+ 8001e98:      f023 02c0       bic.w   r2, r3, #192    ; 0xc0
+ 8001e9c:      687b            ldr     r3, [r7, #4]
+ 8001e9e:      6d1b            ldr     r3, [r3, #80]   ; 0x50
+ 8001ea0:      495e            ldr     r1, [pc, #376]  ; (800201c <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8001ea2:      4313            orrs    r3, r2
+ 8001ea4:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
+  }
+
+  /*-------------------------------------- UART5 Configuration -----------------------------------*/
+  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_UART5) == RCC_PERIPHCLK_UART5)
+ 8001ea8:      687b            ldr     r3, [r7, #4]
+ 8001eaa:      681b            ldr     r3, [r3, #0]
+ 8001eac:      f403 6380       and.w   r3, r3, #1024   ; 0x400
+ 8001eb0:      2b00            cmp     r3, #0
+ 8001eb2:      d00a            beq.n   8001eca <HAL_RCCEx_PeriphCLKConfig+0x35a>
+  {
+    /* Check the parameters */
+    assert_param(IS_RCC_UART5CLKSOURCE(PeriphClkInit->Uart5ClockSelection));
+
+    /* Configure the UART5 clock source */
+    __HAL_RCC_UART5_CONFIG(PeriphClkInit->Uart5ClockSelection);
+ 8001eb4:      4b59            ldr     r3, [pc, #356]  ; (800201c <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8001eb6:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
+ 8001eba:      f423 7240       bic.w   r2, r3, #768    ; 0x300
+ 8001ebe:      687b            ldr     r3, [r7, #4]
+ 8001ec0:      6d5b            ldr     r3, [r3, #84]   ; 0x54
+ 8001ec2:      4956            ldr     r1, [pc, #344]  ; (800201c <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8001ec4:      4313            orrs    r3, r2
+ 8001ec6:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
+  }
+
+  /*-------------------------------------- USART6 Configuration -----------------------------------*/
+  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_USART6) == RCC_PERIPHCLK_USART6)
+ 8001eca:      687b            ldr     r3, [r7, #4]
+ 8001ecc:      681b            ldr     r3, [r3, #0]
+ 8001ece:      f403 6300       and.w   r3, r3, #2048   ; 0x800
+ 8001ed2:      2b00            cmp     r3, #0
+ 8001ed4:      d00a            beq.n   8001eec <HAL_RCCEx_PeriphCLKConfig+0x37c>
+  {
+    /* Check the parameters */
+    assert_param(IS_RCC_USART6CLKSOURCE(PeriphClkInit->Usart6ClockSelection));
+
+    /* Configure the USART6 clock source */
+    __HAL_RCC_USART6_CONFIG(PeriphClkInit->Usart6ClockSelection);
+ 8001ed6:      4b51            ldr     r3, [pc, #324]  ; (800201c <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8001ed8:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
+ 8001edc:      f423 6240       bic.w   r2, r3, #3072   ; 0xc00
+ 8001ee0:      687b            ldr     r3, [r7, #4]
+ 8001ee2:      6d9b            ldr     r3, [r3, #88]   ; 0x58
+ 8001ee4:      494d            ldr     r1, [pc, #308]  ; (800201c <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8001ee6:      4313            orrs    r3, r2
+ 8001ee8:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
+  }
+
+  /*-------------------------------------- UART7 Configuration -----------------------------------*/
+  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_UART7) == RCC_PERIPHCLK_UART7)
+ 8001eec:      687b            ldr     r3, [r7, #4]
+ 8001eee:      681b            ldr     r3, [r3, #0]
+ 8001ef0:      f403 5380       and.w   r3, r3, #4096   ; 0x1000
+ 8001ef4:      2b00            cmp     r3, #0
+ 8001ef6:      d00a            beq.n   8001f0e <HAL_RCCEx_PeriphCLKConfig+0x39e>
+  {
+    /* Check the parameters */
+    assert_param(IS_RCC_UART7CLKSOURCE(PeriphClkInit->Uart7ClockSelection));
+
+    /* Configure the UART7 clock source */
+    __HAL_RCC_UART7_CONFIG(PeriphClkInit->Uart7ClockSelection);
+ 8001ef8:      4b48            ldr     r3, [pc, #288]  ; (800201c <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8001efa:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
+ 8001efe:      f423 5240       bic.w   r2, r3, #12288  ; 0x3000
+ 8001f02:      687b            ldr     r3, [r7, #4]
+ 8001f04:      6ddb            ldr     r3, [r3, #92]   ; 0x5c
+ 8001f06:      4945            ldr     r1, [pc, #276]  ; (800201c <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8001f08:      4313            orrs    r3, r2
+ 8001f0a:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
+  }
+
+  /*-------------------------------------- UART8 Configuration -----------------------------------*/
+  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_UART8) == RCC_PERIPHCLK_UART8)
+ 8001f0e:      687b            ldr     r3, [r7, #4]
+ 8001f10:      681b            ldr     r3, [r3, #0]
+ 8001f12:      f403 5300       and.w   r3, r3, #8192   ; 0x2000
+ 8001f16:      2b00            cmp     r3, #0
+ 8001f18:      d00a            beq.n   8001f30 <HAL_RCCEx_PeriphCLKConfig+0x3c0>
+  {
+    /* Check the parameters */
+    assert_param(IS_RCC_UART8CLKSOURCE(PeriphClkInit->Uart8ClockSelection));
+
+    /* Configure the UART8 clock source */
+    __HAL_RCC_UART8_CONFIG(PeriphClkInit->Uart8ClockSelection);
+ 8001f1a:      4b40            ldr     r3, [pc, #256]  ; (800201c <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8001f1c:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
+ 8001f20:      f423 4240       bic.w   r2, r3, #49152  ; 0xc000
+ 8001f24:      687b            ldr     r3, [r7, #4]
+ 8001f26:      6e1b            ldr     r3, [r3, #96]   ; 0x60
+ 8001f28:      493c            ldr     r1, [pc, #240]  ; (800201c <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8001f2a:      4313            orrs    r3, r2
+ 8001f2c:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
+  }
+
+  /*--------------------------------------- CEC Configuration -----------------------------------*/
+  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_CEC) == RCC_PERIPHCLK_CEC)
+ 8001f30:      687b            ldr     r3, [r7, #4]
+ 8001f32:      681b            ldr     r3, [r3, #0]
+ 8001f34:      f403 0380       and.w   r3, r3, #4194304        ; 0x400000
+ 8001f38:      2b00            cmp     r3, #0
+ 8001f3a:      d00a            beq.n   8001f52 <HAL_RCCEx_PeriphCLKConfig+0x3e2>
+  {
+    /* Check the parameters */
+    assert_param(IS_RCC_CECCLKSOURCE(PeriphClkInit->CecClockSelection));
+
+    /* Configure the CEC clock source */
+    __HAL_RCC_CEC_CONFIG(PeriphClkInit->CecClockSelection);
+ 8001f3c:      4b37            ldr     r3, [pc, #220]  ; (800201c <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8001f3e:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
+ 8001f42:      f023 6280       bic.w   r2, r3, #67108864       ; 0x4000000
+ 8001f46:      687b            ldr     r3, [r7, #4]
+ 8001f48:      6f9b            ldr     r3, [r3, #120]  ; 0x78
+ 8001f4a:      4934            ldr     r1, [pc, #208]  ; (800201c <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8001f4c:      4313            orrs    r3, r2
+ 8001f4e:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
+  }
+
+  /*-------------------------------------- CK48 Configuration -----------------------------------*/
+  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_CLK48) == RCC_PERIPHCLK_CLK48)
+ 8001f52:      687b            ldr     r3, [r7, #4]
+ 8001f54:      681b            ldr     r3, [r3, #0]
+ 8001f56:      f403 1300       and.w   r3, r3, #2097152        ; 0x200000
+ 8001f5a:      2b00            cmp     r3, #0
+ 8001f5c:      d011            beq.n   8001f82 <HAL_RCCEx_PeriphCLKConfig+0x412>
+  {
+    /* Check the parameters */
+    assert_param(IS_RCC_CLK48SOURCE(PeriphClkInit->Clk48ClockSelection));
+
+    /* Configure the CLK48 source */
+    __HAL_RCC_CLK48_CONFIG(PeriphClkInit->Clk48ClockSelection);
+ 8001f5e:      4b2f            ldr     r3, [pc, #188]  ; (800201c <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8001f60:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
+ 8001f64:      f023 6200       bic.w   r2, r3, #134217728      ; 0x8000000
+ 8001f68:      687b            ldr     r3, [r7, #4]
+ 8001f6a:      6fdb            ldr     r3, [r3, #124]  ; 0x7c
+ 8001f6c:      492b            ldr     r1, [pc, #172]  ; (800201c <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8001f6e:      4313            orrs    r3, r2
+ 8001f70:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
+
+    /* Enable the PLLSAI when it's used as clock source for CK48 */
+    if(PeriphClkInit->Clk48ClockSelection == RCC_CLK48SOURCE_PLLSAIP)
+ 8001f74:      687b            ldr     r3, [r7, #4]
+ 8001f76:      6fdb            ldr     r3, [r3, #124]  ; 0x7c
+ 8001f78:      f1b3 6f00       cmp.w   r3, #134217728  ; 0x8000000
+ 8001f7c:      d101            bne.n   8001f82 <HAL_RCCEx_PeriphCLKConfig+0x412>
+    {
+      pllsaiused = 1;
+ 8001f7e:      2301            movs    r3, #1
+ 8001f80:      61bb            str     r3, [r7, #24]
+    }
+  }
+
+  /*-------------------------------------- LTDC Configuration -----------------------------------*/
+#if defined(STM32F746xx) || defined(STM32F756xx) || defined (STM32F767xx) || defined (STM32F769xx) || defined (STM32F777xx) || defined (STM32F779xx) || defined (STM32F750xx)
+  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_LTDC) == RCC_PERIPHCLK_LTDC)
+ 8001f82:      687b            ldr     r3, [r7, #4]
+ 8001f84:      681b            ldr     r3, [r3, #0]
+ 8001f86:      f003 0308       and.w   r3, r3, #8
+ 8001f8a:      2b00            cmp     r3, #0
+ 8001f8c:      d001            beq.n   8001f92 <HAL_RCCEx_PeriphCLKConfig+0x422>
+  {
+    pllsaiused = 1;
+ 8001f8e:      2301            movs    r3, #1
+ 8001f90:      61bb            str     r3, [r7, #24]
+  }
+#endif /* STM32F746xx || STM32F756xx || STM32F767xx || STM32F769xx || STM32F777xx || STM32F779xx || STM32F750xx */
+
+  /*-------------------------------------- LPTIM1 Configuration -----------------------------------*/
+  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_LPTIM1) == RCC_PERIPHCLK_LPTIM1)
+ 8001f92:      687b            ldr     r3, [r7, #4]
+ 8001f94:      681b            ldr     r3, [r3, #0]
+ 8001f96:      f403 2380       and.w   r3, r3, #262144 ; 0x40000
+ 8001f9a:      2b00            cmp     r3, #0
+ 8001f9c:      d00a            beq.n   8001fb4 <HAL_RCCEx_PeriphCLKConfig+0x444>
+  {
+    /* Check the parameters */
+    assert_param(IS_RCC_LPTIM1CLK(PeriphClkInit->Lptim1ClockSelection));
+
+    /* Configure the LTPIM1 clock source */
+    __HAL_RCC_LPTIM1_CONFIG(PeriphClkInit->Lptim1ClockSelection);
+ 8001f9e:      4b1f            ldr     r3, [pc, #124]  ; (800201c <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8001fa0:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
+ 8001fa4:      f023 7240       bic.w   r2, r3, #50331648       ; 0x3000000
+ 8001fa8:      687b            ldr     r3, [r7, #4]
+ 8001faa:      6f5b            ldr     r3, [r3, #116]  ; 0x74
+ 8001fac:      491b            ldr     r1, [pc, #108]  ; (800201c <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8001fae:      4313            orrs    r3, r2
+ 8001fb0:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
+   }
+
+  /*------------------------------------- SDMMC1 Configuration ------------------------------------*/
+  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SDMMC1) == RCC_PERIPHCLK_SDMMC1)
+ 8001fb4:      687b            ldr     r3, [r7, #4]
+ 8001fb6:      681b            ldr     r3, [r3, #0]
+ 8001fb8:      f403 0300       and.w   r3, r3, #8388608        ; 0x800000
+ 8001fbc:      2b00            cmp     r3, #0
+ 8001fbe:      d00b            beq.n   8001fd8 <HAL_RCCEx_PeriphCLKConfig+0x468>
+  {
+    /* Check the parameters */
+    assert_param(IS_RCC_SDMMC1CLKSOURCE(PeriphClkInit->Sdmmc1ClockSelection));
+
+    /* Configure the SDMMC1 clock source */
+    __HAL_RCC_SDMMC1_CONFIG(PeriphClkInit->Sdmmc1ClockSelection);
+ 8001fc0:      4b16            ldr     r3, [pc, #88]   ; (800201c <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8001fc2:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
+ 8001fc6:      f023 5280       bic.w   r2, r3, #268435456      ; 0x10000000
+ 8001fca:      687b            ldr     r3, [r7, #4]
+ 8001fcc:      f8d3 3080       ldr.w   r3, [r3, #128]  ; 0x80
+ 8001fd0:      4912            ldr     r1, [pc, #72]   ; (800201c <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8001fd2:      4313            orrs    r3, r2
+ 8001fd4:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
+  }
+
+#if defined (STM32F765xx) || defined (STM32F767xx) || defined (STM32F769xx) || defined (STM32F777xx) || defined (STM32F779xx)
+  /*------------------------------------- SDMMC2 Configuration ------------------------------------*/
+  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SDMMC2) == RCC_PERIPHCLK_SDMMC2)
+ 8001fd8:      687b            ldr     r3, [r7, #4]
+ 8001fda:      681b            ldr     r3, [r3, #0]
+ 8001fdc:      f003 6380       and.w   r3, r3, #67108864       ; 0x4000000
+ 8001fe0:      2b00            cmp     r3, #0
+ 8001fe2:      d00b            beq.n   8001ffc <HAL_RCCEx_PeriphCLKConfig+0x48c>
+  {
+    /* Check the parameters */
+    assert_param(IS_RCC_SDMMC2CLKSOURCE(PeriphClkInit->Sdmmc2ClockSelection));
+
+    /* Configure the SDMMC2 clock source */
+    __HAL_RCC_SDMMC2_CONFIG(PeriphClkInit->Sdmmc2ClockSelection);
+ 8001fe4:      4b0d            ldr     r3, [pc, #52]   ; (800201c <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8001fe6:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
+ 8001fea:      f023 5200       bic.w   r2, r3, #536870912      ; 0x20000000
+ 8001fee:      687b            ldr     r3, [r7, #4]
+ 8001ff0:      f8d3 3084       ldr.w   r3, [r3, #132]  ; 0x84
+ 8001ff4:      4909            ldr     r1, [pc, #36]   ; (800201c <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 8001ff6:      4313            orrs    r3, r2
+ 8001ff8:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
+  }
+
+  /*------------------------------------- DFSDM1 Configuration -------------------------------------*/
+  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_DFSDM1) == RCC_PERIPHCLK_DFSDM1)
+ 8001ffc:      687b            ldr     r3, [r7, #4]
+ 8001ffe:      681b            ldr     r3, [r3, #0]
+ 8002000:      f003 6300       and.w   r3, r3, #134217728      ; 0x8000000
+ 8002004:      2b00            cmp     r3, #0
+ 8002006:      d00f            beq.n   8002028 <HAL_RCCEx_PeriphCLKConfig+0x4b8>
+  {
+    /* Check the parameters */
+    assert_param(IS_RCC_DFSDM1CLKSOURCE(PeriphClkInit->Dfsdm1ClockSelection));
+
+    /* Configure the DFSDM1 interface clock source */
+    __HAL_RCC_DFSDM1_CONFIG(PeriphClkInit->Dfsdm1ClockSelection);
+ 8002008:      4b04            ldr     r3, [pc, #16]   ; (800201c <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
+ 800200a:      f8d3 308c       ldr.w   r3, [r3, #140]  ; 0x8c
+ 800200e:      f023 7200       bic.w   r2, r3, #33554432       ; 0x2000000
+ 8002012:      687b            ldr     r3, [r7, #4]
+ 8002014:      f8d3 3088       ldr.w   r3, [r3, #136]  ; 0x88
+ 8002018:      e002            b.n     8002020 <HAL_RCCEx_PeriphCLKConfig+0x4b0>
+ 800201a:      bf00            nop
+ 800201c:      40023800        .word   0x40023800
+ 8002020:      4985            ldr     r1, [pc, #532]  ; (8002238 <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
+ 8002022:      4313            orrs    r3, r2
+ 8002024:      f8c1 308c       str.w   r3, [r1, #140]  ; 0x8c
+  }
+
+  /*------------------------------------- DFSDM AUDIO Configuration -------------------------------------*/
+  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_DFSDM1_AUDIO) == RCC_PERIPHCLK_DFSDM1_AUDIO)
+ 8002028:      687b            ldr     r3, [r7, #4]
+ 800202a:      681b            ldr     r3, [r3, #0]
+ 800202c:      f003 5380       and.w   r3, r3, #268435456      ; 0x10000000
+ 8002030:      2b00            cmp     r3, #0
+ 8002032:      d00b            beq.n   800204c <HAL_RCCEx_PeriphCLKConfig+0x4dc>
+  {
+    /* Check the parameters */
+    assert_param(IS_RCC_DFSDM1AUDIOCLKSOURCE(PeriphClkInit->Dfsdm1AudioClockSelection));
+
+    /* Configure the DFSDM interface clock source */
+    __HAL_RCC_DFSDM1AUDIO_CONFIG(PeriphClkInit->Dfsdm1AudioClockSelection);
+ 8002034:      4b80            ldr     r3, [pc, #512]  ; (8002238 <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
+ 8002036:      f8d3 308c       ldr.w   r3, [r3, #140]  ; 0x8c
+ 800203a:      f023 6280       bic.w   r2, r3, #67108864       ; 0x4000000
+ 800203e:      687b            ldr     r3, [r7, #4]
+ 8002040:      f8d3 308c       ldr.w   r3, [r3, #140]  ; 0x8c
+ 8002044:      497c            ldr     r1, [pc, #496]  ; (8002238 <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
+ 8002046:      4313            orrs    r3, r2
+ 8002048:      f8c1 308c       str.w   r3, [r1, #140]  ; 0x8c
+  }
+#endif /* STM32F767xx || STM32F769xx || STM32F777xx || STM32F779xx */
+
+  /*-------------------------------------- PLLI2S Configuration ---------------------------------*/
+  /* PLLI2S is configured when a peripheral will use it as source clock : SAI1, SAI2, I2S or SPDIF-RX */
+  if((plli2sused == 1) || (PeriphClkInit->PeriphClockSelection == RCC_PERIPHCLK_PLLI2S))
+ 800204c:      69fb            ldr     r3, [r7, #28]
+ 800204e:      2b01            cmp     r3, #1
+ 8002050:      d005            beq.n   800205e <HAL_RCCEx_PeriphCLKConfig+0x4ee>
+ 8002052:      687b            ldr     r3, [r7, #4]
+ 8002054:      681b            ldr     r3, [r3, #0]
+ 8002056:      f1b3 7f00       cmp.w   r3, #33554432   ; 0x2000000
+ 800205a:      f040 80d6       bne.w   800220a <HAL_RCCEx_PeriphCLKConfig+0x69a>
+  {
+    /* Disable the PLLI2S */
+    __HAL_RCC_PLLI2S_DISABLE();
+ 800205e:      4b76            ldr     r3, [pc, #472]  ; (8002238 <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
+ 8002060:      681b            ldr     r3, [r3, #0]
+ 8002062:      4a75            ldr     r2, [pc, #468]  ; (8002238 <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
+ 8002064:      f023 6380       bic.w   r3, r3, #67108864       ; 0x4000000
+ 8002068:      6013            str     r3, [r2, #0]
+
+    /* Get Start Tick*/
+    tickstart = HAL_GetTick();
+ 800206a:      f7fe fabf       bl      80005ec <HAL_GetTick>
+ 800206e:      6178            str     r0, [r7, #20]
+
+    /* Wait till PLLI2S is disabled */
+    while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLI2SRDY)  != RESET)
+ 8002070:      e008            b.n     8002084 <HAL_RCCEx_PeriphCLKConfig+0x514>
+    {
+      if((HAL_GetTick() - tickstart) > PLLI2S_TIMEOUT_VALUE)
+ 8002072:      f7fe fabb       bl      80005ec <HAL_GetTick>
+ 8002076:      4602            mov     r2, r0
+ 8002078:      697b            ldr     r3, [r7, #20]
+ 800207a:      1ad3            subs    r3, r2, r3
+ 800207c:      2b64            cmp     r3, #100        ; 0x64
+ 800207e:      d901            bls.n   8002084 <HAL_RCCEx_PeriphCLKConfig+0x514>
+      {
+        /* return in case of Timeout detected */
+        return HAL_TIMEOUT;
+ 8002080:      2303            movs    r3, #3
+ 8002082:      e194            b.n     80023ae <HAL_RCCEx_PeriphCLKConfig+0x83e>
+    while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLI2SRDY)  != RESET)
+ 8002084:      4b6c            ldr     r3, [pc, #432]  ; (8002238 <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
+ 8002086:      681b            ldr     r3, [r3, #0]
+ 8002088:      f003 6300       and.w   r3, r3, #134217728      ; 0x8000000
+ 800208c:      2b00            cmp     r3, #0
+ 800208e:      d1f0            bne.n   8002072 <HAL_RCCEx_PeriphCLKConfig+0x502>
+
+    /* check for common PLLI2S Parameters */
+    assert_param(IS_RCC_PLLI2SN_VALUE(PeriphClkInit->PLLI2S.PLLI2SN));
+
+    /*----------------- In Case of PLLI2S is selected as source clock for I2S -------------------*/
+    if(((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_I2S) == RCC_PERIPHCLK_I2S) && (PeriphClkInit->I2sClockSelection == RCC_I2SCLKSOURCE_PLLI2S)))
+ 8002090:      687b            ldr     r3, [r7, #4]
+ 8002092:      681b            ldr     r3, [r3, #0]
+ 8002094:      f003 0301       and.w   r3, r3, #1
+ 8002098:      2b00            cmp     r3, #0
+ 800209a:      d021            beq.n   80020e0 <HAL_RCCEx_PeriphCLKConfig+0x570>
+ 800209c:      687b            ldr     r3, [r7, #4]
+ 800209e:      6b5b            ldr     r3, [r3, #52]   ; 0x34
+ 80020a0:      2b00            cmp     r3, #0
+ 80020a2:      d11d            bne.n   80020e0 <HAL_RCCEx_PeriphCLKConfig+0x570>
+    {
+      /* check for Parameters */
+      assert_param(IS_RCC_PLLI2SR_VALUE(PeriphClkInit->PLLI2S.PLLI2SR));
+
+      /* Read PLLI2SP and PLLI2SQ value from PLLI2SCFGR register (this value is not needed for I2S configuration) */
+      tmpreg0 = ((RCC->PLLI2SCFGR & RCC_PLLI2SCFGR_PLLI2SP) >> RCC_PLLI2SCFGR_PLLI2SP_Pos);
+ 80020a4:      4b64            ldr     r3, [pc, #400]  ; (8002238 <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
+ 80020a6:      f8d3 3084       ldr.w   r3, [r3, #132]  ; 0x84
+ 80020aa:      0c1b            lsrs    r3, r3, #16
+ 80020ac:      f003 0303       and.w   r3, r3, #3
+ 80020b0:      613b            str     r3, [r7, #16]
+      tmpreg1 = ((RCC->PLLI2SCFGR & RCC_PLLI2SCFGR_PLLI2SQ) >> RCC_PLLI2SCFGR_PLLI2SQ_Pos);
+ 80020b2:      4b61            ldr     r3, [pc, #388]  ; (8002238 <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
+ 80020b4:      f8d3 3084       ldr.w   r3, [r3, #132]  ; 0x84
+ 80020b8:      0e1b            lsrs    r3, r3, #24
+ 80020ba:      f003 030f       and.w   r3, r3, #15
+ 80020be:      60fb            str     r3, [r7, #12]
+      /* Configure the PLLI2S division factors */
+      /* PLLI2S_VCO = f(VCO clock) = f(PLLI2S clock input) x (PLLI2SN/PLLM) */
+      /* I2SCLK = f(PLLI2S clock output) = f(VCO clock) / PLLI2SR */
+      __HAL_RCC_PLLI2S_CONFIG(PeriphClkInit->PLLI2S.PLLI2SN , tmpreg0, tmpreg1, PeriphClkInit->PLLI2S.PLLI2SR);
+ 80020c0:      687b            ldr     r3, [r7, #4]
+ 80020c2:      685b            ldr     r3, [r3, #4]
+ 80020c4:      019a            lsls    r2, r3, #6
+ 80020c6:      693b            ldr     r3, [r7, #16]
+ 80020c8:      041b            lsls    r3, r3, #16
+ 80020ca:      431a            orrs    r2, r3
+ 80020cc:      68fb            ldr     r3, [r7, #12]
+ 80020ce:      061b            lsls    r3, r3, #24
+ 80020d0:      431a            orrs    r2, r3
+ 80020d2:      687b            ldr     r3, [r7, #4]
+ 80020d4:      689b            ldr     r3, [r3, #8]
+ 80020d6:      071b            lsls    r3, r3, #28
+ 80020d8:      4957            ldr     r1, [pc, #348]  ; (8002238 <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
+ 80020da:      4313            orrs    r3, r2
+ 80020dc:      f8c1 3084       str.w   r3, [r1, #132]  ; 0x84
+    }
+
+    /*----------------- In Case of PLLI2S is selected as source clock for SAI -------------------*/
+    if(((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI1) == RCC_PERIPHCLK_SAI1) && (PeriphClkInit->Sai1ClockSelection == RCC_SAI1CLKSOURCE_PLLI2S)) ||
+ 80020e0:      687b            ldr     r3, [r7, #4]
+ 80020e2:      681b            ldr     r3, [r3, #0]
+ 80020e4:      f403 2300       and.w   r3, r3, #524288 ; 0x80000
+ 80020e8:      2b00            cmp     r3, #0
+ 80020ea:      d004            beq.n   80020f6 <HAL_RCCEx_PeriphCLKConfig+0x586>
+ 80020ec:      687b            ldr     r3, [r7, #4]
+ 80020ee:      6bdb            ldr     r3, [r3, #60]   ; 0x3c
+ 80020f0:      f5b3 1f80       cmp.w   r3, #1048576    ; 0x100000
+ 80020f4:      d00a            beq.n   800210c <HAL_RCCEx_PeriphCLKConfig+0x59c>
+       ((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI2) == RCC_PERIPHCLK_SAI2) && (PeriphClkInit->Sai2ClockSelection == RCC_SAI2CLKSOURCE_PLLI2S)))
+ 80020f6:      687b            ldr     r3, [r7, #4]
+ 80020f8:      681b            ldr     r3, [r3, #0]
+ 80020fa:      f403 1380       and.w   r3, r3, #1048576        ; 0x100000
+    if(((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI1) == RCC_PERIPHCLK_SAI1) && (PeriphClkInit->Sai1ClockSelection == RCC_SAI1CLKSOURCE_PLLI2S)) ||
+ 80020fe:      2b00            cmp     r3, #0
+ 8002100:      d02e            beq.n   8002160 <HAL_RCCEx_PeriphCLKConfig+0x5f0>
+       ((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI2) == RCC_PERIPHCLK_SAI2) && (PeriphClkInit->Sai2ClockSelection == RCC_SAI2CLKSOURCE_PLLI2S)))
+ 8002102:      687b            ldr     r3, [r7, #4]
+ 8002104:      6c1b            ldr     r3, [r3, #64]   ; 0x40
+ 8002106:      f5b3 0f80       cmp.w   r3, #4194304    ; 0x400000
+ 800210a:      d129            bne.n   8002160 <HAL_RCCEx_PeriphCLKConfig+0x5f0>
+      assert_param(IS_RCC_PLLI2SQ_VALUE(PeriphClkInit->PLLI2S.PLLI2SQ));
+      /* Check for PLLI2S/DIVQ parameters */
+      assert_param(IS_RCC_PLLI2S_DIVQ_VALUE(PeriphClkInit->PLLI2SDivQ));
+
+      /* Read PLLI2SP and PLLI2SR values from PLLI2SCFGR register (this value is not needed for SAI configuration) */
+      tmpreg0 = ((RCC->PLLI2SCFGR & RCC_PLLI2SCFGR_PLLI2SP) >> RCC_PLLI2SCFGR_PLLI2SP_Pos);
+ 800210c:      4b4a            ldr     r3, [pc, #296]  ; (8002238 <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
+ 800210e:      f8d3 3084       ldr.w   r3, [r3, #132]  ; 0x84
+ 8002112:      0c1b            lsrs    r3, r3, #16
+ 8002114:      f003 0303       and.w   r3, r3, #3
+ 8002118:      613b            str     r3, [r7, #16]
+      tmpreg1 = ((RCC->PLLI2SCFGR & RCC_PLLI2SCFGR_PLLI2SR) >> RCC_PLLI2SCFGR_PLLI2SR_Pos);
+ 800211a:      4b47            ldr     r3, [pc, #284]  ; (8002238 <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
+ 800211c:      f8d3 3084       ldr.w   r3, [r3, #132]  ; 0x84
+ 8002120:      0f1b            lsrs    r3, r3, #28
+ 8002122:      f003 0307       and.w   r3, r3, #7
+ 8002126:      60fb            str     r3, [r7, #12]
+      /* Configure the PLLI2S division factors */
+      /* PLLI2S_VCO Input  = PLL_SOURCE/PLLM */
+      /* PLLI2S_VCO Output = PLLI2S_VCO Input * PLLI2SN */
+      /* SAI_CLK(first level) = PLLI2S_VCO Output/PLLI2SQ */
+      __HAL_RCC_PLLI2S_CONFIG(PeriphClkInit->PLLI2S.PLLI2SN, tmpreg0, PeriphClkInit->PLLI2S.PLLI2SQ, tmpreg1);
+ 8002128:      687b            ldr     r3, [r7, #4]
+ 800212a:      685b            ldr     r3, [r3, #4]
+ 800212c:      019a            lsls    r2, r3, #6
+ 800212e:      693b            ldr     r3, [r7, #16]
+ 8002130:      041b            lsls    r3, r3, #16
+ 8002132:      431a            orrs    r2, r3
+ 8002134:      687b            ldr     r3, [r7, #4]
+ 8002136:      68db            ldr     r3, [r3, #12]
+ 8002138:      061b            lsls    r3, r3, #24
+ 800213a:      431a            orrs    r2, r3
+ 800213c:      68fb            ldr     r3, [r7, #12]
+ 800213e:      071b            lsls    r3, r3, #28
+ 8002140:      493d            ldr     r1, [pc, #244]  ; (8002238 <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
+ 8002142:      4313            orrs    r3, r2
+ 8002144:      f8c1 3084       str.w   r3, [r1, #132]  ; 0x84
+
+      /* SAI_CLK_x = SAI_CLK(first level)/PLLI2SDIVQ */
+      __HAL_RCC_PLLI2S_PLLSAICLKDIVQ_CONFIG(PeriphClkInit->PLLI2SDivQ);
+ 8002148:      4b3b            ldr     r3, [pc, #236]  ; (8002238 <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
+ 800214a:      f8d3 308c       ldr.w   r3, [r3, #140]  ; 0x8c
+ 800214e:      f023 021f       bic.w   r2, r3, #31
+ 8002152:      687b            ldr     r3, [r7, #4]
+ 8002154:      6a5b            ldr     r3, [r3, #36]   ; 0x24
+ 8002156:      3b01            subs    r3, #1
+ 8002158:      4937            ldr     r1, [pc, #220]  ; (8002238 <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
+ 800215a:      4313            orrs    r3, r2
+ 800215c:      f8c1 308c       str.w   r3, [r1, #140]  ; 0x8c
+    }
+
+    /*----------------- In Case of PLLI2S is selected as source clock for SPDIF-RX -------------------*/
+    if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SPDIFRX) == RCC_PERIPHCLK_SPDIFRX)
+ 8002160:      687b            ldr     r3, [r7, #4]
+ 8002162:      681b            ldr     r3, [r3, #0]
+ 8002164:      f003 7380       and.w   r3, r3, #16777216       ; 0x1000000
+ 8002168:      2b00            cmp     r3, #0
+ 800216a:      d01d            beq.n   80021a8 <HAL_RCCEx_PeriphCLKConfig+0x638>
+    {
+      /* check for Parameters */
+      assert_param(IS_RCC_PLLI2SP_VALUE(PeriphClkInit->PLLI2S.PLLI2SP));
+
+     /* Read PLLI2SR value from PLLI2SCFGR register (this value is not needed for SPDIF-RX configuration) */
+      tmpreg0 = ((RCC->PLLI2SCFGR & RCC_PLLI2SCFGR_PLLI2SQ) >> RCC_PLLI2SCFGR_PLLI2SQ_Pos);
+ 800216c:      4b32            ldr     r3, [pc, #200]  ; (8002238 <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
+ 800216e:      f8d3 3084       ldr.w   r3, [r3, #132]  ; 0x84
+ 8002172:      0e1b            lsrs    r3, r3, #24
+ 8002174:      f003 030f       and.w   r3, r3, #15
+ 8002178:      613b            str     r3, [r7, #16]
+      tmpreg1 = ((RCC->PLLI2SCFGR & RCC_PLLI2SCFGR_PLLI2SR) >> RCC_PLLI2SCFGR_PLLI2SR_Pos);
+ 800217a:      4b2f            ldr     r3, [pc, #188]  ; (8002238 <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
+ 800217c:      f8d3 3084       ldr.w   r3, [r3, #132]  ; 0x84
+ 8002180:      0f1b            lsrs    r3, r3, #28
+ 8002182:      f003 0307       and.w   r3, r3, #7
+ 8002186:      60fb            str     r3, [r7, #12]
+      /* Configure the PLLI2S division factors */
+      /* PLLI2S_VCO = f(VCO clock) = f(PLLI2S clock input) x (PLLI2SN/PLLM) */
+      /* SPDIFCLK = f(PLLI2S clock output) = f(VCO clock) / PLLI2SP */
+      __HAL_RCC_PLLI2S_CONFIG(PeriphClkInit->PLLI2S.PLLI2SN , PeriphClkInit->PLLI2S.PLLI2SP, tmpreg0, tmpreg1);
+ 8002188:      687b            ldr     r3, [r7, #4]
+ 800218a:      685b            ldr     r3, [r3, #4]
+ 800218c:      019a            lsls    r2, r3, #6
+ 800218e:      687b            ldr     r3, [r7, #4]
+ 8002190:      691b            ldr     r3, [r3, #16]
+ 8002192:      041b            lsls    r3, r3, #16
+ 8002194:      431a            orrs    r2, r3
+ 8002196:      693b            ldr     r3, [r7, #16]
+ 8002198:      061b            lsls    r3, r3, #24
+ 800219a:      431a            orrs    r2, r3
+ 800219c:      68fb            ldr     r3, [r7, #12]
+ 800219e:      071b            lsls    r3, r3, #28
+ 80021a0:      4925            ldr     r1, [pc, #148]  ; (8002238 <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
+ 80021a2:      4313            orrs    r3, r2
+ 80021a4:      f8c1 3084       str.w   r3, [r1, #132]  ; 0x84
+    }
+
+    /*----------------- In Case of PLLI2S is just selected  -----------------*/
+    if((PeriphClkInit->PeriphClockSelection & RCC_PERIPHCLK_PLLI2S) == RCC_PERIPHCLK_PLLI2S)
+ 80021a8:      687b            ldr     r3, [r7, #4]
+ 80021aa:      681b            ldr     r3, [r3, #0]
+ 80021ac:      f003 7300       and.w   r3, r3, #33554432       ; 0x2000000
+ 80021b0:      2b00            cmp     r3, #0
+ 80021b2:      d011            beq.n   80021d8 <HAL_RCCEx_PeriphCLKConfig+0x668>
+      assert_param(IS_RCC_PLLI2SQ_VALUE(PeriphClkInit->PLLI2S.PLLI2SQ));
+
+      /* Configure the PLLI2S division factors */
+      /* PLLI2S_VCO = f(VCO clock) = f(PLLI2S clock input) x (PLLI2SN/PLLI2SM) */
+      /* SPDIFRXCLK = f(PLLI2S clock output) = f(VCO clock) / PLLI2SP */
+      __HAL_RCC_PLLI2S_CONFIG(PeriphClkInit->PLLI2S.PLLI2SN , PeriphClkInit->PLLI2S.PLLI2SP, PeriphClkInit->PLLI2S.PLLI2SQ, PeriphClkInit->PLLI2S.PLLI2SR);
+ 80021b4:      687b            ldr     r3, [r7, #4]
+ 80021b6:      685b            ldr     r3, [r3, #4]
+ 80021b8:      019a            lsls    r2, r3, #6
+ 80021ba:      687b            ldr     r3, [r7, #4]
+ 80021bc:      691b            ldr     r3, [r3, #16]
+ 80021be:      041b            lsls    r3, r3, #16
+ 80021c0:      431a            orrs    r2, r3
+ 80021c2:      687b            ldr     r3, [r7, #4]
+ 80021c4:      68db            ldr     r3, [r3, #12]
+ 80021c6:      061b            lsls    r3, r3, #24
+ 80021c8:      431a            orrs    r2, r3
+ 80021ca:      687b            ldr     r3, [r7, #4]
+ 80021cc:      689b            ldr     r3, [r3, #8]
+ 80021ce:      071b            lsls    r3, r3, #28
+ 80021d0:      4919            ldr     r1, [pc, #100]  ; (8002238 <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
+ 80021d2:      4313            orrs    r3, r2
+ 80021d4:      f8c1 3084       str.w   r3, [r1, #132]  ; 0x84
+    }
+
+    /* Enable the PLLI2S */
+    __HAL_RCC_PLLI2S_ENABLE();
+ 80021d8:      4b17            ldr     r3, [pc, #92]   ; (8002238 <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
+ 80021da:      681b            ldr     r3, [r3, #0]
+ 80021dc:      4a16            ldr     r2, [pc, #88]   ; (8002238 <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
+ 80021de:      f043 6380       orr.w   r3, r3, #67108864       ; 0x4000000
+ 80021e2:      6013            str     r3, [r2, #0]
+
+    /* Get Start Tick*/
+    tickstart = HAL_GetTick();
+ 80021e4:      f7fe fa02       bl      80005ec <HAL_GetTick>
+ 80021e8:      6178            str     r0, [r7, #20]
+
+    /* Wait till PLLI2S is ready */
+    while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLI2SRDY)  == RESET)
+ 80021ea:      e008            b.n     80021fe <HAL_RCCEx_PeriphCLKConfig+0x68e>
+    {
+      if((HAL_GetTick() - tickstart) > PLLI2S_TIMEOUT_VALUE)
+ 80021ec:      f7fe f9fe       bl      80005ec <HAL_GetTick>
+ 80021f0:      4602            mov     r2, r0
+ 80021f2:      697b            ldr     r3, [r7, #20]
+ 80021f4:      1ad3            subs    r3, r2, r3
+ 80021f6:      2b64            cmp     r3, #100        ; 0x64
+ 80021f8:      d901            bls.n   80021fe <HAL_RCCEx_PeriphCLKConfig+0x68e>
+      {
+        /* return in case of Timeout detected */
+        return HAL_TIMEOUT;
+ 80021fa:      2303            movs    r3, #3
+ 80021fc:      e0d7            b.n     80023ae <HAL_RCCEx_PeriphCLKConfig+0x83e>
+    while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLI2SRDY)  == RESET)
+ 80021fe:      4b0e            ldr     r3, [pc, #56]   ; (8002238 <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
+ 8002200:      681b            ldr     r3, [r3, #0]
+ 8002202:      f003 6300       and.w   r3, r3, #134217728      ; 0x8000000
+ 8002206:      2b00            cmp     r3, #0
+ 8002208:      d0f0            beq.n   80021ec <HAL_RCCEx_PeriphCLKConfig+0x67c>
+    }
+  }
+
+  /*-------------------------------------- PLLSAI Configuration ---------------------------------*/
+  /* PLLSAI is configured when a peripheral will use it as source clock : SAI1, SAI2, LTDC or CK48 */
+  if(pllsaiused == 1)
+ 800220a:      69bb            ldr     r3, [r7, #24]
+ 800220c:      2b01            cmp     r3, #1
+ 800220e:      f040 80cd       bne.w   80023ac <HAL_RCCEx_PeriphCLKConfig+0x83c>
+  {
+    /* Disable PLLSAI Clock */
+    __HAL_RCC_PLLSAI_DISABLE();
+ 8002212:      4b09            ldr     r3, [pc, #36]   ; (8002238 <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
+ 8002214:      681b            ldr     r3, [r3, #0]
+ 8002216:      4a08            ldr     r2, [pc, #32]   ; (8002238 <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
+ 8002218:      f023 5380       bic.w   r3, r3, #268435456      ; 0x10000000
+ 800221c:      6013            str     r3, [r2, #0]
+
+    /* Get Start Tick*/
+    tickstart = HAL_GetTick();
+ 800221e:      f7fe f9e5       bl      80005ec <HAL_GetTick>
+ 8002222:      6178            str     r0, [r7, #20]
+
+    /* Wait till PLLSAI is disabled */
+    while(__HAL_RCC_PLLSAI_GET_FLAG() != RESET)
+ 8002224:      e00a            b.n     800223c <HAL_RCCEx_PeriphCLKConfig+0x6cc>
+    {
+      if((HAL_GetTick() - tickstart) > PLLSAI_TIMEOUT_VALUE)
+ 8002226:      f7fe f9e1       bl      80005ec <HAL_GetTick>
+ 800222a:      4602            mov     r2, r0
+ 800222c:      697b            ldr     r3, [r7, #20]
+ 800222e:      1ad3            subs    r3, r2, r3
+ 8002230:      2b64            cmp     r3, #100        ; 0x64
+ 8002232:      d903            bls.n   800223c <HAL_RCCEx_PeriphCLKConfig+0x6cc>
+      {
+        /* return in case of Timeout detected */
+        return HAL_TIMEOUT;
+ 8002234:      2303            movs    r3, #3
+ 8002236:      e0ba            b.n     80023ae <HAL_RCCEx_PeriphCLKConfig+0x83e>
+ 8002238:      40023800        .word   0x40023800
+    while(__HAL_RCC_PLLSAI_GET_FLAG() != RESET)
+ 800223c:      4b5e            ldr     r3, [pc, #376]  ; (80023b8 <HAL_RCCEx_PeriphCLKConfig+0x848>)
+ 800223e:      681b            ldr     r3, [r3, #0]
+ 8002240:      f003 5300       and.w   r3, r3, #536870912      ; 0x20000000
+ 8002244:      f1b3 5f00       cmp.w   r3, #536870912  ; 0x20000000
+ 8002248:      d0ed            beq.n   8002226 <HAL_RCCEx_PeriphCLKConfig+0x6b6>
+
+    /* Check the PLLSAI division factors */
+    assert_param(IS_RCC_PLLSAIN_VALUE(PeriphClkInit->PLLSAI.PLLSAIN));
+
+    /*----------------- In Case of PLLSAI is selected as source clock for SAI -------------------*/
+    if(((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI1) == RCC_PERIPHCLK_SAI1) && (PeriphClkInit->Sai1ClockSelection == RCC_SAI1CLKSOURCE_PLLSAI)) ||\
+ 800224a:      687b            ldr     r3, [r7, #4]
+ 800224c:      681b            ldr     r3, [r3, #0]
+ 800224e:      f403 2300       and.w   r3, r3, #524288 ; 0x80000
+ 8002252:      2b00            cmp     r3, #0
+ 8002254:      d003            beq.n   800225e <HAL_RCCEx_PeriphCLKConfig+0x6ee>
+ 8002256:      687b            ldr     r3, [r7, #4]
+ 8002258:      6bdb            ldr     r3, [r3, #60]   ; 0x3c
+ 800225a:      2b00            cmp     r3, #0
+ 800225c:      d009            beq.n   8002272 <HAL_RCCEx_PeriphCLKConfig+0x702>
+       ((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI2) == RCC_PERIPHCLK_SAI2) && (PeriphClkInit->Sai2ClockSelection == RCC_SAI2CLKSOURCE_PLLSAI)))
+ 800225e:      687b            ldr     r3, [r7, #4]
+ 8002260:      681b            ldr     r3, [r3, #0]
+ 8002262:      f403 1380       and.w   r3, r3, #1048576        ; 0x100000
+    if(((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI1) == RCC_PERIPHCLK_SAI1) && (PeriphClkInit->Sai1ClockSelection == RCC_SAI1CLKSOURCE_PLLSAI)) ||\
+ 8002266:      2b00            cmp     r3, #0
+ 8002268:      d02e            beq.n   80022c8 <HAL_RCCEx_PeriphCLKConfig+0x758>
+       ((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI2) == RCC_PERIPHCLK_SAI2) && (PeriphClkInit->Sai2ClockSelection == RCC_SAI2CLKSOURCE_PLLSAI)))
+ 800226a:      687b            ldr     r3, [r7, #4]
+ 800226c:      6c1b            ldr     r3, [r3, #64]   ; 0x40
+ 800226e:      2b00            cmp     r3, #0
+ 8002270:      d12a            bne.n   80022c8 <HAL_RCCEx_PeriphCLKConfig+0x758>
+      assert_param(IS_RCC_PLLSAIQ_VALUE(PeriphClkInit->PLLSAI.PLLSAIQ));
+      /* check for PLLSAI/DIVQ Parameter */
+      assert_param(IS_RCC_PLLSAI_DIVQ_VALUE(PeriphClkInit->PLLSAIDivQ));
+
+      /* Read PLLSAIP value from PLLSAICFGR register (this value is not needed for SAI configuration) */
+      tmpreg0 = ((RCC->PLLSAICFGR & RCC_PLLSAICFGR_PLLSAIP) >> RCC_PLLSAICFGR_PLLSAIP_Pos);
+ 8002272:      4b51            ldr     r3, [pc, #324]  ; (80023b8 <HAL_RCCEx_PeriphCLKConfig+0x848>)
+ 8002274:      f8d3 3088       ldr.w   r3, [r3, #136]  ; 0x88
+ 8002278:      0c1b            lsrs    r3, r3, #16
+ 800227a:      f003 0303       and.w   r3, r3, #3
+ 800227e:      613b            str     r3, [r7, #16]
+      tmpreg1 = ((RCC->PLLSAICFGR & RCC_PLLI2SCFGR_PLLI2SR) >> RCC_PLLSAICFGR_PLLSAIR_Pos);
+ 8002280:      4b4d            ldr     r3, [pc, #308]  ; (80023b8 <HAL_RCCEx_PeriphCLKConfig+0x848>)
+ 8002282:      f8d3 3088       ldr.w   r3, [r3, #136]  ; 0x88
+ 8002286:      0f1b            lsrs    r3, r3, #28
+ 8002288:      f003 0307       and.w   r3, r3, #7
+ 800228c:      60fb            str     r3, [r7, #12]
+      /* PLLSAI_VCO Input  = PLL_SOURCE/PLLM */
+      /* PLLSAI_VCO Output = PLLSAI_VCO Input * PLLSAIN */
+      /* SAI_CLK(first level) = PLLSAI_VCO Output/PLLSAIQ */
+      __HAL_RCC_PLLSAI_CONFIG(PeriphClkInit->PLLSAI.PLLSAIN , tmpreg0, PeriphClkInit->PLLSAI.PLLSAIQ, tmpreg1);
+ 800228e:      687b            ldr     r3, [r7, #4]
+ 8002290:      695b            ldr     r3, [r3, #20]
+ 8002292:      019a            lsls    r2, r3, #6
+ 8002294:      693b            ldr     r3, [r7, #16]
+ 8002296:      041b            lsls    r3, r3, #16
+ 8002298:      431a            orrs    r2, r3
+ 800229a:      687b            ldr     r3, [r7, #4]
+ 800229c:      699b            ldr     r3, [r3, #24]
+ 800229e:      061b            lsls    r3, r3, #24
+ 80022a0:      431a            orrs    r2, r3
+ 80022a2:      68fb            ldr     r3, [r7, #12]
+ 80022a4:      071b            lsls    r3, r3, #28
+ 80022a6:      4944            ldr     r1, [pc, #272]  ; (80023b8 <HAL_RCCEx_PeriphCLKConfig+0x848>)
+ 80022a8:      4313            orrs    r3, r2
+ 80022aa:      f8c1 3088       str.w   r3, [r1, #136]  ; 0x88
+
+      /* SAI_CLK_x = SAI_CLK(first level)/PLLSAIDIVQ */
+      __HAL_RCC_PLLSAI_PLLSAICLKDIVQ_CONFIG(PeriphClkInit->PLLSAIDivQ);
+ 80022ae:      4b42            ldr     r3, [pc, #264]  ; (80023b8 <HAL_RCCEx_PeriphCLKConfig+0x848>)
+ 80022b0:      f8d3 308c       ldr.w   r3, [r3, #140]  ; 0x8c
+ 80022b4:      f423 52f8       bic.w   r2, r3, #7936   ; 0x1f00
+ 80022b8:      687b            ldr     r3, [r7, #4]
+ 80022ba:      6a9b            ldr     r3, [r3, #40]   ; 0x28
+ 80022bc:      3b01            subs    r3, #1
+ 80022be:      021b            lsls    r3, r3, #8
+ 80022c0:      493d            ldr     r1, [pc, #244]  ; (80023b8 <HAL_RCCEx_PeriphCLKConfig+0x848>)
+ 80022c2:      4313            orrs    r3, r2
+ 80022c4:      f8c1 308c       str.w   r3, [r1, #140]  ; 0x8c
+    }
+
+    /*----------------- In Case of PLLSAI is selected as source clock for CLK48 -------------------*/
+    /* In Case of PLLI2S is selected as source clock for CK48 */
+    if((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_CLK48) == RCC_PERIPHCLK_CLK48) && (PeriphClkInit->Clk48ClockSelection == RCC_CLK48SOURCE_PLLSAIP))
+ 80022c8:      687b            ldr     r3, [r7, #4]
+ 80022ca:      681b            ldr     r3, [r3, #0]
+ 80022cc:      f403 1300       and.w   r3, r3, #2097152        ; 0x200000
+ 80022d0:      2b00            cmp     r3, #0
+ 80022d2:      d022            beq.n   800231a <HAL_RCCEx_PeriphCLKConfig+0x7aa>
+ 80022d4:      687b            ldr     r3, [r7, #4]
+ 80022d6:      6fdb            ldr     r3, [r3, #124]  ; 0x7c
+ 80022d8:      f1b3 6f00       cmp.w   r3, #134217728  ; 0x8000000
+ 80022dc:      d11d            bne.n   800231a <HAL_RCCEx_PeriphCLKConfig+0x7aa>
+    {
+      /* check for Parameters */
+      assert_param(IS_RCC_PLLSAIP_VALUE(PeriphClkInit->PLLSAI.PLLSAIP));
+      /* Read PLLSAIQ and PLLSAIR value from PLLSAICFGR register (this value is not needed for CK48 configuration) */
+      tmpreg0 = ((RCC->PLLSAICFGR & RCC_PLLSAICFGR_PLLSAIQ) >> RCC_PLLSAICFGR_PLLSAIQ_Pos);
+ 80022de:      4b36            ldr     r3, [pc, #216]  ; (80023b8 <HAL_RCCEx_PeriphCLKConfig+0x848>)
+ 80022e0:      f8d3 3088       ldr.w   r3, [r3, #136]  ; 0x88
+ 80022e4:      0e1b            lsrs    r3, r3, #24
+ 80022e6:      f003 030f       and.w   r3, r3, #15
+ 80022ea:      613b            str     r3, [r7, #16]
+      tmpreg1 = ((RCC->PLLSAICFGR & RCC_PLLSAICFGR_PLLSAIR) >> RCC_PLLSAICFGR_PLLSAIR_Pos);
+ 80022ec:      4b32            ldr     r3, [pc, #200]  ; (80023b8 <HAL_RCCEx_PeriphCLKConfig+0x848>)
+ 80022ee:      f8d3 3088       ldr.w   r3, [r3, #136]  ; 0x88
+ 80022f2:      0f1b            lsrs    r3, r3, #28
+ 80022f4:      f003 0307       and.w   r3, r3, #7
+ 80022f8:      60fb            str     r3, [r7, #12]
+
+      /* Configure the PLLSAI division factors */
+      /* PLLSAI_VCO = f(VCO clock) = f(PLLSAI clock input) x (PLLI2SN/PLLM) */
+      /* 48CLK = f(PLLSAI clock output) = f(VCO clock) / PLLSAIP */
+      __HAL_RCC_PLLSAI_CONFIG(PeriphClkInit->PLLSAI.PLLSAIN , PeriphClkInit->PLLSAI.PLLSAIP, tmpreg0, tmpreg1);
+ 80022fa:      687b            ldr     r3, [r7, #4]
+ 80022fc:      695b            ldr     r3, [r3, #20]
+ 80022fe:      019a            lsls    r2, r3, #6
+ 8002300:      687b            ldr     r3, [r7, #4]
+ 8002302:      6a1b            ldr     r3, [r3, #32]
+ 8002304:      041b            lsls    r3, r3, #16
+ 8002306:      431a            orrs    r2, r3
+ 8002308:      693b            ldr     r3, [r7, #16]
+ 800230a:      061b            lsls    r3, r3, #24
+ 800230c:      431a            orrs    r2, r3
+ 800230e:      68fb            ldr     r3, [r7, #12]
+ 8002310:      071b            lsls    r3, r3, #28
+ 8002312:      4929            ldr     r1, [pc, #164]  ; (80023b8 <HAL_RCCEx_PeriphCLKConfig+0x848>)
+ 8002314:      4313            orrs    r3, r2
+ 8002316:      f8c1 3088       str.w   r3, [r1, #136]  ; 0x88
+    }
+
+#if defined(STM32F746xx) || defined(STM32F756xx) || defined (STM32F767xx) || defined (STM32F769xx) || defined (STM32F777xx) || defined (STM32F779xx) || defined (STM32F750xx)
+    /*---------------------------- LTDC configuration -------------------------------*/
+    if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_LTDC) == (RCC_PERIPHCLK_LTDC))
+ 800231a:      687b            ldr     r3, [r7, #4]
+ 800231c:      681b            ldr     r3, [r3, #0]
+ 800231e:      f003 0308       and.w   r3, r3, #8
+ 8002322:      2b00            cmp     r3, #0
+ 8002324:      d028            beq.n   8002378 <HAL_RCCEx_PeriphCLKConfig+0x808>
+    {
+      assert_param(IS_RCC_PLLSAIR_VALUE(PeriphClkInit->PLLSAI.PLLSAIR));
+      assert_param(IS_RCC_PLLSAI_DIVR_VALUE(PeriphClkInit->PLLSAIDivR));
+
+      /* Read PLLSAIP and PLLSAIQ value from PLLSAICFGR register (these value are not needed for LTDC configuration) */
+      tmpreg0 = ((RCC->PLLSAICFGR & RCC_PLLSAICFGR_PLLSAIQ) >> RCC_PLLSAICFGR_PLLSAIQ_Pos);
+ 8002326:      4b24            ldr     r3, [pc, #144]  ; (80023b8 <HAL_RCCEx_PeriphCLKConfig+0x848>)
+ 8002328:      f8d3 3088       ldr.w   r3, [r3, #136]  ; 0x88
+ 800232c:      0e1b            lsrs    r3, r3, #24
+ 800232e:      f003 030f       and.w   r3, r3, #15
+ 8002332:      613b            str     r3, [r7, #16]
+      tmpreg1 = ((RCC->PLLSAICFGR & RCC_PLLSAICFGR_PLLSAIP) >> RCC_PLLSAICFGR_PLLSAIP_Pos);
+ 8002334:      4b20            ldr     r3, [pc, #128]  ; (80023b8 <HAL_RCCEx_PeriphCLKConfig+0x848>)
+ 8002336:      f8d3 3088       ldr.w   r3, [r3, #136]  ; 0x88
+ 800233a:      0c1b            lsrs    r3, r3, #16
+ 800233c:      f003 0303       and.w   r3, r3, #3
+ 8002340:      60fb            str     r3, [r7, #12]
+
+      /* PLLSAI_VCO Input  = PLL_SOURCE/PLLM */
+      /* PLLSAI_VCO Output = PLLSAI_VCO Input * PLLSAIN */
+      /* LTDC_CLK(first level) = PLLSAI_VCO Output/PLLSAIR */
+      __HAL_RCC_PLLSAI_CONFIG(PeriphClkInit->PLLSAI.PLLSAIN , tmpreg1, tmpreg0, PeriphClkInit->PLLSAI.PLLSAIR);
+ 8002342:      687b            ldr     r3, [r7, #4]
+ 8002344:      695b            ldr     r3, [r3, #20]
+ 8002346:      019a            lsls    r2, r3, #6
+ 8002348:      68fb            ldr     r3, [r7, #12]
+ 800234a:      041b            lsls    r3, r3, #16
+ 800234c:      431a            orrs    r2, r3
+ 800234e:      693b            ldr     r3, [r7, #16]
+ 8002350:      061b            lsls    r3, r3, #24
+ 8002352:      431a            orrs    r2, r3
+ 8002354:      687b            ldr     r3, [r7, #4]
+ 8002356:      69db            ldr     r3, [r3, #28]
+ 8002358:      071b            lsls    r3, r3, #28
+ 800235a:      4917            ldr     r1, [pc, #92]   ; (80023b8 <HAL_RCCEx_PeriphCLKConfig+0x848>)
+ 800235c:      4313            orrs    r3, r2
+ 800235e:      f8c1 3088       str.w   r3, [r1, #136]  ; 0x88
+
+      /* LTDC_CLK = LTDC_CLK(first level)/PLLSAIDIVR */
+      __HAL_RCC_PLLSAI_PLLSAICLKDIVR_CONFIG(PeriphClkInit->PLLSAIDivR);
+ 8002362:      4b15            ldr     r3, [pc, #84]   ; (80023b8 <HAL_RCCEx_PeriphCLKConfig+0x848>)
+ 8002364:      f8d3 308c       ldr.w   r3, [r3, #140]  ; 0x8c
+ 8002368:      f423 3240       bic.w   r2, r3, #196608 ; 0x30000
+ 800236c:      687b            ldr     r3, [r7, #4]
+ 800236e:      6adb            ldr     r3, [r3, #44]   ; 0x2c
+ 8002370:      4911            ldr     r1, [pc, #68]   ; (80023b8 <HAL_RCCEx_PeriphCLKConfig+0x848>)
+ 8002372:      4313            orrs    r3, r2
+ 8002374:      f8c1 308c       str.w   r3, [r1, #140]  ; 0x8c
+    }
+#endif /* STM32F746xx || STM32F756xx || STM32F767xx || STM32F769xx || STM32F777xx || STM32F779xx || STM32F750xx  */
+
+    /* Enable PLLSAI Clock */
+    __HAL_RCC_PLLSAI_ENABLE();
+ 8002378:      4b0f            ldr     r3, [pc, #60]   ; (80023b8 <HAL_RCCEx_PeriphCLKConfig+0x848>)
+ 800237a:      681b            ldr     r3, [r3, #0]
+ 800237c:      4a0e            ldr     r2, [pc, #56]   ; (80023b8 <HAL_RCCEx_PeriphCLKConfig+0x848>)
+ 800237e:      f043 5380       orr.w   r3, r3, #268435456      ; 0x10000000
+ 8002382:      6013            str     r3, [r2, #0]
+
+    /* Get Start Tick*/
+    tickstart = HAL_GetTick();
+ 8002384:      f7fe f932       bl      80005ec <HAL_GetTick>
+ 8002388:      6178            str     r0, [r7, #20]
+
+    /* Wait till PLLSAI is ready */
+    while(__HAL_RCC_PLLSAI_GET_FLAG() == RESET)
+ 800238a:      e008            b.n     800239e <HAL_RCCEx_PeriphCLKConfig+0x82e>
+    {
+      if((HAL_GetTick() - tickstart) > PLLSAI_TIMEOUT_VALUE)
+ 800238c:      f7fe f92e       bl      80005ec <HAL_GetTick>
+ 8002390:      4602            mov     r2, r0
+ 8002392:      697b            ldr     r3, [r7, #20]
+ 8002394:      1ad3            subs    r3, r2, r3
+ 8002396:      2b64            cmp     r3, #100        ; 0x64
+ 8002398:      d901            bls.n   800239e <HAL_RCCEx_PeriphCLKConfig+0x82e>
+      {
+        /* return in case of Timeout detected */
+        return HAL_TIMEOUT;
+ 800239a:      2303            movs    r3, #3
+ 800239c:      e007            b.n     80023ae <HAL_RCCEx_PeriphCLKConfig+0x83e>
+    while(__HAL_RCC_PLLSAI_GET_FLAG() == RESET)
+ 800239e:      4b06            ldr     r3, [pc, #24]   ; (80023b8 <HAL_RCCEx_PeriphCLKConfig+0x848>)
+ 80023a0:      681b            ldr     r3, [r3, #0]
+ 80023a2:      f003 5300       and.w   r3, r3, #536870912      ; 0x20000000
+ 80023a6:      f1b3 5f00       cmp.w   r3, #536870912  ; 0x20000000
+ 80023aa:      d1ef            bne.n   800238c <HAL_RCCEx_PeriphCLKConfig+0x81c>
+      }
+    }
+  }
+  return HAL_OK;
+ 80023ac:      2300            movs    r3, #0
+}
+ 80023ae:      4618            mov     r0, r3
+ 80023b0:      3720            adds    r7, #32
+ 80023b2:      46bd            mov     sp, r7
+ 80023b4:      bd80            pop     {r7, pc}
+ 80023b6:      bf00            nop
+ 80023b8:      40023800        .word   0x40023800
+
+080023bc <HAL_TIM_Base_Init>:
+  *         Ex: call @ref HAL_TIM_Base_DeInit() before HAL_TIM_Base_Init()
+  * @param  htim TIM Base handle
+  * @retval HAL status
+  */
+HAL_StatusTypeDef HAL_TIM_Base_Init(TIM_HandleTypeDef *htim)
+{
+ 80023bc:      b580            push    {r7, lr}
+ 80023be:      b082            sub     sp, #8
+ 80023c0:      af00            add     r7, sp, #0
+ 80023c2:      6078            str     r0, [r7, #4]
+  /* Check the TIM handle allocation */
+  if (htim == NULL)
+ 80023c4:      687b            ldr     r3, [r7, #4]
+ 80023c6:      2b00            cmp     r3, #0
+ 80023c8:      d101            bne.n   80023ce <HAL_TIM_Base_Init+0x12>
+  {
+    return HAL_ERROR;
+ 80023ca:      2301            movs    r3, #1
+ 80023cc:      e01d            b.n     800240a <HAL_TIM_Base_Init+0x4e>
+  assert_param(IS_TIM_INSTANCE(htim->Instance));
+  assert_param(IS_TIM_COUNTER_MODE(htim->Init.CounterMode));
+  assert_param(IS_TIM_CLOCKDIVISION_DIV(htim->Init.ClockDivision));
+  assert_param(IS_TIM_AUTORELOAD_PRELOAD(htim->Init.AutoReloadPreload));
+
+  if (htim->State == HAL_TIM_STATE_RESET)
+ 80023ce:      687b            ldr     r3, [r7, #4]
+ 80023d0:      f893 303d       ldrb.w  r3, [r3, #61]   ; 0x3d
+ 80023d4:      b2db            uxtb    r3, r3
+ 80023d6:      2b00            cmp     r3, #0
+ 80023d8:      d106            bne.n   80023e8 <HAL_TIM_Base_Init+0x2c>
+  {
+    /* Allocate lock resource and initialize it */
+    htim->Lock = HAL_UNLOCKED;
+ 80023da:      687b            ldr     r3, [r7, #4]
+ 80023dc:      2200            movs    r2, #0
+ 80023de:      f883 203c       strb.w  r2, [r3, #60]   ; 0x3c
+    }
+    /* Init the low level hardware : GPIO, CLOCK, NVIC */
+    htim->Base_MspInitCallback(htim);
+#else
+    /* Init the low level hardware : GPIO, CLOCK, NVIC */
+    HAL_TIM_Base_MspInit(htim);
+ 80023e2:      6878            ldr     r0, [r7, #4]
+ 80023e4:      f003 f996       bl      8005714 <HAL_TIM_Base_MspInit>
+#endif /* USE_HAL_TIM_REGISTER_CALLBACKS */
+  }
+
+  /* Set the TIM state */
+  htim->State = HAL_TIM_STATE_BUSY;
+ 80023e8:      687b            ldr     r3, [r7, #4]
+ 80023ea:      2202            movs    r2, #2
+ 80023ec:      f883 203d       strb.w  r2, [r3, #61]   ; 0x3d
+
+  /* Set the Time Base configuration */
+  TIM_Base_SetConfig(htim->Instance, &htim->Init);
+ 80023f0:      687b            ldr     r3, [r7, #4]
+ 80023f2:      681a            ldr     r2, [r3, #0]
+ 80023f4:      687b            ldr     r3, [r7, #4]
+ 80023f6:      3304            adds    r3, #4
+ 80023f8:      4619            mov     r1, r3
+ 80023fa:      4610            mov     r0, r2
+ 80023fc:      f000 f8ee       bl      80025dc <TIM_Base_SetConfig>
+
+  /* Initialize the TIM state*/
+  htim->State = HAL_TIM_STATE_READY;
+ 8002400:      687b            ldr     r3, [r7, #4]
+ 8002402:      2201            movs    r2, #1
+ 8002404:      f883 203d       strb.w  r2, [r3, #61]   ; 0x3d
+
+  return HAL_OK;
+ 8002408:      2300            movs    r3, #0
+}
+ 800240a:      4618            mov     r0, r3
+ 800240c:      3708            adds    r7, #8
+ 800240e:      46bd            mov     sp, r7
+ 8002410:      bd80            pop     {r7, pc}
+       ...
+
+08002414 <HAL_TIM_Base_Start>:
+  * @brief  Starts the TIM Base generation.
+  * @param  htim TIM Base handle
+  * @retval HAL status
+  */
+HAL_StatusTypeDef HAL_TIM_Base_Start(TIM_HandleTypeDef *htim)
+{
+ 8002414:      b480            push    {r7}
+ 8002416:      b085            sub     sp, #20
+ 8002418:      af00            add     r7, sp, #0
+ 800241a:      6078            str     r0, [r7, #4]
+
+  /* Check the parameters */
+  assert_param(IS_TIM_INSTANCE(htim->Instance));
+
+  /* Set the TIM state */
+  htim->State = HAL_TIM_STATE_BUSY;
+ 800241c:      687b            ldr     r3, [r7, #4]
+ 800241e:      2202            movs    r2, #2
+ 8002420:      f883 203d       strb.w  r2, [r3, #61]   ; 0x3d
+
+  /* Enable the Peripheral, except in trigger mode where enable is automatically done with trigger */
+  tmpsmcr = htim->Instance->SMCR & TIM_SMCR_SMS;
+ 8002424:      687b            ldr     r3, [r7, #4]
+ 8002426:      681b            ldr     r3, [r3, #0]
+ 8002428:      689a            ldr     r2, [r3, #8]
+ 800242a:      4b0e            ldr     r3, [pc, #56]   ; (8002464 <HAL_TIM_Base_Start+0x50>)
+ 800242c:      4013            ands    r3, r2
+ 800242e:      60fb            str     r3, [r7, #12]
+  if (!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr))
+ 8002430:      68fb            ldr     r3, [r7, #12]
+ 8002432:      2b06            cmp     r3, #6
+ 8002434:      d00b            beq.n   800244e <HAL_TIM_Base_Start+0x3a>
+ 8002436:      68fb            ldr     r3, [r7, #12]
+ 8002438:      f5b3 3f80       cmp.w   r3, #65536      ; 0x10000
+ 800243c:      d007            beq.n   800244e <HAL_TIM_Base_Start+0x3a>
+  {
+    __HAL_TIM_ENABLE(htim);
+ 800243e:      687b            ldr     r3, [r7, #4]
+ 8002440:      681b            ldr     r3, [r3, #0]
+ 8002442:      681a            ldr     r2, [r3, #0]
+ 8002444:      687b            ldr     r3, [r7, #4]
+ 8002446:      681b            ldr     r3, [r3, #0]
+ 8002448:      f042 0201       orr.w   r2, r2, #1
+ 800244c:      601a            str     r2, [r3, #0]
+  }
+
+  /* Change the TIM state*/
+  htim->State = HAL_TIM_STATE_READY;
+ 800244e:      687b            ldr     r3, [r7, #4]
+ 8002450:      2201            movs    r2, #1
+ 8002452:      f883 203d       strb.w  r2, [r3, #61]   ; 0x3d
+
+  /* Return function status */
+  return HAL_OK;
+ 8002456:      2300            movs    r3, #0
+}
+ 8002458:      4618            mov     r0, r3
+ 800245a:      3714            adds    r7, #20
+ 800245c:      46bd            mov     sp, r7
+ 800245e:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8002462:      4770            bx      lr
+ 8002464:      00010007        .word   0x00010007
+
+08002468 <HAL_TIM_ConfigClockSource>:
+  * @param  sClockSourceConfig pointer to a TIM_ClockConfigTypeDef structure that
+  *         contains the clock source information for the TIM peripheral.
+  * @retval HAL status
+  */
+HAL_StatusTypeDef HAL_TIM_ConfigClockSource(TIM_HandleTypeDef *htim, TIM_ClockConfigTypeDef *sClockSourceConfig)
+{
+ 8002468:      b580            push    {r7, lr}
+ 800246a:      b084            sub     sp, #16
+ 800246c:      af00            add     r7, sp, #0
+ 800246e:      6078            str     r0, [r7, #4]
+ 8002470:      6039            str     r1, [r7, #0]
+  uint32_t tmpsmcr;
+
+  /* Process Locked */
+  __HAL_LOCK(htim);
+ 8002472:      687b            ldr     r3, [r7, #4]
+ 8002474:      f893 303c       ldrb.w  r3, [r3, #60]   ; 0x3c
+ 8002478:      2b01            cmp     r3, #1
+ 800247a:      d101            bne.n   8002480 <HAL_TIM_ConfigClockSource+0x18>
+ 800247c:      2302            movs    r3, #2
+ 800247e:      e0a6            b.n     80025ce <HAL_TIM_ConfigClockSource+0x166>
+ 8002480:      687b            ldr     r3, [r7, #4]
+ 8002482:      2201            movs    r2, #1
+ 8002484:      f883 203c       strb.w  r2, [r3, #60]   ; 0x3c
+
+  htim->State = HAL_TIM_STATE_BUSY;
+ 8002488:      687b            ldr     r3, [r7, #4]
+ 800248a:      2202            movs    r2, #2
+ 800248c:      f883 203d       strb.w  r2, [r3, #61]   ; 0x3d
+
+  /* Check the parameters */
+  assert_param(IS_TIM_CLOCKSOURCE(sClockSourceConfig->ClockSource));
+
+  /* Reset the SMS, TS, ECE, ETPS and ETRF bits */
+  tmpsmcr = htim->Instance->SMCR;
+ 8002490:      687b            ldr     r3, [r7, #4]
+ 8002492:      681b            ldr     r3, [r3, #0]
+ 8002494:      689b            ldr     r3, [r3, #8]
+ 8002496:      60fb            str     r3, [r7, #12]
+  tmpsmcr &= ~(TIM_SMCR_SMS | TIM_SMCR_TS);
+ 8002498:      68fa            ldr     r2, [r7, #12]
+ 800249a:      4b4f            ldr     r3, [pc, #316]  ; (80025d8 <HAL_TIM_ConfigClockSource+0x170>)
+ 800249c:      4013            ands    r3, r2
+ 800249e:      60fb            str     r3, [r7, #12]
+  tmpsmcr &= ~(TIM_SMCR_ETF | TIM_SMCR_ETPS | TIM_SMCR_ECE | TIM_SMCR_ETP);
+ 80024a0:      68fb            ldr     r3, [r7, #12]
+ 80024a2:      f423 437f       bic.w   r3, r3, #65280  ; 0xff00
+ 80024a6:      60fb            str     r3, [r7, #12]
+  htim->Instance->SMCR = tmpsmcr;
+ 80024a8:      687b            ldr     r3, [r7, #4]
+ 80024aa:      681b            ldr     r3, [r3, #0]
+ 80024ac:      68fa            ldr     r2, [r7, #12]
+ 80024ae:      609a            str     r2, [r3, #8]
+
+  switch (sClockSourceConfig->ClockSource)
+ 80024b0:      683b            ldr     r3, [r7, #0]
+ 80024b2:      681b            ldr     r3, [r3, #0]
+ 80024b4:      2b40            cmp     r3, #64 ; 0x40
+ 80024b6:      d067            beq.n   8002588 <HAL_TIM_ConfigClockSource+0x120>
+ 80024b8:      2b40            cmp     r3, #64 ; 0x40
+ 80024ba:      d80b            bhi.n   80024d4 <HAL_TIM_ConfigClockSource+0x6c>
+ 80024bc:      2b10            cmp     r3, #16
+ 80024be:      d073            beq.n   80025a8 <HAL_TIM_ConfigClockSource+0x140>
+ 80024c0:      2b10            cmp     r3, #16
+ 80024c2:      d802            bhi.n   80024ca <HAL_TIM_ConfigClockSource+0x62>
+ 80024c4:      2b00            cmp     r3, #0
+ 80024c6:      d06f            beq.n   80025a8 <HAL_TIM_ConfigClockSource+0x140>
+      TIM_ITRx_SetConfig(htim->Instance, sClockSourceConfig->ClockSource);
+      break;
+    }
+
+    default:
+      break;
+ 80024c8:      e078            b.n     80025bc <HAL_TIM_ConfigClockSource+0x154>
+  switch (sClockSourceConfig->ClockSource)
+ 80024ca:      2b20            cmp     r3, #32
+ 80024cc:      d06c            beq.n   80025a8 <HAL_TIM_ConfigClockSource+0x140>
+ 80024ce:      2b30            cmp     r3, #48 ; 0x30
+ 80024d0:      d06a            beq.n   80025a8 <HAL_TIM_ConfigClockSource+0x140>
+      break;
+ 80024d2:      e073            b.n     80025bc <HAL_TIM_ConfigClockSource+0x154>
+  switch (sClockSourceConfig->ClockSource)
+ 80024d4:      2b70            cmp     r3, #112        ; 0x70
+ 80024d6:      d00d            beq.n   80024f4 <HAL_TIM_ConfigClockSource+0x8c>
+ 80024d8:      2b70            cmp     r3, #112        ; 0x70
+ 80024da:      d804            bhi.n   80024e6 <HAL_TIM_ConfigClockSource+0x7e>
+ 80024dc:      2b50            cmp     r3, #80 ; 0x50
+ 80024de:      d033            beq.n   8002548 <HAL_TIM_ConfigClockSource+0xe0>
+ 80024e0:      2b60            cmp     r3, #96 ; 0x60
+ 80024e2:      d041            beq.n   8002568 <HAL_TIM_ConfigClockSource+0x100>
+      break;
+ 80024e4:      e06a            b.n     80025bc <HAL_TIM_ConfigClockSource+0x154>
+  switch (sClockSourceConfig->ClockSource)
+ 80024e6:      f5b3 5f80       cmp.w   r3, #4096       ; 0x1000
+ 80024ea:      d066            beq.n   80025ba <HAL_TIM_ConfigClockSource+0x152>
+ 80024ec:      f5b3 5f00       cmp.w   r3, #8192       ; 0x2000
+ 80024f0:      d017            beq.n   8002522 <HAL_TIM_ConfigClockSource+0xba>
+      break;
+ 80024f2:      e063            b.n     80025bc <HAL_TIM_ConfigClockSource+0x154>
+      TIM_ETR_SetConfig(htim->Instance,
+ 80024f4:      687b            ldr     r3, [r7, #4]
+ 80024f6:      6818            ldr     r0, [r3, #0]
+ 80024f8:      683b            ldr     r3, [r7, #0]
+ 80024fa:      6899            ldr     r1, [r3, #8]
+ 80024fc:      683b            ldr     r3, [r7, #0]
+ 80024fe:      685a            ldr     r2, [r3, #4]
+ 8002500:      683b            ldr     r3, [r7, #0]
+ 8002502:      68db            ldr     r3, [r3, #12]
+ 8002504:      f000 f984       bl      8002810 <TIM_ETR_SetConfig>
+      tmpsmcr = htim->Instance->SMCR;
+ 8002508:      687b            ldr     r3, [r7, #4]
+ 800250a:      681b            ldr     r3, [r3, #0]
+ 800250c:      689b            ldr     r3, [r3, #8]
+ 800250e:      60fb            str     r3, [r7, #12]
+      tmpsmcr |= (TIM_SLAVEMODE_EXTERNAL1 | TIM_CLOCKSOURCE_ETRMODE1);
+ 8002510:      68fb            ldr     r3, [r7, #12]
+ 8002512:      f043 0377       orr.w   r3, r3, #119    ; 0x77
+ 8002516:      60fb            str     r3, [r7, #12]
+      htim->Instance->SMCR = tmpsmcr;
+ 8002518:      687b            ldr     r3, [r7, #4]
+ 800251a:      681b            ldr     r3, [r3, #0]
+ 800251c:      68fa            ldr     r2, [r7, #12]
+ 800251e:      609a            str     r2, [r3, #8]
+      break;
+ 8002520:      e04c            b.n     80025bc <HAL_TIM_ConfigClockSource+0x154>
+      TIM_ETR_SetConfig(htim->Instance,
+ 8002522:      687b            ldr     r3, [r7, #4]
+ 8002524:      6818            ldr     r0, [r3, #0]
+ 8002526:      683b            ldr     r3, [r7, #0]
+ 8002528:      6899            ldr     r1, [r3, #8]
+ 800252a:      683b            ldr     r3, [r7, #0]
+ 800252c:      685a            ldr     r2, [r3, #4]
+ 800252e:      683b            ldr     r3, [r7, #0]
+ 8002530:      68db            ldr     r3, [r3, #12]
+ 8002532:      f000 f96d       bl      8002810 <TIM_ETR_SetConfig>
+      htim->Instance->SMCR |= TIM_SMCR_ECE;
+ 8002536:      687b            ldr     r3, [r7, #4]
+ 8002538:      681b            ldr     r3, [r3, #0]
+ 800253a:      689a            ldr     r2, [r3, #8]
+ 800253c:      687b            ldr     r3, [r7, #4]
+ 800253e:      681b            ldr     r3, [r3, #0]
+ 8002540:      f442 4280       orr.w   r2, r2, #16384  ; 0x4000
+ 8002544:      609a            str     r2, [r3, #8]
+      break;
+ 8002546:      e039            b.n     80025bc <HAL_TIM_ConfigClockSource+0x154>
+      TIM_TI1_ConfigInputStage(htim->Instance,
+ 8002548:      687b            ldr     r3, [r7, #4]
+ 800254a:      6818            ldr     r0, [r3, #0]
+ 800254c:      683b            ldr     r3, [r7, #0]
+ 800254e:      6859            ldr     r1, [r3, #4]
+ 8002550:      683b            ldr     r3, [r7, #0]
+ 8002552:      68db            ldr     r3, [r3, #12]
+ 8002554:      461a            mov     r2, r3
+ 8002556:      f000 f8e1       bl      800271c <TIM_TI1_ConfigInputStage>
+      TIM_ITRx_SetConfig(htim->Instance, TIM_CLOCKSOURCE_TI1);
+ 800255a:      687b            ldr     r3, [r7, #4]
+ 800255c:      681b            ldr     r3, [r3, #0]
+ 800255e:      2150            movs    r1, #80 ; 0x50
+ 8002560:      4618            mov     r0, r3
+ 8002562:      f000 f93a       bl      80027da <TIM_ITRx_SetConfig>
+      break;
+ 8002566:      e029            b.n     80025bc <HAL_TIM_ConfigClockSource+0x154>
+      TIM_TI2_ConfigInputStage(htim->Instance,
+ 8002568:      687b            ldr     r3, [r7, #4]
+ 800256a:      6818            ldr     r0, [r3, #0]
+ 800256c:      683b            ldr     r3, [r7, #0]
+ 800256e:      6859            ldr     r1, [r3, #4]
+ 8002570:      683b            ldr     r3, [r7, #0]
+ 8002572:      68db            ldr     r3, [r3, #12]
+ 8002574:      461a            mov     r2, r3
+ 8002576:      f000 f900       bl      800277a <TIM_TI2_ConfigInputStage>
+      TIM_ITRx_SetConfig(htim->Instance, TIM_CLOCKSOURCE_TI2);
+ 800257a:      687b            ldr     r3, [r7, #4]
+ 800257c:      681b            ldr     r3, [r3, #0]
+ 800257e:      2160            movs    r1, #96 ; 0x60
+ 8002580:      4618            mov     r0, r3
+ 8002582:      f000 f92a       bl      80027da <TIM_ITRx_SetConfig>
+      break;
+ 8002586:      e019            b.n     80025bc <HAL_TIM_ConfigClockSource+0x154>
+      TIM_TI1_ConfigInputStage(htim->Instance,
+ 8002588:      687b            ldr     r3, [r7, #4]
+ 800258a:      6818            ldr     r0, [r3, #0]
+ 800258c:      683b            ldr     r3, [r7, #0]
+ 800258e:      6859            ldr     r1, [r3, #4]
+ 8002590:      683b            ldr     r3, [r7, #0]
+ 8002592:      68db            ldr     r3, [r3, #12]
+ 8002594:      461a            mov     r2, r3
+ 8002596:      f000 f8c1       bl      800271c <TIM_TI1_ConfigInputStage>
+      TIM_ITRx_SetConfig(htim->Instance, TIM_CLOCKSOURCE_TI1ED);
+ 800259a:      687b            ldr     r3, [r7, #4]
+ 800259c:      681b            ldr     r3, [r3, #0]
+ 800259e:      2140            movs    r1, #64 ; 0x40
+ 80025a0:      4618            mov     r0, r3
+ 80025a2:      f000 f91a       bl      80027da <TIM_ITRx_SetConfig>
+      break;
+ 80025a6:      e009            b.n     80025bc <HAL_TIM_ConfigClockSource+0x154>
+      TIM_ITRx_SetConfig(htim->Instance, sClockSourceConfig->ClockSource);
+ 80025a8:      687b            ldr     r3, [r7, #4]
+ 80025aa:      681a            ldr     r2, [r3, #0]
+ 80025ac:      683b            ldr     r3, [r7, #0]
+ 80025ae:      681b            ldr     r3, [r3, #0]
+ 80025b0:      4619            mov     r1, r3
+ 80025b2:      4610            mov     r0, r2
+ 80025b4:      f000 f911       bl      80027da <TIM_ITRx_SetConfig>
+      break;
+ 80025b8:      e000            b.n     80025bc <HAL_TIM_ConfigClockSource+0x154>
+      break;
+ 80025ba:      bf00            nop
+  }
+  htim->State = HAL_TIM_STATE_READY;
+ 80025bc:      687b            ldr     r3, [r7, #4]
+ 80025be:      2201            movs    r2, #1
+ 80025c0:      f883 203d       strb.w  r2, [r3, #61]   ; 0x3d
+
+  __HAL_UNLOCK(htim);
+ 80025c4:      687b            ldr     r3, [r7, #4]
+ 80025c6:      2200            movs    r2, #0
+ 80025c8:      f883 203c       strb.w  r2, [r3, #60]   ; 0x3c
+
+  return HAL_OK;
+ 80025cc:      2300            movs    r3, #0
+}
+ 80025ce:      4618            mov     r0, r3
+ 80025d0:      3710            adds    r7, #16
+ 80025d2:      46bd            mov     sp, r7
+ 80025d4:      bd80            pop     {r7, pc}
+ 80025d6:      bf00            nop
+ 80025d8:      fffeff88        .word   0xfffeff88
+
+080025dc <TIM_Base_SetConfig>:
+  * @param  TIMx TIM peripheral
+  * @param  Structure TIM Base configuration structure
+  * @retval None
+  */
+void TIM_Base_SetConfig(TIM_TypeDef *TIMx, TIM_Base_InitTypeDef *Structure)
+{
+ 80025dc:      b480            push    {r7}
+ 80025de:      b085            sub     sp, #20
+ 80025e0:      af00            add     r7, sp, #0
+ 80025e2:      6078            str     r0, [r7, #4]
+ 80025e4:      6039            str     r1, [r7, #0]
+  uint32_t tmpcr1;
+  tmpcr1 = TIMx->CR1;
+ 80025e6:      687b            ldr     r3, [r7, #4]
+ 80025e8:      681b            ldr     r3, [r3, #0]
+ 80025ea:      60fb            str     r3, [r7, #12]
+
+  /* Set TIM Time Base Unit parameters ---------------------------------------*/
+  if (IS_TIM_COUNTER_MODE_SELECT_INSTANCE(TIMx))
+ 80025ec:      687b            ldr     r3, [r7, #4]
+ 80025ee:      4a40            ldr     r2, [pc, #256]  ; (80026f0 <TIM_Base_SetConfig+0x114>)
+ 80025f0:      4293            cmp     r3, r2
+ 80025f2:      d013            beq.n   800261c <TIM_Base_SetConfig+0x40>
+ 80025f4:      687b            ldr     r3, [r7, #4]
+ 80025f6:      f1b3 4f80       cmp.w   r3, #1073741824 ; 0x40000000
+ 80025fa:      d00f            beq.n   800261c <TIM_Base_SetConfig+0x40>
+ 80025fc:      687b            ldr     r3, [r7, #4]
+ 80025fe:      4a3d            ldr     r2, [pc, #244]  ; (80026f4 <TIM_Base_SetConfig+0x118>)
+ 8002600:      4293            cmp     r3, r2
+ 8002602:      d00b            beq.n   800261c <TIM_Base_SetConfig+0x40>
+ 8002604:      687b            ldr     r3, [r7, #4]
+ 8002606:      4a3c            ldr     r2, [pc, #240]  ; (80026f8 <TIM_Base_SetConfig+0x11c>)
+ 8002608:      4293            cmp     r3, r2
+ 800260a:      d007            beq.n   800261c <TIM_Base_SetConfig+0x40>
+ 800260c:      687b            ldr     r3, [r7, #4]
+ 800260e:      4a3b            ldr     r2, [pc, #236]  ; (80026fc <TIM_Base_SetConfig+0x120>)
+ 8002610:      4293            cmp     r3, r2
+ 8002612:      d003            beq.n   800261c <TIM_Base_SetConfig+0x40>
+ 8002614:      687b            ldr     r3, [r7, #4]
+ 8002616:      4a3a            ldr     r2, [pc, #232]  ; (8002700 <TIM_Base_SetConfig+0x124>)
+ 8002618:      4293            cmp     r3, r2
+ 800261a:      d108            bne.n   800262e <TIM_Base_SetConfig+0x52>
+  {
+    /* Select the Counter Mode */
+    tmpcr1 &= ~(TIM_CR1_DIR | TIM_CR1_CMS);
+ 800261c:      68fb            ldr     r3, [r7, #12]
+ 800261e:      f023 0370       bic.w   r3, r3, #112    ; 0x70
+ 8002622:      60fb            str     r3, [r7, #12]
+    tmpcr1 |= Structure->CounterMode;
+ 8002624:      683b            ldr     r3, [r7, #0]
+ 8002626:      685b            ldr     r3, [r3, #4]
+ 8002628:      68fa            ldr     r2, [r7, #12]
+ 800262a:      4313            orrs    r3, r2
+ 800262c:      60fb            str     r3, [r7, #12]
+  }
+
+  if (IS_TIM_CLOCK_DIVISION_INSTANCE(TIMx))
+ 800262e:      687b            ldr     r3, [r7, #4]
+ 8002630:      4a2f            ldr     r2, [pc, #188]  ; (80026f0 <TIM_Base_SetConfig+0x114>)
+ 8002632:      4293            cmp     r3, r2
+ 8002634:      d02b            beq.n   800268e <TIM_Base_SetConfig+0xb2>
+ 8002636:      687b            ldr     r3, [r7, #4]
+ 8002638:      f1b3 4f80       cmp.w   r3, #1073741824 ; 0x40000000
+ 800263c:      d027            beq.n   800268e <TIM_Base_SetConfig+0xb2>
+ 800263e:      687b            ldr     r3, [r7, #4]
+ 8002640:      4a2c            ldr     r2, [pc, #176]  ; (80026f4 <TIM_Base_SetConfig+0x118>)
+ 8002642:      4293            cmp     r3, r2
+ 8002644:      d023            beq.n   800268e <TIM_Base_SetConfig+0xb2>
+ 8002646:      687b            ldr     r3, [r7, #4]
+ 8002648:      4a2b            ldr     r2, [pc, #172]  ; (80026f8 <TIM_Base_SetConfig+0x11c>)
+ 800264a:      4293            cmp     r3, r2
+ 800264c:      d01f            beq.n   800268e <TIM_Base_SetConfig+0xb2>
+ 800264e:      687b            ldr     r3, [r7, #4]
+ 8002650:      4a2a            ldr     r2, [pc, #168]  ; (80026fc <TIM_Base_SetConfig+0x120>)
+ 8002652:      4293            cmp     r3, r2
+ 8002654:      d01b            beq.n   800268e <TIM_Base_SetConfig+0xb2>
+ 8002656:      687b            ldr     r3, [r7, #4]
+ 8002658:      4a29            ldr     r2, [pc, #164]  ; (8002700 <TIM_Base_SetConfig+0x124>)
+ 800265a:      4293            cmp     r3, r2
+ 800265c:      d017            beq.n   800268e <TIM_Base_SetConfig+0xb2>
+ 800265e:      687b            ldr     r3, [r7, #4]
+ 8002660:      4a28            ldr     r2, [pc, #160]  ; (8002704 <TIM_Base_SetConfig+0x128>)
+ 8002662:      4293            cmp     r3, r2
+ 8002664:      d013            beq.n   800268e <TIM_Base_SetConfig+0xb2>
+ 8002666:      687b            ldr     r3, [r7, #4]
+ 8002668:      4a27            ldr     r2, [pc, #156]  ; (8002708 <TIM_Base_SetConfig+0x12c>)
+ 800266a:      4293            cmp     r3, r2
+ 800266c:      d00f            beq.n   800268e <TIM_Base_SetConfig+0xb2>
+ 800266e:      687b            ldr     r3, [r7, #4]
+ 8002670:      4a26            ldr     r2, [pc, #152]  ; (800270c <TIM_Base_SetConfig+0x130>)
+ 8002672:      4293            cmp     r3, r2
+ 8002674:      d00b            beq.n   800268e <TIM_Base_SetConfig+0xb2>
+ 8002676:      687b            ldr     r3, [r7, #4]
+ 8002678:      4a25            ldr     r2, [pc, #148]  ; (8002710 <TIM_Base_SetConfig+0x134>)
+ 800267a:      4293            cmp     r3, r2
+ 800267c:      d007            beq.n   800268e <TIM_Base_SetConfig+0xb2>
+ 800267e:      687b            ldr     r3, [r7, #4]
+ 8002680:      4a24            ldr     r2, [pc, #144]  ; (8002714 <TIM_Base_SetConfig+0x138>)
+ 8002682:      4293            cmp     r3, r2
+ 8002684:      d003            beq.n   800268e <TIM_Base_SetConfig+0xb2>
+ 8002686:      687b            ldr     r3, [r7, #4]
+ 8002688:      4a23            ldr     r2, [pc, #140]  ; (8002718 <TIM_Base_SetConfig+0x13c>)
+ 800268a:      4293            cmp     r3, r2
+ 800268c:      d108            bne.n   80026a0 <TIM_Base_SetConfig+0xc4>
+  {
+    /* Set the clock division */
+    tmpcr1 &= ~TIM_CR1_CKD;
+ 800268e:      68fb            ldr     r3, [r7, #12]
+ 8002690:      f423 7340       bic.w   r3, r3, #768    ; 0x300
+ 8002694:      60fb            str     r3, [r7, #12]
+    tmpcr1 |= (uint32_t)Structure->ClockDivision;
+ 8002696:      683b            ldr     r3, [r7, #0]
+ 8002698:      68db            ldr     r3, [r3, #12]
+ 800269a:      68fa            ldr     r2, [r7, #12]
+ 800269c:      4313            orrs    r3, r2
+ 800269e:      60fb            str     r3, [r7, #12]
+  }
+
+  /* Set the auto-reload preload */
+  MODIFY_REG(tmpcr1, TIM_CR1_ARPE, Structure->AutoReloadPreload);
+ 80026a0:      68fb            ldr     r3, [r7, #12]
+ 80026a2:      f023 0280       bic.w   r2, r3, #128    ; 0x80
+ 80026a6:      683b            ldr     r3, [r7, #0]
+ 80026a8:      695b            ldr     r3, [r3, #20]
+ 80026aa:      4313            orrs    r3, r2
+ 80026ac:      60fb            str     r3, [r7, #12]
+
+  TIMx->CR1 = tmpcr1;
+ 80026ae:      687b            ldr     r3, [r7, #4]
+ 80026b0:      68fa            ldr     r2, [r7, #12]
+ 80026b2:      601a            str     r2, [r3, #0]
+
+  /* Set the Autoreload value */
+  TIMx->ARR = (uint32_t)Structure->Period ;
+ 80026b4:      683b            ldr     r3, [r7, #0]
+ 80026b6:      689a            ldr     r2, [r3, #8]
+ 80026b8:      687b            ldr     r3, [r7, #4]
+ 80026ba:      62da            str     r2, [r3, #44]   ; 0x2c
+
+  /* Set the Prescaler value */
+  TIMx->PSC = Structure->Prescaler;
+ 80026bc:      683b            ldr     r3, [r7, #0]
+ 80026be:      681a            ldr     r2, [r3, #0]
+ 80026c0:      687b            ldr     r3, [r7, #4]
+ 80026c2:      629a            str     r2, [r3, #40]   ; 0x28
+
+  if (IS_TIM_REPETITION_COUNTER_INSTANCE(TIMx))
+ 80026c4:      687b            ldr     r3, [r7, #4]
+ 80026c6:      4a0a            ldr     r2, [pc, #40]   ; (80026f0 <TIM_Base_SetConfig+0x114>)
+ 80026c8:      4293            cmp     r3, r2
+ 80026ca:      d003            beq.n   80026d4 <TIM_Base_SetConfig+0xf8>
+ 80026cc:      687b            ldr     r3, [r7, #4]
+ 80026ce:      4a0c            ldr     r2, [pc, #48]   ; (8002700 <TIM_Base_SetConfig+0x124>)
+ 80026d0:      4293            cmp     r3, r2
+ 80026d2:      d103            bne.n   80026dc <TIM_Base_SetConfig+0x100>
+  {
+    /* Set the Repetition Counter value */
+    TIMx->RCR = Structure->RepetitionCounter;
+ 80026d4:      683b            ldr     r3, [r7, #0]
+ 80026d6:      691a            ldr     r2, [r3, #16]
+ 80026d8:      687b            ldr     r3, [r7, #4]
+ 80026da:      631a            str     r2, [r3, #48]   ; 0x30
+  }
+
+  /* Generate an update event to reload the Prescaler
+     and the repetition counter (only for advanced timer) value immediately */
+  TIMx->EGR = TIM_EGR_UG;
+ 80026dc:      687b            ldr     r3, [r7, #4]
+ 80026de:      2201            movs    r2, #1
+ 80026e0:      615a            str     r2, [r3, #20]
+}
+ 80026e2:      bf00            nop
+ 80026e4:      3714            adds    r7, #20
+ 80026e6:      46bd            mov     sp, r7
+ 80026e8:      f85d 7b04       ldr.w   r7, [sp], #4
+ 80026ec:      4770            bx      lr
+ 80026ee:      bf00            nop
+ 80026f0:      40010000        .word   0x40010000
+ 80026f4:      40000400        .word   0x40000400
+ 80026f8:      40000800        .word   0x40000800
+ 80026fc:      40000c00        .word   0x40000c00
+ 8002700:      40010400        .word   0x40010400
+ 8002704:      40014000        .word   0x40014000
+ 8002708:      40014400        .word   0x40014400
+ 800270c:      40014800        .word   0x40014800
+ 8002710:      40001800        .word   0x40001800
+ 8002714:      40001c00        .word   0x40001c00
+ 8002718:      40002000        .word   0x40002000
+
+0800271c <TIM_TI1_ConfigInputStage>:
+  * @param  TIM_ICFilter Specifies the Input Capture Filter.
+  *          This parameter must be a value between 0x00 and 0x0F.
+  * @retval None
+  */
+static void TIM_TI1_ConfigInputStage(TIM_TypeDef *TIMx, uint32_t TIM_ICPolarity, uint32_t TIM_ICFilter)
+{
+ 800271c:      b480            push    {r7}
+ 800271e:      b087            sub     sp, #28
+ 8002720:      af00            add     r7, sp, #0
+ 8002722:      60f8            str     r0, [r7, #12]
+ 8002724:      60b9            str     r1, [r7, #8]
+ 8002726:      607a            str     r2, [r7, #4]
+  uint32_t tmpccmr1;
+  uint32_t tmpccer;
+
+  /* Disable the Channel 1: Reset the CC1E Bit */
+  tmpccer = TIMx->CCER;
+ 8002728:      68fb            ldr     r3, [r7, #12]
+ 800272a:      6a1b            ldr     r3, [r3, #32]
+ 800272c:      617b            str     r3, [r7, #20]
+  TIMx->CCER &= ~TIM_CCER_CC1E;
+ 800272e:      68fb            ldr     r3, [r7, #12]
+ 8002730:      6a1b            ldr     r3, [r3, #32]
+ 8002732:      f023 0201       bic.w   r2, r3, #1
+ 8002736:      68fb            ldr     r3, [r7, #12]
+ 8002738:      621a            str     r2, [r3, #32]
+  tmpccmr1 = TIMx->CCMR1;
+ 800273a:      68fb            ldr     r3, [r7, #12]
+ 800273c:      699b            ldr     r3, [r3, #24]
+ 800273e:      613b            str     r3, [r7, #16]
+
+  /* Set the filter */
+  tmpccmr1 &= ~TIM_CCMR1_IC1F;
+ 8002740:      693b            ldr     r3, [r7, #16]
+ 8002742:      f023 03f0       bic.w   r3, r3, #240    ; 0xf0
+ 8002746:      613b            str     r3, [r7, #16]
+  tmpccmr1 |= (TIM_ICFilter << 4U);
+ 8002748:      687b            ldr     r3, [r7, #4]
+ 800274a:      011b            lsls    r3, r3, #4
+ 800274c:      693a            ldr     r2, [r7, #16]
+ 800274e:      4313            orrs    r3, r2
+ 8002750:      613b            str     r3, [r7, #16]
+
+  /* Select the Polarity and set the CC1E Bit */
+  tmpccer &= ~(TIM_CCER_CC1P | TIM_CCER_CC1NP);
+ 8002752:      697b            ldr     r3, [r7, #20]
+ 8002754:      f023 030a       bic.w   r3, r3, #10
+ 8002758:      617b            str     r3, [r7, #20]
+  tmpccer |= TIM_ICPolarity;
+ 800275a:      697a            ldr     r2, [r7, #20]
+ 800275c:      68bb            ldr     r3, [r7, #8]
+ 800275e:      4313            orrs    r3, r2
+ 8002760:      617b            str     r3, [r7, #20]
+
+  /* Write to TIMx CCMR1 and CCER registers */
+  TIMx->CCMR1 = tmpccmr1;
+ 8002762:      68fb            ldr     r3, [r7, #12]
+ 8002764:      693a            ldr     r2, [r7, #16]
+ 8002766:      619a            str     r2, [r3, #24]
+  TIMx->CCER = tmpccer;
+ 8002768:      68fb            ldr     r3, [r7, #12]
+ 800276a:      697a            ldr     r2, [r7, #20]
+ 800276c:      621a            str     r2, [r3, #32]
+}
+ 800276e:      bf00            nop
+ 8002770:      371c            adds    r7, #28
+ 8002772:      46bd            mov     sp, r7
+ 8002774:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8002778:      4770            bx      lr
+
+0800277a <TIM_TI2_ConfigInputStage>:
+  * @param  TIM_ICFilter Specifies the Input Capture Filter.
+  *          This parameter must be a value between 0x00 and 0x0F.
+  * @retval None
+  */
+static void TIM_TI2_ConfigInputStage(TIM_TypeDef *TIMx, uint32_t TIM_ICPolarity, uint32_t TIM_ICFilter)
+{
+ 800277a:      b480            push    {r7}
+ 800277c:      b087            sub     sp, #28
+ 800277e:      af00            add     r7, sp, #0
+ 8002780:      60f8            str     r0, [r7, #12]
+ 8002782:      60b9            str     r1, [r7, #8]
+ 8002784:      607a            str     r2, [r7, #4]
+  uint32_t tmpccmr1;
+  uint32_t tmpccer;
+
+  /* Disable the Channel 2: Reset the CC2E Bit */
+  TIMx->CCER &= ~TIM_CCER_CC2E;
+ 8002786:      68fb            ldr     r3, [r7, #12]
+ 8002788:      6a1b            ldr     r3, [r3, #32]
+ 800278a:      f023 0210       bic.w   r2, r3, #16
+ 800278e:      68fb            ldr     r3, [r7, #12]
+ 8002790:      621a            str     r2, [r3, #32]
+  tmpccmr1 = TIMx->CCMR1;
+ 8002792:      68fb            ldr     r3, [r7, #12]
+ 8002794:      699b            ldr     r3, [r3, #24]
+ 8002796:      617b            str     r3, [r7, #20]
+  tmpccer = TIMx->CCER;
+ 8002798:      68fb            ldr     r3, [r7, #12]
+ 800279a:      6a1b            ldr     r3, [r3, #32]
+ 800279c:      613b            str     r3, [r7, #16]
+
+  /* Set the filter */
+  tmpccmr1 &= ~TIM_CCMR1_IC2F;
+ 800279e:      697b            ldr     r3, [r7, #20]
+ 80027a0:      f423 4370       bic.w   r3, r3, #61440  ; 0xf000
+ 80027a4:      617b            str     r3, [r7, #20]
+  tmpccmr1 |= (TIM_ICFilter << 12U);
+ 80027a6:      687b            ldr     r3, [r7, #4]
+ 80027a8:      031b            lsls    r3, r3, #12
+ 80027aa:      697a            ldr     r2, [r7, #20]
+ 80027ac:      4313            orrs    r3, r2
+ 80027ae:      617b            str     r3, [r7, #20]
+
+  /* Select the Polarity and set the CC2E Bit */
+  tmpccer &= ~(TIM_CCER_CC2P | TIM_CCER_CC2NP);
+ 80027b0:      693b            ldr     r3, [r7, #16]
+ 80027b2:      f023 03a0       bic.w   r3, r3, #160    ; 0xa0
+ 80027b6:      613b            str     r3, [r7, #16]
+  tmpccer |= (TIM_ICPolarity << 4U);
+ 80027b8:      68bb            ldr     r3, [r7, #8]
+ 80027ba:      011b            lsls    r3, r3, #4
+ 80027bc:      693a            ldr     r2, [r7, #16]
+ 80027be:      4313            orrs    r3, r2
+ 80027c0:      613b            str     r3, [r7, #16]
+
+  /* Write to TIMx CCMR1 and CCER registers */
+  TIMx->CCMR1 = tmpccmr1 ;
+ 80027c2:      68fb            ldr     r3, [r7, #12]
+ 80027c4:      697a            ldr     r2, [r7, #20]
+ 80027c6:      619a            str     r2, [r3, #24]
+  TIMx->CCER = tmpccer;
+ 80027c8:      68fb            ldr     r3, [r7, #12]
+ 80027ca:      693a            ldr     r2, [r7, #16]
+ 80027cc:      621a            str     r2, [r3, #32]
+}
+ 80027ce:      bf00            nop
+ 80027d0:      371c            adds    r7, #28
+ 80027d2:      46bd            mov     sp, r7
+ 80027d4:      f85d 7b04       ldr.w   r7, [sp], #4
+ 80027d8:      4770            bx      lr
+
+080027da <TIM_ITRx_SetConfig>:
+  *            @arg TIM_TS_TI2FP2: Filtered Timer Input 2
+  *            @arg TIM_TS_ETRF: External Trigger input
+  * @retval None
+  */
+static void TIM_ITRx_SetConfig(TIM_TypeDef *TIMx, uint32_t InputTriggerSource)
+{
+ 80027da:      b480            push    {r7}
+ 80027dc:      b085            sub     sp, #20
+ 80027de:      af00            add     r7, sp, #0
+ 80027e0:      6078            str     r0, [r7, #4]
+ 80027e2:      6039            str     r1, [r7, #0]
+  uint32_t tmpsmcr;
+
+  /* Get the TIMx SMCR register value */
+  tmpsmcr = TIMx->SMCR;
+ 80027e4:      687b            ldr     r3, [r7, #4]
+ 80027e6:      689b            ldr     r3, [r3, #8]
+ 80027e8:      60fb            str     r3, [r7, #12]
+  /* Reset the TS Bits */
+  tmpsmcr &= ~TIM_SMCR_TS;
+ 80027ea:      68fb            ldr     r3, [r7, #12]
+ 80027ec:      f023 0370       bic.w   r3, r3, #112    ; 0x70
+ 80027f0:      60fb            str     r3, [r7, #12]
+  /* Set the Input Trigger source and the slave mode*/
+  tmpsmcr |= (InputTriggerSource | TIM_SLAVEMODE_EXTERNAL1);
+ 80027f2:      683a            ldr     r2, [r7, #0]
+ 80027f4:      68fb            ldr     r3, [r7, #12]
+ 80027f6:      4313            orrs    r3, r2
+ 80027f8:      f043 0307       orr.w   r3, r3, #7
+ 80027fc:      60fb            str     r3, [r7, #12]
+  /* Write to TIMx SMCR */
+  TIMx->SMCR = tmpsmcr;
+ 80027fe:      687b            ldr     r3, [r7, #4]
+ 8002800:      68fa            ldr     r2, [r7, #12]
+ 8002802:      609a            str     r2, [r3, #8]
+}
+ 8002804:      bf00            nop
+ 8002806:      3714            adds    r7, #20
+ 8002808:      46bd            mov     sp, r7
+ 800280a:      f85d 7b04       ldr.w   r7, [sp], #4
+ 800280e:      4770            bx      lr
+
+08002810 <TIM_ETR_SetConfig>:
+  *          This parameter must be a value between 0x00 and 0x0F
+  * @retval None
+  */
+void TIM_ETR_SetConfig(TIM_TypeDef *TIMx, uint32_t TIM_ExtTRGPrescaler,
+                       uint32_t TIM_ExtTRGPolarity, uint32_t ExtTRGFilter)
+{
+ 8002810:      b480            push    {r7}
+ 8002812:      b087            sub     sp, #28
+ 8002814:      af00            add     r7, sp, #0
+ 8002816:      60f8            str     r0, [r7, #12]
+ 8002818:      60b9            str     r1, [r7, #8]
+ 800281a:      607a            str     r2, [r7, #4]
+ 800281c:      603b            str     r3, [r7, #0]
+  uint32_t tmpsmcr;
+
+  tmpsmcr = TIMx->SMCR;
+ 800281e:      68fb            ldr     r3, [r7, #12]
+ 8002820:      689b            ldr     r3, [r3, #8]
+ 8002822:      617b            str     r3, [r7, #20]
+
+  /* Reset the ETR Bits */
+  tmpsmcr &= ~(TIM_SMCR_ETF | TIM_SMCR_ETPS | TIM_SMCR_ECE | TIM_SMCR_ETP);
+ 8002824:      697b            ldr     r3, [r7, #20]
+ 8002826:      f423 437f       bic.w   r3, r3, #65280  ; 0xff00
+ 800282a:      617b            str     r3, [r7, #20]
+
+  /* Set the Prescaler, the Filter value and the Polarity */
+  tmpsmcr |= (uint32_t)(TIM_ExtTRGPrescaler | (TIM_ExtTRGPolarity | (ExtTRGFilter << 8U)));
+ 800282c:      683b            ldr     r3, [r7, #0]
+ 800282e:      021a            lsls    r2, r3, #8
+ 8002830:      687b            ldr     r3, [r7, #4]
+ 8002832:      431a            orrs    r2, r3
+ 8002834:      68bb            ldr     r3, [r7, #8]
+ 8002836:      4313            orrs    r3, r2
+ 8002838:      697a            ldr     r2, [r7, #20]
+ 800283a:      4313            orrs    r3, r2
+ 800283c:      617b            str     r3, [r7, #20]
+
+  /* Write to TIMx SMCR */
+  TIMx->SMCR = tmpsmcr;
+ 800283e:      68fb            ldr     r3, [r7, #12]
+ 8002840:      697a            ldr     r2, [r7, #20]
+ 8002842:      609a            str     r2, [r3, #8]
+}
+ 8002844:      bf00            nop
+ 8002846:      371c            adds    r7, #28
+ 8002848:      46bd            mov     sp, r7
+ 800284a:      f85d 7b04       ldr.w   r7, [sp], #4
+ 800284e:      4770            bx      lr
+
+08002850 <HAL_TIMEx_MasterConfigSynchronization>:
+  *         mode.
+  * @retval HAL status
+  */
+HAL_StatusTypeDef HAL_TIMEx_MasterConfigSynchronization(TIM_HandleTypeDef *htim,
+                                                        TIM_MasterConfigTypeDef *sMasterConfig)
+{
+ 8002850:      b480            push    {r7}
+ 8002852:      b085            sub     sp, #20
+ 8002854:      af00            add     r7, sp, #0
+ 8002856:      6078            str     r0, [r7, #4]
+ 8002858:      6039            str     r1, [r7, #0]
+  assert_param(IS_TIM_SYNCHRO_INSTANCE(htim->Instance));
+  assert_param(IS_TIM_TRGO_SOURCE(sMasterConfig->MasterOutputTrigger));
+  assert_param(IS_TIM_MSM_STATE(sMasterConfig->MasterSlaveMode));
+
+  /* Check input state */
+  __HAL_LOCK(htim);
+ 800285a:      687b            ldr     r3, [r7, #4]
+ 800285c:      f893 303c       ldrb.w  r3, [r3, #60]   ; 0x3c
+ 8002860:      2b01            cmp     r3, #1
+ 8002862:      d101            bne.n   8002868 <HAL_TIMEx_MasterConfigSynchronization+0x18>
+ 8002864:      2302            movs    r3, #2
+ 8002866:      e045            b.n     80028f4 <HAL_TIMEx_MasterConfigSynchronization+0xa4>
+ 8002868:      687b            ldr     r3, [r7, #4]
+ 800286a:      2201            movs    r2, #1
+ 800286c:      f883 203c       strb.w  r2, [r3, #60]   ; 0x3c
+
+  /* Change the handler state */
+  htim->State = HAL_TIM_STATE_BUSY;
+ 8002870:      687b            ldr     r3, [r7, #4]
+ 8002872:      2202            movs    r2, #2
+ 8002874:      f883 203d       strb.w  r2, [r3, #61]   ; 0x3d
+
+  /* Get the TIMx CR2 register value */
+  tmpcr2 = htim->Instance->CR2;
+ 8002878:      687b            ldr     r3, [r7, #4]
+ 800287a:      681b            ldr     r3, [r3, #0]
+ 800287c:      685b            ldr     r3, [r3, #4]
+ 800287e:      60fb            str     r3, [r7, #12]
+
+  /* Get the TIMx SMCR register value */
+  tmpsmcr = htim->Instance->SMCR;
+ 8002880:      687b            ldr     r3, [r7, #4]
+ 8002882:      681b            ldr     r3, [r3, #0]
+ 8002884:      689b            ldr     r3, [r3, #8]
+ 8002886:      60bb            str     r3, [r7, #8]
+
+  /* If the timer supports ADC synchronization through TRGO2, set the master mode selection 2 */
+  if (IS_TIM_TRGO2_INSTANCE(htim->Instance))
+ 8002888:      687b            ldr     r3, [r7, #4]
+ 800288a:      681b            ldr     r3, [r3, #0]
+ 800288c:      4a1c            ldr     r2, [pc, #112]  ; (8002900 <HAL_TIMEx_MasterConfigSynchronization+0xb0>)
+ 800288e:      4293            cmp     r3, r2
+ 8002890:      d004            beq.n   800289c <HAL_TIMEx_MasterConfigSynchronization+0x4c>
+ 8002892:      687b            ldr     r3, [r7, #4]
+ 8002894:      681b            ldr     r3, [r3, #0]
+ 8002896:      4a1b            ldr     r2, [pc, #108]  ; (8002904 <HAL_TIMEx_MasterConfigSynchronization+0xb4>)
+ 8002898:      4293            cmp     r3, r2
+ 800289a:      d108            bne.n   80028ae <HAL_TIMEx_MasterConfigSynchronization+0x5e>
+  {
+    /* Check the parameters */
+    assert_param(IS_TIM_TRGO2_SOURCE(sMasterConfig->MasterOutputTrigger2));
+
+    /* Clear the MMS2 bits */
+    tmpcr2 &= ~TIM_CR2_MMS2;
+ 800289c:      68fb            ldr     r3, [r7, #12]
+ 800289e:      f423 0370       bic.w   r3, r3, #15728640       ; 0xf00000
+ 80028a2:      60fb            str     r3, [r7, #12]
+    /* Select the TRGO2 source*/
+    tmpcr2 |= sMasterConfig->MasterOutputTrigger2;
+ 80028a4:      683b            ldr     r3, [r7, #0]
+ 80028a6:      685b            ldr     r3, [r3, #4]
+ 80028a8:      68fa            ldr     r2, [r7, #12]
+ 80028aa:      4313            orrs    r3, r2
+ 80028ac:      60fb            str     r3, [r7, #12]
+  }
+
+  /* Reset the MMS Bits */
+  tmpcr2 &= ~TIM_CR2_MMS;
+ 80028ae:      68fb            ldr     r3, [r7, #12]
+ 80028b0:      f023 0370       bic.w   r3, r3, #112    ; 0x70
+ 80028b4:      60fb            str     r3, [r7, #12]
+  /* Select the TRGO source */
+  tmpcr2 |=  sMasterConfig->MasterOutputTrigger;
+ 80028b6:      683b            ldr     r3, [r7, #0]
+ 80028b8:      681b            ldr     r3, [r3, #0]
+ 80028ba:      68fa            ldr     r2, [r7, #12]
+ 80028bc:      4313            orrs    r3, r2
+ 80028be:      60fb            str     r3, [r7, #12]
+
+  /* Reset the MSM Bit */
+  tmpsmcr &= ~TIM_SMCR_MSM;
+ 80028c0:      68bb            ldr     r3, [r7, #8]
+ 80028c2:      f023 0380       bic.w   r3, r3, #128    ; 0x80
+ 80028c6:      60bb            str     r3, [r7, #8]
+  /* Set master mode */
+  tmpsmcr |= sMasterConfig->MasterSlaveMode;
+ 80028c8:      683b            ldr     r3, [r7, #0]
+ 80028ca:      689b            ldr     r3, [r3, #8]
+ 80028cc:      68ba            ldr     r2, [r7, #8]
+ 80028ce:      4313            orrs    r3, r2
+ 80028d0:      60bb            str     r3, [r7, #8]
+
+  /* Update TIMx CR2 */
+  htim->Instance->CR2 = tmpcr2;
+ 80028d2:      687b            ldr     r3, [r7, #4]
+ 80028d4:      681b            ldr     r3, [r3, #0]
+ 80028d6:      68fa            ldr     r2, [r7, #12]
+ 80028d8:      605a            str     r2, [r3, #4]
+
+  /* Update TIMx SMCR */
+  htim->Instance->SMCR = tmpsmcr;
+ 80028da:      687b            ldr     r3, [r7, #4]
+ 80028dc:      681b            ldr     r3, [r3, #0]
+ 80028de:      68ba            ldr     r2, [r7, #8]
+ 80028e0:      609a            str     r2, [r3, #8]
+
+  /* Change the htim state */
+  htim->State = HAL_TIM_STATE_READY;
+ 80028e2:      687b            ldr     r3, [r7, #4]
+ 80028e4:      2201            movs    r2, #1
+ 80028e6:      f883 203d       strb.w  r2, [r3, #61]   ; 0x3d
+
+  __HAL_UNLOCK(htim);
+ 80028ea:      687b            ldr     r3, [r7, #4]
+ 80028ec:      2200            movs    r2, #0
+ 80028ee:      f883 203c       strb.w  r2, [r3, #60]   ; 0x3c
+
+  return HAL_OK;
+ 80028f2:      2300            movs    r3, #0
+}
+ 80028f4:      4618            mov     r0, r3
+ 80028f6:      3714            adds    r7, #20
+ 80028f8:      46bd            mov     sp, r7
+ 80028fa:      f85d 7b04       ldr.w   r7, [sp], #4
+ 80028fe:      4770            bx      lr
+ 8002900:      40010000        .word   0x40010000
+ 8002904:      40010400        .word   0x40010400
+
+08002908 <HAL_UART_Init>:
+  *        parameters in the UART_InitTypeDef and initialize the associated handle.
+  * @param huart UART handle.
+  * @retval HAL status
+  */
+HAL_StatusTypeDef HAL_UART_Init(UART_HandleTypeDef *huart)
+{
+ 8002908:      b580            push    {r7, lr}
+ 800290a:      b082            sub     sp, #8
+ 800290c:      af00            add     r7, sp, #0
+ 800290e:      6078            str     r0, [r7, #4]
+  /* Check the UART handle allocation */
+  if (huart == NULL)
+ 8002910:      687b            ldr     r3, [r7, #4]
+ 8002912:      2b00            cmp     r3, #0
+ 8002914:      d101            bne.n   800291a <HAL_UART_Init+0x12>
+  {
+    return HAL_ERROR;
+ 8002916:      2301            movs    r3, #1
+ 8002918:      e040            b.n     800299c <HAL_UART_Init+0x94>
+  {
+    /* Check the parameters */
+    assert_param(IS_UART_INSTANCE(huart->Instance));
+  }
+
+  if (huart->gState == HAL_UART_STATE_RESET)
+ 800291a:      687b            ldr     r3, [r7, #4]
+ 800291c:      6f5b            ldr     r3, [r3, #116]  ; 0x74
+ 800291e:      2b00            cmp     r3, #0
+ 8002920:      d106            bne.n   8002930 <HAL_UART_Init+0x28>
+  {
+    /* Allocate lock resource and initialize it */
+    huart->Lock = HAL_UNLOCKED;
+ 8002922:      687b            ldr     r3, [r7, #4]
+ 8002924:      2200            movs    r2, #0
+ 8002926:      f883 2070       strb.w  r2, [r3, #112]  ; 0x70
+
+    /* Init the low level hardware */
+    huart->MspInitCallback(huart);
+#else
+    /* Init the low level hardware : GPIO, CLOCK */
+    HAL_UART_MspInit(huart);
+ 800292a:      6878            ldr     r0, [r7, #4]
+ 800292c:      f002 ff10       bl      8005750 <HAL_UART_MspInit>
+#endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
+  }
+
+  huart->gState = HAL_UART_STATE_BUSY;
+ 8002930:      687b            ldr     r3, [r7, #4]
+ 8002932:      2224            movs    r2, #36 ; 0x24
+ 8002934:      675a            str     r2, [r3, #116]  ; 0x74
+
+  /* Disable the Peripheral */
+  __HAL_UART_DISABLE(huart);
+ 8002936:      687b            ldr     r3, [r7, #4]
+ 8002938:      681b            ldr     r3, [r3, #0]
+ 800293a:      681a            ldr     r2, [r3, #0]
+ 800293c:      687b            ldr     r3, [r7, #4]
+ 800293e:      681b            ldr     r3, [r3, #0]
+ 8002940:      f022 0201       bic.w   r2, r2, #1
+ 8002944:      601a            str     r2, [r3, #0]
+
+  /* Set the UART Communication parameters */
+  if (UART_SetConfig(huart) == HAL_ERROR)
+ 8002946:      6878            ldr     r0, [r7, #4]
+ 8002948:      f000 fa7a       bl      8002e40 <UART_SetConfig>
+ 800294c:      4603            mov     r3, r0
+ 800294e:      2b01            cmp     r3, #1
+ 8002950:      d101            bne.n   8002956 <HAL_UART_Init+0x4e>
+  {
+    return HAL_ERROR;
+ 8002952:      2301            movs    r3, #1
+ 8002954:      e022            b.n     800299c <HAL_UART_Init+0x94>
+  }
+
+  if (huart->AdvancedInit.AdvFeatureInit != UART_ADVFEATURE_NO_INIT)
+ 8002956:      687b            ldr     r3, [r7, #4]
+ 8002958:      6a5b            ldr     r3, [r3, #36]   ; 0x24
+ 800295a:      2b00            cmp     r3, #0
+ 800295c:      d002            beq.n   8002964 <HAL_UART_Init+0x5c>
+  {
+    UART_AdvFeatureConfig(huart);
+ 800295e:      6878            ldr     r0, [r7, #4]
+ 8002960:      f000 fd12       bl      8003388 <UART_AdvFeatureConfig>
+  }
+
+  /* In asynchronous mode, the following bits must be kept cleared:
+  - LINEN and CLKEN bits in the USART_CR2 register,
+  - SCEN, HDSEL and IREN  bits in the USART_CR3 register.*/
+  CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN));
+ 8002964:      687b            ldr     r3, [r7, #4]
+ 8002966:      681b            ldr     r3, [r3, #0]
+ 8002968:      685a            ldr     r2, [r3, #4]
+ 800296a:      687b            ldr     r3, [r7, #4]
+ 800296c:      681b            ldr     r3, [r3, #0]
+ 800296e:      f422 4290       bic.w   r2, r2, #18432  ; 0x4800
+ 8002972:      605a            str     r2, [r3, #4]
+  CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN));
+ 8002974:      687b            ldr     r3, [r7, #4]
+ 8002976:      681b            ldr     r3, [r3, #0]
+ 8002978:      689a            ldr     r2, [r3, #8]
+ 800297a:      687b            ldr     r3, [r7, #4]
+ 800297c:      681b            ldr     r3, [r3, #0]
+ 800297e:      f022 022a       bic.w   r2, r2, #42     ; 0x2a
+ 8002982:      609a            str     r2, [r3, #8]
+
+  /* Enable the Peripheral */
+  __HAL_UART_ENABLE(huart);
+ 8002984:      687b            ldr     r3, [r7, #4]
+ 8002986:      681b            ldr     r3, [r3, #0]
+ 8002988:      681a            ldr     r2, [r3, #0]
+ 800298a:      687b            ldr     r3, [r7, #4]
+ 800298c:      681b            ldr     r3, [r3, #0]
+ 800298e:      f042 0201       orr.w   r2, r2, #1
+ 8002992:      601a            str     r2, [r3, #0]
+
+  /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */
+  return (UART_CheckIdleState(huart));
+ 8002994:      6878            ldr     r0, [r7, #4]
+ 8002996:      f000 fd99       bl      80034cc <UART_CheckIdleState>
+ 800299a:      4603            mov     r3, r0
+}
+ 800299c:      4618            mov     r0, r3
+ 800299e:      3708            adds    r7, #8
+ 80029a0:      46bd            mov     sp, r7
+ 80029a2:      bd80            pop     {r7, pc}
+
+080029a4 <HAL_UART_Transmit_DMA>:
+  * @param pData Pointer to data buffer.
+  * @param Size  Amount of data to be sent.
+  * @retval HAL status
+  */
+HAL_StatusTypeDef HAL_UART_Transmit_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
+{
+ 80029a4:      b580            push    {r7, lr}
+ 80029a6:      b084            sub     sp, #16
+ 80029a8:      af00            add     r7, sp, #0
+ 80029aa:      60f8            str     r0, [r7, #12]
+ 80029ac:      60b9            str     r1, [r7, #8]
+ 80029ae:      4613            mov     r3, r2
+ 80029b0:      80fb            strh    r3, [r7, #6]
+  /* Check that a Tx process is not already ongoing */
+  if (huart->gState == HAL_UART_STATE_READY)
+ 80029b2:      68fb            ldr     r3, [r7, #12]
+ 80029b4:      6f5b            ldr     r3, [r3, #116]  ; 0x74
+ 80029b6:      2b20            cmp     r3, #32
+ 80029b8:      d164            bne.n   8002a84 <HAL_UART_Transmit_DMA+0xe0>
+  {
+    if ((pData == NULL) || (Size == 0U))
+ 80029ba:      68bb            ldr     r3, [r7, #8]
+ 80029bc:      2b00            cmp     r3, #0
+ 80029be:      d002            beq.n   80029c6 <HAL_UART_Transmit_DMA+0x22>
+ 80029c0:      88fb            ldrh    r3, [r7, #6]
+ 80029c2:      2b00            cmp     r3, #0
+ 80029c4:      d101            bne.n   80029ca <HAL_UART_Transmit_DMA+0x26>
+    {
+      return HAL_ERROR;
+ 80029c6:      2301            movs    r3, #1
+ 80029c8:      e05d            b.n     8002a86 <HAL_UART_Transmit_DMA+0xe2>
+    }
+
+    /* Process Locked */
+    __HAL_LOCK(huart);
+ 80029ca:      68fb            ldr     r3, [r7, #12]
+ 80029cc:      f893 3070       ldrb.w  r3, [r3, #112]  ; 0x70
+ 80029d0:      2b01            cmp     r3, #1
+ 80029d2:      d101            bne.n   80029d8 <HAL_UART_Transmit_DMA+0x34>
+ 80029d4:      2302            movs    r3, #2
+ 80029d6:      e056            b.n     8002a86 <HAL_UART_Transmit_DMA+0xe2>
+ 80029d8:      68fb            ldr     r3, [r7, #12]
+ 80029da:      2201            movs    r2, #1
+ 80029dc:      f883 2070       strb.w  r2, [r3, #112]  ; 0x70
+
+    huart->pTxBuffPtr  = pData;
+ 80029e0:      68fb            ldr     r3, [r7, #12]
+ 80029e2:      68ba            ldr     r2, [r7, #8]
+ 80029e4:      64da            str     r2, [r3, #76]   ; 0x4c
+    huart->TxXferSize  = Size;
+ 80029e6:      68fb            ldr     r3, [r7, #12]
+ 80029e8:      88fa            ldrh    r2, [r7, #6]
+ 80029ea:      f8a3 2050       strh.w  r2, [r3, #80]   ; 0x50
+    huart->TxXferCount = Size;
+ 80029ee:      68fb            ldr     r3, [r7, #12]
+ 80029f0:      88fa            ldrh    r2, [r7, #6]
+ 80029f2:      f8a3 2052       strh.w  r2, [r3, #82]   ; 0x52
+
+    huart->ErrorCode = HAL_UART_ERROR_NONE;
+ 80029f6:      68fb            ldr     r3, [r7, #12]
+ 80029f8:      2200            movs    r2, #0
+ 80029fa:      67da            str     r2, [r3, #124]  ; 0x7c
+    huart->gState = HAL_UART_STATE_BUSY_TX;
+ 80029fc:      68fb            ldr     r3, [r7, #12]
+ 80029fe:      2221            movs    r2, #33 ; 0x21
+ 8002a00:      675a            str     r2, [r3, #116]  ; 0x74
+
+    if (huart->hdmatx != NULL)
+ 8002a02:      68fb            ldr     r3, [r7, #12]
+ 8002a04:      6e9b            ldr     r3, [r3, #104]  ; 0x68
+ 8002a06:      2b00            cmp     r3, #0
+ 8002a08:      d02a            beq.n   8002a60 <HAL_UART_Transmit_DMA+0xbc>
+    {
+      /* Set the UART DMA transfer complete callback */
+      huart->hdmatx->XferCpltCallback = UART_DMATransmitCplt;
+ 8002a0a:      68fb            ldr     r3, [r7, #12]
+ 8002a0c:      6e9b            ldr     r3, [r3, #104]  ; 0x68
+ 8002a0e:      4a20            ldr     r2, [pc, #128]  ; (8002a90 <HAL_UART_Transmit_DMA+0xec>)
+ 8002a10:      63da            str     r2, [r3, #60]   ; 0x3c
+
+      /* Set the UART DMA Half transfer complete callback */
+      huart->hdmatx->XferHalfCpltCallback = UART_DMATxHalfCplt;
+ 8002a12:      68fb            ldr     r3, [r7, #12]
+ 8002a14:      6e9b            ldr     r3, [r3, #104]  ; 0x68
+ 8002a16:      4a1f            ldr     r2, [pc, #124]  ; (8002a94 <HAL_UART_Transmit_DMA+0xf0>)
+ 8002a18:      641a            str     r2, [r3, #64]   ; 0x40
+
+      /* Set the DMA error callback */
+      huart->hdmatx->XferErrorCallback = UART_DMAError;
+ 8002a1a:      68fb            ldr     r3, [r7, #12]
+ 8002a1c:      6e9b            ldr     r3, [r3, #104]  ; 0x68
+ 8002a1e:      4a1e            ldr     r2, [pc, #120]  ; (8002a98 <HAL_UART_Transmit_DMA+0xf4>)
+ 8002a20:      64da            str     r2, [r3, #76]   ; 0x4c
+
+      /* Set the DMA abort callback */
+      huart->hdmatx->XferAbortCallback = NULL;
+ 8002a22:      68fb            ldr     r3, [r7, #12]
+ 8002a24:      6e9b            ldr     r3, [r3, #104]  ; 0x68
+ 8002a26:      2200            movs    r2, #0
+ 8002a28:      651a            str     r2, [r3, #80]   ; 0x50
+
+      /* Enable the UART transmit DMA channel */
+      if (HAL_DMA_Start_IT(huart->hdmatx, (uint32_t)huart->pTxBuffPtr, (uint32_t)&huart->Instance->TDR, Size) != HAL_OK)
+ 8002a2a:      68fb            ldr     r3, [r7, #12]
+ 8002a2c:      6e98            ldr     r0, [r3, #104]  ; 0x68
+ 8002a2e:      68fb            ldr     r3, [r7, #12]
+ 8002a30:      6cdb            ldr     r3, [r3, #76]   ; 0x4c
+ 8002a32:      4619            mov     r1, r3
+ 8002a34:      68fb            ldr     r3, [r7, #12]
+ 8002a36:      681b            ldr     r3, [r3, #0]
+ 8002a38:      3328            adds    r3, #40 ; 0x28
+ 8002a3a:      461a            mov     r2, r3
+ 8002a3c:      88fb            ldrh    r3, [r7, #6]
+ 8002a3e:      f7fd ffc3       bl      80009c8 <HAL_DMA_Start_IT>
+ 8002a42:      4603            mov     r3, r0
+ 8002a44:      2b00            cmp     r3, #0
+ 8002a46:      d00b            beq.n   8002a60 <HAL_UART_Transmit_DMA+0xbc>
+      {
+        /* Set error code to DMA */
+        huart->ErrorCode = HAL_UART_ERROR_DMA;
+ 8002a48:      68fb            ldr     r3, [r7, #12]
+ 8002a4a:      2210            movs    r2, #16
+ 8002a4c:      67da            str     r2, [r3, #124]  ; 0x7c
+
+        /* Process Unlocked */
+        __HAL_UNLOCK(huart);
+ 8002a4e:      68fb            ldr     r3, [r7, #12]
+ 8002a50:      2200            movs    r2, #0
+ 8002a52:      f883 2070       strb.w  r2, [r3, #112]  ; 0x70
+
+        /* Restore huart->gState to ready */
+        huart->gState = HAL_UART_STATE_READY;
+ 8002a56:      68fb            ldr     r3, [r7, #12]
+ 8002a58:      2220            movs    r2, #32
+ 8002a5a:      675a            str     r2, [r3, #116]  ; 0x74
+
+        return HAL_ERROR;
+ 8002a5c:      2301            movs    r3, #1
+ 8002a5e:      e012            b.n     8002a86 <HAL_UART_Transmit_DMA+0xe2>
+      }
+    }
+    /* Clear the TC flag in the ICR register */
+    __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_TCF);
+ 8002a60:      68fb            ldr     r3, [r7, #12]
+ 8002a62:      681b            ldr     r3, [r3, #0]
+ 8002a64:      2240            movs    r2, #64 ; 0x40
+ 8002a66:      621a            str     r2, [r3, #32]
+
+    /* Process Unlocked */
+    __HAL_UNLOCK(huart);
+ 8002a68:      68fb            ldr     r3, [r7, #12]
+ 8002a6a:      2200            movs    r2, #0
+ 8002a6c:      f883 2070       strb.w  r2, [r3, #112]  ; 0x70
+
+    /* Enable the DMA transfer for transmit request by setting the DMAT bit
+    in the UART CR3 register */
+    SET_BIT(huart->Instance->CR3, USART_CR3_DMAT);
+ 8002a70:      68fb            ldr     r3, [r7, #12]
+ 8002a72:      681b            ldr     r3, [r3, #0]
+ 8002a74:      689a            ldr     r2, [r3, #8]
+ 8002a76:      68fb            ldr     r3, [r7, #12]
+ 8002a78:      681b            ldr     r3, [r3, #0]
+ 8002a7a:      f042 0280       orr.w   r2, r2, #128    ; 0x80
+ 8002a7e:      609a            str     r2, [r3, #8]
+
+    return HAL_OK;
+ 8002a80:      2300            movs    r3, #0
+ 8002a82:      e000            b.n     8002a86 <HAL_UART_Transmit_DMA+0xe2>
+  }
+  else
+  {
+    return HAL_BUSY;
+ 8002a84:      2302            movs    r3, #2
+  }
+}
+ 8002a86:      4618            mov     r0, r3
+ 8002a88:      3710            adds    r7, #16
+ 8002a8a:      46bd            mov     sp, r7
+ 8002a8c:      bd80            pop     {r7, pc}
+ 8002a8e:      bf00            nop
+ 8002a90:      08003625        .word   0x08003625
+ 8002a94:      08003675        .word   0x08003675
+ 8002a98:      08003711        .word   0x08003711
+
+08002a9c <HAL_UART_Receive_DMA>:
+  * @param pData Pointer to data buffer.
+  * @param Size  Amount of data to be received.
+  * @retval HAL status
+  */
+HAL_StatusTypeDef HAL_UART_Receive_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
+{
+ 8002a9c:      b580            push    {r7, lr}
+ 8002a9e:      b084            sub     sp, #16
+ 8002aa0:      af00            add     r7, sp, #0
+ 8002aa2:      60f8            str     r0, [r7, #12]
+ 8002aa4:      60b9            str     r1, [r7, #8]
+ 8002aa6:      4613            mov     r3, r2
+ 8002aa8:      80fb            strh    r3, [r7, #6]
+  /* Check that a Rx process is not already ongoing */
+  if (huart->RxState == HAL_UART_STATE_READY)
+ 8002aaa:      68fb            ldr     r3, [r7, #12]
+ 8002aac:      6f9b            ldr     r3, [r3, #120]  ; 0x78
+ 8002aae:      2b20            cmp     r3, #32
+ 8002ab0:      d16c            bne.n   8002b8c <HAL_UART_Receive_DMA+0xf0>
+  {
+    if ((pData == NULL) || (Size == 0U))
+ 8002ab2:      68bb            ldr     r3, [r7, #8]
+ 8002ab4:      2b00            cmp     r3, #0
+ 8002ab6:      d002            beq.n   8002abe <HAL_UART_Receive_DMA+0x22>
+ 8002ab8:      88fb            ldrh    r3, [r7, #6]
+ 8002aba:      2b00            cmp     r3, #0
+ 8002abc:      d101            bne.n   8002ac2 <HAL_UART_Receive_DMA+0x26>
+    {
+      return HAL_ERROR;
+ 8002abe:      2301            movs    r3, #1
+ 8002ac0:      e065            b.n     8002b8e <HAL_UART_Receive_DMA+0xf2>
+    }
+
+    /* Process Locked */
+    __HAL_LOCK(huart);
+ 8002ac2:      68fb            ldr     r3, [r7, #12]
+ 8002ac4:      f893 3070       ldrb.w  r3, [r3, #112]  ; 0x70
+ 8002ac8:      2b01            cmp     r3, #1
+ 8002aca:      d101            bne.n   8002ad0 <HAL_UART_Receive_DMA+0x34>
+ 8002acc:      2302            movs    r3, #2
+ 8002ace:      e05e            b.n     8002b8e <HAL_UART_Receive_DMA+0xf2>
+ 8002ad0:      68fb            ldr     r3, [r7, #12]
+ 8002ad2:      2201            movs    r2, #1
+ 8002ad4:      f883 2070       strb.w  r2, [r3, #112]  ; 0x70
+
+    huart->pRxBuffPtr = pData;
+ 8002ad8:      68fb            ldr     r3, [r7, #12]
+ 8002ada:      68ba            ldr     r2, [r7, #8]
+ 8002adc:      655a            str     r2, [r3, #84]   ; 0x54
+    huart->RxXferSize = Size;
+ 8002ade:      68fb            ldr     r3, [r7, #12]
+ 8002ae0:      88fa            ldrh    r2, [r7, #6]
+ 8002ae2:      f8a3 2058       strh.w  r2, [r3, #88]   ; 0x58
+
+    huart->ErrorCode = HAL_UART_ERROR_NONE;
+ 8002ae6:      68fb            ldr     r3, [r7, #12]
+ 8002ae8:      2200            movs    r2, #0
+ 8002aea:      67da            str     r2, [r3, #124]  ; 0x7c
+    huart->RxState = HAL_UART_STATE_BUSY_RX;
+ 8002aec:      68fb            ldr     r3, [r7, #12]
+ 8002aee:      2222            movs    r2, #34 ; 0x22
+ 8002af0:      679a            str     r2, [r3, #120]  ; 0x78
+
+    if (huart->hdmarx != NULL)
+ 8002af2:      68fb            ldr     r3, [r7, #12]
+ 8002af4:      6edb            ldr     r3, [r3, #108]  ; 0x6c
+ 8002af6:      2b00            cmp     r3, #0
+ 8002af8:      d02a            beq.n   8002b50 <HAL_UART_Receive_DMA+0xb4>
+    {
+      /* Set the UART DMA transfer complete callback */
+      huart->hdmarx->XferCpltCallback = UART_DMAReceiveCplt;
+ 8002afa:      68fb            ldr     r3, [r7, #12]
+ 8002afc:      6edb            ldr     r3, [r3, #108]  ; 0x6c
+ 8002afe:      4a26            ldr     r2, [pc, #152]  ; (8002b98 <HAL_UART_Receive_DMA+0xfc>)
+ 8002b00:      63da            str     r2, [r3, #60]   ; 0x3c
+
+      /* Set the UART DMA Half transfer complete callback */
+      huart->hdmarx->XferHalfCpltCallback = UART_DMARxHalfCplt;
+ 8002b02:      68fb            ldr     r3, [r7, #12]
+ 8002b04:      6edb            ldr     r3, [r3, #108]  ; 0x6c
+ 8002b06:      4a25            ldr     r2, [pc, #148]  ; (8002b9c <HAL_UART_Receive_DMA+0x100>)
+ 8002b08:      641a            str     r2, [r3, #64]   ; 0x40
+
+      /* Set the DMA error callback */
+      huart->hdmarx->XferErrorCallback = UART_DMAError;
+ 8002b0a:      68fb            ldr     r3, [r7, #12]
+ 8002b0c:      6edb            ldr     r3, [r3, #108]  ; 0x6c
+ 8002b0e:      4a24            ldr     r2, [pc, #144]  ; (8002ba0 <HAL_UART_Receive_DMA+0x104>)
+ 8002b10:      64da            str     r2, [r3, #76]   ; 0x4c
+
+      /* Set the DMA abort callback */
+      huart->hdmarx->XferAbortCallback = NULL;
+ 8002b12:      68fb            ldr     r3, [r7, #12]
+ 8002b14:      6edb            ldr     r3, [r3, #108]  ; 0x6c
+ 8002b16:      2200            movs    r2, #0
+ 8002b18:      651a            str     r2, [r3, #80]   ; 0x50
+
+      /* Enable the DMA channel */
+      if (HAL_DMA_Start_IT(huart->hdmarx, (uint32_t)&huart->Instance->RDR, (uint32_t)huart->pRxBuffPtr, Size) != HAL_OK)
+ 8002b1a:      68fb            ldr     r3, [r7, #12]
+ 8002b1c:      6ed8            ldr     r0, [r3, #108]  ; 0x6c
+ 8002b1e:      68fb            ldr     r3, [r7, #12]
+ 8002b20:      681b            ldr     r3, [r3, #0]
+ 8002b22:      3324            adds    r3, #36 ; 0x24
+ 8002b24:      4619            mov     r1, r3
+ 8002b26:      68fb            ldr     r3, [r7, #12]
+ 8002b28:      6d5b            ldr     r3, [r3, #84]   ; 0x54
+ 8002b2a:      461a            mov     r2, r3
+ 8002b2c:      88fb            ldrh    r3, [r7, #6]
+ 8002b2e:      f7fd ff4b       bl      80009c8 <HAL_DMA_Start_IT>
+ 8002b32:      4603            mov     r3, r0
+ 8002b34:      2b00            cmp     r3, #0
+ 8002b36:      d00b            beq.n   8002b50 <HAL_UART_Receive_DMA+0xb4>
+      {
+        /* Set error code to DMA */
+        huart->ErrorCode = HAL_UART_ERROR_DMA;
+ 8002b38:      68fb            ldr     r3, [r7, #12]
+ 8002b3a:      2210            movs    r2, #16
+ 8002b3c:      67da            str     r2, [r3, #124]  ; 0x7c
+
+        /* Process Unlocked */
+        __HAL_UNLOCK(huart);
+ 8002b3e:      68fb            ldr     r3, [r7, #12]
+ 8002b40:      2200            movs    r2, #0
+ 8002b42:      f883 2070       strb.w  r2, [r3, #112]  ; 0x70
+
+        /* Restore huart->gState to ready */
+        huart->gState = HAL_UART_STATE_READY;
+ 8002b46:      68fb            ldr     r3, [r7, #12]
+ 8002b48:      2220            movs    r2, #32
+ 8002b4a:      675a            str     r2, [r3, #116]  ; 0x74
+
+        return HAL_ERROR;
+ 8002b4c:      2301            movs    r3, #1
+ 8002b4e:      e01e            b.n     8002b8e <HAL_UART_Receive_DMA+0xf2>
+      }
+    }
+    /* Process Unlocked */
+    __HAL_UNLOCK(huart);
+ 8002b50:      68fb            ldr     r3, [r7, #12]
+ 8002b52:      2200            movs    r2, #0
+ 8002b54:      f883 2070       strb.w  r2, [r3, #112]  ; 0x70
+
+    /* Enable the UART Parity Error Interrupt */
+    SET_BIT(huart->Instance->CR1, USART_CR1_PEIE);
+ 8002b58:      68fb            ldr     r3, [r7, #12]
+ 8002b5a:      681b            ldr     r3, [r3, #0]
+ 8002b5c:      681a            ldr     r2, [r3, #0]
+ 8002b5e:      68fb            ldr     r3, [r7, #12]
+ 8002b60:      681b            ldr     r3, [r3, #0]
+ 8002b62:      f442 7280       orr.w   r2, r2, #256    ; 0x100
+ 8002b66:      601a            str     r2, [r3, #0]
+
+    /* Enable the UART Error Interrupt: (Frame error, noise error, overrun error) */
+    SET_BIT(huart->Instance->CR3, USART_CR3_EIE);
+ 8002b68:      68fb            ldr     r3, [r7, #12]
+ 8002b6a:      681b            ldr     r3, [r3, #0]
+ 8002b6c:      689a            ldr     r2, [r3, #8]
+ 8002b6e:      68fb            ldr     r3, [r7, #12]
+ 8002b70:      681b            ldr     r3, [r3, #0]
+ 8002b72:      f042 0201       orr.w   r2, r2, #1
+ 8002b76:      609a            str     r2, [r3, #8]
+
+    /* Enable the DMA transfer for the receiver request by setting the DMAR bit
+    in the UART CR3 register */
+    SET_BIT(huart->Instance->CR3, USART_CR3_DMAR);
+ 8002b78:      68fb            ldr     r3, [r7, #12]
+ 8002b7a:      681b            ldr     r3, [r3, #0]
+ 8002b7c:      689a            ldr     r2, [r3, #8]
+ 8002b7e:      68fb            ldr     r3, [r7, #12]
+ 8002b80:      681b            ldr     r3, [r3, #0]
+ 8002b82:      f042 0240       orr.w   r2, r2, #64     ; 0x40
+ 8002b86:      609a            str     r2, [r3, #8]
+
+    return HAL_OK;
+ 8002b88:      2300            movs    r3, #0
+ 8002b8a:      e000            b.n     8002b8e <HAL_UART_Receive_DMA+0xf2>
+  }
+  else
+  {
+    return HAL_BUSY;
+ 8002b8c:      2302            movs    r3, #2
+  }
+}
+ 8002b8e:      4618            mov     r0, r3
+ 8002b90:      3710            adds    r7, #16
+ 8002b92:      46bd            mov     sp, r7
+ 8002b94:      bd80            pop     {r7, pc}
+ 8002b96:      bf00            nop
+ 8002b98:      08003691        .word   0x08003691
+ 8002b9c:      080036f5        .word   0x080036f5
+ 8002ba0:      08003711        .word   0x08003711
+
+08002ba4 <HAL_UART_IRQHandler>:
+  * @brief Handle UART interrupt request.
+  * @param huart UART handle.
+  * @retval None
+  */
+void HAL_UART_IRQHandler(UART_HandleTypeDef *huart)
+{
+ 8002ba4:      b580            push    {r7, lr}
+ 8002ba6:      b088            sub     sp, #32
+ 8002ba8:      af00            add     r7, sp, #0
+ 8002baa:      6078            str     r0, [r7, #4]
+  uint32_t isrflags   = READ_REG(huart->Instance->ISR);
+ 8002bac:      687b            ldr     r3, [r7, #4]
+ 8002bae:      681b            ldr     r3, [r3, #0]
+ 8002bb0:      69db            ldr     r3, [r3, #28]
+ 8002bb2:      61fb            str     r3, [r7, #28]
+  uint32_t cr1its     = READ_REG(huart->Instance->CR1);
+ 8002bb4:      687b            ldr     r3, [r7, #4]
+ 8002bb6:      681b            ldr     r3, [r3, #0]
+ 8002bb8:      681b            ldr     r3, [r3, #0]
+ 8002bba:      61bb            str     r3, [r7, #24]
+  uint32_t cr3its     = READ_REG(huart->Instance->CR3);
+ 8002bbc:      687b            ldr     r3, [r7, #4]
+ 8002bbe:      681b            ldr     r3, [r3, #0]
+ 8002bc0:      689b            ldr     r3, [r3, #8]
+ 8002bc2:      617b            str     r3, [r7, #20]
+
+  uint32_t errorflags;
+  uint32_t errorcode;
+
+  /* If no error occurs */
+  errorflags = (isrflags & (uint32_t)(USART_ISR_PE | USART_ISR_FE | USART_ISR_ORE | USART_ISR_NE));
+ 8002bc4:      69fb            ldr     r3, [r7, #28]
+ 8002bc6:      f003 030f       and.w   r3, r3, #15
+ 8002bca:      613b            str     r3, [r7, #16]
+  if (errorflags == 0U)
+ 8002bcc:      693b            ldr     r3, [r7, #16]
+ 8002bce:      2b00            cmp     r3, #0
+ 8002bd0:      d113            bne.n   8002bfa <HAL_UART_IRQHandler+0x56>
+  {
+    /* UART in mode Receiver ---------------------------------------------------*/
+    if (((isrflags & USART_ISR_RXNE) != 0U)
+ 8002bd2:      69fb            ldr     r3, [r7, #28]
+ 8002bd4:      f003 0320       and.w   r3, r3, #32
+ 8002bd8:      2b00            cmp     r3, #0
+ 8002bda:      d00e            beq.n   8002bfa <HAL_UART_IRQHandler+0x56>
+        && ((cr1its & USART_CR1_RXNEIE) != 0U))
+ 8002bdc:      69bb            ldr     r3, [r7, #24]
+ 8002bde:      f003 0320       and.w   r3, r3, #32
+ 8002be2:      2b00            cmp     r3, #0
+ 8002be4:      d009            beq.n   8002bfa <HAL_UART_IRQHandler+0x56>
+    {
+      if (huart->RxISR != NULL)
+ 8002be6:      687b            ldr     r3, [r7, #4]
+ 8002be8:      6e1b            ldr     r3, [r3, #96]   ; 0x60
+ 8002bea:      2b00            cmp     r3, #0
+ 8002bec:      f000 80eb       beq.w   8002dc6 <HAL_UART_IRQHandler+0x222>
+      {
+        huart->RxISR(huart);
+ 8002bf0:      687b            ldr     r3, [r7, #4]
+ 8002bf2:      6e1b            ldr     r3, [r3, #96]   ; 0x60
+ 8002bf4:      6878            ldr     r0, [r7, #4]
+ 8002bf6:      4798            blx     r3
+      }
+      return;
+ 8002bf8:      e0e5            b.n     8002dc6 <HAL_UART_IRQHandler+0x222>
+    }
+  }
+
+  /* If some errors occur */
+  if ((errorflags != 0U)
+ 8002bfa:      693b            ldr     r3, [r7, #16]
+ 8002bfc:      2b00            cmp     r3, #0
+ 8002bfe:      f000 80c0       beq.w   8002d82 <HAL_UART_IRQHandler+0x1de>
+      && (((cr3its & USART_CR3_EIE) != 0U)
+ 8002c02:      697b            ldr     r3, [r7, #20]
+ 8002c04:      f003 0301       and.w   r3, r3, #1
+ 8002c08:      2b00            cmp     r3, #0
+ 8002c0a:      d105            bne.n   8002c18 <HAL_UART_IRQHandler+0x74>
+          || ((cr1its & (USART_CR1_RXNEIE | USART_CR1_PEIE)) != 0U)))
+ 8002c0c:      69bb            ldr     r3, [r7, #24]
+ 8002c0e:      f403 7390       and.w   r3, r3, #288    ; 0x120
+ 8002c12:      2b00            cmp     r3, #0
+ 8002c14:      f000 80b5       beq.w   8002d82 <HAL_UART_IRQHandler+0x1de>
+  {
+    /* UART parity error interrupt occurred -------------------------------------*/
+    if (((isrflags & USART_ISR_PE) != 0U) && ((cr1its & USART_CR1_PEIE) != 0U))
+ 8002c18:      69fb            ldr     r3, [r7, #28]
+ 8002c1a:      f003 0301       and.w   r3, r3, #1
+ 8002c1e:      2b00            cmp     r3, #0
+ 8002c20:      d00e            beq.n   8002c40 <HAL_UART_IRQHandler+0x9c>
+ 8002c22:      69bb            ldr     r3, [r7, #24]
+ 8002c24:      f403 7380       and.w   r3, r3, #256    ; 0x100
+ 8002c28:      2b00            cmp     r3, #0
+ 8002c2a:      d009            beq.n   8002c40 <HAL_UART_IRQHandler+0x9c>
+    {
+      __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_PEF);
+ 8002c2c:      687b            ldr     r3, [r7, #4]
+ 8002c2e:      681b            ldr     r3, [r3, #0]
+ 8002c30:      2201            movs    r2, #1
+ 8002c32:      621a            str     r2, [r3, #32]
+
+      huart->ErrorCode |= HAL_UART_ERROR_PE;
+ 8002c34:      687b            ldr     r3, [r7, #4]
+ 8002c36:      6fdb            ldr     r3, [r3, #124]  ; 0x7c
+ 8002c38:      f043 0201       orr.w   r2, r3, #1
+ 8002c3c:      687b            ldr     r3, [r7, #4]
+ 8002c3e:      67da            str     r2, [r3, #124]  ; 0x7c
+    }
+
+    /* UART frame error interrupt occurred --------------------------------------*/
+    if (((isrflags & USART_ISR_FE) != 0U) && ((cr3its & USART_CR3_EIE) != 0U))
+ 8002c40:      69fb            ldr     r3, [r7, #28]
+ 8002c42:      f003 0302       and.w   r3, r3, #2
+ 8002c46:      2b00            cmp     r3, #0
+ 8002c48:      d00e            beq.n   8002c68 <HAL_UART_IRQHandler+0xc4>
+ 8002c4a:      697b            ldr     r3, [r7, #20]
+ 8002c4c:      f003 0301       and.w   r3, r3, #1
+ 8002c50:      2b00            cmp     r3, #0
+ 8002c52:      d009            beq.n   8002c68 <HAL_UART_IRQHandler+0xc4>
+    {
+      __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_FEF);
+ 8002c54:      687b            ldr     r3, [r7, #4]
+ 8002c56:      681b            ldr     r3, [r3, #0]
+ 8002c58:      2202            movs    r2, #2
+ 8002c5a:      621a            str     r2, [r3, #32]
+
+      huart->ErrorCode |= HAL_UART_ERROR_FE;
+ 8002c5c:      687b            ldr     r3, [r7, #4]
+ 8002c5e:      6fdb            ldr     r3, [r3, #124]  ; 0x7c
+ 8002c60:      f043 0204       orr.w   r2, r3, #4
+ 8002c64:      687b            ldr     r3, [r7, #4]
+ 8002c66:      67da            str     r2, [r3, #124]  ; 0x7c
+    }
+
+    /* UART noise error interrupt occurred --------------------------------------*/
+    if (((isrflags & USART_ISR_NE) != 0U) && ((cr3its & USART_CR3_EIE) != 0U))
+ 8002c68:      69fb            ldr     r3, [r7, #28]
+ 8002c6a:      f003 0304       and.w   r3, r3, #4
+ 8002c6e:      2b00            cmp     r3, #0
+ 8002c70:      d00e            beq.n   8002c90 <HAL_UART_IRQHandler+0xec>
+ 8002c72:      697b            ldr     r3, [r7, #20]
+ 8002c74:      f003 0301       and.w   r3, r3, #1
+ 8002c78:      2b00            cmp     r3, #0
+ 8002c7a:      d009            beq.n   8002c90 <HAL_UART_IRQHandler+0xec>
+    {
+      __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_NEF);
+ 8002c7c:      687b            ldr     r3, [r7, #4]
+ 8002c7e:      681b            ldr     r3, [r3, #0]
+ 8002c80:      2204            movs    r2, #4
+ 8002c82:      621a            str     r2, [r3, #32]
+
+      huart->ErrorCode |= HAL_UART_ERROR_NE;
+ 8002c84:      687b            ldr     r3, [r7, #4]
+ 8002c86:      6fdb            ldr     r3, [r3, #124]  ; 0x7c
+ 8002c88:      f043 0202       orr.w   r2, r3, #2
+ 8002c8c:      687b            ldr     r3, [r7, #4]
+ 8002c8e:      67da            str     r2, [r3, #124]  ; 0x7c
+    }
+
+    /* UART Over-Run interrupt occurred -----------------------------------------*/
+    if (((isrflags & USART_ISR_ORE) != 0U)
+ 8002c90:      69fb            ldr     r3, [r7, #28]
+ 8002c92:      f003 0308       and.w   r3, r3, #8
+ 8002c96:      2b00            cmp     r3, #0
+ 8002c98:      d013            beq.n   8002cc2 <HAL_UART_IRQHandler+0x11e>
+        && (((cr1its & USART_CR1_RXNEIE) != 0U) ||
+ 8002c9a:      69bb            ldr     r3, [r7, #24]
+ 8002c9c:      f003 0320       and.w   r3, r3, #32
+ 8002ca0:      2b00            cmp     r3, #0
+ 8002ca2:      d104            bne.n   8002cae <HAL_UART_IRQHandler+0x10a>
+            ((cr3its & USART_CR3_EIE) != 0U)))
+ 8002ca4:      697b            ldr     r3, [r7, #20]
+ 8002ca6:      f003 0301       and.w   r3, r3, #1
+        && (((cr1its & USART_CR1_RXNEIE) != 0U) ||
+ 8002caa:      2b00            cmp     r3, #0
+ 8002cac:      d009            beq.n   8002cc2 <HAL_UART_IRQHandler+0x11e>
+    {
+      __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF);
+ 8002cae:      687b            ldr     r3, [r7, #4]
+ 8002cb0:      681b            ldr     r3, [r3, #0]
+ 8002cb2:      2208            movs    r2, #8
+ 8002cb4:      621a            str     r2, [r3, #32]
+
+      huart->ErrorCode |= HAL_UART_ERROR_ORE;
+ 8002cb6:      687b            ldr     r3, [r7, #4]
+ 8002cb8:      6fdb            ldr     r3, [r3, #124]  ; 0x7c
+ 8002cba:      f043 0208       orr.w   r2, r3, #8
+ 8002cbe:      687b            ldr     r3, [r7, #4]
+ 8002cc0:      67da            str     r2, [r3, #124]  ; 0x7c
+    }
+
+    /* Call UART Error Call back function if need be --------------------------*/
+    if (huart->ErrorCode != HAL_UART_ERROR_NONE)
+ 8002cc2:      687b            ldr     r3, [r7, #4]
+ 8002cc4:      6fdb            ldr     r3, [r3, #124]  ; 0x7c
+ 8002cc6:      2b00            cmp     r3, #0
+ 8002cc8:      d07f            beq.n   8002dca <HAL_UART_IRQHandler+0x226>
+    {
+      /* UART in mode Receiver ---------------------------------------------------*/
+      if (((isrflags & USART_ISR_RXNE) != 0U)
+ 8002cca:      69fb            ldr     r3, [r7, #28]
+ 8002ccc:      f003 0320       and.w   r3, r3, #32
+ 8002cd0:      2b00            cmp     r3, #0
+ 8002cd2:      d00c            beq.n   8002cee <HAL_UART_IRQHandler+0x14a>
+          && ((cr1its & USART_CR1_RXNEIE) != 0U))
+ 8002cd4:      69bb            ldr     r3, [r7, #24]
+ 8002cd6:      f003 0320       and.w   r3, r3, #32
+ 8002cda:      2b00            cmp     r3, #0
+ 8002cdc:      d007            beq.n   8002cee <HAL_UART_IRQHandler+0x14a>
+      {
+        if (huart->RxISR != NULL)
+ 8002cde:      687b            ldr     r3, [r7, #4]
+ 8002ce0:      6e1b            ldr     r3, [r3, #96]   ; 0x60
+ 8002ce2:      2b00            cmp     r3, #0
+ 8002ce4:      d003            beq.n   8002cee <HAL_UART_IRQHandler+0x14a>
+        {
+          huart->RxISR(huart);
+ 8002ce6:      687b            ldr     r3, [r7, #4]
+ 8002ce8:      6e1b            ldr     r3, [r3, #96]   ; 0x60
+ 8002cea:      6878            ldr     r0, [r7, #4]
+ 8002cec:      4798            blx     r3
+        }
+      }
+
+      /* If Overrun error occurs, or if any error occurs in DMA mode reception,
+         consider error as blocking */
+      errorcode = huart->ErrorCode;
+ 8002cee:      687b            ldr     r3, [r7, #4]
+ 8002cf0:      6fdb            ldr     r3, [r3, #124]  ; 0x7c
+ 8002cf2:      60fb            str     r3, [r7, #12]
+      if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) ||
+ 8002cf4:      687b            ldr     r3, [r7, #4]
+ 8002cf6:      681b            ldr     r3, [r3, #0]
+ 8002cf8:      689b            ldr     r3, [r3, #8]
+ 8002cfa:      f003 0340       and.w   r3, r3, #64     ; 0x40
+ 8002cfe:      2b40            cmp     r3, #64 ; 0x40
+ 8002d00:      d004            beq.n   8002d0c <HAL_UART_IRQHandler+0x168>
+          ((errorcode & HAL_UART_ERROR_ORE) != 0U))
+ 8002d02:      68fb            ldr     r3, [r7, #12]
+ 8002d04:      f003 0308       and.w   r3, r3, #8
+      if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) ||
+ 8002d08:      2b00            cmp     r3, #0
+ 8002d0a:      d031            beq.n   8002d70 <HAL_UART_IRQHandler+0x1cc>
+      {
+        /* Blocking error : transfer is aborted
+           Set the UART state ready to be able to start again the process,
+           Disable Rx Interrupts, and disable Rx DMA request, if ongoing */
+        UART_EndRxTransfer(huart);
+ 8002d0c:      6878            ldr     r0, [r7, #4]
+ 8002d0e:      f000 fc69       bl      80035e4 <UART_EndRxTransfer>
+
+        /* Disable the UART DMA Rx request if enabled */
+        if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
+ 8002d12:      687b            ldr     r3, [r7, #4]
+ 8002d14:      681b            ldr     r3, [r3, #0]
+ 8002d16:      689b            ldr     r3, [r3, #8]
+ 8002d18:      f003 0340       and.w   r3, r3, #64     ; 0x40
+ 8002d1c:      2b40            cmp     r3, #64 ; 0x40
+ 8002d1e:      d123            bne.n   8002d68 <HAL_UART_IRQHandler+0x1c4>
+        {
+          CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
+ 8002d20:      687b            ldr     r3, [r7, #4]
+ 8002d22:      681b            ldr     r3, [r3, #0]
+ 8002d24:      689a            ldr     r2, [r3, #8]
+ 8002d26:      687b            ldr     r3, [r7, #4]
+ 8002d28:      681b            ldr     r3, [r3, #0]
+ 8002d2a:      f022 0240       bic.w   r2, r2, #64     ; 0x40
+ 8002d2e:      609a            str     r2, [r3, #8]
+
+          /* Abort the UART DMA Rx channel */
+          if (huart->hdmarx != NULL)
+ 8002d30:      687b            ldr     r3, [r7, #4]
+ 8002d32:      6edb            ldr     r3, [r3, #108]  ; 0x6c
+ 8002d34:      2b00            cmp     r3, #0
+ 8002d36:      d013            beq.n   8002d60 <HAL_UART_IRQHandler+0x1bc>
+          {
+            /* Set the UART DMA Abort callback :
+               will lead to call HAL_UART_ErrorCallback() at end of DMA abort procedure */
+            huart->hdmarx->XferAbortCallback = UART_DMAAbortOnError;
+ 8002d38:      687b            ldr     r3, [r7, #4]
+ 8002d3a:      6edb            ldr     r3, [r3, #108]  ; 0x6c
+ 8002d3c:      4a26            ldr     r2, [pc, #152]  ; (8002dd8 <HAL_UART_IRQHandler+0x234>)
+ 8002d3e:      651a            str     r2, [r3, #80]   ; 0x50
+
+            /* Abort DMA RX */
+            if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK)
+ 8002d40:      687b            ldr     r3, [r7, #4]
+ 8002d42:      6edb            ldr     r3, [r3, #108]  ; 0x6c
+ 8002d44:      4618            mov     r0, r3
+ 8002d46:      f7fd fe9f       bl      8000a88 <HAL_DMA_Abort_IT>
+ 8002d4a:      4603            mov     r3, r0
+ 8002d4c:      2b00            cmp     r3, #0
+ 8002d4e:      d016            beq.n   8002d7e <HAL_UART_IRQHandler+0x1da>
+            {
+              /* Call Directly huart->hdmarx->XferAbortCallback function in case of error */
+              huart->hdmarx->XferAbortCallback(huart->hdmarx);
+ 8002d50:      687b            ldr     r3, [r7, #4]
+ 8002d52:      6edb            ldr     r3, [r3, #108]  ; 0x6c
+ 8002d54:      6d1b            ldr     r3, [r3, #80]   ; 0x50
+ 8002d56:      687a            ldr     r2, [r7, #4]
+ 8002d58:      6ed2            ldr     r2, [r2, #108]  ; 0x6c
+ 8002d5a:      4610            mov     r0, r2
+ 8002d5c:      4798            blx     r3
+        if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
+ 8002d5e:      e00e            b.n     8002d7e <HAL_UART_IRQHandler+0x1da>
+#if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
+            /*Call registered error callback*/
+            huart->ErrorCallback(huart);
+#else
+            /*Call legacy weak error callback*/
+            HAL_UART_ErrorCallback(huart);
+ 8002d60:      6878            ldr     r0, [r7, #4]
+ 8002d62:      f000 f863       bl      8002e2c <HAL_UART_ErrorCallback>
+        if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
+ 8002d66:      e00a            b.n     8002d7e <HAL_UART_IRQHandler+0x1da>
+#if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
+          /*Call registered error callback*/
+          huart->ErrorCallback(huart);
+#else
+          /*Call legacy weak error callback*/
+          HAL_UART_ErrorCallback(huart);
+ 8002d68:      6878            ldr     r0, [r7, #4]
+ 8002d6a:      f000 f85f       bl      8002e2c <HAL_UART_ErrorCallback>
+        if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
+ 8002d6e:      e006            b.n     8002d7e <HAL_UART_IRQHandler+0x1da>
+#if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
+        /*Call registered error callback*/
+        huart->ErrorCallback(huart);
+#else
+        /*Call legacy weak error callback*/
+        HAL_UART_ErrorCallback(huart);
+ 8002d70:      6878            ldr     r0, [r7, #4]
+ 8002d72:      f000 f85b       bl      8002e2c <HAL_UART_ErrorCallback>
+#endif /* USE_HAL_UART_REGISTER_CALLBACKS */
+        huart->ErrorCode = HAL_UART_ERROR_NONE;
+ 8002d76:      687b            ldr     r3, [r7, #4]
+ 8002d78:      2200            movs    r2, #0
+ 8002d7a:      67da            str     r2, [r3, #124]  ; 0x7c
+      }
+    }
+    return;
+ 8002d7c:      e025            b.n     8002dca <HAL_UART_IRQHandler+0x226>
+        if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR))
+ 8002d7e:      bf00            nop
+    return;
+ 8002d80:      e023            b.n     8002dca <HAL_UART_IRQHandler+0x226>
+
+  } /* End if some error occurs */
+
+  /* UART in mode Transmitter ------------------------------------------------*/
+  if (((isrflags & USART_ISR_TXE) != 0U)
+ 8002d82:      69fb            ldr     r3, [r7, #28]
+ 8002d84:      f003 0380       and.w   r3, r3, #128    ; 0x80
+ 8002d88:      2b00            cmp     r3, #0
+ 8002d8a:      d00d            beq.n   8002da8 <HAL_UART_IRQHandler+0x204>
+      && ((cr1its & USART_CR1_TXEIE) != 0U))
+ 8002d8c:      69bb            ldr     r3, [r7, #24]
+ 8002d8e:      f003 0380       and.w   r3, r3, #128    ; 0x80
+ 8002d92:      2b00            cmp     r3, #0
+ 8002d94:      d008            beq.n   8002da8 <HAL_UART_IRQHandler+0x204>
+  {
+    if (huart->TxISR != NULL)
+ 8002d96:      687b            ldr     r3, [r7, #4]
+ 8002d98:      6e5b            ldr     r3, [r3, #100]  ; 0x64
+ 8002d9a:      2b00            cmp     r3, #0
+ 8002d9c:      d017            beq.n   8002dce <HAL_UART_IRQHandler+0x22a>
+    {
+      huart->TxISR(huart);
+ 8002d9e:      687b            ldr     r3, [r7, #4]
+ 8002da0:      6e5b            ldr     r3, [r3, #100]  ; 0x64
+ 8002da2:      6878            ldr     r0, [r7, #4]
+ 8002da4:      4798            blx     r3
+    }
+    return;
+ 8002da6:      e012            b.n     8002dce <HAL_UART_IRQHandler+0x22a>
+  }
+
+  /* UART in mode Transmitter (transmission end) -----------------------------*/
+  if (((isrflags & USART_ISR_TC) != 0U) && ((cr1its & USART_CR1_TCIE) != 0U))
+ 8002da8:      69fb            ldr     r3, [r7, #28]
+ 8002daa:      f003 0340       and.w   r3, r3, #64     ; 0x40
+ 8002dae:      2b00            cmp     r3, #0
+ 8002db0:      d00e            beq.n   8002dd0 <HAL_UART_IRQHandler+0x22c>
+ 8002db2:      69bb            ldr     r3, [r7, #24]
+ 8002db4:      f003 0340       and.w   r3, r3, #64     ; 0x40
+ 8002db8:      2b00            cmp     r3, #0
+ 8002dba:      d009            beq.n   8002dd0 <HAL_UART_IRQHandler+0x22c>
+  {
+    UART_EndTransmit_IT(huart);
+ 8002dbc:      6878            ldr     r0, [r7, #4]
+ 8002dbe:      f000 fcf9       bl      80037b4 <UART_EndTransmit_IT>
+    return;
+ 8002dc2:      bf00            nop
+ 8002dc4:      e004            b.n     8002dd0 <HAL_UART_IRQHandler+0x22c>
+      return;
+ 8002dc6:      bf00            nop
+ 8002dc8:      e002            b.n     8002dd0 <HAL_UART_IRQHandler+0x22c>
+    return;
+ 8002dca:      bf00            nop
+ 8002dcc:      e000            b.n     8002dd0 <HAL_UART_IRQHandler+0x22c>
+    return;
+ 8002dce:      bf00            nop
+  }
+
+}
+ 8002dd0:      3720            adds    r7, #32
+ 8002dd2:      46bd            mov     sp, r7
+ 8002dd4:      bd80            pop     {r7, pc}
+ 8002dd6:      bf00            nop
+ 8002dd8:      08003789        .word   0x08003789
+
+08002ddc <HAL_UART_TxCpltCallback>:
+  * @brief Tx Transfer completed callback.
+  * @param huart UART handle.
+  * @retval None
+  */
+__weak void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart)
+{
+ 8002ddc:      b480            push    {r7}
+ 8002dde:      b083            sub     sp, #12
+ 8002de0:      af00            add     r7, sp, #0
+ 8002de2:      6078            str     r0, [r7, #4]
+  UNUSED(huart);
+
+  /* NOTE : This function should not be modified, when the callback is needed,
+            the HAL_UART_TxCpltCallback can be implemented in the user file.
+   */
+}
+ 8002de4:      bf00            nop
+ 8002de6:      370c            adds    r7, #12
+ 8002de8:      46bd            mov     sp, r7
+ 8002dea:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8002dee:      4770            bx      lr
+
+08002df0 <HAL_UART_TxHalfCpltCallback>:
+  * @brief  Tx Half Transfer completed callback.
+  * @param  huart UART handle.
+  * @retval None
+  */
+__weak void HAL_UART_TxHalfCpltCallback(UART_HandleTypeDef *huart)
+{
+ 8002df0:      b480            push    {r7}
+ 8002df2:      b083            sub     sp, #12
+ 8002df4:      af00            add     r7, sp, #0
+ 8002df6:      6078            str     r0, [r7, #4]
+  UNUSED(huart);
+
+  /* NOTE: This function should not be modified, when the callback is needed,
+           the HAL_UART_TxHalfCpltCallback can be implemented in the user file.
+   */
+}
+ 8002df8:      bf00            nop
+ 8002dfa:      370c            adds    r7, #12
+ 8002dfc:      46bd            mov     sp, r7
+ 8002dfe:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8002e02:      4770            bx      lr
+
+08002e04 <HAL_UART_RxCpltCallback>:
+  * @brief  Rx Transfer completed callback.
+  * @param  huart UART handle.
+  * @retval None
+  */
+__weak void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
+{
+ 8002e04:      b480            push    {r7}
+ 8002e06:      b083            sub     sp, #12
+ 8002e08:      af00            add     r7, sp, #0
+ 8002e0a:      6078            str     r0, [r7, #4]
+  UNUSED(huart);
+
+  /* NOTE : This function should not be modified, when the callback is needed,
+            the HAL_UART_RxCpltCallback can be implemented in the user file.
+   */
+}
+ 8002e0c:      bf00            nop
+ 8002e0e:      370c            adds    r7, #12
+ 8002e10:      46bd            mov     sp, r7
+ 8002e12:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8002e16:      4770            bx      lr
+
+08002e18 <HAL_UART_RxHalfCpltCallback>:
+  * @brief  Rx Half Transfer completed callback.
+  * @param  huart UART handle.
+  * @retval None
+  */
+__weak void HAL_UART_RxHalfCpltCallback(UART_HandleTypeDef *huart)
+{
+ 8002e18:      b480            push    {r7}
+ 8002e1a:      b083            sub     sp, #12
+ 8002e1c:      af00            add     r7, sp, #0
+ 8002e1e:      6078            str     r0, [r7, #4]
+  UNUSED(huart);
+
+  /* NOTE: This function should not be modified, when the callback is needed,
+           the HAL_UART_RxHalfCpltCallback can be implemented in the user file.
+   */
+}
+ 8002e20:      bf00            nop
+ 8002e22:      370c            adds    r7, #12
+ 8002e24:      46bd            mov     sp, r7
+ 8002e26:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8002e2a:      4770            bx      lr
+
+08002e2c <HAL_UART_ErrorCallback>:
+  * @brief  UART error callback.
+  * @param  huart UART handle.
+  * @retval None
+  */
+__weak void HAL_UART_ErrorCallback(UART_HandleTypeDef *huart)
+{
+ 8002e2c:      b480            push    {r7}
+ 8002e2e:      b083            sub     sp, #12
+ 8002e30:      af00            add     r7, sp, #0
+ 8002e32:      6078            str     r0, [r7, #4]
+  UNUSED(huart);
+
+  /* NOTE : This function should not be modified, when the callback is needed,
+            the HAL_UART_ErrorCallback can be implemented in the user file.
+   */
+}
+ 8002e34:      bf00            nop
+ 8002e36:      370c            adds    r7, #12
+ 8002e38:      46bd            mov     sp, r7
+ 8002e3a:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8002e3e:      4770            bx      lr
+
+08002e40 <UART_SetConfig>:
+  * @brief Configure the UART peripheral.
+  * @param huart UART handle.
+  * @retval HAL status
+  */
+HAL_StatusTypeDef UART_SetConfig(UART_HandleTypeDef *huart)
+{
+ 8002e40:      b580            push    {r7, lr}
+ 8002e42:      b088            sub     sp, #32
+ 8002e44:      af00            add     r7, sp, #0
+ 8002e46:      6078            str     r0, [r7, #4]
+  uint32_t tmpreg;
+  uint16_t brrtemp;
+  UART_ClockSourceTypeDef clocksource;
+  uint32_t usartdiv                   = 0x00000000U;
+ 8002e48:      2300            movs    r3, #0
+ 8002e4a:      61bb            str     r3, [r7, #24]
+  HAL_StatusTypeDef ret               = HAL_OK;
+ 8002e4c:      2300            movs    r3, #0
+ 8002e4e:      75fb            strb    r3, [r7, #23]
+  *  the UART Word Length, Parity, Mode and oversampling:
+  *  set the M bits according to huart->Init.WordLength value
+  *  set PCE and PS bits according to huart->Init.Parity value
+  *  set TE and RE bits according to huart->Init.Mode value
+  *  set OVER8 bit according to huart->Init.OverSampling value */
+  tmpreg = (uint32_t)huart->Init.WordLength | huart->Init.Parity | huart->Init.Mode | huart->Init.OverSampling ;
+ 8002e50:      687b            ldr     r3, [r7, #4]
+ 8002e52:      689a            ldr     r2, [r3, #8]
+ 8002e54:      687b            ldr     r3, [r7, #4]
+ 8002e56:      691b            ldr     r3, [r3, #16]
+ 8002e58:      431a            orrs    r2, r3
+ 8002e5a:      687b            ldr     r3, [r7, #4]
+ 8002e5c:      695b            ldr     r3, [r3, #20]
+ 8002e5e:      431a            orrs    r2, r3
+ 8002e60:      687b            ldr     r3, [r7, #4]
+ 8002e62:      69db            ldr     r3, [r3, #28]
+ 8002e64:      4313            orrs    r3, r2
+ 8002e66:      613b            str     r3, [r7, #16]
+  MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg);
+ 8002e68:      687b            ldr     r3, [r7, #4]
+ 8002e6a:      681b            ldr     r3, [r3, #0]
+ 8002e6c:      681a            ldr     r2, [r3, #0]
+ 8002e6e:      4bb1            ldr     r3, [pc, #708]  ; (8003134 <UART_SetConfig+0x2f4>)
+ 8002e70:      4013            ands    r3, r2
+ 8002e72:      687a            ldr     r2, [r7, #4]
+ 8002e74:      6812            ldr     r2, [r2, #0]
+ 8002e76:      6939            ldr     r1, [r7, #16]
+ 8002e78:      430b            orrs    r3, r1
+ 8002e7a:      6013            str     r3, [r2, #0]
+
+  /*-------------------------- USART CR2 Configuration -----------------------*/
+  /* Configure the UART Stop Bits: Set STOP[13:12] bits according
+  * to huart->Init.StopBits value */
+  MODIFY_REG(huart->Instance->CR2, USART_CR2_STOP, huart->Init.StopBits);
+ 8002e7c:      687b            ldr     r3, [r7, #4]
+ 8002e7e:      681b            ldr     r3, [r3, #0]
+ 8002e80:      685b            ldr     r3, [r3, #4]
+ 8002e82:      f423 5140       bic.w   r1, r3, #12288  ; 0x3000
+ 8002e86:      687b            ldr     r3, [r7, #4]
+ 8002e88:      68da            ldr     r2, [r3, #12]
+ 8002e8a:      687b            ldr     r3, [r7, #4]
+ 8002e8c:      681b            ldr     r3, [r3, #0]
+ 8002e8e:      430a            orrs    r2, r1
+ 8002e90:      605a            str     r2, [r3, #4]
+  /* Configure
+  * - UART HardWare Flow Control: set CTSE and RTSE bits according
+  *   to huart->Init.HwFlowCtl value
+  * - one-bit sampling method versus three samples' majority rule according
+  *   to huart->Init.OneBitSampling (not applicable to LPUART) */
+  tmpreg = (uint32_t)huart->Init.HwFlowCtl;
+ 8002e92:      687b            ldr     r3, [r7, #4]
+ 8002e94:      699b            ldr     r3, [r3, #24]
+ 8002e96:      613b            str     r3, [r7, #16]
+
+  tmpreg |= huart->Init.OneBitSampling;
+ 8002e98:      687b            ldr     r3, [r7, #4]
+ 8002e9a:      6a1b            ldr     r3, [r3, #32]
+ 8002e9c:      693a            ldr     r2, [r7, #16]
+ 8002e9e:      4313            orrs    r3, r2
+ 8002ea0:      613b            str     r3, [r7, #16]
+  MODIFY_REG(huart->Instance->CR3, USART_CR3_FIELDS, tmpreg);
+ 8002ea2:      687b            ldr     r3, [r7, #4]
+ 8002ea4:      681b            ldr     r3, [r3, #0]
+ 8002ea6:      689b            ldr     r3, [r3, #8]
+ 8002ea8:      f423 6130       bic.w   r1, r3, #2816   ; 0xb00
+ 8002eac:      687b            ldr     r3, [r7, #4]
+ 8002eae:      681b            ldr     r3, [r3, #0]
+ 8002eb0:      693a            ldr     r2, [r7, #16]
+ 8002eb2:      430a            orrs    r2, r1
+ 8002eb4:      609a            str     r2, [r3, #8]
+
+
+  /*-------------------------- USART BRR Configuration -----------------------*/
+  UART_GETCLOCKSOURCE(huart, clocksource);
+ 8002eb6:      687b            ldr     r3, [r7, #4]
+ 8002eb8:      681b            ldr     r3, [r3, #0]
+ 8002eba:      4a9f            ldr     r2, [pc, #636]  ; (8003138 <UART_SetConfig+0x2f8>)
+ 8002ebc:      4293            cmp     r3, r2
+ 8002ebe:      d121            bne.n   8002f04 <UART_SetConfig+0xc4>
+ 8002ec0:      4b9e            ldr     r3, [pc, #632]  ; (800313c <UART_SetConfig+0x2fc>)
+ 8002ec2:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
+ 8002ec6:      f003 0303       and.w   r3, r3, #3
+ 8002eca:      2b03            cmp     r3, #3
+ 8002ecc:      d816            bhi.n   8002efc <UART_SetConfig+0xbc>
+ 8002ece:      a201            add     r2, pc, #4      ; (adr r2, 8002ed4 <UART_SetConfig+0x94>)
+ 8002ed0:      f852 f023       ldr.w   pc, [r2, r3, lsl #2]
+ 8002ed4:      08002ee5        .word   0x08002ee5
+ 8002ed8:      08002ef1        .word   0x08002ef1
+ 8002edc:      08002eeb        .word   0x08002eeb
+ 8002ee0:      08002ef7        .word   0x08002ef7
+ 8002ee4:      2301            movs    r3, #1
+ 8002ee6:      77fb            strb    r3, [r7, #31]
+ 8002ee8:      e151            b.n     800318e <UART_SetConfig+0x34e>
+ 8002eea:      2302            movs    r3, #2
+ 8002eec:      77fb            strb    r3, [r7, #31]
+ 8002eee:      e14e            b.n     800318e <UART_SetConfig+0x34e>
+ 8002ef0:      2304            movs    r3, #4
+ 8002ef2:      77fb            strb    r3, [r7, #31]
+ 8002ef4:      e14b            b.n     800318e <UART_SetConfig+0x34e>
+ 8002ef6:      2308            movs    r3, #8
+ 8002ef8:      77fb            strb    r3, [r7, #31]
+ 8002efa:      e148            b.n     800318e <UART_SetConfig+0x34e>
+ 8002efc:      2310            movs    r3, #16
+ 8002efe:      77fb            strb    r3, [r7, #31]
+ 8002f00:      bf00            nop
+ 8002f02:      e144            b.n     800318e <UART_SetConfig+0x34e>
+ 8002f04:      687b            ldr     r3, [r7, #4]
+ 8002f06:      681b            ldr     r3, [r3, #0]
+ 8002f08:      4a8d            ldr     r2, [pc, #564]  ; (8003140 <UART_SetConfig+0x300>)
+ 8002f0a:      4293            cmp     r3, r2
+ 8002f0c:      d134            bne.n   8002f78 <UART_SetConfig+0x138>
+ 8002f0e:      4b8b            ldr     r3, [pc, #556]  ; (800313c <UART_SetConfig+0x2fc>)
+ 8002f10:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
+ 8002f14:      f003 030c       and.w   r3, r3, #12
+ 8002f18:      2b0c            cmp     r3, #12
+ 8002f1a:      d829            bhi.n   8002f70 <UART_SetConfig+0x130>
+ 8002f1c:      a201            add     r2, pc, #4      ; (adr r2, 8002f24 <UART_SetConfig+0xe4>)
+ 8002f1e:      f852 f023       ldr.w   pc, [r2, r3, lsl #2]
+ 8002f22:      bf00            nop
+ 8002f24:      08002f59        .word   0x08002f59
+ 8002f28:      08002f71        .word   0x08002f71
+ 8002f2c:      08002f71        .word   0x08002f71
+ 8002f30:      08002f71        .word   0x08002f71
+ 8002f34:      08002f65        .word   0x08002f65
+ 8002f38:      08002f71        .word   0x08002f71
+ 8002f3c:      08002f71        .word   0x08002f71
+ 8002f40:      08002f71        .word   0x08002f71
+ 8002f44:      08002f5f        .word   0x08002f5f
+ 8002f48:      08002f71        .word   0x08002f71
+ 8002f4c:      08002f71        .word   0x08002f71
+ 8002f50:      08002f71        .word   0x08002f71
+ 8002f54:      08002f6b        .word   0x08002f6b
+ 8002f58:      2300            movs    r3, #0
+ 8002f5a:      77fb            strb    r3, [r7, #31]
+ 8002f5c:      e117            b.n     800318e <UART_SetConfig+0x34e>
+ 8002f5e:      2302            movs    r3, #2
+ 8002f60:      77fb            strb    r3, [r7, #31]
+ 8002f62:      e114            b.n     800318e <UART_SetConfig+0x34e>
+ 8002f64:      2304            movs    r3, #4
+ 8002f66:      77fb            strb    r3, [r7, #31]
+ 8002f68:      e111            b.n     800318e <UART_SetConfig+0x34e>
+ 8002f6a:      2308            movs    r3, #8
+ 8002f6c:      77fb            strb    r3, [r7, #31]
+ 8002f6e:      e10e            b.n     800318e <UART_SetConfig+0x34e>
+ 8002f70:      2310            movs    r3, #16
+ 8002f72:      77fb            strb    r3, [r7, #31]
+ 8002f74:      bf00            nop
+ 8002f76:      e10a            b.n     800318e <UART_SetConfig+0x34e>
+ 8002f78:      687b            ldr     r3, [r7, #4]
+ 8002f7a:      681b            ldr     r3, [r3, #0]
+ 8002f7c:      4a71            ldr     r2, [pc, #452]  ; (8003144 <UART_SetConfig+0x304>)
+ 8002f7e:      4293            cmp     r3, r2
+ 8002f80:      d120            bne.n   8002fc4 <UART_SetConfig+0x184>
+ 8002f82:      4b6e            ldr     r3, [pc, #440]  ; (800313c <UART_SetConfig+0x2fc>)
+ 8002f84:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
+ 8002f88:      f003 0330       and.w   r3, r3, #48     ; 0x30
+ 8002f8c:      2b10            cmp     r3, #16
+ 8002f8e:      d00f            beq.n   8002fb0 <UART_SetConfig+0x170>
+ 8002f90:      2b10            cmp     r3, #16
+ 8002f92:      d802            bhi.n   8002f9a <UART_SetConfig+0x15a>
+ 8002f94:      2b00            cmp     r3, #0
+ 8002f96:      d005            beq.n   8002fa4 <UART_SetConfig+0x164>
+ 8002f98:      e010            b.n     8002fbc <UART_SetConfig+0x17c>
+ 8002f9a:      2b20            cmp     r3, #32
+ 8002f9c:      d005            beq.n   8002faa <UART_SetConfig+0x16a>
+ 8002f9e:      2b30            cmp     r3, #48 ; 0x30
+ 8002fa0:      d009            beq.n   8002fb6 <UART_SetConfig+0x176>
+ 8002fa2:      e00b            b.n     8002fbc <UART_SetConfig+0x17c>
+ 8002fa4:      2300            movs    r3, #0
+ 8002fa6:      77fb            strb    r3, [r7, #31]
+ 8002fa8:      e0f1            b.n     800318e <UART_SetConfig+0x34e>
+ 8002faa:      2302            movs    r3, #2
+ 8002fac:      77fb            strb    r3, [r7, #31]
+ 8002fae:      e0ee            b.n     800318e <UART_SetConfig+0x34e>
+ 8002fb0:      2304            movs    r3, #4
+ 8002fb2:      77fb            strb    r3, [r7, #31]
+ 8002fb4:      e0eb            b.n     800318e <UART_SetConfig+0x34e>
+ 8002fb6:      2308            movs    r3, #8
+ 8002fb8:      77fb            strb    r3, [r7, #31]
+ 8002fba:      e0e8            b.n     800318e <UART_SetConfig+0x34e>
+ 8002fbc:      2310            movs    r3, #16
+ 8002fbe:      77fb            strb    r3, [r7, #31]
+ 8002fc0:      bf00            nop
+ 8002fc2:      e0e4            b.n     800318e <UART_SetConfig+0x34e>
+ 8002fc4:      687b            ldr     r3, [r7, #4]
+ 8002fc6:      681b            ldr     r3, [r3, #0]
+ 8002fc8:      4a5f            ldr     r2, [pc, #380]  ; (8003148 <UART_SetConfig+0x308>)
+ 8002fca:      4293            cmp     r3, r2
+ 8002fcc:      d120            bne.n   8003010 <UART_SetConfig+0x1d0>
+ 8002fce:      4b5b            ldr     r3, [pc, #364]  ; (800313c <UART_SetConfig+0x2fc>)
+ 8002fd0:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
+ 8002fd4:      f003 03c0       and.w   r3, r3, #192    ; 0xc0
+ 8002fd8:      2b40            cmp     r3, #64 ; 0x40
+ 8002fda:      d00f            beq.n   8002ffc <UART_SetConfig+0x1bc>
+ 8002fdc:      2b40            cmp     r3, #64 ; 0x40
+ 8002fde:      d802            bhi.n   8002fe6 <UART_SetConfig+0x1a6>
+ 8002fe0:      2b00            cmp     r3, #0
+ 8002fe2:      d005            beq.n   8002ff0 <UART_SetConfig+0x1b0>
+ 8002fe4:      e010            b.n     8003008 <UART_SetConfig+0x1c8>
+ 8002fe6:      2b80            cmp     r3, #128        ; 0x80
+ 8002fe8:      d005            beq.n   8002ff6 <UART_SetConfig+0x1b6>
+ 8002fea:      2bc0            cmp     r3, #192        ; 0xc0
+ 8002fec:      d009            beq.n   8003002 <UART_SetConfig+0x1c2>
+ 8002fee:      e00b            b.n     8003008 <UART_SetConfig+0x1c8>
+ 8002ff0:      2300            movs    r3, #0
+ 8002ff2:      77fb            strb    r3, [r7, #31]
+ 8002ff4:      e0cb            b.n     800318e <UART_SetConfig+0x34e>
+ 8002ff6:      2302            movs    r3, #2
+ 8002ff8:      77fb            strb    r3, [r7, #31]
+ 8002ffa:      e0c8            b.n     800318e <UART_SetConfig+0x34e>
+ 8002ffc:      2304            movs    r3, #4
+ 8002ffe:      77fb            strb    r3, [r7, #31]
+ 8003000:      e0c5            b.n     800318e <UART_SetConfig+0x34e>
+ 8003002:      2308            movs    r3, #8
+ 8003004:      77fb            strb    r3, [r7, #31]
+ 8003006:      e0c2            b.n     800318e <UART_SetConfig+0x34e>
+ 8003008:      2310            movs    r3, #16
+ 800300a:      77fb            strb    r3, [r7, #31]
+ 800300c:      bf00            nop
+ 800300e:      e0be            b.n     800318e <UART_SetConfig+0x34e>
+ 8003010:      687b            ldr     r3, [r7, #4]
+ 8003012:      681b            ldr     r3, [r3, #0]
+ 8003014:      4a4d            ldr     r2, [pc, #308]  ; (800314c <UART_SetConfig+0x30c>)
+ 8003016:      4293            cmp     r3, r2
+ 8003018:      d124            bne.n   8003064 <UART_SetConfig+0x224>
+ 800301a:      4b48            ldr     r3, [pc, #288]  ; (800313c <UART_SetConfig+0x2fc>)
+ 800301c:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
+ 8003020:      f403 7340       and.w   r3, r3, #768    ; 0x300
+ 8003024:      f5b3 7f80       cmp.w   r3, #256        ; 0x100
+ 8003028:      d012            beq.n   8003050 <UART_SetConfig+0x210>
+ 800302a:      f5b3 7f80       cmp.w   r3, #256        ; 0x100
+ 800302e:      d802            bhi.n   8003036 <UART_SetConfig+0x1f6>
+ 8003030:      2b00            cmp     r3, #0
+ 8003032:      d007            beq.n   8003044 <UART_SetConfig+0x204>
+ 8003034:      e012            b.n     800305c <UART_SetConfig+0x21c>
+ 8003036:      f5b3 7f00       cmp.w   r3, #512        ; 0x200
+ 800303a:      d006            beq.n   800304a <UART_SetConfig+0x20a>
+ 800303c:      f5b3 7f40       cmp.w   r3, #768        ; 0x300
+ 8003040:      d009            beq.n   8003056 <UART_SetConfig+0x216>
+ 8003042:      e00b            b.n     800305c <UART_SetConfig+0x21c>
+ 8003044:      2300            movs    r3, #0
+ 8003046:      77fb            strb    r3, [r7, #31]
+ 8003048:      e0a1            b.n     800318e <UART_SetConfig+0x34e>
+ 800304a:      2302            movs    r3, #2
+ 800304c:      77fb            strb    r3, [r7, #31]
+ 800304e:      e09e            b.n     800318e <UART_SetConfig+0x34e>
+ 8003050:      2304            movs    r3, #4
+ 8003052:      77fb            strb    r3, [r7, #31]
+ 8003054:      e09b            b.n     800318e <UART_SetConfig+0x34e>
+ 8003056:      2308            movs    r3, #8
+ 8003058:      77fb            strb    r3, [r7, #31]
+ 800305a:      e098            b.n     800318e <UART_SetConfig+0x34e>
+ 800305c:      2310            movs    r3, #16
+ 800305e:      77fb            strb    r3, [r7, #31]
+ 8003060:      bf00            nop
+ 8003062:      e094            b.n     800318e <UART_SetConfig+0x34e>
+ 8003064:      687b            ldr     r3, [r7, #4]
+ 8003066:      681b            ldr     r3, [r3, #0]
+ 8003068:      4a39            ldr     r2, [pc, #228]  ; (8003150 <UART_SetConfig+0x310>)
+ 800306a:      4293            cmp     r3, r2
+ 800306c:      d124            bne.n   80030b8 <UART_SetConfig+0x278>
+ 800306e:      4b33            ldr     r3, [pc, #204]  ; (800313c <UART_SetConfig+0x2fc>)
+ 8003070:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
+ 8003074:      f403 6340       and.w   r3, r3, #3072   ; 0xc00
+ 8003078:      f5b3 6f80       cmp.w   r3, #1024       ; 0x400
+ 800307c:      d012            beq.n   80030a4 <UART_SetConfig+0x264>
+ 800307e:      f5b3 6f80       cmp.w   r3, #1024       ; 0x400
+ 8003082:      d802            bhi.n   800308a <UART_SetConfig+0x24a>
+ 8003084:      2b00            cmp     r3, #0
+ 8003086:      d007            beq.n   8003098 <UART_SetConfig+0x258>
+ 8003088:      e012            b.n     80030b0 <UART_SetConfig+0x270>
+ 800308a:      f5b3 6f00       cmp.w   r3, #2048       ; 0x800
+ 800308e:      d006            beq.n   800309e <UART_SetConfig+0x25e>
+ 8003090:      f5b3 6f40       cmp.w   r3, #3072       ; 0xc00
+ 8003094:      d009            beq.n   80030aa <UART_SetConfig+0x26a>
+ 8003096:      e00b            b.n     80030b0 <UART_SetConfig+0x270>
+ 8003098:      2301            movs    r3, #1
+ 800309a:      77fb            strb    r3, [r7, #31]
+ 800309c:      e077            b.n     800318e <UART_SetConfig+0x34e>
+ 800309e:      2302            movs    r3, #2
+ 80030a0:      77fb            strb    r3, [r7, #31]
+ 80030a2:      e074            b.n     800318e <UART_SetConfig+0x34e>
+ 80030a4:      2304            movs    r3, #4
+ 80030a6:      77fb            strb    r3, [r7, #31]
+ 80030a8:      e071            b.n     800318e <UART_SetConfig+0x34e>
+ 80030aa:      2308            movs    r3, #8
+ 80030ac:      77fb            strb    r3, [r7, #31]
+ 80030ae:      e06e            b.n     800318e <UART_SetConfig+0x34e>
+ 80030b0:      2310            movs    r3, #16
+ 80030b2:      77fb            strb    r3, [r7, #31]
+ 80030b4:      bf00            nop
+ 80030b6:      e06a            b.n     800318e <UART_SetConfig+0x34e>
+ 80030b8:      687b            ldr     r3, [r7, #4]
+ 80030ba:      681b            ldr     r3, [r3, #0]
+ 80030bc:      4a25            ldr     r2, [pc, #148]  ; (8003154 <UART_SetConfig+0x314>)
+ 80030be:      4293            cmp     r3, r2
+ 80030c0:      d124            bne.n   800310c <UART_SetConfig+0x2cc>
+ 80030c2:      4b1e            ldr     r3, [pc, #120]  ; (800313c <UART_SetConfig+0x2fc>)
+ 80030c4:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
+ 80030c8:      f403 5340       and.w   r3, r3, #12288  ; 0x3000
+ 80030cc:      f5b3 5f80       cmp.w   r3, #4096       ; 0x1000
+ 80030d0:      d012            beq.n   80030f8 <UART_SetConfig+0x2b8>
+ 80030d2:      f5b3 5f80       cmp.w   r3, #4096       ; 0x1000
+ 80030d6:      d802            bhi.n   80030de <UART_SetConfig+0x29e>
+ 80030d8:      2b00            cmp     r3, #0
+ 80030da:      d007            beq.n   80030ec <UART_SetConfig+0x2ac>
+ 80030dc:      e012            b.n     8003104 <UART_SetConfig+0x2c4>
+ 80030de:      f5b3 5f00       cmp.w   r3, #8192       ; 0x2000
+ 80030e2:      d006            beq.n   80030f2 <UART_SetConfig+0x2b2>
+ 80030e4:      f5b3 5f40       cmp.w   r3, #12288      ; 0x3000
+ 80030e8:      d009            beq.n   80030fe <UART_SetConfig+0x2be>
+ 80030ea:      e00b            b.n     8003104 <UART_SetConfig+0x2c4>
+ 80030ec:      2300            movs    r3, #0
+ 80030ee:      77fb            strb    r3, [r7, #31]
+ 80030f0:      e04d            b.n     800318e <UART_SetConfig+0x34e>
+ 80030f2:      2302            movs    r3, #2
+ 80030f4:      77fb            strb    r3, [r7, #31]
+ 80030f6:      e04a            b.n     800318e <UART_SetConfig+0x34e>
+ 80030f8:      2304            movs    r3, #4
+ 80030fa:      77fb            strb    r3, [r7, #31]
+ 80030fc:      e047            b.n     800318e <UART_SetConfig+0x34e>
+ 80030fe:      2308            movs    r3, #8
+ 8003100:      77fb            strb    r3, [r7, #31]
+ 8003102:      e044            b.n     800318e <UART_SetConfig+0x34e>
+ 8003104:      2310            movs    r3, #16
+ 8003106:      77fb            strb    r3, [r7, #31]
+ 8003108:      bf00            nop
+ 800310a:      e040            b.n     800318e <UART_SetConfig+0x34e>
+ 800310c:      687b            ldr     r3, [r7, #4]
+ 800310e:      681b            ldr     r3, [r3, #0]
+ 8003110:      4a11            ldr     r2, [pc, #68]   ; (8003158 <UART_SetConfig+0x318>)
+ 8003112:      4293            cmp     r3, r2
+ 8003114:      d139            bne.n   800318a <UART_SetConfig+0x34a>
+ 8003116:      4b09            ldr     r3, [pc, #36]   ; (800313c <UART_SetConfig+0x2fc>)
+ 8003118:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
+ 800311c:      f403 4340       and.w   r3, r3, #49152  ; 0xc000
+ 8003120:      f5b3 4f80       cmp.w   r3, #16384      ; 0x4000
+ 8003124:      d027            beq.n   8003176 <UART_SetConfig+0x336>
+ 8003126:      f5b3 4f80       cmp.w   r3, #16384      ; 0x4000
+ 800312a:      d817            bhi.n   800315c <UART_SetConfig+0x31c>
+ 800312c:      2b00            cmp     r3, #0
+ 800312e:      d01c            beq.n   800316a <UART_SetConfig+0x32a>
+ 8003130:      e027            b.n     8003182 <UART_SetConfig+0x342>
+ 8003132:      bf00            nop
+ 8003134:      efff69f3        .word   0xefff69f3
+ 8003138:      40011000        .word   0x40011000
+ 800313c:      40023800        .word   0x40023800
+ 8003140:      40004400        .word   0x40004400
+ 8003144:      40004800        .word   0x40004800
+ 8003148:      40004c00        .word   0x40004c00
+ 800314c:      40005000        .word   0x40005000
+ 8003150:      40011400        .word   0x40011400
+ 8003154:      40007800        .word   0x40007800
+ 8003158:      40007c00        .word   0x40007c00
+ 800315c:      f5b3 4f00       cmp.w   r3, #32768      ; 0x8000
+ 8003160:      d006            beq.n   8003170 <UART_SetConfig+0x330>
+ 8003162:      f5b3 4f40       cmp.w   r3, #49152      ; 0xc000
+ 8003166:      d009            beq.n   800317c <UART_SetConfig+0x33c>
+ 8003168:      e00b            b.n     8003182 <UART_SetConfig+0x342>
+ 800316a:      2300            movs    r3, #0
+ 800316c:      77fb            strb    r3, [r7, #31]
+ 800316e:      e00e            b.n     800318e <UART_SetConfig+0x34e>
+ 8003170:      2302            movs    r3, #2
+ 8003172:      77fb            strb    r3, [r7, #31]
+ 8003174:      e00b            b.n     800318e <UART_SetConfig+0x34e>
+ 8003176:      2304            movs    r3, #4
+ 8003178:      77fb            strb    r3, [r7, #31]
+ 800317a:      e008            b.n     800318e <UART_SetConfig+0x34e>
+ 800317c:      2308            movs    r3, #8
+ 800317e:      77fb            strb    r3, [r7, #31]
+ 8003180:      e005            b.n     800318e <UART_SetConfig+0x34e>
+ 8003182:      2310            movs    r3, #16
+ 8003184:      77fb            strb    r3, [r7, #31]
+ 8003186:      bf00            nop
+ 8003188:      e001            b.n     800318e <UART_SetConfig+0x34e>
+ 800318a:      2310            movs    r3, #16
+ 800318c:      77fb            strb    r3, [r7, #31]
+
+  if (huart->Init.OverSampling == UART_OVERSAMPLING_8)
+ 800318e:      687b            ldr     r3, [r7, #4]
+ 8003190:      69db            ldr     r3, [r3, #28]
+ 8003192:      f5b3 4f00       cmp.w   r3, #32768      ; 0x8000
+ 8003196:      d17c            bne.n   8003292 <UART_SetConfig+0x452>
+  {
+    switch (clocksource)
+ 8003198:      7ffb            ldrb    r3, [r7, #31]
+ 800319a:      2b08            cmp     r3, #8
+ 800319c:      d859            bhi.n   8003252 <UART_SetConfig+0x412>
+ 800319e:      a201            add     r2, pc, #4      ; (adr r2, 80031a4 <UART_SetConfig+0x364>)
+ 80031a0:      f852 f023       ldr.w   pc, [r2, r3, lsl #2]
+ 80031a4:      080031c9        .word   0x080031c9
+ 80031a8:      080031e7        .word   0x080031e7
+ 80031ac:      08003205        .word   0x08003205
+ 80031b0:      08003253        .word   0x08003253
+ 80031b4:      0800321d        .word   0x0800321d
+ 80031b8:      08003253        .word   0x08003253
+ 80031bc:      08003253        .word   0x08003253
+ 80031c0:      08003253        .word   0x08003253
+ 80031c4:      0800323b        .word   0x0800323b
+    {
+      case UART_CLOCKSOURCE_PCLK1:
+        usartdiv = (uint16_t)(UART_DIV_SAMPLING8(HAL_RCC_GetPCLK1Freq(), huart->Init.BaudRate));
+ 80031c8:      f7fe fcaa       bl      8001b20 <HAL_RCC_GetPCLK1Freq>
+ 80031cc:      4603            mov     r3, r0
+ 80031ce:      005a            lsls    r2, r3, #1
+ 80031d0:      687b            ldr     r3, [r7, #4]
+ 80031d2:      685b            ldr     r3, [r3, #4]
+ 80031d4:      085b            lsrs    r3, r3, #1
+ 80031d6:      441a            add     r2, r3
+ 80031d8:      687b            ldr     r3, [r7, #4]
+ 80031da:      685b            ldr     r3, [r3, #4]
+ 80031dc:      fbb2 f3f3       udiv    r3, r2, r3
+ 80031e0:      b29b            uxth    r3, r3
+ 80031e2:      61bb            str     r3, [r7, #24]
+        break;
+ 80031e4:      e038            b.n     8003258 <UART_SetConfig+0x418>
+      case UART_CLOCKSOURCE_PCLK2:
+        usartdiv = (uint16_t)(UART_DIV_SAMPLING8(HAL_RCC_GetPCLK2Freq(), huart->Init.BaudRate));
+ 80031e6:      f7fe fcaf       bl      8001b48 <HAL_RCC_GetPCLK2Freq>
+ 80031ea:      4603            mov     r3, r0
+ 80031ec:      005a            lsls    r2, r3, #1
+ 80031ee:      687b            ldr     r3, [r7, #4]
+ 80031f0:      685b            ldr     r3, [r3, #4]
+ 80031f2:      085b            lsrs    r3, r3, #1
+ 80031f4:      441a            add     r2, r3
+ 80031f6:      687b            ldr     r3, [r7, #4]
+ 80031f8:      685b            ldr     r3, [r3, #4]
+ 80031fa:      fbb2 f3f3       udiv    r3, r2, r3
+ 80031fe:      b29b            uxth    r3, r3
+ 8003200:      61bb            str     r3, [r7, #24]
+        break;
+ 8003202:      e029            b.n     8003258 <UART_SetConfig+0x418>
+      case UART_CLOCKSOURCE_HSI:
+        usartdiv = (uint16_t)(UART_DIV_SAMPLING8(HSI_VALUE, huart->Init.BaudRate));
+ 8003204:      687b            ldr     r3, [r7, #4]
+ 8003206:      685b            ldr     r3, [r3, #4]
+ 8003208:      085a            lsrs    r2, r3, #1
+ 800320a:      4b5d            ldr     r3, [pc, #372]  ; (8003380 <UART_SetConfig+0x540>)
+ 800320c:      4413            add     r3, r2
+ 800320e:      687a            ldr     r2, [r7, #4]
+ 8003210:      6852            ldr     r2, [r2, #4]
+ 8003212:      fbb3 f3f2       udiv    r3, r3, r2
+ 8003216:      b29b            uxth    r3, r3
+ 8003218:      61bb            str     r3, [r7, #24]
+        break;
+ 800321a:      e01d            b.n     8003258 <UART_SetConfig+0x418>
+      case UART_CLOCKSOURCE_SYSCLK:
+        usartdiv = (uint16_t)(UART_DIV_SAMPLING8(HAL_RCC_GetSysClockFreq(), huart->Init.BaudRate));
+ 800321c:      f7fe fbc2       bl      80019a4 <HAL_RCC_GetSysClockFreq>
+ 8003220:      4603            mov     r3, r0
+ 8003222:      005a            lsls    r2, r3, #1
+ 8003224:      687b            ldr     r3, [r7, #4]
+ 8003226:      685b            ldr     r3, [r3, #4]
+ 8003228:      085b            lsrs    r3, r3, #1
+ 800322a:      441a            add     r2, r3
+ 800322c:      687b            ldr     r3, [r7, #4]
+ 800322e:      685b            ldr     r3, [r3, #4]
+ 8003230:      fbb2 f3f3       udiv    r3, r2, r3
+ 8003234:      b29b            uxth    r3, r3
+ 8003236:      61bb            str     r3, [r7, #24]
+        break;
+ 8003238:      e00e            b.n     8003258 <UART_SetConfig+0x418>
+      case UART_CLOCKSOURCE_LSE:
+        usartdiv = (uint16_t)(UART_DIV_SAMPLING8(LSE_VALUE, huart->Init.BaudRate));
+ 800323a:      687b            ldr     r3, [r7, #4]
+ 800323c:      685b            ldr     r3, [r3, #4]
+ 800323e:      085b            lsrs    r3, r3, #1
+ 8003240:      f503 3280       add.w   r2, r3, #65536  ; 0x10000
+ 8003244:      687b            ldr     r3, [r7, #4]
+ 8003246:      685b            ldr     r3, [r3, #4]
+ 8003248:      fbb2 f3f3       udiv    r3, r2, r3
+ 800324c:      b29b            uxth    r3, r3
+ 800324e:      61bb            str     r3, [r7, #24]
+        break;
+ 8003250:      e002            b.n     8003258 <UART_SetConfig+0x418>
+      case UART_CLOCKSOURCE_UNDEFINED:
+      default:
+        ret = HAL_ERROR;
+ 8003252:      2301            movs    r3, #1
+ 8003254:      75fb            strb    r3, [r7, #23]
+        break;
+ 8003256:      bf00            nop
+    }
+
+    /* USARTDIV must be greater than or equal to 0d16 */
+    if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX))
+ 8003258:      69bb            ldr     r3, [r7, #24]
+ 800325a:      2b0f            cmp     r3, #15
+ 800325c:      d916            bls.n   800328c <UART_SetConfig+0x44c>
+ 800325e:      69bb            ldr     r3, [r7, #24]
+ 8003260:      f5b3 3f80       cmp.w   r3, #65536      ; 0x10000
+ 8003264:      d212            bcs.n   800328c <UART_SetConfig+0x44c>
+    {
+      brrtemp = (uint16_t)(usartdiv & 0xFFF0U);
+ 8003266:      69bb            ldr     r3, [r7, #24]
+ 8003268:      b29b            uxth    r3, r3
+ 800326a:      f023 030f       bic.w   r3, r3, #15
+ 800326e:      81fb            strh    r3, [r7, #14]
+      brrtemp |= (uint16_t)((usartdiv & (uint16_t)0x000FU) >> 1U);
+ 8003270:      69bb            ldr     r3, [r7, #24]
+ 8003272:      085b            lsrs    r3, r3, #1
+ 8003274:      b29b            uxth    r3, r3
+ 8003276:      f003 0307       and.w   r3, r3, #7
+ 800327a:      b29a            uxth    r2, r3
+ 800327c:      89fb            ldrh    r3, [r7, #14]
+ 800327e:      4313            orrs    r3, r2
+ 8003280:      81fb            strh    r3, [r7, #14]
+      huart->Instance->BRR = brrtemp;
+ 8003282:      687b            ldr     r3, [r7, #4]
+ 8003284:      681b            ldr     r3, [r3, #0]
+ 8003286:      89fa            ldrh    r2, [r7, #14]
+ 8003288:      60da            str     r2, [r3, #12]
+ 800328a:      e06e            b.n     800336a <UART_SetConfig+0x52a>
+    }
+    else
+    {
+      ret = HAL_ERROR;
+ 800328c:      2301            movs    r3, #1
+ 800328e:      75fb            strb    r3, [r7, #23]
+ 8003290:      e06b            b.n     800336a <UART_SetConfig+0x52a>
+    }
+  }
+  else
+  {
+    switch (clocksource)
+ 8003292:      7ffb            ldrb    r3, [r7, #31]
+ 8003294:      2b08            cmp     r3, #8
+ 8003296:      d857            bhi.n   8003348 <UART_SetConfig+0x508>
+ 8003298:      a201            add     r2, pc, #4      ; (adr r2, 80032a0 <UART_SetConfig+0x460>)
+ 800329a:      f852 f023       ldr.w   pc, [r2, r3, lsl #2]
+ 800329e:      bf00            nop
+ 80032a0:      080032c5        .word   0x080032c5
+ 80032a4:      080032e1        .word   0x080032e1
+ 80032a8:      080032fd        .word   0x080032fd
+ 80032ac:      08003349        .word   0x08003349
+ 80032b0:      08003315        .word   0x08003315
+ 80032b4:      08003349        .word   0x08003349
+ 80032b8:      08003349        .word   0x08003349
+ 80032bc:      08003349        .word   0x08003349
+ 80032c0:      08003331        .word   0x08003331
+    {
+      case UART_CLOCKSOURCE_PCLK1:
+        usartdiv = (uint16_t)(UART_DIV_SAMPLING16(HAL_RCC_GetPCLK1Freq(), huart->Init.BaudRate));
+ 80032c4:      f7fe fc2c       bl      8001b20 <HAL_RCC_GetPCLK1Freq>
+ 80032c8:      4602            mov     r2, r0
+ 80032ca:      687b            ldr     r3, [r7, #4]
+ 80032cc:      685b            ldr     r3, [r3, #4]
+ 80032ce:      085b            lsrs    r3, r3, #1
+ 80032d0:      441a            add     r2, r3
+ 80032d2:      687b            ldr     r3, [r7, #4]
+ 80032d4:      685b            ldr     r3, [r3, #4]
+ 80032d6:      fbb2 f3f3       udiv    r3, r2, r3
+ 80032da:      b29b            uxth    r3, r3
+ 80032dc:      61bb            str     r3, [r7, #24]
+        break;
+ 80032de:      e036            b.n     800334e <UART_SetConfig+0x50e>
+      case UART_CLOCKSOURCE_PCLK2:
+        usartdiv = (uint16_t)(UART_DIV_SAMPLING16(HAL_RCC_GetPCLK2Freq(), huart->Init.BaudRate));
+ 80032e0:      f7fe fc32       bl      8001b48 <HAL_RCC_GetPCLK2Freq>
+ 80032e4:      4602            mov     r2, r0
+ 80032e6:      687b            ldr     r3, [r7, #4]
+ 80032e8:      685b            ldr     r3, [r3, #4]
+ 80032ea:      085b            lsrs    r3, r3, #1
+ 80032ec:      441a            add     r2, r3
+ 80032ee:      687b            ldr     r3, [r7, #4]
+ 80032f0:      685b            ldr     r3, [r3, #4]
+ 80032f2:      fbb2 f3f3       udiv    r3, r2, r3
+ 80032f6:      b29b            uxth    r3, r3
+ 80032f8:      61bb            str     r3, [r7, #24]
+        break;
+ 80032fa:      e028            b.n     800334e <UART_SetConfig+0x50e>
+      case UART_CLOCKSOURCE_HSI:
+        usartdiv = (uint16_t)(UART_DIV_SAMPLING16(HSI_VALUE, huart->Init.BaudRate));
+ 80032fc:      687b            ldr     r3, [r7, #4]
+ 80032fe:      685b            ldr     r3, [r3, #4]
+ 8003300:      085a            lsrs    r2, r3, #1
+ 8003302:      4b20            ldr     r3, [pc, #128]  ; (8003384 <UART_SetConfig+0x544>)
+ 8003304:      4413            add     r3, r2
+ 8003306:      687a            ldr     r2, [r7, #4]
+ 8003308:      6852            ldr     r2, [r2, #4]
+ 800330a:      fbb3 f3f2       udiv    r3, r3, r2
+ 800330e:      b29b            uxth    r3, r3
+ 8003310:      61bb            str     r3, [r7, #24]
+        break;
+ 8003312:      e01c            b.n     800334e <UART_SetConfig+0x50e>
+      case UART_CLOCKSOURCE_SYSCLK:
+        usartdiv = (uint16_t)(UART_DIV_SAMPLING16(HAL_RCC_GetSysClockFreq(), huart->Init.BaudRate));
+ 8003314:      f7fe fb46       bl      80019a4 <HAL_RCC_GetSysClockFreq>
+ 8003318:      4602            mov     r2, r0
+ 800331a:      687b            ldr     r3, [r7, #4]
+ 800331c:      685b            ldr     r3, [r3, #4]
+ 800331e:      085b            lsrs    r3, r3, #1
+ 8003320:      441a            add     r2, r3
+ 8003322:      687b            ldr     r3, [r7, #4]
+ 8003324:      685b            ldr     r3, [r3, #4]
+ 8003326:      fbb2 f3f3       udiv    r3, r2, r3
+ 800332a:      b29b            uxth    r3, r3
+ 800332c:      61bb            str     r3, [r7, #24]
+        break;
+ 800332e:      e00e            b.n     800334e <UART_SetConfig+0x50e>
+      case UART_CLOCKSOURCE_LSE:
+        usartdiv = (uint16_t)(UART_DIV_SAMPLING16(LSE_VALUE, huart->Init.BaudRate));
+ 8003330:      687b            ldr     r3, [r7, #4]
+ 8003332:      685b            ldr     r3, [r3, #4]
+ 8003334:      085b            lsrs    r3, r3, #1
+ 8003336:      f503 4200       add.w   r2, r3, #32768  ; 0x8000
+ 800333a:      687b            ldr     r3, [r7, #4]
+ 800333c:      685b            ldr     r3, [r3, #4]
+ 800333e:      fbb2 f3f3       udiv    r3, r2, r3
+ 8003342:      b29b            uxth    r3, r3
+ 8003344:      61bb            str     r3, [r7, #24]
+        break;
+ 8003346:      e002            b.n     800334e <UART_SetConfig+0x50e>
+      case UART_CLOCKSOURCE_UNDEFINED:
+      default:
+        ret = HAL_ERROR;
+ 8003348:      2301            movs    r3, #1
+ 800334a:      75fb            strb    r3, [r7, #23]
+        break;
+ 800334c:      bf00            nop
+    }
+
+    /* USARTDIV must be greater than or equal to 0d16 */
+    if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX))
+ 800334e:      69bb            ldr     r3, [r7, #24]
+ 8003350:      2b0f            cmp     r3, #15
+ 8003352:      d908            bls.n   8003366 <UART_SetConfig+0x526>
+ 8003354:      69bb            ldr     r3, [r7, #24]
+ 8003356:      f5b3 3f80       cmp.w   r3, #65536      ; 0x10000
+ 800335a:      d204            bcs.n   8003366 <UART_SetConfig+0x526>
+    {
+      huart->Instance->BRR = usartdiv;
+ 800335c:      687b            ldr     r3, [r7, #4]
+ 800335e:      681b            ldr     r3, [r3, #0]
+ 8003360:      69ba            ldr     r2, [r7, #24]
+ 8003362:      60da            str     r2, [r3, #12]
+ 8003364:      e001            b.n     800336a <UART_SetConfig+0x52a>
+    }
+    else
+    {
+      ret = HAL_ERROR;
+ 8003366:      2301            movs    r3, #1
+ 8003368:      75fb            strb    r3, [r7, #23]
+    }
+  }
+
+
+  /* Clear ISR function pointers */
+  huart->RxISR = NULL;
+ 800336a:      687b            ldr     r3, [r7, #4]
+ 800336c:      2200            movs    r2, #0
+ 800336e:      661a            str     r2, [r3, #96]   ; 0x60
+  huart->TxISR = NULL;
+ 8003370:      687b            ldr     r3, [r7, #4]
+ 8003372:      2200            movs    r2, #0
+ 8003374:      665a            str     r2, [r3, #100]  ; 0x64
+
+  return ret;
+ 8003376:      7dfb            ldrb    r3, [r7, #23]
+}
+ 8003378:      4618            mov     r0, r3
+ 800337a:      3720            adds    r7, #32
+ 800337c:      46bd            mov     sp, r7
+ 800337e:      bd80            pop     {r7, pc}
+ 8003380:      01e84800        .word   0x01e84800
+ 8003384:      00f42400        .word   0x00f42400
+
+08003388 <UART_AdvFeatureConfig>:
+  * @brief Configure the UART peripheral advanced features.
+  * @param huart UART handle.
+  * @retval None
+  */
+void UART_AdvFeatureConfig(UART_HandleTypeDef *huart)
+{
+ 8003388:      b480            push    {r7}
+ 800338a:      b083            sub     sp, #12
+ 800338c:      af00            add     r7, sp, #0
+ 800338e:      6078            str     r0, [r7, #4]
+  /* Check whether the set of advanced features to configure is properly set */
+  assert_param(IS_UART_ADVFEATURE_INIT(huart->AdvancedInit.AdvFeatureInit));
+
+  /* if required, configure TX pin active level inversion */
+  if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_TXINVERT_INIT))
+ 8003390:      687b            ldr     r3, [r7, #4]
+ 8003392:      6a5b            ldr     r3, [r3, #36]   ; 0x24
+ 8003394:      f003 0301       and.w   r3, r3, #1
+ 8003398:      2b00            cmp     r3, #0
+ 800339a:      d00a            beq.n   80033b2 <UART_AdvFeatureConfig+0x2a>
+  {
+    assert_param(IS_UART_ADVFEATURE_TXINV(huart->AdvancedInit.TxPinLevelInvert));
+    MODIFY_REG(huart->Instance->CR2, USART_CR2_TXINV, huart->AdvancedInit.TxPinLevelInvert);
+ 800339c:      687b            ldr     r3, [r7, #4]
+ 800339e:      681b            ldr     r3, [r3, #0]
+ 80033a0:      685b            ldr     r3, [r3, #4]
+ 80033a2:      f423 3100       bic.w   r1, r3, #131072 ; 0x20000
+ 80033a6:      687b            ldr     r3, [r7, #4]
+ 80033a8:      6a9a            ldr     r2, [r3, #40]   ; 0x28
+ 80033aa:      687b            ldr     r3, [r7, #4]
+ 80033ac:      681b            ldr     r3, [r3, #0]
+ 80033ae:      430a            orrs    r2, r1
+ 80033b0:      605a            str     r2, [r3, #4]
+  }
+
+  /* if required, configure RX pin active level inversion */
+  if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_RXINVERT_INIT))
+ 80033b2:      687b            ldr     r3, [r7, #4]
+ 80033b4:      6a5b            ldr     r3, [r3, #36]   ; 0x24
+ 80033b6:      f003 0302       and.w   r3, r3, #2
+ 80033ba:      2b00            cmp     r3, #0
+ 80033bc:      d00a            beq.n   80033d4 <UART_AdvFeatureConfig+0x4c>
+  {
+    assert_param(IS_UART_ADVFEATURE_RXINV(huart->AdvancedInit.RxPinLevelInvert));
+    MODIFY_REG(huart->Instance->CR2, USART_CR2_RXINV, huart->AdvancedInit.RxPinLevelInvert);
+ 80033be:      687b            ldr     r3, [r7, #4]
+ 80033c0:      681b            ldr     r3, [r3, #0]
+ 80033c2:      685b            ldr     r3, [r3, #4]
+ 80033c4:      f423 3180       bic.w   r1, r3, #65536  ; 0x10000
+ 80033c8:      687b            ldr     r3, [r7, #4]
+ 80033ca:      6ada            ldr     r2, [r3, #44]   ; 0x2c
+ 80033cc:      687b            ldr     r3, [r7, #4]
+ 80033ce:      681b            ldr     r3, [r3, #0]
+ 80033d0:      430a            orrs    r2, r1
+ 80033d2:      605a            str     r2, [r3, #4]
+  }
+
+  /* if required, configure data inversion */
+  if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_DATAINVERT_INIT))
+ 80033d4:      687b            ldr     r3, [r7, #4]
+ 80033d6:      6a5b            ldr     r3, [r3, #36]   ; 0x24
+ 80033d8:      f003 0304       and.w   r3, r3, #4
+ 80033dc:      2b00            cmp     r3, #0
+ 80033de:      d00a            beq.n   80033f6 <UART_AdvFeatureConfig+0x6e>
+  {
+    assert_param(IS_UART_ADVFEATURE_DATAINV(huart->AdvancedInit.DataInvert));
+    MODIFY_REG(huart->Instance->CR2, USART_CR2_DATAINV, huart->AdvancedInit.DataInvert);
+ 80033e0:      687b            ldr     r3, [r7, #4]
+ 80033e2:      681b            ldr     r3, [r3, #0]
+ 80033e4:      685b            ldr     r3, [r3, #4]
+ 80033e6:      f423 2180       bic.w   r1, r3, #262144 ; 0x40000
+ 80033ea:      687b            ldr     r3, [r7, #4]
+ 80033ec:      6b1a            ldr     r2, [r3, #48]   ; 0x30
+ 80033ee:      687b            ldr     r3, [r7, #4]
+ 80033f0:      681b            ldr     r3, [r3, #0]
+ 80033f2:      430a            orrs    r2, r1
+ 80033f4:      605a            str     r2, [r3, #4]
+  }
+
+  /* if required, configure RX/TX pins swap */
+  if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_SWAP_INIT))
+ 80033f6:      687b            ldr     r3, [r7, #4]
+ 80033f8:      6a5b            ldr     r3, [r3, #36]   ; 0x24
+ 80033fa:      f003 0308       and.w   r3, r3, #8
+ 80033fe:      2b00            cmp     r3, #0
+ 8003400:      d00a            beq.n   8003418 <UART_AdvFeatureConfig+0x90>
+  {
+    assert_param(IS_UART_ADVFEATURE_SWAP(huart->AdvancedInit.Swap));
+    MODIFY_REG(huart->Instance->CR2, USART_CR2_SWAP, huart->AdvancedInit.Swap);
+ 8003402:      687b            ldr     r3, [r7, #4]
+ 8003404:      681b            ldr     r3, [r3, #0]
+ 8003406:      685b            ldr     r3, [r3, #4]
+ 8003408:      f423 4100       bic.w   r1, r3, #32768  ; 0x8000
+ 800340c:      687b            ldr     r3, [r7, #4]
+ 800340e:      6b5a            ldr     r2, [r3, #52]   ; 0x34
+ 8003410:      687b            ldr     r3, [r7, #4]
+ 8003412:      681b            ldr     r3, [r3, #0]
+ 8003414:      430a            orrs    r2, r1
+ 8003416:      605a            str     r2, [r3, #4]
+  }
+
+  /* if required, configure RX overrun detection disabling */
+  if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_RXOVERRUNDISABLE_INIT))
+ 8003418:      687b            ldr     r3, [r7, #4]
+ 800341a:      6a5b            ldr     r3, [r3, #36]   ; 0x24
+ 800341c:      f003 0310       and.w   r3, r3, #16
+ 8003420:      2b00            cmp     r3, #0
+ 8003422:      d00a            beq.n   800343a <UART_AdvFeatureConfig+0xb2>
+  {
+    assert_param(IS_UART_OVERRUN(huart->AdvancedInit.OverrunDisable));
+    MODIFY_REG(huart->Instance->CR3, USART_CR3_OVRDIS, huart->AdvancedInit.OverrunDisable);
+ 8003424:      687b            ldr     r3, [r7, #4]
+ 8003426:      681b            ldr     r3, [r3, #0]
+ 8003428:      689b            ldr     r3, [r3, #8]
+ 800342a:      f423 5180       bic.w   r1, r3, #4096   ; 0x1000
+ 800342e:      687b            ldr     r3, [r7, #4]
+ 8003430:      6b9a            ldr     r2, [r3, #56]   ; 0x38
+ 8003432:      687b            ldr     r3, [r7, #4]
+ 8003434:      681b            ldr     r3, [r3, #0]
+ 8003436:      430a            orrs    r2, r1
+ 8003438:      609a            str     r2, [r3, #8]
+  }
+
+  /* if required, configure DMA disabling on reception error */
+  if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_DMADISABLEONERROR_INIT))
+ 800343a:      687b            ldr     r3, [r7, #4]
+ 800343c:      6a5b            ldr     r3, [r3, #36]   ; 0x24
+ 800343e:      f003 0320       and.w   r3, r3, #32
+ 8003442:      2b00            cmp     r3, #0
+ 8003444:      d00a            beq.n   800345c <UART_AdvFeatureConfig+0xd4>
+  {
+    assert_param(IS_UART_ADVFEATURE_DMAONRXERROR(huart->AdvancedInit.DMADisableonRxError));
+    MODIFY_REG(huart->Instance->CR3, USART_CR3_DDRE, huart->AdvancedInit.DMADisableonRxError);
+ 8003446:      687b            ldr     r3, [r7, #4]
+ 8003448:      681b            ldr     r3, [r3, #0]
+ 800344a:      689b            ldr     r3, [r3, #8]
+ 800344c:      f423 5100       bic.w   r1, r3, #8192   ; 0x2000
+ 8003450:      687b            ldr     r3, [r7, #4]
+ 8003452:      6bda            ldr     r2, [r3, #60]   ; 0x3c
+ 8003454:      687b            ldr     r3, [r7, #4]
+ 8003456:      681b            ldr     r3, [r3, #0]
+ 8003458:      430a            orrs    r2, r1
+ 800345a:      609a            str     r2, [r3, #8]
+  }
+
+  /* if required, configure auto Baud rate detection scheme */
+  if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_AUTOBAUDRATE_INIT))
+ 800345c:      687b            ldr     r3, [r7, #4]
+ 800345e:      6a5b            ldr     r3, [r3, #36]   ; 0x24
+ 8003460:      f003 0340       and.w   r3, r3, #64     ; 0x40
+ 8003464:      2b00            cmp     r3, #0
+ 8003466:      d01a            beq.n   800349e <UART_AdvFeatureConfig+0x116>
+  {
+    assert_param(IS_USART_AUTOBAUDRATE_DETECTION_INSTANCE(huart->Instance));
+    assert_param(IS_UART_ADVFEATURE_AUTOBAUDRATE(huart->AdvancedInit.AutoBaudRateEnable));
+    MODIFY_REG(huart->Instance->CR2, USART_CR2_ABREN, huart->AdvancedInit.AutoBaudRateEnable);
+ 8003468:      687b            ldr     r3, [r7, #4]
+ 800346a:      681b            ldr     r3, [r3, #0]
+ 800346c:      685b            ldr     r3, [r3, #4]
+ 800346e:      f423 1180       bic.w   r1, r3, #1048576        ; 0x100000
+ 8003472:      687b            ldr     r3, [r7, #4]
+ 8003474:      6c1a            ldr     r2, [r3, #64]   ; 0x40
+ 8003476:      687b            ldr     r3, [r7, #4]
+ 8003478:      681b            ldr     r3, [r3, #0]
+ 800347a:      430a            orrs    r2, r1
+ 800347c:      605a            str     r2, [r3, #4]
+    /* set auto Baudrate detection parameters if detection is enabled */
+    if (huart->AdvancedInit.AutoBaudRateEnable == UART_ADVFEATURE_AUTOBAUDRATE_ENABLE)
+ 800347e:      687b            ldr     r3, [r7, #4]
+ 8003480:      6c1b            ldr     r3, [r3, #64]   ; 0x40
+ 8003482:      f5b3 1f80       cmp.w   r3, #1048576    ; 0x100000
+ 8003486:      d10a            bne.n   800349e <UART_AdvFeatureConfig+0x116>
+    {
+      assert_param(IS_UART_ADVFEATURE_AUTOBAUDRATEMODE(huart->AdvancedInit.AutoBaudRateMode));
+      MODIFY_REG(huart->Instance->CR2, USART_CR2_ABRMODE, huart->AdvancedInit.AutoBaudRateMode);
+ 8003488:      687b            ldr     r3, [r7, #4]
+ 800348a:      681b            ldr     r3, [r3, #0]
+ 800348c:      685b            ldr     r3, [r3, #4]
+ 800348e:      f423 01c0       bic.w   r1, r3, #6291456        ; 0x600000
+ 8003492:      687b            ldr     r3, [r7, #4]
+ 8003494:      6c5a            ldr     r2, [r3, #68]   ; 0x44
+ 8003496:      687b            ldr     r3, [r7, #4]
+ 8003498:      681b            ldr     r3, [r3, #0]
+ 800349a:      430a            orrs    r2, r1
+ 800349c:      605a            str     r2, [r3, #4]
+    }
+  }
+
+  /* if required, configure MSB first on communication line */
+  if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_MSBFIRST_INIT))
+ 800349e:      687b            ldr     r3, [r7, #4]
+ 80034a0:      6a5b            ldr     r3, [r3, #36]   ; 0x24
+ 80034a2:      f003 0380       and.w   r3, r3, #128    ; 0x80
+ 80034a6:      2b00            cmp     r3, #0
+ 80034a8:      d00a            beq.n   80034c0 <UART_AdvFeatureConfig+0x138>
+  {
+    assert_param(IS_UART_ADVFEATURE_MSBFIRST(huart->AdvancedInit.MSBFirst));
+    MODIFY_REG(huart->Instance->CR2, USART_CR2_MSBFIRST, huart->AdvancedInit.MSBFirst);
+ 80034aa:      687b            ldr     r3, [r7, #4]
+ 80034ac:      681b            ldr     r3, [r3, #0]
+ 80034ae:      685b            ldr     r3, [r3, #4]
+ 80034b0:      f423 2100       bic.w   r1, r3, #524288 ; 0x80000
+ 80034b4:      687b            ldr     r3, [r7, #4]
+ 80034b6:      6c9a            ldr     r2, [r3, #72]   ; 0x48
+ 80034b8:      687b            ldr     r3, [r7, #4]
+ 80034ba:      681b            ldr     r3, [r3, #0]
+ 80034bc:      430a            orrs    r2, r1
+ 80034be:      605a            str     r2, [r3, #4]
+  }
+}
+ 80034c0:      bf00            nop
+ 80034c2:      370c            adds    r7, #12
+ 80034c4:      46bd            mov     sp, r7
+ 80034c6:      f85d 7b04       ldr.w   r7, [sp], #4
+ 80034ca:      4770            bx      lr
+
+080034cc <UART_CheckIdleState>:
+  * @brief Check the UART Idle State.
+  * @param huart UART handle.
+  * @retval HAL status
+  */
+HAL_StatusTypeDef UART_CheckIdleState(UART_HandleTypeDef *huart)
+{
+ 80034cc:      b580            push    {r7, lr}
+ 80034ce:      b086            sub     sp, #24
+ 80034d0:      af02            add     r7, sp, #8
+ 80034d2:      6078            str     r0, [r7, #4]
+  uint32_t tickstart;
+
+  /* Initialize the UART ErrorCode */
+  huart->ErrorCode = HAL_UART_ERROR_NONE;
+ 80034d4:      687b            ldr     r3, [r7, #4]
+ 80034d6:      2200            movs    r2, #0
+ 80034d8:      67da            str     r2, [r3, #124]  ; 0x7c
+
+  /* Init tickstart for timeout managment*/
+  tickstart = HAL_GetTick();
+ 80034da:      f7fd f887       bl      80005ec <HAL_GetTick>
+ 80034de:      60f8            str     r0, [r7, #12]
+
+  /* Check if the Transmitter is enabled */
+  if ((huart->Instance->CR1 & USART_CR1_TE) == USART_CR1_TE)
+ 80034e0:      687b            ldr     r3, [r7, #4]
+ 80034e2:      681b            ldr     r3, [r3, #0]
+ 80034e4:      681b            ldr     r3, [r3, #0]
+ 80034e6:      f003 0308       and.w   r3, r3, #8
+ 80034ea:      2b08            cmp     r3, #8
+ 80034ec:      d10e            bne.n   800350c <UART_CheckIdleState+0x40>
+  {
+    /* Wait until TEACK flag is set */
+    if (UART_WaitOnFlagUntilTimeout(huart, USART_ISR_TEACK, RESET, tickstart, HAL_UART_TIMEOUT_VALUE) != HAL_OK)
+ 80034ee:      f06f 437e       mvn.w   r3, #4261412864 ; 0xfe000000
+ 80034f2:      9300            str     r3, [sp, #0]
+ 80034f4:      68fb            ldr     r3, [r7, #12]
+ 80034f6:      2200            movs    r2, #0
+ 80034f8:      f44f 1100       mov.w   r1, #2097152    ; 0x200000
+ 80034fc:      6878            ldr     r0, [r7, #4]
+ 80034fe:      f000 f814       bl      800352a <UART_WaitOnFlagUntilTimeout>
+ 8003502:      4603            mov     r3, r0
+ 8003504:      2b00            cmp     r3, #0
+ 8003506:      d001            beq.n   800350c <UART_CheckIdleState+0x40>
+    {
+      /* Timeout occurred */
+      return HAL_TIMEOUT;
+ 8003508:      2303            movs    r3, #3
+ 800350a:      e00a            b.n     8003522 <UART_CheckIdleState+0x56>
+    }
+  }
+
+  /* Initialize the UART State */
+  huart->gState = HAL_UART_STATE_READY;
+ 800350c:      687b            ldr     r3, [r7, #4]
+ 800350e:      2220            movs    r2, #32
+ 8003510:      675a            str     r2, [r3, #116]  ; 0x74
+  huart->RxState = HAL_UART_STATE_READY;
+ 8003512:      687b            ldr     r3, [r7, #4]
+ 8003514:      2220            movs    r2, #32
+ 8003516:      679a            str     r2, [r3, #120]  ; 0x78
+
+  /* Process Unlocked */
+  __HAL_UNLOCK(huart);
+ 8003518:      687b            ldr     r3, [r7, #4]
+ 800351a:      2200            movs    r2, #0
+ 800351c:      f883 2070       strb.w  r2, [r3, #112]  ; 0x70
+
+  return HAL_OK;
+ 8003520:      2300            movs    r3, #0
+}
+ 8003522:      4618            mov     r0, r3
+ 8003524:      3710            adds    r7, #16
+ 8003526:      46bd            mov     sp, r7
+ 8003528:      bd80            pop     {r7, pc}
+
+0800352a <UART_WaitOnFlagUntilTimeout>:
+  * @param Tickstart Tick start value
+  * @param Timeout   Timeout duration
+  * @retval HAL status
+  */
+HAL_StatusTypeDef UART_WaitOnFlagUntilTimeout(UART_HandleTypeDef *huart, uint32_t Flag, FlagStatus Status, uint32_t Tickstart, uint32_t Timeout)
+{
+ 800352a:      b580            push    {r7, lr}
+ 800352c:      b084            sub     sp, #16
+ 800352e:      af00            add     r7, sp, #0
+ 8003530:      60f8            str     r0, [r7, #12]
+ 8003532:      60b9            str     r1, [r7, #8]
+ 8003534:      603b            str     r3, [r7, #0]
+ 8003536:      4613            mov     r3, r2
+ 8003538:      71fb            strb    r3, [r7, #7]
+  /* Wait until flag is set */
+  while ((__HAL_UART_GET_FLAG(huart, Flag) ? SET : RESET) == Status)
+ 800353a:      e02a            b.n     8003592 <UART_WaitOnFlagUntilTimeout+0x68>
+  {
+    /* Check for the Timeout */
+    if (Timeout != HAL_MAX_DELAY)
+ 800353c:      69bb            ldr     r3, [r7, #24]
+ 800353e:      f1b3 3fff       cmp.w   r3, #4294967295 ; 0xffffffff
+ 8003542:      d026            beq.n   8003592 <UART_WaitOnFlagUntilTimeout+0x68>
+    {
+      if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U))
+ 8003544:      f7fd f852       bl      80005ec <HAL_GetTick>
+ 8003548:      4602            mov     r2, r0
+ 800354a:      683b            ldr     r3, [r7, #0]
+ 800354c:      1ad3            subs    r3, r2, r3
+ 800354e:      69ba            ldr     r2, [r7, #24]
+ 8003550:      429a            cmp     r2, r3
+ 8003552:      d302            bcc.n   800355a <UART_WaitOnFlagUntilTimeout+0x30>
+ 8003554:      69bb            ldr     r3, [r7, #24]
+ 8003556:      2b00            cmp     r3, #0
+ 8003558:      d11b            bne.n   8003592 <UART_WaitOnFlagUntilTimeout+0x68>
+      {
+        /* Disable TXE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts for the interrupt process */
+        CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE));
+ 800355a:      68fb            ldr     r3, [r7, #12]
+ 800355c:      681b            ldr     r3, [r3, #0]
+ 800355e:      681a            ldr     r2, [r3, #0]
+ 8003560:      68fb            ldr     r3, [r7, #12]
+ 8003562:      681b            ldr     r3, [r3, #0]
+ 8003564:      f422 72d0       bic.w   r2, r2, #416    ; 0x1a0
+ 8003568:      601a            str     r2, [r3, #0]
+        CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
+ 800356a:      68fb            ldr     r3, [r7, #12]
+ 800356c:      681b            ldr     r3, [r3, #0]
+ 800356e:      689a            ldr     r2, [r3, #8]
+ 8003570:      68fb            ldr     r3, [r7, #12]
+ 8003572:      681b            ldr     r3, [r3, #0]
+ 8003574:      f022 0201       bic.w   r2, r2, #1
+ 8003578:      609a            str     r2, [r3, #8]
+
+        huart->gState = HAL_UART_STATE_READY;
+ 800357a:      68fb            ldr     r3, [r7, #12]
+ 800357c:      2220            movs    r2, #32
+ 800357e:      675a            str     r2, [r3, #116]  ; 0x74
+        huart->RxState = HAL_UART_STATE_READY;
+ 8003580:      68fb            ldr     r3, [r7, #12]
+ 8003582:      2220            movs    r2, #32
+ 8003584:      679a            str     r2, [r3, #120]  ; 0x78
+
+        /* Process Unlocked */
+        __HAL_UNLOCK(huart);
+ 8003586:      68fb            ldr     r3, [r7, #12]
+ 8003588:      2200            movs    r2, #0
+ 800358a:      f883 2070       strb.w  r2, [r3, #112]  ; 0x70
+
+        return HAL_TIMEOUT;
+ 800358e:      2303            movs    r3, #3
+ 8003590:      e00f            b.n     80035b2 <UART_WaitOnFlagUntilTimeout+0x88>
+  while ((__HAL_UART_GET_FLAG(huart, Flag) ? SET : RESET) == Status)
+ 8003592:      68fb            ldr     r3, [r7, #12]
+ 8003594:      681b            ldr     r3, [r3, #0]
+ 8003596:      69da            ldr     r2, [r3, #28]
+ 8003598:      68bb            ldr     r3, [r7, #8]
+ 800359a:      4013            ands    r3, r2
+ 800359c:      68ba            ldr     r2, [r7, #8]
+ 800359e:      429a            cmp     r2, r3
+ 80035a0:      bf0c            ite     eq
+ 80035a2:      2301            moveq   r3, #1
+ 80035a4:      2300            movne   r3, #0
+ 80035a6:      b2db            uxtb    r3, r3
+ 80035a8:      461a            mov     r2, r3
+ 80035aa:      79fb            ldrb    r3, [r7, #7]
+ 80035ac:      429a            cmp     r2, r3
+ 80035ae:      d0c5            beq.n   800353c <UART_WaitOnFlagUntilTimeout+0x12>
+      }
+    }
+  }
+  return HAL_OK;
+ 80035b0:      2300            movs    r3, #0
+}
+ 80035b2:      4618            mov     r0, r3
+ 80035b4:      3710            adds    r7, #16
+ 80035b6:      46bd            mov     sp, r7
+ 80035b8:      bd80            pop     {r7, pc}
+
+080035ba <UART_EndTxTransfer>:
+  * @brief  End ongoing Tx transfer on UART peripheral (following error detection or Transmit completion).
+  * @param  huart UART handle.
+  * @retval None
+  */
+static void UART_EndTxTransfer(UART_HandleTypeDef *huart)
+{
+ 80035ba:      b480            push    {r7}
+ 80035bc:      b083            sub     sp, #12
+ 80035be:      af00            add     r7, sp, #0
+ 80035c0:      6078            str     r0, [r7, #4]
+  /* Disable TXEIE and TCIE interrupts */
+  CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE));
+ 80035c2:      687b            ldr     r3, [r7, #4]
+ 80035c4:      681b            ldr     r3, [r3, #0]
+ 80035c6:      681a            ldr     r2, [r3, #0]
+ 80035c8:      687b            ldr     r3, [r7, #4]
+ 80035ca:      681b            ldr     r3, [r3, #0]
+ 80035cc:      f022 02c0       bic.w   r2, r2, #192    ; 0xc0
+ 80035d0:      601a            str     r2, [r3, #0]
+
+  /* At end of Tx process, restore huart->gState to Ready */
+  huart->gState = HAL_UART_STATE_READY;
+ 80035d2:      687b            ldr     r3, [r7, #4]
+ 80035d4:      2220            movs    r2, #32
+ 80035d6:      675a            str     r2, [r3, #116]  ; 0x74
+}
+ 80035d8:      bf00            nop
+ 80035da:      370c            adds    r7, #12
+ 80035dc:      46bd            mov     sp, r7
+ 80035de:      f85d 7b04       ldr.w   r7, [sp], #4
+ 80035e2:      4770            bx      lr
+
+080035e4 <UART_EndRxTransfer>:
+  * @brief  End ongoing Rx transfer on UART peripheral (following error detection or Reception completion).
+  * @param  huart UART handle.
+  * @retval None
+  */
+static void UART_EndRxTransfer(UART_HandleTypeDef *huart)
+{
+ 80035e4:      b480            push    {r7}
+ 80035e6:      b083            sub     sp, #12
+ 80035e8:      af00            add     r7, sp, #0
+ 80035ea:      6078            str     r0, [r7, #4]
+  /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
+  CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
+ 80035ec:      687b            ldr     r3, [r7, #4]
+ 80035ee:      681b            ldr     r3, [r3, #0]
+ 80035f0:      681a            ldr     r2, [r3, #0]
+ 80035f2:      687b            ldr     r3, [r7, #4]
+ 80035f4:      681b            ldr     r3, [r3, #0]
+ 80035f6:      f422 7290       bic.w   r2, r2, #288    ; 0x120
+ 80035fa:      601a            str     r2, [r3, #0]
+  CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
+ 80035fc:      687b            ldr     r3, [r7, #4]
+ 80035fe:      681b            ldr     r3, [r3, #0]
+ 8003600:      689a            ldr     r2, [r3, #8]
+ 8003602:      687b            ldr     r3, [r7, #4]
+ 8003604:      681b            ldr     r3, [r3, #0]
+ 8003606:      f022 0201       bic.w   r2, r2, #1
+ 800360a:      609a            str     r2, [r3, #8]
+
+  /* At end of Rx process, restore huart->RxState to Ready */
+  huart->RxState = HAL_UART_STATE_READY;
+ 800360c:      687b            ldr     r3, [r7, #4]
+ 800360e:      2220            movs    r2, #32
+ 8003610:      679a            str     r2, [r3, #120]  ; 0x78
+
+  /* Reset RxIsr function pointer */
+  huart->RxISR = NULL;
+ 8003612:      687b            ldr     r3, [r7, #4]
+ 8003614:      2200            movs    r2, #0
+ 8003616:      661a            str     r2, [r3, #96]   ; 0x60
+}
+ 8003618:      bf00            nop
+ 800361a:      370c            adds    r7, #12
+ 800361c:      46bd            mov     sp, r7
+ 800361e:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8003622:      4770            bx      lr
+
+08003624 <UART_DMATransmitCplt>:
+  * @brief DMA UART transmit process complete callback.
+  * @param hdma DMA handle.
+  * @retval None
+  */
+static void UART_DMATransmitCplt(DMA_HandleTypeDef *hdma)
+{
+ 8003624:      b580            push    {r7, lr}
+ 8003626:      b084            sub     sp, #16
+ 8003628:      af00            add     r7, sp, #0
+ 800362a:      6078            str     r0, [r7, #4]
+  UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
+ 800362c:      687b            ldr     r3, [r7, #4]
+ 800362e:      6b9b            ldr     r3, [r3, #56]   ; 0x38
+ 8003630:      60fb            str     r3, [r7, #12]
+
+  /* DMA Normal mode */
+  if (hdma->Init.Mode != DMA_CIRCULAR)
+ 8003632:      687b            ldr     r3, [r7, #4]
+ 8003634:      69db            ldr     r3, [r3, #28]
+ 8003636:      f5b3 7f80       cmp.w   r3, #256        ; 0x100
+ 800363a:      d014            beq.n   8003666 <UART_DMATransmitCplt+0x42>
+  {
+    huart->TxXferCount = 0U;
+ 800363c:      68fb            ldr     r3, [r7, #12]
+ 800363e:      2200            movs    r2, #0
+ 8003640:      f8a3 2052       strh.w  r2, [r3, #82]   ; 0x52
+
+    /* Disable the DMA transfer for transmit request by resetting the DMAT bit
+       in the UART CR3 register */
+    CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
+ 8003644:      68fb            ldr     r3, [r7, #12]
+ 8003646:      681b            ldr     r3, [r3, #0]
+ 8003648:      689a            ldr     r2, [r3, #8]
+ 800364a:      68fb            ldr     r3, [r7, #12]
+ 800364c:      681b            ldr     r3, [r3, #0]
+ 800364e:      f022 0280       bic.w   r2, r2, #128    ; 0x80
+ 8003652:      609a            str     r2, [r3, #8]
+
+    /* Enable the UART Transmit Complete Interrupt */
+    SET_BIT(huart->Instance->CR1, USART_CR1_TCIE);
+ 8003654:      68fb            ldr     r3, [r7, #12]
+ 8003656:      681b            ldr     r3, [r3, #0]
+ 8003658:      681a            ldr     r2, [r3, #0]
+ 800365a:      68fb            ldr     r3, [r7, #12]
+ 800365c:      681b            ldr     r3, [r3, #0]
+ 800365e:      f042 0240       orr.w   r2, r2, #64     ; 0x40
+ 8003662:      601a            str     r2, [r3, #0]
+#else
+    /*Call legacy weak Tx complete callback*/
+    HAL_UART_TxCpltCallback(huart);
+#endif /* USE_HAL_UART_REGISTER_CALLBACKS */
+  }
+}
+ 8003664:      e002            b.n     800366c <UART_DMATransmitCplt+0x48>
+    HAL_UART_TxCpltCallback(huart);
+ 8003666:      68f8            ldr     r0, [r7, #12]
+ 8003668:      f7ff fbb8       bl      8002ddc <HAL_UART_TxCpltCallback>
+}
+ 800366c:      bf00            nop
+ 800366e:      3710            adds    r7, #16
+ 8003670:      46bd            mov     sp, r7
+ 8003672:      bd80            pop     {r7, pc}
+
+08003674 <UART_DMATxHalfCplt>:
+  * @brief DMA UART transmit process half complete callback.
+  * @param hdma DMA handle.
+  * @retval None
+  */
+static void UART_DMATxHalfCplt(DMA_HandleTypeDef *hdma)
+{
+ 8003674:      b580            push    {r7, lr}
+ 8003676:      b084            sub     sp, #16
+ 8003678:      af00            add     r7, sp, #0
+ 800367a:      6078            str     r0, [r7, #4]
+  UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
+ 800367c:      687b            ldr     r3, [r7, #4]
+ 800367e:      6b9b            ldr     r3, [r3, #56]   ; 0x38
+ 8003680:      60fb            str     r3, [r7, #12]
+#if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
+  /*Call registered Tx Half complete callback*/
+  huart->TxHalfCpltCallback(huart);
+#else
+  /*Call legacy weak Tx Half complete callback*/
+  HAL_UART_TxHalfCpltCallback(huart);
+ 8003682:      68f8            ldr     r0, [r7, #12]
+ 8003684:      f7ff fbb4       bl      8002df0 <HAL_UART_TxHalfCpltCallback>
+#endif /* USE_HAL_UART_REGISTER_CALLBACKS */
+}
+ 8003688:      bf00            nop
+ 800368a:      3710            adds    r7, #16
+ 800368c:      46bd            mov     sp, r7
+ 800368e:      bd80            pop     {r7, pc}
+
+08003690 <UART_DMAReceiveCplt>:
+  * @brief DMA UART receive process complete callback.
+  * @param hdma DMA handle.
+  * @retval None
+  */
+static void UART_DMAReceiveCplt(DMA_HandleTypeDef *hdma)
+{
+ 8003690:      b580            push    {r7, lr}
+ 8003692:      b084            sub     sp, #16
+ 8003694:      af00            add     r7, sp, #0
+ 8003696:      6078            str     r0, [r7, #4]
+  UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
+ 8003698:      687b            ldr     r3, [r7, #4]
+ 800369a:      6b9b            ldr     r3, [r3, #56]   ; 0x38
+ 800369c:      60fb            str     r3, [r7, #12]
+
+  /* DMA Normal mode */
+  if (hdma->Init.Mode != DMA_CIRCULAR)
+ 800369e:      687b            ldr     r3, [r7, #4]
+ 80036a0:      69db            ldr     r3, [r3, #28]
+ 80036a2:      f5b3 7f80       cmp.w   r3, #256        ; 0x100
+ 80036a6:      d01e            beq.n   80036e6 <UART_DMAReceiveCplt+0x56>
+  {
+    huart->RxXferCount = 0U;
+ 80036a8:      68fb            ldr     r3, [r7, #12]
+ 80036aa:      2200            movs    r2, #0
+ 80036ac:      f8a3 205a       strh.w  r2, [r3, #90]   ; 0x5a
+
+    /* Disable PE and ERR (Frame error, noise error, overrun error) interrupts */
+    CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE);
+ 80036b0:      68fb            ldr     r3, [r7, #12]
+ 80036b2:      681b            ldr     r3, [r3, #0]
+ 80036b4:      681a            ldr     r2, [r3, #0]
+ 80036b6:      68fb            ldr     r3, [r7, #12]
+ 80036b8:      681b            ldr     r3, [r3, #0]
+ 80036ba:      f422 7280       bic.w   r2, r2, #256    ; 0x100
+ 80036be:      601a            str     r2, [r3, #0]
+    CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
+ 80036c0:      68fb            ldr     r3, [r7, #12]
+ 80036c2:      681b            ldr     r3, [r3, #0]
+ 80036c4:      689a            ldr     r2, [r3, #8]
+ 80036c6:      68fb            ldr     r3, [r7, #12]
+ 80036c8:      681b            ldr     r3, [r3, #0]
+ 80036ca:      f022 0201       bic.w   r2, r2, #1
+ 80036ce:      609a            str     r2, [r3, #8]
+
+    /* Disable the DMA transfer for the receiver request by resetting the DMAR bit
+       in the UART CR3 register */
+    CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
+ 80036d0:      68fb            ldr     r3, [r7, #12]
+ 80036d2:      681b            ldr     r3, [r3, #0]
+ 80036d4:      689a            ldr     r2, [r3, #8]
+ 80036d6:      68fb            ldr     r3, [r7, #12]
+ 80036d8:      681b            ldr     r3, [r3, #0]
+ 80036da:      f022 0240       bic.w   r2, r2, #64     ; 0x40
+ 80036de:      609a            str     r2, [r3, #8]
+
+    /* At end of Rx process, restore huart->RxState to Ready */
+    huart->RxState = HAL_UART_STATE_READY;
+ 80036e0:      68fb            ldr     r3, [r7, #12]
+ 80036e2:      2220            movs    r2, #32
+ 80036e4:      679a            str     r2, [r3, #120]  ; 0x78
+#if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
+  /*Call registered Rx complete callback*/
+  huart->RxCpltCallback(huart);
+#else
+  /*Call legacy weak Rx complete callback*/
+  HAL_UART_RxCpltCallback(huart);
+ 80036e6:      68f8            ldr     r0, [r7, #12]
+ 80036e8:      f7ff fb8c       bl      8002e04 <HAL_UART_RxCpltCallback>
+#endif /* USE_HAL_UART_REGISTER_CALLBACKS */
+}
+ 80036ec:      bf00            nop
+ 80036ee:      3710            adds    r7, #16
+ 80036f0:      46bd            mov     sp, r7
+ 80036f2:      bd80            pop     {r7, pc}
+
+080036f4 <UART_DMARxHalfCplt>:
+  * @brief DMA UART receive process half complete callback.
+  * @param hdma DMA handle.
+  * @retval None
+  */
+static void UART_DMARxHalfCplt(DMA_HandleTypeDef *hdma)
+{
+ 80036f4:      b580            push    {r7, lr}
+ 80036f6:      b084            sub     sp, #16
+ 80036f8:      af00            add     r7, sp, #0
+ 80036fa:      6078            str     r0, [r7, #4]
+  UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
+ 80036fc:      687b            ldr     r3, [r7, #4]
+ 80036fe:      6b9b            ldr     r3, [r3, #56]   ; 0x38
+ 8003700:      60fb            str     r3, [r7, #12]
+#if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
+  /*Call registered Rx Half complete callback*/
+  huart->RxHalfCpltCallback(huart);
+#else
+  /*Call legacy weak Rx Half complete callback*/
+  HAL_UART_RxHalfCpltCallback(huart);
+ 8003702:      68f8            ldr     r0, [r7, #12]
+ 8003704:      f7ff fb88       bl      8002e18 <HAL_UART_RxHalfCpltCallback>
+#endif /* USE_HAL_UART_REGISTER_CALLBACKS */
+}
+ 8003708:      bf00            nop
+ 800370a:      3710            adds    r7, #16
+ 800370c:      46bd            mov     sp, r7
+ 800370e:      bd80            pop     {r7, pc}
+
+08003710 <UART_DMAError>:
+  * @brief DMA UART communication error callback.
+  * @param hdma DMA handle.
+  * @retval None
+  */
+static void UART_DMAError(DMA_HandleTypeDef *hdma)
+{
+ 8003710:      b580            push    {r7, lr}
+ 8003712:      b086            sub     sp, #24
+ 8003714:      af00            add     r7, sp, #0
+ 8003716:      6078            str     r0, [r7, #4]
+  UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
+ 8003718:      687b            ldr     r3, [r7, #4]
+ 800371a:      6b9b            ldr     r3, [r3, #56]   ; 0x38
+ 800371c:      617b            str     r3, [r7, #20]
+
+  const HAL_UART_StateTypeDef gstate = huart->gState;
+ 800371e:      697b            ldr     r3, [r7, #20]
+ 8003720:      6f5b            ldr     r3, [r3, #116]  ; 0x74
+ 8003722:      613b            str     r3, [r7, #16]
+  const HAL_UART_StateTypeDef rxstate = huart->RxState;
+ 8003724:      697b            ldr     r3, [r7, #20]
+ 8003726:      6f9b            ldr     r3, [r3, #120]  ; 0x78
+ 8003728:      60fb            str     r3, [r7, #12]
+
+  /* Stop UART DMA Tx request if ongoing */
+  if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) &&
+ 800372a:      697b            ldr     r3, [r7, #20]
+ 800372c:      681b            ldr     r3, [r3, #0]
+ 800372e:      689b            ldr     r3, [r3, #8]
+ 8003730:      f003 0380       and.w   r3, r3, #128    ; 0x80
+ 8003734:      2b80            cmp     r3, #128        ; 0x80
+ 8003736:      d109            bne.n   800374c <UART_DMAError+0x3c>
+ 8003738:      693b            ldr     r3, [r7, #16]
+ 800373a:      2b21            cmp     r3, #33 ; 0x21
+ 800373c:      d106            bne.n   800374c <UART_DMAError+0x3c>
+      (gstate == HAL_UART_STATE_BUSY_TX))
+  {
+    huart->TxXferCount = 0U;
+ 800373e:      697b            ldr     r3, [r7, #20]
+ 8003740:      2200            movs    r2, #0
+ 8003742:      f8a3 2052       strh.w  r2, [r3, #82]   ; 0x52
+    UART_EndTxTransfer(huart);
+ 8003746:      6978            ldr     r0, [r7, #20]
+ 8003748:      f7ff ff37       bl      80035ba <UART_EndTxTransfer>
+  }
+
+  /* Stop UART DMA Rx request if ongoing */
+  if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) &&
+ 800374c:      697b            ldr     r3, [r7, #20]
+ 800374e:      681b            ldr     r3, [r3, #0]
+ 8003750:      689b            ldr     r3, [r3, #8]
+ 8003752:      f003 0340       and.w   r3, r3, #64     ; 0x40
+ 8003756:      2b40            cmp     r3, #64 ; 0x40
+ 8003758:      d109            bne.n   800376e <UART_DMAError+0x5e>
+ 800375a:      68fb            ldr     r3, [r7, #12]
+ 800375c:      2b22            cmp     r3, #34 ; 0x22
+ 800375e:      d106            bne.n   800376e <UART_DMAError+0x5e>
+      (rxstate == HAL_UART_STATE_BUSY_RX))
+  {
+    huart->RxXferCount = 0U;
+ 8003760:      697b            ldr     r3, [r7, #20]
+ 8003762:      2200            movs    r2, #0
+ 8003764:      f8a3 205a       strh.w  r2, [r3, #90]   ; 0x5a
+    UART_EndRxTransfer(huart);
+ 8003768:      6978            ldr     r0, [r7, #20]
+ 800376a:      f7ff ff3b       bl      80035e4 <UART_EndRxTransfer>
+  }
+
+  huart->ErrorCode |= HAL_UART_ERROR_DMA;
+ 800376e:      697b            ldr     r3, [r7, #20]
+ 8003770:      6fdb            ldr     r3, [r3, #124]  ; 0x7c
+ 8003772:      f043 0210       orr.w   r2, r3, #16
+ 8003776:      697b            ldr     r3, [r7, #20]
+ 8003778:      67da            str     r2, [r3, #124]  ; 0x7c
+#if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
+  /*Call registered error callback*/
+  huart->ErrorCallback(huart);
+#else
+  /*Call legacy weak error callback*/
+  HAL_UART_ErrorCallback(huart);
+ 800377a:      6978            ldr     r0, [r7, #20]
+ 800377c:      f7ff fb56       bl      8002e2c <HAL_UART_ErrorCallback>
+#endif /* USE_HAL_UART_REGISTER_CALLBACKS */
+}
+ 8003780:      bf00            nop
+ 8003782:      3718            adds    r7, #24
+ 8003784:      46bd            mov     sp, r7
+ 8003786:      bd80            pop     {r7, pc}
+
+08003788 <UART_DMAAbortOnError>:
+  *         (To be called at end of DMA Abort procedure following error occurrence).
+  * @param  hdma DMA handle.
+  * @retval None
+  */
+static void UART_DMAAbortOnError(DMA_HandleTypeDef *hdma)
+{
+ 8003788:      b580            push    {r7, lr}
+ 800378a:      b084            sub     sp, #16
+ 800378c:      af00            add     r7, sp, #0
+ 800378e:      6078            str     r0, [r7, #4]
+  UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
+ 8003790:      687b            ldr     r3, [r7, #4]
+ 8003792:      6b9b            ldr     r3, [r3, #56]   ; 0x38
+ 8003794:      60fb            str     r3, [r7, #12]
+  huart->RxXferCount = 0U;
+ 8003796:      68fb            ldr     r3, [r7, #12]
+ 8003798:      2200            movs    r2, #0
+ 800379a:      f8a3 205a       strh.w  r2, [r3, #90]   ; 0x5a
+  huart->TxXferCount = 0U;
+ 800379e:      68fb            ldr     r3, [r7, #12]
+ 80037a0:      2200            movs    r2, #0
+ 80037a2:      f8a3 2052       strh.w  r2, [r3, #82]   ; 0x52
+#if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
+  /*Call registered error callback*/
+  huart->ErrorCallback(huart);
+#else
+  /*Call legacy weak error callback*/
+  HAL_UART_ErrorCallback(huart);
+ 80037a6:      68f8            ldr     r0, [r7, #12]
+ 80037a8:      f7ff fb40       bl      8002e2c <HAL_UART_ErrorCallback>
+#endif /* USE_HAL_UART_REGISTER_CALLBACKS */
+}
+ 80037ac:      bf00            nop
+ 80037ae:      3710            adds    r7, #16
+ 80037b0:      46bd            mov     sp, r7
+ 80037b2:      bd80            pop     {r7, pc}
+
+080037b4 <UART_EndTransmit_IT>:
+  * @param  huart pointer to a UART_HandleTypeDef structure that contains
+  *                the configuration information for the specified UART module.
+  * @retval None
+  */
+static void UART_EndTransmit_IT(UART_HandleTypeDef *huart)
+{
+ 80037b4:      b580            push    {r7, lr}
+ 80037b6:      b082            sub     sp, #8
+ 80037b8:      af00            add     r7, sp, #0
+ 80037ba:      6078            str     r0, [r7, #4]
+  /* Disable the UART Transmit Complete Interrupt */
+  CLEAR_BIT(huart->Instance->CR1, USART_CR1_TCIE);
+ 80037bc:      687b            ldr     r3, [r7, #4]
+ 80037be:      681b            ldr     r3, [r3, #0]
+ 80037c0:      681a            ldr     r2, [r3, #0]
+ 80037c2:      687b            ldr     r3, [r7, #4]
+ 80037c4:      681b            ldr     r3, [r3, #0]
+ 80037c6:      f022 0240       bic.w   r2, r2, #64     ; 0x40
+ 80037ca:      601a            str     r2, [r3, #0]
+
+  /* Tx process is ended, restore huart->gState to Ready */
+  huart->gState = HAL_UART_STATE_READY;
+ 80037cc:      687b            ldr     r3, [r7, #4]
+ 80037ce:      2220            movs    r2, #32
+ 80037d0:      675a            str     r2, [r3, #116]  ; 0x74
+
+  /* Cleat TxISR function pointer */
+  huart->TxISR = NULL;
+ 80037d2:      687b            ldr     r3, [r7, #4]
+ 80037d4:      2200            movs    r2, #0
+ 80037d6:      665a            str     r2, [r3, #100]  ; 0x64
+#if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
+  /*Call registered Tx complete callback*/
+  huart->TxCpltCallback(huart);
+#else
+  /*Call legacy weak Tx complete callback*/
+  HAL_UART_TxCpltCallback(huart);
+ 80037d8:      6878            ldr     r0, [r7, #4]
+ 80037da:      f7ff faff       bl      8002ddc <HAL_UART_TxCpltCallback>
+#endif /* USE_HAL_UART_REGISTER_CALLBACKS */
+}
+ 80037de:      bf00            nop
+ 80037e0:      3708            adds    r7, #8
+ 80037e2:      46bd            mov     sp, r7
+ 80037e4:      bd80            pop     {r7, pc}
+       ...
+
+080037e8 <_ZN3ros3MsgC1Ev>:
+
+namespace ros
+{
+
+/* Base Message Type */
+class Msg
+ 80037e8:      b480            push    {r7}
+ 80037ea:      b083            sub     sp, #12
+ 80037ec:      af00            add     r7, sp, #0
+ 80037ee:      6078            str     r0, [r7, #4]
+ 80037f0:      4a04            ldr     r2, [pc, #16]   ; (8003804 <_ZN3ros3MsgC1Ev+0x1c>)
+ 80037f2:      687b            ldr     r3, [r7, #4]
+ 80037f4:      601a            str     r2, [r3, #0]
+ 80037f6:      687b            ldr     r3, [r7, #4]
+ 80037f8:      4618            mov     r0, r3
+ 80037fa:      370c            adds    r7, #12
+ 80037fc:      46bd            mov     sp, r7
+ 80037fe:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8003802:      4770            bx      lr
+ 8003804:      08006000        .word   0x08006000
+
+08003808 <_ZN8std_msgs6StringC1Ev>:
+  {
+    public:
+      typedef const char* _data_type;
+      _data_type data;
+
+    String():
+ 8003808:      b580            push    {r7, lr}
+ 800380a:      b082            sub     sp, #8
+ 800380c:      af00            add     r7, sp, #0
+ 800380e:      6078            str     r0, [r7, #4]
+      data("")
+ 8003810:      687b            ldr     r3, [r7, #4]
+ 8003812:      4618            mov     r0, r3
+ 8003814:      f7ff ffe8       bl      80037e8 <_ZN3ros3MsgC1Ev>
+ 8003818:      4a05            ldr     r2, [pc, #20]   ; (8003830 <_ZN8std_msgs6StringC1Ev+0x28>)
+ 800381a:      687b            ldr     r3, [r7, #4]
+ 800381c:      601a            str     r2, [r3, #0]
+ 800381e:      687b            ldr     r3, [r7, #4]
+ 8003820:      4a04            ldr     r2, [pc, #16]   ; (8003834 <_ZN8std_msgs6StringC1Ev+0x2c>)
+ 8003822:      605a            str     r2, [r3, #4]
+    {
+    }
+ 8003824:      687b            ldr     r3, [r7, #4]
+ 8003826:      4618            mov     r0, r3
+ 8003828:      3708            adds    r7, #8
+ 800382a:      46bd            mov     sp, r7
+ 800382c:      bd80            pop     {r7, pc}
+ 800382e:      bf00            nop
+ 8003830:      08005fe8        .word   0x08005fe8
+ 8003834:      08005dd8        .word   0x08005dd8
+
+08003838 <_ZNK8std_msgs6String9serializeEPh>:
+
+    virtual int serialize(unsigned char *outbuffer) const
+ 8003838:      b580            push    {r7, lr}
+ 800383a:      b084            sub     sp, #16
+ 800383c:      af00            add     r7, sp, #0
+ 800383e:      6078            str     r0, [r7, #4]
+ 8003840:      6039            str     r1, [r7, #0]
+    {
+      int offset = 0;
+ 8003842:      2300            movs    r3, #0
+ 8003844:      60fb            str     r3, [r7, #12]
+      uint32_t length_data = strlen(this->data);
+ 8003846:      687b            ldr     r3, [r7, #4]
+ 8003848:      685b            ldr     r3, [r3, #4]
+ 800384a:      4618            mov     r0, r3
+ 800384c:      f7fc fcf4       bl      8000238 <strlen>
+ 8003850:      60b8            str     r0, [r7, #8]
+      varToArr(outbuffer + offset, length_data);
+ 8003852:      68fb            ldr     r3, [r7, #12]
+ 8003854:      683a            ldr     r2, [r7, #0]
+ 8003856:      4413            add     r3, r2
+ 8003858:      68b9            ldr     r1, [r7, #8]
+ 800385a:      4618            mov     r0, r3
+ 800385c:      f001 f9bb       bl      8004bd6 <_ZN3ros3Msg8varToArrIPhmEEvT_T0_>
+      offset += 4;
+ 8003860:      68fb            ldr     r3, [r7, #12]
+ 8003862:      3304            adds    r3, #4
+ 8003864:      60fb            str     r3, [r7, #12]
+      memcpy(outbuffer + offset, this->data, length_data);
+ 8003866:      68fb            ldr     r3, [r7, #12]
+ 8003868:      683a            ldr     r2, [r7, #0]
+ 800386a:      18d0            adds    r0, r2, r3
+ 800386c:      687b            ldr     r3, [r7, #4]
+ 800386e:      685b            ldr     r3, [r3, #4]
+ 8003870:      68ba            ldr     r2, [r7, #8]
+ 8003872:      4619            mov     r1, r3
+ 8003874:      f002 f95c       bl      8005b30 <memcpy>
+      offset += length_data;
+ 8003878:      68fa            ldr     r2, [r7, #12]
+ 800387a:      68bb            ldr     r3, [r7, #8]
+ 800387c:      4413            add     r3, r2
+ 800387e:      60fb            str     r3, [r7, #12]
+      return offset;
+ 8003880:      68fb            ldr     r3, [r7, #12]
+    }
+ 8003882:      4618            mov     r0, r3
+ 8003884:      3710            adds    r7, #16
+ 8003886:      46bd            mov     sp, r7
+ 8003888:      bd80            pop     {r7, pc}
+
+0800388a <_ZN8std_msgs6String11deserializeEPh>:
+
+    virtual int deserialize(unsigned char *inbuffer)
+ 800388a:      b580            push    {r7, lr}
+ 800388c:      b086            sub     sp, #24
+ 800388e:      af00            add     r7, sp, #0
+ 8003890:      6078            str     r0, [r7, #4]
+ 8003892:      6039            str     r1, [r7, #0]
+    {
+      int offset = 0;
+ 8003894:      2300            movs    r3, #0
+ 8003896:      613b            str     r3, [r7, #16]
+      uint32_t length_data;
+      arrToVar(length_data, (inbuffer + offset));
+ 8003898:      693b            ldr     r3, [r7, #16]
+ 800389a:      683a            ldr     r2, [r7, #0]
+ 800389c:      441a            add     r2, r3
+ 800389e:      f107 030c       add.w   r3, r7, #12
+ 80038a2:      4611            mov     r1, r2
+ 80038a4:      4618            mov     r0, r3
+ 80038a6:      f001 f9b4       bl      8004c12 <_ZN3ros3Msg8arrToVarImPhEEvRT_T0_>
+      offset += 4;
+ 80038aa:      693b            ldr     r3, [r7, #16]
+ 80038ac:      3304            adds    r3, #4
+ 80038ae:      613b            str     r3, [r7, #16]
+      for(unsigned int k= offset; k< offset+length_data; ++k){
+ 80038b0:      693b            ldr     r3, [r7, #16]
+ 80038b2:      617b            str     r3, [r7, #20]
+ 80038b4:      693a            ldr     r2, [r7, #16]
+ 80038b6:      68fb            ldr     r3, [r7, #12]
+ 80038b8:      4413            add     r3, r2
+ 80038ba:      697a            ldr     r2, [r7, #20]
+ 80038bc:      429a            cmp     r2, r3
+ 80038be:      d20c            bcs.n   80038da <_ZN8std_msgs6String11deserializeEPh+0x50>
+          inbuffer[k-1]=inbuffer[k];
+ 80038c0:      683a            ldr     r2, [r7, #0]
+ 80038c2:      697b            ldr     r3, [r7, #20]
+ 80038c4:      441a            add     r2, r3
+ 80038c6:      697b            ldr     r3, [r7, #20]
+ 80038c8:      3b01            subs    r3, #1
+ 80038ca:      6839            ldr     r1, [r7, #0]
+ 80038cc:      440b            add     r3, r1
+ 80038ce:      7812            ldrb    r2, [r2, #0]
+ 80038d0:      701a            strb    r2, [r3, #0]
+      for(unsigned int k= offset; k< offset+length_data; ++k){
+ 80038d2:      697b            ldr     r3, [r7, #20]
+ 80038d4:      3301            adds    r3, #1
+ 80038d6:      617b            str     r3, [r7, #20]
+ 80038d8:      e7ec            b.n     80038b4 <_ZN8std_msgs6String11deserializeEPh+0x2a>
+      }
+      inbuffer[offset+length_data-1]=0;
+ 80038da:      693a            ldr     r2, [r7, #16]
+ 80038dc:      68fb            ldr     r3, [r7, #12]
+ 80038de:      4413            add     r3, r2
+ 80038e0:      3b01            subs    r3, #1
+ 80038e2:      683a            ldr     r2, [r7, #0]
+ 80038e4:      4413            add     r3, r2
+ 80038e6:      2200            movs    r2, #0
+ 80038e8:      701a            strb    r2, [r3, #0]
+      this->data = (char *)(inbuffer + offset-1);
+ 80038ea:      693b            ldr     r3, [r7, #16]
+ 80038ec:      3b01            subs    r3, #1
+ 80038ee:      683a            ldr     r2, [r7, #0]
+ 80038f0:      441a            add     r2, r3
+ 80038f2:      687b            ldr     r3, [r7, #4]
+ 80038f4:      605a            str     r2, [r3, #4]
+      offset += length_data;
+ 80038f6:      693a            ldr     r2, [r7, #16]
+ 80038f8:      68fb            ldr     r3, [r7, #12]
+ 80038fa:      4413            add     r3, r2
+ 80038fc:      613b            str     r3, [r7, #16]
+     return offset;
+ 80038fe:      693b            ldr     r3, [r7, #16]
+    }
+ 8003900:      4618            mov     r0, r3
+ 8003902:      3718            adds    r7, #24
+ 8003904:      46bd            mov     sp, r7
+ 8003906:      bd80            pop     {r7, pc}
+
+08003908 <_ZN8std_msgs6String7getTypeEv>:
+
+    const char * getType(){ return "std_msgs/String"; };
+ 8003908:      b480            push    {r7}
+ 800390a:      b083            sub     sp, #12
+ 800390c:      af00            add     r7, sp, #0
+ 800390e:      6078            str     r0, [r7, #4]
+ 8003910:      4b03            ldr     r3, [pc, #12]   ; (8003920 <_ZN8std_msgs6String7getTypeEv+0x18>)
+ 8003912:      4618            mov     r0, r3
+ 8003914:      370c            adds    r7, #12
+ 8003916:      46bd            mov     sp, r7
+ 8003918:      f85d 7b04       ldr.w   r7, [sp], #4
+ 800391c:      4770            bx      lr
+ 800391e:      bf00            nop
+ 8003920:      08005ddc        .word   0x08005ddc
+
+08003924 <_ZN8std_msgs6String6getMD5Ev>:
+    const char * getMD5(){ return "992ce8a1687cec8c8bd883ec73ca41d1"; };
+ 8003924:      b480            push    {r7}
+ 8003926:      b083            sub     sp, #12
+ 8003928:      af00            add     r7, sp, #0
+ 800392a:      6078            str     r0, [r7, #4]
+ 800392c:      4b03            ldr     r3, [pc, #12]   ; (800393c <_ZN8std_msgs6String6getMD5Ev+0x18>)
+ 800392e:      4618            mov     r0, r3
+ 8003930:      370c            adds    r7, #12
+ 8003932:      46bd            mov     sp, r7
+ 8003934:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8003938:      4770            bx      lr
+ 800393a:      bf00            nop
+ 800393c:      08005dec        .word   0x08005dec
+
+08003940 <_ZN3ros4TimeC1Ev>:
+class Time
+{
+public:
+  uint32_t sec, nsec;
+
+  Time() : sec(0), nsec(0) {}
+ 8003940:      b480            push    {r7}
+ 8003942:      b083            sub     sp, #12
+ 8003944:      af00            add     r7, sp, #0
+ 8003946:      6078            str     r0, [r7, #4]
+ 8003948:      687b            ldr     r3, [r7, #4]
+ 800394a:      2200            movs    r2, #0
+ 800394c:      601a            str     r2, [r3, #0]
+ 800394e:      687b            ldr     r3, [r7, #4]
+ 8003950:      2200            movs    r2, #0
+ 8003952:      605a            str     r2, [r3, #4]
+ 8003954:      687b            ldr     r3, [r7, #4]
+ 8003956:      4618            mov     r0, r3
+ 8003958:      370c            adds    r7, #12
+ 800395a:      46bd            mov     sp, r7
+ 800395c:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8003960:      4770            bx      lr
+       ...
+
+08003964 <_ZN8std_msgs4TimeC1Ev>:
+  {
+    public:
+      typedef ros::Time _data_type;
+      _data_type data;
+
+    Time():
+ 8003964:      b580            push    {r7, lr}
+ 8003966:      b082            sub     sp, #8
+ 8003968:      af00            add     r7, sp, #0
+ 800396a:      6078            str     r0, [r7, #4]
+      data()
+ 800396c:      687b            ldr     r3, [r7, #4]
+ 800396e:      4618            mov     r0, r3
+ 8003970:      f7ff ff3a       bl      80037e8 <_ZN3ros3MsgC1Ev>
+ 8003974:      4a06            ldr     r2, [pc, #24]   ; (8003990 <_ZN8std_msgs4TimeC1Ev+0x2c>)
+ 8003976:      687b            ldr     r3, [r7, #4]
+ 8003978:      601a            str     r2, [r3, #0]
+ 800397a:      687b            ldr     r3, [r7, #4]
+ 800397c:      3304            adds    r3, #4
+ 800397e:      4618            mov     r0, r3
+ 8003980:      f7ff ffde       bl      8003940 <_ZN3ros4TimeC1Ev>
+    {
+    }
+ 8003984:      687b            ldr     r3, [r7, #4]
+ 8003986:      4618            mov     r0, r3
+ 8003988:      3708            adds    r7, #8
+ 800398a:      46bd            mov     sp, r7
+ 800398c:      bd80            pop     {r7, pc}
+ 800398e:      bf00            nop
+ 8003990:      08005fd0        .word   0x08005fd0
+
+08003994 <_ZNK8std_msgs4Time9serializeEPh>:
+
+    virtual int serialize(unsigned char *outbuffer) const
+ 8003994:      b480            push    {r7}
+ 8003996:      b085            sub     sp, #20
+ 8003998:      af00            add     r7, sp, #0
+ 800399a:      6078            str     r0, [r7, #4]
+ 800399c:      6039            str     r1, [r7, #0]
+    {
+      int offset = 0;
+ 800399e:      2300            movs    r3, #0
+ 80039a0:      60fb            str     r3, [r7, #12]
+      *(outbuffer + offset + 0) = (this->data.sec >> (8 * 0)) & 0xFF;
+ 80039a2:      687b            ldr     r3, [r7, #4]
+ 80039a4:      6859            ldr     r1, [r3, #4]
+ 80039a6:      68fb            ldr     r3, [r7, #12]
+ 80039a8:      683a            ldr     r2, [r7, #0]
+ 80039aa:      4413            add     r3, r2
+ 80039ac:      b2ca            uxtb    r2, r1
+ 80039ae:      701a            strb    r2, [r3, #0]
+      *(outbuffer + offset + 1) = (this->data.sec >> (8 * 1)) & 0xFF;
+ 80039b0:      687b            ldr     r3, [r7, #4]
+ 80039b2:      685b            ldr     r3, [r3, #4]
+ 80039b4:      0a19            lsrs    r1, r3, #8
+ 80039b6:      68fb            ldr     r3, [r7, #12]
+ 80039b8:      3301            adds    r3, #1
+ 80039ba:      683a            ldr     r2, [r7, #0]
+ 80039bc:      4413            add     r3, r2
+ 80039be:      b2ca            uxtb    r2, r1
+ 80039c0:      701a            strb    r2, [r3, #0]
+      *(outbuffer + offset + 2) = (this->data.sec >> (8 * 2)) & 0xFF;
+ 80039c2:      687b            ldr     r3, [r7, #4]
+ 80039c4:      685b            ldr     r3, [r3, #4]
+ 80039c6:      0c19            lsrs    r1, r3, #16
+ 80039c8:      68fb            ldr     r3, [r7, #12]
+ 80039ca:      3302            adds    r3, #2
+ 80039cc:      683a            ldr     r2, [r7, #0]
+ 80039ce:      4413            add     r3, r2
+ 80039d0:      b2ca            uxtb    r2, r1
+ 80039d2:      701a            strb    r2, [r3, #0]
+      *(outbuffer + offset + 3) = (this->data.sec >> (8 * 3)) & 0xFF;
+ 80039d4:      687b            ldr     r3, [r7, #4]
+ 80039d6:      685b            ldr     r3, [r3, #4]
+ 80039d8:      0e19            lsrs    r1, r3, #24
+ 80039da:      68fb            ldr     r3, [r7, #12]
+ 80039dc:      3303            adds    r3, #3
+ 80039de:      683a            ldr     r2, [r7, #0]
+ 80039e0:      4413            add     r3, r2
+ 80039e2:      b2ca            uxtb    r2, r1
+ 80039e4:      701a            strb    r2, [r3, #0]
+      offset += sizeof(this->data.sec);
+ 80039e6:      68fb            ldr     r3, [r7, #12]
+ 80039e8:      3304            adds    r3, #4
+ 80039ea:      60fb            str     r3, [r7, #12]
+      *(outbuffer + offset + 0) = (this->data.nsec >> (8 * 0)) & 0xFF;
+ 80039ec:      687b            ldr     r3, [r7, #4]
+ 80039ee:      6899            ldr     r1, [r3, #8]
+ 80039f0:      68fb            ldr     r3, [r7, #12]
+ 80039f2:      683a            ldr     r2, [r7, #0]
+ 80039f4:      4413            add     r3, r2
+ 80039f6:      b2ca            uxtb    r2, r1
+ 80039f8:      701a            strb    r2, [r3, #0]
+      *(outbuffer + offset + 1) = (this->data.nsec >> (8 * 1)) & 0xFF;
+ 80039fa:      687b            ldr     r3, [r7, #4]
+ 80039fc:      689b            ldr     r3, [r3, #8]
+ 80039fe:      0a19            lsrs    r1, r3, #8
+ 8003a00:      68fb            ldr     r3, [r7, #12]
+ 8003a02:      3301            adds    r3, #1
+ 8003a04:      683a            ldr     r2, [r7, #0]
+ 8003a06:      4413            add     r3, r2
+ 8003a08:      b2ca            uxtb    r2, r1
+ 8003a0a:      701a            strb    r2, [r3, #0]
+      *(outbuffer + offset + 2) = (this->data.nsec >> (8 * 2)) & 0xFF;
+ 8003a0c:      687b            ldr     r3, [r7, #4]
+ 8003a0e:      689b            ldr     r3, [r3, #8]
+ 8003a10:      0c19            lsrs    r1, r3, #16
+ 8003a12:      68fb            ldr     r3, [r7, #12]
+ 8003a14:      3302            adds    r3, #2
+ 8003a16:      683a            ldr     r2, [r7, #0]
+ 8003a18:      4413            add     r3, r2
+ 8003a1a:      b2ca            uxtb    r2, r1
+ 8003a1c:      701a            strb    r2, [r3, #0]
+      *(outbuffer + offset + 3) = (this->data.nsec >> (8 * 3)) & 0xFF;
+ 8003a1e:      687b            ldr     r3, [r7, #4]
+ 8003a20:      689b            ldr     r3, [r3, #8]
+ 8003a22:      0e19            lsrs    r1, r3, #24
+ 8003a24:      68fb            ldr     r3, [r7, #12]
+ 8003a26:      3303            adds    r3, #3
+ 8003a28:      683a            ldr     r2, [r7, #0]
+ 8003a2a:      4413            add     r3, r2
+ 8003a2c:      b2ca            uxtb    r2, r1
+ 8003a2e:      701a            strb    r2, [r3, #0]
+      offset += sizeof(this->data.nsec);
+ 8003a30:      68fb            ldr     r3, [r7, #12]
+ 8003a32:      3304            adds    r3, #4
+ 8003a34:      60fb            str     r3, [r7, #12]
+      return offset;
+ 8003a36:      68fb            ldr     r3, [r7, #12]
+    }
+ 8003a38:      4618            mov     r0, r3
+ 8003a3a:      3714            adds    r7, #20
+ 8003a3c:      46bd            mov     sp, r7
+ 8003a3e:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8003a42:      4770            bx      lr
+
+08003a44 <_ZN8std_msgs4Time11deserializeEPh>:
+
+    virtual int deserialize(unsigned char *inbuffer)
+ 8003a44:      b480            push    {r7}
+ 8003a46:      b085            sub     sp, #20
+ 8003a48:      af00            add     r7, sp, #0
+ 8003a4a:      6078            str     r0, [r7, #4]
+ 8003a4c:      6039            str     r1, [r7, #0]
+    {
+      int offset = 0;
+ 8003a4e:      2300            movs    r3, #0
+ 8003a50:      60fb            str     r3, [r7, #12]
+      this->data.sec =  ((uint32_t) (*(inbuffer + offset)));
+ 8003a52:      68fb            ldr     r3, [r7, #12]
+ 8003a54:      683a            ldr     r2, [r7, #0]
+ 8003a56:      4413            add     r3, r2
+ 8003a58:      781b            ldrb    r3, [r3, #0]
+ 8003a5a:      461a            mov     r2, r3
+ 8003a5c:      687b            ldr     r3, [r7, #4]
+ 8003a5e:      605a            str     r2, [r3, #4]
+      this->data.sec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1);
+ 8003a60:      687b            ldr     r3, [r7, #4]
+ 8003a62:      685a            ldr     r2, [r3, #4]
+ 8003a64:      68fb            ldr     r3, [r7, #12]
+ 8003a66:      3301            adds    r3, #1
+ 8003a68:      6839            ldr     r1, [r7, #0]
+ 8003a6a:      440b            add     r3, r1
+ 8003a6c:      781b            ldrb    r3, [r3, #0]
+ 8003a6e:      021b            lsls    r3, r3, #8
+ 8003a70:      431a            orrs    r2, r3
+ 8003a72:      687b            ldr     r3, [r7, #4]
+ 8003a74:      605a            str     r2, [r3, #4]
+      this->data.sec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2);
+ 8003a76:      687b            ldr     r3, [r7, #4]
+ 8003a78:      685a            ldr     r2, [r3, #4]
+ 8003a7a:      68fb            ldr     r3, [r7, #12]
+ 8003a7c:      3302            adds    r3, #2
+ 8003a7e:      6839            ldr     r1, [r7, #0]
+ 8003a80:      440b            add     r3, r1
+ 8003a82:      781b            ldrb    r3, [r3, #0]
+ 8003a84:      041b            lsls    r3, r3, #16
+ 8003a86:      431a            orrs    r2, r3
+ 8003a88:      687b            ldr     r3, [r7, #4]
+ 8003a8a:      605a            str     r2, [r3, #4]
+      this->data.sec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3);
+ 8003a8c:      687b            ldr     r3, [r7, #4]
+ 8003a8e:      685a            ldr     r2, [r3, #4]
+ 8003a90:      68fb            ldr     r3, [r7, #12]
+ 8003a92:      3303            adds    r3, #3
+ 8003a94:      6839            ldr     r1, [r7, #0]
+ 8003a96:      440b            add     r3, r1
+ 8003a98:      781b            ldrb    r3, [r3, #0]
+ 8003a9a:      061b            lsls    r3, r3, #24
+ 8003a9c:      431a            orrs    r2, r3
+ 8003a9e:      687b            ldr     r3, [r7, #4]
+ 8003aa0:      605a            str     r2, [r3, #4]
+      offset += sizeof(this->data.sec);
+ 8003aa2:      68fb            ldr     r3, [r7, #12]
+ 8003aa4:      3304            adds    r3, #4
+ 8003aa6:      60fb            str     r3, [r7, #12]
+      this->data.nsec =  ((uint32_t) (*(inbuffer + offset)));
+ 8003aa8:      68fb            ldr     r3, [r7, #12]
+ 8003aaa:      683a            ldr     r2, [r7, #0]
+ 8003aac:      4413            add     r3, r2
+ 8003aae:      781b            ldrb    r3, [r3, #0]
+ 8003ab0:      461a            mov     r2, r3
+ 8003ab2:      687b            ldr     r3, [r7, #4]
+ 8003ab4:      609a            str     r2, [r3, #8]
+      this->data.nsec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1);
+ 8003ab6:      687b            ldr     r3, [r7, #4]
+ 8003ab8:      689a            ldr     r2, [r3, #8]
+ 8003aba:      68fb            ldr     r3, [r7, #12]
+ 8003abc:      3301            adds    r3, #1
+ 8003abe:      6839            ldr     r1, [r7, #0]
+ 8003ac0:      440b            add     r3, r1
+ 8003ac2:      781b            ldrb    r3, [r3, #0]
+ 8003ac4:      021b            lsls    r3, r3, #8
+ 8003ac6:      431a            orrs    r2, r3
+ 8003ac8:      687b            ldr     r3, [r7, #4]
+ 8003aca:      609a            str     r2, [r3, #8]
+      this->data.nsec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2);
+ 8003acc:      687b            ldr     r3, [r7, #4]
+ 8003ace:      689a            ldr     r2, [r3, #8]
+ 8003ad0:      68fb            ldr     r3, [r7, #12]
+ 8003ad2:      3302            adds    r3, #2
+ 8003ad4:      6839            ldr     r1, [r7, #0]
+ 8003ad6:      440b            add     r3, r1
+ 8003ad8:      781b            ldrb    r3, [r3, #0]
+ 8003ada:      041b            lsls    r3, r3, #16
+ 8003adc:      431a            orrs    r2, r3
+ 8003ade:      687b            ldr     r3, [r7, #4]
+ 8003ae0:      609a            str     r2, [r3, #8]
+      this->data.nsec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3);
+ 8003ae2:      687b            ldr     r3, [r7, #4]
+ 8003ae4:      689a            ldr     r2, [r3, #8]
+ 8003ae6:      68fb            ldr     r3, [r7, #12]
+ 8003ae8:      3303            adds    r3, #3
+ 8003aea:      6839            ldr     r1, [r7, #0]
+ 8003aec:      440b            add     r3, r1
+ 8003aee:      781b            ldrb    r3, [r3, #0]
+ 8003af0:      061b            lsls    r3, r3, #24
+ 8003af2:      431a            orrs    r2, r3
+ 8003af4:      687b            ldr     r3, [r7, #4]
+ 8003af6:      609a            str     r2, [r3, #8]
+      offset += sizeof(this->data.nsec);
+ 8003af8:      68fb            ldr     r3, [r7, #12]
+ 8003afa:      3304            adds    r3, #4
+ 8003afc:      60fb            str     r3, [r7, #12]
+     return offset;
+ 8003afe:      68fb            ldr     r3, [r7, #12]
+    }
+ 8003b00:      4618            mov     r0, r3
+ 8003b02:      3714            adds    r7, #20
+ 8003b04:      46bd            mov     sp, r7
+ 8003b06:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8003b0a:      4770            bx      lr
+
+08003b0c <_ZN8std_msgs4Time7getTypeEv>:
+
+    const char * getType(){ return "std_msgs/Time"; };
+ 8003b0c:      b480            push    {r7}
+ 8003b0e:      b083            sub     sp, #12
+ 8003b10:      af00            add     r7, sp, #0
+ 8003b12:      6078            str     r0, [r7, #4]
+ 8003b14:      4b03            ldr     r3, [pc, #12]   ; (8003b24 <_ZN8std_msgs4Time7getTypeEv+0x18>)
+ 8003b16:      4618            mov     r0, r3
+ 8003b18:      370c            adds    r7, #12
+ 8003b1a:      46bd            mov     sp, r7
+ 8003b1c:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8003b20:      4770            bx      lr
+ 8003b22:      bf00            nop
+ 8003b24:      08005e10        .word   0x08005e10
+
+08003b28 <_ZN8std_msgs4Time6getMD5Ev>:
+    const char * getMD5(){ return "cd7166c74c552c311fbcc2fe5a7bc289"; };
+ 8003b28:      b480            push    {r7}
+ 8003b2a:      b083            sub     sp, #12
+ 8003b2c:      af00            add     r7, sp, #0
+ 8003b2e:      6078            str     r0, [r7, #4]
+ 8003b30:      4b03            ldr     r3, [pc, #12]   ; (8003b40 <_ZN8std_msgs4Time6getMD5Ev+0x18>)
+ 8003b32:      4618            mov     r0, r3
+ 8003b34:      370c            adds    r7, #12
+ 8003b36:      46bd            mov     sp, r7
+ 8003b38:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8003b3c:      4770            bx      lr
+ 8003b3e:      bf00            nop
+ 8003b40:      08005e20        .word   0x08005e20
+
+08003b44 <_ZN14rosserial_msgs9TopicInfoC1Ev>:
+      enum { ID_PARAMETER_REQUEST = 6 };
+      enum { ID_LOG = 7 };
+      enum { ID_TIME = 10 };
+      enum { ID_TX_STOP = 11 };
+
+    TopicInfo():
+ 8003b44:      b580            push    {r7, lr}
+ 8003b46:      b082            sub     sp, #8
+ 8003b48:      af00            add     r7, sp, #0
+ 8003b4a:      6078            str     r0, [r7, #4]
+      topic_id(0),
+      topic_name(""),
+      message_type(""),
+      md5sum(""),
+      buffer_size(0)
+ 8003b4c:      687b            ldr     r3, [r7, #4]
+ 8003b4e:      4618            mov     r0, r3
+ 8003b50:      f7ff fe4a       bl      80037e8 <_ZN3ros3MsgC1Ev>
+ 8003b54:      4a0b            ldr     r2, [pc, #44]   ; (8003b84 <_ZN14rosserial_msgs9TopicInfoC1Ev+0x40>)
+ 8003b56:      687b            ldr     r3, [r7, #4]
+ 8003b58:      601a            str     r2, [r3, #0]
+ 8003b5a:      687b            ldr     r3, [r7, #4]
+ 8003b5c:      2200            movs    r2, #0
+ 8003b5e:      809a            strh    r2, [r3, #4]
+ 8003b60:      687b            ldr     r3, [r7, #4]
+ 8003b62:      4a09            ldr     r2, [pc, #36]   ; (8003b88 <_ZN14rosserial_msgs9TopicInfoC1Ev+0x44>)
+ 8003b64:      609a            str     r2, [r3, #8]
+ 8003b66:      687b            ldr     r3, [r7, #4]
+ 8003b68:      4a07            ldr     r2, [pc, #28]   ; (8003b88 <_ZN14rosserial_msgs9TopicInfoC1Ev+0x44>)
+ 8003b6a:      60da            str     r2, [r3, #12]
+ 8003b6c:      687b            ldr     r3, [r7, #4]
+ 8003b6e:      4a06            ldr     r2, [pc, #24]   ; (8003b88 <_ZN14rosserial_msgs9TopicInfoC1Ev+0x44>)
+ 8003b70:      611a            str     r2, [r3, #16]
+ 8003b72:      687b            ldr     r3, [r7, #4]
+ 8003b74:      2200            movs    r2, #0
+ 8003b76:      615a            str     r2, [r3, #20]
+    {
+    }
+ 8003b78:      687b            ldr     r3, [r7, #4]
+ 8003b7a:      4618            mov     r0, r3
+ 8003b7c:      3708            adds    r7, #8
+ 8003b7e:      46bd            mov     sp, r7
+ 8003b80:      bd80            pop     {r7, pc}
+ 8003b82:      bf00            nop
+ 8003b84:      08005fb8        .word   0x08005fb8
+ 8003b88:      08005dd8        .word   0x08005dd8
+
+08003b8c <_ZNK14rosserial_msgs9TopicInfo9serializeEPh>:
+
+    virtual int serialize(unsigned char *outbuffer) const
+ 8003b8c:      b580            push    {r7, lr}
+ 8003b8e:      b088            sub     sp, #32
+ 8003b90:      af00            add     r7, sp, #0
+ 8003b92:      6078            str     r0, [r7, #4]
+ 8003b94:      6039            str     r1, [r7, #0]
+    {
+      int offset = 0;
+ 8003b96:      2300            movs    r3, #0
+ 8003b98:      61fb            str     r3, [r7, #28]
+      *(outbuffer + offset + 0) = (this->topic_id >> (8 * 0)) & 0xFF;
+ 8003b9a:      687b            ldr     r3, [r7, #4]
+ 8003b9c:      8899            ldrh    r1, [r3, #4]
+ 8003b9e:      69fb            ldr     r3, [r7, #28]
+ 8003ba0:      683a            ldr     r2, [r7, #0]
+ 8003ba2:      4413            add     r3, r2
+ 8003ba4:      b2ca            uxtb    r2, r1
+ 8003ba6:      701a            strb    r2, [r3, #0]
+      *(outbuffer + offset + 1) = (this->topic_id >> (8 * 1)) & 0xFF;
+ 8003ba8:      687b            ldr     r3, [r7, #4]
+ 8003baa:      889b            ldrh    r3, [r3, #4]
+ 8003bac:      0a1b            lsrs    r3, r3, #8
+ 8003bae:      b299            uxth    r1, r3
+ 8003bb0:      69fb            ldr     r3, [r7, #28]
+ 8003bb2:      3301            adds    r3, #1
+ 8003bb4:      683a            ldr     r2, [r7, #0]
+ 8003bb6:      4413            add     r3, r2
+ 8003bb8:      b2ca            uxtb    r2, r1
+ 8003bba:      701a            strb    r2, [r3, #0]
+      offset += sizeof(this->topic_id);
+ 8003bbc:      69fb            ldr     r3, [r7, #28]
+ 8003bbe:      3302            adds    r3, #2
+ 8003bc0:      61fb            str     r3, [r7, #28]
+      uint32_t length_topic_name = strlen(this->topic_name);
+ 8003bc2:      687b            ldr     r3, [r7, #4]
+ 8003bc4:      689b            ldr     r3, [r3, #8]
+ 8003bc6:      4618            mov     r0, r3
+ 8003bc8:      f7fc fb36       bl      8000238 <strlen>
+ 8003bcc:      61b8            str     r0, [r7, #24]
+      varToArr(outbuffer + offset, length_topic_name);
+ 8003bce:      69fb            ldr     r3, [r7, #28]
+ 8003bd0:      683a            ldr     r2, [r7, #0]
+ 8003bd2:      4413            add     r3, r2
+ 8003bd4:      69b9            ldr     r1, [r7, #24]
+ 8003bd6:      4618            mov     r0, r3
+ 8003bd8:      f000 fffd       bl      8004bd6 <_ZN3ros3Msg8varToArrIPhmEEvT_T0_>
+      offset += 4;
+ 8003bdc:      69fb            ldr     r3, [r7, #28]
+ 8003bde:      3304            adds    r3, #4
+ 8003be0:      61fb            str     r3, [r7, #28]
+      memcpy(outbuffer + offset, this->topic_name, length_topic_name);
+ 8003be2:      69fb            ldr     r3, [r7, #28]
+ 8003be4:      683a            ldr     r2, [r7, #0]
+ 8003be6:      18d0            adds    r0, r2, r3
+ 8003be8:      687b            ldr     r3, [r7, #4]
+ 8003bea:      689b            ldr     r3, [r3, #8]
+ 8003bec:      69ba            ldr     r2, [r7, #24]
+ 8003bee:      4619            mov     r1, r3
+ 8003bf0:      f001 ff9e       bl      8005b30 <memcpy>
+      offset += length_topic_name;
+ 8003bf4:      69fa            ldr     r2, [r7, #28]
+ 8003bf6:      69bb            ldr     r3, [r7, #24]
+ 8003bf8:      4413            add     r3, r2
+ 8003bfa:      61fb            str     r3, [r7, #28]
+      uint32_t length_message_type = strlen(this->message_type);
+ 8003bfc:      687b            ldr     r3, [r7, #4]
+ 8003bfe:      68db            ldr     r3, [r3, #12]
+ 8003c00:      4618            mov     r0, r3
+ 8003c02:      f7fc fb19       bl      8000238 <strlen>
+ 8003c06:      6178            str     r0, [r7, #20]
+      varToArr(outbuffer + offset, length_message_type);
+ 8003c08:      69fb            ldr     r3, [r7, #28]
+ 8003c0a:      683a            ldr     r2, [r7, #0]
+ 8003c0c:      4413            add     r3, r2
+ 8003c0e:      6979            ldr     r1, [r7, #20]
+ 8003c10:      4618            mov     r0, r3
+ 8003c12:      f000 ffe0       bl      8004bd6 <_ZN3ros3Msg8varToArrIPhmEEvT_T0_>
+      offset += 4;
+ 8003c16:      69fb            ldr     r3, [r7, #28]
+ 8003c18:      3304            adds    r3, #4
+ 8003c1a:      61fb            str     r3, [r7, #28]
+      memcpy(outbuffer + offset, this->message_type, length_message_type);
+ 8003c1c:      69fb            ldr     r3, [r7, #28]
+ 8003c1e:      683a            ldr     r2, [r7, #0]
+ 8003c20:      18d0            adds    r0, r2, r3
+ 8003c22:      687b            ldr     r3, [r7, #4]
+ 8003c24:      68db            ldr     r3, [r3, #12]
+ 8003c26:      697a            ldr     r2, [r7, #20]
+ 8003c28:      4619            mov     r1, r3
+ 8003c2a:      f001 ff81       bl      8005b30 <memcpy>
+      offset += length_message_type;
+ 8003c2e:      69fa            ldr     r2, [r7, #28]
+ 8003c30:      697b            ldr     r3, [r7, #20]
+ 8003c32:      4413            add     r3, r2
+ 8003c34:      61fb            str     r3, [r7, #28]
+      uint32_t length_md5sum = strlen(this->md5sum);
+ 8003c36:      687b            ldr     r3, [r7, #4]
+ 8003c38:      691b            ldr     r3, [r3, #16]
+ 8003c3a:      4618            mov     r0, r3
+ 8003c3c:      f7fc fafc       bl      8000238 <strlen>
+ 8003c40:      6138            str     r0, [r7, #16]
+      varToArr(outbuffer + offset, length_md5sum);
+ 8003c42:      69fb            ldr     r3, [r7, #28]
+ 8003c44:      683a            ldr     r2, [r7, #0]
+ 8003c46:      4413            add     r3, r2
+ 8003c48:      6939            ldr     r1, [r7, #16]
+ 8003c4a:      4618            mov     r0, r3
+ 8003c4c:      f000 ffc3       bl      8004bd6 <_ZN3ros3Msg8varToArrIPhmEEvT_T0_>
+      offset += 4;
+ 8003c50:      69fb            ldr     r3, [r7, #28]
+ 8003c52:      3304            adds    r3, #4
+ 8003c54:      61fb            str     r3, [r7, #28]
+      memcpy(outbuffer + offset, this->md5sum, length_md5sum);
+ 8003c56:      69fb            ldr     r3, [r7, #28]
+ 8003c58:      683a            ldr     r2, [r7, #0]
+ 8003c5a:      18d0            adds    r0, r2, r3
+ 8003c5c:      687b            ldr     r3, [r7, #4]
+ 8003c5e:      691b            ldr     r3, [r3, #16]
+ 8003c60:      693a            ldr     r2, [r7, #16]
+ 8003c62:      4619            mov     r1, r3
+ 8003c64:      f001 ff64       bl      8005b30 <memcpy>
+      offset += length_md5sum;
+ 8003c68:      69fa            ldr     r2, [r7, #28]
+ 8003c6a:      693b            ldr     r3, [r7, #16]
+ 8003c6c:      4413            add     r3, r2
+ 8003c6e:      61fb            str     r3, [r7, #28]
+      union {
+        int32_t real;
+        uint32_t base;
+      } u_buffer_size;
+      u_buffer_size.real = this->buffer_size;
+ 8003c70:      687b            ldr     r3, [r7, #4]
+ 8003c72:      695b            ldr     r3, [r3, #20]
+ 8003c74:      60fb            str     r3, [r7, #12]
+      *(outbuffer + offset + 0) = (u_buffer_size.base >> (8 * 0)) & 0xFF;
+ 8003c76:      68f9            ldr     r1, [r7, #12]
+ 8003c78:      69fb            ldr     r3, [r7, #28]
+ 8003c7a:      683a            ldr     r2, [r7, #0]
+ 8003c7c:      4413            add     r3, r2
+ 8003c7e:      b2ca            uxtb    r2, r1
+ 8003c80:      701a            strb    r2, [r3, #0]
+      *(outbuffer + offset + 1) = (u_buffer_size.base >> (8 * 1)) & 0xFF;
+ 8003c82:      68fb            ldr     r3, [r7, #12]
+ 8003c84:      0a19            lsrs    r1, r3, #8
+ 8003c86:      69fb            ldr     r3, [r7, #28]
+ 8003c88:      3301            adds    r3, #1
+ 8003c8a:      683a            ldr     r2, [r7, #0]
+ 8003c8c:      4413            add     r3, r2
+ 8003c8e:      b2ca            uxtb    r2, r1
+ 8003c90:      701a            strb    r2, [r3, #0]
+      *(outbuffer + offset + 2) = (u_buffer_size.base >> (8 * 2)) & 0xFF;
+ 8003c92:      68fb            ldr     r3, [r7, #12]
+ 8003c94:      0c19            lsrs    r1, r3, #16
+ 8003c96:      69fb            ldr     r3, [r7, #28]
+ 8003c98:      3302            adds    r3, #2
+ 8003c9a:      683a            ldr     r2, [r7, #0]
+ 8003c9c:      4413            add     r3, r2
+ 8003c9e:      b2ca            uxtb    r2, r1
+ 8003ca0:      701a            strb    r2, [r3, #0]
+      *(outbuffer + offset + 3) = (u_buffer_size.base >> (8 * 3)) & 0xFF;
+ 8003ca2:      68fb            ldr     r3, [r7, #12]
+ 8003ca4:      0e19            lsrs    r1, r3, #24
+ 8003ca6:      69fb            ldr     r3, [r7, #28]
+ 8003ca8:      3303            adds    r3, #3
+ 8003caa:      683a            ldr     r2, [r7, #0]
+ 8003cac:      4413            add     r3, r2
+ 8003cae:      b2ca            uxtb    r2, r1
+ 8003cb0:      701a            strb    r2, [r3, #0]
+      offset += sizeof(this->buffer_size);
+ 8003cb2:      69fb            ldr     r3, [r7, #28]
+ 8003cb4:      3304            adds    r3, #4
+ 8003cb6:      61fb            str     r3, [r7, #28]
+      return offset;
+ 8003cb8:      69fb            ldr     r3, [r7, #28]
+    }
+ 8003cba:      4618            mov     r0, r3
+ 8003cbc:      3720            adds    r7, #32
+ 8003cbe:      46bd            mov     sp, r7
+ 8003cc0:      bd80            pop     {r7, pc}
+
+08003cc2 <_ZN14rosserial_msgs9TopicInfo11deserializeEPh>:
+
+    virtual int deserialize(unsigned char *inbuffer)
+ 8003cc2:      b580            push    {r7, lr}
+ 8003cc4:      b08a            sub     sp, #40 ; 0x28
+ 8003cc6:      af00            add     r7, sp, #0
+ 8003cc8:      6078            str     r0, [r7, #4]
+ 8003cca:      6039            str     r1, [r7, #0]
+    {
+      int offset = 0;
+ 8003ccc:      2300            movs    r3, #0
+ 8003cce:      61bb            str     r3, [r7, #24]
+      this->topic_id =  ((uint16_t) (*(inbuffer + offset)));
+ 8003cd0:      69bb            ldr     r3, [r7, #24]
+ 8003cd2:      683a            ldr     r2, [r7, #0]
+ 8003cd4:      4413            add     r3, r2
+ 8003cd6:      781b            ldrb    r3, [r3, #0]
+ 8003cd8:      b29a            uxth    r2, r3
+ 8003cda:      687b            ldr     r3, [r7, #4]
+ 8003cdc:      809a            strh    r2, [r3, #4]
+      this->topic_id |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1);
+ 8003cde:      687b            ldr     r3, [r7, #4]
+ 8003ce0:      889b            ldrh    r3, [r3, #4]
+ 8003ce2:      b21a            sxth    r2, r3
+ 8003ce4:      69bb            ldr     r3, [r7, #24]
+ 8003ce6:      3301            adds    r3, #1
+ 8003ce8:      6839            ldr     r1, [r7, #0]
+ 8003cea:      440b            add     r3, r1
+ 8003cec:      781b            ldrb    r3, [r3, #0]
+ 8003cee:      021b            lsls    r3, r3, #8
+ 8003cf0:      b21b            sxth    r3, r3
+ 8003cf2:      4313            orrs    r3, r2
+ 8003cf4:      b21b            sxth    r3, r3
+ 8003cf6:      b29a            uxth    r2, r3
+ 8003cf8:      687b            ldr     r3, [r7, #4]
+ 8003cfa:      809a            strh    r2, [r3, #4]
+      offset += sizeof(this->topic_id);
+ 8003cfc:      69bb            ldr     r3, [r7, #24]
+ 8003cfe:      3302            adds    r3, #2
+ 8003d00:      61bb            str     r3, [r7, #24]
+      uint32_t length_topic_name;
+      arrToVar(length_topic_name, (inbuffer + offset));
+ 8003d02:      69bb            ldr     r3, [r7, #24]
+ 8003d04:      683a            ldr     r2, [r7, #0]
+ 8003d06:      441a            add     r2, r3
+ 8003d08:      f107 0314       add.w   r3, r7, #20
+ 8003d0c:      4611            mov     r1, r2
+ 8003d0e:      4618            mov     r0, r3
+ 8003d10:      f000 ff7f       bl      8004c12 <_ZN3ros3Msg8arrToVarImPhEEvRT_T0_>
+      offset += 4;
+ 8003d14:      69bb            ldr     r3, [r7, #24]
+ 8003d16:      3304            adds    r3, #4
+ 8003d18:      61bb            str     r3, [r7, #24]
+      for(unsigned int k= offset; k< offset+length_topic_name; ++k){
+ 8003d1a:      69bb            ldr     r3, [r7, #24]
+ 8003d1c:      627b            str     r3, [r7, #36]   ; 0x24
+ 8003d1e:      69ba            ldr     r2, [r7, #24]
+ 8003d20:      697b            ldr     r3, [r7, #20]
+ 8003d22:      4413            add     r3, r2
+ 8003d24:      6a7a            ldr     r2, [r7, #36]   ; 0x24
+ 8003d26:      429a            cmp     r2, r3
+ 8003d28:      d20c            bcs.n   8003d44 <_ZN14rosserial_msgs9TopicInfo11deserializeEPh+0x82>
+          inbuffer[k-1]=inbuffer[k];
+ 8003d2a:      683a            ldr     r2, [r7, #0]
+ 8003d2c:      6a7b            ldr     r3, [r7, #36]   ; 0x24
+ 8003d2e:      441a            add     r2, r3
+ 8003d30:      6a7b            ldr     r3, [r7, #36]   ; 0x24
+ 8003d32:      3b01            subs    r3, #1
+ 8003d34:      6839            ldr     r1, [r7, #0]
+ 8003d36:      440b            add     r3, r1
+ 8003d38:      7812            ldrb    r2, [r2, #0]
+ 8003d3a:      701a            strb    r2, [r3, #0]
+      for(unsigned int k= offset; k< offset+length_topic_name; ++k){
+ 8003d3c:      6a7b            ldr     r3, [r7, #36]   ; 0x24
+ 8003d3e:      3301            adds    r3, #1
+ 8003d40:      627b            str     r3, [r7, #36]   ; 0x24
+ 8003d42:      e7ec            b.n     8003d1e <_ZN14rosserial_msgs9TopicInfo11deserializeEPh+0x5c>
+      }
+      inbuffer[offset+length_topic_name-1]=0;
+ 8003d44:      69ba            ldr     r2, [r7, #24]
+ 8003d46:      697b            ldr     r3, [r7, #20]
+ 8003d48:      4413            add     r3, r2
+ 8003d4a:      3b01            subs    r3, #1
+ 8003d4c:      683a            ldr     r2, [r7, #0]
+ 8003d4e:      4413            add     r3, r2
+ 8003d50:      2200            movs    r2, #0
+ 8003d52:      701a            strb    r2, [r3, #0]
+      this->topic_name = (char *)(inbuffer + offset-1);
+ 8003d54:      69bb            ldr     r3, [r7, #24]
+ 8003d56:      3b01            subs    r3, #1
+ 8003d58:      683a            ldr     r2, [r7, #0]
+ 8003d5a:      441a            add     r2, r3
+ 8003d5c:      687b            ldr     r3, [r7, #4]
+ 8003d5e:      609a            str     r2, [r3, #8]
+      offset += length_topic_name;
+ 8003d60:      69ba            ldr     r2, [r7, #24]
+ 8003d62:      697b            ldr     r3, [r7, #20]
+ 8003d64:      4413            add     r3, r2
+ 8003d66:      61bb            str     r3, [r7, #24]
+      uint32_t length_message_type;
+      arrToVar(length_message_type, (inbuffer + offset));
+ 8003d68:      69bb            ldr     r3, [r7, #24]
+ 8003d6a:      683a            ldr     r2, [r7, #0]
+ 8003d6c:      441a            add     r2, r3
+ 8003d6e:      f107 0310       add.w   r3, r7, #16
+ 8003d72:      4611            mov     r1, r2
+ 8003d74:      4618            mov     r0, r3
+ 8003d76:      f000 ff4c       bl      8004c12 <_ZN3ros3Msg8arrToVarImPhEEvRT_T0_>
+      offset += 4;
+ 8003d7a:      69bb            ldr     r3, [r7, #24]
+ 8003d7c:      3304            adds    r3, #4
+ 8003d7e:      61bb            str     r3, [r7, #24]
+      for(unsigned int k= offset; k< offset+length_message_type; ++k){
+ 8003d80:      69bb            ldr     r3, [r7, #24]
+ 8003d82:      623b            str     r3, [r7, #32]
+ 8003d84:      69ba            ldr     r2, [r7, #24]
+ 8003d86:      693b            ldr     r3, [r7, #16]
+ 8003d88:      4413            add     r3, r2
+ 8003d8a:      6a3a            ldr     r2, [r7, #32]
+ 8003d8c:      429a            cmp     r2, r3
+ 8003d8e:      d20c            bcs.n   8003daa <_ZN14rosserial_msgs9TopicInfo11deserializeEPh+0xe8>
+          inbuffer[k-1]=inbuffer[k];
+ 8003d90:      683a            ldr     r2, [r7, #0]
+ 8003d92:      6a3b            ldr     r3, [r7, #32]
+ 8003d94:      441a            add     r2, r3
+ 8003d96:      6a3b            ldr     r3, [r7, #32]
+ 8003d98:      3b01            subs    r3, #1
+ 8003d9a:      6839            ldr     r1, [r7, #0]
+ 8003d9c:      440b            add     r3, r1
+ 8003d9e:      7812            ldrb    r2, [r2, #0]
+ 8003da0:      701a            strb    r2, [r3, #0]
+      for(unsigned int k= offset; k< offset+length_message_type; ++k){
+ 8003da2:      6a3b            ldr     r3, [r7, #32]
+ 8003da4:      3301            adds    r3, #1
+ 8003da6:      623b            str     r3, [r7, #32]
+ 8003da8:      e7ec            b.n     8003d84 <_ZN14rosserial_msgs9TopicInfo11deserializeEPh+0xc2>
+      }
+      inbuffer[offset+length_message_type-1]=0;
+ 8003daa:      69ba            ldr     r2, [r7, #24]
+ 8003dac:      693b            ldr     r3, [r7, #16]
+ 8003dae:      4413            add     r3, r2
+ 8003db0:      3b01            subs    r3, #1
+ 8003db2:      683a            ldr     r2, [r7, #0]
+ 8003db4:      4413            add     r3, r2
+ 8003db6:      2200            movs    r2, #0
+ 8003db8:      701a            strb    r2, [r3, #0]
+      this->message_type = (char *)(inbuffer + offset-1);
+ 8003dba:      69bb            ldr     r3, [r7, #24]
+ 8003dbc:      3b01            subs    r3, #1
+ 8003dbe:      683a            ldr     r2, [r7, #0]
+ 8003dc0:      441a            add     r2, r3
+ 8003dc2:      687b            ldr     r3, [r7, #4]
+ 8003dc4:      60da            str     r2, [r3, #12]
+      offset += length_message_type;
+ 8003dc6:      69ba            ldr     r2, [r7, #24]
+ 8003dc8:      693b            ldr     r3, [r7, #16]
+ 8003dca:      4413            add     r3, r2
+ 8003dcc:      61bb            str     r3, [r7, #24]
+      uint32_t length_md5sum;
+      arrToVar(length_md5sum, (inbuffer + offset));
+ 8003dce:      69bb            ldr     r3, [r7, #24]
+ 8003dd0:      683a            ldr     r2, [r7, #0]
+ 8003dd2:      441a            add     r2, r3
+ 8003dd4:      f107 030c       add.w   r3, r7, #12
+ 8003dd8:      4611            mov     r1, r2
+ 8003dda:      4618            mov     r0, r3
+ 8003ddc:      f000 ff19       bl      8004c12 <_ZN3ros3Msg8arrToVarImPhEEvRT_T0_>
+      offset += 4;
+ 8003de0:      69bb            ldr     r3, [r7, #24]
+ 8003de2:      3304            adds    r3, #4
+ 8003de4:      61bb            str     r3, [r7, #24]
+      for(unsigned int k= offset; k< offset+length_md5sum; ++k){
+ 8003de6:      69bb            ldr     r3, [r7, #24]
+ 8003de8:      61fb            str     r3, [r7, #28]
+ 8003dea:      69ba            ldr     r2, [r7, #24]
+ 8003dec:      68fb            ldr     r3, [r7, #12]
+ 8003dee:      4413            add     r3, r2
+ 8003df0:      69fa            ldr     r2, [r7, #28]
+ 8003df2:      429a            cmp     r2, r3
+ 8003df4:      d20c            bcs.n   8003e10 <_ZN14rosserial_msgs9TopicInfo11deserializeEPh+0x14e>
+          inbuffer[k-1]=inbuffer[k];
+ 8003df6:      683a            ldr     r2, [r7, #0]
+ 8003df8:      69fb            ldr     r3, [r7, #28]
+ 8003dfa:      441a            add     r2, r3
+ 8003dfc:      69fb            ldr     r3, [r7, #28]
+ 8003dfe:      3b01            subs    r3, #1
+ 8003e00:      6839            ldr     r1, [r7, #0]
+ 8003e02:      440b            add     r3, r1
+ 8003e04:      7812            ldrb    r2, [r2, #0]
+ 8003e06:      701a            strb    r2, [r3, #0]
+      for(unsigned int k= offset; k< offset+length_md5sum; ++k){
+ 8003e08:      69fb            ldr     r3, [r7, #28]
+ 8003e0a:      3301            adds    r3, #1
+ 8003e0c:      61fb            str     r3, [r7, #28]
+ 8003e0e:      e7ec            b.n     8003dea <_ZN14rosserial_msgs9TopicInfo11deserializeEPh+0x128>
+      }
+      inbuffer[offset+length_md5sum-1]=0;
+ 8003e10:      69ba            ldr     r2, [r7, #24]
+ 8003e12:      68fb            ldr     r3, [r7, #12]
+ 8003e14:      4413            add     r3, r2
+ 8003e16:      3b01            subs    r3, #1
+ 8003e18:      683a            ldr     r2, [r7, #0]
+ 8003e1a:      4413            add     r3, r2
+ 8003e1c:      2200            movs    r2, #0
+ 8003e1e:      701a            strb    r2, [r3, #0]
+      this->md5sum = (char *)(inbuffer + offset-1);
+ 8003e20:      69bb            ldr     r3, [r7, #24]
+ 8003e22:      3b01            subs    r3, #1
+ 8003e24:      683a            ldr     r2, [r7, #0]
+ 8003e26:      441a            add     r2, r3
+ 8003e28:      687b            ldr     r3, [r7, #4]
+ 8003e2a:      611a            str     r2, [r3, #16]
+      offset += length_md5sum;
+ 8003e2c:      69ba            ldr     r2, [r7, #24]
+ 8003e2e:      68fb            ldr     r3, [r7, #12]
+ 8003e30:      4413            add     r3, r2
+ 8003e32:      61bb            str     r3, [r7, #24]
+      union {
+        int32_t real;
+        uint32_t base;
+      } u_buffer_size;
+      u_buffer_size.base = 0;
+ 8003e34:      2300            movs    r3, #0
+ 8003e36:      60bb            str     r3, [r7, #8]
+      u_buffer_size.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0);
+ 8003e38:      68bb            ldr     r3, [r7, #8]
+ 8003e3a:      69ba            ldr     r2, [r7, #24]
+ 8003e3c:      6839            ldr     r1, [r7, #0]
+ 8003e3e:      440a            add     r2, r1
+ 8003e40:      7812            ldrb    r2, [r2, #0]
+ 8003e42:      4313            orrs    r3, r2
+ 8003e44:      60bb            str     r3, [r7, #8]
+      u_buffer_size.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1);
+ 8003e46:      68ba            ldr     r2, [r7, #8]
+ 8003e48:      69bb            ldr     r3, [r7, #24]
+ 8003e4a:      3301            adds    r3, #1
+ 8003e4c:      6839            ldr     r1, [r7, #0]
+ 8003e4e:      440b            add     r3, r1
+ 8003e50:      781b            ldrb    r3, [r3, #0]
+ 8003e52:      021b            lsls    r3, r3, #8
+ 8003e54:      4313            orrs    r3, r2
+ 8003e56:      60bb            str     r3, [r7, #8]
+      u_buffer_size.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2);
+ 8003e58:      68ba            ldr     r2, [r7, #8]
+ 8003e5a:      69bb            ldr     r3, [r7, #24]
+ 8003e5c:      3302            adds    r3, #2
+ 8003e5e:      6839            ldr     r1, [r7, #0]
+ 8003e60:      440b            add     r3, r1
+ 8003e62:      781b            ldrb    r3, [r3, #0]
+ 8003e64:      041b            lsls    r3, r3, #16
+ 8003e66:      4313            orrs    r3, r2
+ 8003e68:      60bb            str     r3, [r7, #8]
+      u_buffer_size.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3);
+ 8003e6a:      68ba            ldr     r2, [r7, #8]
+ 8003e6c:      69bb            ldr     r3, [r7, #24]
+ 8003e6e:      3303            adds    r3, #3
+ 8003e70:      6839            ldr     r1, [r7, #0]
+ 8003e72:      440b            add     r3, r1
+ 8003e74:      781b            ldrb    r3, [r3, #0]
+ 8003e76:      061b            lsls    r3, r3, #24
+ 8003e78:      4313            orrs    r3, r2
+ 8003e7a:      60bb            str     r3, [r7, #8]
+      this->buffer_size = u_buffer_size.real;
+ 8003e7c:      68ba            ldr     r2, [r7, #8]
+ 8003e7e:      687b            ldr     r3, [r7, #4]
+ 8003e80:      615a            str     r2, [r3, #20]
+      offset += sizeof(this->buffer_size);
+ 8003e82:      69bb            ldr     r3, [r7, #24]
+ 8003e84:      3304            adds    r3, #4
+ 8003e86:      61bb            str     r3, [r7, #24]
+     return offset;
+ 8003e88:      69bb            ldr     r3, [r7, #24]
+    }
+ 8003e8a:      4618            mov     r0, r3
+ 8003e8c:      3728            adds    r7, #40 ; 0x28
+ 8003e8e:      46bd            mov     sp, r7
+ 8003e90:      bd80            pop     {r7, pc}
+       ...
+
+08003e94 <_ZN14rosserial_msgs9TopicInfo7getTypeEv>:
+
+    const char * getType(){ return "rosserial_msgs/TopicInfo"; };
+ 8003e94:      b480            push    {r7}
+ 8003e96:      b083            sub     sp, #12
+ 8003e98:      af00            add     r7, sp, #0
+ 8003e9a:      6078            str     r0, [r7, #4]
+ 8003e9c:      4b03            ldr     r3, [pc, #12]   ; (8003eac <_ZN14rosserial_msgs9TopicInfo7getTypeEv+0x18>)
+ 8003e9e:      4618            mov     r0, r3
+ 8003ea0:      370c            adds    r7, #12
+ 8003ea2:      46bd            mov     sp, r7
+ 8003ea4:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8003ea8:      4770            bx      lr
+ 8003eaa:      bf00            nop
+ 8003eac:      08005e44        .word   0x08005e44
+
+08003eb0 <_ZN14rosserial_msgs9TopicInfo6getMD5Ev>:
+    const char * getMD5(){ return "0ad51f88fc44892f8c10684077646005"; };
+ 8003eb0:      b480            push    {r7}
+ 8003eb2:      b083            sub     sp, #12
+ 8003eb4:      af00            add     r7, sp, #0
+ 8003eb6:      6078            str     r0, [r7, #4]
+ 8003eb8:      4b03            ldr     r3, [pc, #12]   ; (8003ec8 <_ZN14rosserial_msgs9TopicInfo6getMD5Ev+0x18>)
+ 8003eba:      4618            mov     r0, r3
+ 8003ebc:      370c            adds    r7, #12
+ 8003ebe:      46bd            mov     sp, r7
+ 8003ec0:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8003ec4:      4770            bx      lr
+ 8003ec6:      bf00            nop
+ 8003ec8:      08005e60        .word   0x08005e60
+
+08003ecc <_ZN14rosserial_msgs3LogC1Ev>:
+      enum { INFO = 1 };
+      enum { WARN = 2 };
+      enum { ERROR = 3 };
+      enum { FATAL = 4 };
+
+    Log():
+ 8003ecc:      b580            push    {r7, lr}
+ 8003ece:      b082            sub     sp, #8
+ 8003ed0:      af00            add     r7, sp, #0
+ 8003ed2:      6078            str     r0, [r7, #4]
+      level(0),
+      msg("")
+ 8003ed4:      687b            ldr     r3, [r7, #4]
+ 8003ed6:      4618            mov     r0, r3
+ 8003ed8:      f7ff fc86       bl      80037e8 <_ZN3ros3MsgC1Ev>
+ 8003edc:      4a06            ldr     r2, [pc, #24]   ; (8003ef8 <_ZN14rosserial_msgs3LogC1Ev+0x2c>)
+ 8003ede:      687b            ldr     r3, [r7, #4]
+ 8003ee0:      601a            str     r2, [r3, #0]
+ 8003ee2:      687b            ldr     r3, [r7, #4]
+ 8003ee4:      2200            movs    r2, #0
+ 8003ee6:      711a            strb    r2, [r3, #4]
+ 8003ee8:      687b            ldr     r3, [r7, #4]
+ 8003eea:      4a04            ldr     r2, [pc, #16]   ; (8003efc <_ZN14rosserial_msgs3LogC1Ev+0x30>)
+ 8003eec:      609a            str     r2, [r3, #8]
+    {
+    }
+ 8003eee:      687b            ldr     r3, [r7, #4]
+ 8003ef0:      4618            mov     r0, r3
+ 8003ef2:      3708            adds    r7, #8
+ 8003ef4:      46bd            mov     sp, r7
+ 8003ef6:      bd80            pop     {r7, pc}
+ 8003ef8:      08005fa0        .word   0x08005fa0
+ 8003efc:      08005dd8        .word   0x08005dd8
+
+08003f00 <_ZNK14rosserial_msgs3Log9serializeEPh>:
+
+    virtual int serialize(unsigned char *outbuffer) const
+ 8003f00:      b580            push    {r7, lr}
+ 8003f02:      b084            sub     sp, #16
+ 8003f04:      af00            add     r7, sp, #0
+ 8003f06:      6078            str     r0, [r7, #4]
+ 8003f08:      6039            str     r1, [r7, #0]
+    {
+      int offset = 0;
+ 8003f0a:      2300            movs    r3, #0
+ 8003f0c:      60fb            str     r3, [r7, #12]
+      *(outbuffer + offset + 0) = (this->level >> (8 * 0)) & 0xFF;
+ 8003f0e:      68fb            ldr     r3, [r7, #12]
+ 8003f10:      683a            ldr     r2, [r7, #0]
+ 8003f12:      4413            add     r3, r2
+ 8003f14:      687a            ldr     r2, [r7, #4]
+ 8003f16:      7912            ldrb    r2, [r2, #4]
+ 8003f18:      701a            strb    r2, [r3, #0]
+      offset += sizeof(this->level);
+ 8003f1a:      68fb            ldr     r3, [r7, #12]
+ 8003f1c:      3301            adds    r3, #1
+ 8003f1e:      60fb            str     r3, [r7, #12]
+      uint32_t length_msg = strlen(this->msg);
+ 8003f20:      687b            ldr     r3, [r7, #4]
+ 8003f22:      689b            ldr     r3, [r3, #8]
+ 8003f24:      4618            mov     r0, r3
+ 8003f26:      f7fc f987       bl      8000238 <strlen>
+ 8003f2a:      60b8            str     r0, [r7, #8]
+      varToArr(outbuffer + offset, length_msg);
+ 8003f2c:      68fb            ldr     r3, [r7, #12]
+ 8003f2e:      683a            ldr     r2, [r7, #0]
+ 8003f30:      4413            add     r3, r2
+ 8003f32:      68b9            ldr     r1, [r7, #8]
+ 8003f34:      4618            mov     r0, r3
+ 8003f36:      f000 fe4e       bl      8004bd6 <_ZN3ros3Msg8varToArrIPhmEEvT_T0_>
+      offset += 4;
+ 8003f3a:      68fb            ldr     r3, [r7, #12]
+ 8003f3c:      3304            adds    r3, #4
+ 8003f3e:      60fb            str     r3, [r7, #12]
+      memcpy(outbuffer + offset, this->msg, length_msg);
+ 8003f40:      68fb            ldr     r3, [r7, #12]
+ 8003f42:      683a            ldr     r2, [r7, #0]
+ 8003f44:      18d0            adds    r0, r2, r3
+ 8003f46:      687b            ldr     r3, [r7, #4]
+ 8003f48:      689b            ldr     r3, [r3, #8]
+ 8003f4a:      68ba            ldr     r2, [r7, #8]
+ 8003f4c:      4619            mov     r1, r3
+ 8003f4e:      f001 fdef       bl      8005b30 <memcpy>
+      offset += length_msg;
+ 8003f52:      68fa            ldr     r2, [r7, #12]
+ 8003f54:      68bb            ldr     r3, [r7, #8]
+ 8003f56:      4413            add     r3, r2
+ 8003f58:      60fb            str     r3, [r7, #12]
+      return offset;
+ 8003f5a:      68fb            ldr     r3, [r7, #12]
+    }
+ 8003f5c:      4618            mov     r0, r3
+ 8003f5e:      3710            adds    r7, #16
+ 8003f60:      46bd            mov     sp, r7
+ 8003f62:      bd80            pop     {r7, pc}
+
+08003f64 <_ZN14rosserial_msgs3Log11deserializeEPh>:
+
+    virtual int deserialize(unsigned char *inbuffer)
+ 8003f64:      b580            push    {r7, lr}
+ 8003f66:      b086            sub     sp, #24
+ 8003f68:      af00            add     r7, sp, #0
+ 8003f6a:      6078            str     r0, [r7, #4]
+ 8003f6c:      6039            str     r1, [r7, #0]
+    {
+      int offset = 0;
+ 8003f6e:      2300            movs    r3, #0
+ 8003f70:      613b            str     r3, [r7, #16]
+      this->level =  ((uint8_t) (*(inbuffer + offset)));
+ 8003f72:      693b            ldr     r3, [r7, #16]
+ 8003f74:      683a            ldr     r2, [r7, #0]
+ 8003f76:      4413            add     r3, r2
+ 8003f78:      781a            ldrb    r2, [r3, #0]
+ 8003f7a:      687b            ldr     r3, [r7, #4]
+ 8003f7c:      711a            strb    r2, [r3, #4]
+      offset += sizeof(this->level);
+ 8003f7e:      693b            ldr     r3, [r7, #16]
+ 8003f80:      3301            adds    r3, #1
+ 8003f82:      613b            str     r3, [r7, #16]
+      uint32_t length_msg;
+      arrToVar(length_msg, (inbuffer + offset));
+ 8003f84:      693b            ldr     r3, [r7, #16]
+ 8003f86:      683a            ldr     r2, [r7, #0]
+ 8003f88:      441a            add     r2, r3
+ 8003f8a:      f107 030c       add.w   r3, r7, #12
+ 8003f8e:      4611            mov     r1, r2
+ 8003f90:      4618            mov     r0, r3
+ 8003f92:      f000 fe3e       bl      8004c12 <_ZN3ros3Msg8arrToVarImPhEEvRT_T0_>
+      offset += 4;
+ 8003f96:      693b            ldr     r3, [r7, #16]
+ 8003f98:      3304            adds    r3, #4
+ 8003f9a:      613b            str     r3, [r7, #16]
+      for(unsigned int k= offset; k< offset+length_msg; ++k){
+ 8003f9c:      693b            ldr     r3, [r7, #16]
+ 8003f9e:      617b            str     r3, [r7, #20]
+ 8003fa0:      693a            ldr     r2, [r7, #16]
+ 8003fa2:      68fb            ldr     r3, [r7, #12]
+ 8003fa4:      4413            add     r3, r2
+ 8003fa6:      697a            ldr     r2, [r7, #20]
+ 8003fa8:      429a            cmp     r2, r3
+ 8003faa:      d20c            bcs.n   8003fc6 <_ZN14rosserial_msgs3Log11deserializeEPh+0x62>
+          inbuffer[k-1]=inbuffer[k];
+ 8003fac:      683a            ldr     r2, [r7, #0]
+ 8003fae:      697b            ldr     r3, [r7, #20]
+ 8003fb0:      441a            add     r2, r3
+ 8003fb2:      697b            ldr     r3, [r7, #20]
+ 8003fb4:      3b01            subs    r3, #1
+ 8003fb6:      6839            ldr     r1, [r7, #0]
+ 8003fb8:      440b            add     r3, r1
+ 8003fba:      7812            ldrb    r2, [r2, #0]
+ 8003fbc:      701a            strb    r2, [r3, #0]
+      for(unsigned int k= offset; k< offset+length_msg; ++k){
+ 8003fbe:      697b            ldr     r3, [r7, #20]
+ 8003fc0:      3301            adds    r3, #1
+ 8003fc2:      617b            str     r3, [r7, #20]
+ 8003fc4:      e7ec            b.n     8003fa0 <_ZN14rosserial_msgs3Log11deserializeEPh+0x3c>
+      }
+      inbuffer[offset+length_msg-1]=0;
+ 8003fc6:      693a            ldr     r2, [r7, #16]
+ 8003fc8:      68fb            ldr     r3, [r7, #12]
+ 8003fca:      4413            add     r3, r2
+ 8003fcc:      3b01            subs    r3, #1
+ 8003fce:      683a            ldr     r2, [r7, #0]
+ 8003fd0:      4413            add     r3, r2
+ 8003fd2:      2200            movs    r2, #0
+ 8003fd4:      701a            strb    r2, [r3, #0]
+      this->msg = (char *)(inbuffer + offset-1);
+ 8003fd6:      693b            ldr     r3, [r7, #16]
+ 8003fd8:      3b01            subs    r3, #1
+ 8003fda:      683a            ldr     r2, [r7, #0]
+ 8003fdc:      441a            add     r2, r3
+ 8003fde:      687b            ldr     r3, [r7, #4]
+ 8003fe0:      609a            str     r2, [r3, #8]
+      offset += length_msg;
+ 8003fe2:      693a            ldr     r2, [r7, #16]
+ 8003fe4:      68fb            ldr     r3, [r7, #12]
+ 8003fe6:      4413            add     r3, r2
+ 8003fe8:      613b            str     r3, [r7, #16]
+     return offset;
+ 8003fea:      693b            ldr     r3, [r7, #16]
+    }
+ 8003fec:      4618            mov     r0, r3
+ 8003fee:      3718            adds    r7, #24
+ 8003ff0:      46bd            mov     sp, r7
+ 8003ff2:      bd80            pop     {r7, pc}
+
+08003ff4 <_ZN14rosserial_msgs3Log7getTypeEv>:
+
+    const char * getType(){ return "rosserial_msgs/Log"; };
+ 8003ff4:      b480            push    {r7}
+ 8003ff6:      b083            sub     sp, #12
+ 8003ff8:      af00            add     r7, sp, #0
+ 8003ffa:      6078            str     r0, [r7, #4]
+ 8003ffc:      4b03            ldr     r3, [pc, #12]   ; (800400c <_ZN14rosserial_msgs3Log7getTypeEv+0x18>)
+ 8003ffe:      4618            mov     r0, r3
+ 8004000:      370c            adds    r7, #12
+ 8004002:      46bd            mov     sp, r7
+ 8004004:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8004008:      4770            bx      lr
+ 800400a:      bf00            nop
+ 800400c:      08005e84        .word   0x08005e84
+
+08004010 <_ZN14rosserial_msgs3Log6getMD5Ev>:
+    const char * getMD5(){ return "11abd731c25933261cd6183bd12d6295"; };
+ 8004010:      b480            push    {r7}
+ 8004012:      b083            sub     sp, #12
+ 8004014:      af00            add     r7, sp, #0
+ 8004016:      6078            str     r0, [r7, #4]
+ 8004018:      4b03            ldr     r3, [pc, #12]   ; (8004028 <_ZN14rosserial_msgs3Log6getMD5Ev+0x18>)
+ 800401a:      4618            mov     r0, r3
+ 800401c:      370c            adds    r7, #12
+ 800401e:      46bd            mov     sp, r7
+ 8004020:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8004024:      4770            bx      lr
+ 8004026:      bf00            nop
+ 8004028:      08005e98        .word   0x08005e98
+
+0800402c <_ZN14rosserial_msgs20RequestParamResponseC1Ev>:
+      uint32_t strings_length;
+      typedef char* _strings_type;
+      _strings_type st_strings;
+      _strings_type * strings;
+
+    RequestParamResponse():
+ 800402c:      b580            push    {r7, lr}
+ 800402e:      b082            sub     sp, #8
+ 8004030:      af00            add     r7, sp, #0
+ 8004032:      6078            str     r0, [r7, #4]
+      ints_length(0), ints(NULL),
+      floats_length(0), floats(NULL),
+      strings_length(0), strings(NULL)
+ 8004034:      687b            ldr     r3, [r7, #4]
+ 8004036:      4618            mov     r0, r3
+ 8004038:      f7ff fbd6       bl      80037e8 <_ZN3ros3MsgC1Ev>
+ 800403c:      4a0c            ldr     r2, [pc, #48]   ; (8004070 <_ZN14rosserial_msgs20RequestParamResponseC1Ev+0x44>)
+ 800403e:      687b            ldr     r3, [r7, #4]
+ 8004040:      601a            str     r2, [r3, #0]
+ 8004042:      687b            ldr     r3, [r7, #4]
+ 8004044:      2200            movs    r2, #0
+ 8004046:      605a            str     r2, [r3, #4]
+ 8004048:      687b            ldr     r3, [r7, #4]
+ 800404a:      2200            movs    r2, #0
+ 800404c:      60da            str     r2, [r3, #12]
+ 800404e:      687b            ldr     r3, [r7, #4]
+ 8004050:      2200            movs    r2, #0
+ 8004052:      611a            str     r2, [r3, #16]
+ 8004054:      687b            ldr     r3, [r7, #4]
+ 8004056:      2200            movs    r2, #0
+ 8004058:      619a            str     r2, [r3, #24]
+ 800405a:      687b            ldr     r3, [r7, #4]
+ 800405c:      2200            movs    r2, #0
+ 800405e:      61da            str     r2, [r3, #28]
+ 8004060:      687b            ldr     r3, [r7, #4]
+ 8004062:      2200            movs    r2, #0
+ 8004064:      625a            str     r2, [r3, #36]   ; 0x24
+    {
+    }
+ 8004066:      687b            ldr     r3, [r7, #4]
+ 8004068:      4618            mov     r0, r3
+ 800406a:      3708            adds    r7, #8
+ 800406c:      46bd            mov     sp, r7
+ 800406e:      bd80            pop     {r7, pc}
+ 8004070:      08005f88        .word   0x08005f88
+
+08004074 <_ZNK14rosserial_msgs20RequestParamResponse9serializeEPh>:
+
+    virtual int serialize(unsigned char *outbuffer) const
+ 8004074:      b580            push    {r7, lr}
+ 8004076:      b08a            sub     sp, #40 ; 0x28
+ 8004078:      af00            add     r7, sp, #0
+ 800407a:      6078            str     r0, [r7, #4]
+ 800407c:      6039            str     r1, [r7, #0]
+    {
+      int offset = 0;
+ 800407e:      2300            movs    r3, #0
+ 8004080:      627b            str     r3, [r7, #36]   ; 0x24
+      *(outbuffer + offset + 0) = (this->ints_length >> (8 * 0)) & 0xFF;
+ 8004082:      687b            ldr     r3, [r7, #4]
+ 8004084:      6859            ldr     r1, [r3, #4]
+ 8004086:      6a7b            ldr     r3, [r7, #36]   ; 0x24
+ 8004088:      683a            ldr     r2, [r7, #0]
+ 800408a:      4413            add     r3, r2
+ 800408c:      b2ca            uxtb    r2, r1
+ 800408e:      701a            strb    r2, [r3, #0]
+      *(outbuffer + offset + 1) = (this->ints_length >> (8 * 1)) & 0xFF;
+ 8004090:      687b            ldr     r3, [r7, #4]
+ 8004092:      685b            ldr     r3, [r3, #4]
+ 8004094:      0a19            lsrs    r1, r3, #8
+ 8004096:      6a7b            ldr     r3, [r7, #36]   ; 0x24
+ 8004098:      3301            adds    r3, #1
+ 800409a:      683a            ldr     r2, [r7, #0]
+ 800409c:      4413            add     r3, r2
+ 800409e:      b2ca            uxtb    r2, r1
+ 80040a0:      701a            strb    r2, [r3, #0]
+      *(outbuffer + offset + 2) = (this->ints_length >> (8 * 2)) & 0xFF;
+ 80040a2:      687b            ldr     r3, [r7, #4]
+ 80040a4:      685b            ldr     r3, [r3, #4]
+ 80040a6:      0c19            lsrs    r1, r3, #16
+ 80040a8:      6a7b            ldr     r3, [r7, #36]   ; 0x24
+ 80040aa:      3302            adds    r3, #2
+ 80040ac:      683a            ldr     r2, [r7, #0]
+ 80040ae:      4413            add     r3, r2
+ 80040b0:      b2ca            uxtb    r2, r1
+ 80040b2:      701a            strb    r2, [r3, #0]
+      *(outbuffer + offset + 3) = (this->ints_length >> (8 * 3)) & 0xFF;
+ 80040b4:      687b            ldr     r3, [r7, #4]
+ 80040b6:      685b            ldr     r3, [r3, #4]
+ 80040b8:      0e19            lsrs    r1, r3, #24
+ 80040ba:      6a7b            ldr     r3, [r7, #36]   ; 0x24
+ 80040bc:      3303            adds    r3, #3
+ 80040be:      683a            ldr     r2, [r7, #0]
+ 80040c0:      4413            add     r3, r2
+ 80040c2:      b2ca            uxtb    r2, r1
+ 80040c4:      701a            strb    r2, [r3, #0]
+      offset += sizeof(this->ints_length);
+ 80040c6:      6a7b            ldr     r3, [r7, #36]   ; 0x24
+ 80040c8:      3304            adds    r3, #4
+ 80040ca:      627b            str     r3, [r7, #36]   ; 0x24
+      for( uint32_t i = 0; i < ints_length; i++){
+ 80040cc:      2300            movs    r3, #0
+ 80040ce:      623b            str     r3, [r7, #32]
+ 80040d0:      687b            ldr     r3, [r7, #4]
+ 80040d2:      685b            ldr     r3, [r3, #4]
+ 80040d4:      6a3a            ldr     r2, [r7, #32]
+ 80040d6:      429a            cmp     r2, r3
+ 80040d8:      d22b            bcs.n   8004132 <_ZNK14rosserial_msgs20RequestParamResponse9serializeEPh+0xbe>
+      union {
+        int32_t real;
+        uint32_t base;
+      } u_intsi;
+      u_intsi.real = this->ints[i];
+ 80040da:      687b            ldr     r3, [r7, #4]
+ 80040dc:      68da            ldr     r2, [r3, #12]
+ 80040de:      6a3b            ldr     r3, [r7, #32]
+ 80040e0:      009b            lsls    r3, r3, #2
+ 80040e2:      4413            add     r3, r2
+ 80040e4:      681b            ldr     r3, [r3, #0]
+ 80040e6:      613b            str     r3, [r7, #16]
+      *(outbuffer + offset + 0) = (u_intsi.base >> (8 * 0)) & 0xFF;
+ 80040e8:      6939            ldr     r1, [r7, #16]
+ 80040ea:      6a7b            ldr     r3, [r7, #36]   ; 0x24
+ 80040ec:      683a            ldr     r2, [r7, #0]
+ 80040ee:      4413            add     r3, r2
+ 80040f0:      b2ca            uxtb    r2, r1
+ 80040f2:      701a            strb    r2, [r3, #0]
+      *(outbuffer + offset + 1) = (u_intsi.base >> (8 * 1)) & 0xFF;
+ 80040f4:      693b            ldr     r3, [r7, #16]
+ 80040f6:      0a19            lsrs    r1, r3, #8
+ 80040f8:      6a7b            ldr     r3, [r7, #36]   ; 0x24
+ 80040fa:      3301            adds    r3, #1
+ 80040fc:      683a            ldr     r2, [r7, #0]
+ 80040fe:      4413            add     r3, r2
+ 8004100:      b2ca            uxtb    r2, r1
+ 8004102:      701a            strb    r2, [r3, #0]
+      *(outbuffer + offset + 2) = (u_intsi.base >> (8 * 2)) & 0xFF;
+ 8004104:      693b            ldr     r3, [r7, #16]
+ 8004106:      0c19            lsrs    r1, r3, #16
+ 8004108:      6a7b            ldr     r3, [r7, #36]   ; 0x24
+ 800410a:      3302            adds    r3, #2
+ 800410c:      683a            ldr     r2, [r7, #0]
+ 800410e:      4413            add     r3, r2
+ 8004110:      b2ca            uxtb    r2, r1
+ 8004112:      701a            strb    r2, [r3, #0]
+      *(outbuffer + offset + 3) = (u_intsi.base >> (8 * 3)) & 0xFF;
+ 8004114:      693b            ldr     r3, [r7, #16]
+ 8004116:      0e19            lsrs    r1, r3, #24
+ 8004118:      6a7b            ldr     r3, [r7, #36]   ; 0x24
+ 800411a:      3303            adds    r3, #3
+ 800411c:      683a            ldr     r2, [r7, #0]
+ 800411e:      4413            add     r3, r2
+ 8004120:      b2ca            uxtb    r2, r1
+ 8004122:      701a            strb    r2, [r3, #0]
+      offset += sizeof(this->ints[i]);
+ 8004124:      6a7b            ldr     r3, [r7, #36]   ; 0x24
+ 8004126:      3304            adds    r3, #4
+ 8004128:      627b            str     r3, [r7, #36]   ; 0x24
+      for( uint32_t i = 0; i < ints_length; i++){
+ 800412a:      6a3b            ldr     r3, [r7, #32]
+ 800412c:      3301            adds    r3, #1
+ 800412e:      623b            str     r3, [r7, #32]
+ 8004130:      e7ce            b.n     80040d0 <_ZNK14rosserial_msgs20RequestParamResponse9serializeEPh+0x5c>
+      }
+      *(outbuffer + offset + 0) = (this->floats_length >> (8 * 0)) & 0xFF;
+ 8004132:      687b            ldr     r3, [r7, #4]
+ 8004134:      6919            ldr     r1, [r3, #16]
+ 8004136:      6a7b            ldr     r3, [r7, #36]   ; 0x24
+ 8004138:      683a            ldr     r2, [r7, #0]
+ 800413a:      4413            add     r3, r2
+ 800413c:      b2ca            uxtb    r2, r1
+ 800413e:      701a            strb    r2, [r3, #0]
+      *(outbuffer + offset + 1) = (this->floats_length >> (8 * 1)) & 0xFF;
+ 8004140:      687b            ldr     r3, [r7, #4]
+ 8004142:      691b            ldr     r3, [r3, #16]
+ 8004144:      0a19            lsrs    r1, r3, #8
+ 8004146:      6a7b            ldr     r3, [r7, #36]   ; 0x24
+ 8004148:      3301            adds    r3, #1
+ 800414a:      683a            ldr     r2, [r7, #0]
+ 800414c:      4413            add     r3, r2
+ 800414e:      b2ca            uxtb    r2, r1
+ 8004150:      701a            strb    r2, [r3, #0]
+      *(outbuffer + offset + 2) = (this->floats_length >> (8 * 2)) & 0xFF;
+ 8004152:      687b            ldr     r3, [r7, #4]
+ 8004154:      691b            ldr     r3, [r3, #16]
+ 8004156:      0c19            lsrs    r1, r3, #16
+ 8004158:      6a7b            ldr     r3, [r7, #36]   ; 0x24
+ 800415a:      3302            adds    r3, #2
+ 800415c:      683a            ldr     r2, [r7, #0]
+ 800415e:      4413            add     r3, r2
+ 8004160:      b2ca            uxtb    r2, r1
+ 8004162:      701a            strb    r2, [r3, #0]
+      *(outbuffer + offset + 3) = (this->floats_length >> (8 * 3)) & 0xFF;
+ 8004164:      687b            ldr     r3, [r7, #4]
+ 8004166:      691b            ldr     r3, [r3, #16]
+ 8004168:      0e19            lsrs    r1, r3, #24
+ 800416a:      6a7b            ldr     r3, [r7, #36]   ; 0x24
+ 800416c:      3303            adds    r3, #3
+ 800416e:      683a            ldr     r2, [r7, #0]
+ 8004170:      4413            add     r3, r2
+ 8004172:      b2ca            uxtb    r2, r1
+ 8004174:      701a            strb    r2, [r3, #0]
+      offset += sizeof(this->floats_length);
+ 8004176:      6a7b            ldr     r3, [r7, #36]   ; 0x24
+ 8004178:      3304            adds    r3, #4
+ 800417a:      627b            str     r3, [r7, #36]   ; 0x24
+      for( uint32_t i = 0; i < floats_length; i++){
+ 800417c:      2300            movs    r3, #0
+ 800417e:      61fb            str     r3, [r7, #28]
+ 8004180:      687b            ldr     r3, [r7, #4]
+ 8004182:      691b            ldr     r3, [r3, #16]
+ 8004184:      69fa            ldr     r2, [r7, #28]
+ 8004186:      429a            cmp     r2, r3
+ 8004188:      d22b            bcs.n   80041e2 <_ZNK14rosserial_msgs20RequestParamResponse9serializeEPh+0x16e>
+      union {
+        float real;
+        uint32_t base;
+      } u_floatsi;
+      u_floatsi.real = this->floats[i];
+ 800418a:      687b            ldr     r3, [r7, #4]
+ 800418c:      699a            ldr     r2, [r3, #24]
+ 800418e:      69fb            ldr     r3, [r7, #28]
+ 8004190:      009b            lsls    r3, r3, #2
+ 8004192:      4413            add     r3, r2
+ 8004194:      681b            ldr     r3, [r3, #0]
+ 8004196:      60fb            str     r3, [r7, #12]
+      *(outbuffer + offset + 0) = (u_floatsi.base >> (8 * 0)) & 0xFF;
+ 8004198:      68f9            ldr     r1, [r7, #12]
+ 800419a:      6a7b            ldr     r3, [r7, #36]   ; 0x24
+ 800419c:      683a            ldr     r2, [r7, #0]
+ 800419e:      4413            add     r3, r2
+ 80041a0:      b2ca            uxtb    r2, r1
+ 80041a2:      701a            strb    r2, [r3, #0]
+      *(outbuffer + offset + 1) = (u_floatsi.base >> (8 * 1)) & 0xFF;
+ 80041a4:      68fb            ldr     r3, [r7, #12]
+ 80041a6:      0a19            lsrs    r1, r3, #8
+ 80041a8:      6a7b            ldr     r3, [r7, #36]   ; 0x24
+ 80041aa:      3301            adds    r3, #1
+ 80041ac:      683a            ldr     r2, [r7, #0]
+ 80041ae:      4413            add     r3, r2
+ 80041b0:      b2ca            uxtb    r2, r1
+ 80041b2:      701a            strb    r2, [r3, #0]
+      *(outbuffer + offset + 2) = (u_floatsi.base >> (8 * 2)) & 0xFF;
+ 80041b4:      68fb            ldr     r3, [r7, #12]
+ 80041b6:      0c19            lsrs    r1, r3, #16
+ 80041b8:      6a7b            ldr     r3, [r7, #36]   ; 0x24
+ 80041ba:      3302            adds    r3, #2
+ 80041bc:      683a            ldr     r2, [r7, #0]
+ 80041be:      4413            add     r3, r2
+ 80041c0:      b2ca            uxtb    r2, r1
+ 80041c2:      701a            strb    r2, [r3, #0]
+      *(outbuffer + offset + 3) = (u_floatsi.base >> (8 * 3)) & 0xFF;
+ 80041c4:      68fb            ldr     r3, [r7, #12]
+ 80041c6:      0e19            lsrs    r1, r3, #24
+ 80041c8:      6a7b            ldr     r3, [r7, #36]   ; 0x24
+ 80041ca:      3303            adds    r3, #3
+ 80041cc:      683a            ldr     r2, [r7, #0]
+ 80041ce:      4413            add     r3, r2
+ 80041d0:      b2ca            uxtb    r2, r1
+ 80041d2:      701a            strb    r2, [r3, #0]
+      offset += sizeof(this->floats[i]);
+ 80041d4:      6a7b            ldr     r3, [r7, #36]   ; 0x24
+ 80041d6:      3304            adds    r3, #4
+ 80041d8:      627b            str     r3, [r7, #36]   ; 0x24
+      for( uint32_t i = 0; i < floats_length; i++){
+ 80041da:      69fb            ldr     r3, [r7, #28]
+ 80041dc:      3301            adds    r3, #1
+ 80041de:      61fb            str     r3, [r7, #28]
+ 80041e0:      e7ce            b.n     8004180 <_ZNK14rosserial_msgs20RequestParamResponse9serializeEPh+0x10c>
+      }
+      *(outbuffer + offset + 0) = (this->strings_length >> (8 * 0)) & 0xFF;
+ 80041e2:      687b            ldr     r3, [r7, #4]
+ 80041e4:      69d9            ldr     r1, [r3, #28]
+ 80041e6:      6a7b            ldr     r3, [r7, #36]   ; 0x24
+ 80041e8:      683a            ldr     r2, [r7, #0]
+ 80041ea:      4413            add     r3, r2
+ 80041ec:      b2ca            uxtb    r2, r1
+ 80041ee:      701a            strb    r2, [r3, #0]
+      *(outbuffer + offset + 1) = (this->strings_length >> (8 * 1)) & 0xFF;
+ 80041f0:      687b            ldr     r3, [r7, #4]
+ 80041f2:      69db            ldr     r3, [r3, #28]
+ 80041f4:      0a19            lsrs    r1, r3, #8
+ 80041f6:      6a7b            ldr     r3, [r7, #36]   ; 0x24
+ 80041f8:      3301            adds    r3, #1
+ 80041fa:      683a            ldr     r2, [r7, #0]
+ 80041fc:      4413            add     r3, r2
+ 80041fe:      b2ca            uxtb    r2, r1
+ 8004200:      701a            strb    r2, [r3, #0]
+      *(outbuffer + offset + 2) = (this->strings_length >> (8 * 2)) & 0xFF;
+ 8004202:      687b            ldr     r3, [r7, #4]
+ 8004204:      69db            ldr     r3, [r3, #28]
+ 8004206:      0c19            lsrs    r1, r3, #16
+ 8004208:      6a7b            ldr     r3, [r7, #36]   ; 0x24
+ 800420a:      3302            adds    r3, #2
+ 800420c:      683a            ldr     r2, [r7, #0]
+ 800420e:      4413            add     r3, r2
+ 8004210:      b2ca            uxtb    r2, r1
+ 8004212:      701a            strb    r2, [r3, #0]
+      *(outbuffer + offset + 3) = (this->strings_length >> (8 * 3)) & 0xFF;
+ 8004214:      687b            ldr     r3, [r7, #4]
+ 8004216:      69db            ldr     r3, [r3, #28]
+ 8004218:      0e19            lsrs    r1, r3, #24
+ 800421a:      6a7b            ldr     r3, [r7, #36]   ; 0x24
+ 800421c:      3303            adds    r3, #3
+ 800421e:      683a            ldr     r2, [r7, #0]
+ 8004220:      4413            add     r3, r2
+ 8004222:      b2ca            uxtb    r2, r1
+ 8004224:      701a            strb    r2, [r3, #0]
+      offset += sizeof(this->strings_length);
+ 8004226:      6a7b            ldr     r3, [r7, #36]   ; 0x24
+ 8004228:      3304            adds    r3, #4
+ 800422a:      627b            str     r3, [r7, #36]   ; 0x24
+      for( uint32_t i = 0; i < strings_length; i++){
+ 800422c:      2300            movs    r3, #0
+ 800422e:      61bb            str     r3, [r7, #24]
+ 8004230:      687b            ldr     r3, [r7, #4]
+ 8004232:      69db            ldr     r3, [r3, #28]
+ 8004234:      69ba            ldr     r2, [r7, #24]
+ 8004236:      429a            cmp     r2, r3
+ 8004238:      d228            bcs.n   800428c <_ZNK14rosserial_msgs20RequestParamResponse9serializeEPh+0x218>
+      uint32_t length_stringsi = strlen(this->strings[i]);
+ 800423a:      687b            ldr     r3, [r7, #4]
+ 800423c:      6a5a            ldr     r2, [r3, #36]   ; 0x24
+ 800423e:      69bb            ldr     r3, [r7, #24]
+ 8004240:      009b            lsls    r3, r3, #2
+ 8004242:      4413            add     r3, r2
+ 8004244:      681b            ldr     r3, [r3, #0]
+ 8004246:      4618            mov     r0, r3
+ 8004248:      f7fb fff6       bl      8000238 <strlen>
+ 800424c:      6178            str     r0, [r7, #20]
+      varToArr(outbuffer + offset, length_stringsi);
+ 800424e:      6a7b            ldr     r3, [r7, #36]   ; 0x24
+ 8004250:      683a            ldr     r2, [r7, #0]
+ 8004252:      4413            add     r3, r2
+ 8004254:      6979            ldr     r1, [r7, #20]
+ 8004256:      4618            mov     r0, r3
+ 8004258:      f000 fcbd       bl      8004bd6 <_ZN3ros3Msg8varToArrIPhmEEvT_T0_>
+      offset += 4;
+ 800425c:      6a7b            ldr     r3, [r7, #36]   ; 0x24
+ 800425e:      3304            adds    r3, #4
+ 8004260:      627b            str     r3, [r7, #36]   ; 0x24
+      memcpy(outbuffer + offset, this->strings[i], length_stringsi);
+ 8004262:      6a7b            ldr     r3, [r7, #36]   ; 0x24
+ 8004264:      683a            ldr     r2, [r7, #0]
+ 8004266:      18d0            adds    r0, r2, r3
+ 8004268:      687b            ldr     r3, [r7, #4]
+ 800426a:      6a5a            ldr     r2, [r3, #36]   ; 0x24
+ 800426c:      69bb            ldr     r3, [r7, #24]
+ 800426e:      009b            lsls    r3, r3, #2
+ 8004270:      4413            add     r3, r2
+ 8004272:      681b            ldr     r3, [r3, #0]
+ 8004274:      697a            ldr     r2, [r7, #20]
+ 8004276:      4619            mov     r1, r3
+ 8004278:      f001 fc5a       bl      8005b30 <memcpy>
+      offset += length_stringsi;
+ 800427c:      6a7a            ldr     r2, [r7, #36]   ; 0x24
+ 800427e:      697b            ldr     r3, [r7, #20]
+ 8004280:      4413            add     r3, r2
+ 8004282:      627b            str     r3, [r7, #36]   ; 0x24
+      for( uint32_t i = 0; i < strings_length; i++){
+ 8004284:      69bb            ldr     r3, [r7, #24]
+ 8004286:      3301            adds    r3, #1
+ 8004288:      61bb            str     r3, [r7, #24]
+ 800428a:      e7d1            b.n     8004230 <_ZNK14rosserial_msgs20RequestParamResponse9serializeEPh+0x1bc>
+      }
+      return offset;
+ 800428c:      6a7b            ldr     r3, [r7, #36]   ; 0x24
+    }
+ 800428e:      4618            mov     r0, r3
+ 8004290:      3728            adds    r7, #40 ; 0x28
+ 8004292:      46bd            mov     sp, r7
+ 8004294:      bd80            pop     {r7, pc}
+
+08004296 <_ZN14rosserial_msgs20RequestParamResponse11deserializeEPh>:
+
+    virtual int deserialize(unsigned char *inbuffer)
+ 8004296:      b580            push    {r7, lr}
+ 8004298:      b08e            sub     sp, #56 ; 0x38
+ 800429a:      af00            add     r7, sp, #0
+ 800429c:      6078            str     r0, [r7, #4]
+ 800429e:      6039            str     r1, [r7, #0]
+    {
+      int offset = 0;
+ 80042a0:      2300            movs    r3, #0
+ 80042a2:      637b            str     r3, [r7, #52]   ; 0x34
+      uint32_t ints_lengthT = ((uint32_t) (*(inbuffer + offset))); 
+ 80042a4:      6b7b            ldr     r3, [r7, #52]   ; 0x34
+ 80042a6:      683a            ldr     r2, [r7, #0]
+ 80042a8:      4413            add     r3, r2
+ 80042aa:      781b            ldrb    r3, [r3, #0]
+ 80042ac:      623b            str     r3, [r7, #32]
+      ints_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); 
+ 80042ae:      6b7b            ldr     r3, [r7, #52]   ; 0x34
+ 80042b0:      3301            adds    r3, #1
+ 80042b2:      683a            ldr     r2, [r7, #0]
+ 80042b4:      4413            add     r3, r2
+ 80042b6:      781b            ldrb    r3, [r3, #0]
+ 80042b8:      021b            lsls    r3, r3, #8
+ 80042ba:      6a3a            ldr     r2, [r7, #32]
+ 80042bc:      4313            orrs    r3, r2
+ 80042be:      623b            str     r3, [r7, #32]
+      ints_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); 
+ 80042c0:      6b7b            ldr     r3, [r7, #52]   ; 0x34
+ 80042c2:      3302            adds    r3, #2
+ 80042c4:      683a            ldr     r2, [r7, #0]
+ 80042c6:      4413            add     r3, r2
+ 80042c8:      781b            ldrb    r3, [r3, #0]
+ 80042ca:      041b            lsls    r3, r3, #16
+ 80042cc:      6a3a            ldr     r2, [r7, #32]
+ 80042ce:      4313            orrs    r3, r2
+ 80042d0:      623b            str     r3, [r7, #32]
+      ints_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); 
+ 80042d2:      6b7b            ldr     r3, [r7, #52]   ; 0x34
+ 80042d4:      3303            adds    r3, #3
+ 80042d6:      683a            ldr     r2, [r7, #0]
+ 80042d8:      4413            add     r3, r2
+ 80042da:      781b            ldrb    r3, [r3, #0]
+ 80042dc:      061b            lsls    r3, r3, #24
+ 80042de:      6a3a            ldr     r2, [r7, #32]
+ 80042e0:      4313            orrs    r3, r2
+ 80042e2:      623b            str     r3, [r7, #32]
+      offset += sizeof(this->ints_length);
+ 80042e4:      6b7b            ldr     r3, [r7, #52]   ; 0x34
+ 80042e6:      3304            adds    r3, #4
+ 80042e8:      637b            str     r3, [r7, #52]   ; 0x34
+      if(ints_lengthT > ints_length)
+ 80042ea:      687b            ldr     r3, [r7, #4]
+ 80042ec:      685b            ldr     r3, [r3, #4]
+ 80042ee:      6a3a            ldr     r2, [r7, #32]
+ 80042f0:      429a            cmp     r2, r3
+ 80042f2:      d90a            bls.n   800430a <_ZN14rosserial_msgs20RequestParamResponse11deserializeEPh+0x74>
+        this->ints = (int32_t*)realloc(this->ints, ints_lengthT * sizeof(int32_t));
+ 80042f4:      687b            ldr     r3, [r7, #4]
+ 80042f6:      68da            ldr     r2, [r3, #12]
+ 80042f8:      6a3b            ldr     r3, [r7, #32]
+ 80042fa:      009b            lsls    r3, r3, #2
+ 80042fc:      4619            mov     r1, r3
+ 80042fe:      4610            mov     r0, r2
+ 8004300:      f001 fc2a       bl      8005b58 <realloc>
+ 8004304:      4602            mov     r2, r0
+ 8004306:      687b            ldr     r3, [r7, #4]
+ 8004308:      60da            str     r2, [r3, #12]
+      ints_length = ints_lengthT;
+ 800430a:      687b            ldr     r3, [r7, #4]
+ 800430c:      6a3a            ldr     r2, [r7, #32]
+ 800430e:      605a            str     r2, [r3, #4]
+      for( uint32_t i = 0; i < ints_length; i++){
+ 8004310:      2300            movs    r3, #0
+ 8004312:      633b            str     r3, [r7, #48]   ; 0x30
+ 8004314:      687b            ldr     r3, [r7, #4]
+ 8004316:      685b            ldr     r3, [r3, #4]
+ 8004318:      6b3a            ldr     r2, [r7, #48]   ; 0x30
+ 800431a:      429a            cmp     r2, r3
+ 800431c:      d236            bcs.n   800438c <_ZN14rosserial_msgs20RequestParamResponse11deserializeEPh+0xf6>
+      union {
+        int32_t real;
+        uint32_t base;
+      } u_st_ints;
+      u_st_ints.base = 0;
+ 800431e:      2300            movs    r3, #0
+ 8004320:      617b            str     r3, [r7, #20]
+      u_st_ints.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0);
+ 8004322:      697b            ldr     r3, [r7, #20]
+ 8004324:      6b7a            ldr     r2, [r7, #52]   ; 0x34
+ 8004326:      6839            ldr     r1, [r7, #0]
+ 8004328:      440a            add     r2, r1
+ 800432a:      7812            ldrb    r2, [r2, #0]
+ 800432c:      4313            orrs    r3, r2
+ 800432e:      617b            str     r3, [r7, #20]
+      u_st_ints.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1);
+ 8004330:      697a            ldr     r2, [r7, #20]
+ 8004332:      6b7b            ldr     r3, [r7, #52]   ; 0x34
+ 8004334:      3301            adds    r3, #1
+ 8004336:      6839            ldr     r1, [r7, #0]
+ 8004338:      440b            add     r3, r1
+ 800433a:      781b            ldrb    r3, [r3, #0]
+ 800433c:      021b            lsls    r3, r3, #8
+ 800433e:      4313            orrs    r3, r2
+ 8004340:      617b            str     r3, [r7, #20]
+      u_st_ints.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2);
+ 8004342:      697a            ldr     r2, [r7, #20]
+ 8004344:      6b7b            ldr     r3, [r7, #52]   ; 0x34
+ 8004346:      3302            adds    r3, #2
+ 8004348:      6839            ldr     r1, [r7, #0]
+ 800434a:      440b            add     r3, r1
+ 800434c:      781b            ldrb    r3, [r3, #0]
+ 800434e:      041b            lsls    r3, r3, #16
+ 8004350:      4313            orrs    r3, r2
+ 8004352:      617b            str     r3, [r7, #20]
+      u_st_ints.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3);
+ 8004354:      697a            ldr     r2, [r7, #20]
+ 8004356:      6b7b            ldr     r3, [r7, #52]   ; 0x34
+ 8004358:      3303            adds    r3, #3
+ 800435a:      6839            ldr     r1, [r7, #0]
+ 800435c:      440b            add     r3, r1
+ 800435e:      781b            ldrb    r3, [r3, #0]
+ 8004360:      061b            lsls    r3, r3, #24
+ 8004362:      4313            orrs    r3, r2
+ 8004364:      617b            str     r3, [r7, #20]
+      this->st_ints = u_st_ints.real;
+ 8004366:      697a            ldr     r2, [r7, #20]
+ 8004368:      687b            ldr     r3, [r7, #4]
+ 800436a:      609a            str     r2, [r3, #8]
+      offset += sizeof(this->st_ints);
+ 800436c:      6b7b            ldr     r3, [r7, #52]   ; 0x34
+ 800436e:      3304            adds    r3, #4
+ 8004370:      637b            str     r3, [r7, #52]   ; 0x34
+        memcpy( &(this->ints[i]), &(this->st_ints), sizeof(int32_t));
+ 8004372:      687b            ldr     r3, [r7, #4]
+ 8004374:      68da            ldr     r2, [r3, #12]
+ 8004376:      6b3b            ldr     r3, [r7, #48]   ; 0x30
+ 8004378:      009b            lsls    r3, r3, #2
+ 800437a:      4413            add     r3, r2
+ 800437c:      687a            ldr     r2, [r7, #4]
+ 800437e:      3208            adds    r2, #8
+ 8004380:      6812            ldr     r2, [r2, #0]
+ 8004382:      601a            str     r2, [r3, #0]
+      for( uint32_t i = 0; i < ints_length; i++){
+ 8004384:      6b3b            ldr     r3, [r7, #48]   ; 0x30
+ 8004386:      3301            adds    r3, #1
+ 8004388:      633b            str     r3, [r7, #48]   ; 0x30
+ 800438a:      e7c3            b.n     8004314 <_ZN14rosserial_msgs20RequestParamResponse11deserializeEPh+0x7e>
+      }
+      uint32_t floats_lengthT = ((uint32_t) (*(inbuffer + offset))); 
+ 800438c:      6b7b            ldr     r3, [r7, #52]   ; 0x34
+ 800438e:      683a            ldr     r2, [r7, #0]
+ 8004390:      4413            add     r3, r2
+ 8004392:      781b            ldrb    r3, [r3, #0]
+ 8004394:      61fb            str     r3, [r7, #28]
+      floats_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); 
+ 8004396:      6b7b            ldr     r3, [r7, #52]   ; 0x34
+ 8004398:      3301            adds    r3, #1
+ 800439a:      683a            ldr     r2, [r7, #0]
+ 800439c:      4413            add     r3, r2
+ 800439e:      781b            ldrb    r3, [r3, #0]
+ 80043a0:      021b            lsls    r3, r3, #8
+ 80043a2:      69fa            ldr     r2, [r7, #28]
+ 80043a4:      4313            orrs    r3, r2
+ 80043a6:      61fb            str     r3, [r7, #28]
+      floats_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); 
+ 80043a8:      6b7b            ldr     r3, [r7, #52]   ; 0x34
+ 80043aa:      3302            adds    r3, #2
+ 80043ac:      683a            ldr     r2, [r7, #0]
+ 80043ae:      4413            add     r3, r2
+ 80043b0:      781b            ldrb    r3, [r3, #0]
+ 80043b2:      041b            lsls    r3, r3, #16
+ 80043b4:      69fa            ldr     r2, [r7, #28]
+ 80043b6:      4313            orrs    r3, r2
+ 80043b8:      61fb            str     r3, [r7, #28]
+      floats_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); 
+ 80043ba:      6b7b            ldr     r3, [r7, #52]   ; 0x34
+ 80043bc:      3303            adds    r3, #3
+ 80043be:      683a            ldr     r2, [r7, #0]
+ 80043c0:      4413            add     r3, r2
+ 80043c2:      781b            ldrb    r3, [r3, #0]
+ 80043c4:      061b            lsls    r3, r3, #24
+ 80043c6:      69fa            ldr     r2, [r7, #28]
+ 80043c8:      4313            orrs    r3, r2
+ 80043ca:      61fb            str     r3, [r7, #28]
+      offset += sizeof(this->floats_length);
+ 80043cc:      6b7b            ldr     r3, [r7, #52]   ; 0x34
+ 80043ce:      3304            adds    r3, #4
+ 80043d0:      637b            str     r3, [r7, #52]   ; 0x34
+      if(floats_lengthT > floats_length)
+ 80043d2:      687b            ldr     r3, [r7, #4]
+ 80043d4:      691b            ldr     r3, [r3, #16]
+ 80043d6:      69fa            ldr     r2, [r7, #28]
+ 80043d8:      429a            cmp     r2, r3
+ 80043da:      d90a            bls.n   80043f2 <_ZN14rosserial_msgs20RequestParamResponse11deserializeEPh+0x15c>
+        this->floats = (float*)realloc(this->floats, floats_lengthT * sizeof(float));
+ 80043dc:      687b            ldr     r3, [r7, #4]
+ 80043de:      699a            ldr     r2, [r3, #24]
+ 80043e0:      69fb            ldr     r3, [r7, #28]
+ 80043e2:      009b            lsls    r3, r3, #2
+ 80043e4:      4619            mov     r1, r3
+ 80043e6:      4610            mov     r0, r2
+ 80043e8:      f001 fbb6       bl      8005b58 <realloc>
+ 80043ec:      4602            mov     r2, r0
+ 80043ee:      687b            ldr     r3, [r7, #4]
+ 80043f0:      619a            str     r2, [r3, #24]
+      floats_length = floats_lengthT;
+ 80043f2:      687b            ldr     r3, [r7, #4]
+ 80043f4:      69fa            ldr     r2, [r7, #28]
+ 80043f6:      611a            str     r2, [r3, #16]
+      for( uint32_t i = 0; i < floats_length; i++){
+ 80043f8:      2300            movs    r3, #0
+ 80043fa:      62fb            str     r3, [r7, #44]   ; 0x2c
+ 80043fc:      687b            ldr     r3, [r7, #4]
+ 80043fe:      691b            ldr     r3, [r3, #16]
+ 8004400:      6afa            ldr     r2, [r7, #44]   ; 0x2c
+ 8004402:      429a            cmp     r2, r3
+ 8004404:      d236            bcs.n   8004474 <_ZN14rosserial_msgs20RequestParamResponse11deserializeEPh+0x1de>
+      union {
+        float real;
+        uint32_t base;
+      } u_st_floats;
+      u_st_floats.base = 0;
+ 8004406:      2300            movs    r3, #0
+ 8004408:      613b            str     r3, [r7, #16]
+      u_st_floats.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0);
+ 800440a:      693b            ldr     r3, [r7, #16]
+ 800440c:      6b7a            ldr     r2, [r7, #52]   ; 0x34
+ 800440e:      6839            ldr     r1, [r7, #0]
+ 8004410:      440a            add     r2, r1
+ 8004412:      7812            ldrb    r2, [r2, #0]
+ 8004414:      4313            orrs    r3, r2
+ 8004416:      613b            str     r3, [r7, #16]
+      u_st_floats.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1);
+ 8004418:      693a            ldr     r2, [r7, #16]
+ 800441a:      6b7b            ldr     r3, [r7, #52]   ; 0x34
+ 800441c:      3301            adds    r3, #1
+ 800441e:      6839            ldr     r1, [r7, #0]
+ 8004420:      440b            add     r3, r1
+ 8004422:      781b            ldrb    r3, [r3, #0]
+ 8004424:      021b            lsls    r3, r3, #8
+ 8004426:      4313            orrs    r3, r2
+ 8004428:      613b            str     r3, [r7, #16]
+      u_st_floats.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2);
+ 800442a:      693a            ldr     r2, [r7, #16]
+ 800442c:      6b7b            ldr     r3, [r7, #52]   ; 0x34
+ 800442e:      3302            adds    r3, #2
+ 8004430:      6839            ldr     r1, [r7, #0]
+ 8004432:      440b            add     r3, r1
+ 8004434:      781b            ldrb    r3, [r3, #0]
+ 8004436:      041b            lsls    r3, r3, #16
+ 8004438:      4313            orrs    r3, r2
+ 800443a:      613b            str     r3, [r7, #16]
+      u_st_floats.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3);
+ 800443c:      693a            ldr     r2, [r7, #16]
+ 800443e:      6b7b            ldr     r3, [r7, #52]   ; 0x34
+ 8004440:      3303            adds    r3, #3
+ 8004442:      6839            ldr     r1, [r7, #0]
+ 8004444:      440b            add     r3, r1
+ 8004446:      781b            ldrb    r3, [r3, #0]
+ 8004448:      061b            lsls    r3, r3, #24
+ 800444a:      4313            orrs    r3, r2
+ 800444c:      613b            str     r3, [r7, #16]
+      this->st_floats = u_st_floats.real;
+ 800444e:      693a            ldr     r2, [r7, #16]
+ 8004450:      687b            ldr     r3, [r7, #4]
+ 8004452:      615a            str     r2, [r3, #20]
+      offset += sizeof(this->st_floats);
+ 8004454:      6b7b            ldr     r3, [r7, #52]   ; 0x34
+ 8004456:      3304            adds    r3, #4
+ 8004458:      637b            str     r3, [r7, #52]   ; 0x34
+        memcpy( &(this->floats[i]), &(this->st_floats), sizeof(float));
+ 800445a:      687b            ldr     r3, [r7, #4]
+ 800445c:      699a            ldr     r2, [r3, #24]
+ 800445e:      6afb            ldr     r3, [r7, #44]   ; 0x2c
+ 8004460:      009b            lsls    r3, r3, #2
+ 8004462:      4413            add     r3, r2
+ 8004464:      687a            ldr     r2, [r7, #4]
+ 8004466:      3214            adds    r2, #20
+ 8004468:      6812            ldr     r2, [r2, #0]
+ 800446a:      601a            str     r2, [r3, #0]
+      for( uint32_t i = 0; i < floats_length; i++){
+ 800446c:      6afb            ldr     r3, [r7, #44]   ; 0x2c
+ 800446e:      3301            adds    r3, #1
+ 8004470:      62fb            str     r3, [r7, #44]   ; 0x2c
+ 8004472:      e7c3            b.n     80043fc <_ZN14rosserial_msgs20RequestParamResponse11deserializeEPh+0x166>
+      }
+      uint32_t strings_lengthT = ((uint32_t) (*(inbuffer + offset))); 
+ 8004474:      6b7b            ldr     r3, [r7, #52]   ; 0x34
+ 8004476:      683a            ldr     r2, [r7, #0]
+ 8004478:      4413            add     r3, r2
+ 800447a:      781b            ldrb    r3, [r3, #0]
+ 800447c:      61bb            str     r3, [r7, #24]
+      strings_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); 
+ 800447e:      6b7b            ldr     r3, [r7, #52]   ; 0x34
+ 8004480:      3301            adds    r3, #1
+ 8004482:      683a            ldr     r2, [r7, #0]
+ 8004484:      4413            add     r3, r2
+ 8004486:      781b            ldrb    r3, [r3, #0]
+ 8004488:      021b            lsls    r3, r3, #8
+ 800448a:      69ba            ldr     r2, [r7, #24]
+ 800448c:      4313            orrs    r3, r2
+ 800448e:      61bb            str     r3, [r7, #24]
+      strings_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); 
+ 8004490:      6b7b            ldr     r3, [r7, #52]   ; 0x34
+ 8004492:      3302            adds    r3, #2
+ 8004494:      683a            ldr     r2, [r7, #0]
+ 8004496:      4413            add     r3, r2
+ 8004498:      781b            ldrb    r3, [r3, #0]
+ 800449a:      041b            lsls    r3, r3, #16
+ 800449c:      69ba            ldr     r2, [r7, #24]
+ 800449e:      4313            orrs    r3, r2
+ 80044a0:      61bb            str     r3, [r7, #24]
+      strings_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); 
+ 80044a2:      6b7b            ldr     r3, [r7, #52]   ; 0x34
+ 80044a4:      3303            adds    r3, #3
+ 80044a6:      683a            ldr     r2, [r7, #0]
+ 80044a8:      4413            add     r3, r2
+ 80044aa:      781b            ldrb    r3, [r3, #0]
+ 80044ac:      061b            lsls    r3, r3, #24
+ 80044ae:      69ba            ldr     r2, [r7, #24]
+ 80044b0:      4313            orrs    r3, r2
+ 80044b2:      61bb            str     r3, [r7, #24]
+      offset += sizeof(this->strings_length);
+ 80044b4:      6b7b            ldr     r3, [r7, #52]   ; 0x34
+ 80044b6:      3304            adds    r3, #4
+ 80044b8:      637b            str     r3, [r7, #52]   ; 0x34
+      if(strings_lengthT > strings_length)
+ 80044ba:      687b            ldr     r3, [r7, #4]
+ 80044bc:      69db            ldr     r3, [r3, #28]
+ 80044be:      69ba            ldr     r2, [r7, #24]
+ 80044c0:      429a            cmp     r2, r3
+ 80044c2:      d90a            bls.n   80044da <_ZN14rosserial_msgs20RequestParamResponse11deserializeEPh+0x244>
+        this->strings = (char**)realloc(this->strings, strings_lengthT * sizeof(char*));
+ 80044c4:      687b            ldr     r3, [r7, #4]
+ 80044c6:      6a5a            ldr     r2, [r3, #36]   ; 0x24
+ 80044c8:      69bb            ldr     r3, [r7, #24]
+ 80044ca:      009b            lsls    r3, r3, #2
+ 80044cc:      4619            mov     r1, r3
+ 80044ce:      4610            mov     r0, r2
+ 80044d0:      f001 fb42       bl      8005b58 <realloc>
+ 80044d4:      4602            mov     r2, r0
+ 80044d6:      687b            ldr     r3, [r7, #4]
+ 80044d8:      625a            str     r2, [r3, #36]   ; 0x24
+      strings_length = strings_lengthT;
+ 80044da:      687b            ldr     r3, [r7, #4]
+ 80044dc:      69ba            ldr     r2, [r7, #24]
+ 80044de:      61da            str     r2, [r3, #28]
+      for( uint32_t i = 0; i < strings_length; i++){
+ 80044e0:      2300            movs    r3, #0
+ 80044e2:      62bb            str     r3, [r7, #40]   ; 0x28
+ 80044e4:      687b            ldr     r3, [r7, #4]
+ 80044e6:      69db            ldr     r3, [r3, #28]
+ 80044e8:      6aba            ldr     r2, [r7, #40]   ; 0x28
+ 80044ea:      429a            cmp     r2, r3
+ 80044ec:      d23f            bcs.n   800456e <_ZN14rosserial_msgs20RequestParamResponse11deserializeEPh+0x2d8>
+      uint32_t length_st_strings;
+      arrToVar(length_st_strings, (inbuffer + offset));
+ 80044ee:      6b7b            ldr     r3, [r7, #52]   ; 0x34
+ 80044f0:      683a            ldr     r2, [r7, #0]
+ 80044f2:      441a            add     r2, r3
+ 80044f4:      f107 030c       add.w   r3, r7, #12
+ 80044f8:      4611            mov     r1, r2
+ 80044fa:      4618            mov     r0, r3
+ 80044fc:      f000 fb89       bl      8004c12 <_ZN3ros3Msg8arrToVarImPhEEvRT_T0_>
+      offset += 4;
+ 8004500:      6b7b            ldr     r3, [r7, #52]   ; 0x34
+ 8004502:      3304            adds    r3, #4
+ 8004504:      637b            str     r3, [r7, #52]   ; 0x34
+      for(unsigned int k= offset; k< offset+length_st_strings; ++k){
+ 8004506:      6b7b            ldr     r3, [r7, #52]   ; 0x34
+ 8004508:      627b            str     r3, [r7, #36]   ; 0x24
+ 800450a:      6b7a            ldr     r2, [r7, #52]   ; 0x34
+ 800450c:      68fb            ldr     r3, [r7, #12]
+ 800450e:      4413            add     r3, r2
+ 8004510:      6a7a            ldr     r2, [r7, #36]   ; 0x24
+ 8004512:      429a            cmp     r2, r3
+ 8004514:      d20c            bcs.n   8004530 <_ZN14rosserial_msgs20RequestParamResponse11deserializeEPh+0x29a>
+          inbuffer[k-1]=inbuffer[k];
+ 8004516:      683a            ldr     r2, [r7, #0]
+ 8004518:      6a7b            ldr     r3, [r7, #36]   ; 0x24
+ 800451a:      441a            add     r2, r3
+ 800451c:      6a7b            ldr     r3, [r7, #36]   ; 0x24
+ 800451e:      3b01            subs    r3, #1
+ 8004520:      6839            ldr     r1, [r7, #0]
+ 8004522:      440b            add     r3, r1
+ 8004524:      7812            ldrb    r2, [r2, #0]
+ 8004526:      701a            strb    r2, [r3, #0]
+      for(unsigned int k= offset; k< offset+length_st_strings; ++k){
+ 8004528:      6a7b            ldr     r3, [r7, #36]   ; 0x24
+ 800452a:      3301            adds    r3, #1
+ 800452c:      627b            str     r3, [r7, #36]   ; 0x24
+ 800452e:      e7ec            b.n     800450a <_ZN14rosserial_msgs20RequestParamResponse11deserializeEPh+0x274>
+      }
+      inbuffer[offset+length_st_strings-1]=0;
+ 8004530:      6b7a            ldr     r2, [r7, #52]   ; 0x34
+ 8004532:      68fb            ldr     r3, [r7, #12]
+ 8004534:      4413            add     r3, r2
+ 8004536:      3b01            subs    r3, #1
+ 8004538:      683a            ldr     r2, [r7, #0]
+ 800453a:      4413            add     r3, r2
+ 800453c:      2200            movs    r2, #0
+ 800453e:      701a            strb    r2, [r3, #0]
+      this->st_strings = (char *)(inbuffer + offset-1);
+ 8004540:      6b7b            ldr     r3, [r7, #52]   ; 0x34
+ 8004542:      3b01            subs    r3, #1
+ 8004544:      683a            ldr     r2, [r7, #0]
+ 8004546:      441a            add     r2, r3
+ 8004548:      687b            ldr     r3, [r7, #4]
+ 800454a:      621a            str     r2, [r3, #32]
+      offset += length_st_strings;
+ 800454c:      6b7a            ldr     r2, [r7, #52]   ; 0x34
+ 800454e:      68fb            ldr     r3, [r7, #12]
+ 8004550:      4413            add     r3, r2
+ 8004552:      637b            str     r3, [r7, #52]   ; 0x34
+        memcpy( &(this->strings[i]), &(this->st_strings), sizeof(char*));
+ 8004554:      687b            ldr     r3, [r7, #4]
+ 8004556:      6a5a            ldr     r2, [r3, #36]   ; 0x24
+ 8004558:      6abb            ldr     r3, [r7, #40]   ; 0x28
+ 800455a:      009b            lsls    r3, r3, #2
+ 800455c:      4413            add     r3, r2
+ 800455e:      687a            ldr     r2, [r7, #4]
+ 8004560:      3220            adds    r2, #32
+ 8004562:      6812            ldr     r2, [r2, #0]
+ 8004564:      601a            str     r2, [r3, #0]
+      for( uint32_t i = 0; i < strings_length; i++){
+ 8004566:      6abb            ldr     r3, [r7, #40]   ; 0x28
+ 8004568:      3301            adds    r3, #1
+ 800456a:      62bb            str     r3, [r7, #40]   ; 0x28
+ 800456c:      e7ba            b.n     80044e4 <_ZN14rosserial_msgs20RequestParamResponse11deserializeEPh+0x24e>
+      }
+     return offset;
+ 800456e:      6b7b            ldr     r3, [r7, #52]   ; 0x34
+    }
+ 8004570:      4618            mov     r0, r3
+ 8004572:      3738            adds    r7, #56 ; 0x38
+ 8004574:      46bd            mov     sp, r7
+ 8004576:      bd80            pop     {r7, pc}
+
+08004578 <_ZN14rosserial_msgs20RequestParamResponse7getTypeEv>:
+
+    const char * getType(){ return REQUESTPARAM; };
+ 8004578:      b480            push    {r7}
+ 800457a:      b083            sub     sp, #12
+ 800457c:      af00            add     r7, sp, #0
+ 800457e:      6078            str     r0, [r7, #4]
+ 8004580:      4b03            ldr     r3, [pc, #12]   ; (8004590 <_ZN14rosserial_msgs20RequestParamResponse7getTypeEv+0x18>)
+ 8004582:      4618            mov     r0, r3
+ 8004584:      370c            adds    r7, #12
+ 8004586:      46bd            mov     sp, r7
+ 8004588:      f85d 7b04       ldr.w   r7, [sp], #4
+ 800458c:      4770            bx      lr
+ 800458e:      bf00            nop
+ 8004590:      08005f3c        .word   0x08005f3c
+
+08004594 <_ZN14rosserial_msgs20RequestParamResponse6getMD5Ev>:
+    const char * getMD5(){ return "9f0e98bda65981986ddf53afa7a40e49"; };
+ 8004594:      b480            push    {r7}
+ 8004596:      b083            sub     sp, #12
+ 8004598:      af00            add     r7, sp, #0
+ 800459a:      6078            str     r0, [r7, #4]
+ 800459c:      4b03            ldr     r3, [pc, #12]   ; (80045ac <_ZN14rosserial_msgs20RequestParamResponse6getMD5Ev+0x18>)
+ 800459e:      4618            mov     r0, r3
+ 80045a0:      370c            adds    r7, #12
+ 80045a2:      46bd            mov     sp, r7
+ 80045a4:      f85d 7b04       ldr.w   r7, [sp], #4
+ 80045a8:      4770            bx      lr
+ 80045aa:      bf00            nop
+ 80045ac:      08005ebc        .word   0x08005ebc
+
+080045b0 <_ZN3ros9PublisherC1EPKcPNS_3MsgEi>:
+
+/* Generic Publisher */
+class Publisher
+{
+public:
+  Publisher(const char * topic_name, Msg * msg, int endpoint = rosserial_msgs::TopicInfo::ID_PUBLISHER) :
+ 80045b0:      b480            push    {r7}
+ 80045b2:      b085            sub     sp, #20
+ 80045b4:      af00            add     r7, sp, #0
+ 80045b6:      60f8            str     r0, [r7, #12]
+ 80045b8:      60b9            str     r1, [r7, #8]
+ 80045ba:      607a            str     r2, [r7, #4]
+ 80045bc:      603b            str     r3, [r7, #0]
+    topic_(topic_name),
+    msg_(msg),
+    endpoint_(endpoint) {};
+ 80045be:      68fb            ldr     r3, [r7, #12]
+ 80045c0:      68ba            ldr     r2, [r7, #8]
+ 80045c2:      601a            str     r2, [r3, #0]
+ 80045c4:      68fb            ldr     r3, [r7, #12]
+ 80045c6:      687a            ldr     r2, [r7, #4]
+ 80045c8:      605a            str     r2, [r3, #4]
+ 80045ca:      68fb            ldr     r3, [r7, #12]
+ 80045cc:      683a            ldr     r2, [r7, #0]
+ 80045ce:      611a            str     r2, [r3, #16]
+ 80045d0:      68fb            ldr     r3, [r7, #12]
+ 80045d2:      4618            mov     r0, r3
+ 80045d4:      3714            adds    r7, #20
+ 80045d6:      46bd            mov     sp, r7
+ 80045d8:      f85d 7b04       ldr.w   r7, [sp], #4
+ 80045dc:      4770            bx      lr
+
+080045de <_ZN3ros9Publisher7publishEPKNS_3MsgE>:
+
+  int publish(const Msg * msg)
+ 80045de:      b580            push    {r7, lr}
+ 80045e0:      b082            sub     sp, #8
+ 80045e2:      af00            add     r7, sp, #0
+ 80045e4:      6078            str     r0, [r7, #4]
+ 80045e6:      6039            str     r1, [r7, #0]
+  {
+    return nh_->publish(id_, msg);
+ 80045e8:      687b            ldr     r3, [r7, #4]
+ 80045ea:      68d8            ldr     r0, [r3, #12]
+ 80045ec:      687b            ldr     r3, [r7, #4]
+ 80045ee:      68db            ldr     r3, [r3, #12]
+ 80045f0:      681b            ldr     r3, [r3, #0]
+ 80045f2:      681b            ldr     r3, [r3, #0]
+ 80045f4:      687a            ldr     r2, [r7, #4]
+ 80045f6:      6891            ldr     r1, [r2, #8]
+ 80045f8:      683a            ldr     r2, [r7, #0]
+ 80045fa:      4798            blx     r3
+ 80045fc:      4603            mov     r3, r0
+  };
+ 80045fe:      4618            mov     r0, r3
+ 8004600:      3708            adds    r7, #8
+ 8004602:      46bd            mov     sp, r7
+ 8004604:      bd80            pop     {r7, pc}
+
+08004606 <_ZN3ros9Publisher15getEndpointTypeEv>:
+  int getEndpointType()
+ 8004606:      b480            push    {r7}
+ 8004608:      b083            sub     sp, #12
+ 800460a:      af00            add     r7, sp, #0
+ 800460c:      6078            str     r0, [r7, #4]
+  {
+    return endpoint_;
+ 800460e:      687b            ldr     r3, [r7, #4]
+ 8004610:      691b            ldr     r3, [r3, #16]
+  }
+ 8004612:      4618            mov     r0, r3
+ 8004614:      370c            adds    r7, #12
+ 8004616:      46bd            mov     sp, r7
+ 8004618:      f85d 7b04       ldr.w   r7, [sp], #4
+ 800461c:      4770            bx      lr
+
+0800461e <_ZN13STM32Hardware10getRdmaIndEv>:
+    UART_HandleTypeDef *huart;
+
+    const static uint16_t rbuflen = 128;
+    uint8_t rbuf[rbuflen];
+    uint32_t rind;
+    inline uint32_t getRdmaInd(void){ return (rbuflen - huart->hdmarx->Instance->NDTR) & (rbuflen - 1); }
+ 800461e:      b480            push    {r7}
+ 8004620:      b083            sub     sp, #12
+ 8004622:      af00            add     r7, sp, #0
+ 8004624:      6078            str     r0, [r7, #4]
+ 8004626:      687b            ldr     r3, [r7, #4]
+ 8004628:      685b            ldr     r3, [r3, #4]
+ 800462a:      6edb            ldr     r3, [r3, #108]  ; 0x6c
+ 800462c:      681b            ldr     r3, [r3, #0]
+ 800462e:      685b            ldr     r3, [r3, #4]
+ 8004630:      425b            negs    r3, r3
+ 8004632:      f003 037f       and.w   r3, r3, #127    ; 0x7f
+ 8004636:      4618            mov     r0, r3
+ 8004638:      370c            adds    r7, #12
+ 800463a:      46bd            mov     sp, r7
+ 800463c:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8004640:      4770            bx      lr
+       ...
+
+08004644 <_ZN13STM32HardwareC1Ev>:
+    const static uint16_t tbuflen = 256;
+    uint8_t tbuf[tbuflen];
+    uint32_t twind, tfind;
+
+  public:
+    STM32Hardware():
+ 8004644:      b480            push    {r7}
+ 8004646:      b083            sub     sp, #12
+ 8004648:      af00            add     r7, sp, #0
+ 800464a:      6078            str     r0, [r7, #4]
+      htim(&htim2), huart(&huart3), rind(0), twind(0), tfind(0){
+ 800464c:      687b            ldr     r3, [r7, #4]
+ 800464e:      4a0c            ldr     r2, [pc, #48]   ; (8004680 <_ZN13STM32HardwareC1Ev+0x3c>)
+ 8004650:      601a            str     r2, [r3, #0]
+ 8004652:      687b            ldr     r3, [r7, #4]
+ 8004654:      4a0b            ldr     r2, [pc, #44]   ; (8004684 <_ZN13STM32HardwareC1Ev+0x40>)
+ 8004656:      605a            str     r2, [r3, #4]
+ 8004658:      687b            ldr     r3, [r7, #4]
+ 800465a:      2200            movs    r2, #0
+ 800465c:      f8c3 2088       str.w   r2, [r3, #136]  ; 0x88
+ 8004660:      687b            ldr     r3, [r7, #4]
+ 8004662:      2200            movs    r2, #0
+ 8004664:      f8c3 218c       str.w   r2, [r3, #396]  ; 0x18c
+ 8004668:      687b            ldr     r3, [r7, #4]
+ 800466a:      2200            movs    r2, #0
+ 800466c:      f8c3 2190       str.w   r2, [r3, #400]  ; 0x190
+    }
+ 8004670:      687b            ldr     r3, [r7, #4]
+ 8004672:      4618            mov     r0, r3
+ 8004674:      370c            adds    r7, #12
+ 8004676:      46bd            mov     sp, r7
+ 8004678:      f85d 7b04       ldr.w   r7, [sp], #4
+ 800467c:      4770            bx      lr
+ 800467e:      bf00            nop
+ 8004680:      20000094        .word   0x20000094
+ 8004684:      200000d4        .word   0x200000d4
+
+08004688 <_ZN13STM32Hardware4initEv>:
+
+    STM32Hardware(TIM_HandleTypeDef *htim_, UART_HandleTypeDef *huart_):
+      htim(htim_), huart(huart_), rind(0), twind(0), tfind(0){
+    }
+  
+    void init(){
+ 8004688:      b580            push    {r7, lr}
+ 800468a:      b082            sub     sp, #8
+ 800468c:      af00            add     r7, sp, #0
+ 800468e:      6078            str     r0, [r7, #4]
+      reset_rbuf();
+ 8004690:      6878            ldr     r0, [r7, #4]
+ 8004692:      f000 f809       bl      80046a8 <_ZN13STM32Hardware10reset_rbufEv>
+
+      HAL_TIM_Base_Start(htim);
+ 8004696:      687b            ldr     r3, [r7, #4]
+ 8004698:      681b            ldr     r3, [r3, #0]
+ 800469a:      4618            mov     r0, r3
+ 800469c:      f7fd feba       bl      8002414 <HAL_TIM_Base_Start>
+    }
+ 80046a0:      bf00            nop
+ 80046a2:      3708            adds    r7, #8
+ 80046a4:      46bd            mov     sp, r7
+ 80046a6:      bd80            pop     {r7, pc}
+
+080046a8 <_ZN13STM32Hardware10reset_rbufEv>:
+
+    void reset_rbuf(void){
+ 80046a8:      b580            push    {r7, lr}
+ 80046aa:      b082            sub     sp, #8
+ 80046ac:      af00            add     r7, sp, #0
+ 80046ae:      6078            str     r0, [r7, #4]
+      HAL_UART_Receive_DMA(huart, rbuf, rbuflen);
+ 80046b0:      687b            ldr     r3, [r7, #4]
+ 80046b2:      6858            ldr     r0, [r3, #4]
+ 80046b4:      687b            ldr     r3, [r7, #4]
+ 80046b6:      3308            adds    r3, #8
+ 80046b8:      2280            movs    r2, #128        ; 0x80
+ 80046ba:      4619            mov     r1, r3
+ 80046bc:      f7fe f9ee       bl      8002a9c <HAL_UART_Receive_DMA>
+    }
+ 80046c0:      bf00            nop
+ 80046c2:      3708            adds    r7, #8
+ 80046c4:      46bd            mov     sp, r7
+ 80046c6:      bd80            pop     {r7, pc}
+
+080046c8 <_ZN13STM32Hardware4readEv>:
+
+    int read(){
+ 80046c8:      b590            push    {r4, r7, lr}
+ 80046ca:      b085            sub     sp, #20
+ 80046cc:      af00            add     r7, sp, #0
+ 80046ce:      6078            str     r0, [r7, #4]
+      int c = -1;
+ 80046d0:      f04f 33ff       mov.w   r3, #4294967295 ; 0xffffffff
+ 80046d4:      60fb            str     r3, [r7, #12]
+      if(rind != getRdmaInd()){
+ 80046d6:      687b            ldr     r3, [r7, #4]
+ 80046d8:      f8d3 4088       ldr.w   r4, [r3, #136]  ; 0x88
+ 80046dc:      6878            ldr     r0, [r7, #4]
+ 80046de:      f7ff ff9e       bl      800461e <_ZN13STM32Hardware10getRdmaIndEv>
+ 80046e2:      4603            mov     r3, r0
+ 80046e4:      429c            cmp     r4, r3
+ 80046e6:      bf14            ite     ne
+ 80046e8:      2301            movne   r3, #1
+ 80046ea:      2300            moveq   r3, #0
+ 80046ec:      b2db            uxtb    r3, r3
+ 80046ee:      2b00            cmp     r3, #0
+ 80046f0:      d012            beq.n   8004718 <_ZN13STM32Hardware4readEv+0x50>
+        c = rbuf[rind++];
+ 80046f2:      687b            ldr     r3, [r7, #4]
+ 80046f4:      f8d3 3088       ldr.w   r3, [r3, #136]  ; 0x88
+ 80046f8:      1c59            adds    r1, r3, #1
+ 80046fa:      687a            ldr     r2, [r7, #4]
+ 80046fc:      f8c2 1088       str.w   r1, [r2, #136]  ; 0x88
+ 8004700:      687a            ldr     r2, [r7, #4]
+ 8004702:      4413            add     r3, r2
+ 8004704:      7a1b            ldrb    r3, [r3, #8]
+ 8004706:      60fb            str     r3, [r7, #12]
+        rind &= rbuflen - 1;
+ 8004708:      687b            ldr     r3, [r7, #4]
+ 800470a:      f8d3 3088       ldr.w   r3, [r3, #136]  ; 0x88
+ 800470e:      f003 027f       and.w   r2, r3, #127    ; 0x7f
+ 8004712:      687b            ldr     r3, [r7, #4]
+ 8004714:      f8c3 2088       str.w   r2, [r3, #136]  ; 0x88
+      }
+      return c;
+ 8004718:      68fb            ldr     r3, [r7, #12]
+    }
+ 800471a:      4618            mov     r0, r3
+ 800471c:      3714            adds    r7, #20
+ 800471e:      46bd            mov     sp, r7
+ 8004720:      bd90            pop     {r4, r7, pc}
+       ...
+
+08004724 <_ZN13STM32Hardware5flushEv>:
+
+    void flush(void){
+ 8004724:      b580            push    {r7, lr}
+ 8004726:      b084            sub     sp, #16
+ 8004728:      af00            add     r7, sp, #0
+ 800472a:      6078            str     r0, [r7, #4]
+      static bool mutex = false;
+
+      if((huart->gState == HAL_UART_STATE_READY) && !mutex){
+ 800472c:      687b            ldr     r3, [r7, #4]
+ 800472e:      685b            ldr     r3, [r3, #4]
+ 8004730:      6f5b            ldr     r3, [r3, #116]  ; 0x74
+ 8004732:      2b20            cmp     r3, #32
+ 8004734:      d108            bne.n   8004748 <_ZN13STM32Hardware5flushEv+0x24>
+ 8004736:      4b27            ldr     r3, [pc, #156]  ; (80047d4 <_ZN13STM32Hardware5flushEv+0xb0>)
+ 8004738:      781b            ldrb    r3, [r3, #0]
+ 800473a:      f083 0301       eor.w   r3, r3, #1
+ 800473e:      b2db            uxtb    r3, r3
+ 8004740:      2b00            cmp     r3, #0
+ 8004742:      d001            beq.n   8004748 <_ZN13STM32Hardware5flushEv+0x24>
+ 8004744:      2301            movs    r3, #1
+ 8004746:      e000            b.n     800474a <_ZN13STM32Hardware5flushEv+0x26>
+ 8004748:      2300            movs    r3, #0
+ 800474a:      2b00            cmp     r3, #0
+ 800474c:      d03e            beq.n   80047cc <_ZN13STM32Hardware5flushEv+0xa8>
+        mutex = true;
+ 800474e:      4b21            ldr     r3, [pc, #132]  ; (80047d4 <_ZN13STM32Hardware5flushEv+0xb0>)
+ 8004750:      2201            movs    r2, #1
+ 8004752:      701a            strb    r2, [r3, #0]
+
+        if(twind != tfind){
+ 8004754:      687b            ldr     r3, [r7, #4]
+ 8004756:      f8d3 218c       ldr.w   r2, [r3, #396]  ; 0x18c
+ 800475a:      687b            ldr     r3, [r7, #4]
+ 800475c:      f8d3 3190       ldr.w   r3, [r3, #400]  ; 0x190
+ 8004760:      429a            cmp     r2, r3
+ 8004762:      d030            beq.n   80047c6 <_ZN13STM32Hardware5flushEv+0xa2>
+          uint16_t len = tfind < twind ? twind - tfind : tbuflen - tfind;
+ 8004764:      687b            ldr     r3, [r7, #4]
+ 8004766:      f8d3 2190       ldr.w   r2, [r3, #400]  ; 0x190
+ 800476a:      687b            ldr     r3, [r7, #4]
+ 800476c:      f8d3 318c       ldr.w   r3, [r3, #396]  ; 0x18c
+ 8004770:      429a            cmp     r2, r3
+ 8004772:      d20a            bcs.n   800478a <_ZN13STM32Hardware5flushEv+0x66>
+ 8004774:      687b            ldr     r3, [r7, #4]
+ 8004776:      f8d3 318c       ldr.w   r3, [r3, #396]  ; 0x18c
+ 800477a:      b29a            uxth    r2, r3
+ 800477c:      687b            ldr     r3, [r7, #4]
+ 800477e:      f8d3 3190       ldr.w   r3, [r3, #400]  ; 0x190
+ 8004782:      b29b            uxth    r3, r3
+ 8004784:      1ad3            subs    r3, r2, r3
+ 8004786:      b29b            uxth    r3, r3
+ 8004788:      e006            b.n     8004798 <_ZN13STM32Hardware5flushEv+0x74>
+ 800478a:      687b            ldr     r3, [r7, #4]
+ 800478c:      f8d3 3190       ldr.w   r3, [r3, #400]  ; 0x190
+ 8004790:      b29b            uxth    r3, r3
+ 8004792:      f5c3 7380       rsb     r3, r3, #256    ; 0x100
+ 8004796:      b29b            uxth    r3, r3
+ 8004798:      81fb            strh    r3, [r7, #14]
+          HAL_UART_Transmit_DMA(huart, &(tbuf[tfind]), len);
+ 800479a:      687b            ldr     r3, [r7, #4]
+ 800479c:      6858            ldr     r0, [r3, #4]
+ 800479e:      687b            ldr     r3, [r7, #4]
+ 80047a0:      f8d3 3190       ldr.w   r3, [r3, #400]  ; 0x190
+ 80047a4:      3388            adds    r3, #136        ; 0x88
+ 80047a6:      687a            ldr     r2, [r7, #4]
+ 80047a8:      4413            add     r3, r2
+ 80047aa:      3304            adds    r3, #4
+ 80047ac:      89fa            ldrh    r2, [r7, #14]
+ 80047ae:      4619            mov     r1, r3
+ 80047b0:      f7fe f8f8       bl      80029a4 <HAL_UART_Transmit_DMA>
+          tfind = (tfind + len) & (tbuflen - 1);
+ 80047b4:      687b            ldr     r3, [r7, #4]
+ 80047b6:      f8d3 2190       ldr.w   r2, [r3, #400]  ; 0x190
+ 80047ba:      89fb            ldrh    r3, [r7, #14]
+ 80047bc:      4413            add     r3, r2
+ 80047be:      b2da            uxtb    r2, r3
+ 80047c0:      687b            ldr     r3, [r7, #4]
+ 80047c2:      f8c3 2190       str.w   r2, [r3, #400]  ; 0x190
+        }
+        mutex = false;
+ 80047c6:      4b03            ldr     r3, [pc, #12]   ; (80047d4 <_ZN13STM32Hardware5flushEv+0xb0>)
+ 80047c8:      2200            movs    r2, #0
+ 80047ca:      701a            strb    r2, [r3, #0]
+      }
+    }
+ 80047cc:      bf00            nop
+ 80047ce:      3710            adds    r7, #16
+ 80047d0:      46bd            mov     sp, r7
+ 80047d2:      bd80            pop     {r7, pc}
+ 80047d4:      20000090        .word   0x20000090
+
+080047d8 <_ZN13STM32Hardware5writeEPhi>:
+
+    void write(uint8_t* data, int length){
+ 80047d8:      b580            push    {r7, lr}
+ 80047da:      b086            sub     sp, #24
+ 80047dc:      af00            add     r7, sp, #0
+ 80047de:      60f8            str     r0, [r7, #12]
+ 80047e0:      60b9            str     r1, [r7, #8]
+ 80047e2:      607a            str     r2, [r7, #4]
+
+
+      int n = length;
+ 80047e4:      687b            ldr     r3, [r7, #4]
+ 80047e6:      617b            str     r3, [r7, #20]
+      n = n <= tbuflen ? n : tbuflen;
+ 80047e8:      697b            ldr     r3, [r7, #20]
+ 80047ea:      f5b3 7f80       cmp.w   r3, #256        ; 0x100
+ 80047ee:      bfa8            it      ge
+ 80047f0:      f44f 7380       movge.w r3, #256        ; 0x100
+ 80047f4:      617b            str     r3, [r7, #20]
+
+      int n_tail = n <= tbuflen - twind ? n : tbuflen - twind;
+ 80047f6:      68fb            ldr     r3, [r7, #12]
+ 80047f8:      f8d3 318c       ldr.w   r3, [r3, #396]  ; 0x18c
+ 80047fc:      f5c3 7280       rsb     r2, r3, #256    ; 0x100
+ 8004800:      697b            ldr     r3, [r7, #20]
+ 8004802:      4293            cmp     r3, r2
+ 8004804:      bf28            it      cs
+ 8004806:      4613            movcs   r3, r2
+ 8004808:      613b            str     r3, [r7, #16]
+      memcpy(&(tbuf[twind]), data, n_tail);
+ 800480a:      68fb            ldr     r3, [r7, #12]
+ 800480c:      f8d3 318c       ldr.w   r3, [r3, #396]  ; 0x18c
+ 8004810:      3388            adds    r3, #136        ; 0x88
+ 8004812:      68fa            ldr     r2, [r7, #12]
+ 8004814:      4413            add     r3, r2
+ 8004816:      3304            adds    r3, #4
+ 8004818:      693a            ldr     r2, [r7, #16]
+ 800481a:      68b9            ldr     r1, [r7, #8]
+ 800481c:      4618            mov     r0, r3
+ 800481e:      f001 f987       bl      8005b30 <memcpy>
+      twind = (twind + n) & (tbuflen - 1);
+ 8004822:      68fb            ldr     r3, [r7, #12]
+ 8004824:      f8d3 218c       ldr.w   r2, [r3, #396]  ; 0x18c
+ 8004828:      697b            ldr     r3, [r7, #20]
+ 800482a:      4413            add     r3, r2
+ 800482c:      b2da            uxtb    r2, r3
+ 800482e:      68fb            ldr     r3, [r7, #12]
+ 8004830:      f8c3 218c       str.w   r2, [r3, #396]  ; 0x18c
+
+      if(n != n_tail){
+ 8004834:      697a            ldr     r2, [r7, #20]
+ 8004836:      693b            ldr     r3, [r7, #16]
+ 8004838:      429a            cmp     r2, r3
+ 800483a:      d00b            beq.n   8004854 <_ZN13STM32Hardware5writeEPhi+0x7c>
+        memcpy(tbuf, &(data[n_tail]), n - n_tail);
+ 800483c:      68fb            ldr     r3, [r7, #12]
+ 800483e:      f103 008c       add.w   r0, r3, #140    ; 0x8c
+ 8004842:      693b            ldr     r3, [r7, #16]
+ 8004844:      68ba            ldr     r2, [r7, #8]
+ 8004846:      18d1            adds    r1, r2, r3
+ 8004848:      697a            ldr     r2, [r7, #20]
+ 800484a:      693b            ldr     r3, [r7, #16]
+ 800484c:      1ad3            subs    r3, r2, r3
+ 800484e:      461a            mov     r2, r3
+ 8004850:      f001 f96e       bl      8005b30 <memcpy>
+      }
+
+      flush();
+ 8004854:      68f8            ldr     r0, [r7, #12]
+ 8004856:      f7ff ff65       bl      8004724 <_ZN13STM32Hardware5flushEv>
+    }
+ 800485a:      bf00            nop
+ 800485c:      3718            adds    r7, #24
+ 800485e:      46bd            mov     sp, r7
+ 8004860:      bd80            pop     {r7, pc}
+
+08004862 <_ZN13STM32Hardware4timeEv>:
+
+    unsigned long time(){ return HAL_GetTick(); }
+ 8004862:      b580            push    {r7, lr}
+ 8004864:      b082            sub     sp, #8
+ 8004866:      af00            add     r7, sp, #0
+ 8004868:      6078            str     r0, [r7, #4]
+ 800486a:      f7fb febf       bl      80005ec <HAL_GetTick>
+ 800486e:      4603            mov     r3, r0
+ 8004870:      4618            mov     r0, r3
+ 8004872:      3708            adds    r7, #8
+ 8004874:      46bd            mov     sp, r7
+ 8004876:      bd80            pop     {r7, pc}
+
+08004878 <main>:
+/**
+  * @brief  The application entry point.
+  * @retval int
+  */
+int main(void)
+{
+ 8004878:      b590            push    {r4, r7, lr}
+ 800487a:      f2ad 6df4       subw    sp, sp, #1780   ; 0x6f4
+ 800487e:      af00            add     r7, sp, #0
+  
+
+  /* MCU Configuration--------------------------------------------------------*/
+
+  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
+  HAL_Init();
+ 8004880:      f7fb fe62       bl      8000548 <HAL_Init>
+  /* USER CODE BEGIN Init */
+
+  /* USER CODE END Init */
+
+  /* Configure the system clock */
+  SystemClock_Config();
+ 8004884:      f000 f848       bl      8004918 <_Z18SystemClock_Configv>
+  /* USER CODE BEGIN SysInit */
+
+  /* USER CODE END SysInit */
+
+  /* Initialize all configured peripherals */
+  MX_GPIO_Init();
+ 8004888:      f000 f986       bl      8004b98 <_ZL12MX_GPIO_Initv>
+  MX_DMA_Init();
+ 800488c:      f000 f95e       bl      8004b4c <_ZL11MX_DMA_Initv>
+  MX_TIM2_Init();
+ 8004890:      f000 f8cc       bl      8004a2c <_ZL12MX_TIM2_Initv>
+  MX_USART3_UART_Init();
+ 8004894:      f000 f926       bl      8004ae4 <_ZL19MX_USART3_UART_Initv>
+  /* USER CODE BEGIN 2 */
+       ros::NodeHandle nh;
+ 8004898:      f107 0330       add.w   r3, r7, #48     ; 0x30
+ 800489c:      4618            mov     r0, r3
+ 800489e:      f000 f9ed       bl      8004c7c <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EEC1Ev>
+
+       std_msgs::String str_msg;
+ 80048a2:      f107 0328       add.w   r3, r7, #40     ; 0x28
+ 80048a6:      4618            mov     r0, r3
+ 80048a8:      f7fe ffae       bl      8003808 <_ZN8std_msgs6StringC1Ev>
+       ros::Publisher chatter("chatter", &str_msg);
+ 80048ac:      f107 0228       add.w   r2, r7, #40     ; 0x28
+ 80048b0:      f107 0014       add.w   r0, r7, #20
+ 80048b4:      2300            movs    r3, #0
+ 80048b6:      4916            ldr     r1, [pc, #88]   ; (8004910 <main+0x98>)
+ 80048b8:      f7ff fe7a       bl      80045b0 <_ZN3ros9PublisherC1EPKcPNS_3MsgEi>
+       char hello[] = "Hello world!";
+ 80048bc:      1d3b            adds    r3, r7, #4
+ 80048be:      4a15            ldr     r2, [pc, #84]   ; (8004914 <main+0x9c>)
+ 80048c0:      461c            mov     r4, r3
+ 80048c2:      4613            mov     r3, r2
+ 80048c4:      cb0f            ldmia   r3, {r0, r1, r2, r3}
+ 80048c6:      c407            stmia   r4!, {r0, r1, r2}
+ 80048c8:      7023            strb    r3, [r4, #0]
+
+       nh.initNode();
+ 80048ca:      f107 0330       add.w   r3, r7, #48     ; 0x30
+ 80048ce:      4618            mov     r0, r3
+ 80048d0:      f000 fa54       bl      8004d7c <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8initNodeEv>
+       nh.advertise(chatter);
+ 80048d4:      f107 0214       add.w   r2, r7, #20
+ 80048d8:      f107 0330       add.w   r3, r7, #48     ; 0x30
+ 80048dc:      4611            mov     r1, r2
+ 80048de:      4618            mov     r0, r3
+ 80048e0:      f000 fa69       bl      8004db6 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE9advertiseERNS_9PublisherE>
+  /* Infinite loop */
+  /* USER CODE BEGIN WHILE */
+       while (1) {
+
+
+               str_msg.data = hello;
+ 80048e4:      f107 0328       add.w   r3, r7, #40     ; 0x28
+ 80048e8:      1d3a            adds    r2, r7, #4
+ 80048ea:      605a            str     r2, [r3, #4]
+               chatter.publish(&str_msg);
+ 80048ec:      f107 0228       add.w   r2, r7, #40     ; 0x28
+ 80048f0:      f107 0314       add.w   r3, r7, #20
+ 80048f4:      4611            mov     r1, r2
+ 80048f6:      4618            mov     r0, r3
+ 80048f8:      f7ff fe71       bl      80045de <_ZN3ros9Publisher7publishEPKNS_3MsgE>
+               nh.spinOnce();
+ 80048fc:      f107 0330       add.w   r3, r7, #48     ; 0x30
+ 8004900:      4618            mov     r0, r3
+ 8004902:      f000 fa86       bl      8004e12 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv>
+
+               //HAL_UART_Transmit(&huart3, (uint8_t*)hello, strlen(hello), 100);
+
+
+               HAL_Delay(1000);
+ 8004906:      f44f 707a       mov.w   r0, #1000       ; 0x3e8
+ 800490a:      f7fb fe7b       bl      8000604 <HAL_Delay>
+               str_msg.data = hello;
+ 800490e:      e7e9            b.n     80048e4 <main+0x6c>
+ 8004910:      08005ee0        .word   0x08005ee0
+ 8004914:      08005ee8        .word   0x08005ee8
+
+08004918 <_Z18SystemClock_Configv>:
+/**
+  * @brief System Clock Configuration
+  * @retval None
+  */
+void SystemClock_Config(void)
+{
+ 8004918:      b580            push    {r7, lr}
+ 800491a:      b0b8            sub     sp, #224        ; 0xe0
+ 800491c:      af00            add     r7, sp, #0
+  RCC_OscInitTypeDef RCC_OscInitStruct = {0};
+ 800491e:      f107 03ac       add.w   r3, r7, #172    ; 0xac
+ 8004922:      2234            movs    r2, #52 ; 0x34
+ 8004924:      2100            movs    r1, #0
+ 8004926:      4618            mov     r0, r3
+ 8004928:      f001 f90d       bl      8005b46 <memset>
+  RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
+ 800492c:      f107 0398       add.w   r3, r7, #152    ; 0x98
+ 8004930:      2200            movs    r2, #0
+ 8004932:      601a            str     r2, [r3, #0]
+ 8004934:      605a            str     r2, [r3, #4]
+ 8004936:      609a            str     r2, [r3, #8]
+ 8004938:      60da            str     r2, [r3, #12]
+ 800493a:      611a            str     r2, [r3, #16]
+  RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
+ 800493c:      f107 0308       add.w   r3, r7, #8
+ 8004940:      2290            movs    r2, #144        ; 0x90
+ 8004942:      2100            movs    r1, #0
+ 8004944:      4618            mov     r0, r3
+ 8004946:      f001 f8fe       bl      8005b46 <memset>
+
+  /** Configure the main internal regulator output voltage 
+  */
+  __HAL_RCC_PWR_CLK_ENABLE();
+ 800494a:      4b36            ldr     r3, [pc, #216]  ; (8004a24 <_Z18SystemClock_Configv+0x10c>)
+ 800494c:      6c1b            ldr     r3, [r3, #64]   ; 0x40
+ 800494e:      4a35            ldr     r2, [pc, #212]  ; (8004a24 <_Z18SystemClock_Configv+0x10c>)
+ 8004950:      f043 5380       orr.w   r3, r3, #268435456      ; 0x10000000
+ 8004954:      6413            str     r3, [r2, #64]   ; 0x40
+ 8004956:      4b33            ldr     r3, [pc, #204]  ; (8004a24 <_Z18SystemClock_Configv+0x10c>)
+ 8004958:      6c1b            ldr     r3, [r3, #64]   ; 0x40
+ 800495a:      f003 5380       and.w   r3, r3, #268435456      ; 0x10000000
+ 800495e:      607b            str     r3, [r7, #4]
+ 8004960:      687b            ldr     r3, [r7, #4]
+  __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3);
+ 8004962:      4b31            ldr     r3, [pc, #196]  ; (8004a28 <_Z18SystemClock_Configv+0x110>)
+ 8004964:      681b            ldr     r3, [r3, #0]
+ 8004966:      f423 4340       bic.w   r3, r3, #49152  ; 0xc000
+ 800496a:      4a2f            ldr     r2, [pc, #188]  ; (8004a28 <_Z18SystemClock_Configv+0x110>)
+ 800496c:      f443 4380       orr.w   r3, r3, #16384  ; 0x4000
+ 8004970:      6013            str     r3, [r2, #0]
+ 8004972:      4b2d            ldr     r3, [pc, #180]  ; (8004a28 <_Z18SystemClock_Configv+0x110>)
+ 8004974:      681b            ldr     r3, [r3, #0]
+ 8004976:      f403 4340       and.w   r3, r3, #49152  ; 0xc000
+ 800497a:      603b            str     r3, [r7, #0]
+ 800497c:      683b            ldr     r3, [r7, #0]
+  /** Initializes the CPU, AHB and APB busses clocks 
+  */
+  RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
+ 800497e:      2302            movs    r3, #2
+ 8004980:      f8c7 30ac       str.w   r3, [r7, #172]  ; 0xac
+  RCC_OscInitStruct.HSIState = RCC_HSI_ON;
+ 8004984:      2301            movs    r3, #1
+ 8004986:      f8c7 30b8       str.w   r3, [r7, #184]  ; 0xb8
+  RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
+ 800498a:      2310            movs    r3, #16
+ 800498c:      f8c7 30bc       str.w   r3, [r7, #188]  ; 0xbc
+  RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE;
+ 8004990:      2300            movs    r3, #0
+ 8004992:      f8c7 30c4       str.w   r3, [r7, #196]  ; 0xc4
+  if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
+ 8004996:      f107 03ac       add.w   r3, r7, #172    ; 0xac
+ 800499a:      4618            mov     r0, r3
+ 800499c:      f7fc fca8       bl      80012f0 <HAL_RCC_OscConfig>
+ 80049a0:      4603            mov     r3, r0
+ 80049a2:      2b00            cmp     r3, #0
+ 80049a4:      bf14            ite     ne
+ 80049a6:      2301            movne   r3, #1
+ 80049a8:      2300            moveq   r3, #0
+ 80049aa:      b2db            uxtb    r3, r3
+ 80049ac:      2b00            cmp     r3, #0
+ 80049ae:      d001            beq.n   80049b4 <_Z18SystemClock_Configv+0x9c>
+  {
+    Error_Handler();
+ 80049b0:      f000 f90a       bl      8004bc8 <Error_Handler>
+  }
+  /** Initializes the CPU, AHB and APB busses clocks 
+  */
+  RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
+ 80049b4:      230f            movs    r3, #15
+ 80049b6:      f8c7 3098       str.w   r3, [r7, #152]  ; 0x98
+                              |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
+  RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_HSI;
+ 80049ba:      2300            movs    r3, #0
+ 80049bc:      f8c7 309c       str.w   r3, [r7, #156]  ; 0x9c
+  RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
+ 80049c0:      2300            movs    r3, #0
+ 80049c2:      f8c7 30a0       str.w   r3, [r7, #160]  ; 0xa0
+  RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;
+ 80049c6:      2300            movs    r3, #0
+ 80049c8:      f8c7 30a4       str.w   r3, [r7, #164]  ; 0xa4
+  RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;
+ 80049cc:      2300            movs    r3, #0
+ 80049ce:      f8c7 30a8       str.w   r3, [r7, #168]  ; 0xa8
+
+  if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK)
+ 80049d2:      f107 0398       add.w   r3, r7, #152    ; 0x98
+ 80049d6:      2100            movs    r1, #0
+ 80049d8:      4618            mov     r0, r3
+ 80049da:      f7fc fefb       bl      80017d4 <HAL_RCC_ClockConfig>
+ 80049de:      4603            mov     r3, r0
+ 80049e0:      2b00            cmp     r3, #0
+ 80049e2:      bf14            ite     ne
+ 80049e4:      2301            movne   r3, #1
+ 80049e6:      2300            moveq   r3, #0
+ 80049e8:      b2db            uxtb    r3, r3
+ 80049ea:      2b00            cmp     r3, #0
+ 80049ec:      d001            beq.n   80049f2 <_Z18SystemClock_Configv+0xda>
+  {
+    Error_Handler();
+ 80049ee:      f000 f8eb       bl      8004bc8 <Error_Handler>
+  }
+  PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_USART3;
+ 80049f2:      f44f 7380       mov.w   r3, #256        ; 0x100
+ 80049f6:      60bb            str     r3, [r7, #8]
+  PeriphClkInitStruct.Usart3ClockSelection = RCC_USART3CLKSOURCE_PCLK1;
+ 80049f8:      2300            movs    r3, #0
+ 80049fa:      657b            str     r3, [r7, #84]   ; 0x54
+  if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
+ 80049fc:      f107 0308       add.w   r3, r7, #8
+ 8004a00:      4618            mov     r0, r3
+ 8004a02:      f7fd f8b5       bl      8001b70 <HAL_RCCEx_PeriphCLKConfig>
+ 8004a06:      4603            mov     r3, r0
+ 8004a08:      2b00            cmp     r3, #0
+ 8004a0a:      bf14            ite     ne
+ 8004a0c:      2301            movne   r3, #1
+ 8004a0e:      2300            moveq   r3, #0
+ 8004a10:      b2db            uxtb    r3, r3
+ 8004a12:      2b00            cmp     r3, #0
+ 8004a14:      d001            beq.n   8004a1a <_Z18SystemClock_Configv+0x102>
+  {
+    Error_Handler();
+ 8004a16:      f000 f8d7       bl      8004bc8 <Error_Handler>
+  }
+}
+ 8004a1a:      bf00            nop
+ 8004a1c:      37e0            adds    r7, #224        ; 0xe0
+ 8004a1e:      46bd            mov     sp, r7
+ 8004a20:      bd80            pop     {r7, pc}
+ 8004a22:      bf00            nop
+ 8004a24:      40023800        .word   0x40023800
+ 8004a28:      40007000        .word   0x40007000
+
+08004a2c <_ZL12MX_TIM2_Initv>:
+  * @brief TIM2 Initialization Function
+  * @param None
+  * @retval None
+  */
+static void MX_TIM2_Init(void)
+{
+ 8004a2c:      b580            push    {r7, lr}
+ 8004a2e:      b088            sub     sp, #32
+ 8004a30:      af00            add     r7, sp, #0
+
+  /* USER CODE BEGIN TIM2_Init 0 */
+
+  /* USER CODE END TIM2_Init 0 */
+
+  TIM_ClockConfigTypeDef sClockSourceConfig = {0};
+ 8004a32:      f107 0310       add.w   r3, r7, #16
+ 8004a36:      2200            movs    r2, #0
+ 8004a38:      601a            str     r2, [r3, #0]
+ 8004a3a:      605a            str     r2, [r3, #4]
+ 8004a3c:      609a            str     r2, [r3, #8]
+ 8004a3e:      60da            str     r2, [r3, #12]
+  TIM_MasterConfigTypeDef sMasterConfig = {0};
+ 8004a40:      1d3b            adds    r3, r7, #4
+ 8004a42:      2200            movs    r2, #0
+ 8004a44:      601a            str     r2, [r3, #0]
+ 8004a46:      605a            str     r2, [r3, #4]
+ 8004a48:      609a            str     r2, [r3, #8]
+
+  /* USER CODE BEGIN TIM2_Init 1 */
+
+  /* USER CODE END TIM2_Init 1 */
+  htim2.Instance = TIM2;
+ 8004a4a:      4b25            ldr     r3, [pc, #148]  ; (8004ae0 <_ZL12MX_TIM2_Initv+0xb4>)
+ 8004a4c:      f04f 4280       mov.w   r2, #1073741824 ; 0x40000000
+ 8004a50:      601a            str     r2, [r3, #0]
+  htim2.Init.Prescaler = 0;
+ 8004a52:      4b23            ldr     r3, [pc, #140]  ; (8004ae0 <_ZL12MX_TIM2_Initv+0xb4>)
+ 8004a54:      2200            movs    r2, #0
+ 8004a56:      605a            str     r2, [r3, #4]
+  htim2.Init.CounterMode = TIM_COUNTERMODE_UP;
+ 8004a58:      4b21            ldr     r3, [pc, #132]  ; (8004ae0 <_ZL12MX_TIM2_Initv+0xb4>)
+ 8004a5a:      2200            movs    r2, #0
+ 8004a5c:      609a            str     r2, [r3, #8]
+  htim2.Init.Period = 0;
+ 8004a5e:      4b20            ldr     r3, [pc, #128]  ; (8004ae0 <_ZL12MX_TIM2_Initv+0xb4>)
+ 8004a60:      2200            movs    r2, #0
+ 8004a62:      60da            str     r2, [r3, #12]
+  htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
+ 8004a64:      4b1e            ldr     r3, [pc, #120]  ; (8004ae0 <_ZL12MX_TIM2_Initv+0xb4>)
+ 8004a66:      2200            movs    r2, #0
+ 8004a68:      611a            str     r2, [r3, #16]
+  htim2.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
+ 8004a6a:      4b1d            ldr     r3, [pc, #116]  ; (8004ae0 <_ZL12MX_TIM2_Initv+0xb4>)
+ 8004a6c:      2200            movs    r2, #0
+ 8004a6e:      619a            str     r2, [r3, #24]
+  if (HAL_TIM_Base_Init(&htim2) != HAL_OK)
+ 8004a70:      481b            ldr     r0, [pc, #108]  ; (8004ae0 <_ZL12MX_TIM2_Initv+0xb4>)
+ 8004a72:      f7fd fca3       bl      80023bc <HAL_TIM_Base_Init>
+ 8004a76:      4603            mov     r3, r0
+ 8004a78:      2b00            cmp     r3, #0
+ 8004a7a:      bf14            ite     ne
+ 8004a7c:      2301            movne   r3, #1
+ 8004a7e:      2300            moveq   r3, #0
+ 8004a80:      b2db            uxtb    r3, r3
+ 8004a82:      2b00            cmp     r3, #0
+ 8004a84:      d001            beq.n   8004a8a <_ZL12MX_TIM2_Initv+0x5e>
+  {
+    Error_Handler();
+ 8004a86:      f000 f89f       bl      8004bc8 <Error_Handler>
+  }
+  sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL;
+ 8004a8a:      f44f 5380       mov.w   r3, #4096       ; 0x1000
+ 8004a8e:      613b            str     r3, [r7, #16]
+  if (HAL_TIM_ConfigClockSource(&htim2, &sClockSourceConfig) != HAL_OK)
+ 8004a90:      f107 0310       add.w   r3, r7, #16
+ 8004a94:      4619            mov     r1, r3
+ 8004a96:      4812            ldr     r0, [pc, #72]   ; (8004ae0 <_ZL12MX_TIM2_Initv+0xb4>)
+ 8004a98:      f7fd fce6       bl      8002468 <HAL_TIM_ConfigClockSource>
+ 8004a9c:      4603            mov     r3, r0
+ 8004a9e:      2b00            cmp     r3, #0
+ 8004aa0:      bf14            ite     ne
+ 8004aa2:      2301            movne   r3, #1
+ 8004aa4:      2300            moveq   r3, #0
+ 8004aa6:      b2db            uxtb    r3, r3
+ 8004aa8:      2b00            cmp     r3, #0
+ 8004aaa:      d001            beq.n   8004ab0 <_ZL12MX_TIM2_Initv+0x84>
+  {
+    Error_Handler();
+ 8004aac:      f000 f88c       bl      8004bc8 <Error_Handler>
+  }
+  sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
+ 8004ab0:      2300            movs    r3, #0
+ 8004ab2:      607b            str     r3, [r7, #4]
+  sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
+ 8004ab4:      2300            movs    r3, #0
+ 8004ab6:      60fb            str     r3, [r7, #12]
+  if (HAL_TIMEx_MasterConfigSynchronization(&htim2, &sMasterConfig) != HAL_OK)
+ 8004ab8:      1d3b            adds    r3, r7, #4
+ 8004aba:      4619            mov     r1, r3
+ 8004abc:      4808            ldr     r0, [pc, #32]   ; (8004ae0 <_ZL12MX_TIM2_Initv+0xb4>)
+ 8004abe:      f7fd fec7       bl      8002850 <HAL_TIMEx_MasterConfigSynchronization>
+ 8004ac2:      4603            mov     r3, r0
+ 8004ac4:      2b00            cmp     r3, #0
+ 8004ac6:      bf14            ite     ne
+ 8004ac8:      2301            movne   r3, #1
+ 8004aca:      2300            moveq   r3, #0
+ 8004acc:      b2db            uxtb    r3, r3
+ 8004ace:      2b00            cmp     r3, #0
+ 8004ad0:      d001            beq.n   8004ad6 <_ZL12MX_TIM2_Initv+0xaa>
+  {
+    Error_Handler();
+ 8004ad2:      f000 f879       bl      8004bc8 <Error_Handler>
+  }
+  /* USER CODE BEGIN TIM2_Init 2 */
+
+  /* USER CODE END TIM2_Init 2 */
+
+}
+ 8004ad6:      bf00            nop
+ 8004ad8:      3720            adds    r7, #32
+ 8004ada:      46bd            mov     sp, r7
+ 8004adc:      bd80            pop     {r7, pc}
+ 8004ade:      bf00            nop
+ 8004ae0:      20000094        .word   0x20000094
+
+08004ae4 <_ZL19MX_USART3_UART_Initv>:
+  * @brief USART3 Initialization Function
+  * @param None
+  * @retval None
+  */
+static void MX_USART3_UART_Init(void)
+{
+ 8004ae4:      b580            push    {r7, lr}
+ 8004ae6:      af00            add     r7, sp, #0
+  /* USER CODE END USART3_Init 0 */
+
+  /* USER CODE BEGIN USART3_Init 1 */
+
+  /* USER CODE END USART3_Init 1 */
+  huart3.Instance = USART3;
+ 8004ae8:      4b16            ldr     r3, [pc, #88]   ; (8004b44 <_ZL19MX_USART3_UART_Initv+0x60>)
+ 8004aea:      4a17            ldr     r2, [pc, #92]   ; (8004b48 <_ZL19MX_USART3_UART_Initv+0x64>)
+ 8004aec:      601a            str     r2, [r3, #0]
+  huart3.Init.BaudRate = 115200;
+ 8004aee:      4b15            ldr     r3, [pc, #84]   ; (8004b44 <_ZL19MX_USART3_UART_Initv+0x60>)
+ 8004af0:      f44f 32e1       mov.w   r2, #115200     ; 0x1c200
+ 8004af4:      605a            str     r2, [r3, #4]
+  huart3.Init.WordLength = UART_WORDLENGTH_8B;
+ 8004af6:      4b13            ldr     r3, [pc, #76]   ; (8004b44 <_ZL19MX_USART3_UART_Initv+0x60>)
+ 8004af8:      2200            movs    r2, #0
+ 8004afa:      609a            str     r2, [r3, #8]
+  huart3.Init.StopBits = UART_STOPBITS_1;
+ 8004afc:      4b11            ldr     r3, [pc, #68]   ; (8004b44 <_ZL19MX_USART3_UART_Initv+0x60>)
+ 8004afe:      2200            movs    r2, #0
+ 8004b00:      60da            str     r2, [r3, #12]
+  huart3.Init.Parity = UART_PARITY_NONE;
+ 8004b02:      4b10            ldr     r3, [pc, #64]   ; (8004b44 <_ZL19MX_USART3_UART_Initv+0x60>)
+ 8004b04:      2200            movs    r2, #0
+ 8004b06:      611a            str     r2, [r3, #16]
+  huart3.Init.Mode = UART_MODE_TX_RX;
+ 8004b08:      4b0e            ldr     r3, [pc, #56]   ; (8004b44 <_ZL19MX_USART3_UART_Initv+0x60>)
+ 8004b0a:      220c            movs    r2, #12
+ 8004b0c:      615a            str     r2, [r3, #20]
+  huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE;
+ 8004b0e:      4b0d            ldr     r3, [pc, #52]   ; (8004b44 <_ZL19MX_USART3_UART_Initv+0x60>)
+ 8004b10:      2200            movs    r2, #0
+ 8004b12:      619a            str     r2, [r3, #24]
+  huart3.Init.OverSampling = UART_OVERSAMPLING_16;
+ 8004b14:      4b0b            ldr     r3, [pc, #44]   ; (8004b44 <_ZL19MX_USART3_UART_Initv+0x60>)
+ 8004b16:      2200            movs    r2, #0
+ 8004b18:      61da            str     r2, [r3, #28]
+  huart3.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE;
+ 8004b1a:      4b0a            ldr     r3, [pc, #40]   ; (8004b44 <_ZL19MX_USART3_UART_Initv+0x60>)
+ 8004b1c:      2200            movs    r2, #0
+ 8004b1e:      621a            str     r2, [r3, #32]
+  huart3.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT;
+ 8004b20:      4b08            ldr     r3, [pc, #32]   ; (8004b44 <_ZL19MX_USART3_UART_Initv+0x60>)
+ 8004b22:      2200            movs    r2, #0
+ 8004b24:      625a            str     r2, [r3, #36]   ; 0x24
+  if (HAL_UART_Init(&huart3) != HAL_OK)
+ 8004b26:      4807            ldr     r0, [pc, #28]   ; (8004b44 <_ZL19MX_USART3_UART_Initv+0x60>)
+ 8004b28:      f7fd feee       bl      8002908 <HAL_UART_Init>
+ 8004b2c:      4603            mov     r3, r0
+ 8004b2e:      2b00            cmp     r3, #0
+ 8004b30:      bf14            ite     ne
+ 8004b32:      2301            movne   r3, #1
+ 8004b34:      2300            moveq   r3, #0
+ 8004b36:      b2db            uxtb    r3, r3
+ 8004b38:      2b00            cmp     r3, #0
+ 8004b3a:      d001            beq.n   8004b40 <_ZL19MX_USART3_UART_Initv+0x5c>
+  {
+    Error_Handler();
+ 8004b3c:      f000 f844       bl      8004bc8 <Error_Handler>
+  }
+  /* USER CODE BEGIN USART3_Init 2 */
+
+  /* USER CODE END USART3_Init 2 */
+
+}
+ 8004b40:      bf00            nop
+ 8004b42:      bd80            pop     {r7, pc}
+ 8004b44:      200000d4        .word   0x200000d4
+ 8004b48:      40004800        .word   0x40004800
+
+08004b4c <_ZL11MX_DMA_Initv>:
+
+/** 
+  * Enable DMA controller clock
+  */
+static void MX_DMA_Init(void) 
+{
+ 8004b4c:      b580            push    {r7, lr}
+ 8004b4e:      b082            sub     sp, #8
+ 8004b50:      af00            add     r7, sp, #0
+
+  /* DMA controller clock enable */
+  __HAL_RCC_DMA1_CLK_ENABLE();
+ 8004b52:      4b10            ldr     r3, [pc, #64]   ; (8004b94 <_ZL11MX_DMA_Initv+0x48>)
+ 8004b54:      6b1b            ldr     r3, [r3, #48]   ; 0x30
+ 8004b56:      4a0f            ldr     r2, [pc, #60]   ; (8004b94 <_ZL11MX_DMA_Initv+0x48>)
+ 8004b58:      f443 1300       orr.w   r3, r3, #2097152        ; 0x200000
+ 8004b5c:      6313            str     r3, [r2, #48]   ; 0x30
+ 8004b5e:      4b0d            ldr     r3, [pc, #52]   ; (8004b94 <_ZL11MX_DMA_Initv+0x48>)
+ 8004b60:      6b1b            ldr     r3, [r3, #48]   ; 0x30
+ 8004b62:      f403 1300       and.w   r3, r3, #2097152        ; 0x200000
+ 8004b66:      607b            str     r3, [r7, #4]
+ 8004b68:      687b            ldr     r3, [r7, #4]
+
+  /* DMA interrupt init */
+  /* DMA1_Stream1_IRQn interrupt configuration */
+  HAL_NVIC_SetPriority(DMA1_Stream1_IRQn, 0, 0);
+ 8004b6a:      2200            movs    r2, #0
+ 8004b6c:      2100            movs    r1, #0
+ 8004b6e:      200c            movs    r0, #12
+ 8004b70:      f7fb fe45       bl      80007fe <HAL_NVIC_SetPriority>
+  HAL_NVIC_EnableIRQ(DMA1_Stream1_IRQn);
+ 8004b74:      200c            movs    r0, #12
+ 8004b76:      f7fb fe5e       bl      8000836 <HAL_NVIC_EnableIRQ>
+  /* DMA1_Stream3_IRQn interrupt configuration */
+  HAL_NVIC_SetPriority(DMA1_Stream3_IRQn, 0, 0);
+ 8004b7a:      2200            movs    r2, #0
+ 8004b7c:      2100            movs    r1, #0
+ 8004b7e:      200e            movs    r0, #14
+ 8004b80:      f7fb fe3d       bl      80007fe <HAL_NVIC_SetPriority>
+  HAL_NVIC_EnableIRQ(DMA1_Stream3_IRQn);
+ 8004b84:      200e            movs    r0, #14
+ 8004b86:      f7fb fe56       bl      8000836 <HAL_NVIC_EnableIRQ>
+
+}
+ 8004b8a:      bf00            nop
+ 8004b8c:      3708            adds    r7, #8
+ 8004b8e:      46bd            mov     sp, r7
+ 8004b90:      bd80            pop     {r7, pc}
+ 8004b92:      bf00            nop
+ 8004b94:      40023800        .word   0x40023800
+
+08004b98 <_ZL12MX_GPIO_Initv>:
+  * @brief GPIO Initialization Function
+  * @param None
+  * @retval None
+  */
+static void MX_GPIO_Init(void)
+{
+ 8004b98:      b480            push    {r7}
+ 8004b9a:      b083            sub     sp, #12
+ 8004b9c:      af00            add     r7, sp, #0
+
+  /* GPIO Ports Clock Enable */
+  __HAL_RCC_GPIOD_CLK_ENABLE();
+ 8004b9e:      4b09            ldr     r3, [pc, #36]   ; (8004bc4 <_ZL12MX_GPIO_Initv+0x2c>)
+ 8004ba0:      6b1b            ldr     r3, [r3, #48]   ; 0x30
+ 8004ba2:      4a08            ldr     r2, [pc, #32]   ; (8004bc4 <_ZL12MX_GPIO_Initv+0x2c>)
+ 8004ba4:      f043 0308       orr.w   r3, r3, #8
+ 8004ba8:      6313            str     r3, [r2, #48]   ; 0x30
+ 8004baa:      4b06            ldr     r3, [pc, #24]   ; (8004bc4 <_ZL12MX_GPIO_Initv+0x2c>)
+ 8004bac:      6b1b            ldr     r3, [r3, #48]   ; 0x30
+ 8004bae:      f003 0308       and.w   r3, r3, #8
+ 8004bb2:      607b            str     r3, [r7, #4]
+ 8004bb4:      687b            ldr     r3, [r7, #4]
+
+}
+ 8004bb6:      bf00            nop
+ 8004bb8:      370c            adds    r7, #12
+ 8004bba:      46bd            mov     sp, r7
+ 8004bbc:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8004bc0:      4770            bx      lr
+ 8004bc2:      bf00            nop
+ 8004bc4:      40023800        .word   0x40023800
+
+08004bc8 <Error_Handler>:
+/**
+  * @brief  This function is executed in case of error occurrence.
+  * @retval None
+  */
+void Error_Handler(void)
+{
+ 8004bc8:      b480            push    {r7}
+ 8004bca:      af00            add     r7, sp, #0
+  /* USER CODE BEGIN Error_Handler_Debug */
+       /* User can add his own implementation to report the HAL error return state */
+
+  /* USER CODE END Error_Handler_Debug */
+}
+ 8004bcc:      bf00            nop
+ 8004bce:      46bd            mov     sp, r7
+ 8004bd0:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8004bd4:      4770            bx      lr
+
+08004bd6 <_ZN3ros3Msg8varToArrIPhmEEvT_T0_>:
+    return 8;
+  }
+
+  // Copy data from variable into a byte array
+  template<typename A, typename V>
+  static void varToArr(A arr, const V var)
+ 8004bd6:      b480            push    {r7}
+ 8004bd8:      b085            sub     sp, #20
+ 8004bda:      af00            add     r7, sp, #0
+ 8004bdc:      6078            str     r0, [r7, #4]
+ 8004bde:      6039            str     r1, [r7, #0]
+  {
+    for (size_t i = 0; i < sizeof(V); i++)
+ 8004be0:      2300            movs    r3, #0
+ 8004be2:      60fb            str     r3, [r7, #12]
+ 8004be4:      68fb            ldr     r3, [r7, #12]
+ 8004be6:      2b03            cmp     r3, #3
+ 8004be8:      d80d            bhi.n   8004c06 <_ZN3ros3Msg8varToArrIPhmEEvT_T0_+0x30>
+      arr[i] = (var >> (8 * i));
+ 8004bea:      68fb            ldr     r3, [r7, #12]
+ 8004bec:      00db            lsls    r3, r3, #3
+ 8004bee:      683a            ldr     r2, [r7, #0]
+ 8004bf0:      fa22 f103       lsr.w   r1, r2, r3
+ 8004bf4:      687a            ldr     r2, [r7, #4]
+ 8004bf6:      68fb            ldr     r3, [r7, #12]
+ 8004bf8:      4413            add     r3, r2
+ 8004bfa:      b2ca            uxtb    r2, r1
+ 8004bfc:      701a            strb    r2, [r3, #0]
+    for (size_t i = 0; i < sizeof(V); i++)
+ 8004bfe:      68fb            ldr     r3, [r7, #12]
+ 8004c00:      3301            adds    r3, #1
+ 8004c02:      60fb            str     r3, [r7, #12]
+ 8004c04:      e7ee            b.n     8004be4 <_ZN3ros3Msg8varToArrIPhmEEvT_T0_+0xe>
+  }
+ 8004c06:      bf00            nop
+ 8004c08:      3714            adds    r7, #20
+ 8004c0a:      46bd            mov     sp, r7
+ 8004c0c:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8004c10:      4770            bx      lr
+
+08004c12 <_ZN3ros3Msg8arrToVarImPhEEvRT_T0_>:
+
+  // Copy data from a byte array into variable
+  template<typename V, typename A>
+  static void arrToVar(V& var, const A arr)
+ 8004c12:      b480            push    {r7}
+ 8004c14:      b085            sub     sp, #20
+ 8004c16:      af00            add     r7, sp, #0
+ 8004c18:      6078            str     r0, [r7, #4]
+ 8004c1a:      6039            str     r1, [r7, #0]
+  {
+    var = 0;
+ 8004c1c:      687b            ldr     r3, [r7, #4]
+ 8004c1e:      2200            movs    r2, #0
+ 8004c20:      601a            str     r2, [r3, #0]
+    for (size_t i = 0; i < sizeof(V); i++)
+ 8004c22:      2300            movs    r3, #0
+ 8004c24:      60fb            str     r3, [r7, #12]
+ 8004c26:      68fb            ldr     r3, [r7, #12]
+ 8004c28:      2b03            cmp     r3, #3
+ 8004c2a:      d811            bhi.n   8004c50 <_ZN3ros3Msg8arrToVarImPhEEvRT_T0_+0x3e>
+      var |= (arr[i] << (8 * i));
+ 8004c2c:      687b            ldr     r3, [r7, #4]
+ 8004c2e:      681b            ldr     r3, [r3, #0]
+ 8004c30:      6839            ldr     r1, [r7, #0]
+ 8004c32:      68fa            ldr     r2, [r7, #12]
+ 8004c34:      440a            add     r2, r1
+ 8004c36:      7812            ldrb    r2, [r2, #0]
+ 8004c38:      4611            mov     r1, r2
+ 8004c3a:      68fa            ldr     r2, [r7, #12]
+ 8004c3c:      00d2            lsls    r2, r2, #3
+ 8004c3e:      fa01 f202       lsl.w   r2, r1, r2
+ 8004c42:      431a            orrs    r2, r3
+ 8004c44:      687b            ldr     r3, [r7, #4]
+ 8004c46:      601a            str     r2, [r3, #0]
+    for (size_t i = 0; i < sizeof(V); i++)
+ 8004c48:      68fb            ldr     r3, [r7, #12]
+ 8004c4a:      3301            adds    r3, #1
+ 8004c4c:      60fb            str     r3, [r7, #12]
+ 8004c4e:      e7ea            b.n     8004c26 <_ZN3ros3Msg8arrToVarImPhEEvRT_T0_+0x14>
+  }
+ 8004c50:      bf00            nop
+ 8004c52:      3714            adds    r7, #20
+ 8004c54:      46bd            mov     sp, r7
+ 8004c56:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8004c5a:      4770            bx      lr
+
+08004c5c <_ZN3ros15NodeHandleBase_C1Ev>:
+#include "ros/msg.h"
+
+namespace ros
+{
+
+class NodeHandleBase_
+ 8004c5c:      b480            push    {r7}
+ 8004c5e:      b083            sub     sp, #12
+ 8004c60:      af00            add     r7, sp, #0
+ 8004c62:      6078            str     r0, [r7, #4]
+ 8004c64:      4a04            ldr     r2, [pc, #16]   ; (8004c78 <_ZN3ros15NodeHandleBase_C1Ev+0x1c>)
+ 8004c66:      687b            ldr     r3, [r7, #4]
+ 8004c68:      601a            str     r2, [r3, #0]
+ 8004c6a:      687b            ldr     r3, [r7, #4]
+ 8004c6c:      4618            mov     r0, r3
+ 8004c6e:      370c            adds    r7, #12
+ 8004c70:      46bd            mov     sp, r7
+ 8004c72:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8004c76:      4770            bx      lr
+ 8004c78:      08005f74        .word   0x08005f74
+
+08004c7c <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EEC1Ev>:
+
+  /*
+   * Setup Functions
+   */
+public:
+  NodeHandle_() : configured_(false)
+ 8004c7c:      b580            push    {r7, lr}
+ 8004c7e:      b086            sub     sp, #24
+ 8004c80:      af00            add     r7, sp, #0
+ 8004c82:      6078            str     r0, [r7, #4]
+ 8004c84:      687b            ldr     r3, [r7, #4]
+ 8004c86:      4618            mov     r0, r3
+ 8004c88:      f7ff ffe8       bl      8004c5c <_ZN3ros15NodeHandleBase_C1Ev>
+ 8004c8c:      4a3a            ldr     r2, [pc, #232]  ; (8004d78 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EEC1Ev+0xfc>)
+ 8004c8e:      687b            ldr     r3, [r7, #4]
+ 8004c90:      601a            str     r2, [r3, #0]
+ 8004c92:      687b            ldr     r3, [r7, #4]
+ 8004c94:      3304            adds    r3, #4
+ 8004c96:      4618            mov     r0, r3
+ 8004c98:      f7ff fcd4       bl      8004644 <_ZN13STM32HardwareC1Ev>
+ 8004c9c:      687b            ldr     r3, [r7, #4]
+ 8004c9e:      2200            movs    r2, #0
+ 8004ca0:      f883 2684       strb.w  r2, [r3, #1668] ; 0x684
+ 8004ca4:      687b            ldr     r3, [r7, #4]
+ 8004ca6:      f503 63d3       add.w   r3, r3, #1688   ; 0x698
+ 8004caa:      4618            mov     r0, r3
+ 8004cac:      f7ff f9be       bl      800402c <_ZN14rosserial_msgs20RequestParamResponseC1Ev>
+  {
+
+    for (unsigned int i = 0; i < MAX_PUBLISHERS; i++)
+ 8004cb0:      2300            movs    r3, #0
+ 8004cb2:      617b            str     r3, [r7, #20]
+ 8004cb4:      697b            ldr     r3, [r7, #20]
+ 8004cb6:      2b18            cmp     r3, #24
+ 8004cb8:      d80a            bhi.n   8004cd0 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EEC1Ev+0x54>
+      publishers[i] = 0;
+ 8004cba:      687b            ldr     r3, [r7, #4]
+ 8004cbc:      697a            ldr     r2, [r7, #20]
+ 8004cbe:      f502 72b5       add.w   r2, r2, #362    ; 0x16a
+ 8004cc2:      2100            movs    r1, #0
+ 8004cc4:      f843 1022       str.w   r1, [r3, r2, lsl #2]
+    for (unsigned int i = 0; i < MAX_PUBLISHERS; i++)
+ 8004cc8:      697b            ldr     r3, [r7, #20]
+ 8004cca:      3301            adds    r3, #1
+ 8004ccc:      617b            str     r3, [r7, #20]
+ 8004cce:      e7f1            b.n     8004cb4 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EEC1Ev+0x38>
+
+    for (unsigned int i = 0; i < MAX_SUBSCRIBERS; i++)
+ 8004cd0:      2300            movs    r3, #0
+ 8004cd2:      613b            str     r3, [r7, #16]
+ 8004cd4:      693b            ldr     r3, [r7, #16]
+ 8004cd6:      2b18            cmp     r3, #24
+ 8004cd8:      d80b            bhi.n   8004cf2 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EEC1Ev+0x76>
+      subscribers[i] = 0;
+ 8004cda:      687a            ldr     r2, [r7, #4]
+ 8004cdc:      693b            ldr     r3, [r7, #16]
+ 8004cde:      f503 73c1       add.w   r3, r3, #386    ; 0x182
+ 8004ce2:      009b            lsls    r3, r3, #2
+ 8004ce4:      4413            add     r3, r2
+ 8004ce6:      2200            movs    r2, #0
+ 8004ce8:      605a            str     r2, [r3, #4]
+    for (unsigned int i = 0; i < MAX_SUBSCRIBERS; i++)
+ 8004cea:      693b            ldr     r3, [r7, #16]
+ 8004cec:      3301            adds    r3, #1
+ 8004cee:      613b            str     r3, [r7, #16]
+ 8004cf0:      e7f0            b.n     8004cd4 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EEC1Ev+0x58>
+
+    for (unsigned int i = 0; i < INPUT_SIZE; i++)
+ 8004cf2:      2300            movs    r3, #0
+ 8004cf4:      60fb            str     r3, [r7, #12]
+ 8004cf6:      68fb            ldr     r3, [r7, #12]
+ 8004cf8:      f5b3 7f00       cmp.w   r3, #512        ; 0x200
+ 8004cfc:      d20a            bcs.n   8004d14 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EEC1Ev+0x98>
+      message_in[i] = 0;
+ 8004cfe:      687a            ldr     r2, [r7, #4]
+ 8004d00:      68fb            ldr     r3, [r7, #12]
+ 8004d02:      4413            add     r3, r2
+ 8004d04:      f503 73d4       add.w   r3, r3, #424    ; 0x1a8
+ 8004d08:      2200            movs    r2, #0
+ 8004d0a:      701a            strb    r2, [r3, #0]
+    for (unsigned int i = 0; i < INPUT_SIZE; i++)
+ 8004d0c:      68fb            ldr     r3, [r7, #12]
+ 8004d0e:      3301            adds    r3, #1
+ 8004d10:      60fb            str     r3, [r7, #12]
+ 8004d12:      e7f0            b.n     8004cf6 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EEC1Ev+0x7a>
+
+    for (unsigned int i = 0; i < OUTPUT_SIZE; i++)
+ 8004d14:      2300            movs    r3, #0
+ 8004d16:      60bb            str     r3, [r7, #8]
+ 8004d18:      68bb            ldr     r3, [r7, #8]
+ 8004d1a:      f5b3 7f00       cmp.w   r3, #512        ; 0x200
+ 8004d1e:      d20a            bcs.n   8004d36 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EEC1Ev+0xba>
+      message_out[i] = 0;
+ 8004d20:      687a            ldr     r2, [r7, #4]
+ 8004d22:      68bb            ldr     r3, [r7, #8]
+ 8004d24:      4413            add     r3, r2
+ 8004d26:      f503 736a       add.w   r3, r3, #936    ; 0x3a8
+ 8004d2a:      2200            movs    r2, #0
+ 8004d2c:      701a            strb    r2, [r3, #0]
+    for (unsigned int i = 0; i < OUTPUT_SIZE; i++)
+ 8004d2e:      68bb            ldr     r3, [r7, #8]
+ 8004d30:      3301            adds    r3, #1
+ 8004d32:      60bb            str     r3, [r7, #8]
+ 8004d34:      e7f0            b.n     8004d18 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EEC1Ev+0x9c>
+
+    req_param_resp.ints_length = 0;
+ 8004d36:      687b            ldr     r3, [r7, #4]
+ 8004d38:      2200            movs    r2, #0
+ 8004d3a:      f8c3 269c       str.w   r2, [r3, #1692] ; 0x69c
+    req_param_resp.ints = NULL;
+ 8004d3e:      687b            ldr     r3, [r7, #4]
+ 8004d40:      2200            movs    r2, #0
+ 8004d42:      f8c3 26a4       str.w   r2, [r3, #1700] ; 0x6a4
+    req_param_resp.floats_length = 0;
+ 8004d46:      687b            ldr     r3, [r7, #4]
+ 8004d48:      2200            movs    r2, #0
+ 8004d4a:      f8c3 26a8       str.w   r2, [r3, #1704] ; 0x6a8
+    req_param_resp.floats = NULL;
+ 8004d4e:      687b            ldr     r3, [r7, #4]
+ 8004d50:      2200            movs    r2, #0
+ 8004d52:      f8c3 26b0       str.w   r2, [r3, #1712] ; 0x6b0
+    req_param_resp.ints_length = 0;
+ 8004d56:      687b            ldr     r3, [r7, #4]
+ 8004d58:      2200            movs    r2, #0
+ 8004d5a:      f8c3 269c       str.w   r2, [r3, #1692] ; 0x69c
+    req_param_resp.ints = NULL;
+ 8004d5e:      687b            ldr     r3, [r7, #4]
+ 8004d60:      2200            movs    r2, #0
+ 8004d62:      f8c3 26a4       str.w   r2, [r3, #1700] ; 0x6a4
+
+    spin_timeout_ = 0;
+ 8004d66:      687b            ldr     r3, [r7, #4]
+ 8004d68:      2200            movs    r2, #0
+ 8004d6a:      f8c3 21a4       str.w   r2, [r3, #420]  ; 0x1a4
+  }
+ 8004d6e:      687b            ldr     r3, [r7, #4]
+ 8004d70:      4618            mov     r0, r3
+ 8004d72:      3718            adds    r7, #24
+ 8004d74:      46bd            mov     sp, r7
+ 8004d76:      bd80            pop     {r7, pc}
+ 8004d78:      08005f60        .word   0x08005f60
+
+08004d7c <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8initNodeEv>:
+  {
+    return &hardware_;
+  }
+
+  /* Start serial, initialize buffers */
+  void initNode()
+ 8004d7c:      b580            push    {r7, lr}
+ 8004d7e:      b082            sub     sp, #8
+ 8004d80:      af00            add     r7, sp, #0
+ 8004d82:      6078            str     r0, [r7, #4]
+  {
+    hardware_.init();
+ 8004d84:      687b            ldr     r3, [r7, #4]
+ 8004d86:      3304            adds    r3, #4
+ 8004d88:      4618            mov     r0, r3
+ 8004d8a:      f7ff fc7d       bl      8004688 <_ZN13STM32Hardware4initEv>
+    mode_ = 0;
+ 8004d8e:      687b            ldr     r3, [r7, #4]
+ 8004d90:      2200            movs    r2, #0
+ 8004d92:      f8c3 2670       str.w   r2, [r3, #1648] ; 0x670
+    bytes_ = 0;
+ 8004d96:      687b            ldr     r3, [r7, #4]
+ 8004d98:      2200            movs    r2, #0
+ 8004d9a:      f8c3 2674       str.w   r2, [r3, #1652] ; 0x674
+    index_ = 0;
+ 8004d9e:      687b            ldr     r3, [r7, #4]
+ 8004da0:      2200            movs    r2, #0
+ 8004da2:      f8c3 267c       str.w   r2, [r3, #1660] ; 0x67c
+    topic_ = 0;
+ 8004da6:      687b            ldr     r3, [r7, #4]
+ 8004da8:      2200            movs    r2, #0
+ 8004daa:      f8c3 2678       str.w   r2, [r3, #1656] ; 0x678
+  };
+ 8004dae:      bf00            nop
+ 8004db0:      3708            adds    r7, #8
+ 8004db2:      46bd            mov     sp, r7
+ 8004db4:      bd80            pop     {r7, pc}
+
+08004db6 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE9advertiseERNS_9PublisherE>:
+  /********************************************************************
+   * Topic Management
+   */
+
+  /* Register a new publisher */
+  bool advertise(Publisher & p)
+ 8004db6:      b480            push    {r7}
+ 8004db8:      b085            sub     sp, #20
+ 8004dba:      af00            add     r7, sp, #0
+ 8004dbc:      6078            str     r0, [r7, #4]
+ 8004dbe:      6039            str     r1, [r7, #0]
+  {
+    for (int i = 0; i < MAX_PUBLISHERS; i++)
+ 8004dc0:      2300            movs    r3, #0
+ 8004dc2:      60fb            str     r3, [r7, #12]
+ 8004dc4:      68fb            ldr     r3, [r7, #12]
+ 8004dc6:      2b18            cmp     r3, #24
+ 8004dc8:      dc1c            bgt.n   8004e04 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE9advertiseERNS_9PublisherE+0x4e>
+    {
+      if (publishers[i] == 0) // empty slot
+ 8004dca:      687b            ldr     r3, [r7, #4]
+ 8004dcc:      68fa            ldr     r2, [r7, #12]
+ 8004dce:      f502 72b5       add.w   r2, r2, #362    ; 0x16a
+ 8004dd2:      f853 3022       ldr.w   r3, [r3, r2, lsl #2]
+ 8004dd6:      2b00            cmp     r3, #0
+ 8004dd8:      d110            bne.n   8004dfc <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE9advertiseERNS_9PublisherE+0x46>
+      {
+        publishers[i] = &p;
+ 8004dda:      687b            ldr     r3, [r7, #4]
+ 8004ddc:      68fa            ldr     r2, [r7, #12]
+ 8004dde:      f502 72b5       add.w   r2, r2, #362    ; 0x16a
+ 8004de2:      6839            ldr     r1, [r7, #0]
+ 8004de4:      f843 1022       str.w   r1, [r3, r2, lsl #2]
+        p.id_ = i + 100 + MAX_SUBSCRIBERS;
+ 8004de8:      68fb            ldr     r3, [r7, #12]
+ 8004dea:      f103 027d       add.w   r2, r3, #125    ; 0x7d
+ 8004dee:      683b            ldr     r3, [r7, #0]
+ 8004df0:      609a            str     r2, [r3, #8]
+        p.nh_ = this;
+ 8004df2:      687a            ldr     r2, [r7, #4]
+ 8004df4:      683b            ldr     r3, [r7, #0]
+ 8004df6:      60da            str     r2, [r3, #12]
+        return true;
+ 8004df8:      2301            movs    r3, #1
+ 8004dfa:      e004            b.n     8004e06 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE9advertiseERNS_9PublisherE+0x50>
+    for (int i = 0; i < MAX_PUBLISHERS; i++)
+ 8004dfc:      68fb            ldr     r3, [r7, #12]
+ 8004dfe:      3301            adds    r3, #1
+ 8004e00:      60fb            str     r3, [r7, #12]
+ 8004e02:      e7df            b.n     8004dc4 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE9advertiseERNS_9PublisherE+0xe>
+      }
+    }
+    return false;
+ 8004e04:      2300            movs    r3, #0
+  }
+ 8004e06:      4618            mov     r0, r3
+ 8004e08:      3714            adds    r7, #20
+ 8004e0a:      46bd            mov     sp, r7
+ 8004e0c:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8004e10:      4770            bx      lr
+
+08004e12 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv>:
+  virtual int spinOnce()
+ 8004e12:      b580            push    {r7, lr}
+ 8004e14:      b084            sub     sp, #16
+ 8004e16:      af00            add     r7, sp, #0
+ 8004e18:      6078            str     r0, [r7, #4]
+    uint32_t c_time = hardware_.time();
+ 8004e1a:      687b            ldr     r3, [r7, #4]
+ 8004e1c:      3304            adds    r3, #4
+ 8004e1e:      4618            mov     r0, r3
+ 8004e20:      f7ff fd1f       bl      8004862 <_ZN13STM32Hardware4timeEv>
+ 8004e24:      60f8            str     r0, [r7, #12]
+    if ((c_time - last_sync_receive_time) > (SYNC_SECONDS * 2200))
+ 8004e26:      687b            ldr     r3, [r7, #4]
+ 8004e28:      f8d3 368c       ldr.w   r3, [r3, #1676] ; 0x68c
+ 8004e2c:      68fa            ldr     r2, [r7, #12]
+ 8004e2e:      1ad3            subs    r3, r2, r3
+ 8004e30:      f642 22f8       movw    r2, #11000      ; 0x2af8
+ 8004e34:      4293            cmp     r3, r2
+ 8004e36:      d903            bls.n   8004e40 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x2e>
+      configured_ = false;
+ 8004e38:      687b            ldr     r3, [r7, #4]
+ 8004e3a:      2200            movs    r2, #0
+ 8004e3c:      f883 2684       strb.w  r2, [r3, #1668] ; 0x684
+    if (mode_ != MODE_FIRST_FF)
+ 8004e40:      687b            ldr     r3, [r7, #4]
+ 8004e42:      f8d3 3670       ldr.w   r3, [r3, #1648] ; 0x670
+ 8004e46:      2b00            cmp     r3, #0
+ 8004e48:      d009            beq.n   8004e5e <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c>
+      if (c_time > last_msg_timeout_time)
+ 8004e4a:      687b            ldr     r3, [r7, #4]
+ 8004e4c:      f8d3 3690       ldr.w   r3, [r3, #1680] ; 0x690
+ 8004e50:      68fa            ldr     r2, [r7, #12]
+ 8004e52:      429a            cmp     r2, r3
+ 8004e54:      d903            bls.n   8004e5e <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c>
+        mode_ = MODE_FIRST_FF;
+ 8004e56:      687b            ldr     r3, [r7, #4]
+ 8004e58:      2200            movs    r2, #0
+ 8004e5a:      f8c3 2670       str.w   r2, [r3, #1648] ; 0x670
+      if (spin_timeout_ > 0)
+ 8004e5e:      687b            ldr     r3, [r7, #4]
+ 8004e60:      f8d3 31a4       ldr.w   r3, [r3, #420]  ; 0x1a4
+ 8004e64:      2b00            cmp     r3, #0
+ 8004e66:      d014            beq.n   8004e92 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x80>
+        if ((hardware_.time() - c_time) > spin_timeout_)
+ 8004e68:      687b            ldr     r3, [r7, #4]
+ 8004e6a:      3304            adds    r3, #4
+ 8004e6c:      4618            mov     r0, r3
+ 8004e6e:      f7ff fcf8       bl      8004862 <_ZN13STM32Hardware4timeEv>
+ 8004e72:      4602            mov     r2, r0
+ 8004e74:      68fb            ldr     r3, [r7, #12]
+ 8004e76:      1ad2            subs    r2, r2, r3
+ 8004e78:      687b            ldr     r3, [r7, #4]
+ 8004e7a:      f8d3 31a4       ldr.w   r3, [r3, #420]  ; 0x1a4
+ 8004e7e:      429a            cmp     r2, r3
+ 8004e80:      bf8c            ite     hi
+ 8004e82:      2301            movhi   r3, #1
+ 8004e84:      2300            movls   r3, #0
+ 8004e86:      b2db            uxtb    r3, r3
+ 8004e88:      2b00            cmp     r3, #0
+ 8004e8a:      d002            beq.n   8004e92 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x80>
+          return SPIN_TIMEOUT;
+ 8004e8c:      f06f 0301       mvn.w   r3, #1
+ 8004e90:      e197            b.n     80051c2 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x3b0>
+      int data = hardware_.read();
+ 8004e92:      687b            ldr     r3, [r7, #4]
+ 8004e94:      3304            adds    r3, #4
+ 8004e96:      4618            mov     r0, r3
+ 8004e98:      f7ff fc16       bl      80046c8 <_ZN13STM32Hardware4readEv>
+ 8004e9c:      60b8            str     r0, [r7, #8]
+      if (data < 0)
+ 8004e9e:      68bb            ldr     r3, [r7, #8]
+ 8004ea0:      2b00            cmp     r3, #0
+ 8004ea2:      f2c0 8177       blt.w   8005194 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x382>
+      checksum_ += data;
+ 8004ea6:      687b            ldr     r3, [r7, #4]
+ 8004ea8:      f8d3 2680       ldr.w   r2, [r3, #1664] ; 0x680
+ 8004eac:      68bb            ldr     r3, [r7, #8]
+ 8004eae:      441a            add     r2, r3
+ 8004eb0:      687b            ldr     r3, [r7, #4]
+ 8004eb2:      f8c3 2680       str.w   r2, [r3, #1664] ; 0x680
+      if (mode_ == MODE_MESSAGE)          /* message data being recieved */
+ 8004eb6:      687b            ldr     r3, [r7, #4]
+ 8004eb8:      f8d3 3670       ldr.w   r3, [r3, #1648] ; 0x670
+ 8004ebc:      2b07            cmp     r3, #7
+ 8004ebe:      d11e            bne.n   8004efe <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0xec>
+        message_in[index_++] = data;
+ 8004ec0:      687b            ldr     r3, [r7, #4]
+ 8004ec2:      f8d3 367c       ldr.w   r3, [r3, #1660] ; 0x67c
+ 8004ec6:      1c59            adds    r1, r3, #1
+ 8004ec8:      687a            ldr     r2, [r7, #4]
+ 8004eca:      f8c2 167c       str.w   r1, [r2, #1660] ; 0x67c
+ 8004ece:      68ba            ldr     r2, [r7, #8]
+ 8004ed0:      b2d1            uxtb    r1, r2
+ 8004ed2:      687a            ldr     r2, [r7, #4]
+ 8004ed4:      4413            add     r3, r2
+ 8004ed6:      460a            mov     r2, r1
+ 8004ed8:      f883 21a8       strb.w  r2, [r3, #424]  ; 0x1a8
+        bytes_--;
+ 8004edc:      687b            ldr     r3, [r7, #4]
+ 8004ede:      f8d3 3674       ldr.w   r3, [r3, #1652] ; 0x674
+ 8004ee2:      1e5a            subs    r2, r3, #1
+ 8004ee4:      687b            ldr     r3, [r7, #4]
+ 8004ee6:      f8c3 2674       str.w   r2, [r3, #1652] ; 0x674
+        if (bytes_ == 0)                 /* is message complete? if so, checksum */
+ 8004eea:      687b            ldr     r3, [r7, #4]
+ 8004eec:      f8d3 3674       ldr.w   r3, [r3, #1652] ; 0x674
+ 8004ef0:      2b00            cmp     r3, #0
+ 8004ef2:      d1b4            bne.n   8004e5e <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c>
+          mode_ = MODE_MSG_CHECKSUM;
+ 8004ef4:      687b            ldr     r3, [r7, #4]
+ 8004ef6:      2208            movs    r2, #8
+ 8004ef8:      f8c3 2670       str.w   r2, [r3, #1648] ; 0x670
+ 8004efc:      e7af            b.n     8004e5e <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c>
+      else if (mode_ == MODE_FIRST_FF)
+ 8004efe:      687b            ldr     r3, [r7, #4]
+ 8004f00:      f8d3 3670       ldr.w   r3, [r3, #1648] ; 0x670
+ 8004f04:      2b00            cmp     r3, #0
+ 8004f06:      d128            bne.n   8004f5a <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x148>
+        if (data == 0xff)
+ 8004f08:      68bb            ldr     r3, [r7, #8]
+ 8004f0a:      2bff            cmp     r3, #255        ; 0xff
+ 8004f0c:      d10d            bne.n   8004f2a <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x118>
+          mode_++;
+ 8004f0e:      687b            ldr     r3, [r7, #4]
+ 8004f10:      f8d3 3670       ldr.w   r3, [r3, #1648] ; 0x670
+ 8004f14:      1c5a            adds    r2, r3, #1
+ 8004f16:      687b            ldr     r3, [r7, #4]
+ 8004f18:      f8c3 2670       str.w   r2, [r3, #1648] ; 0x670
+          last_msg_timeout_time = c_time + SERIAL_MSG_TIMEOUT;
+ 8004f1c:      68fb            ldr     r3, [r7, #12]
+ 8004f1e:      f103 0214       add.w   r2, r3, #20
+ 8004f22:      687b            ldr     r3, [r7, #4]
+ 8004f24:      f8c3 2690       str.w   r2, [r3, #1680] ; 0x690
+ 8004f28:      e799            b.n     8004e5e <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c>
+        else if (hardware_.time() - c_time > (SYNC_SECONDS * 1000))
+ 8004f2a:      687b            ldr     r3, [r7, #4]
+ 8004f2c:      3304            adds    r3, #4
+ 8004f2e:      4618            mov     r0, r3
+ 8004f30:      f7ff fc97       bl      8004862 <_ZN13STM32Hardware4timeEv>
+ 8004f34:      4602            mov     r2, r0
+ 8004f36:      68fb            ldr     r3, [r7, #12]
+ 8004f38:      1ad3            subs    r3, r2, r3
+ 8004f3a:      f241 3288       movw    r2, #5000       ; 0x1388
+ 8004f3e:      4293            cmp     r3, r2
+ 8004f40:      bf8c            ite     hi
+ 8004f42:      2301            movhi   r3, #1
+ 8004f44:      2300            movls   r3, #0
+ 8004f46:      b2db            uxtb    r3, r3
+ 8004f48:      2b00            cmp     r3, #0
+ 8004f4a:      d088            beq.n   8004e5e <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c>
+          configured_ = false;
+ 8004f4c:      687b            ldr     r3, [r7, #4]
+ 8004f4e:      2200            movs    r2, #0
+ 8004f50:      f883 2684       strb.w  r2, [r3, #1668] ; 0x684
+          return SPIN_TIMEOUT;
+ 8004f54:      f06f 0301       mvn.w   r3, #1
+ 8004f58:      e133            b.n     80051c2 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x3b0>
+      else if (mode_ == MODE_PROTOCOL_VER)
+ 8004f5a:      687b            ldr     r3, [r7, #4]
+ 8004f5c:      f8d3 3670       ldr.w   r3, [r3, #1648] ; 0x670
+ 8004f60:      2b01            cmp     r3, #1
+ 8004f62:      d11b            bne.n   8004f9c <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x18a>
+        if (data == PROTOCOL_VER)
+ 8004f64:      68bb            ldr     r3, [r7, #8]
+ 8004f66:      2bfe            cmp     r3, #254        ; 0xfe
+ 8004f68:      d107            bne.n   8004f7a <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x168>
+          mode_++;
+ 8004f6a:      687b            ldr     r3, [r7, #4]
+ 8004f6c:      f8d3 3670       ldr.w   r3, [r3, #1648] ; 0x670
+ 8004f70:      1c5a            adds    r2, r3, #1
+ 8004f72:      687b            ldr     r3, [r7, #4]
+ 8004f74:      f8c3 2670       str.w   r2, [r3, #1648] ; 0x670
+ 8004f78:      e771            b.n     8004e5e <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c>
+          mode_ = MODE_FIRST_FF;
+ 8004f7a:      687b            ldr     r3, [r7, #4]
+ 8004f7c:      2200            movs    r2, #0
+ 8004f7e:      f8c3 2670       str.w   r2, [r3, #1648] ; 0x670
+          if (configured_ == false)
+ 8004f82:      687b            ldr     r3, [r7, #4]
+ 8004f84:      f893 3684       ldrb.w  r3, [r3, #1668] ; 0x684
+ 8004f88:      f083 0301       eor.w   r3, r3, #1
+ 8004f8c:      b2db            uxtb    r3, r3
+ 8004f8e:      2b00            cmp     r3, #0
+ 8004f90:      f43f af65       beq.w   8004e5e <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c>
+            requestSyncTime();  /* send a msg back showing our protocol version */
+ 8004f94:      6878            ldr     r0, [r7, #4]
+ 8004f96:      f000 f918       bl      80051ca <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE15requestSyncTimeEv>
+ 8004f9a:      e760            b.n     8004e5e <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c>
+      else if (mode_ == MODE_SIZE_L)      /* bottom half of message size */
+ 8004f9c:      687b            ldr     r3, [r7, #4]
+ 8004f9e:      f8d3 3670       ldr.w   r3, [r3, #1648] ; 0x670
+ 8004fa2:      2b02            cmp     r3, #2
+ 8004fa4:      d113            bne.n   8004fce <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x1bc>
+        bytes_ = data;
+ 8004fa6:      687b            ldr     r3, [r7, #4]
+ 8004fa8:      68ba            ldr     r2, [r7, #8]
+ 8004faa:      f8c3 2674       str.w   r2, [r3, #1652] ; 0x674
+        index_ = 0;
+ 8004fae:      687b            ldr     r3, [r7, #4]
+ 8004fb0:      2200            movs    r2, #0
+ 8004fb2:      f8c3 267c       str.w   r2, [r3, #1660] ; 0x67c
+        mode_++;
+ 8004fb6:      687b            ldr     r3, [r7, #4]
+ 8004fb8:      f8d3 3670       ldr.w   r3, [r3, #1648] ; 0x670
+ 8004fbc:      1c5a            adds    r2, r3, #1
+ 8004fbe:      687b            ldr     r3, [r7, #4]
+ 8004fc0:      f8c3 2670       str.w   r2, [r3, #1648] ; 0x670
+        checksum_ = data;               /* first byte for calculating size checksum */
+ 8004fc4:      687b            ldr     r3, [r7, #4]
+ 8004fc6:      68ba            ldr     r2, [r7, #8]
+ 8004fc8:      f8c3 2680       str.w   r2, [r3, #1664] ; 0x680
+ 8004fcc:      e747            b.n     8004e5e <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c>
+      else if (mode_ == MODE_SIZE_H)      /* top half of message size */
+ 8004fce:      687b            ldr     r3, [r7, #4]
+ 8004fd0:      f8d3 3670       ldr.w   r3, [r3, #1648] ; 0x670
+ 8004fd4:      2b03            cmp     r3, #3
+ 8004fd6:      d110            bne.n   8004ffa <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x1e8>
+        bytes_ += data << 8;
+ 8004fd8:      687b            ldr     r3, [r7, #4]
+ 8004fda:      f8d3 2674       ldr.w   r2, [r3, #1652] ; 0x674
+ 8004fde:      68bb            ldr     r3, [r7, #8]
+ 8004fe0:      021b            lsls    r3, r3, #8
+ 8004fe2:      441a            add     r2, r3
+ 8004fe4:      687b            ldr     r3, [r7, #4]
+ 8004fe6:      f8c3 2674       str.w   r2, [r3, #1652] ; 0x674
+        mode_++;
+ 8004fea:      687b            ldr     r3, [r7, #4]
+ 8004fec:      f8d3 3670       ldr.w   r3, [r3, #1648] ; 0x670
+ 8004ff0:      1c5a            adds    r2, r3, #1
+ 8004ff2:      687b            ldr     r3, [r7, #4]
+ 8004ff4:      f8c3 2670       str.w   r2, [r3, #1648] ; 0x670
+ 8004ff8:      e731            b.n     8004e5e <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c>
+      else if (mode_ == MODE_SIZE_CHECKSUM)
+ 8004ffa:      687b            ldr     r3, [r7, #4]
+ 8004ffc:      f8d3 3670       ldr.w   r3, [r3, #1648] ; 0x670
+ 8005000:      2b04            cmp     r3, #4
+ 8005002:      d116            bne.n   8005032 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x220>
+        if ((checksum_ % 256) == 255)
+ 8005004:      687b            ldr     r3, [r7, #4]
+ 8005006:      f8d3 3680       ldr.w   r3, [r3, #1664] ; 0x680
+ 800500a:      425a            negs    r2, r3
+ 800500c:      b2db            uxtb    r3, r3
+ 800500e:      b2d2            uxtb    r2, r2
+ 8005010:      bf58            it      pl
+ 8005012:      4253            negpl   r3, r2
+ 8005014:      2bff            cmp     r3, #255        ; 0xff
+ 8005016:      d107            bne.n   8005028 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x216>
+          mode_++;
+ 8005018:      687b            ldr     r3, [r7, #4]
+ 800501a:      f8d3 3670       ldr.w   r3, [r3, #1648] ; 0x670
+ 800501e:      1c5a            adds    r2, r3, #1
+ 8005020:      687b            ldr     r3, [r7, #4]
+ 8005022:      f8c3 2670       str.w   r2, [r3, #1648] ; 0x670
+ 8005026:      e71a            b.n     8004e5e <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c>
+          mode_ = MODE_FIRST_FF;          /* Abandon the frame if the msg len is wrong */
+ 8005028:      687b            ldr     r3, [r7, #4]
+ 800502a:      2200            movs    r2, #0
+ 800502c:      f8c3 2670       str.w   r2, [r3, #1648] ; 0x670
+ 8005030:      e715            b.n     8004e5e <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c>
+      else if (mode_ == MODE_TOPIC_L)     /* bottom half of topic id */
+ 8005032:      687b            ldr     r3, [r7, #4]
+ 8005034:      f8d3 3670       ldr.w   r3, [r3, #1648] ; 0x670
+ 8005038:      2b05            cmp     r3, #5
+ 800503a:      d10f            bne.n   800505c <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x24a>
+        topic_ = data;
+ 800503c:      687b            ldr     r3, [r7, #4]
+ 800503e:      68ba            ldr     r2, [r7, #8]
+ 8005040:      f8c3 2678       str.w   r2, [r3, #1656] ; 0x678
+        mode_++;
+ 8005044:      687b            ldr     r3, [r7, #4]
+ 8005046:      f8d3 3670       ldr.w   r3, [r3, #1648] ; 0x670
+ 800504a:      1c5a            adds    r2, r3, #1
+ 800504c:      687b            ldr     r3, [r7, #4]
+ 800504e:      f8c3 2670       str.w   r2, [r3, #1648] ; 0x670
+        checksum_ = data;               /* first byte included in checksum */
+ 8005052:      687b            ldr     r3, [r7, #4]
+ 8005054:      68ba            ldr     r2, [r7, #8]
+ 8005056:      f8c3 2680       str.w   r2, [r3, #1664] ; 0x680
+ 800505a:      e700            b.n     8004e5e <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c>
+      else if (mode_ == MODE_TOPIC_H)     /* top half of topic id */
+ 800505c:      687b            ldr     r3, [r7, #4]
+ 800505e:      f8d3 3670       ldr.w   r3, [r3, #1648] ; 0x670
+ 8005062:      2b06            cmp     r3, #6
+ 8005064:      d117            bne.n   8005096 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x284>
+        topic_ += data << 8;
+ 8005066:      687b            ldr     r3, [r7, #4]
+ 8005068:      f8d3 2678       ldr.w   r2, [r3, #1656] ; 0x678
+ 800506c:      68bb            ldr     r3, [r7, #8]
+ 800506e:      021b            lsls    r3, r3, #8
+ 8005070:      441a            add     r2, r3
+ 8005072:      687b            ldr     r3, [r7, #4]
+ 8005074:      f8c3 2678       str.w   r2, [r3, #1656] ; 0x678
+        mode_ = MODE_MESSAGE;
+ 8005078:      687b            ldr     r3, [r7, #4]
+ 800507a:      2207            movs    r2, #7
+ 800507c:      f8c3 2670       str.w   r2, [r3, #1648] ; 0x670
+        if (bytes_ == 0)
+ 8005080:      687b            ldr     r3, [r7, #4]
+ 8005082:      f8d3 3674       ldr.w   r3, [r3, #1652] ; 0x674
+ 8005086:      2b00            cmp     r3, #0
+ 8005088:      f47f aee9       bne.w   8004e5e <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c>
+          mode_ = MODE_MSG_CHECKSUM;
+ 800508c:      687b            ldr     r3, [r7, #4]
+ 800508e:      2208            movs    r2, #8
+ 8005090:      f8c3 2670       str.w   r2, [r3, #1648] ; 0x670
+ 8005094:      e6e3            b.n     8004e5e <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c>
+      else if (mode_ == MODE_MSG_CHECKSUM)    /* do checksum */
+ 8005096:      687b            ldr     r3, [r7, #4]
+ 8005098:      f8d3 3670       ldr.w   r3, [r3, #1648] ; 0x670
+ 800509c:      2b08            cmp     r3, #8
+ 800509e:      f47f aede       bne.w   8004e5e <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c>
+        mode_ = MODE_FIRST_FF;
+ 80050a2:      687b            ldr     r3, [r7, #4]
+ 80050a4:      2200            movs    r2, #0
+ 80050a6:      f8c3 2670       str.w   r2, [r3, #1648] ; 0x670
+        if ((checksum_ % 256) == 255)
+ 80050aa:      687b            ldr     r3, [r7, #4]
+ 80050ac:      f8d3 3680       ldr.w   r3, [r3, #1664] ; 0x680
+ 80050b0:      425a            negs    r2, r3
+ 80050b2:      b2db            uxtb    r3, r3
+ 80050b4:      b2d2            uxtb    r2, r2
+ 80050b6:      bf58            it      pl
+ 80050b8:      4253            negpl   r3, r2
+ 80050ba:      2bff            cmp     r3, #255        ; 0xff
+ 80050bc:      f47f aecf       bne.w   8004e5e <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c>
+          if (topic_ == TopicInfo::ID_PUBLISHER)
+ 80050c0:      687b            ldr     r3, [r7, #4]
+ 80050c2:      f8d3 3678       ldr.w   r3, [r3, #1656] ; 0x678
+ 80050c6:      2b00            cmp     r3, #0
+ 80050c8:      d110            bne.n   80050ec <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x2da>
+            requestSyncTime();
+ 80050ca:      6878            ldr     r0, [r7, #4]
+ 80050cc:      f000 f87d       bl      80051ca <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE15requestSyncTimeEv>
+            negotiateTopics();
+ 80050d0:      6878            ldr     r0, [r7, #4]
+ 80050d2:      f000 f898       bl      8005206 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE15negotiateTopicsEv>
+            last_sync_time = c_time;
+ 80050d6:      687b            ldr     r3, [r7, #4]
+ 80050d8:      68fa            ldr     r2, [r7, #12]
+ 80050da:      f8c3 2688       str.w   r2, [r3, #1672] ; 0x688
+            last_sync_receive_time = c_time;
+ 80050de:      687b            ldr     r3, [r7, #4]
+ 80050e0:      68fa            ldr     r2, [r7, #12]
+ 80050e2:      f8c3 268c       str.w   r2, [r3, #1676] ; 0x68c
+            return SPIN_ERR;
+ 80050e6:      f04f 33ff       mov.w   r3, #4294967295 ; 0xffffffff
+ 80050ea:      e06a            b.n     80051c2 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x3b0>
+          else if (topic_ == TopicInfo::ID_TIME)
+ 80050ec:      687b            ldr     r3, [r7, #4]
+ 80050ee:      f8d3 3678       ldr.w   r3, [r3, #1656] ; 0x678
+ 80050f2:      2b0a            cmp     r3, #10
+ 80050f4:      d107            bne.n   8005106 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x2f4>
+            syncTime(message_in);
+ 80050f6:      687b            ldr     r3, [r7, #4]
+ 80050f8:      f503 73d4       add.w   r3, r3, #424    ; 0x1a8
+ 80050fc:      4619            mov     r1, r3
+ 80050fe:      6878            ldr     r0, [r7, #4]
+ 8005100:      f000 f962       bl      80053c8 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8syncTimeEPh>
+ 8005104:      e6ab            b.n     8004e5e <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c>
+          else if (topic_ == TopicInfo::ID_PARAMETER_REQUEST)
+ 8005106:      687b            ldr     r3, [r7, #4]
+ 8005108:      f8d3 3678       ldr.w   r3, [r3, #1656] ; 0x678
+ 800510c:      2b06            cmp     r3, #6
+ 800510e:      d10e            bne.n   800512e <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x31c>
+            req_param_resp.deserialize(message_in);
+ 8005110:      687b            ldr     r3, [r7, #4]
+ 8005112:      f503 62d3       add.w   r2, r3, #1688   ; 0x698
+ 8005116:      687b            ldr     r3, [r7, #4]
+ 8005118:      f503 73d4       add.w   r3, r3, #424    ; 0x1a8
+ 800511c:      4619            mov     r1, r3
+ 800511e:      4610            mov     r0, r2
+ 8005120:      f7ff f8b9       bl      8004296 <_ZN14rosserial_msgs20RequestParamResponse11deserializeEPh>
+            param_recieved = true;
+ 8005124:      687b            ldr     r3, [r7, #4]
+ 8005126:      2201            movs    r2, #1
+ 8005128:      f883 2694       strb.w  r2, [r3, #1684] ; 0x694
+ 800512c:      e697            b.n     8004e5e <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c>
+          else if (topic_ == TopicInfo::ID_TX_STOP)
+ 800512e:      687b            ldr     r3, [r7, #4]
+ 8005130:      f8d3 3678       ldr.w   r3, [r3, #1656] ; 0x678
+ 8005134:      2b0b            cmp     r3, #11
+ 8005136:      d104            bne.n   8005142 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x330>
+            configured_ = false;
+ 8005138:      687b            ldr     r3, [r7, #4]
+ 800513a:      2200            movs    r2, #0
+ 800513c:      f883 2684       strb.w  r2, [r3, #1668] ; 0x684
+ 8005140:      e68d            b.n     8004e5e <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c>
+            if (subscribers[topic_ - 100])
+ 8005142:      687b            ldr     r3, [r7, #4]
+ 8005144:      f8d3 3678       ldr.w   r3, [r3, #1656] ; 0x678
+ 8005148:      3b64            subs    r3, #100        ; 0x64
+ 800514a:      687a            ldr     r2, [r7, #4]
+ 800514c:      f503 73c1       add.w   r3, r3, #386    ; 0x182
+ 8005150:      009b            lsls    r3, r3, #2
+ 8005152:      4413            add     r3, r2
+ 8005154:      685b            ldr     r3, [r3, #4]
+ 8005156:      2b00            cmp     r3, #0
+ 8005158:      f43f ae81       beq.w   8004e5e <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c>
+              subscribers[topic_ - 100]->callback(message_in);
+ 800515c:      687b            ldr     r3, [r7, #4]
+ 800515e:      f8d3 3678       ldr.w   r3, [r3, #1656] ; 0x678
+ 8005162:      3b64            subs    r3, #100        ; 0x64
+ 8005164:      687a            ldr     r2, [r7, #4]
+ 8005166:      f503 73c1       add.w   r3, r3, #386    ; 0x182
+ 800516a:      009b            lsls    r3, r3, #2
+ 800516c:      4413            add     r3, r2
+ 800516e:      6858            ldr     r0, [r3, #4]
+ 8005170:      687b            ldr     r3, [r7, #4]
+ 8005172:      f8d3 3678       ldr.w   r3, [r3, #1656] ; 0x678
+ 8005176:      3b64            subs    r3, #100        ; 0x64
+ 8005178:      687a            ldr     r2, [r7, #4]
+ 800517a:      f503 73c1       add.w   r3, r3, #386    ; 0x182
+ 800517e:      009b            lsls    r3, r3, #2
+ 8005180:      4413            add     r3, r2
+ 8005182:      685b            ldr     r3, [r3, #4]
+ 8005184:      681b            ldr     r3, [r3, #0]
+ 8005186:      681b            ldr     r3, [r3, #0]
+ 8005188:      687a            ldr     r2, [r7, #4]
+ 800518a:      f502 72d4       add.w   r2, r2, #424    ; 0x1a8
+ 800518e:      4611            mov     r1, r2
+ 8005190:      4798            blx     r3
+    while (true)
+ 8005192:      e664            b.n     8004e5e <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c>
+        break;
+ 8005194:      bf00            nop
+    if (configured_ && ((c_time - last_sync_time) > (SYNC_SECONDS * 500)))
+ 8005196:      687b            ldr     r3, [r7, #4]
+ 8005198:      f893 3684       ldrb.w  r3, [r3, #1668] ; 0x684
+ 800519c:      2b00            cmp     r3, #0
+ 800519e:      d00f            beq.n   80051c0 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x3ae>
+ 80051a0:      687b            ldr     r3, [r7, #4]
+ 80051a2:      f8d3 3688       ldr.w   r3, [r3, #1672] ; 0x688
+ 80051a6:      68fa            ldr     r2, [r7, #12]
+ 80051a8:      1ad3            subs    r3, r2, r3
+ 80051aa:      f640 12c4       movw    r2, #2500       ; 0x9c4
+ 80051ae:      4293            cmp     r3, r2
+ 80051b0:      d906            bls.n   80051c0 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x3ae>
+      requestSyncTime();
+ 80051b2:      6878            ldr     r0, [r7, #4]
+ 80051b4:      f000 f809       bl      80051ca <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE15requestSyncTimeEv>
+      last_sync_time = c_time;
+ 80051b8:      687b            ldr     r3, [r7, #4]
+ 80051ba:      68fa            ldr     r2, [r7, #12]
+ 80051bc:      f8c3 2688       str.w   r2, [r3, #1672] ; 0x688
+    return SPIN_OK;
+ 80051c0:      2300            movs    r3, #0
+  }
+ 80051c2:      4618            mov     r0, r3
+ 80051c4:      3710            adds    r7, #16
+ 80051c6:      46bd            mov     sp, r7
+ 80051c8:      bd80            pop     {r7, pc}
+
+080051ca <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE15requestSyncTimeEv>:
+  void requestSyncTime()
+ 80051ca:      b580            push    {r7, lr}
+ 80051cc:      b086            sub     sp, #24
+ 80051ce:      af00            add     r7, sp, #0
+ 80051d0:      6078            str     r0, [r7, #4]
+    std_msgs::Time t;
+ 80051d2:      f107 030c       add.w   r3, r7, #12
+ 80051d6:      4618            mov     r0, r3
+ 80051d8:      f7fe fbc4       bl      8003964 <_ZN8std_msgs4TimeC1Ev>
+    publish(TopicInfo::ID_TIME, &t);
+ 80051dc:      687b            ldr     r3, [r7, #4]
+ 80051de:      681b            ldr     r3, [r3, #0]
+ 80051e0:      681b            ldr     r3, [r3, #0]
+ 80051e2:      f107 020c       add.w   r2, r7, #12
+ 80051e6:      210a            movs    r1, #10
+ 80051e8:      6878            ldr     r0, [r7, #4]
+ 80051ea:      4798            blx     r3
+    rt_time = hardware_.time();
+ 80051ec:      687b            ldr     r3, [r7, #4]
+ 80051ee:      3304            adds    r3, #4
+ 80051f0:      4618            mov     r0, r3
+ 80051f2:      f7ff fb36       bl      8004862 <_ZN13STM32Hardware4timeEv>
+ 80051f6:      4602            mov     r2, r0
+ 80051f8:      687b            ldr     r3, [r7, #4]
+ 80051fa:      f8c3 2198       str.w   r2, [r3, #408]  ; 0x198
+  }
+ 80051fe:      bf00            nop
+ 8005200:      3718            adds    r7, #24
+ 8005202:      46bd            mov     sp, r7
+ 8005204:      bd80            pop     {r7, pc}
+
+08005206 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE15negotiateTopicsEv>:
+      }
+    }
+    return false;
+  }
+
+  void negotiateTopics()
+ 8005206:      b590            push    {r4, r7, lr}
+ 8005208:      b08b            sub     sp, #44 ; 0x2c
+ 800520a:      af00            add     r7, sp, #0
+ 800520c:      6078            str     r0, [r7, #4]
+  {
+    rosserial_msgs::TopicInfo ti;
+ 800520e:      f107 030c       add.w   r3, r7, #12
+ 8005212:      4618            mov     r0, r3
+ 8005214:      f7fe fc96       bl      8003b44 <_ZN14rosserial_msgs9TopicInfoC1Ev>
+    int i;
+    for (i = 0; i < MAX_PUBLISHERS; i++)
+ 8005218:      2300            movs    r3, #0
+ 800521a:      627b            str     r3, [r7, #36]   ; 0x24
+ 800521c:      6a7b            ldr     r3, [r7, #36]   ; 0x24
+ 800521e:      2b18            cmp     r3, #24
+ 8005220:      dc5b            bgt.n   80052da <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE15negotiateTopicsEv+0xd4>
+    {
+      if (publishers[i] != 0) // non-empty slot
+ 8005222:      687b            ldr     r3, [r7, #4]
+ 8005224:      6a7a            ldr     r2, [r7, #36]   ; 0x24
+ 8005226:      f502 72b5       add.w   r2, r2, #362    ; 0x16a
+ 800522a:      f853 3022       ldr.w   r3, [r3, r2, lsl #2]
+ 800522e:      2b00            cmp     r3, #0
+ 8005230:      d04f            beq.n   80052d2 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE15negotiateTopicsEv+0xcc>
+      {
+        ti.topic_id = publishers[i]->id_;
+ 8005232:      687b            ldr     r3, [r7, #4]
+ 8005234:      6a7a            ldr     r2, [r7, #36]   ; 0x24
+ 8005236:      f502 72b5       add.w   r2, r2, #362    ; 0x16a
+ 800523a:      f853 3022       ldr.w   r3, [r3, r2, lsl #2]
+ 800523e:      689b            ldr     r3, [r3, #8]
+ 8005240:      b29b            uxth    r3, r3
+ 8005242:      823b            strh    r3, [r7, #16]
+        ti.topic_name = (char *) publishers[i]->topic_;
+ 8005244:      687b            ldr     r3, [r7, #4]
+ 8005246:      6a7a            ldr     r2, [r7, #36]   ; 0x24
+ 8005248:      f502 72b5       add.w   r2, r2, #362    ; 0x16a
+ 800524c:      f853 3022       ldr.w   r3, [r3, r2, lsl #2]
+ 8005250:      681b            ldr     r3, [r3, #0]
+ 8005252:      617b            str     r3, [r7, #20]
+        ti.message_type = (char *) publishers[i]->msg_->getType();
+ 8005254:      687b            ldr     r3, [r7, #4]
+ 8005256:      6a7a            ldr     r2, [r7, #36]   ; 0x24
+ 8005258:      f502 72b5       add.w   r2, r2, #362    ; 0x16a
+ 800525c:      f853 3022       ldr.w   r3, [r3, r2, lsl #2]
+ 8005260:      6859            ldr     r1, [r3, #4]
+ 8005262:      687b            ldr     r3, [r7, #4]
+ 8005264:      6a7a            ldr     r2, [r7, #36]   ; 0x24
+ 8005266:      f502 72b5       add.w   r2, r2, #362    ; 0x16a
+ 800526a:      f853 3022       ldr.w   r3, [r3, r2, lsl #2]
+ 800526e:      685b            ldr     r3, [r3, #4]
+ 8005270:      681b            ldr     r3, [r3, #0]
+ 8005272:      3308            adds    r3, #8
+ 8005274:      681b            ldr     r3, [r3, #0]
+ 8005276:      4608            mov     r0, r1
+ 8005278:      4798            blx     r3
+ 800527a:      4603            mov     r3, r0
+ 800527c:      61bb            str     r3, [r7, #24]
+        ti.md5sum = (char *) publishers[i]->msg_->getMD5();
+ 800527e:      687b            ldr     r3, [r7, #4]
+ 8005280:      6a7a            ldr     r2, [r7, #36]   ; 0x24
+ 8005282:      f502 72b5       add.w   r2, r2, #362    ; 0x16a
+ 8005286:      f853 3022       ldr.w   r3, [r3, r2, lsl #2]
+ 800528a:      6859            ldr     r1, [r3, #4]
+ 800528c:      687b            ldr     r3, [r7, #4]
+ 800528e:      6a7a            ldr     r2, [r7, #36]   ; 0x24
+ 8005290:      f502 72b5       add.w   r2, r2, #362    ; 0x16a
+ 8005294:      f853 3022       ldr.w   r3, [r3, r2, lsl #2]
+ 8005298:      685b            ldr     r3, [r3, #4]
+ 800529a:      681b            ldr     r3, [r3, #0]
+ 800529c:      330c            adds    r3, #12
+ 800529e:      681b            ldr     r3, [r3, #0]
+ 80052a0:      4608            mov     r0, r1
+ 80052a2:      4798            blx     r3
+ 80052a4:      4603            mov     r3, r0
+ 80052a6:      61fb            str     r3, [r7, #28]
+        ti.buffer_size = OUTPUT_SIZE;
+ 80052a8:      f44f 7300       mov.w   r3, #512        ; 0x200
+ 80052ac:      623b            str     r3, [r7, #32]
+        publish(publishers[i]->getEndpointType(), &ti);
+ 80052ae:      687b            ldr     r3, [r7, #4]
+ 80052b0:      681b            ldr     r3, [r3, #0]
+ 80052b2:      681c            ldr     r4, [r3, #0]
+ 80052b4:      687b            ldr     r3, [r7, #4]
+ 80052b6:      6a7a            ldr     r2, [r7, #36]   ; 0x24
+ 80052b8:      f502 72b5       add.w   r2, r2, #362    ; 0x16a
+ 80052bc:      f853 3022       ldr.w   r3, [r3, r2, lsl #2]
+ 80052c0:      4618            mov     r0, r3
+ 80052c2:      f7ff f9a0       bl      8004606 <_ZN3ros9Publisher15getEndpointTypeEv>
+ 80052c6:      4601            mov     r1, r0
+ 80052c8:      f107 030c       add.w   r3, r7, #12
+ 80052cc:      461a            mov     r2, r3
+ 80052ce:      6878            ldr     r0, [r7, #4]
+ 80052d0:      47a0            blx     r4
+    for (i = 0; i < MAX_PUBLISHERS; i++)
+ 80052d2:      6a7b            ldr     r3, [r7, #36]   ; 0x24
+ 80052d4:      3301            adds    r3, #1
+ 80052d6:      627b            str     r3, [r7, #36]   ; 0x24
+ 80052d8:      e7a0            b.n     800521c <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE15negotiateTopicsEv+0x16>
+      }
+    }
+    for (i = 0; i < MAX_SUBSCRIBERS; i++)
+ 80052da:      2300            movs    r3, #0
+ 80052dc:      627b            str     r3, [r7, #36]   ; 0x24
+ 80052de:      6a7b            ldr     r3, [r7, #36]   ; 0x24
+ 80052e0:      2b18            cmp     r3, #24
+ 80052e2:      dc68            bgt.n   80053b6 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE15negotiateTopicsEv+0x1b0>
+    {
+      if (subscribers[i] != 0) // non-empty slot
+ 80052e4:      687a            ldr     r2, [r7, #4]
+ 80052e6:      6a7b            ldr     r3, [r7, #36]   ; 0x24
+ 80052e8:      f503 73c1       add.w   r3, r3, #386    ; 0x182
+ 80052ec:      009b            lsls    r3, r3, #2
+ 80052ee:      4413            add     r3, r2
+ 80052f0:      685b            ldr     r3, [r3, #4]
+ 80052f2:      2b00            cmp     r3, #0
+ 80052f4:      d05b            beq.n   80053ae <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE15negotiateTopicsEv+0x1a8>
+      {
+        ti.topic_id = subscribers[i]->id_;
+ 80052f6:      687a            ldr     r2, [r7, #4]
+ 80052f8:      6a7b            ldr     r3, [r7, #36]   ; 0x24
+ 80052fa:      f503 73c1       add.w   r3, r3, #386    ; 0x182
+ 80052fe:      009b            lsls    r3, r3, #2
+ 8005300:      4413            add     r3, r2
+ 8005302:      685b            ldr     r3, [r3, #4]
+ 8005304:      685b            ldr     r3, [r3, #4]
+ 8005306:      b29b            uxth    r3, r3
+ 8005308:      823b            strh    r3, [r7, #16]
+        ti.topic_name = (char *) subscribers[i]->topic_;
+ 800530a:      687a            ldr     r2, [r7, #4]
+ 800530c:      6a7b            ldr     r3, [r7, #36]   ; 0x24
+ 800530e:      f503 73c1       add.w   r3, r3, #386    ; 0x182
+ 8005312:      009b            lsls    r3, r3, #2
+ 8005314:      4413            add     r3, r2
+ 8005316:      685b            ldr     r3, [r3, #4]
+ 8005318:      689b            ldr     r3, [r3, #8]
+ 800531a:      617b            str     r3, [r7, #20]
+        ti.message_type = (char *) subscribers[i]->getMsgType();
+ 800531c:      687a            ldr     r2, [r7, #4]
+ 800531e:      6a7b            ldr     r3, [r7, #36]   ; 0x24
+ 8005320:      f503 73c1       add.w   r3, r3, #386    ; 0x182
+ 8005324:      009b            lsls    r3, r3, #2
+ 8005326:      4413            add     r3, r2
+ 8005328:      6859            ldr     r1, [r3, #4]
+ 800532a:      687a            ldr     r2, [r7, #4]
+ 800532c:      6a7b            ldr     r3, [r7, #36]   ; 0x24
+ 800532e:      f503 73c1       add.w   r3, r3, #386    ; 0x182
+ 8005332:      009b            lsls    r3, r3, #2
+ 8005334:      4413            add     r3, r2
+ 8005336:      685b            ldr     r3, [r3, #4]
+ 8005338:      681b            ldr     r3, [r3, #0]
+ 800533a:      3308            adds    r3, #8
+ 800533c:      681b            ldr     r3, [r3, #0]
+ 800533e:      4608            mov     r0, r1
+ 8005340:      4798            blx     r3
+ 8005342:      4603            mov     r3, r0
+ 8005344:      61bb            str     r3, [r7, #24]
+        ti.md5sum = (char *) subscribers[i]->getMsgMD5();
+ 8005346:      687a            ldr     r2, [r7, #4]
+ 8005348:      6a7b            ldr     r3, [r7, #36]   ; 0x24
+ 800534a:      f503 73c1       add.w   r3, r3, #386    ; 0x182
+ 800534e:      009b            lsls    r3, r3, #2
+ 8005350:      4413            add     r3, r2
+ 8005352:      6859            ldr     r1, [r3, #4]
+ 8005354:      687a            ldr     r2, [r7, #4]
+ 8005356:      6a7b            ldr     r3, [r7, #36]   ; 0x24
+ 8005358:      f503 73c1       add.w   r3, r3, #386    ; 0x182
+ 800535c:      009b            lsls    r3, r3, #2
+ 800535e:      4413            add     r3, r2
+ 8005360:      685b            ldr     r3, [r3, #4]
+ 8005362:      681b            ldr     r3, [r3, #0]
+ 8005364:      330c            adds    r3, #12
+ 8005366:      681b            ldr     r3, [r3, #0]
+ 8005368:      4608            mov     r0, r1
+ 800536a:      4798            blx     r3
+ 800536c:      4603            mov     r3, r0
+ 800536e:      61fb            str     r3, [r7, #28]
+        ti.buffer_size = INPUT_SIZE;
+ 8005370:      f44f 7300       mov.w   r3, #512        ; 0x200
+ 8005374:      623b            str     r3, [r7, #32]
+        publish(subscribers[i]->getEndpointType(), &ti);
+ 8005376:      687b            ldr     r3, [r7, #4]
+ 8005378:      681b            ldr     r3, [r3, #0]
+ 800537a:      681c            ldr     r4, [r3, #0]
+ 800537c:      687a            ldr     r2, [r7, #4]
+ 800537e:      6a7b            ldr     r3, [r7, #36]   ; 0x24
+ 8005380:      f503 73c1       add.w   r3, r3, #386    ; 0x182
+ 8005384:      009b            lsls    r3, r3, #2
+ 8005386:      4413            add     r3, r2
+ 8005388:      6859            ldr     r1, [r3, #4]
+ 800538a:      687a            ldr     r2, [r7, #4]
+ 800538c:      6a7b            ldr     r3, [r7, #36]   ; 0x24
+ 800538e:      f503 73c1       add.w   r3, r3, #386    ; 0x182
+ 8005392:      009b            lsls    r3, r3, #2
+ 8005394:      4413            add     r3, r2
+ 8005396:      685b            ldr     r3, [r3, #4]
+ 8005398:      681b            ldr     r3, [r3, #0]
+ 800539a:      3304            adds    r3, #4
+ 800539c:      681b            ldr     r3, [r3, #0]
+ 800539e:      4608            mov     r0, r1
+ 80053a0:      4798            blx     r3
+ 80053a2:      4601            mov     r1, r0
+ 80053a4:      f107 030c       add.w   r3, r7, #12
+ 80053a8:      461a            mov     r2, r3
+ 80053aa:      6878            ldr     r0, [r7, #4]
+ 80053ac:      47a0            blx     r4
+    for (i = 0; i < MAX_SUBSCRIBERS; i++)
+ 80053ae:      6a7b            ldr     r3, [r7, #36]   ; 0x24
+ 80053b0:      3301            adds    r3, #1
+ 80053b2:      627b            str     r3, [r7, #36]   ; 0x24
+ 80053b4:      e793            b.n     80052de <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE15negotiateTopicsEv+0xd8>
+      }
+    }
+    configured_ = true;
+ 80053b6:      687b            ldr     r3, [r7, #4]
+ 80053b8:      2201            movs    r2, #1
+ 80053ba:      f883 2684       strb.w  r2, [r3, #1668] ; 0x684
+  }
+ 80053be:      bf00            nop
+ 80053c0:      372c            adds    r7, #44 ; 0x2c
+ 80053c2:      46bd            mov     sp, r7
+ 80053c4:      bd90            pop     {r4, r7, pc}
+       ...
+
+080053c8 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8syncTimeEPh>:
+  void syncTime(uint8_t * data)
+ 80053c8:      b580            push    {r7, lr}
+ 80053ca:      b086            sub     sp, #24
+ 80053cc:      af00            add     r7, sp, #0
+ 80053ce:      6078            str     r0, [r7, #4]
+ 80053d0:      6039            str     r1, [r7, #0]
+    std_msgs::Time t;
+ 80053d2:      f107 0308       add.w   r3, r7, #8
+ 80053d6:      4618            mov     r0, r3
+ 80053d8:      f7fe fac4       bl      8003964 <_ZN8std_msgs4TimeC1Ev>
+    uint32_t offset = hardware_.time() - rt_time;
+ 80053dc:      687b            ldr     r3, [r7, #4]
+ 80053de:      3304            adds    r3, #4
+ 80053e0:      4618            mov     r0, r3
+ 80053e2:      f7ff fa3e       bl      8004862 <_ZN13STM32Hardware4timeEv>
+ 80053e6:      4602            mov     r2, r0
+ 80053e8:      687b            ldr     r3, [r7, #4]
+ 80053ea:      f8d3 3198       ldr.w   r3, [r3, #408]  ; 0x198
+ 80053ee:      1ad3            subs    r3, r2, r3
+ 80053f0:      617b            str     r3, [r7, #20]
+    t.deserialize(data);
+ 80053f2:      f107 0308       add.w   r3, r7, #8
+ 80053f6:      6839            ldr     r1, [r7, #0]
+ 80053f8:      4618            mov     r0, r3
+ 80053fa:      f7fe fb23       bl      8003a44 <_ZN8std_msgs4Time11deserializeEPh>
+    t.data.sec += offset / 1000;
+ 80053fe:      68fa            ldr     r2, [r7, #12]
+ 8005400:      697b            ldr     r3, [r7, #20]
+ 8005402:      4915            ldr     r1, [pc, #84]   ; (8005458 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8syncTimeEPh+0x90>)
+ 8005404:      fba1 1303       umull   r1, r3, r1, r3
+ 8005408:      099b            lsrs    r3, r3, #6
+ 800540a:      4413            add     r3, r2
+ 800540c:      60fb            str     r3, [r7, #12]
+    t.data.nsec += (offset % 1000) * 1000000UL;
+ 800540e:      6939            ldr     r1, [r7, #16]
+ 8005410:      697a            ldr     r2, [r7, #20]
+ 8005412:      4b11            ldr     r3, [pc, #68]   ; (8005458 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8syncTimeEPh+0x90>)
+ 8005414:      fba3 0302       umull   r0, r3, r3, r2
+ 8005418:      099b            lsrs    r3, r3, #6
+ 800541a:      f44f 707a       mov.w   r0, #1000       ; 0x3e8
+ 800541e:      fb00 f303       mul.w   r3, r0, r3
+ 8005422:      1ad3            subs    r3, r2, r3
+ 8005424:      4a0d            ldr     r2, [pc, #52]   ; (800545c <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8syncTimeEPh+0x94>)
+ 8005426:      fb02 f303       mul.w   r3, r2, r3
+ 800542a:      440b            add     r3, r1
+ 800542c:      613b            str     r3, [r7, #16]
+    this->setNow(t.data);
+ 800542e:      f107 0308       add.w   r3, r7, #8
+ 8005432:      3304            adds    r3, #4
+ 8005434:      4619            mov     r1, r3
+ 8005436:      6878            ldr     r0, [r7, #4]
+ 8005438:      f000 f8a4       bl      8005584 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE6setNowERNS_4TimeE>
+    last_sync_receive_time = hardware_.time();
+ 800543c:      687b            ldr     r3, [r7, #4]
+ 800543e:      3304            adds    r3, #4
+ 8005440:      4618            mov     r0, r3
+ 8005442:      f7ff fa0e       bl      8004862 <_ZN13STM32Hardware4timeEv>
+ 8005446:      4602            mov     r2, r0
+ 8005448:      687b            ldr     r3, [r7, #4]
+ 800544a:      f8c3 268c       str.w   r2, [r3, #1676] ; 0x68c
+  }
+ 800544e:      bf00            nop
+ 8005450:      3718            adds    r7, #24
+ 8005452:      46bd            mov     sp, r7
+ 8005454:      bd80            pop     {r7, pc}
+ 8005456:      bf00            nop
+ 8005458:      10624dd3        .word   0x10624dd3
+ 800545c:      000f4240        .word   0x000f4240
+
+08005460 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE7publishEiPKNS_3MsgE>:
+
+  virtual int publish(int id, const Msg * msg)
+ 8005460:      b580            push    {r7, lr}
+ 8005462:      b088            sub     sp, #32
+ 8005464:      af00            add     r7, sp, #0
+ 8005466:      60f8            str     r0, [r7, #12]
+ 8005468:      60b9            str     r1, [r7, #8]
+ 800546a:      607a            str     r2, [r7, #4]
+  {
+    if (id >= 100 && !configured_)
+ 800546c:      68bb            ldr     r3, [r7, #8]
+ 800546e:      2b63            cmp     r3, #99 ; 0x63
+ 8005470:      dd09            ble.n   8005486 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE7publishEiPKNS_3MsgE+0x26>
+ 8005472:      68fb            ldr     r3, [r7, #12]
+ 8005474:      f893 3684       ldrb.w  r3, [r3, #1668] ; 0x684
+ 8005478:      f083 0301       eor.w   r3, r3, #1
+ 800547c:      b2db            uxtb    r3, r3
+ 800547e:      2b00            cmp     r3, #0
+ 8005480:      d001            beq.n   8005486 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE7publishEiPKNS_3MsgE+0x26>
+      return 0;
+ 8005482:      2300            movs    r3, #0
+ 8005484:      e077            b.n     8005576 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE7publishEiPKNS_3MsgE+0x116>
+
+    /* serialize message */
+    int l = msg->serialize(message_out + 7);
+ 8005486:      687b            ldr     r3, [r7, #4]
+ 8005488:      681b            ldr     r3, [r3, #0]
+ 800548a:      681b            ldr     r3, [r3, #0]
+ 800548c:      68fa            ldr     r2, [r7, #12]
+ 800548e:      f502 726a       add.w   r2, r2, #936    ; 0x3a8
+ 8005492:      3207            adds    r2, #7
+ 8005494:      4611            mov     r1, r2
+ 8005496:      6878            ldr     r0, [r7, #4]
+ 8005498:      4798            blx     r3
+ 800549a:      6178            str     r0, [r7, #20]
+
+    /* setup the header */
+    message_out[0] = 0xff;
+ 800549c:      68fb            ldr     r3, [r7, #12]
+ 800549e:      22ff            movs    r2, #255        ; 0xff
+ 80054a0:      f883 23a8       strb.w  r2, [r3, #936]  ; 0x3a8
+    message_out[1] = PROTOCOL_VER;
+ 80054a4:      68fb            ldr     r3, [r7, #12]
+ 80054a6:      22fe            movs    r2, #254        ; 0xfe
+ 80054a8:      f883 23a9       strb.w  r2, [r3, #937]  ; 0x3a9
+    message_out[2] = (uint8_t)((uint16_t)l & 255);
+ 80054ac:      697b            ldr     r3, [r7, #20]
+ 80054ae:      b2da            uxtb    r2, r3
+ 80054b0:      68fb            ldr     r3, [r7, #12]
+ 80054b2:      f883 23aa       strb.w  r2, [r3, #938]  ; 0x3aa
+    message_out[3] = (uint8_t)((uint16_t)l >> 8);
+ 80054b6:      697b            ldr     r3, [r7, #20]
+ 80054b8:      b29b            uxth    r3, r3
+ 80054ba:      121b            asrs    r3, r3, #8
+ 80054bc:      b2da            uxtb    r2, r3
+ 80054be:      68fb            ldr     r3, [r7, #12]
+ 80054c0:      f883 23ab       strb.w  r2, [r3, #939]  ; 0x3ab
+    message_out[4] = 255 - ((message_out[2] + message_out[3]) % 256);
+ 80054c4:      68fb            ldr     r3, [r7, #12]
+ 80054c6:      f893 23aa       ldrb.w  r2, [r3, #938]  ; 0x3aa
+ 80054ca:      68fb            ldr     r3, [r7, #12]
+ 80054cc:      f893 33ab       ldrb.w  r3, [r3, #939]  ; 0x3ab
+ 80054d0:      4413            add     r3, r2
+ 80054d2:      b2db            uxtb    r3, r3
+ 80054d4:      43db            mvns    r3, r3
+ 80054d6:      b2da            uxtb    r2, r3
+ 80054d8:      68fb            ldr     r3, [r7, #12]
+ 80054da:      f883 23ac       strb.w  r2, [r3, #940]  ; 0x3ac
+    message_out[5] = (uint8_t)((int16_t)id & 255);
+ 80054de:      68bb            ldr     r3, [r7, #8]
+ 80054e0:      b2da            uxtb    r2, r3
+ 80054e2:      68fb            ldr     r3, [r7, #12]
+ 80054e4:      f883 23ad       strb.w  r2, [r3, #941]  ; 0x3ad
+    message_out[6] = (uint8_t)((int16_t)id >> 8);
+ 80054e8:      68bb            ldr     r3, [r7, #8]
+ 80054ea:      b21b            sxth    r3, r3
+ 80054ec:      121b            asrs    r3, r3, #8
+ 80054ee:      b2da            uxtb    r2, r3
+ 80054f0:      68fb            ldr     r3, [r7, #12]
+ 80054f2:      f883 23ae       strb.w  r2, [r3, #942]  ; 0x3ae
+
+    /* calculate checksum */
+    int chk = 0;
+ 80054f6:      2300            movs    r3, #0
+ 80054f8:      61fb            str     r3, [r7, #28]
+    for (int i = 5; i < l + 7; i++)
+ 80054fa:      2305            movs    r3, #5
+ 80054fc:      61bb            str     r3, [r7, #24]
+ 80054fe:      697b            ldr     r3, [r7, #20]
+ 8005500:      3307            adds    r3, #7
+ 8005502:      69ba            ldr     r2, [r7, #24]
+ 8005504:      429a            cmp     r2, r3
+ 8005506:      da0d            bge.n   8005524 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE7publishEiPKNS_3MsgE+0xc4>
+      chk += message_out[i];
+ 8005508:      68fa            ldr     r2, [r7, #12]
+ 800550a:      69bb            ldr     r3, [r7, #24]
+ 800550c:      4413            add     r3, r2
+ 800550e:      f503 736a       add.w   r3, r3, #936    ; 0x3a8
+ 8005512:      781b            ldrb    r3, [r3, #0]
+ 8005514:      461a            mov     r2, r3
+ 8005516:      69fb            ldr     r3, [r7, #28]
+ 8005518:      4413            add     r3, r2
+ 800551a:      61fb            str     r3, [r7, #28]
+    for (int i = 5; i < l + 7; i++)
+ 800551c:      69bb            ldr     r3, [r7, #24]
+ 800551e:      3301            adds    r3, #1
+ 8005520:      61bb            str     r3, [r7, #24]
+ 8005522:      e7ec            b.n     80054fe <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE7publishEiPKNS_3MsgE+0x9e>
+    l += 7;
+ 8005524:      697b            ldr     r3, [r7, #20]
+ 8005526:      3307            adds    r3, #7
+ 8005528:      617b            str     r3, [r7, #20]
+    message_out[l++] = 255 - (chk % 256);
+ 800552a:      69fb            ldr     r3, [r7, #28]
+ 800552c:      425a            negs    r2, r3
+ 800552e:      b2db            uxtb    r3, r3
+ 8005530:      b2d2            uxtb    r2, r2
+ 8005532:      bf58            it      pl
+ 8005534:      4253            negpl   r3, r2
+ 8005536:      b2da            uxtb    r2, r3
+ 8005538:      697b            ldr     r3, [r7, #20]
+ 800553a:      1c59            adds    r1, r3, #1
+ 800553c:      6179            str     r1, [r7, #20]
+ 800553e:      43d2            mvns    r2, r2
+ 8005540:      b2d1            uxtb    r1, r2
+ 8005542:      68fa            ldr     r2, [r7, #12]
+ 8005544:      4413            add     r3, r2
+ 8005546:      460a            mov     r2, r1
+ 8005548:      f883 23a8       strb.w  r2, [r3, #936]  ; 0x3a8
+
+    if (l <= OUTPUT_SIZE)
+ 800554c:      697b            ldr     r3, [r7, #20]
+ 800554e:      f5b3 7f00       cmp.w   r3, #512        ; 0x200
+ 8005552:      dc0a            bgt.n   800556a <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE7publishEiPKNS_3MsgE+0x10a>
+    {
+      hardware_.write(message_out, l);
+ 8005554:      68fb            ldr     r3, [r7, #12]
+ 8005556:      1d18            adds    r0, r3, #4
+ 8005558:      68fb            ldr     r3, [r7, #12]
+ 800555a:      f503 736a       add.w   r3, r3, #936    ; 0x3a8
+ 800555e:      697a            ldr     r2, [r7, #20]
+ 8005560:      4619            mov     r1, r3
+ 8005562:      f7ff f939       bl      80047d8 <_ZN13STM32Hardware5writeEPhi>
+      return l;
+ 8005566:      697b            ldr     r3, [r7, #20]
+ 8005568:      e005            b.n     8005576 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE7publishEiPKNS_3MsgE+0x116>
+    }
+    else
+    {
+      logerror("Message from device dropped: message larger than buffer.");
+ 800556a:      4905            ldr     r1, [pc, #20]   ; (8005580 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE7publishEiPKNS_3MsgE+0x120>)
+ 800556c:      68f8            ldr     r0, [r7, #12]
+ 800556e:      f000 f849       bl      8005604 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8logerrorEPKc>
+      return -1;
+ 8005572:      f04f 33ff       mov.w   r3, #4294967295 ; 0xffffffff
+    }
+  }
+ 8005576:      4618            mov     r0, r3
+ 8005578:      3720            adds    r7, #32
+ 800557a:      46bd            mov     sp, r7
+ 800557c:      bd80            pop     {r7, pc}
+ 800557e:      bf00            nop
+ 8005580:      08005ef8        .word   0x08005ef8
+
+08005584 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE6setNowERNS_4TimeE>:
+  void setNow(Time & new_now)
+ 8005584:      b580            push    {r7, lr}
+ 8005586:      b084            sub     sp, #16
+ 8005588:      af00            add     r7, sp, #0
+ 800558a:      6078            str     r0, [r7, #4]
+ 800558c:      6039            str     r1, [r7, #0]
+    uint32_t ms = hardware_.time();
+ 800558e:      687b            ldr     r3, [r7, #4]
+ 8005590:      3304            adds    r3, #4
+ 8005592:      4618            mov     r0, r3
+ 8005594:      f7ff f965       bl      8004862 <_ZN13STM32Hardware4timeEv>
+ 8005598:      60f8            str     r0, [r7, #12]
+    sec_offset = new_now.sec - ms / 1000 - 1;
+ 800559a:      683b            ldr     r3, [r7, #0]
+ 800559c:      681a            ldr     r2, [r3, #0]
+ 800559e:      68fb            ldr     r3, [r7, #12]
+ 80055a0:      4915            ldr     r1, [pc, #84]   ; (80055f8 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE6setNowERNS_4TimeE+0x74>)
+ 80055a2:      fba1 1303       umull   r1, r3, r1, r3
+ 80055a6:      099b            lsrs    r3, r3, #6
+ 80055a8:      1ad3            subs    r3, r2, r3
+ 80055aa:      1e5a            subs    r2, r3, #1
+ 80055ac:      687b            ldr     r3, [r7, #4]
+ 80055ae:      f8c3 219c       str.w   r2, [r3, #412]  ; 0x19c
+    nsec_offset = new_now.nsec - (ms % 1000) * 1000000UL + 1000000000UL;
+ 80055b2:      683b            ldr     r3, [r7, #0]
+ 80055b4:      6859            ldr     r1, [r3, #4]
+ 80055b6:      68fa            ldr     r2, [r7, #12]
+ 80055b8:      4b0f            ldr     r3, [pc, #60]   ; (80055f8 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE6setNowERNS_4TimeE+0x74>)
+ 80055ba:      fba3 0302       umull   r0, r3, r3, r2
+ 80055be:      099b            lsrs    r3, r3, #6
+ 80055c0:      f44f 707a       mov.w   r0, #1000       ; 0x3e8
+ 80055c4:      fb00 f303       mul.w   r3, r0, r3
+ 80055c8:      1ad3            subs    r3, r2, r3
+ 80055ca:      4a0c            ldr     r2, [pc, #48]   ; (80055fc <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE6setNowERNS_4TimeE+0x78>)
+ 80055cc:      fb02 f303       mul.w   r3, r2, r3
+ 80055d0:      1aca            subs    r2, r1, r3
+ 80055d2:      4b0b            ldr     r3, [pc, #44]   ; (8005600 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE6setNowERNS_4TimeE+0x7c>)
+ 80055d4:      4413            add     r3, r2
+ 80055d6:      687a            ldr     r2, [r7, #4]
+ 80055d8:      f8c2 31a0       str.w   r3, [r2, #416]  ; 0x1a0
+    normalizeSecNSec(sec_offset, nsec_offset);
+ 80055dc:      687b            ldr     r3, [r7, #4]
+ 80055de:      f503 72ce       add.w   r2, r3, #412    ; 0x19c
+ 80055e2:      687b            ldr     r3, [r7, #4]
+ 80055e4:      f503 73d0       add.w   r3, r3, #416    ; 0x1a0
+ 80055e8:      4619            mov     r1, r3
+ 80055ea:      4610            mov     r0, r2
+ 80055ec:      f000 f842       bl      8005674 <_ZN3ros16normalizeSecNSecERmS0_>
+  }
+ 80055f0:      bf00            nop
+ 80055f2:      3710            adds    r7, #16
+ 80055f4:      46bd            mov     sp, r7
+ 80055f6:      bd80            pop     {r7, pc}
+ 80055f8:      10624dd3        .word   0x10624dd3
+ 80055fc:      000f4240        .word   0x000f4240
+ 8005600:      3b9aca00        .word   0x3b9aca00
+
+08005604 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8logerrorEPKc>:
+  }
+  void logwarn(const char *msg)
+  {
+    log(rosserial_msgs::Log::WARN, msg);
+  }
+  void logerror(const char*msg)
+ 8005604:      b580            push    {r7, lr}
+ 8005606:      b082            sub     sp, #8
+ 8005608:      af00            add     r7, sp, #0
+ 800560a:      6078            str     r0, [r7, #4]
+ 800560c:      6039            str     r1, [r7, #0]
+  {
+    log(rosserial_msgs::Log::ERROR, msg);
+ 800560e:      683a            ldr     r2, [r7, #0]
+ 8005610:      2103            movs    r1, #3
+ 8005612:      6878            ldr     r0, [r7, #4]
+ 8005614:      f000 f804       bl      8005620 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE3logEcPKc>
+  }
+ 8005618:      bf00            nop
+ 800561a:      3708            adds    r7, #8
+ 800561c:      46bd            mov     sp, r7
+ 800561e:      bd80            pop     {r7, pc}
+
+08005620 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE3logEcPKc>:
+  void log(char byte, const char * msg)
+ 8005620:      b580            push    {r7, lr}
+ 8005622:      b088            sub     sp, #32
+ 8005624:      af00            add     r7, sp, #0
+ 8005626:      60f8            str     r0, [r7, #12]
+ 8005628:      460b            mov     r3, r1
+ 800562a:      607a            str     r2, [r7, #4]
+ 800562c:      72fb            strb    r3, [r7, #11]
+    rosserial_msgs::Log l;
+ 800562e:      f107 0314       add.w   r3, r7, #20
+ 8005632:      4618            mov     r0, r3
+ 8005634:      f7fe fc4a       bl      8003ecc <_ZN14rosserial_msgs3LogC1Ev>
+    l.level = byte;
+ 8005638:      7afb            ldrb    r3, [r7, #11]
+ 800563a:      763b            strb    r3, [r7, #24]
+    l.msg = (char*)msg;
+ 800563c:      687b            ldr     r3, [r7, #4]
+ 800563e:      61fb            str     r3, [r7, #28]
+    publish(rosserial_msgs::TopicInfo::ID_LOG, &l);
+ 8005640:      68fb            ldr     r3, [r7, #12]
+ 8005642:      681b            ldr     r3, [r3, #0]
+ 8005644:      681b            ldr     r3, [r3, #0]
+ 8005646:      f107 0214       add.w   r2, r7, #20
+ 800564a:      2107            movs    r1, #7
+ 800564c:      68f8            ldr     r0, [r7, #12]
+ 800564e:      4798            blx     r3
+  }
+ 8005650:      bf00            nop
+ 8005652:      3720            adds    r7, #32
+ 8005654:      46bd            mov     sp, r7
+ 8005656:      bd80            pop     {r7, pc}
+
+08005658 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE9connectedEv>:
+  virtual bool connected()
+ 8005658:      b480            push    {r7}
+ 800565a:      b083            sub     sp, #12
+ 800565c:      af00            add     r7, sp, #0
+ 800565e:      6078            str     r0, [r7, #4]
+    return configured_;
+ 8005660:      687b            ldr     r3, [r7, #4]
+ 8005662:      f893 3684       ldrb.w  r3, [r3, #1668] ; 0x684
+  };
+ 8005666:      4618            mov     r0, r3
+ 8005668:      370c            adds    r7, #12
+ 800566a:      46bd            mov     sp, r7
+ 800566c:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8005670:      4770            bx      lr
+       ...
+
+08005674 <_ZN3ros16normalizeSecNSecERmS0_>:
+#include "ros/ros_time.h"
+
+namespace ros
+{
+void normalizeSecNSec(uint32_t& sec, uint32_t& nsec)
+{
+ 8005674:      b480            push    {r7}
+ 8005676:      b085            sub     sp, #20
+ 8005678:      af00            add     r7, sp, #0
+ 800567a:      6078            str     r0, [r7, #4]
+ 800567c:      6039            str     r1, [r7, #0]
+  uint32_t nsec_part = nsec % 1000000000UL;
+ 800567e:      683b            ldr     r3, [r7, #0]
+ 8005680:      681b            ldr     r3, [r3, #0]
+ 8005682:      0a5a            lsrs    r2, r3, #9
+ 8005684:      490f            ldr     r1, [pc, #60]   ; (80056c4 <_ZN3ros16normalizeSecNSecERmS0_+0x50>)
+ 8005686:      fba1 1202       umull   r1, r2, r1, r2
+ 800568a:      09d2            lsrs    r2, r2, #7
+ 800568c:      490e            ldr     r1, [pc, #56]   ; (80056c8 <_ZN3ros16normalizeSecNSecERmS0_+0x54>)
+ 800568e:      fb01 f202       mul.w   r2, r1, r2
+ 8005692:      1a9b            subs    r3, r3, r2
+ 8005694:      60fb            str     r3, [r7, #12]
+  uint32_t sec_part = nsec / 1000000000UL;
+ 8005696:      683b            ldr     r3, [r7, #0]
+ 8005698:      681b            ldr     r3, [r3, #0]
+ 800569a:      0a5b            lsrs    r3, r3, #9
+ 800569c:      4a09            ldr     r2, [pc, #36]   ; (80056c4 <_ZN3ros16normalizeSecNSecERmS0_+0x50>)
+ 800569e:      fba2 2303       umull   r2, r3, r2, r3
+ 80056a2:      09db            lsrs    r3, r3, #7
+ 80056a4:      60bb            str     r3, [r7, #8]
+  sec += sec_part;
+ 80056a6:      687b            ldr     r3, [r7, #4]
+ 80056a8:      681a            ldr     r2, [r3, #0]
+ 80056aa:      68bb            ldr     r3, [r7, #8]
+ 80056ac:      441a            add     r2, r3
+ 80056ae:      687b            ldr     r3, [r7, #4]
+ 80056b0:      601a            str     r2, [r3, #0]
+  nsec = nsec_part;
+ 80056b2:      683b            ldr     r3, [r7, #0]
+ 80056b4:      68fa            ldr     r2, [r7, #12]
+ 80056b6:      601a            str     r2, [r3, #0]
+}
+ 80056b8:      bf00            nop
+ 80056ba:      3714            adds    r7, #20
+ 80056bc:      46bd            mov     sp, r7
+ 80056be:      f85d 7b04       ldr.w   r7, [sp], #4
+ 80056c2:      4770            bx      lr
+ 80056c4:      00044b83        .word   0x00044b83
+ 80056c8:      3b9aca00        .word   0x3b9aca00
+
+080056cc <HAL_MspInit>:
+/* USER CODE END 0 */
+/**
+  * Initializes the Global MSP.
+  */
+void HAL_MspInit(void)
+{
+ 80056cc:      b480            push    {r7}
+ 80056ce:      b083            sub     sp, #12
+ 80056d0:      af00            add     r7, sp, #0
+  /* USER CODE BEGIN MspInit 0 */
+
+  /* USER CODE END MspInit 0 */
+
+  __HAL_RCC_PWR_CLK_ENABLE();
+ 80056d2:      4b0f            ldr     r3, [pc, #60]   ; (8005710 <HAL_MspInit+0x44>)
+ 80056d4:      6c1b            ldr     r3, [r3, #64]   ; 0x40
+ 80056d6:      4a0e            ldr     r2, [pc, #56]   ; (8005710 <HAL_MspInit+0x44>)
+ 80056d8:      f043 5380       orr.w   r3, r3, #268435456      ; 0x10000000
+ 80056dc:      6413            str     r3, [r2, #64]   ; 0x40
+ 80056de:      4b0c            ldr     r3, [pc, #48]   ; (8005710 <HAL_MspInit+0x44>)
+ 80056e0:      6c1b            ldr     r3, [r3, #64]   ; 0x40
+ 80056e2:      f003 5380       and.w   r3, r3, #268435456      ; 0x10000000
+ 80056e6:      607b            str     r3, [r7, #4]
+ 80056e8:      687b            ldr     r3, [r7, #4]
+  __HAL_RCC_SYSCFG_CLK_ENABLE();
+ 80056ea:      4b09            ldr     r3, [pc, #36]   ; (8005710 <HAL_MspInit+0x44>)
+ 80056ec:      6c5b            ldr     r3, [r3, #68]   ; 0x44
+ 80056ee:      4a08            ldr     r2, [pc, #32]   ; (8005710 <HAL_MspInit+0x44>)
+ 80056f0:      f443 4380       orr.w   r3, r3, #16384  ; 0x4000
+ 80056f4:      6453            str     r3, [r2, #68]   ; 0x44
+ 80056f6:      4b06            ldr     r3, [pc, #24]   ; (8005710 <HAL_MspInit+0x44>)
+ 80056f8:      6c5b            ldr     r3, [r3, #68]   ; 0x44
+ 80056fa:      f403 4380       and.w   r3, r3, #16384  ; 0x4000
+ 80056fe:      603b            str     r3, [r7, #0]
+ 8005700:      683b            ldr     r3, [r7, #0]
+  /* System interrupt init*/
+
+  /* USER CODE BEGIN MspInit 1 */
+
+  /* USER CODE END MspInit 1 */
+}
+ 8005702:      bf00            nop
+ 8005704:      370c            adds    r7, #12
+ 8005706:      46bd            mov     sp, r7
+ 8005708:      f85d 7b04       ldr.w   r7, [sp], #4
+ 800570c:      4770            bx      lr
+ 800570e:      bf00            nop
+ 8005710:      40023800        .word   0x40023800
+
+08005714 <HAL_TIM_Base_MspInit>:
+* This function configures the hardware resources used in this example
+* @param htim_base: TIM_Base handle pointer
+* @retval None
+*/
+void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base)
+{
+ 8005714:      b480            push    {r7}
+ 8005716:      b085            sub     sp, #20
+ 8005718:      af00            add     r7, sp, #0
+ 800571a:      6078            str     r0, [r7, #4]
+  if(htim_base->Instance==TIM2)
+ 800571c:      687b            ldr     r3, [r7, #4]
+ 800571e:      681b            ldr     r3, [r3, #0]
+ 8005720:      f1b3 4f80       cmp.w   r3, #1073741824 ; 0x40000000
+ 8005724:      d10b            bne.n   800573e <HAL_TIM_Base_MspInit+0x2a>
+  {
+  /* USER CODE BEGIN TIM2_MspInit 0 */
+
+  /* USER CODE END TIM2_MspInit 0 */
+    /* Peripheral clock enable */
+    __HAL_RCC_TIM2_CLK_ENABLE();
+ 8005726:      4b09            ldr     r3, [pc, #36]   ; (800574c <HAL_TIM_Base_MspInit+0x38>)
+ 8005728:      6c1b            ldr     r3, [r3, #64]   ; 0x40
+ 800572a:      4a08            ldr     r2, [pc, #32]   ; (800574c <HAL_TIM_Base_MspInit+0x38>)
+ 800572c:      f043 0301       orr.w   r3, r3, #1
+ 8005730:      6413            str     r3, [r2, #64]   ; 0x40
+ 8005732:      4b06            ldr     r3, [pc, #24]   ; (800574c <HAL_TIM_Base_MspInit+0x38>)
+ 8005734:      6c1b            ldr     r3, [r3, #64]   ; 0x40
+ 8005736:      f003 0301       and.w   r3, r3, #1
+ 800573a:      60fb            str     r3, [r7, #12]
+ 800573c:      68fb            ldr     r3, [r7, #12]
+  /* USER CODE BEGIN TIM2_MspInit 1 */
+
+  /* USER CODE END TIM2_MspInit 1 */
+  }
+
+}
+ 800573e:      bf00            nop
+ 8005740:      3714            adds    r7, #20
+ 8005742:      46bd            mov     sp, r7
+ 8005744:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8005748:      4770            bx      lr
+ 800574a:      bf00            nop
+ 800574c:      40023800        .word   0x40023800
+
+08005750 <HAL_UART_MspInit>:
+* This function configures the hardware resources used in this example
+* @param huart: UART handle pointer
+* @retval None
+*/
+void HAL_UART_MspInit(UART_HandleTypeDef* huart)
+{
+ 8005750:      b580            push    {r7, lr}
+ 8005752:      b08a            sub     sp, #40 ; 0x28
+ 8005754:      af00            add     r7, sp, #0
+ 8005756:      6078            str     r0, [r7, #4]
+  GPIO_InitTypeDef GPIO_InitStruct = {0};
+ 8005758:      f107 0314       add.w   r3, r7, #20
+ 800575c:      2200            movs    r2, #0
+ 800575e:      601a            str     r2, [r3, #0]
+ 8005760:      605a            str     r2, [r3, #4]
+ 8005762:      609a            str     r2, [r3, #8]
+ 8005764:      60da            str     r2, [r3, #12]
+ 8005766:      611a            str     r2, [r3, #16]
+  if(huart->Instance==USART3)
+ 8005768:      687b            ldr     r3, [r7, #4]
+ 800576a:      681b            ldr     r3, [r3, #0]
+ 800576c:      4a4a            ldr     r2, [pc, #296]  ; (8005898 <HAL_UART_MspInit+0x148>)
+ 800576e:      4293            cmp     r3, r2
+ 8005770:      f040 808d       bne.w   800588e <HAL_UART_MspInit+0x13e>
+  {
+  /* USER CODE BEGIN USART3_MspInit 0 */
+
+  /* USER CODE END USART3_MspInit 0 */
+    /* Peripheral clock enable */
+    __HAL_RCC_USART3_CLK_ENABLE();
+ 8005774:      4b49            ldr     r3, [pc, #292]  ; (800589c <HAL_UART_MspInit+0x14c>)
+ 8005776:      6c1b            ldr     r3, [r3, #64]   ; 0x40
+ 8005778:      4a48            ldr     r2, [pc, #288]  ; (800589c <HAL_UART_MspInit+0x14c>)
+ 800577a:      f443 2380       orr.w   r3, r3, #262144 ; 0x40000
+ 800577e:      6413            str     r3, [r2, #64]   ; 0x40
+ 8005780:      4b46            ldr     r3, [pc, #280]  ; (800589c <HAL_UART_MspInit+0x14c>)
+ 8005782:      6c1b            ldr     r3, [r3, #64]   ; 0x40
+ 8005784:      f403 2380       and.w   r3, r3, #262144 ; 0x40000
+ 8005788:      613b            str     r3, [r7, #16]
+ 800578a:      693b            ldr     r3, [r7, #16]
+  
+    __HAL_RCC_GPIOD_CLK_ENABLE();
+ 800578c:      4b43            ldr     r3, [pc, #268]  ; (800589c <HAL_UART_MspInit+0x14c>)
+ 800578e:      6b1b            ldr     r3, [r3, #48]   ; 0x30
+ 8005790:      4a42            ldr     r2, [pc, #264]  ; (800589c <HAL_UART_MspInit+0x14c>)
+ 8005792:      f043 0308       orr.w   r3, r3, #8
+ 8005796:      6313            str     r3, [r2, #48]   ; 0x30
+ 8005798:      4b40            ldr     r3, [pc, #256]  ; (800589c <HAL_UART_MspInit+0x14c>)
+ 800579a:      6b1b            ldr     r3, [r3, #48]   ; 0x30
+ 800579c:      f003 0308       and.w   r3, r3, #8
+ 80057a0:      60fb            str     r3, [r7, #12]
+ 80057a2:      68fb            ldr     r3, [r7, #12]
+    /**USART3 GPIO Configuration    
+    PD8     ------> USART3_TX
+    PD9     ------> USART3_RX 
+    */
+    GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_9;
+ 80057a4:      f44f 7340       mov.w   r3, #768        ; 0x300
+ 80057a8:      617b            str     r3, [r7, #20]
+    GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+ 80057aa:      2302            movs    r3, #2
+ 80057ac:      61bb            str     r3, [r7, #24]
+    GPIO_InitStruct.Pull = GPIO_NOPULL;
+ 80057ae:      2300            movs    r3, #0
+ 80057b0:      61fb            str     r3, [r7, #28]
+    GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
+ 80057b2:      2303            movs    r3, #3
+ 80057b4:      623b            str     r3, [r7, #32]
+    GPIO_InitStruct.Alternate = GPIO_AF7_USART3;
+ 80057b6:      2307            movs    r3, #7
+ 80057b8:      627b            str     r3, [r7, #36]   ; 0x24
+    HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
+ 80057ba:      f107 0314       add.w   r3, r7, #20
+ 80057be:      4619            mov     r1, r3
+ 80057c0:      4837            ldr     r0, [pc, #220]  ; (80058a0 <HAL_UART_MspInit+0x150>)
+ 80057c2:      f7fb fbeb       bl      8000f9c <HAL_GPIO_Init>
+
+    /* USART3 DMA Init */
+    /* USART3_RX Init */
+    hdma_usart3_rx.Instance = DMA1_Stream1;
+ 80057c6:      4b37            ldr     r3, [pc, #220]  ; (80058a4 <HAL_UART_MspInit+0x154>)
+ 80057c8:      4a37            ldr     r2, [pc, #220]  ; (80058a8 <HAL_UART_MspInit+0x158>)
+ 80057ca:      601a            str     r2, [r3, #0]
+    hdma_usart3_rx.Init.Channel = DMA_CHANNEL_4;
+ 80057cc:      4b35            ldr     r3, [pc, #212]  ; (80058a4 <HAL_UART_MspInit+0x154>)
+ 80057ce:      f04f 6200       mov.w   r2, #134217728  ; 0x8000000
+ 80057d2:      605a            str     r2, [r3, #4]
+    hdma_usart3_rx.Init.Direction = DMA_PERIPH_TO_MEMORY;
+ 80057d4:      4b33            ldr     r3, [pc, #204]  ; (80058a4 <HAL_UART_MspInit+0x154>)
+ 80057d6:      2200            movs    r2, #0
+ 80057d8:      609a            str     r2, [r3, #8]
+    hdma_usart3_rx.Init.PeriphInc = DMA_PINC_DISABLE;
+ 80057da:      4b32            ldr     r3, [pc, #200]  ; (80058a4 <HAL_UART_MspInit+0x154>)
+ 80057dc:      2200            movs    r2, #0
+ 80057de:      60da            str     r2, [r3, #12]
+    hdma_usart3_rx.Init.MemInc = DMA_MINC_ENABLE;
+ 80057e0:      4b30            ldr     r3, [pc, #192]  ; (80058a4 <HAL_UART_MspInit+0x154>)
+ 80057e2:      f44f 6280       mov.w   r2, #1024       ; 0x400
+ 80057e6:      611a            str     r2, [r3, #16]
+    hdma_usart3_rx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE;
+ 80057e8:      4b2e            ldr     r3, [pc, #184]  ; (80058a4 <HAL_UART_MspInit+0x154>)
+ 80057ea:      2200            movs    r2, #0
+ 80057ec:      615a            str     r2, [r3, #20]
+    hdma_usart3_rx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE;
+ 80057ee:      4b2d            ldr     r3, [pc, #180]  ; (80058a4 <HAL_UART_MspInit+0x154>)
+ 80057f0:      2200            movs    r2, #0
+ 80057f2:      619a            str     r2, [r3, #24]
+    hdma_usart3_rx.Init.Mode = DMA_NORMAL;
+ 80057f4:      4b2b            ldr     r3, [pc, #172]  ; (80058a4 <HAL_UART_MspInit+0x154>)
+ 80057f6:      2200            movs    r2, #0
+ 80057f8:      61da            str     r2, [r3, #28]
+    hdma_usart3_rx.Init.Priority = DMA_PRIORITY_LOW;
+ 80057fa:      4b2a            ldr     r3, [pc, #168]  ; (80058a4 <HAL_UART_MspInit+0x154>)
+ 80057fc:      2200            movs    r2, #0
+ 80057fe:      621a            str     r2, [r3, #32]
+    hdma_usart3_rx.Init.FIFOMode = DMA_FIFOMODE_DISABLE;
+ 8005800:      4b28            ldr     r3, [pc, #160]  ; (80058a4 <HAL_UART_MspInit+0x154>)
+ 8005802:      2200            movs    r2, #0
+ 8005804:      625a            str     r2, [r3, #36]   ; 0x24
+    if (HAL_DMA_Init(&hdma_usart3_rx) != HAL_OK)
+ 8005806:      4827            ldr     r0, [pc, #156]  ; (80058a4 <HAL_UART_MspInit+0x154>)
+ 8005808:      f7fb f830       bl      800086c <HAL_DMA_Init>
+ 800580c:      4603            mov     r3, r0
+ 800580e:      2b00            cmp     r3, #0
+ 8005810:      d001            beq.n   8005816 <HAL_UART_MspInit+0xc6>
+    {
+      Error_Handler();
+ 8005812:      f7ff f9d9       bl      8004bc8 <Error_Handler>
+    }
+
+    __HAL_LINKDMA(huart,hdmarx,hdma_usart3_rx);
+ 8005816:      687b            ldr     r3, [r7, #4]
+ 8005818:      4a22            ldr     r2, [pc, #136]  ; (80058a4 <HAL_UART_MspInit+0x154>)
+ 800581a:      66da            str     r2, [r3, #108]  ; 0x6c
+ 800581c:      4a21            ldr     r2, [pc, #132]  ; (80058a4 <HAL_UART_MspInit+0x154>)
+ 800581e:      687b            ldr     r3, [r7, #4]
+ 8005820:      6393            str     r3, [r2, #56]   ; 0x38
+
+    /* USART3_TX Init */
+    hdma_usart3_tx.Instance = DMA1_Stream3;
+ 8005822:      4b22            ldr     r3, [pc, #136]  ; (80058ac <HAL_UART_MspInit+0x15c>)
+ 8005824:      4a22            ldr     r2, [pc, #136]  ; (80058b0 <HAL_UART_MspInit+0x160>)
+ 8005826:      601a            str     r2, [r3, #0]
+    hdma_usart3_tx.Init.Channel = DMA_CHANNEL_4;
+ 8005828:      4b20            ldr     r3, [pc, #128]  ; (80058ac <HAL_UART_MspInit+0x15c>)
+ 800582a:      f04f 6200       mov.w   r2, #134217728  ; 0x8000000
+ 800582e:      605a            str     r2, [r3, #4]
+    hdma_usart3_tx.Init.Direction = DMA_MEMORY_TO_PERIPH;
+ 8005830:      4b1e            ldr     r3, [pc, #120]  ; (80058ac <HAL_UART_MspInit+0x15c>)
+ 8005832:      2240            movs    r2, #64 ; 0x40
+ 8005834:      609a            str     r2, [r3, #8]
+    hdma_usart3_tx.Init.PeriphInc = DMA_PINC_DISABLE;
+ 8005836:      4b1d            ldr     r3, [pc, #116]  ; (80058ac <HAL_UART_MspInit+0x15c>)
+ 8005838:      2200            movs    r2, #0
+ 800583a:      60da            str     r2, [r3, #12]
+    hdma_usart3_tx.Init.MemInc = DMA_MINC_ENABLE;
+ 800583c:      4b1b            ldr     r3, [pc, #108]  ; (80058ac <HAL_UART_MspInit+0x15c>)
+ 800583e:      f44f 6280       mov.w   r2, #1024       ; 0x400
+ 8005842:      611a            str     r2, [r3, #16]
+    hdma_usart3_tx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE;
+ 8005844:      4b19            ldr     r3, [pc, #100]  ; (80058ac <HAL_UART_MspInit+0x15c>)
+ 8005846:      2200            movs    r2, #0
+ 8005848:      615a            str     r2, [r3, #20]
+    hdma_usart3_tx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE;
+ 800584a:      4b18            ldr     r3, [pc, #96]   ; (80058ac <HAL_UART_MspInit+0x15c>)
+ 800584c:      2200            movs    r2, #0
+ 800584e:      619a            str     r2, [r3, #24]
+    hdma_usart3_tx.Init.Mode = DMA_NORMAL;
+ 8005850:      4b16            ldr     r3, [pc, #88]   ; (80058ac <HAL_UART_MspInit+0x15c>)
+ 8005852:      2200            movs    r2, #0
+ 8005854:      61da            str     r2, [r3, #28]
+    hdma_usart3_tx.Init.Priority = DMA_PRIORITY_LOW;
+ 8005856:      4b15            ldr     r3, [pc, #84]   ; (80058ac <HAL_UART_MspInit+0x15c>)
+ 8005858:      2200            movs    r2, #0
+ 800585a:      621a            str     r2, [r3, #32]
+    hdma_usart3_tx.Init.FIFOMode = DMA_FIFOMODE_DISABLE;
+ 800585c:      4b13            ldr     r3, [pc, #76]   ; (80058ac <HAL_UART_MspInit+0x15c>)
+ 800585e:      2200            movs    r2, #0
+ 8005860:      625a            str     r2, [r3, #36]   ; 0x24
+    if (HAL_DMA_Init(&hdma_usart3_tx) != HAL_OK)
+ 8005862:      4812            ldr     r0, [pc, #72]   ; (80058ac <HAL_UART_MspInit+0x15c>)
+ 8005864:      f7fb f802       bl      800086c <HAL_DMA_Init>
+ 8005868:      4603            mov     r3, r0
+ 800586a:      2b00            cmp     r3, #0
+ 800586c:      d001            beq.n   8005872 <HAL_UART_MspInit+0x122>
+    {
+      Error_Handler();
+ 800586e:      f7ff f9ab       bl      8004bc8 <Error_Handler>
+    }
+
+    __HAL_LINKDMA(huart,hdmatx,hdma_usart3_tx);
+ 8005872:      687b            ldr     r3, [r7, #4]
+ 8005874:      4a0d            ldr     r2, [pc, #52]   ; (80058ac <HAL_UART_MspInit+0x15c>)
+ 8005876:      669a            str     r2, [r3, #104]  ; 0x68
+ 8005878:      4a0c            ldr     r2, [pc, #48]   ; (80058ac <HAL_UART_MspInit+0x15c>)
+ 800587a:      687b            ldr     r3, [r7, #4]
+ 800587c:      6393            str     r3, [r2, #56]   ; 0x38
+
+    /* USART3 interrupt Init */
+    HAL_NVIC_SetPriority(USART3_IRQn, 0, 0);
+ 800587e:      2200            movs    r2, #0
+ 8005880:      2100            movs    r1, #0
+ 8005882:      2027            movs    r0, #39 ; 0x27
+ 8005884:      f7fa ffbb       bl      80007fe <HAL_NVIC_SetPriority>
+    HAL_NVIC_EnableIRQ(USART3_IRQn);
+ 8005888:      2027            movs    r0, #39 ; 0x27
+ 800588a:      f7fa ffd4       bl      8000836 <HAL_NVIC_EnableIRQ>
+  /* USER CODE BEGIN USART3_MspInit 1 */
+
+  /* USER CODE END USART3_MspInit 1 */
+  }
+
+}
+ 800588e:      bf00            nop
+ 8005890:      3728            adds    r7, #40 ; 0x28
+ 8005892:      46bd            mov     sp, r7
+ 8005894:      bd80            pop     {r7, pc}
+ 8005896:      bf00            nop
+ 8005898:      40004800        .word   0x40004800
+ 800589c:      40023800        .word   0x40023800
+ 80058a0:      40020c00        .word   0x40020c00
+ 80058a4:      20000154        .word   0x20000154
+ 80058a8:      40026028        .word   0x40026028
+ 80058ac:      200001b4        .word   0x200001b4
+ 80058b0:      40026058        .word   0x40026058
+
+080058b4 <NMI_Handler>:
+/******************************************************************************/
+/**
+  * @brief This function handles Non maskable interrupt.
+  */
+void NMI_Handler(void)
+{
+ 80058b4:      b480            push    {r7}
+ 80058b6:      af00            add     r7, sp, #0
+
+  /* USER CODE END NonMaskableInt_IRQn 0 */
+  /* USER CODE BEGIN NonMaskableInt_IRQn 1 */
+
+  /* USER CODE END NonMaskableInt_IRQn 1 */
+}
+ 80058b8:      bf00            nop
+ 80058ba:      46bd            mov     sp, r7
+ 80058bc:      f85d 7b04       ldr.w   r7, [sp], #4
+ 80058c0:      4770            bx      lr
+
+080058c2 <HardFault_Handler>:
+
+/**
+  * @brief This function handles Hard fault interrupt.
+  */
+void HardFault_Handler(void)
+{
+ 80058c2:      b480            push    {r7}
+ 80058c4:      af00            add     r7, sp, #0
+  /* USER CODE BEGIN HardFault_IRQn 0 */
+
+  /* USER CODE END HardFault_IRQn 0 */
+  while (1)
+ 80058c6:      e7fe            b.n     80058c6 <HardFault_Handler+0x4>
+
+080058c8 <MemManage_Handler>:
+
+/**
+  * @brief This function handles Memory management fault.
+  */
+void MemManage_Handler(void)
+{
+ 80058c8:      b480            push    {r7}
+ 80058ca:      af00            add     r7, sp, #0
+  /* USER CODE BEGIN MemoryManagement_IRQn 0 */
+
+  /* USER CODE END MemoryManagement_IRQn 0 */
+  while (1)
+ 80058cc:      e7fe            b.n     80058cc <MemManage_Handler+0x4>
+
+080058ce <BusFault_Handler>:
+
+/**
+  * @brief This function handles Pre-fetch fault, memory access fault.
+  */
+void BusFault_Handler(void)
+{
+ 80058ce:      b480            push    {r7}
+ 80058d0:      af00            add     r7, sp, #0
+  /* USER CODE BEGIN BusFault_IRQn 0 */
+
+  /* USER CODE END BusFault_IRQn 0 */
+  while (1)
+ 80058d2:      e7fe            b.n     80058d2 <BusFault_Handler+0x4>
+
+080058d4 <UsageFault_Handler>:
+
+/**
+  * @brief This function handles Undefined instruction or illegal state.
+  */
+void UsageFault_Handler(void)
+{
+ 80058d4:      b480            push    {r7}
+ 80058d6:      af00            add     r7, sp, #0
+  /* USER CODE BEGIN UsageFault_IRQn 0 */
+
+  /* USER CODE END UsageFault_IRQn 0 */
+  while (1)
+ 80058d8:      e7fe            b.n     80058d8 <UsageFault_Handler+0x4>
+
+080058da <SVC_Handler>:
+
+/**
+  * @brief This function handles System service call via SWI instruction.
+  */
+void SVC_Handler(void)
+{
+ 80058da:      b480            push    {r7}
+ 80058dc:      af00            add     r7, sp, #0
+
+  /* USER CODE END SVCall_IRQn 0 */
+  /* USER CODE BEGIN SVCall_IRQn 1 */
+
+  /* USER CODE END SVCall_IRQn 1 */
+}
+ 80058de:      bf00            nop
+ 80058e0:      46bd            mov     sp, r7
+ 80058e2:      f85d 7b04       ldr.w   r7, [sp], #4
+ 80058e6:      4770            bx      lr
+
+080058e8 <DebugMon_Handler>:
+
+/**
+  * @brief This function handles Debug monitor.
+  */
+void DebugMon_Handler(void)
+{
+ 80058e8:      b480            push    {r7}
+ 80058ea:      af00            add     r7, sp, #0
+
+  /* USER CODE END DebugMonitor_IRQn 0 */
+  /* USER CODE BEGIN DebugMonitor_IRQn 1 */
+
+  /* USER CODE END DebugMonitor_IRQn 1 */
+}
+ 80058ec:      bf00            nop
+ 80058ee:      46bd            mov     sp, r7
+ 80058f0:      f85d 7b04       ldr.w   r7, [sp], #4
+ 80058f4:      4770            bx      lr
+
+080058f6 <PendSV_Handler>:
+
+/**
+  * @brief This function handles Pendable request for system service.
+  */
+void PendSV_Handler(void)
+{
+ 80058f6:      b480            push    {r7}
+ 80058f8:      af00            add     r7, sp, #0
+
+  /* USER CODE END PendSV_IRQn 0 */
+  /* USER CODE BEGIN PendSV_IRQn 1 */
+
+  /* USER CODE END PendSV_IRQn 1 */
+}
+ 80058fa:      bf00            nop
+ 80058fc:      46bd            mov     sp, r7
+ 80058fe:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8005902:      4770            bx      lr
+
+08005904 <SysTick_Handler>:
+
+/**
+  * @brief This function handles System tick timer.
+  */
+void SysTick_Handler(void)
+{
+ 8005904:      b580            push    {r7, lr}
+ 8005906:      af00            add     r7, sp, #0
+  /* USER CODE BEGIN SysTick_IRQn 0 */
+
+  /* USER CODE END SysTick_IRQn 0 */
+  HAL_IncTick();
+ 8005908:      f7fa fe5c       bl      80005c4 <HAL_IncTick>
+  /* USER CODE BEGIN SysTick_IRQn 1 */
+
+  /* USER CODE END SysTick_IRQn 1 */
+}
+ 800590c:      bf00            nop
+ 800590e:      bd80            pop     {r7, pc}
+
+08005910 <DMA1_Stream1_IRQHandler>:
+
+/**
+  * @brief This function handles DMA1 stream1 global interrupt.
+  */
+void DMA1_Stream1_IRQHandler(void)
+{
+ 8005910:      b580            push    {r7, lr}
+ 8005912:      af00            add     r7, sp, #0
+  /* USER CODE BEGIN DMA1_Stream1_IRQn 0 */
+
+  /* USER CODE END DMA1_Stream1_IRQn 0 */
+  HAL_DMA_IRQHandler(&hdma_usart3_rx);
+ 8005914:      4802            ldr     r0, [pc, #8]    ; (8005920 <DMA1_Stream1_IRQHandler+0x10>)
+ 8005916:      f7fb f8d9       bl      8000acc <HAL_DMA_IRQHandler>
+  /* USER CODE BEGIN DMA1_Stream1_IRQn 1 */
+
+  /* USER CODE END DMA1_Stream1_IRQn 1 */
+}
+ 800591a:      bf00            nop
+ 800591c:      bd80            pop     {r7, pc}
+ 800591e:      bf00            nop
+ 8005920:      20000154        .word   0x20000154
+
+08005924 <DMA1_Stream3_IRQHandler>:
+
+/**
+  * @brief This function handles DMA1 stream3 global interrupt.
+  */
+void DMA1_Stream3_IRQHandler(void)
+{
+ 8005924:      b580            push    {r7, lr}
+ 8005926:      af00            add     r7, sp, #0
+  /* USER CODE BEGIN DMA1_Stream3_IRQn 0 */
+
+  /* USER CODE END DMA1_Stream3_IRQn 0 */
+  HAL_DMA_IRQHandler(&hdma_usart3_tx);
+ 8005928:      4802            ldr     r0, [pc, #8]    ; (8005934 <DMA1_Stream3_IRQHandler+0x10>)
+ 800592a:      f7fb f8cf       bl      8000acc <HAL_DMA_IRQHandler>
+  /* USER CODE BEGIN DMA1_Stream3_IRQn 1 */
+
+  /* USER CODE END DMA1_Stream3_IRQn 1 */
+}
+ 800592e:      bf00            nop
+ 8005930:      bd80            pop     {r7, pc}
+ 8005932:      bf00            nop
+ 8005934:      200001b4        .word   0x200001b4
+
+08005938 <USART3_IRQHandler>:
+
+/**
+  * @brief This function handles USART3 global interrupt.
+  */
+void USART3_IRQHandler(void)
+{
+ 8005938:      b580            push    {r7, lr}
+ 800593a:      af00            add     r7, sp, #0
+  /* USER CODE BEGIN USART3_IRQn 0 */
+
+  /* USER CODE END USART3_IRQn 0 */
+  HAL_UART_IRQHandler(&huart3);
+ 800593c:      4802            ldr     r0, [pc, #8]    ; (8005948 <USART3_IRQHandler+0x10>)
+ 800593e:      f7fd f931       bl      8002ba4 <HAL_UART_IRQHandler>
+  /* USER CODE BEGIN USART3_IRQn 1 */
+
+  /* USER CODE END USART3_IRQn 1 */
+}
+ 8005942:      bf00            nop
+ 8005944:      bd80            pop     {r7, pc}
+ 8005946:      bf00            nop
+ 8005948:      200000d4        .word   0x200000d4
+
+0800594c <_getpid>:
+void initialise_monitor_handles()
+{
+}
+
+int _getpid(void)
+{
+ 800594c:      b480            push    {r7}
+ 800594e:      af00            add     r7, sp, #0
+       return 1;
+ 8005950:      2301            movs    r3, #1
+}
+ 8005952:      4618            mov     r0, r3
+ 8005954:      46bd            mov     sp, r7
+ 8005956:      f85d 7b04       ldr.w   r7, [sp], #4
+ 800595a:      4770            bx      lr
+
+0800595c <_kill>:
+
+int _kill(int pid, int sig)
+{
+ 800595c:      b580            push    {r7, lr}
+ 800595e:      b082            sub     sp, #8
+ 8005960:      af00            add     r7, sp, #0
+ 8005962:      6078            str     r0, [r7, #4]
+ 8005964:      6039            str     r1, [r7, #0]
+       errno = EINVAL;
+ 8005966:      f000 f8b9       bl      8005adc <__errno>
+ 800596a:      4602            mov     r2, r0
+ 800596c:      2316            movs    r3, #22
+ 800596e:      6013            str     r3, [r2, #0]
+       return -1;
+ 8005970:      f04f 33ff       mov.w   r3, #4294967295 ; 0xffffffff
+}
+ 8005974:      4618            mov     r0, r3
+ 8005976:      3708            adds    r7, #8
+ 8005978:      46bd            mov     sp, r7
+ 800597a:      bd80            pop     {r7, pc}
+
+0800597c <_exit>:
+
+void _exit (int status)
+{
+ 800597c:      b580            push    {r7, lr}
+ 800597e:      b082            sub     sp, #8
+ 8005980:      af00            add     r7, sp, #0
+ 8005982:      6078            str     r0, [r7, #4]
+       _kill(status, -1);
+ 8005984:      f04f 31ff       mov.w   r1, #4294967295 ; 0xffffffff
+ 8005988:      6878            ldr     r0, [r7, #4]
+ 800598a:      f7ff ffe7       bl      800595c <_kill>
+       while (1) {}            /* Make sure we hang here */
+ 800598e:      e7fe            b.n     800598e <_exit+0x12>
+
+08005990 <_sbrk>:
+/**
+ _sbrk
+ Increase program data space. Malloc and related functions depend on this
+**/
+caddr_t _sbrk(int incr)
+{
+ 8005990:      b580            push    {r7, lr}
+ 8005992:      b084            sub     sp, #16
+ 8005994:      af00            add     r7, sp, #0
+ 8005996:      6078            str     r0, [r7, #4]
+       extern char end asm("end");
+       static char *heap_end;
+       char *prev_heap_end;
+
+       if (heap_end == 0)
+ 8005998:      4b11            ldr     r3, [pc, #68]   ; (80059e0 <_sbrk+0x50>)
+ 800599a:      681b            ldr     r3, [r3, #0]
+ 800599c:      2b00            cmp     r3, #0
+ 800599e:      d102            bne.n   80059a6 <_sbrk+0x16>
+               heap_end = &end;
+ 80059a0:      4b0f            ldr     r3, [pc, #60]   ; (80059e0 <_sbrk+0x50>)
+ 80059a2:      4a10            ldr     r2, [pc, #64]   ; (80059e4 <_sbrk+0x54>)
+ 80059a4:      601a            str     r2, [r3, #0]
+
+       prev_heap_end = heap_end;
+ 80059a6:      4b0e            ldr     r3, [pc, #56]   ; (80059e0 <_sbrk+0x50>)
+ 80059a8:      681b            ldr     r3, [r3, #0]
+ 80059aa:      60fb            str     r3, [r7, #12]
+       if (heap_end + incr > stack_ptr)
+ 80059ac:      4b0c            ldr     r3, [pc, #48]   ; (80059e0 <_sbrk+0x50>)
+ 80059ae:      681a            ldr     r2, [r3, #0]
+ 80059b0:      687b            ldr     r3, [r7, #4]
+ 80059b2:      4413            add     r3, r2
+ 80059b4:      466a            mov     r2, sp
+ 80059b6:      4293            cmp     r3, r2
+ 80059b8:      d907            bls.n   80059ca <_sbrk+0x3a>
+       {
+               errno = ENOMEM;
+ 80059ba:      f000 f88f       bl      8005adc <__errno>
+ 80059be:      4602            mov     r2, r0
+ 80059c0:      230c            movs    r3, #12
+ 80059c2:      6013            str     r3, [r2, #0]
+               return (caddr_t) -1;
+ 80059c4:      f04f 33ff       mov.w   r3, #4294967295 ; 0xffffffff
+ 80059c8:      e006            b.n     80059d8 <_sbrk+0x48>
+       }
+
+       heap_end += incr;
+ 80059ca:      4b05            ldr     r3, [pc, #20]   ; (80059e0 <_sbrk+0x50>)
+ 80059cc:      681a            ldr     r2, [r3, #0]
+ 80059ce:      687b            ldr     r3, [r7, #4]
+ 80059d0:      4413            add     r3, r2
+ 80059d2:      4a03            ldr     r2, [pc, #12]   ; (80059e0 <_sbrk+0x50>)
+ 80059d4:      6013            str     r3, [r2, #0]
+
+       return (caddr_t) prev_heap_end;
+ 80059d6:      68fb            ldr     r3, [r7, #12]
+}
+ 80059d8:      4618            mov     r0, r3
+ 80059da:      3710            adds    r7, #16
+ 80059dc:      46bd            mov     sp, r7
+ 80059de:      bd80            pop     {r7, pc}
+ 80059e0:      20000214        .word   0x20000214
+ 80059e4:      20000228        .word   0x20000228
+
+080059e8 <SystemInit>:
+  *         SystemFrequency variable.
+  * @param  None
+  * @retval None
+  */
+void SystemInit(void)
+{
+ 80059e8:      b480            push    {r7}
+ 80059ea:      af00            add     r7, sp, #0
+  /* FPU settings ------------------------------------------------------------*/
+  #if (__FPU_PRESENT == 1) && (__FPU_USED == 1)
+    SCB->CPACR |= ((3UL << 10*2)|(3UL << 11*2));  /* set CP10 and CP11 Full Access */
+ 80059ec:      4b15            ldr     r3, [pc, #84]   ; (8005a44 <SystemInit+0x5c>)
+ 80059ee:      f8d3 3088       ldr.w   r3, [r3, #136]  ; 0x88
+ 80059f2:      4a14            ldr     r2, [pc, #80]   ; (8005a44 <SystemInit+0x5c>)
+ 80059f4:      f443 0370       orr.w   r3, r3, #15728640       ; 0xf00000
+ 80059f8:      f8c2 3088       str.w   r3, [r2, #136]  ; 0x88
+  #endif
+  /* Reset the RCC clock configuration to the default reset state ------------*/
+  /* Set HSION bit */
+  RCC->CR |= (uint32_t)0x00000001;
+ 80059fc:      4b12            ldr     r3, [pc, #72]   ; (8005a48 <SystemInit+0x60>)
+ 80059fe:      681b            ldr     r3, [r3, #0]
+ 8005a00:      4a11            ldr     r2, [pc, #68]   ; (8005a48 <SystemInit+0x60>)
+ 8005a02:      f043 0301       orr.w   r3, r3, #1
+ 8005a06:      6013            str     r3, [r2, #0]
+
+  /* Reset CFGR register */
+  RCC->CFGR = 0x00000000;
+ 8005a08:      4b0f            ldr     r3, [pc, #60]   ; (8005a48 <SystemInit+0x60>)
+ 8005a0a:      2200            movs    r2, #0
+ 8005a0c:      609a            str     r2, [r3, #8]
+
+  /* Reset HSEON, CSSON and PLLON bits */
+  RCC->CR &= (uint32_t)0xFEF6FFFF;
+ 8005a0e:      4b0e            ldr     r3, [pc, #56]   ; (8005a48 <SystemInit+0x60>)
+ 8005a10:      681a            ldr     r2, [r3, #0]
+ 8005a12:      490d            ldr     r1, [pc, #52]   ; (8005a48 <SystemInit+0x60>)
+ 8005a14:      4b0d            ldr     r3, [pc, #52]   ; (8005a4c <SystemInit+0x64>)
+ 8005a16:      4013            ands    r3, r2
+ 8005a18:      600b            str     r3, [r1, #0]
+
+  /* Reset PLLCFGR register */
+  RCC->PLLCFGR = 0x24003010;
+ 8005a1a:      4b0b            ldr     r3, [pc, #44]   ; (8005a48 <SystemInit+0x60>)
+ 8005a1c:      4a0c            ldr     r2, [pc, #48]   ; (8005a50 <SystemInit+0x68>)
+ 8005a1e:      605a            str     r2, [r3, #4]
+
+  /* Reset HSEBYP bit */
+  RCC->CR &= (uint32_t)0xFFFBFFFF;
+ 8005a20:      4b09            ldr     r3, [pc, #36]   ; (8005a48 <SystemInit+0x60>)
+ 8005a22:      681b            ldr     r3, [r3, #0]
+ 8005a24:      4a08            ldr     r2, [pc, #32]   ; (8005a48 <SystemInit+0x60>)
+ 8005a26:      f423 2380       bic.w   r3, r3, #262144 ; 0x40000
+ 8005a2a:      6013            str     r3, [r2, #0]
+
+  /* Disable all interrupts */
+  RCC->CIR = 0x00000000;
+ 8005a2c:      4b06            ldr     r3, [pc, #24]   ; (8005a48 <SystemInit+0x60>)
+ 8005a2e:      2200            movs    r2, #0
+ 8005a30:      60da            str     r2, [r3, #12]
+
+  /* Configure the Vector Table location add offset address ------------------*/
+#ifdef VECT_TAB_SRAM
+  SCB->VTOR = RAMDTCM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */
+#else
+  SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */
+ 8005a32:      4b04            ldr     r3, [pc, #16]   ; (8005a44 <SystemInit+0x5c>)
+ 8005a34:      f04f 6200       mov.w   r2, #134217728  ; 0x8000000
+ 8005a38:      609a            str     r2, [r3, #8]
+#endif
+}
+ 8005a3a:      bf00            nop
+ 8005a3c:      46bd            mov     sp, r7
+ 8005a3e:      f85d 7b04       ldr.w   r7, [sp], #4
+ 8005a42:      4770            bx      lr
+ 8005a44:      e000ed00        .word   0xe000ed00
+ 8005a48:      40023800        .word   0x40023800
+ 8005a4c:      fef6ffff        .word   0xfef6ffff
+ 8005a50:      24003010        .word   0x24003010
+
+08005a54 <Reset_Handler>:
+
+    .section  .text.Reset_Handler
+  .weak  Reset_Handler
+  .type  Reset_Handler, %function
+Reset_Handler:  
+  ldr   sp, =_estack      /* set stack pointer */
+ 8005a54:      f8df d034       ldr.w   sp, [pc, #52]   ; 8005a8c <LoopFillZerobss+0x14>
+
+/* Copy the data segment initializers from flash to SRAM */  
+  movs  r1, #0
+ 8005a58:      2100            movs    r1, #0
+  b  LoopCopyDataInit
+ 8005a5a:      e003            b.n     8005a64 <LoopCopyDataInit>
+
+08005a5c <CopyDataInit>:
+
+CopyDataInit:
+  ldr  r3, =_sidata
+ 8005a5c:      4b0c            ldr     r3, [pc, #48]   ; (8005a90 <LoopFillZerobss+0x18>)
+  ldr  r3, [r3, r1]
+ 8005a5e:      585b            ldr     r3, [r3, r1]
+  str  r3, [r0, r1]
+ 8005a60:      5043            str     r3, [r0, r1]
+  adds  r1, r1, #4
+ 8005a62:      3104            adds    r1, #4
+
+08005a64 <LoopCopyDataInit>:
+    
+LoopCopyDataInit:
+  ldr  r0, =_sdata
+ 8005a64:      480b            ldr     r0, [pc, #44]   ; (8005a94 <LoopFillZerobss+0x1c>)
+  ldr  r3, =_edata
+ 8005a66:      4b0c            ldr     r3, [pc, #48]   ; (8005a98 <LoopFillZerobss+0x20>)
+  adds  r2, r0, r1
+ 8005a68:      1842            adds    r2, r0, r1
+  cmp  r2, r3
+ 8005a6a:      429a            cmp     r2, r3
+  bcc  CopyDataInit
+ 8005a6c:      d3f6            bcc.n   8005a5c <CopyDataInit>
+  ldr  r2, =_sbss
+ 8005a6e:      4a0b            ldr     r2, [pc, #44]   ; (8005a9c <LoopFillZerobss+0x24>)
+  b  LoopFillZerobss
+ 8005a70:      e002            b.n     8005a78 <LoopFillZerobss>
+
+08005a72 <FillZerobss>:
+/* Zero fill the bss segment. */  
+FillZerobss:
+  movs  r3, #0
+ 8005a72:      2300            movs    r3, #0
+  str  r3, [r2], #4
+ 8005a74:      f842 3b04       str.w   r3, [r2], #4
+
+08005a78 <LoopFillZerobss>:
+    
+LoopFillZerobss:
+  ldr  r3, = _ebss
+ 8005a78:      4b09            ldr     r3, [pc, #36]   ; (8005aa0 <LoopFillZerobss+0x28>)
+  cmp  r2, r3
+ 8005a7a:      429a            cmp     r2, r3
+  bcc  FillZerobss
+ 8005a7c:      d3f9            bcc.n   8005a72 <FillZerobss>
+
+/* Call the clock system initialization function.*/
+  bl  SystemInit   
+ 8005a7e:      f7ff ffb3       bl      80059e8 <SystemInit>
+/* Call static constructors */
+    bl __libc_init_array
+ 8005a82:      f000 f831       bl      8005ae8 <__libc_init_array>
+/* Call the application's entry point.*/
+  bl  main
+ 8005a86:      f7fe fef7       bl      8004878 <main>
+  bx  lr    
+ 8005a8a:      4770            bx      lr
+  ldr   sp, =_estack      /* set stack pointer */
+ 8005a8c:      20080000        .word   0x20080000
+  ldr  r3, =_sidata
+ 8005a90:      08006038        .word   0x08006038
+  ldr  r0, =_sdata
+ 8005a94:      20000000        .word   0x20000000
+  ldr  r3, =_edata
+ 8005a98:      20000074        .word   0x20000074
+  ldr  r2, =_sbss
+ 8005a9c:      20000074        .word   0x20000074
+  ldr  r3, = _ebss
+ 8005aa0:      20000228        .word   0x20000228
+
+08005aa4 <ADC_IRQHandler>:
+ * @retval None       
+*/
+    .section  .text.Default_Handler,"ax",%progbits
+Default_Handler:
+Infinite_Loop:
+  b  Infinite_Loop
+ 8005aa4:      e7fe            b.n     8005aa4 <ADC_IRQHandler>
+
+08005aa6 <__cxa_pure_virtual>:
+ 8005aa6:      b508            push    {r3, lr}
+ 8005aa8:      f000 f80c       bl      8005ac4 <_ZSt9terminatev>
+
+08005aac <_ZN10__cxxabiv111__terminateEPFvvE>:
+ 8005aac:      b508            push    {r3, lr}
+ 8005aae:      4780            blx     r0
+ 8005ab0:      f000 f80d       bl      8005ace <abort>
+
+08005ab4 <_ZSt13get_terminatev>:
+ 8005ab4:      4b02            ldr     r3, [pc, #8]    ; (8005ac0 <_ZSt13get_terminatev+0xc>)
+ 8005ab6:      6818            ldr     r0, [r3, #0]
+ 8005ab8:      f3bf 8f5b       dmb     ish
+ 8005abc:      4770            bx      lr
+ 8005abe:      bf00            nop
+ 8005ac0:      2000000c        .word   0x2000000c
+
+08005ac4 <_ZSt9terminatev>:
+ 8005ac4:      b508            push    {r3, lr}
+ 8005ac6:      f7ff fff5       bl      8005ab4 <_ZSt13get_terminatev>
+ 8005aca:      f7ff ffef       bl      8005aac <_ZN10__cxxabiv111__terminateEPFvvE>
+
+08005ace <abort>:
+ 8005ace:      b508            push    {r3, lr}
+ 8005ad0:      2006            movs    r0, #6
+ 8005ad2:      f000 f871       bl      8005bb8 <raise>
+ 8005ad6:      2001            movs    r0, #1
+ 8005ad8:      f7ff ff50       bl      800597c <_exit>
+
+08005adc <__errno>:
+ 8005adc:      4b01            ldr     r3, [pc, #4]    ; (8005ae4 <__errno+0x8>)
+ 8005ade:      6818            ldr     r0, [r3, #0]
+ 8005ae0:      4770            bx      lr
+ 8005ae2:      bf00            nop
+ 8005ae4:      20000010        .word   0x20000010
+
+08005ae8 <__libc_init_array>:
+ 8005ae8:      b570            push    {r4, r5, r6, lr}
+ 8005aea:      4e0d            ldr     r6, [pc, #52]   ; (8005b20 <__libc_init_array+0x38>)
+ 8005aec:      4c0d            ldr     r4, [pc, #52]   ; (8005b24 <__libc_init_array+0x3c>)
+ 8005aee:      1ba4            subs    r4, r4, r6
+ 8005af0:      10a4            asrs    r4, r4, #2
+ 8005af2:      2500            movs    r5, #0
+ 8005af4:      42a5            cmp     r5, r4
+ 8005af6:      d109            bne.n   8005b0c <__libc_init_array+0x24>
+ 8005af8:      4e0b            ldr     r6, [pc, #44]   ; (8005b28 <__libc_init_array+0x40>)
+ 8005afa:      4c0c            ldr     r4, [pc, #48]   ; (8005b2c <__libc_init_array+0x44>)
+ 8005afc:      f000 f960       bl      8005dc0 <_init>
+ 8005b00:      1ba4            subs    r4, r4, r6
+ 8005b02:      10a4            asrs    r4, r4, #2
+ 8005b04:      2500            movs    r5, #0
+ 8005b06:      42a5            cmp     r5, r4
+ 8005b08:      d105            bne.n   8005b16 <__libc_init_array+0x2e>
+ 8005b0a:      bd70            pop     {r4, r5, r6, pc}
+ 8005b0c:      f856 3025       ldr.w   r3, [r6, r5, lsl #2]
+ 8005b10:      4798            blx     r3
+ 8005b12:      3501            adds    r5, #1
+ 8005b14:      e7ee            b.n     8005af4 <__libc_init_array+0xc>
+ 8005b16:      f856 3025       ldr.w   r3, [r6, r5, lsl #2]
+ 8005b1a:      4798            blx     r3
+ 8005b1c:      3501            adds    r5, #1
+ 8005b1e:      e7f2            b.n     8005b06 <__libc_init_array+0x1e>
+ 8005b20:      08006030        .word   0x08006030
+ 8005b24:      08006030        .word   0x08006030
+ 8005b28:      08006030        .word   0x08006030
+ 8005b2c:      08006034        .word   0x08006034
+
+08005b30 <memcpy>:
+ 8005b30:      b510            push    {r4, lr}
+ 8005b32:      1e43            subs    r3, r0, #1
+ 8005b34:      440a            add     r2, r1
+ 8005b36:      4291            cmp     r1, r2
+ 8005b38:      d100            bne.n   8005b3c <memcpy+0xc>
+ 8005b3a:      bd10            pop     {r4, pc}
+ 8005b3c:      f811 4b01       ldrb.w  r4, [r1], #1
+ 8005b40:      f803 4f01       strb.w  r4, [r3, #1]!
+ 8005b44:      e7f7            b.n     8005b36 <memcpy+0x6>
+
+08005b46 <memset>:
+ 8005b46:      4402            add     r2, r0
+ 8005b48:      4603            mov     r3, r0
+ 8005b4a:      4293            cmp     r3, r2
+ 8005b4c:      d100            bne.n   8005b50 <memset+0xa>
+ 8005b4e:      4770            bx      lr
+ 8005b50:      f803 1b01       strb.w  r1, [r3], #1
+ 8005b54:      e7f9            b.n     8005b4a <memset+0x4>
+       ...
+
+08005b58 <realloc>:
+ 8005b58:      4b02            ldr     r3, [pc, #8]    ; (8005b64 <realloc+0xc>)
+ 8005b5a:      460a            mov     r2, r1
+ 8005b5c:      4601            mov     r1, r0
+ 8005b5e:      6818            ldr     r0, [r3, #0]
+ 8005b60:      f000 b8a0       b.w     8005ca4 <_realloc_r>
+ 8005b64:      20000010        .word   0x20000010
+
+08005b68 <_raise_r>:
+ 8005b68:      291f            cmp     r1, #31
+ 8005b6a:      b538            push    {r3, r4, r5, lr}
+ 8005b6c:      4604            mov     r4, r0
+ 8005b6e:      460d            mov     r5, r1
+ 8005b70:      d904            bls.n   8005b7c <_raise_r+0x14>
+ 8005b72:      2316            movs    r3, #22
+ 8005b74:      6003            str     r3, [r0, #0]
+ 8005b76:      f04f 30ff       mov.w   r0, #4294967295 ; 0xffffffff
+ 8005b7a:      bd38            pop     {r3, r4, r5, pc}
+ 8005b7c:      6c42            ldr     r2, [r0, #68]   ; 0x44
+ 8005b7e:      b112            cbz     r2, 8005b86 <_raise_r+0x1e>
+ 8005b80:      f852 3021       ldr.w   r3, [r2, r1, lsl #2]
+ 8005b84:      b94b            cbnz    r3, 8005b9a <_raise_r+0x32>
+ 8005b86:      4620            mov     r0, r4
+ 8005b88:      f000 f830       bl      8005bec <_getpid_r>
+ 8005b8c:      462a            mov     r2, r5
+ 8005b8e:      4601            mov     r1, r0
+ 8005b90:      4620            mov     r0, r4
+ 8005b92:      e8bd 4038       ldmia.w sp!, {r3, r4, r5, lr}
+ 8005b96:      f000 b817       b.w     8005bc8 <_kill_r>
+ 8005b9a:      2b01            cmp     r3, #1
+ 8005b9c:      d00a            beq.n   8005bb4 <_raise_r+0x4c>
+ 8005b9e:      1c59            adds    r1, r3, #1
+ 8005ba0:      d103            bne.n   8005baa <_raise_r+0x42>
+ 8005ba2:      2316            movs    r3, #22
+ 8005ba4:      6003            str     r3, [r0, #0]
+ 8005ba6:      2001            movs    r0, #1
+ 8005ba8:      e7e7            b.n     8005b7a <_raise_r+0x12>
+ 8005baa:      2400            movs    r4, #0
+ 8005bac:      f842 4025       str.w   r4, [r2, r5, lsl #2]
+ 8005bb0:      4628            mov     r0, r5
+ 8005bb2:      4798            blx     r3
+ 8005bb4:      2000            movs    r0, #0
+ 8005bb6:      e7e0            b.n     8005b7a <_raise_r+0x12>
+
+08005bb8 <raise>:
+ 8005bb8:      4b02            ldr     r3, [pc, #8]    ; (8005bc4 <raise+0xc>)
+ 8005bba:      4601            mov     r1, r0
+ 8005bbc:      6818            ldr     r0, [r3, #0]
+ 8005bbe:      f7ff bfd3       b.w     8005b68 <_raise_r>
+ 8005bc2:      bf00            nop
+ 8005bc4:      20000010        .word   0x20000010
+
+08005bc8 <_kill_r>:
+ 8005bc8:      b538            push    {r3, r4, r5, lr}
+ 8005bca:      4c07            ldr     r4, [pc, #28]   ; (8005be8 <_kill_r+0x20>)
+ 8005bcc:      2300            movs    r3, #0
+ 8005bce:      4605            mov     r5, r0
+ 8005bd0:      4608            mov     r0, r1
+ 8005bd2:      4611            mov     r1, r2
+ 8005bd4:      6023            str     r3, [r4, #0]
+ 8005bd6:      f7ff fec1       bl      800595c <_kill>
+ 8005bda:      1c43            adds    r3, r0, #1
+ 8005bdc:      d102            bne.n   8005be4 <_kill_r+0x1c>
+ 8005bde:      6823            ldr     r3, [r4, #0]
+ 8005be0:      b103            cbz     r3, 8005be4 <_kill_r+0x1c>
+ 8005be2:      602b            str     r3, [r5, #0]
+ 8005be4:      bd38            pop     {r3, r4, r5, pc}
+ 8005be6:      bf00            nop
+ 8005be8:      20000224        .word   0x20000224
+
+08005bec <_getpid_r>:
+ 8005bec:      f7ff beae       b.w     800594c <_getpid>
+
+08005bf0 <_malloc_r>:
+ 8005bf0:      b570            push    {r4, r5, r6, lr}
+ 8005bf2:      1ccd            adds    r5, r1, #3
+ 8005bf4:      f025 0503       bic.w   r5, r5, #3
+ 8005bf8:      3508            adds    r5, #8
+ 8005bfa:      2d0c            cmp     r5, #12
+ 8005bfc:      bf38            it      cc
+ 8005bfe:      250c            movcc   r5, #12
+ 8005c00:      2d00            cmp     r5, #0
+ 8005c02:      4606            mov     r6, r0
+ 8005c04:      db01            blt.n   8005c0a <_malloc_r+0x1a>
+ 8005c06:      42a9            cmp     r1, r5
+ 8005c08:      d903            bls.n   8005c12 <_malloc_r+0x22>
+ 8005c0a:      230c            movs    r3, #12
+ 8005c0c:      6033            str     r3, [r6, #0]
+ 8005c0e:      2000            movs    r0, #0
+ 8005c10:      bd70            pop     {r4, r5, r6, pc}
+ 8005c12:      f000 f87d       bl      8005d10 <__malloc_lock>
+ 8005c16:      4a21            ldr     r2, [pc, #132]  ; (8005c9c <_malloc_r+0xac>)
+ 8005c18:      6814            ldr     r4, [r2, #0]
+ 8005c1a:      4621            mov     r1, r4
+ 8005c1c:      b991            cbnz    r1, 8005c44 <_malloc_r+0x54>
+ 8005c1e:      4c20            ldr     r4, [pc, #128]  ; (8005ca0 <_malloc_r+0xb0>)
+ 8005c20:      6823            ldr     r3, [r4, #0]
+ 8005c22:      b91b            cbnz    r3, 8005c2c <_malloc_r+0x3c>
+ 8005c24:      4630            mov     r0, r6
+ 8005c26:      f000 f863       bl      8005cf0 <_sbrk_r>
+ 8005c2a:      6020            str     r0, [r4, #0]
+ 8005c2c:      4629            mov     r1, r5
+ 8005c2e:      4630            mov     r0, r6
+ 8005c30:      f000 f85e       bl      8005cf0 <_sbrk_r>
+ 8005c34:      1c43            adds    r3, r0, #1
+ 8005c36:      d124            bne.n   8005c82 <_malloc_r+0x92>
+ 8005c38:      230c            movs    r3, #12
+ 8005c3a:      6033            str     r3, [r6, #0]
+ 8005c3c:      4630            mov     r0, r6
+ 8005c3e:      f000 f868       bl      8005d12 <__malloc_unlock>
+ 8005c42:      e7e4            b.n     8005c0e <_malloc_r+0x1e>
+ 8005c44:      680b            ldr     r3, [r1, #0]
+ 8005c46:      1b5b            subs    r3, r3, r5
+ 8005c48:      d418            bmi.n   8005c7c <_malloc_r+0x8c>
+ 8005c4a:      2b0b            cmp     r3, #11
+ 8005c4c:      d90f            bls.n   8005c6e <_malloc_r+0x7e>
+ 8005c4e:      600b            str     r3, [r1, #0]
+ 8005c50:      50cd            str     r5, [r1, r3]
+ 8005c52:      18cc            adds    r4, r1, r3
+ 8005c54:      4630            mov     r0, r6
+ 8005c56:      f000 f85c       bl      8005d12 <__malloc_unlock>
+ 8005c5a:      f104 000b       add.w   r0, r4, #11
+ 8005c5e:      1d23            adds    r3, r4, #4
+ 8005c60:      f020 0007       bic.w   r0, r0, #7
+ 8005c64:      1ac3            subs    r3, r0, r3
+ 8005c66:      d0d3            beq.n   8005c10 <_malloc_r+0x20>
+ 8005c68:      425a            negs    r2, r3
+ 8005c6a:      50e2            str     r2, [r4, r3]
+ 8005c6c:      e7d0            b.n     8005c10 <_malloc_r+0x20>
+ 8005c6e:      428c            cmp     r4, r1
+ 8005c70:      684b            ldr     r3, [r1, #4]
+ 8005c72:      bf16            itet    ne
+ 8005c74:      6063            strne   r3, [r4, #4]
+ 8005c76:      6013            streq   r3, [r2, #0]
+ 8005c78:      460c            movne   r4, r1
+ 8005c7a:      e7eb            b.n     8005c54 <_malloc_r+0x64>
+ 8005c7c:      460c            mov     r4, r1
+ 8005c7e:      6849            ldr     r1, [r1, #4]
+ 8005c80:      e7cc            b.n     8005c1c <_malloc_r+0x2c>
+ 8005c82:      1cc4            adds    r4, r0, #3
+ 8005c84:      f024 0403       bic.w   r4, r4, #3
+ 8005c88:      42a0            cmp     r0, r4
+ 8005c8a:      d005            beq.n   8005c98 <_malloc_r+0xa8>
+ 8005c8c:      1a21            subs    r1, r4, r0
+ 8005c8e:      4630            mov     r0, r6
+ 8005c90:      f000 f82e       bl      8005cf0 <_sbrk_r>
+ 8005c94:      3001            adds    r0, #1
+ 8005c96:      d0cf            beq.n   8005c38 <_malloc_r+0x48>
+ 8005c98:      6025            str     r5, [r4, #0]
+ 8005c9a:      e7db            b.n     8005c54 <_malloc_r+0x64>
+ 8005c9c:      20000218        .word   0x20000218
+ 8005ca0:      2000021c        .word   0x2000021c
+
+08005ca4 <_realloc_r>:
+ 8005ca4:      b5f8            push    {r3, r4, r5, r6, r7, lr}
+ 8005ca6:      4607            mov     r7, r0
+ 8005ca8:      4614            mov     r4, r2
+ 8005caa:      460e            mov     r6, r1
+ 8005cac:      b921            cbnz    r1, 8005cb8 <_realloc_r+0x14>
+ 8005cae:      4611            mov     r1, r2
+ 8005cb0:      e8bd 40f8       ldmia.w sp!, {r3, r4, r5, r6, r7, lr}
+ 8005cb4:      f7ff bf9c       b.w     8005bf0 <_malloc_r>
+ 8005cb8:      b922            cbnz    r2, 8005cc4 <_realloc_r+0x20>
+ 8005cba:      f000 f82b       bl      8005d14 <_free_r>
+ 8005cbe:      4625            mov     r5, r4
+ 8005cc0:      4628            mov     r0, r5
+ 8005cc2:      bdf8            pop     {r3, r4, r5, r6, r7, pc}
+ 8005cc4:      f000 f874       bl      8005db0 <_malloc_usable_size_r>
+ 8005cc8:      42a0            cmp     r0, r4
+ 8005cca:      d20f            bcs.n   8005cec <_realloc_r+0x48>
+ 8005ccc:      4621            mov     r1, r4
+ 8005cce:      4638            mov     r0, r7
+ 8005cd0:      f7ff ff8e       bl      8005bf0 <_malloc_r>
+ 8005cd4:      4605            mov     r5, r0
+ 8005cd6:      2800            cmp     r0, #0
+ 8005cd8:      d0f2            beq.n   8005cc0 <_realloc_r+0x1c>
+ 8005cda:      4631            mov     r1, r6
+ 8005cdc:      4622            mov     r2, r4
+ 8005cde:      f7ff ff27       bl      8005b30 <memcpy>
+ 8005ce2:      4631            mov     r1, r6
+ 8005ce4:      4638            mov     r0, r7
+ 8005ce6:      f000 f815       bl      8005d14 <_free_r>
+ 8005cea:      e7e9            b.n     8005cc0 <_realloc_r+0x1c>
+ 8005cec:      4635            mov     r5, r6
+ 8005cee:      e7e7            b.n     8005cc0 <_realloc_r+0x1c>
+
+08005cf0 <_sbrk_r>:
+ 8005cf0:      b538            push    {r3, r4, r5, lr}
+ 8005cf2:      4c06            ldr     r4, [pc, #24]   ; (8005d0c <_sbrk_r+0x1c>)
+ 8005cf4:      2300            movs    r3, #0
+ 8005cf6:      4605            mov     r5, r0
+ 8005cf8:      4608            mov     r0, r1
+ 8005cfa:      6023            str     r3, [r4, #0]
+ 8005cfc:      f7ff fe48       bl      8005990 <_sbrk>
+ 8005d00:      1c43            adds    r3, r0, #1
+ 8005d02:      d102            bne.n   8005d0a <_sbrk_r+0x1a>
+ 8005d04:      6823            ldr     r3, [r4, #0]
+ 8005d06:      b103            cbz     r3, 8005d0a <_sbrk_r+0x1a>
+ 8005d08:      602b            str     r3, [r5, #0]
+ 8005d0a:      bd38            pop     {r3, r4, r5, pc}
+ 8005d0c:      20000224        .word   0x20000224
+
+08005d10 <__malloc_lock>:
+ 8005d10:      4770            bx      lr
+
+08005d12 <__malloc_unlock>:
+ 8005d12:      4770            bx      lr
+
+08005d14 <_free_r>:
+ 8005d14:      b538            push    {r3, r4, r5, lr}
+ 8005d16:      4605            mov     r5, r0
+ 8005d18:      2900            cmp     r1, #0
+ 8005d1a:      d045            beq.n   8005da8 <_free_r+0x94>
+ 8005d1c:      f851 3c04       ldr.w   r3, [r1, #-4]
+ 8005d20:      1f0c            subs    r4, r1, #4
+ 8005d22:      2b00            cmp     r3, #0
+ 8005d24:      bfb8            it      lt
+ 8005d26:      18e4            addlt   r4, r4, r3
+ 8005d28:      f7ff fff2       bl      8005d10 <__malloc_lock>
+ 8005d2c:      4a1f            ldr     r2, [pc, #124]  ; (8005dac <_free_r+0x98>)
+ 8005d2e:      6813            ldr     r3, [r2, #0]
+ 8005d30:      4610            mov     r0, r2
+ 8005d32:      b933            cbnz    r3, 8005d42 <_free_r+0x2e>
+ 8005d34:      6063            str     r3, [r4, #4]
+ 8005d36:      6014            str     r4, [r2, #0]
+ 8005d38:      4628            mov     r0, r5
+ 8005d3a:      e8bd 4038       ldmia.w sp!, {r3, r4, r5, lr}
+ 8005d3e:      f7ff bfe8       b.w     8005d12 <__malloc_unlock>
+ 8005d42:      42a3            cmp     r3, r4
+ 8005d44:      d90c            bls.n   8005d60 <_free_r+0x4c>
+ 8005d46:      6821            ldr     r1, [r4, #0]
+ 8005d48:      1862            adds    r2, r4, r1
+ 8005d4a:      4293            cmp     r3, r2
+ 8005d4c:      bf04            itt     eq
+ 8005d4e:      681a            ldreq   r2, [r3, #0]
+ 8005d50:      685b            ldreq   r3, [r3, #4]
+ 8005d52:      6063            str     r3, [r4, #4]
+ 8005d54:      bf04            itt     eq
+ 8005d56:      1852            addeq   r2, r2, r1
+ 8005d58:      6022            streq   r2, [r4, #0]
+ 8005d5a:      6004            str     r4, [r0, #0]
+ 8005d5c:      e7ec            b.n     8005d38 <_free_r+0x24>
+ 8005d5e:      4613            mov     r3, r2
+ 8005d60:      685a            ldr     r2, [r3, #4]
+ 8005d62:      b10a            cbz     r2, 8005d68 <_free_r+0x54>
+ 8005d64:      42a2            cmp     r2, r4
+ 8005d66:      d9fa            bls.n   8005d5e <_free_r+0x4a>
+ 8005d68:      6819            ldr     r1, [r3, #0]
+ 8005d6a:      1858            adds    r0, r3, r1
+ 8005d6c:      42a0            cmp     r0, r4
+ 8005d6e:      d10b            bne.n   8005d88 <_free_r+0x74>
+ 8005d70:      6820            ldr     r0, [r4, #0]
+ 8005d72:      4401            add     r1, r0
+ 8005d74:      1858            adds    r0, r3, r1
+ 8005d76:      4282            cmp     r2, r0
+ 8005d78:      6019            str     r1, [r3, #0]
+ 8005d7a:      d1dd            bne.n   8005d38 <_free_r+0x24>
+ 8005d7c:      6810            ldr     r0, [r2, #0]
+ 8005d7e:      6852            ldr     r2, [r2, #4]
+ 8005d80:      605a            str     r2, [r3, #4]
+ 8005d82:      4401            add     r1, r0
+ 8005d84:      6019            str     r1, [r3, #0]
+ 8005d86:      e7d7            b.n     8005d38 <_free_r+0x24>
+ 8005d88:      d902            bls.n   8005d90 <_free_r+0x7c>
+ 8005d8a:      230c            movs    r3, #12
+ 8005d8c:      602b            str     r3, [r5, #0]
+ 8005d8e:      e7d3            b.n     8005d38 <_free_r+0x24>
+ 8005d90:      6820            ldr     r0, [r4, #0]
+ 8005d92:      1821            adds    r1, r4, r0
+ 8005d94:      428a            cmp     r2, r1
+ 8005d96:      bf04            itt     eq
+ 8005d98:      6811            ldreq   r1, [r2, #0]
+ 8005d9a:      6852            ldreq   r2, [r2, #4]
+ 8005d9c:      6062            str     r2, [r4, #4]
+ 8005d9e:      bf04            itt     eq
+ 8005da0:      1809            addeq   r1, r1, r0
+ 8005da2:      6021            streq   r1, [r4, #0]
+ 8005da4:      605c            str     r4, [r3, #4]
+ 8005da6:      e7c7            b.n     8005d38 <_free_r+0x24>
+ 8005da8:      bd38            pop     {r3, r4, r5, pc}
+ 8005daa:      bf00            nop
+ 8005dac:      20000218        .word   0x20000218
+
+08005db0 <_malloc_usable_size_r>:
+ 8005db0:      f851 3c04       ldr.w   r3, [r1, #-4]
+ 8005db4:      1f18            subs    r0, r3, #4
+ 8005db6:      2b00            cmp     r3, #0
+ 8005db8:      bfbc            itt     lt
+ 8005dba:      580b            ldrlt   r3, [r1, r0]
+ 8005dbc:      18c0            addlt   r0, r0, r3
+ 8005dbe:      4770            bx      lr
+
+08005dc0 <_init>:
+ 8005dc0:      b5f8            push    {r3, r4, r5, r6, r7, lr}
+ 8005dc2:      bf00            nop
+ 8005dc4:      bcf8            pop     {r3, r4, r5, r6, r7}
+ 8005dc6:      bc08            pop     {r3}
+ 8005dc8:      469e            mov     lr, r3
+ 8005dca:      4770            bx      lr
+
+08005dcc <_fini>:
+ 8005dcc:      b5f8            push    {r3, r4, r5, r6, r7, lr}
+ 8005dce:      bf00            nop
+ 8005dd0:      bcf8            pop     {r3, r4, r5, r6, r7}
+ 8005dd2:      bc08            pop     {r3}
+ 8005dd4:      469e            mov     lr, r3
+ 8005dd6:      4770            bx      lr
similarity index 96%
rename from rosserial_test/Inc/STM32Hardware.h
rename to rosserial_hello_world/Inc/STM32Hardware.h
index 6cd1c09cbebe6f4e5700c385fe5c86123cb4aba8..37bbb21c269ec8f1e49d6a4bab90227227c6535d 100644 (file)
@@ -114,12 +114,9 @@ class STM32Hardware {
       }
 
       flush();
-
-
-      //HAL_UART_Transmit(&huart3, data, length, 100);
     }
 
-    unsigned long time(){ return __HAL_TIM_GET_COUNTER(htim); }
+    unsigned long time(){ return HAL_GetTick(); }
 
   protected:
 };
similarity index 92%
rename from rosserial_test/Inc/stm32f7xx_it.h
rename to rosserial_hello_world/Inc/stm32f7xx_it.h
index d2fcd67646b2497d841ef3d15dd382881367b2e0..c2cc023facbbd55fb006893a843a31f6bb7bdd12 100644 (file)
@@ -56,6 +56,9 @@ void SVC_Handler(void);
 void DebugMon_Handler(void);\r
 void PendSV_Handler(void);\r
 void SysTick_Handler(void);\r
+void DMA1_Stream1_IRQHandler(void);\r
+void DMA1_Stream3_IRQHandler(void);\r
+void USART3_IRQHandler(void);\r
 /* USER CODE BEGIN EFP */\r
 \r
 /* USER CODE END EFP */\r
diff --git a/rosserial_hello_world/Src/main.cpp b/rosserial_hello_world/Src/main.cpp
new file mode 100644 (file)
index 0000000..86237cf
--- /dev/null
@@ -0,0 +1,314 @@
+/* USER CODE BEGIN Header */\r
+/**\r
+ ******************************************************************************\r
+ * @file           : main.c\r
+ * @brief          : Main program body\r
+ ******************************************************************************\r
+ * @attention\r
+ *\r
+ * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.\r
+ * All rights reserved.</center></h2>\r
+ *\r
+ * This software component is licensed by ST under BSD 3-Clause license,\r
+ * the "License"; You may not use this file except in compliance with the\r
+ * License. You may obtain a copy of the License at:\r
+ *                        opensource.org/licenses/BSD-3-Clause\r
+ *\r
+ ******************************************************************************\r
+ */\r
+/* USER CODE END Header */\r
+\r
+/* Includes ------------------------------------------------------------------*/\r
+#include "main.h"\r
+\r
+/* Private includes ----------------------------------------------------------*/\r
+/* USER CODE BEGIN Includes */\r
+#include <std_msgs/String.h>\r
+#include <ros.h>\r
+\r
+/* USER CODE END Includes */\r
+\r
+/* Private typedef -----------------------------------------------------------*/\r
+/* USER CODE BEGIN PTD */\r
+\r
+/* USER CODE END PTD */\r
+\r
+/* Private define ------------------------------------------------------------*/\r
+/* USER CODE BEGIN PD */\r
+\r
+/* USER CODE END PD */\r
+\r
+/* Private macro -------------------------------------------------------------*/\r
+/* USER CODE BEGIN PM */\r
+\r
+/* USER CODE END PM */\r
+\r
+/* Private variables ---------------------------------------------------------*/\r
+\r
+TIM_HandleTypeDef htim2;\r
+\r
+UART_HandleTypeDef huart3;\r
+DMA_HandleTypeDef hdma_usart3_rx;\r
+DMA_HandleTypeDef hdma_usart3_tx;\r
+\r
+/* USER CODE BEGIN PV */\r
+\r
+/* USER CODE END PV */\r
+\r
+/* Private function prototypes -----------------------------------------------*/\r
+void SystemClock_Config(void);\r
+static void MX_GPIO_Init(void);\r
+static void MX_DMA_Init(void);\r
+static void MX_TIM2_Init(void);\r
+static void MX_USART3_UART_Init(void);\r
+/* USER CODE BEGIN PFP */\r
+\r
+/* USER CODE END PFP */\r
+\r
+/* Private user code ---------------------------------------------------------*/\r
+/* USER CODE BEGIN 0 */\r
+/* USER CODE END 0 */\r
+\r
+/**\r
+ * @brief  The application entry point.\r
+ * @retval int\r
+ */\r
+int main(void) {\r
+       /* USER CODE BEGIN 1 */\r
+\r
+       /* USER CODE END 1 */\r
+\r
+       /* MCU Configuration--------------------------------------------------------*/\r
+\r
+       /* Reset of all peripherals, Initializes the Flash interface and the Systick. */\r
+       HAL_Init();\r
+\r
+       /* USER CODE BEGIN Init */\r
+\r
+       /* USER CODE END Init */\r
+\r
+       /* Configure the system clock */\r
+       SystemClock_Config();\r
+\r
+       /* USER CODE BEGIN SysInit */\r
+\r
+       /* USER CODE END SysInit */\r
+\r
+       /* Initialize all configured peripherals */\r
+       MX_GPIO_Init();\r
+       MX_DMA_Init();\r
+       MX_TIM2_Init();\r
+       MX_USART3_UART_Init();\r
+       /* USER CODE BEGIN 2 */\r
+       ros::NodeHandle nh;\r
+\r
+       std_msgs::String str_msg;\r
+       ros::Publisher chatter("chatter", &str_msg);\r
+       char hello[] = "Hello world!";\r
+\r
+       nh.initNode();\r
+       nh.advertise(chatter);\r
+\r
+       /* USER CODE END 2 */\r
+\r
+       /* Infinite loop */\r
+       /* USER CODE BEGIN WHILE */\r
+       while (1) {\r
+\r
+               str_msg.data = hello;\r
+               chatter.publish(&str_msg);\r
+               nh.spinOnce();\r
+\r
+               //HAL_UART_Transmit(&huart3, (uint8_t*)hello, strlen(hello), 100);\r
+\r
+               HAL_Delay(1000);\r
+\r
+               /* USER CODE END WHILE */\r
+\r
+               /* USER CODE BEGIN 3 */\r
+       }\r
+       /* USER CODE END 3 */\r
+}\r
+\r
+/**\r
+ * @brief System Clock Configuration\r
+ * @retval None\r
+ */\r
+void SystemClock_Config(void) {\r
+       RCC_OscInitTypeDef RCC_OscInitStruct = { 0 };\r
+       RCC_ClkInitTypeDef RCC_ClkInitStruct = { 0 };\r
+       RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = { 0 };\r
+\r
+       /** Configure the main internal regulator output voltage\r
+        */\r
+       __HAL_RCC_PWR_CLK_ENABLE()\r
+       ;\r
+       __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3);\r
+       /** Initializes the CPU, AHB and APB busses clocks\r
+        */\r
+       RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;\r
+       RCC_OscInitStruct.HSIState = RCC_HSI_ON;\r
+       RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;\r
+       RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE;\r
+       if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) {\r
+               Error_Handler();\r
+       }\r
+       /** Initializes the CPU, AHB and APB busses clocks\r
+        */\r
+       RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK\r
+                       | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2;\r
+       RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_HSI;\r
+       RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;\r
+       RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;\r
+       RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;\r
+\r
+       if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) {\r
+               Error_Handler();\r
+       }\r
+       PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_USART3;\r
+       PeriphClkInitStruct.Usart3ClockSelection = RCC_USART3CLKSOURCE_PCLK1;\r
+       if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK) {\r
+               Error_Handler();\r
+       }\r
+}\r
+\r
+/**\r
+ * @brief TIM2 Initialization Function\r
+ * @param None\r
+ * @retval None\r
+ */\r
+static void MX_TIM2_Init(void) {\r
+\r
+       /* USER CODE BEGIN TIM2_Init 0 */\r
+\r
+       /* USER CODE END TIM2_Init 0 */\r
+\r
+       TIM_ClockConfigTypeDef sClockSourceConfig = { 0 };\r
+       TIM_MasterConfigTypeDef sMasterConfig = { 0 };\r
+\r
+       /* USER CODE BEGIN TIM2_Init 1 */\r
+\r
+       /* USER CODE END TIM2_Init 1 */\r
+       htim2.Instance = TIM2;\r
+       htim2.Init.Prescaler = 0;\r
+       htim2.Init.CounterMode = TIM_COUNTERMODE_UP;\r
+       htim2.Init.Period = 0;\r
+       htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;\r
+       htim2.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;\r
+       if (HAL_TIM_Base_Init(&htim2) != HAL_OK) {\r
+               Error_Handler();\r
+       }\r
+       sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL;\r
+       if (HAL_TIM_ConfigClockSource(&htim2, &sClockSourceConfig) != HAL_OK) {\r
+               Error_Handler();\r
+       }\r
+       sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;\r
+       sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;\r
+       if (HAL_TIMEx_MasterConfigSynchronization(&htim2, &sMasterConfig)\r
+                       != HAL_OK) {\r
+               Error_Handler();\r
+       }\r
+       /* USER CODE BEGIN TIM2_Init 2 */\r
+\r
+       /* USER CODE END TIM2_Init 2 */\r
+\r
+}\r
+\r
+/**\r
+ * @brief USART3 Initialization Function\r
+ * @param None\r
+ * @retval None\r
+ */\r
+static void MX_USART3_UART_Init(void) {\r
+\r
+       /* USER CODE BEGIN USART3_Init 0 */\r
+\r
+       /* USER CODE END USART3_Init 0 */\r
+\r
+       /* USER CODE BEGIN USART3_Init 1 */\r
+\r
+       /* USER CODE END USART3_Init 1 */\r
+       huart3.Instance = USART3;\r
+       huart3.Init.BaudRate = 115200;\r
+       huart3.Init.WordLength = UART_WORDLENGTH_8B;\r
+       huart3.Init.StopBits = UART_STOPBITS_1;\r
+       huart3.Init.Parity = UART_PARITY_NONE;\r
+       huart3.Init.Mode = UART_MODE_TX_RX;\r
+       huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE;\r
+       huart3.Init.OverSampling = UART_OVERSAMPLING_16;\r
+       huart3.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE;\r
+       huart3.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT;\r
+       if (HAL_UART_Init(&huart3) != HAL_OK) {\r
+               Error_Handler();\r
+       }\r
+       /* USER CODE BEGIN USART3_Init 2 */\r
+\r
+       /* USER CODE END USART3_Init 2 */\r
+\r
+}\r
+\r
+/** \r
+ * Enable DMA controller clock\r
+ */\r
+static void MX_DMA_Init(void) {\r
+\r
+       /* DMA controller clock enable */\r
+       __HAL_RCC_DMA1_CLK_ENABLE()\r
+       ;\r
+\r
+       /* DMA interrupt init */\r
+       /* DMA1_Stream1_IRQn interrupt configuration */\r
+       HAL_NVIC_SetPriority(DMA1_Stream1_IRQn, 0, 0);\r
+       HAL_NVIC_EnableIRQ(DMA1_Stream1_IRQn);\r
+       /* DMA1_Stream3_IRQn interrupt configuration */\r
+       HAL_NVIC_SetPriority(DMA1_Stream3_IRQn, 0, 0);\r
+       HAL_NVIC_EnableIRQ(DMA1_Stream3_IRQn);\r
+\r
+}\r
+\r
+/**\r
+ * @brief GPIO Initialization Function\r
+ * @param None\r
+ * @retval None\r
+ */\r
+static void MX_GPIO_Init(void) {\r
+\r
+       /* GPIO Ports Clock Enable */\r
+       __HAL_RCC_GPIOD_CLK_ENABLE()\r
+       ;\r
+\r
+}\r
+\r
+/* USER CODE BEGIN 4 */\r
+\r
+/* USER CODE END 4 */\r
+\r
+/**\r
+ * @brief  This function is executed in case of error occurrence.\r
+ * @retval None\r
+ */\r
+void Error_Handler(void) {\r
+       /* USER CODE BEGIN Error_Handler_Debug */\r
+       /* User can add his own implementation to report the HAL error return state */\r
+\r
+       /* USER CODE END Error_Handler_Debug */\r
+}\r
+\r
+#ifdef  USE_FULL_ASSERT\r
+/**\r
+  * @brief  Reports the name of the source file and the source line number\r
+  *         where the assert_param error has occurred.\r
+  * @param  file: pointer to the source file name\r
+  * @param  line: assert_param error line source number\r
+  * @retval None\r
+  */\r
+void assert_failed(uint8_t *file, uint32_t line)\r
+{ \r
+  /* USER CODE BEGIN 6 */\r
+  /* User can add his own implementation to report the file name and line number,\r
+     tex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */\r
+  /* USER CODE END 6 */\r
+}\r
+#endif /* USE_FULL_ASSERT */\r
+\r
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/\r
similarity index 66%
rename from rosserial_test/Src/stm32f7xx_hal_msp.c
rename to rosserial_hello_world/Src/stm32f7xx_hal_msp.c
index fa7a3b8a3294ef8c4d4b727b9c47046aa401b75e..b1cbc256440d34925cf25e057c5f046adeb5ecd4 100644 (file)
@@ -24,6 +24,9 @@
 /* USER CODE BEGIN Includes */\r
 \r
 /* USER CODE END Includes */\r
+extern DMA_HandleTypeDef hdma_usart3_rx;\r
+\r
+extern DMA_HandleTypeDef hdma_usart3_tx;\r
 \r
 /* Private typedef -----------------------------------------------------------*/\r
 /* USER CODE BEGIN TD */\r
@@ -78,14 +81,14 @@ void HAL_MspInit(void)
 }\r
 \r
 /**\r
-* @brief TIM_OnePulse MSP Initialization\r
+* @brief TIM_Base MSP Initialization\r
 * This function configures the hardware resources used in this example\r
-* @param htim_onepulse: TIM_OnePulse handle pointer\r
+* @param htim_base: TIM_Base handle pointer\r
 * @retval None\r
 */\r
-void HAL_TIM_OnePulse_MspInit(TIM_HandleTypeDef* htim_onepulse)\r
+void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base)\r
 {\r
-  if(htim_onepulse->Instance==TIM2)\r
+  if(htim_base->Instance==TIM2)\r
   {\r
   /* USER CODE BEGIN TIM2_MspInit 0 */\r
 \r
@@ -100,14 +103,14 @@ void HAL_TIM_OnePulse_MspInit(TIM_HandleTypeDef* htim_onepulse)
 }\r
 \r
 /**\r
-* @brief TIM_OnePulse MSP De-Initialization\r
+* @brief TIM_Base MSP De-Initialization\r
 * This function freeze the hardware resources used in this example\r
-* @param htim_onepulse: TIM_OnePulse handle pointer\r
+* @param htim_base: TIM_Base handle pointer\r
 * @retval None\r
 */\r
-void HAL_TIM_OnePulse_MspDeInit(TIM_HandleTypeDef* htim_onepulse)\r
+void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* htim_base)\r
 {\r
-  if(htim_onepulse->Instance==TIM2)\r
+  if(htim_base->Instance==TIM2)\r
   {\r
   /* USER CODE BEGIN TIM2_MspDeInit 0 */\r
 \r
@@ -150,6 +153,46 @@ void HAL_UART_MspInit(UART_HandleTypeDef* huart)
     GPIO_InitStruct.Alternate = GPIO_AF7_USART3;\r
     HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);\r
 \r
+    /* USART3 DMA Init */\r
+    /* USART3_RX Init */\r
+    hdma_usart3_rx.Instance = DMA1_Stream1;\r
+    hdma_usart3_rx.Init.Channel = DMA_CHANNEL_4;\r
+    hdma_usart3_rx.Init.Direction = DMA_PERIPH_TO_MEMORY;\r
+    hdma_usart3_rx.Init.PeriphInc = DMA_PINC_DISABLE;\r
+    hdma_usart3_rx.Init.MemInc = DMA_MINC_ENABLE;\r
+    hdma_usart3_rx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE;\r
+    hdma_usart3_rx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE;\r
+    hdma_usart3_rx.Init.Mode = DMA_NORMAL;\r
+    hdma_usart3_rx.Init.Priority = DMA_PRIORITY_LOW;\r
+    hdma_usart3_rx.Init.FIFOMode = DMA_FIFOMODE_DISABLE;\r
+    if (HAL_DMA_Init(&hdma_usart3_rx) != HAL_OK)\r
+    {\r
+      Error_Handler();\r
+    }\r
+\r
+    __HAL_LINKDMA(huart,hdmarx,hdma_usart3_rx);\r
+\r
+    /* USART3_TX Init */\r
+    hdma_usart3_tx.Instance = DMA1_Stream3;\r
+    hdma_usart3_tx.Init.Channel = DMA_CHANNEL_4;\r
+    hdma_usart3_tx.Init.Direction = DMA_MEMORY_TO_PERIPH;\r
+    hdma_usart3_tx.Init.PeriphInc = DMA_PINC_DISABLE;\r
+    hdma_usart3_tx.Init.MemInc = DMA_MINC_ENABLE;\r
+    hdma_usart3_tx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE;\r
+    hdma_usart3_tx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE;\r
+    hdma_usart3_tx.Init.Mode = DMA_NORMAL;\r
+    hdma_usart3_tx.Init.Priority = DMA_PRIORITY_LOW;\r
+    hdma_usart3_tx.Init.FIFOMode = DMA_FIFOMODE_DISABLE;\r
+    if (HAL_DMA_Init(&hdma_usart3_tx) != HAL_OK)\r
+    {\r
+      Error_Handler();\r
+    }\r
+\r
+    __HAL_LINKDMA(huart,hdmatx,hdma_usart3_tx);\r
+\r
+    /* USART3 interrupt Init */\r
+    HAL_NVIC_SetPriority(USART3_IRQn, 0, 0);\r
+    HAL_NVIC_EnableIRQ(USART3_IRQn);\r
   /* USER CODE BEGIN USART3_MspInit 1 */\r
 \r
   /* USER CODE END USART3_MspInit 1 */\r
@@ -179,6 +222,12 @@ void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
     */\r
     HAL_GPIO_DeInit(GPIOD, GPIO_PIN_8|GPIO_PIN_9);\r
 \r
+    /* USART3 DMA DeInit */\r
+    HAL_DMA_DeInit(huart->hdmarx);\r
+    HAL_DMA_DeInit(huart->hdmatx);\r
+\r
+    /* USART3 interrupt DeInit */\r
+    HAL_NVIC_DisableIRQ(USART3_IRQn);\r
   /* USER CODE BEGIN USART3_MspDeInit 1 */\r
 \r
   /* USER CODE END USART3_MspDeInit 1 */\r
similarity index 80%
rename from rosserial_test/Src/stm32f7xx_it.c
rename to rosserial_hello_world/Src/stm32f7xx_it.c
index 329393404b76cfbba71ab6487f18ce5f82f1e4ad..5e964946949966ff770f27b9153e2f31ec5703e4 100644 (file)
@@ -56,7 +56,9 @@
 /* USER CODE END 0 */\r
 \r
 /* External variables --------------------------------------------------------*/\r
-\r
+extern DMA_HandleTypeDef hdma_usart3_rx;\r
+extern DMA_HandleTypeDef hdma_usart3_tx;\r
+extern UART_HandleTypeDef huart3;\r
 /* USER CODE BEGIN EV */\r
 \r
 /* USER CODE END EV */\r
@@ -197,6 +199,48 @@ void SysTick_Handler(void)
 /* please refer to the startup file (startup_stm32f7xx.s).                    */\r
 /******************************************************************************/\r
 \r
+/**\r
+  * @brief This function handles DMA1 stream1 global interrupt.\r
+  */\r
+void DMA1_Stream1_IRQHandler(void)\r
+{\r
+  /* USER CODE BEGIN DMA1_Stream1_IRQn 0 */\r
+\r
+  /* USER CODE END DMA1_Stream1_IRQn 0 */\r
+  HAL_DMA_IRQHandler(&hdma_usart3_rx);\r
+  /* USER CODE BEGIN DMA1_Stream1_IRQn 1 */\r
+\r
+  /* USER CODE END DMA1_Stream1_IRQn 1 */\r
+}\r
+\r
+/**\r
+  * @brief This function handles DMA1 stream3 global interrupt.\r
+  */\r
+void DMA1_Stream3_IRQHandler(void)\r
+{\r
+  /* USER CODE BEGIN DMA1_Stream3_IRQn 0 */\r
+\r
+  /* USER CODE END DMA1_Stream3_IRQn 0 */\r
+  HAL_DMA_IRQHandler(&hdma_usart3_tx);\r
+  /* USER CODE BEGIN DMA1_Stream3_IRQn 1 */\r
+\r
+  /* USER CODE END DMA1_Stream3_IRQn 1 */\r
+}\r
+\r
+/**\r
+  * @brief This function handles USART3 global interrupt.\r
+  */\r
+void USART3_IRQHandler(void)\r
+{\r
+  /* USER CODE BEGIN USART3_IRQn 0 */\r
+\r
+  /* USER CODE END USART3_IRQn 0 */\r
+  HAL_UART_IRQHandler(&huart3);\r
+  /* USER CODE BEGIN USART3_IRQn 1 */\r
+\r
+  /* USER CODE END USART3_IRQn 1 */\r
+}\r
+\r
 /* USER CODE BEGIN 1 */\r
 \r
 /* USER CODE END 1 */\r
similarity index 67%
rename from rosserial_test/rosserial_test.ioc
rename to rosserial_hello_world/rosserial_hello_world.ioc
index 49891c04223e742036f998797cbabf3e8d5720c0..173d074066ddb6406bf70520931aa22403a64a4c 100644 (file)
@@ -1,20 +1,44 @@
 #MicroXplorer Configuration settings - do not modify
+Dma.Request0=USART3_RX
+Dma.Request1=USART3_TX
+Dma.RequestsNb=2
+Dma.USART3_RX.0.Direction=DMA_PERIPH_TO_MEMORY
+Dma.USART3_RX.0.FIFOMode=DMA_FIFOMODE_DISABLE
+Dma.USART3_RX.0.Instance=DMA1_Stream1
+Dma.USART3_RX.0.MemDataAlignment=DMA_MDATAALIGN_BYTE
+Dma.USART3_RX.0.MemInc=DMA_MINC_ENABLE
+Dma.USART3_RX.0.Mode=DMA_NORMAL
+Dma.USART3_RX.0.PeriphDataAlignment=DMA_PDATAALIGN_BYTE
+Dma.USART3_RX.0.PeriphInc=DMA_PINC_DISABLE
+Dma.USART3_RX.0.Priority=DMA_PRIORITY_LOW
+Dma.USART3_RX.0.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,FIFOMode
+Dma.USART3_TX.1.Direction=DMA_MEMORY_TO_PERIPH
+Dma.USART3_TX.1.FIFOMode=DMA_FIFOMODE_DISABLE
+Dma.USART3_TX.1.Instance=DMA1_Stream3
+Dma.USART3_TX.1.MemDataAlignment=DMA_MDATAALIGN_BYTE
+Dma.USART3_TX.1.MemInc=DMA_MINC_ENABLE
+Dma.USART3_TX.1.Mode=DMA_NORMAL
+Dma.USART3_TX.1.PeriphDataAlignment=DMA_PDATAALIGN_BYTE
+Dma.USART3_TX.1.PeriphInc=DMA_PINC_DISABLE
+Dma.USART3_TX.1.Priority=DMA_PRIORITY_LOW
+Dma.USART3_TX.1.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,FIFOMode
 File.Version=6
 KeepUserPlacement=false
 Mcu.Family=STM32F7
 Mcu.IP0=CORTEX_M7
-Mcu.IP1=NVIC
-Mcu.IP2=RCC
-Mcu.IP3=SYS
-Mcu.IP4=TIM2
-Mcu.IP5=USART3
-Mcu.IPNb=6
+Mcu.IP1=DMA
+Mcu.IP2=NVIC
+Mcu.IP3=RCC
+Mcu.IP4=SYS
+Mcu.IP5=TIM2
+Mcu.IP6=USART3
+Mcu.IPNb=7
 Mcu.Name=STM32F767ZITx
 Mcu.Package=LQFP144
 Mcu.Pin0=PD8
 Mcu.Pin1=PD9
 Mcu.Pin2=VP_SYS_VS_Systick
-Mcu.Pin3=VP_TIM2_VS_OPM
+Mcu.Pin3=VP_TIM2_VS_ClockSourceINT
 Mcu.PinsNb=4
 Mcu.ThirdPartyNb=0
 Mcu.UserConstants=
@@ -22,6 +46,8 @@ Mcu.UserName=STM32F767ZITx
 MxCube.Version=5.3.0
 MxDb.Version=DB.5.0.30
 NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
+NVIC.DMA1_Stream1_IRQn=true\:0\:0\:false\:false\:true\:false\:true
+NVIC.DMA1_Stream3_IRQn=true\:0\:0\:false\:false\:true\:false\:true
 NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false
 NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
 NVIC.MemoryManagement_IRQn=true\:0\:0\:false\:false\:true\:false\:false
@@ -30,6 +56,7 @@ NVIC.PendSV_IRQn=true\:0\:0\:false\:false\:true\:false\:false
 NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4
 NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:false\:false
 NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true\:false\:true
+NVIC.USART3_IRQn=true\:0\:0\:false\:false\:true\:true\:true
 NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
 PCC.Checker=false
 PCC.Line=STM32F7x7
@@ -66,13 +93,13 @@ ProjectManager.MainLocation=Src
 ProjectManager.NoMain=false
 ProjectManager.PreviousToolchain=
 ProjectManager.ProjectBuild=false
-ProjectManager.ProjectFileName=rosserial_test.ioc
-ProjectManager.ProjectName=rosserial_test
+ProjectManager.ProjectFileName=rosserial_hello_world.ioc
+ProjectManager.ProjectName=rosserial_hello_world
 ProjectManager.StackSize=0x400
 ProjectManager.TargetToolchain=STM32CubeIDE
 ProjectManager.ToolChainLocation=
 ProjectManager.UnderRoot=true
-ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-HAL-true,2-SystemClock_Config-RCC-false-HAL-false,3-MX_TIM2_Init-TIM2-false-HAL-true,4-MX_USART3_UART_Init-USART3-false-HAL-true
+ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-HAL-true,3-SystemClock_Config-RCC-false-HAL-false,4-MX_TIM2_Init-TIM2-false-HAL-true,5-MX_USART3_UART_Init-USART3-false-HAL-true
 RCC.CECFreq_Value=32786.88524590164
 RCC.DFSDMFreq_Value=16000000
 RCC.FamilyName=M
@@ -103,13 +130,11 @@ RCC.VCOI2SOutputFreq_Value=192000000
 RCC.VCOInputFreq_Value=1000000
 RCC.VCOOutputFreq_Value=192000000
 RCC.VCOSAIOutputFreq_Value=192000000
-TIM2.IPParameters=Prescaler
-TIM2.Prescaler=0
 USART3.IPParameters=VirtualMode-Asynchronous
 USART3.VirtualMode-Asynchronous=VM_ASYNC
 VP_SYS_VS_Systick.Mode=SysTick
 VP_SYS_VS_Systick.Signal=SYS_VS_Systick
-VP_TIM2_VS_OPM.Mode=OPM_bit
-VP_TIM2_VS_OPM.Signal=TIM2_VS_OPM
+VP_TIM2_VS_ClockSourceINT.Mode=Internal
+VP_TIM2_VS_ClockSourceINT.Signal=TIM2_VS_ClockSourceINT
 board=custom
 isbadioc=false
diff --git a/rosserial_test/Debug/rosserial_test.list b/rosserial_test/Debug/rosserial_test.list
deleted file mode 100644 (file)
index 444ce02..0000000
+++ /dev/null
@@ -1,32568 +0,0 @@
-
-rosserial_test.elf:     file format elf32-littlearm
-
-Sections:
-Idx Name          Size      VMA       LMA       File off  Algn
-  0 .isr_vector   000001f8  08000000  08000000  00010000  2**0
-                  CONTENTS, ALLOC, LOAD, READONLY, DATA
-  1 .text         000117b0  08000200  08000200  00010200  2**4
-                  CONTENTS, ALLOC, LOAD, READONLY, CODE
-  2 .rodata       000016f0  080119b0  080119b0  000219b0  2**3
-                  CONTENTS, ALLOC, LOAD, READONLY, DATA
-  3 .ARM.extab    00000100  080130a0  080130a0  000230a0  2**2
-                  CONTENTS, ALLOC, LOAD, READONLY, DATA
-  4 .ARM          00000188  080131a0  080131a0  000231a0  2**2
-                  CONTENTS, ALLOC, LOAD, READONLY, DATA
-  5 .preinit_array 00000000  08013328  08013328  000309c0  2**0
-                  CONTENTS, ALLOC, LOAD, DATA
-  6 .init_array   0000000c  08013328  08013328  00023328  2**2
-                  CONTENTS, ALLOC, LOAD, DATA
-  7 .fini_array   00000004  08013334  08013334  00023334  2**2
-                  CONTENTS, ALLOC, LOAD, DATA
-  8 .data         000009c0  20000000  08013338  00030000  2**3
-                  CONTENTS, ALLOC, LOAD, DATA
-  9 .bss          0000014c  200009c0  08013cf8  000309c0  2**2
-                  ALLOC
- 10 ._user_heap_stack 00000604  20000b0c  08013cf8  00030b0c  2**0
-                  ALLOC
- 11 .ARM.attributes 0000002e  00000000  00000000  000309c0  2**0
-                  CONTENTS, READONLY
- 12 .debug_info   00010b10  00000000  00000000  000309ee  2**0
-                  CONTENTS, READONLY, DEBUGGING
- 13 .debug_abbrev 0000253c  00000000  00000000  000414fe  2**0
-                  CONTENTS, READONLY, DEBUGGING
- 14 .debug_aranges 00000d70  00000000  00000000  00043a40  2**3
-                  CONTENTS, READONLY, DEBUGGING
- 15 .debug_ranges 00000c90  00000000  00000000  000447b0  2**3
-                  CONTENTS, READONLY, DEBUGGING
- 16 .debug_macro  0002b117  00000000  00000000  00045440  2**0
-                  CONTENTS, READONLY, DEBUGGING
- 17 .debug_line   0000a042  00000000  00000000  00070557  2**0
-                  CONTENTS, READONLY, DEBUGGING
- 18 .debug_str    000f9e37  00000000  00000000  0007a599  2**0
-                  CONTENTS, READONLY, DEBUGGING
- 19 .comment      0000007b  00000000  00000000  001743d0  2**0
-                  CONTENTS, READONLY
- 20 .debug_frame  00005e00  00000000  00000000  0017444c  2**2
-                  CONTENTS, READONLY, DEBUGGING
-
-Disassembly of section .text:
-
-08000200 <__do_global_dtors_aux>:
- 8000200:      b510            push    {r4, lr}
- 8000202:      4c05            ldr     r4, [pc, #20]   ; (8000218 <__do_global_dtors_aux+0x18>)
- 8000204:      7823            ldrb    r3, [r4, #0]
- 8000206:      b933            cbnz    r3, 8000216 <__do_global_dtors_aux+0x16>
- 8000208:      4b04            ldr     r3, [pc, #16]   ; (800021c <__do_global_dtors_aux+0x1c>)
- 800020a:      b113            cbz     r3, 8000212 <__do_global_dtors_aux+0x12>
- 800020c:      4804            ldr     r0, [pc, #16]   ; (8000220 <__do_global_dtors_aux+0x20>)
- 800020e:      f3af 8000       nop.w
- 8000212:      2301            movs    r3, #1
- 8000214:      7023            strb    r3, [r4, #0]
- 8000216:      bd10            pop     {r4, pc}
- 8000218:      200009c0        .word   0x200009c0
- 800021c:      00000000        .word   0x00000000
- 8000220:      08011998        .word   0x08011998
-
-08000224 <frame_dummy>:
- 8000224:      b508            push    {r3, lr}
- 8000226:      4b03            ldr     r3, [pc, #12]   ; (8000234 <frame_dummy+0x10>)
- 8000228:      b11b            cbz     r3, 8000232 <frame_dummy+0xe>
- 800022a:      4903            ldr     r1, [pc, #12]   ; (8000238 <frame_dummy+0x14>)
- 800022c:      4803            ldr     r0, [pc, #12]   ; (800023c <frame_dummy+0x18>)
- 800022e:      f3af 8000       nop.w
- 8000232:      bd08            pop     {r3, pc}
- 8000234:      00000000        .word   0x00000000
- 8000238:      200009c4        .word   0x200009c4
- 800023c:      08011998        .word   0x08011998
-
-08000240 <d_make_comp>:
- 8000240:      b4f0            push    {r4, r5, r6, r7}
- 8000242:      1e4c            subs    r4, r1, #1
- 8000244:      4605            mov     r5, r0
- 8000246:      2c4e            cmp     r4, #78 ; 0x4e
- 8000248:      d83f            bhi.n   80002ca <d_make_comp+0x8a>
- 800024a:      e8df f004       tbb     [pc, r4]
- 800024e:      3b3b            .short  0x3b3b
- 8000250:      3e3e3b3b        .word   0x3e3e3b3b
- 8000254:      28283e3e        .word   0x28283e3e
- 8000258:      2828283b        .word   0x2828283b
- 800025c:      28282828        .word   0x28282828
- 8000260:      28282828        .word   0x28282828
- 8000264:      29293e28        .word   0x29293e28
- 8000268:      29292929        .word   0x29292929
- 800026c:      283b2929        .word   0x283b2929
- 8000270:      28282828        .word   0x28282828
- 8000274:      3c29283e        .word   0x3c29283e
- 8000278:      293b3e3b        .word   0x293b3e3b
- 800027c:      3e3e3c29        .word   0x3e3e3c29
- 8000280:      3b282828        .word   0x3b282828
- 8000284:      3b3b3b3b        .word   0x3b3b3b3b
- 8000288:      283b3b28        .word   0x283b3b28
- 800028c:      283e3e3b        .word   0x283e3e3b
- 8000290:      3e3e2828        .word   0x3e3e2828
- 8000294:      2828283e        .word   0x2828283e
- 8000298:      293b293b        .word   0x293b293b
- 800029c:      29              .byte   0x29
- 800029d:      00              .byte   0x00
- 800029e:      b1a2            cbz     r2, 80002ca <d_make_comp+0x8a>
- 80002a0:      e9d5 4005       ldrd    r4, r0, [r5, #20]
- 80002a4:      4284            cmp     r4, r0
- 80002a6:      da10            bge.n   80002ca <d_make_comp+0x8a>
- 80002a8:      692f            ldr     r7, [r5, #16]
- 80002aa:      0126            lsls    r6, r4, #4
- 80002ac:      19b8            adds    r0, r7, r6
- 80002ae:      3401            adds    r4, #1
- 80002b0:      f04f 0c00       mov.w   ip, #0
- 80002b4:      f8c0 c004       str.w   ip, [r0, #4]
- 80002b8:      616c            str     r4, [r5, #20]
- 80002ba:      55b9            strb    r1, [r7, r6]
- 80002bc:      e9c0 2302       strd    r2, r3, [r0, #8]
- 80002c0:      bcf0            pop     {r4, r5, r6, r7}
- 80002c2:      4770            bx      lr
- 80002c4:      b10a            cbz     r2, 80002ca <d_make_comp+0x8a>
- 80002c6:      2b00            cmp     r3, #0
- 80002c8:      d1ea            bne.n   80002a0 <d_make_comp+0x60>
- 80002ca:      2000            movs    r0, #0
- 80002cc:      bcf0            pop     {r4, r5, r6, r7}
- 80002ce:      4770            bx      lr
-
-080002d0 <d_ref_qualifier>:
- 80002d0:      b410            push    {r4}
- 80002d2:      68c3            ldr     r3, [r0, #12]
- 80002d4:      781c            ldrb    r4, [r3, #0]
- 80002d6:      2c52            cmp     r4, #82 ; 0x52
- 80002d8:      460a            mov     r2, r1
- 80002da:      d00f            beq.n   80002fc <d_ref_qualifier+0x2c>
- 80002dc:      2c4f            cmp     r4, #79 ; 0x4f
- 80002de:      d003            beq.n   80002e8 <d_ref_qualifier+0x18>
- 80002e0:      4608            mov     r0, r1
- 80002e2:      f85d 4b04       ldr.w   r4, [sp], #4
- 80002e6:      4770            bx      lr
- 80002e8:      6b01            ldr     r1, [r0, #48]   ; 0x30
- 80002ea:      3103            adds    r1, #3
- 80002ec:      6301            str     r1, [r0, #48]   ; 0x30
- 80002ee:      2120            movs    r1, #32
- 80002f0:      3301            adds    r3, #1
- 80002f2:      60c3            str     r3, [r0, #12]
- 80002f4:      f85d 4b04       ldr.w   r4, [sp], #4
- 80002f8:      2300            movs    r3, #0
- 80002fa:      e7a1            b.n     8000240 <d_make_comp>
- 80002fc:      6b01            ldr     r1, [r0, #48]   ; 0x30
- 80002fe:      3102            adds    r1, #2
- 8000300:      6301            str     r1, [r0, #48]   ; 0x30
- 8000302:      211f            movs    r1, #31
- 8000304:      e7f4            b.n     80002f0 <d_ref_qualifier+0x20>
- 8000306:      bf00            nop
-
-08000308 <d_count_templates_scopes>:
- 8000308:      2a00            cmp     r2, #0
- 800030a:      d04e            beq.n   80003aa <d_count_templates_scopes+0xa2>
- 800030c:      b570            push    {r4, r5, r6, lr}
- 800030e:      4605            mov     r5, r0
- 8000310:      460e            mov     r6, r1
- 8000312:      4614            mov     r4, r2
- 8000314:      7823            ldrb    r3, [r4, #0]
- 8000316:      3b01            subs    r3, #1
- 8000318:      2b4e            cmp     r3, #78 ; 0x4e
- 800031a:      d82c            bhi.n   8000376 <d_count_templates_scopes+0x6e>
- 800031c:      e8df f003       tbb     [pc, r3]
- 8000320:      40373737        .word   0x40373737
- 8000324:      28282b2b        .word   0x28282b2b
- 8000328:      37373737        .word   0x37373737
- 800032c:      37373737        .word   0x37373737
- 8000330:      37373737        .word   0x37373737
- 8000334:      2b373737        .word   0x2b373737
- 8000338:      37373737        .word   0x37373737
- 800033c:      37373737        .word   0x37373737
- 8000340:      30303737        .word   0x30303737
- 8000344:      372b3737        .word   0x372b3737
- 8000348:      2c373737        .word   0x2c373737
- 800034c:      37373737        .word   0x37373737
- 8000350:      3737282b        .word   0x3737282b
- 8000354:      37373737        .word   0x37373737
- 8000358:      37373737        .word   0x37373737
- 800035c:      2b373737        .word   0x2b373737
- 8000360:      2c2c372b        .word   0x2c2c372b
- 8000364:      372b2c2c        .word   0x372b2c2c
- 8000368:      37373737        .word   0x37373737
- 800036c:      3737            .short  0x3737
- 800036e:      37              .byte   0x37
- 800036f:      00              .byte   0x00
- 8000370:      68e4            ldr     r4, [r4, #12]
- 8000372:      2c00            cmp     r4, #0
- 8000374:      d1ce            bne.n   8000314 <d_count_templates_scopes+0xc>
- 8000376:      bd70            pop     {r4, r5, r6, pc}
- 8000378:      68a4            ldr     r4, [r4, #8]
- 800037a:      2c00            cmp     r4, #0
- 800037c:      d1ca            bne.n   8000314 <d_count_templates_scopes+0xc>
- 800037e:      e7fa            b.n     8000376 <d_count_templates_scopes+0x6e>
- 8000380:      68a2            ldr     r2, [r4, #8]
- 8000382:      7813            ldrb    r3, [r2, #0]
- 8000384:      2b05            cmp     r3, #5
- 8000386:      d103            bne.n   8000390 <d_count_templates_scopes+0x88>
- 8000388:      6833            ldr     r3, [r6, #0]
- 800038a:      3301            adds    r3, #1
- 800038c:      6033            str     r3, [r6, #0]
- 800038e:      68a2            ldr     r2, [r4, #8]
- 8000390:      4631            mov     r1, r6
- 8000392:      4628            mov     r0, r5
- 8000394:      f7ff ffb8       bl      8000308 <d_count_templates_scopes>
- 8000398:      68e4            ldr     r4, [r4, #12]
- 800039a:      2c00            cmp     r4, #0
- 800039c:      d1ba            bne.n   8000314 <d_count_templates_scopes+0xc>
- 800039e:      e7ea            b.n     8000376 <d_count_templates_scopes+0x6e>
- 80003a0:      682b            ldr     r3, [r5, #0]
- 80003a2:      3301            adds    r3, #1
- 80003a4:      602b            str     r3, [r5, #0]
- 80003a6:      68a2            ldr     r2, [r4, #8]
- 80003a8:      e7f2            b.n     8000390 <d_count_templates_scopes+0x88>
- 80003aa:      4770            bx      lr
-
-080003ac <d_append_buffer>:
- 80003ac:      b39a            cbz     r2, 8000416 <d_append_buffer+0x6a>
- 80003ae:      e92d 41f0       stmdb   sp!, {r4, r5, r6, r7, r8, lr}
- 80003b2:      188e            adds    r6, r1, r2
- 80003b4:      4604            mov     r4, r0
- 80003b6:      f8d0 3100       ldr.w   r3, [r0, #256]  ; 0x100
- 80003ba:      3e01            subs    r6, #1
- 80003bc:      1e4d            subs    r5, r1, #1
- 80003be:      2700            movs    r7, #0
- 80003c0:      e016            b.n     80003f0 <d_append_buffer+0x44>
- 80003c2:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 80003c6:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 80003ca:      f884 70ff       strb.w  r7, [r4, #255]  ; 0xff
- 80003ce:      4798            blx     r3
- 80003d0:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 80003d4:      2200            movs    r2, #0
- 80003d6:      3301            adds    r3, #1
- 80003d8:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 80003dc:      42b5            cmp     r5, r6
- 80003de:      f04f 0301       mov.w   r3, #1
- 80003e2:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 80003e6:      f804 8002       strb.w  r8, [r4, r2]
- 80003ea:      f884 8104       strb.w  r8, [r4, #260]  ; 0x104
- 80003ee:      d010            beq.n   8000412 <d_append_buffer+0x66>
- 80003f0:      2bff            cmp     r3, #255        ; 0xff
- 80003f2:      4619            mov     r1, r3
- 80003f4:      4620            mov     r0, r4
- 80003f6:      f815 8f01       ldrb.w  r8, [r5, #1]!
- 80003fa:      d0e2            beq.n   80003c2 <d_append_buffer+0x16>
- 80003fc:      461a            mov     r2, r3
- 80003fe:      42b5            cmp     r5, r6
- 8000400:      f103 0301       add.w   r3, r3, #1
- 8000404:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 8000408:      f804 8002       strb.w  r8, [r4, r2]
- 800040c:      f884 8104       strb.w  r8, [r4, #260]  ; 0x104
- 8000410:      d1ee            bne.n   80003f0 <d_append_buffer+0x44>
- 8000412:      e8bd 81f0       ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
- 8000416:      4770            bx      lr
-
-08000418 <is_fnqual_component_type>:
- 8000418:      f1a0 031c       sub.w   r3, r0, #28
- 800041c:      2b04            cmp     r3, #4
- 800041e:      d907            bls.n   8000430 <is_fnqual_component_type+0x18>
- 8000420:      284c            cmp     r0, #76 ; 0x4c
- 8000422:      d005            beq.n   8000430 <is_fnqual_component_type+0x18>
- 8000424:      384e            subs    r0, #78 ; 0x4e
- 8000426:      2801            cmp     r0, #1
- 8000428:      bf8c            ite     hi
- 800042a:      2000            movhi   r0, #0
- 800042c:      2001            movls   r0, #1
- 800042e:      4770            bx      lr
- 8000430:      2001            movs    r0, #1
- 8000432:      4770            bx      lr
-
-08000434 <d_number.isra.1>:
- 8000434:      b470            push    {r4, r5, r6}
- 8000436:      6802            ldr     r2, [r0, #0]
- 8000438:      7811            ldrb    r1, [r2, #0]
- 800043a:      296e            cmp     r1, #110        ; 0x6e
- 800043c:      d018            beq.n   8000470 <d_number.isra.1+0x3c>
- 800043e:      f1a1 0330       sub.w   r3, r1, #48     ; 0x30
- 8000442:      2b09            cmp     r3, #9
- 8000444:      d81e            bhi.n   8000484 <d_number.isra.1+0x50>
- 8000446:      2600            movs    r6, #0
- 8000448:      2300            movs    r3, #0
- 800044a:      3201            adds    r2, #1
- 800044c:      eb03 0383       add.w   r3, r3, r3, lsl #2
- 8000450:      6002            str     r2, [r0, #0]
- 8000452:      eb01 0443       add.w   r4, r1, r3, lsl #1
- 8000456:      7811            ldrb    r1, [r2, #0]
- 8000458:      f1a1 0530       sub.w   r5, r1, #48     ; 0x30
- 800045c:      2d09            cmp     r5, #9
- 800045e:      f1a4 0330       sub.w   r3, r4, #48     ; 0x30
- 8000462:      d9f2            bls.n   800044a <d_number.isra.1+0x16>
- 8000464:      b10e            cbz     r6, 800046a <d_number.isra.1+0x36>
- 8000466:      f1c4 0330       rsb     r3, r4, #48     ; 0x30
- 800046a:      4618            mov     r0, r3
- 800046c:      bc70            pop     {r4, r5, r6}
- 800046e:      4770            bx      lr
- 8000470:      1c53            adds    r3, r2, #1
- 8000472:      6003            str     r3, [r0, #0]
- 8000474:      7851            ldrb    r1, [r2, #1]
- 8000476:      f1a1 0230       sub.w   r2, r1, #48     ; 0x30
- 800047a:      2a09            cmp     r2, #9
- 800047c:      d802            bhi.n   8000484 <d_number.isra.1+0x50>
- 800047e:      461a            mov     r2, r3
- 8000480:      2601            movs    r6, #1
- 8000482:      e7e1            b.n     8000448 <d_number.isra.1+0x14>
- 8000484:      2300            movs    r3, #0
- 8000486:      4618            mov     r0, r3
- 8000488:      bc70            pop     {r4, r5, r6}
- 800048a:      4770            bx      lr
-
-0800048c <d_number_component>:
- 800048c:      e9d0 3205       ldrd    r3, r2, [r0, #20]
- 8000490:      4293            cmp     r3, r2
- 8000492:      b570            push    {r4, r5, r6, lr}
- 8000494:      da0e            bge.n   80004b4 <d_number_component+0x28>
- 8000496:      6901            ldr     r1, [r0, #16]
- 8000498:      011a            lsls    r2, r3, #4
- 800049a:      188c            adds    r4, r1, r2
- 800049c:      3301            adds    r3, #1
- 800049e:      2600            movs    r6, #0
- 80004a0:      2541            movs    r5, #65 ; 0x41
- 80004a2:      6066            str     r6, [r4, #4]
- 80004a4:      300c            adds    r0, #12
- 80004a6:      6083            str     r3, [r0, #8]
- 80004a8:      548d            strb    r5, [r1, r2]
- 80004aa:      f7ff ffc3       bl      8000434 <d_number.isra.1>
- 80004ae:      60a0            str     r0, [r4, #8]
- 80004b0:      4620            mov     r0, r4
- 80004b2:      bd70            pop     {r4, r5, r6, pc}
- 80004b4:      2400            movs    r4, #0
- 80004b6:      4620            mov     r0, r4
- 80004b8:      bd70            pop     {r4, r5, r6, pc}
- 80004ba:      bf00            nop
-
-080004bc <d_compact_number>:
- 80004bc:      b510            push    {r4, lr}
- 80004be:      68c3            ldr     r3, [r0, #12]
- 80004c0:      781a            ldrb    r2, [r3, #0]
- 80004c2:      2a5f            cmp     r2, #95 ; 0x5f
- 80004c4:      4604            mov     r4, r0
- 80004c6:      d00d            beq.n   80004e4 <d_compact_number+0x28>
- 80004c8:      2a6e            cmp     r2, #110        ; 0x6e
- 80004ca:      d00d            beq.n   80004e8 <d_compact_number+0x2c>
- 80004cc:      300c            adds    r0, #12
- 80004ce:      f7ff ffb1       bl      8000434 <d_number.isra.1>
- 80004d2:      3001            adds    r0, #1
- 80004d4:      d408            bmi.n   80004e8 <d_compact_number+0x2c>
- 80004d6:      68e3            ldr     r3, [r4, #12]
- 80004d8:      781a            ldrb    r2, [r3, #0]
- 80004da:      2a5f            cmp     r2, #95 ; 0x5f
- 80004dc:      d104            bne.n   80004e8 <d_compact_number+0x2c>
- 80004de:      3301            adds    r3, #1
- 80004e0:      60e3            str     r3, [r4, #12]
- 80004e2:      bd10            pop     {r4, pc}
- 80004e4:      2000            movs    r0, #0
- 80004e6:      e7fa            b.n     80004de <d_compact_number+0x22>
- 80004e8:      f04f 30ff       mov.w   r0, #4294967295 ; 0xffffffff
- 80004ec:      bd10            pop     {r4, pc}
- 80004ee:      bf00            nop
-
-080004f0 <d_template_param>:
- 80004f0:      b5f8            push    {r3, r4, r5, r6, r7, lr}
- 80004f2:      68c3            ldr     r3, [r0, #12]
- 80004f4:      781a            ldrb    r2, [r3, #0]
- 80004f6:      2a54            cmp     r2, #84 ; 0x54
- 80004f8:      d119            bne.n   800052e <d_template_param+0x3e>
- 80004fa:      3301            adds    r3, #1
- 80004fc:      60c3            str     r3, [r0, #12]
- 80004fe:      4604            mov     r4, r0
- 8000500:      f7ff ffdc       bl      80004bc <d_compact_number>
- 8000504:      1e05            subs    r5, r0, #0
- 8000506:      db12            blt.n   800052e <d_template_param+0x3e>
- 8000508:      e9d4 3105       ldrd    r3, r1, [r4, #20]
- 800050c:      6aa2            ldr     r2, [r4, #40]   ; 0x28
- 800050e:      428b            cmp     r3, r1
- 8000510:      f102 0201       add.w   r2, r2, #1
- 8000514:      62a2            str     r2, [r4, #40]   ; 0x28
- 8000516:      da0a            bge.n   800052e <d_template_param+0x3e>
- 8000518:      6921            ldr     r1, [r4, #16]
- 800051a:      011a            lsls    r2, r3, #4
- 800051c:      1888            adds    r0, r1, r2
- 800051e:      3301            adds    r3, #1
- 8000520:      2700            movs    r7, #0
- 8000522:      2605            movs    r6, #5
- 8000524:      6047            str     r7, [r0, #4]
- 8000526:      6163            str     r3, [r4, #20]
- 8000528:      548e            strb    r6, [r1, r2]
- 800052a:      6085            str     r5, [r0, #8]
- 800052c:      bdf8            pop     {r3, r4, r5, r6, r7, pc}
- 800052e:      2000            movs    r0, #0
- 8000530:      bdf8            pop     {r3, r4, r5, r6, r7, pc}
- 8000532:      bf00            nop
-
-08000534 <d_source_name>:
- 8000534:      e92d 41f0       stmdb   sp!, {r4, r5, r6, r7, r8, lr}
- 8000538:      4604            mov     r4, r0
- 800053a:      300c            adds    r0, #12
- 800053c:      f7ff ff7a       bl      8000434 <d_number.isra.1>
- 8000540:      1e07            subs    r7, r0, #0
- 8000542:      dd49            ble.n   80005d8 <d_source_name+0xa4>
- 8000544:      68e5            ldr     r5, [r4, #12]
- 8000546:      6863            ldr     r3, [r4, #4]
- 8000548:      1b5b            subs    r3, r3, r5
- 800054a:      429f            cmp     r7, r3
- 800054c:      dc42            bgt.n   80005d4 <d_source_name+0xa0>
- 800054e:      68a2            ldr     r2, [r4, #8]
- 8000550:      19eb            adds    r3, r5, r7
- 8000552:      0752            lsls    r2, r2, #29
- 8000554:      60e3            str     r3, [r4, #12]
- 8000556:      d504            bpl.n   8000562 <d_source_name+0x2e>
- 8000558:      5dea            ldrb    r2, [r5, r7]
- 800055a:      2a24            cmp     r2, #36 ; 0x24
- 800055c:      bf04            itt     eq
- 800055e:      3301            addeq   r3, #1
- 8000560:      60e3            streq   r3, [r4, #12]
- 8000562:      2f09            cmp     r7, #9
- 8000564:      e9d4 6805       ldrd    r6, r8, [r4, #20]
- 8000568:      dc10            bgt.n   800058c <d_source_name+0x58>
- 800056a:      45b0            cmp     r8, r6
- 800056c:      dd32            ble.n   80005d4 <d_source_name+0xa0>
- 800056e:      6921            ldr     r1, [r4, #16]
- 8000570:      0132            lsls    r2, r6, #4
- 8000572:      1888            adds    r0, r1, r2
- 8000574:      3601            adds    r6, #1
- 8000576:      2300            movs    r3, #0
- 8000578:      6043            str     r3, [r0, #4]
- 800057a:      6166            str     r6, [r4, #20]
- 800057c:      b355            cbz     r5, 80005d4 <d_source_name+0xa0>
- 800057e:      6043            str     r3, [r0, #4]
- 8000580:      548b            strb    r3, [r1, r2]
- 8000582:      e9c0 5702       strd    r5, r7, [r0, #8]
- 8000586:      62e0            str     r0, [r4, #44]   ; 0x2c
- 8000588:      e8bd 81f0       ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
- 800058c:      2208            movs    r2, #8
- 800058e:      4914            ldr     r1, [pc, #80]   ; (80005e0 <d_source_name+0xac>)
- 8000590:      4628            mov     r0, r5
- 8000592:      f00d fee1       bl      800e358 <memcmp>
- 8000596:      2800            cmp     r0, #0
- 8000598:      d1e7            bne.n   800056a <d_source_name+0x36>
- 800059a:      7a2b            ldrb    r3, [r5, #8]
- 800059c:      2b2e            cmp     r3, #46 ; 0x2e
- 800059e:      d003            beq.n   80005a8 <d_source_name+0x74>
- 80005a0:      2b5f            cmp     r3, #95 ; 0x5f
- 80005a2:      d001            beq.n   80005a8 <d_source_name+0x74>
- 80005a4:      2b24            cmp     r3, #36 ; 0x24
- 80005a6:      d1e0            bne.n   800056a <d_source_name+0x36>
- 80005a8:      7a6b            ldrb    r3, [r5, #9]
- 80005aa:      2b4e            cmp     r3, #78 ; 0x4e
- 80005ac:      d1dd            bne.n   800056a <d_source_name+0x36>
- 80005ae:      6b23            ldr     r3, [r4, #48]   ; 0x30
- 80005b0:      3316            adds    r3, #22
- 80005b2:      1bdf            subs    r7, r3, r7
- 80005b4:      45b0            cmp     r8, r6
- 80005b6:      6327            str     r7, [r4, #48]   ; 0x30
- 80005b8:      dd0c            ble.n   80005d4 <d_source_name+0xa0>
- 80005ba:      6922            ldr     r2, [r4, #16]
- 80005bc:      4d09            ldr     r5, [pc, #36]   ; (80005e4 <d_source_name+0xb0>)
- 80005be:      0133            lsls    r3, r6, #4
- 80005c0:      18d0            adds    r0, r2, r3
- 80005c2:      2100            movs    r1, #0
- 80005c4:      3601            adds    r6, #1
- 80005c6:      6166            str     r6, [r4, #20]
- 80005c8:      6041            str     r1, [r0, #4]
- 80005ca:      54d1            strb    r1, [r2, r3]
- 80005cc:      2315            movs    r3, #21
- 80005ce:      e9c0 5302       strd    r5, r3, [r0, #8]
- 80005d2:      e7d8            b.n     8000586 <d_source_name+0x52>
- 80005d4:      2000            movs    r0, #0
- 80005d6:      e7d6            b.n     8000586 <d_source_name+0x52>
- 80005d8:      2000            movs    r0, #0
- 80005da:      e8bd 81f0       ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
- 80005de:      bf00            nop
- 80005e0:      08012550        .word   0x08012550
- 80005e4:      0801255c        .word   0x0801255c
-
-080005e8 <d_abi_tags>:
- 80005e8:      b570            push    {r4, r5, r6, lr}
- 80005ea:      68c3            ldr     r3, [r0, #12]
- 80005ec:      6ac6            ldr     r6, [r0, #44]   ; 0x2c
- 80005ee:      781a            ldrb    r2, [r3, #0]
- 80005f0:      2a42            cmp     r2, #66 ; 0x42
- 80005f2:      4604            mov     r4, r0
- 80005f4:      460d            mov     r5, r1
- 80005f6:      d10f            bne.n   8000618 <d_abi_tags+0x30>
- 80005f8:      3301            adds    r3, #1
- 80005fa:      60e3            str     r3, [r4, #12]
- 80005fc:      4620            mov     r0, r4
- 80005fe:      f7ff ff99       bl      8000534 <d_source_name>
- 8000602:      462a            mov     r2, r5
- 8000604:      4603            mov     r3, r0
- 8000606:      214b            movs    r1, #75 ; 0x4b
- 8000608:      4620            mov     r0, r4
- 800060a:      f7ff fe19       bl      8000240 <d_make_comp>
- 800060e:      68e3            ldr     r3, [r4, #12]
- 8000610:      781a            ldrb    r2, [r3, #0]
- 8000612:      2a42            cmp     r2, #66 ; 0x42
- 8000614:      4605            mov     r5, r0
- 8000616:      d0ef            beq.n   80005f8 <d_abi_tags+0x10>
- 8000618:      62e6            str     r6, [r4, #44]   ; 0x2c
- 800061a:      4628            mov     r0, r5
- 800061c:      bd70            pop     {r4, r5, r6, pc}
- 800061e:      bf00            nop
-
-08000620 <d_substitution>:
- 8000620:      e92d 43f8       stmdb   sp!, {r3, r4, r5, r6, r7, r8, r9, lr}
- 8000624:      4605            mov     r5, r0
- 8000626:      68c0            ldr     r0, [r0, #12]
- 8000628:      7803            ldrb    r3, [r0, #0]
- 800062a:      2b53            cmp     r3, #83 ; 0x53
- 800062c:      d131            bne.n   8000692 <d_substitution+0x72>
- 800062e:      1c43            adds    r3, r0, #1
- 8000630:      60eb            str     r3, [r5, #12]
- 8000632:      7842            ldrb    r2, [r0, #1]
- 8000634:      b3a2            cbz     r2, 80006a0 <d_substitution+0x80>
- 8000636:      1c83            adds    r3, r0, #2
- 8000638:      60eb            str     r3, [r5, #12]
- 800063a:      7842            ldrb    r2, [r0, #1]
- 800063c:      2a5f            cmp     r2, #95 ; 0x5f
- 800063e:      f000 8089       beq.w   8000754 <d_substitution+0x134>
- 8000642:      f1a2 0430       sub.w   r4, r2, #48     ; 0x30
- 8000646:      b2e3            uxtb    r3, r4
- 8000648:      2b09            cmp     r3, #9
- 800064a:      d825            bhi.n   8000698 <d_substitution+0x78>
- 800064c:      2100            movs    r1, #0
- 800064e:      e00e            b.n     800066e <d_substitution+0x4e>
- 8000650:      3b30            subs    r3, #48 ; 0x30
- 8000652:      4299            cmp     r1, r3
- 8000654:      d81d            bhi.n   8000692 <d_substitution+0x72>
- 8000656:      68e9            ldr     r1, [r5, #12]
- 8000658:      780a            ldrb    r2, [r1, #0]
- 800065a:      1c48            adds    r0, r1, #1
- 800065c:      b122            cbz     r2, 8000668 <d_substitution+0x48>
- 800065e:      60e8            str     r0, [r5, #12]
- 8000660:      780a            ldrb    r2, [r1, #0]
- 8000662:      2a5f            cmp     r2, #95 ; 0x5f
- 8000664:      f000 8082       beq.w   800076c <d_substitution+0x14c>
- 8000668:      f1a2 0430       sub.w   r4, r2, #48     ; 0x30
- 800066c:      4619            mov     r1, r3
- 800066e:      b2e4            uxtb    r4, r4
- 8000670:      eb01 03c1       add.w   r3, r1, r1, lsl #3
- 8000674:      2c09            cmp     r4, #9
- 8000676:      f1a2 0041       sub.w   r0, r2, #65     ; 0x41
- 800067a:      eb02 0383       add.w   r3, r2, r3, lsl #2
- 800067e:      d9e7            bls.n   8000650 <d_substitution+0x30>
- 8000680:      2819            cmp     r0, #25
- 8000682:      d806            bhi.n   8000692 <d_substitution+0x72>
- 8000684:      eb01 03c1       add.w   r3, r1, r1, lsl #3
- 8000688:      eb02 0383       add.w   r3, r2, r3, lsl #2
- 800068c:      3b37            subs    r3, #55 ; 0x37
- 800068e:      4299            cmp     r1, r3
- 8000690:      d9e1            bls.n   8000656 <d_substitution+0x36>
- 8000692:      2000            movs    r0, #0
- 8000694:      e8bd 83f8       ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc}
- 8000698:      f1a2 0341       sub.w   r3, r2, #65     ; 0x41
- 800069c:      2b19            cmp     r3, #25
- 800069e:      d9d5            bls.n   800064c <d_substitution+0x2c>
- 80006a0:      68ab            ldr     r3, [r5, #8]
- 80006a2:      f003 0308       and.w   r3, r3, #8
- 80006a6:      2b00            cmp     r3, #0
- 80006a8:      bf14            ite     ne
- 80006aa:      2401            movne   r4, #1
- 80006ac:      2400            moveq   r4, #0
- 80006ae:      d101            bne.n   80006b4 <d_substitution+0x94>
- 80006b0:      2900            cmp     r1, #0
- 80006b2:      d15d            bne.n   8000770 <d_substitution+0x150>
- 80006b4:      4b35            ldr     r3, [pc, #212]  ; (800078c <d_substitution+0x16c>)
- 80006b6:      2174            movs    r1, #116        ; 0x74
- 80006b8:      4291            cmp     r1, r2
- 80006ba:      f103 00c4       add.w   r0, r3, #196    ; 0xc4
- 80006be:      d005            beq.n   80006cc <d_substitution+0xac>
- 80006c0:      331c            adds    r3, #28
- 80006c2:      4283            cmp     r3, r0
- 80006c4:      d2e5            bcs.n   8000692 <d_substitution+0x72>
- 80006c6:      7819            ldrb    r1, [r3, #0]
- 80006c8:      4291            cmp     r1, r2
- 80006ca:      d1f9            bne.n   80006c0 <d_substitution+0xa0>
- 80006cc:      6958            ldr     r0, [r3, #20]
- 80006ce:      e9d5 2105       ldrd    r2, r1, [r5, #20]
- 80006d2:      b1a8            cbz     r0, 8000700 <d_substitution+0xe0>
- 80006d4:      428a            cmp     r2, r1
- 80006d6:      da57            bge.n   8000788 <d_substitution+0x168>
- 80006d8:      f8d5 c010       ldr.w   ip, [r5, #16]
- 80006dc:      f8d3 e018       ldr.w   lr, [r3, #24]
- 80006e0:      0117            lsls    r7, r2, #4
- 80006e2:      eb0c 0607       add.w   r6, ip, r7
- 80006e6:      3201            adds    r2, #1
- 80006e8:      f04f 0900       mov.w   r9, #0
- 80006ec:      f04f 0818       mov.w   r8, #24
- 80006f0:      f8c6 9004       str.w   r9, [r6, #4]
- 80006f4:      616a            str     r2, [r5, #20]
- 80006f6:      f80c 8007       strb.w  r8, [ip, r7]
- 80006fa:      e9c6 0e02       strd    r0, lr, [r6, #8]
- 80006fe:      62ee            str     r6, [r5, #44]   ; 0x2c
- 8000700:      2c00            cmp     r4, #0
- 8000702:      d13c            bne.n   800077e <d_substitution+0x15e>
- 8000704:      e9d3 6401       ldrd    r6, r4, [r3, #4]
- 8000708:      6b2b            ldr     r3, [r5, #48]   ; 0x30
- 800070a:      4291            cmp     r1, r2
- 800070c:      4423            add     r3, r4
- 800070e:      632b            str     r3, [r5, #48]   ; 0x30
- 8000710:      dd38            ble.n   8000784 <d_substitution+0x164>
- 8000712:      6929            ldr     r1, [r5, #16]
- 8000714:      0113            lsls    r3, r2, #4
- 8000716:      18c8            adds    r0, r1, r3
- 8000718:      3201            adds    r2, #1
- 800071a:      f04f 0c00       mov.w   ip, #0
- 800071e:      2718            movs    r7, #24
- 8000720:      f8c0 c004       str.w   ip, [r0, #4]
- 8000724:      616a            str     r2, [r5, #20]
- 8000726:      54cf            strb    r7, [r1, r3]
- 8000728:      e9c0 6402       strd    r6, r4, [r0, #8]
- 800072c:      68eb            ldr     r3, [r5, #12]
- 800072e:      781b            ldrb    r3, [r3, #0]
- 8000730:      2b42            cmp     r3, #66 ; 0x42
- 8000732:      d1af            bne.n   8000694 <d_substitution+0x74>
- 8000734:      4601            mov     r1, r0
- 8000736:      4628            mov     r0, r5
- 8000738:      f7ff ff56       bl      80005e8 <d_abi_tags>
- 800073c:      2800            cmp     r0, #0
- 800073e:      d0a8            beq.n   8000692 <d_substitution+0x72>
- 8000740:      e9d5 3208       ldrd    r3, r2, [r5, #32]
- 8000744:      4293            cmp     r3, r2
- 8000746:      daa5            bge.n   8000694 <d_substitution+0x74>
- 8000748:      69e9            ldr     r1, [r5, #28]
- 800074a:      1c5a            adds    r2, r3, #1
- 800074c:      f841 0023       str.w   r0, [r1, r3, lsl #2]
- 8000750:      622a            str     r2, [r5, #32]
- 8000752:      e79f            b.n     8000694 <d_substitution+0x74>
- 8000754:      2300            movs    r3, #0
- 8000756:      6a2a            ldr     r2, [r5, #32]
- 8000758:      429a            cmp     r2, r3
- 800075a:      d99a            bls.n   8000692 <d_substitution+0x72>
- 800075c:      6aaa            ldr     r2, [r5, #40]   ; 0x28
- 800075e:      69e9            ldr     r1, [r5, #28]
- 8000760:      3201            adds    r2, #1
- 8000762:      62aa            str     r2, [r5, #40]   ; 0x28
- 8000764:      f851 0023       ldr.w   r0, [r1, r3, lsl #2]
- 8000768:      e8bd 83f8       ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc}
- 800076c:      3301            adds    r3, #1
- 800076e:      e7f2            b.n     8000756 <d_substitution+0x136>
- 8000770:      68eb            ldr     r3, [r5, #12]
- 8000772:      781b            ldrb    r3, [r3, #0]
- 8000774:      3b43            subs    r3, #67 ; 0x43
- 8000776:      2b01            cmp     r3, #1
- 8000778:      bf98            it      ls
- 800077a:      460c            movls   r4, r1
- 800077c:      e79a            b.n     80006b4 <d_substitution+0x94>
- 800077e:      e9d3 6403       ldrd    r6, r4, [r3, #12]
- 8000782:      e7c1            b.n     8000708 <d_substitution+0xe8>
- 8000784:      2000            movs    r0, #0
- 8000786:      e7d1            b.n     800072c <d_substitution+0x10c>
- 8000788:      2600            movs    r6, #0
- 800078a:      e7b8            b.n     80006fe <d_substitution+0xde>
- 800078c:      08011b0c        .word   0x08011b0c
-
-08000790 <d_discriminator>:
- 8000790:      68c3            ldr     r3, [r0, #12]
- 8000792:      781a            ldrb    r2, [r3, #0]
- 8000794:      2a5f            cmp     r2, #95 ; 0x5f
- 8000796:      d001            beq.n   800079c <d_discriminator+0xc>
- 8000798:      2001            movs    r0, #1
- 800079a:      4770            bx      lr
- 800079c:      b510            push    {r4, lr}
- 800079e:      1c5a            adds    r2, r3, #1
- 80007a0:      4604            mov     r4, r0
- 80007a2:      f840 2f0c       str.w   r2, [r0, #12]!
- 80007a6:      785a            ldrb    r2, [r3, #1]
- 80007a8:      2a5f            cmp     r2, #95 ; 0x5f
- 80007aa:      d004            beq.n   80007b6 <d_discriminator+0x26>
- 80007ac:      f7ff fe42       bl      8000434 <d_number.isra.1>
- 80007b0:      43c0            mvns    r0, r0
- 80007b2:      0fc0            lsrs    r0, r0, #31
- 80007b4:      bd10            pop     {r4, pc}
- 80007b6:      3302            adds    r3, #2
- 80007b8:      60e3            str     r3, [r4, #12]
- 80007ba:      f7ff fe3b       bl      8000434 <d_number.isra.1>
- 80007be:      2800            cmp     r0, #0
- 80007c0:      db05            blt.n   80007ce <d_discriminator+0x3e>
- 80007c2:      2809            cmp     r0, #9
- 80007c4:      dd07            ble.n   80007d6 <d_discriminator+0x46>
- 80007c6:      68e3            ldr     r3, [r4, #12]
- 80007c8:      781a            ldrb    r2, [r3, #0]
- 80007ca:      2a5f            cmp     r2, #95 ; 0x5f
- 80007cc:      d001            beq.n   80007d2 <d_discriminator+0x42>
- 80007ce:      2000            movs    r0, #0
- 80007d0:      bd10            pop     {r4, pc}
- 80007d2:      3301            adds    r3, #1
- 80007d4:      60e3            str     r3, [r4, #12]
- 80007d6:      2001            movs    r0, #1
- 80007d8:      bd10            pop     {r4, pc}
- 80007da:      bf00            nop
-
-080007dc <d_index_template_argument.part.9>:
- 80007dc:      b170            cbz     r0, 80007fc <d_index_template_argument.part.9+0x20>
- 80007de:      7803            ldrb    r3, [r0, #0]
- 80007e0:      2b2f            cmp     r3, #47 ; 0x2f
- 80007e2:      d10f            bne.n   8000804 <d_index_template_argument.part.9+0x28>
- 80007e4:      2900            cmp     r1, #0
- 80007e6:      dc04            bgt.n   80007f2 <d_index_template_argument.part.9+0x16>
- 80007e8:      e009            b.n     80007fe <d_index_template_argument.part.9+0x22>
- 80007ea:      7803            ldrb    r3, [r0, #0]
- 80007ec:      2b2f            cmp     r3, #47 ; 0x2f
- 80007ee:      d109            bne.n   8000804 <d_index_template_argument.part.9+0x28>
- 80007f0:      b131            cbz     r1, 8000800 <d_index_template_argument.part.9+0x24>
- 80007f2:      68c0            ldr     r0, [r0, #12]
- 80007f4:      3901            subs    r1, #1
- 80007f6:      2800            cmp     r0, #0
- 80007f8:      d1f7            bne.n   80007ea <d_index_template_argument.part.9+0xe>
- 80007fa:      4770            bx      lr
- 80007fc:      4770            bx      lr
- 80007fe:      d101            bne.n   8000804 <d_index_template_argument.part.9+0x28>
- 8000800:      6880            ldr     r0, [r0, #8]
- 8000802:      4770            bx      lr
- 8000804:      2000            movs    r0, #0
- 8000806:      4770            bx      lr
-
-08000808 <d_lookup_template_argument.isra.10>:
- 8000808:      f8d0 3110       ldr.w   r3, [r0, #272]  ; 0x110
- 800080c:      b133            cbz     r3, 800081c <d_lookup_template_argument.isra.10+0x14>
- 800080e:      6809            ldr     r1, [r1, #0]
- 8000810:      685b            ldr     r3, [r3, #4]
- 8000812:      2900            cmp     r1, #0
- 8000814:      68db            ldr     r3, [r3, #12]
- 8000816:      db04            blt.n   8000822 <d_lookup_template_argument.isra.10+0x1a>
- 8000818:      4618            mov     r0, r3
- 800081a:      e7df            b.n     80007dc <d_index_template_argument.part.9>
- 800081c:      2201            movs    r2, #1
- 800081e:      f8c0 2118       str.w   r2, [r0, #280]  ; 0x118
- 8000822:      4618            mov     r0, r3
- 8000824:      4770            bx      lr
- 8000826:      bf00            nop
-
-08000828 <d_find_pack>:
- 8000828:      2900            cmp     r1, #0
- 800082a:      d042            beq.n   80008b2 <d_find_pack+0x8a>
- 800082c:      b538            push    {r3, r4, r5, lr}
- 800082e:      4605            mov     r5, r0
- 8000830:      460c            mov     r4, r1
- 8000832:      7823            ldrb    r3, [r4, #0]
- 8000834:      2b4b            cmp     r3, #75 ; 0x4b
- 8000836:      d827            bhi.n   8000888 <d_find_pack+0x60>
- 8000838:      e8df f003       tbb     [pc, r3]
- 800083c:      2626262e        .word   0x2626262e
- 8000840:      2b2e3026        .word   0x2b2e3026
- 8000844:      2626262b        .word   0x2626262b
- 8000848:      26262626        .word   0x26262626
- 800084c:      26262626        .word   0x26262626
- 8000850:      26262626        .word   0x26262626
- 8000854:      2626262e        .word   0x2626262e
- 8000858:      26262626        .word   0x26262626
- 800085c:      26262626        .word   0x26262626
- 8000860:      2e262626        .word   0x2e262626
- 8000864:      26262626        .word   0x26262626
- 8000868:      2626262e        .word   0x2626262e
- 800086c:      262b2e26        .word   0x262b2e26
- 8000870:      26262626        .word   0x26262626
- 8000874:      26262626        .word   0x26262626
- 8000878:      26262626        .word   0x26262626
- 800087c:      26262e2e        .word   0x26262e2e
- 8000880:      2e2e2e26        .word   0x2e2e2e26
- 8000884:      2e2e2626        .word   0x2e2e2626
- 8000888:      68a1            ldr     r1, [r4, #8]
- 800088a:      4628            mov     r0, r5
- 800088c:      f7ff ffcc       bl      8000828 <d_find_pack>
- 8000890:      b918            cbnz    r0, 800089a <d_find_pack+0x72>
- 8000892:      68e4            ldr     r4, [r4, #12]
- 8000894:      2c00            cmp     r4, #0
- 8000896:      d1cc            bne.n   8000832 <d_find_pack+0xa>
- 8000898:      2000            movs    r0, #0
- 800089a:      bd38            pop     {r3, r4, r5, pc}
- 800089c:      f104 0108       add.w   r1, r4, #8
- 80008a0:      4628            mov     r0, r5
- 80008a2:      f7ff ffb1       bl      8000808 <d_lookup_template_argument.isra.10>
- 80008a6:      2800            cmp     r0, #0
- 80008a8:      d0f6            beq.n   8000898 <d_find_pack+0x70>
- 80008aa:      7803            ldrb    r3, [r0, #0]
- 80008ac:      2b2f            cmp     r3, #47 ; 0x2f
- 80008ae:      d1f3            bne.n   8000898 <d_find_pack+0x70>
- 80008b0:      bd38            pop     {r3, r4, r5, pc}
- 80008b2:      2000            movs    r0, #0
- 80008b4:      4770            bx      lr
- 80008b6:      bf00            nop
-
-080008b8 <d_growable_string_callback_adapter>:
- 80008b8:      e92d 41f0       stmdb   sp!, {r4, r5, r6, r7, r8, lr}
- 80008bc:      4614            mov     r4, r2
- 80008be:      e9d4 5702       ldrd    r5, r7, [r4, #8]
- 80008c2:      6852            ldr     r2, [r2, #4]
- 80008c4:      1c4b            adds    r3, r1, #1
- 80008c6:      4413            add     r3, r2
- 80008c8:      42ab            cmp     r3, r5
- 80008ca:      b082            sub     sp, #8
- 80008cc:      460e            mov     r6, r1
- 80008ce:      4680            mov     r8, r0
- 80008d0:      d814            bhi.n   80008fc <d_growable_string_callback_adapter+0x44>
- 80008d2:      b117            cbz     r7, 80008da <d_growable_string_callback_adapter+0x22>
- 80008d4:      b002            add     sp, #8
- 80008d6:      e8bd 81f0       ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
- 80008da:      e9d4 0300       ldrd    r0, r3, [r4]
- 80008de:      4632            mov     r2, r6
- 80008e0:      4641            mov     r1, r8
- 80008e2:      4418            add     r0, r3
- 80008e4:      f00d fd47       bl      800e376 <memcpy>
- 80008e8:      e9d4 3200       ldrd    r3, r2, [r4]
- 80008ec:      4433            add     r3, r6
- 80008ee:      549f            strb    r7, [r3, r2]
- 80008f0:      6863            ldr     r3, [r4, #4]
- 80008f2:      441e            add     r6, r3
- 80008f4:      6066            str     r6, [r4, #4]
- 80008f6:      b002            add     sp, #8
- 80008f8:      e8bd 81f0       ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
- 80008fc:      2f00            cmp     r7, #0
- 80008fe:      d1e9            bne.n   80008d4 <d_growable_string_callback_adapter+0x1c>
- 8000900:      b91d            cbnz    r5, 800090a <d_growable_string_callback_adapter+0x52>
- 8000902:      2b02            cmp     r3, #2
- 8000904:      f04f 0502       mov.w   r5, #2
- 8000908:      d902            bls.n   8000910 <d_growable_string_callback_adapter+0x58>
- 800090a:      006d            lsls    r5, r5, #1
- 800090c:      42ab            cmp     r3, r5
- 800090e:      d8fc            bhi.n   800090a <d_growable_string_callback_adapter+0x52>
- 8000910:      4629            mov     r1, r5
- 8000912:      6820            ldr     r0, [r4, #0]
- 8000914:      f00d fd9c       bl      800e450 <realloc>
- 8000918:      b128            cbz     r0, 8000926 <d_growable_string_callback_adapter+0x6e>
- 800091a:      68e7            ldr     r7, [r4, #12]
- 800091c:      6020            str     r0, [r4, #0]
- 800091e:      60a5            str     r5, [r4, #8]
- 8000920:      2f00            cmp     r7, #0
- 8000922:      d1d7            bne.n   80008d4 <d_growable_string_callback_adapter+0x1c>
- 8000924:      e7d9            b.n     80008da <d_growable_string_callback_adapter+0x22>
- 8000926:      9001            str     r0, [sp, #4]
- 8000928:      6820            ldr     r0, [r4, #0]
- 800092a:      f00d fad7       bl      800dedc <free>
- 800092e:      9b01            ldr     r3, [sp, #4]
- 8000930:      2201            movs    r2, #1
- 8000932:      e9c4 3300       strd    r3, r3, [r4]
- 8000936:      e9c4 3202       strd    r3, r2, [r4, #8]
- 800093a:      e7cb            b.n     80008d4 <d_growable_string_callback_adapter+0x1c>
-
-0800093c <d_call_offset>:
- 800093c:      b538            push    {r3, r4, r5, lr}
- 800093e:      4604            mov     r4, r0
- 8000940:      b929            cbnz    r1, 800094e <d_call_offset+0x12>
- 8000942:      68c3            ldr     r3, [r0, #12]
- 8000944:      781a            ldrb    r2, [r3, #0]
- 8000946:      b132            cbz     r2, 8000956 <d_call_offset+0x1a>
- 8000948:      1c5a            adds    r2, r3, #1
- 800094a:      60c2            str     r2, [r0, #12]
- 800094c:      7819            ldrb    r1, [r3, #0]
- 800094e:      2968            cmp     r1, #104        ; 0x68
- 8000950:      d012            beq.n   8000978 <d_call_offset+0x3c>
- 8000952:      2976            cmp     r1, #118        ; 0x76
- 8000954:      d001            beq.n   800095a <d_call_offset+0x1e>
- 8000956:      2000            movs    r0, #0
- 8000958:      bd38            pop     {r3, r4, r5, pc}
- 800095a:      f104 050c       add.w   r5, r4, #12
- 800095e:      4628            mov     r0, r5
- 8000960:      f7ff fd68       bl      8000434 <d_number.isra.1>
- 8000964:      68e3            ldr     r3, [r4, #12]
- 8000966:      781a            ldrb    r2, [r3, #0]
- 8000968:      2a5f            cmp     r2, #95 ; 0x5f
- 800096a:      d1f4            bne.n   8000956 <d_call_offset+0x1a>
- 800096c:      3301            adds    r3, #1
- 800096e:      60e3            str     r3, [r4, #12]
- 8000970:      4628            mov     r0, r5
- 8000972:      f7ff fd5f       bl      8000434 <d_number.isra.1>
- 8000976:      e003            b.n     8000980 <d_call_offset+0x44>
- 8000978:      f104 000c       add.w   r0, r4, #12
- 800097c:      f7ff fd5a       bl      8000434 <d_number.isra.1>
- 8000980:      68e3            ldr     r3, [r4, #12]
- 8000982:      781a            ldrb    r2, [r3, #0]
- 8000984:      2a5f            cmp     r2, #95 ; 0x5f
- 8000986:      d1e6            bne.n   8000956 <d_call_offset+0x1a>
- 8000988:      3301            adds    r3, #1
- 800098a:      60e3            str     r3, [r4, #12]
- 800098c:      2001            movs    r0, #1
- 800098e:      bd38            pop     {r3, r4, r5, pc}
-
-08000990 <d_append_num>:
- 8000990:      e92d 41f0       stmdb   sp!, {r4, r5, r6, r7, r8, lr}
- 8000994:      b088            sub     sp, #32
- 8000996:      460a            mov     r2, r1
- 8000998:      4604            mov     r4, r0
- 800099a:      491c            ldr     r1, [pc, #112]  ; (8000a0c <d_append_num+0x7c>)
- 800099c:      a801            add     r0, sp, #4
- 800099e:      f00d ff5d       bl      800e85c <sprintf>
- 80009a2:      a801            add     r0, sp, #4
- 80009a4:      f006 fa16       bl      8006dd4 <strlen>
- 80009a8:      b368            cbz     r0, 8000a06 <d_append_num+0x76>
- 80009aa:      ad01            add     r5, sp, #4
- 80009ac:      f8d4 3100       ldr.w   r3, [r4, #256]  ; 0x100
- 80009b0:      182e            adds    r6, r5, r0
- 80009b2:      2700            movs    r7, #0
- 80009b4:      e016            b.n     80009e4 <d_append_num+0x54>
- 80009b6:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 80009ba:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 80009be:      f884 70ff       strb.w  r7, [r4, #255]  ; 0xff
- 80009c2:      4798            blx     r3
- 80009c4:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 80009c8:      2200            movs    r2, #0
- 80009ca:      3301            adds    r3, #1
- 80009cc:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 80009d0:      42ae            cmp     r6, r5
- 80009d2:      f04f 0301       mov.w   r3, #1
- 80009d6:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 80009da:      f804 8002       strb.w  r8, [r4, r2]
- 80009de:      f884 8104       strb.w  r8, [r4, #260]  ; 0x104
- 80009e2:      d010            beq.n   8000a06 <d_append_num+0x76>
- 80009e4:      2bff            cmp     r3, #255        ; 0xff
- 80009e6:      4619            mov     r1, r3
- 80009e8:      4620            mov     r0, r4
- 80009ea:      f815 8b01       ldrb.w  r8, [r5], #1
- 80009ee:      d0e2            beq.n   80009b6 <d_append_num+0x26>
- 80009f0:      461a            mov     r2, r3
- 80009f2:      42ae            cmp     r6, r5
- 80009f4:      f103 0301       add.w   r3, r3, #1
- 80009f8:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 80009fc:      f804 8002       strb.w  r8, [r4, r2]
- 8000a00:      f884 8104       strb.w  r8, [r4, #260]  ; 0x104
- 8000a04:      d1ee            bne.n   80009e4 <d_append_num+0x54>
- 8000a06:      b008            add     sp, #32
- 8000a08:      e8bd 81f0       ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
- 8000a0c:      08012574        .word   0x08012574
-
-08000a10 <d_exprlist>:
- 8000a10:      e92d 4ff0       stmdb   sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
- 8000a14:      68c3            ldr     r3, [r0, #12]
- 8000a16:      781d            ldrb    r5, [r3, #0]
- 8000a18:      b083            sub     sp, #12
- 8000a1a:      2200            movs    r2, #0
- 8000a1c:      428d            cmp     r5, r1
- 8000a1e:      4604            mov     r4, r0
- 8000a20:      9201            str     r2, [sp, #4]
- 8000a22:      f000 8199       beq.w   8000d58 <d_exprlist+0x348>
- 8000a26:      f8df 94c0       ldr.w   r9, [pc, #1216] ; 8000ee8 <d_exprlist+0x4d8>
- 8000a2a:      4688            mov     r8, r1
- 8000a2c:      af01            add     r7, sp, #4
- 8000a2e:      2501            movs    r5, #1
- 8000a30:      6b66            ldr     r6, [r4, #52]   ; 0x34
- 8000a32:      6365            str     r5, [r4, #52]   ; 0x34
- 8000a34:      781a            ldrb    r2, [r3, #0]
- 8000a36:      2a4c            cmp     r2, #76 ; 0x4c
- 8000a38:      d05c            beq.n   8000af4 <d_exprlist+0xe4>
- 8000a3a:      2a54            cmp     r2, #84 ; 0x54
- 8000a3c:      d066            beq.n   8000b0c <d_exprlist+0xfc>
- 8000a3e:      2a73            cmp     r2, #115        ; 0x73
- 8000a40:      d045            beq.n   8000ace <d_exprlist+0xbe>
- 8000a42:      2a66            cmp     r2, #102        ; 0x66
- 8000a44:      d11c            bne.n   8000a80 <d_exprlist+0x70>
- 8000a46:      785a            ldrb    r2, [r3, #1]
- 8000a48:      2a70            cmp     r2, #112        ; 0x70
- 8000a4a:      f000 8087       beq.w   8000b5c <d_exprlist+0x14c>
- 8000a4e:      4620            mov     r0, r4
- 8000a50:      f001 fa70       bl      8001f34 <d_operator_name>
- 8000a54:      4605            mov     r5, r0
- 8000a56:      2800            cmp     r0, #0
- 8000a58:      f000 818c       beq.w   8000d74 <d_exprlist+0x364>
- 8000a5c:      7803            ldrb    r3, [r0, #0]
- 8000a5e:      2b31            cmp     r3, #49 ; 0x31
- 8000a60:      f000 8098       beq.w   8000b94 <d_exprlist+0x184>
- 8000a64:      2b32            cmp     r3, #50 ; 0x32
- 8000a66:      d056            beq.n   8000b16 <d_exprlist+0x106>
- 8000a68:      2b33            cmp     r3, #51 ; 0x33
- 8000a6a:      d171            bne.n   8000b50 <d_exprlist+0x140>
- 8000a6c:      68e3            ldr     r3, [r4, #12]
- 8000a6e:      781a            ldrb    r2, [r3, #0]
- 8000a70:      2a5f            cmp     r2, #95 ; 0x5f
- 8000a72:      f000 81da       beq.w   8000e2a <d_exprlist+0x41a>
- 8000a76:      4620            mov     r0, r4
- 8000a78:      f000 fa38       bl      8000eec <d_expression_1>
- 8000a7c:      4603            mov     r3, r0
- 8000a7e:      e0c1            b.n     8000c04 <d_exprlist+0x1f4>
- 8000a80:      f1a2 0130       sub.w   r1, r2, #48     ; 0x30
- 8000a84:      2909            cmp     r1, #9
- 8000a86:      f200 80e7       bhi.w   8000c58 <d_exprlist+0x248>
- 8000a8a:      4620            mov     r0, r4
- 8000a8c:      f001 fbfe       bl      800228c <d_unqualified_name>
- 8000a90:      4605            mov     r5, r0
- 8000a92:      2800            cmp     r0, #0
- 8000a94:      f000 816e       beq.w   8000d74 <d_exprlist+0x364>
- 8000a98:      68e3            ldr     r3, [r4, #12]
- 8000a9a:      781a            ldrb    r2, [r3, #0]
- 8000a9c:      2a49            cmp     r2, #73 ; 0x49
- 8000a9e:      f000 80b8       beq.w   8000c12 <d_exprlist+0x202>
- 8000aa2:      6366            str     r6, [r4, #52]   ; 0x34
- 8000aa4:      462a            mov     r2, r5
- 8000aa6:      2300            movs    r3, #0
- 8000aa8:      212e            movs    r1, #46 ; 0x2e
- 8000aaa:      4620            mov     r0, r4
- 8000aac:      f7ff fbc8       bl      8000240 <d_make_comp>
- 8000ab0:      6038            str     r0, [r7, #0]
- 8000ab2:      b330            cbz     r0, 8000b02 <d_exprlist+0xf2>
- 8000ab4:      68e3            ldr     r3, [r4, #12]
- 8000ab6:      781a            ldrb    r2, [r3, #0]
- 8000ab8:      4542            cmp     r2, r8
- 8000aba:      f100 070c       add.w   r7, r0, #12
- 8000abe:      d1b6            bne.n   8000a2e <d_exprlist+0x1e>
- 8000ac0:      3301            adds    r3, #1
- 8000ac2:      9d01            ldr     r5, [sp, #4]
- 8000ac4:      60e3            str     r3, [r4, #12]
- 8000ac6:      4628            mov     r0, r5
- 8000ac8:      b003            add     sp, #12
- 8000aca:      e8bd 8ff0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
- 8000ace:      785a            ldrb    r2, [r3, #1]
- 8000ad0:      2a72            cmp     r2, #114        ; 0x72
- 8000ad2:      f000 80ab       beq.w   8000c2c <d_exprlist+0x21c>
- 8000ad6:      2a70            cmp     r2, #112        ; 0x70
- 8000ad8:      d1b9            bne.n   8000a4e <d_exprlist+0x3e>
- 8000ada:      3302            adds    r3, #2
- 8000adc:      60e3            str     r3, [r4, #12]
- 8000ade:      4620            mov     r0, r4
- 8000ae0:      f000 fa04       bl      8000eec <d_expression_1>
- 8000ae4:      2300            movs    r3, #0
- 8000ae6:      4602            mov     r2, r0
- 8000ae8:      214a            movs    r1, #74 ; 0x4a
- 8000aea:      4620            mov     r0, r4
- 8000aec:      f7ff fba8       bl      8000240 <d_make_comp>
- 8000af0:      4605            mov     r5, r0
- 8000af2:      e003            b.n     8000afc <d_exprlist+0xec>
- 8000af4:      4620            mov     r0, r4
- 8000af6:      f002 f813       bl      8002b20 <d_expr_primary>
- 8000afa:      4605            mov     r5, r0
- 8000afc:      6366            str     r6, [r4, #52]   ; 0x34
- 8000afe:      2d00            cmp     r5, #0
- 8000b00:      d1d0            bne.n   8000aa4 <d_exprlist+0x94>
- 8000b02:      2500            movs    r5, #0
- 8000b04:      4628            mov     r0, r5
- 8000b06:      b003            add     sp, #12
- 8000b08:      e8bd 8ff0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
- 8000b0c:      4620            mov     r0, r4
- 8000b0e:      f7ff fcef       bl      80004f0 <d_template_param>
- 8000b12:      4605            mov     r5, r0
- 8000b14:      e7f2            b.n     8000afc <d_exprlist+0xec>
- 8000b16:      6883            ldr     r3, [r0, #8]
- 8000b18:      2b03            cmp     r3, #3
- 8000b1a:      d819            bhi.n   8000b50 <d_exprlist+0x140>
- 8000b1c:      a201            add     r2, pc, #4      ; (adr r2, 8000b24 <d_exprlist+0x114>)
- 8000b1e:      f852 f023       ldr.w   pc, [r2, r3, lsl #2]
- 8000b22:      bf00            nop
- 8000b24:      08000cb7        .word   0x08000cb7
- 8000b28:      08000a77        .word   0x08000a77
- 8000b2c:      08000b51        .word   0x08000b51
- 8000b30:      08000b51        .word   0x08000b51
- 8000b34:      2a74            cmp     r2, #116        ; 0x74
- 8000b36:      d18a            bne.n   8000a4e <d_exprlist+0x3e>
- 8000b38:      785b            ldrb    r3, [r3, #1]
- 8000b3a:      2b6c            cmp     r3, #108        ; 0x6c
- 8000b3c:      d187            bne.n   8000a4e <d_exprlist+0x3e>
- 8000b3e:      4620            mov     r0, r4
- 8000b40:      f000 fdfe       bl      8001740 <d_type>
- 8000b44:      68e3            ldr     r3, [r4, #12]
- 8000b46:      785a            ldrb    r2, [r3, #1]
- 8000b48:      4605            mov     r5, r0
- 8000b4a:      2a00            cmp     r2, #0
- 8000b4c:      f040 8123       bne.w   8000d96 <d_exprlist+0x386>
- 8000b50:      2500            movs    r5, #0
- 8000b52:      4628            mov     r0, r5
- 8000b54:      6366            str     r6, [r4, #52]   ; 0x34
- 8000b56:      b003            add     sp, #12
- 8000b58:      e8bd 8ff0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
- 8000b5c:      1c9a            adds    r2, r3, #2
- 8000b5e:      60e2            str     r2, [r4, #12]
- 8000b60:      789a            ldrb    r2, [r3, #2]
- 8000b62:      2a54            cmp     r2, #84 ; 0x54
- 8000b64:      f040 8082       bne.w   8000c6c <d_exprlist+0x25c>
- 8000b68:      3303            adds    r3, #3
- 8000b6a:      60e3            str     r3, [r4, #12]
- 8000b6c:      2000            movs    r0, #0
- 8000b6e:      e9d4 3205       ldrd    r3, r2, [r4, #20]
- 8000b72:      4293            cmp     r3, r2
- 8000b74:      daec            bge.n   8000b50 <d_exprlist+0x140>
- 8000b76:      6921            ldr     r1, [r4, #16]
- 8000b78:      011a            lsls    r2, r3, #4
- 8000b7a:      188d            adds    r5, r1, r2
- 8000b7c:      3301            adds    r3, #1
- 8000b7e:      f04f 0e00       mov.w   lr, #0
- 8000b82:      f04f 0c06       mov.w   ip, #6
- 8000b86:      f8c5 e004       str.w   lr, [r5, #4]
- 8000b8a:      6163            str     r3, [r4, #20]
- 8000b8c:      f801 c002       strb.w  ip, [r1, r2]
- 8000b90:      60a8            str     r0, [r5, #8]
- 8000b92:      e786            b.n     8000aa2 <d_exprlist+0x92>
- 8000b94:      f8d0 b008       ldr.w   fp, [r0, #8]
- 8000b98:      6b23            ldr     r3, [r4, #48]   ; 0x30
- 8000b9a:      f8db 2008       ldr.w   r2, [fp, #8]
- 8000b9e:      f8db a000       ldr.w   sl, [fp]
- 8000ba2:      3a02            subs    r2, #2
- 8000ba4:      4413            add     r3, r2
- 8000ba6:      6323            str     r3, [r4, #48]   ; 0x30
- 8000ba8:      4650            mov     r0, sl
- 8000baa:      4649            mov     r1, r9
- 8000bac:      f006 f908       bl      8006dc0 <strcmp>
- 8000bb0:      2800            cmp     r0, #0
- 8000bb2:      f000 80e4       beq.w   8000d7e <d_exprlist+0x36e>
- 8000bb6:      f8db b00c       ldr.w   fp, [fp, #12]
- 8000bba:      f1bb 0f03       cmp.w   fp, #3
- 8000bbe:      d8c7            bhi.n   8000b50 <d_exprlist+0x140>
- 8000bc0:      e8df f01b       tbh     [pc, fp, lsl #1]
- 8000bc4:      00040079        .word   0x00040079
- 8000bc8:      008100f7        .word   0x008100f7
- 8000bcc:      f89a 3000       ldrb.w  r3, [sl]
- 8000bd0:      2b70            cmp     r3, #112        ; 0x70
- 8000bd2:      d065            beq.n   8000ca0 <d_exprlist+0x290>
- 8000bd4:      2b6d            cmp     r3, #109        ; 0x6d
- 8000bd6:      d063            beq.n   8000ca0 <d_exprlist+0x290>
- 8000bd8:      f04f 0b00       mov.w   fp, #0
- 8000bdc:      4650            mov     r0, sl
- 8000bde:      49bd            ldr     r1, [pc, #756]  ; (8000ed4 <d_exprlist+0x4c4>)
- 8000be0:      f006 f8ee       bl      8006dc0 <strcmp>
- 8000be4:      2800            cmp     r0, #0
- 8000be6:      f040 80c0       bne.w   8000d6a <d_exprlist+0x35a>
- 8000bea:      4620            mov     r0, r4
- 8000bec:      f000 fb90       bl      8001310 <d_template_args_1>
- 8000bf0:      4603            mov     r3, r0
- 8000bf2:      f1bb 0f00       cmp.w   fp, #0
- 8000bf6:      d005            beq.n   8000c04 <d_exprlist+0x1f4>
- 8000bf8:      461a            mov     r2, r3
- 8000bfa:      2138            movs    r1, #56 ; 0x38
- 8000bfc:      4620            mov     r0, r4
- 8000bfe:      f7ff fb1f       bl      8000240 <d_make_comp>
- 8000c02:      4603            mov     r3, r0
- 8000c04:      462a            mov     r2, r5
- 8000c06:      2136            movs    r1, #54 ; 0x36
- 8000c08:      4620            mov     r0, r4
- 8000c0a:      f7ff fb19       bl      8000240 <d_make_comp>
- 8000c0e:      4605            mov     r5, r0
- 8000c10:      e774            b.n     8000afc <d_exprlist+0xec>
- 8000c12:      3301            adds    r3, #1
- 8000c14:      60e3            str     r3, [r4, #12]
- 8000c16:      4620            mov     r0, r4
- 8000c18:      f000 fb7a       bl      8001310 <d_template_args_1>
- 8000c1c:      462a            mov     r2, r5
- 8000c1e:      4603            mov     r3, r0
- 8000c20:      2104            movs    r1, #4
- 8000c22:      4620            mov     r0, r4
- 8000c24:      f7ff fb0c       bl      8000240 <d_make_comp>
- 8000c28:      4605            mov     r5, r0
- 8000c2a:      e767            b.n     8000afc <d_exprlist+0xec>
- 8000c2c:      3302            adds    r3, #2
- 8000c2e:      60e3            str     r3, [r4, #12]
- 8000c30:      4620            mov     r0, r4
- 8000c32:      f000 fd85       bl      8001740 <d_type>
- 8000c36:      4682            mov     sl, r0
- 8000c38:      4620            mov     r0, r4
- 8000c3a:      f001 fb27       bl      800228c <d_unqualified_name>
- 8000c3e:      68e3            ldr     r3, [r4, #12]
- 8000c40:      781a            ldrb    r2, [r3, #0]
- 8000c42:      2a49            cmp     r2, #73 ; 0x49
- 8000c44:      4683            mov     fp, r0
- 8000c46:      d01e            beq.n   8000c86 <d_exprlist+0x276>
- 8000c48:      4603            mov     r3, r0
- 8000c4a:      4629            mov     r1, r5
- 8000c4c:      4652            mov     r2, sl
- 8000c4e:      4620            mov     r0, r4
- 8000c50:      f7ff faf6       bl      8000240 <d_make_comp>
- 8000c54:      4605            mov     r5, r0
- 8000c56:      e751            b.n     8000afc <d_exprlist+0xec>
- 8000c58:      2a6f            cmp     r2, #111        ; 0x6f
- 8000c5a:      f040 8094       bne.w   8000d86 <d_exprlist+0x376>
- 8000c5e:      785a            ldrb    r2, [r3, #1]
- 8000c60:      2a6e            cmp     r2, #110        ; 0x6e
- 8000c62:      f47f aef4       bne.w   8000a4e <d_exprlist+0x3e>
- 8000c66:      3302            adds    r3, #2
- 8000c68:      60e3            str     r3, [r4, #12]
- 8000c6a:      e70e            b.n     8000a8a <d_exprlist+0x7a>
- 8000c6c:      4620            mov     r0, r4
- 8000c6e:      f7ff fc25       bl      80004bc <d_compact_number>
- 8000c72:      f06f 4300       mvn.w   r3, #2147483648 ; 0x80000000
- 8000c76:      4298            cmp     r0, r3
- 8000c78:      f43f af6a       beq.w   8000b50 <d_exprlist+0x140>
- 8000c7c:      1c43            adds    r3, r0, #1
- 8000c7e:      f43f af67       beq.w   8000b50 <d_exprlist+0x140>
- 8000c82:      3001            adds    r0, #1
- 8000c84:      e773            b.n     8000b6e <d_exprlist+0x15e>
- 8000c86:      3301            adds    r3, #1
- 8000c88:      60e3            str     r3, [r4, #12]
- 8000c8a:      4620            mov     r0, r4
- 8000c8c:      f000 fb40       bl      8001310 <d_template_args_1>
- 8000c90:      465a            mov     r2, fp
- 8000c92:      4603            mov     r3, r0
- 8000c94:      2104            movs    r1, #4
- 8000c96:      4620            mov     r0, r4
- 8000c98:      f7ff fad2       bl      8000240 <d_make_comp>
- 8000c9c:      4603            mov     r3, r0
- 8000c9e:      e7d4            b.n     8000c4a <d_exprlist+0x23a>
- 8000ca0:      f89a 2001       ldrb.w  r2, [sl, #1]
- 8000ca4:      429a            cmp     r2, r3
- 8000ca6:      d197            bne.n   8000bd8 <d_exprlist+0x1c8>
- 8000ca8:      68e3            ldr     r3, [r4, #12]
- 8000caa:      781a            ldrb    r2, [r3, #0]
- 8000cac:      2a5f            cmp     r2, #95 ; 0x5f
- 8000cae:      d195            bne.n   8000bdc <d_exprlist+0x1cc>
- 8000cb0:      3301            adds    r3, #1
- 8000cb2:      60e3            str     r3, [r4, #12]
- 8000cb4:      e790            b.n     8000bd8 <d_exprlist+0x1c8>
- 8000cb6:      462a            mov     r2, r5
- 8000cb8:      2300            movs    r3, #0
- 8000cba:      2135            movs    r1, #53 ; 0x35
- 8000cbc:      4620            mov     r0, r4
- 8000cbe:      f7ff fabf       bl      8000240 <d_make_comp>
- 8000cc2:      4605            mov     r5, r0
- 8000cc4:      e71a            b.n     8000afc <d_exprlist+0xec>
- 8000cc6:      f1ba 0f00       cmp.w   sl, #0
- 8000cca:      f43f af41       beq.w   8000b50 <d_exprlist+0x140>
- 8000cce:      4982            ldr     r1, [pc, #520]  ; (8000ed8 <d_exprlist+0x4c8>)
- 8000cd0:      4650            mov     r0, sl
- 8000cd2:      f006 f875       bl      8006dc0 <strcmp>
- 8000cd6:      2800            cmp     r0, #0
- 8000cd8:      f000 80c7       beq.w   8000e6a <d_exprlist+0x45a>
- 8000cdc:      f89a 3000       ldrb.w  r3, [sl]
- 8000ce0:      2b66            cmp     r3, #102        ; 0x66
- 8000ce2:      f000 80ed       beq.w   8000ec0 <d_exprlist+0x4b0>
- 8000ce6:      2b6e            cmp     r3, #110        ; 0x6e
- 8000ce8:      f47f af32       bne.w   8000b50 <d_exprlist+0x140>
- 8000cec:      f89a 3001       ldrb.w  r3, [sl, #1]
- 8000cf0:      2b77            cmp     r3, #119        ; 0x77
- 8000cf2:      d002            beq.n   8000cfa <d_exprlist+0x2ea>
- 8000cf4:      2b61            cmp     r3, #97 ; 0x61
- 8000cf6:      f47f af2b       bne.w   8000b50 <d_exprlist+0x140>
- 8000cfa:      215f            movs    r1, #95 ; 0x5f
- 8000cfc:      4620            mov     r0, r4
- 8000cfe:      f7ff fe87       bl      8000a10 <d_exprlist>
- 8000d02:      4682            mov     sl, r0
- 8000d04:      4620            mov     r0, r4
- 8000d06:      f000 fd1b       bl      8001740 <d_type>
- 8000d0a:      68e3            ldr     r3, [r4, #12]
- 8000d0c:      781a            ldrb    r2, [r3, #0]
- 8000d0e:      2a45            cmp     r2, #69 ; 0x45
- 8000d10:      4683            mov     fp, r0
- 8000d12:      f000 8086       beq.w   8000e22 <d_exprlist+0x412>
- 8000d16:      2a70            cmp     r2, #112        ; 0x70
- 8000d18:      f000 80c6       beq.w   8000ea8 <d_exprlist+0x498>
- 8000d1c:      2a69            cmp     r2, #105        ; 0x69
- 8000d1e:      f47f af17       bne.w   8000b50 <d_exprlist+0x140>
- 8000d22:      785b            ldrb    r3, [r3, #1]
- 8000d24:      2b6c            cmp     r3, #108        ; 0x6c
- 8000d26:      f47f af13       bne.w   8000b50 <d_exprlist+0x140>
- 8000d2a:      4620            mov     r0, r4
- 8000d2c:      f000 f8de       bl      8000eec <d_expression_1>
- 8000d30:      4603            mov     r3, r0
- 8000d32:      465a            mov     r2, fp
- 8000d34:      213b            movs    r1, #59 ; 0x3b
- 8000d36:      4620            mov     r0, r4
- 8000d38:      f7ff fa82       bl      8000240 <d_make_comp>
- 8000d3c:      4652            mov     r2, sl
- 8000d3e:      4603            mov     r3, r0
- 8000d40:      213a            movs    r1, #58 ; 0x3a
- 8000d42:      4620            mov     r0, r4
- 8000d44:      f7ff fa7c       bl      8000240 <d_make_comp>
- 8000d48:      462a            mov     r2, r5
- 8000d4a:      4603            mov     r3, r0
- 8000d4c:      2139            movs    r1, #57 ; 0x39
- 8000d4e:      4620            mov     r0, r4
- 8000d50:      f7ff fa76       bl      8000240 <d_make_comp>
- 8000d54:      4605            mov     r5, r0
- 8000d56:      e6d1            b.n     8000afc <d_exprlist+0xec>
- 8000d58:      3301            adds    r3, #1
- 8000d5a:      60c3            str     r3, [r0, #12]
- 8000d5c:      212e            movs    r1, #46 ; 0x2e
- 8000d5e:      4613            mov     r3, r2
- 8000d60:      b003            add     sp, #12
- 8000d62:      e8bd 4ff0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
- 8000d66:      f7ff ba6b       b.w     8000240 <d_make_comp>
- 8000d6a:      4620            mov     r0, r4
- 8000d6c:      f000 f8be       bl      8000eec <d_expression_1>
- 8000d70:      4603            mov     r3, r0
- 8000d72:      e73e            b.n     8000bf2 <d_exprlist+0x1e2>
- 8000d74:      4628            mov     r0, r5
- 8000d76:      6366            str     r6, [r4, #52]   ; 0x34
- 8000d78:      b003            add     sp, #12
- 8000d7a:      e8bd 8ff0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
- 8000d7e:      4620            mov     r0, r4
- 8000d80:      f000 fcde       bl      8001740 <d_type>
- 8000d84:      e73d            b.n     8000c02 <d_exprlist+0x1f2>
- 8000d86:      2a69            cmp     r2, #105        ; 0x69
- 8000d88:      f47f aed4       bne.w   8000b34 <d_exprlist+0x124>
- 8000d8c:      785a            ldrb    r2, [r3, #1]
- 8000d8e:      2a6c            cmp     r2, #108        ; 0x6c
- 8000d90:      f47f ae5d       bne.w   8000a4e <d_exprlist+0x3e>
- 8000d94:      2500            movs    r5, #0
- 8000d96:      3302            adds    r3, #2
- 8000d98:      60e3            str     r3, [r4, #12]
- 8000d9a:      2145            movs    r1, #69 ; 0x45
- 8000d9c:      4620            mov     r0, r4
- 8000d9e:      f7ff fe37       bl      8000a10 <d_exprlist>
- 8000da2:      462a            mov     r2, r5
- 8000da4:      4603            mov     r3, r0
- 8000da6:      2130            movs    r1, #48 ; 0x30
- 8000da8:      4620            mov     r0, r4
- 8000daa:      f7ff fa49       bl      8000240 <d_make_comp>
- 8000dae:      4605            mov     r5, r0
- 8000db0:      e6a4            b.n     8000afc <d_exprlist+0xec>
- 8000db2:      f1ba 0f00       cmp.w   sl, #0
- 8000db6:      f43f aecb       beq.w   8000b50 <d_exprlist+0x140>
- 8000dba:      68ab            ldr     r3, [r5, #8]
- 8000dbc:      681b            ldr     r3, [r3, #0]
- 8000dbe:      785a            ldrb    r2, [r3, #1]
- 8000dc0:      2a63            cmp     r2, #99 ; 0x63
- 8000dc2:      d03a            beq.n   8000e3a <d_exprlist+0x42a>
- 8000dc4:      f89a 3000       ldrb.w  r3, [sl]
- 8000dc8:      2b66            cmp     r3, #102        ; 0x66
- 8000dca:      d149            bne.n   8000e60 <d_exprlist+0x450>
- 8000dcc:      4620            mov     r0, r4
- 8000dce:      f001 f8b1       bl      8001f34 <d_operator_name>
- 8000dd2:      4683            mov     fp, r0
- 8000dd4:      4941            ldr     r1, [pc, #260]  ; (8000edc <d_exprlist+0x4cc>)
- 8000dd6:      4650            mov     r0, sl
- 8000dd8:      f005 fff2       bl      8006dc0 <strcmp>
- 8000ddc:      2800            cmp     r0, #0
- 8000dde:      d039            beq.n   8000e54 <d_exprlist+0x444>
- 8000de0:      493f            ldr     r1, [pc, #252]  ; (8000ee0 <d_exprlist+0x4d0>)
- 8000de2:      4650            mov     r0, sl
- 8000de4:      f005 ffec       bl      8006dc0 <strcmp>
- 8000de8:      b128            cbz     r0, 8000df6 <d_exprlist+0x3e6>
- 8000dea:      4650            mov     r0, sl
- 8000dec:      493d            ldr     r1, [pc, #244]  ; (8000ee4 <d_exprlist+0x4d4>)
- 8000dee:      f005 ffe7       bl      8006dc0 <strcmp>
- 8000df2:      2800            cmp     r0, #0
- 8000df4:      d168            bne.n   8000ec8 <d_exprlist+0x4b8>
- 8000df6:      4620            mov     r0, r4
- 8000df8:      f001 fa48       bl      800228c <d_unqualified_name>
- 8000dfc:      68e3            ldr     r3, [r4, #12]
- 8000dfe:      781a            ldrb    r2, [r3, #0]
- 8000e00:      2a49            cmp     r2, #73 ; 0x49
- 8000e02:      4682            mov     sl, r0
- 8000e04:      d043            beq.n   8000e8e <d_exprlist+0x47e>
- 8000e06:      4653            mov     r3, sl
- 8000e08:      465a            mov     r2, fp
- 8000e0a:      2138            movs    r1, #56 ; 0x38
- 8000e0c:      4620            mov     r0, r4
- 8000e0e:      f7ff fa17       bl      8000240 <d_make_comp>
- 8000e12:      462a            mov     r2, r5
- 8000e14:      4603            mov     r3, r0
- 8000e16:      2137            movs    r1, #55 ; 0x37
- 8000e18:      4620            mov     r0, r4
- 8000e1a:      f7ff fa11       bl      8000240 <d_make_comp>
- 8000e1e:      4605            mov     r5, r0
- 8000e20:      e66c            b.n     8000afc <d_exprlist+0xec>
- 8000e22:      3301            adds    r3, #1
- 8000e24:      60e3            str     r3, [r4, #12]
- 8000e26:      2300            movs    r3, #0
- 8000e28:      e783            b.n     8000d32 <d_exprlist+0x322>
- 8000e2a:      3301            adds    r3, #1
- 8000e2c:      60e3            str     r3, [r4, #12]
- 8000e2e:      2145            movs    r1, #69 ; 0x45
- 8000e30:      4620            mov     r0, r4
- 8000e32:      f7ff fded       bl      8000a10 <d_exprlist>
- 8000e36:      4603            mov     r3, r0
- 8000e38:      e6e4            b.n     8000c04 <d_exprlist+0x1f4>
- 8000e3a:      781b            ldrb    r3, [r3, #0]
- 8000e3c:      f1a3 0263       sub.w   r2, r3, #99     ; 0x63
- 8000e40:      2a01            cmp     r2, #1
- 8000e42:      d902            bls.n   8000e4a <d_exprlist+0x43a>
- 8000e44:      3b72            subs    r3, #114        ; 0x72
- 8000e46:      2b01            cmp     r3, #1
- 8000e48:      d8bc            bhi.n   8000dc4 <d_exprlist+0x3b4>
- 8000e4a:      4620            mov     r0, r4
- 8000e4c:      f000 fc78       bl      8001740 <d_type>
- 8000e50:      4683            mov     fp, r0
- 8000e52:      e7bf            b.n     8000dd4 <d_exprlist+0x3c4>
- 8000e54:      2145            movs    r1, #69 ; 0x45
- 8000e56:      4620            mov     r0, r4
- 8000e58:      f7ff fdda       bl      8000a10 <d_exprlist>
- 8000e5c:      4682            mov     sl, r0
- 8000e5e:      e7d2            b.n     8000e06 <d_exprlist+0x3f6>
- 8000e60:      4620            mov     r0, r4
- 8000e62:      f000 f843       bl      8000eec <d_expression_1>
- 8000e66:      4683            mov     fp, r0
- 8000e68:      e7b4            b.n     8000dd4 <d_exprlist+0x3c4>
- 8000e6a:      4620            mov     r0, r4
- 8000e6c:      f000 f83e       bl      8000eec <d_expression_1>
- 8000e70:      4682            mov     sl, r0
- 8000e72:      4620            mov     r0, r4
- 8000e74:      f000 f83a       bl      8000eec <d_expression_1>
- 8000e78:      4683            mov     fp, r0
- 8000e7a:      4620            mov     r0, r4
- 8000e7c:      f000 f836       bl      8000eec <d_expression_1>
- 8000e80:      4603            mov     r3, r0
- 8000e82:      2800            cmp     r0, #0
- 8000e84:      f47f af55       bne.w   8000d32 <d_exprlist+0x322>
- 8000e88:      6366            str     r6, [r4, #52]   ; 0x34
- 8000e8a:      4605            mov     r5, r0
- 8000e8c:      e61b            b.n     8000ac6 <d_exprlist+0xb6>
- 8000e8e:      3301            adds    r3, #1
- 8000e90:      60e3            str     r3, [r4, #12]
- 8000e92:      4620            mov     r0, r4
- 8000e94:      f000 fa3c       bl      8001310 <d_template_args_1>
- 8000e98:      4652            mov     r2, sl
- 8000e9a:      4603            mov     r3, r0
- 8000e9c:      2104            movs    r1, #4
- 8000e9e:      4620            mov     r0, r4
- 8000ea0:      f7ff f9ce       bl      8000240 <d_make_comp>
- 8000ea4:      4682            mov     sl, r0
- 8000ea6:      e7ae            b.n     8000e06 <d_exprlist+0x3f6>
- 8000ea8:      785a            ldrb    r2, [r3, #1]
- 8000eaa:      2a69            cmp     r2, #105        ; 0x69
- 8000eac:      f47f ae50       bne.w   8000b50 <d_exprlist+0x140>
- 8000eb0:      3302            adds    r3, #2
- 8000eb2:      60e3            str     r3, [r4, #12]
- 8000eb4:      2145            movs    r1, #69 ; 0x45
- 8000eb6:      4620            mov     r0, r4
- 8000eb8:      f7ff fdaa       bl      8000a10 <d_exprlist>
- 8000ebc:      4603            mov     r3, r0
- 8000ebe:      e738            b.n     8000d32 <d_exprlist+0x322>
- 8000ec0:      4620            mov     r0, r4
- 8000ec2:      f001 f837       bl      8001f34 <d_operator_name>
- 8000ec6:      e7d3            b.n     8000e70 <d_exprlist+0x460>
- 8000ec8:      4620            mov     r0, r4
- 8000eca:      f000 f80f       bl      8000eec <d_expression_1>
- 8000ece:      4682            mov     sl, r0
- 8000ed0:      e799            b.n     8000e06 <d_exprlist+0x3f6>
- 8000ed2:      bf00            nop
- 8000ed4:      08012578        .word   0x08012578
- 8000ed8:      08012588        .word   0x08012588
- 8000edc:      0801257c        .word   0x0801257c
- 8000ee0:      08012580        .word   0x08012580
- 8000ee4:      08012584        .word   0x08012584
- 8000ee8:      08012a94        .word   0x08012a94
-
-08000eec <d_expression_1>:
- 8000eec:      68c1            ldr     r1, [r0, #12]
- 8000eee:      780b            ldrb    r3, [r1, #0]
- 8000ef0:      2b4c            cmp     r3, #76 ; 0x4c
- 8000ef2:      d067            beq.n   8000fc4 <d_expression_1+0xd8>
- 8000ef4:      2b54            cmp     r3, #84 ; 0x54
- 8000ef6:      d067            beq.n   8000fc8 <d_expression_1+0xdc>
- 8000ef8:      2b73            cmp     r3, #115        ; 0x73
- 8000efa:      e92d 41f0       stmdb   sp!, {r4, r5, r6, r7, r8, lr}
- 8000efe:      4604            mov     r4, r0
- 8000f00:      d01c            beq.n   8000f3c <d_expression_1+0x50>
- 8000f02:      2b66            cmp     r3, #102        ; 0x66
- 8000f04:      d13d            bne.n   8000f82 <d_expression_1+0x96>
- 8000f06:      784b            ldrb    r3, [r1, #1]
- 8000f08:      2b70            cmp     r3, #112        ; 0x70
- 8000f0a:      d11d            bne.n   8000f48 <d_expression_1+0x5c>
- 8000f0c:      1c8b            adds    r3, r1, #2
- 8000f0e:      60c3            str     r3, [r0, #12]
- 8000f10:      788b            ldrb    r3, [r1, #2]
- 8000f12:      2b54            cmp     r3, #84 ; 0x54
- 8000f14:      f040 809a       bne.w   800104c <d_expression_1+0x160>
- 8000f18:      3103            adds    r1, #3
- 8000f1a:      60c1            str     r1, [r0, #12]
- 8000f1c:      2000            movs    r0, #0
- 8000f1e:      e9d4 3205       ldrd    r3, r2, [r4, #20]
- 8000f22:      4293            cmp     r3, r2
- 8000f24:      da4a            bge.n   8000fbc <d_expression_1+0xd0>
- 8000f26:      6921            ldr     r1, [r4, #16]
- 8000f28:      011a            lsls    r2, r3, #4
- 8000f2a:      188d            adds    r5, r1, r2
- 8000f2c:      3301            adds    r3, #1
- 8000f2e:      2700            movs    r7, #0
- 8000f30:      2606            movs    r6, #6
- 8000f32:      606f            str     r7, [r5, #4]
- 8000f34:      6163            str     r3, [r4, #20]
- 8000f36:      548e            strb    r6, [r1, r2]
- 8000f38:      60a8            str     r0, [r5, #8]
- 8000f3a:      e02f            b.n     8000f9c <d_expression_1+0xb0>
- 8000f3c:      784b            ldrb    r3, [r1, #1]
- 8000f3e:      2b72            cmp     r3, #114        ; 0x72
- 8000f40:      d06e            beq.n   8001020 <d_expression_1+0x134>
- 8000f42:      2b70            cmp     r3, #112        ; 0x70
- 8000f44:      f000 8160       beq.w   8001208 <d_expression_1+0x31c>
- 8000f48:      4620            mov     r0, r4
- 8000f4a:      f000 fff3       bl      8001f34 <d_operator_name>
- 8000f4e:      4605            mov     r5, r0
- 8000f50:      b3a0            cbz     r0, 8000fbc <d_expression_1+0xd0>
- 8000f52:      7803            ldrb    r3, [r0, #0]
- 8000f54:      2b31            cmp     r3, #49 ; 0x31
- 8000f56:      d039            beq.n   8000fcc <d_expression_1+0xe0>
- 8000f58:      2b32            cmp     r3, #50 ; 0x32
- 8000f5a:      f000 8127       beq.w   80011ac <d_expression_1+0x2c0>
- 8000f5e:      2b33            cmp     r3, #51 ; 0x33
- 8000f60:      d12c            bne.n   8000fbc <d_expression_1+0xd0>
- 8000f62:      68e3            ldr     r3, [r4, #12]
- 8000f64:      781a            ldrb    r2, [r3, #0]
- 8000f66:      2a5f            cmp     r2, #95 ; 0x5f
- 8000f68:      f000 8176       beq.w   8001258 <d_expression_1+0x36c>
- 8000f6c:      4620            mov     r0, r4
- 8000f6e:      f7ff ffbd       bl      8000eec <d_expression_1>
- 8000f72:      4603            mov     r3, r0
- 8000f74:      462a            mov     r2, r5
- 8000f76:      4620            mov     r0, r4
- 8000f78:      2136            movs    r1, #54 ; 0x36
- 8000f7a:      e8bd 41f0       ldmia.w sp!, {r4, r5, r6, r7, r8, lr}
- 8000f7e:      f7ff b95f       b.w     8000240 <d_make_comp>
- 8000f82:      f1a3 0230       sub.w   r2, r3, #48     ; 0x30
- 8000f86:      2a09            cmp     r2, #9
- 8000f88:      d841            bhi.n   800100e <d_expression_1+0x122>
- 8000f8a:      4620            mov     r0, r4
- 8000f8c:      f001 f97e       bl      800228c <d_unqualified_name>
- 8000f90:      4605            mov     r5, r0
- 8000f92:      b198            cbz     r0, 8000fbc <d_expression_1+0xd0>
- 8000f94:      68e3            ldr     r3, [r4, #12]
- 8000f96:      781a            ldrb    r2, [r3, #0]
- 8000f98:      2a49            cmp     r2, #73 ; 0x49
- 8000f9a:      d02b            beq.n   8000ff4 <d_expression_1+0x108>
- 8000f9c:      4628            mov     r0, r5
- 8000f9e:      e8bd 81f0       ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
- 8000fa2:      2b74            cmp     r3, #116        ; 0x74
- 8000fa4:      d1d0            bne.n   8000f48 <d_expression_1+0x5c>
- 8000fa6:      784b            ldrb    r3, [r1, #1]
- 8000fa8:      2b6c            cmp     r3, #108        ; 0x6c
- 8000faa:      d1cd            bne.n   8000f48 <d_expression_1+0x5c>
- 8000fac:      f000 fbc8       bl      8001740 <d_type>
- 8000fb0:      68e1            ldr     r1, [r4, #12]
- 8000fb2:      784b            ldrb    r3, [r1, #1]
- 8000fb4:      4605            mov     r5, r0
- 8000fb6:      2b00            cmp     r3, #0
- 8000fb8:      f040 8190       bne.w   80012dc <d_expression_1+0x3f0>
- 8000fbc:      2500            movs    r5, #0
- 8000fbe:      4628            mov     r0, r5
- 8000fc0:      e8bd 81f0       ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
- 8000fc4:      f001 bdac       b.w     8002b20 <d_expr_primary>
- 8000fc8:      f7ff ba92       b.w     80004f0 <d_template_param>
- 8000fcc:      6887            ldr     r7, [r0, #8]
- 8000fce:      6b23            ldr     r3, [r4, #48]   ; 0x30
- 8000fd0:      68ba            ldr     r2, [r7, #8]
- 8000fd2:      683e            ldr     r6, [r7, #0]
- 8000fd4:      49c8            ldr     r1, [pc, #800]  ; (80012f8 <d_expression_1+0x40c>)
- 8000fd6:      3a02            subs    r2, #2
- 8000fd8:      4413            add     r3, r2
- 8000fda:      6323            str     r3, [r4, #48]   ; 0x30
- 8000fdc:      4630            mov     r0, r6
- 8000fde:      f005 feef       bl      8006dc0 <strcmp>
- 8000fe2:      2800            cmp     r0, #0
- 8000fe4:      d05b            beq.n   800109e <d_expression_1+0x1b2>
- 8000fe6:      68ff            ldr     r7, [r7, #12]
- 8000fe8:      2f03            cmp     r7, #3
- 8000fea:      d8e7            bhi.n   8000fbc <d_expression_1+0xd0>
- 8000fec:      e8df f007       tbb     [pc, r7]
- 8000ff0:      64a7385c        .word   0x64a7385c
- 8000ff4:      3301            adds    r3, #1
- 8000ff6:      60e3            str     r3, [r4, #12]
- 8000ff8:      4620            mov     r0, r4
- 8000ffa:      f000 f989       bl      8001310 <d_template_args_1>
- 8000ffe:      462a            mov     r2, r5
- 8001000:      4603            mov     r3, r0
- 8001002:      2104            movs    r1, #4
- 8001004:      4620            mov     r0, r4
- 8001006:      e8bd 41f0       ldmia.w sp!, {r4, r5, r6, r7, r8, lr}
- 800100a:      f7ff b919       b.w     8000240 <d_make_comp>
- 800100e:      2b6f            cmp     r3, #111        ; 0x6f
- 8001010:      f040 815c       bne.w   80012cc <d_expression_1+0x3e0>
- 8001014:      784b            ldrb    r3, [r1, #1]
- 8001016:      2b6e            cmp     r3, #110        ; 0x6e
- 8001018:      d196            bne.n   8000f48 <d_expression_1+0x5c>
- 800101a:      3102            adds    r1, #2
- 800101c:      60c1            str     r1, [r0, #12]
- 800101e:      e7b4            b.n     8000f8a <d_expression_1+0x9e>
- 8001020:      3102            adds    r1, #2
- 8001022:      60c1            str     r1, [r0, #12]
- 8001024:      f000 fb8c       bl      8001740 <d_type>
- 8001028:      4605            mov     r5, r0
- 800102a:      4620            mov     r0, r4
- 800102c:      f001 f92e       bl      800228c <d_unqualified_name>
- 8001030:      68e3            ldr     r3, [r4, #12]
- 8001032:      7819            ldrb    r1, [r3, #0]
- 8001034:      2949            cmp     r1, #73 ; 0x49
- 8001036:      4606            mov     r6, r0
- 8001038:      f000 80d9       beq.w   80011ee <d_expression_1+0x302>
- 800103c:      4603            mov     r3, r0
- 800103e:      462a            mov     r2, r5
- 8001040:      4620            mov     r0, r4
- 8001042:      2101            movs    r1, #1
- 8001044:      e8bd 41f0       ldmia.w sp!, {r4, r5, r6, r7, r8, lr}
- 8001048:      f7ff b8fa       b.w     8000240 <d_make_comp>
- 800104c:      f7ff fa36       bl      80004bc <d_compact_number>
- 8001050:      43c3            mvns    r3, r0
- 8001052:      f033 4300       bics.w  r3, r3, #2147483648     ; 0x80000000
- 8001056:      bf18            it      ne
- 8001058:      3001            addne   r0, #1
- 800105a:      f47f af60       bne.w   8000f1e <d_expression_1+0x32>
- 800105e:      e7ad            b.n     8000fbc <d_expression_1+0xd0>
- 8001060:      2e00            cmp     r6, #0
- 8001062:      d083            beq.n   8000f6c <d_expression_1+0x80>
- 8001064:      7833            ldrb    r3, [r6, #0]
- 8001066:      2b70            cmp     r3, #112        ; 0x70
- 8001068:      f000 80b0       beq.w   80011cc <d_expression_1+0x2e0>
- 800106c:      2b6d            cmp     r3, #109        ; 0x6d
- 800106e:      f000 80ad       beq.w   80011cc <d_expression_1+0x2e0>
- 8001072:      2700            movs    r7, #0
- 8001074:      4630            mov     r0, r6
- 8001076:      49a1            ldr     r1, [pc, #644]  ; (80012fc <d_expression_1+0x410>)
- 8001078:      f005 fea2       bl      8006dc0 <strcmp>
- 800107c:      2800            cmp     r0, #0
- 800107e:      f040 80b1       bne.w   80011e4 <d_expression_1+0x2f8>
- 8001082:      4620            mov     r0, r4
- 8001084:      f000 f944       bl      8001310 <d_template_args_1>
- 8001088:      4603            mov     r3, r0
- 800108a:      2f00            cmp     r7, #0
- 800108c:      f43f af72       beq.w   8000f74 <d_expression_1+0x88>
- 8001090:      461a            mov     r2, r3
- 8001092:      2138            movs    r1, #56 ; 0x38
- 8001094:      4620            mov     r0, r4
- 8001096:      f7ff f8d3       bl      8000240 <d_make_comp>
- 800109a:      4603            mov     r3, r0
- 800109c:      e76a            b.n     8000f74 <d_expression_1+0x88>
- 800109e:      4620            mov     r0, r4
- 80010a0:      f000 fb4e       bl      8001740 <d_type>
- 80010a4:      4603            mov     r3, r0
- 80010a6:      e765            b.n     8000f74 <d_expression_1+0x88>
- 80010a8:      462a            mov     r2, r5
- 80010aa:      4620            mov     r0, r4
- 80010ac:      2300            movs    r3, #0
- 80010ae:      2135            movs    r1, #53 ; 0x35
- 80010b0:      e8bd 41f0       ldmia.w sp!, {r4, r5, r6, r7, r8, lr}
- 80010b4:      f7ff b8c4       b.w     8000240 <d_make_comp>
- 80010b8:      4991            ldr     r1, [pc, #580]  ; (8001300 <d_expression_1+0x414>)
- 80010ba:      4630            mov     r0, r6
- 80010bc:      f005 fe80       bl      8006dc0 <strcmp>
- 80010c0:      2800            cmp     r0, #0
- 80010c2:      f000 80d1       beq.w   8001268 <d_expression_1+0x37c>
- 80010c6:      7833            ldrb    r3, [r6, #0]
- 80010c8:      2b66            cmp     r3, #102        ; 0x66
- 80010ca:      f000 80f6       beq.w   80012ba <d_expression_1+0x3ce>
- 80010ce:      2b6e            cmp     r3, #110        ; 0x6e
- 80010d0:      f47f af74       bne.w   8000fbc <d_expression_1+0xd0>
- 80010d4:      7873            ldrb    r3, [r6, #1]
- 80010d6:      2b77            cmp     r3, #119        ; 0x77
- 80010d8:      d002            beq.n   80010e0 <d_expression_1+0x1f4>
- 80010da:      2b61            cmp     r3, #97 ; 0x61
- 80010dc:      f47f af6e       bne.w   8000fbc <d_expression_1+0xd0>
- 80010e0:      215f            movs    r1, #95 ; 0x5f
- 80010e2:      4620            mov     r0, r4
- 80010e4:      f7ff fc94       bl      8000a10 <d_exprlist>
- 80010e8:      4606            mov     r6, r0
- 80010ea:      4620            mov     r0, r4
- 80010ec:      f000 fb28       bl      8001740 <d_type>
- 80010f0:      68e3            ldr     r3, [r4, #12]
- 80010f2:      7819            ldrb    r1, [r3, #0]
- 80010f4:      2945            cmp     r1, #69 ; 0x45
- 80010f6:      4607            mov     r7, r0
- 80010f8:      f000 80aa       beq.w   8001250 <d_expression_1+0x364>
- 80010fc:      2970            cmp     r1, #112        ; 0x70
- 80010fe:      f000 80d0       beq.w   80012a2 <d_expression_1+0x3b6>
- 8001102:      2969            cmp     r1, #105        ; 0x69
- 8001104:      f47f af5a       bne.w   8000fbc <d_expression_1+0xd0>
- 8001108:      785b            ldrb    r3, [r3, #1]
- 800110a:      2b6c            cmp     r3, #108        ; 0x6c
- 800110c:      f47f af56       bne.w   8000fbc <d_expression_1+0xd0>
- 8001110:      4620            mov     r0, r4
- 8001112:      f7ff feeb       bl      8000eec <d_expression_1>
- 8001116:      4603            mov     r3, r0
- 8001118:      463a            mov     r2, r7
- 800111a:      213b            movs    r1, #59 ; 0x3b
- 800111c:      4620            mov     r0, r4
- 800111e:      f7ff f88f       bl      8000240 <d_make_comp>
- 8001122:      4632            mov     r2, r6
- 8001124:      4603            mov     r3, r0
- 8001126:      213a            movs    r1, #58 ; 0x3a
- 8001128:      4620            mov     r0, r4
- 800112a:      f7ff f889       bl      8000240 <d_make_comp>
- 800112e:      462a            mov     r2, r5
- 8001130:      4603            mov     r3, r0
- 8001132:      2139            movs    r1, #57 ; 0x39
- 8001134:      4620            mov     r0, r4
- 8001136:      e8bd 41f0       ldmia.w sp!, {r4, r5, r6, r7, r8, lr}
- 800113a:      f7ff b881       b.w     8000240 <d_make_comp>
- 800113e:      2e00            cmp     r6, #0
- 8001140:      f43f af3c       beq.w   8000fbc <d_expression_1+0xd0>
- 8001144:      68ab            ldr     r3, [r5, #8]
- 8001146:      681b            ldr     r3, [r3, #0]
- 8001148:      785a            ldrb    r2, [r3, #1]
- 800114a:      2a63            cmp     r2, #99 ; 0x63
- 800114c:      d068            beq.n   8001220 <d_expression_1+0x334>
- 800114e:      7833            ldrb    r3, [r6, #0]
- 8001150:      2b66            cmp     r3, #102        ; 0x66
- 8001152:      d178            bne.n   8001246 <d_expression_1+0x35a>
- 8001154:      4620            mov     r0, r4
- 8001156:      f000 feed       bl      8001f34 <d_operator_name>
- 800115a:      4607            mov     r7, r0
- 800115c:      4969            ldr     r1, [pc, #420]  ; (8001304 <d_expression_1+0x418>)
- 800115e:      4630            mov     r0, r6
- 8001160:      f005 fe2e       bl      8006dc0 <strcmp>
- 8001164:      2800            cmp     r0, #0
- 8001166:      d068            beq.n   800123a <d_expression_1+0x34e>
- 8001168:      4967            ldr     r1, [pc, #412]  ; (8001308 <d_expression_1+0x41c>)
- 800116a:      4630            mov     r0, r6
- 800116c:      f005 fe28       bl      8006dc0 <strcmp>
- 8001170:      b130            cbz     r0, 8001180 <d_expression_1+0x294>
- 8001172:      4630            mov     r0, r6
- 8001174:      4965            ldr     r1, [pc, #404]  ; (800130c <d_expression_1+0x420>)
- 8001176:      f005 fe23       bl      8006dc0 <strcmp>
- 800117a:      2800            cmp     r0, #0
- 800117c:      f040 80a1       bne.w   80012c2 <d_expression_1+0x3d6>
- 8001180:      4620            mov     r0, r4
- 8001182:      f001 f883       bl      800228c <d_unqualified_name>
- 8001186:      68e3            ldr     r3, [r4, #12]
- 8001188:      781a            ldrb    r2, [r3, #0]
- 800118a:      2a49            cmp     r2, #73 ; 0x49
- 800118c:      4606            mov     r6, r0
- 800118e:      d07b            beq.n   8001288 <d_expression_1+0x39c>
- 8001190:      4633            mov     r3, r6
- 8001192:      463a            mov     r2, r7
- 8001194:      2138            movs    r1, #56 ; 0x38
- 8001196:      4620            mov     r0, r4
- 8001198:      f7ff f852       bl      8000240 <d_make_comp>
- 800119c:      462a            mov     r2, r5
- 800119e:      4603            mov     r3, r0
- 80011a0:      2137            movs    r1, #55 ; 0x37
- 80011a2:      4620            mov     r0, r4
- 80011a4:      e8bd 41f0       ldmia.w sp!, {r4, r5, r6, r7, r8, lr}
- 80011a8:      f7ff b84a       b.w     8000240 <d_make_comp>
- 80011ac:      6883            ldr     r3, [r0, #8]
- 80011ae:      2b03            cmp     r3, #3
- 80011b0:      f63f af04       bhi.w   8000fbc <d_expression_1+0xd0>
- 80011b4:      a201            add     r2, pc, #4      ; (adr r2, 80011bc <d_expression_1+0x2d0>)
- 80011b6:      f852 f023       ldr.w   pc, [r2, r3, lsl #2]
- 80011ba:      bf00            nop
- 80011bc:      080010a9        .word   0x080010a9
- 80011c0:      08000f6d        .word   0x08000f6d
- 80011c4:      08000fbd        .word   0x08000fbd
- 80011c8:      08000fbd        .word   0x08000fbd
- 80011cc:      7872            ldrb    r2, [r6, #1]
- 80011ce:      429a            cmp     r2, r3
- 80011d0:      f47f af4f       bne.w   8001072 <d_expression_1+0x186>
- 80011d4:      68e3            ldr     r3, [r4, #12]
- 80011d6:      781a            ldrb    r2, [r3, #0]
- 80011d8:      2a5f            cmp     r2, #95 ; 0x5f
- 80011da:      f47f af4b       bne.w   8001074 <d_expression_1+0x188>
- 80011de:      3301            adds    r3, #1
- 80011e0:      60e3            str     r3, [r4, #12]
- 80011e2:      e746            b.n     8001072 <d_expression_1+0x186>
- 80011e4:      4620            mov     r0, r4
- 80011e6:      f7ff fe81       bl      8000eec <d_expression_1>
- 80011ea:      4603            mov     r3, r0
- 80011ec:      e74d            b.n     800108a <d_expression_1+0x19e>
- 80011ee:      3301            adds    r3, #1
- 80011f0:      60e3            str     r3, [r4, #12]
- 80011f2:      4620            mov     r0, r4
- 80011f4:      f000 f88c       bl      8001310 <d_template_args_1>
- 80011f8:      4632            mov     r2, r6
- 80011fa:      4603            mov     r3, r0
- 80011fc:      2104            movs    r1, #4
- 80011fe:      4620            mov     r0, r4
- 8001200:      f7ff f81e       bl      8000240 <d_make_comp>
- 8001204:      4603            mov     r3, r0
- 8001206:      e71a            b.n     800103e <d_expression_1+0x152>
- 8001208:      3102            adds    r1, #2
- 800120a:      60e1            str     r1, [r4, #12]
- 800120c:      f7ff fe6e       bl      8000eec <d_expression_1>
- 8001210:      2300            movs    r3, #0
- 8001212:      4602            mov     r2, r0
- 8001214:      214a            movs    r1, #74 ; 0x4a
- 8001216:      4620            mov     r0, r4
- 8001218:      e8bd 41f0       ldmia.w sp!, {r4, r5, r6, r7, r8, lr}
- 800121c:      f7ff b810       b.w     8000240 <d_make_comp>
- 8001220:      781b            ldrb    r3, [r3, #0]
- 8001222:      f1a3 0263       sub.w   r2, r3, #99     ; 0x63
- 8001226:      2a01            cmp     r2, #1
- 8001228:      d902            bls.n   8001230 <d_expression_1+0x344>
- 800122a:      3b72            subs    r3, #114        ; 0x72
- 800122c:      2b01            cmp     r3, #1
- 800122e:      d88e            bhi.n   800114e <d_expression_1+0x262>
- 8001230:      4620            mov     r0, r4
- 8001232:      f000 fa85       bl      8001740 <d_type>
- 8001236:      4607            mov     r7, r0
- 8001238:      e790            b.n     800115c <d_expression_1+0x270>
- 800123a:      2145            movs    r1, #69 ; 0x45
- 800123c:      4620            mov     r0, r4
- 800123e:      f7ff fbe7       bl      8000a10 <d_exprlist>
- 8001242:      4606            mov     r6, r0
- 8001244:      e7a4            b.n     8001190 <d_expression_1+0x2a4>
- 8001246:      4620            mov     r0, r4
- 8001248:      f7ff fe50       bl      8000eec <d_expression_1>
- 800124c:      4607            mov     r7, r0
- 800124e:      e785            b.n     800115c <d_expression_1+0x270>
- 8001250:      3301            adds    r3, #1
- 8001252:      60e3            str     r3, [r4, #12]
- 8001254:      2300            movs    r3, #0
- 8001256:      e75f            b.n     8001118 <d_expression_1+0x22c>
- 8001258:      3301            adds    r3, #1
- 800125a:      60e3            str     r3, [r4, #12]
- 800125c:      2145            movs    r1, #69 ; 0x45
- 800125e:      4620            mov     r0, r4
- 8001260:      f7ff fbd6       bl      8000a10 <d_exprlist>
- 8001264:      4603            mov     r3, r0
- 8001266:      e685            b.n     8000f74 <d_expression_1+0x88>
- 8001268:      4620            mov     r0, r4
- 800126a:      f7ff fe3f       bl      8000eec <d_expression_1>
- 800126e:      4606            mov     r6, r0
- 8001270:      4620            mov     r0, r4
- 8001272:      f7ff fe3b       bl      8000eec <d_expression_1>
- 8001276:      4607            mov     r7, r0
- 8001278:      4620            mov     r0, r4
- 800127a:      f7ff fe37       bl      8000eec <d_expression_1>
- 800127e:      4603            mov     r3, r0
- 8001280:      2800            cmp     r0, #0
- 8001282:      f47f af49       bne.w   8001118 <d_expression_1+0x22c>
- 8001286:      e699            b.n     8000fbc <d_expression_1+0xd0>
- 8001288:      3301            adds    r3, #1
- 800128a:      60e3            str     r3, [r4, #12]
- 800128c:      4620            mov     r0, r4
- 800128e:      f000 f83f       bl      8001310 <d_template_args_1>
- 8001292:      4632            mov     r2, r6
- 8001294:      4603            mov     r3, r0
- 8001296:      2104            movs    r1, #4
- 8001298:      4620            mov     r0, r4
- 800129a:      f7fe ffd1       bl      8000240 <d_make_comp>
- 800129e:      4606            mov     r6, r0
- 80012a0:      e776            b.n     8001190 <d_expression_1+0x2a4>
- 80012a2:      785a            ldrb    r2, [r3, #1]
- 80012a4:      2a69            cmp     r2, #105        ; 0x69
- 80012a6:      f47f ae89       bne.w   8000fbc <d_expression_1+0xd0>
- 80012aa:      3302            adds    r3, #2
- 80012ac:      60e3            str     r3, [r4, #12]
- 80012ae:      2145            movs    r1, #69 ; 0x45
- 80012b0:      4620            mov     r0, r4
- 80012b2:      f7ff fbad       bl      8000a10 <d_exprlist>
- 80012b6:      4603            mov     r3, r0
- 80012b8:      e72e            b.n     8001118 <d_expression_1+0x22c>
- 80012ba:      4620            mov     r0, r4
- 80012bc:      f000 fe3a       bl      8001f34 <d_operator_name>
- 80012c0:      e7d5            b.n     800126e <d_expression_1+0x382>
- 80012c2:      4620            mov     r0, r4
- 80012c4:      f7ff fe12       bl      8000eec <d_expression_1>
- 80012c8:      4606            mov     r6, r0
- 80012ca:      e761            b.n     8001190 <d_expression_1+0x2a4>
- 80012cc:      2b69            cmp     r3, #105        ; 0x69
- 80012ce:      f47f ae68       bne.w   8000fa2 <d_expression_1+0xb6>
- 80012d2:      784b            ldrb    r3, [r1, #1]
- 80012d4:      2b6c            cmp     r3, #108        ; 0x6c
- 80012d6:      f47f ae37       bne.w   8000f48 <d_expression_1+0x5c>
- 80012da:      2500            movs    r5, #0
- 80012dc:      3102            adds    r1, #2
- 80012de:      60e1            str     r1, [r4, #12]
- 80012e0:      4620            mov     r0, r4
- 80012e2:      2145            movs    r1, #69 ; 0x45
- 80012e4:      f7ff fb94       bl      8000a10 <d_exprlist>
- 80012e8:      462a            mov     r2, r5
- 80012ea:      4603            mov     r3, r0
- 80012ec:      2130            movs    r1, #48 ; 0x30
- 80012ee:      4620            mov     r0, r4
- 80012f0:      e8bd 41f0       ldmia.w sp!, {r4, r5, r6, r7, r8, lr}
- 80012f4:      f7fe bfa4       b.w     8000240 <d_make_comp>
- 80012f8:      08012a94        .word   0x08012a94
- 80012fc:      08012578        .word   0x08012578
- 8001300:      08012588        .word   0x08012588
- 8001304:      0801257c        .word   0x0801257c
- 8001308:      08012580        .word   0x08012580
- 800130c:      08012584        .word   0x08012584
-
-08001310 <d_template_args_1>:
- 8001310:      e92d 41f0       stmdb   sp!, {r4, r5, r6, r7, r8, lr}
- 8001314:      68c2            ldr     r2, [r0, #12]
- 8001316:      6ac7            ldr     r7, [r0, #44]   ; 0x2c
- 8001318:      7813            ldrb    r3, [r2, #0]
- 800131a:      2b45            cmp     r3, #69 ; 0x45
- 800131c:      b082            sub     sp, #8
- 800131e:      4604            mov     r4, r0
- 8001320:      d04e            beq.n   80013c0 <d_template_args_1+0xb0>
- 8001322:      ad02            add     r5, sp, #8
- 8001324:      2100            movs    r1, #0
- 8001326:      f845 1d04       str.w   r1, [r5, #-4]!
- 800132a:      2601            movs    r6, #1
- 800132c:      3b49            subs    r3, #73 ; 0x49
- 800132e:      2b0f            cmp     r3, #15
- 8001330:      d83d            bhi.n   80013ae <d_template_args_1+0x9e>
- 8001332:      e8df f003       tbb     [pc, r3]
- 8001336:      3737            .short  0x3737
- 8001338:      3c3c323c        .word   0x3c3c323c
- 800133c:      3c3c3c3c        .word   0x3c3c3c3c
- 8001340:      3c3c3c3c        .word   0x3c3c3c3c
- 8001344:      083c            .short  0x083c
- 8001346:      3201            adds    r2, #1
- 8001348:      f8d4 8034       ldr.w   r8, [r4, #52]   ; 0x34
- 800134c:      60e2            str     r2, [r4, #12]
- 800134e:      6366            str     r6, [r4, #52]   ; 0x34
- 8001350:      4620            mov     r0, r4
- 8001352:      f7ff fdcb       bl      8000eec <d_expression_1>
- 8001356:      68e3            ldr     r3, [r4, #12]
- 8001358:      f8c4 8034       str.w   r8, [r4, #52]   ; 0x34
- 800135c:      781a            ldrb    r2, [r3, #0]
- 800135e:      2a45            cmp     r2, #69 ; 0x45
- 8001360:      4684            mov     ip, r0
- 8001362:      f103 0301       add.w   r3, r3, #1
- 8001366:      d127            bne.n   80013b8 <d_template_args_1+0xa8>
- 8001368:      60e3            str     r3, [r4, #12]
- 800136a:      2300            movs    r3, #0
- 800136c:      212f            movs    r1, #47 ; 0x2f
- 800136e:      4662            mov     r2, ip
- 8001370:      4620            mov     r0, r4
- 8001372:      f1bc 0f00       cmp.w   ip, #0
- 8001376:      d01f            beq.n   80013b8 <d_template_args_1+0xa8>
- 8001378:      f7fe ff62       bl      8000240 <d_make_comp>
- 800137c:      6028            str     r0, [r5, #0]
- 800137e:      f100 050c       add.w   r5, r0, #12
- 8001382:      b1c8            cbz     r0, 80013b8 <d_template_args_1+0xa8>
- 8001384:      68e2            ldr     r2, [r4, #12]
- 8001386:      7813            ldrb    r3, [r2, #0]
- 8001388:      2b45            cmp     r3, #69 ; 0x45
- 800138a:      d1cf            bne.n   800132c <d_template_args_1+0x1c>
- 800138c:      9801            ldr     r0, [sp, #4]
- 800138e:      62e7            str     r7, [r4, #44]   ; 0x2c
- 8001390:      3201            adds    r2, #1
- 8001392:      60e2            str     r2, [r4, #12]
- 8001394:      b002            add     sp, #8
- 8001396:      e8bd 81f0       ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
- 800139a:      4620            mov     r0, r4
- 800139c:      f001 fbc0       bl      8002b20 <d_expr_primary>
- 80013a0:      4684            mov     ip, r0
- 80013a2:      e7e2            b.n     800136a <d_template_args_1+0x5a>
- 80013a4:      4620            mov     r0, r4
- 80013a6:      f000 f815       bl      80013d4 <d_template_args>
- 80013aa:      4684            mov     ip, r0
- 80013ac:      e7dd            b.n     800136a <d_template_args_1+0x5a>
- 80013ae:      4620            mov     r0, r4
- 80013b0:      f000 f9c6       bl      8001740 <d_type>
- 80013b4:      4684            mov     ip, r0
- 80013b6:      e7d8            b.n     800136a <d_template_args_1+0x5a>
- 80013b8:      2000            movs    r0, #0
- 80013ba:      b002            add     sp, #8
- 80013bc:      e8bd 81f0       ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
- 80013c0:      3201            adds    r2, #1
- 80013c2:      2300            movs    r3, #0
- 80013c4:      60c2            str     r2, [r0, #12]
- 80013c6:      212f            movs    r1, #47 ; 0x2f
- 80013c8:      461a            mov     r2, r3
- 80013ca:      b002            add     sp, #8
- 80013cc:      e8bd 41f0       ldmia.w sp!, {r4, r5, r6, r7, r8, lr}
- 80013d0:      f7fe bf36       b.w     8000240 <d_make_comp>
-
-080013d4 <d_template_args>:
- 80013d4:      68c3            ldr     r3, [r0, #12]
- 80013d6:      781a            ldrb    r2, [r3, #0]
- 80013d8:      3a49            subs    r2, #73 ; 0x49
- 80013da:      2a01            cmp     r2, #1
- 80013dc:      d802            bhi.n   80013e4 <d_template_args+0x10>
- 80013de:      3301            adds    r3, #1
- 80013e0:      60c3            str     r3, [r0, #12]
- 80013e2:      e795            b.n     8001310 <d_template_args_1>
- 80013e4:      2000            movs    r0, #0
- 80013e6:      4770            bx      lr
-
-080013e8 <d_name>:
- 80013e8:      e92d 43f0       stmdb   sp!, {r4, r5, r6, r7, r8, r9, lr}
- 80013ec:      68c2            ldr     r2, [r0, #12]
- 80013ee:      7813            ldrb    r3, [r2, #0]
- 80013f0:      3b4e            subs    r3, #78 ; 0x4e
- 80013f2:      b083            sub     sp, #12
- 80013f4:      4604            mov     r4, r0
- 80013f6:      2b0c            cmp     r3, #12
- 80013f8:      d846            bhi.n   8001488 <d_name+0xa0>
- 80013fa:      e8df f003       tbb     [pc, r3]
- 80013fe:      4567            .short  0x4567
- 8001400:      0e454545        .word   0x0e454545
- 8001404:      45450745        .word   0x45450745
- 8001408:      4545            .short  0x4545
- 800140a:      a4              .byte   0xa4
- 800140b:      00              .byte   0x00
- 800140c:      f000 ff3e       bl      800228c <d_unqualified_name>
- 8001410:      4605            mov     r5, r0
- 8001412:      4628            mov     r0, r5
- 8001414:      b003            add     sp, #12
- 8001416:      e8bd 83f0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc}
- 800141a:      7853            ldrb    r3, [r2, #1]
- 800141c:      2b74            cmp     r3, #116        ; 0x74
- 800141e:      f040 80d7       bne.w   80015d0 <d_name+0x1e8>
- 8001422:      e9d0 3105       ldrd    r3, r1, [r0, #20]
- 8001426:      3202            adds    r2, #2
- 8001428:      428b            cmp     r3, r1
- 800142a:      60c2            str     r2, [r0, #12]
- 800142c:      f280 8127       bge.w   800167e <d_name+0x296>
- 8001430:      6901            ldr     r1, [r0, #16]
- 8001432:      48c0            ldr     r0, [pc, #768]  ; (8001734 <d_name+0x34c>)
- 8001434:      011a            lsls    r2, r3, #4
- 8001436:      188d            adds    r5, r1, r2
- 8001438:      3301            adds    r3, #1
- 800143a:      6163            str     r3, [r4, #20]
- 800143c:      2300            movs    r3, #0
- 800143e:      606b            str     r3, [r5, #4]
- 8001440:      548b            strb    r3, [r1, r2]
- 8001442:      2303            movs    r3, #3
- 8001444:      e9c5 0302       strd    r0, r3, [r5, #8]
- 8001448:      4620            mov     r0, r4
- 800144a:      f000 ff1f       bl      800228c <d_unqualified_name>
- 800144e:      462a            mov     r2, r5
- 8001450:      4603            mov     r3, r0
- 8001452:      2101            movs    r1, #1
- 8001454:      4620            mov     r0, r4
- 8001456:      f7fe fef3       bl      8000240 <d_make_comp>
- 800145a:      6b23            ldr     r3, [r4, #48]   ; 0x30
- 800145c:      68e2            ldr     r2, [r4, #12]
- 800145e:      3303            adds    r3, #3
- 8001460:      6323            str     r3, [r4, #48]   ; 0x30
- 8001462:      7813            ldrb    r3, [r2, #0]
- 8001464:      2b49            cmp     r3, #73 ; 0x49
- 8001466:      4605            mov     r5, r0
- 8001468:      d1d3            bne.n   8001412 <d_name+0x2a>
- 800146a:      2800            cmp     r0, #0
- 800146c:      f000 80ba       beq.w   80015e4 <d_name+0x1fc>
- 8001470:      e9d4 3208       ldrd    r3, r2, [r4, #32]
- 8001474:      4293            cmp     r3, r2
- 8001476:      f280 80b5       bge.w   80015e4 <d_name+0x1fc>
- 800147a:      69e1            ldr     r1, [r4, #28]
- 800147c:      1c5a            adds    r2, r3, #1
- 800147e:      f841 0023       str.w   r0, [r1, r3, lsl #2]
- 8001482:      6222            str     r2, [r4, #32]
- 8001484:      4620            mov     r0, r4
- 8001486:      e014            b.n     80014b2 <d_name+0xca>
- 8001488:      f000 ff00       bl      800228c <d_unqualified_name>
- 800148c:      68e3            ldr     r3, [r4, #12]
- 800148e:      781b            ldrb    r3, [r3, #0]
- 8001490:      2b49            cmp     r3, #73 ; 0x49
- 8001492:      4605            mov     r5, r0
- 8001494:      d1bd            bne.n   8001412 <d_name+0x2a>
- 8001496:      2800            cmp     r0, #0
- 8001498:      f000 80a4       beq.w   80015e4 <d_name+0x1fc>
- 800149c:      e9d4 3208       ldrd    r3, r2, [r4, #32]
- 80014a0:      4293            cmp     r3, r2
- 80014a2:      f280 809f       bge.w   80015e4 <d_name+0x1fc>
- 80014a6:      69e1            ldr     r1, [r4, #28]
- 80014a8:      1c5a            adds    r2, r3, #1
- 80014aa:      f841 0023       str.w   r0, [r1, r3, lsl #2]
- 80014ae:      4620            mov     r0, r4
- 80014b0:      6222            str     r2, [r4, #32]
- 80014b2:      f7ff ff8f       bl      80013d4 <d_template_args>
- 80014b6:      462a            mov     r2, r5
- 80014b8:      4603            mov     r3, r0
- 80014ba:      2104            movs    r1, #4
- 80014bc:      4620            mov     r0, r4
- 80014be:      f7fe febf       bl      8000240 <d_make_comp>
- 80014c2:      4605            mov     r5, r0
- 80014c4:      4628            mov     r0, r5
- 80014c6:      b003            add     sp, #12
- 80014c8:      e8bd 83f0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc}
- 80014cc:      3201            adds    r2, #1
- 80014ce:      60c2            str     r2, [r0, #12]
- 80014d0:      a901            add     r1, sp, #4
- 80014d2:      2201            movs    r2, #1
- 80014d4:      f000 fde6       bl      80020a4 <d_cv_qualifiers>
- 80014d8:      4680            mov     r8, r0
- 80014da:      2800            cmp     r0, #0
- 80014dc:      f000 8082       beq.w   80015e4 <d_name+0x1fc>
- 80014e0:      2100            movs    r1, #0
- 80014e2:      4620            mov     r0, r4
- 80014e4:      f7fe fef4       bl      80002d0 <d_ref_qualifier>
- 80014e8:      68e2            ldr     r2, [r4, #12]
- 80014ea:      4e93            ldr     r6, [pc, #588]  ; (8001738 <d_name+0x350>)
- 80014ec:      7815            ldrb    r5, [r2, #0]
- 80014ee:      4681            mov     r9, r0
- 80014f0:      2700            movs    r7, #0
- 80014f2:      2d00            cmp     r5, #0
- 80014f4:      f000 80b3       beq.w   800165e <d_name+0x276>
- 80014f8:      2d44            cmp     r5, #68 ; 0x44
- 80014fa:      f000 8096       beq.w   800162a <d_name+0x242>
- 80014fe:      f1a5 0330       sub.w   r3, r5, #48     ; 0x30
- 8001502:      b2db            uxtb    r3, r3
- 8001504:      2b1c            cmp     r3, #28
- 8001506:      d96f            bls.n   80015e8 <d_name+0x200>
- 8001508:      f1a5 0361       sub.w   r3, r5, #97     ; 0x61
- 800150c:      b2db            uxtb    r3, r3
- 800150e:      2b19            cmp     r3, #25
- 8001510:      d96e            bls.n   80015f0 <d_name+0x208>
- 8001512:      2d55            cmp     r5, #85 ; 0x55
- 8001514:      f000 80a1       beq.w   800165a <d_name+0x272>
- 8001518:      2d53            cmp     r5, #83 ; 0x53
- 800151a:      f000 80b2       beq.w   8001682 <d_name+0x29a>
- 800151e:      2d49            cmp     r5, #73 ; 0x49
- 8001520:      f000 80a4       beq.w   800166c <d_name+0x284>
- 8001524:      2d54            cmp     r5, #84 ; 0x54
- 8001526:      f000 80e6       beq.w   80016f6 <d_name+0x30e>
- 800152a:      2d45            cmp     r5, #69 ; 0x45
- 800152c:      f000 80e9       beq.w   8001702 <d_name+0x31a>
- 8001530:      2d4d            cmp     r5, #77 ; 0x4d
- 8001532:      f040 8094       bne.w   800165e <d_name+0x276>
- 8001536:      2f00            cmp     r7, #0
- 8001538:      f000 8091       beq.w   800165e <d_name+0x276>
- 800153c:      1c53            adds    r3, r2, #1
- 800153e:      60e3            str     r3, [r4, #12]
- 8001540:      7855            ldrb    r5, [r2, #1]
- 8001542:      461a            mov     r2, r3
- 8001544:      e7d5            b.n     80014f2 <d_name+0x10a>
- 8001546:      3201            adds    r2, #1
- 8001548:      60c2            str     r2, [r0, #12]
- 800154a:      2100            movs    r1, #0
- 800154c:      f001 f83a       bl      80025c4 <d_encoding>
- 8001550:      68e3            ldr     r3, [r4, #12]
- 8001552:      781a            ldrb    r2, [r3, #0]
- 8001554:      2a45            cmp     r2, #69 ; 0x45
- 8001556:      4606            mov     r6, r0
- 8001558:      d144            bne.n   80015e4 <d_name+0x1fc>
- 800155a:      1c5a            adds    r2, r3, #1
- 800155c:      60e2            str     r2, [r4, #12]
- 800155e:      785a            ldrb    r2, [r3, #1]
- 8001560:      2a73            cmp     r2, #115        ; 0x73
- 8001562:      f000 80b0       beq.w   80016c6 <d_name+0x2de>
- 8001566:      2a64            cmp     r2, #100        ; 0x64
- 8001568:      f000 8095       beq.w   8001696 <d_name+0x2ae>
- 800156c:      4620            mov     r0, r4
- 800156e:      f7ff ff3b       bl      80013e8 <d_name>
- 8001572:      4605            mov     r5, r0
- 8001574:      b308            cbz     r0, 80015ba <d_name+0x1d2>
- 8001576:      7803            ldrb    r3, [r0, #0]
- 8001578:      2b45            cmp     r3, #69 ; 0x45
- 800157a:      d01e            beq.n   80015ba <d_name+0x1d2>
- 800157c:      2b47            cmp     r3, #71 ; 0x47
- 800157e:      d01c            beq.n   80015ba <d_name+0x1d2>
- 8001580:      f04f 37ff       mov.w   r7, #4294967295 ; 0xffffffff
- 8001584:      4620            mov     r0, r4
- 8001586:      f7ff f903       bl      8000790 <d_discriminator>
- 800158a:      b358            cbz     r0, 80015e4 <d_name+0x1fc>
- 800158c:      1c7b            adds    r3, r7, #1
- 800158e:      d014            beq.n   80015ba <d_name+0x1d2>
- 8001590:      e9d4 3205       ldrd    r3, r2, [r4, #20]
- 8001594:      4293            cmp     r3, r2
- 8001596:      f280 8094       bge.w   80016c2 <d_name+0x2da>
- 800159a:      6920            ldr     r0, [r4, #16]
- 800159c:      0119            lsls    r1, r3, #4
- 800159e:      1842            adds    r2, r0, r1
- 80015a0:      3301            adds    r3, #1
- 80015a2:      f04f 0e00       mov.w   lr, #0
- 80015a6:      f04f 0c46       mov.w   ip, #70 ; 0x46
- 80015aa:      f8c2 e004       str.w   lr, [r2, #4]
- 80015ae:      6163            str     r3, [r4, #20]
- 80015b0:      f800 c001       strb.w  ip, [r0, r1]
- 80015b4:      e9c2 5702       strd    r5, r7, [r2, #8]
- 80015b8:      4615            mov     r5, r2
- 80015ba:      462b            mov     r3, r5
- 80015bc:      4632            mov     r2, r6
- 80015be:      4620            mov     r0, r4
- 80015c0:      2102            movs    r1, #2
- 80015c2:      f7fe fe3d       bl      8000240 <d_make_comp>
- 80015c6:      4605            mov     r5, r0
- 80015c8:      4628            mov     r0, r5
- 80015ca:      b003            add     sp, #12
- 80015cc:      e8bd 83f0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc}
- 80015d0:      2100            movs    r1, #0
- 80015d2:      f7ff f825       bl      8000620 <d_substitution>
- 80015d6:      68e3            ldr     r3, [r4, #12]
- 80015d8:      781b            ldrb    r3, [r3, #0]
- 80015da:      2b49            cmp     r3, #73 ; 0x49
- 80015dc:      4605            mov     r5, r0
- 80015de:      f47f af18       bne.w   8001412 <d_name+0x2a>
- 80015e2:      e74f            b.n     8001484 <d_name+0x9c>
- 80015e4:      2500            movs    r5, #0
- 80015e6:      e714            b.n     8001412 <d_name+0x2a>
- 80015e8:      fa26 f303       lsr.w   r3, r6, r3
- 80015ec:      07d9            lsls    r1, r3, #31
- 80015ee:      d58b            bpl.n   8001508 <d_name+0x120>
- 80015f0:      4620            mov     r0, r4
- 80015f2:      f000 fe4b       bl      800228c <d_unqualified_name>
- 80015f6:      b35f            cbz     r7, 8001650 <d_name+0x268>
- 80015f8:      2101            movs    r1, #1
- 80015fa:      4603            mov     r3, r0
- 80015fc:      463a            mov     r2, r7
- 80015fe:      4620            mov     r0, r4
- 8001600:      f7fe fe1e       bl      8000240 <d_make_comp>
- 8001604:      4607            mov     r7, r0
- 8001606:      68e2            ldr     r2, [r4, #12]
- 8001608:      2d53            cmp     r5, #83 ; 0x53
- 800160a:      7813            ldrb    r3, [r2, #0]
- 800160c:      d01e            beq.n   800164c <d_name+0x264>
- 800160e:      2b45            cmp     r3, #69 ; 0x45
- 8001610:      d01a            beq.n   8001648 <d_name+0x260>
- 8001612:      b327            cbz     r7, 800165e <d_name+0x276>
- 8001614:      e9d4 3108       ldrd    r3, r1, [r4, #32]
- 8001618:      428b            cmp     r3, r1
- 800161a:      da20            bge.n   800165e <d_name+0x276>
- 800161c:      69e1            ldr     r1, [r4, #28]
- 800161e:      f841 7023       str.w   r7, [r1, r3, lsl #2]
- 8001622:      3301            adds    r3, #1
- 8001624:      6223            str     r3, [r4, #32]
- 8001626:      7815            ldrb    r5, [r2, #0]
- 8001628:      e763            b.n     80014f2 <d_name+0x10a>
- 800162a:      7853            ldrb    r3, [r2, #1]
- 800162c:      f003 03df       and.w   r3, r3, #223    ; 0xdf
- 8001630:      2b54            cmp     r3, #84 ; 0x54
- 8001632:      4620            mov     r0, r4
- 8001634:      d00e            beq.n   8001654 <d_name+0x26c>
- 8001636:      f000 fe29       bl      800228c <d_unqualified_name>
- 800163a:      2f00            cmp     r7, #0
- 800163c:      d1dc            bne.n   80015f8 <d_name+0x210>
- 800163e:      68e2            ldr     r2, [r4, #12]
- 8001640:      7813            ldrb    r3, [r2, #0]
- 8001642:      2b45            cmp     r3, #69 ; 0x45
- 8001644:      4607            mov     r7, r0
- 8001646:      d1e4            bne.n   8001612 <d_name+0x22a>
- 8001648:      461d            mov     r5, r3
- 800164a:      e758            b.n     80014fe <d_name+0x116>
- 800164c:      461d            mov     r5, r3
- 800164e:      e750            b.n     80014f2 <d_name+0x10a>
- 8001650:      4607            mov     r7, r0
- 8001652:      e7d8            b.n     8001606 <d_name+0x21e>
- 8001654:      f000 f874       bl      8001740 <d_type>
- 8001658:      e7ef            b.n     800163a <d_name+0x252>
- 800165a:      4620            mov     r0, r4
- 800165c:      e7eb            b.n     8001636 <d_name+0x24e>
- 800165e:      2500            movs    r5, #0
- 8001660:      4628            mov     r0, r5
- 8001662:      f8c8 5000       str.w   r5, [r8]
- 8001666:      b003            add     sp, #12
- 8001668:      e8bd 83f0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc}
- 800166c:      2f00            cmp     r7, #0
- 800166e:      d0f6            beq.n   800165e <d_name+0x276>
- 8001670:      3201            adds    r2, #1
- 8001672:      60e2            str     r2, [r4, #12]
- 8001674:      4620            mov     r0, r4
- 8001676:      f7ff fe4b       bl      8001310 <d_template_args_1>
- 800167a:      2104            movs    r1, #4
- 800167c:      e7bd            b.n     80015fa <d_name+0x212>
- 800167e:      2500            movs    r5, #0
- 8001680:      e6e2            b.n     8001448 <d_name+0x60>
- 8001682:      2101            movs    r1, #1
- 8001684:      4620            mov     r0, r4
- 8001686:      f7fe ffcb       bl      8000620 <d_substitution>
- 800168a:      2f00            cmp     r7, #0
- 800168c:      d1b4            bne.n   80015f8 <d_name+0x210>
- 800168e:      68e2            ldr     r2, [r4, #12]
- 8001690:      4607            mov     r7, r0
- 8001692:      7815            ldrb    r5, [r2, #0]
- 8001694:      e72d            b.n     80014f2 <d_name+0x10a>
- 8001696:      3302            adds    r3, #2
- 8001698:      60e3            str     r3, [r4, #12]
- 800169a:      4620            mov     r0, r4
- 800169c:      f7fe ff0e       bl      80004bc <d_compact_number>
- 80016a0:      1e07            subs    r7, r0, #0
- 80016a2:      db9f            blt.n   80015e4 <d_name+0x1fc>
- 80016a4:      4620            mov     r0, r4
- 80016a6:      f7ff fe9f       bl      80013e8 <d_name>
- 80016aa:      4605            mov     r5, r0
- 80016ac:      2800            cmp     r0, #0
- 80016ae:      f43f af6f       beq.w   8001590 <d_name+0x1a8>
- 80016b2:      7803            ldrb    r3, [r0, #0]
- 80016b4:      2b45            cmp     r3, #69 ; 0x45
- 80016b6:      f43f af69       beq.w   800158c <d_name+0x1a4>
- 80016ba:      2b47            cmp     r3, #71 ; 0x47
- 80016bc:      f43f af66       beq.w   800158c <d_name+0x1a4>
- 80016c0:      e760            b.n     8001584 <d_name+0x19c>
- 80016c2:      2500            movs    r5, #0
- 80016c4:      e779            b.n     80015ba <d_name+0x1d2>
- 80016c6:      3302            adds    r3, #2
- 80016c8:      60e3            str     r3, [r4, #12]
- 80016ca:      4620            mov     r0, r4
- 80016cc:      f7ff f860       bl      8000790 <d_discriminator>
- 80016d0:      2800            cmp     r0, #0
- 80016d2:      d087            beq.n   80015e4 <d_name+0x1fc>
- 80016d4:      e9d4 2305       ldrd    r2, r3, [r4, #20]
- 80016d8:      429a            cmp     r2, r3
- 80016da:      da10            bge.n   80016fe <d_name+0x316>
- 80016dc:      6920            ldr     r0, [r4, #16]
- 80016de:      4d17            ldr     r5, [pc, #92]   ; (800173c <d_name+0x354>)
- 80016e0:      0111            lsls    r1, r2, #4
- 80016e2:      1843            adds    r3, r0, r1
- 80016e4:      3201            adds    r2, #1
- 80016e6:      6162            str     r2, [r4, #20]
- 80016e8:      2200            movs    r2, #0
- 80016ea:      605a            str     r2, [r3, #4]
- 80016ec:      5442            strb    r2, [r0, r1]
- 80016ee:      220e            movs    r2, #14
- 80016f0:      e9c3 5202       strd    r5, r2, [r3, #8]
- 80016f4:      e762            b.n     80015bc <d_name+0x1d4>
- 80016f6:      4620            mov     r0, r4
- 80016f8:      f7fe fefa       bl      80004f0 <d_template_param>
- 80016fc:      e79d            b.n     800163a <d_name+0x252>
- 80016fe:      2300            movs    r3, #0
- 8001700:      e75c            b.n     80015bc <d_name+0x1d4>
- 8001702:      f8c8 7000       str.w   r7, [r8]
- 8001706:      2f00            cmp     r7, #0
- 8001708:      f43f af6c       beq.w   80015e4 <d_name+0x1fc>
- 800170c:      f1b9 0f00       cmp.w   r9, #0
- 8001710:      d004            beq.n   800171c <d_name+0x334>
- 8001712:      9b01            ldr     r3, [sp, #4]
- 8001714:      f8c9 3008       str.w   r3, [r9, #8]
- 8001718:      f8cd 9004       str.w   r9, [sp, #4]
- 800171c:      7813            ldrb    r3, [r2, #0]
- 800171e:      2b45            cmp     r3, #69 ; 0x45
- 8001720:      f47f af60       bne.w   80015e4 <d_name+0x1fc>
- 8001724:      9d01            ldr     r5, [sp, #4]
- 8001726:      3201            adds    r2, #1
- 8001728:      4628            mov     r0, r5
- 800172a:      60e2            str     r2, [r4, #12]
- 800172c:      b003            add     sp, #12
- 800172e:      e8bd 83f0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc}
- 8001732:      bf00            nop
- 8001734:      0801259c        .word   0x0801259c
- 8001738:      100803ff        .word   0x100803ff
- 800173c:      0801258c        .word   0x0801258c
-
-08001740 <d_type>:
- 8001740:      e92d 43f0       stmdb   sp!, {r4, r5, r6, r7, r8, r9, lr}
- 8001744:      68c2            ldr     r2, [r0, #12]
- 8001746:      7813            ldrb    r3, [r2, #0]
- 8001748:      2b72            cmp     r3, #114        ; 0x72
- 800174a:      b083            sub     sp, #12
- 800174c:      4604            mov     r4, r0
- 800174e:      d05f            beq.n   8001810 <d_type+0xd0>
- 8001750:      2b56            cmp     r3, #86 ; 0x56
- 8001752:      d05d            beq.n   8001810 <d_type+0xd0>
- 8001754:      2b4b            cmp     r3, #75 ; 0x4b
- 8001756:      d05b            beq.n   8001810 <d_type+0xd0>
- 8001758:      2b44            cmp     r3, #68 ; 0x44
- 800175a:      d051            beq.n   8001800 <d_type+0xc0>
- 800175c:      f1a3 0130       sub.w   r1, r3, #48     ; 0x30
- 8001760:      294a            cmp     r1, #74 ; 0x4a
- 8001762:      f200 809e       bhi.w   80018a2 <d_type+0x162>
- 8001766:      e8df f011       tbh     [pc, r1, lsl #1]
- 800176a:      0111            .short  0x0111
- 800176c:      01110111        .word   0x01110111
- 8001770:      01110111        .word   0x01110111
- 8001774:      01110111        .word   0x01110111
- 8001778:      01110111        .word   0x01110111
- 800177c:      009c0111        .word   0x009c0111
- 8001780:      009c009c        .word   0x009c009c
- 8001784:      009c009c        .word   0x009c009c
- 8001788:      009c009c        .word   0x009c009c
- 800178c:      009c021e        .word   0x009c021e
- 8001790:      009c013b        .word   0x009c013b
- 8001794:      0135009c        .word   0x0135009c
- 8001798:      009c0149        .word   0x009c0149
- 800179c:      009c009c        .word   0x009c009c
- 80017a0:      009c009c        .word   0x009c009c
- 80017a4:      01110206        .word   0x01110206
- 80017a8:      01650157        .word   0x01650157
- 80017ac:      0173009c        .word   0x0173009c
- 80017b0:      01a50181        .word   0x01a50181
- 80017b4:      009c01cc        .word   0x009c01cc
- 80017b8:      009c009c        .word   0x009c009c
- 80017bc:      0111009c        .word   0x0111009c
- 80017c0:      009c009c        .word   0x009c009c
- 80017c4:      009c009c        .word   0x009c009c
- 80017c8:      009c009c        .word   0x009c009c
- 80017cc:      01e401e4        .word   0x01e401e4
- 80017d0:      01e401e4        .word   0x01e401e4
- 80017d4:      01e401e4        .word   0x01e401e4
- 80017d8:      01e401e4        .word   0x01e401e4
- 80017dc:      01e401e4        .word   0x01e401e4
- 80017e0:      01e4009c        .word   0x01e4009c
- 80017e4:      01e401e4        .word   0x01e401e4
- 80017e8:      009c01e4        .word   0x009c01e4
- 80017ec:      009c009c        .word   0x009c009c
- 80017f0:      01e401e4        .word   0x01e401e4
- 80017f4:      01e40127        .word   0x01e40127
- 80017f8:      01e401e4        .word   0x01e401e4
- 80017fc:      01e401e4        .word   0x01e401e4
- 8001800:      7853            ldrb    r3, [r2, #1]
- 8001802:      f003 01df       and.w   r1, r3, #223    ; 0xdf
- 8001806:      294f            cmp     r1, #79 ; 0x4f
- 8001808:      d002            beq.n   8001810 <d_type+0xd0>
- 800180a:      3b77            subs    r3, #119        ; 0x77
- 800180c:      2b01            cmp     r3, #1
- 800180e:      d84d            bhi.n   80018ac <d_type+0x16c>
- 8001810:      2200            movs    r2, #0
- 8001812:      a901            add     r1, sp, #4
- 8001814:      4620            mov     r0, r4
- 8001816:      f000 fc45       bl      80020a4 <d_cv_qualifiers>
- 800181a:      4605            mov     r5, r0
- 800181c:      2800            cmp     r0, #0
- 800181e:      d040            beq.n   80018a2 <d_type+0x162>
- 8001820:      68e3            ldr     r3, [r4, #12]
- 8001822:      781b            ldrb    r3, [r3, #0]
- 8001824:      2b46            cmp     r3, #70 ; 0x46
- 8001826:      4620            mov     r0, r4
- 8001828:      d119            bne.n   800185e <d_type+0x11e>
- 800182a:      f000 fd0f       bl      800224c <d_function_type>
- 800182e:      6028            str     r0, [r5, #0]
- 8001830:      2800            cmp     r0, #0
- 8001832:      d036            beq.n   80018a2 <d_type+0x162>
- 8001834:      7803            ldrb    r3, [r0, #0]
- 8001836:      9a01            ldr     r2, [sp, #4]
- 8001838:      3b1f            subs    r3, #31
- 800183a:      2b01            cmp     r3, #1
- 800183c:      d913            bls.n   8001866 <d_type+0x126>
- 800183e:      2a00            cmp     r2, #0
- 8001840:      d02f            beq.n   80018a2 <d_type+0x162>
- 8001842:      e9d4 3108       ldrd    r3, r1, [r4, #32]
- 8001846:      428b            cmp     r3, r1
- 8001848:      da2b            bge.n   80018a2 <d_type+0x162>
- 800184a:      69e0            ldr     r0, [r4, #28]
- 800184c:      f840 2023       str.w   r2, [r0, r3, lsl #2]
- 8001850:      1c59            adds    r1, r3, #1
- 8001852:      9d01            ldr     r5, [sp, #4]
- 8001854:      6221            str     r1, [r4, #32]
- 8001856:      4628            mov     r0, r5
- 8001858:      b003            add     sp, #12
- 800185a:      e8bd 83f0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc}
- 800185e:      f7ff ff6f       bl      8001740 <d_type>
- 8001862:      6028            str     r0, [r5, #0]
- 8001864:      e7e4            b.n     8001830 <d_type+0xf0>
- 8001866:      6883            ldr     r3, [r0, #8]
- 8001868:      6082            str     r2, [r0, #8]
- 800186a:      682a            ldr     r2, [r5, #0]
- 800186c:      9201            str     r2, [sp, #4]
- 800186e:      602b            str     r3, [r5, #0]
- 8001870:      9a01            ldr     r2, [sp, #4]
- 8001872:      e7e4            b.n     800183e <d_type+0xfe>
- 8001874:      2301            movs    r3, #1
- 8001876:      6b45            ldr     r5, [r0, #52]   ; 0x34
- 8001878:      6343            str     r3, [r0, #52]   ; 0x34
- 800187a:      f7ff fb37       bl      8000eec <d_expression_1>
- 800187e:      6365            str     r5, [r4, #52]   ; 0x34
- 8001880:      4602            mov     r2, r0
- 8001882:      2300            movs    r3, #0
- 8001884:      2142            movs    r1, #66 ; 0x42
- 8001886:      4620            mov     r0, r4
- 8001888:      f7fe fcda       bl      8000240 <d_make_comp>
- 800188c:      4605            mov     r5, r0
- 800188e:      9001            str     r0, [sp, #4]
- 8001890:      b138            cbz     r0, 80018a2 <d_type+0x162>
- 8001892:      68e3            ldr     r3, [r4, #12]
- 8001894:      781a            ldrb    r2, [r3, #0]
- 8001896:      b122            cbz     r2, 80018a2 <d_type+0x162>
- 8001898:      1c5a            adds    r2, r3, #1
- 800189a:      60e2            str     r2, [r4, #12]
- 800189c:      781b            ldrb    r3, [r3, #0]
- 800189e:      2b45            cmp     r3, #69 ; 0x45
- 80018a0:      d07b            beq.n   800199a <d_type+0x25a>
- 80018a2:      2500            movs    r5, #0
- 80018a4:      4628            mov     r0, r5
- 80018a6:      b003            add     sp, #12
- 80018a8:      e8bd 83f0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc}
- 80018ac:      1c53            adds    r3, r2, #1
- 80018ae:      60c3            str     r3, [r0, #12]
- 80018b0:      7853            ldrb    r3, [r2, #1]
- 80018b2:      2b00            cmp     r3, #0
- 80018b4:      d0f5            beq.n   80018a2 <d_type+0x162>
- 80018b6:      1c93            adds    r3, r2, #2
- 80018b8:      60c3            str     r3, [r0, #12]
- 80018ba:      7853            ldrb    r3, [r2, #1]
- 80018bc:      3b46            subs    r3, #70 ; 0x46
- 80018be:      2b30            cmp     r3, #48 ; 0x30
- 80018c0:      d8ef            bhi.n   80018a2 <d_type+0x162>
- 80018c2:      a101            add     r1, pc, #4      ; (adr r1, 80018c8 <d_type+0x188>)
- 80018c4:      f851 f023       ldr.w   pc, [r1, r3, lsl #2]
- 80018c8:      08001d85        .word   0x08001d85
- 80018cc:      080018a3        .word   0x080018a3
- 80018d0:      080018a3        .word   0x080018a3
- 80018d4:      080018a3        .word   0x080018a3
- 80018d8:      080018a3        .word   0x080018a3
- 80018dc:      080018a3        .word   0x080018a3
- 80018e0:      080018a3        .word   0x080018a3
- 80018e4:      080018a3        .word   0x080018a3
- 80018e8:      080018a3        .word   0x080018a3
- 80018ec:      080018a3        .word   0x080018a3
- 80018f0:      080018a3        .word   0x080018a3
- 80018f4:      080018a3        .word   0x080018a3
- 80018f8:      080018a3        .word   0x080018a3
- 80018fc:      080018a3        .word   0x080018a3
- 8001900:      08001875        .word   0x08001875
- 8001904:      080018a3        .word   0x080018a3
- 8001908:      080018a3        .word   0x080018a3
- 800190c:      080018a3        .word   0x080018a3
- 8001910:      080018a3        .word   0x080018a3
- 8001914:      080018a3        .word   0x080018a3
- 8001918:      080018a3        .word   0x080018a3
- 800191c:      080018a3        .word   0x080018a3
- 8001920:      080018a3        .word   0x080018a3
- 8001924:      080018a3        .word   0x080018a3
- 8001928:      080018a3        .word   0x080018a3
- 800192c:      080018a3        .word   0x080018a3
- 8001930:      080018a3        .word   0x080018a3
- 8001934:      08001d61        .word   0x08001d61
- 8001938:      080018a3        .word   0x080018a3
- 800193c:      08001d3d        .word   0x08001d3d
- 8001940:      08001d15        .word   0x08001d15
- 8001944:      08001ced        .word   0x08001ced
- 8001948:      08001cc5        .word   0x08001cc5
- 800194c:      080018a3        .word   0x080018a3
- 8001950:      08001c9d        .word   0x08001c9d
- 8001954:      08001e39        .word   0x08001e39
- 8001958:      080018a3        .word   0x080018a3
- 800195c:      080018a3        .word   0x080018a3
- 8001960:      080018a3        .word   0x080018a3
- 8001964:      080018a3        .word   0x080018a3
- 8001968:      08001ded        .word   0x08001ded
- 800196c:      080018a3        .word   0x080018a3
- 8001970:      08001c87        .word   0x08001c87
- 8001974:      080018a3        .word   0x080018a3
- 8001978:      080018a3        .word   0x080018a3
- 800197c:      08001c5f        .word   0x08001c5f
- 8001980:      08001875        .word   0x08001875
- 8001984:      080018a3        .word   0x080018a3
- 8001988:      08001c25        .word   0x08001c25
- 800198c:      4620            mov     r0, r4
- 800198e:      f7ff fd2b       bl      80013e8 <d_name>
- 8001992:      4605            mov     r5, r0
- 8001994:      9001            str     r0, [sp, #4]
- 8001996:      2d00            cmp     r5, #0
- 8001998:      d083            beq.n   80018a2 <d_type+0x162>
- 800199a:      e9d4 3208       ldrd    r3, r2, [r4, #32]
- 800199e:      4293            cmp     r3, r2
- 80019a0:      f6bf af7f       bge.w   80018a2 <d_type+0x162>
- 80019a4:      69e1            ldr     r1, [r4, #28]
- 80019a6:      f841 5023       str.w   r5, [r1, r3, lsl #2]
- 80019aa:      9d01            ldr     r5, [sp, #4]
- 80019ac:      1c5a            adds    r2, r3, #1
- 80019ae:      4628            mov     r0, r5
- 80019b0:      6222            str     r2, [r4, #32]
- 80019b2:      b003            add     sp, #12
- 80019b4:      e8bd 83f0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc}
- 80019b8:      3201            adds    r2, #1
- 80019ba:      60e2            str     r2, [r4, #12]
- 80019bc:      4620            mov     r0, r4
- 80019be:      f7fe fdb9       bl      8000534 <d_source_name>
- 80019c2:      2300            movs    r3, #0
- 80019c4:      4602            mov     r2, r0
- 80019c6:      2128            movs    r1, #40 ; 0x28
- 80019c8:      4620            mov     r0, r4
- 80019ca:      f7fe fc39       bl      8000240 <d_make_comp>
- 80019ce:      4605            mov     r5, r0
- 80019d0:      9001            str     r0, [sp, #4]
- 80019d2:      e7e0            b.n     8001996 <d_type+0x256>
- 80019d4:      4620            mov     r0, r4
- 80019d6:      f000 fc39       bl      800224c <d_function_type>
- 80019da:      4605            mov     r5, r0
- 80019dc:      9001            str     r0, [sp, #4]
- 80019de:      e7da            b.n     8001996 <d_type+0x256>
- 80019e0:      3201            adds    r2, #1
- 80019e2:      60e2            str     r2, [r4, #12]
- 80019e4:      4620            mov     r0, r4
- 80019e6:      f7ff feab       bl      8001740 <d_type>
- 80019ea:      2300            movs    r3, #0
- 80019ec:      4602            mov     r2, r0
- 80019ee:      2125            movs    r1, #37 ; 0x25
- 80019f0:      4620            mov     r0, r4
- 80019f2:      f7fe fc25       bl      8000240 <d_make_comp>
- 80019f6:      4605            mov     r5, r0
- 80019f8:      9001            str     r0, [sp, #4]
- 80019fa:      e7cc            b.n     8001996 <d_type+0x256>
- 80019fc:      3201            adds    r2, #1
- 80019fe:      60e2            str     r2, [r4, #12]
- 8001a00:      4620            mov     r0, r4
- 8001a02:      f7ff fe9d       bl      8001740 <d_type>
- 8001a06:      2300            movs    r3, #0
- 8001a08:      4602            mov     r2, r0
- 8001a0a:      2126            movs    r1, #38 ; 0x26
- 8001a0c:      4620            mov     r0, r4
- 8001a0e:      f7fe fc17       bl      8000240 <d_make_comp>
- 8001a12:      4605            mov     r5, r0
- 8001a14:      9001            str     r0, [sp, #4]
- 8001a16:      e7be            b.n     8001996 <d_type+0x256>
- 8001a18:      3201            adds    r2, #1
- 8001a1a:      60e2            str     r2, [r4, #12]
- 8001a1c:      4620            mov     r0, r4
- 8001a1e:      f7ff fe8f       bl      8001740 <d_type>
- 8001a22:      2300            movs    r3, #0
- 8001a24:      4602            mov     r2, r0
- 8001a26:      2124            movs    r1, #36 ; 0x24
- 8001a28:      4620            mov     r0, r4
- 8001a2a:      f7fe fc09       bl      8000240 <d_make_comp>
- 8001a2e:      4605            mov     r5, r0
- 8001a30:      9001            str     r0, [sp, #4]
- 8001a32:      e7b0            b.n     8001996 <d_type+0x256>
- 8001a34:      3201            adds    r2, #1
- 8001a36:      60e2            str     r2, [r4, #12]
- 8001a38:      4620            mov     r0, r4
- 8001a3a:      f7ff fe81       bl      8001740 <d_type>
- 8001a3e:      2300            movs    r3, #0
- 8001a40:      4602            mov     r2, r0
- 8001a42:      2122            movs    r1, #34 ; 0x22
- 8001a44:      4620            mov     r0, r4
- 8001a46:      f7fe fbfb       bl      8000240 <d_make_comp>
- 8001a4a:      4605            mov     r5, r0
- 8001a4c:      9001            str     r0, [sp, #4]
- 8001a4e:      e7a2            b.n     8001996 <d_type+0x256>
- 8001a50:      3201            adds    r2, #1
- 8001a52:      60e2            str     r2, [r4, #12]
- 8001a54:      4620            mov     r0, r4
- 8001a56:      f7ff fe73       bl      8001740 <d_type>
- 8001a5a:      2300            movs    r3, #0
- 8001a5c:      4602            mov     r2, r0
- 8001a5e:      2123            movs    r1, #35 ; 0x23
- 8001a60:      4620            mov     r0, r4
- 8001a62:      f7fe fbed       bl      8000240 <d_make_comp>
- 8001a66:      4605            mov     r5, r0
- 8001a68:      9001            str     r0, [sp, #4]
- 8001a6a:      e794            b.n     8001996 <d_type+0x256>
- 8001a6c:      7853            ldrb    r3, [r2, #1]
- 8001a6e:      f1a3 0230       sub.w   r2, r3, #48     ; 0x30
- 8001a72:      2a09            cmp     r2, #9
- 8001a74:      d905            bls.n   8001a82 <d_type+0x342>
- 8001a76:      2b5f            cmp     r3, #95 ; 0x5f
- 8001a78:      d003            beq.n   8001a82 <d_type+0x342>
- 8001a7a:      3b41            subs    r3, #65 ; 0x41
- 8001a7c:      2b19            cmp     r3, #25
- 8001a7e:      f200 820f       bhi.w   8001ea0 <d_type+0x760>
- 8001a82:      2100            movs    r1, #0
- 8001a84:      4620            mov     r0, r4
- 8001a86:      f7fe fdcb       bl      8000620 <d_substitution>
- 8001a8a:      68e3            ldr     r3, [r4, #12]
- 8001a8c:      9001            str     r0, [sp, #4]
- 8001a8e:      781a            ldrb    r2, [r3, #0]
- 8001a90:      2a49            cmp     r2, #73 ; 0x49
- 8001a92:      4605            mov     r5, r0
- 8001a94:      f47f aedf       bne.w   8001856 <d_type+0x116>
- 8001a98:      3301            adds    r3, #1
- 8001a9a:      60e3            str     r3, [r4, #12]
- 8001a9c:      4620            mov     r0, r4
- 8001a9e:      f7ff fc37       bl      8001310 <d_template_args_1>
- 8001aa2:      4603            mov     r3, r0
- 8001aa4:      462a            mov     r2, r5
- 8001aa6:      2104            movs    r1, #4
- 8001aa8:      4620            mov     r0, r4
- 8001aaa:      f7fe fbc9       bl      8000240 <d_make_comp>
- 8001aae:      4605            mov     r5, r0
- 8001ab0:      9001            str     r0, [sp, #4]
- 8001ab2:      e770            b.n     8001996 <d_type+0x256>
- 8001ab4:      4620            mov     r0, r4
- 8001ab6:      f7fe fd1b       bl      80004f0 <d_template_param>
- 8001aba:      68e6            ldr     r6, [r4, #12]
- 8001abc:      9001            str     r0, [sp, #4]
- 8001abe:      7833            ldrb    r3, [r6, #0]
- 8001ac0:      2b49            cmp     r3, #73 ; 0x49
- 8001ac2:      4605            mov     r5, r0
- 8001ac4:      f47f af67       bne.w   8001996 <d_type+0x256>
- 8001ac8:      6ba3            ldr     r3, [r4, #56]   ; 0x38
- 8001aca:      2b00            cmp     r3, #0
- 8001acc:      f040 81f5       bne.w   8001eba <d_type+0x77a>
- 8001ad0:      2800            cmp     r0, #0
- 8001ad2:      f43f aee6       beq.w   80018a2 <d_type+0x162>
- 8001ad6:      e9d4 2108       ldrd    r2, r1, [r4, #32]
- 8001ada:      428a            cmp     r2, r1
- 8001adc:      f6bf aee1       bge.w   80018a2 <d_type+0x162>
- 8001ae0:      69e1            ldr     r1, [r4, #28]
- 8001ae2:      f841 0022       str.w   r0, [r1, r2, lsl #2]
- 8001ae6:      3201            adds    r2, #1
- 8001ae8:      6222            str     r2, [r4, #32]
- 8001aea:      7831            ldrb    r1, [r6, #0]
- 8001aec:      9d01            ldr     r5, [sp, #4]
- 8001aee:      3949            subs    r1, #73 ; 0x49
- 8001af0:      2901            cmp     r1, #1
- 8001af2:      d8d7            bhi.n   8001aa4 <d_type+0x364>
- 8001af4:      3601            adds    r6, #1
- 8001af6:      60e6            str     r6, [r4, #12]
- 8001af8:      4620            mov     r0, r4
- 8001afa:      f7ff fc09       bl      8001310 <d_template_args_1>
- 8001afe:      4603            mov     r3, r0
- 8001b00:      e7d0            b.n     8001aa4 <d_type+0x364>
- 8001b02:      3201            adds    r2, #1
- 8001b04:      60e2            str     r2, [r4, #12]
- 8001b06:      4620            mov     r0, r4
- 8001b08:      f7fe fd14       bl      8000534 <d_source_name>
- 8001b0c:      68e3            ldr     r3, [r4, #12]
- 8001b0e:      9001            str     r0, [sp, #4]
- 8001b10:      781a            ldrb    r2, [r3, #0]
- 8001b12:      2a49            cmp     r2, #73 ; 0x49
- 8001b14:      4605            mov     r5, r0
- 8001b16:      f000 81a8       beq.w   8001e6a <d_type+0x72a>
- 8001b1a:      4620            mov     r0, r4
- 8001b1c:      f7ff fe10       bl      8001740 <d_type>
- 8001b20:      9b01            ldr     r3, [sp, #4]
- 8001b22:      4602            mov     r2, r0
- 8001b24:      2121            movs    r1, #33 ; 0x21
- 8001b26:      4620            mov     r0, r4
- 8001b28:      f7fe fb8a       bl      8000240 <d_make_comp>
- 8001b2c:      4605            mov     r5, r0
- 8001b2e:      9001            str     r0, [sp, #4]
- 8001b30:      e731            b.n     8001996 <d_type+0x256>
- 8001b32:      e9d4 1005       ldrd    r1, r0, [r4, #20]
- 8001b36:      3b61            subs    r3, #97 ; 0x61
- 8001b38:      4db6            ldr     r5, [pc, #728]  ; (8001e14 <d_type+0x6d4>)
- 8001b3a:      eb03 0383       add.w   r3, r3, r3, lsl #2
- 8001b3e:      4281            cmp     r1, r0
- 8001b40:      eb05 0383       add.w   r3, r5, r3, lsl #2
- 8001b44:      f280 818b       bge.w   8001e5e <d_type+0x71e>
- 8001b48:      6858            ldr     r0, [r3, #4]
- 8001b4a:      6b26            ldr     r6, [r4, #48]   ; 0x30
- 8001b4c:      f8d4 c010       ldr.w   ip, [r4, #16]
- 8001b50:      010f            lsls    r7, r1, #4
- 8001b52:      eb0c 0507       add.w   r5, ip, r7
- 8001b56:      4406            add     r6, r0
- 8001b58:      4630            mov     r0, r6
- 8001b5a:      3201            adds    r2, #1
- 8001b5c:      3101            adds    r1, #1
- 8001b5e:      f04f 0e00       mov.w   lr, #0
- 8001b62:      2627            movs    r6, #39 ; 0x27
- 8001b64:      f8c5 e004       str.w   lr, [r5, #4]
- 8001b68:      6161            str     r1, [r4, #20]
- 8001b6a:      f80c 6007       strb.w  r6, [ip, r7]
- 8001b6e:      60ab            str     r3, [r5, #8]
- 8001b70:      60e2            str     r2, [r4, #12]
- 8001b72:      6320            str     r0, [r4, #48]   ; 0x30
- 8001b74:      e66f            b.n     8001856 <d_type+0x116>
- 8001b76:      3201            adds    r2, #1
- 8001b78:      60e2            str     r2, [r4, #12]
- 8001b7a:      4620            mov     r0, r4
- 8001b7c:      f7ff fde0       bl      8001740 <d_type>
- 8001b80:      4605            mov     r5, r0
- 8001b82:      2800            cmp     r0, #0
- 8001b84:      f43f ae8d       beq.w   80018a2 <d_type+0x162>
- 8001b88:      4620            mov     r0, r4
- 8001b8a:      f7ff fdd9       bl      8001740 <d_type>
- 8001b8e:      4603            mov     r3, r0
- 8001b90:      2800            cmp     r0, #0
- 8001b92:      f43f ae86       beq.w   80018a2 <d_type+0x162>
- 8001b96:      462a            mov     r2, r5
- 8001b98:      212b            movs    r1, #43 ; 0x2b
- 8001b9a:      4620            mov     r0, r4
- 8001b9c:      f7fe fb50       bl      8000240 <d_make_comp>
- 8001ba0:      4605            mov     r5, r0
- 8001ba2:      9001            str     r0, [sp, #4]
- 8001ba4:      e6f7            b.n     8001996 <d_type+0x256>
- 8001ba6:      1c55            adds    r5, r2, #1
- 8001ba8:      60e5            str     r5, [r4, #12]
- 8001baa:      7853            ldrb    r3, [r2, #1]
- 8001bac:      2b5f            cmp     r3, #95 ; 0x5f
- 8001bae:      f000 815a       beq.w   8001e66 <d_type+0x726>
- 8001bb2:      3b30            subs    r3, #48 ; 0x30
- 8001bb4:      2b09            cmp     r3, #9
- 8001bb6:      f200 8165       bhi.w   8001e84 <d_type+0x744>
- 8001bba:      4628            mov     r0, r5
- 8001bbc:      e000            b.n     8001bc0 <d_type+0x480>
- 8001bbe:      4608            mov     r0, r1
- 8001bc0:      1c41            adds    r1, r0, #1
- 8001bc2:      60e1            str     r1, [r4, #12]
- 8001bc4:      7843            ldrb    r3, [r0, #1]
- 8001bc6:      3b30            subs    r3, #48 ; 0x30
- 8001bc8:      2b09            cmp     r3, #9
- 8001bca:      d9f8            bls.n   8001bbe <d_type+0x47e>
- 8001bcc:      e9d4 3205       ldrd    r3, r2, [r4, #20]
- 8001bd0:      4293            cmp     r3, r2
- 8001bd2:      eba1 0705       sub.w   r7, r1, r5
- 8001bd6:      f6bf ae64       bge.w   80018a2 <d_type+0x162>
- 8001bda:      f8d4 e010       ldr.w   lr, [r4, #16]
- 8001bde:      ea4f 1c03       mov.w   ip, r3, lsl #4
- 8001be2:      eb0e 060c       add.w   r6, lr, ip
- 8001be6:      3301            adds    r3, #1
- 8001be8:      2200            movs    r2, #0
- 8001bea:      6072            str     r2, [r6, #4]
- 8001bec:      6163            str     r3, [r4, #20]
- 8001bee:      2f00            cmp     r7, #0
- 8001bf0:      f43f ae57       beq.w   80018a2 <d_type+0x162>
- 8001bf4:      6072            str     r2, [r6, #4]
- 8001bf6:      f80e 200c       strb.w  r2, [lr, ip]
- 8001bfa:      e9c6 5702       strd    r5, r7, [r6, #8]
- 8001bfe:      7843            ldrb    r3, [r0, #1]
- 8001c00:      460d            mov     r5, r1
- 8001c02:      2b5f            cmp     r3, #95 ; 0x5f
- 8001c04:      f47f ae4d       bne.w   80018a2 <d_type+0x162>
- 8001c08:      3501            adds    r5, #1
- 8001c0a:      60e5            str     r5, [r4, #12]
- 8001c0c:      4620            mov     r0, r4
- 8001c0e:      f7ff fd97       bl      8001740 <d_type>
- 8001c12:      4632            mov     r2, r6
- 8001c14:      4603            mov     r3, r0
- 8001c16:      212a            movs    r1, #42 ; 0x2a
- 8001c18:      4620            mov     r0, r4
- 8001c1a:      f7fe fb11       bl      8000240 <d_make_comp>
- 8001c1e:      4605            mov     r5, r0
- 8001c20:      9001            str     r0, [sp, #4]
- 8001c22:      e6b8            b.n     8001996 <d_type+0x256>
- 8001c24:      7893            ldrb    r3, [r2, #2]
- 8001c26:      2b5f            cmp     r3, #95 ; 0x5f
- 8001c28:      f000 8178       beq.w   8001f1c <d_type+0x7dc>
- 8001c2c:      f7fe fc2e       bl      800048c <d_number_component>
- 8001c30:      4605            mov     r5, r0
- 8001c32:      2d00            cmp     r5, #0
- 8001c34:      f43f ae35       beq.w   80018a2 <d_type+0x162>
- 8001c38:      68e3            ldr     r3, [r4, #12]
- 8001c3a:      781a            ldrb    r2, [r3, #0]
- 8001c3c:      2a5f            cmp     r2, #95 ; 0x5f
- 8001c3e:      f47f ae30       bne.w   80018a2 <d_type+0x162>
- 8001c42:      3301            adds    r3, #1
- 8001c44:      60e3            str     r3, [r4, #12]
- 8001c46:      4620            mov     r0, r4
- 8001c48:      f7ff fd7a       bl      8001740 <d_type>
- 8001c4c:      462a            mov     r2, r5
- 8001c4e:      4603            mov     r3, r0
- 8001c50:      212d            movs    r1, #45 ; 0x2d
- 8001c52:      4620            mov     r0, r4
- 8001c54:      f7fe faf4       bl      8000240 <d_make_comp>
- 8001c58:      4605            mov     r5, r0
- 8001c5a:      9001            str     r0, [sp, #4]
- 8001c5c:      e69b            b.n     8001996 <d_type+0x256>
- 8001c5e:      e9d0 3205       ldrd    r3, r2, [r0, #20]
- 8001c62:      4293            cmp     r3, r2
- 8001c64:      f280 80fb       bge.w   8001e5e <d_type+0x71e>
- 8001c68:      6900            ldr     r0, [r0, #16]
- 8001c6a:      6b22            ldr     r2, [r4, #48]   ; 0x30
- 8001c6c:      0119            lsls    r1, r3, #4
- 8001c6e:      1845            adds    r5, r0, r1
- 8001c70:      3301            adds    r3, #1
- 8001c72:      2600            movs    r6, #0
- 8001c74:      606e            str     r6, [r5, #4]
- 8001c76:      3208            adds    r2, #8
- 8001c78:      6163            str     r3, [r4, #20]
- 8001c7a:      2627            movs    r6, #39 ; 0x27
- 8001c7c:      4b66            ldr     r3, [pc, #408]  ; (8001e18 <d_type+0x6d8>)
- 8001c7e:      5446            strb    r6, [r0, r1]
- 8001c80:      60ab            str     r3, [r5, #8]
- 8001c82:      6322            str     r2, [r4, #48]   ; 0x30
- 8001c84:      e5e7            b.n     8001856 <d_type+0x116>
- 8001c86:      f7ff fd5b       bl      8001740 <d_type>
- 8001c8a:      2300            movs    r3, #0
- 8001c8c:      4602            mov     r2, r0
- 8001c8e:      214a            movs    r1, #74 ; 0x4a
- 8001c90:      4620            mov     r0, r4
- 8001c92:      f7fe fad5       bl      8000240 <d_make_comp>
- 8001c96:      4605            mov     r5, r0
- 8001c98:      9001            str     r0, [sp, #4]
- 8001c9a:      e67c            b.n     8001996 <d_type+0x256>
- 8001c9c:      e9d0 3205       ldrd    r3, r2, [r0, #20]
- 8001ca0:      4293            cmp     r3, r2
- 8001ca2:      f280 80dc       bge.w   8001e5e <d_type+0x71e>
- 8001ca6:      6900            ldr     r0, [r0, #16]
- 8001ca8:      6b22            ldr     r2, [r4, #48]   ; 0x30
- 8001caa:      0119            lsls    r1, r3, #4
- 8001cac:      1845            adds    r5, r0, r1
- 8001cae:      3301            adds    r3, #1
- 8001cb0:      2600            movs    r6, #0
- 8001cb2:      606e            str     r6, [r5, #4]
- 8001cb4:      3204            adds    r2, #4
- 8001cb6:      6163            str     r3, [r4, #20]
- 8001cb8:      2627            movs    r6, #39 ; 0x27
- 8001cba:      4b58            ldr     r3, [pc, #352]  ; (8001e1c <d_type+0x6dc>)
- 8001cbc:      5446            strb    r6, [r0, r1]
- 8001cbe:      60ab            str     r3, [r5, #8]
- 8001cc0:      6322            str     r2, [r4, #48]   ; 0x30
- 8001cc2:      e5c8            b.n     8001856 <d_type+0x116>
- 8001cc4:      e9d0 3205       ldrd    r3, r2, [r0, #20]
- 8001cc8:      4293            cmp     r3, r2
- 8001cca:      f280 80c8       bge.w   8001e5e <d_type+0x71e>
- 8001cce:      6900            ldr     r0, [r0, #16]
- 8001cd0:      6b22            ldr     r2, [r4, #48]   ; 0x30
- 8001cd2:      0119            lsls    r1, r3, #4
- 8001cd4:      1845            adds    r5, r0, r1
- 8001cd6:      3301            adds    r3, #1
- 8001cd8:      2600            movs    r6, #0
- 8001cda:      606e            str     r6, [r5, #4]
- 8001cdc:      3209            adds    r2, #9
- 8001cde:      6163            str     r3, [r4, #20]
- 8001ce0:      2627            movs    r6, #39 ; 0x27
- 8001ce2:      4b4f            ldr     r3, [pc, #316]  ; (8001e20 <d_type+0x6e0>)
- 8001ce4:      5446            strb    r6, [r0, r1]
- 8001ce6:      60ab            str     r3, [r5, #8]
- 8001ce8:      6322            str     r2, [r4, #48]   ; 0x30
- 8001cea:      e5b4            b.n     8001856 <d_type+0x116>
- 8001cec:      e9d0 3205       ldrd    r3, r2, [r0, #20]
- 8001cf0:      4293            cmp     r3, r2
- 8001cf2:      f280 80b4       bge.w   8001e5e <d_type+0x71e>
- 8001cf6:      6900            ldr     r0, [r0, #16]
- 8001cf8:      6b22            ldr     r2, [r4, #48]   ; 0x30
- 8001cfa:      0119            lsls    r1, r3, #4
- 8001cfc:      1845            adds    r5, r0, r1
- 8001cfe:      3301            adds    r3, #1
- 8001d00:      2600            movs    r6, #0
- 8001d02:      606e            str     r6, [r5, #4]
- 8001d04:      320a            adds    r2, #10
- 8001d06:      6163            str     r3, [r4, #20]
- 8001d08:      2627            movs    r6, #39 ; 0x27
- 8001d0a:      4b46            ldr     r3, [pc, #280]  ; (8001e24 <d_type+0x6e4>)
- 8001d0c:      5446            strb    r6, [r0, r1]
- 8001d0e:      60ab            str     r3, [r5, #8]
- 8001d10:      6322            str     r2, [r4, #48]   ; 0x30
- 8001d12:      e5a0            b.n     8001856 <d_type+0x116>
- 8001d14:      e9d0 3205       ldrd    r3, r2, [r0, #20]
- 8001d18:      4293            cmp     r3, r2
- 8001d1a:      f280 80a0       bge.w   8001e5e <d_type+0x71e>
- 8001d1e:      6900            ldr     r0, [r0, #16]
- 8001d20:      6b22            ldr     r2, [r4, #48]   ; 0x30
- 8001d22:      0119            lsls    r1, r3, #4
- 8001d24:      1845            adds    r5, r0, r1
- 8001d26:      3301            adds    r3, #1
- 8001d28:      2600            movs    r6, #0
- 8001d2a:      606e            str     r6, [r5, #4]
- 8001d2c:      3209            adds    r2, #9
- 8001d2e:      6163            str     r3, [r4, #20]
- 8001d30:      2627            movs    r6, #39 ; 0x27
- 8001d32:      4b3d            ldr     r3, [pc, #244]  ; (8001e28 <d_type+0x6e8>)
- 8001d34:      5446            strb    r6, [r0, r1]
- 8001d36:      60ab            str     r3, [r5, #8]
- 8001d38:      6322            str     r2, [r4, #48]   ; 0x30
- 8001d3a:      e58c            b.n     8001856 <d_type+0x116>
- 8001d3c:      e9d0 3205       ldrd    r3, r2, [r0, #20]
- 8001d40:      4293            cmp     r3, r2
- 8001d42:      f6bf adae       bge.w   80018a2 <d_type+0x162>
- 8001d46:      6901            ldr     r1, [r0, #16]
- 8001d48:      4e38            ldr     r6, [pc, #224]  ; (8001e2c <d_type+0x6ec>)
- 8001d4a:      011a            lsls    r2, r3, #4
- 8001d4c:      188d            adds    r5, r1, r2
- 8001d4e:      3301            adds    r3, #1
- 8001d50:      6143            str     r3, [r0, #20]
- 8001d52:      2300            movs    r3, #0
- 8001d54:      200e            movs    r0, #14
- 8001d56:      606b            str     r3, [r5, #4]
- 8001d58:      548b            strb    r3, [r1, r2]
- 8001d5a:      e9c5 6002       strd    r6, r0, [r5, #8]
- 8001d5e:      e57a            b.n     8001856 <d_type+0x116>
- 8001d60:      e9d0 3205       ldrd    r3, r2, [r0, #20]
- 8001d64:      4293            cmp     r3, r2
- 8001d66:      f6bf ad9c       bge.w   80018a2 <d_type+0x162>
- 8001d6a:      6901            ldr     r1, [r0, #16]
- 8001d6c:      4e30            ldr     r6, [pc, #192]  ; (8001e30 <d_type+0x6f0>)
- 8001d6e:      011a            lsls    r2, r3, #4
- 8001d70:      188d            adds    r5, r1, r2
- 8001d72:      3301            adds    r3, #1
- 8001d74:      6143            str     r3, [r0, #20]
- 8001d76:      2300            movs    r3, #0
- 8001d78:      2004            movs    r0, #4
- 8001d7a:      606b            str     r3, [r5, #4]
- 8001d7c:      548b            strb    r3, [r1, r2]
- 8001d7e:      e9c5 6002       strd    r6, r0, [r5, #8]
- 8001d82:      e568            b.n     8001856 <d_type+0x116>
- 8001d84:      e9d0 3105       ldrd    r3, r1, [r0, #20]
- 8001d88:      428b            cmp     r3, r1
- 8001d8a:      f280 80af       bge.w   8001eec <d_type+0x7ac>
- 8001d8e:      6905            ldr     r5, [r0, #16]
- 8001d90:      0118            lsls    r0, r3, #4
- 8001d92:      1829            adds    r1, r5, r0
- 8001d94:      3301            adds    r3, #1
- 8001d96:      2700            movs    r7, #0
- 8001d98:      262c            movs    r6, #44 ; 0x2c
- 8001d9a:      604f            str     r7, [r1, #4]
- 8001d9c:      9101            str     r1, [sp, #4]
- 8001d9e:      6163            str     r3, [r4, #20]
- 8001da0:      542e            strb    r6, [r5, r0]
- 8001da2:      7893            ldrb    r3, [r2, #2]
- 8001da4:      3b30            subs    r3, #48 ; 0x30
- 8001da6:      b2db            uxtb    r3, r3
- 8001da8:      2b09            cmp     r3, #9
- 8001daa:      bf94            ite     ls
- 8001dac:      2301            movls   r3, #1
- 8001dae:      463b            movhi   r3, r7
- 8001db0:      818b            strh    r3, [r1, #12]
- 8001db2:      f240 80ae       bls.w   8001f12 <d_type+0x7d2>
- 8001db6:      4620            mov     r0, r4
- 8001db8:      9d01            ldr     r5, [sp, #4]
- 8001dba:      f7ff fcc1       bl      8001740 <d_type>
- 8001dbe:      9b01            ldr     r3, [sp, #4]
- 8001dc0:      60a8            str     r0, [r5, #8]
- 8001dc2:      689b            ldr     r3, [r3, #8]
- 8001dc4:      2b00            cmp     r3, #0
- 8001dc6:      f43f ad6c       beq.w   80018a2 <d_type+0x162>
- 8001dca:      f104 000c       add.w   r0, r4, #12
- 8001dce:      f7fe fb31       bl      8000434 <d_number.isra.1>
- 8001dd2:      68e2            ldr     r2, [r4, #12]
- 8001dd4:      7813            ldrb    r3, [r2, #0]
- 8001dd6:      b113            cbz     r3, 8001dde <d_type+0x69e>
- 8001dd8:      1c53            adds    r3, r2, #1
- 8001dda:      60e3            str     r3, [r4, #12]
- 8001ddc:      7813            ldrb    r3, [r2, #0]
- 8001dde:      9d01            ldr     r5, [sp, #4]
- 8001de0:      f1a3 0273       sub.w   r2, r3, #115    ; 0x73
- 8001de4:      4253            negs    r3, r2
- 8001de6:      4153            adcs    r3, r2
- 8001de8:      81eb            strh    r3, [r5, #14]
- 8001dea:      e534            b.n     8001856 <d_type+0x116>
- 8001dec:      e9d0 3205       ldrd    r3, r2, [r0, #20]
- 8001df0:      4293            cmp     r3, r2
- 8001df2:      da34            bge.n   8001e5e <d_type+0x71e>
- 8001df4:      6900            ldr     r0, [r0, #16]
- 8001df6:      6b22            ldr     r2, [r4, #48]   ; 0x30
- 8001df8:      0119            lsls    r1, r3, #4
- 8001dfa:      1845            adds    r5, r0, r1
- 8001dfc:      3301            adds    r3, #1
- 8001dfe:      2600            movs    r6, #0
- 8001e00:      606e            str     r6, [r5, #4]
- 8001e02:      3211            adds    r2, #17
- 8001e04:      6163            str     r3, [r4, #20]
- 8001e06:      2627            movs    r6, #39 ; 0x27
- 8001e08:      4b0a            ldr     r3, [pc, #40]   ; (8001e34 <d_type+0x6f4>)
- 8001e0a:      5446            strb    r6, [r0, r1]
- 8001e0c:      60ab            str     r3, [r5, #8]
- 8001e0e:      6322            str     r2, [r4, #48]   ; 0x30
- 8001e10:      e521            b.n     8001856 <d_type+0x116>
- 8001e12:      bf00            nop
- 8001e14:      08011bd0        .word   0x08011bd0
- 8001e18:      08011e28        .word   0x08011e28
- 8001e1c:      08011e14        .word   0x08011e14
- 8001e20:      08011dd8        .word   0x08011dd8
- 8001e24:      08011e00        .word   0x08011e00
- 8001e28:      08011dec        .word   0x08011dec
- 8001e2c:      080125a8        .word   0x080125a8
- 8001e30:      080125a0        .word   0x080125a0
- 8001e34:      08011e50        .word   0x08011e50
- 8001e38:      e9d0 3205       ldrd    r3, r2, [r0, #20]
- 8001e3c:      4293            cmp     r3, r2
- 8001e3e:      da0e            bge.n   8001e5e <d_type+0x71e>
- 8001e40:      6900            ldr     r0, [r0, #16]
- 8001e42:      6b22            ldr     r2, [r4, #48]   ; 0x30
- 8001e44:      0119            lsls    r1, r3, #4
- 8001e46:      1845            adds    r5, r0, r1
- 8001e48:      3301            adds    r3, #1
- 8001e4a:      2600            movs    r6, #0
- 8001e4c:      606e            str     r6, [r5, #4]
- 8001e4e:      3208            adds    r2, #8
- 8001e50:      6163            str     r3, [r4, #20]
- 8001e52:      2627            movs    r6, #39 ; 0x27
- 8001e54:      4b36            ldr     r3, [pc, #216]  ; (8001f30 <d_type+0x7f0>)
- 8001e56:      5446            strb    r6, [r0, r1]
- 8001e58:      60ab            str     r3, [r5, #8]
- 8001e5a:      6322            str     r2, [r4, #48]   ; 0x30
- 8001e5c:      e4fb            b.n     8001856 <d_type+0x116>
- 8001e5e:      2300            movs    r3, #0
- 8001e60:      9301            str     r3, [sp, #4]
- 8001e62:      689b            ldr     r3, [r3, #8]
- 8001e64:      deff            udf     #255    ; 0xff
- 8001e66:      2600            movs    r6, #0
- 8001e68:      e6ce            b.n     8001c08 <d_type+0x4c8>
- 8001e6a:      3301            adds    r3, #1
- 8001e6c:      60e3            str     r3, [r4, #12]
- 8001e6e:      4620            mov     r0, r4
- 8001e70:      f7ff fa4e       bl      8001310 <d_template_args_1>
- 8001e74:      462a            mov     r2, r5
- 8001e76:      4603            mov     r3, r0
- 8001e78:      2104            movs    r1, #4
- 8001e7a:      4620            mov     r0, r4
- 8001e7c:      f7fe f9e0       bl      8000240 <d_make_comp>
- 8001e80:      9001            str     r0, [sp, #4]
- 8001e82:      e64a            b.n     8001b1a <d_type+0x3da>
- 8001e84:      2301            movs    r3, #1
- 8001e86:      6b65            ldr     r5, [r4, #52]   ; 0x34
- 8001e88:      6363            str     r3, [r4, #52]   ; 0x34
- 8001e8a:      4620            mov     r0, r4
- 8001e8c:      f7ff f82e       bl      8000eec <d_expression_1>
- 8001e90:      6365            str     r5, [r4, #52]   ; 0x34
- 8001e92:      4606            mov     r6, r0
- 8001e94:      2800            cmp     r0, #0
- 8001e96:      f43f ad04       beq.w   80018a2 <d_type+0x162>
- 8001e9a:      68e5            ldr     r5, [r4, #12]
- 8001e9c:      782b            ldrb    r3, [r5, #0]
- 8001e9e:      e6b0            b.n     8001c02 <d_type+0x4c2>
- 8001ea0:      4620            mov     r0, r4
- 8001ea2:      f7ff faa1       bl      80013e8 <d_name>
- 8001ea6:      4605            mov     r5, r0
- 8001ea8:      9001            str     r0, [sp, #4]
- 8001eaa:      2800            cmp     r0, #0
- 8001eac:      f43f acf9       beq.w   80018a2 <d_type+0x162>
- 8001eb0:      7803            ldrb    r3, [r0, #0]
- 8001eb2:      2b18            cmp     r3, #24
- 8001eb4:      f47f ad71       bne.w   800199a <d_type+0x25a>
- 8001eb8:      e4cd            b.n     8001856 <d_type+0x116>
- 8001eba:      1c73            adds    r3, r6, #1
- 8001ebc:      60e3            str     r3, [r4, #12]
- 8001ebe:      4620            mov     r0, r4
- 8001ec0:      f8d4 9014       ldr.w   r9, [r4, #20]
- 8001ec4:      f8d4 8020       ldr.w   r8, [r4, #32]
- 8001ec8:      6aa7            ldr     r7, [r4, #40]   ; 0x28
- 8001eca:      6b25            ldr     r5, [r4, #48]   ; 0x30
- 8001ecc:      f7ff fa20       bl      8001310 <d_template_args_1>
- 8001ed0:      68e2            ldr     r2, [r4, #12]
- 8001ed2:      7812            ldrb    r2, [r2, #0]
- 8001ed4:      2a49            cmp     r2, #73 ; 0x49
- 8001ed6:      4603            mov     r3, r0
- 8001ed8:      d00b            beq.n   8001ef2 <d_type+0x7b2>
- 8001eda:      6325            str     r5, [r4, #48]   ; 0x30
- 8001edc:      60e6            str     r6, [r4, #12]
- 8001ede:      f8c4 9014       str.w   r9, [r4, #20]
- 8001ee2:      f8c4 8020       str.w   r8, [r4, #32]
- 8001ee6:      62a7            str     r7, [r4, #40]   ; 0x28
- 8001ee8:      9d01            ldr     r5, [sp, #4]
- 8001eea:      e554            b.n     8001996 <d_type+0x256>
- 8001eec:      2300            movs    r3, #0
- 8001eee:      701b            strb    r3, [r3, #0]
- 8001ef0:      deff            udf     #255    ; 0xff
- 8001ef2:      9901            ldr     r1, [sp, #4]
- 8001ef4:      2900            cmp     r1, #0
- 8001ef6:      f43f acd4       beq.w   80018a2 <d_type+0x162>
- 8001efa:      e9d4 2008       ldrd    r2, r0, [r4, #32]
- 8001efe:      4282            cmp     r2, r0
- 8001f00:      f6bf accf       bge.w   80018a2 <d_type+0x162>
- 8001f04:      69e0            ldr     r0, [r4, #28]
- 8001f06:      f840 1022       str.w   r1, [r0, r2, lsl #2]
- 8001f0a:      3201            adds    r2, #1
- 8001f0c:      6222            str     r2, [r4, #32]
- 8001f0e:      9a01            ldr     r2, [sp, #4]
- 8001f10:      e5c9            b.n     8001aa6 <d_type+0x366>
- 8001f12:      f104 000c       add.w   r0, r4, #12
- 8001f16:      f7fe fa8d       bl      8000434 <d_number.isra.1>
- 8001f1a:      e74c            b.n     8001db6 <d_type+0x676>
- 8001f1c:      3203            adds    r2, #3
- 8001f1e:      2301            movs    r3, #1
- 8001f20:      6b46            ldr     r6, [r0, #52]   ; 0x34
- 8001f22:      60c2            str     r2, [r0, #12]
- 8001f24:      6343            str     r3, [r0, #52]   ; 0x34
- 8001f26:      f7fe ffe1       bl      8000eec <d_expression_1>
- 8001f2a:      6366            str     r6, [r4, #52]   ; 0x34
- 8001f2c:      4605            mov     r5, r0
- 8001f2e:      e680            b.n     8001c32 <d_type+0x4f2>
- 8001f30:      08011e3c        .word   0x08011e3c
-
-08001f34 <d_operator_name>:
- 8001f34:      b5f8            push    {r3, r4, r5, r6, r7, lr}
- 8001f36:      68c3            ldr     r3, [r0, #12]
- 8001f38:      781e            ldrb    r6, [r3, #0]
- 8001f3a:      4686            mov     lr, r0
- 8001f3c:      b336            cbz     r6, 8001f8c <d_operator_name+0x58>
- 8001f3e:      1c5a            adds    r2, r3, #1
- 8001f40:      60c2            str     r2, [r0, #12]
- 8001f42:      785a            ldrb    r2, [r3, #1]
- 8001f44:      781e            ldrb    r6, [r3, #0]
- 8001f46:      2a00            cmp     r2, #0
- 8001f48:      d04a            beq.n   8001fe0 <d_operator_name+0xac>
- 8001f4a:      1c9a            adds    r2, r3, #2
- 8001f4c:      60c2            str     r2, [r0, #12]
- 8001f4e:      2e76            cmp     r6, #118        ; 0x76
- 8001f50:      4604            mov     r4, r0
- 8001f52:      f893 c001       ldrb.w  ip, [r3, #1]
- 8001f56:      d145            bne.n   8001fe4 <d_operator_name+0xb0>
- 8001f58:      f1ac 0530       sub.w   r5, ip, #48     ; 0x30
- 8001f5c:      b2eb            uxtb    r3, r5
- 8001f5e:      2b09            cmp     r3, #9
- 8001f60:      d815            bhi.n   8001f8e <d_operator_name+0x5a>
- 8001f62:      f7fe fae7       bl      8000534 <d_source_name>
- 8001f66:      e9d4 3105       ldrd    r3, r1, [r4, #20]
- 8001f6a:      428b            cmp     r3, r1
- 8001f6c:      4602            mov     r2, r0
- 8001f6e:      da21            bge.n   8001fb4 <d_operator_name+0x80>
- 8001f70:      6926            ldr     r6, [r4, #16]
- 8001f72:      0119            lsls    r1, r3, #4
- 8001f74:      1870            adds    r0, r6, r1
- 8001f76:      3301            adds    r3, #1
- 8001f78:      2700            movs    r7, #0
- 8001f7a:      6047            str     r7, [r0, #4]
- 8001f7c:      6163            str     r3, [r4, #20]
- 8001f7e:      b1ca            cbz     r2, 8001fb4 <d_operator_name+0x80>
- 8001f80:      2332            movs    r3, #50 ; 0x32
- 8001f82:      6047            str     r7, [r0, #4]
- 8001f84:      5473            strb    r3, [r6, r1]
- 8001f86:      e9c0 5202       strd    r5, r2, [r0, #8]
- 8001f8a:      bdf8            pop     {r3, r4, r5, r6, r7, pc}
- 8001f8c:      46b4            mov     ip, r6
- 8001f8e:      4c23            ldr     r4, [pc, #140]  ; (800201c <d_operator_name+0xe8>)
- 8001f90:      2043            movs    r0, #67 ; 0x43
- 8001f92:      2200            movs    r2, #0
- 8001f94:      1a83            subs    r3, r0, r2
- 8001f96:      eb03 73d3       add.w   r3, r3, r3, lsr #31
- 8001f9a:      eb02 0363       add.w   r3, r2, r3, asr #1
- 8001f9e:      0119            lsls    r1, r3, #4
- 8001fa0:      1867            adds    r7, r4, r1
- 8001fa2:      5861            ldr     r1, [r4, r1]
- 8001fa4:      780d            ldrb    r5, [r1, #0]
- 8001fa6:      42b5            cmp     r5, r6
- 8001fa8:      d006            beq.n   8001fb8 <d_operator_name+0x84>
- 8001faa:      bf94            ite     ls
- 8001fac:      1c5a            addls   r2, r3, #1
- 8001fae:      4618            movhi   r0, r3
- 8001fb0:      4282            cmp     r2, r0
- 8001fb2:      d1ef            bne.n   8001f94 <d_operator_name+0x60>
- 8001fb4:      2000            movs    r0, #0
- 8001fb6:      bdf8            pop     {r3, r4, r5, r6, r7, pc}
- 8001fb8:      7849            ldrb    r1, [r1, #1]
- 8001fba:      4561            cmp     r1, ip
- 8001fbc:      d1f5            bne.n   8001faa <d_operator_name+0x76>
- 8001fbe:      e9de 3205       ldrd    r3, r2, [lr, #20]
- 8001fc2:      4293            cmp     r3, r2
- 8001fc4:      daf6            bge.n   8001fb4 <d_operator_name+0x80>
- 8001fc6:      f8de 1010       ldr.w   r1, [lr, #16]
- 8001fca:      011a            lsls    r2, r3, #4
- 8001fcc:      1888            adds    r0, r1, r2
- 8001fce:      3301            adds    r3, #1
- 8001fd0:      2500            movs    r5, #0
- 8001fd2:      2431            movs    r4, #49 ; 0x31
- 8001fd4:      6045            str     r5, [r0, #4]
- 8001fd6:      f8ce 3014       str.w   r3, [lr, #20]
- 8001fda:      548c            strb    r4, [r1, r2]
- 8001fdc:      6087            str     r7, [r0, #8]
- 8001fde:      bdf8            pop     {r3, r4, r5, r6, r7, pc}
- 8001fe0:      4694            mov     ip, r2
- 8001fe2:      e7d4            b.n     8001f8e <d_operator_name+0x5a>
- 8001fe4:      2e63            cmp     r6, #99 ; 0x63
- 8001fe6:      d1d2            bne.n   8001f8e <d_operator_name+0x5a>
- 8001fe8:      f1bc 0f76       cmp.w   ip, #118        ; 0x76
- 8001fec:      d1cf            bne.n   8001f8e <d_operator_name+0x5a>
- 8001fee:      e9d0 350d       ldrd    r3, r5, [r0, #52]       ; 0x34
- 8001ff2:      fab3 f383       clz     r3, r3
- 8001ff6:      095b            lsrs    r3, r3, #5
- 8001ff8:      6383            str     r3, [r0, #56]   ; 0x38
- 8001ffa:      f7ff fba1       bl      8001740 <d_type>
- 8001ffe:      6ba3            ldr     r3, [r4, #56]   ; 0x38
- 8002000:      4602            mov     r2, r0
- 8002002:      b92b            cbnz    r3, 8002010 <d_operator_name+0xdc>
- 8002004:      2133            movs    r1, #51 ; 0x33
- 8002006:      4620            mov     r0, r4
- 8002008:      f7fe f91a       bl      8000240 <d_make_comp>
- 800200c:      63a5            str     r5, [r4, #56]   ; 0x38
- 800200e:      bdf8            pop     {r3, r4, r5, r6, r7, pc}
- 8002010:      2300            movs    r3, #0
- 8002012:      2134            movs    r1, #52 ; 0x34
- 8002014:      4620            mov     r0, r4
- 8002016:      f7fe f913       bl      8000240 <d_make_comp>
- 800201a:      e7f7            b.n     800200c <d_operator_name+0xd8>
- 800201c:      08011e64        .word   0x08011e64
-
-08002020 <d_parmlist>:
- 8002020:      b530            push    {r4, r5, lr}
- 8002022:      68c2            ldr     r2, [r0, #12]
- 8002024:      b083            sub     sp, #12
- 8002026:      2300            movs    r3, #0
- 8002028:      9301            str     r3, [sp, #4]
- 800202a:      7813            ldrb    r3, [r2, #0]
- 800202c:      2b00            cmp     r3, #0
- 800202e:      d036            beq.n   800209e <d_parmlist+0x7e>
- 8002030:      2b45            cmp     r3, #69 ; 0x45
- 8002032:      d034            beq.n   800209e <d_parmlist+0x7e>
- 8002034:      2b2e            cmp     r3, #46 ; 0x2e
- 8002036:      d032            beq.n   800209e <d_parmlist+0x7e>
- 8002038:      4604            mov     r4, r0
- 800203a:      ad01            add     r5, sp, #4
- 800203c:      e015            b.n     800206a <d_parmlist+0x4a>
- 800203e:      2b4f            cmp     r3, #79 ; 0x4f
- 8002040:      d016            beq.n   8002070 <d_parmlist+0x50>
- 8002042:      f7ff fb7d       bl      8001740 <d_type>
- 8002046:      2300            movs    r3, #0
- 8002048:      4602            mov     r2, r0
- 800204a:      212e            movs    r1, #46 ; 0x2e
- 800204c:      b338            cbz     r0, 800209e <d_parmlist+0x7e>
- 800204e:      4620            mov     r0, r4
- 8002050:      f7fe f8f6       bl      8000240 <d_make_comp>
- 8002054:      6028            str     r0, [r5, #0]
- 8002056:      b310            cbz     r0, 800209e <d_parmlist+0x7e>
- 8002058:      68e2            ldr     r2, [r4, #12]
- 800205a:      7813            ldrb    r3, [r2, #0]
- 800205c:      f100 050c       add.w   r5, r0, #12
- 8002060:      b14b            cbz     r3, 8002076 <d_parmlist+0x56>
- 8002062:      2b45            cmp     r3, #69 ; 0x45
- 8002064:      d007            beq.n   8002076 <d_parmlist+0x56>
- 8002066:      2b2e            cmp     r3, #46 ; 0x2e
- 8002068:      d005            beq.n   8002076 <d_parmlist+0x56>
- 800206a:      2b52            cmp     r3, #82 ; 0x52
- 800206c:      4620            mov     r0, r4
- 800206e:      d1e6            bne.n   800203e <d_parmlist+0x1e>
- 8002070:      7853            ldrb    r3, [r2, #1]
- 8002072:      2b45            cmp     r3, #69 ; 0x45
- 8002074:      d1e5            bne.n   8002042 <d_parmlist+0x22>
- 8002076:      9801            ldr     r0, [sp, #4]
- 8002078:      b188            cbz     r0, 800209e <d_parmlist+0x7e>
- 800207a:      68c3            ldr     r3, [r0, #12]
- 800207c:      b10b            cbz     r3, 8002082 <d_parmlist+0x62>
- 800207e:      b003            add     sp, #12
- 8002080:      bd30            pop     {r4, r5, pc}
- 8002082:      6882            ldr     r2, [r0, #8]
- 8002084:      7811            ldrb    r1, [r2, #0]
- 8002086:      2927            cmp     r1, #39 ; 0x27
- 8002088:      d1f9            bne.n   800207e <d_parmlist+0x5e>
- 800208a:      6892            ldr     r2, [r2, #8]
- 800208c:      7c11            ldrb    r1, [r2, #16]
- 800208e:      2909            cmp     r1, #9
- 8002090:      d1f5            bne.n   800207e <d_parmlist+0x5e>
- 8002092:      6851            ldr     r1, [r2, #4]
- 8002094:      6b22            ldr     r2, [r4, #48]   ; 0x30
- 8002096:      1a52            subs    r2, r2, r1
- 8002098:      6322            str     r2, [r4, #48]   ; 0x30
- 800209a:      6083            str     r3, [r0, #8]
- 800209c:      e7ef            b.n     800207e <d_parmlist+0x5e>
- 800209e:      2000            movs    r0, #0
- 80020a0:      b003            add     sp, #12
- 80020a2:      bd30            pop     {r4, r5, pc}
-
-080020a4 <d_cv_qualifiers>:
- 80020a4:      e92d 4ff0       stmdb   sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
- 80020a8:      4689            mov     r9, r1
- 80020aa:      b083            sub     sp, #12
- 80020ac:      68c1            ldr     r1, [r0, #12]
- 80020ae:      1e13            subs    r3, r2, #0
- 80020b0:      9301            str     r3, [sp, #4]
- 80020b2:      4604            mov     r4, r0
- 80020b4:      780b            ldrb    r3, [r1, #0]
- 80020b6:      bf15            itete   ne
- 80020b8:      f04f 081e       movne.w r8, #30
- 80020bc:      f04f 081b       moveq.w r8, #27
- 80020c0:      271d            movne   r7, #29
- 80020c2:      271a            moveq   r7, #26
- 80020c4:      bf14            ite     ne
- 80020c6:      261c            movne   r6, #28
- 80020c8:      2619            moveq   r6, #25
- 80020ca:      464d            mov     r5, r9
- 80020cc:      f04f 0a01       mov.w   sl, #1
- 80020d0:      e01c            b.n     800210c <d_cv_qualifiers+0x68>
- 80020d2:      2b56            cmp     r3, #86 ; 0x56
- 80020d4:      d03f            beq.n   8002156 <d_cv_qualifiers+0xb2>
- 80020d6:      2b4b            cmp     r3, #75 ; 0x4b
- 80020d8:      d043            beq.n   8002162 <d_cv_qualifiers+0xbe>
- 80020da:      784b            ldrb    r3, [r1, #1]
- 80020dc:      2b00            cmp     r3, #0
- 80020de:      d035            beq.n   800214c <d_cv_qualifiers+0xa8>
- 80020e0:      1c8b            adds    r3, r1, #2
- 80020e2:      60e3            str     r3, [r4, #12]
- 80020e4:      784b            ldrb    r3, [r1, #1]
- 80020e6:      2b78            cmp     r3, #120        ; 0x78
- 80020e8:      d041            beq.n   800216e <d_cv_qualifiers+0xca>
- 80020ea:      2b6f            cmp     r3, #111        ; 0x6f
- 80020ec:      d145            bne.n   800217a <d_cv_qualifiers+0xd6>
- 80020ee:      6b23            ldr     r3, [r4, #48]   ; 0x30
- 80020f0:      3309            adds    r3, #9
- 80020f2:      6323            str     r3, [r4, #48]   ; 0x30
- 80020f4:      214e            movs    r1, #78 ; 0x4e
- 80020f6:      2300            movs    r3, #0
- 80020f8:      2200            movs    r2, #0
- 80020fa:      4620            mov     r0, r4
- 80020fc:      f7fe f8a0       bl      8000240 <d_make_comp>
- 8002100:      6028            str     r0, [r5, #0]
- 8002102:      b318            cbz     r0, 800214c <d_cv_qualifiers+0xa8>
- 8002104:      68e1            ldr     r1, [r4, #12]
- 8002106:      780b            ldrb    r3, [r1, #0]
- 8002108:      f100 0508       add.w   r5, r0, #8
- 800210c:      2b72            cmp     r3, #114        ; 0x72
- 800210e:      d00d            beq.n   800212c <d_cv_qualifiers+0x88>
- 8002110:      2b56            cmp     r3, #86 ; 0x56
- 8002112:      d00b            beq.n   800212c <d_cv_qualifiers+0x88>
- 8002114:      2b4b            cmp     r3, #75 ; 0x4b
- 8002116:      d009            beq.n   800212c <d_cv_qualifiers+0x88>
- 8002118:      2b44            cmp     r3, #68 ; 0x44
- 800211a:      d146            bne.n   80021aa <d_cv_qualifiers+0x106>
- 800211c:      784a            ldrb    r2, [r1, #1]
- 800211e:      f002 00df       and.w   r0, r2, #223    ; 0xdf
- 8002122:      284f            cmp     r0, #79 ; 0x4f
- 8002124:      d002            beq.n   800212c <d_cv_qualifiers+0x88>
- 8002126:      3a77            subs    r2, #119        ; 0x77
- 8002128:      2a01            cmp     r2, #1
- 800212a:      d83e            bhi.n   80021aa <d_cv_qualifiers+0x106>
- 800212c:      1c4a            adds    r2, r1, #1
- 800212e:      2b72            cmp     r3, #114        ; 0x72
- 8002130:      60e2            str     r2, [r4, #12]
- 8002132:      d1ce            bne.n   80020d2 <d_cv_qualifiers+0x2e>
- 8002134:      6b23            ldr     r3, [r4, #48]   ; 0x30
- 8002136:      3309            adds    r3, #9
- 8002138:      6323            str     r3, [r4, #48]   ; 0x30
- 800213a:      4631            mov     r1, r6
- 800213c:      2300            movs    r3, #0
- 800213e:      2200            movs    r2, #0
- 8002140:      4620            mov     r0, r4
- 8002142:      f7fe f87d       bl      8000240 <d_make_comp>
- 8002146:      6028            str     r0, [r5, #0]
- 8002148:      2800            cmp     r0, #0
- 800214a:      d1db            bne.n   8002104 <d_cv_qualifiers+0x60>
- 800214c:      2500            movs    r5, #0
- 800214e:      4628            mov     r0, r5
- 8002150:      b003            add     sp, #12
- 8002152:      e8bd 8ff0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
- 8002156:      6b23            ldr     r3, [r4, #48]   ; 0x30
- 8002158:      3309            adds    r3, #9
- 800215a:      6323            str     r3, [r4, #48]   ; 0x30
- 800215c:      4639            mov     r1, r7
- 800215e:      2300            movs    r3, #0
- 8002160:      e7ca            b.n     80020f8 <d_cv_qualifiers+0x54>
- 8002162:      6b23            ldr     r3, [r4, #48]   ; 0x30
- 8002164:      3306            adds    r3, #6
- 8002166:      6323            str     r3, [r4, #48]   ; 0x30
- 8002168:      4641            mov     r1, r8
- 800216a:      2300            movs    r3, #0
- 800216c:      e7c4            b.n     80020f8 <d_cv_qualifiers+0x54>
- 800216e:      6b23            ldr     r3, [r4, #48]   ; 0x30
- 8002170:      3311            adds    r3, #17
- 8002172:      6323            str     r3, [r4, #48]   ; 0x30
- 8002174:      214c            movs    r1, #76 ; 0x4c
- 8002176:      2300            movs    r3, #0
- 8002178:      e7be            b.n     80020f8 <d_cv_qualifiers+0x54>
- 800217a:      2b4f            cmp     r3, #79 ; 0x4f
- 800217c:      d132            bne.n   80021e4 <d_cv_qualifiers+0x140>
- 800217e:      e9d4 3b0c       ldrd    r3, fp, [r4, #48]       ; 0x30
- 8002182:      3309            adds    r3, #9
- 8002184:      6323            str     r3, [r4, #48]   ; 0x30
- 8002186:      f8c4 a034       str.w   sl, [r4, #52]   ; 0x34
- 800218a:      4620            mov     r0, r4
- 800218c:      f7fe feae       bl      8000eec <d_expression_1>
- 8002190:      f8c4 b034       str.w   fp, [r4, #52]   ; 0x34
- 8002194:      4603            mov     r3, r0
- 8002196:      2800            cmp     r0, #0
- 8002198:      d0d8            beq.n   800214c <d_cv_qualifiers+0xa8>
- 800219a:      68e2            ldr     r2, [r4, #12]
- 800219c:      7811            ldrb    r1, [r2, #0]
- 800219e:      2945            cmp     r1, #69 ; 0x45
- 80021a0:      d1d4            bne.n   800214c <d_cv_qualifiers+0xa8>
- 80021a2:      3201            adds    r2, #1
- 80021a4:      60e2            str     r2, [r4, #12]
- 80021a6:      214e            movs    r1, #78 ; 0x4e
- 80021a8:      e7a6            b.n     80020f8 <d_cv_qualifiers+0x54>
- 80021aa:      9a01            ldr     r2, [sp, #4]
- 80021ac:      2a00            cmp     r2, #0
- 80021ae:      d1ce            bne.n   800214e <d_cv_qualifiers+0xaa>
- 80021b0:      2b46            cmp     r3, #70 ; 0x46
- 80021b2:      d1cc            bne.n   800214e <d_cv_qualifiers+0xaa>
- 80021b4:      454d            cmp     r5, r9
- 80021b6:      d0ca            beq.n   800214e <d_cv_qualifiers+0xaa>
- 80021b8:      241d            movs    r4, #29
- 80021ba:      201e            movs    r0, #30
- 80021bc:      211c            movs    r1, #28
- 80021be:      e008            b.n     80021d2 <d_cv_qualifiers+0x12e>
- 80021c0:      2a1b            cmp     r2, #27
- 80021c2:      d00d            beq.n   80021e0 <d_cv_qualifiers+0x13c>
- 80021c4:      2a19            cmp     r2, #25
- 80021c6:      d100            bne.n   80021ca <d_cv_qualifiers+0x126>
- 80021c8:      7019            strb    r1, [r3, #0]
- 80021ca:      f103 0908       add.w   r9, r3, #8
- 80021ce:      454d            cmp     r5, r9
- 80021d0:      d0bd            beq.n   800214e <d_cv_qualifiers+0xaa>
- 80021d2:      f8d9 3000       ldr.w   r3, [r9]
- 80021d6:      781a            ldrb    r2, [r3, #0]
- 80021d8:      2a1a            cmp     r2, #26
- 80021da:      d1f1            bne.n   80021c0 <d_cv_qualifiers+0x11c>
- 80021dc:      701c            strb    r4, [r3, #0]
- 80021de:      e7f4            b.n     80021ca <d_cv_qualifiers+0x126>
- 80021e0:      7018            strb    r0, [r3, #0]
- 80021e2:      e7f2            b.n     80021ca <d_cv_qualifiers+0x126>
- 80021e4:      2b77            cmp     r3, #119        ; 0x77
- 80021e6:      d1b1            bne.n   800214c <d_cv_qualifiers+0xa8>
- 80021e8:      6b23            ldr     r3, [r4, #48]   ; 0x30
- 80021ea:      3306            adds    r3, #6
- 80021ec:      6323            str     r3, [r4, #48]   ; 0x30
- 80021ee:      4620            mov     r0, r4
- 80021f0:      f7ff ff16       bl      8002020 <d_parmlist>
- 80021f4:      4603            mov     r3, r0
- 80021f6:      2800            cmp     r0, #0
- 80021f8:      d0a8            beq.n   800214c <d_cv_qualifiers+0xa8>
- 80021fa:      68e2            ldr     r2, [r4, #12]
- 80021fc:      7811            ldrb    r1, [r2, #0]
- 80021fe:      2945            cmp     r1, #69 ; 0x45
- 8002200:      d1a4            bne.n   800214c <d_cv_qualifiers+0xa8>
- 8002202:      3201            adds    r2, #1
- 8002204:      60e2            str     r2, [r4, #12]
- 8002206:      214f            movs    r1, #79 ; 0x4f
- 8002208:      e776            b.n     80020f8 <d_cv_qualifiers+0x54>
- 800220a:      bf00            nop
-
-0800220c <d_bare_function_type>:
- 800220c:      b570            push    {r4, r5, r6, lr}
- 800220e:      68c3            ldr     r3, [r0, #12]
- 8002210:      781a            ldrb    r2, [r3, #0]
- 8002212:      2a4a            cmp     r2, #74 ; 0x4a
- 8002214:      4604            mov     r4, r0
- 8002216:      d013            beq.n   8002240 <d_bare_function_type+0x34>
- 8002218:      b181            cbz     r1, 800223c <d_bare_function_type+0x30>
- 800221a:      4620            mov     r0, r4
- 800221c:      f7ff fa90       bl      8001740 <d_type>
- 8002220:      4605            mov     r5, r0
- 8002222:      b180            cbz     r0, 8002246 <d_bare_function_type+0x3a>
- 8002224:      4620            mov     r0, r4
- 8002226:      f7ff fefb       bl      8002020 <d_parmlist>
- 800222a:      b160            cbz     r0, 8002246 <d_bare_function_type+0x3a>
- 800222c:      4603            mov     r3, r0
- 800222e:      462a            mov     r2, r5
- 8002230:      4620            mov     r0, r4
- 8002232:      2129            movs    r1, #41 ; 0x29
- 8002234:      e8bd 4070       ldmia.w sp!, {r4, r5, r6, lr}
- 8002238:      f7fe b802       b.w     8000240 <d_make_comp>
- 800223c:      460d            mov     r5, r1
- 800223e:      e7f1            b.n     8002224 <d_bare_function_type+0x18>
- 8002240:      3301            adds    r3, #1
- 8002242:      60c3            str     r3, [r0, #12]
- 8002244:      e7e9            b.n     800221a <d_bare_function_type+0xe>
- 8002246:      2000            movs    r0, #0
- 8002248:      bd70            pop     {r4, r5, r6, pc}
- 800224a:      bf00            nop
-
-0800224c <d_function_type>:
- 800224c:      68c3            ldr     r3, [r0, #12]
- 800224e:      781a            ldrb    r2, [r3, #0]
- 8002250:      2a46            cmp     r2, #70 ; 0x46
- 8002252:      d118            bne.n   8002286 <d_function_type+0x3a>
- 8002254:      b510            push    {r4, lr}
- 8002256:      1c5a            adds    r2, r3, #1
- 8002258:      60c2            str     r2, [r0, #12]
- 800225a:      785a            ldrb    r2, [r3, #1]
- 800225c:      2a59            cmp     r2, #89 ; 0x59
- 800225e:      bf04            itt     eq
- 8002260:      3302            addeq   r3, #2
- 8002262:      60c3            streq   r3, [r0, #12]
- 8002264:      2101            movs    r1, #1
- 8002266:      4604            mov     r4, r0
- 8002268:      f7ff ffd0       bl      800220c <d_bare_function_type>
- 800226c:      4601            mov     r1, r0
- 800226e:      4620            mov     r0, r4
- 8002270:      f7fe f82e       bl      80002d0 <d_ref_qualifier>
- 8002274:      68e3            ldr     r3, [r4, #12]
- 8002276:      781a            ldrb    r2, [r3, #0]
- 8002278:      2a45            cmp     r2, #69 ; 0x45
- 800227a:      d102            bne.n   8002282 <d_function_type+0x36>
- 800227c:      3301            adds    r3, #1
- 800227e:      60e3            str     r3, [r4, #12]
- 8002280:      bd10            pop     {r4, pc}
- 8002282:      2000            movs    r0, #0
- 8002284:      bd10            pop     {r4, pc}
- 8002286:      2000            movs    r0, #0
- 8002288:      4770            bx      lr
- 800228a:      bf00            nop
-
-0800228c <d_unqualified_name>:
- 800228c:      e92d 41f0       stmdb   sp!, {r4, r5, r6, r7, r8, lr}
- 8002290:      68c1            ldr     r1, [r0, #12]
- 8002292:      780b            ldrb    r3, [r1, #0]
- 8002294:      f1a3 0230       sub.w   r2, r3, #48     ; 0x30
- 8002298:      2a09            cmp     r2, #9
- 800229a:      4604            mov     r4, r0
- 800229c:      d93c            bls.n   8002318 <d_unqualified_name+0x8c>
- 800229e:      f1a3 0261       sub.w   r2, r3, #97     ; 0x61
- 80022a2:      2a19            cmp     r2, #25
- 80022a4:      d922            bls.n   80022ec <d_unqualified_name+0x60>
- 80022a6:      f1a3 0243       sub.w   r2, r3, #67     ; 0x43
- 80022aa:      2a01            cmp     r2, #1
- 80022ac:      d969            bls.n   8002382 <d_unqualified_name+0xf6>
- 80022ae:      2b4c            cmp     r3, #76 ; 0x4c
- 80022b0:      d056            beq.n   8002360 <d_unqualified_name+0xd4>
- 80022b2:      2b55            cmp     r3, #85 ; 0x55
- 80022b4:      d15f            bne.n   8002376 <d_unqualified_name+0xea>
- 80022b6:      784b            ldrb    r3, [r1, #1]
- 80022b8:      2b6c            cmp     r3, #108        ; 0x6c
- 80022ba:      f000 80e5       beq.w   8002488 <d_unqualified_name+0x1fc>
- 80022be:      2b74            cmp     r3, #116        ; 0x74
- 80022c0:      d159            bne.n   8002376 <d_unqualified_name+0xea>
- 80022c2:      1c4b            adds    r3, r1, #1
- 80022c4:      60c3            str     r3, [r0, #12]
- 80022c6:      784b            ldrb    r3, [r1, #1]
- 80022c8:      2b74            cmp     r3, #116        ; 0x74
- 80022ca:      d158            bne.n   800237e <d_unqualified_name+0xf2>
- 80022cc:      3102            adds    r1, #2
- 80022ce:      60c1            str     r1, [r0, #12]
- 80022d0:      f7fe f8f4       bl      80004bc <d_compact_number>
- 80022d4:      2800            cmp     r0, #0
- 80022d6:      f2c0 8155       blt.w   8002584 <d_unqualified_name+0x2f8>
- 80022da:      e9d4 3205       ldrd    r3, r2, [r4, #20]
- 80022de:      4293            cmp     r3, r2
- 80022e0:      68e7            ldr     r7, [r4, #12]
- 80022e2:      f2c0 80f3       blt.w   80024cc <d_unqualified_name+0x240>
- 80022e6:      783b            ldrb    r3, [r7, #0]
- 80022e8:      2500            movs    r5, #0
- 80022ea:      e010            b.n     800230e <d_unqualified_name+0x82>
- 80022ec:      2b6f            cmp     r3, #111        ; 0x6f
- 80022ee:      d104            bne.n   80022fa <d_unqualified_name+0x6e>
- 80022f0:      784b            ldrb    r3, [r1, #1]
- 80022f2:      2b6e            cmp     r3, #110        ; 0x6e
- 80022f4:      bf04            itt     eq
- 80022f6:      3102            addeq   r1, #2
- 80022f8:      60c1            streq   r1, [r0, #12]
- 80022fa:      4620            mov     r0, r4
- 80022fc:      f7ff fe1a       bl      8001f34 <d_operator_name>
- 8002300:      4605            mov     r5, r0
- 8002302:      b110            cbz     r0, 800230a <d_unqualified_name+0x7e>
- 8002304:      7803            ldrb    r3, [r0, #0]
- 8002306:      2b31            cmp     r3, #49 ; 0x31
- 8002308:      d013            beq.n   8002332 <d_unqualified_name+0xa6>
- 800230a:      68e3            ldr     r3, [r4, #12]
- 800230c:      781b            ldrb    r3, [r3, #0]
- 800230e:      2b42            cmp     r3, #66 ; 0x42
- 8002310:      d009            beq.n   8002326 <d_unqualified_name+0x9a>
- 8002312:      4628            mov     r0, r5
- 8002314:      e8bd 81f0       ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
- 8002318:      f7fe f90c       bl      8000534 <d_source_name>
- 800231c:      68e3            ldr     r3, [r4, #12]
- 800231e:      781b            ldrb    r3, [r3, #0]
- 8002320:      2b42            cmp     r3, #66 ; 0x42
- 8002322:      4605            mov     r5, r0
- 8002324:      d1f5            bne.n   8002312 <d_unqualified_name+0x86>
- 8002326:      4629            mov     r1, r5
- 8002328:      4620            mov     r0, r4
- 800232a:      e8bd 41f0       ldmia.w sp!, {r4, r5, r6, r7, r8, lr}
- 800232e:      f7fe b95b       b.w     80005e8 <d_abi_tags>
- 8002332:      6882            ldr     r2, [r0, #8]
- 8002334:      6b23            ldr     r3, [r4, #48]   ; 0x30
- 8002336:      6896            ldr     r6, [r2, #8]
- 8002338:      6810            ldr     r0, [r2, #0]
- 800233a:      49a1            ldr     r1, [pc, #644]  ; (80025c0 <d_unqualified_name+0x334>)
- 800233c:      3307            adds    r3, #7
- 800233e:      4433            add     r3, r6
- 8002340:      6323            str     r3, [r4, #48]   ; 0x30
- 8002342:      f004 fd3d       bl      8006dc0 <strcmp>
- 8002346:      2800            cmp     r0, #0
- 8002348:      d1df            bne.n   800230a <d_unqualified_name+0x7e>
- 800234a:      4620            mov     r0, r4
- 800234c:      f7fe f8f2       bl      8000534 <d_source_name>
- 8002350:      462a            mov     r2, r5
- 8002352:      4603            mov     r3, r0
- 8002354:      2136            movs    r1, #54 ; 0x36
- 8002356:      4620            mov     r0, r4
- 8002358:      f7fd ff72       bl      8000240 <d_make_comp>
- 800235c:      4605            mov     r5, r0
- 800235e:      e7d4            b.n     800230a <d_unqualified_name+0x7e>
- 8002360:      3101            adds    r1, #1
- 8002362:      60c1            str     r1, [r0, #12]
- 8002364:      f7fe f8e6       bl      8000534 <d_source_name>
- 8002368:      4605            mov     r5, r0
- 800236a:      b120            cbz     r0, 8002376 <d_unqualified_name+0xea>
- 800236c:      4620            mov     r0, r4
- 800236e:      f7fe fa0f       bl      8000790 <d_discriminator>
- 8002372:      2800            cmp     r0, #0
- 8002374:      d1c9            bne.n   800230a <d_unqualified_name+0x7e>
- 8002376:      2500            movs    r5, #0
- 8002378:      4628            mov     r0, r5
- 800237a:      e8bd 81f0       ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
- 800237e:      2500            movs    r5, #0
- 8002380:      e7c5            b.n     800230e <d_unqualified_name+0x82>
- 8002382:      6ac2            ldr     r2, [r0, #44]   ; 0x2c
- 8002384:      b132            cbz     r2, 8002394 <d_unqualified_name+0x108>
- 8002386:      7810            ldrb    r0, [r2, #0]
- 8002388:      b9e0            cbnz    r0, 80023c4 <d_unqualified_name+0x138>
- 800238a:      6b23            ldr     r3, [r4, #48]   ; 0x30
- 800238c:      68d0            ldr     r0, [r2, #12]
- 800238e:      4403            add     r3, r0
- 8002390:      6323            str     r3, [r4, #48]   ; 0x30
- 8002392:      780b            ldrb    r3, [r1, #0]
- 8002394:      2b43            cmp     r3, #67 ; 0x43
- 8002396:      d018            beq.n   80023ca <d_unqualified_name+0x13e>
- 8002398:      2b44            cmp     r3, #68 ; 0x44
- 800239a:      d1f0            bne.n   800237e <d_unqualified_name+0xf2>
- 800239c:      784b            ldrb    r3, [r1, #1]
- 800239e:      3b30            subs    r3, #48 ; 0x30
- 80023a0:      2b05            cmp     r3, #5
- 80023a2:      d8e8            bhi.n   8002376 <d_unqualified_name+0xea>
- 80023a4:      a001            add     r0, pc, #4      ; (adr r0, 80023ac <d_unqualified_name+0x120>)
- 80023a6:      f850 f023       ldr.w   pc, [r0, r3, lsl #2]
- 80023aa:      bf00            nop
- 80023ac:      0800241d        .word   0x0800241d
- 80023b0:      080023e7        .word   0x080023e7
- 80023b4:      0800242f        .word   0x0800242f
- 80023b8:      08002377        .word   0x08002377
- 80023bc:      08002429        .word   0x08002429
- 80023c0:      08002423        .word   0x08002423
- 80023c4:      2818            cmp     r0, #24
- 80023c6:      d1e5            bne.n   8002394 <d_unqualified_name+0x108>
- 80023c8:      e7df            b.n     800238a <d_unqualified_name+0xfe>
- 80023ca:      784b            ldrb    r3, [r1, #1]
- 80023cc:      2b49            cmp     r3, #73 ; 0x49
- 80023ce:      f000 80b0       beq.w   8002532 <d_unqualified_name+0x2a6>
- 80023d2:      3b31            subs    r3, #49 ; 0x31
- 80023d4:      2b04            cmp     r3, #4
- 80023d6:      d8ce            bhi.n   8002376 <d_unqualified_name+0xea>
- 80023d8:      e8df f013       tbh     [pc, r3, lsl #1]
- 80023dc:      005100ed        .word   0x005100ed
- 80023e0:      0047004c        .word   0x0047004c
- 80023e4:      002c            .short  0x002c
- 80023e6:      f04f 0c02       mov.w   ip, #2
- 80023ea:      e9d4 3005       ldrd    r3, r0, [r4, #20]
- 80023ee:      1c8d            adds    r5, r1, #2
- 80023f0:      4283            cmp     r3, r0
- 80023f2:      60e5            str     r5, [r4, #12]
- 80023f4:      f280 80d0       bge.w   8002598 <d_unqualified_name+0x30c>
- 80023f8:      6926            ldr     r6, [r4, #16]
- 80023fa:      0118            lsls    r0, r3, #4
- 80023fc:      1835            adds    r5, r6, r0
- 80023fe:      3301            adds    r3, #1
- 8002400:      2700            movs    r7, #0
- 8002402:      606f            str     r7, [r5, #4]
- 8002404:      6163            str     r3, [r4, #20]
- 8002406:      2a00            cmp     r2, #0
- 8002408:      f000 80cf       beq.w   80025aa <d_unqualified_name+0x31e>
- 800240c:      2308            movs    r3, #8
- 800240e:      606f            str     r7, [r5, #4]
- 8002410:      5433            strb    r3, [r6, r0]
- 8002412:      f885 c008       strb.w  ip, [r5, #8]
- 8002416:      60ea            str     r2, [r5, #12]
- 8002418:      788b            ldrb    r3, [r1, #2]
- 800241a:      e778            b.n     800230e <d_unqualified_name+0x82>
- 800241c:      f04f 0c01       mov.w   ip, #1
- 8002420:      e7e3            b.n     80023ea <d_unqualified_name+0x15e>
- 8002422:      f04f 0c05       mov.w   ip, #5
- 8002426:      e7e0            b.n     80023ea <d_unqualified_name+0x15e>
- 8002428:      f04f 0c04       mov.w   ip, #4
- 800242c:      e7dd            b.n     80023ea <d_unqualified_name+0x15e>
- 800242e:      f04f 0c03       mov.w   ip, #3
- 8002432:      e7da            b.n     80023ea <d_unqualified_name+0x15e>
- 8002434:      3102            adds    r1, #2
- 8002436:      60e1            str     r1, [r4, #12]
- 8002438:      f04f 0805       mov.w   r8, #5
- 800243c:      e9d4 3005       ldrd    r3, r0, [r4, #20]
- 8002440:      4283            cmp     r3, r0
- 8002442:      f280 80ac       bge.w   800259e <d_unqualified_name+0x312>
- 8002446:      6926            ldr     r6, [r4, #16]
- 8002448:      0118            lsls    r0, r3, #4
- 800244a:      1835            adds    r5, r6, r0
- 800244c:      3301            adds    r3, #1
- 800244e:      2700            movs    r7, #0
- 8002450:      606f            str     r7, [r5, #4]
- 8002452:      6163            str     r3, [r4, #20]
- 8002454:      2a00            cmp     r2, #0
- 8002456:      f000 80ab       beq.w   80025b0 <d_unqualified_name+0x324>
- 800245a:      2307            movs    r3, #7
- 800245c:      606f            str     r7, [r5, #4]
- 800245e:      5433            strb    r3, [r6, r0]
- 8002460:      f885 8008       strb.w  r8, [r5, #8]
- 8002464:      60ea            str     r2, [r5, #12]
- 8002466:      780b            ldrb    r3, [r1, #0]
- 8002468:      e751            b.n     800230e <d_unqualified_name+0x82>
- 800246a:      3102            adds    r1, #2
- 800246c:      60e1            str     r1, [r4, #12]
- 800246e:      f04f 0804       mov.w   r8, #4
- 8002472:      e7e3            b.n     800243c <d_unqualified_name+0x1b0>
- 8002474:      3102            adds    r1, #2
- 8002476:      60e1            str     r1, [r4, #12]
- 8002478:      f04f 0803       mov.w   r8, #3
- 800247c:      e7de            b.n     800243c <d_unqualified_name+0x1b0>
- 800247e:      3102            adds    r1, #2
- 8002480:      60e1            str     r1, [r4, #12]
- 8002482:      f04f 0802       mov.w   r8, #2
- 8002486:      e7d9            b.n     800243c <d_unqualified_name+0x1b0>
- 8002488:      1c4b            adds    r3, r1, #1
- 800248a:      60c3            str     r3, [r0, #12]
- 800248c:      784b            ldrb    r3, [r1, #1]
- 800248e:      2b6c            cmp     r3, #108        ; 0x6c
- 8002490:      f47f af75       bne.w   800237e <d_unqualified_name+0xf2>
- 8002494:      3102            adds    r1, #2
- 8002496:      60c1            str     r1, [r0, #12]
- 8002498:      f7ff fdc2       bl      8002020 <d_parmlist>
- 800249c:      4606            mov     r6, r0
- 800249e:      2800            cmp     r0, #0
- 80024a0:      d070            beq.n   8002584 <d_unqualified_name+0x2f8>
- 80024a2:      68e2            ldr     r2, [r4, #12]
- 80024a4:      7813            ldrb    r3, [r2, #0]
- 80024a6:      2b45            cmp     r3, #69 ; 0x45
- 80024a8:      f47f af69       bne.w   800237e <d_unqualified_name+0xf2>
- 80024ac:      3201            adds    r2, #1
- 80024ae:      60e2            str     r2, [r4, #12]
- 80024b0:      4620            mov     r0, r4
- 80024b2:      f7fe f803       bl      80004bc <d_compact_number>
- 80024b6:      f1b0 0e00       subs.w  lr, r0, #0
- 80024ba:      db63            blt.n   8002584 <d_unqualified_name+0x2f8>
- 80024bc:      e9d4 3205       ldrd    r3, r2, [r4, #20]
- 80024c0:      4293            cmp     r3, r2
- 80024c2:      68e0            ldr     r0, [r4, #12]
- 80024c4:      db1b            blt.n   80024fe <d_unqualified_name+0x272>
- 80024c6:      7803            ldrb    r3, [r0, #0]
- 80024c8:      2500            movs    r5, #0
- 80024ca:      e720            b.n     800230e <d_unqualified_name+0x82>
- 80024cc:      6926            ldr     r6, [r4, #16]
- 80024ce:      6a22            ldr     r2, [r4, #32]
- 80024d0:      f8d4 e024       ldr.w   lr, [r4, #36]   ; 0x24
- 80024d4:      0119            lsls    r1, r3, #4
- 80024d6:      1875            adds    r5, r6, r1
- 80024d8:      3301            adds    r3, #1
- 80024da:      f04f 0c00       mov.w   ip, #0
- 80024de:      f8c5 c004       str.w   ip, [r5, #4]
- 80024e2:      4572            cmp     r2, lr
- 80024e4:      6163            str     r3, [r4, #20]
- 80024e6:      f04f 0347       mov.w   r3, #71 ; 0x47
- 80024ea:      5473            strb    r3, [r6, r1]
- 80024ec:      60a8            str     r0, [r5, #8]
- 80024ee:      da4d            bge.n   800258c <d_unqualified_name+0x300>
- 80024f0:      69e3            ldr     r3, [r4, #28]
- 80024f2:      f843 5022       str.w   r5, [r3, r2, lsl #2]
- 80024f6:      3201            adds    r2, #1
- 80024f8:      6222            str     r2, [r4, #32]
- 80024fa:      783b            ldrb    r3, [r7, #0]
- 80024fc:      e707            b.n     800230e <d_unqualified_name+0x82>
- 80024fe:      6927            ldr     r7, [r4, #16]
- 8002500:      6a22            ldr     r2, [r4, #32]
- 8002502:      f8d4 8024       ldr.w   r8, [r4, #36]   ; 0x24
- 8002506:      0119            lsls    r1, r3, #4
- 8002508:      187d            adds    r5, r7, r1
- 800250a:      3301            adds    r3, #1
- 800250c:      f04f 0c00       mov.w   ip, #0
- 8002510:      f8c5 c004       str.w   ip, [r5, #4]
- 8002514:      4542            cmp     r2, r8
- 8002516:      6163            str     r3, [r4, #20]
- 8002518:      f04f 0345       mov.w   r3, #69 ; 0x45
- 800251c:      547b            strb    r3, [r7, r1]
- 800251e:      e9c5 6e02       strd    r6, lr, [r5, #8]
- 8002522:      da36            bge.n   8002592 <d_unqualified_name+0x306>
- 8002524:      69e3            ldr     r3, [r4, #28]
- 8002526:      f843 5022       str.w   r5, [r3, r2, lsl #2]
- 800252a:      3201            adds    r2, #1
- 800252c:      6222            str     r2, [r4, #32]
- 800252e:      7803            ldrb    r3, [r0, #0]
- 8002530:      e6ed            b.n     800230e <d_unqualified_name+0x82>
- 8002532:      1c4b            adds    r3, r1, #1
- 8002534:      60e3            str     r3, [r4, #12]
- 8002536:      788b            ldrb    r3, [r1, #2]
- 8002538:      3b31            subs    r3, #49 ; 0x31
- 800253a:      2b04            cmp     r3, #4
- 800253c:      d832            bhi.n   80025a4 <d_unqualified_name+0x318>
- 800253e:      e8df f003       tbb     [pc, r3]
- 8002542:      1c03            .short  0x1c03
- 8002544:      1217            .short  0x1217
- 8002546:      0d              .byte   0x0d
- 8002547:      00              .byte   0x00
- 8002548:      3103            adds    r1, #3
- 800254a:      60e1            str     r1, [r4, #12]
- 800254c:      f04f 0801       mov.w   r8, #1
- 8002550:      4620            mov     r0, r4
- 8002552:      f7ff f8f5       bl      8001740 <d_type>
- 8002556:      6ae2            ldr     r2, [r4, #44]   ; 0x2c
- 8002558:      68e1            ldr     r1, [r4, #12]
- 800255a:      e76f            b.n     800243c <d_unqualified_name+0x1b0>
- 800255c:      3103            adds    r1, #3
- 800255e:      60e1            str     r1, [r4, #12]
- 8002560:      f04f 0805       mov.w   r8, #5
- 8002564:      e7f4            b.n     8002550 <d_unqualified_name+0x2c4>
- 8002566:      3103            adds    r1, #3
- 8002568:      60e1            str     r1, [r4, #12]
- 800256a:      f04f 0804       mov.w   r8, #4
- 800256e:      e7ef            b.n     8002550 <d_unqualified_name+0x2c4>
- 8002570:      3103            adds    r1, #3
- 8002572:      60e1            str     r1, [r4, #12]
- 8002574:      f04f 0803       mov.w   r8, #3
- 8002578:      e7ea            b.n     8002550 <d_unqualified_name+0x2c4>
- 800257a:      3103            adds    r1, #3
- 800257c:      60e1            str     r1, [r4, #12]
- 800257e:      f04f 0802       mov.w   r8, #2
- 8002582:      e7e5            b.n     8002550 <d_unqualified_name+0x2c4>
- 8002584:      68e3            ldr     r3, [r4, #12]
- 8002586:      2500            movs    r5, #0
- 8002588:      781b            ldrb    r3, [r3, #0]
- 800258a:      e6c0            b.n     800230e <d_unqualified_name+0x82>
- 800258c:      783b            ldrb    r3, [r7, #0]
- 800258e:      4665            mov     r5, ip
- 8002590:      e6bd            b.n     800230e <d_unqualified_name+0x82>
- 8002592:      7803            ldrb    r3, [r0, #0]
- 8002594:      4665            mov     r5, ip
- 8002596:      e6ba            b.n     800230e <d_unqualified_name+0x82>
- 8002598:      788b            ldrb    r3, [r1, #2]
- 800259a:      2500            movs    r5, #0
- 800259c:      e6b7            b.n     800230e <d_unqualified_name+0x82>
- 800259e:      780b            ldrb    r3, [r1, #0]
- 80025a0:      2500            movs    r5, #0
- 80025a2:      e6b4            b.n     800230e <d_unqualified_name+0x82>
- 80025a4:      784b            ldrb    r3, [r1, #1]
- 80025a6:      2500            movs    r5, #0
- 80025a8:      e6b1            b.n     800230e <d_unqualified_name+0x82>
- 80025aa:      788b            ldrb    r3, [r1, #2]
- 80025ac:      4615            mov     r5, r2
- 80025ae:      e6ae            b.n     800230e <d_unqualified_name+0x82>
- 80025b0:      780b            ldrb    r3, [r1, #0]
- 80025b2:      4615            mov     r5, r2
- 80025b4:      e6ab            b.n     800230e <d_unqualified_name+0x82>
- 80025b6:      3102            adds    r1, #2
- 80025b8:      60e1            str     r1, [r4, #12]
- 80025ba:      f04f 0801       mov.w   r8, #1
- 80025be:      e73d            b.n     800243c <d_unqualified_name+0x1b0>
- 80025c0:      080125b8        .word   0x080125b8
-
-080025c4 <d_encoding>:
- 80025c4:      e92d 47f0       stmdb   sp!, {r4, r5, r6, r7, r8, r9, sl, lr}
- 80025c8:      68c3            ldr     r3, [r0, #12]
- 80025ca:      781a            ldrb    r2, [r3, #0]
- 80025cc:      2a47            cmp     r2, #71 ; 0x47
- 80025ce:      4604            mov     r4, r0
- 80025d0:      d019            beq.n   8002606 <d_encoding+0x42>
- 80025d2:      2a54            cmp     r2, #84 ; 0x54
- 80025d4:      d017            beq.n   8002606 <d_encoding+0x42>
- 80025d6:      460e            mov     r6, r1
- 80025d8:      f7fe ff06       bl      80013e8 <d_name>
- 80025dc:      4605            mov     r5, r0
- 80025de:      2800            cmp     r0, #0
- 80025e0:      d07d            beq.n   80026de <d_encoding+0x11a>
- 80025e2:      2e00            cmp     r6, #0
- 80025e4:      d057            beq.n   8002696 <d_encoding+0xd2>
- 80025e6:      68a3            ldr     r3, [r4, #8]
- 80025e8:      07db            lsls    r3, r3, #31
- 80025ea:      d454            bmi.n   8002696 <d_encoding+0xd2>
- 80025ec:      e000            b.n     80025f0 <d_encoding+0x2c>
- 80025ee:      68ad            ldr     r5, [r5, #8]
- 80025f0:      782b            ldrb    r3, [r5, #0]
- 80025f2:      f1a3 021c       sub.w   r2, r3, #28
- 80025f6:      2a04            cmp     r2, #4
- 80025f8:      d9f9            bls.n   80025ee <d_encoding+0x2a>
- 80025fa:      2b02            cmp     r3, #2
- 80025fc:      f000 8186       beq.w   800290c <d_encoding+0x348>
- 8002600:      4628            mov     r0, r5
- 8002602:      e8bd 87f0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc}
- 8002606:      6b21            ldr     r1, [r4, #48]   ; 0x30
- 8002608:      f101 0214       add.w   r2, r1, #20
- 800260c:      6322            str     r2, [r4, #48]   ; 0x30
- 800260e:      781a            ldrb    r2, [r3, #0]
- 8002610:      2a54            cmp     r2, #84 ; 0x54
- 8002612:      d068            beq.n   80026e6 <d_encoding+0x122>
- 8002614:      2a47            cmp     r2, #71 ; 0x47
- 8002616:      d162            bne.n   80026de <d_encoding+0x11a>
- 8002618:      1c5a            adds    r2, r3, #1
- 800261a:      60e2            str     r2, [r4, #12]
- 800261c:      785a            ldrb    r2, [r3, #1]
- 800261e:      2a00            cmp     r2, #0
- 8002620:      d05d            beq.n   80026de <d_encoding+0x11a>
- 8002622:      1c9a            adds    r2, r3, #2
- 8002624:      60e2            str     r2, [r4, #12]
- 8002626:      785a            ldrb    r2, [r3, #1]
- 8002628:      3a41            subs    r2, #65 ; 0x41
- 800262a:      2a31            cmp     r2, #49 ; 0x31
- 800262c:      d857            bhi.n   80026de <d_encoding+0x11a>
- 800262e:      e8df f012       tbh     [pc, r2, lsl #1]
- 8002632:      013e            .short  0x013e
- 8002634:      00560056        .word   0x00560056
- 8002638:      00560056        .word   0x00560056
- 800263c:      00560056        .word   0x00560056
- 8002640:      00560056        .word   0x00560056
- 8002644:      00560056        .word   0x00560056
- 8002648:      00560056        .word   0x00560056
- 800264c:      00560056        .word   0x00560056
- 8002650:      00560056        .word   0x00560056
- 8002654:      0056014a        .word   0x0056014a
- 8002658:      00560159        .word   0x00560159
- 800265c:      005600e0        .word   0x005600e0
- 8002660:      00560056        .word   0x00560056
- 8002664:      00560056        .word   0x00560056
- 8002668:      00560056        .word   0x00560056
- 800266c:      00560056        .word   0x00560056
- 8002670:      00560056        .word   0x00560056
- 8002674:      00560056        .word   0x00560056
- 8002678:      00560056        .word   0x00560056
- 800267c:      00560056        .word   0x00560056
- 8002680:      00560056        .word   0x00560056
- 8002684:      00560056        .word   0x00560056
- 8002688:      00560056        .word   0x00560056
- 800268c:      00560056        .word   0x00560056
- 8002690:      00560056        .word   0x00560056
- 8002694:      00eb            .short  0x00eb
- 8002696:      68e3            ldr     r3, [r4, #12]
- 8002698:      781b            ldrb    r3, [r3, #0]
- 800269a:      2b00            cmp     r3, #0
- 800269c:      d0b0            beq.n   8002600 <d_encoding+0x3c>
- 800269e:      2b45            cmp     r3, #69 ; 0x45
- 80026a0:      d0ae            beq.n   8002600 <d_encoding+0x3c>
- 80026a2:      4629            mov     r1, r5
- 80026a4:      780b            ldrb    r3, [r1, #0]
- 80026a6:      2b20            cmp     r3, #32
- 80026a8:      f200 8218       bhi.w   8002adc <d_encoding+0x518>
- 80026ac:      2b1c            cmp     r3, #28
- 80026ae:      f080 821e       bcs.w   8002aee <d_encoding+0x52a>
- 80026b2:      2b04            cmp     r3, #4
- 80026b4:      f040 8091       bne.w   80027da <d_encoding+0x216>
- 80026b8:      688a            ldr     r2, [r1, #8]
- 80026ba:      b16a            cbz     r2, 80026d8 <d_encoding+0x114>
- 80026bc:      7813            ldrb    r3, [r2, #0]
- 80026be:      2b08            cmp     r3, #8
- 80026c0:      f103 31ff       add.w   r1, r3, #4294967295     ; 0xffffffff
- 80026c4:      f200 8086       bhi.w   80027d4 <d_encoding+0x210>
- 80026c8:      2b07            cmp     r3, #7
- 80026ca:      f080 8086       bcs.w   80027da <d_encoding+0x216>
- 80026ce:      2901            cmp     r1, #1
- 80026d0:      d802            bhi.n   80026d8 <d_encoding+0x114>
- 80026d2:      68d2            ldr     r2, [r2, #12]
- 80026d4:      2a00            cmp     r2, #0
- 80026d6:      d1f1            bne.n   80026bc <d_encoding+0xf8>
- 80026d8:      2101            movs    r1, #1
- 80026da:      e07f            b.n     80027dc <d_encoding+0x218>
- 80026dc:      60e7            str     r7, [r4, #12]
- 80026de:      2500            movs    r5, #0
- 80026e0:      4628            mov     r0, r5
- 80026e2:      e8bd 87f0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc}
- 80026e6:      1c5a            adds    r2, r3, #1
- 80026e8:      60e2            str     r2, [r4, #12]
- 80026ea:      785a            ldrb    r2, [r3, #1]
- 80026ec:      2a00            cmp     r2, #0
- 80026ee:      d0f6            beq.n   80026de <d_encoding+0x11a>
- 80026f0:      1c9a            adds    r2, r3, #2
- 80026f2:      60e2            str     r2, [r4, #12]
- 80026f4:      785b            ldrb    r3, [r3, #1]
- 80026f6:      3b43            subs    r3, #67 ; 0x43
- 80026f8:      2b33            cmp     r3, #51 ; 0x33
- 80026fa:      d8f0            bhi.n   80026de <d_encoding+0x11a>
- 80026fc:      a201            add     r2, pc, #4      ; (adr r2, 8002704 <d_encoding+0x140>)
- 80026fe:      f852 f023       ldr.w   pc, [r2, r3, lsl #2]
- 8002702:      bf00            nop
- 8002704:      08002a59        .word   0x08002a59
- 8002708:      080026df        .word   0x080026df
- 800270c:      080026df        .word   0x080026df
- 8002710:      08002a43        .word   0x08002a43
- 8002714:      080026df        .word   0x080026df
- 8002718:      08002a2d        .word   0x08002a2d
- 800271c:      08002a17        .word   0x08002a17
- 8002720:      08002a01        .word   0x08002a01
- 8002724:      080026df        .word   0x080026df
- 8002728:      080026df        .word   0x080026df
- 800272c:      080026df        .word   0x080026df
- 8002730:      080026df        .word   0x080026df
- 8002734:      080026df        .word   0x080026df
- 8002738:      080026df        .word   0x080026df
- 800273c:      080026df        .word   0x080026df
- 8002740:      080026df        .word   0x080026df
- 8002744:      080029eb        .word   0x080029eb
- 8002748:      080029d1        .word   0x080029d1
- 800274c:      080026df        .word   0x080026df
- 8002750:      080029b7        .word   0x080029b7
- 8002754:      080029a1        .word   0x080029a1
- 8002758:      080026df        .word   0x080026df
- 800275c:      080026df        .word   0x080026df
- 8002760:      080026df        .word   0x080026df
- 8002764:      080026df        .word   0x080026df
- 8002768:      080026df        .word   0x080026df
- 800276c:      080026df        .word   0x080026df
- 8002770:      080026df        .word   0x080026df
- 8002774:      080026df        .word   0x080026df
- 8002778:      080026df        .word   0x080026df
- 800277c:      080026df        .word   0x080026df
- 8002780:      080026df        .word   0x080026df
- 8002784:      0800296d        .word   0x0800296d
- 8002788:      080026df        .word   0x080026df
- 800278c:      080026df        .word   0x080026df
- 8002790:      080026df        .word   0x080026df
- 8002794:      080026df        .word   0x080026df
- 8002798:      08002947        .word   0x08002947
- 800279c:      080026df        .word   0x080026df
- 80027a0:      080026df        .word   0x080026df
- 80027a4:      080026df        .word   0x080026df
- 80027a8:      080026df        .word   0x080026df
- 80027ac:      080026df        .word   0x080026df
- 80027b0:      080026df        .word   0x080026df
- 80027b4:      080026df        .word   0x080026df
- 80027b8:      080026df        .word   0x080026df
- 80027bc:      080026df        .word   0x080026df
- 80027c0:      080026df        .word   0x080026df
- 80027c4:      080026df        .word   0x080026df
- 80027c8:      080026df        .word   0x080026df
- 80027cc:      080026df        .word   0x080026df
- 80027d0:      08002921        .word   0x08002921
- 80027d4:      2b34            cmp     r3, #52 ; 0x34
- 80027d6:      f47f af7f       bne.w   80026d8 <d_encoding+0x114>
- 80027da:      2100            movs    r1, #0
- 80027dc:      4620            mov     r0, r4
- 80027de:      f7ff fd15       bl      800220c <d_bare_function_type>
- 80027e2:      462a            mov     r2, r5
- 80027e4:      4603            mov     r3, r0
- 80027e6:      2103            movs    r1, #3
- 80027e8:      4620            mov     r0, r4
- 80027ea:      e8bd 47f0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, lr}
- 80027ee:      f7fd bd27       b.w     8000240 <d_make_comp>
- 80027f2:      4620            mov     r0, r4
- 80027f4:      f7fe fdf8       bl      80013e8 <d_name>
- 80027f8:      2300            movs    r3, #0
- 80027fa:      4602            mov     r2, r0
- 80027fc:      2113            movs    r1, #19
- 80027fe:      4620            mov     r0, r4
- 8002800:      e8bd 47f0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, lr}
- 8002804:      f7fd bd1c       b.w     8000240 <d_make_comp>
- 8002808:      f104 000c       add.w   r0, r4, #12
- 800280c:      f7fd fe12       bl      8000434 <d_number.isra.1>
- 8002810:      2801            cmp     r0, #1
- 8002812:      f77f af64       ble.w   80026de <d_encoding+0x11a>
- 8002816:      68e3            ldr     r3, [r4, #12]
- 8002818:      781a            ldrb    r2, [r3, #0]
- 800281a:      2a00            cmp     r2, #0
- 800281c:      f43f af5f       beq.w   80026de <d_encoding+0x11a>
- 8002820:      1c5f            adds    r7, r3, #1
- 8002822:      60e7            str     r7, [r4, #12]
- 8002824:      781b            ldrb    r3, [r3, #0]
- 8002826:      2b5f            cmp     r3, #95 ; 0x5f
- 8002828:      f47f af59       bne.w   80026de <d_encoding+0x11a>
- 800282c:      2200            movs    r2, #0
- 800282e:      1e45            subs    r5, r0, #1
- 8002830:      4690            mov     r8, r2
- 8002832:      f04f 0940       mov.w   r9, #64 ; 0x40
- 8002836:      783b            ldrb    r3, [r7, #0]
- 8002838:      2b00            cmp     r3, #0
- 800283a:      f43f af50       beq.w   80026de <d_encoding+0x11a>
- 800283e:      2b24            cmp     r3, #36 ; 0x24
- 8002840:      f040 812a       bne.w   8002a98 <d_encoding+0x4d4>
- 8002844:      787b            ldrb    r3, [r7, #1]
- 8002846:      2b53            cmp     r3, #83 ; 0x53
- 8002848:      f000 8156       beq.w   8002af8 <d_encoding+0x534>
- 800284c:      2b5f            cmp     r3, #95 ; 0x5f
- 800284e:      f000 8155       beq.w   8002afc <d_encoding+0x538>
- 8002852:      2b24            cmp     r3, #36 ; 0x24
- 8002854:      f47f af43       bne.w   80026de <d_encoding+0x11a>
- 8002858:      4619            mov     r1, r3
- 800285a:      e9d4 0305       ldrd    r0, r3, [r4, #20]
- 800285e:      68e7            ldr     r7, [r4, #12]
- 8002860:      4298            cmp     r0, r3
- 8002862:      f107 0702       add.w   r7, r7, #2
- 8002866:      f6bf af39       bge.w   80026dc <d_encoding+0x118>
- 800286a:      f8d4 c010       ldr.w   ip, [r4, #16]
- 800286e:      0106            lsls    r6, r0, #4
- 8002870:      eb0c 0306       add.w   r3, ip, r6
- 8002874:      3001            adds    r0, #1
- 8002876:      f8c3 8004       str.w   r8, [r3, #4]
- 800287a:      3d02            subs    r5, #2
- 800287c:      6160            str     r0, [r4, #20]
- 800287e:      f80c 9006       strb.w  r9, [ip, r6]
- 8002882:      6099            str     r1, [r3, #8]
- 8002884:      60e7            str     r7, [r4, #12]
- 8002886:      2a00            cmp     r2, #0
- 8002888:      f000 8126       beq.w   8002ad8 <d_encoding+0x514>
- 800288c:      213f            movs    r1, #63 ; 0x3f
- 800288e:      4620            mov     r0, r4
- 8002890:      f7fd fcd6       bl      8000240 <d_make_comp>
- 8002894:      4602            mov     r2, r0
- 8002896:      2800            cmp     r0, #0
- 8002898:      f43f af21       beq.w   80026de <d_encoding+0x11a>
- 800289c:      2d00            cmp     r5, #0
- 800289e:      dcca            bgt.n   8002836 <d_encoding+0x272>
- 80028a0:      4620            mov     r0, r4
- 80028a2:      2300            movs    r3, #0
- 80028a4:      213e            movs    r1, #62 ; 0x3e
- 80028a6:      e8bd 47f0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, lr}
- 80028aa:      f7fd bcc9       b.w     8000240 <d_make_comp>
- 80028ae:      2100            movs    r1, #0
- 80028b0:      4620            mov     r0, r4
- 80028b2:      f7ff fe87       bl      80025c4 <d_encoding>
- 80028b6:      2300            movs    r3, #0
- 80028b8:      4602            mov     r2, r0
- 80028ba:      2117            movs    r1, #23
- 80028bc:      4620            mov     r0, r4
- 80028be:      e8bd 47f0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, lr}
- 80028c2:      f7fd bcbd       b.w     8000240 <d_make_comp>
- 80028c6:      4620            mov     r0, r4
- 80028c8:      f7fe fd8e       bl      80013e8 <d_name>
- 80028cc:      4605            mov     r5, r0
- 80028ce:      4620            mov     r0, r4
- 80028d0:      f7fd fddc       bl      800048c <d_number_component>
- 80028d4:      462a            mov     r2, r5
- 80028d6:      4603            mov     r3, r0
- 80028d8:      2116            movs    r1, #22
- 80028da:      4620            mov     r0, r4
- 80028dc:      e8bd 47f0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, lr}
- 80028e0:      f7fd bcae       b.w     8000240 <d_make_comp>
- 80028e4:      789a            ldrb    r2, [r3, #2]
- 80028e6:      2100            movs    r1, #0
- 80028e8:      4620            mov     r0, r4
- 80028ea:      b12a            cbz     r2, 80028f8 <d_encoding+0x334>
- 80028ec:      1cda            adds    r2, r3, #3
- 80028ee:      60e2            str     r2, [r4, #12]
- 80028f0:      789b            ldrb    r3, [r3, #2]
- 80028f2:      2b6e            cmp     r3, #110        ; 0x6e
- 80028f4:      f000 8109       beq.w   8002b0a <d_encoding+0x546>
- 80028f8:      f7ff fe64       bl      80025c4 <d_encoding>
- 80028fc:      2300            movs    r3, #0
- 80028fe:      4602            mov     r2, r0
- 8002900:      2148            movs    r1, #72 ; 0x48
- 8002902:      4620            mov     r0, r4
- 8002904:      e8bd 47f0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, lr}
- 8002908:      f7fd bc9a       b.w     8000240 <d_make_comp>
- 800290c:      68ea            ldr     r2, [r5, #12]
- 800290e:      e000            b.n     8002912 <d_encoding+0x34e>
- 8002910:      6892            ldr     r2, [r2, #8]
- 8002912:      7810            ldrb    r0, [r2, #0]
- 8002914:      f7fd fd80       bl      8000418 <is_fnqual_component_type>
- 8002918:      2800            cmp     r0, #0
- 800291a:      d1f9            bne.n   8002910 <d_encoding+0x34c>
- 800291c:      60ea            str     r2, [r5, #12]
- 800291e:      e66f            b.n     8002600 <d_encoding+0x3c>
- 8002920:      2176            movs    r1, #118        ; 0x76
- 8002922:      4620            mov     r0, r4
- 8002924:      f7fe f80a       bl      800093c <d_call_offset>
- 8002928:      2800            cmp     r0, #0
- 800292a:      f43f aed8       beq.w   80026de <d_encoding+0x11a>
- 800292e:      2100            movs    r1, #0
- 8002930:      4620            mov     r0, r4
- 8002932:      f7ff fe47       bl      80025c4 <d_encoding>
- 8002936:      2300            movs    r3, #0
- 8002938:      4602            mov     r2, r0
- 800293a:      2110            movs    r1, #16
- 800293c:      4620            mov     r0, r4
- 800293e:      e8bd 47f0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, lr}
- 8002942:      f7fd bc7d       b.w     8000240 <d_make_comp>
- 8002946:      2168            movs    r1, #104        ; 0x68
- 8002948:      4620            mov     r0, r4
- 800294a:      f7fd fff7       bl      800093c <d_call_offset>
- 800294e:      2800            cmp     r0, #0
- 8002950:      f43f aec5       beq.w   80026de <d_encoding+0x11a>
- 8002954:      2100            movs    r1, #0
- 8002956:      4620            mov     r0, r4
- 8002958:      f7ff fe34       bl      80025c4 <d_encoding>
- 800295c:      2300            movs    r3, #0
- 800295e:      4602            mov     r2, r0
- 8002960:      210f            movs    r1, #15
- 8002962:      4620            mov     r0, r4
- 8002964:      e8bd 47f0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, lr}
- 8002968:      f7fd bc6a       b.w     8000240 <d_make_comp>
- 800296c:      2100            movs    r1, #0
- 800296e:      4620            mov     r0, r4
- 8002970:      f7fd ffe4       bl      800093c <d_call_offset>
- 8002974:      2800            cmp     r0, #0
- 8002976:      f43f aeb2       beq.w   80026de <d_encoding+0x11a>
- 800297a:      2100            movs    r1, #0
- 800297c:      4620            mov     r0, r4
- 800297e:      f7fd ffdd       bl      800093c <d_call_offset>
- 8002982:      2800            cmp     r0, #0
- 8002984:      f43f aeab       beq.w   80026de <d_encoding+0x11a>
- 8002988:      2100            movs    r1, #0
- 800298a:      4620            mov     r0, r4
- 800298c:      f7ff fe1a       bl      80025c4 <d_encoding>
- 8002990:      2300            movs    r3, #0
- 8002992:      4602            mov     r2, r0
- 8002994:      2111            movs    r1, #17
- 8002996:      4620            mov     r0, r4
- 8002998:      e8bd 47f0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, lr}
- 800299c:      f7fd bc50       b.w     8000240 <d_make_comp>
- 80029a0:      4620            mov     r0, r4
- 80029a2:      f7fe fd21       bl      80013e8 <d_name>
- 80029a6:      2300            movs    r3, #0
- 80029a8:      4602            mov     r2, r0
- 80029aa:      2115            movs    r1, #21
- 80029ac:      4620            mov     r0, r4
- 80029ae:      e8bd 47f0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, lr}
- 80029b2:      f7fd bc45       b.w     8000240 <d_make_comp>
- 80029b6:      310f            adds    r1, #15
- 80029b8:      6321            str     r1, [r4, #48]   ; 0x30
- 80029ba:      4620            mov     r0, r4
- 80029bc:      f7fe fec0       bl      8001740 <d_type>
- 80029c0:      2300            movs    r3, #0
- 80029c2:      4602            mov     r2, r0
- 80029c4:      2109            movs    r1, #9
- 80029c6:      4620            mov     r0, r4
- 80029c8:      e8bd 47f0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, lr}
- 80029cc:      f7fd bc38       b.w     8000240 <d_make_comp>
- 80029d0:      310a            adds    r1, #10
- 80029d2:      6321            str     r1, [r4, #48]   ; 0x30
- 80029d4:      4620            mov     r0, r4
- 80029d6:      f7fe feb3       bl      8001740 <d_type>
- 80029da:      2300            movs    r3, #0
- 80029dc:      4602            mov     r2, r0
- 80029de:      210a            movs    r1, #10
- 80029e0:      4620            mov     r0, r4
- 80029e2:      e8bd 47f0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, lr}
- 80029e6:      f7fd bc2b       b.w     8000240 <d_make_comp>
- 80029ea:      4620            mov     r0, r4
- 80029ec:      f7fe fea8       bl      8001740 <d_type>
- 80029f0:      2300            movs    r3, #0
- 80029f2:      4602            mov     r2, r0
- 80029f4:      210d            movs    r1, #13
- 80029f6:      4620            mov     r0, r4
- 80029f8:      e8bd 47f0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, lr}
- 80029fc:      f7fd bc20       b.w     8000240 <d_make_comp>
- 8002a00:      4620            mov     r0, r4
- 8002a02:      f7fe fe9d       bl      8001740 <d_type>
- 8002a06:      2300            movs    r3, #0
- 8002a08:      4602            mov     r2, r0
- 8002a0a:      2112            movs    r1, #18
- 8002a0c:      4620            mov     r0, r4
- 8002a0e:      e8bd 47f0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, lr}
- 8002a12:      f7fd bc15       b.w     8000240 <d_make_comp>
- 8002a16:      4620            mov     r0, r4
- 8002a18:      f7fe fe92       bl      8001740 <d_type>
- 8002a1c:      2300            movs    r3, #0
- 8002a1e:      4602            mov     r2, r0
- 8002a20:      210c            movs    r1, #12
- 8002a22:      4620            mov     r0, r4
- 8002a24:      e8bd 47f0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, lr}
- 8002a28:      f7fd bc0a       b.w     8000240 <d_make_comp>
- 8002a2c:      4620            mov     r0, r4
- 8002a2e:      f7fe fcdb       bl      80013e8 <d_name>
- 8002a32:      2300            movs    r3, #0
- 8002a34:      4602            mov     r2, r0
- 8002a36:      2114            movs    r1, #20
- 8002a38:      4620            mov     r0, r4
- 8002a3a:      e8bd 47f0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, lr}
- 8002a3e:      f7fd bbff       b.w     8000240 <d_make_comp>
- 8002a42:      4620            mov     r0, r4
- 8002a44:      f7fe fe7c       bl      8001740 <d_type>
- 8002a48:      2300            movs    r3, #0
- 8002a4a:      4602            mov     r2, r0
- 8002a4c:      210e            movs    r1, #14
- 8002a4e:      4620            mov     r0, r4
- 8002a50:      e8bd 47f0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, lr}
- 8002a54:      f7fd bbf4       b.w     8000240 <d_make_comp>
- 8002a58:      4620            mov     r0, r4
- 8002a5a:      f7fe fe71       bl      8001740 <d_type>
- 8002a5e:      4605            mov     r5, r0
- 8002a60:      f104 000c       add.w   r0, r4, #12
- 8002a64:      f7fd fce6       bl      8000434 <d_number.isra.1>
- 8002a68:      2800            cmp     r0, #0
- 8002a6a:      f6ff ae38       blt.w   80026de <d_encoding+0x11a>
- 8002a6e:      68e3            ldr     r3, [r4, #12]
- 8002a70:      781a            ldrb    r2, [r3, #0]
- 8002a72:      2a5f            cmp     r2, #95 ; 0x5f
- 8002a74:      f47f ae33       bne.w   80026de <d_encoding+0x11a>
- 8002a78:      3301            adds    r3, #1
- 8002a7a:      60e3            str     r3, [r4, #12]
- 8002a7c:      4620            mov     r0, r4
- 8002a7e:      f7fe fe5f       bl      8001740 <d_type>
- 8002a82:      6b23            ldr     r3, [r4, #48]   ; 0x30
- 8002a84:      1d59            adds    r1, r3, #5
- 8002a86:      6321            str     r1, [r4, #48]   ; 0x30
- 8002a88:      4602            mov     r2, r0
- 8002a8a:      462b            mov     r3, r5
- 8002a8c:      4620            mov     r0, r4
- 8002a8e:      210b            movs    r1, #11
- 8002a90:      e8bd 47f0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, lr}
- 8002a94:      f7fd bbd4       b.w     8000240 <d_make_comp>
- 8002a98:      463e            mov     r6, r7
- 8002a9a:      2100            movs    r1, #0
- 8002a9c:      e004            b.n     8002aa8 <d_encoding+0x4e4>
- 8002a9e:      f816 3f01       ldrb.w  r3, [r6, #1]!
- 8002aa2:      b123            cbz     r3, 8002aae <d_encoding+0x4ea>
- 8002aa4:      2b24            cmp     r3, #36 ; 0x24
- 8002aa6:      d002            beq.n   8002aae <d_encoding+0x4ea>
- 8002aa8:      3101            adds    r1, #1
- 8002aaa:      42a9            cmp     r1, r5
- 8002aac:      dbf7            blt.n   8002a9e <d_encoding+0x4da>
- 8002aae:      e9d4 3005       ldrd    r3, r0, [r4, #20]
- 8002ab2:      4283            cmp     r3, r0
- 8002ab4:      da24            bge.n   8002b00 <d_encoding+0x53c>
- 8002ab6:      e9d4 c603       ldrd    ip, r6, [r4, #12]
- 8002aba:      0118            lsls    r0, r3, #4
- 8002abc:      3301            adds    r3, #1
- 8002abe:      6163            str     r3, [r4, #20]
- 8002ac0:      1833            adds    r3, r6, r0
- 8002ac2:      1a6d            subs    r5, r5, r1
- 8002ac4:      f8c3 8004       str.w   r8, [r3, #4]
- 8002ac8:      f806 8000       strb.w  r8, [r6, r0]
- 8002acc:      609f            str     r7, [r3, #8]
- 8002ace:      eb0c 0701       add.w   r7, ip, r1
- 8002ad2:      60d9            str     r1, [r3, #12]
- 8002ad4:      60e7            str     r7, [r4, #12]
- 8002ad6:      e6d6            b.n     8002886 <d_encoding+0x2c2>
- 8002ad8:      461a            mov     r2, r3
- 8002ada:      e6df            b.n     800289c <d_encoding+0x2d8>
- 8002adc:      2b4c            cmp     r3, #76 ; 0x4c
- 8002ade:      f1a3 024e       sub.w   r2, r3, #78     ; 0x4e
- 8002ae2:      d004            beq.n   8002aee <d_encoding+0x52a>
- 8002ae4:      f4ff ae79       bcc.w   80027da <d_encoding+0x216>
- 8002ae8:      2a01            cmp     r2, #1
- 8002aea:      f63f ae76       bhi.w   80027da <d_encoding+0x216>
- 8002aee:      6889            ldr     r1, [r1, #8]
- 8002af0:      2900            cmp     r1, #0
- 8002af2:      f47f add7       bne.w   80026a4 <d_encoding+0xe0>
- 8002af6:      e671            b.n     80027dc <d_encoding+0x218>
- 8002af8:      212f            movs    r1, #47 ; 0x2f
- 8002afa:      e6ae            b.n     800285a <d_encoding+0x296>
- 8002afc:      212e            movs    r1, #46 ; 0x2e
- 8002afe:      e6ac            b.n     800285a <d_encoding+0x296>
- 8002b00:      68e3            ldr     r3, [r4, #12]
- 8002b02:      440b            add     r3, r1
- 8002b04:      60e3            str     r3, [r4, #12]
- 8002b06:      2500            movs    r5, #0
- 8002b08:      e57a            b.n     8002600 <d_encoding+0x3c>
- 8002b0a:      f7ff fd5b       bl      80025c4 <d_encoding>
- 8002b0e:      2300            movs    r3, #0
- 8002b10:      4602            mov     r2, r0
- 8002b12:      2149            movs    r1, #73 ; 0x49
- 8002b14:      4620            mov     r0, r4
- 8002b16:      e8bd 47f0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, lr}
- 8002b1a:      f7fd bb91       b.w     8000240 <d_make_comp>
- 8002b1e:      bf00            nop
-
-08002b20 <d_expr_primary>:
- 8002b20:      b5f8            push    {r3, r4, r5, r6, r7, lr}
- 8002b22:      68c2            ldr     r2, [r0, #12]
- 8002b24:      7813            ldrb    r3, [r2, #0]
- 8002b26:      2b4c            cmp     r3, #76 ; 0x4c
- 8002b28:      d144            bne.n   8002bb4 <d_expr_primary+0x94>
- 8002b2a:      1c53            adds    r3, r2, #1
- 8002b2c:      60c3            str     r3, [r0, #12]
- 8002b2e:      7851            ldrb    r1, [r2, #1]
- 8002b30:      295f            cmp     r1, #95 ; 0x5f
- 8002b32:      4604            mov     r4, r0
- 8002b34:      d040            beq.n   8002bb8 <d_expr_primary+0x98>
- 8002b36:      295a            cmp     r1, #90 ; 0x5a
- 8002b38:      d10c            bne.n   8002b54 <d_expr_primary+0x34>
- 8002b3a:      3301            adds    r3, #1
- 8002b3c:      60e3            str     r3, [r4, #12]
- 8002b3e:      2100            movs    r1, #0
- 8002b40:      4620            mov     r0, r4
- 8002b42:      f7ff fd3f       bl      80025c4 <d_encoding>
- 8002b46:      68e3            ldr     r3, [r4, #12]
- 8002b48:      781a            ldrb    r2, [r3, #0]
- 8002b4a:      2a45            cmp     r2, #69 ; 0x45
- 8002b4c:      d132            bne.n   8002bb4 <d_expr_primary+0x94>
- 8002b4e:      3301            adds    r3, #1
- 8002b50:      60e3            str     r3, [r4, #12]
- 8002b52:      bdf8            pop     {r3, r4, r5, r6, r7, pc}
- 8002b54:      f7fe fdf4       bl      8001740 <d_type>
- 8002b58:      b360            cbz     r0, 8002bb4 <d_expr_primary+0x94>
- 8002b5a:      7803            ldrb    r3, [r0, #0]
- 8002b5c:      2b27            cmp     r3, #39 ; 0x27
- 8002b5e:      d032            beq.n   8002bc6 <d_expr_primary+0xa6>
- 8002b60:      68e6            ldr     r6, [r4, #12]
- 8002b62:      7833            ldrb    r3, [r6, #0]
- 8002b64:      2b6e            cmp     r3, #110        ; 0x6e
- 8002b66:      d037            beq.n   8002bd8 <d_expr_primary+0xb8>
- 8002b68:      213c            movs    r1, #60 ; 0x3c
- 8002b6a:      2b45            cmp     r3, #69 ; 0x45
- 8002b6c:      d040            beq.n   8002bf0 <d_expr_primary+0xd0>
- 8002b6e:      b30b            cbz     r3, 8002bb4 <d_expr_primary+0x94>
- 8002b70:      4633            mov     r3, r6
- 8002b72:      e000            b.n     8002b76 <d_expr_primary+0x56>
- 8002b74:      b1f5            cbz     r5, 8002bb4 <d_expr_primary+0x94>
- 8002b76:      3301            adds    r3, #1
- 8002b78:      60e3            str     r3, [r4, #12]
- 8002b7a:      781d            ldrb    r5, [r3, #0]
- 8002b7c:      2d45            cmp     r5, #69 ; 0x45
- 8002b7e:      d1f9            bne.n   8002b74 <d_expr_primary+0x54>
- 8002b80:      1b9d            subs    r5, r3, r6
- 8002b82:      e9d4 2305       ldrd    r2, r3, [r4, #20]
- 8002b86:      429a            cmp     r2, r3
- 8002b88:      da0b            bge.n   8002ba2 <d_expr_primary+0x82>
- 8002b8a:      f8d4 e010       ldr.w   lr, [r4, #16]
- 8002b8e:      ea4f 1c02       mov.w   ip, r2, lsl #4
- 8002b92:      eb0e 030c       add.w   r3, lr, ip
- 8002b96:      3201            adds    r2, #1
- 8002b98:      2700            movs    r7, #0
- 8002b9a:      605f            str     r7, [r3, #4]
- 8002b9c:      6162            str     r2, [r4, #20]
- 8002b9e:      b106            cbz     r6, 8002ba2 <d_expr_primary+0x82>
- 8002ba0:      bb05            cbnz    r5, 8002be4 <d_expr_primary+0xc4>
- 8002ba2:      2300            movs    r3, #0
- 8002ba4:      4602            mov     r2, r0
- 8002ba6:      4620            mov     r0, r4
- 8002ba8:      f7fd fb4a       bl      8000240 <d_make_comp>
- 8002bac:      68e3            ldr     r3, [r4, #12]
- 8002bae:      781a            ldrb    r2, [r3, #0]
- 8002bb0:      2a45            cmp     r2, #69 ; 0x45
- 8002bb2:      d0cc            beq.n   8002b4e <d_expr_primary+0x2e>
- 8002bb4:      2000            movs    r0, #0
- 8002bb6:      bdf8            pop     {r3, r4, r5, r6, r7, pc}
- 8002bb8:      1c93            adds    r3, r2, #2
- 8002bba:      60c3            str     r3, [r0, #12]
- 8002bbc:      7892            ldrb    r2, [r2, #2]
- 8002bbe:      2a5a            cmp     r2, #90 ; 0x5a
- 8002bc0:      d0bb            beq.n   8002b3a <d_expr_primary+0x1a>
- 8002bc2:      2000            movs    r0, #0
- 8002bc4:      e7c1            b.n     8002b4a <d_expr_primary+0x2a>
- 8002bc6:      6883            ldr     r3, [r0, #8]
- 8002bc8:      7c1a            ldrb    r2, [r3, #16]
- 8002bca:      2a00            cmp     r2, #0
- 8002bcc:      d0c8            beq.n   8002b60 <d_expr_primary+0x40>
- 8002bce:      685a            ldr     r2, [r3, #4]
- 8002bd0:      6b23            ldr     r3, [r4, #48]   ; 0x30
- 8002bd2:      1a9b            subs    r3, r3, r2
- 8002bd4:      6323            str     r3, [r4, #48]   ; 0x30
- 8002bd6:      e7c3            b.n     8002b60 <d_expr_primary+0x40>
- 8002bd8:      1c72            adds    r2, r6, #1
- 8002bda:      60e2            str     r2, [r4, #12]
- 8002bdc:      7873            ldrb    r3, [r6, #1]
- 8002bde:      213d            movs    r1, #61 ; 0x3d
- 8002be0:      4616            mov     r6, r2
- 8002be2:      e7c2            b.n     8002b6a <d_expr_primary+0x4a>
- 8002be4:      605f            str     r7, [r3, #4]
- 8002be6:      f80e 700c       strb.w  r7, [lr, ip]
- 8002bea:      e9c3 6502       strd    r6, r5, [r3, #8]
- 8002bee:      e7d9            b.n     8002ba4 <d_expr_primary+0x84>
- 8002bf0:      2500            movs    r5, #0
- 8002bf2:      e7c6            b.n     8002b82 <d_expr_primary+0x62>
-
-08002bf4 <d_print_comp>:
- 8002bf4:      b112            cbz     r2, 8002bfc <d_print_comp+0x8>
- 8002bf6:      6853            ldr     r3, [r2, #4]
- 8002bf8:      2b01            cmp     r3, #1
- 8002bfa:      dd03            ble.n   8002c04 <d_print_comp+0x10>
- 8002bfc:      2301            movs    r3, #1
- 8002bfe:      f8c0 3118       str.w   r3, [r0, #280]  ; 0x118
- 8002c02:      4770            bx      lr
- 8002c04:      e92d 4ff0       stmdb   sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
- 8002c08:      4615            mov     r5, r2
- 8002c0a:      1c5a            adds    r2, r3, #1
- 8002c0c:      606a            str     r2, [r5, #4]
- 8002c0e:      b099            sub     sp, #100        ; 0x64
- 8002c10:      f8d0 7118       ldr.w   r7, [r0, #280]  ; 0x118
- 8002c14:      9504            str     r5, [sp, #16]
- 8002c16:      460e            mov     r6, r1
- 8002c18:      ab04            add     r3, sp, #16
- 8002c1a:      f8d0 1128       ldr.w   r1, [r0, #296]  ; 0x128
- 8002c1e:      9105            str     r1, [sp, #20]
- 8002c20:      4604            mov     r4, r0
- 8002c22:      f8c0 3128       str.w   r3, [r0, #296]  ; 0x128
- 8002c26:      2f00            cmp     r7, #0
- 8002c28:      f040 80d7       bne.w   8002dda <d_print_comp+0x1e6>
- 8002c2c:      7828            ldrb    r0, [r5, #0]
- 8002c2e:      284f            cmp     r0, #79 ; 0x4f
- 8002c30:      f201 82ef       bhi.w   8004212 <d_print_comp+0x161e>
- 8002c34:      e8df f010       tbh     [pc, r0, lsl #1]
- 8002c38:      0ab80a87        .word   0x0ab80a87
- 8002c3c:      0a4f0ab8        .word   0x0a4f0ab8
- 8002c40:      079407c6        .word   0x079407c6
- 8002c44:      075e0767        .word   0x075e0767
- 8002c48:      070f0737        .word   0x070f0737
- 8002c4c:      06bf06e7        .word   0x06bf06e7
- 8002c50:      066f0697        .word   0x066f0697
- 8002c54:      061f0647        .word   0x061f0647
- 8002c58:      091f0947        .word   0x091f0947
- 8002c5c:      08cf08f7        .word   0x08cf08f7
- 8002c60:      087f08a7        .word   0x087f08a7
- 8002c64:      082f0857        .word   0x082f0857
- 8002c68:      09bf09d6        .word   0x09bf09d6
- 8002c6c:      09bf09bf        .word   0x09bf09bf
- 8002c70:      09990999        .word   0x09990999
- 8002c74:      09990999        .word   0x09990999
- 8002c78:      09990999        .word   0x09990999
- 8002c7c:      096f0999        .word   0x096f0999
- 8002c80:      0999096f        .word   0x0999096f
- 8002c84:      0a1d0999        .word   0x0a1d0999
- 8002c88:      06060a14        .word   0x06060a14
- 8002c8c:      05720592        .word   0x05720592
- 8002c90:      0572051b        .word   0x0572051b
- 8002c94:      04d304d3        .word   0x04d304d3
- 8002c98:      045c0488        .word   0x045c0488
- 8002c9c:      0aed0434        .word   0x0aed0434
- 8002ca0:      0404040c        .word   0x0404040c
- 8002ca4:      039c03b0        .word   0x039c03b0
- 8002ca8:      038d0397        .word   0x038d0397
- 8002cac:      03880388        .word   0x03880388
- 8002cb0:      03330333        .word   0x03330333
- 8002cb4:      02fe030b        .word   0x02fe030b
- 8002cb8:      02aa02dc        .word   0x02aa02dc
- 8002cbc:      025a0282        .word   0x025a0282
- 8002cc0:      01f80232        .word   0x01f80232
- 8002cc4:      01d00aed        .word   0x01d00aed
- 8002cc8:      015301a8        .word   0x015301a8
- 8002ccc:      017b0105        .word   0x017b0105
- 8002cd0:      00d80999        .word   0x00d80999
- 8002cd4:      09990999        .word   0x09990999
- 8002cd8:      68aa            ldr     r2, [r5, #8]
- 8002cda:      6893            ldr     r3, [r2, #8]
- 8002cdc:      681b            ldr     r3, [r3, #0]
- 8002cde:      7859            ldrb    r1, [r3, #1]
- 8002ce0:      2963            cmp     r1, #99 ; 0x63
- 8002ce2:      d109            bne.n   8002cf8 <d_print_comp+0x104>
- 8002ce4:      781b            ldrb    r3, [r3, #0]
- 8002ce6:      f1a3 0163       sub.w   r1, r3, #99     ; 0x63
- 8002cea:      2901            cmp     r1, #1
- 8002cec:      f242 8319       bls.w   8005322 <d_print_comp+0x272e>
- 8002cf0:      3b72            subs    r3, #114        ; 0x72
- 8002cf2:      2b01            cmp     r3, #1
- 8002cf4:      f242 8315       bls.w   8005322 <d_print_comp+0x272e>
- 8002cf8:      f105 030c       add.w   r3, r5, #12
- 8002cfc:      4631            mov     r1, r6
- 8002cfe:      4620            mov     r0, r4
- 8002d00:      f003 fcd2       bl      80066a8 <d_maybe_print_fold_expression.isra.20>
- 8002d04:      4680            mov     r8, r0
- 8002d06:      2800            cmp     r0, #0
- 8002d08:      f042 8400       bne.w   800550c <d_print_comp+0x2918>
- 8002d0c:      68ab            ldr     r3, [r5, #8]
- 8002d0e:      781a            ldrb    r2, [r3, #0]
- 8002d10:      2a31            cmp     r2, #49 ; 0x31
- 8002d12:      f002 8592       beq.w   800583a <d_print_comp+0x2c46>
- 8002d16:      689b            ldr     r3, [r3, #8]
- 8002d18:      49d7            ldr     r1, [pc, #860]  ; (8003078 <d_print_comp+0x484>)
- 8002d1a:      6818            ldr     r0, [r3, #0]
- 8002d1c:      f004 f850       bl      8006dc0 <strcmp>
- 8002d20:      68eb            ldr     r3, [r5, #12]
- 8002d22:      689a            ldr     r2, [r3, #8]
- 8002d24:      b918            cbnz    r0, 8002d2e <d_print_comp+0x13a>
- 8002d26:      7813            ldrb    r3, [r2, #0]
- 8002d28:      2b03            cmp     r3, #3
- 8002d2a:      f002 85d4       beq.w   80058d6 <d_print_comp+0x2ce2>
- 8002d2e:      4631            mov     r1, r6
- 8002d30:      4620            mov     r0, r4
- 8002d32:      f003 fc67       bl      8006604 <d_print_subexpr>
- 8002d36:      68af            ldr     r7, [r5, #8]
- 8002d38:      49d0            ldr     r1, [pc, #832]  ; (800307c <d_print_comp+0x488>)
- 8002d3a:      68bb            ldr     r3, [r7, #8]
- 8002d3c:      f8d3 8000       ldr.w   r8, [r3]
- 8002d40:      4640            mov     r0, r8
- 8002d42:      f004 f83d       bl      8006dc0 <strcmp>
- 8002d46:      4681            mov     r9, r0
- 8002d48:      2800            cmp     r0, #0
- 8002d4a:      f042 83d0       bne.w   80054ee <d_print_comp+0x28fa>
- 8002d4e:      f8d4 7100       ldr.w   r7, [r4, #256]  ; 0x100
- 8002d52:      2fff            cmp     r7, #255        ; 0xff
- 8002d54:      d110            bne.n   8002d78 <d_print_comp+0x184>
- 8002d56:      f884 00ff       strb.w  r0, [r4, #255]  ; 0xff
- 8002d5a:      4639            mov     r1, r7
- 8002d5c:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8002d60:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8002d64:      4620            mov     r0, r4
- 8002d66:      4798            blx     r3
- 8002d68:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8002d6c:      f8c4 9100       str.w   r9, [r4, #256]  ; 0x100
- 8002d70:      3301            adds    r3, #1
- 8002d72:      464f            mov     r7, r9
- 8002d74:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8002d78:      1c7a            adds    r2, r7, #1
- 8002d7a:      235b            movs    r3, #91 ; 0x5b
- 8002d7c:      f8c4 2100       str.w   r2, [r4, #256]  ; 0x100
- 8002d80:      55e3            strb    r3, [r4, r7]
- 8002d82:      f884 3104       strb.w  r3, [r4, #260]  ; 0x104
- 8002d86:      68eb            ldr     r3, [r5, #12]
- 8002d88:      4631            mov     r1, r6
- 8002d8a:      68da            ldr     r2, [r3, #12]
- 8002d8c:      4620            mov     r0, r4
- 8002d8e:      f7ff ff31       bl      8002bf4 <d_print_comp>
- 8002d92:      f8d4 7100       ldr.w   r7, [r4, #256]  ; 0x100
- 8002d96:      2fff            cmp     r7, #255        ; 0xff
- 8002d98:      d111            bne.n   8002dbe <d_print_comp+0x1ca>
- 8002d9a:      2600            movs    r6, #0
- 8002d9c:      4639            mov     r1, r7
- 8002d9e:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8002da2:      f884 60ff       strb.w  r6, [r4, #255]  ; 0xff
- 8002da6:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8002daa:      4620            mov     r0, r4
- 8002dac:      4798            blx     r3
- 8002dae:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8002db2:      f8c4 6100       str.w   r6, [r4, #256]  ; 0x100
- 8002db6:      3301            adds    r3, #1
- 8002db8:      4637            mov     r7, r6
- 8002dba:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8002dbe:      235d            movs    r3, #93 ; 0x5d
- 8002dc0:      1c7a            adds    r2, r7, #1
- 8002dc2:      f8c4 2100       str.w   r2, [r4, #256]  ; 0x100
- 8002dc6:      55e3            strb    r3, [r4, r7]
- 8002dc8:      f884 3104       strb.w  r3, [r4, #260]  ; 0x104
- 8002dcc:      68ab            ldr     r3, [r5, #8]
- 8002dce:      781a            ldrb    r2, [r3, #0]
- 8002dd0:      2a31            cmp     r2, #49 ; 0x31
- 8002dd2:      f002 83ad       beq.w   8005530 <d_print_comp+0x293c>
- 8002dd6:      9905            ldr     r1, [sp, #20]
- 8002dd8:      686a            ldr     r2, [r5, #4]
- 8002dda:      f8c4 1128       str.w   r1, [r4, #296]  ; 0x128
- 8002dde:      3a01            subs    r2, #1
- 8002de0:      606a            str     r2, [r5, #4]
- 8002de2:      b019            add     sp, #100        ; 0x64
- 8002de4:      e8bd 8ff0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
- 8002de8:      4fa5            ldr     r7, [pc, #660]  ; (8003080 <d_print_comp+0x48c>)
- 8002dea:      68aa            ldr     r2, [r5, #8]
- 8002dec:      4631            mov     r1, r6
- 8002dee:      4620            mov     r0, r4
- 8002df0:      f7ff ff00       bl      8002bf4 <d_print_comp>
- 8002df4:      f107 0808       add.w   r8, r7, #8
- 8002df8:      f8d4 3100       ldr.w   r3, [r4, #256]  ; 0x100
- 8002dfc:      f04f 0900       mov.w   r9, #0
- 8002e00:      e016            b.n     8002e30 <d_print_comp+0x23c>
- 8002e02:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8002e06:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8002e0a:      f884 90ff       strb.w  r9, [r4, #255]  ; 0xff
- 8002e0e:      4798            blx     r3
- 8002e10:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8002e14:      3301            adds    r3, #1
- 8002e16:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8002e1a:      2200            movs    r2, #0
- 8002e1c:      2301            movs    r3, #1
- 8002e1e:      45b8            cmp     r8, r7
- 8002e20:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 8002e24:      f804 a002       strb.w  sl, [r4, r2]
- 8002e28:      f884 a104       strb.w  sl, [r4, #260]  ; 0x104
- 8002e2c:      f001 82f9       beq.w   8004422 <d_print_comp+0x182e>
- 8002e30:      2bff            cmp     r3, #255        ; 0xff
- 8002e32:      4619            mov     r1, r3
- 8002e34:      4620            mov     r0, r4
- 8002e36:      f817 af01       ldrb.w  sl, [r7, #1]!
- 8002e3a:      d0e2            beq.n   8002e02 <d_print_comp+0x20e>
- 8002e3c:      461a            mov     r2, r3
- 8002e3e:      3301            adds    r3, #1
- 8002e40:      e7ed            b.n     8002e1e <d_print_comp+0x22a>
- 8002e42:      68a9            ldr     r1, [r5, #8]
- 8002e44:      4620            mov     r0, r4
- 8002e46:      f7fd fcef       bl      8000828 <d_find_pack>
- 8002e4a:      2800            cmp     r0, #0
- 8002e4c:      f002 81e1       beq.w   8005212 <d_print_comp+0x261e>
- 8002e50:      2300            movs    r3, #0
- 8002e52:      7802            ldrb    r2, [r0, #0]
- 8002e54:      2a2f            cmp     r2, #47 ; 0x2f
- 8002e56:      f041 85df       bne.w   8004a18 <d_print_comp+0x1e24>
- 8002e5a:      6882            ldr     r2, [r0, #8]
- 8002e5c:      2a00            cmp     r2, #0
- 8002e5e:      f001 85db       beq.w   8004a18 <d_print_comp+0x1e24>
- 8002e62:      68c0            ldr     r0, [r0, #12]
- 8002e64:      3301            adds    r3, #1
- 8002e66:      2800            cmp     r0, #0
- 8002e68:      d1f3            bne.n   8002e52 <d_print_comp+0x25e>
- 8002e6a:      4619            mov     r1, r3
- 8002e6c:      68ab            ldr     r3, [r5, #8]
- 8002e6e:      9301            str     r3, [sp, #4]
- 8002e70:      1e4a            subs    r2, r1, #1
- 8002e72:      9202            str     r2, [sp, #8]
- 8002e74:      f04f 0a00       mov.w   sl, #0
- 8002e78:      4689            mov     r9, r1
- 8002e7a:      9503            str     r5, [sp, #12]
- 8002e7c:      f8c4 7120       str.w   r7, [r4, #288]  ; 0x120
- 8002e80:      9a01            ldr     r2, [sp, #4]
- 8002e82:      4631            mov     r1, r6
- 8002e84:      4620            mov     r0, r4
- 8002e86:      f7ff feb5       bl      8002bf4 <d_print_comp>
- 8002e8a:      9b02            ldr     r3, [sp, #8]
- 8002e8c:      429f            cmp     r7, r3
- 8002e8e:      f281 81c6       bge.w   800421e <d_print_comp+0x162a>
- 8002e92:      4d7c            ldr     r5, [pc, #496]  ; (8003084 <d_print_comp+0x490>)
- 8002e94:      f8d4 3100       ldr.w   r3, [r4, #256]  ; 0x100
- 8002e98:      f105 0802       add.w   r8, r5, #2
- 8002e9c:      e016            b.n     8002ecc <d_print_comp+0x2d8>
- 8002e9e:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8002ea2:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8002ea6:      f884 a0ff       strb.w  sl, [r4, #255]  ; 0xff
- 8002eaa:      4798            blx     r3
- 8002eac:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8002eb0:      3301            adds    r3, #1
- 8002eb2:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8002eb6:      2200            movs    r2, #0
- 8002eb8:      2301            movs    r3, #1
- 8002eba:      45a8            cmp     r8, r5
- 8002ebc:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 8002ec0:      f804 b002       strb.w  fp, [r4, r2]
- 8002ec4:      f884 b104       strb.w  fp, [r4, #260]  ; 0x104
- 8002ec8:      f001 81a9       beq.w   800421e <d_print_comp+0x162a>
- 8002ecc:      2bff            cmp     r3, #255        ; 0xff
- 8002ece:      4619            mov     r1, r3
- 8002ed0:      4620            mov     r0, r4
- 8002ed2:      f815 bb01       ldrb.w  fp, [r5], #1
- 8002ed6:      d0e2            beq.n   8002e9e <d_print_comp+0x2aa>
- 8002ed8:      461a            mov     r2, r3
- 8002eda:      3301            adds    r3, #1
- 8002edc:      e7ed            b.n     8002eba <d_print_comp+0x2c6>
- 8002ede:      4f6a            ldr     r7, [pc, #424]  ; (8003088 <d_print_comp+0x494>)
- 8002ee0:      f8d4 3100       ldr.w   r3, [r4, #256]  ; 0x100
- 8002ee4:      f107 081a       add.w   r8, r7, #26
- 8002ee8:      f04f 0900       mov.w   r9, #0
- 8002eec:      e016            b.n     8002f1c <d_print_comp+0x328>
- 8002eee:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8002ef2:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8002ef6:      f884 90ff       strb.w  r9, [r4, #255]  ; 0xff
- 8002efa:      4798            blx     r3
- 8002efc:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8002f00:      3301            adds    r3, #1
- 8002f02:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8002f06:      2200            movs    r2, #0
- 8002f08:      2301            movs    r3, #1
- 8002f0a:      45b8            cmp     r8, r7
- 8002f0c:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 8002f10:      f804 a002       strb.w  sl, [r4, r2]
- 8002f14:      f884 a104       strb.w  sl, [r4, #260]  ; 0x104
- 8002f18:      f001 82f1       beq.w   80044fe <d_print_comp+0x190a>
- 8002f1c:      2bff            cmp     r3, #255        ; 0xff
- 8002f1e:      4619            mov     r1, r3
- 8002f20:      4620            mov     r0, r4
- 8002f22:      f817 af01       ldrb.w  sl, [r7, #1]!
- 8002f26:      d0e2            beq.n   8002eee <d_print_comp+0x2fa>
- 8002f28:      461a            mov     r2, r3
- 8002f2a:      3301            adds    r3, #1
- 8002f2c:      e7ed            b.n     8002f0a <d_print_comp+0x316>
- 8002f2e:      4f57            ldr     r7, [pc, #348]  ; (800308c <d_print_comp+0x498>)
- 8002f30:      68aa            ldr     r2, [r5, #8]
- 8002f32:      4631            mov     r1, r6
- 8002f34:      4620            mov     r0, r4
- 8002f36:      f7ff fe5d       bl      8002bf4 <d_print_comp>
- 8002f3a:      f107 0805       add.w   r8, r7, #5
- 8002f3e:      f8d4 3100       ldr.w   r3, [r4, #256]  ; 0x100
- 8002f42:      f04f 0900       mov.w   r9, #0
- 8002f46:      e016            b.n     8002f76 <d_print_comp+0x382>
- 8002f48:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8002f4c:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8002f50:      f884 90ff       strb.w  r9, [r4, #255]  ; 0xff
- 8002f54:      4798            blx     r3
- 8002f56:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8002f5a:      3301            adds    r3, #1
- 8002f5c:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8002f60:      2200            movs    r2, #0
- 8002f62:      2301            movs    r3, #1
- 8002f64:      45b8            cmp     r8, r7
- 8002f66:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 8002f6a:      f804 a002       strb.w  sl, [r4, r2]
- 8002f6e:      f884 a104       strb.w  sl, [r4, #260]  ; 0x104
- 8002f72:      f001 827c       beq.w   800446e <d_print_comp+0x187a>
- 8002f76:      2bff            cmp     r3, #255        ; 0xff
- 8002f78:      4619            mov     r1, r3
- 8002f7a:      4620            mov     r0, r4
- 8002f7c:      f817 ab01       ldrb.w  sl, [r7], #1
- 8002f80:      d0e2            beq.n   8002f48 <d_print_comp+0x354>
- 8002f82:      461a            mov     r2, r3
- 8002f84:      3301            adds    r3, #1
- 8002f86:      e7ed            b.n     8002f64 <d_print_comp+0x370>
- 8002f88:      4f41            ldr     r7, [pc, #260]  ; (8003090 <d_print_comp+0x49c>)
- 8002f8a:      f8d4 3100       ldr.w   r3, [r4, #256]  ; 0x100
- 8002f8e:      f107 0816       add.w   r8, r7, #22
- 8002f92:      f04f 0900       mov.w   r9, #0
- 8002f96:      e016            b.n     8002fc6 <d_print_comp+0x3d2>
- 8002f98:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8002f9c:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8002fa0:      f884 90ff       strb.w  r9, [r4, #255]  ; 0xff
- 8002fa4:      4798            blx     r3
- 8002fa6:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8002faa:      3301            adds    r3, #1
- 8002fac:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8002fb0:      2200            movs    r2, #0
- 8002fb2:      2301            movs    r3, #1
- 8002fb4:      45b8            cmp     r8, r7
- 8002fb6:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 8002fba:      f804 a002       strb.w  sl, [r4, r2]
- 8002fbe:      f884 a104       strb.w  sl, [r4, #260]  ; 0x104
- 8002fc2:      f001 81f4       beq.w   80043ae <d_print_comp+0x17ba>
- 8002fc6:      2bff            cmp     r3, #255        ; 0xff
- 8002fc8:      4619            mov     r1, r3
- 8002fca:      4620            mov     r0, r4
- 8002fcc:      f817 af01       ldrb.w  sl, [r7, #1]!
- 8002fd0:      d0e2            beq.n   8002f98 <d_print_comp+0x3a4>
- 8002fd2:      461a            mov     r2, r3
- 8002fd4:      3301            adds    r3, #1
- 8002fd6:      e7ed            b.n     8002fb4 <d_print_comp+0x3c0>
- 8002fd8:      4e2e            ldr     r6, [pc, #184]  ; (8003094 <d_print_comp+0x4a0>)
- 8002fda:      f8d4 3100       ldr.w   r3, [r4, #256]  ; 0x100
- 8002fde:      f106 070e       add.w   r7, r6, #14
- 8002fe2:      f04f 0800       mov.w   r8, #0
- 8002fe6:      e016            b.n     8003016 <d_print_comp+0x422>
- 8002fe8:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8002fec:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8002ff0:      f884 80ff       strb.w  r8, [r4, #255]  ; 0xff
- 8002ff4:      4798            blx     r3
- 8002ff6:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8002ffa:      3301            adds    r3, #1
- 8002ffc:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8003000:      2200            movs    r2, #0
- 8003002:      2301            movs    r3, #1
- 8003004:      42b7            cmp     r7, r6
- 8003006:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 800300a:      f804 9002       strb.w  r9, [r4, r2]
- 800300e:      f884 9104       strb.w  r9, [r4, #260]  ; 0x104
- 8003012:      f001 81d5       beq.w   80043c0 <d_print_comp+0x17cc>
- 8003016:      2bff            cmp     r3, #255        ; 0xff
- 8003018:      4619            mov     r1, r3
- 800301a:      4620            mov     r0, r4
- 800301c:      f816 9f01       ldrb.w  r9, [r6, #1]!
- 8003020:      d0e2            beq.n   8002fe8 <d_print_comp+0x3f4>
- 8003022:      461a            mov     r2, r3
- 8003024:      3301            adds    r3, #1
- 8003026:      e7ed            b.n     8003004 <d_print_comp+0x410>
- 8003028:      4f1b            ldr     r7, [pc, #108]  ; (8003098 <d_print_comp+0x4a4>)
- 800302a:      f8d4 3100       ldr.w   r3, [r4, #256]  ; 0x100
- 800302e:      f107 0808       add.w   r8, r7, #8
- 8003032:      f04f 0900       mov.w   r9, #0
- 8003036:      e016            b.n     8003066 <d_print_comp+0x472>
- 8003038:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 800303c:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8003040:      f884 90ff       strb.w  r9, [r4, #255]  ; 0xff
- 8003044:      4798            blx     r3
- 8003046:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 800304a:      3301            adds    r3, #1
- 800304c:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8003050:      2200            movs    r2, #0
- 8003052:      2301            movs    r3, #1
- 8003054:      45b8            cmp     r8, r7
- 8003056:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 800305a:      f804 a002       strb.w  sl, [r4, r2]
- 800305e:      f884 a104       strb.w  sl, [r4, #260]  ; 0x104
- 8003062:      f001 8114       beq.w   800428e <d_print_comp+0x169a>
- 8003066:      2bff            cmp     r3, #255        ; 0xff
- 8003068:      4619            mov     r1, r3
- 800306a:      4620            mov     r0, r4
- 800306c:      f817 af01       ldrb.w  sl, [r7, #1]!
- 8003070:      d0e2            beq.n   8003038 <d_print_comp+0x444>
- 8003072:      461a            mov     r2, r3
- 8003074:      3301            adds    r3, #1
- 8003076:      e7ed            b.n     8003054 <d_print_comp+0x460>
- 8003078:      0801257c        .word   0x0801257c
- 800307c:      0801277c        .word   0x0801277c
- 8003080:      08012837        .word   0x08012837
- 8003084:      08012750        .word   0x08012750
- 8003088:      0801271b        .word   0x0801271b
- 800308c:      080125bc        .word   0x080125bc
- 8003090:      0801271f        .word   0x0801271f
- 8003094:      08012827        .word   0x08012827
- 8003098:      08012817        .word   0x08012817
- 800309c:      4fb9            ldr     r7, [pc, #740]  ; (8003384 <d_print_comp+0x790>)
- 800309e:      f8d4 3100       ldr.w   r3, [r4, #256]  ; 0x100
- 80030a2:      f107 081c       add.w   r8, r7, #28
- 80030a6:      f04f 0900       mov.w   r9, #0
- 80030aa:      e016            b.n     80030da <d_print_comp+0x4e6>
- 80030ac:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 80030b0:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 80030b4:      f884 90ff       strb.w  r9, [r4, #255]  ; 0xff
- 80030b8:      4798            blx     r3
- 80030ba:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 80030be:      3301            adds    r3, #1
- 80030c0:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 80030c4:      2200            movs    r2, #0
- 80030c6:      2301            movs    r3, #1
- 80030c8:      45b8            cmp     r8, r7
- 80030ca:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 80030ce:      f804 a002       strb.w  sl, [r4, r2]
- 80030d2:      f884 a104       strb.w  sl, [r4, #260]  ; 0x104
- 80030d6:      f001 810f       beq.w   80042f8 <d_print_comp+0x1704>
- 80030da:      2bff            cmp     r3, #255        ; 0xff
- 80030dc:      4619            mov     r1, r3
- 80030de:      4620            mov     r0, r4
- 80030e0:      f817 af01       ldrb.w  sl, [r7, #1]!
- 80030e4:      d0e2            beq.n   80030ac <d_print_comp+0x4b8>
- 80030e6:      461a            mov     r2, r3
- 80030e8:      3301            adds    r3, #1
- 80030ea:      e7ed            b.n     80030c8 <d_print_comp+0x4d4>
- 80030ec:      4fa6            ldr     r7, [pc, #664]  ; (8003388 <d_print_comp+0x794>)
- 80030ee:      f8d4 3100       ldr.w   r3, [r4, #256]  ; 0x100
- 80030f2:      f107 081d       add.w   r8, r7, #29
- 80030f6:      f04f 0900       mov.w   r9, #0
- 80030fa:      e016            b.n     800312a <d_print_comp+0x536>
- 80030fc:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8003100:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8003104:      f884 90ff       strb.w  r9, [r4, #255]  ; 0xff
- 8003108:      4798            blx     r3
- 800310a:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 800310e:      3301            adds    r3, #1
- 8003110:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8003114:      2200            movs    r2, #0
- 8003116:      2301            movs    r3, #1
- 8003118:      4547            cmp     r7, r8
- 800311a:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 800311e:      f804 a002       strb.w  sl, [r4, r2]
- 8003122:      f884 a104       strb.w  sl, [r4, #260]  ; 0x104
- 8003126:      f001 8083       beq.w   8004230 <d_print_comp+0x163c>
- 800312a:      2bff            cmp     r3, #255        ; 0xff
- 800312c:      4619            mov     r1, r3
- 800312e:      4620            mov     r0, r4
- 8003130:      f817 af01       ldrb.w  sl, [r7, #1]!
- 8003134:      d0e2            beq.n   80030fc <d_print_comp+0x508>
- 8003136:      461a            mov     r2, r3
- 8003138:      3301            adds    r3, #1
- 800313a:      e7ed            b.n     8003118 <d_print_comp+0x524>
- 800313c:      4f93            ldr     r7, [pc, #588]  ; (800338c <d_print_comp+0x798>)
- 800313e:      f8d4 3100       ldr.w   r3, [r4, #256]  ; 0x100
- 8003142:      f107 080a       add.w   r8, r7, #10
- 8003146:      f04f 0900       mov.w   r9, #0
- 800314a:      e016            b.n     800317a <d_print_comp+0x586>
- 800314c:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8003150:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8003154:      f884 90ff       strb.w  r9, [r4, #255]  ; 0xff
- 8003158:      4798            blx     r3
- 800315a:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 800315e:      3301            adds    r3, #1
- 8003160:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8003164:      2200            movs    r2, #0
- 8003166:      2301            movs    r3, #1
- 8003168:      45b8            cmp     r8, r7
- 800316a:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 800316e:      f804 a002       strb.w  sl, [r4, r2]
- 8003172:      f884 a104       strb.w  sl, [r4, #260]  ; 0x104
- 8003176:      f001 8064       beq.w   8004242 <d_print_comp+0x164e>
- 800317a:      2bff            cmp     r3, #255        ; 0xff
- 800317c:      4619            mov     r1, r3
- 800317e:      4620            mov     r0, r4
- 8003180:      f817 ab01       ldrb.w  sl, [r7], #1
- 8003184:      d0e2            beq.n   800314c <d_print_comp+0x558>
- 8003186:      461a            mov     r2, r3
- 8003188:      3301            adds    r3, #1
- 800318a:      e7ed            b.n     8003168 <d_print_comp+0x574>
- 800318c:      a808            add     r0, sp, #32
- 800318e:      68aa            ldr     r2, [r5, #8]
- 8003190:      497f            ldr     r1, [pc, #508]  ; (8003390 <d_print_comp+0x79c>)
- 8003192:      f00b fb63       bl      800e85c <sprintf>
- 8003196:      a808            add     r0, sp, #32
- 8003198:      f003 fe1c       bl      8006dd4 <strlen>
- 800319c:      2800            cmp     r0, #0
- 800319e:      f001 81b7       beq.w   8004510 <d_print_comp+0x191c>
- 80031a2:      ae08            add     r6, sp, #32
- 80031a4:      f8d4 3100       ldr.w   r3, [r4, #256]  ; 0x100
- 80031a8:      1837            adds    r7, r6, r0
- 80031aa:      f04f 0800       mov.w   r8, #0
- 80031ae:      e016            b.n     80031de <d_print_comp+0x5ea>
- 80031b0:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 80031b4:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 80031b8:      f884 80ff       strb.w  r8, [r4, #255]  ; 0xff
- 80031bc:      4798            blx     r3
- 80031be:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 80031c2:      3301            adds    r3, #1
- 80031c4:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 80031c8:      2200            movs    r2, #0
- 80031ca:      2301            movs    r3, #1
- 80031cc:      42be            cmp     r6, r7
- 80031ce:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 80031d2:      f804 9002       strb.w  r9, [r4, r2]
- 80031d6:      f884 9104       strb.w  r9, [r4, #260]  ; 0x104
- 80031da:      f001 8199       beq.w   8004510 <d_print_comp+0x191c>
- 80031de:      2bff            cmp     r3, #255        ; 0xff
- 80031e0:      4619            mov     r1, r3
- 80031e2:      4620            mov     r0, r4
- 80031e4:      f816 9b01       ldrb.w  r9, [r6], #1
- 80031e8:      d0e2            beq.n   80031b0 <d_print_comp+0x5bc>
- 80031ea:      461a            mov     r2, r3
- 80031ec:      3301            adds    r3, #1
- 80031ee:      e7ed            b.n     80031cc <d_print_comp+0x5d8>
- 80031f0:      f8d4 7100       ldr.w   r7, [r4, #256]  ; 0x100
- 80031f4:      f895 8008       ldrb.w  r8, [r5, #8]
- 80031f8:      2fff            cmp     r7, #255        ; 0xff
- 80031fa:      d111            bne.n   8003220 <d_print_comp+0x62c>
- 80031fc:      2600            movs    r6, #0
- 80031fe:      4639            mov     r1, r7
- 8003200:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8003204:      f884 60ff       strb.w  r6, [r4, #255]  ; 0xff
- 8003208:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 800320c:      4620            mov     r0, r4
- 800320e:      4798            blx     r3
- 8003210:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8003214:      f8c4 6100       str.w   r6, [r4, #256]  ; 0x100
- 8003218:      3301            adds    r3, #1
- 800321a:      4637            mov     r7, r6
- 800321c:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8003220:      1c7b            adds    r3, r7, #1
- 8003222:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 8003226:      f804 8007       strb.w  r8, [r4, r7]
- 800322a:      f884 8104       strb.w  r8, [r4, #260]  ; 0x104
- 800322e:      686a            ldr     r2, [r5, #4]
- 8003230:      9905            ldr     r1, [sp, #20]
- 8003232:      e5d2            b.n     8002dda <d_print_comp+0x1e6>
- 8003234:      68aa            ldr     r2, [r5, #8]
- 8003236:      4631            mov     r1, r6
- 8003238:      4620            mov     r0, r4
- 800323a:      f7ff fcdb       bl      8002bf4 <d_print_comp>
- 800323e:      4631            mov     r1, r6
- 8003240:      68ea            ldr     r2, [r5, #12]
- 8003242:      4620            mov     r0, r4
- 8003244:      f7ff fcd6       bl      8002bf4 <d_print_comp>
- 8003248:      9905            ldr     r1, [sp, #20]
- 800324a:      686a            ldr     r2, [r5, #4]
- 800324c:      e5c5            b.n     8002dda <d_print_comp+0x1e6>
- 800324e:      4f51            ldr     r7, [pc, #324]  ; (8003394 <d_print_comp+0x7a0>)
- 8003250:      f8d4 3100       ldr.w   r3, [r4, #256]  ; 0x100
- 8003254:      f107 080e       add.w   r8, r7, #14
- 8003258:      f04f 0900       mov.w   r9, #0
- 800325c:      e016            b.n     800328c <d_print_comp+0x698>
- 800325e:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8003262:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8003266:      f884 90ff       strb.w  r9, [r4, #255]  ; 0xff
- 800326a:      4798            blx     r3
- 800326c:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8003270:      3301            adds    r3, #1
- 8003272:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8003276:      2200            movs    r2, #0
- 8003278:      2301            movs    r3, #1
- 800327a:      45b8            cmp     r8, r7
- 800327c:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 8003280:      f804 a002       strb.w  sl, [r4, r2]
- 8003284:      f884 a104       strb.w  sl, [r4, #260]  ; 0x104
- 8003288:      f001 8146       beq.w   8004518 <d_print_comp+0x1924>
- 800328c:      2bff            cmp     r3, #255        ; 0xff
- 800328e:      4619            mov     r1, r3
- 8003290:      4620            mov     r0, r4
- 8003292:      f817 af01       ldrb.w  sl, [r7, #1]!
- 8003296:      d0e2            beq.n   800325e <d_print_comp+0x66a>
- 8003298:      461a            mov     r2, r3
- 800329a:      3301            adds    r3, #1
- 800329c:      e7ed            b.n     800327a <d_print_comp+0x686>
- 800329e:      68ab            ldr     r3, [r5, #8]
- 80032a0:      781a            ldrb    r2, [r3, #0]
- 80032a2:      2a27            cmp     r2, #39 ; 0x27
- 80032a4:      f001 8572       beq.w   8004d8c <d_print_comp+0x2198>
- 80032a8:      f04f 0800       mov.w   r8, #0
- 80032ac:      f8d4 7100       ldr.w   r7, [r4, #256]  ; 0x100
- 80032b0:      2fff            cmp     r7, #255        ; 0xff
- 80032b2:      d112            bne.n   80032da <d_print_comp+0x6e6>
- 80032b4:      f04f 0900       mov.w   r9, #0
- 80032b8:      4639            mov     r1, r7
- 80032ba:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 80032be:      f884 90ff       strb.w  r9, [r4, #255]  ; 0xff
- 80032c2:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 80032c6:      4620            mov     r0, r4
- 80032c8:      4798            blx     r3
- 80032ca:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 80032ce:      f8c4 9100       str.w   r9, [r4, #256]  ; 0x100
- 80032d2:      3301            adds    r3, #1
- 80032d4:      464f            mov     r7, r9
- 80032d6:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 80032da:      2328            movs    r3, #40 ; 0x28
- 80032dc:      1c7a            adds    r2, r7, #1
- 80032de:      f8c4 2100       str.w   r2, [r4, #256]  ; 0x100
- 80032e2:      55e3            strb    r3, [r4, r7]
- 80032e4:      f884 3104       strb.w  r3, [r4, #260]  ; 0x104
- 80032e8:      68aa            ldr     r2, [r5, #8]
- 80032ea:      4631            mov     r1, r6
- 80032ec:      4620            mov     r0, r4
- 80032ee:      f7ff fc81       bl      8002bf4 <d_print_comp>
- 80032f2:      f8d4 3100       ldr.w   r3, [r4, #256]  ; 0x100
- 80032f6:      2bff            cmp     r3, #255        ; 0xff
- 80032f8:      f041 85b8       bne.w   8004e6c <d_print_comp+0x2278>
- 80032fc:      2200            movs    r2, #0
- 80032fe:      4619            mov     r1, r3
- 8003300:      f884 20ff       strb.w  r2, [r4, #255]  ; 0xff
- 8003304:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8003308:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 800330c:      4620            mov     r0, r4
- 800330e:      4798            blx     r3
- 8003310:      2329            movs    r3, #41 ; 0x29
- 8003312:      7023            strb    r3, [r4, #0]
- 8003314:      f884 3104       strb.w  r3, [r4, #260]  ; 0x104
- 8003318:      782a            ldrb    r2, [r5, #0]
- 800331a:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 800331e:      2101            movs    r1, #1
- 8003320:      3301            adds    r3, #1
- 8003322:      2a3d            cmp     r2, #61 ; 0x3d
- 8003324:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8003328:      f8c4 1100       str.w   r1, [r4, #256]  ; 0x100
- 800332c:      f001 85bb       beq.w   8004ea6 <d_print_comp+0x22b2>
- 8003330:      f1b8 0f08       cmp.w   r8, #8
- 8003334:      f001 8556       beq.w   8004de4 <d_print_comp+0x21f0>
- 8003338:      4631            mov     r1, r6
- 800333a:      68ea            ldr     r2, [r5, #12]
- 800333c:      4620            mov     r0, r4
- 800333e:      f7ff fc59       bl      8002bf4 <d_print_comp>
- 8003342:      9905            ldr     r1, [sp, #20]
- 8003344:      686a            ldr     r2, [r5, #4]
- 8003346:      e548            b.n     8002dda <d_print_comp+0x1e6>
- 8003348:      2301            movs    r3, #1
- 800334a:      f8c4 3118       str.w   r3, [r4, #280]  ; 0x118
- 800334e:      686a            ldr     r2, [r5, #4]
- 8003350:      e543            b.n     8002dda <d_print_comp+0x1e6>
- 8003352:      68eb            ldr     r3, [r5, #12]
- 8003354:      781a            ldrb    r2, [r3, #0]
- 8003356:      2a3a            cmp     r2, #58 ; 0x3a
- 8003358:      f001 8405       beq.w   8004b66 <d_print_comp+0x1f72>
- 800335c:      2301            movs    r3, #1
- 800335e:      f8c4 3118       str.w   r3, [r4, #280]  ; 0x118
- 8003362:      686a            ldr     r2, [r5, #4]
- 8003364:      e539            b.n     8002dda <d_print_comp+0x1e6>
- 8003366:      2301            movs    r3, #1
- 8003368:      f8c4 3118       str.w   r3, [r4, #280]  ; 0x118
- 800336c:      686a            ldr     r2, [r5, #4]
- 800336e:      e534            b.n     8002dda <d_print_comp+0x1e6>
- 8003370:      68eb            ldr     r3, [r5, #12]
- 8003372:      781b            ldrb    r3, [r3, #0]
- 8003374:      2b38            cmp     r3, #56 ; 0x38
- 8003376:      f43f acaf       beq.w   8002cd8 <d_print_comp+0xe4>
- 800337a:      2301            movs    r3, #1
- 800337c:      f8c4 3118       str.w   r3, [r4, #280]  ; 0x118
- 8003380:      686a            ldr     r2, [r5, #4]
- 8003382:      e52a            b.n     8002dda <d_print_comp+0x1e6>
- 8003384:      080127f7        .word   0x080127f7
- 8003388:      080127d7        .word   0x080127d7
- 800338c:      080127b8        .word   0x080127b8
- 8003390:      08012574        .word   0x08012574
- 8003394:      080127a7        .word   0x080127a7
- 8003398:      e9d5 9802       ldrd    r9, r8, [r5, #8]
- 800339c:      f899 3000       ldrb.w  r3, [r9]
- 80033a0:      2b31            cmp     r3, #49 ; 0x31
- 80033a2:      f001 843a       beq.w   8004c1a <d_print_comp+0x2026>
- 80033a6:      2b33            cmp     r3, #51 ; 0x33
- 80033a8:      f042 8192       bne.w   80056d0 <d_print_comp+0x2adc>
- 80033ac:      f8d4 7100       ldr.w   r7, [r4, #256]  ; 0x100
- 80033b0:      2fff            cmp     r7, #255        ; 0xff
- 80033b2:      d112            bne.n   80033da <d_print_comp+0x7e6>
- 80033b4:      f04f 0a00       mov.w   sl, #0
- 80033b8:      4639            mov     r1, r7
- 80033ba:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 80033be:      f884 a0ff       strb.w  sl, [r4, #255]  ; 0xff
- 80033c2:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 80033c6:      4620            mov     r0, r4
- 80033c8:      4798            blx     r3
- 80033ca:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 80033ce:      f8c4 a100       str.w   sl, [r4, #256]  ; 0x100
- 80033d2:      3301            adds    r3, #1
- 80033d4:      4657            mov     r7, sl
- 80033d6:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 80033da:      1c7a            adds    r2, r7, #1
- 80033dc:      2328            movs    r3, #40 ; 0x28
- 80033de:      f8c4 2100       str.w   r2, [r4, #256]  ; 0x100
- 80033e2:      55e3            strb    r3, [r4, r7]
- 80033e4:      f884 3104       strb.w  r3, [r4, #260]  ; 0x104
- 80033e8:      f8d9 2008       ldr.w   r2, [r9, #8]
- 80033ec:      4631            mov     r1, r6
- 80033ee:      4620            mov     r0, r4
- 80033f0:      f7ff fc00       bl      8002bf4 <d_print_comp>
- 80033f4:      f8d4 7100       ldr.w   r7, [r4, #256]  ; 0x100
- 80033f8:      2fff            cmp     r7, #255        ; 0xff
- 80033fa:      d112            bne.n   8003422 <d_print_comp+0x82e>
- 80033fc:      f04f 0900       mov.w   r9, #0
- 8003400:      4639            mov     r1, r7
- 8003402:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8003406:      f884 90ff       strb.w  r9, [r4, #255]  ; 0xff
- 800340a:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 800340e:      4620            mov     r0, r4
- 8003410:      4798            blx     r3
- 8003412:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8003416:      f8c4 9100       str.w   r9, [r4, #256]  ; 0x100
- 800341a:      3301            adds    r3, #1
- 800341c:      464f            mov     r7, r9
- 800341e:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8003422:      2329            movs    r3, #41 ; 0x29
- 8003424:      1c7a            adds    r2, r7, #1
- 8003426:      f8c4 2100       str.w   r2, [r4, #256]  ; 0x100
- 800342a:      55e3            strb    r3, [r4, r7]
- 800342c:      f884 3104       strb.w  r3, [r4, #260]  ; 0x104
- 8003430:      4642            mov     r2, r8
- 8003432:      4631            mov     r1, r6
- 8003434:      4620            mov     r0, r4
- 8003436:      f003 f8e5       bl      8006604 <d_print_subexpr>
- 800343a:      9905            ldr     r1, [sp, #20]
- 800343c:      686a            ldr     r2, [r5, #4]
- 800343e:      e4cc            b.n     8002dda <d_print_comp+0x1e6>
- 8003440:      4631            mov     r1, r6
- 8003442:      68aa            ldr     r2, [r5, #8]
- 8003444:      4620            mov     r0, r4
- 8003446:      f003 f89d       bl      8006584 <d_print_expr_op>
- 800344a:      9905            ldr     r1, [sp, #20]
- 800344c:      686a            ldr     r2, [r5, #4]
- 800344e:      e4c4            b.n     8002dda <d_print_comp+0x1e6>
- 8003450:      4fd2            ldr     r7, [pc, #840]  ; (800379c <d_print_comp+0xba8>)
- 8003452:      f8d4 3100       ldr.w   r3, [r4, #256]  ; 0x100
- 8003456:      f107 0809       add.w   r8, r7, #9
- 800345a:      f04f 0900       mov.w   r9, #0
- 800345e:      e016            b.n     800348e <d_print_comp+0x89a>
- 8003460:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8003464:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8003468:      f884 90ff       strb.w  r9, [r4, #255]  ; 0xff
- 800346c:      4798            blx     r3
- 800346e:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8003472:      3301            adds    r3, #1
- 8003474:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8003478:      2200            movs    r2, #0
- 800347a:      2301            movs    r3, #1
- 800347c:      45b8            cmp     r8, r7
- 800347e:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 8003482:      f804 a002       strb.w  sl, [r4, r2]
- 8003486:      f884 a104       strb.w  sl, [r4, #260]  ; 0x104
- 800348a:      f001 8057       beq.w   800453c <d_print_comp+0x1948>
- 800348e:      2bff            cmp     r3, #255        ; 0xff
- 8003490:      4619            mov     r1, r3
- 8003492:      4620            mov     r0, r4
- 8003494:      f817 af01       ldrb.w  sl, [r7, #1]!
- 8003498:      d0e2            beq.n   8003460 <d_print_comp+0x86c>
- 800349a:      461a            mov     r2, r3
- 800349c:      3301            adds    r3, #1
- 800349e:      e7ed            b.n     800347c <d_print_comp+0x888>
- 80034a0:      4fbe            ldr     r7, [pc, #760]  ; (800379c <d_print_comp+0xba8>)
- 80034a2:      f8d4 3100       ldr.w   r3, [r4, #256]  ; 0x100
- 80034a6:      f107 0809       add.w   r8, r7, #9
- 80034aa:      f04f 0900       mov.w   r9, #0
- 80034ae:      e016            b.n     80034de <d_print_comp+0x8ea>
- 80034b0:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 80034b4:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 80034b8:      f884 90ff       strb.w  r9, [r4, #255]  ; 0xff
- 80034bc:      4798            blx     r3
- 80034be:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 80034c2:      3301            adds    r3, #1
- 80034c4:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 80034c8:      2200            movs    r2, #0
- 80034ca:      2301            movs    r3, #1
- 80034cc:      45b8            cmp     r8, r7
- 80034ce:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 80034d2:      f804 a002       strb.w  sl, [r4, r2]
- 80034d6:      f884 a104       strb.w  sl, [r4, #260]  ; 0x104
- 80034da:      f001 8026       beq.w   800452a <d_print_comp+0x1936>
- 80034de:      2bff            cmp     r3, #255        ; 0xff
- 80034e0:      4619            mov     r1, r3
- 80034e2:      4620            mov     r0, r4
- 80034e4:      f817 af01       ldrb.w  sl, [r7, #1]!
- 80034e8:      d0e2            beq.n   80034b0 <d_print_comp+0x8bc>
- 80034ea:      461a            mov     r2, r3
- 80034ec:      3301            adds    r3, #1
- 80034ee:      e7ed            b.n     80034cc <d_print_comp+0x8d8>
- 80034f0:      f8d5 a008       ldr.w   sl, [r5, #8]
- 80034f4:      4eaa            ldr     r6, [pc, #680]  ; (80037a0 <d_print_comp+0xbac>)
- 80034f6:      f8da 7008       ldr.w   r7, [sl, #8]
- 80034fa:      f8d4 3100       ldr.w   r3, [r4, #256]  ; 0x100
- 80034fe:      f106 0808       add.w   r8, r6, #8
- 8003502:      f04f 0900       mov.w   r9, #0
- 8003506:      e016            b.n     8003536 <d_print_comp+0x942>
- 8003508:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 800350c:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8003510:      f884 90ff       strb.w  r9, [r4, #255]  ; 0xff
- 8003514:      4798            blx     r3
- 8003516:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 800351a:      3301            adds    r3, #1
- 800351c:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8003520:      2200            movs    r2, #0
- 8003522:      2301            movs    r3, #1
- 8003524:      4546            cmp     r6, r8
- 8003526:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 800352a:      f804 b002       strb.w  fp, [r4, r2]
- 800352e:      f884 b104       strb.w  fp, [r4, #260]  ; 0x104
- 8003532:      f001 8021       beq.w   8004578 <d_print_comp+0x1984>
- 8003536:      2bff            cmp     r3, #255        ; 0xff
- 8003538:      4619            mov     r1, r3
- 800353a:      4620            mov     r0, r4
- 800353c:      f816 bf01       ldrb.w  fp, [r6, #1]!
- 8003540:      d0e2            beq.n   8003508 <d_print_comp+0x914>
- 8003542:      461a            mov     r2, r3
- 8003544:      3301            adds    r3, #1
- 8003546:      e7ed            b.n     8003524 <d_print_comp+0x930>
- 8003548:      e9d5 2802       ldrd    r2, r8, [r5, #8]
- 800354c:      b11a            cbz     r2, 8003556 <d_print_comp+0x962>
- 800354e:      4631            mov     r1, r6
- 8003550:      4620            mov     r0, r4
- 8003552:      f7ff fb4f       bl      8002bf4 <d_print_comp>
- 8003556:      f8d4 7100       ldr.w   r7, [r4, #256]  ; 0x100
- 800355a:      2fff            cmp     r7, #255        ; 0xff
- 800355c:      d112            bne.n   8003584 <d_print_comp+0x990>
- 800355e:      f04f 0900       mov.w   r9, #0
- 8003562:      4639            mov     r1, r7
- 8003564:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8003568:      f884 90ff       strb.w  r9, [r4, #255]  ; 0xff
- 800356c:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8003570:      4620            mov     r0, r4
- 8003572:      4798            blx     r3
- 8003574:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8003578:      f8c4 9100       str.w   r9, [r4, #256]  ; 0x100
- 800357c:      3301            adds    r3, #1
- 800357e:      464f            mov     r7, r9
- 8003580:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8003584:      1c78            adds    r0, r7, #1
- 8003586:      237b            movs    r3, #123        ; 0x7b
- 8003588:      f8c4 0100       str.w   r0, [r4, #256]  ; 0x100
- 800358c:      4642            mov     r2, r8
- 800358e:      55e3            strb    r3, [r4, r7]
- 8003590:      4631            mov     r1, r6
- 8003592:      4620            mov     r0, r4
- 8003594:      f884 3104       strb.w  r3, [r4, #260]  ; 0x104
- 8003598:      f7ff fb2c       bl      8002bf4 <d_print_comp>
- 800359c:      f8d4 7100       ldr.w   r7, [r4, #256]  ; 0x100
- 80035a0:      2fff            cmp     r7, #255        ; 0xff
- 80035a2:      d111            bne.n   80035c8 <d_print_comp+0x9d4>
- 80035a4:      2600            movs    r6, #0
- 80035a6:      4639            mov     r1, r7
- 80035a8:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 80035ac:      f884 60ff       strb.w  r6, [r4, #255]  ; 0xff
- 80035b0:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 80035b4:      4620            mov     r0, r4
- 80035b6:      4798            blx     r3
- 80035b8:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 80035bc:      f8c4 6100       str.w   r6, [r4, #256]  ; 0x100
- 80035c0:      3301            adds    r3, #1
- 80035c2:      4637            mov     r7, r6
- 80035c4:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 80035c8:      1c7a            adds    r2, r7, #1
- 80035ca:      237d            movs    r3, #125        ; 0x7d
- 80035cc:      f8c4 2100       str.w   r2, [r4, #256]  ; 0x100
- 80035d0:      55e3            strb    r3, [r4, r7]
- 80035d2:      f884 3104       strb.w  r3, [r4, #260]  ; 0x104
- 80035d6:      686a            ldr     r2, [r5, #4]
- 80035d8:      9905            ldr     r1, [sp, #20]
- 80035da:      f7ff bbfe       b.w     8002dda <d_print_comp+0x1e6>
- 80035de:      68aa            ldr     r2, [r5, #8]
- 80035e0:      b11a            cbz     r2, 80035ea <d_print_comp+0x9f6>
- 80035e2:      4631            mov     r1, r6
- 80035e4:      4620            mov     r0, r4
- 80035e6:      f7ff fb05       bl      8002bf4 <d_print_comp>
- 80035ea:      68eb            ldr     r3, [r5, #12]
- 80035ec:      2b00            cmp     r3, #0
- 80035ee:      f001 853d       beq.w   800506c <d_print_comp+0x2478>
- 80035f2:      f8d4 7100       ldr.w   r7, [r4, #256]  ; 0x100
- 80035f6:      2ffd            cmp     r7, #253        ; 0xfd
- 80035f8:      d912            bls.n   8003620 <d_print_comp+0xa2c>
- 80035fa:      f04f 0800       mov.w   r8, #0
- 80035fe:      f804 8007       strb.w  r8, [r4, r7]
- 8003602:      4639            mov     r1, r7
- 8003604:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8003608:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 800360c:      4620            mov     r0, r4
- 800360e:      4798            blx     r3
- 8003610:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8003614:      f8c4 8100       str.w   r8, [r4, #256]  ; 0x100
- 8003618:      3301            adds    r3, #1
- 800361a:      4647            mov     r7, r8
- 800361c:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8003620:      f8df 8188       ldr.w   r8, [pc, #392]  ; 80037ac <d_print_comp+0xbb8>
- 8003624:      f04f 0a00       mov.w   sl, #0
- 8003628:      f108 0b02       add.w   fp, r8, #2
- 800362c:      e016            b.n     800365c <d_print_comp+0xa68>
- 800362e:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8003632:      f884 a0ff       strb.w  sl, [r4, #255]  ; 0xff
- 8003636:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 800363a:      4798            blx     r3
- 800363c:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8003640:      3301            adds    r3, #1
- 8003642:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8003646:      2701            movs    r7, #1
- 8003648:      2300            movs    r3, #0
- 800364a:      45c3            cmp     fp, r8
- 800364c:      f8c4 7100       str.w   r7, [r4, #256]  ; 0x100
- 8003650:      f804 9003       strb.w  r9, [r4, r3]
- 8003654:      f884 9104       strb.w  r9, [r4, #260]  ; 0x104
- 8003658:      f001 80cf       beq.w   80047fa <d_print_comp+0x1c06>
- 800365c:      2fff            cmp     r7, #255        ; 0xff
- 800365e:      4639            mov     r1, r7
- 8003660:      4620            mov     r0, r4
- 8003662:      f818 9b01       ldrb.w  r9, [r8], #1
- 8003666:      d0e2            beq.n   800362e <d_print_comp+0xa3a>
- 8003668:      463b            mov     r3, r7
- 800366a:      3701            adds    r7, #1
- 800366c:      e7ed            b.n     800364a <d_print_comp+0xa56>
- 800366e:      f9b5 300e       ldrsh.w r3, [r5, #14]
- 8003672:      2b00            cmp     r3, #0
- 8003674:      f041 84a0       bne.w   8004fb8 <d_print_comp+0x23c4>
- 8003678:      68aa            ldr     r2, [r5, #8]
- 800367a:      4b4a            ldr     r3, [pc, #296]  ; (80037a4 <d_print_comp+0xbb0>)
- 800367c:      6891            ldr     r1, [r2, #8]
- 800367e:      4299            cmp     r1, r3
- 8003680:      d020            beq.n   80036c4 <d_print_comp+0xad0>
- 8003682:      4631            mov     r1, r6
- 8003684:      4620            mov     r0, r4
- 8003686:      f7ff fab5       bl      8002bf4 <d_print_comp>
- 800368a:      f8d4 7100       ldr.w   r7, [r4, #256]  ; 0x100
- 800368e:      2fff            cmp     r7, #255        ; 0xff
- 8003690:      d111            bne.n   80036b6 <d_print_comp+0xac2>
- 8003692:      2600            movs    r6, #0
- 8003694:      4639            mov     r1, r7
- 8003696:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 800369a:      f884 60ff       strb.w  r6, [r4, #255]  ; 0xff
- 800369e:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 80036a2:      4620            mov     r0, r4
- 80036a4:      4798            blx     r3
- 80036a6:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 80036aa:      f8c4 6100       str.w   r6, [r4, #256]  ; 0x100
- 80036ae:      3301            adds    r3, #1
- 80036b0:      4637            mov     r7, r6
- 80036b2:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 80036b6:      2320            movs    r3, #32
- 80036b8:      1c7a            adds    r2, r7, #1
- 80036ba:      f8c4 2100       str.w   r2, [r4, #256]  ; 0x100
- 80036be:      55e3            strb    r3, [r4, r7]
- 80036c0:      f884 3104       strb.w  r3, [r4, #260]  ; 0x104
- 80036c4:      f9b5 200c       ldrsh.w r2, [r5, #12]
- 80036c8:      f8d4 3100       ldr.w   r3, [r4, #256]  ; 0x100
- 80036cc:      2a00            cmp     r2, #0
- 80036ce:      f001 80a6       beq.w   800481e <d_print_comp+0x1c2a>
- 80036d2:      4e35            ldr     r6, [pc, #212]  ; (80037a8 <d_print_comp+0xbb4>)
- 80036d4:      f04f 0800       mov.w   r8, #0
- 80036d8:      f106 0906       add.w   r9, r6, #6
- 80036dc:      e015            b.n     800370a <d_print_comp+0xb16>
- 80036de:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 80036e2:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 80036e6:      f884 80ff       strb.w  r8, [r4, #255]  ; 0xff
- 80036ea:      4798            blx     r3
- 80036ec:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 80036f0:      3301            adds    r3, #1
- 80036f2:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 80036f6:      2200            movs    r2, #0
- 80036f8:      2301            movs    r3, #1
- 80036fa:      45b1            cmp     r9, r6
- 80036fc:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 8003700:      54a7            strb    r7, [r4, r2]
- 8003702:      f884 7104       strb.w  r7, [r4, #260]  ; 0x104
- 8003706:      f001 8183       beq.w   8004a10 <d_print_comp+0x1e1c>
- 800370a:      2bff            cmp     r3, #255        ; 0xff
- 800370c:      4619            mov     r1, r3
- 800370e:      4620            mov     r0, r4
- 8003710:      f816 7b01       ldrb.w  r7, [r6], #1
- 8003714:      d0e3            beq.n   80036de <d_print_comp+0xaea>
- 8003716:      461a            mov     r2, r3
- 8003718:      3301            adds    r3, #1
- 800371a:      e7ee            b.n     80036fa <d_print_comp+0xb06>
- 800371c:      ab18            add     r3, sp, #96     ; 0x60
- 800371e:      f8d4 2114       ldr.w   r2, [r4, #276]  ; 0x114
- 8003722:      f843 2d40       str.w   r2, [r3, #-64]!
- 8003726:      2000            movs    r0, #0
- 8003728:      f8c4 3114       str.w   r3, [r4, #276]  ; 0x114
- 800372c:      900a            str     r0, [sp, #40]   ; 0x28
- 800372e:      f8d4 3110       ldr.w   r3, [r4, #272]  ; 0x110
- 8003732:      68ea            ldr     r2, [r5, #12]
- 8003734:      930b            str     r3, [sp, #44]   ; 0x2c
- 8003736:      4631            mov     r1, r6
- 8003738:      4620            mov     r0, r4
- 800373a:      9509            str     r5, [sp, #36]   ; 0x24
- 800373c:      f7ff fa5a       bl      8002bf4 <d_print_comp>
- 8003740:      9b0a            ldr     r3, [sp, #40]   ; 0x28
- 8003742:      b923            cbnz    r3, 800374e <d_print_comp+0xb5a>
- 8003744:      4631            mov     r1, r6
- 8003746:      462a            mov     r2, r5
- 8003748:      4620            mov     r0, r4
- 800374a:      f002 f8e9       bl      8005920 <d_print_mod>
- 800374e:      9b08            ldr     r3, [sp, #32]
- 8003750:      f8c4 3114       str.w   r3, [r4, #276]  ; 0x114
- 8003754:      9905            ldr     r1, [sp, #20]
- 8003756:      686a            ldr     r2, [r5, #4]
- 8003758:      f7ff bb3f       b.w     8002dda <d_print_comp+0x1e6>
- 800375c:      f10d 0960       add.w   r9, sp, #96     ; 0x60
- 8003760:      f8d4 c114       ldr.w   ip, [r4, #276]  ; 0x114
- 8003764:      f849 cd40       str.w   ip, [r9, #-64]!
- 8003768:      f8d4 3110       ldr.w   r3, [r4, #272]  ; 0x110
- 800376c:      f8cd c004       str.w   ip, [sp, #4]
- 8003770:      2200            movs    r2, #0
- 8003772:      4667            mov     r7, ip
- 8003774:      f8c4 9114       str.w   r9, [r4, #276]  ; 0x114
- 8003778:      9509            str     r5, [sp, #36]   ; 0x24
- 800377a:      e9cd 230a       strd    r2, r3, [sp, #40]       ; 0x28
- 800377e:      2f00            cmp     r7, #0
- 8003780:      f001 852f       beq.w   80051e2 <d_print_comp+0x25ee>
- 8003784:      687b            ldr     r3, [r7, #4]
- 8003786:      781b            ldrb    r3, [r3, #0]
- 8003788:      3b19            subs    r3, #25
- 800378a:      2b02            cmp     r3, #2
- 800378c:      f201 8529       bhi.w   80051e2 <d_print_comp+0x25ee>
- 8003790:      4623            mov     r3, r4
- 8003792:      f04f 0801       mov.w   r8, #1
- 8003796:      464c            mov     r4, r9
- 8003798:      469c            mov     ip, r3
- 800379a:      e00e            b.n     80037ba <d_print_comp+0xbc6>
- 800379c:      0801275f        .word   0x0801275f
- 80037a0:      08012753        .word   0x08012753
- 80037a4:      08011c70        .word   0x08011c70
- 80037a8:      08012740        .word   0x08012740
- 80037ac:      08012750        .word   0x08012750
- 80037b0:      687b            ldr     r3, [r7, #4]
- 80037b2:      781b            ldrb    r3, [r3, #0]
- 80037b4:      3b19            subs    r3, #25
- 80037b6:      2b02            cmp     r3, #2
- 80037b8:      d81d            bhi.n   80037f6 <d_print_comp+0xc02>
- 80037ba:      68bb            ldr     r3, [r7, #8]
- 80037bc:      ea4f 1e08       mov.w   lr, r8, lsl #4
- 80037c0:      aa18            add     r2, sp, #96     ; 0x60
- 80037c2:      eb02 0b0e       add.w   fp, r2, lr
- 80037c6:      b99b            cbnz    r3, 80037f0 <d_print_comp+0xbfc>
- 80037c8:      f1b8 0f03       cmp.w   r8, #3
- 80037cc:      f201 8517       bhi.w   80051fe <d_print_comp+0x260a>
- 80037d0:      e897 000f       ldmia.w r7, {r0, r1, r2, r3}
- 80037d4:      f1ab 0a40       sub.w   sl, fp, #64     ; 0x40
- 80037d8:      e88a 000f       stmia.w sl, {r0, r1, r2, r3}
- 80037dc:      f84b 4c40       str.w   r4, [fp, #-64]
- 80037e0:      2301            movs    r3, #1
- 80037e2:      eb09 040e       add.w   r4, r9, lr
- 80037e6:      f8cc 4114       str.w   r4, [ip, #276]  ; 0x114
- 80037ea:      f108 0801       add.w   r8, r8, #1
- 80037ee:      60bb            str     r3, [r7, #8]
- 80037f0:      683f            ldr     r7, [r7, #0]
- 80037f2:      2f00            cmp     r7, #0
- 80037f4:      d1dc            bne.n   80037b0 <d_print_comp+0xbbc>
- 80037f6:      68ea            ldr     r2, [r5, #12]
- 80037f8:      4631            mov     r1, r6
- 80037fa:      4660            mov     r0, ip
- 80037fc:      4664            mov     r4, ip
- 80037fe:      f7ff f9f9       bl      8002bf4 <d_print_comp>
- 8003802:      9b0a            ldr     r3, [sp, #40]   ; 0x28
- 8003804:      9a01            ldr     r2, [sp, #4]
- 8003806:      f8c4 2114       str.w   r2, [r4, #276]  ; 0x114
- 800380a:      b9bb            cbnz    r3, 800383c <d_print_comp+0xc48>
- 800380c:      f1b8 0f01       cmp.w   r8, #1
- 8003810:      d00c            beq.n   800382c <d_print_comp+0xc38>
- 8003812:      eb09 1808       add.w   r8, r9, r8, lsl #4
- 8003816:      af0c            add     r7, sp, #48     ; 0x30
- 8003818:      f858 2c0c       ldr.w   r2, [r8, #-12]
- 800381c:      4631            mov     r1, r6
- 800381e:      f1a8 0810       sub.w   r8, r8, #16
- 8003822:      4620            mov     r0, r4
- 8003824:      f002 f87c       bl      8005920 <d_print_mod>
- 8003828:      4547            cmp     r7, r8
- 800382a:      d1f5            bne.n   8003818 <d_print_comp+0xc24>
- 800382c:      4631            mov     r1, r6
- 800382e:      f8d4 3114       ldr.w   r3, [r4, #276]  ; 0x114
- 8003832:      f105 0208       add.w   r2, r5, #8
- 8003836:      4620            mov     r0, r4
- 8003838:      f002 fdca       bl      80063d0 <d_print_array_type.isra.14>
- 800383c:      9905            ldr     r1, [sp, #20]
- 800383e:      686a            ldr     r2, [r5, #4]
- 8003840:      f7ff bacb       b.w     8002dda <d_print_comp+0x1e6>
- 8003844:      06b2            lsls    r2, r6, #26
- 8003846:      f026 0860       bic.w   r8, r6, #96     ; 0x60
- 800384a:      f8d4 3114       ldr.w   r3, [r4, #276]  ; 0x114
- 800384e:      f101 825a       bmi.w   8004d06 <d_print_comp+0x2112>
- 8003852:      68aa            ldr     r2, [r5, #8]
- 8003854:      b11a            cbz     r2, 800385e <d_print_comp+0xc6a>
- 8003856:      f016 0640       ands.w  r6, r6, #64     ; 0x40
- 800385a:      f001 85c3       beq.w   80053e4 <d_print_comp+0x27f0>
- 800385e:      4641            mov     r1, r8
- 8003860:      f105 020c       add.w   r2, r5, #12
- 8003864:      f8d4 3114       ldr.w   r3, [r4, #276]  ; 0x114
- 8003868:      4620            mov     r0, r4
- 800386a:      f002 fb87       bl      8005f7c <d_print_function_type.isra.15>
- 800386e:      9905            ldr     r1, [sp, #20]
- 8003870:      686a            ldr     r2, [r5, #4]
- 8003872:      f7ff bab2       b.w     8002dda <d_print_comp+0x1e6>
- 8003876:      4fcb            ldr     r7, [pc, #812]  ; (8003ba4 <d_print_comp+0xfb0>)
- 8003878:      f8d4 3100       ldr.w   r3, [r4, #256]  ; 0x100
- 800387c:      f107 0815       add.w   r8, r7, #21
- 8003880:      f04f 0900       mov.w   r9, #0
- 8003884:      e016            b.n     80038b4 <d_print_comp+0xcc0>
- 8003886:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 800388a:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 800388e:      f884 90ff       strb.w  r9, [r4, #255]  ; 0xff
- 8003892:      4798            blx     r3
- 8003894:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8003898:      3301            adds    r3, #1
- 800389a:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 800389e:      2200            movs    r2, #0
- 80038a0:      2301            movs    r3, #1
- 80038a2:      45b8            cmp     r8, r7
- 80038a4:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 80038a8:      f804 a002       strb.w  sl, [r4, r2]
- 80038ac:      f884 a104       strb.w  sl, [r4, #260]  ; 0x104
- 80038b0:      f000 8789       beq.w   80047c6 <d_print_comp+0x1bd2>
- 80038b4:      2bff            cmp     r3, #255        ; 0xff
- 80038b6:      4619            mov     r1, r3
- 80038b8:      4620            mov     r0, r4
- 80038ba:      f817 af01       ldrb.w  sl, [r7, #1]!
- 80038be:      d0e2            beq.n   8003886 <d_print_comp+0xc92>
- 80038c0:      461a            mov     r2, r3
- 80038c2:      3301            adds    r3, #1
- 80038c4:      e7ed            b.n     80038a2 <d_print_comp+0xcae>
- 80038c6:      4fb8            ldr     r7, [pc, #736]  ; (8003ba8 <d_print_comp+0xfb4>)
- 80038c8:      f8d4 3100       ldr.w   r3, [r4, #256]  ; 0x100
- 80038cc:      f107 0810       add.w   r8, r7, #16
- 80038d0:      f04f 0900       mov.w   r9, #0
- 80038d4:      e016            b.n     8003904 <d_print_comp+0xd10>
- 80038d6:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 80038da:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 80038de:      f884 90ff       strb.w  r9, [r4, #255]  ; 0xff
- 80038e2:      4798            blx     r3
- 80038e4:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 80038e8:      3301            adds    r3, #1
- 80038ea:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 80038ee:      2200            movs    r2, #0
- 80038f0:      2301            movs    r3, #1
- 80038f2:      45b8            cmp     r8, r7
- 80038f4:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 80038f8:      f804 a002       strb.w  sl, [r4, r2]
- 80038fc:      f884 a104       strb.w  sl, [r4, #260]  ; 0x104
- 8003900:      f000 876a       beq.w   80047d8 <d_print_comp+0x1be4>
- 8003904:      2bff            cmp     r3, #255        ; 0xff
- 8003906:      4619            mov     r1, r3
- 8003908:      4620            mov     r0, r4
- 800390a:      f817 af01       ldrb.w  sl, [r7, #1]!
- 800390e:      d0e2            beq.n   80038d6 <d_print_comp+0xce2>
- 8003910:      461a            mov     r2, r3
- 8003912:      3301            adds    r3, #1
- 8003914:      e7ed            b.n     80038f2 <d_print_comp+0xcfe>
- 8003916:      4fa5            ldr     r7, [pc, #660]  ; (8003bac <d_print_comp+0xfb8>)
- 8003918:      f8d4 3100       ldr.w   r3, [r4, #256]  ; 0x100
- 800391c:      f107 0812       add.w   r8, r7, #18
- 8003920:      f04f 0900       mov.w   r9, #0
- 8003924:      e016            b.n     8003954 <d_print_comp+0xd60>
- 8003926:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 800392a:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 800392e:      f884 90ff       strb.w  r9, [r4, #255]  ; 0xff
- 8003932:      4798            blx     r3
- 8003934:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8003938:      3301            adds    r3, #1
- 800393a:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 800393e:      2200            movs    r2, #0
- 8003940:      2301            movs    r3, #1
- 8003942:      45b8            cmp     r8, r7
- 8003944:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 8003948:      f804 a002       strb.w  sl, [r4, r2]
- 800394c:      f884 a104       strb.w  sl, [r4, #260]  ; 0x104
- 8003950:      f000 8727       beq.w   80047a2 <d_print_comp+0x1bae>
- 8003954:      2bff            cmp     r3, #255        ; 0xff
- 8003956:      4619            mov     r1, r3
- 8003958:      4620            mov     r0, r4
- 800395a:      f817 af01       ldrb.w  sl, [r7, #1]!
- 800395e:      d0e2            beq.n   8003926 <d_print_comp+0xd32>
- 8003960:      461a            mov     r2, r3
- 8003962:      3301            adds    r3, #1
- 8003964:      e7ed            b.n     8003942 <d_print_comp+0xd4e>
- 8003966:      4f92            ldr     r7, [pc, #584]  ; (8003bb0 <d_print_comp+0xfbc>)
- 8003968:      f8d4 3100       ldr.w   r3, [r4, #256]  ; 0x100
- 800396c:      f107 080d       add.w   r8, r7, #13
- 8003970:      f04f 0900       mov.w   r9, #0
- 8003974:      e016            b.n     80039a4 <d_print_comp+0xdb0>
- 8003976:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 800397a:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 800397e:      f884 90ff       strb.w  r9, [r4, #255]  ; 0xff
- 8003982:      4798            blx     r3
- 8003984:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8003988:      3301            adds    r3, #1
- 800398a:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 800398e:      2200            movs    r2, #0
- 8003990:      2301            movs    r3, #1
- 8003992:      45b8            cmp     r8, r7
- 8003994:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 8003998:      f804 a002       strb.w  sl, [r4, r2]
- 800399c:      f884 a104       strb.w  sl, [r4, #260]  ; 0x104
- 80039a0:      f000 8708       beq.w   80047b4 <d_print_comp+0x1bc0>
- 80039a4:      2bff            cmp     r3, #255        ; 0xff
- 80039a6:      4619            mov     r1, r3
- 80039a8:      4620            mov     r0, r4
- 80039aa:      f817 ab01       ldrb.w  sl, [r7], #1
- 80039ae:      d0e2            beq.n   8003976 <d_print_comp+0xd82>
- 80039b0:      461a            mov     r2, r3
- 80039b2:      3301            adds    r3, #1
- 80039b4:      e7ed            b.n     8003992 <d_print_comp+0xd9e>
- 80039b6:      4f7f            ldr     r7, [pc, #508]  ; (8003bb4 <d_print_comp+0xfc0>)
- 80039b8:      f8d4 3100       ldr.w   r3, [r4, #256]  ; 0x100
- 80039bc:      f107 0818       add.w   r8, r7, #24
- 80039c0:      f04f 0900       mov.w   r9, #0
- 80039c4:      e016            b.n     80039f4 <d_print_comp+0xe00>
- 80039c6:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 80039ca:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 80039ce:      f884 90ff       strb.w  r9, [r4, #255]  ; 0xff
- 80039d2:      4798            blx     r3
- 80039d4:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 80039d8:      3301            adds    r3, #1
- 80039da:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 80039de:      2200            movs    r2, #0
- 80039e0:      2301            movs    r3, #1
- 80039e2:      45b8            cmp     r8, r7
- 80039e4:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 80039e8:      f804 a002       strb.w  sl, [r4, r2]
- 80039ec:      f884 a104       strb.w  sl, [r4, #260]  ; 0x104
- 80039f0:      f000 8699       beq.w   8004726 <d_print_comp+0x1b32>
- 80039f4:      2bff            cmp     r3, #255        ; 0xff
- 80039f6:      4619            mov     r1, r3
- 80039f8:      4620            mov     r0, r4
- 80039fa:      f817 af01       ldrb.w  sl, [r7, #1]!
- 80039fe:      d0e2            beq.n   80039c6 <d_print_comp+0xdd2>
- 8003a00:      461a            mov     r2, r3
- 8003a02:      3301            adds    r3, #1
- 8003a04:      e7ed            b.n     80039e2 <d_print_comp+0xdee>
- 8003a06:      4f6c            ldr     r7, [pc, #432]  ; (8003bb8 <d_print_comp+0xfc4>)
- 8003a08:      f8d4 3100       ldr.w   r3, [r4, #256]  ; 0x100
- 8003a0c:      f107 0808       add.w   r8, r7, #8
- 8003a10:      f04f 0900       mov.w   r9, #0
- 8003a14:      e016            b.n     8003a44 <d_print_comp+0xe50>
- 8003a16:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8003a1a:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8003a1e:      f884 90ff       strb.w  r9, [r4, #255]  ; 0xff
- 8003a22:      4798            blx     r3
- 8003a24:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8003a28:      3301            adds    r3, #1
- 8003a2a:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8003a2e:      2200            movs    r2, #0
- 8003a30:      2301            movs    r3, #1
- 8003a32:      45b8            cmp     r8, r7
- 8003a34:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 8003a38:      f804 a002       strb.w  sl, [r4, r2]
- 8003a3c:      f884 a104       strb.w  sl, [r4, #260]  ; 0x104
- 8003a40:      f000 86a6       beq.w   8004790 <d_print_comp+0x1b9c>
- 8003a44:      2bff            cmp     r3, #255        ; 0xff
- 8003a46:      4619            mov     r1, r3
- 8003a48:      4620            mov     r0, r4
- 8003a4a:      f817 af01       ldrb.w  sl, [r7, #1]!
- 8003a4e:      d0e2            beq.n   8003a16 <d_print_comp+0xe22>
- 8003a50:      461a            mov     r2, r3
- 8003a52:      3301            adds    r3, #1
- 8003a54:      e7ed            b.n     8003a32 <d_print_comp+0xe3e>
- 8003a56:      4f59            ldr     r7, [pc, #356]  ; (8003bbc <d_print_comp+0xfc8>)
- 8003a58:      f8d4 3100       ldr.w   r3, [r4, #256]  ; 0x100
- 8003a5c:      f107 080b       add.w   r8, r7, #11
- 8003a60:      f04f 0900       mov.w   r9, #0
- 8003a64:      e016            b.n     8003a94 <d_print_comp+0xea0>
- 8003a66:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8003a6a:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8003a6e:      f884 90ff       strb.w  r9, [r4, #255]  ; 0xff
- 8003a72:      4798            blx     r3
- 8003a74:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8003a78:      3301            adds    r3, #1
- 8003a7a:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8003a7e:      2200            movs    r2, #0
- 8003a80:      2301            movs    r3, #1
- 8003a82:      45b8            cmp     r8, r7
- 8003a84:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 8003a88:      f804 a002       strb.w  sl, [r4, r2]
- 8003a8c:      f884 a104       strb.w  sl, [r4, #260]  ; 0x104
- 8003a90:      f000 85cc       beq.w   800462c <d_print_comp+0x1a38>
- 8003a94:      2bff            cmp     r3, #255        ; 0xff
- 8003a96:      4619            mov     r1, r3
- 8003a98:      4620            mov     r0, r4
- 8003a9a:      f817 ab01       ldrb.w  sl, [r7], #1
- 8003a9e:      d0e2            beq.n   8003a66 <d_print_comp+0xe72>
- 8003aa0:      461a            mov     r2, r3
- 8003aa2:      3301            adds    r3, #1
- 8003aa4:      e7ed            b.n     8003a82 <d_print_comp+0xe8e>
- 8003aa6:      f8d4 7100       ldr.w   r7, [r4, #256]  ; 0x100
- 8003aaa:      2fff            cmp     r7, #255        ; 0xff
- 8003aac:      d112            bne.n   8003ad4 <d_print_comp+0xee0>
- 8003aae:      f04f 0800       mov.w   r8, #0
- 8003ab2:      4639            mov     r1, r7
- 8003ab4:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8003ab8:      f884 80ff       strb.w  r8, [r4, #255]  ; 0xff
- 8003abc:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8003ac0:      4620            mov     r0, r4
- 8003ac2:      4798            blx     r3
- 8003ac4:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8003ac8:      f8c4 8100       str.w   r8, [r4, #256]  ; 0x100
- 8003acc:      3301            adds    r3, #1
- 8003ace:      4647            mov     r7, r8
- 8003ad0:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8003ad4:      237e            movs    r3, #126        ; 0x7e
- 8003ad6:      1c7a            adds    r2, r7, #1
- 8003ad8:      f8c4 2100       str.w   r2, [r4, #256]  ; 0x100
- 8003adc:      55e3            strb    r3, [r4, r7]
- 8003ade:      f884 3104       strb.w  r3, [r4, #260]  ; 0x104
- 8003ae2:      4631            mov     r1, r6
- 8003ae4:      68ea            ldr     r2, [r5, #12]
- 8003ae6:      4620            mov     r0, r4
- 8003ae8:      f7ff f884       bl      8002bf4 <d_print_comp>
- 8003aec:      9905            ldr     r1, [sp, #20]
- 8003aee:      686a            ldr     r2, [r5, #4]
- 8003af0:      f7ff b973       b.w     8002dda <d_print_comp+0x1e6>
- 8003af4:      4631            mov     r1, r6
- 8003af6:      68ea            ldr     r2, [r5, #12]
- 8003af8:      4620            mov     r0, r4
- 8003afa:      f7ff f87b       bl      8002bf4 <d_print_comp>
- 8003afe:      9905            ldr     r1, [sp, #20]
- 8003b00:      686a            ldr     r2, [r5, #4]
- 8003b02:      f7ff b96a       b.w     8002dda <d_print_comp+0x1e6>
- 8003b06:      f8d5 8008       ldr.w   r8, [r5, #8]
- 8003b0a:      f8d4 3100       ldr.w   r3, [r4, #256]  ; 0x100
- 8003b0e:      f1b8 0f00       cmp.w   r8, #0
- 8003b12:      f000 878b       beq.w   8004a2c <d_print_comp+0x1e38>
- 8003b16:      4e2a            ldr     r6, [pc, #168]  ; (8003bc0 <d_print_comp+0xfcc>)
- 8003b18:      f04f 0900       mov.w   r9, #0
- 8003b1c:      f106 0a06       add.w   sl, r6, #6
- 8003b20:      e015            b.n     8003b4e <d_print_comp+0xf5a>
- 8003b22:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8003b26:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8003b2a:      f884 90ff       strb.w  r9, [r4, #255]  ; 0xff
- 8003b2e:      4798            blx     r3
- 8003b30:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8003b34:      3301            adds    r3, #1
- 8003b36:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8003b3a:      2200            movs    r2, #0
- 8003b3c:      2301            movs    r3, #1
- 8003b3e:      45b2            cmp     sl, r6
- 8003b40:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 8003b44:      54a7            strb    r7, [r4, r2]
- 8003b46:      f884 7104       strb.w  r7, [r4, #260]  ; 0x104
- 8003b4a:      f000 868f       beq.w   800486c <d_print_comp+0x1c78>
- 8003b4e:      2bff            cmp     r3, #255        ; 0xff
- 8003b50:      4619            mov     r1, r3
- 8003b52:      4620            mov     r0, r4
- 8003b54:      f816 7b01       ldrb.w  r7, [r6], #1
- 8003b58:      d0e3            beq.n   8003b22 <d_print_comp+0xf2e>
- 8003b5a:      461a            mov     r2, r3
- 8003b5c:      3301            adds    r3, #1
- 8003b5e:      e7ee            b.n     8003b3e <d_print_comp+0xf4a>
- 8003b60:      f8d4 311c       ldr.w   r3, [r4, #284]  ; 0x11c
- 8003b64:      2b00            cmp     r3, #0
- 8003b66:      f040 86d1       bne.w   800490c <d_print_comp+0x1d18>
- 8003b6a:      f105 0108       add.w   r1, r5, #8
- 8003b6e:      4620            mov     r0, r4
- 8003b70:      f7fc fe4a       bl      8000808 <d_lookup_template_argument.isra.10>
- 8003b74:      4602            mov     r2, r0
- 8003b76:      2800            cmp     r0, #0
- 8003b78:      f001 8271       beq.w   800505e <d_print_comp+0x246a>
- 8003b7c:      7803            ldrb    r3, [r0, #0]
- 8003b7e:      2b2f            cmp     r3, #47 ; 0x2f
- 8003b80:      f001 8262       beq.w   8005048 <d_print_comp+0x2454>
- 8003b84:      f8d4 7110       ldr.w   r7, [r4, #272]  ; 0x110
- 8003b88:      683b            ldr     r3, [r7, #0]
- 8003b8a:      f8c4 3110       str.w   r3, [r4, #272]  ; 0x110
- 8003b8e:      4631            mov     r1, r6
- 8003b90:      4620            mov     r0, r4
- 8003b92:      f7ff f82f       bl      8002bf4 <d_print_comp>
- 8003b96:      f8c4 7110       str.w   r7, [r4, #272]  ; 0x110
- 8003b9a:      9905            ldr     r1, [sp, #20]
- 8003b9c:      686a            ldr     r2, [r5, #4]
- 8003b9e:      f7ff b91c       b.w     8002dda <d_print_comp+0x1e6>
- 8003ba2:      bf00            nop
- 8003ba4:      08012663        .word   0x08012663
- 8003ba8:      0801264f        .word   0x0801264f
- 8003bac:      0801263b        .word   0x0801263b
- 8003bb0:      0801262c        .word   0x0801262c
- 8003bb4:      08012607        .word   0x08012607
- 8003bb8:      080125fb        .word   0x080125fb
- 8003bbc:      080125f0        .word   0x080125f0
- 8003bc0:      080127d0        .word   0x080127d0
- 8003bc4:      2300            movs    r3, #0
- 8003bc6:      0771            lsls    r1, r6, #29
- 8003bc8:      f8d4 9114       ldr.w   r9, [r4, #276]  ; 0x114
- 8003bcc:      f8d4 8144       ldr.w   r8, [r4, #324]  ; 0x144
- 8003bd0:      f8c4 3114       str.w   r3, [r4, #276]  ; 0x114
- 8003bd4:      f8c4 5144       str.w   r5, [r4, #324]  ; 0x144
- 8003bd8:      68af            ldr     r7, [r5, #8]
- 8003bda:      d505            bpl.n   8003be8 <d_print_comp+0xff4>
- 8003bdc:      783b            ldrb    r3, [r7, #0]
- 8003bde:      b91b            cbnz    r3, 8003be8 <d_print_comp+0xff4>
- 8003be0:      68fa            ldr     r2, [r7, #12]
- 8003be2:      2a06            cmp     r2, #6
- 8003be4:      f001 8433       beq.w   800544e <d_print_comp+0x285a>
- 8003be8:      463a            mov     r2, r7
- 8003bea:      4631            mov     r1, r6
- 8003bec:      4620            mov     r0, r4
- 8003bee:      f7ff f801       bl      8002bf4 <d_print_comp>
- 8003bf2:      f894 3104       ldrb.w  r3, [r4, #260]  ; 0x104
- 8003bf6:      2b3c            cmp     r3, #60 ; 0x3c
- 8003bf8:      f001 8206       beq.w   8005008 <d_print_comp+0x2414>
- 8003bfc:      f8d4 7100       ldr.w   r7, [r4, #256]  ; 0x100
- 8003c00:      2fff            cmp     r7, #255        ; 0xff
- 8003c02:      d112            bne.n   8003c2a <d_print_comp+0x1036>
- 8003c04:      f04f 0a00       mov.w   sl, #0
- 8003c08:      4639            mov     r1, r7
- 8003c0a:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8003c0e:      f884 a0ff       strb.w  sl, [r4, #255]  ; 0xff
- 8003c12:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8003c16:      4620            mov     r0, r4
- 8003c18:      4798            blx     r3
- 8003c1a:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8003c1e:      f8c4 a100       str.w   sl, [r4, #256]  ; 0x100
- 8003c22:      3301            adds    r3, #1
- 8003c24:      4657            mov     r7, sl
- 8003c26:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8003c2a:      233c            movs    r3, #60 ; 0x3c
- 8003c2c:      1c7a            adds    r2, r7, #1
- 8003c2e:      f8c4 2100       str.w   r2, [r4, #256]  ; 0x100
- 8003c32:      55e3            strb    r3, [r4, r7]
- 8003c34:      f884 3104       strb.w  r3, [r4, #260]  ; 0x104
- 8003c38:      4631            mov     r1, r6
- 8003c3a:      68ea            ldr     r2, [r5, #12]
- 8003c3c:      4620            mov     r0, r4
- 8003c3e:      f7fe ffd9       bl      8002bf4 <d_print_comp>
- 8003c42:      f894 3104       ldrb.w  r3, [r4, #260]  ; 0x104
- 8003c46:      2b3e            cmp     r3, #62 ; 0x3e
- 8003c48:      f001 806f       beq.w   8004d2a <d_print_comp+0x2136>
- 8003c4c:      f8d4 7100       ldr.w   r7, [r4, #256]  ; 0x100
- 8003c50:      2fff            cmp     r7, #255        ; 0xff
- 8003c52:      d111            bne.n   8003c78 <d_print_comp+0x1084>
- 8003c54:      2600            movs    r6, #0
- 8003c56:      4639            mov     r1, r7
- 8003c58:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8003c5c:      f884 60ff       strb.w  r6, [r4, #255]  ; 0xff
- 8003c60:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8003c64:      4620            mov     r0, r4
- 8003c66:      4798            blx     r3
- 8003c68:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8003c6c:      f8c4 6100       str.w   r6, [r4, #256]  ; 0x100
- 8003c70:      3301            adds    r3, #1
- 8003c72:      4637            mov     r7, r6
- 8003c74:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8003c78:      233e            movs    r3, #62 ; 0x3e
- 8003c7a:      1c7a            adds    r2, r7, #1
- 8003c7c:      f8c4 2100       str.w   r2, [r4, #256]  ; 0x100
- 8003c80:      55e3            strb    r3, [r4, r7]
- 8003c82:      f884 3104       strb.w  r3, [r4, #260]  ; 0x104
- 8003c86:      f8c4 9114       str.w   r9, [r4, #276]  ; 0x114
- 8003c8a:      f8c4 8144       str.w   r8, [r4, #324]  ; 0x144
- 8003c8e:      9905            ldr     r1, [sp, #20]
- 8003c90:      686a            ldr     r2, [r5, #4]
- 8003c92:      f7ff b8a2       b.w     8002dda <d_print_comp+0x1e6>
- 8003c96:      4fda            ldr     r7, [pc, #872]  ; (8004000 <d_print_comp+0x140c>)
- 8003c98:      f8d4 3100       ldr.w   r3, [r4, #256]  ; 0x100
- 8003c9c:      f107 0811       add.w   r8, r7, #17
- 8003ca0:      f04f 0900       mov.w   r9, #0
- 8003ca4:      e016            b.n     8003cd4 <d_print_comp+0x10e0>
- 8003ca6:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8003caa:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8003cae:      f884 90ff       strb.w  r9, [r4, #255]  ; 0xff
- 8003cb2:      4798            blx     r3
- 8003cb4:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8003cb8:      3301            adds    r3, #1
- 8003cba:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8003cbe:      2200            movs    r2, #0
- 8003cc0:      2301            movs    r3, #1
- 8003cc2:      45b8            cmp     r8, r7
- 8003cc4:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 8003cc8:      f804 a002       strb.w  sl, [r4, r2]
- 8003ccc:      f884 a104       strb.w  sl, [r4, #260]  ; 0x104
- 8003cd0:      f000 84eb       beq.w   80046aa <d_print_comp+0x1ab6>
- 8003cd4:      2bff            cmp     r3, #255        ; 0xff
- 8003cd6:      4619            mov     r1, r3
- 8003cd8:      4620            mov     r0, r4
- 8003cda:      f817 af01       ldrb.w  sl, [r7, #1]!
- 8003cde:      d0e2            beq.n   8003ca6 <d_print_comp+0x10b2>
- 8003ce0:      461a            mov     r2, r3
- 8003ce2:      3301            adds    r3, #1
- 8003ce4:      e7ed            b.n     8003cc2 <d_print_comp+0x10ce>
- 8003ce6:      4fc7            ldr     r7, [pc, #796]  ; (8004004 <d_print_comp+0x1410>)
- 8003ce8:      f8d4 3100       ldr.w   r3, [r4, #256]  ; 0x100
- 8003cec:      f107 0815       add.w   r8, r7, #21
- 8003cf0:      f04f 0900       mov.w   r9, #0
- 8003cf4:      e016            b.n     8003d24 <d_print_comp+0x1130>
- 8003cf6:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8003cfa:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8003cfe:      f884 90ff       strb.w  r9, [r4, #255]  ; 0xff
- 8003d02:      4798            blx     r3
- 8003d04:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8003d08:      3301            adds    r3, #1
- 8003d0a:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8003d0e:      2200            movs    r2, #0
- 8003d10:      2301            movs    r3, #1
- 8003d12:      45b8            cmp     r8, r7
- 8003d14:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 8003d18:      f804 a002       strb.w  sl, [r4, r2]
- 8003d1c:      f884 a104       strb.w  sl, [r4, #260]  ; 0x104
- 8003d20:      f000 84cc       beq.w   80046bc <d_print_comp+0x1ac8>
- 8003d24:      2bff            cmp     r3, #255        ; 0xff
- 8003d26:      4619            mov     r1, r3
- 8003d28:      4620            mov     r0, r4
- 8003d2a:      f817 af01       ldrb.w  sl, [r7, #1]!
- 8003d2e:      d0e2            beq.n   8003cf6 <d_print_comp+0x1102>
- 8003d30:      461a            mov     r2, r3
- 8003d32:      3301            adds    r3, #1
- 8003d34:      e7ed            b.n     8003d12 <d_print_comp+0x111e>
- 8003d36:      4fb4            ldr     r7, [pc, #720]  ; (8004008 <d_print_comp+0x1414>)
- 8003d38:      f8d4 3100       ldr.w   r3, [r4, #256]  ; 0x100
- 8003d3c:      f107 0819       add.w   r8, r7, #25
- 8003d40:      f04f 0900       mov.w   r9, #0
- 8003d44:      e016            b.n     8003d74 <d_print_comp+0x1180>
- 8003d46:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8003d4a:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8003d4e:      f884 90ff       strb.w  r9, [r4, #255]  ; 0xff
- 8003d52:      4798            blx     r3
- 8003d54:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8003d58:      3301            adds    r3, #1
- 8003d5a:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8003d5e:      2200            movs    r2, #0
- 8003d60:      2301            movs    r3, #1
- 8003d62:      45b8            cmp     r8, r7
- 8003d64:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 8003d68:      f804 a002       strb.w  sl, [r4, r2]
- 8003d6c:      f884 a104       strb.w  sl, [r4, #260]  ; 0x104
- 8003d70:      f000 8489       beq.w   8004686 <d_print_comp+0x1a92>
- 8003d74:      2bff            cmp     r3, #255        ; 0xff
- 8003d76:      4619            mov     r1, r3
- 8003d78:      4620            mov     r0, r4
- 8003d7a:      f817 af01       ldrb.w  sl, [r7, #1]!
- 8003d7e:      d0e2            beq.n   8003d46 <d_print_comp+0x1152>
- 8003d80:      461a            mov     r2, r3
- 8003d82:      3301            adds    r3, #1
- 8003d84:      e7ed            b.n     8003d62 <d_print_comp+0x116e>
- 8003d86:      4fa1            ldr     r7, [pc, #644]  ; (800400c <d_print_comp+0x1418>)
- 8003d88:      f8d4 3100       ldr.w   r3, [r4, #256]  ; 0x100
- 8003d8c:      f107 0816       add.w   r8, r7, #22
- 8003d90:      f04f 0900       mov.w   r9, #0
- 8003d94:      e016            b.n     8003dc4 <d_print_comp+0x11d0>
- 8003d96:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8003d9a:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8003d9e:      f884 90ff       strb.w  r9, [r4, #255]  ; 0xff
- 8003da2:      4798            blx     r3
- 8003da4:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8003da8:      3301            adds    r3, #1
- 8003daa:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8003dae:      2200            movs    r2, #0
- 8003db0:      2301            movs    r3, #1
- 8003db2:      45b8            cmp     r8, r7
- 8003db4:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 8003db8:      f804 a002       strb.w  sl, [r4, r2]
- 8003dbc:      f884 a104       strb.w  sl, [r4, #260]  ; 0x104
- 8003dc0:      f000 846a       beq.w   8004698 <d_print_comp+0x1aa4>
- 8003dc4:      2bff            cmp     r3, #255        ; 0xff
- 8003dc6:      4619            mov     r1, r3
- 8003dc8:      4620            mov     r0, r4
- 8003dca:      f817 af01       ldrb.w  sl, [r7, #1]!
- 8003dce:      d0e2            beq.n   8003d96 <d_print_comp+0x11a2>
- 8003dd0:      461a            mov     r2, r3
- 8003dd2:      3301            adds    r3, #1
- 8003dd4:      e7ed            b.n     8003db2 <d_print_comp+0x11be>
- 8003dd6:      4f8e            ldr     r7, [pc, #568]  ; (8004010 <d_print_comp+0x141c>)
- 8003dd8:      f8d4 3100       ldr.w   r3, [r4, #256]  ; 0x100
- 8003ddc:      f107 0813       add.w   r8, r7, #19
- 8003de0:      f04f 0900       mov.w   r9, #0
- 8003de4:      e016            b.n     8003e14 <d_print_comp+0x1220>
- 8003de6:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8003dea:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8003dee:      f884 90ff       strb.w  r9, [r4, #255]  ; 0xff
- 8003df2:      4798            blx     r3
- 8003df4:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8003df8:      3301            adds    r3, #1
- 8003dfa:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8003dfe:      2200            movs    r2, #0
- 8003e00:      2301            movs    r3, #1
- 8003e02:      45b8            cmp     r8, r7
- 8003e04:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 8003e08:      f804 a002       strb.w  sl, [r4, r2]
- 8003e0c:      f884 a104       strb.w  sl, [r4, #260]  ; 0x104
- 8003e10:      f000 8427       beq.w   8004662 <d_print_comp+0x1a6e>
- 8003e14:      2bff            cmp     r3, #255        ; 0xff
- 8003e16:      4619            mov     r1, r3
- 8003e18:      4620            mov     r0, r4
- 8003e1a:      f817 af01       ldrb.w  sl, [r7, #1]!
- 8003e1e:      d0e2            beq.n   8003de6 <d_print_comp+0x11f2>
- 8003e20:      461a            mov     r2, r3
- 8003e22:      3301            adds    r3, #1
- 8003e24:      e7ed            b.n     8003e02 <d_print_comp+0x120e>
- 8003e26:      4f7b            ldr     r7, [pc, #492]  ; (8004014 <d_print_comp+0x1420>)
- 8003e28:      f8d4 3100       ldr.w   r3, [r4, #256]  ; 0x100
- 8003e2c:      f107 080f       add.w   r8, r7, #15
- 8003e30:      f04f 0900       mov.w   r9, #0
- 8003e34:      e016            b.n     8003e64 <d_print_comp+0x1270>
- 8003e36:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8003e3a:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8003e3e:      f884 90ff       strb.w  r9, [r4, #255]  ; 0xff
- 8003e42:      4798            blx     r3
- 8003e44:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8003e48:      3301            adds    r3, #1
- 8003e4a:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8003e4e:      2200            movs    r2, #0
- 8003e50:      2301            movs    r3, #1
- 8003e52:      45b8            cmp     r8, r7
- 8003e54:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 8003e58:      f804 a002       strb.w  sl, [r4, r2]
- 8003e5c:      f884 a104       strb.w  sl, [r4, #260]  ; 0x104
- 8003e60:      f000 8408       beq.w   8004674 <d_print_comp+0x1a80>
- 8003e64:      2bff            cmp     r3, #255        ; 0xff
- 8003e66:      4619            mov     r1, r3
- 8003e68:      4620            mov     r0, r4
- 8003e6a:      f817 af01       ldrb.w  sl, [r7, #1]!
- 8003e6e:      d0e2            beq.n   8003e36 <d_print_comp+0x1242>
- 8003e70:      461a            mov     r2, r3
- 8003e72:      3301            adds    r3, #1
- 8003e74:      e7ed            b.n     8003e52 <d_print_comp+0x125e>
- 8003e76:      4f68            ldr     r7, [pc, #416]  ; (8004018 <d_print_comp+0x1424>)
- 8003e78:      f8d4 3100       ldr.w   r3, [r4, #256]  ; 0x100
- 8003e7c:      f107 081a       add.w   r8, r7, #26
- 8003e80:      f04f 0900       mov.w   r9, #0
- 8003e84:      e016            b.n     8003eb4 <d_print_comp+0x12c0>
- 8003e86:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8003e8a:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8003e8e:      f884 90ff       strb.w  r9, [r4, #255]  ; 0xff
- 8003e92:      4798            blx     r3
- 8003e94:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8003e98:      3301            adds    r3, #1
- 8003e9a:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8003e9e:      2200            movs    r2, #0
- 8003ea0:      2301            movs    r3, #1
- 8003ea2:      45b8            cmp     r8, r7
- 8003ea4:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 8003ea8:      f804 a002       strb.w  sl, [r4, r2]
- 8003eac:      f884 a104       strb.w  sl, [r4, #260]  ; 0x104
- 8003eb0:      f000 83c5       beq.w   800463e <d_print_comp+0x1a4a>
- 8003eb4:      2bff            cmp     r3, #255        ; 0xff
- 8003eb6:      4619            mov     r1, r3
- 8003eb8:      4620            mov     r0, r4
- 8003eba:      f817 af01       ldrb.w  sl, [r7, #1]!
- 8003ebe:      d0e2            beq.n   8003e86 <d_print_comp+0x1292>
- 8003ec0:      461a            mov     r2, r3
- 8003ec2:      3301            adds    r3, #1
- 8003ec4:      e7ed            b.n     8003ea2 <d_print_comp+0x12ae>
- 8003ec6:      4f55            ldr     r7, [pc, #340]  ; (800401c <d_print_comp+0x1428>)
- 8003ec8:      f8d4 3100       ldr.w   r3, [r4, #256]  ; 0x100
- 8003ecc:      f107 0811       add.w   r8, r7, #17
- 8003ed0:      f04f 0900       mov.w   r9, #0
- 8003ed4:      e016            b.n     8003f04 <d_print_comp+0x1310>
- 8003ed6:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8003eda:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8003ede:      f884 90ff       strb.w  r9, [r4, #255]  ; 0xff
- 8003ee2:      4798            blx     r3
- 8003ee4:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8003ee8:      3301            adds    r3, #1
- 8003eea:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8003eee:      2200            movs    r2, #0
- 8003ef0:      2301            movs    r3, #1
- 8003ef2:      45b8            cmp     r8, r7
- 8003ef4:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 8003ef8:      f804 a002       strb.w  sl, [r4, r2]
- 8003efc:      f884 a104       strb.w  sl, [r4, #260]  ; 0x104
- 8003f00:      f000 83a6       beq.w   8004650 <d_print_comp+0x1a5c>
- 8003f04:      2bff            cmp     r3, #255        ; 0xff
- 8003f06:      4619            mov     r1, r3
- 8003f08:      4620            mov     r0, r4
- 8003f0a:      f817 af01       ldrb.w  sl, [r7, #1]!
- 8003f0e:      d0e2            beq.n   8003ed6 <d_print_comp+0x12e2>
- 8003f10:      461a            mov     r2, r3
- 8003f12:      3301            adds    r3, #1
- 8003f14:      e7ed            b.n     8003ef2 <d_print_comp+0x12fe>
- 8003f16:      f8d4 711c       ldr.w   r7, [r4, #284]  ; 0x11c
- 8003f1a:      f8d5 9008       ldr.w   r9, [r5, #8]
- 8003f1e:      2f00            cmp     r7, #0
- 8003f20:      f040 85ae       bne.w   8004a80 <d_print_comp+0x1e8c>
- 8003f24:      f899 2000       ldrb.w  r2, [r9]
- 8003f28:      2a05            cmp     r2, #5
- 8003f2a:      f001 8180       beq.w   800522e <d_print_comp+0x263a>
- 8003f2e:      f899 3000       ldrb.w  r3, [r9]
- 8003f32:      2b23            cmp     r3, #35 ; 0x23
- 8003f34:      f000 85a0       beq.w   8004a78 <d_print_comp+0x1e84>
- 8003f38:      782a            ldrb    r2, [r5, #0]
- 8003f3a:      429a            cmp     r2, r3
- 8003f3c:      f000 859c       beq.w   8004a78 <d_print_comp+0x1e84>
- 8003f40:      2b24            cmp     r3, #36 ; 0x24
- 8003f42:      f001 8162       beq.w   800520a <d_print_comp+0x2616>
- 8003f46:      f8d4 c114       ldr.w   ip, [r4, #276]  ; 0x114
- 8003f4a:      46a9            mov     r9, r5
- 8003f4c:      ab18            add     r3, sp, #96     ; 0x60
- 8003f4e:      f8d4 2110       ldr.w   r2, [r4, #272]  ; 0x110
- 8003f52:      f843 cd40       str.w   ip, [r3, #-64]!
- 8003f56:      2100            movs    r1, #0
- 8003f58:      e9cd 120a       strd    r1, r2, [sp, #40]       ; 0x28
- 8003f5c:      f8cd 9024       str.w   r9, [sp, #36]   ; 0x24
- 8003f60:      f8c4 3114       str.w   r3, [r4, #276]  ; 0x114
- 8003f64:      f8d9 2008       ldr.w   r2, [r9, #8]
- 8003f68:      e010            b.n     8003f8c <d_print_comp+0x1398>
- 8003f6a:      2200            movs    r2, #0
- 8003f6c:      ab18            add     r3, sp, #96     ; 0x60
- 8003f6e:      f8d4 1114       ldr.w   r1, [r4, #276]  ; 0x114
- 8003f72:      f843 1d40       str.w   r1, [r3, #-64]!
- 8003f76:      f8d4 1110       ldr.w   r1, [r4, #272]  ; 0x110
- 8003f7a:      9509            str     r5, [sp, #36]   ; 0x24
- 8003f7c:      2000            movs    r0, #0
- 8003f7e:      f8c4 3114       str.w   r3, [r4, #276]  ; 0x114
- 8003f82:      e9cd 010a       strd    r0, r1, [sp, #40]       ; 0x28
- 8003f86:      46a9            mov     r9, r5
- 8003f88:      2a00            cmp     r2, #0
- 8003f8a:      d0eb            beq.n   8003f64 <d_print_comp+0x1370>
- 8003f8c:      4631            mov     r1, r6
- 8003f8e:      4620            mov     r0, r4
- 8003f90:      f7fe fe30       bl      8002bf4 <d_print_comp>
- 8003f94:      9b0a            ldr     r3, [sp, #40]   ; 0x28
- 8003f96:      b923            cbnz    r3, 8003fa2 <d_print_comp+0x13ae>
- 8003f98:      464a            mov     r2, r9
- 8003f9a:      4631            mov     r1, r6
- 8003f9c:      4620            mov     r0, r4
- 8003f9e:      f001 fcbf       bl      8005920 <d_print_mod>
- 8003fa2:      9b08            ldr     r3, [sp, #32]
- 8003fa4:      f8c4 3114       str.w   r3, [r4, #276]  ; 0x114
- 8003fa8:      b10f            cbz     r7, 8003fae <d_print_comp+0x13ba>
- 8003faa:      f8c4 8110       str.w   r8, [r4, #272]  ; 0x110
- 8003fae:      9905            ldr     r1, [sp, #20]
- 8003fb0:      686a            ldr     r2, [r5, #4]
- 8003fb2:      f7fe bf12       b.w     8002dda <d_print_comp+0x1e6>
- 8003fb6:      f8d4 c114       ldr.w   ip, [r4, #276]  ; 0x114
- 8003fba:      4663            mov     r3, ip
- 8003fbc:      f1bc 0f00       cmp.w   ip, #0
- 8003fc0:      d0c3            beq.n   8003f4a <d_print_comp+0x1356>
- 8003fc2:      6899            ldr     r1, [r3, #8]
- 8003fc4:      b951            cbnz    r1, 8003fdc <d_print_comp+0x13e8>
- 8003fc6:      685a            ldr     r2, [r3, #4]
- 8003fc8:      7812            ldrb    r2, [r2, #0]
- 8003fca:      f1a2 0e19       sub.w   lr, r2, #25
- 8003fce:      f1be 0f02       cmp.w   lr, #2
- 8003fd2:      f201 80fc       bhi.w   80051ce <d_print_comp+0x25da>
- 8003fd6:      4290            cmp     r0, r2
- 8003fd8:      f001 80f0       beq.w   80051bc <d_print_comp+0x25c8>
- 8003fdc:      681b            ldr     r3, [r3, #0]
- 8003fde:      2b00            cmp     r3, #0
- 8003fe0:      d1ef            bne.n   8003fc2 <d_print_comp+0x13ce>
- 8003fe2:      e7b2            b.n     8003f4a <d_print_comp+0x1356>
- 8003fe4:      e9d5 6702       ldrd    r6, r7, [r5, #8]
- 8003fe8:      2f00            cmp     r7, #0
- 8003fea:      f43e aef6       beq.w   8002dda <d_print_comp+0x1e6>
- 8003fee:      4437            add     r7, r6
- 8003ff0:      f8d4 3100       ldr.w   r3, [r4, #256]  ; 0x100
- 8003ff4:      3f01            subs    r7, #1
- 8003ff6:      3e01            subs    r6, #1
- 8003ff8:      f04f 0800       mov.w   r8, #0
- 8003ffc:      e027            b.n     800404e <d_print_comp+0x145a>
- 8003ffe:      bf00            nop
- 8004000:      08012707        .word   0x08012707
- 8004004:      080126ef        .word   0x080126ef
- 8004008:      080126d3        .word   0x080126d3
- 800400c:      080126bb        .word   0x080126bb
- 8004010:      080126a7        .word   0x080126a7
- 8004014:      08012697        .word   0x08012697
- 8004018:      0801267b        .word   0x0801267b
- 800401c:      08012667        .word   0x08012667
- 8004020:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8004024:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8004028:      f884 80ff       strb.w  r8, [r4, #255]  ; 0xff
- 800402c:      4798            blx     r3
- 800402e:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8004032:      3301            adds    r3, #1
- 8004034:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8004038:      2200            movs    r2, #0
- 800403a:      2301            movs    r3, #1
- 800403c:      42b7            cmp     r7, r6
- 800403e:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 8004042:      f804 9002       strb.w  r9, [r4, r2]
- 8004046:      f884 9104       strb.w  r9, [r4, #260]  ; 0x104
- 800404a:      f000 83ce       beq.w   80047ea <d_print_comp+0x1bf6>
- 800404e:      2bff            cmp     r3, #255        ; 0xff
- 8004050:      4619            mov     r1, r3
- 8004052:      4620            mov     r0, r4
- 8004054:      f816 9f01       ldrb.w  r9, [r6, #1]!
- 8004058:      d0e2            beq.n   8004020 <d_print_comp+0x142c>
- 800405a:      461a            mov     r2, r3
- 800405c:      3301            adds    r3, #1
- 800405e:      e7ed            b.n     800403c <d_print_comp+0x1448>
- 8004060:      4631            mov     r1, r6
- 8004062:      68aa            ldr     r2, [r5, #8]
- 8004064:      4620            mov     r0, r4
- 8004066:      f7fe fdc5       bl      8002bf4 <d_print_comp>
- 800406a:      9905            ldr     r1, [sp, #20]
- 800406c:      686a            ldr     r2, [r5, #4]
- 800406e:      f7fe beb4       b.w     8002dda <d_print_comp+0x1e6>
- 8004072:      f016 0604       ands.w  r6, r6, #4
- 8004076:      68a8            ldr     r0, [r5, #8]
- 8004078:      f040 8505       bne.w   8004a86 <d_print_comp+0x1e92>
- 800407c:      e9d0 7300       ldrd    r7, r3, [r0]
- 8004080:      2b00            cmp     r3, #0
- 8004082:      f43e aeaa       beq.w   8002dda <d_print_comp+0x1e6>
- 8004086:      eb07 0803       add.w   r8, r7, r3
- 800408a:      f108 38ff       add.w   r8, r8, #4294967295     ; 0xffffffff
- 800408e:      f8d4 3100       ldr.w   r3, [r4, #256]  ; 0x100
- 8004092:      3f01            subs    r7, #1
- 8004094:      46b1            mov     r9, r6
- 8004096:      e015            b.n     80040c4 <d_print_comp+0x14d0>
- 8004098:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 800409c:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 80040a0:      f884 90ff       strb.w  r9, [r4, #255]  ; 0xff
- 80040a4:      4798            blx     r3
- 80040a6:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 80040aa:      3301            adds    r3, #1
- 80040ac:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 80040b0:      2200            movs    r2, #0
- 80040b2:      2301            movs    r3, #1
- 80040b4:      45b8            cmp     r8, r7
- 80040b6:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 80040ba:      54a6            strb    r6, [r4, r2]
- 80040bc:      f884 6104       strb.w  r6, [r4, #260]  ; 0x104
- 80040c0:      f000 8545       beq.w   8004b4e <d_print_comp+0x1f5a>
- 80040c4:      2bff            cmp     r3, #255        ; 0xff
- 80040c6:      4619            mov     r1, r3
- 80040c8:      4620            mov     r0, r4
- 80040ca:      f817 6f01       ldrb.w  r6, [r7, #1]!
- 80040ce:      d0e3            beq.n   8004098 <d_print_comp+0x14a4>
- 80040d0:      461a            mov     r2, r3
- 80040d2:      3301            adds    r3, #1
- 80040d4:      e7ee            b.n     80040b4 <d_print_comp+0x14c0>
- 80040d6:      f8d5 8008       ldr.w   r8, [r5, #8]
- 80040da:      f8d4 3114       ldr.w   r3, [r4, #276]  ; 0x114
- 80040de:      9302            str     r3, [sp, #8]
- 80040e0:      2200            movs    r2, #0
- 80040e2:      f8c4 2114       str.w   r2, [r4, #276]  ; 0x114
- 80040e6:      f1b8 0f00       cmp.w   r8, #0
- 80040ea:      d025            beq.n   8004138 <d_print_comp+0x1544>
- 80040ec:      f8d4 3110       ldr.w   r3, [r4, #272]  ; 0x110
- 80040f0:      9301            str     r3, [sp, #4]
- 80040f2:      f10d 0920       add.w   r9, sp, #32
- 80040f6:      4623            mov     r3, r4
- 80040f8:      4617            mov     r7, r2
- 80040fa:      4644            mov     r4, r8
- 80040fc:      4692            mov     sl, r2
- 80040fe:      4649            mov     r1, r9
- 8004100:      46ab            mov     fp, r5
- 8004102:      4698            mov     r8, r3
- 8004104:      7825            ldrb    r5, [r4, #0]
- 8004106:      9b01            ldr     r3, [sp, #4]
- 8004108:      600a            str     r2, [r1, #0]
- 800410a:      4628            mov     r0, r5
- 800410c:      e9c1 4a01       strd    r4, sl, [r1, #4]
- 8004110:      60cb            str     r3, [r1, #12]
- 8004112:      3701            adds    r7, #1
- 8004114:      460a            mov     r2, r1
- 8004116:      f7fc f97f       bl      8000418 <is_fnqual_component_type>
- 800411a:      2800            cmp     r0, #0
- 800411c:      f000 87c8       beq.w   80050b0 <d_print_comp+0x24bc>
- 8004120:      68a4            ldr     r4, [r4, #8]
- 8004122:      2c00            cmp     r4, #0
- 8004124:      f001 8057       beq.w   80051d6 <d_print_comp+0x25e2>
- 8004128:      2f04            cmp     r7, #4
- 800412a:      f101 0110       add.w   r1, r1, #16
- 800412e:      d1e9            bne.n   8004104 <d_print_comp+0x1510>
- 8004130:      4644            mov     r4, r8
- 8004132:      465d            mov     r5, fp
- 8004134:      f8c8 2114       str.w   r2, [r8, #276]  ; 0x114
- 8004138:      2301            movs    r3, #1
- 800413a:      f8c4 3118       str.w   r3, [r4, #280]  ; 0x118
- 800413e:      9905            ldr     r1, [sp, #20]
- 8004140:      686a            ldr     r2, [r5, #4]
- 8004142:      f7fe be4a       b.w     8002dda <d_print_comp+0x1e6>
- 8004146:      f016 0604       ands.w  r6, r6, #4
- 800414a:      68af            ldr     r7, [r5, #8]
- 800414c:      f040 8405       bne.w   800495a <d_print_comp+0x1d66>
- 8004150:      68eb            ldr     r3, [r5, #12]
- 8004152:      2b00            cmp     r3, #0
- 8004154:      f43e ae41       beq.w   8002dda <d_print_comp+0x1e6>
- 8004158:      eb07 0803       add.w   r8, r7, r3
- 800415c:      f108 38ff       add.w   r8, r8, #4294967295     ; 0xffffffff
- 8004160:      f8d4 3100       ldr.w   r3, [r4, #256]  ; 0x100
- 8004164:      3f01            subs    r7, #1
- 8004166:      46b1            mov     r9, r6
- 8004168:      e015            b.n     8004196 <d_print_comp+0x15a2>
- 800416a:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 800416e:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8004172:      f884 90ff       strb.w  r9, [r4, #255]  ; 0xff
- 8004176:      4798            blx     r3
- 8004178:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 800417c:      3301            adds    r3, #1
- 800417e:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8004182:      2200            movs    r2, #0
- 8004184:      2301            movs    r3, #1
- 8004186:      45b8            cmp     r8, r7
- 8004188:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 800418c:      54a6            strb    r6, [r4, r2]
- 800418e:      f884 6104       strb.w  r6, [r4, #260]  ; 0x104
- 8004192:      f000 84e0       beq.w   8004b56 <d_print_comp+0x1f62>
- 8004196:      2bff            cmp     r3, #255        ; 0xff
- 8004198:      4619            mov     r1, r3
- 800419a:      4620            mov     r0, r4
- 800419c:      f817 6f01       ldrb.w  r6, [r7, #1]!
- 80041a0:      d0e3            beq.n   800416a <d_print_comp+0x1576>
- 80041a2:      461a            mov     r2, r3
- 80041a4:      3301            adds    r3, #1
- 80041a6:      e7ee            b.n     8004186 <d_print_comp+0x1592>
- 80041a8:      68aa            ldr     r2, [r5, #8]
- 80041aa:      4631            mov     r1, r6
- 80041ac:      4620            mov     r0, r4
- 80041ae:      f7fe fd21       bl      8002bf4 <d_print_comp>
- 80041b2:      f016 0904       ands.w  r9, r6, #4
- 80041b6:      f000 8681       beq.w   8004ebc <d_print_comp+0x22c8>
- 80041ba:      f8d4 7100       ldr.w   r7, [r4, #256]  ; 0x100
- 80041be:      2fff            cmp     r7, #255        ; 0xff
- 80041c0:      d112            bne.n   80041e8 <d_print_comp+0x15f4>
- 80041c2:      f04f 0800       mov.w   r8, #0
- 80041c6:      4639            mov     r1, r7
- 80041c8:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 80041cc:      f884 80ff       strb.w  r8, [r4, #255]  ; 0xff
- 80041d0:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 80041d4:      4620            mov     r0, r4
- 80041d6:      4798            blx     r3
- 80041d8:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 80041dc:      f8c4 8100       str.w   r8, [r4, #256]  ; 0x100
- 80041e0:      3301            adds    r3, #1
- 80041e2:      4647            mov     r7, r8
- 80041e4:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 80041e8:      232e            movs    r3, #46 ; 0x2e
- 80041ea:      1c7a            adds    r2, r7, #1
- 80041ec:      f8c4 2100       str.w   r2, [r4, #256]  ; 0x100
- 80041f0:      55e3            strb    r3, [r4, r7]
- 80041f2:      f884 3104       strb.w  r3, [r4, #260]  ; 0x104
- 80041f6:      68ef            ldr     r7, [r5, #12]
- 80041f8:      783b            ldrb    r3, [r7, #0]
- 80041fa:      2b46            cmp     r3, #70 ; 0x46
- 80041fc:      f000 873a       beq.w   8005074 <d_print_comp+0x2480>
- 8004200:      463a            mov     r2, r7
- 8004202:      4631            mov     r1, r6
- 8004204:      4620            mov     r0, r4
- 8004206:      f7fe fcf5       bl      8002bf4 <d_print_comp>
- 800420a:      9905            ldr     r1, [sp, #20]
- 800420c:      686a            ldr     r2, [r5, #4]
- 800420e:      f7fe bde4       b.w     8002dda <d_print_comp+0x1e6>
- 8004212:      2301            movs    r3, #1
- 8004214:      f8c4 3118       str.w   r3, [r4, #280]  ; 0x118
- 8004218:      686a            ldr     r2, [r5, #4]
- 800421a:      f7fe bdde       b.w     8002dda <d_print_comp+0x1e6>
- 800421e:      3701            adds    r7, #1
- 8004220:      454f            cmp     r7, r9
- 8004222:      f47e ae2b       bne.w   8002e7c <d_print_comp+0x288>
- 8004226:      9d03            ldr     r5, [sp, #12]
- 8004228:      9905            ldr     r1, [sp, #20]
- 800422a:      686a            ldr     r2, [r5, #4]
- 800422c:      f7fe bdd5       b.w     8002dda <d_print_comp+0x1e6>
- 8004230:      4631            mov     r1, r6
- 8004232:      68aa            ldr     r2, [r5, #8]
- 8004234:      4620            mov     r0, r4
- 8004236:      f7fe fcdd       bl      8002bf4 <d_print_comp>
- 800423a:      9905            ldr     r1, [sp, #20]
- 800423c:      686a            ldr     r2, [r5, #4]
- 800423e:      f7fe bdcc       b.w     8002dda <d_print_comp+0x1e6>
- 8004242:      4631            mov     r1, r6
- 8004244:      68aa            ldr     r2, [r5, #8]
- 8004246:      4620            mov     r0, r4
- 8004248:      f7fe fcd4       bl      8002bf4 <d_print_comp>
- 800424c:      f8d4 7100       ldr.w   r7, [r4, #256]  ; 0x100
- 8004250:      2fff            cmp     r7, #255        ; 0xff
- 8004252:      d111            bne.n   8004278 <d_print_comp+0x1684>
- 8004254:      2600            movs    r6, #0
- 8004256:      4639            mov     r1, r7
- 8004258:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 800425c:      f884 60ff       strb.w  r6, [r4, #255]  ; 0xff
- 8004260:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8004264:      4620            mov     r0, r4
- 8004266:      4798            blx     r3
- 8004268:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 800426c:      f8c4 6100       str.w   r6, [r4, #256]  ; 0x100
- 8004270:      3301            adds    r3, #1
- 8004272:      4637            mov     r7, r6
- 8004274:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8004278:      1c7a            adds    r2, r7, #1
- 800427a:      2329            movs    r3, #41 ; 0x29
- 800427c:      f8c4 2100       str.w   r2, [r4, #256]  ; 0x100
- 8004280:      55e3            strb    r3, [r4, r7]
- 8004282:      f884 3104       strb.w  r3, [r4, #260]  ; 0x104
- 8004286:      686a            ldr     r2, [r5, #4]
- 8004288:      9905            ldr     r1, [sp, #20]
- 800428a:      f7fe bda6       b.w     8002dda <d_print_comp+0x1e6>
- 800428e:      f8d4 311c       ldr.w   r3, [r4, #284]  ; 0x11c
- 8004292:      68aa            ldr     r2, [r5, #8]
- 8004294:      4fd3            ldr     r7, [pc, #844]  ; (80045e4 <d_print_comp+0x19f0>)
- 8004296:      3301            adds    r3, #1
- 8004298:      4631            mov     r1, r6
- 800429a:      f8c4 311c       str.w   r3, [r4, #284]  ; 0x11c
- 800429e:      4620            mov     r0, r4
- 80042a0:      f7fe fca8       bl      8002bf4 <d_print_comp>
- 80042a4:      f8d4 211c       ldr.w   r2, [r4, #284]  ; 0x11c
- 80042a8:      f8d4 3100       ldr.w   r3, [r4, #256]  ; 0x100
- 80042ac:      3a01            subs    r2, #1
- 80042ae:      f8c4 211c       str.w   r2, [r4, #284]  ; 0x11c
- 80042b2:      1cbe            adds    r6, r7, #2
- 80042b4:      f04f 0800       mov.w   r8, #0
- 80042b8:      e015            b.n     80042e6 <d_print_comp+0x16f2>
- 80042ba:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 80042be:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 80042c2:      f884 80ff       strb.w  r8, [r4, #255]  ; 0xff
- 80042c6:      4798            blx     r3
- 80042c8:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 80042cc:      3301            adds    r3, #1
- 80042ce:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 80042d2:      2200            movs    r2, #0
- 80042d4:      2301            movs    r3, #1
- 80042d6:      42b7            cmp     r7, r6
- 80042d8:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 80042dc:      f804 9002       strb.w  r9, [r4, r2]
- 80042e0:      f884 9104       strb.w  r9, [r4, #260]  ; 0x104
- 80042e4:      d011            beq.n   800430a <d_print_comp+0x1716>
- 80042e6:      2bff            cmp     r3, #255        ; 0xff
- 80042e8:      4619            mov     r1, r3
- 80042ea:      4620            mov     r0, r4
- 80042ec:      f817 9b01       ldrb.w  r9, [r7], #1
- 80042f0:      d0e3            beq.n   80042ba <d_print_comp+0x16c6>
- 80042f2:      461a            mov     r2, r3
- 80042f4:      3301            adds    r3, #1
- 80042f6:      e7ee            b.n     80042d6 <d_print_comp+0x16e2>
- 80042f8:      4631            mov     r1, r6
- 80042fa:      68aa            ldr     r2, [r5, #8]
- 80042fc:      4620            mov     r0, r4
- 80042fe:      f7fe fc79       bl      8002bf4 <d_print_comp>
- 8004302:      9905            ldr     r1, [sp, #20]
- 8004304:      686a            ldr     r2, [r5, #4]
- 8004306:      f7fe bd68       b.w     8002dda <d_print_comp+0x1e6>
- 800430a:      68ea            ldr     r2, [r5, #12]
- 800430c:      49b6            ldr     r1, [pc, #728]  ; (80045e8 <d_print_comp+0x19f4>)
- 800430e:      3201            adds    r2, #1
- 8004310:      a808            add     r0, sp, #32
- 8004312:      f00a faa3       bl      800e85c <sprintf>
- 8004316:      a808            add     r0, sp, #32
- 8004318:      f002 fd5c       bl      8006dd4 <strlen>
- 800431c:      b328            cbz     r0, 800436a <d_print_comp+0x1776>
- 800431e:      ae08            add     r6, sp, #32
- 8004320:      f8d4 3100       ldr.w   r3, [r4, #256]  ; 0x100
- 8004324:      1837            adds    r7, r6, r0
- 8004326:      f04f 0800       mov.w   r8, #0
- 800432a:      e015            b.n     8004358 <d_print_comp+0x1764>
- 800432c:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8004330:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8004334:      f884 80ff       strb.w  r8, [r4, #255]  ; 0xff
- 8004338:      4798            blx     r3
- 800433a:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 800433e:      3301            adds    r3, #1
- 8004340:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8004344:      2200            movs    r2, #0
- 8004346:      2301            movs    r3, #1
- 8004348:      42be            cmp     r6, r7
- 800434a:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 800434e:      f804 9002       strb.w  r9, [r4, r2]
- 8004352:      f884 9104       strb.w  r9, [r4, #260]  ; 0x104
- 8004356:      d00a            beq.n   800436e <d_print_comp+0x177a>
- 8004358:      2bff            cmp     r3, #255        ; 0xff
- 800435a:      4619            mov     r1, r3
- 800435c:      4620            mov     r0, r4
- 800435e:      f816 9b01       ldrb.w  r9, [r6], #1
- 8004362:      d0e3            beq.n   800432c <d_print_comp+0x1738>
- 8004364:      461a            mov     r2, r3
- 8004366:      3301            adds    r3, #1
- 8004368:      e7ee            b.n     8004348 <d_print_comp+0x1754>
- 800436a:      f8d4 3100       ldr.w   r3, [r4, #256]  ; 0x100
- 800436e:      2bff            cmp     r3, #255        ; 0xff
- 8004370:      d110            bne.n   8004394 <d_print_comp+0x17a0>
- 8004372:      2600            movs    r6, #0
- 8004374:      4619            mov     r1, r3
- 8004376:      f884 60ff       strb.w  r6, [r4, #255]  ; 0xff
- 800437a:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 800437e:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8004382:      4620            mov     r0, r4
- 8004384:      4798            blx     r3
- 8004386:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 800438a:      f8c4 6100       str.w   r6, [r4, #256]  ; 0x100
- 800438e:      3301            adds    r3, #1
- 8004390:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8004394:      f8d4 2100       ldr.w   r2, [r4, #256]  ; 0x100
- 8004398:      9905            ldr     r1, [sp, #20]
- 800439a:      1c50            adds    r0, r2, #1
- 800439c:      237d            movs    r3, #125        ; 0x7d
- 800439e:      f8c4 0100       str.w   r0, [r4, #256]  ; 0x100
- 80043a2:      54a3            strb    r3, [r4, r2]
- 80043a4:      f884 3104       strb.w  r3, [r4, #260]  ; 0x104
- 80043a8:      686a            ldr     r2, [r5, #4]
- 80043aa:      f7fe bd16       b.w     8002dda <d_print_comp+0x1e6>
- 80043ae:      4631            mov     r1, r6
- 80043b0:      68aa            ldr     r2, [r5, #8]
- 80043b2:      4620            mov     r0, r4
- 80043b4:      f7fe fc1e       bl      8002bf4 <d_print_comp>
- 80043b8:      9905            ldr     r1, [sp, #20]
- 80043ba:      686a            ldr     r2, [r5, #4]
- 80043bc:      f7fe bd0d       b.w     8002dda <d_print_comp+0x1e6>
- 80043c0:      68aa            ldr     r2, [r5, #8]
- 80043c2:      4989            ldr     r1, [pc, #548]  ; (80045e8 <d_print_comp+0x19f4>)
- 80043c4:      3201            adds    r2, #1
- 80043c6:      a808            add     r0, sp, #32
- 80043c8:      f00a fa48       bl      800e85c <sprintf>
- 80043cc:      a808            add     r0, sp, #32
- 80043ce:      f002 fd01       bl      8006dd4 <strlen>
- 80043d2:      2800            cmp     r0, #0
- 80043d4:      d071            beq.n   80044ba <d_print_comp+0x18c6>
- 80043d6:      ae08            add     r6, sp, #32
- 80043d8:      f8d4 3100       ldr.w   r3, [r4, #256]  ; 0x100
- 80043dc:      1837            adds    r7, r6, r0
- 80043de:      f04f 0800       mov.w   r8, #0
- 80043e2:      e015            b.n     8004410 <d_print_comp+0x181c>
- 80043e4:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 80043e8:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 80043ec:      f884 80ff       strb.w  r8, [r4, #255]  ; 0xff
- 80043f0:      4798            blx     r3
- 80043f2:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 80043f6:      3301            adds    r3, #1
- 80043f8:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 80043fc:      2200            movs    r2, #0
- 80043fe:      2301            movs    r3, #1
- 8004400:      42b7            cmp     r7, r6
- 8004402:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 8004406:      f804 9002       strb.w  r9, [r4, r2]
- 800440a:      f884 9104       strb.w  r9, [r4, #260]  ; 0x104
- 800440e:      d056            beq.n   80044be <d_print_comp+0x18ca>
- 8004410:      2bff            cmp     r3, #255        ; 0xff
- 8004412:      4619            mov     r1, r3
- 8004414:      4620            mov     r0, r4
- 8004416:      f816 9b01       ldrb.w  r9, [r6], #1
- 800441a:      d0e3            beq.n   80043e4 <d_print_comp+0x17f0>
- 800441c:      461a            mov     r2, r3
- 800441e:      3301            adds    r3, #1
- 8004420:      e7ee            b.n     8004400 <d_print_comp+0x180c>
- 8004422:      4631            mov     r1, r6
- 8004424:      68ea            ldr     r2, [r5, #12]
- 8004426:      4620            mov     r0, r4
- 8004428:      f7fe fbe4       bl      8002bf4 <d_print_comp>
- 800442c:      f8d4 7100       ldr.w   r7, [r4, #256]  ; 0x100
- 8004430:      2fff            cmp     r7, #255        ; 0xff
- 8004432:      d111            bne.n   8004458 <d_print_comp+0x1864>
- 8004434:      2600            movs    r6, #0
- 8004436:      4639            mov     r1, r7
- 8004438:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 800443c:      f884 60ff       strb.w  r6, [r4, #255]  ; 0xff
- 8004440:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8004444:      4620            mov     r0, r4
- 8004446:      4798            blx     r3
- 8004448:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 800444c:      f8c4 6100       str.w   r6, [r4, #256]  ; 0x100
- 8004450:      3301            adds    r3, #1
- 8004452:      4637            mov     r7, r6
- 8004454:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8004458:      1c7a            adds    r2, r7, #1
- 800445a:      235d            movs    r3, #93 ; 0x5d
- 800445c:      f8c4 2100       str.w   r2, [r4, #256]  ; 0x100
- 8004460:      55e3            strb    r3, [r4, r7]
- 8004462:      f884 3104       strb.w  r3, [r4, #260]  ; 0x104
- 8004466:      686a            ldr     r2, [r5, #4]
- 8004468:      9905            ldr     r1, [sp, #20]
- 800446a:      f7fe bcb6       b.w     8002dda <d_print_comp+0x1e6>
- 800446e:      4631            mov     r1, r6
- 8004470:      68ea            ldr     r2, [r5, #12]
- 8004472:      4620            mov     r0, r4
- 8004474:      f7fe fbbe       bl      8002bf4 <d_print_comp>
- 8004478:      f8d4 7100       ldr.w   r7, [r4, #256]  ; 0x100
- 800447c:      2fff            cmp     r7, #255        ; 0xff
- 800447e:      d111            bne.n   80044a4 <d_print_comp+0x18b0>
- 8004480:      2600            movs    r6, #0
- 8004482:      4639            mov     r1, r7
- 8004484:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8004488:      f884 60ff       strb.w  r6, [r4, #255]  ; 0xff
- 800448c:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8004490:      4620            mov     r0, r4
- 8004492:      4798            blx     r3
- 8004494:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8004498:      f8c4 6100       str.w   r6, [r4, #256]  ; 0x100
- 800449c:      3301            adds    r3, #1
- 800449e:      4637            mov     r7, r6
- 80044a0:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 80044a4:      1c7a            adds    r2, r7, #1
- 80044a6:      235d            movs    r3, #93 ; 0x5d
- 80044a8:      f8c4 2100       str.w   r2, [r4, #256]  ; 0x100
- 80044ac:      55e3            strb    r3, [r4, r7]
- 80044ae:      f884 3104       strb.w  r3, [r4, #260]  ; 0x104
- 80044b2:      686a            ldr     r2, [r5, #4]
- 80044b4:      9905            ldr     r1, [sp, #20]
- 80044b6:      f7fe bc90       b.w     8002dda <d_print_comp+0x1e6>
- 80044ba:      f8d4 3100       ldr.w   r3, [r4, #256]  ; 0x100
- 80044be:      2bff            cmp     r3, #255        ; 0xff
- 80044c0:      d110            bne.n   80044e4 <d_print_comp+0x18f0>
- 80044c2:      2600            movs    r6, #0
- 80044c4:      4619            mov     r1, r3
- 80044c6:      f884 60ff       strb.w  r6, [r4, #255]  ; 0xff
- 80044ca:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 80044ce:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 80044d2:      4620            mov     r0, r4
- 80044d4:      4798            blx     r3
- 80044d6:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 80044da:      f8c4 6100       str.w   r6, [r4, #256]  ; 0x100
- 80044de:      3301            adds    r3, #1
- 80044e0:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 80044e4:      f8d4 2100       ldr.w   r2, [r4, #256]  ; 0x100
- 80044e8:      9905            ldr     r1, [sp, #20]
- 80044ea:      1c50            adds    r0, r2, #1
- 80044ec:      237d            movs    r3, #125        ; 0x7d
- 80044ee:      f8c4 0100       str.w   r0, [r4, #256]  ; 0x100
- 80044f2:      54a3            strb    r3, [r4, r2]
- 80044f4:      f884 3104       strb.w  r3, [r4, #260]  ; 0x104
- 80044f8:      686a            ldr     r2, [r5, #4]
- 80044fa:      f7fe bc6e       b.w     8002dda <d_print_comp+0x1e6>
- 80044fe:      4631            mov     r1, r6
- 8004500:      68aa            ldr     r2, [r5, #8]
- 8004502:      4620            mov     r0, r4
- 8004504:      f7fe fb76       bl      8002bf4 <d_print_comp>
- 8004508:      9905            ldr     r1, [sp, #20]
- 800450a:      686a            ldr     r2, [r5, #4]
- 800450c:      f7fe bc65       b.w     8002dda <d_print_comp+0x1e6>
- 8004510:      9905            ldr     r1, [sp, #20]
- 8004512:      686a            ldr     r2, [r5, #4]
- 8004514:      f7fe bc61       b.w     8002dda <d_print_comp+0x1e6>
- 8004518:      4631            mov     r1, r6
- 800451a:      68aa            ldr     r2, [r5, #8]
- 800451c:      4620            mov     r0, r4
- 800451e:      f7fe fb69       bl      8002bf4 <d_print_comp>
- 8004522:      9905            ldr     r1, [sp, #20]
- 8004524:      686a            ldr     r2, [r5, #4]
- 8004526:      f7fe bc58       b.w     8002dda <d_print_comp+0x1e6>
- 800452a:      4631            mov     r1, r6
- 800452c:      68ea            ldr     r2, [r5, #12]
- 800452e:      4620            mov     r0, r4
- 8004530:      f7fe fb60       bl      8002bf4 <d_print_comp>
- 8004534:      9905            ldr     r1, [sp, #20]
- 8004536:      686a            ldr     r2, [r5, #4]
- 8004538:      f7fe bc4f       b.w     8002dda <d_print_comp+0x1e6>
- 800453c:      f8d4 2144       ldr.w   r2, [r4, #324]  ; 0x144
- 8004540:      b13a            cbz     r2, 8004552 <d_print_comp+0x195e>
- 8004542:      ab18            add     r3, sp, #96     ; 0x60
- 8004544:      f8d4 1110       ldr.w   r1, [r4, #272]  ; 0x110
- 8004548:      f843 1d40       str.w   r1, [r3, #-64]!
- 800454c:      9209            str     r2, [sp, #36]   ; 0x24
- 800454e:      f8c4 3110       str.w   r3, [r4, #272]  ; 0x110
- 8004552:      68aa            ldr     r2, [r5, #8]
- 8004554:      7813            ldrb    r3, [r2, #0]
- 8004556:      2b04            cmp     r3, #4
- 8004558:      f000 84d6       beq.w   8004f08 <d_print_comp+0x2314>
- 800455c:      4631            mov     r1, r6
- 800455e:      4620            mov     r0, r4
- 8004560:      f7fe fb48       bl      8002bf4 <d_print_comp>
- 8004564:      f8d4 3144       ldr.w   r3, [r4, #324]  ; 0x144
- 8004568:      b113            cbz     r3, 8004570 <d_print_comp+0x197c>
- 800456a:      9b08            ldr     r3, [sp, #32]
- 800456c:      f8c4 3110       str.w   r3, [r4, #272]  ; 0x110
- 8004570:      9905            ldr     r1, [sp, #20]
- 8004572:      686a            ldr     r2, [r5, #4]
- 8004574:      f7fe bc31       b.w     8002dda <d_print_comp+0x1e6>
- 8004578:      f8da 6004       ldr.w   r6, [sl, #4]
- 800457c:      7832            ldrb    r2, [r6, #0]
- 800457e:      3a61            subs    r2, #97 ; 0x61
- 8004580:      2a19            cmp     r2, #25
- 8004582:      d81d            bhi.n   80045c0 <d_print_comp+0x19cc>
- 8004584:      2bff            cmp     r3, #255        ; 0xff
- 8004586:      d110            bne.n   80045aa <d_print_comp+0x19b6>
- 8004588:      2600            movs    r6, #0
- 800458a:      4619            mov     r1, r3
- 800458c:      f884 60ff       strb.w  r6, [r4, #255]  ; 0xff
- 8004590:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8004594:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8004598:      4620            mov     r0, r4
- 800459a:      4798            blx     r3
- 800459c:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 80045a0:      f8c4 6100       str.w   r6, [r4, #256]  ; 0x100
- 80045a4:      3301            adds    r3, #1
- 80045a6:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 80045aa:      f8d4 2100       ldr.w   r2, [r4, #256]  ; 0x100
- 80045ae:      2320            movs    r3, #32
- 80045b0:      1c51            adds    r1, r2, #1
- 80045b2:      f8c4 1100       str.w   r1, [r4, #256]  ; 0x100
- 80045b6:      54a3            strb    r3, [r4, r2]
- 80045b8:      f884 3104       strb.w  r3, [r4, #260]  ; 0x104
- 80045bc:      f8da 6004       ldr.w   r6, [sl, #4]
- 80045c0:      19f3            adds    r3, r6, r7
- 80045c2:      f813 3c01       ldrb.w  r3, [r3, #-1]
- 80045c6:      2b20            cmp     r3, #32
- 80045c8:      bf08            it      eq
- 80045ca:      f107 37ff       addeq.w r7, r7, #4294967295     ; 0xffffffff
- 80045ce:      2f00            cmp     r7, #0
- 80045d0:      f000 86fb       beq.w   80053ca <d_print_comp+0x27d6>
- 80045d4:      3e01            subs    r6, #1
- 80045d6:      f8d4 3100       ldr.w   r3, [r4, #256]  ; 0x100
- 80045da:      4437            add     r7, r6
- 80045dc:      f04f 0800       mov.w   r8, #0
- 80045e0:      e01b            b.n     800461a <d_print_comp+0x1a26>
- 80045e2:      bf00            nop
- 80045e4:      08012824        .word   0x08012824
- 80045e8:      08012574        .word   0x08012574
- 80045ec:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 80045f0:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 80045f4:      f884 80ff       strb.w  r8, [r4, #255]  ; 0xff
- 80045f8:      4798            blx     r3
- 80045fa:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 80045fe:      3301            adds    r3, #1
- 8004600:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8004604:      2200            movs    r2, #0
- 8004606:      2301            movs    r3, #1
- 8004608:      42be            cmp     r6, r7
- 800460a:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 800460e:      f804 9002       strb.w  r9, [r4, r2]
- 8004612:      f884 9104       strb.w  r9, [r4, #260]  ; 0x104
- 8004616:      f000 80ec       beq.w   80047f2 <d_print_comp+0x1bfe>
- 800461a:      2bff            cmp     r3, #255        ; 0xff
- 800461c:      4619            mov     r1, r3
- 800461e:      4620            mov     r0, r4
- 8004620:      f816 9f01       ldrb.w  r9, [r6, #1]!
- 8004624:      d0e2            beq.n   80045ec <d_print_comp+0x19f8>
- 8004626:      461a            mov     r2, r3
- 8004628:      3301            adds    r3, #1
- 800462a:      e7ed            b.n     8004608 <d_print_comp+0x1a14>
- 800462c:      4631            mov     r1, r6
- 800462e:      68aa            ldr     r2, [r5, #8]
- 8004630:      4620            mov     r0, r4
- 8004632:      f7fe fadf       bl      8002bf4 <d_print_comp>
- 8004636:      9905            ldr     r1, [sp, #20]
- 8004638:      686a            ldr     r2, [r5, #4]
- 800463a:      f7fe bbce       b.w     8002dda <d_print_comp+0x1e6>
- 800463e:      4631            mov     r1, r6
- 8004640:      68aa            ldr     r2, [r5, #8]
- 8004642:      4620            mov     r0, r4
- 8004644:      f7fe fad6       bl      8002bf4 <d_print_comp>
- 8004648:      9905            ldr     r1, [sp, #20]
- 800464a:      686a            ldr     r2, [r5, #4]
- 800464c:      f7fe bbc5       b.w     8002dda <d_print_comp+0x1e6>
- 8004650:      4631            mov     r1, r6
- 8004652:      68aa            ldr     r2, [r5, #8]
- 8004654:      4620            mov     r0, r4
- 8004656:      f7fe facd       bl      8002bf4 <d_print_comp>
- 800465a:      9905            ldr     r1, [sp, #20]
- 800465c:      686a            ldr     r2, [r5, #4]
- 800465e:      f7fe bbbc       b.w     8002dda <d_print_comp+0x1e6>
- 8004662:      4631            mov     r1, r6
- 8004664:      68aa            ldr     r2, [r5, #8]
- 8004666:      4620            mov     r0, r4
- 8004668:      f7fe fac4       bl      8002bf4 <d_print_comp>
- 800466c:      9905            ldr     r1, [sp, #20]
- 800466e:      686a            ldr     r2, [r5, #4]
- 8004670:      f7fe bbb3       b.w     8002dda <d_print_comp+0x1e6>
- 8004674:      4631            mov     r1, r6
- 8004676:      68aa            ldr     r2, [r5, #8]
- 8004678:      4620            mov     r0, r4
- 800467a:      f7fe fabb       bl      8002bf4 <d_print_comp>
- 800467e:      9905            ldr     r1, [sp, #20]
- 8004680:      686a            ldr     r2, [r5, #4]
- 8004682:      f7fe bbaa       b.w     8002dda <d_print_comp+0x1e6>
- 8004686:      4631            mov     r1, r6
- 8004688:      68aa            ldr     r2, [r5, #8]
- 800468a:      4620            mov     r0, r4
- 800468c:      f7fe fab2       bl      8002bf4 <d_print_comp>
- 8004690:      9905            ldr     r1, [sp, #20]
- 8004692:      686a            ldr     r2, [r5, #4]
- 8004694:      f7fe bba1       b.w     8002dda <d_print_comp+0x1e6>
- 8004698:      4631            mov     r1, r6
- 800469a:      68aa            ldr     r2, [r5, #8]
- 800469c:      4620            mov     r0, r4
- 800469e:      f7fe faa9       bl      8002bf4 <d_print_comp>
- 80046a2:      9905            ldr     r1, [sp, #20]
- 80046a4:      686a            ldr     r2, [r5, #4]
- 80046a6:      f7fe bb98       b.w     8002dda <d_print_comp+0x1e6>
- 80046aa:      4631            mov     r1, r6
- 80046ac:      68aa            ldr     r2, [r5, #8]
- 80046ae:      4620            mov     r0, r4
- 80046b0:      f7fe faa0       bl      8002bf4 <d_print_comp>
- 80046b4:      9905            ldr     r1, [sp, #20]
- 80046b6:      686a            ldr     r2, [r5, #4]
- 80046b8:      f7fe bb8f       b.w     8002dda <d_print_comp+0x1e6>
- 80046bc:      4fcf            ldr     r7, [pc, #828]  ; (80049fc <d_print_comp+0x1e08>)
- 80046be:      68ea            ldr     r2, [r5, #12]
- 80046c0:      4631            mov     r1, r6
- 80046c2:      4620            mov     r0, r4
- 80046c4:      f7fe fa96       bl      8002bf4 <d_print_comp>
- 80046c8:      f107 0805       add.w   r8, r7, #5
- 80046cc:      f8d4 3100       ldr.w   r3, [r4, #256]  ; 0x100
- 80046d0:      f04f 0900       mov.w   r9, #0
- 80046d4:      e015            b.n     8004702 <d_print_comp+0x1b0e>
- 80046d6:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 80046da:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 80046de:      f884 90ff       strb.w  r9, [r4, #255]  ; 0xff
- 80046e2:      4798            blx     r3
- 80046e4:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 80046e8:      3301            adds    r3, #1
- 80046ea:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 80046ee:      2200            movs    r2, #0
- 80046f0:      2301            movs    r3, #1
- 80046f2:      4547            cmp     r7, r8
- 80046f4:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 80046f8:      f804 a002       strb.w  sl, [r4, r2]
- 80046fc:      f884 a104       strb.w  sl, [r4, #260]  ; 0x104
- 8004700:      d008            beq.n   8004714 <d_print_comp+0x1b20>
- 8004702:      2bff            cmp     r3, #255        ; 0xff
- 8004704:      4619            mov     r1, r3
- 8004706:      4620            mov     r0, r4
- 8004708:      f817 ab01       ldrb.w  sl, [r7], #1
- 800470c:      d0e3            beq.n   80046d6 <d_print_comp+0x1ae2>
- 800470e:      461a            mov     r2, r3
- 8004710:      3301            adds    r3, #1
- 8004712:      e7ee            b.n     80046f2 <d_print_comp+0x1afe>
- 8004714:      4631            mov     r1, r6
- 8004716:      68aa            ldr     r2, [r5, #8]
- 8004718:      4620            mov     r0, r4
- 800471a:      f7fe fa6b       bl      8002bf4 <d_print_comp>
- 800471e:      9905            ldr     r1, [sp, #20]
- 8004720:      686a            ldr     r2, [r5, #4]
- 8004722:      f7fe bb5a       b.w     8002dda <d_print_comp+0x1e6>
- 8004726:      4fb6            ldr     r7, [pc, #728]  ; (8004a00 <d_print_comp+0x1e0c>)
- 8004728:      68aa            ldr     r2, [r5, #8]
- 800472a:      4631            mov     r1, r6
- 800472c:      4620            mov     r0, r4
- 800472e:      f7fe fa61       bl      8002bf4 <d_print_comp>
- 8004732:      f107 0804       add.w   r8, r7, #4
- 8004736:      f8d4 3100       ldr.w   r3, [r4, #256]  ; 0x100
- 800473a:      f04f 0900       mov.w   r9, #0
- 800473e:      e015            b.n     800476c <d_print_comp+0x1b78>
- 8004740:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8004744:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8004748:      f884 90ff       strb.w  r9, [r4, #255]  ; 0xff
- 800474c:      4798            blx     r3
- 800474e:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8004752:      3301            adds    r3, #1
- 8004754:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8004758:      2200            movs    r2, #0
- 800475a:      2301            movs    r3, #1
- 800475c:      45b8            cmp     r8, r7
- 800475e:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 8004762:      f804 a002       strb.w  sl, [r4, r2]
- 8004766:      f884 a104       strb.w  sl, [r4, #260]  ; 0x104
- 800476a:      d008            beq.n   800477e <d_print_comp+0x1b8a>
- 800476c:      2bff            cmp     r3, #255        ; 0xff
- 800476e:      4619            mov     r1, r3
- 8004770:      4620            mov     r0, r4
- 8004772:      f817 ab01       ldrb.w  sl, [r7], #1
- 8004776:      d0e3            beq.n   8004740 <d_print_comp+0x1b4c>
- 8004778:      461a            mov     r2, r3
- 800477a:      3301            adds    r3, #1
- 800477c:      e7ee            b.n     800475c <d_print_comp+0x1b68>
- 800477e:      4631            mov     r1, r6
- 8004780:      68ea            ldr     r2, [r5, #12]
- 8004782:      4620            mov     r0, r4
- 8004784:      f7fe fa36       bl      8002bf4 <d_print_comp>
- 8004788:      9905            ldr     r1, [sp, #20]
- 800478a:      686a            ldr     r2, [r5, #4]
- 800478c:      f7fe bb25       b.w     8002dda <d_print_comp+0x1e6>
- 8004790:      4631            mov     r1, r6
- 8004792:      68aa            ldr     r2, [r5, #8]
- 8004794:      4620            mov     r0, r4
- 8004796:      f7fe fa2d       bl      8002bf4 <d_print_comp>
- 800479a:      9905            ldr     r1, [sp, #20]
- 800479c:      686a            ldr     r2, [r5, #4]
- 800479e:      f7fe bb1c       b.w     8002dda <d_print_comp+0x1e6>
- 80047a2:      4631            mov     r1, r6
- 80047a4:      68aa            ldr     r2, [r5, #8]
- 80047a6:      4620            mov     r0, r4
- 80047a8:      f7fe fa24       bl      8002bf4 <d_print_comp>
- 80047ac:      9905            ldr     r1, [sp, #20]
- 80047ae:      686a            ldr     r2, [r5, #4]
- 80047b0:      f7fe bb13       b.w     8002dda <d_print_comp+0x1e6>
- 80047b4:      4631            mov     r1, r6
- 80047b6:      68aa            ldr     r2, [r5, #8]
- 80047b8:      4620            mov     r0, r4
- 80047ba:      f7fe fa1b       bl      8002bf4 <d_print_comp>
- 80047be:      9905            ldr     r1, [sp, #20]
- 80047c0:      686a            ldr     r2, [r5, #4]
- 80047c2:      f7fe bb0a       b.w     8002dda <d_print_comp+0x1e6>
- 80047c6:      4631            mov     r1, r6
- 80047c8:      68aa            ldr     r2, [r5, #8]
- 80047ca:      4620            mov     r0, r4
- 80047cc:      f7fe fa12       bl      8002bf4 <d_print_comp>
- 80047d0:      9905            ldr     r1, [sp, #20]
- 80047d2:      686a            ldr     r2, [r5, #4]
- 80047d4:      f7fe bb01       b.w     8002dda <d_print_comp+0x1e6>
- 80047d8:      4631            mov     r1, r6
- 80047da:      68aa            ldr     r2, [r5, #8]
- 80047dc:      4620            mov     r0, r4
- 80047de:      f7fe fa09       bl      8002bf4 <d_print_comp>
- 80047e2:      9905            ldr     r1, [sp, #20]
- 80047e4:      686a            ldr     r2, [r5, #4]
- 80047e6:      f7fe baf8       b.w     8002dda <d_print_comp+0x1e6>
- 80047ea:      9905            ldr     r1, [sp, #20]
- 80047ec:      686a            ldr     r2, [r5, #4]
- 80047ee:      f7fe baf4       b.w     8002dda <d_print_comp+0x1e6>
- 80047f2:      9905            ldr     r1, [sp, #20]
- 80047f4:      686a            ldr     r2, [r5, #4]
- 80047f6:      f7fe baf0       b.w     8002dda <d_print_comp+0x1e6>
- 80047fa:      4631            mov     r1, r6
- 80047fc:      68ea            ldr     r2, [r5, #12]
- 80047fe:      9301            str     r3, [sp, #4]
- 8004800:      4620            mov     r0, r4
- 8004802:      f8d4 6124       ldr.w   r6, [r4, #292]  ; 0x124
- 8004806:      f7fe f9f5       bl      8002bf4 <d_print_comp>
- 800480a:      f8d4 2124       ldr.w   r2, [r4, #292]  ; 0x124
- 800480e:      9b01            ldr     r3, [sp, #4]
- 8004810:      4296            cmp     r6, r2
- 8004812:      f000 8441       beq.w   8005098 <d_print_comp+0x24a4>
- 8004816:      9905            ldr     r1, [sp, #20]
- 8004818:      686a            ldr     r2, [r5, #4]
- 800481a:      f7fe bade       b.w     8002dda <d_print_comp+0x1e6>
- 800481e:      4e79            ldr     r6, [pc, #484]  ; (8004a04 <d_print_comp+0x1e10>)
- 8004820:      4690            mov     r8, r2
- 8004822:      f106 0906       add.w   r9, r6, #6
- 8004826:      e014            b.n     8004852 <d_print_comp+0x1c5e>
- 8004828:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 800482c:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8004830:      f884 80ff       strb.w  r8, [r4, #255]  ; 0xff
- 8004834:      4798            blx     r3
- 8004836:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 800483a:      3301            adds    r3, #1
- 800483c:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8004840:      2200            movs    r2, #0
- 8004842:      2301            movs    r3, #1
- 8004844:      45b1            cmp     r9, r6
- 8004846:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 800484a:      54a7            strb    r7, [r4, r2]
- 800484c:      f884 7104       strb.w  r7, [r4, #260]  ; 0x104
- 8004850:      d008            beq.n   8004864 <d_print_comp+0x1c70>
- 8004852:      2bff            cmp     r3, #255        ; 0xff
- 8004854:      4619            mov     r1, r3
- 8004856:      4620            mov     r0, r4
- 8004858:      f816 7b01       ldrb.w  r7, [r6], #1
- 800485c:      d0e4            beq.n   8004828 <d_print_comp+0x1c34>
- 800485e:      461a            mov     r2, r3
- 8004860:      3301            adds    r3, #1
- 8004862:      e7ef            b.n     8004844 <d_print_comp+0x1c50>
- 8004864:      9905            ldr     r1, [sp, #20]
- 8004866:      686a            ldr     r2, [r5, #4]
- 8004868:      f7fe bab7       b.w     8002dda <d_print_comp+0x1e6>
- 800486c:      4642            mov     r2, r8
- 800486e:      a808            add     r0, sp, #32
- 8004870:      4965            ldr     r1, [pc, #404]  ; (8004a08 <d_print_comp+0x1e14>)
- 8004872:      f009 fff3       bl      800e85c <sprintf>
- 8004876:      a808            add     r0, sp, #32
- 8004878:      f002 faac       bl      8006dd4 <strlen>
- 800487c:      b328            cbz     r0, 80048ca <d_print_comp+0x1cd6>
- 800487e:      ae08            add     r6, sp, #32
- 8004880:      f8d4 3100       ldr.w   r3, [r4, #256]  ; 0x100
- 8004884:      eb06 0900       add.w   r9, r6, r0
- 8004888:      f04f 0800       mov.w   r8, #0
- 800488c:      e014            b.n     80048b8 <d_print_comp+0x1cc4>
- 800488e:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8004892:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8004896:      f884 80ff       strb.w  r8, [r4, #255]  ; 0xff
- 800489a:      4798            blx     r3
- 800489c:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 80048a0:      3301            adds    r3, #1
- 80048a2:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 80048a6:      2200            movs    r2, #0
- 80048a8:      2301            movs    r3, #1
- 80048aa:      45b1            cmp     r9, r6
- 80048ac:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 80048b0:      54a7            strb    r7, [r4, r2]
- 80048b2:      f884 7104       strb.w  r7, [r4, #260]  ; 0x104
- 80048b6:      d008            beq.n   80048ca <d_print_comp+0x1cd6>
- 80048b8:      2bff            cmp     r3, #255        ; 0xff
- 80048ba:      4619            mov     r1, r3
- 80048bc:      4620            mov     r0, r4
- 80048be:      f816 7b01       ldrb.w  r7, [r6], #1
- 80048c2:      d0e4            beq.n   800488e <d_print_comp+0x1c9a>
- 80048c4:      461a            mov     r2, r3
- 80048c6:      3301            adds    r3, #1
- 80048c8:      e7ef            b.n     80048aa <d_print_comp+0x1cb6>
- 80048ca:      f8d4 7100       ldr.w   r7, [r4, #256]  ; 0x100
- 80048ce:      2fff            cmp     r7, #255        ; 0xff
- 80048d0:      d111            bne.n   80048f6 <d_print_comp+0x1d02>
- 80048d2:      2600            movs    r6, #0
- 80048d4:      4639            mov     r1, r7
- 80048d6:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 80048da:      f884 60ff       strb.w  r6, [r4, #255]  ; 0xff
- 80048de:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 80048e2:      4620            mov     r0, r4
- 80048e4:      4798            blx     r3
- 80048e6:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 80048ea:      f8c4 6100       str.w   r6, [r4, #256]  ; 0x100
- 80048ee:      3301            adds    r3, #1
- 80048f0:      4637            mov     r7, r6
- 80048f2:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 80048f6:      1c7a            adds    r2, r7, #1
- 80048f8:      237d            movs    r3, #125        ; 0x7d
- 80048fa:      f8c4 2100       str.w   r2, [r4, #256]  ; 0x100
- 80048fe:      55e3            strb    r3, [r4, r7]
- 8004900:      f884 3104       strb.w  r3, [r4, #260]  ; 0x104
- 8004904:      686a            ldr     r2, [r5, #4]
- 8004906:      9905            ldr     r1, [sp, #20]
- 8004908:      f7fe ba67       b.w     8002dda <d_print_comp+0x1e6>
- 800490c:      4e3f            ldr     r6, [pc, #252]  ; (8004a0c <d_print_comp+0x1e18>)
- 800490e:      f8d4 3100       ldr.w   r3, [r4, #256]  ; 0x100
- 8004912:      f106 0905       add.w   r9, r6, #5
- 8004916:      f04f 0800       mov.w   r8, #0
- 800491a:      e015            b.n     8004948 <d_print_comp+0x1d54>
- 800491c:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8004920:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8004924:      f884 80ff       strb.w  r8, [r4, #255]  ; 0xff
- 8004928:      4798            blx     r3
- 800492a:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 800492e:      3301            adds    r3, #1
- 8004930:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8004934:      2200            movs    r2, #0
- 8004936:      2301            movs    r3, #1
- 8004938:      45b1            cmp     r9, r6
- 800493a:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 800493e:      54a7            strb    r7, [r4, r2]
- 8004940:      f884 7104       strb.w  r7, [r4, #260]  ; 0x104
- 8004944:      f000 80cf       beq.w   8004ae6 <d_print_comp+0x1ef2>
- 8004948:      2bff            cmp     r3, #255        ; 0xff
- 800494a:      4619            mov     r1, r3
- 800494c:      4620            mov     r0, r4
- 800494e:      f816 7b01       ldrb.w  r7, [r6], #1
- 8004952:      d0e3            beq.n   800491c <d_print_comp+0x1d28>
- 8004954:      461a            mov     r2, r3
- 8004956:      3301            adds    r3, #1
- 8004958:      e7ee            b.n     8004938 <d_print_comp+0x1d44>
- 800495a:      68ee            ldr     r6, [r5, #12]
- 800495c:      443e            add     r6, r7
- 800495e:      42be            cmp     r6, r7
- 8004960:      f67e aa3b       bls.w   8002dda <d_print_comp+0x1e6>
- 8004964:      f04f 0800       mov.w   r8, #0
- 8004968:      e018            b.n     800499c <d_print_comp+0x1da8>
- 800496a:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 800496e:      f884 80ff       strb.w  r8, [r4, #255]  ; 0xff
- 8004972:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8004976:      4620            mov     r0, r4
- 8004978:      4798            blx     r3
- 800497a:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 800497e:      3301            adds    r3, #1
- 8004980:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8004984:      2100            movs    r1, #0
- 8004986:      2301            movs    r3, #1
- 8004988:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 800498c:      f804 9001       strb.w  r9, [r4, r1]
- 8004990:      f884 9104       strb.w  r9, [r4, #260]  ; 0x104
- 8004994:      3701            adds    r7, #1
- 8004996:      42be            cmp     r6, r7
- 8004998:      f240 80e1       bls.w   8004b5e <d_print_comp+0x1f6a>
- 800499c:      1bf3            subs    r3, r6, r7
- 800499e:      2b03            cmp     r3, #3
- 80049a0:      f897 9000       ldrb.w  r9, [r7]
- 80049a4:      dd02            ble.n   80049ac <d_print_comp+0x1db8>
- 80049a6:      f1b9 0f5f       cmp.w   r9, #95 ; 0x5f
- 80049aa:      d005            beq.n   80049b8 <d_print_comp+0x1dc4>
- 80049ac:      f8d4 1100       ldr.w   r1, [r4, #256]  ; 0x100
- 80049b0:      29ff            cmp     r1, #255        ; 0xff
- 80049b2:      d0da            beq.n   800496a <d_print_comp+0x1d76>
- 80049b4:      1c4b            adds    r3, r1, #1
- 80049b6:      e7e7            b.n     8004988 <d_print_comp+0x1d94>
- 80049b8:      787b            ldrb    r3, [r7, #1]
- 80049ba:      2b5f            cmp     r3, #95 ; 0x5f
- 80049bc:      d1f6            bne.n   80049ac <d_print_comp+0x1db8>
- 80049be:      78bb            ldrb    r3, [r7, #2]
- 80049c0:      2b55            cmp     r3, #85 ; 0x55
- 80049c2:      d1f3            bne.n   80049ac <d_print_comp+0x1db8>
- 80049c4:      1cf9            adds    r1, r7, #3
- 80049c6:      2000            movs    r0, #0
- 80049c8:      e002            b.n     80049d0 <d_print_comp+0x1ddc>
- 80049ca:      4613            mov     r3, r2
- 80049cc:      eb03 1000       add.w   r0, r3, r0, lsl #4
- 80049d0:      428e            cmp     r6, r1
- 80049d2:      468a            mov     sl, r1
- 80049d4:      d9ea            bls.n   80049ac <d_print_comp+0x1db8>
- 80049d6:      f811 3b01       ldrb.w  r3, [r1], #1
- 80049da:      f1a3 0230       sub.w   r2, r3, #48     ; 0x30
- 80049de:      fa5f fe82       uxtb.w  lr, r2
- 80049e2:      f1be 0f09       cmp.w   lr, #9
- 80049e6:      f1a3 0c41       sub.w   ip, r3, #65     ; 0x41
- 80049ea:      d9ee            bls.n   80049ca <d_print_comp+0x1dd6>
- 80049ec:      f1bc 0f05       cmp.w   ip, #5
- 80049f0:      f1a3 0261       sub.w   r2, r3, #97     ; 0x61
- 80049f4:      f200 85c7       bhi.w   8005586 <d_print_comp+0x2992>
- 80049f8:      3b37            subs    r3, #55 ; 0x37
- 80049fa:      e7e7            b.n     80049cc <d_print_comp+0x1dd8>
- 80049fc:      080126e8        .word   0x080126e8
- 8004a00:      08012624        .word   0x08012624
- 8004a04:      08012748        .word   0x08012748
- 8004a08:      08012574        .word   0x08012574
- 8004a0c:      080125e8        .word   0x080125e8
- 8004a10:      9905            ldr     r1, [sp, #20]
- 8004a12:      686a            ldr     r2, [r5, #4]
- 8004a14:      f7fe b9e1       b.w     8002dda <d_print_comp+0x1e6>
- 8004a18:      68aa            ldr     r2, [r5, #8]
- 8004a1a:      9201            str     r2, [sp, #4]
- 8004a1c:      4619            mov     r1, r3
- 8004a1e:      2b00            cmp     r3, #0
- 8004a20:      f47e aa26       bne.w   8002e70 <d_print_comp+0x27c>
- 8004a24:      9905            ldr     r1, [sp, #20]
- 8004a26:      686a            ldr     r2, [r5, #4]
- 8004a28:      f7fe b9d7       b.w     8002dda <d_print_comp+0x1e6>
- 8004a2c:      4ece            ldr     r6, [pc, #824]  ; (8004d68 <d_print_comp+0x2174>)
- 8004a2e:      f106 0904       add.w   r9, r6, #4
- 8004a32:      e014            b.n     8004a5e <d_print_comp+0x1e6a>
- 8004a34:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8004a38:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8004a3c:      f884 80ff       strb.w  r8, [r4, #255]  ; 0xff
- 8004a40:      4798            blx     r3
- 8004a42:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8004a46:      3301            adds    r3, #1
- 8004a48:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8004a4c:      2200            movs    r2, #0
- 8004a4e:      2301            movs    r3, #1
- 8004a50:      45b1            cmp     r9, r6
- 8004a52:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 8004a56:      54a7            strb    r7, [r4, r2]
- 8004a58:      f884 7104       strb.w  r7, [r4, #260]  ; 0x104
- 8004a5c:      d008            beq.n   8004a70 <d_print_comp+0x1e7c>
- 8004a5e:      2bff            cmp     r3, #255        ; 0xff
- 8004a60:      4619            mov     r1, r3
- 8004a62:      4620            mov     r0, r4
- 8004a64:      f816 7b01       ldrb.w  r7, [r6], #1
- 8004a68:      d0e4            beq.n   8004a34 <d_print_comp+0x1e40>
- 8004a6a:      461a            mov     r2, r3
- 8004a6c:      3301            adds    r3, #1
- 8004a6e:      e7ef            b.n     8004a50 <d_print_comp+0x1e5c>
- 8004a70:      9905            ldr     r1, [sp, #20]
- 8004a72:      686a            ldr     r2, [r5, #4]
- 8004a74:      f7fe b9b1       b.w     8002dda <d_print_comp+0x1e6>
- 8004a78:      f8d4 c114       ldr.w   ip, [r4, #276]  ; 0x114
- 8004a7c:      f7ff ba66       b.w     8003f4c <d_print_comp+0x1358>
- 8004a80:      2700            movs    r7, #0
- 8004a82:      f7ff ba54       b.w     8003f2e <d_print_comp+0x133a>
- 8004a86:      e9d0 6702       ldrd    r6, r7, [r0, #8]
- 8004a8a:      2f00            cmp     r7, #0
- 8004a8c:      f43e a9a5       beq.w   8002dda <d_print_comp+0x1e6>
- 8004a90:      4437            add     r7, r6
- 8004a92:      f8d4 3100       ldr.w   r3, [r4, #256]  ; 0x100
- 8004a96:      3f01            subs    r7, #1
- 8004a98:      3e01            subs    r6, #1
- 8004a9a:      f04f 0900       mov.w   r9, #0
- 8004a9e:      e015            b.n     8004acc <d_print_comp+0x1ed8>
- 8004aa0:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8004aa4:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8004aa8:      f884 90ff       strb.w  r9, [r4, #255]  ; 0xff
- 8004aac:      4798            blx     r3
- 8004aae:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8004ab2:      3301            adds    r3, #1
- 8004ab4:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8004ab8:      2200            movs    r2, #0
- 8004aba:      2301            movs    r3, #1
- 8004abc:      42b7            cmp     r7, r6
- 8004abe:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 8004ac2:      f804 8002       strb.w  r8, [r4, r2]
- 8004ac6:      f884 8104       strb.w  r8, [r4, #260]  ; 0x104
- 8004aca:      d008            beq.n   8004ade <d_print_comp+0x1eea>
- 8004acc:      2bff            cmp     r3, #255        ; 0xff
- 8004ace:      4619            mov     r1, r3
- 8004ad0:      4620            mov     r0, r4
- 8004ad2:      f816 8f01       ldrb.w  r8, [r6, #1]!
- 8004ad6:      d0e3            beq.n   8004aa0 <d_print_comp+0x1eac>
- 8004ad8:      461a            mov     r2, r3
- 8004ada:      3301            adds    r3, #1
- 8004adc:      e7ee            b.n     8004abc <d_print_comp+0x1ec8>
- 8004ade:      9905            ldr     r1, [sp, #20]
- 8004ae0:      686a            ldr     r2, [r5, #4]
- 8004ae2:      f7fe b97a       b.w     8002dda <d_print_comp+0x1e6>
- 8004ae6:      68aa            ldr     r2, [r5, #8]
- 8004ae8:      49a0            ldr     r1, [pc, #640]  ; (8004d6c <d_print_comp+0x2178>)
- 8004aea:      3201            adds    r2, #1
- 8004aec:      a808            add     r0, sp, #32
- 8004aee:      f009 feb5       bl      800e85c <sprintf>
- 8004af2:      a808            add     r0, sp, #32
- 8004af4:      f002 f96e       bl      8006dd4 <strlen>
- 8004af8:      b328            cbz     r0, 8004b46 <d_print_comp+0x1f52>
- 8004afa:      ae08            add     r6, sp, #32
- 8004afc:      f8d4 3100       ldr.w   r3, [r4, #256]  ; 0x100
- 8004b00:      eb06 0900       add.w   r9, r6, r0
- 8004b04:      f04f 0800       mov.w   r8, #0
- 8004b08:      e014            b.n     8004b34 <d_print_comp+0x1f40>
- 8004b0a:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8004b0e:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8004b12:      f884 80ff       strb.w  r8, [r4, #255]  ; 0xff
- 8004b16:      4798            blx     r3
- 8004b18:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8004b1c:      3301            adds    r3, #1
- 8004b1e:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8004b22:      2200            movs    r2, #0
- 8004b24:      2301            movs    r3, #1
- 8004b26:      45b1            cmp     r9, r6
- 8004b28:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 8004b2c:      54a7            strb    r7, [r4, r2]
- 8004b2e:      f884 7104       strb.w  r7, [r4, #260]  ; 0x104
- 8004b32:      d008            beq.n   8004b46 <d_print_comp+0x1f52>
- 8004b34:      2bff            cmp     r3, #255        ; 0xff
- 8004b36:      4619            mov     r1, r3
- 8004b38:      4620            mov     r0, r4
- 8004b3a:      f816 7b01       ldrb.w  r7, [r6], #1
- 8004b3e:      d0e4            beq.n   8004b0a <d_print_comp+0x1f16>
- 8004b40:      461a            mov     r2, r3
- 8004b42:      3301            adds    r3, #1
- 8004b44:      e7ef            b.n     8004b26 <d_print_comp+0x1f32>
- 8004b46:      9905            ldr     r1, [sp, #20]
- 8004b48:      686a            ldr     r2, [r5, #4]
- 8004b4a:      f7fe b946       b.w     8002dda <d_print_comp+0x1e6>
- 8004b4e:      9905            ldr     r1, [sp, #20]
- 8004b50:      686a            ldr     r2, [r5, #4]
- 8004b52:      f7fe b942       b.w     8002dda <d_print_comp+0x1e6>
- 8004b56:      9905            ldr     r1, [sp, #20]
- 8004b58:      686a            ldr     r2, [r5, #4]
- 8004b5a:      f7fe b93e       b.w     8002dda <d_print_comp+0x1e6>
- 8004b5e:      9905            ldr     r1, [sp, #20]
- 8004b60:      686a            ldr     r2, [r5, #4]
- 8004b62:      f7fe b93a       b.w     8002dda <d_print_comp+0x1e6>
- 8004b66:      68db            ldr     r3, [r3, #12]
- 8004b68:      781b            ldrb    r3, [r3, #0]
- 8004b6a:      2b3b            cmp     r3, #59 ; 0x3b
- 8004b6c:      f47e abf6       bne.w   800335c <d_print_comp+0x768>
- 8004b70:      f105 030c       add.w   r3, r5, #12
- 8004b74:      68aa            ldr     r2, [r5, #8]
- 8004b76:      4631            mov     r1, r6
- 8004b78:      4620            mov     r0, r4
- 8004b7a:      f001 fd95       bl      80066a8 <d_maybe_print_fold_expression.isra.20>
- 8004b7e:      4680            mov     r8, r0
- 8004b80:      2800            cmp     r0, #0
- 8004b82:      f040 86a0       bne.w   80058c6 <d_print_comp+0x2cd2>
- 8004b86:      e9d5 7202       ldrd    r7, r2, [r5, #8]
- 8004b8a:      68b9            ldr     r1, [r7, #8]
- 8004b8c:      68d3            ldr     r3, [r2, #12]
- 8004b8e:      6808            ldr     r0, [r1, #0]
- 8004b90:      4977            ldr     r1, [pc, #476]  ; (8004d70 <d_print_comp+0x217c>)
- 8004b92:      f8d2 b008       ldr.w   fp, [r2, #8]
- 8004b96:      e9d3 a902       ldrd    sl, r9, [r3, #8]
- 8004b9a:      f002 f911       bl      8006dc0 <strcmp>
- 8004b9e:      2800            cmp     r0, #0
- 8004ba0:      f000 8674       beq.w   800588c <d_print_comp+0x2c98>
- 8004ba4:      2204            movs    r2, #4
- 8004ba6:      4973            ldr     r1, [pc, #460]  ; (8004d74 <d_print_comp+0x2180>)
- 8004ba8:      4620            mov     r0, r4
- 8004baa:      f7fb fbff       bl      80003ac <d_append_buffer>
- 8004bae:      f8db 3008       ldr.w   r3, [fp, #8]
- 8004bb2:      b303            cbz     r3, 8004bf6 <d_print_comp+0x2002>
- 8004bb4:      465a            mov     r2, fp
- 8004bb6:      4631            mov     r1, r6
- 8004bb8:      4620            mov     r0, r4
- 8004bba:      f001 fd23       bl      8006604 <d_print_subexpr>
- 8004bbe:      f8d4 7100       ldr.w   r7, [r4, #256]  ; 0x100
- 8004bc2:      2fff            cmp     r7, #255        ; 0xff
- 8004bc4:      d110            bne.n   8004be8 <d_print_comp+0x1ff4>
- 8004bc6:      4639            mov     r1, r7
- 8004bc8:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8004bcc:      f884 80ff       strb.w  r8, [r4, #255]  ; 0xff
- 8004bd0:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8004bd4:      4620            mov     r0, r4
- 8004bd6:      4798            blx     r3
- 8004bd8:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8004bdc:      f8c4 8100       str.w   r8, [r4, #256]  ; 0x100
- 8004be0:      3301            adds    r3, #1
- 8004be2:      4647            mov     r7, r8
- 8004be4:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8004be8:      2320            movs    r3, #32
- 8004bea:      1c7a            adds    r2, r7, #1
- 8004bec:      f8c4 2100       str.w   r2, [r4, #256]  ; 0x100
- 8004bf0:      55e3            strb    r3, [r4, r7]
- 8004bf2:      f884 3104       strb.w  r3, [r4, #260]  ; 0x104
- 8004bf6:      4652            mov     r2, sl
- 8004bf8:      4631            mov     r1, r6
- 8004bfa:      4620            mov     r0, r4
- 8004bfc:      f7fd fffa       bl      8002bf4 <d_print_comp>
- 8004c00:      f1b9 0f00       cmp.w   r9, #0
- 8004c04:      f000 8663       beq.w   80058ce <d_print_comp+0x2cda>
- 8004c08:      464a            mov     r2, r9
- 8004c0a:      4631            mov     r1, r6
- 8004c0c:      4620            mov     r0, r4
- 8004c0e:      f001 fcf9       bl      8006604 <d_print_subexpr>
- 8004c12:      9905            ldr     r1, [sp, #20]
- 8004c14:      686a            ldr     r2, [r5, #4]
- 8004c16:      f7fe b8e0       b.w     8002dda <d_print_comp+0x1e6>
- 8004c1a:      f8d9 3008       ldr.w   r3, [r9, #8]
- 8004c1e:      4956            ldr     r1, [pc, #344]  ; (8004d78 <d_print_comp+0x2184>)
- 8004c20:      f8d3 a000       ldr.w   sl, [r3]
- 8004c24:      4650            mov     r0, sl
- 8004c26:      f002 f8cb       bl      8006dc0 <strcmp>
- 8004c2a:      f898 3000       ldrb.w  r3, [r8]
- 8004c2e:      b910            cbnz    r0, 8004c36 <d_print_comp+0x2042>
- 8004c30:      2b03            cmp     r3, #3
- 8004c32:      f000 852b       beq.w   800568c <d_print_comp+0x2a98>
- 8004c36:      2b38            cmp     r3, #56 ; 0x38
- 8004c38:      f000 850c       beq.w   8005654 <d_print_comp+0x2a60>
- 8004c3c:      494f            ldr     r1, [pc, #316]  ; (8004d7c <d_print_comp+0x2188>)
- 8004c3e:      4650            mov     r0, sl
- 8004c40:      f002 f8be       bl      8006dc0 <strcmp>
- 8004c44:      4607            mov     r7, r0
- 8004c46:      2800            cmp     r0, #0
- 8004c48:      f000 8513       beq.w   8005672 <d_print_comp+0x2a7e>
- 8004c4c:      494c            ldr     r1, [pc, #304]  ; (8004d80 <d_print_comp+0x218c>)
- 8004c4e:      4650            mov     r0, sl
- 8004c50:      f002 f8b6       bl      8006dc0 <strcmp>
- 8004c54:      2800            cmp     r0, #0
- 8004c56:      f000 8333       beq.w   80052c0 <d_print_comp+0x26cc>
- 8004c5a:      4631            mov     r1, r6
- 8004c5c:      4620            mov     r0, r4
- 8004c5e:      464a            mov     r2, r9
- 8004c60:      f001 fc90       bl      8006584 <d_print_expr_op>
- 8004c64:      4947            ldr     r1, [pc, #284]  ; (8004d84 <d_print_comp+0x2190>)
- 8004c66:      4650            mov     r0, sl
- 8004c68:      f002 f8aa       bl      8006dc0 <strcmp>
- 8004c6c:      2800            cmp     r0, #0
- 8004c6e:      f000 83b0       beq.w   80053d2 <d_print_comp+0x27de>
- 8004c72:      4650            mov     r0, sl
- 8004c74:      4944            ldr     r1, [pc, #272]  ; (8004d88 <d_print_comp+0x2194>)
- 8004c76:      f002 f8a3       bl      8006dc0 <strcmp>
- 8004c7a:      4681            mov     r9, r0
- 8004c7c:      2800            cmp     r0, #0
- 8004c7e:      f47e abd7       bne.w   8003430 <d_print_comp+0x83c>
- 8004c82:      f8d4 7100       ldr.w   r7, [r4, #256]  ; 0x100
- 8004c86:      2fff            cmp     r7, #255        ; 0xff
- 8004c88:      d110            bne.n   8004cac <d_print_comp+0x20b8>
- 8004c8a:      f884 00ff       strb.w  r0, [r4, #255]  ; 0xff
- 8004c8e:      4639            mov     r1, r7
- 8004c90:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8004c94:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8004c98:      4620            mov     r0, r4
- 8004c9a:      4798            blx     r3
- 8004c9c:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8004ca0:      f8c4 9100       str.w   r9, [r4, #256]  ; 0x100
- 8004ca4:      3301            adds    r3, #1
- 8004ca6:      464f            mov     r7, r9
- 8004ca8:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8004cac:      1c78            adds    r0, r7, #1
- 8004cae:      2328            movs    r3, #40 ; 0x28
- 8004cb0:      f8c4 0100       str.w   r0, [r4, #256]  ; 0x100
- 8004cb4:      4642            mov     r2, r8
- 8004cb6:      55e3            strb    r3, [r4, r7]
- 8004cb8:      4631            mov     r1, r6
- 8004cba:      4620            mov     r0, r4
- 8004cbc:      f884 3104       strb.w  r3, [r4, #260]  ; 0x104
- 8004cc0:      f7fd ff98       bl      8002bf4 <d_print_comp>
- 8004cc4:      f8d4 7100       ldr.w   r7, [r4, #256]  ; 0x100
- 8004cc8:      2fff            cmp     r7, #255        ; 0xff
- 8004cca:      d111            bne.n   8004cf0 <d_print_comp+0x20fc>
- 8004ccc:      2600            movs    r6, #0
- 8004cce:      4639            mov     r1, r7
- 8004cd0:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8004cd4:      f884 60ff       strb.w  r6, [r4, #255]  ; 0xff
- 8004cd8:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8004cdc:      4620            mov     r0, r4
- 8004cde:      4798            blx     r3
- 8004ce0:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8004ce4:      f8c4 6100       str.w   r6, [r4, #256]  ; 0x100
- 8004ce8:      3301            adds    r3, #1
- 8004cea:      4637            mov     r7, r6
- 8004cec:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8004cf0:      1c7a            adds    r2, r7, #1
- 8004cf2:      2329            movs    r3, #41 ; 0x29
- 8004cf4:      f8c4 2100       str.w   r2, [r4, #256]  ; 0x100
- 8004cf8:      55e3            strb    r3, [r4, r7]
- 8004cfa:      f884 3104       strb.w  r3, [r4, #260]  ; 0x104
- 8004cfe:      686a            ldr     r2, [r5, #4]
- 8004d00:      9905            ldr     r1, [sp, #20]
- 8004d02:      f7fe b86a       b.w     8002dda <d_print_comp+0x1e6>
- 8004d06:      f105 020c       add.w   r2, r5, #12
- 8004d0a:      4641            mov     r1, r8
- 8004d0c:      4620            mov     r0, r4
- 8004d0e:      f001 f935       bl      8005f7c <d_print_function_type.isra.15>
- 8004d12:      68aa            ldr     r2, [r5, #8]
- 8004d14:      2a00            cmp     r2, #0
- 8004d16:      f000 83fd       beq.w   8005514 <d_print_comp+0x2920>
- 8004d1a:      4641            mov     r1, r8
- 8004d1c:      4620            mov     r0, r4
- 8004d1e:      f7fd ff69       bl      8002bf4 <d_print_comp>
- 8004d22:      9905            ldr     r1, [sp, #20]
- 8004d24:      686a            ldr     r2, [r5, #4]
- 8004d26:      f7fe b858       b.w     8002dda <d_print_comp+0x1e6>
- 8004d2a:      f8d4 7100       ldr.w   r7, [r4, #256]  ; 0x100
- 8004d2e:      2fff            cmp     r7, #255        ; 0xff
- 8004d30:      d111            bne.n   8004d56 <d_print_comp+0x2162>
- 8004d32:      2600            movs    r6, #0
- 8004d34:      4639            mov     r1, r7
- 8004d36:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8004d3a:      f884 60ff       strb.w  r6, [r4, #255]  ; 0xff
- 8004d3e:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8004d42:      4620            mov     r0, r4
- 8004d44:      4798            blx     r3
- 8004d46:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8004d4a:      f8c4 6100       str.w   r6, [r4, #256]  ; 0x100
- 8004d4e:      3301            adds    r3, #1
- 8004d50:      4637            mov     r7, r6
- 8004d52:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8004d56:      2320            movs    r3, #32
- 8004d58:      1c7a            adds    r2, r7, #1
- 8004d5a:      f8c4 2100       str.w   r2, [r4, #256]  ; 0x100
- 8004d5e:      55e3            strb    r3, [r4, r7]
- 8004d60:      f884 3104       strb.w  r3, [r4, #260]  ; 0x104
- 8004d64:      f7fe bf72       b.w     8003c4c <d_print_comp+0x1058>
- 8004d68:      080127c8        .word   0x080127c8
- 8004d6c:      08012574        .word   0x08012574
- 8004d70:      08012588        .word   0x08012588
- 8004d74:      08012784        .word   0x08012784
- 8004d78:      0801276c        .word   0x0801276c
- 8004d7c:      08012770        .word   0x08012770
- 8004d80:      08012578        .word   0x08012578
- 8004d84:      08012774        .word   0x08012774
- 8004d88:      08012a94        .word   0x08012a94
- 8004d8c:      689b            ldr     r3, [r3, #8]
- 8004d8e:      f893 8010       ldrb.w  r8, [r3, #16]
- 8004d92:      f1b8 0f00       cmp.w   r8, #0
- 8004d96:      f43e aa89       beq.w   80032ac <d_print_comp+0x6b8>
- 8004d9a:      f1b8 0f06       cmp.w   r8, #6
- 8004d9e:      f240 843f       bls.w   8005620 <d_print_comp+0x2a2c>
- 8004da2:      f1b8 0f07       cmp.w   r8, #7
- 8004da6:      f47e aa81       bne.w   80032ac <d_print_comp+0x6b8>
- 8004daa:      68eb            ldr     r3, [r5, #12]
- 8004dac:      781a            ldrb    r2, [r3, #0]
- 8004dae:      2a00            cmp     r2, #0
- 8004db0:      f47e aa7c       bne.w   80032ac <d_print_comp+0x6b8>
- 8004db4:      68da            ldr     r2, [r3, #12]
- 8004db6:      2a01            cmp     r2, #1
- 8004db8:      f47e aa78       bne.w   80032ac <d_print_comp+0x6b8>
- 8004dbc:      283c            cmp     r0, #60 ; 0x3c
- 8004dbe:      f47e aa75       bne.w   80032ac <d_print_comp+0x6b8>
- 8004dc2:      689b            ldr     r3, [r3, #8]
- 8004dc4:      781b            ldrb    r3, [r3, #0]
- 8004dc6:      2b30            cmp     r3, #48 ; 0x30
- 8004dc8:      f000 84b6       beq.w   8005738 <d_print_comp+0x2b44>
- 8004dcc:      2b31            cmp     r3, #49 ; 0x31
- 8004dce:      f47e aa6d       bne.w   80032ac <d_print_comp+0x6b8>
- 8004dd2:      2204            movs    r2, #4
- 8004dd4:      49c3            ldr     r1, [pc, #780]  ; (80050e4 <d_print_comp+0x24f0>)
- 8004dd6:      4620            mov     r0, r4
- 8004dd8:      f7fb fae8       bl      80003ac <d_append_buffer>
- 8004ddc:      9905            ldr     r1, [sp, #20]
- 8004dde:      686a            ldr     r2, [r5, #4]
- 8004de0:      f7fd bffb       b.w     8002dda <d_print_comp+0x1e6>
- 8004de4:      f8d4 7100       ldr.w   r7, [r4, #256]  ; 0x100
- 8004de8:      2fff            cmp     r7, #255        ; 0xff
- 8004dea:      d112            bne.n   8004e12 <d_print_comp+0x221e>
- 8004dec:      f04f 0800       mov.w   r8, #0
- 8004df0:      4639            mov     r1, r7
- 8004df2:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8004df6:      f884 80ff       strb.w  r8, [r4, #255]  ; 0xff
- 8004dfa:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8004dfe:      4620            mov     r0, r4
- 8004e00:      4798            blx     r3
- 8004e02:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8004e06:      f8c4 8100       str.w   r8, [r4, #256]  ; 0x100
- 8004e0a:      3301            adds    r3, #1
- 8004e0c:      4647            mov     r7, r8
- 8004e0e:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8004e12:      1c7a            adds    r2, r7, #1
- 8004e14:      235b            movs    r3, #91 ; 0x5b
- 8004e16:      f8c4 2100       str.w   r2, [r4, #256]  ; 0x100
- 8004e1a:      55e3            strb    r3, [r4, r7]
- 8004e1c:      f884 3104       strb.w  r3, [r4, #260]  ; 0x104
- 8004e20:      4631            mov     r1, r6
- 8004e22:      68ea            ldr     r2, [r5, #12]
- 8004e24:      4620            mov     r0, r4
- 8004e26:      f7fd fee5       bl      8002bf4 <d_print_comp>
- 8004e2a:      f8d4 7100       ldr.w   r7, [r4, #256]  ; 0x100
- 8004e2e:      2fff            cmp     r7, #255        ; 0xff
- 8004e30:      d111            bne.n   8004e56 <d_print_comp+0x2262>
- 8004e32:      2600            movs    r6, #0
- 8004e34:      4639            mov     r1, r7
- 8004e36:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8004e3a:      f884 60ff       strb.w  r6, [r4, #255]  ; 0xff
- 8004e3e:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8004e42:      4620            mov     r0, r4
- 8004e44:      4798            blx     r3
- 8004e46:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8004e4a:      f8c4 6100       str.w   r6, [r4, #256]  ; 0x100
- 8004e4e:      3301            adds    r3, #1
- 8004e50:      4637            mov     r7, r6
- 8004e52:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8004e56:      1c7a            adds    r2, r7, #1
- 8004e58:      235d            movs    r3, #93 ; 0x5d
- 8004e5a:      f8c4 2100       str.w   r2, [r4, #256]  ; 0x100
- 8004e5e:      55e3            strb    r3, [r4, r7]
- 8004e60:      f884 3104       strb.w  r3, [r4, #260]  ; 0x104
- 8004e64:      686a            ldr     r2, [r5, #4]
- 8004e66:      9905            ldr     r1, [sp, #20]
- 8004e68:      f7fd bfb7       b.w     8002dda <d_print_comp+0x1e6>
- 8004e6c:      1c59            adds    r1, r3, #1
- 8004e6e:      2229            movs    r2, #41 ; 0x29
- 8004e70:      f8c4 1100       str.w   r1, [r4, #256]  ; 0x100
- 8004e74:      54e2            strb    r2, [r4, r3]
- 8004e76:      f884 2104       strb.w  r2, [r4, #260]  ; 0x104
- 8004e7a:      782b            ldrb    r3, [r5, #0]
- 8004e7c:      2b3d            cmp     r3, #61 ; 0x3d
- 8004e7e:      f47e aa57       bne.w   8003330 <d_print_comp+0x73c>
- 8004e82:      29ff            cmp     r1, #255        ; 0xff
- 8004e84:      d10f            bne.n   8004ea6 <d_print_comp+0x22b2>
- 8004e86:      2700            movs    r7, #0
- 8004e88:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8004e8c:      f884 70ff       strb.w  r7, [r4, #255]  ; 0xff
- 8004e90:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8004e94:      4620            mov     r0, r4
- 8004e96:      4798            blx     r3
- 8004e98:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8004e9c:      f8c4 7100       str.w   r7, [r4, #256]  ; 0x100
- 8004ea0:      3301            adds    r3, #1
- 8004ea2:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8004ea6:      f8d4 2100       ldr.w   r2, [r4, #256]  ; 0x100
- 8004eaa:      232d            movs    r3, #45 ; 0x2d
- 8004eac:      1c51            adds    r1, r2, #1
- 8004eae:      f8c4 1100       str.w   r1, [r4, #256]  ; 0x100
- 8004eb2:      54a3            strb    r3, [r4, r2]
- 8004eb4:      f884 3104       strb.w  r3, [r4, #260]  ; 0x104
- 8004eb8:      f7fe ba3a       b.w     8003330 <d_print_comp+0x73c>
- 8004ebc:      4f8a            ldr     r7, [pc, #552]  ; (80050e8 <d_print_comp+0x24f4>)
- 8004ebe:      f8d4 3100       ldr.w   r3, [r4, #256]  ; 0x100
- 8004ec2:      f107 0a02       add.w   sl, r7, #2
- 8004ec6:      e016            b.n     8004ef6 <d_print_comp+0x2302>
- 8004ec8:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8004ecc:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8004ed0:      f884 90ff       strb.w  r9, [r4, #255]  ; 0xff
- 8004ed4:      4798            blx     r3
- 8004ed6:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8004eda:      3301            adds    r3, #1
- 8004edc:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8004ee0:      2200            movs    r2, #0
- 8004ee2:      2301            movs    r3, #1
- 8004ee4:      45ba            cmp     sl, r7
- 8004ee6:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 8004eea:      f804 8002       strb.w  r8, [r4, r2]
- 8004eee:      f884 8104       strb.w  r8, [r4, #260]  ; 0x104
- 8004ef2:      f43f a980       beq.w   80041f6 <d_print_comp+0x1602>
- 8004ef6:      2bff            cmp     r3, #255        ; 0xff
- 8004ef8:      4619            mov     r1, r3
- 8004efa:      4620            mov     r0, r4
- 8004efc:      f817 8b01       ldrb.w  r8, [r7], #1
- 8004f00:      d0e2            beq.n   8004ec8 <d_print_comp+0x22d4>
- 8004f02:      461a            mov     r2, r3
- 8004f04:      3301            adds    r3, #1
- 8004f06:      e7ed            b.n     8004ee4 <d_print_comp+0x22f0>
- 8004f08:      6892            ldr     r2, [r2, #8]
- 8004f0a:      4631            mov     r1, r6
- 8004f0c:      4620            mov     r0, r4
- 8004f0e:      f7fd fe71       bl      8002bf4 <d_print_comp>
- 8004f12:      f8d4 3144       ldr.w   r3, [r4, #324]  ; 0x144
- 8004f16:      b113            cbz     r3, 8004f1e <d_print_comp+0x232a>
- 8004f18:      9b08            ldr     r3, [sp, #32]
- 8004f1a:      f8c4 3110       str.w   r3, [r4, #272]  ; 0x110
- 8004f1e:      f894 3104       ldrb.w  r3, [r4, #260]  ; 0x104
- 8004f22:      2b3c            cmp     r3, #60 ; 0x3c
- 8004f24:      f000 82c4       beq.w   80054b0 <d_print_comp+0x28bc>
- 8004f28:      f8d4 7100       ldr.w   r7, [r4, #256]  ; 0x100
- 8004f2c:      2fff            cmp     r7, #255        ; 0xff
- 8004f2e:      d112            bne.n   8004f56 <d_print_comp+0x2362>
- 8004f30:      f04f 0800       mov.w   r8, #0
- 8004f34:      4639            mov     r1, r7
- 8004f36:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8004f3a:      f884 80ff       strb.w  r8, [r4, #255]  ; 0xff
- 8004f3e:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8004f42:      4620            mov     r0, r4
- 8004f44:      4798            blx     r3
- 8004f46:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8004f4a:      f8c4 8100       str.w   r8, [r4, #256]  ; 0x100
- 8004f4e:      3301            adds    r3, #1
- 8004f50:      4647            mov     r7, r8
- 8004f52:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8004f56:      233c            movs    r3, #60 ; 0x3c
- 8004f58:      1c7a            adds    r2, r7, #1
- 8004f5a:      f8c4 2100       str.w   r2, [r4, #256]  ; 0x100
- 8004f5e:      55e3            strb    r3, [r4, r7]
- 8004f60:      f884 3104       strb.w  r3, [r4, #260]  ; 0x104
- 8004f64:      68ab            ldr     r3, [r5, #8]
- 8004f66:      4631            mov     r1, r6
- 8004f68:      68da            ldr     r2, [r3, #12]
- 8004f6a:      4620            mov     r0, r4
- 8004f6c:      f7fd fe42       bl      8002bf4 <d_print_comp>
- 8004f70:      f894 3104       ldrb.w  r3, [r4, #260]  ; 0x104
- 8004f74:      2b3e            cmp     r3, #62 ; 0x3e
- 8004f76:      f000 827d       beq.w   8005474 <d_print_comp+0x2880>
- 8004f7a:      f8d4 7100       ldr.w   r7, [r4, #256]  ; 0x100
- 8004f7e:      2fff            cmp     r7, #255        ; 0xff
- 8004f80:      d111            bne.n   8004fa6 <d_print_comp+0x23b2>
- 8004f82:      2600            movs    r6, #0
- 8004f84:      4639            mov     r1, r7
- 8004f86:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8004f8a:      f884 60ff       strb.w  r6, [r4, #255]  ; 0xff
- 8004f8e:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8004f92:      4620            mov     r0, r4
- 8004f94:      4798            blx     r3
- 8004f96:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8004f9a:      f8c4 6100       str.w   r6, [r4, #256]  ; 0x100
- 8004f9e:      3301            adds    r3, #1
- 8004fa0:      4637            mov     r7, r6
- 8004fa2:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8004fa6:      233e            movs    r3, #62 ; 0x3e
- 8004fa8:      1c7a            adds    r2, r7, #1
- 8004faa:      f8c4 2100       str.w   r2, [r4, #256]  ; 0x100
- 8004fae:      55e3            strb    r3, [r4, r7]
- 8004fb0:      f884 3104       strb.w  r3, [r4, #260]  ; 0x104
- 8004fb4:      f7ff badc       b.w     8004570 <d_print_comp+0x197c>
- 8004fb8:      4f4c            ldr     r7, [pc, #304]  ; (80050ec <d_print_comp+0x24f8>)
- 8004fba:      f8d4 3100       ldr.w   r3, [r4, #256]  ; 0x100
- 8004fbe:      f107 0905       add.w   r9, r7, #5
- 8004fc2:      f04f 0a00       mov.w   sl, #0
- 8004fc6:      e016            b.n     8004ff6 <d_print_comp+0x2402>
- 8004fc8:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8004fcc:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8004fd0:      f884 a0ff       strb.w  sl, [r4, #255]  ; 0xff
- 8004fd4:      4798            blx     r3
- 8004fd6:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8004fda:      3301            adds    r3, #1
- 8004fdc:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8004fe0:      2200            movs    r2, #0
- 8004fe2:      2301            movs    r3, #1
- 8004fe4:      45b9            cmp     r9, r7
- 8004fe6:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 8004fea:      f804 8002       strb.w  r8, [r4, r2]
- 8004fee:      f884 8104       strb.w  r8, [r4, #260]  ; 0x104
- 8004ff2:      f43e ab41       beq.w   8003678 <d_print_comp+0xa84>
- 8004ff6:      2bff            cmp     r3, #255        ; 0xff
- 8004ff8:      4619            mov     r1, r3
- 8004ffa:      4620            mov     r0, r4
- 8004ffc:      f817 8b01       ldrb.w  r8, [r7], #1
- 8005000:      d0e2            beq.n   8004fc8 <d_print_comp+0x23d4>
- 8005002:      461a            mov     r2, r3
- 8005004:      3301            adds    r3, #1
- 8005006:      e7ed            b.n     8004fe4 <d_print_comp+0x23f0>
- 8005008:      f8d4 7100       ldr.w   r7, [r4, #256]  ; 0x100
- 800500c:      2fff            cmp     r7, #255        ; 0xff
- 800500e:      d112            bne.n   8005036 <d_print_comp+0x2442>
- 8005010:      f04f 0a00       mov.w   sl, #0
- 8005014:      4639            mov     r1, r7
- 8005016:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 800501a:      f884 a0ff       strb.w  sl, [r4, #255]  ; 0xff
- 800501e:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8005022:      4620            mov     r0, r4
- 8005024:      4798            blx     r3
- 8005026:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 800502a:      f8c4 a100       str.w   sl, [r4, #256]  ; 0x100
- 800502e:      3301            adds    r3, #1
- 8005030:      4657            mov     r7, sl
- 8005032:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8005036:      2320            movs    r3, #32
- 8005038:      1c7a            adds    r2, r7, #1
- 800503a:      f8c4 2100       str.w   r2, [r4, #256]  ; 0x100
- 800503e:      55e3            strb    r3, [r4, r7]
- 8005040:      f884 3104       strb.w  r3, [r4, #260]  ; 0x104
- 8005044:      f7fe bdda       b.w     8003bfc <d_print_comp+0x1008>
- 8005048:      f8d4 1120       ldr.w   r1, [r4, #288]  ; 0x120
- 800504c:      2900            cmp     r1, #0
- 800504e:      f6fe ad99       blt.w   8003b84 <d_print_comp+0xf90>
- 8005052:      f7fb fbc3       bl      80007dc <d_index_template_argument.part.9>
- 8005056:      4602            mov     r2, r0
- 8005058:      2800            cmp     r0, #0
- 800505a:      f47e ad93       bne.w   8003b84 <d_print_comp+0xf90>
- 800505e:      2301            movs    r3, #1
- 8005060:      f8c4 3118       str.w   r3, [r4, #280]  ; 0x118
- 8005064:      686a            ldr     r2, [r5, #4]
- 8005066:      9905            ldr     r1, [sp, #20]
- 8005068:      f7fd beb7       b.w     8002dda <d_print_comp+0x1e6>
- 800506c:      9905            ldr     r1, [sp, #20]
- 800506e:      686a            ldr     r2, [r5, #4]
- 8005070:      f7fd beb3       b.w     8002dda <d_print_comp+0x1e6>
- 8005074:      220d            movs    r2, #13
- 8005076:      491e            ldr     r1, [pc, #120]  ; (80050f0 <d_print_comp+0x24fc>)
- 8005078:      4620            mov     r0, r4
- 800507a:      f7fb f997       bl      80003ac <d_append_buffer>
- 800507e:      68f9            ldr     r1, [r7, #12]
- 8005080:      4620            mov     r0, r4
- 8005082:      3101            adds    r1, #1
- 8005084:      f7fb fc84       bl      8000990 <d_append_num>
- 8005088:      2203            movs    r2, #3
- 800508a:      491a            ldr     r1, [pc, #104]  ; (80050f4 <d_print_comp+0x2500>)
- 800508c:      4620            mov     r0, r4
- 800508e:      f7fb f98d       bl      80003ac <d_append_buffer>
- 8005092:      68bf            ldr     r7, [r7, #8]
- 8005094:      f7ff b8b4       b.w     8004200 <d_print_comp+0x160c>
- 8005098:      f8d4 0100       ldr.w   r0, [r4, #256]  ; 0x100
- 800509c:      9905            ldr     r1, [sp, #20]
- 800509e:      686a            ldr     r2, [r5, #4]
- 80050a0:      42b8            cmp     r0, r7
- 80050a2:      f47d ae9a       bne.w   8002dda <d_print_comp+0x1e6>
- 80050a6:      3b01            subs    r3, #1
- 80050a8:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 80050ac:      f7fd be95       b.w     8002dda <d_print_comp+0x1e6>
- 80050b0:      4642            mov     r2, r8
- 80050b2:      465b            mov     r3, fp
- 80050b4:      46ab            mov     fp, r5
- 80050b6:      f1bb 0f04       cmp.w   fp, #4
- 80050ba:      46a0            mov     r8, r4
- 80050bc:      461d            mov     r5, r3
- 80050be:      4614            mov     r4, r2
- 80050c0:      f8c2 1114       str.w   r1, [r2, #276]  ; 0x114
- 80050c4:      f000 82a3       beq.w   800560e <d_print_comp+0x2a1a>
- 80050c8:      f1bb 0f02       cmp.w   fp, #2
- 80050cc:      d137            bne.n   800513e <d_print_comp+0x254a>
- 80050ce:      f8d8 a00c       ldr.w   sl, [r8, #12]
- 80050d2:      f89a 3000       ldrb.w  r3, [sl]
- 80050d6:      2b46            cmp     r3, #70 ; 0x46
- 80050d8:      f000 8327       beq.w   800572a <d_print_comp+0x2b36>
- 80050dc:      eb09 1207       add.w   r2, r9, r7, lsl #4
- 80050e0:      3a0c            subs    r2, #12
- 80050e2:      e020            b.n     8005126 <d_print_comp+0x2532>
- 80050e4:      080127a0        .word   0x080127a0
- 80050e8:      080125c4        .word   0x080125c4
- 80050ec:      08012738        .word   0x08012738
- 80050f0:      080125c8        .word   0x080125c8
- 80050f4:      080125d8        .word   0x080125d8
- 80050f8:      2f04            cmp     r7, #4
- 80050fa:      f43f a81d       beq.w   8004138 <d_print_comp+0x1544>
- 80050fe:      e89b 000f       ldmia.w fp, {r0, r1, r2, r3}
- 8005102:      e88c 000f       stmia.w ip, {r0, r1, r2, r3}
- 8005106:      2300            movs    r3, #0
- 8005108:      f84e 3c0c       str.w   r3, [lr, #-12]
- 800510c:      f84e ac10       str.w   sl, [lr, #-16]
- 8005110:      9b01            ldr     r3, [sp, #4]
- 8005112:      f8da a008       ldr.w   sl, [sl, #8]
- 8005116:      f8c4 c114       str.w   ip, [r4, #276]  ; 0x114
- 800511a:      3701            adds    r7, #1
- 800511c:      f84e bc04       str.w   fp, [lr, #-4]
- 8005120:      f84e 3c08       str.w   r3, [lr, #-8]
- 8005124:      4672            mov     r2, lr
- 8005126:      f89a 0000       ldrb.w  r0, [sl]
- 800512a:      f7fb f975       bl      8000418 <is_fnqual_component_type>
- 800512e:      f1a2 0b04       sub.w   fp, r2, #4
- 8005132:      f102 0e10       add.w   lr, r2, #16
- 8005136:      f102 0c0c       add.w   ip, r2, #12
- 800513a:      2800            cmp     r0, #0
- 800513c:      d1dc            bne.n   80050f8 <d_print_comp+0x2504>
- 800513e:      68ea            ldr     r2, [r5, #12]
- 8005140:      4631            mov     r1, r6
- 8005142:      4620            mov     r0, r4
- 8005144:      f7fd fd56       bl      8002bf4 <d_print_comp>
- 8005148:      f898 3000       ldrb.w  r3, [r8]
- 800514c:      2b04            cmp     r3, #4
- 800514e:      bf04            itt     eq
- 8005150:      9b06            ldreq   r3, [sp, #24]
- 8005152:      f8c4 3110       streq.w r3, [r4, #272]  ; 0x110
- 8005156:      013f            lsls    r7, r7, #4
- 8005158:      f04f 0a20       mov.w   sl, #32
- 800515c:      46a8            mov     r8, r5
- 800515e:      eb09 0b07       add.w   fp, r9, r7
- 8005162:      f85b 5c08       ldr.w   r5, [fp, #-8]
- 8005166:      bb0d            cbnz    r5, 80051ac <d_print_comp+0x25b8>
- 8005168:      f8d4 3100       ldr.w   r3, [r4, #256]  ; 0x100
- 800516c:      2bff            cmp     r3, #255        ; 0xff
- 800516e:      4620            mov     r0, r4
- 8005170:      4619            mov     r1, r3
- 8005172:      d10e            bne.n   8005192 <d_print_comp+0x259e>
- 8005174:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8005178:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 800517c:      f884 50ff       strb.w  r5, [r4, #255]  ; 0xff
- 8005180:      4798            blx     r3
- 8005182:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8005186:      f8c4 5100       str.w   r5, [r4, #256]  ; 0x100
- 800518a:      1c5a            adds    r2, r3, #1
- 800518c:      f8c4 2124       str.w   r2, [r4, #292]  ; 0x124
- 8005190:      462b            mov     r3, r5
- 8005192:      1c59            adds    r1, r3, #1
- 8005194:      f8c4 1100       str.w   r1, [r4, #256]  ; 0x100
- 8005198:      f85b 2c0c       ldr.w   r2, [fp, #-12]
- 800519c:      f804 a003       strb.w  sl, [r4, r3]
- 80051a0:      4631            mov     r1, r6
- 80051a2:      4620            mov     r0, r4
- 80051a4:      f884 a104       strb.w  sl, [r4, #260]  ; 0x104
- 80051a8:      f000 fbba       bl      8005920 <d_print_mod>
- 80051ac:      3f10            subs    r7, #16
- 80051ae:      d1d6            bne.n   800515e <d_print_comp+0x256a>
- 80051b0:      9b02            ldr     r3, [sp, #8]
- 80051b2:      f8c4 3114       str.w   r3, [r4, #276]  ; 0x114
- 80051b6:      4645            mov     r5, r8
- 80051b8:      f7fe bfc1       b.w     800413e <d_print_comp+0x154a>
- 80051bc:      4631            mov     r1, r6
- 80051be:      68aa            ldr     r2, [r5, #8]
- 80051c0:      4620            mov     r0, r4
- 80051c2:      f7fd fd17       bl      8002bf4 <d_print_comp>
- 80051c6:      9905            ldr     r1, [sp, #20]
- 80051c8:      686a            ldr     r2, [r5, #4]
- 80051ca:      f7fd be06       b.w     8002dda <d_print_comp+0x1e6>
- 80051ce:      460f            mov     r7, r1
- 80051d0:      46a9            mov     r9, r5
- 80051d2:      f7fe bebb       b.w     8003f4c <d_print_comp+0x1358>
- 80051d6:      4644            mov     r4, r8
- 80051d8:      465d            mov     r5, fp
- 80051da:      f8c8 1114       str.w   r1, [r8, #276]  ; 0x114
- 80051de:      f7fe bfab       b.w     8004138 <d_print_comp+0x1544>
- 80051e2:      68ea            ldr     r2, [r5, #12]
- 80051e4:      4631            mov     r1, r6
- 80051e6:      4620            mov     r0, r4
- 80051e8:      f7fd fd04       bl      8002bf4 <d_print_comp>
- 80051ec:      9b0a            ldr     r3, [sp, #40]   ; 0x28
- 80051ee:      9a01            ldr     r2, [sp, #4]
- 80051f0:      f8c4 2114       str.w   r2, [r4, #276]  ; 0x114
- 80051f4:      2b00            cmp     r3, #0
- 80051f6:      f43e ab19       beq.w   800382c <d_print_comp+0xc38>
- 80051fa:      f7fe bb1f       b.w     800383c <d_print_comp+0xc48>
- 80051fe:      2301            movs    r3, #1
- 8005200:      4664            mov     r4, ip
- 8005202:      f8cc 3118       str.w   r3, [ip, #280]  ; 0x118
- 8005206:      f7fe bb19       b.w     800383c <d_print_comp+0xc48>
- 800520a:      f8d9 2008       ldr.w   r2, [r9, #8]
- 800520e:      f7fe bead       b.w     8003f6c <d_print_comp+0x1378>
- 8005212:      4631            mov     r1, r6
- 8005214:      68aa            ldr     r2, [r5, #8]
- 8005216:      4620            mov     r0, r4
- 8005218:      f001 f9f4       bl      8006604 <d_print_subexpr>
- 800521c:      2203            movs    r2, #3
- 800521e:      49bf            ldr     r1, [pc, #764]  ; (800551c <d_print_comp+0x2928>)
- 8005220:      4620            mov     r0, r4
- 8005222:      f7fb f8c3       bl      80003ac <d_append_buffer>
- 8005226:      9905            ldr     r1, [sp, #20]
- 8005228:      686a            ldr     r2, [r5, #4]
- 800522a:      f7fd bdd6       b.w     8002dda <d_print_comp+0x1e6>
- 800522e:      f8d4 e130       ldr.w   lr, [r4, #304]  ; 0x130
- 8005232:      f8d4 212c       ldr.w   r2, [r4, #300]  ; 0x12c
- 8005236:      f1be 0f00       cmp.w   lr, #0
- 800523a:      dd17            ble.n   800526c <d_print_comp+0x2678>
- 800523c:      6810            ldr     r0, [r2, #0]
- 800523e:      4581            cmp     r9, r0
- 8005240:      f000 81a7       beq.w   8005592 <d_print_comp+0x299e>
- 8005244:      f102 0b08       add.w   fp, r2, #8
- 8005248:      46bc            mov     ip, r7
- 800524a:      9101            str     r1, [sp, #4]
- 800524c:      4670            mov     r0, lr
- 800524e:      e004            b.n     800525a <d_print_comp+0x2666>
- 8005250:      f852 103c       ldr.w   r1, [r2, ip, lsl #3]
- 8005254:      4589            cmp     r9, r1
- 8005256:      f000 819d       beq.w   8005594 <d_print_comp+0x29a0>
- 800525a:      f10c 0c01       add.w   ip, ip, #1
- 800525e:      4560            cmp     r0, ip
- 8005260:      46da            mov     sl, fp
- 8005262:      f10b 0b08       add.w   fp, fp, #8
- 8005266:      d1f3            bne.n   8005250 <d_print_comp+0x265c>
- 8005268:      9901            ldr     r1, [sp, #4]
- 800526a:      4686            mov     lr, r0
- 800526c:      f8d4 3134       ldr.w   r3, [r4, #308]  ; 0x134
- 8005270:      459e            cmp     lr, r3
- 8005272:      f280 8344       bge.w   80058fe <d_print_comp+0x2d0a>
- 8005276:      f10e 0301       add.w   r3, lr, #1
- 800527a:      eb02 0cce       add.w   ip, r2, lr, lsl #3
- 800527e:      f8c4 3130       str.w   r3, [r4, #304]  ; 0x130
- 8005282:      f8d4 0110       ldr.w   r0, [r4, #272]  ; 0x110
- 8005286:      f842 903e       str.w   r9, [r2, lr, lsl #3]
- 800528a:      f10c 0c04       add.w   ip, ip, #4
- 800528e:      2800            cmp     r0, #0
- 8005290:      f000 825b       beq.w   800574a <d_print_comp+0x2b56>
- 8005294:      f8d4 213c       ldr.w   r2, [r4, #316]  ; 0x13c
- 8005298:      f8d4 3140       ldr.w   r3, [r4, #320]  ; 0x140
- 800529c:      429a            cmp     r2, r3
- 800529e:      f102 0e01       add.w   lr, r2, #1
- 80052a2:      f280 832c       bge.w   80058fe <d_print_comp+0x2d0a>
- 80052a6:      f8d4 3138       ldr.w   r3, [r4, #312]  ; 0x138
- 80052aa:      f8c4 e13c       str.w   lr, [r4, #316]  ; 0x13c
- 80052ae:      eb03 03c2       add.w   r3, r3, r2, lsl #3
- 80052b2:      6842            ldr     r2, [r0, #4]
- 80052b4:      605a            str     r2, [r3, #4]
- 80052b6:      f8cc 3000       str.w   r3, [ip]
- 80052ba:      6800            ldr     r0, [r0, #0]
- 80052bc:      469c            mov     ip, r3
- 80052be:      e7e6            b.n     800528e <d_print_comp+0x269a>
- 80052c0:      4606            mov     r6, r0
- 80052c2:      4647            mov     r7, r8
- 80052c4:      e001            b.n     80052ca <d_print_comp+0x26d6>
- 80052c6:      68ff            ldr     r7, [r7, #12]
- 80052c8:      b31f            cbz     r7, 8005312 <d_print_comp+0x271e>
- 80052ca:      783b            ldrb    r3, [r7, #0]
- 80052cc:      2b2f            cmp     r3, #47 ; 0x2f
- 80052ce:      d120            bne.n   8005312 <d_print_comp+0x271e>
- 80052d0:      68bb            ldr     r3, [r7, #8]
- 80052d2:      b1f3            cbz     r3, 8005312 <d_print_comp+0x271e>
- 80052d4:      781a            ldrb    r2, [r3, #0]
- 80052d6:      2a4a            cmp     r2, #74 ; 0x4a
- 80052d8:      bf18            it      ne
- 80052da:      3601            addne   r6, #1
- 80052dc:      d1f3            bne.n   80052c6 <d_print_comp+0x26d2>
- 80052de:      6899            ldr     r1, [r3, #8]
- 80052e0:      4620            mov     r0, r4
- 80052e2:      f7fb faa1       bl      8000828 <d_find_pack>
- 80052e6:      2800            cmp     r0, #0
- 80052e8:      f000 81ef       beq.w   80056ca <d_print_comp+0x2ad6>
- 80052ec:      7803            ldrb    r3, [r0, #0]
- 80052ee:      2b2f            cmp     r3, #47 ; 0x2f
- 80052f0:      f040 81eb       bne.w   80056ca <d_print_comp+0x2ad6>
- 80052f4:      6883            ldr     r3, [r0, #8]
- 80052f6:      b153            cbz     r3, 800530e <d_print_comp+0x271a>
- 80052f8:      2300            movs    r3, #0
- 80052fa:      e004            b.n     8005306 <d_print_comp+0x2712>
- 80052fc:      7802            ldrb    r2, [r0, #0]
- 80052fe:      2a2f            cmp     r2, #47 ; 0x2f
- 8005300:      d105            bne.n   800530e <d_print_comp+0x271a>
- 8005302:      6882            ldr     r2, [r0, #8]
- 8005304:      b11a            cbz     r2, 800530e <d_print_comp+0x271a>
- 8005306:      68c0            ldr     r0, [r0, #12]
- 8005308:      3301            adds    r3, #1
- 800530a:      2800            cmp     r0, #0
- 800530c:      d1f6            bne.n   80052fc <d_print_comp+0x2708>
- 800530e:      441e            add     r6, r3
- 8005310:      e7d9            b.n     80052c6 <d_print_comp+0x26d2>
- 8005312:      4631            mov     r1, r6
- 8005314:      4620            mov     r0, r4
- 8005316:      f7fb fb3b       bl      8000990 <d_append_num>
- 800531a:      9905            ldr     r1, [sp, #20]
- 800531c:      686a            ldr     r2, [r5, #4]
- 800531e:      f7fd bd5c       b.w     8002dda <d_print_comp+0x1e6>
- 8005322:      4631            mov     r1, r6
- 8005324:      4620            mov     r0, r4
- 8005326:      f001 f92d       bl      8006584 <d_print_expr_op>
- 800532a:      f8d4 7100       ldr.w   r7, [r4, #256]  ; 0x100
- 800532e:      2fff            cmp     r7, #255        ; 0xff
- 8005330:      d112            bne.n   8005358 <d_print_comp+0x2764>
- 8005332:      f04f 0800       mov.w   r8, #0
- 8005336:      4639            mov     r1, r7
- 8005338:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 800533c:      f884 80ff       strb.w  r8, [r4, #255]  ; 0xff
- 8005340:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8005344:      4620            mov     r0, r4
- 8005346:      4798            blx     r3
- 8005348:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 800534c:      f8c4 8100       str.w   r8, [r4, #256]  ; 0x100
- 8005350:      3301            adds    r3, #1
- 8005352:      4647            mov     r7, r8
- 8005354:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8005358:      1c7a            adds    r2, r7, #1
- 800535a:      233c            movs    r3, #60 ; 0x3c
- 800535c:      f8c4 2100       str.w   r2, [r4, #256]  ; 0x100
- 8005360:      55e3            strb    r3, [r4, r7]
- 8005362:      f884 3104       strb.w  r3, [r4, #260]  ; 0x104
- 8005366:      68eb            ldr     r3, [r5, #12]
- 8005368:      4631            mov     r1, r6
- 800536a:      689a            ldr     r2, [r3, #8]
- 800536c:      4620            mov     r0, r4
- 800536e:      f7fd fc41       bl      8002bf4 <d_print_comp>
- 8005372:      2202            movs    r2, #2
- 8005374:      496a            ldr     r1, [pc, #424]  ; (8005520 <d_print_comp+0x292c>)
- 8005376:      4620            mov     r0, r4
- 8005378:      f7fb f818       bl      80003ac <d_append_buffer>
- 800537c:      68eb            ldr     r3, [r5, #12]
- 800537e:      4631            mov     r1, r6
- 8005380:      68da            ldr     r2, [r3, #12]
- 8005382:      4620            mov     r0, r4
- 8005384:      f7fd fc36       bl      8002bf4 <d_print_comp>
- 8005388:      f8d4 7100       ldr.w   r7, [r4, #256]  ; 0x100
- 800538c:      2fff            cmp     r7, #255        ; 0xff
- 800538e:      d111            bne.n   80053b4 <d_print_comp+0x27c0>
- 8005390:      2600            movs    r6, #0
- 8005392:      4639            mov     r1, r7
- 8005394:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8005398:      f884 60ff       strb.w  r6, [r4, #255]  ; 0xff
- 800539c:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 80053a0:      4620            mov     r0, r4
- 80053a2:      4798            blx     r3
- 80053a4:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 80053a8:      f8c4 6100       str.w   r6, [r4, #256]  ; 0x100
- 80053ac:      3301            adds    r3, #1
- 80053ae:      4637            mov     r7, r6
- 80053b0:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 80053b4:      1c7a            adds    r2, r7, #1
- 80053b6:      2329            movs    r3, #41 ; 0x29
- 80053b8:      f8c4 2100       str.w   r2, [r4, #256]  ; 0x100
- 80053bc:      55e3            strb    r3, [r4, r7]
- 80053be:      f884 3104       strb.w  r3, [r4, #260]  ; 0x104
- 80053c2:      686a            ldr     r2, [r5, #4]
- 80053c4:      9905            ldr     r1, [sp, #20]
- 80053c6:      f7fd bd08       b.w     8002dda <d_print_comp+0x1e6>
- 80053ca:      9905            ldr     r1, [sp, #20]
- 80053cc:      686a            ldr     r2, [r5, #4]
- 80053ce:      f7fd bd04       b.w     8002dda <d_print_comp+0x1e6>
- 80053d2:      4642            mov     r2, r8
- 80053d4:      4631            mov     r1, r6
- 80053d6:      4620            mov     r0, r4
- 80053d8:      f7fd fc0c       bl      8002bf4 <d_print_comp>
- 80053dc:      9905            ldr     r1, [sp, #20]
- 80053de:      686a            ldr     r2, [r5, #4]
- 80053e0:      f7fd bcfb       b.w     8002dda <d_print_comp+0x1e6>
- 80053e4:      a918            add     r1, sp, #96     ; 0x60
- 80053e6:      4620            mov     r0, r4
- 80053e8:      f841 3d40       str.w   r3, [r1, #-64]!
- 80053ec:      f8d4 3110       ldr.w   r3, [r4, #272]  ; 0x110
- 80053f0:      f8c4 1114       str.w   r1, [r4, #276]  ; 0x114
- 80053f4:      4641            mov     r1, r8
- 80053f6:      960a            str     r6, [sp, #40]   ; 0x28
- 80053f8:      930b            str     r3, [sp, #44]   ; 0x2c
- 80053fa:      9509            str     r5, [sp, #36]   ; 0x24
- 80053fc:      f7fd fbfa       bl      8002bf4 <d_print_comp>
- 8005400:      9e0a            ldr     r6, [sp, #40]   ; 0x28
- 8005402:      9b08            ldr     r3, [sp, #32]
- 8005404:      f8c4 3114       str.w   r3, [r4, #276]  ; 0x114
- 8005408:      b9ee            cbnz    r6, 8005446 <d_print_comp+0x2852>
- 800540a:      f8d4 7100       ldr.w   r7, [r4, #256]  ; 0x100
- 800540e:      2fff            cmp     r7, #255        ; 0xff
- 8005410:      d110            bne.n   8005434 <d_print_comp+0x2840>
- 8005412:      4639            mov     r1, r7
- 8005414:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8005418:      f884 60ff       strb.w  r6, [r4, #255]  ; 0xff
- 800541c:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8005420:      4620            mov     r0, r4
- 8005422:      4798            blx     r3
- 8005424:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8005428:      f8c4 6100       str.w   r6, [r4, #256]  ; 0x100
- 800542c:      3301            adds    r3, #1
- 800542e:      4637            mov     r7, r6
- 8005430:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8005434:      2320            movs    r3, #32
- 8005436:      1c7a            adds    r2, r7, #1
- 8005438:      f8c4 2100       str.w   r2, [r4, #256]  ; 0x100
- 800543c:      55e3            strb    r3, [r4, r7]
- 800543e:      f884 3104       strb.w  r3, [r4, #260]  ; 0x104
- 8005442:      f7fe ba0c       b.w     800385e <d_print_comp+0xc6a>
- 8005446:      9905            ldr     r1, [sp, #20]
- 8005448:      686a            ldr     r2, [r5, #4]
- 800544a:      f7fd bcc6       b.w     8002dda <d_print_comp+0x1e6>
- 800544e:      4935            ldr     r1, [pc, #212]  ; (8005524 <d_print_comp+0x2930>)
- 8005450:      68b8            ldr     r0, [r7, #8]
- 8005452:      f009 fa23       bl      800e89c <strncmp>
- 8005456:      2800            cmp     r0, #0
- 8005458:      f47e abc6       bne.w   8003be8 <d_print_comp+0xff4>
- 800545c:      4631            mov     r1, r6
- 800545e:      68ea            ldr     r2, [r5, #12]
- 8005460:      4620            mov     r0, r4
- 8005462:      f7fd fbc7       bl      8002bf4 <d_print_comp>
- 8005466:      2202            movs    r2, #2
- 8005468:      492f            ldr     r1, [pc, #188]  ; (8005528 <d_print_comp+0x2934>)
- 800546a:      4620            mov     r0, r4
- 800546c:      f7fa ff9e       bl      80003ac <d_append_buffer>
- 8005470:      f7fe bc09       b.w     8003c86 <d_print_comp+0x1092>
- 8005474:      f8d4 7100       ldr.w   r7, [r4, #256]  ; 0x100
- 8005478:      2fff            cmp     r7, #255        ; 0xff
- 800547a:      d111            bne.n   80054a0 <d_print_comp+0x28ac>
- 800547c:      2600            movs    r6, #0
- 800547e:      4639            mov     r1, r7
- 8005480:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8005484:      f884 60ff       strb.w  r6, [r4, #255]  ; 0xff
- 8005488:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 800548c:      4620            mov     r0, r4
- 800548e:      4798            blx     r3
- 8005490:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8005494:      f8c4 6100       str.w   r6, [r4, #256]  ; 0x100
- 8005498:      3301            adds    r3, #1
- 800549a:      4637            mov     r7, r6
- 800549c:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 80054a0:      2320            movs    r3, #32
- 80054a2:      1c7a            adds    r2, r7, #1
- 80054a4:      f8c4 2100       str.w   r2, [r4, #256]  ; 0x100
- 80054a8:      55e3            strb    r3, [r4, r7]
- 80054aa:      f884 3104       strb.w  r3, [r4, #260]  ; 0x104
- 80054ae:      e564            b.n     8004f7a <d_print_comp+0x2386>
- 80054b0:      f8d4 7100       ldr.w   r7, [r4, #256]  ; 0x100
- 80054b4:      2fff            cmp     r7, #255        ; 0xff
- 80054b6:      d112            bne.n   80054de <d_print_comp+0x28ea>
- 80054b8:      f04f 0800       mov.w   r8, #0
- 80054bc:      4639            mov     r1, r7
- 80054be:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 80054c2:      f884 80ff       strb.w  r8, [r4, #255]  ; 0xff
- 80054c6:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 80054ca:      4620            mov     r0, r4
- 80054cc:      4798            blx     r3
- 80054ce:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 80054d2:      f8c4 8100       str.w   r8, [r4, #256]  ; 0x100
- 80054d6:      3301            adds    r3, #1
- 80054d8:      4647            mov     r7, r8
- 80054da:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 80054de:      2320            movs    r3, #32
- 80054e0:      1c7a            adds    r2, r7, #1
- 80054e2:      f8c4 2100       str.w   r2, [r4, #256]  ; 0x100
- 80054e6:      55e3            strb    r3, [r4, r7]
- 80054e8:      f884 3104       strb.w  r3, [r4, #260]  ; 0x104
- 80054ec:      e51c            b.n     8004f28 <d_print_comp+0x2334>
- 80054ee:      4640            mov     r0, r8
- 80054f0:      490e            ldr     r1, [pc, #56]   ; (800552c <d_print_comp+0x2938>)
- 80054f2:      f001 fc65       bl      8006dc0 <strcmp>
- 80054f6:      2800            cmp     r0, #0
- 80054f8:      f040 81fb       bne.w   80058f2 <d_print_comp+0x2cfe>
- 80054fc:      68eb            ldr     r3, [r5, #12]
- 80054fe:      4631            mov     r1, r6
- 8005500:      68da            ldr     r2, [r3, #12]
- 8005502:      4620            mov     r0, r4
- 8005504:      f001 f87e       bl      8006604 <d_print_subexpr>
- 8005508:      f7fd bc60       b.w     8002dcc <d_print_comp+0x1d8>
- 800550c:      9905            ldr     r1, [sp, #20]
- 800550e:      686a            ldr     r2, [r5, #4]
- 8005510:      f7fd bc63       b.w     8002dda <d_print_comp+0x1e6>
- 8005514:      9905            ldr     r1, [sp, #20]
- 8005516:      686a            ldr     r2, [r5, #4]
- 8005518:      f7fd bc5f       b.w     8002dda <d_print_comp+0x1e6>
- 800551c:      080127c4        .word   0x080127c4
- 8005520:      08012778        .word   0x08012778
- 8005524:      080125dc        .word   0x080125dc
- 8005528:      080125e4        .word   0x080125e4
- 800552c:      0801257c        .word   0x0801257c
- 8005530:      689b            ldr     r3, [r3, #8]
- 8005532:      689a            ldr     r2, [r3, #8]
- 8005534:      2a01            cmp     r2, #1
- 8005536:      f47d ac4e       bne.w   8002dd6 <d_print_comp+0x1e2>
- 800553a:      685b            ldr     r3, [r3, #4]
- 800553c:      781b            ldrb    r3, [r3, #0]
- 800553e:      2b3e            cmp     r3, #62 ; 0x3e
- 8005540:      f47d ac49       bne.w   8002dd6 <d_print_comp+0x1e2>
- 8005544:      f8d4 7100       ldr.w   r7, [r4, #256]  ; 0x100
- 8005548:      2fff            cmp     r7, #255        ; 0xff
- 800554a:      d111            bne.n   8005570 <d_print_comp+0x297c>
- 800554c:      2600            movs    r6, #0
- 800554e:      4639            mov     r1, r7
- 8005550:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8005554:      f884 60ff       strb.w  r6, [r4, #255]  ; 0xff
- 8005558:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 800555c:      4620            mov     r0, r4
- 800555e:      4798            blx     r3
- 8005560:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8005564:      f8c4 6100       str.w   r6, [r4, #256]  ; 0x100
- 8005568:      3301            adds    r3, #1
- 800556a:      4637            mov     r7, r6
- 800556c:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8005570:      1c7a            adds    r2, r7, #1
- 8005572:      2329            movs    r3, #41 ; 0x29
- 8005574:      f8c4 2100       str.w   r2, [r4, #256]  ; 0x100
- 8005578:      55e3            strb    r3, [r4, r7]
- 800557a:      f884 3104       strb.w  r3, [r4, #260]  ; 0x104
- 800557e:      686a            ldr     r2, [r5, #4]
- 8005580:      9905            ldr     r1, [sp, #20]
- 8005582:      f7fd bc2a       b.w     8002dda <d_print_comp+0x1e6>
- 8005586:      2a05            cmp     r2, #5
- 8005588:      f200 80a9       bhi.w   80056de <d_print_comp+0x2aea>
- 800558c:      3b57            subs    r3, #87 ; 0x57
- 800558e:      f7ff ba1d       b.w     80049cc <d_print_comp+0x1dd8>
- 8005592:      4692            mov     sl, r2
- 8005594:      461a            mov     r2, r3
- 8005596:      e001            b.n     800559c <d_print_comp+0x29a8>
- 8005598:      6852            ldr     r2, [r2, #4]
- 800559a:      b342            cbz     r2, 80055ee <d_print_comp+0x29fa>
- 800559c:      6811            ldr     r1, [r2, #0]
- 800559e:      4589            cmp     r9, r1
- 80055a0:      d003            beq.n   80055aa <d_print_comp+0x29b6>
- 80055a2:      428d            cmp     r5, r1
- 80055a4:      d1f8            bne.n   8005598 <d_print_comp+0x29a4>
- 80055a6:      429a            cmp     r2, r3
- 80055a8:      d0f6            beq.n   8005598 <d_print_comp+0x29a4>
- 80055aa:      f109 0108       add.w   r1, r9, #8
- 80055ae:      4620            mov     r0, r4
- 80055b0:      f7fb f92a       bl      8000808 <d_lookup_template_argument.isra.10>
- 80055b4:      4681            mov     r9, r0
- 80055b6:      b198            cbz     r0, 80055e0 <d_print_comp+0x29ec>
- 80055b8:      f899 3000       ldrb.w  r3, [r9]
- 80055bc:      2b2f            cmp     r3, #47 ; 0x2f
- 80055be:      f47e acb6       bne.w   8003f2e <d_print_comp+0x133a>
- 80055c2:      f8d4 1120       ldr.w   r1, [r4, #288]  ; 0x120
- 80055c6:      2900            cmp     r1, #0
- 80055c8:      f6fe acb6       blt.w   8003f38 <d_print_comp+0x1344>
- 80055cc:      4648            mov     r0, r9
- 80055ce:      f7fb f905       bl      80007dc <d_index_template_argument.part.9>
- 80055d2:      4681            mov     r9, r0
- 80055d4:      2800            cmp     r0, #0
- 80055d6:      f47e acaa       bne.w   8003f2e <d_print_comp+0x133a>
- 80055da:      b10f            cbz     r7, 80055e0 <d_print_comp+0x29ec>
- 80055dc:      f8c4 8110       str.w   r8, [r4, #272]  ; 0x110
- 80055e0:      2301            movs    r3, #1
- 80055e2:      f8c4 3118       str.w   r3, [r4, #280]  ; 0x118
- 80055e6:      686a            ldr     r2, [r5, #4]
- 80055e8:      9905            ldr     r1, [sp, #20]
- 80055ea:      f7fd bbf6       b.w     8002dda <d_print_comp+0x1e6>
- 80055ee:      f8da 3004       ldr.w   r3, [sl, #4]
- 80055f2:      f8d4 8110       ldr.w   r8, [r4, #272]  ; 0x110
- 80055f6:      f8c4 3110       str.w   r3, [r4, #272]  ; 0x110
- 80055fa:      f109 0108       add.w   r1, r9, #8
- 80055fe:      4620            mov     r0, r4
- 8005600:      f7fb f902       bl      8000808 <d_lookup_template_argument.isra.10>
- 8005604:      2701            movs    r7, #1
- 8005606:      4681            mov     r9, r0
- 8005608:      2800            cmp     r0, #0
- 800560a:      d1d5            bne.n   80055b8 <d_print_comp+0x29c4>
- 800560c:      e7e6            b.n     80055dc <d_print_comp+0x29e8>
- 800560e:      ab18            add     r3, sp, #96     ; 0x60
- 8005610:      9a01            ldr     r2, [sp, #4]
- 8005612:      f843 2d48       str.w   r2, [r3, #-72]!
- 8005616:      f8cd 801c       str.w   r8, [sp, #28]
- 800561a:      f8c4 3110       str.w   r3, [r4, #272]  ; 0x110
- 800561e:      e58e            b.n     800513e <d_print_comp+0x254a>
- 8005620:      68eb            ldr     r3, [r5, #12]
- 8005622:      f893 9000       ldrb.w  r9, [r3]
- 8005626:      f1b9 0f00       cmp.w   r9, #0
- 800562a:      f47d ae3f       bne.w   80032ac <d_print_comp+0x6b8>
- 800562e:      283d            cmp     r0, #61 ; 0x3d
- 8005630:      f000 80e6       beq.w   8005800 <d_print_comp+0x2c0c>
- 8005634:      4631            mov     r1, r6
- 8005636:      68ea            ldr     r2, [r5, #12]
- 8005638:      4620            mov     r0, r4
- 800563a:      f1a8 0802       sub.w   r8, r8, #2
- 800563e:      f7fd fad9       bl      8002bf4 <d_print_comp>
- 8005642:      f1b8 0f04       cmp.w   r8, #4
- 8005646:      f200 80d7       bhi.w   80057f8 <d_print_comp+0x2c04>
- 800564a:      e8df f008       tbb     [pc, r8]
- 800564e:      93b4            .short  0x93b4
- 8005650:      818a            .short  0x818a
- 8005652:      35              .byte   0x35
- 8005653:      00              .byte   0x00
- 8005654:      f8d8 2008       ldr.w   r2, [r8, #8]
- 8005658:      4631            mov     r1, r6
- 800565a:      4620            mov     r0, r4
- 800565c:      f000 ffd2       bl      8006604 <d_print_subexpr>
- 8005660:      464a            mov     r2, r9
- 8005662:      4631            mov     r1, r6
- 8005664:      4620            mov     r0, r4
- 8005666:      f000 ff8d       bl      8006584 <d_print_expr_op>
- 800566a:      9905            ldr     r1, [sp, #20]
- 800566c:      686a            ldr     r2, [r5, #4]
- 800566e:      f7fd bbb4       b.w     8002dda <d_print_comp+0x1e6>
- 8005672:      4641            mov     r1, r8
- 8005674:      4620            mov     r0, r4
- 8005676:      f7fb f8d7       bl      8000828 <d_find_pack>
- 800567a:      b1a8            cbz     r0, 80056a8 <d_print_comp+0x2ab4>
- 800567c:      7803            ldrb    r3, [r0, #0]
- 800567e:      2b2f            cmp     r3, #47 ; 0x2f
- 8005680:      d112            bne.n   80056a8 <d_print_comp+0x2ab4>
- 8005682:      6883            ldr     r3, [r0, #8]
- 8005684:      b183            cbz     r3, 80056a8 <d_print_comp+0x2ab4>
- 8005686:      68c0            ldr     r0, [r0, #12]
- 8005688:      3701            adds    r7, #1
- 800568a:      e7f6            b.n     800567a <d_print_comp+0x2a86>
- 800568c:      f8d8 3008       ldr.w   r3, [r8, #8]
- 8005690:      781a            ldrb    r2, [r3, #0]
- 8005692:      2a01            cmp     r2, #1
- 8005694:      f47f aad2       bne.w   8004c3c <d_print_comp+0x2048>
- 8005698:      f8d8 200c       ldr.w   r2, [r8, #12]
- 800569c:      7812            ldrb    r2, [r2, #0]
- 800569e:      2a29            cmp     r2, #41 ; 0x29
- 80056a0:      bf08            it      eq
- 80056a2:      4698            moveq   r8, r3
- 80056a4:      f7ff baca       b.w     8004c3c <d_print_comp+0x2048>
- 80056a8:      4639            mov     r1, r7
- 80056aa:      4620            mov     r0, r4
- 80056ac:      f7fb f970       bl      8000990 <d_append_num>
- 80056b0:      9905            ldr     r1, [sp, #20]
- 80056b2:      686a            ldr     r2, [r5, #4]
- 80056b4:      f7fd bb91       b.w     8002dda <d_print_comp+0x1e6>
- 80056b8:      2203            movs    r2, #3
- 80056ba:      4994            ldr     r1, [pc, #592]  ; (800590c <d_print_comp+0x2d18>)
- 80056bc:      4620            mov     r0, r4
- 80056be:      f7fa fe75       bl      80003ac <d_append_buffer>
- 80056c2:      9905            ldr     r1, [sp, #20]
- 80056c4:      686a            ldr     r2, [r5, #4]
- 80056c6:      f7fd bb88       b.w     8002dda <d_print_comp+0x1e6>
- 80056ca:      2300            movs    r3, #0
- 80056cc:      441e            add     r6, r3
- 80056ce:      e5fa            b.n     80052c6 <d_print_comp+0x26d2>
- 80056d0:      464a            mov     r2, r9
- 80056d2:      4631            mov     r1, r6
- 80056d4:      4620            mov     r0, r4
- 80056d6:      f000 ff55       bl      8006584 <d_print_expr_op>
- 80056da:      f7fd bea9       b.w     8003430 <d_print_comp+0x83c>
- 80056de:      2b5f            cmp     r3, #95 ; 0x5f
- 80056e0:      f8d4 1100       ldr.w   r1, [r4, #256]  ; 0x100
- 80056e4:      f47f a964       bne.w   80049b0 <d_print_comp+0x1dbc>
- 80056e8:      28ff            cmp     r0, #255        ; 0xff
- 80056ea:      f63f a961       bhi.w   80049b0 <d_print_comp+0x1dbc>
- 80056ee:      29ff            cmp     r1, #255        ; 0xff
- 80056f0:      fa5f f980       uxtb.w  r9, r0
- 80056f4:      d10f            bne.n   8005716 <d_print_comp+0x2b22>
- 80056f6:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 80056fa:      f884 80ff       strb.w  r8, [r4, #255]  ; 0xff
- 80056fe:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8005702:      4620            mov     r0, r4
- 8005704:      4798            blx     r3
- 8005706:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 800570a:      f8c4 8100       str.w   r8, [r4, #256]  ; 0x100
- 800570e:      3301            adds    r3, #1
- 8005710:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8005714:      2100            movs    r1, #0
- 8005716:      1c4b            adds    r3, r1, #1
- 8005718:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 800571c:      4657            mov     r7, sl
- 800571e:      f804 9001       strb.w  r9, [r4, r1]
- 8005722:      f884 9104       strb.w  r9, [r4, #260]  ; 0x104
- 8005726:      f7ff b935       b.w     8004994 <d_print_comp+0x1da0>
- 800572a:      f8da a008       ldr.w   sl, [sl, #8]
- 800572e:      f1ba 0f00       cmp.w   sl, #0
- 8005732:      f43e ad01       beq.w   8004138 <d_print_comp+0x1544>
- 8005736:      e4d1            b.n     80050dc <d_print_comp+0x24e8>
- 8005738:      2205            movs    r2, #5
- 800573a:      4975            ldr     r1, [pc, #468]  ; (8005910 <d_print_comp+0x2d1c>)
- 800573c:      4620            mov     r0, r4
- 800573e:      f7fa fe35       bl      80003ac <d_append_buffer>
- 8005742:      9905            ldr     r1, [sp, #20]
- 8005744:      686a            ldr     r2, [r5, #4]
- 8005746:      f7fd bb48       b.w     8002dda <d_print_comp+0x1e6>
- 800574a:      f8cc 0000       str.w   r0, [ip]
- 800574e:      e72c            b.n     80055aa <d_print_comp+0x29b6>
- 8005750:      2202            movs    r2, #2
- 8005752:      4970            ldr     r1, [pc, #448]  ; (8005914 <d_print_comp+0x2d20>)
- 8005754:      4620            mov     r0, r4
- 8005756:      f7fa fe29       bl      80003ac <d_append_buffer>
- 800575a:      9905            ldr     r1, [sp, #20]
- 800575c:      686a            ldr     r2, [r5, #4]
- 800575e:      f7fd bb3c       b.w     8002dda <d_print_comp+0x1e6>
- 8005762:      2202            movs    r2, #2
- 8005764:      496c            ldr     r1, [pc, #432]  ; (8005918 <d_print_comp+0x2d24>)
- 8005766:      4620            mov     r0, r4
- 8005768:      f7fa fe20       bl      80003ac <d_append_buffer>
- 800576c:      9905            ldr     r1, [sp, #20]
- 800576e:      686a            ldr     r2, [r5, #4]
- 8005770:      f7fd bb33       b.w     8002dda <d_print_comp+0x1e6>
- 8005774:      f8d4 7100       ldr.w   r7, [r4, #256]  ; 0x100
- 8005778:      2fff            cmp     r7, #255        ; 0xff
- 800577a:      d111            bne.n   80057a0 <d_print_comp+0x2bac>
- 800577c:      2600            movs    r6, #0
- 800577e:      4639            mov     r1, r7
- 8005780:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8005784:      f884 60ff       strb.w  r6, [r4, #255]  ; 0xff
- 8005788:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 800578c:      4620            mov     r0, r4
- 800578e:      4798            blx     r3
- 8005790:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8005794:      f8c4 6100       str.w   r6, [r4, #256]  ; 0x100
- 8005798:      3301            adds    r3, #1
- 800579a:      4637            mov     r7, r6
- 800579c:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 80057a0:      1c7a            adds    r2, r7, #1
- 80057a2:      236c            movs    r3, #108        ; 0x6c
- 80057a4:      f8c4 2100       str.w   r2, [r4, #256]  ; 0x100
- 80057a8:      55e3            strb    r3, [r4, r7]
- 80057aa:      f884 3104       strb.w  r3, [r4, #260]  ; 0x104
- 80057ae:      686a            ldr     r2, [r5, #4]
- 80057b0:      9905            ldr     r1, [sp, #20]
- 80057b2:      f7fd bb12       b.w     8002dda <d_print_comp+0x1e6>
- 80057b6:      f8d4 7100       ldr.w   r7, [r4, #256]  ; 0x100
- 80057ba:      2fff            cmp     r7, #255        ; 0xff
- 80057bc:      d111            bne.n   80057e2 <d_print_comp+0x2bee>
- 80057be:      2600            movs    r6, #0
- 80057c0:      4639            mov     r1, r7
- 80057c2:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 80057c6:      f884 60ff       strb.w  r6, [r4, #255]  ; 0xff
- 80057ca:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 80057ce:      4620            mov     r0, r4
- 80057d0:      4798            blx     r3
- 80057d2:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 80057d6:      f8c4 6100       str.w   r6, [r4, #256]  ; 0x100
- 80057da:      3301            adds    r3, #1
- 80057dc:      4637            mov     r7, r6
- 80057de:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 80057e2:      1c7a            adds    r2, r7, #1
- 80057e4:      2375            movs    r3, #117        ; 0x75
- 80057e6:      f8c4 2100       str.w   r2, [r4, #256]  ; 0x100
- 80057ea:      55e3            strb    r3, [r4, r7]
- 80057ec:      f884 3104       strb.w  r3, [r4, #260]  ; 0x104
- 80057f0:      686a            ldr     r2, [r5, #4]
- 80057f2:      9905            ldr     r1, [sp, #20]
- 80057f4:      f7fd baf1       b.w     8002dda <d_print_comp+0x1e6>
- 80057f8:      9905            ldr     r1, [sp, #20]
- 80057fa:      686a            ldr     r2, [r5, #4]
- 80057fc:      f7fd baed       b.w     8002dda <d_print_comp+0x1e6>
- 8005800:      f8d4 7100       ldr.w   r7, [r4, #256]  ; 0x100
- 8005804:      2fff            cmp     r7, #255        ; 0xff
- 8005806:      d110            bne.n   800582a <d_print_comp+0x2c36>
- 8005808:      4639            mov     r1, r7
- 800580a:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 800580e:      f884 90ff       strb.w  r9, [r4, #255]  ; 0xff
- 8005812:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8005816:      4620            mov     r0, r4
- 8005818:      4798            blx     r3
- 800581a:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 800581e:      f8c4 9100       str.w   r9, [r4, #256]  ; 0x100
- 8005822:      3301            adds    r3, #1
- 8005824:      464f            mov     r7, r9
- 8005826:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 800582a:      232d            movs    r3, #45 ; 0x2d
- 800582c:      1c7a            adds    r2, r7, #1
- 800582e:      f8c4 2100       str.w   r2, [r4, #256]  ; 0x100
- 8005832:      55e3            strb    r3, [r4, r7]
- 8005834:      f884 3104       strb.w  r3, [r4, #260]  ; 0x104
- 8005838:      e6fc            b.n     8005634 <d_print_comp+0x2a40>
- 800583a:      689a            ldr     r2, [r3, #8]
- 800583c:      6891            ldr     r1, [r2, #8]
- 800583e:      2901            cmp     r1, #1
- 8005840:      f47d aa69       bne.w   8002d16 <d_print_comp+0x122>
- 8005844:      6852            ldr     r2, [r2, #4]
- 8005846:      7812            ldrb    r2, [r2, #0]
- 8005848:      2a3e            cmp     r2, #62 ; 0x3e
- 800584a:      f47d aa64       bne.w   8002d16 <d_print_comp+0x122>
- 800584e:      f8d4 7100       ldr.w   r7, [r4, #256]  ; 0x100
- 8005852:      2fff            cmp     r7, #255        ; 0xff
- 8005854:      d110            bne.n   8005878 <d_print_comp+0x2c84>
- 8005856:      f884 00ff       strb.w  r0, [r4, #255]  ; 0xff
- 800585a:      4639            mov     r1, r7
- 800585c:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8005860:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8005864:      4620            mov     r0, r4
- 8005866:      4798            blx     r3
- 8005868:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 800586c:      f8c4 8100       str.w   r8, [r4, #256]  ; 0x100
- 8005870:      3301            adds    r3, #1
- 8005872:      4647            mov     r7, r8
- 8005874:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8005878:      2328            movs    r3, #40 ; 0x28
- 800587a:      1c7a            adds    r2, r7, #1
- 800587c:      f8c4 2100       str.w   r2, [r4, #256]  ; 0x100
- 8005880:      55e3            strb    r3, [r4, r7]
- 8005882:      f884 3104       strb.w  r3, [r4, #260]  ; 0x104
- 8005886:      68ab            ldr     r3, [r5, #8]
- 8005888:      f7fd ba45       b.w     8002d16 <d_print_comp+0x122>
- 800588c:      465a            mov     r2, fp
- 800588e:      4631            mov     r1, r6
- 8005890:      4620            mov     r0, r4
- 8005892:      f000 feb7       bl      8006604 <d_print_subexpr>
- 8005896:      463a            mov     r2, r7
- 8005898:      4631            mov     r1, r6
- 800589a:      4620            mov     r0, r4
- 800589c:      f000 fe72       bl      8006584 <d_print_expr_op>
- 80058a0:      4652            mov     r2, sl
- 80058a2:      4631            mov     r1, r6
- 80058a4:      4620            mov     r0, r4
- 80058a6:      f000 fead       bl      8006604 <d_print_subexpr>
- 80058aa:      2203            movs    r2, #3
- 80058ac:      491b            ldr     r1, [pc, #108]  ; (800591c <d_print_comp+0x2d28>)
- 80058ae:      4620            mov     r0, r4
- 80058b0:      f7fa fd7c       bl      80003ac <d_append_buffer>
- 80058b4:      464a            mov     r2, r9
- 80058b6:      4631            mov     r1, r6
- 80058b8:      4620            mov     r0, r4
- 80058ba:      f000 fea3       bl      8006604 <d_print_subexpr>
- 80058be:      9905            ldr     r1, [sp, #20]
- 80058c0:      686a            ldr     r2, [r5, #4]
- 80058c2:      f7fd ba8a       b.w     8002dda <d_print_comp+0x1e6>
- 80058c6:      9905            ldr     r1, [sp, #20]
- 80058c8:      686a            ldr     r2, [r5, #4]
- 80058ca:      f7fd ba86       b.w     8002dda <d_print_comp+0x1e6>
- 80058ce:      9905            ldr     r1, [sp, #20]
- 80058d0:      686a            ldr     r2, [r5, #4]
- 80058d2:      f7fd ba82       b.w     8002dda <d_print_comp+0x1e6>
- 80058d6:      68d3            ldr     r3, [r2, #12]
- 80058d8:      781b            ldrb    r3, [r3, #0]
- 80058da:      2b29            cmp     r3, #41 ; 0x29
- 80058dc:      bf1c            itt     ne
- 80058de:      2301            movne   r3, #1
- 80058e0:      f8c4 3118       strne.w r3, [r4, #280]  ; 0x118
- 80058e4:      6892            ldr     r2, [r2, #8]
- 80058e6:      4631            mov     r1, r6
- 80058e8:      4620            mov     r0, r4
- 80058ea:      f000 fe8b       bl      8006604 <d_print_subexpr>
- 80058ee:      f7fd ba22       b.w     8002d36 <d_print_comp+0x142>
- 80058f2:      463a            mov     r2, r7
- 80058f4:      4631            mov     r1, r6
- 80058f6:      4620            mov     r0, r4
- 80058f8:      f000 fe44       bl      8006584 <d_print_expr_op>
- 80058fc:      e5fe            b.n     80054fc <d_print_comp+0x2908>
- 80058fe:      2301            movs    r3, #1
- 8005900:      f8c4 3118       str.w   r3, [r4, #280]  ; 0x118
- 8005904:      686a            ldr     r2, [r5, #4]
- 8005906:      f7fd ba68       b.w     8002dda <d_print_comp+0x1e6>
- 800590a:      bf00            nop
- 800590c:      08012794        .word   0x08012794
- 8005910:      08012798        .word   0x08012798
- 8005914:      08012790        .word   0x08012790
- 8005918:      0801278c        .word   0x0801278c
- 800591c:      08012780        .word   0x08012780
-
-08005920 <d_print_mod>:
- 8005920:      7813            ldrb    r3, [r2, #0]
- 8005922:      3b03            subs    r3, #3
- 8005924:      e92d 47f0       stmdb   sp!, {r4, r5, r6, r7, r8, r9, sl, lr}
- 8005928:      4615            mov     r5, r2
- 800592a:      4604            mov     r4, r0
- 800592c:      460e            mov     r6, r1
- 800592e:      2b4c            cmp     r3, #76 ; 0x4c
- 8005930:      f200 82c8       bhi.w   8005ec4 <d_print_mod+0x5a4>
- 8005934:      e8df f013       tbh     [pc, r3, lsl #1]
- 8005938:      02c60075        .word   0x02c60075
- 800593c:      02c602c6        .word   0x02c602c6
- 8005940:      02c602c6        .word   0x02c602c6
- 8005944:      02c602c6        .word   0x02c602c6
- 8005948:      02c602c6        .word   0x02c602c6
- 800594c:      02c602c6        .word   0x02c602c6
- 8005950:      02c602c6        .word   0x02c602c6
- 8005954:      02c602c6        .word   0x02c602c6
- 8005958:      02c602c6        .word   0x02c602c6
- 800595c:      02c602c6        .word   0x02c602c6
- 8005960:      02c602c6        .word   0x02c602c6
- 8005964:      00a1007a        .word   0x00a1007a
- 8005968:      007a00c8        .word   0x007a00c8
- 800596c:      00c800a1        .word   0x00c800a1
- 8005970:      010a00ee        .word   0x010a00ee
- 8005974:      01480126        .word   0x01480126
- 8005978:      02790166        .word   0x02790166
- 800597c:      029f0252        .word   0x029f0252
- 8005980:      02c602c6        .word   0x02c602c6
- 8005984:      02c602c6        .word   0x02c602c6
- 8005988:      02c60184        .word   0x02c60184
- 800598c:      02c601cc        .word   0x02c601cc
- 8005990:      02c602c6        .word   0x02c602c6
- 8005994:      02c602c6        .word   0x02c602c6
- 8005998:      02c602c6        .word   0x02c602c6
- 800599c:      02c602c6        .word   0x02c602c6
- 80059a0:      02c602c6        .word   0x02c602c6
- 80059a4:      02c602c6        .word   0x02c602c6
- 80059a8:      02c602c6        .word   0x02c602c6
- 80059ac:      02c602c6        .word   0x02c602c6
- 80059b0:      02c602c6        .word   0x02c602c6
- 80059b4:      02c602c6        .word   0x02c602c6
- 80059b8:      02c602c6        .word   0x02c602c6
- 80059bc:      02c602c6        .word   0x02c602c6
- 80059c0:      02c602c6        .word   0x02c602c6
- 80059c4:      02c602c6        .word   0x02c602c6
- 80059c8:      01f402c6        .word   0x01f402c6
- 80059cc:      022a02c6        .word   0x022a02c6
- 80059d0:      004d            .short  0x004d
- 80059d2:      4fd7            ldr     r7, [pc, #860]  ; (8005d30 <d_print_mod+0x410>)
- 80059d4:      f8d0 3100       ldr.w   r3, [r0, #256]  ; 0x100
- 80059d8:      f107 0806       add.w   r8, r7, #6
- 80059dc:      f04f 0900       mov.w   r9, #0
- 80059e0:      e016            b.n     8005a10 <d_print_mod+0xf0>
- 80059e2:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 80059e6:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 80059ea:      f884 90ff       strb.w  r9, [r4, #255]  ; 0xff
- 80059ee:      4798            blx     r3
- 80059f0:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 80059f4:      3301            adds    r3, #1
- 80059f6:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 80059fa:      2200            movs    r2, #0
- 80059fc:      2301            movs    r3, #1
- 80059fe:      4547            cmp     r7, r8
- 8005a00:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 8005a04:      f804 a002       strb.w  sl, [r4, r2]
- 8005a08:      f884 a104       strb.w  sl, [r4, #260]  ; 0x104
- 8005a0c:      f000 825f       beq.w   8005ece <d_print_mod+0x5ae>
- 8005a10:      2bff            cmp     r3, #255        ; 0xff
- 8005a12:      4619            mov     r1, r3
- 8005a14:      4620            mov     r0, r4
- 8005a16:      f817 ab01       ldrb.w  sl, [r7], #1
- 8005a1a:      d0e2            beq.n   80059e2 <d_print_mod+0xc2>
- 8005a1c:      461a            mov     r2, r3
- 8005a1e:      3301            adds    r3, #1
- 8005a20:      e7ed            b.n     80059fe <d_print_mod+0xde>
- 8005a22:      68aa            ldr     r2, [r5, #8]
- 8005a24:      e8bd 47f0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, lr}
- 8005a28:      f7fd b8e4       b.w     8002bf4 <d_print_comp>
- 8005a2c:      4dc1            ldr     r5, [pc, #772]  ; (8005d34 <d_print_mod+0x414>)
- 8005a2e:      f8d0 3100       ldr.w   r3, [r0, #256]  ; 0x100
- 8005a32:      f105 0609       add.w   r6, r5, #9
- 8005a36:      2700            movs    r7, #0
- 8005a38:      e016            b.n     8005a68 <d_print_mod+0x148>
- 8005a3a:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8005a3e:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8005a42:      f884 70ff       strb.w  r7, [r4, #255]  ; 0xff
- 8005a46:      4798            blx     r3
- 8005a48:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8005a4c:      3301            adds    r3, #1
- 8005a4e:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8005a52:      2200            movs    r2, #0
- 8005a54:      2301            movs    r3, #1
- 8005a56:      42ae            cmp     r6, r5
- 8005a58:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 8005a5c:      f804 8002       strb.w  r8, [r4, r2]
- 8005a60:      f884 8104       strb.w  r8, [r4, #260]  ; 0x104
- 8005a64:      f000 80ea       beq.w   8005c3c <d_print_mod+0x31c>
- 8005a68:      2bff            cmp     r3, #255        ; 0xff
- 8005a6a:      4619            mov     r1, r3
- 8005a6c:      4620            mov     r0, r4
- 8005a6e:      f815 8f01       ldrb.w  r8, [r5, #1]!
- 8005a72:      d0e2            beq.n   8005a3a <d_print_mod+0x11a>
- 8005a74:      461a            mov     r2, r3
- 8005a76:      3301            adds    r3, #1
- 8005a78:      e7ed            b.n     8005a56 <d_print_mod+0x136>
- 8005a7a:      4daf            ldr     r5, [pc, #700]  ; (8005d38 <d_print_mod+0x418>)
- 8005a7c:      f8d0 3100       ldr.w   r3, [r0, #256]  ; 0x100
- 8005a80:      f105 0609       add.w   r6, r5, #9
- 8005a84:      2700            movs    r7, #0
- 8005a86:      e016            b.n     8005ab6 <d_print_mod+0x196>
- 8005a88:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8005a8c:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8005a90:      f884 70ff       strb.w  r7, [r4, #255]  ; 0xff
- 8005a94:      4798            blx     r3
- 8005a96:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8005a9a:      3301            adds    r3, #1
- 8005a9c:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8005aa0:      2200            movs    r2, #0
- 8005aa2:      2301            movs    r3, #1
- 8005aa4:      42ae            cmp     r6, r5
- 8005aa6:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 8005aaa:      f804 8002       strb.w  r8, [r4, r2]
- 8005aae:      f884 8104       strb.w  r8, [r4, #260]  ; 0x104
- 8005ab2:      f000 80c3       beq.w   8005c3c <d_print_mod+0x31c>
- 8005ab6:      2bff            cmp     r3, #255        ; 0xff
- 8005ab8:      4619            mov     r1, r3
- 8005aba:      4620            mov     r0, r4
- 8005abc:      f815 8f01       ldrb.w  r8, [r5, #1]!
- 8005ac0:      d0e2            beq.n   8005a88 <d_print_mod+0x168>
- 8005ac2:      461a            mov     r2, r3
- 8005ac4:      3301            adds    r3, #1
- 8005ac6:      e7ed            b.n     8005aa4 <d_print_mod+0x184>
- 8005ac8:      4d9c            ldr     r5, [pc, #624]  ; (8005d3c <d_print_mod+0x41c>)
- 8005aca:      f8d0 3100       ldr.w   r3, [r0, #256]  ; 0x100
- 8005ace:      1dae            adds    r6, r5, #6
- 8005ad0:      2700            movs    r7, #0
- 8005ad2:      e016            b.n     8005b02 <d_print_mod+0x1e2>
- 8005ad4:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8005ad8:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8005adc:      f884 70ff       strb.w  r7, [r4, #255]  ; 0xff
- 8005ae0:      4798            blx     r3
- 8005ae2:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8005ae6:      3301            adds    r3, #1
- 8005ae8:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8005aec:      2200            movs    r2, #0
- 8005aee:      2301            movs    r3, #1
- 8005af0:      42b5            cmp     r5, r6
- 8005af2:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 8005af6:      f804 8002       strb.w  r8, [r4, r2]
- 8005afa:      f884 8104       strb.w  r8, [r4, #260]  ; 0x104
- 8005afe:      f000 809d       beq.w   8005c3c <d_print_mod+0x31c>
- 8005b02:      2bff            cmp     r3, #255        ; 0xff
- 8005b04:      4619            mov     r1, r3
- 8005b06:      4620            mov     r0, r4
- 8005b08:      f815 8b01       ldrb.w  r8, [r5], #1
- 8005b0c:      d0e2            beq.n   8005ad4 <d_print_mod+0x1b4>
- 8005b0e:      461a            mov     r2, r3
- 8005b10:      3301            adds    r3, #1
- 8005b12:      e7ed            b.n     8005af0 <d_print_mod+0x1d0>
- 8005b14:      f8d0 1100       ldr.w   r1, [r0, #256]  ; 0x100
- 8005b18:      29ff            cmp     r1, #255        ; 0xff
- 8005b1a:      d10f            bne.n   8005b3c <d_print_mod+0x21c>
- 8005b1c:      2500            movs    r5, #0
- 8005b1e:      f8d0 3108       ldr.w   r3, [r0, #264]  ; 0x108
- 8005b22:      f880 50ff       strb.w  r5, [r0, #255]  ; 0xff
- 8005b26:      f8d0 210c       ldr.w   r2, [r0, #268]  ; 0x10c
- 8005b2a:      4798            blx     r3
- 8005b2c:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8005b30:      f8c4 5100       str.w   r5, [r4, #256]  ; 0x100
- 8005b34:      3301            adds    r3, #1
- 8005b36:      4629            mov     r1, r5
- 8005b38:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8005b3c:      2220            movs    r2, #32
- 8005b3e:      1c4b            adds    r3, r1, #1
- 8005b40:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 8005b44:      5462            strb    r2, [r4, r1]
- 8005b46:      f884 2104       strb.w  r2, [r4, #260]  ; 0x104
- 8005b4a:      e05d            b.n     8005c08 <d_print_mod+0x2e8>
- 8005b4c:      f8d0 1100       ldr.w   r1, [r0, #256]  ; 0x100
- 8005b50:      29ff            cmp     r1, #255        ; 0xff
- 8005b52:      d10f            bne.n   8005b74 <d_print_mod+0x254>
- 8005b54:      2500            movs    r5, #0
- 8005b56:      f8d0 3108       ldr.w   r3, [r0, #264]  ; 0x108
- 8005b5a:      f880 50ff       strb.w  r5, [r0, #255]  ; 0xff
- 8005b5e:      f8d0 210c       ldr.w   r2, [r0, #268]  ; 0x10c
- 8005b62:      4798            blx     r3
- 8005b64:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8005b68:      f8c4 5100       str.w   r5, [r4, #256]  ; 0x100
- 8005b6c:      3301            adds    r3, #1
- 8005b6e:      4629            mov     r1, r5
- 8005b70:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8005b74:      2220            movs    r2, #32
- 8005b76:      1c4b            adds    r3, r1, #1
- 8005b78:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 8005b7c:      5462            strb    r2, [r4, r1]
- 8005b7e:      f884 2104       strb.w  r2, [r4, #260]  ; 0x104
- 8005b82:      e154            b.n     8005e2e <d_print_mod+0x50e>
- 8005b84:      f8d0 1100       ldr.w   r1, [r0, #256]  ; 0x100
- 8005b88:      29ff            cmp     r1, #255        ; 0xff
- 8005b8a:      d10f            bne.n   8005bac <d_print_mod+0x28c>
- 8005b8c:      2700            movs    r7, #0
- 8005b8e:      f8d0 3108       ldr.w   r3, [r0, #264]  ; 0x108
- 8005b92:      f880 70ff       strb.w  r7, [r0, #255]  ; 0xff
- 8005b96:      f8d0 210c       ldr.w   r2, [r0, #268]  ; 0x10c
- 8005b9a:      4798            blx     r3
- 8005b9c:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8005ba0:      f8c4 7100       str.w   r7, [r4, #256]  ; 0x100
- 8005ba4:      3301            adds    r3, #1
- 8005ba6:      4639            mov     r1, r7
- 8005ba8:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8005bac:      1c4a            adds    r2, r1, #1
- 8005bae:      2320            movs    r3, #32
- 8005bb0:      f8c4 2100       str.w   r2, [r4, #256]  ; 0x100
- 8005bb4:      5463            strb    r3, [r4, r1]
- 8005bb6:      f884 3104       strb.w  r3, [r4, #260]  ; 0x104
- 8005bba:      4631            mov     r1, r6
- 8005bbc:      68ea            ldr     r2, [r5, #12]
- 8005bbe:      4620            mov     r0, r4
- 8005bc0:      e8bd 47f0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, lr}
- 8005bc4:      f7fd b816       b.w     8002bf4 <d_print_comp>
- 8005bc8:      f011 0604       ands.w  r6, r1, #4
- 8005bcc:      d136            bne.n   8005c3c <d_print_mod+0x31c>
- 8005bce:      f8d0 1100       ldr.w   r1, [r0, #256]  ; 0x100
- 8005bd2:      29ff            cmp     r1, #255        ; 0xff
- 8005bd4:      d10e            bne.n   8005bf4 <d_print_mod+0x2d4>
- 8005bd6:      f8d0 3108       ldr.w   r3, [r0, #264]  ; 0x108
- 8005bda:      f880 60ff       strb.w  r6, [r0, #255]  ; 0xff
- 8005bde:      f8d0 210c       ldr.w   r2, [r0, #268]  ; 0x10c
- 8005be2:      4798            blx     r3
- 8005be4:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8005be8:      f8c4 6100       str.w   r6, [r4, #256]  ; 0x100
- 8005bec:      3301            adds    r3, #1
- 8005bee:      4631            mov     r1, r6
- 8005bf0:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8005bf4:      232a            movs    r3, #42 ; 0x2a
- 8005bf6:      1c4a            adds    r2, r1, #1
- 8005bf8:      f8c4 2100       str.w   r2, [r4, #256]  ; 0x100
- 8005bfc:      5463            strb    r3, [r4, r1]
- 8005bfe:      f884 3104       strb.w  r3, [r4, #260]  ; 0x104
- 8005c02:      e01b            b.n     8005c3c <d_print_mod+0x31c>
- 8005c04:      f8d0 3100       ldr.w   r3, [r0, #256]  ; 0x100
- 8005c08:      2bff            cmp     r3, #255        ; 0xff
- 8005c0a:      f040 81a9       bne.w   8005f60 <d_print_mod+0x640>
- 8005c0e:      2500            movs    r5, #0
- 8005c10:      4619            mov     r1, r3
- 8005c12:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8005c16:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8005c1a:      f884 50ff       strb.w  r5, [r4, #255]  ; 0xff
- 8005c1e:      4620            mov     r0, r4
- 8005c20:      4798            blx     r3
- 8005c22:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8005c26:      1c5a            adds    r2, r3, #1
- 8005c28:      f8c4 2124       str.w   r2, [r4, #292]  ; 0x124
- 8005c2c:      462b            mov     r3, r5
- 8005c2e:      2101            movs    r1, #1
- 8005c30:      2226            movs    r2, #38 ; 0x26
- 8005c32:      f8c4 1100       str.w   r1, [r4, #256]  ; 0x100
- 8005c36:      54e2            strb    r2, [r4, r3]
- 8005c38:      f884 2104       strb.w  r2, [r4, #260]  ; 0x104
- 8005c3c:      e8bd 87f0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc}
- 8005c40:      f890 3104       ldrb.w  r3, [r0, #260]  ; 0x104
- 8005c44:      2b28            cmp     r3, #40 ; 0x28
- 8005c46:      d019            beq.n   8005c7c <d_print_mod+0x35c>
- 8005c48:      f8d0 1100       ldr.w   r1, [r0, #256]  ; 0x100
- 8005c4c:      29ff            cmp     r1, #255        ; 0xff
- 8005c4e:      f040 818b       bne.w   8005f68 <d_print_mod+0x648>
- 8005c52:      2700            movs    r7, #0
- 8005c54:      f8d0 3108       ldr.w   r3, [r0, #264]  ; 0x108
- 8005c58:      f8d0 210c       ldr.w   r2, [r0, #268]  ; 0x10c
- 8005c5c:      f880 70ff       strb.w  r7, [r0, #255]  ; 0xff
- 8005c60:      4798            blx     r3
- 8005c62:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8005c66:      3301            adds    r3, #1
- 8005c68:      4639            mov     r1, r7
- 8005c6a:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8005c6e:      2201            movs    r2, #1
- 8005c70:      2320            movs    r3, #32
- 8005c72:      f8c4 2100       str.w   r2, [r4, #256]  ; 0x100
- 8005c76:      5463            strb    r3, [r4, r1]
- 8005c78:      f884 3104       strb.w  r3, [r4, #260]  ; 0x104
- 8005c7c:      68aa            ldr     r2, [r5, #8]
- 8005c7e:      4d30            ldr     r5, [pc, #192]  ; (8005d40 <d_print_mod+0x420>)
- 8005c80:      4631            mov     r1, r6
- 8005c82:      4620            mov     r0, r4
- 8005c84:      f7fc ffb6       bl      8002bf4 <d_print_comp>
- 8005c88:      1cee            adds    r6, r5, #3
- 8005c8a:      f8d4 3100       ldr.w   r3, [r4, #256]  ; 0x100
- 8005c8e:      2700            movs    r7, #0
- 8005c90:      e015            b.n     8005cbe <d_print_mod+0x39e>
- 8005c92:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8005c96:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8005c9a:      f884 70ff       strb.w  r7, [r4, #255]  ; 0xff
- 8005c9e:      4798            blx     r3
- 8005ca0:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8005ca4:      3301            adds    r3, #1
- 8005ca6:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8005caa:      2200            movs    r2, #0
- 8005cac:      2301            movs    r3, #1
- 8005cae:      42ae            cmp     r6, r5
- 8005cb0:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 8005cb4:      f804 8002       strb.w  r8, [r4, r2]
- 8005cb8:      f884 8104       strb.w  r8, [r4, #260]  ; 0x104
- 8005cbc:      d0be            beq.n   8005c3c <d_print_mod+0x31c>
- 8005cbe:      2bff            cmp     r3, #255        ; 0xff
- 8005cc0:      4619            mov     r1, r3
- 8005cc2:      4620            mov     r0, r4
- 8005cc4:      f815 8b01       ldrb.w  r8, [r5], #1
- 8005cc8:      d0e3            beq.n   8005c92 <d_print_mod+0x372>
- 8005cca:      461a            mov     r2, r3
- 8005ccc:      3301            adds    r3, #1
- 8005cce:      e7ee            b.n     8005cae <d_print_mod+0x38e>
- 8005cd0:      4f1c            ldr     r7, [pc, #112]  ; (8005d44 <d_print_mod+0x424>)
- 8005cd2:      f8d0 3100       ldr.w   r3, [r0, #256]  ; 0x100
- 8005cd6:      f107 080a       add.w   r8, r7, #10
- 8005cda:      f04f 0900       mov.w   r9, #0
- 8005cde:      e016            b.n     8005d0e <d_print_mod+0x3ee>
- 8005ce0:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8005ce4:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8005ce8:      f884 90ff       strb.w  r9, [r4, #255]  ; 0xff
- 8005cec:      4798            blx     r3
- 8005cee:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8005cf2:      3301            adds    r3, #1
- 8005cf4:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8005cf8:      2200            movs    r2, #0
- 8005cfa:      2301            movs    r3, #1
- 8005cfc:      45b8            cmp     r8, r7
- 8005cfe:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 8005d02:      f804 a002       strb.w  sl, [r4, r2]
- 8005d06:      f884 a104       strb.w  sl, [r4, #260]  ; 0x104
- 8005d0a:      f000 811e       beq.w   8005f4a <d_print_mod+0x62a>
- 8005d0e:      2bff            cmp     r3, #255        ; 0xff
- 8005d10:      4619            mov     r1, r3
- 8005d12:      4620            mov     r0, r4
- 8005d14:      f817 ab01       ldrb.w  sl, [r7], #1
- 8005d18:      d0e2            beq.n   8005ce0 <d_print_mod+0x3c0>
- 8005d1a:      461a            mov     r2, r3
- 8005d1c:      3301            adds    r3, #1
- 8005d1e:      e7ed            b.n     8005cfc <d_print_mod+0x3dc>
- 8005d20:      4d09            ldr     r5, [pc, #36]   ; (8005d48 <d_print_mod+0x428>)
- 8005d22:      f8d0 3100       ldr.w   r3, [r0, #256]  ; 0x100
- 8005d26:      f105 0611       add.w   r6, r5, #17
- 8005d2a:      2700            movs    r7, #0
- 8005d2c:      e025            b.n     8005d7a <d_print_mod+0x45a>
- 8005d2e:      bf00            nop
- 8005d30:      08012884        .word   0x08012884
- 8005d34:      08012843        .word   0x08012843
- 8005d38:      0801284f        .word   0x0801284f
- 8005d3c:      0801285c        .word   0x0801285c
- 8005d40:      080128a8        .word   0x080128a8
- 8005d44:      080128ac        .word   0x080128ac
- 8005d48:      08012863        .word   0x08012863
- 8005d4c:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8005d50:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8005d54:      f884 70ff       strb.w  r7, [r4, #255]  ; 0xff
- 8005d58:      4798            blx     r3
- 8005d5a:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8005d5e:      3301            adds    r3, #1
- 8005d60:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8005d64:      2200            movs    r2, #0
- 8005d66:      2301            movs    r3, #1
- 8005d68:      42ae            cmp     r6, r5
- 8005d6a:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 8005d6e:      f804 8002       strb.w  r8, [r4, r2]
- 8005d72:      f884 8104       strb.w  r8, [r4, #260]  ; 0x104
- 8005d76:      f43f af61       beq.w   8005c3c <d_print_mod+0x31c>
- 8005d7a:      2bff            cmp     r3, #255        ; 0xff
- 8005d7c:      4619            mov     r1, r3
- 8005d7e:      4620            mov     r0, r4
- 8005d80:      f815 8f01       ldrb.w  r8, [r5, #1]!
- 8005d84:      d0e2            beq.n   8005d4c <d_print_mod+0x42c>
- 8005d86:      461a            mov     r2, r3
- 8005d88:      3301            adds    r3, #1
- 8005d8a:      e7ed            b.n     8005d68 <d_print_mod+0x448>
- 8005d8c:      4f77            ldr     r7, [pc, #476]  ; (8005f6c <d_print_mod+0x64c>)
- 8005d8e:      f8d0 3100       ldr.w   r3, [r0, #256]  ; 0x100
- 8005d92:      f107 0809       add.w   r8, r7, #9
- 8005d96:      f04f 0900       mov.w   r9, #0
- 8005d9a:      e016            b.n     8005dca <d_print_mod+0x4aa>
- 8005d9c:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8005da0:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8005da4:      f884 90ff       strb.w  r9, [r4, #255]  ; 0xff
- 8005da8:      4798            blx     r3
- 8005daa:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8005dae:      3301            adds    r3, #1
- 8005db0:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8005db4:      2200            movs    r2, #0
- 8005db6:      2301            movs    r3, #1
- 8005db8:      4547            cmp     r7, r8
- 8005dba:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 8005dbe:      f804 a002       strb.w  sl, [r4, r2]
- 8005dc2:      f884 a104       strb.w  sl, [r4, #260]  ; 0x104
- 8005dc6:      f000 8082       beq.w   8005ece <d_print_mod+0x5ae>
- 8005dca:      2bff            cmp     r3, #255        ; 0xff
- 8005dcc:      4619            mov     r1, r3
- 8005dce:      4620            mov     r0, r4
- 8005dd0:      f817 af01       ldrb.w  sl, [r7, #1]!
- 8005dd4:      d0e2            beq.n   8005d9c <d_print_mod+0x47c>
- 8005dd6:      461a            mov     r2, r3
- 8005dd8:      3301            adds    r3, #1
- 8005dda:      e7ed            b.n     8005db8 <d_print_mod+0x498>
- 8005ddc:      4d64            ldr     r5, [pc, #400]  ; (8005f70 <d_print_mod+0x650>)
- 8005dde:      f8d0 3100       ldr.w   r3, [r0, #256]  ; 0x100
- 8005de2:      f105 0608       add.w   r6, r5, #8
- 8005de6:      2700            movs    r7, #0
- 8005de8:      e016            b.n     8005e18 <d_print_mod+0x4f8>
- 8005dea:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8005dee:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8005df2:      f884 70ff       strb.w  r7, [r4, #255]  ; 0xff
- 8005df6:      4798            blx     r3
- 8005df8:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8005dfc:      3301            adds    r3, #1
- 8005dfe:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8005e02:      2200            movs    r2, #0
- 8005e04:      2301            movs    r3, #1
- 8005e06:      42ae            cmp     r6, r5
- 8005e08:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 8005e0c:      f804 8002       strb.w  r8, [r4, r2]
- 8005e10:      f884 8104       strb.w  r8, [r4, #260]  ; 0x104
- 8005e14:      f43f af12       beq.w   8005c3c <d_print_mod+0x31c>
- 8005e18:      2bff            cmp     r3, #255        ; 0xff
- 8005e1a:      4619            mov     r1, r3
- 8005e1c:      4620            mov     r0, r4
- 8005e1e:      f815 8f01       ldrb.w  r8, [r5, #1]!
- 8005e22:      d0e2            beq.n   8005dea <d_print_mod+0x4ca>
- 8005e24:      461a            mov     r2, r3
- 8005e26:      3301            adds    r3, #1
- 8005e28:      e7ed            b.n     8005e06 <d_print_mod+0x4e6>
- 8005e2a:      f8d0 3100       ldr.w   r3, [r0, #256]  ; 0x100
- 8005e2e:      4d51            ldr     r5, [pc, #324]  ; (8005f74 <d_print_mod+0x654>)
- 8005e30:      2700            movs    r7, #0
- 8005e32:      1cae            adds    r6, r5, #2
- 8005e34:      e016            b.n     8005e64 <d_print_mod+0x544>
- 8005e36:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8005e3a:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8005e3e:      f884 70ff       strb.w  r7, [r4, #255]  ; 0xff
- 8005e42:      4798            blx     r3
- 8005e44:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8005e48:      3301            adds    r3, #1
- 8005e4a:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8005e4e:      2200            movs    r2, #0
- 8005e50:      2301            movs    r3, #1
- 8005e52:      42b5            cmp     r5, r6
- 8005e54:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 8005e58:      f804 8002       strb.w  r8, [r4, r2]
- 8005e5c:      f884 8104       strb.w  r8, [r4, #260]  ; 0x104
- 8005e60:      f43f aeec       beq.w   8005c3c <d_print_mod+0x31c>
- 8005e64:      2bff            cmp     r3, #255        ; 0xff
- 8005e66:      4619            mov     r1, r3
- 8005e68:      4620            mov     r0, r4
- 8005e6a:      f815 8b01       ldrb.w  r8, [r5], #1
- 8005e6e:      d0e2            beq.n   8005e36 <d_print_mod+0x516>
- 8005e70:      461a            mov     r2, r3
- 8005e72:      3301            adds    r3, #1
- 8005e74:      e7ed            b.n     8005e52 <d_print_mod+0x532>
- 8005e76:      4d40            ldr     r5, [pc, #256]  ; (8005f78 <d_print_mod+0x658>)
- 8005e78:      f8d0 3100       ldr.w   r3, [r0, #256]  ; 0x100
- 8005e7c:      f105 060a       add.w   r6, r5, #10
- 8005e80:      2700            movs    r7, #0
- 8005e82:      e016            b.n     8005eb2 <d_print_mod+0x592>
- 8005e84:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8005e88:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8005e8c:      f884 70ff       strb.w  r7, [r4, #255]  ; 0xff
- 8005e90:      4798            blx     r3
- 8005e92:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8005e96:      3301            adds    r3, #1
- 8005e98:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8005e9c:      2200            movs    r2, #0
- 8005e9e:      2301            movs    r3, #1
- 8005ea0:      42b5            cmp     r5, r6
- 8005ea2:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 8005ea6:      f804 8002       strb.w  r8, [r4, r2]
- 8005eaa:      f884 8104       strb.w  r8, [r4, #260]  ; 0x104
- 8005eae:      f43f aec5       beq.w   8005c3c <d_print_mod+0x31c>
- 8005eb2:      2bff            cmp     r3, #255        ; 0xff
- 8005eb4:      4619            mov     r1, r3
- 8005eb6:      4620            mov     r0, r4
- 8005eb8:      f815 8b01       ldrb.w  r8, [r5], #1
- 8005ebc:      d0e2            beq.n   8005e84 <d_print_mod+0x564>
- 8005ebe:      461a            mov     r2, r3
- 8005ec0:      3301            adds    r3, #1
- 8005ec2:      e7ed            b.n     8005ea0 <d_print_mod+0x580>
- 8005ec4:      462a            mov     r2, r5
- 8005ec6:      e8bd 47f0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, lr}
- 8005eca:      f7fc be93       b.w     8002bf4 <d_print_comp>
- 8005ece:      68ea            ldr     r2, [r5, #12]
- 8005ed0:      2a00            cmp     r2, #0
- 8005ed2:      f43f aeb3       beq.w   8005c3c <d_print_mod+0x31c>
- 8005ed6:      2bff            cmp     r3, #255        ; 0xff
- 8005ed8:      d144            bne.n   8005f64 <d_print_mod+0x644>
- 8005eda:      2700            movs    r7, #0
- 8005edc:      4619            mov     r1, r3
- 8005ede:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8005ee2:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8005ee6:      f884 70ff       strb.w  r7, [r4, #255]  ; 0xff
- 8005eea:      4620            mov     r0, r4
- 8005eec:      4798            blx     r3
- 8005eee:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8005ef2:      68ea            ldr     r2, [r5, #12]
- 8005ef4:      1c59            adds    r1, r3, #1
- 8005ef6:      f8c4 1124       str.w   r1, [r4, #292]  ; 0x124
- 8005efa:      463b            mov     r3, r7
- 8005efc:      2101            movs    r1, #1
- 8005efe:      2528            movs    r5, #40 ; 0x28
- 8005f00:      f8c4 1100       str.w   r1, [r4, #256]  ; 0x100
- 8005f04:      4620            mov     r0, r4
- 8005f06:      4631            mov     r1, r6
- 8005f08:      54e5            strb    r5, [r4, r3]
- 8005f0a:      f884 5104       strb.w  r5, [r4, #260]  ; 0x104
- 8005f0e:      f7fc fe71       bl      8002bf4 <d_print_comp>
- 8005f12:      f8d4 1100       ldr.w   r1, [r4, #256]  ; 0x100
- 8005f16:      29ff            cmp     r1, #255        ; 0xff
- 8005f18:      d120            bne.n   8005f5c <d_print_mod+0x63c>
- 8005f1a:      2500            movs    r5, #0
- 8005f1c:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8005f20:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8005f24:      f884 50ff       strb.w  r5, [r4, #255]  ; 0xff
- 8005f28:      4620            mov     r0, r4
- 8005f2a:      4798            blx     r3
- 8005f2c:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8005f30:      3301            adds    r3, #1
- 8005f32:      4629            mov     r1, r5
- 8005f34:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8005f38:      2201            movs    r2, #1
- 8005f3a:      2329            movs    r3, #41 ; 0x29
- 8005f3c:      f8c4 2100       str.w   r2, [r4, #256]  ; 0x100
- 8005f40:      5463            strb    r3, [r4, r1]
- 8005f42:      f884 3104       strb.w  r3, [r4, #260]  ; 0x104
- 8005f46:      e8bd 87f0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc}
- 8005f4a:      4631            mov     r1, r6
- 8005f4c:      68aa            ldr     r2, [r5, #8]
- 8005f4e:      4620            mov     r0, r4
- 8005f50:      f7fc fe50       bl      8002bf4 <d_print_comp>
- 8005f54:      f8d4 1100       ldr.w   r1, [r4, #256]  ; 0x100
- 8005f58:      29ff            cmp     r1, #255        ; 0xff
- 8005f5a:      d0de            beq.n   8005f1a <d_print_mod+0x5fa>
- 8005f5c:      1c4a            adds    r2, r1, #1
- 8005f5e:      e7ec            b.n     8005f3a <d_print_mod+0x61a>
- 8005f60:      1c59            adds    r1, r3, #1
- 8005f62:      e665            b.n     8005c30 <d_print_mod+0x310>
- 8005f64:      1c59            adds    r1, r3, #1
- 8005f66:      e7ca            b.n     8005efe <d_print_mod+0x5de>
- 8005f68:      1c4a            adds    r2, r1, #1
- 8005f6a:      e681            b.n     8005c70 <d_print_mod+0x350>
- 8005f6c:      08012877        .word   0x08012877
- 8005f70:      0801288f        .word   0x0801288f
- 8005f74:      0801288c        .word   0x0801288c
- 8005f78:      0801289c        .word   0x0801289c
-
-08005f7c <d_print_function_type.isra.15>:
- 8005f7c:      e92d 43f8       stmdb   sp!, {r3, r4, r5, r6, r7, r8, r9, lr}
- 8005f80:      4604            mov     r4, r0
- 8005f82:      460e            mov     r6, r1
- 8005f84:      4617            mov     r7, r2
- 8005f86:      461d            mov     r5, r3
- 8005f88:      b1d3            cbz     r3, 8005fc0 <d_print_function_type.isra.15+0x44>
- 8005f8a:      689b            ldr     r3, [r3, #8]
- 8005f8c:      b9c3            cbnz    r3, 8005fc0 <d_print_function_type.isra.15+0x44>
- 8005f8e:      462a            mov     r2, r5
- 8005f90:      2001            movs    r0, #1
- 8005f92:      f8df c1c8       ldr.w   ip, [pc, #456]  ; 800615c <d_print_function_type.isra.15+0x1e0>
- 8005f96:      e001            b.n     8005f9c <d_print_function_type.isra.15+0x20>
- 8005f98:      6893            ldr     r3, [r2, #8]
- 8005f9a:      b98b            cbnz    r3, 8005fc0 <d_print_function_type.isra.15+0x44>
- 8005f9c:      6853            ldr     r3, [r2, #4]
- 8005f9e:      781b            ldrb    r3, [r3, #0]
- 8005fa0:      3b19            subs    r3, #25
- 8005fa2:      b2db            uxtb    r3, r3
- 8005fa4:      2b12            cmp     r3, #18
- 8005fa6:      fa00 f103       lsl.w   r1, r0, r3
- 8005faa:      d806            bhi.n   8005fba <d_print_function_type.isra.15+0x3e>
- 8005fac:      ea11 0f0c       tst.w   r1, ip
- 8005fb0:      f040 80c7       bne.w   8006142 <d_print_function_type.isra.15+0x1c6>
- 8005fb4:      f411 6f60       tst.w   r1, #3584       ; 0xe00
- 8005fb8:      d154            bne.n   8006064 <d_print_function_type.isra.15+0xe8>
- 8005fba:      6812            ldr     r2, [r2, #0]
- 8005fbc:      2a00            cmp     r2, #0
- 8005fbe:      d1eb            bne.n   8005f98 <d_print_function_type.isra.15+0x1c>
- 8005fc0:      2300            movs    r3, #0
- 8005fc2:      f8d4 8114       ldr.w   r8, [r4, #276]  ; 0x114
- 8005fc6:      f8c4 3114       str.w   r3, [r4, #276]  ; 0x114
- 8005fca:      4631            mov     r1, r6
- 8005fcc:      462a            mov     r2, r5
- 8005fce:      4620            mov     r0, r4
- 8005fd0:      f000 f8c6       bl      8006160 <d_print_mod_list>
- 8005fd4:      f8d4 1100       ldr.w   r1, [r4, #256]  ; 0x100
- 8005fd8:      29ff            cmp     r1, #255        ; 0xff
- 8005fda:      f040 80a4       bne.w   8006126 <d_print_function_type.isra.15+0x1aa>
- 8005fde:      2300            movs    r3, #0
- 8005fe0:      f884 30ff       strb.w  r3, [r4, #255]  ; 0xff
- 8005fe4:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8005fe8:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8005fec:      4620            mov     r0, r4
- 8005fee:      4798            blx     r3
- 8005ff0:      2328            movs    r3, #40 ; 0x28
- 8005ff2:      7023            strb    r3, [r4, #0]
- 8005ff4:      f884 3104       strb.w  r3, [r4, #260]  ; 0x104
- 8005ff8:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8005ffc:      683a            ldr     r2, [r7, #0]
- 8005ffe:      1c59            adds    r1, r3, #1
- 8006000:      2301            movs    r3, #1
- 8006002:      f8c4 1124       str.w   r1, [r4, #292]  ; 0x124
- 8006006:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 800600a:      2a00            cmp     r2, #0
- 800600c:      f000 8097       beq.w   800613e <d_print_function_type.isra.15+0x1c2>
- 8006010:      4631            mov     r1, r6
- 8006012:      4620            mov     r0, r4
- 8006014:      f7fc fdee       bl      8002bf4 <d_print_comp>
- 8006018:      f8d4 3100       ldr.w   r3, [r4, #256]  ; 0x100
- 800601c:      2bff            cmp     r3, #255        ; 0xff
- 800601e:      f040 808e       bne.w   800613e <d_print_function_type.isra.15+0x1c2>
- 8006022:      2700            movs    r7, #0
- 8006024:      4619            mov     r1, r3
- 8006026:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 800602a:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 800602e:      f884 70ff       strb.w  r7, [r4, #255]  ; 0xff
- 8006032:      4620            mov     r0, r4
- 8006034:      4798            blx     r3
- 8006036:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 800603a:      1c5a            adds    r2, r3, #1
- 800603c:      f8c4 2124       str.w   r2, [r4, #292]  ; 0x124
- 8006040:      463b            mov     r3, r7
- 8006042:      2201            movs    r2, #1
- 8006044:      2029            movs    r0, #41 ; 0x29
- 8006046:      f8c4 2100       str.w   r2, [r4, #256]  ; 0x100
- 800604a:      4631            mov     r1, r6
- 800604c:      54e0            strb    r0, [r4, r3]
- 800604e:      462a            mov     r2, r5
- 8006050:      f884 0104       strb.w  r0, [r4, #260]  ; 0x104
- 8006054:      2301            movs    r3, #1
- 8006056:      4620            mov     r0, r4
- 8006058:      f000 f882       bl      8006160 <d_print_mod_list>
- 800605c:      f8c4 8114       str.w   r8, [r4, #276]  ; 0x114
- 8006060:      e8bd 83f8       ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc}
- 8006064:      f894 3104       ldrb.w  r3, [r4, #260]  ; 0x104
- 8006068:      f8d4 1100       ldr.w   r1, [r4, #256]  ; 0x100
- 800606c:      f003 02fd       and.w   r2, r3, #253    ; 0xfd
- 8006070:      2a28            cmp     r2, #40 ; 0x28
- 8006072:      d01e            beq.n   80060b2 <d_print_function_type.isra.15+0x136>
- 8006074:      2b20            cmp     r3, #32
- 8006076:      d01c            beq.n   80060b2 <d_print_function_type.isra.15+0x136>
- 8006078:      29ff            cmp     r1, #255        ; 0xff
- 800607a:      d112            bne.n   80060a2 <d_print_function_type.isra.15+0x126>
- 800607c:      2300            movs    r3, #0
- 800607e:      f884 30ff       strb.w  r3, [r4, #255]  ; 0xff
- 8006082:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8006086:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 800608a:      4620            mov     r0, r4
- 800608c:      4798            blx     r3
- 800608e:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8006092:      2220            movs    r2, #32
- 8006094:      3301            adds    r3, #1
- 8006096:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 800609a:      7022            strb    r2, [r4, #0]
- 800609c:      2101            movs    r1, #1
- 800609e:      1c4a            adds    r2, r1, #1
- 80060a0:      e01a            b.n     80060d8 <d_print_function_type.isra.15+0x15c>
- 80060a2:      1c4b            adds    r3, r1, #1
- 80060a4:      2220            movs    r2, #32
- 80060a6:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 80060aa:      5462            strb    r2, [r4, r1]
- 80060ac:      f884 2104       strb.w  r2, [r4, #260]  ; 0x104
- 80060b0:      4619            mov     r1, r3
- 80060b2:      29ff            cmp     r1, #255        ; 0xff
- 80060b4:      d1f3            bne.n   800609e <d_print_function_type.isra.15+0x122>
- 80060b6:      f04f 0800       mov.w   r8, #0
- 80060ba:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 80060be:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 80060c2:      f884 80ff       strb.w  r8, [r4, #255]  ; 0xff
- 80060c6:      4620            mov     r0, r4
- 80060c8:      4798            blx     r3
- 80060ca:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 80060ce:      3301            adds    r3, #1
- 80060d0:      4641            mov     r1, r8
- 80060d2:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 80060d6:      2201            movs    r2, #1
- 80060d8:      2328            movs    r3, #40 ; 0x28
- 80060da:      f8c4 2100       str.w   r2, [r4, #256]  ; 0x100
- 80060de:      5463            strb    r3, [r4, r1]
- 80060e0:      f04f 0900       mov.w   r9, #0
- 80060e4:      f884 3104       strb.w  r3, [r4, #260]  ; 0x104
- 80060e8:      f8d4 8114       ldr.w   r8, [r4, #276]  ; 0x114
- 80060ec:      f8c4 9114       str.w   r9, [r4, #276]  ; 0x114
- 80060f0:      464b            mov     r3, r9
- 80060f2:      462a            mov     r2, r5
- 80060f4:      4631            mov     r1, r6
- 80060f6:      4620            mov     r0, r4
- 80060f8:      f000 f832       bl      8006160 <d_print_mod_list>
- 80060fc:      f8d4 3100       ldr.w   r3, [r4, #256]  ; 0x100
- 8006100:      2bff            cmp     r3, #255        ; 0xff
- 8006102:      d123            bne.n   800614c <d_print_function_type.isra.15+0x1d0>
- 8006104:      4619            mov     r1, r3
- 8006106:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 800610a:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 800610e:      f884 90ff       strb.w  r9, [r4, #255]  ; 0xff
- 8006112:      4620            mov     r0, r4
- 8006114:      4798            blx     r3
- 8006116:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 800611a:      2229            movs    r2, #41 ; 0x29
- 800611c:      3301            adds    r3, #1
- 800611e:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8006122:      7022            strb    r2, [r4, #0]
- 8006124:      2101            movs    r1, #1
- 8006126:      2228            movs    r2, #40 ; 0x28
- 8006128:      1c4b            adds    r3, r1, #1
- 800612a:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 800612e:      5462            strb    r2, [r4, r1]
- 8006130:      f884 2104       strb.w  r2, [r4, #260]  ; 0x104
- 8006134:      683a            ldr     r2, [r7, #0]
- 8006136:      2a00            cmp     r2, #0
- 8006138:      f43f af70       beq.w   800601c <d_print_function_type.isra.15+0xa0>
- 800613c:      e768            b.n     8006010 <d_print_function_type.isra.15+0x94>
- 800613e:      1c5a            adds    r2, r3, #1
- 8006140:      e780            b.n     8006044 <d_print_function_type.isra.15+0xc8>
- 8006142:      f894 3104       ldrb.w  r3, [r4, #260]  ; 0x104
- 8006146:      f8d4 1100       ldr.w   r1, [r4, #256]  ; 0x100
- 800614a:      e793            b.n     8006074 <d_print_function_type.isra.15+0xf8>
- 800614c:      2229            movs    r2, #41 ; 0x29
- 800614e:      1c59            adds    r1, r3, #1
- 8006150:      f8c4 1100       str.w   r1, [r4, #256]  ; 0x100
- 8006154:      54e2            strb    r2, [r4, r3]
- 8006156:      f884 2104       strb.w  r2, [r4, #260]  ; 0x104
- 800615a:      e73d            b.n     8005fd8 <d_print_function_type.isra.15+0x5c>
- 800615c:      00043107        .word   0x00043107
-
-08006160 <d_print_mod_list>:
- 8006160:      2a00            cmp     r2, #0
- 8006162:      f000 80ac       beq.w   80062be <d_print_mod_list+0x15e>
- 8006166:      e92d 4ff0       stmdb   sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
- 800616a:      461f            mov     r7, r3
- 800616c:      f8d0 3118       ldr.w   r3, [r0, #280]  ; 0x118
- 8006170:      b089            sub     sp, #36 ; 0x24
- 8006172:      4605            mov     r5, r0
- 8006174:      bb4b            cbnz    r3, 80061ca <d_print_mod_list+0x6a>
- 8006176:      4688            mov     r8, r1
- 8006178:      4614            mov     r4, r2
- 800617a:      f04f 0901       mov.w   r9, #1
- 800617e:      e002            b.n     8006186 <d_print_mod_list+0x26>
- 8006180:      f8d5 3118       ldr.w   r3, [r5, #280]  ; 0x118
- 8006184:      bb0b            cbnz    r3, 80061ca <d_print_mod_list+0x6a>
- 8006186:      68a3            ldr     r3, [r4, #8]
- 8006188:      b9e3            cbnz    r3, 80061c4 <d_print_mod_list+0x64>
- 800618a:      f8d4 a004       ldr.w   sl, [r4, #4]
- 800618e:      f89a 6000       ldrb.w  r6, [sl]
- 8006192:      4630            mov     r0, r6
- 8006194:      b917            cbnz    r7, 800619c <d_print_mod_list+0x3c>
- 8006196:      f7fa f93f       bl      8000418 <is_fnqual_component_type>
- 800619a:      b998            cbnz    r0, 80061c4 <d_print_mod_list+0x64>
- 800619c:      68e3            ldr     r3, [r4, #12]
- 800619e:      f8c4 9008       str.w   r9, [r4, #8]
- 80061a2:      2e29            cmp     r6, #41 ; 0x29
- 80061a4:      f8d5 b110       ldr.w   fp, [r5, #272]  ; 0x110
- 80061a8:      f8c5 3110       str.w   r3, [r5, #272]  ; 0x110
- 80061ac:      4652            mov     r2, sl
- 80061ae:      4641            mov     r1, r8
- 80061b0:      4628            mov     r0, r5
- 80061b2:      d00d            beq.n   80061d0 <d_print_mod_list+0x70>
- 80061b4:      2e2a            cmp     r6, #42 ; 0x2a
- 80061b6:      d015            beq.n   80061e4 <d_print_mod_list+0x84>
- 80061b8:      2e02            cmp     r6, #2
- 80061ba:      d01d            beq.n   80061f8 <d_print_mod_list+0x98>
- 80061bc:      f7ff fbb0       bl      8005920 <d_print_mod>
- 80061c0:      f8c5 b110       str.w   fp, [r5, #272]  ; 0x110
- 80061c4:      6824            ldr     r4, [r4, #0]
- 80061c6:      2c00            cmp     r4, #0
- 80061c8:      d1da            bne.n   8006180 <d_print_mod_list+0x20>
- 80061ca:      b009            add     sp, #36 ; 0x24
- 80061cc:      e8bd 8ff0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
- 80061d0:      6823            ldr     r3, [r4, #0]
- 80061d2:      f10a 020c       add.w   r2, sl, #12
- 80061d6:      f7ff fed1       bl      8005f7c <d_print_function_type.isra.15>
- 80061da:      f8c5 b110       str.w   fp, [r5, #272]  ; 0x110
- 80061de:      b009            add     sp, #36 ; 0x24
- 80061e0:      e8bd 8ff0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
- 80061e4:      6823            ldr     r3, [r4, #0]
- 80061e6:      f10a 0208       add.w   r2, sl, #8
- 80061ea:      f000 f8f1       bl      80063d0 <d_print_array_type.isra.14>
- 80061ee:      f8c5 b110       str.w   fp, [r5, #272]  ; 0x110
- 80061f2:      b009            add     sp, #36 ; 0x24
- 80061f4:      e8bd 8ff0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
- 80061f8:      2600            movs    r6, #0
- 80061fa:      f8d5 7114       ldr.w   r7, [r5, #276]  ; 0x114
- 80061fe:      f8da 2008       ldr.w   r2, [sl, #8]
- 8006202:      f8c5 6114       str.w   r6, [r5, #276]  ; 0x114
- 8006206:      f7fc fcf5       bl      8002bf4 <d_print_comp>
- 800620a:      f8c5 7114       str.w   r7, [r5, #276]  ; 0x114
- 800620e:      f018 0704       ands.w  r7, r8, #4
- 8006212:      d02f            beq.n   8006274 <d_print_mod_list+0x114>
- 8006214:      f8d5 1100       ldr.w   r1, [r5, #256]  ; 0x100
- 8006218:      29ff            cmp     r1, #255        ; 0xff
- 800621a:      f040 80cf       bne.w   80063bc <d_print_mod_list+0x25c>
- 800621e:      f8d5 3108       ldr.w   r3, [r5, #264]  ; 0x108
- 8006222:      f8d5 210c       ldr.w   r2, [r5, #268]  ; 0x10c
- 8006226:      f885 60ff       strb.w  r6, [r5, #255]  ; 0xff
- 800622a:      4628            mov     r0, r5
- 800622c:      4798            blx     r3
- 800622e:      f8d5 3124       ldr.w   r3, [r5, #292]  ; 0x124
- 8006232:      3301            adds    r3, #1
- 8006234:      4631            mov     r1, r6
- 8006236:      f8c5 3124       str.w   r3, [r5, #292]  ; 0x124
- 800623a:      2201            movs    r2, #1
- 800623c:      232e            movs    r3, #46 ; 0x2e
- 800623e:      f8c5 2100       str.w   r2, [r5, #256]  ; 0x100
- 8006242:      546b            strb    r3, [r5, r1]
- 8006244:      f885 3104       strb.w  r3, [r5, #260]  ; 0x104
- 8006248:      6863            ldr     r3, [r4, #4]
- 800624a:      68dc            ldr     r4, [r3, #12]
- 800624c:      7820            ldrb    r0, [r4, #0]
- 800624e:      2846            cmp     r0, #70 ; 0x46
- 8006250:      d102            bne.n   8006258 <d_print_mod_list+0xf8>
- 8006252:      e035            b.n     80062c0 <d_print_mod_list+0x160>
- 8006254:      68a4            ldr     r4, [r4, #8]
- 8006256:      7820            ldrb    r0, [r4, #0]
- 8006258:      f7fa f8de       bl      8000418 <is_fnqual_component_type>
- 800625c:      2800            cmp     r0, #0
- 800625e:      d1f9            bne.n   8006254 <d_print_mod_list+0xf4>
- 8006260:      4622            mov     r2, r4
- 8006262:      4641            mov     r1, r8
- 8006264:      4628            mov     r0, r5
- 8006266:      f7fc fcc5       bl      8002bf4 <d_print_comp>
- 800626a:      f8c5 b110       str.w   fp, [r5, #272]  ; 0x110
- 800626e:      b009            add     sp, #36 ; 0x24
- 8006270:      e8bd 8ff0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
- 8006274:      4e52            ldr     r6, [pc, #328]  ; (80063c0 <d_print_mod_list+0x260>)
- 8006276:      f8d5 3100       ldr.w   r3, [r5, #256]  ; 0x100
- 800627a:      f106 0902       add.w   r9, r6, #2
- 800627e:      e015            b.n     80062ac <d_print_mod_list+0x14c>
- 8006280:      f8d5 3108       ldr.w   r3, [r5, #264]  ; 0x108
- 8006284:      f8d5 210c       ldr.w   r2, [r5, #268]  ; 0x10c
- 8006288:      f885 70ff       strb.w  r7, [r5, #255]  ; 0xff
- 800628c:      4798            blx     r3
- 800628e:      f8d5 3124       ldr.w   r3, [r5, #292]  ; 0x124
- 8006292:      3301            adds    r3, #1
- 8006294:      f8c5 3124       str.w   r3, [r5, #292]  ; 0x124
- 8006298:      2200            movs    r2, #0
- 800629a:      2301            movs    r3, #1
- 800629c:      45b1            cmp     r9, r6
- 800629e:      f8c5 3100       str.w   r3, [r5, #256]  ; 0x100
- 80062a2:      f805 a002       strb.w  sl, [r5, r2]
- 80062a6:      f885 a104       strb.w  sl, [r5, #260]  ; 0x104
- 80062aa:      d0cd            beq.n   8006248 <d_print_mod_list+0xe8>
- 80062ac:      2bff            cmp     r3, #255        ; 0xff
- 80062ae:      4619            mov     r1, r3
- 80062b0:      4628            mov     r0, r5
- 80062b2:      f816 ab01       ldrb.w  sl, [r6], #1
- 80062b6:      d0e3            beq.n   8006280 <d_print_mod_list+0x120>
- 80062b8:      461a            mov     r2, r3
- 80062ba:      3301            adds    r3, #1
- 80062bc:      e7ee            b.n     800629c <d_print_mod_list+0x13c>
- 80062be:      4770            bx      lr
- 80062c0:      4e40            ldr     r6, [pc, #256]  ; (80063c4 <d_print_mod_list+0x264>)
- 80062c2:      f8d5 3100       ldr.w   r3, [r5, #256]  ; 0x100
- 80062c6:      f106 070d       add.w   r7, r6, #13
- 80062ca:      f04f 0900       mov.w   r9, #0
- 80062ce:      e015            b.n     80062fc <d_print_mod_list+0x19c>
- 80062d0:      f8d5 3108       ldr.w   r3, [r5, #264]  ; 0x108
- 80062d4:      f8d5 210c       ldr.w   r2, [r5, #268]  ; 0x10c
- 80062d8:      f885 90ff       strb.w  r9, [r5, #255]  ; 0xff
- 80062dc:      4798            blx     r3
- 80062de:      f8d5 3124       ldr.w   r3, [r5, #292]  ; 0x124
- 80062e2:      3301            adds    r3, #1
- 80062e4:      f8c5 3124       str.w   r3, [r5, #292]  ; 0x124
- 80062e8:      2200            movs    r2, #0
- 80062ea:      2301            movs    r3, #1
- 80062ec:      42b7            cmp     r7, r6
- 80062ee:      f8c5 3100       str.w   r3, [r5, #256]  ; 0x100
- 80062f2:      f805 a002       strb.w  sl, [r5, r2]
- 80062f6:      f885 a104       strb.w  sl, [r5, #260]  ; 0x104
- 80062fa:      d008            beq.n   800630e <d_print_mod_list+0x1ae>
- 80062fc:      2bff            cmp     r3, #255        ; 0xff
- 80062fe:      4619            mov     r1, r3
- 8006300:      4628            mov     r0, r5
- 8006302:      f816 ab01       ldrb.w  sl, [r6], #1
- 8006306:      d0e3            beq.n   80062d0 <d_print_mod_list+0x170>
- 8006308:      461a            mov     r2, r3
- 800630a:      3301            adds    r3, #1
- 800630c:      e7ee            b.n     80062ec <d_print_mod_list+0x18c>
- 800630e:      68e2            ldr     r2, [r4, #12]
- 8006310:      492d            ldr     r1, [pc, #180]  ; (80063c8 <d_print_mod_list+0x268>)
- 8006312:      3201            adds    r2, #1
- 8006314:      a801            add     r0, sp, #4
- 8006316:      f008 faa1       bl      800e85c <sprintf>
- 800631a:      a801            add     r0, sp, #4
- 800631c:      f000 fd5a       bl      8006dd4 <strlen>
- 8006320:      b328            cbz     r0, 800636e <d_print_mod_list+0x20e>
- 8006322:      ae01            add     r6, sp, #4
- 8006324:      f8d5 3100       ldr.w   r3, [r5, #256]  ; 0x100
- 8006328:      1837            adds    r7, r6, r0
- 800632a:      f04f 0900       mov.w   r9, #0
- 800632e:      e015            b.n     800635c <d_print_mod_list+0x1fc>
- 8006330:      f8d5 3108       ldr.w   r3, [r5, #264]  ; 0x108
- 8006334:      f8d5 210c       ldr.w   r2, [r5, #268]  ; 0x10c
- 8006338:      f885 90ff       strb.w  r9, [r5, #255]  ; 0xff
- 800633c:      4798            blx     r3
- 800633e:      f8d5 3124       ldr.w   r3, [r5, #292]  ; 0x124
- 8006342:      3301            adds    r3, #1
- 8006344:      f8c5 3124       str.w   r3, [r5, #292]  ; 0x124
- 8006348:      2200            movs    r2, #0
- 800634a:      2301            movs    r3, #1
- 800634c:      42be            cmp     r6, r7
- 800634e:      f8c5 3100       str.w   r3, [r5, #256]  ; 0x100
- 8006352:      f805 a002       strb.w  sl, [r5, r2]
- 8006356:      f885 a104       strb.w  sl, [r5, #260]  ; 0x104
- 800635a:      d00a            beq.n   8006372 <d_print_mod_list+0x212>
- 800635c:      2bff            cmp     r3, #255        ; 0xff
- 800635e:      4619            mov     r1, r3
- 8006360:      4628            mov     r0, r5
- 8006362:      f816 ab01       ldrb.w  sl, [r6], #1
- 8006366:      d0e3            beq.n   8006330 <d_print_mod_list+0x1d0>
- 8006368:      461a            mov     r2, r3
- 800636a:      3301            adds    r3, #1
- 800636c:      e7ee            b.n     800634c <d_print_mod_list+0x1ec>
- 800636e:      f8d5 3100       ldr.w   r3, [r5, #256]  ; 0x100
- 8006372:      4e16            ldr     r6, [pc, #88]   ; (80063cc <d_print_mod_list+0x26c>)
- 8006374:      f04f 0900       mov.w   r9, #0
- 8006378:      1cf7            adds    r7, r6, #3
- 800637a:      e016            b.n     80063aa <d_print_mod_list+0x24a>
- 800637c:      f8d5 3108       ldr.w   r3, [r5, #264]  ; 0x108
- 8006380:      f8d5 210c       ldr.w   r2, [r5, #268]  ; 0x10c
- 8006384:      f885 90ff       strb.w  r9, [r5, #255]  ; 0xff
- 8006388:      4798            blx     r3
- 800638a:      f8d5 3124       ldr.w   r3, [r5, #292]  ; 0x124
- 800638e:      3301            adds    r3, #1
- 8006390:      f8c5 3124       str.w   r3, [r5, #292]  ; 0x124
- 8006394:      2200            movs    r2, #0
- 8006396:      2301            movs    r3, #1
- 8006398:      42b7            cmp     r7, r6
- 800639a:      f8c5 3100       str.w   r3, [r5, #256]  ; 0x100
- 800639e:      f805 a002       strb.w  sl, [r5, r2]
- 80063a2:      f885 a104       strb.w  sl, [r5, #260]  ; 0x104
- 80063a6:      f43f af55       beq.w   8006254 <d_print_mod_list+0xf4>
- 80063aa:      2bff            cmp     r3, #255        ; 0xff
- 80063ac:      4619            mov     r1, r3
- 80063ae:      4628            mov     r0, r5
- 80063b0:      f816 ab01       ldrb.w  sl, [r6], #1
- 80063b4:      d0e2            beq.n   800637c <d_print_mod_list+0x21c>
- 80063b6:      461a            mov     r2, r3
- 80063b8:      3301            adds    r3, #1
- 80063ba:      e7ed            b.n     8006398 <d_print_mod_list+0x238>
- 80063bc:      1c4a            adds    r2, r1, #1
- 80063be:      e73d            b.n     800623c <d_print_mod_list+0xdc>
- 80063c0:      080125c4        .word   0x080125c4
- 80063c4:      080125c8        .word   0x080125c8
- 80063c8:      08012574        .word   0x08012574
- 80063cc:      080125d8        .word   0x080125d8
-
-080063d0 <d_print_array_type.isra.14>:
- 80063d0:      e92d 4ff8       stmdb   sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr}
- 80063d4:      4604            mov     r4, r0
- 80063d6:      460f            mov     r7, r1
- 80063d8:      4690            mov     r8, r2
- 80063da:      b15b            cbz     r3, 80063f4 <d_print_array_type.isra.14+0x24>
- 80063dc:      461e            mov     r6, r3
- 80063de:      689d            ldr     r5, [r3, #8]
- 80063e0:      2d00            cmp     r5, #0
- 80063e2:      d042            beq.n   800646a <d_print_array_type.isra.14+0x9a>
- 80063e4:      681b            ldr     r3, [r3, #0]
- 80063e6:      2b00            cmp     r3, #0
- 80063e8:      d1f9            bne.n   80063de <d_print_array_type.isra.14+0xe>
- 80063ea:      4632            mov     r2, r6
- 80063ec:      4639            mov     r1, r7
- 80063ee:      4620            mov     r0, r4
- 80063f0:      f7ff feb6       bl      8006160 <d_print_mod_list>
- 80063f4:      f8d4 1100       ldr.w   r1, [r4, #256]  ; 0x100
- 80063f8:      29ff            cmp     r1, #255        ; 0xff
- 80063fa:      f040 80b1       bne.w   8006560 <d_print_array_type.isra.14+0x190>
- 80063fe:      2300            movs    r3, #0
- 8006400:      f884 30ff       strb.w  r3, [r4, #255]  ; 0xff
- 8006404:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8006408:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 800640c:      4620            mov     r0, r4
- 800640e:      4798            blx     r3
- 8006410:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8006414:      2220            movs    r2, #32
- 8006416:      3301            adds    r3, #1
- 8006418:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 800641c:      7022            strb    r2, [r4, #0]
- 800641e:      2301            movs    r3, #1
- 8006420:      225b            movs    r2, #91 ; 0x5b
- 8006422:      1c59            adds    r1, r3, #1
- 8006424:      f8c4 1100       str.w   r1, [r4, #256]  ; 0x100
- 8006428:      54e2            strb    r2, [r4, r3]
- 800642a:      f884 2104       strb.w  r2, [r4, #260]  ; 0x104
- 800642e:      f8d8 2000       ldr.w   r2, [r8]
- 8006432:      2a00            cmp     r2, #0
- 8006434:      d140            bne.n   80064b8 <d_print_array_type.isra.14+0xe8>
- 8006436:      29ff            cmp     r1, #255        ; 0xff
- 8006438:      d145            bne.n   80064c6 <d_print_array_type.isra.14+0xf6>
- 800643a:      2500            movs    r5, #0
- 800643c:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8006440:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8006444:      f884 50ff       strb.w  r5, [r4, #255]  ; 0xff
- 8006448:      4620            mov     r0, r4
- 800644a:      4798            blx     r3
- 800644c:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8006450:      3301            adds    r3, #1
- 8006452:      4629            mov     r1, r5
- 8006454:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8006458:      2201            movs    r2, #1
- 800645a:      235d            movs    r3, #93 ; 0x5d
- 800645c:      f8c4 2100       str.w   r2, [r4, #256]  ; 0x100
- 8006460:      5463            strb    r3, [r4, r1]
- 8006462:      f884 3104       strb.w  r3, [r4, #260]  ; 0x104
- 8006466:      e8bd 8ff8       ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc}
- 800646a:      685b            ldr     r3, [r3, #4]
- 800646c:      781b            ldrb    r3, [r3, #0]
- 800646e:      2b2a            cmp     r3, #42 ; 0x2a
- 8006470:      d12b            bne.n   80064ca <d_print_array_type.isra.14+0xfa>
- 8006472:      462b            mov     r3, r5
- 8006474:      4632            mov     r2, r6
- 8006476:      4639            mov     r1, r7
- 8006478:      4620            mov     r0, r4
- 800647a:      f7ff fe71       bl      8006160 <d_print_mod_list>
- 800647e:      f8d4 3100       ldr.w   r3, [r4, #256]  ; 0x100
- 8006482:      2bff            cmp     r3, #255        ; 0xff
- 8006484:      d1cc            bne.n   8006420 <d_print_array_type.isra.14+0x50>
- 8006486:      2200            movs    r2, #0
- 8006488:      4619            mov     r1, r3
- 800648a:      f884 20ff       strb.w  r2, [r4, #255]  ; 0xff
- 800648e:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8006492:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8006496:      4620            mov     r0, r4
- 8006498:      4798            blx     r3
- 800649a:      235b            movs    r3, #91 ; 0x5b
- 800649c:      7023            strb    r3, [r4, #0]
- 800649e:      f884 3104       strb.w  r3, [r4, #260]  ; 0x104
- 80064a2:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 80064a6:      f8d8 2000       ldr.w   r2, [r8]
- 80064aa:      3301            adds    r3, #1
- 80064ac:      2101            movs    r1, #1
- 80064ae:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 80064b2:      f8c4 1100       str.w   r1, [r4, #256]  ; 0x100
- 80064b6:      b132            cbz     r2, 80064c6 <d_print_array_type.isra.14+0xf6>
- 80064b8:      4639            mov     r1, r7
- 80064ba:      4620            mov     r0, r4
- 80064bc:      f7fc fb9a       bl      8002bf4 <d_print_comp>
- 80064c0:      f8d4 1100       ldr.w   r1, [r4, #256]  ; 0x100
- 80064c4:      e7b7            b.n     8006436 <d_print_array_type.isra.14+0x66>
- 80064c6:      1c4a            adds    r2, r1, #1
- 80064c8:      e7c7            b.n     800645a <d_print_array_type.isra.14+0x8a>
- 80064ca:      f8df 90b4       ldr.w   r9, [pc, #180]  ; 8006580 <d_print_array_type.isra.14+0x1b0>
- 80064ce:      f8d4 3100       ldr.w   r3, [r4, #256]  ; 0x100
- 80064d2:      f109 0a02       add.w   sl, r9, #2
- 80064d6:      e016            b.n     8006506 <d_print_array_type.isra.14+0x136>
- 80064d8:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 80064dc:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 80064e0:      f884 50ff       strb.w  r5, [r4, #255]  ; 0xff
- 80064e4:      4798            blx     r3
- 80064e6:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 80064ea:      2200            movs    r2, #0
- 80064ec:      3301            adds    r3, #1
- 80064ee:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 80064f2:      45ca            cmp     sl, r9
- 80064f4:      f04f 0301       mov.w   r3, #1
- 80064f8:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 80064fc:      f804 b002       strb.w  fp, [r4, r2]
- 8006500:      f884 b104       strb.w  fp, [r4, #260]  ; 0x104
- 8006504:      d010            beq.n   8006528 <d_print_array_type.isra.14+0x158>
- 8006506:      2bff            cmp     r3, #255        ; 0xff
- 8006508:      4619            mov     r1, r3
- 800650a:      4620            mov     r0, r4
- 800650c:      f819 bb01       ldrb.w  fp, [r9], #1
- 8006510:      d0e2            beq.n   80064d8 <d_print_array_type.isra.14+0x108>
- 8006512:      461a            mov     r2, r3
- 8006514:      45ca            cmp     sl, r9
- 8006516:      f103 0301       add.w   r3, r3, #1
- 800651a:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 800651e:      f804 b002       strb.w  fp, [r4, r2]
- 8006522:      f884 b104       strb.w  fp, [r4, #260]  ; 0x104
- 8006526:      d1ee            bne.n   8006506 <d_print_array_type.isra.14+0x136>
- 8006528:      2300            movs    r3, #0
- 800652a:      4632            mov     r2, r6
- 800652c:      4639            mov     r1, r7
- 800652e:      4620            mov     r0, r4
- 8006530:      f7ff fe16       bl      8006160 <d_print_mod_list>
- 8006534:      f8d4 3100       ldr.w   r3, [r4, #256]  ; 0x100
- 8006538:      2bff            cmp     r3, #255        ; 0xff
- 800653a:      d119            bne.n   8006570 <d_print_array_type.isra.14+0x1a0>
- 800653c:      2200            movs    r2, #0
- 800653e:      4619            mov     r1, r3
- 8006540:      f884 20ff       strb.w  r2, [r4, #255]  ; 0xff
- 8006544:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8006548:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 800654c:      4620            mov     r0, r4
- 800654e:      4798            blx     r3
- 8006550:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8006554:      2229            movs    r2, #41 ; 0x29
- 8006556:      3301            adds    r3, #1
- 8006558:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 800655c:      7022            strb    r2, [r4, #0]
- 800655e:      2101            movs    r1, #1
- 8006560:      2220            movs    r2, #32
- 8006562:      1c4b            adds    r3, r1, #1
- 8006564:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 8006568:      5462            strb    r2, [r4, r1]
- 800656a:      f884 2104       strb.w  r2, [r4, #260]  ; 0x104
- 800656e:      e788            b.n     8006482 <d_print_array_type.isra.14+0xb2>
- 8006570:      2229            movs    r2, #41 ; 0x29
- 8006572:      1c59            adds    r1, r3, #1
- 8006574:      f8c4 1100       str.w   r1, [r4, #256]  ; 0x100
- 8006578:      54e2            strb    r2, [r4, r3]
- 800657a:      f884 2104       strb.w  r2, [r4, #260]  ; 0x104
- 800657e:      e73b            b.n     80063f8 <d_print_array_type.isra.14+0x28>
- 8006580:      080127c0        .word   0x080127c0
-
-08006584 <d_print_expr_op>:
- 8006584:      e92d 41f0       stmdb   sp!, {r4, r5, r6, r7, r8, lr}
- 8006588:      7815            ldrb    r5, [r2, #0]
- 800658a:      2d31            cmp     r5, #49 ; 0x31
- 800658c:      d003            beq.n   8006596 <d_print_expr_op+0x12>
- 800658e:      e8bd 41f0       ldmia.w sp!, {r4, r5, r6, r7, r8, lr}
- 8006592:      f7fc bb2f       b.w     8002bf4 <d_print_comp>
- 8006596:      6893            ldr     r3, [r2, #8]
- 8006598:      e9d3 5601       ldrd    r5, r6, [r3, #4]
- 800659c:      b37e            cbz     r6, 80065fe <d_print_expr_op+0x7a>
- 800659e:      442e            add     r6, r5
- 80065a0:      4604            mov     r4, r0
- 80065a2:      f8d0 3100       ldr.w   r3, [r0, #256]  ; 0x100
- 80065a6:      3e01            subs    r6, #1
- 80065a8:      3d01            subs    r5, #1
- 80065aa:      2700            movs    r7, #0
- 80065ac:      e016            b.n     80065dc <d_print_expr_op+0x58>
- 80065ae:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 80065b2:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 80065b6:      f884 70ff       strb.w  r7, [r4, #255]  ; 0xff
- 80065ba:      4798            blx     r3
- 80065bc:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 80065c0:      2200            movs    r2, #0
- 80065c2:      3301            adds    r3, #1
- 80065c4:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 80065c8:      42b5            cmp     r5, r6
- 80065ca:      f04f 0301       mov.w   r3, #1
- 80065ce:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 80065d2:      f804 8002       strb.w  r8, [r4, r2]
- 80065d6:      f884 8104       strb.w  r8, [r4, #260]  ; 0x104
- 80065da:      d010            beq.n   80065fe <d_print_expr_op+0x7a>
- 80065dc:      2bff            cmp     r3, #255        ; 0xff
- 80065de:      4619            mov     r1, r3
- 80065e0:      4620            mov     r0, r4
- 80065e2:      f815 8f01       ldrb.w  r8, [r5, #1]!
- 80065e6:      d0e2            beq.n   80065ae <d_print_expr_op+0x2a>
- 80065e8:      461a            mov     r2, r3
- 80065ea:      42b5            cmp     r5, r6
- 80065ec:      f103 0301       add.w   r3, r3, #1
- 80065f0:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 80065f4:      f804 8002       strb.w  r8, [r4, r2]
- 80065f8:      f884 8104       strb.w  r8, [r4, #260]  ; 0x104
- 80065fc:      d1ee            bne.n   80065dc <d_print_expr_op+0x58>
- 80065fe:      e8bd 81f0       ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
- 8006602:      bf00            nop
-
-08006604 <d_print_subexpr>:
- 8006604:      7813            ldrb    r3, [r2, #0]
- 8006606:      2b01            cmp     r3, #1
- 8006608:      e92d 41f0       stmdb   sp!, {r4, r5, r6, r7, r8, lr}
- 800660c:      4604            mov     r4, r0
- 800660e:      d941            bls.n   8006694 <d_print_subexpr+0x90>
- 8006610:      2b30            cmp     r3, #48 ; 0x30
- 8006612:      d03f            beq.n   8006694 <d_print_subexpr+0x90>
- 8006614:      2b06            cmp     r3, #6
- 8006616:      d03d            beq.n   8006694 <d_print_subexpr+0x90>
- 8006618:      f8d0 7100       ldr.w   r7, [r0, #256]  ; 0x100
- 800661c:      2fff            cmp     r7, #255        ; 0xff
- 800661e:      460e            mov     r6, r1
- 8006620:      4615            mov     r5, r2
- 8006622:      d13e            bne.n   80066a2 <d_print_subexpr+0x9e>
- 8006624:      f04f 0800       mov.w   r8, #0
- 8006628:      4639            mov     r1, r7
- 800662a:      f8d0 3108       ldr.w   r3, [r0, #264]  ; 0x108
- 800662e:      f8d0 210c       ldr.w   r2, [r0, #268]  ; 0x10c
- 8006632:      f880 80ff       strb.w  r8, [r0, #255]  ; 0xff
- 8006636:      4798            blx     r3
- 8006638:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 800663c:      3301            adds    r3, #1
- 800663e:      4647            mov     r7, r8
- 8006640:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8006644:      2201            movs    r2, #1
- 8006646:      2328            movs    r3, #40 ; 0x28
- 8006648:      f8c4 2100       str.w   r2, [r4, #256]  ; 0x100
- 800664c:      4631            mov     r1, r6
- 800664e:      55e3            strb    r3, [r4, r7]
- 8006650:      462a            mov     r2, r5
- 8006652:      4620            mov     r0, r4
- 8006654:      f884 3104       strb.w  r3, [r4, #260]  ; 0x104
- 8006658:      f7fc facc       bl      8002bf4 <d_print_comp>
- 800665c:      f8d4 1100       ldr.w   r1, [r4, #256]  ; 0x100
- 8006660:      29ff            cmp     r1, #255        ; 0xff
- 8006662:      d11c            bne.n   800669e <d_print_subexpr+0x9a>
- 8006664:      2500            movs    r5, #0
- 8006666:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 800666a:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 800666e:      f884 50ff       strb.w  r5, [r4, #255]  ; 0xff
- 8006672:      4620            mov     r0, r4
- 8006674:      4798            blx     r3
- 8006676:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 800667a:      3301            adds    r3, #1
- 800667c:      4629            mov     r1, r5
- 800667e:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8006682:      2201            movs    r2, #1
- 8006684:      2329            movs    r3, #41 ; 0x29
- 8006686:      f8c4 2100       str.w   r2, [r4, #256]  ; 0x100
- 800668a:      5463            strb    r3, [r4, r1]
- 800668c:      f884 3104       strb.w  r3, [r4, #260]  ; 0x104
- 8006690:      e8bd 81f0       ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
- 8006694:      4620            mov     r0, r4
- 8006696:      e8bd 41f0       ldmia.w sp!, {r4, r5, r6, r7, r8, lr}
- 800669a:      f7fc baab       b.w     8002bf4 <d_print_comp>
- 800669e:      1c4a            adds    r2, r1, #1
- 80066a0:      e7f0            b.n     8006684 <d_print_subexpr+0x80>
- 80066a2:      1c7a            adds    r2, r7, #1
- 80066a4:      e7cf            b.n     8006646 <d_print_subexpr+0x42>
- 80066a6:      bf00            nop
-
-080066a8 <d_maybe_print_fold_expression.isra.20>:
- 80066a8:      e92d 4ff0       stmdb   sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
- 80066ac:      6892            ldr     r2, [r2, #8]
- 80066ae:      6812            ldr     r2, [r2, #0]
- 80066b0:      7816            ldrb    r6, [r2, #0]
- 80066b2:      2e66            cmp     r6, #102        ; 0x66
- 80066b4:      b083            sub     sp, #12
- 80066b6:      d003            beq.n   80066c0 <d_maybe_print_fold_expression.isra.20+0x18>
- 80066b8:      2000            movs    r0, #0
- 80066ba:      b003            add     sp, #12
- 80066bc:      e8bd 8ff0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
- 80066c0:      681b            ldr     r3, [r3, #0]
- 80066c2:      e9d3 8902       ldrd    r8, r9, [r3, #8]
- 80066c6:      f899 3000       ldrb.w  r3, [r9]
- 80066ca:      2b3b            cmp     r3, #59 ; 0x3b
- 80066cc:      f000 8110       beq.w   80068f0 <d_maybe_print_fold_expression.isra.20+0x248>
- 80066d0:      2300            movs    r3, #0
- 80066d2:      9301            str     r3, [sp, #4]
- 80066d4:      f04f 33ff       mov.w   r3, #4294967295 ; 0xffffffff
- 80066d8:      f8d0 7120       ldr.w   r7, [r0, #288]  ; 0x120
- 80066dc:      f8c0 3120       str.w   r3, [r0, #288]  ; 0x120
- 80066e0:      7853            ldrb    r3, [r2, #1]
- 80066e2:      3b4c            subs    r3, #76 ; 0x4c
- 80066e4:      460d            mov     r5, r1
- 80066e6:      4604            mov     r4, r0
- 80066e8:      2b26            cmp     r3, #38 ; 0x26
- 80066ea:      d83a            bhi.n   8006762 <d_maybe_print_fold_expression.isra.20+0xba>
- 80066ec:      e8df f003       tbb     [pc, r3]
- 80066f0:      393939b0        .word   0x393939b0
- 80066f4:      39b03939        .word   0x39b03939
- 80066f8:      39393939        .word   0x39393939
- 80066fc:      39393939        .word   0x39393939
- 8006700:      39393939        .word   0x39393939
- 8006704:      39393939        .word   0x39393939
- 8006708:      39393939        .word   0x39393939
- 800670c:      39393939        .word   0x39393939
- 8006710:      39393989        .word   0x39393989
- 8006714:      3939            .short  0x3939
- 8006716:      3f              .byte   0x3f
- 8006717:      00              .byte   0x00
- 8006718:      4642            mov     r2, r8
- 800671a:      4629            mov     r1, r5
- 800671c:      4620            mov     r0, r4
- 800671e:      f7ff ff31       bl      8006584 <d_print_expr_op>
- 8006722:      9a01            ldr     r2, [sp, #4]
- 8006724:      4629            mov     r1, r5
- 8006726:      4620            mov     r0, r4
- 8006728:      f7ff ff6c       bl      8006604 <d_print_subexpr>
- 800672c:      f8d4 1100       ldr.w   r1, [r4, #256]  ; 0x100
- 8006730:      29ff            cmp     r1, #255        ; 0xff
- 8006732:      f040 80ea       bne.w   800690a <d_maybe_print_fold_expression.isra.20+0x262>
- 8006736:      2500            movs    r5, #0
- 8006738:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 800673c:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8006740:      f884 50ff       strb.w  r5, [r4, #255]  ; 0xff
- 8006744:      4620            mov     r0, r4
- 8006746:      4798            blx     r3
- 8006748:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 800674c:      3301            adds    r3, #1
- 800674e:      4629            mov     r1, r5
- 8006750:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8006754:      2201            movs    r2, #1
- 8006756:      2329            movs    r3, #41 ; 0x29
- 8006758:      f8c4 2100       str.w   r2, [r4, #256]  ; 0x100
- 800675c:      5463            strb    r3, [r4, r1]
- 800675e:      f884 3104       strb.w  r3, [r4, #260]  ; 0x104
- 8006762:      2001            movs    r0, #1
- 8006764:      f8c4 7120       str.w   r7, [r4, #288]  ; 0x120
- 8006768:      b003            add     sp, #12
- 800676a:      e8bd 8ff0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
- 800676e:      f8d0 1100       ldr.w   r1, [r0, #256]  ; 0x100
- 8006772:      29ff            cmp     r1, #255        ; 0xff
- 8006774:      f040 80cb       bne.w   800690e <d_maybe_print_fold_expression.isra.20+0x266>
- 8006778:      2600            movs    r6, #0
- 800677a:      f8d0 3108       ldr.w   r3, [r0, #264]  ; 0x108
- 800677e:      f8d0 210c       ldr.w   r2, [r0, #268]  ; 0x10c
- 8006782:      f880 60ff       strb.w  r6, [r0, #255]  ; 0xff
- 8006786:      4798            blx     r3
- 8006788:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 800678c:      3301            adds    r3, #1
- 800678e:      4631            mov     r1, r6
- 8006790:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 8006794:      2201            movs    r2, #1
- 8006796:      2328            movs    r3, #40 ; 0x28
- 8006798:      f8c4 2100       str.w   r2, [r4, #256]  ; 0x100
- 800679c:      4620            mov     r0, r4
- 800679e:      5463            strb    r3, [r4, r1]
- 80067a0:      464a            mov     r2, r9
- 80067a2:      4629            mov     r1, r5
- 80067a4:      f884 3104       strb.w  r3, [r4, #260]  ; 0x104
- 80067a8:      f7ff ff2c       bl      8006604 <d_print_subexpr>
- 80067ac:      4629            mov     r1, r5
- 80067ae:      4d59            ldr     r5, [pc, #356]  ; (8006914 <d_maybe_print_fold_expression.isra.20+0x26c>)
- 80067b0:      4642            mov     r2, r8
- 80067b2:      4620            mov     r0, r4
- 80067b4:      f7ff fee6       bl      8006584 <d_print_expr_op>
- 80067b8:      1d2e            adds    r6, r5, #4
- 80067ba:      f8d4 3100       ldr.w   r3, [r4, #256]  ; 0x100
- 80067be:      f04f 0800       mov.w   r8, #0
- 80067c2:      e015            b.n     80067f0 <d_maybe_print_fold_expression.isra.20+0x148>
- 80067c4:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 80067c8:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 80067cc:      f884 80ff       strb.w  r8, [r4, #255]  ; 0xff
- 80067d0:      4798            blx     r3
- 80067d2:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 80067d6:      3301            adds    r3, #1
- 80067d8:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 80067dc:      2200            movs    r2, #0
- 80067de:      2301            movs    r3, #1
- 80067e0:      42ae            cmp     r6, r5
- 80067e2:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 80067e6:      f804 9002       strb.w  r9, [r4, r2]
- 80067ea:      f884 9104       strb.w  r9, [r4, #260]  ; 0x104
- 80067ee:      d0b8            beq.n   8006762 <d_maybe_print_fold_expression.isra.20+0xba>
- 80067f0:      2bff            cmp     r3, #255        ; 0xff
- 80067f2:      4619            mov     r1, r3
- 80067f4:      4620            mov     r0, r4
- 80067f6:      f815 9b01       ldrb.w  r9, [r5], #1
- 80067fa:      d0e3            beq.n   80067c4 <d_maybe_print_fold_expression.isra.20+0x11c>
- 80067fc:      461a            mov     r2, r3
- 80067fe:      3301            adds    r3, #1
- 8006800:      e7ee            b.n     80067e0 <d_maybe_print_fold_expression.isra.20+0x138>
- 8006802:      4e45            ldr     r6, [pc, #276]  ; (8006918 <d_maybe_print_fold_expression.isra.20+0x270>)
- 8006804:      f8d0 3100       ldr.w   r3, [r0, #256]  ; 0x100
- 8006808:      f106 0a04       add.w   sl, r6, #4
- 800680c:      e017            b.n     800683e <d_maybe_print_fold_expression.isra.20+0x196>
- 800680e:      f04f 0300       mov.w   r3, #0
- 8006812:      f884 30ff       strb.w  r3, [r4, #255]  ; 0xff
- 8006816:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 800681a:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 800681e:      4798            blx     r3
- 8006820:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 8006824:      3301            adds    r3, #1
- 8006826:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 800682a:      2200            movs    r2, #0
- 800682c:      2301            movs    r3, #1
- 800682e:      45b2            cmp     sl, r6
- 8006830:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 8006834:      f804 b002       strb.w  fp, [r4, r2]
- 8006838:      f884 b104       strb.w  fp, [r4, #260]  ; 0x104
- 800683c:      d05e            beq.n   80068fc <d_maybe_print_fold_expression.isra.20+0x254>
- 800683e:      2bff            cmp     r3, #255        ; 0xff
- 8006840:      4619            mov     r1, r3
- 8006842:      4620            mov     r0, r4
- 8006844:      f816 bb01       ldrb.w  fp, [r6], #1
- 8006848:      d0e1            beq.n   800680e <d_maybe_print_fold_expression.isra.20+0x166>
- 800684a:      461a            mov     r2, r3
- 800684c:      3301            adds    r3, #1
- 800684e:      e7ee            b.n     800682e <d_maybe_print_fold_expression.isra.20+0x186>
- 8006850:      f8d0 3100       ldr.w   r3, [r0, #256]  ; 0x100
- 8006854:      2bff            cmp     r3, #255        ; 0xff
- 8006856:      d110            bne.n   800687a <d_maybe_print_fold_expression.isra.20+0x1d2>
- 8006858:      2600            movs    r6, #0
- 800685a:      4619            mov     r1, r3
- 800685c:      f8d0 210c       ldr.w   r2, [r0, #268]  ; 0x10c
- 8006860:      f8d0 3108       ldr.w   r3, [r0, #264]  ; 0x108
- 8006864:      f880 60ff       strb.w  r6, [r0, #255]  ; 0xff
- 8006868:      4798            blx     r3
- 800686a:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 800686e:      f8c4 6100       str.w   r6, [r4, #256]  ; 0x100
- 8006872:      1c5a            adds    r2, r3, #1
- 8006874:      f8c4 2124       str.w   r2, [r4, #292]  ; 0x124
- 8006878:      4633            mov     r3, r6
- 800687a:      1c59            adds    r1, r3, #1
- 800687c:      f04f 0c28       mov.w   ip, #40 ; 0x28
- 8006880:      464a            mov     r2, r9
- 8006882:      f8c4 1100       str.w   r1, [r4, #256]  ; 0x100
- 8006886:      4620            mov     r0, r4
- 8006888:      f804 c003       strb.w  ip, [r4, r3]
- 800688c:      4629            mov     r1, r5
- 800688e:      f884 c104       strb.w  ip, [r4, #260]  ; 0x104
- 8006892:      f8df 9088       ldr.w   r9, [pc, #136]  ; 800691c <d_maybe_print_fold_expression.isra.20+0x274>
- 8006896:      f7ff feb5       bl      8006604 <d_print_subexpr>
- 800689a:      4642            mov     r2, r8
- 800689c:      4629            mov     r1, r5
- 800689e:      4620            mov     r0, r4
- 80068a0:      f7ff fe70       bl      8006584 <d_print_expr_op>
- 80068a4:      f109 0a03       add.w   sl, r9, #3
- 80068a8:      f8d4 3100       ldr.w   r3, [r4, #256]  ; 0x100
- 80068ac:      2600            movs    r6, #0
- 80068ae:      e016            b.n     80068de <d_maybe_print_fold_expression.isra.20+0x236>
- 80068b0:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 80068b4:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 80068b8:      f884 60ff       strb.w  r6, [r4, #255]  ; 0xff
- 80068bc:      4798            blx     r3
- 80068be:      f8d4 3124       ldr.w   r3, [r4, #292]  ; 0x124
- 80068c2:      3301            adds    r3, #1
- 80068c4:      f8c4 3124       str.w   r3, [r4, #292]  ; 0x124
- 80068c8:      2200            movs    r2, #0
- 80068ca:      2301            movs    r3, #1
- 80068cc:      45d1            cmp     r9, sl
- 80068ce:      f8c4 3100       str.w   r3, [r4, #256]  ; 0x100
- 80068d2:      f804 b002       strb.w  fp, [r4, r2]
- 80068d6:      f884 b104       strb.w  fp, [r4, #260]  ; 0x104
- 80068da:      f43f af1d       beq.w   8006718 <d_maybe_print_fold_expression.isra.20+0x70>
- 80068de:      2bff            cmp     r3, #255        ; 0xff
- 80068e0:      4619            mov     r1, r3
- 80068e2:      4620            mov     r0, r4
- 80068e4:      f819 bb01       ldrb.w  fp, [r9], #1
- 80068e8:      d0e2            beq.n   80068b0 <d_maybe_print_fold_expression.isra.20+0x208>
- 80068ea:      461a            mov     r2, r3
- 80068ec:      3301            adds    r3, #1
- 80068ee:      e7ed            b.n     80068cc <d_maybe_print_fold_expression.isra.20+0x224>
- 80068f0:      f8d9 300c       ldr.w   r3, [r9, #12]
- 80068f4:      9301            str     r3, [sp, #4]
- 80068f6:      f8d9 9008       ldr.w   r9, [r9, #8]
- 80068fa:      e6eb            b.n     80066d4 <d_maybe_print_fold_expression.isra.20+0x2c>
- 80068fc:      4642            mov     r2, r8
- 80068fe:      4629            mov     r1, r5
- 8006900:      4620            mov     r0, r4
- 8006902:      f7ff fe3f       bl      8006584 <d_print_expr_op>
- 8006906:      464a            mov     r2, r9
- 8006908:      e70c            b.n     8006724 <d_maybe_print_fold_expression.isra.20+0x7c>
- 800690a:      1c4a            adds    r2, r1, #1
- 800690c:      e723            b.n     8006756 <d_maybe_print_fold_expression.isra.20+0xae>
- 800690e:      1c4a            adds    r2, r1, #1
- 8006910:      e741            b.n     8006796 <d_maybe_print_fold_expression.isra.20+0xee>
- 8006912:      bf00            nop
- 8006914:      080128c0        .word   0x080128c0
- 8006918:      080128b8        .word   0x080128b8
- 800691c:      080127c4        .word   0x080127c4
-
-08006920 <d_demangle_callback.constprop.22>:
- 8006920:      e92d 4ff0       stmdb   sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
- 8006924:      b0e5            sub     sp, #404        ; 0x194
- 8006926:      f890 a000       ldrb.w  sl, [r0]
- 800692a:      f1ba 0f5f       cmp.w   sl, #95 ; 0x5f
- 800692e:      af00            add     r7, sp, #0
- 8006930:      4605            mov     r5, r0
- 8006932:      4688            mov     r8, r1
- 8006934:      4616            mov     r6, r2
- 8006936:      f000 80f3       beq.w   8006b20 <d_demangle_callback.constprop.22+0x200>
- 800693a:      2208            movs    r2, #8
- 800693c:      49bb            ldr     r1, [pc, #748]  ; (8006c2c <d_demangle_callback.constprop.22+0x30c>)
- 800693e:      4628            mov     r0, r5
- 8006940:      f007 ffac       bl      800e89c <strncmp>
- 8006944:      b948            cbnz    r0, 800695a <d_demangle_callback.constprop.22+0x3a>
- 8006946:      7a2b            ldrb    r3, [r5, #8]
- 8006948:      2b2e            cmp     r3, #46 ; 0x2e
- 800694a:      f000 80d8       beq.w   8006afe <d_demangle_callback.constprop.22+0x1de>
- 800694e:      2b5f            cmp     r3, #95 ; 0x5f
- 8006950:      f000 80d5       beq.w   8006afe <d_demangle_callback.constprop.22+0x1de>
- 8006954:      2b24            cmp     r3, #36 ; 0x24
- 8006956:      f000 80d2       beq.w   8006afe <d_demangle_callback.constprop.22+0x1de>
- 800695a:      f04f 0900       mov.w   r9, #0
- 800695e:      4628            mov     r0, r5
- 8006960:      f000 fa38       bl      8006dd4 <strlen>
- 8006964:      0142            lsls    r2, r0, #5
- 8006966:      0083            lsls    r3, r0, #2
- 8006968:      3208            adds    r2, #8
- 800696a:      330a            adds    r3, #10
- 800696c:      ebad 0d02       sub.w   sp, sp, r2
- 8006970:      f023 0307       bic.w   r3, r3, #7
- 8006974:      2400            movs    r4, #0
- 8006976:      46eb            mov     fp, sp
- 8006978:      1829            adds    r1, r5, r0
- 800697a:      ebad 0d03       sub.w   sp, sp, r3
- 800697e:      2211            movs    r2, #17
- 8006980:      0043            lsls    r3, r0, #1
- 8006982:      f1b9 0f01       cmp.w   r9, #1
- 8006986:      f8c7 b01c       str.w   fp, [r7, #28]
- 800698a:      f8c7 d028       str.w   sp, [r7, #40]   ; 0x28
- 800698e:      60fd            str     r5, [r7, #12]
- 8006990:      61bd            str     r5, [r7, #24]
- 8006992:      6338            str     r0, [r7, #48]   ; 0x30
- 8006994:      6139            str     r1, [r7, #16]
- 8006996:      627b            str     r3, [r7, #36]   ; 0x24
- 8006998:      617a            str     r2, [r7, #20]
- 800699a:      623c            str     r4, [r7, #32]
- 800699c:      62fc            str     r4, [r7, #44]   ; 0x2c
- 800699e:      e9c7 440d       strd    r4, r4, [r7, #52]       ; 0x34
- 80069a2:      e9c7 440f       strd    r4, r4, [r7, #60]       ; 0x3c
- 80069a6:      647c            str     r4, [r7, #68]   ; 0x44
- 80069a8:      f000 80a0       beq.w   8006aec <d_demangle_callback.constprop.22+0x1cc>
- 80069ac:      f0c0 80bf       bcc.w   8006b2e <d_demangle_callback.constprop.22+0x20e>
- 80069b0:      7aea            ldrb    r2, [r5, #11]
- 80069b2:      f1b9 0f02       cmp.w   r9, #2
- 80069b6:      f105 0a0b       add.w   sl, r5, #11
- 80069ba:      bf14            ite     ne
- 80069bc:      f04f 0944       movne.w r9, #68 ; 0x44
- 80069c0:      f04f 0943       moveq.w r9, #67 ; 0x43
- 80069c4:      2a5f            cmp     r2, #95 ; 0x5f
- 80069c6:      f8c7 a018       str.w   sl, [r7, #24]
- 80069ca:      f000 80b9       beq.w   8006b40 <d_demangle_callback.constprop.22+0x220>
- 80069ce:      4650            mov     r0, sl
- 80069d0:      607b            str     r3, [r7, #4]
- 80069d2:      f000 f9ff       bl      8006dd4 <strlen>
- 80069d6:      687b            ldr     r3, [r7, #4]
- 80069d8:      2b00            cmp     r3, #0
- 80069da:      f340 8123       ble.w   8006c24 <d_demangle_callback.constprop.22+0x304>
- 80069de:      2300            movs    r3, #0
- 80069e0:      2201            movs    r2, #1
- 80069e2:      f8cb 3004       str.w   r3, [fp, #4]
- 80069e6:      623a            str     r2, [r7, #32]
- 80069e8:      2800            cmp     r0, #0
- 80069ea:      f000 811b       beq.w   8006c24 <d_demangle_callback.constprop.22+0x304>
- 80069ee:      e9cb a002       strd    sl, r0, [fp, #8]
- 80069f2:      f88b 3000       strb.w  r3, [fp]
- 80069f6:      4649            mov     r1, r9
- 80069f8:      2300            movs    r3, #0
- 80069fa:      465a            mov     r2, fp
- 80069fc:      f107 000c       add.w   r0, r7, #12
- 8006a00:      f7f9 fc1e       bl      8000240 <d_make_comp>
- 8006a04:      69bc            ldr     r4, [r7, #24]
- 8006a06:      4605            mov     r5, r0
- 8006a08:      4620            mov     r0, r4
- 8006a0a:      f000 f9e3       bl      8006dd4 <strlen>
- 8006a0e:      1823            adds    r3, r4, r0
- 8006a10:      61bb            str     r3, [r7, #24]
- 8006a12:      f814 9000       ldrb.w  r9, [r4, r0]
- 8006a16:      f1b9 0f00       cmp.w   r9, #0
- 8006a1a:      d16a            bne.n   8006af2 <d_demangle_callback.constprop.22+0x1d2>
- 8006a1c:      2d00            cmp     r5, #0
- 8006a1e:      d068            beq.n   8006af2 <d_demangle_callback.constprop.22+0x1d2>
- 8006a20:      f107 0448       add.w   r4, r7, #72     ; 0x48
- 8006a24:      462a            mov     r2, r5
- 8006a26:      f507 71be       add.w   r1, r7, #380    ; 0x17c
- 8006a2a:      f507 70c4       add.w   r0, r7, #392    ; 0x188
- 8006a2e:      f8c4 8108       str.w   r8, [r4, #264]  ; 0x108
- 8006a32:      f8c4 610c       str.w   r6, [r4, #268]  ; 0x10c
- 8006a36:      f8c4 9100       str.w   r9, [r4, #256]  ; 0x100
- 8006a3a:      f884 9104       strb.w  r9, [r4, #260]  ; 0x104
- 8006a3e:      f8c4 9110       str.w   r9, [r4, #272]  ; 0x110
- 8006a42:      f8c4 9114       str.w   r9, [r4, #276]  ; 0x114
- 8006a46:      f8c4 9120       str.w   r9, [r4, #288]  ; 0x120
- 8006a4a:      f8c4 9124       str.w   r9, [r4, #292]  ; 0x124
- 8006a4e:      f8c4 9118       str.w   r9, [r4, #280]  ; 0x118
- 8006a52:      f8c4 911c       str.w   r9, [r4, #284]  ; 0x11c
- 8006a56:      f8c4 9128       str.w   r9, [r4, #296]  ; 0x128
- 8006a5a:      f8c4 912c       str.w   r9, [r4, #300]  ; 0x12c
- 8006a5e:      f8c4 9130       str.w   r9, [r4, #304]  ; 0x130
- 8006a62:      f8c4 9134       str.w   r9, [r4, #308]  ; 0x134
- 8006a66:      f8c4 9138       str.w   r9, [r4, #312]  ; 0x138
- 8006a6a:      f8c4 913c       str.w   r9, [r4, #316]  ; 0x13c
- 8006a6e:      f8c4 9140       str.w   r9, [r4, #320]  ; 0x140
- 8006a72:      f7f9 fc49       bl      8000308 <d_count_templates_scopes>
- 8006a76:      f8d4 3134       ldr.w   r3, [r4, #308]  ; 0x134
- 8006a7a:      f8d4 6140       ldr.w   r6, [r4, #320]  ; 0x140
- 8006a7e:      f8c4 9144       str.w   r9, [r4, #324]  ; 0x144
- 8006a82:      2b01            cmp     r3, #1
- 8006a84:      fb06 f603       mul.w   r6, r6, r3
- 8006a88:      461a            mov     r2, r3
- 8006a8a:      bfb8            it      lt
- 8006a8c:      2201            movlt   r2, #1
- 8006a8e:      00d2            lsls    r2, r2, #3
- 8006a90:      2e01            cmp     r6, #1
- 8006a92:      4633            mov     r3, r6
- 8006a94:      f102 0208       add.w   r2, r2, #8
- 8006a98:      bfb8            it      lt
- 8006a9a:      2301            movlt   r3, #1
- 8006a9c:      46e8            mov     r8, sp
- 8006a9e:      00db            lsls    r3, r3, #3
- 8006aa0:      ebad 0d02       sub.w   sp, sp, r2
- 8006aa4:      3308            adds    r3, #8
- 8006aa6:      4669            mov     r1, sp
- 8006aa8:      462a            mov     r2, r5
- 8006aaa:      ebad 0d03       sub.w   sp, sp, r3
- 8006aae:      4620            mov     r0, r4
- 8006ab0:      f8c4 112c       str.w   r1, [r4, #300]  ; 0x12c
- 8006ab4:      2111            movs    r1, #17
- 8006ab6:      f8c4 d138       str.w   sp, [r4, #312]  ; 0x138
- 8006aba:      f8c4 6140       str.w   r6, [r4, #320]  ; 0x140
- 8006abe:      f7fc f899       bl      8002bf4 <d_print_comp>
- 8006ac2:      f8d4 1100       ldr.w   r1, [r4, #256]  ; 0x100
- 8006ac6:      f8d4 3108       ldr.w   r3, [r4, #264]  ; 0x108
- 8006aca:      f804 9001       strb.w  r9, [r4, r1]
- 8006ace:      4620            mov     r0, r4
- 8006ad0:      46c5            mov     sp, r8
- 8006ad2:      f8d4 210c       ldr.w   r2, [r4, #268]  ; 0x10c
- 8006ad6:      4798            blx     r3
- 8006ad8:      f8d4 0118       ldr.w   r0, [r4, #280]  ; 0x118
- 8006adc:      fab0 f080       clz     r0, r0
- 8006ae0:      0940            lsrs    r0, r0, #5
- 8006ae2:      f507 77ca       add.w   r7, r7, #404    ; 0x194
- 8006ae6:      46bd            mov     sp, r7
- 8006ae8:      e8bd 8ff0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
- 8006aec:      f1ba 0f5f       cmp.w   sl, #95 ; 0x5f
- 8006af0:      d033            beq.n   8006b5a <d_demangle_callback.constprop.22+0x23a>
- 8006af2:      2000            movs    r0, #0
- 8006af4:      f507 77ca       add.w   r7, r7, #404    ; 0x194
- 8006af8:      46bd            mov     sp, r7
- 8006afa:      e8bd 8ff0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
- 8006afe:      7a6b            ldrb    r3, [r5, #9]
- 8006b00:      2b44            cmp     r3, #68 ; 0x44
- 8006b02:      d002            beq.n   8006b0a <d_demangle_callback.constprop.22+0x1ea>
- 8006b04:      2b49            cmp     r3, #73 ; 0x49
- 8006b06:      f47f af28       bne.w   800695a <d_demangle_callback.constprop.22+0x3a>
- 8006b0a:      7aaa            ldrb    r2, [r5, #10]
- 8006b0c:      2a5f            cmp     r2, #95 ; 0x5f
- 8006b0e:      f47f af24       bne.w   800695a <d_demangle_callback.constprop.22+0x3a>
- 8006b12:      2b49            cmp     r3, #73 ; 0x49
- 8006b14:      bf14            ite     ne
- 8006b16:      f04f 0903       movne.w r9, #3
- 8006b1a:      f04f 0902       moveq.w r9, #2
- 8006b1e:      e71e            b.n     800695e <d_demangle_callback.constprop.22+0x3e>
- 8006b20:      7843            ldrb    r3, [r0, #1]
- 8006b22:      2b5a            cmp     r3, #90 ; 0x5a
- 8006b24:      f47f af09       bne.w   800693a <d_demangle_callback.constprop.22+0x1a>
- 8006b28:      f04f 0901       mov.w   r9, #1
- 8006b2c:      e717            b.n     800695e <d_demangle_callback.constprop.22+0x3e>
- 8006b2e:      f107 000c       add.w   r0, r7, #12
- 8006b32:      f7fa fe05       bl      8001740 <d_type>
- 8006b36:      69bb            ldr     r3, [r7, #24]
- 8006b38:      4605            mov     r5, r0
- 8006b3a:      f893 9000       ldrb.w  r9, [r3]
- 8006b3e:      e76a            b.n     8006a16 <d_demangle_callback.constprop.22+0xf6>
- 8006b40:      7b2a            ldrb    r2, [r5, #12]
- 8006b42:      2a5a            cmp     r2, #90 ; 0x5a
- 8006b44:      f47f af43       bne.w   80069ce <d_demangle_callback.constprop.22+0xae>
- 8006b48:      350d            adds    r5, #13
- 8006b4a:      4621            mov     r1, r4
- 8006b4c:      f107 000c       add.w   r0, r7, #12
- 8006b50:      61bd            str     r5, [r7, #24]
- 8006b52:      f7fb fd37       bl      80025c4 <d_encoding>
- 8006b56:      4683            mov     fp, r0
- 8006b58:      e74d            b.n     80069f6 <d_demangle_callback.constprop.22+0xd6>
- 8006b5a:      786b            ldrb    r3, [r5, #1]
- 8006b5c:      2b5a            cmp     r3, #90 ; 0x5a
- 8006b5e:      d1c8            bne.n   8006af2 <d_demangle_callback.constprop.22+0x1d2>
- 8006b60:      3502            adds    r5, #2
- 8006b62:      4649            mov     r1, r9
- 8006b64:      f107 000c       add.w   r0, r7, #12
- 8006b68:      61bd            str     r5, [r7, #24]
- 8006b6a:      f7fb fd2b       bl      80025c4 <d_encoding>
- 8006b6e:      697b            ldr     r3, [r7, #20]
- 8006b70:      07db            lsls    r3, r3, #31
- 8006b72:      4605            mov     r5, r0
- 8006b74:      d552            bpl.n   8006c1c <d_demangle_callback.constprop.22+0x2fc>
- 8006b76:      69b8            ldr     r0, [r7, #24]
- 8006b78:      f890 9000       ldrb.w  r9, [r0]
- 8006b7c:      f1b9 0f2e       cmp.w   r9, #46 ; 0x2e
- 8006b80:      f47f af49       bne.w   8006a16 <d_demangle_callback.constprop.22+0xf6>
- 8006b84:      7843            ldrb    r3, [r0, #1]
- 8006b86:      f1a3 0261       sub.w   r2, r3, #97     ; 0x61
- 8006b8a:      2a19            cmp     r2, #25
- 8006b8c:      d93a            bls.n   8006c04 <d_demangle_callback.constprop.22+0x2e4>
- 8006b8e:      2b5f            cmp     r3, #95 ; 0x5f
- 8006b90:      d038            beq.n   8006c04 <d_demangle_callback.constprop.22+0x2e4>
- 8006b92:      3b30            subs    r3, #48 ; 0x30
- 8006b94:      2b09            cmp     r3, #9
- 8006b96:      d841            bhi.n   8006c1c <d_demangle_callback.constprop.22+0x2fc>
- 8006b98:      7803            ldrb    r3, [r0, #0]
- 8006b9a:      4602            mov     r2, r0
- 8006b9c:      2b2e            cmp     r3, #46 ; 0x2e
- 8006b9e:      d112            bne.n   8006bc6 <d_demangle_callback.constprop.22+0x2a6>
- 8006ba0:      7853            ldrb    r3, [r2, #1]
- 8006ba2:      3b30            subs    r3, #48 ; 0x30
- 8006ba4:      2b09            cmp     r3, #9
- 8006ba6:      d80e            bhi.n   8006bc6 <d_demangle_callback.constprop.22+0x2a6>
- 8006ba8:      7893            ldrb    r3, [r2, #2]
- 8006baa:      f1a3 0130       sub.w   r1, r3, #48     ; 0x30
- 8006bae:      2909            cmp     r1, #9
- 8006bb0:      f102 0202       add.w   r2, r2, #2
- 8006bb4:      d8f2            bhi.n   8006b9c <d_demangle_callback.constprop.22+0x27c>
- 8006bb6:      f812 3f01       ldrb.w  r3, [r2, #1]!
- 8006bba:      f1a3 0130       sub.w   r1, r3, #48     ; 0x30
- 8006bbe:      2909            cmp     r1, #9
- 8006bc0:      d9f9            bls.n   8006bb6 <d_demangle_callback.constprop.22+0x296>
- 8006bc2:      2b2e            cmp     r3, #46 ; 0x2e
- 8006bc4:      d0ec            beq.n   8006ba0 <d_demangle_callback.constprop.22+0x280>
- 8006bc6:      e9d7 1308       ldrd    r1, r3, [r7, #32]
- 8006bca:      4299            cmp     r1, r3
- 8006bcc:      61ba            str     r2, [r7, #24]
- 8006bce:      da17            bge.n   8006c00 <d_demangle_callback.constprop.22+0x2e0>
- 8006bd0:      f8d7 e01c       ldr.w   lr, [r7, #28]
- 8006bd4:      ea4f 1c01       mov.w   ip, r1, lsl #4
- 8006bd8:      eb0e 030c       add.w   r3, lr, ip
- 8006bdc:      3101            adds    r1, #1
- 8006bde:      1a12            subs    r2, r2, r0
- 8006be0:      605c            str     r4, [r3, #4]
- 8006be2:      6239            str     r1, [r7, #32]
- 8006be4:      d00c            beq.n   8006c00 <d_demangle_callback.constprop.22+0x2e0>
- 8006be6:      605c            str     r4, [r3, #4]
- 8006be8:      f80e 400c       strb.w  r4, [lr, ip]
- 8006bec:      e9c3 0202       strd    r0, r2, [r3, #8]
- 8006bf0:      462a            mov     r2, r5
- 8006bf2:      214d            movs    r1, #77 ; 0x4d
- 8006bf4:      f107 000c       add.w   r0, r7, #12
- 8006bf8:      f7f9 fb22       bl      8000240 <d_make_comp>
- 8006bfc:      4605            mov     r5, r0
- 8006bfe:      e7ba            b.n     8006b76 <d_demangle_callback.constprop.22+0x256>
- 8006c00:      2300            movs    r3, #0
- 8006c02:      e7f5            b.n     8006bf0 <d_demangle_callback.constprop.22+0x2d0>
- 8006c04:      1c81            adds    r1, r0, #2
- 8006c06:      460a            mov     r2, r1
- 8006c08:      f811 3b01       ldrb.w  r3, [r1], #1
- 8006c0c:      f1a3 0c61       sub.w   ip, r3, #97     ; 0x61
- 8006c10:      f1bc 0f19       cmp.w   ip, #25
- 8006c14:      d9f7            bls.n   8006c06 <d_demangle_callback.constprop.22+0x2e6>
- 8006c16:      2b5f            cmp     r3, #95 ; 0x5f
- 8006c18:      d0f5            beq.n   8006c06 <d_demangle_callback.constprop.22+0x2e6>
- 8006c1a:      e7bf            b.n     8006b9c <d_demangle_callback.constprop.22+0x27c>
- 8006c1c:      69bb            ldr     r3, [r7, #24]
- 8006c1e:      f893 9000       ldrb.w  r9, [r3]
- 8006c22:      e6f8            b.n     8006a16 <d_demangle_callback.constprop.22+0xf6>
- 8006c24:      f04f 0b00       mov.w   fp, #0
- 8006c28:      e6e5            b.n     80069f6 <d_demangle_callback.constprop.22+0xd6>
- 8006c2a:      bf00            nop
- 8006c2c:      08012550        .word   0x08012550
-
-08006c30 <__cxa_demangle>:
- 8006c30:      e92d 41f0       stmdb   sp!, {r4, r5, r6, r7, r8, lr}
- 8006c34:      b084            sub     sp, #16
- 8006c36:      b380            cbz     r0, 8006c9a <__cxa_demangle+0x6a>
- 8006c38:      b101            cbz     r1, 8006c3c <__cxa_demangle+0xc>
- 8006c3a:      b372            cbz     r2, 8006c9a <__cxa_demangle+0x6a>
- 8006c3c:      2400            movs    r4, #0
- 8006c3e:      4617            mov     r7, r2
- 8006c40:      460e            mov     r6, r1
- 8006c42:      466a            mov     r2, sp
- 8006c44:      492b            ldr     r1, [pc, #172]  ; (8006cf4 <__cxa_demangle+0xc4>)
- 8006c46:      461d            mov     r5, r3
- 8006c48:      e9cd 4400       strd    r4, r4, [sp]
- 8006c4c:      e9cd 4402       strd    r4, r4, [sp, #8]
- 8006c50:      f7ff fe66       bl      8006920 <d_demangle_callback.constprop.22>
- 8006c54:      2800            cmp     r0, #0
- 8006c56:      d047            beq.n   8006ce8 <__cxa_demangle+0xb8>
- 8006c58:      9b03            ldr     r3, [sp, #12]
- 8006c5a:      9c00            ldr     r4, [sp, #0]
- 8006c5c:      b9ab            cbnz    r3, 8006c8a <__cxa_demangle+0x5a>
- 8006c5e:      f8dd 8008       ldr.w   r8, [sp, #8]
- 8006c62:      b36c            cbz     r4, 8006cc0 <__cxa_demangle+0x90>
- 8006c64:      b1b6            cbz     r6, 8006c94 <__cxa_demangle+0x64>
- 8006c66:      4620            mov     r0, r4
- 8006c68:      f000 f8b4       bl      8006dd4 <strlen>
- 8006c6c:      683b            ldr     r3, [r7, #0]
- 8006c6e:      4298            cmp     r0, r3
- 8006c70:      d31c            bcc.n   8006cac <__cxa_demangle+0x7c>
- 8006c72:      4630            mov     r0, r6
- 8006c74:      f007 f932       bl      800dedc <free>
- 8006c78:      f8c7 8000       str.w   r8, [r7]
- 8006c7c:      b195            cbz     r5, 8006ca4 <__cxa_demangle+0x74>
- 8006c7e:      2300            movs    r3, #0
- 8006c80:      4620            mov     r0, r4
- 8006c82:      602b            str     r3, [r5, #0]
- 8006c84:      b004            add     sp, #16
- 8006c86:      e8bd 81f0       ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
- 8006c8a:      b334            cbz     r4, 8006cda <__cxa_demangle+0xaa>
- 8006c8c:      f04f 0801       mov.w   r8, #1
- 8006c90:      2e00            cmp     r6, #0
- 8006c92:      d1e8            bne.n   8006c66 <__cxa_demangle+0x36>
- 8006c94:      2f00            cmp     r7, #0
- 8006c96:      d1ef            bne.n   8006c78 <__cxa_demangle+0x48>
- 8006c98:      e7f0            b.n     8006c7c <__cxa_demangle+0x4c>
- 8006c9a:      b113            cbz     r3, 8006ca2 <__cxa_demangle+0x72>
- 8006c9c:      f06f 0202       mvn.w   r2, #2
- 8006ca0:      601a            str     r2, [r3, #0]
- 8006ca2:      2400            movs    r4, #0
- 8006ca4:      4620            mov     r0, r4
- 8006ca6:      b004            add     sp, #16
- 8006ca8:      e8bd 81f0       ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
- 8006cac:      1c42            adds    r2, r0, #1
- 8006cae:      4621            mov     r1, r4
- 8006cb0:      4630            mov     r0, r6
- 8006cb2:      f007 fb60       bl      800e376 <memcpy>
- 8006cb6:      4620            mov     r0, r4
- 8006cb8:      f007 f910       bl      800dedc <free>
- 8006cbc:      4634            mov     r4, r6
- 8006cbe:      e7dd            b.n     8006c7c <__cxa_demangle+0x4c>
- 8006cc0:      2d00            cmp     r5, #0
- 8006cc2:      d0ee            beq.n   8006ca2 <__cxa_demangle+0x72>
- 8006cc4:      f1b8 0f01       cmp.w   r8, #1
- 8006cc8:      d009            beq.n   8006cde <__cxa_demangle+0xae>
- 8006cca:      2400            movs    r4, #0
- 8006ccc:      f06f 0301       mvn.w   r3, #1
- 8006cd0:      4620            mov     r0, r4
- 8006cd2:      602b            str     r3, [r5, #0]
- 8006cd4:      b004            add     sp, #16
- 8006cd6:      e8bd 81f0       ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
- 8006cda:      2d00            cmp     r5, #0
- 8006cdc:      d0e1            beq.n   8006ca2 <__cxa_demangle+0x72>
- 8006cde:      f04f 33ff       mov.w   r3, #4294967295 ; 0xffffffff
- 8006ce2:      602b            str     r3, [r5, #0]
- 8006ce4:      2400            movs    r4, #0
- 8006ce6:      e7dd            b.n     8006ca4 <__cxa_demangle+0x74>
- 8006ce8:      9800            ldr     r0, [sp, #0]
- 8006cea:      f007 f8f7       bl      800dedc <free>
- 8006cee:      2d00            cmp     r5, #0
- 8006cf0:      d1eb            bne.n   8006cca <__cxa_demangle+0x9a>
- 8006cf2:      e7d6            b.n     8006ca2 <__cxa_demangle+0x72>
- 8006cf4:      080008b9        .word   0x080008b9
-
-08006cf8 <__gcclibcxx_demangle_callback>:
- 8006cf8:      b160            cbz     r0, 8006d14 <__gcclibcxx_demangle_callback+0x1c>
- 8006cfa:      b508            push    {r3, lr}
- 8006cfc:      b139            cbz     r1, 8006d0e <__gcclibcxx_demangle_callback+0x16>
- 8006cfe:      f7ff fe0f       bl      8006920 <d_demangle_callback.constprop.22>
- 8006d02:      2800            cmp     r0, #0
- 8006d04:      bf0c            ite     eq
- 8006d06:      f06f 0001       mvneq.w r0, #1
- 8006d0a:      2000            movne   r0, #0
- 8006d0c:      bd08            pop     {r3, pc}
- 8006d0e:      f06f 0002       mvn.w   r0, #2
- 8006d12:      bd08            pop     {r3, pc}
- 8006d14:      f06f 0002       mvn.w   r0, #2
- 8006d18:      4770            bx      lr
- 8006d1a:      bf00            nop
- 8006d1c:      0000            movs    r0, r0
-       ...
-
-08006d20 <memchr>:
- 8006d20:      f001 01ff       and.w   r1, r1, #255    ; 0xff
- 8006d24:      2a10            cmp     r2, #16
- 8006d26:      db2b            blt.n   8006d80 <memchr+0x60>
- 8006d28:      f010 0f07       tst.w   r0, #7
- 8006d2c:      d008            beq.n   8006d40 <memchr+0x20>
- 8006d2e:      f810 3b01       ldrb.w  r3, [r0], #1
- 8006d32:      3a01            subs    r2, #1
- 8006d34:      428b            cmp     r3, r1
- 8006d36:      d02d            beq.n   8006d94 <memchr+0x74>
- 8006d38:      f010 0f07       tst.w   r0, #7
- 8006d3c:      b342            cbz     r2, 8006d90 <memchr+0x70>
- 8006d3e:      d1f6            bne.n   8006d2e <memchr+0xe>
- 8006d40:      b4f0            push    {r4, r5, r6, r7}
- 8006d42:      ea41 2101       orr.w   r1, r1, r1, lsl #8
- 8006d46:      ea41 4101       orr.w   r1, r1, r1, lsl #16
- 8006d4a:      f022 0407       bic.w   r4, r2, #7
- 8006d4e:      f07f 0700       mvns.w  r7, #0
- 8006d52:      2300            movs    r3, #0
- 8006d54:      e8f0 5602       ldrd    r5, r6, [r0], #8
- 8006d58:      3c08            subs    r4, #8
- 8006d5a:      ea85 0501       eor.w   r5, r5, r1
- 8006d5e:      ea86 0601       eor.w   r6, r6, r1
- 8006d62:      fa85 f547       uadd8   r5, r5, r7
- 8006d66:      faa3 f587       sel     r5, r3, r7
- 8006d6a:      fa86 f647       uadd8   r6, r6, r7
- 8006d6e:      faa5 f687       sel     r6, r5, r7
- 8006d72:      b98e            cbnz    r6, 8006d98 <memchr+0x78>
- 8006d74:      d1ee            bne.n   8006d54 <memchr+0x34>
- 8006d76:      bcf0            pop     {r4, r5, r6, r7}
- 8006d78:      f001 01ff       and.w   r1, r1, #255    ; 0xff
- 8006d7c:      f002 0207       and.w   r2, r2, #7
- 8006d80:      b132            cbz     r2, 8006d90 <memchr+0x70>
- 8006d82:      f810 3b01       ldrb.w  r3, [r0], #1
- 8006d86:      3a01            subs    r2, #1
- 8006d88:      ea83 0301       eor.w   r3, r3, r1
- 8006d8c:      b113            cbz     r3, 8006d94 <memchr+0x74>
- 8006d8e:      d1f8            bne.n   8006d82 <memchr+0x62>
- 8006d90:      2000            movs    r0, #0
- 8006d92:      4770            bx      lr
- 8006d94:      3801            subs    r0, #1
- 8006d96:      4770            bx      lr
- 8006d98:      2d00            cmp     r5, #0
- 8006d9a:      bf06            itte    eq
- 8006d9c:      4635            moveq   r5, r6
- 8006d9e:      3803            subeq   r0, #3
- 8006da0:      3807            subne   r0, #7
- 8006da2:      f015 0f01       tst.w   r5, #1
- 8006da6:      d107            bne.n   8006db8 <memchr+0x98>
- 8006da8:      3001            adds    r0, #1
- 8006daa:      f415 7f80       tst.w   r5, #256        ; 0x100
- 8006dae:      bf02            ittt    eq
- 8006db0:      3001            addeq   r0, #1
- 8006db2:      f415 3fc0       tsteq.w r5, #98304      ; 0x18000
- 8006db6:      3001            addeq   r0, #1
- 8006db8:      bcf0            pop     {r4, r5, r6, r7}
- 8006dba:      3801            subs    r0, #1
- 8006dbc:      4770            bx      lr
- 8006dbe:      bf00            nop
-
-08006dc0 <strcmp>:
- 8006dc0:      f810 2b01       ldrb.w  r2, [r0], #1
- 8006dc4:      f811 3b01       ldrb.w  r3, [r1], #1
- 8006dc8:      2a01            cmp     r2, #1
- 8006dca:      bf28            it      cs
- 8006dcc:      429a            cmpcs   r2, r3
- 8006dce:      d0f7            beq.n   8006dc0 <strcmp>
- 8006dd0:      1ad0            subs    r0, r2, r3
- 8006dd2:      4770            bx      lr
-
-08006dd4 <strlen>:
- 8006dd4:      4603            mov     r3, r0
- 8006dd6:      f813 2b01       ldrb.w  r2, [r3], #1
- 8006dda:      2a00            cmp     r2, #0
- 8006ddc:      d1fb            bne.n   8006dd6 <strlen+0x2>
- 8006dde:      1a18            subs    r0, r3, r0
- 8006de0:      3801            subs    r0, #1
- 8006de2:      4770            bx      lr
-
-08006de4 <__aeabi_uldivmod>:
- 8006de4:      b953            cbnz    r3, 8006dfc <__aeabi_uldivmod+0x18>
- 8006de6:      b94a            cbnz    r2, 8006dfc <__aeabi_uldivmod+0x18>
- 8006de8:      2900            cmp     r1, #0
- 8006dea:      bf08            it      eq
- 8006dec:      2800            cmpeq   r0, #0
- 8006dee:      bf1c            itt     ne
- 8006df0:      f04f 31ff       movne.w r1, #4294967295 ; 0xffffffff
- 8006df4:      f04f 30ff       movne.w r0, #4294967295 ; 0xffffffff
- 8006df8:      f001 b8f8       b.w     8007fec <__aeabi_idiv0>
- 8006dfc:      f1ad 0c08       sub.w   ip, sp, #8
- 8006e00:      e96d ce04       strd    ip, lr, [sp, #-16]!
- 8006e04:      f000 f806       bl      8006e14 <__udivmoddi4>
- 8006e08:      f8dd e004       ldr.w   lr, [sp, #4]
- 8006e0c:      e9dd 2302       ldrd    r2, r3, [sp, #8]
- 8006e10:      b004            add     sp, #16
- 8006e12:      4770            bx      lr
-
-08006e14 <__udivmoddi4>:
- 8006e14:      e92d 47f0       stmdb   sp!, {r4, r5, r6, r7, r8, r9, sl, lr}
- 8006e18:      9e08            ldr     r6, [sp, #32]
- 8006e1a:      4604            mov     r4, r0
- 8006e1c:      4688            mov     r8, r1
- 8006e1e:      2b00            cmp     r3, #0
- 8006e20:      d14b            bne.n   8006eba <__udivmoddi4+0xa6>
- 8006e22:      428a            cmp     r2, r1
- 8006e24:      4615            mov     r5, r2
- 8006e26:      d967            bls.n   8006ef8 <__udivmoddi4+0xe4>
- 8006e28:      fab2 f282       clz     r2, r2
- 8006e2c:      b14a            cbz     r2, 8006e42 <__udivmoddi4+0x2e>
- 8006e2e:      f1c2 0720       rsb     r7, r2, #32
- 8006e32:      fa01 f302       lsl.w   r3, r1, r2
- 8006e36:      fa20 f707       lsr.w   r7, r0, r7
- 8006e3a:      4095            lsls    r5, r2
- 8006e3c:      ea47 0803       orr.w   r8, r7, r3
- 8006e40:      4094            lsls    r4, r2
- 8006e42:      ea4f 4e15       mov.w   lr, r5, lsr #16
- 8006e46:      0c23            lsrs    r3, r4, #16
- 8006e48:      fbb8 f7fe       udiv    r7, r8, lr
- 8006e4c:      fa1f fc85       uxth.w  ip, r5
- 8006e50:      fb0e 8817       mls     r8, lr, r7, r8
- 8006e54:      ea43 4308       orr.w   r3, r3, r8, lsl #16
- 8006e58:      fb07 f10c       mul.w   r1, r7, ip
- 8006e5c:      4299            cmp     r1, r3
- 8006e5e:      d909            bls.n   8006e74 <__udivmoddi4+0x60>
- 8006e60:      18eb            adds    r3, r5, r3
- 8006e62:      f107 30ff       add.w   r0, r7, #4294967295     ; 0xffffffff
- 8006e66:      f080 811b       bcs.w   80070a0 <__udivmoddi4+0x28c>
- 8006e6a:      4299            cmp     r1, r3
- 8006e6c:      f240 8118       bls.w   80070a0 <__udivmoddi4+0x28c>
- 8006e70:      3f02            subs    r7, #2
- 8006e72:      442b            add     r3, r5
- 8006e74:      1a5b            subs    r3, r3, r1
- 8006e76:      b2a4            uxth    r4, r4
- 8006e78:      fbb3 f0fe       udiv    r0, r3, lr
- 8006e7c:      fb0e 3310       mls     r3, lr, r0, r3
- 8006e80:      ea44 4403       orr.w   r4, r4, r3, lsl #16
- 8006e84:      fb00 fc0c       mul.w   ip, r0, ip
- 8006e88:      45a4            cmp     ip, r4
- 8006e8a:      d909            bls.n   8006ea0 <__udivmoddi4+0x8c>
- 8006e8c:      192c            adds    r4, r5, r4
- 8006e8e:      f100 33ff       add.w   r3, r0, #4294967295     ; 0xffffffff
- 8006e92:      f080 8107       bcs.w   80070a4 <__udivmoddi4+0x290>
- 8006e96:      45a4            cmp     ip, r4
- 8006e98:      f240 8104       bls.w   80070a4 <__udivmoddi4+0x290>
- 8006e9c:      3802            subs    r0, #2
- 8006e9e:      442c            add     r4, r5
- 8006ea0:      ea40 4007       orr.w   r0, r0, r7, lsl #16
- 8006ea4:      eba4 040c       sub.w   r4, r4, ip
- 8006ea8:      2700            movs    r7, #0
- 8006eaa:      b11e            cbz     r6, 8006eb4 <__udivmoddi4+0xa0>
- 8006eac:      40d4            lsrs    r4, r2
- 8006eae:      2300            movs    r3, #0
- 8006eb0:      e9c6 4300       strd    r4, r3, [r6]
- 8006eb4:      4639            mov     r1, r7
- 8006eb6:      e8bd 87f0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc}
- 8006eba:      428b            cmp     r3, r1
- 8006ebc:      d909            bls.n   8006ed2 <__udivmoddi4+0xbe>
- 8006ebe:      2e00            cmp     r6, #0
- 8006ec0:      f000 80eb       beq.w   800709a <__udivmoddi4+0x286>
- 8006ec4:      2700            movs    r7, #0
- 8006ec6:      e9c6 0100       strd    r0, r1, [r6]
- 8006eca:      4638            mov     r0, r7
- 8006ecc:      4639            mov     r1, r7
- 8006ece:      e8bd 87f0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc}
- 8006ed2:      fab3 f783       clz     r7, r3
- 8006ed6:      2f00            cmp     r7, #0
- 8006ed8:      d147            bne.n   8006f6a <__udivmoddi4+0x156>
- 8006eda:      428b            cmp     r3, r1
- 8006edc:      d302            bcc.n   8006ee4 <__udivmoddi4+0xd0>
- 8006ede:      4282            cmp     r2, r0
- 8006ee0:      f200 80fa       bhi.w   80070d8 <__udivmoddi4+0x2c4>
- 8006ee4:      1a84            subs    r4, r0, r2
- 8006ee6:      eb61 0303       sbc.w   r3, r1, r3
- 8006eea:      2001            movs    r0, #1
- 8006eec:      4698            mov     r8, r3
- 8006eee:      2e00            cmp     r6, #0
- 8006ef0:      d0e0            beq.n   8006eb4 <__udivmoddi4+0xa0>
- 8006ef2:      e9c6 4800       strd    r4, r8, [r6]
- 8006ef6:      e7dd            b.n     8006eb4 <__udivmoddi4+0xa0>
- 8006ef8:      b902            cbnz    r2, 8006efc <__udivmoddi4+0xe8>
- 8006efa:      deff            udf     #255    ; 0xff
- 8006efc:      fab2 f282       clz     r2, r2
- 8006f00:      2a00            cmp     r2, #0
- 8006f02:      f040 808f       bne.w   8007024 <__udivmoddi4+0x210>
- 8006f06:      1b49            subs    r1, r1, r5
- 8006f08:      ea4f 4e15       mov.w   lr, r5, lsr #16
- 8006f0c:      fa1f f885       uxth.w  r8, r5
- 8006f10:      2701            movs    r7, #1
- 8006f12:      fbb1 fcfe       udiv    ip, r1, lr
- 8006f16:      0c23            lsrs    r3, r4, #16
- 8006f18:      fb0e 111c       mls     r1, lr, ip, r1
- 8006f1c:      ea43 4301       orr.w   r3, r3, r1, lsl #16
- 8006f20:      fb08 f10c       mul.w   r1, r8, ip
- 8006f24:      4299            cmp     r1, r3
- 8006f26:      d907            bls.n   8006f38 <__udivmoddi4+0x124>
- 8006f28:      18eb            adds    r3, r5, r3
- 8006f2a:      f10c 30ff       add.w   r0, ip, #4294967295     ; 0xffffffff
- 8006f2e:      d202            bcs.n   8006f36 <__udivmoddi4+0x122>
- 8006f30:      4299            cmp     r1, r3
- 8006f32:      f200 80cd       bhi.w   80070d0 <__udivmoddi4+0x2bc>
- 8006f36:      4684            mov     ip, r0
- 8006f38:      1a59            subs    r1, r3, r1
- 8006f3a:      b2a3            uxth    r3, r4
- 8006f3c:      fbb1 f0fe       udiv    r0, r1, lr
- 8006f40:      fb0e 1410       mls     r4, lr, r0, r1
- 8006f44:      ea43 4404       orr.w   r4, r3, r4, lsl #16
- 8006f48:      fb08 f800       mul.w   r8, r8, r0
- 8006f4c:      45a0            cmp     r8, r4
- 8006f4e:      d907            bls.n   8006f60 <__udivmoddi4+0x14c>
- 8006f50:      192c            adds    r4, r5, r4
- 8006f52:      f100 33ff       add.w   r3, r0, #4294967295     ; 0xffffffff
- 8006f56:      d202            bcs.n   8006f5e <__udivmoddi4+0x14a>
- 8006f58:      45a0            cmp     r8, r4
- 8006f5a:      f200 80b6       bhi.w   80070ca <__udivmoddi4+0x2b6>
- 8006f5e:      4618            mov     r0, r3
- 8006f60:      eba4 0408       sub.w   r4, r4, r8
- 8006f64:      ea40 400c       orr.w   r0, r0, ip, lsl #16
- 8006f68:      e79f            b.n     8006eaa <__udivmoddi4+0x96>
- 8006f6a:      f1c7 0c20       rsb     ip, r7, #32
- 8006f6e:      40bb            lsls    r3, r7
- 8006f70:      fa22 fe0c       lsr.w   lr, r2, ip
- 8006f74:      ea4e 0e03       orr.w   lr, lr, r3
- 8006f78:      fa01 f407       lsl.w   r4, r1, r7
- 8006f7c:      fa20 f50c       lsr.w   r5, r0, ip
- 8006f80:      fa21 f30c       lsr.w   r3, r1, ip
- 8006f84:      ea4f 481e       mov.w   r8, lr, lsr #16
- 8006f88:      4325            orrs    r5, r4
- 8006f8a:      fbb3 f9f8       udiv    r9, r3, r8
- 8006f8e:      0c2c            lsrs    r4, r5, #16
- 8006f90:      fb08 3319       mls     r3, r8, r9, r3
- 8006f94:      fa1f fa8e       uxth.w  sl, lr
- 8006f98:      ea44 4303       orr.w   r3, r4, r3, lsl #16
- 8006f9c:      fb09 f40a       mul.w   r4, r9, sl
- 8006fa0:      429c            cmp     r4, r3
- 8006fa2:      fa02 f207       lsl.w   r2, r2, r7
- 8006fa6:      fa00 f107       lsl.w   r1, r0, r7
- 8006faa:      d90b            bls.n   8006fc4 <__udivmoddi4+0x1b0>
- 8006fac:      eb1e 0303       adds.w  r3, lr, r3
- 8006fb0:      f109 30ff       add.w   r0, r9, #4294967295     ; 0xffffffff
- 8006fb4:      f080 8087       bcs.w   80070c6 <__udivmoddi4+0x2b2>
- 8006fb8:      429c            cmp     r4, r3
- 8006fba:      f240 8084       bls.w   80070c6 <__udivmoddi4+0x2b2>
- 8006fbe:      f1a9 0902       sub.w   r9, r9, #2
- 8006fc2:      4473            add     r3, lr
- 8006fc4:      1b1b            subs    r3, r3, r4
- 8006fc6:      b2ad            uxth    r5, r5
- 8006fc8:      fbb3 f0f8       udiv    r0, r3, r8
- 8006fcc:      fb08 3310       mls     r3, r8, r0, r3
- 8006fd0:      ea45 4403       orr.w   r4, r5, r3, lsl #16
- 8006fd4:      fb00 fa0a       mul.w   sl, r0, sl
- 8006fd8:      45a2            cmp     sl, r4
- 8006fda:      d908            bls.n   8006fee <__udivmoddi4+0x1da>
- 8006fdc:      eb1e 0404       adds.w  r4, lr, r4
- 8006fe0:      f100 33ff       add.w   r3, r0, #4294967295     ; 0xffffffff
- 8006fe4:      d26b            bcs.n   80070be <__udivmoddi4+0x2aa>
- 8006fe6:      45a2            cmp     sl, r4
- 8006fe8:      d969            bls.n   80070be <__udivmoddi4+0x2aa>
- 8006fea:      3802            subs    r0, #2
- 8006fec:      4474            add     r4, lr
- 8006fee:      ea40 4009       orr.w   r0, r0, r9, lsl #16
- 8006ff2:      fba0 8902       umull   r8, r9, r0, r2
- 8006ff6:      eba4 040a       sub.w   r4, r4, sl
- 8006ffa:      454c            cmp     r4, r9
- 8006ffc:      46c2            mov     sl, r8
- 8006ffe:      464b            mov     r3, r9
- 8007000:      d354            bcc.n   80070ac <__udivmoddi4+0x298>
- 8007002:      d051            beq.n   80070a8 <__udivmoddi4+0x294>
- 8007004:      2e00            cmp     r6, #0
- 8007006:      d069            beq.n   80070dc <__udivmoddi4+0x2c8>
- 8007008:      ebb1 050a       subs.w  r5, r1, sl
- 800700c:      eb64 0403       sbc.w   r4, r4, r3
- 8007010:      fa04 fc0c       lsl.w   ip, r4, ip
- 8007014:      40fd            lsrs    r5, r7
- 8007016:      40fc            lsrs    r4, r7
- 8007018:      ea4c 0505       orr.w   r5, ip, r5
- 800701c:      e9c6 5400       strd    r5, r4, [r6]
- 8007020:      2700            movs    r7, #0
- 8007022:      e747            b.n     8006eb4 <__udivmoddi4+0xa0>
- 8007024:      f1c2 0320       rsb     r3, r2, #32
- 8007028:      fa20 f703       lsr.w   r7, r0, r3
- 800702c:      4095            lsls    r5, r2
- 800702e:      fa01 f002       lsl.w   r0, r1, r2
- 8007032:      fa21 f303       lsr.w   r3, r1, r3
- 8007036:      ea4f 4e15       mov.w   lr, r5, lsr #16
- 800703a:      4338            orrs    r0, r7
- 800703c:      0c01            lsrs    r1, r0, #16
- 800703e:      fbb3 f7fe       udiv    r7, r3, lr
- 8007042:      fa1f f885       uxth.w  r8, r5
- 8007046:      fb0e 3317       mls     r3, lr, r7, r3
- 800704a:      ea41 4103       orr.w   r1, r1, r3, lsl #16
- 800704e:      fb07 f308       mul.w   r3, r7, r8
- 8007052:      428b            cmp     r3, r1
- 8007054:      fa04 f402       lsl.w   r4, r4, r2
- 8007058:      d907            bls.n   800706a <__udivmoddi4+0x256>
- 800705a:      1869            adds    r1, r5, r1
- 800705c:      f107 3cff       add.w   ip, r7, #4294967295     ; 0xffffffff
- 8007060:      d22f            bcs.n   80070c2 <__udivmoddi4+0x2ae>
- 8007062:      428b            cmp     r3, r1
- 8007064:      d92d            bls.n   80070c2 <__udivmoddi4+0x2ae>
- 8007066:      3f02            subs    r7, #2
- 8007068:      4429            add     r1, r5
- 800706a:      1acb            subs    r3, r1, r3
- 800706c:      b281            uxth    r1, r0
- 800706e:      fbb3 f0fe       udiv    r0, r3, lr
- 8007072:      fb0e 3310       mls     r3, lr, r0, r3
- 8007076:      ea41 4103       orr.w   r1, r1, r3, lsl #16
- 800707a:      fb00 f308       mul.w   r3, r0, r8
- 800707e:      428b            cmp     r3, r1
- 8007080:      d907            bls.n   8007092 <__udivmoddi4+0x27e>
- 8007082:      1869            adds    r1, r5, r1
- 8007084:      f100 3cff       add.w   ip, r0, #4294967295     ; 0xffffffff
- 8007088:      d217            bcs.n   80070ba <__udivmoddi4+0x2a6>
- 800708a:      428b            cmp     r3, r1
- 800708c:      d915            bls.n   80070ba <__udivmoddi4+0x2a6>
- 800708e:      3802            subs    r0, #2
- 8007090:      4429            add     r1, r5
- 8007092:      1ac9            subs    r1, r1, r3
- 8007094:      ea40 4707       orr.w   r7, r0, r7, lsl #16
- 8007098:      e73b            b.n     8006f12 <__udivmoddi4+0xfe>
- 800709a:      4637            mov     r7, r6
- 800709c:      4630            mov     r0, r6
- 800709e:      e709            b.n     8006eb4 <__udivmoddi4+0xa0>
- 80070a0:      4607            mov     r7, r0
- 80070a2:      e6e7            b.n     8006e74 <__udivmoddi4+0x60>
- 80070a4:      4618            mov     r0, r3
- 80070a6:      e6fb            b.n     8006ea0 <__udivmoddi4+0x8c>
- 80070a8:      4541            cmp     r1, r8
- 80070aa:      d2ab            bcs.n   8007004 <__udivmoddi4+0x1f0>
- 80070ac:      ebb8 0a02       subs.w  sl, r8, r2
- 80070b0:      eb69 020e       sbc.w   r2, r9, lr
- 80070b4:      3801            subs    r0, #1
- 80070b6:      4613            mov     r3, r2
- 80070b8:      e7a4            b.n     8007004 <__udivmoddi4+0x1f0>
- 80070ba:      4660            mov     r0, ip
- 80070bc:      e7e9            b.n     8007092 <__udivmoddi4+0x27e>
- 80070be:      4618            mov     r0, r3
- 80070c0:      e795            b.n     8006fee <__udivmoddi4+0x1da>
- 80070c2:      4667            mov     r7, ip
- 80070c4:      e7d1            b.n     800706a <__udivmoddi4+0x256>
- 80070c6:      4681            mov     r9, r0
- 80070c8:      e77c            b.n     8006fc4 <__udivmoddi4+0x1b0>
- 80070ca:      3802            subs    r0, #2
- 80070cc:      442c            add     r4, r5
- 80070ce:      e747            b.n     8006f60 <__udivmoddi4+0x14c>
- 80070d0:      f1ac 0c02       sub.w   ip, ip, #2
- 80070d4:      442b            add     r3, r5
- 80070d6:      e72f            b.n     8006f38 <__udivmoddi4+0x124>
- 80070d8:      4638            mov     r0, r7
- 80070da:      e708            b.n     8006eee <__udivmoddi4+0xda>
- 80070dc:      4637            mov     r7, r6
- 80070de:      e6e9            b.n     8006eb4 <__udivmoddi4+0xa0>
-
-080070e0 <selfrel_offset31>:
- 80070e0:      6803            ldr     r3, [r0, #0]
- 80070e2:      005a            lsls    r2, r3, #1
- 80070e4:      bf4c            ite     mi
- 80070e6:      f043 4300       orrmi.w r3, r3, #2147483648     ; 0x80000000
- 80070ea:      f023 4300       bicpl.w r3, r3, #2147483648     ; 0x80000000
- 80070ee:      4418            add     r0, r3
- 80070f0:      4770            bx      lr
- 80070f2:      bf00            nop
-
-080070f4 <search_EIT_table>:
- 80070f4:      b361            cbz     r1, 8007150 <search_EIT_table+0x5c>
- 80070f6:      e92d 4ff8       stmdb   sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr}
- 80070fa:      f101 3aff       add.w   sl, r1, #4294967295     ; 0xffffffff
- 80070fe:      4690            mov     r8, r2
- 8007100:      4606            mov     r6, r0
- 8007102:      46d1            mov     r9, sl
- 8007104:      2700            movs    r7, #0
- 8007106:      eb07 0409       add.w   r4, r7, r9
- 800710a:      eb04 74d4       add.w   r4, r4, r4, lsr #31
- 800710e:      1064            asrs    r4, r4, #1
- 8007110:      00e5            lsls    r5, r4, #3
- 8007112:      1971            adds    r1, r6, r5
- 8007114:      4608            mov     r0, r1
- 8007116:      f7ff ffe3       bl      80070e0 <selfrel_offset31>
- 800711a:      45a2            cmp     sl, r4
- 800711c:      4683            mov     fp, r0
- 800711e:      f105 0008       add.w   r0, r5, #8
- 8007122:      4430            add     r0, r6
- 8007124:      d009            beq.n   800713a <search_EIT_table+0x46>
- 8007126:      f7ff ffdb       bl      80070e0 <selfrel_offset31>
- 800712a:      45c3            cmp     fp, r8
- 800712c:      f100 30ff       add.w   r0, r0, #4294967295     ; 0xffffffff
- 8007130:      d805            bhi.n   800713e <search_EIT_table+0x4a>
- 8007132:      4540            cmp     r0, r8
- 8007134:      d209            bcs.n   800714a <search_EIT_table+0x56>
- 8007136:      1c67            adds    r7, r4, #1
- 8007138:      e7e5            b.n     8007106 <search_EIT_table+0x12>
- 800713a:      45c3            cmp     fp, r8
- 800713c:      d905            bls.n   800714a <search_EIT_table+0x56>
- 800713e:      42a7            cmp     r7, r4
- 8007140:      d002            beq.n   8007148 <search_EIT_table+0x54>
- 8007142:      f104 39ff       add.w   r9, r4, #4294967295     ; 0xffffffff
- 8007146:      e7de            b.n     8007106 <search_EIT_table+0x12>
- 8007148:      2100            movs    r1, #0
- 800714a:      4608            mov     r0, r1
- 800714c:      e8bd 8ff8       ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc}
- 8007150:      4608            mov     r0, r1
- 8007152:      4770            bx      lr
-
-08007154 <__gnu_unwind_get_pr_addr>:
- 8007154:      2801            cmp     r0, #1
- 8007156:      d007            beq.n   8007168 <__gnu_unwind_get_pr_addr+0x14>
- 8007158:      2802            cmp     r0, #2
- 800715a:      d007            beq.n   800716c <__gnu_unwind_get_pr_addr+0x18>
- 800715c:      4b04            ldr     r3, [pc, #16]   ; (8007170 <__gnu_unwind_get_pr_addr+0x1c>)
- 800715e:      2800            cmp     r0, #0
- 8007160:      bf0c            ite     eq
- 8007162:      4618            moveq   r0, r3
- 8007164:      2000            movne   r0, #0
- 8007166:      4770            bx      lr
- 8007168:      4802            ldr     r0, [pc, #8]    ; (8007174 <__gnu_unwind_get_pr_addr+0x20>)
- 800716a:      4770            bx      lr
- 800716c:      4802            ldr     r0, [pc, #8]    ; (8007178 <__gnu_unwind_get_pr_addr+0x24>)
- 800716e:      4770            bx      lr
- 8007170:      08007841        .word   0x08007841
- 8007174:      08007845        .word   0x08007845
- 8007178:      08007849        .word   0x08007849
-
-0800717c <get_eit_entry>:
- 800717c:      b530            push    {r4, r5, lr}
- 800717e:      4b25            ldr     r3, [pc, #148]  ; (8007214 <get_eit_entry+0x98>)
- 8007180:      b083            sub     sp, #12
- 8007182:      4604            mov     r4, r0
- 8007184:      1e8d            subs    r5, r1, #2
- 8007186:      b34b            cbz     r3, 80071dc <get_eit_entry+0x60>
- 8007188:      a901            add     r1, sp, #4
- 800718a:      4628            mov     r0, r5
- 800718c:      f3af 8000       nop.w
- 8007190:      b1f0            cbz     r0, 80071d0 <get_eit_entry+0x54>
- 8007192:      9901            ldr     r1, [sp, #4]
- 8007194:      462a            mov     r2, r5
- 8007196:      f7ff ffad       bl      80070f4 <search_EIT_table>
- 800719a:      4601            mov     r1, r0
- 800719c:      b1c0            cbz     r0, 80071d0 <get_eit_entry+0x54>
- 800719e:      f7ff ff9f       bl      80070e0 <selfrel_offset31>
- 80071a2:      684b            ldr     r3, [r1, #4]
- 80071a4:      64a0            str     r0, [r4, #72]   ; 0x48
- 80071a6:      2b01            cmp     r3, #1
- 80071a8:      d02e            beq.n   8007208 <get_eit_entry+0x8c>
- 80071aa:      2b00            cmp     r3, #0
- 80071ac:      f101 0004       add.w   r0, r1, #4
- 80071b0:      db26            blt.n   8007200 <get_eit_entry+0x84>
- 80071b2:      f7ff ff95       bl      80070e0 <selfrel_offset31>
- 80071b6:      2300            movs    r3, #0
- 80071b8:      e9c4 0313       strd    r0, r3, [r4, #76]       ; 0x4c
- 80071bc:      6803            ldr     r3, [r0, #0]
- 80071be:      2b00            cmp     r3, #0
- 80071c0:      db12            blt.n   80071e8 <get_eit_entry+0x6c>
- 80071c2:      f7ff ff8d       bl      80070e0 <selfrel_offset31>
- 80071c6:      2300            movs    r3, #0
- 80071c8:      6120            str     r0, [r4, #16]
- 80071ca:      4618            mov     r0, r3
- 80071cc:      b003            add     sp, #12
- 80071ce:      bd30            pop     {r4, r5, pc}
- 80071d0:      2300            movs    r3, #0
- 80071d2:      6123            str     r3, [r4, #16]
- 80071d4:      2309            movs    r3, #9
- 80071d6:      4618            mov     r0, r3
- 80071d8:      b003            add     sp, #12
- 80071da:      bd30            pop     {r4, r5, pc}
- 80071dc:      490e            ldr     r1, [pc, #56]   ; (8007218 <get_eit_entry+0x9c>)
- 80071de:      480f            ldr     r0, [pc, #60]   ; (800721c <get_eit_entry+0xa0>)
- 80071e0:      1a09            subs    r1, r1, r0
- 80071e2:      10c9            asrs    r1, r1, #3
- 80071e4:      9101            str     r1, [sp, #4]
- 80071e6:      e7d5            b.n     8007194 <get_eit_entry+0x18>
- 80071e8:      f3c3 6003       ubfx    r0, r3, #24, #4
- 80071ec:      f7ff ffb2       bl      8007154 <__gnu_unwind_get_pr_addr>
- 80071f0:      2800            cmp     r0, #0
- 80071f2:      bf14            ite     ne
- 80071f4:      2300            movne   r3, #0
- 80071f6:      2309            moveq   r3, #9
- 80071f8:      6120            str     r0, [r4, #16]
- 80071fa:      4618            mov     r0, r3
- 80071fc:      b003            add     sp, #12
- 80071fe:      bd30            pop     {r4, r5, pc}
- 8007200:      2301            movs    r3, #1
- 8007202:      e9c4 0313       strd    r0, r3, [r4, #76]       ; 0x4c
- 8007206:      e7d9            b.n     80071bc <get_eit_entry+0x40>
- 8007208:      2300            movs    r3, #0
- 800720a:      6123            str     r3, [r4, #16]
- 800720c:      2305            movs    r3, #5
- 800720e:      4618            mov     r0, r3
- 8007210:      b003            add     sp, #12
- 8007212:      bd30            pop     {r4, r5, pc}
- 8007214:      00000000        .word   0x00000000
- 8007218:      08013328        .word   0x08013328
- 800721c:      080131a0        .word   0x080131a0
-
-08007220 <restore_non_core_regs>:
- 8007220:      6803            ldr     r3, [r0, #0]
- 8007222:      07da            lsls    r2, r3, #31
- 8007224:      b510            push    {r4, lr}
- 8007226:      4604            mov     r4, r0
- 8007228:      d406            bmi.n   8007238 <restore_non_core_regs+0x18>
- 800722a:      079b            lsls    r3, r3, #30
- 800722c:      f100 0048       add.w   r0, r0, #72     ; 0x48
- 8007230:      d509            bpl.n   8007246 <restore_non_core_regs+0x26>
- 8007232:      f000 fc5f       bl      8007af4 <__gnu_Unwind_Restore_VFP_D>
- 8007236:      6823            ldr     r3, [r4, #0]
- 8007238:      0759            lsls    r1, r3, #29
- 800723a:      d509            bpl.n   8007250 <restore_non_core_regs+0x30>
- 800723c:      071a            lsls    r2, r3, #28
- 800723e:      d50e            bpl.n   800725e <restore_non_core_regs+0x3e>
- 8007240:      06db            lsls    r3, r3, #27
- 8007242:      d513            bpl.n   800726c <restore_non_core_regs+0x4c>
- 8007244:      bd10            pop     {r4, pc}
- 8007246:      f000 fc4d       bl      8007ae4 <__gnu_Unwind_Restore_VFP>
- 800724a:      6823            ldr     r3, [r4, #0]
- 800724c:      0759            lsls    r1, r3, #29
- 800724e:      d4f5            bmi.n   800723c <restore_non_core_regs+0x1c>
- 8007250:      f104 00d0       add.w   r0, r4, #208    ; 0xd0
- 8007254:      f000 fc56       bl      8007b04 <__gnu_Unwind_Restore_VFP_D_16_to_31>
- 8007258:      6823            ldr     r3, [r4, #0]
- 800725a:      071a            lsls    r2, r3, #28
- 800725c:      d4f0            bmi.n   8007240 <restore_non_core_regs+0x20>
- 800725e:      f504 70a8       add.w   r0, r4, #336    ; 0x150
- 8007262:      f000 fc57       bl      8007b14 <__gnu_Unwind_Restore_WMMXD>
- 8007266:      6823            ldr     r3, [r4, #0]
- 8007268:      06db            lsls    r3, r3, #27
- 800726a:      d4eb            bmi.n   8007244 <restore_non_core_regs+0x24>
- 800726c:      f504 70e8       add.w   r0, r4, #464    ; 0x1d0
- 8007270:      e8bd 4010       ldmia.w sp!, {r4, lr}
- 8007274:      f000 bc92       b.w     8007b9c <__gnu_Unwind_Restore_WMMXC>
-
-08007278 <_Unwind_decode_typeinfo_ptr.isra.0>:
- 8007278:      6803            ldr     r3, [r0, #0]
- 800727a:      b103            cbz     r3, 800727e <_Unwind_decode_typeinfo_ptr.isra.0+0x6>
- 800727c:      4403            add     r3, r0
- 800727e:      4618            mov     r0, r3
- 8007280:      4770            bx      lr
- 8007282:      bf00            nop
-
-08007284 <__gnu_unwind_24bit.isra.1>:
- 8007284:      2009            movs    r0, #9
- 8007286:      4770            bx      lr
-
-08007288 <_Unwind_DebugHook>:
- 8007288:      4770            bx      lr
- 800728a:      bf00            nop
-
-0800728c <unwind_phase2>:
- 800728c:      b570            push    {r4, r5, r6, lr}
- 800728e:      4604            mov     r4, r0
- 8007290:      460d            mov     r5, r1
- 8007292:      e008            b.n     80072a6 <unwind_phase2+0x1a>
- 8007294:      6c2b            ldr     r3, [r5, #64]   ; 0x40
- 8007296:      6163            str     r3, [r4, #20]
- 8007298:      462a            mov     r2, r5
- 800729a:      6923            ldr     r3, [r4, #16]
- 800729c:      4621            mov     r1, r4
- 800729e:      2001            movs    r0, #1
- 80072a0:      4798            blx     r3
- 80072a2:      2808            cmp     r0, #8
- 80072a4:      d108            bne.n   80072b8 <unwind_phase2+0x2c>
- 80072a6:      6c29            ldr     r1, [r5, #64]   ; 0x40
- 80072a8:      4620            mov     r0, r4
- 80072aa:      f7ff ff67       bl      800717c <get_eit_entry>
- 80072ae:      4606            mov     r6, r0
- 80072b0:      2800            cmp     r0, #0
- 80072b2:      d0ef            beq.n   8007294 <unwind_phase2+0x8>
- 80072b4:      f006 fbc0       bl      800da38 <abort>
- 80072b8:      2807            cmp     r0, #7
- 80072ba:      d1fb            bne.n   80072b4 <unwind_phase2+0x28>
- 80072bc:      4630            mov     r0, r6
- 80072be:      6c29            ldr     r1, [r5, #64]   ; 0x40
- 80072c0:      f7ff ffe2       bl      8007288 <_Unwind_DebugHook>
- 80072c4:      1d28            adds    r0, r5, #4
- 80072c6:      f000 fc01       bl      8007acc <__restore_core_regs>
- 80072ca:      bf00            nop
-
-080072cc <unwind_phase2_forced>:
- 80072cc:      e92d 47f0       stmdb   sp!, {r4, r5, r6, r7, r8, r9, sl, lr}
- 80072d0:      1d0c            adds    r4, r1, #4
- 80072d2:      4605            mov     r5, r0
- 80072d4:      4617            mov     r7, r2
- 80072d6:      cc0f            ldmia   r4!, {r0, r1, r2, r3}
- 80072d8:      f5ad 7d72       sub.w   sp, sp, #968    ; 0x3c8
- 80072dc:      ae03            add     r6, sp, #12
- 80072de:      c60f            stmia   r6!, {r0, r1, r2, r3}
- 80072e0:      cc0f            ldmia   r4!, {r0, r1, r2, r3}
- 80072e2:      c60f            stmia   r6!, {r0, r1, r2, r3}
- 80072e4:      cc0f            ldmia   r4!, {r0, r1, r2, r3}
- 80072e6:      c60f            stmia   r6!, {r0, r1, r2, r3}
- 80072e8:      e894 000f       ldmia.w r4, {r0, r1, r2, r3}
- 80072ec:      ac02            add     r4, sp, #8
- 80072ee:      f8d5 800c       ldr.w   r8, [r5, #12]
- 80072f2:      f8d5 9018       ldr.w   r9, [r5, #24]
- 80072f6:      e886 000f       stmia.w r6, {r0, r1, r2, r3}
- 80072fa:      2300            movs    r3, #0
- 80072fc:      6023            str     r3, [r4, #0]
- 80072fe:      e021            b.n     8007344 <unwind_phase2_forced+0x78>
- 8007300:      6c23            ldr     r3, [r4, #64]   ; 0x40
- 8007302:      616b            str     r3, [r5, #20]
- 8007304:      f44f 72f0       mov.w   r2, #480        ; 0x1e0
- 8007308:      4621            mov     r1, r4
- 800730a:      a87a            add     r0, sp, #488    ; 0x1e8
- 800730c:      f007 f833       bl      800e376 <memcpy>
- 8007310:      692b            ldr     r3, [r5, #16]
- 8007312:      aa7a            add     r2, sp, #488    ; 0x1e8
- 8007314:      4629            mov     r1, r5
- 8007316:      4630            mov     r0, r6
- 8007318:      4798            blx     r3
- 800731a:      9b88            ldr     r3, [sp, #544]  ; 0x220
- 800731c:      e9cd 4900       strd    r4, r9, [sp]
- 8007320:      4682            mov     sl, r0
- 8007322:      6463            str     r3, [r4, #68]   ; 0x44
- 8007324:      4631            mov     r1, r6
- 8007326:      462b            mov     r3, r5
- 8007328:      462a            mov     r2, r5
- 800732a:      2001            movs    r0, #1
- 800732c:      47c0            blx     r8
- 800732e:      4607            mov     r7, r0
- 8007330:      b9f8            cbnz    r0, 8007372 <unwind_phase2_forced+0xa6>
- 8007332:      f44f 72f0       mov.w   r2, #480        ; 0x1e0
- 8007336:      a97a            add     r1, sp, #488    ; 0x1e8
- 8007338:      4620            mov     r0, r4
- 800733a:      f007 f81c       bl      800e376 <memcpy>
- 800733e:      f1ba 0f08       cmp.w   sl, #8
- 8007342:      d11c            bne.n   800737e <unwind_phase2_forced+0xb2>
- 8007344:      6c21            ldr     r1, [r4, #64]   ; 0x40
- 8007346:      4628            mov     r0, r5
- 8007348:      f7ff ff18       bl      800717c <get_eit_entry>
- 800734c:      2f00            cmp     r7, #0
- 800734e:      bf08            it      eq
- 8007350:      2609            moveq   r6, #9
- 8007352:      4607            mov     r7, r0
- 8007354:      bf18            it      ne
- 8007356:      260a            movne   r6, #10
- 8007358:      2800            cmp     r0, #0
- 800735a:      d0d1            beq.n   8007300 <unwind_phase2_forced+0x34>
- 800735c:      6ba3            ldr     r3, [r4, #56]   ; 0x38
- 800735e:      f046 0110       orr.w   r1, r6, #16
- 8007362:      e9cd 4900       strd    r4, r9, [sp]
- 8007366:      462a            mov     r2, r5
- 8007368:      6463            str     r3, [r4, #68]   ; 0x44
- 800736a:      2001            movs    r0, #1
- 800736c:      462b            mov     r3, r5
- 800736e:      47c0            blx     r8
- 8007370:      b100            cbz     r0, 8007374 <unwind_phase2_forced+0xa8>
- 8007372:      2709            movs    r7, #9
- 8007374:      4638            mov     r0, r7
- 8007376:      f50d 7d72       add.w   sp, sp, #968    ; 0x3c8
- 800737a:      e8bd 87f0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc}
- 800737e:      f1ba 0f07       cmp.w   sl, #7
- 8007382:      d1f6            bne.n   8007372 <unwind_phase2_forced+0xa6>
- 8007384:      4638            mov     r0, r7
- 8007386:      6c21            ldr     r1, [r4, #64]   ; 0x40
- 8007388:      f7ff ff7e       bl      8007288 <_Unwind_DebugHook>
- 800738c:      a803            add     r0, sp, #12
- 800738e:      f000 fb9d       bl      8007acc <__restore_core_regs>
- 8007392:      bf00            nop
-
-08007394 <_Unwind_GetCFA>:
- 8007394:      6c40            ldr     r0, [r0, #68]   ; 0x44
- 8007396:      4770            bx      lr
-
-08007398 <__gnu_Unwind_RaiseException>:
- 8007398:      b5f0            push    {r4, r5, r6, r7, lr}
- 800739a:      6bcb            ldr     r3, [r1, #60]   ; 0x3c
- 800739c:      640b            str     r3, [r1, #64]   ; 0x40
- 800739e:      1d0d            adds    r5, r1, #4
- 80073a0:      460f            mov     r7, r1
- 80073a2:      4606            mov     r6, r0
- 80073a4:      cd0f            ldmia   r5!, {r0, r1, r2, r3}
- 80073a6:      b0f9            sub     sp, #484        ; 0x1e4
- 80073a8:      ac01            add     r4, sp, #4
- 80073aa:      c40f            stmia   r4!, {r0, r1, r2, r3}
- 80073ac:      cd0f            ldmia   r5!, {r0, r1, r2, r3}
- 80073ae:      c40f            stmia   r4!, {r0, r1, r2, r3}
- 80073b0:      cd0f            ldmia   r5!, {r0, r1, r2, r3}
- 80073b2:      c40f            stmia   r4!, {r0, r1, r2, r3}
- 80073b4:      e895 000f       ldmia.w r5, {r0, r1, r2, r3}
- 80073b8:      f04f 35ff       mov.w   r5, #4294967295 ; 0xffffffff
- 80073bc:      e884 000f       stmia.w r4, {r0, r1, r2, r3}
- 80073c0:      9500            str     r5, [sp, #0]
- 80073c2:      e006            b.n     80073d2 <__gnu_Unwind_RaiseException+0x3a>
- 80073c4:      6933            ldr     r3, [r6, #16]
- 80073c6:      466a            mov     r2, sp
- 80073c8:      4631            mov     r1, r6
- 80073ca:      4798            blx     r3
- 80073cc:      2808            cmp     r0, #8
- 80073ce:      4604            mov     r4, r0
- 80073d0:      d108            bne.n   80073e4 <__gnu_Unwind_RaiseException+0x4c>
- 80073d2:      9910            ldr     r1, [sp, #64]   ; 0x40
- 80073d4:      4630            mov     r0, r6
- 80073d6:      f7ff fed1       bl      800717c <get_eit_entry>
- 80073da:      2800            cmp     r0, #0
- 80073dc:      d0f2            beq.n   80073c4 <__gnu_Unwind_RaiseException+0x2c>
- 80073de:      2009            movs    r0, #9
- 80073e0:      b079            add     sp, #484        ; 0x1e4
- 80073e2:      bdf0            pop     {r4, r5, r6, r7, pc}
- 80073e4:      4668            mov     r0, sp
- 80073e6:      f7ff ff1b       bl      8007220 <restore_non_core_regs>
- 80073ea:      2c06            cmp     r4, #6
- 80073ec:      d1f7            bne.n   80073de <__gnu_Unwind_RaiseException+0x46>
- 80073ee:      4639            mov     r1, r7
- 80073f0:      4630            mov     r0, r6
- 80073f2:      f7ff ff4b       bl      800728c <unwind_phase2>
- 80073f6:      bf00            nop
-
-080073f8 <__gnu_Unwind_ForcedUnwind>:
- 80073f8:      b430            push    {r4, r5}
- 80073fa:      6bdd            ldr     r5, [r3, #60]   ; 0x3c
- 80073fc:      60c1            str     r1, [r0, #12]
- 80073fe:      6182            str     r2, [r0, #24]
- 8007400:      4619            mov     r1, r3
- 8007402:      641d            str     r5, [r3, #64]   ; 0x40
- 8007404:      2200            movs    r2, #0
- 8007406:      bc30            pop     {r4, r5}
- 8007408:      e760            b.n     80072cc <unwind_phase2_forced>
- 800740a:      bf00            nop
-
-0800740c <__gnu_Unwind_Resume>:
- 800740c:      b570            push    {r4, r5, r6, lr}
- 800740e:      68c6            ldr     r6, [r0, #12]
- 8007410:      6943            ldr     r3, [r0, #20]
- 8007412:      640b            str     r3, [r1, #64]   ; 0x40
- 8007414:      b9be            cbnz    r6, 8007446 <__gnu_Unwind_Resume+0x3a>
- 8007416:      6903            ldr     r3, [r0, #16]
- 8007418:      460a            mov     r2, r1
- 800741a:      4604            mov     r4, r0
- 800741c:      460d            mov     r5, r1
- 800741e:      4601            mov     r1, r0
- 8007420:      2002            movs    r0, #2
- 8007422:      4798            blx     r3
- 8007424:      2807            cmp     r0, #7
- 8007426:      d007            beq.n   8007438 <__gnu_Unwind_Resume+0x2c>
- 8007428:      2808            cmp     r0, #8
- 800742a:      d103            bne.n   8007434 <__gnu_Unwind_Resume+0x28>
- 800742c:      4629            mov     r1, r5
- 800742e:      4620            mov     r0, r4
- 8007430:      f7ff ff2c       bl      800728c <unwind_phase2>
- 8007434:      f006 fb00       bl      800da38 <abort>
- 8007438:      4630            mov     r0, r6
- 800743a:      6c29            ldr     r1, [r5, #64]   ; 0x40
- 800743c:      f7ff ff24       bl      8007288 <_Unwind_DebugHook>
- 8007440:      1d28            adds    r0, r5, #4
- 8007442:      f000 fb43       bl      8007acc <__restore_core_regs>
- 8007446:      2201            movs    r2, #1
- 8007448:      f7ff ff40       bl      80072cc <unwind_phase2_forced>
- 800744c:      f006 faf4       bl      800da38 <abort>
-
-08007450 <__gnu_Unwind_Resume_or_Rethrow>:
- 8007450:      68c2            ldr     r2, [r0, #12]
- 8007452:      b11a            cbz     r2, 800745c <__gnu_Unwind_Resume_or_Rethrow+0xc>
- 8007454:      6bca            ldr     r2, [r1, #60]   ; 0x3c
- 8007456:      640a            str     r2, [r1, #64]   ; 0x40
- 8007458:      2200            movs    r2, #0
- 800745a:      e737            b.n     80072cc <unwind_phase2_forced>
- 800745c:      e79c            b.n     8007398 <__gnu_Unwind_RaiseException>
- 800745e:      bf00            nop
-
-08007460 <_Unwind_Complete>:
- 8007460:      4770            bx      lr
- 8007462:      bf00            nop
-
-08007464 <_Unwind_DeleteException>:
- 8007464:      6883            ldr     r3, [r0, #8]
- 8007466:      b113            cbz     r3, 800746e <_Unwind_DeleteException+0xa>
- 8007468:      4601            mov     r1, r0
- 800746a:      2001            movs    r0, #1
- 800746c:      4718            bx      r3
- 800746e:      4770            bx      lr
-
-08007470 <_Unwind_VRS_Get>:
- 8007470:      2904            cmp     r1, #4
- 8007472:      d807            bhi.n   8007484 <_Unwind_VRS_Get+0x14>
- 8007474:      e8df f001       tbb     [pc, r1]
- 8007478:      08060803        .word   0x08060803
- 800747c:      08              .byte   0x08
- 800747d:      00              .byte   0x00
- 800747e:      b90b            cbnz    r3, 8007484 <_Unwind_VRS_Get+0x14>
- 8007480:      2a0f            cmp     r2, #15
- 8007482:      d903            bls.n   800748c <_Unwind_VRS_Get+0x1c>
- 8007484:      2002            movs    r0, #2
- 8007486:      4770            bx      lr
- 8007488:      2001            movs    r0, #1
- 800748a:      4770            bx      lr
- 800748c:      eb00 0282       add.w   r2, r0, r2, lsl #2
- 8007490:      4618            mov     r0, r3
- 8007492:      6853            ldr     r3, [r2, #4]
- 8007494:      9a00            ldr     r2, [sp, #0]
- 8007496:      6013            str     r3, [r2, #0]
- 8007498:      4770            bx      lr
- 800749a:      bf00            nop
-
-0800749c <_Unwind_GetGR>:
- 800749c:      b510            push    {r4, lr}
- 800749e:      b084            sub     sp, #16
- 80074a0:      2300            movs    r3, #0
- 80074a2:      ac03            add     r4, sp, #12
- 80074a4:      460a            mov     r2, r1
- 80074a6:      9400            str     r4, [sp, #0]
- 80074a8:      4619            mov     r1, r3
- 80074aa:      f7ff ffe1       bl      8007470 <_Unwind_VRS_Get>
- 80074ae:      9803            ldr     r0, [sp, #12]
- 80074b0:      b004            add     sp, #16
- 80074b2:      bd10            pop     {r4, pc}
-
-080074b4 <_Unwind_VRS_Set>:
- 80074b4:      2904            cmp     r1, #4
- 80074b6:      d807            bhi.n   80074c8 <_Unwind_VRS_Set+0x14>
- 80074b8:      e8df f001       tbb     [pc, r1]
- 80074bc:      08060803        .word   0x08060803
- 80074c0:      08              .byte   0x08
- 80074c1:      00              .byte   0x00
- 80074c2:      b90b            cbnz    r3, 80074c8 <_Unwind_VRS_Set+0x14>
- 80074c4:      2a0f            cmp     r2, #15
- 80074c6:      d903            bls.n   80074d0 <_Unwind_VRS_Set+0x1c>
- 80074c8:      2002            movs    r0, #2
- 80074ca:      4770            bx      lr
- 80074cc:      2001            movs    r0, #1
- 80074ce:      4770            bx      lr
- 80074d0:      eb00 0082       add.w   r0, r0, r2, lsl #2
- 80074d4:      9a00            ldr     r2, [sp, #0]
- 80074d6:      6812            ldr     r2, [r2, #0]
- 80074d8:      6042            str     r2, [r0, #4]
- 80074da:      4618            mov     r0, r3
- 80074dc:      4770            bx      lr
- 80074de:      bf00            nop
-
-080074e0 <_Unwind_SetGR>:
- 80074e0:      b510            push    {r4, lr}
- 80074e2:      b084            sub     sp, #16
- 80074e4:      ac04            add     r4, sp, #16
- 80074e6:      2300            movs    r3, #0
- 80074e8:      f844 2d04       str.w   r2, [r4, #-4]!
- 80074ec:      460a            mov     r2, r1
- 80074ee:      9400            str     r4, [sp, #0]
- 80074f0:      4619            mov     r1, r3
- 80074f2:      f7ff ffdf       bl      80074b4 <_Unwind_VRS_Set>
- 80074f6:      b004            add     sp, #16
- 80074f8:      bd10            pop     {r4, pc}
- 80074fa:      bf00            nop
-
-080074fc <__gnu_Unwind_Backtrace>:
- 80074fc:      b5f0            push    {r4, r5, r6, r7, lr}
- 80074fe:      6bd3            ldr     r3, [r2, #60]   ; 0x3c
- 8007500:      6413            str     r3, [r2, #64]   ; 0x40
- 8007502:      1d15            adds    r5, r2, #4
- 8007504:      4607            mov     r7, r0
- 8007506:      460e            mov     r6, r1
- 8007508:      cd0f            ldmia   r5!, {r0, r1, r2, r3}
- 800750a:      f5ad 7d0f       sub.w   sp, sp, #572    ; 0x23c
- 800750e:      ac17            add     r4, sp, #92     ; 0x5c
- 8007510:      c40f            stmia   r4!, {r0, r1, r2, r3}
- 8007512:      cd0f            ldmia   r5!, {r0, r1, r2, r3}
- 8007514:      c40f            stmia   r4!, {r0, r1, r2, r3}
- 8007516:      cd0f            ldmia   r5!, {r0, r1, r2, r3}
- 8007518:      c40f            stmia   r4!, {r0, r1, r2, r3}
- 800751a:      e895 000f       ldmia.w r5, {r0, r1, r2, r3}
- 800751e:      f04f 35ff       mov.w   r5, #4294967295 ; 0xffffffff
- 8007522:      e884 000f       stmia.w r4, {r0, r1, r2, r3}
- 8007526:      9516            str     r5, [sp, #88]   ; 0x58
- 8007528:      e010            b.n     800754c <__gnu_Unwind_Backtrace+0x50>
- 800752a:      a816            add     r0, sp, #88     ; 0x58
- 800752c:      f7ff ffd8       bl      80074e0 <_Unwind_SetGR>
- 8007530:      4631            mov     r1, r6
- 8007532:      a816            add     r0, sp, #88     ; 0x58
- 8007534:      47b8            blx     r7
- 8007536:      aa16            add     r2, sp, #88     ; 0x58
- 8007538:      4669            mov     r1, sp
- 800753a:      b978            cbnz    r0, 800755c <__gnu_Unwind_Backtrace+0x60>
- 800753c:      9b04            ldr     r3, [sp, #16]
- 800753e:      2008            movs    r0, #8
- 8007540:      4798            blx     r3
- 8007542:      2805            cmp     r0, #5
- 8007544:      4604            mov     r4, r0
- 8007546:      d00a            beq.n   800755e <__gnu_Unwind_Backtrace+0x62>
- 8007548:      2809            cmp     r0, #9
- 800754a:      d007            beq.n   800755c <__gnu_Unwind_Backtrace+0x60>
- 800754c:      9926            ldr     r1, [sp, #152]  ; 0x98
- 800754e:      4668            mov     r0, sp
- 8007550:      f7ff fe14       bl      800717c <get_eit_entry>
- 8007554:      466a            mov     r2, sp
- 8007556:      210c            movs    r1, #12
- 8007558:      2800            cmp     r0, #0
- 800755a:      d0e6            beq.n   800752a <__gnu_Unwind_Backtrace+0x2e>
- 800755c:      2409            movs    r4, #9
- 800755e:      a816            add     r0, sp, #88     ; 0x58
- 8007560:      f7ff fe5e       bl      8007220 <restore_non_core_regs>
- 8007564:      4620            mov     r0, r4
- 8007566:      f50d 7d0f       add.w   sp, sp, #572    ; 0x23c
- 800756a:      bdf0            pop     {r4, r5, r6, r7, pc}
-
-0800756c <__gnu_unwind_pr_common>:
- 800756c:      e92d 4ff0       stmdb   sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
- 8007570:      460d            mov     r5, r1
- 8007572:      6cc9            ldr     r1, [r1, #76]   ; 0x4c
- 8007574:      b089            sub     sp, #36 ; 0x24
- 8007576:      1d0c            adds    r4, r1, #4
- 8007578:      4616            mov     r6, r2
- 800757a:      f000 0b03       and.w   fp, r0, #3
- 800757e:      680a            ldr     r2, [r1, #0]
- 8007580:      9406            str     r4, [sp, #24]
- 8007582:      461f            mov     r7, r3
- 8007584:      2b00            cmp     r3, #0
- 8007586:      d068            beq.n   800765a <__gnu_unwind_pr_common+0xee>
- 8007588:      0c13            lsrs    r3, r2, #16
- 800758a:      b2d9            uxtb    r1, r3
- 800758c:      0412            lsls    r2, r2, #16
- 800758e:      f88d 301d       strb.w  r3, [sp, #29]
- 8007592:      2302            movs    r3, #2
- 8007594:      eb04 0481       add.w   r4, r4, r1, lsl #2
- 8007598:      9205            str     r2, [sp, #20]
- 800759a:      f88d 301c       strb.w  r3, [sp, #28]
- 800759e:      6d2b            ldr     r3, [r5, #80]   ; 0x50
- 80075a0:      f1bb 0f02       cmp.w   fp, #2
- 80075a4:      bf08            it      eq
- 80075a6:      6bac            ldreq   r4, [r5, #56]   ; 0x38
- 80075a8:      f013 0301       ands.w  r3, r3, #1
- 80075ac:      d146            bne.n   800763c <__gnu_unwind_pr_common+0xd0>
- 80075ae:      9301            str     r3, [sp, #4]
- 80075b0:      f000 0308       and.w   r3, r0, #8
- 80075b4:      9300            str     r3, [sp, #0]
- 80075b6:      f8d4 9000       ldr.w   r9, [r4]
- 80075ba:      f1b9 0f00       cmp.w   r9, #0
- 80075be:      f000 80f3       beq.w   80077a8 <__gnu_unwind_pr_common+0x23c>
- 80075c2:      2f02            cmp     r7, #2
- 80075c4:      d045            beq.n   8007652 <__gnu_unwind_pr_common+0xe6>
- 80075c6:      f8b4 9000       ldrh.w  r9, [r4]
- 80075ca:      f8b4 8002       ldrh.w  r8, [r4, #2]
- 80075ce:      3404            adds    r4, #4
- 80075d0:      6cab            ldr     r3, [r5, #72]   ; 0x48
- 80075d2:      f028 0a01       bic.w   sl, r8, #1
- 80075d6:      210f            movs    r1, #15
- 80075d8:      4630            mov     r0, r6
- 80075da:      449a            add     sl, r3
- 80075dc:      f7ff ff5e       bl      800749c <_Unwind_GetGR>
- 80075e0:      4582            cmp     sl, r0
- 80075e2:      d834            bhi.n   800764e <__gnu_unwind_pr_common+0xe2>
- 80075e4:      f029 0301       bic.w   r3, r9, #1
- 80075e8:      4453            add     r3, sl
- 80075ea:      4283            cmp     r3, r0
- 80075ec:      bf94            ite     ls
- 80075ee:      2000            movls   r0, #0
- 80075f0:      2001            movhi   r0, #1
- 80075f2:      ea4f 0848       mov.w   r8, r8, lsl #1
- 80075f6:      f008 0802       and.w   r8, r8, #2
- 80075fa:      f009 0901       and.w   r9, r9, #1
- 80075fe:      ea48 0809       orr.w   r8, r8, r9
- 8007602:      f1b8 0f01       cmp.w   r8, #1
- 8007606:      d03a            beq.n   800767e <__gnu_unwind_pr_common+0x112>
- 8007608:      d331            bcc.n   800766e <__gnu_unwind_pr_common+0x102>
- 800760a:      f1b8 0f02       cmp.w   r8, #2
- 800760e:      d11a            bne.n   8007646 <__gnu_unwind_pr_common+0xda>
- 8007610:      6823            ldr     r3, [r4, #0]
- 8007612:      f023 4a00       bic.w   sl, r3, #2147483648     ; 0x80000000
- 8007616:      f1bb 0f00       cmp.w   fp, #0
- 800761a:      d166            bne.n   80076ea <__gnu_unwind_pr_common+0x17e>
- 800761c:      b130            cbz     r0, 800762c <__gnu_unwind_pr_common+0xc0>
- 800761e:      9a00            ldr     r2, [sp, #0]
- 8007620:      2a00            cmp     r2, #0
- 8007622:      d06c            beq.n   80076fe <__gnu_unwind_pr_common+0x192>
- 8007624:      f1ba 0f00       cmp.w   sl, #0
- 8007628:      f000 8090       beq.w   800774c <__gnu_unwind_pr_common+0x1e0>
- 800762c:      2b00            cmp     r3, #0
- 800762e:      da00            bge.n   8007632 <__gnu_unwind_pr_common+0xc6>
- 8007630:      3404            adds    r4, #4
- 8007632:      f10a 0301       add.w   r3, sl, #1
- 8007636:      eb04 0483       add.w   r4, r4, r3, lsl #2
- 800763a:      e7bc            b.n     80075b6 <__gnu_unwind_pr_common+0x4a>
- 800763c:      4630            mov     r0, r6
- 800763e:      a905            add     r1, sp, #20
- 8007640:      f000 fb46       bl      8007cd0 <__gnu_unwind_execute>
- 8007644:      b178            cbz     r0, 8007666 <__gnu_unwind_pr_common+0xfa>
- 8007646:      2009            movs    r0, #9
- 8007648:      b009            add     sp, #36 ; 0x24
- 800764a:      e8bd 8ff0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
- 800764e:      2000            movs    r0, #0
- 8007650:      e7cf            b.n     80075f2 <__gnu_unwind_pr_common+0x86>
- 8007652:      f8d4 8004       ldr.w   r8, [r4, #4]
- 8007656:      3408            adds    r4, #8
- 8007658:      e7ba            b.n     80075d0 <__gnu_unwind_pr_common+0x64>
- 800765a:      0212            lsls    r2, r2, #8
- 800765c:      2303            movs    r3, #3
- 800765e:      9205            str     r2, [sp, #20]
- 8007660:      f8ad 301c       strh.w  r3, [sp, #28]
- 8007664:      e79b            b.n     800759e <__gnu_unwind_pr_common+0x32>
- 8007666:      2008            movs    r0, #8
- 8007668:      b009            add     sp, #36 ; 0x24
- 800766a:      e8bd 8ff0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
- 800766e:      f1bb 0f00       cmp.w   fp, #0
- 8007672:      d002            beq.n   800767a <__gnu_unwind_pr_common+0x10e>
- 8007674:      2800            cmp     r0, #0
- 8007676:      f040 80b4       bne.w   80077e2 <__gnu_unwind_pr_common+0x276>
- 800767a:      3404            adds    r4, #4
- 800767c:      e79b            b.n     80075b6 <__gnu_unwind_pr_common+0x4a>
- 800767e:      f1bb 0f00       cmp.w   fp, #0
- 8007682:      d118            bne.n   80076b6 <__gnu_unwind_pr_common+0x14a>
- 8007684:      b1a8            cbz     r0, 80076b2 <__gnu_unwind_pr_common+0x146>
- 8007686:      e9d4 2300       ldrd    r2, r3, [r4]
- 800768a:      1c99            adds    r1, r3, #2
- 800768c:      ea4f 72d2       mov.w   r2, r2, lsr #31
- 8007690:      d0d9            beq.n   8007646 <__gnu_unwind_pr_common+0xda>
- 8007692:      f105 0158       add.w   r1, r5, #88     ; 0x58
- 8007696:      3301            adds    r3, #1
- 8007698:      9104            str     r1, [sp, #16]
- 800769a:      f000 80b5       beq.w   8007808 <__gnu_unwind_pr_common+0x29c>
- 800769e:      1d20            adds    r0, r4, #4
- 80076a0:      f7ff fdea       bl      8007278 <_Unwind_decode_typeinfo_ptr.isra.0>
- 80076a4:      ab04            add     r3, sp, #16
- 80076a6:      4601            mov     r1, r0
- 80076a8:      4628            mov     r0, r5
- 80076aa:      f005 fa1b       bl      800cae4 <__cxa_type_match>
- 80076ae:      2800            cmp     r0, #0
- 80076b0:      d167            bne.n   8007782 <__gnu_unwind_pr_common+0x216>
- 80076b2:      3408            adds    r4, #8
- 80076b4:      e77f            b.n     80075b6 <__gnu_unwind_pr_common+0x4a>
- 80076b6:      210d            movs    r1, #13
- 80076b8:      4630            mov     r0, r6
- 80076ba:      f8d5 8020       ldr.w   r8, [r5, #32]
- 80076be:      f7ff feed       bl      800749c <_Unwind_GetGR>
- 80076c2:      4580            cmp     r8, r0
- 80076c4:      d1f5            bne.n   80076b2 <__gnu_unwind_pr_common+0x146>
- 80076c6:      6aab            ldr     r3, [r5, #40]   ; 0x28
- 80076c8:      429c            cmp     r4, r3
- 80076ca:      d1f2            bne.n   80076b2 <__gnu_unwind_pr_common+0x146>
- 80076cc:      4620            mov     r0, r4
- 80076ce:      f7ff fd07       bl      80070e0 <selfrel_offset31>
- 80076d2:      210f            movs    r1, #15
- 80076d4:      4602            mov     r2, r0
- 80076d6:      4630            mov     r0, r6
- 80076d8:      f7ff ff02       bl      80074e0 <_Unwind_SetGR>
- 80076dc:      4630            mov     r0, r6
- 80076de:      462a            mov     r2, r5
- 80076e0:      2100            movs    r1, #0
- 80076e2:      f7ff fefd       bl      80074e0 <_Unwind_SetGR>
- 80076e6:      2007            movs    r0, #7
- 80076e8:      e7ae            b.n     8007648 <__gnu_unwind_pr_common+0xdc>
- 80076ea:      210d            movs    r1, #13
- 80076ec:      4630            mov     r0, r6
- 80076ee:      f8d5 8020       ldr.w   r8, [r5, #32]
- 80076f2:      f7ff fed3       bl      800749c <_Unwind_GetGR>
- 80076f6:      4580            cmp     r8, r0
- 80076f8:      d032            beq.n   8007760 <__gnu_unwind_pr_common+0x1f4>
- 80076fa:      6823            ldr     r3, [r4, #0]
- 80076fc:      e796            b.n     800762c <__gnu_unwind_pr_common+0xc0>
- 80076fe:      f1ba 0f00       cmp.w   sl, #0
- 8007702:      d023            beq.n   800774c <__gnu_unwind_pr_common+0x1e0>
- 8007704:      f105 0358       add.w   r3, r5, #88     ; 0x58
- 8007708:      f104 0804       add.w   r8, r4, #4
- 800770c:      f8cd b008       str.w   fp, [sp, #8]
- 8007710:      f8dd 9000       ldr.w   r9, [sp]
- 8007714:      9703            str     r7, [sp, #12]
- 8007716:      46a3            mov     fp, r4
- 8007718:      461c            mov     r4, r3
- 800771a:      e002            b.n     8007722 <__gnu_unwind_pr_common+0x1b6>
- 800771c:      4557            cmp     r7, sl
- 800771e:      46b9            mov     r9, r7
- 8007720:      d040            beq.n   80077a4 <__gnu_unwind_pr_common+0x238>
- 8007722:      4640            mov     r0, r8
- 8007724:      9404            str     r4, [sp, #16]
- 8007726:      f7ff fda7       bl      8007278 <_Unwind_decode_typeinfo_ptr.isra.0>
- 800772a:      ab04            add     r3, sp, #16
- 800772c:      4601            mov     r1, r0
- 800772e:      2200            movs    r2, #0
- 8007730:      4628            mov     r0, r5
- 8007732:      f005 f9d7       bl      800cae4 <__cxa_type_match>
- 8007736:      f109 0701       add.w   r7, r9, #1
- 800773a:      f108 0804       add.w   r8, r8, #4
- 800773e:      2800            cmp     r0, #0
- 8007740:      d0ec            beq.n   800771c <__gnu_unwind_pr_common+0x1b0>
- 8007742:      45d1            cmp     r9, sl
- 8007744:      465c            mov     r4, fp
- 8007746:      e9dd b702       ldrd    fp, r7, [sp, #8]
- 800774a:      d1d6            bne.n   80076fa <__gnu_unwind_pr_common+0x18e>
- 800774c:      4630            mov     r0, r6
- 800774e:      210d            movs    r1, #13
- 8007750:      f7ff fea4       bl      800749c <_Unwind_GetGR>
- 8007754:      9b04            ldr     r3, [sp, #16]
- 8007756:      6228            str     r0, [r5, #32]
- 8007758:      e9c5 3409       strd    r3, r4, [r5, #36]       ; 0x24
- 800775c:      2006            movs    r0, #6
- 800775e:      e773            b.n     8007648 <__gnu_unwind_pr_common+0xdc>
- 8007760:      6aab            ldr     r3, [r5, #40]   ; 0x28
- 8007762:      429c            cmp     r4, r3
- 8007764:      d1c9            bne.n   80076fa <__gnu_unwind_pr_common+0x18e>
- 8007766:      2204            movs    r2, #4
- 8007768:      f04f 0800       mov.w   r8, #0
- 800776c:      18a3            adds    r3, r4, r2
- 800776e:      e9c5 a80a       strd    sl, r8, [r5, #40]       ; 0x28
- 8007772:      e9c5 230c       strd    r2, r3, [r5, #48]       ; 0x30
- 8007776:      6823            ldr     r3, [r4, #0]
- 8007778:      4543            cmp     r3, r8
- 800777a:      db4d            blt.n   8007818 <__gnu_unwind_pr_common+0x2ac>
- 800777c:      2301            movs    r3, #1
- 800777e:      9301            str     r3, [sp, #4]
- 8007780:      e757            b.n     8007632 <__gnu_unwind_pr_common+0xc6>
- 8007782:      4680            mov     r8, r0
- 8007784:      210d            movs    r1, #13
- 8007786:      4630            mov     r0, r6
- 8007788:      f7ff fe88       bl      800749c <_Unwind_GetGR>
- 800778c:      f1b8 0f02       cmp.w   r8, #2
- 8007790:      6228            str     r0, [r5, #32]
- 8007792:      d13e            bne.n   8007812 <__gnu_unwind_pr_common+0x2a6>
- 8007794:      462b            mov     r3, r5
- 8007796:      9a04            ldr     r2, [sp, #16]
- 8007798:      f843 2f2c       str.w   r2, [r3, #44]!
- 800779c:      626b            str     r3, [r5, #36]   ; 0x24
- 800779e:      62ac            str     r4, [r5, #40]   ; 0x28
- 80077a0:      2006            movs    r0, #6
- 80077a2:      e751            b.n     8007648 <__gnu_unwind_pr_common+0xdc>
- 80077a4:      465c            mov     r4, fp
- 80077a6:      e7d1            b.n     800774c <__gnu_unwind_pr_common+0x1e0>
- 80077a8:      a905            add     r1, sp, #20
- 80077aa:      4630            mov     r0, r6
- 80077ac:      f000 fa90       bl      8007cd0 <__gnu_unwind_execute>
- 80077b0:      2800            cmp     r0, #0
- 80077b2:      f47f af48       bne.w   8007646 <__gnu_unwind_pr_common+0xda>
- 80077b6:      9b01            ldr     r3, [sp, #4]
- 80077b8:      2b00            cmp     r3, #0
- 80077ba:      f43f af54       beq.w   8007666 <__gnu_unwind_pr_common+0xfa>
- 80077be:      210f            movs    r1, #15
- 80077c0:      4630            mov     r0, r6
- 80077c2:      f7ff fe6b       bl      800749c <_Unwind_GetGR>
- 80077c6:      210e            movs    r1, #14
- 80077c8:      4602            mov     r2, r0
- 80077ca:      4630            mov     r0, r6
- 80077cc:      f7ff fe88       bl      80074e0 <_Unwind_SetGR>
- 80077d0:      4630            mov     r0, r6
- 80077d2:      4a1a            ldr     r2, [pc, #104]  ; (800783c <__gnu_unwind_pr_common+0x2d0>)
- 80077d4:      210f            movs    r1, #15
- 80077d6:      f7ff fe83       bl      80074e0 <_Unwind_SetGR>
- 80077da:      2007            movs    r0, #7
- 80077dc:      b009            add     sp, #36 ; 0x24
- 80077de:      e8bd 8ff0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
- 80077e2:      4620            mov     r0, r4
- 80077e4:      f7ff fc7c       bl      80070e0 <selfrel_offset31>
- 80077e8:      3404            adds    r4, #4
- 80077ea:      4607            mov     r7, r0
- 80077ec:      63ac            str     r4, [r5, #56]   ; 0x38
- 80077ee:      4628            mov     r0, r5
- 80077f0:      f005 f9d0       bl      800cb94 <__cxa_begin_cleanup>
- 80077f4:      2800            cmp     r0, #0
- 80077f6:      f43f af26       beq.w   8007646 <__gnu_unwind_pr_common+0xda>
- 80077fa:      4630            mov     r0, r6
- 80077fc:      463a            mov     r2, r7
- 80077fe:      210f            movs    r1, #15
- 8007800:      f7ff fe6e       bl      80074e0 <_Unwind_SetGR>
- 8007804:      2007            movs    r0, #7
- 8007806:      e71f            b.n     8007648 <__gnu_unwind_pr_common+0xdc>
- 8007808:      4630            mov     r0, r6
- 800780a:      210d            movs    r1, #13
- 800780c:      f7ff fe46       bl      800749c <_Unwind_GetGR>
- 8007810:      6228            str     r0, [r5, #32]
- 8007812:      9b04            ldr     r3, [sp, #16]
- 8007814:      626b            str     r3, [r5, #36]   ; 0x24
- 8007816:      e7c2            b.n     800779e <__gnu_unwind_pr_common+0x232>
- 8007818:      f10a 0001       add.w   r0, sl, #1
- 800781c:      eb04 0080       add.w   r0, r4, r0, lsl #2
- 8007820:      f7ff fc5e       bl      80070e0 <selfrel_offset31>
- 8007824:      210f            movs    r1, #15
- 8007826:      4602            mov     r2, r0
- 8007828:      4630            mov     r0, r6
- 800782a:      f7ff fe59       bl      80074e0 <_Unwind_SetGR>
- 800782e:      4630            mov     r0, r6
- 8007830:      462a            mov     r2, r5
- 8007832:      4641            mov     r1, r8
- 8007834:      f7ff fe54       bl      80074e0 <_Unwind_SetGR>
- 8007838:      2007            movs    r0, #7
- 800783a:      e705            b.n     8007648 <__gnu_unwind_pr_common+0xdc>
- 800783c:      0800c9fd        .word   0x0800c9fd
-
-08007840 <__aeabi_unwind_cpp_pr0>:
- 8007840:      2300            movs    r3, #0
- 8007842:      e693            b.n     800756c <__gnu_unwind_pr_common>
-
-08007844 <__aeabi_unwind_cpp_pr1>:
- 8007844:      2301            movs    r3, #1
- 8007846:      e691            b.n     800756c <__gnu_unwind_pr_common>
-
-08007848 <__aeabi_unwind_cpp_pr2>:
- 8007848:      2302            movs    r3, #2
- 800784a:      e68f            b.n     800756c <__gnu_unwind_pr_common>
-
-0800784c <_Unwind_VRS_Pop>:
- 800784c:      e92d 41f0       stmdb   sp!, {r4, r5, r6, r7, r8, lr}
- 8007850:      4605            mov     r5, r0
- 8007852:      b0c4            sub     sp, #272        ; 0x110
- 8007854:      2904            cmp     r1, #4
- 8007856:      d806            bhi.n   8007866 <_Unwind_VRS_Pop+0x1a>
- 8007858:      e8df f001       tbb     [pc, r1]
- 800785c:      03052b4d        .word   0x03052b4d
- 8007860:      09              .byte   0x09
- 8007861:      00              .byte   0x00
- 8007862:      2b03            cmp     r3, #3
- 8007864:      d05f            beq.n   8007926 <_Unwind_VRS_Pop+0xda>
- 8007866:      2002            movs    r0, #2
- 8007868:      b044            add     sp, #272        ; 0x110
- 800786a:      e8bd 81f0       ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
- 800786e:      2b00            cmp     r3, #0
- 8007870:      d1f9            bne.n   8007866 <_Unwind_VRS_Pop+0x1a>
- 8007872:      2a10            cmp     r2, #16
- 8007874:      d8f7            bhi.n   8007866 <_Unwind_VRS_Pop+0x1a>
- 8007876:      682b            ldr     r3, [r5, #0]
- 8007878:      06dc            lsls    r4, r3, #27
- 800787a:      f100 80f4       bmi.w   8007a66 <_Unwind_VRS_Pop+0x21a>
- 800787e:      ac22            add     r4, sp, #136    ; 0x88
- 8007880:      4620            mov     r0, r4
- 8007882:      9201            str     r2, [sp, #4]
- 8007884:      f000 f994       bl      8007bb0 <__gnu_Unwind_Save_WMMXC>
- 8007888:      6ba8            ldr     r0, [r5, #56]   ; 0x38
- 800788a:      9a01            ldr     r2, [sp, #4]
- 800788c:      2300            movs    r3, #0
- 800788e:      2601            movs    r6, #1
- 8007890:      fa06 f103       lsl.w   r1, r6, r3
- 8007894:      4211            tst     r1, r2
- 8007896:      d003            beq.n   80078a0 <_Unwind_VRS_Pop+0x54>
- 8007898:      6801            ldr     r1, [r0, #0]
- 800789a:      f844 1023       str.w   r1, [r4, r3, lsl #2]
- 800789e:      3004            adds    r0, #4
- 80078a0:      3301            adds    r3, #1
- 80078a2:      2b04            cmp     r3, #4
- 80078a4:      d1f4            bne.n   8007890 <_Unwind_VRS_Pop+0x44>
- 80078a6:      63a8            str     r0, [r5, #56]   ; 0x38
- 80078a8:      4620            mov     r0, r4
- 80078aa:      f000 f977       bl      8007b9c <__gnu_Unwind_Restore_WMMXC>
- 80078ae:      2000            movs    r0, #0
- 80078b0:      e7da            b.n     8007868 <_Unwind_VRS_Pop+0x1c>
- 80078b2:      2b01            cmp     r3, #1
- 80078b4:      ea4f 4612       mov.w   r6, r2, lsr #16
- 80078b8:      b297            uxth    r7, r2
- 80078ba:      d052            beq.n   8007962 <_Unwind_VRS_Pop+0x116>
- 80078bc:      2b05            cmp     r3, #5
- 80078be:      d1d2            bne.n   8007866 <_Unwind_VRS_Pop+0x1a>
- 80078c0:      eb06 0807       add.w   r8, r6, r7
- 80078c4:      f1b8 0f20       cmp.w   r8, #32
- 80078c8:      d8cd            bhi.n   8007866 <_Unwind_VRS_Pop+0x1a>
- 80078ca:      2e0f            cmp     r6, #15
- 80078cc:      f240 8099       bls.w   8007a02 <_Unwind_VRS_Pop+0x1b6>
- 80078d0:      46b8            mov     r8, r7
- 80078d2:      2f00            cmp     r7, #0
- 80078d4:      f040 80db       bne.w   8007a8e <_Unwind_VRS_Pop+0x242>
- 80078d8:      6baa            ldr     r2, [r5, #56]   ; 0x38
- 80078da:      63aa            str     r2, [r5, #56]   ; 0x38
- 80078dc:      2e0f            cmp     r6, #15
- 80078de:      f240 80be       bls.w   8007a5e <_Unwind_VRS_Pop+0x212>
- 80078e2:      f1b8 0f00       cmp.w   r8, #0
- 80078e6:      d002            beq.n   80078ee <_Unwind_VRS_Pop+0xa2>
- 80078e8:      a802            add     r0, sp, #8
- 80078ea:      f000 f90b       bl      8007b04 <__gnu_Unwind_Restore_VFP_D_16_to_31>
- 80078ee:      2000            movs    r0, #0
- 80078f0:      b044            add     sp, #272        ; 0x110
- 80078f2:      e8bd 81f0       ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
- 80078f6:      2b00            cmp     r3, #0
- 80078f8:      d1b5            bne.n   8007866 <_Unwind_VRS_Pop+0x1a>
- 80078fa:      6bac            ldr     r4, [r5, #56]   ; 0x38
- 80078fc:      b297            uxth    r7, r2
- 80078fe:      1d28            adds    r0, r5, #4
- 8007900:      2601            movs    r6, #1
- 8007902:      fa06 f103       lsl.w   r1, r6, r3
- 8007906:      4239            tst     r1, r7
- 8007908:      f103 0301       add.w   r3, r3, #1
- 800790c:      d002            beq.n   8007914 <_Unwind_VRS_Pop+0xc8>
- 800790e:      6821            ldr     r1, [r4, #0]
- 8007910:      6001            str     r1, [r0, #0]
- 8007912:      3404            adds    r4, #4
- 8007914:      2b10            cmp     r3, #16
- 8007916:      f100 0004       add.w   r0, r0, #4
- 800791a:      d1f2            bne.n   8007902 <_Unwind_VRS_Pop+0xb6>
- 800791c:      f412 5000       ands.w  r0, r2, #8192   ; 0x2000
- 8007920:      d1e5            bne.n   80078ee <_Unwind_VRS_Pop+0xa2>
- 8007922:      63ac            str     r4, [r5, #56]   ; 0x38
- 8007924:      e7a0            b.n     8007868 <_Unwind_VRS_Pop+0x1c>
- 8007926:      0c16            lsrs    r6, r2, #16
- 8007928:      b297            uxth    r7, r2
- 800792a:      19f3            adds    r3, r6, r7
- 800792c:      2b10            cmp     r3, #16
- 800792e:      d89a            bhi.n   8007866 <_Unwind_VRS_Pop+0x1a>
- 8007930:      682b            ldr     r3, [r5, #0]
- 8007932:      071a            lsls    r2, r3, #28
- 8007934:      d45d            bmi.n   80079f2 <_Unwind_VRS_Pop+0x1a6>
- 8007936:      ac22            add     r4, sp, #136    ; 0x88
- 8007938:      4620            mov     r0, r4
- 800793a:      f000 f90d       bl      8007b58 <__gnu_Unwind_Save_WMMXD>
- 800793e:      eb04 01c6       add.w   r1, r4, r6, lsl #3
- 8007942:      6bab            ldr     r3, [r5, #56]   ; 0x38
- 8007944:      b13f            cbz     r7, 8007956 <_Unwind_VRS_Pop+0x10a>
- 8007946:      eb03 02c7       add.w   r2, r3, r7, lsl #3
- 800794a:      6818            ldr     r0, [r3, #0]
- 800794c:      f841 0b04       str.w   r0, [r1], #4
- 8007950:      3304            adds    r3, #4
- 8007952:      4293            cmp     r3, r2
- 8007954:      d1f9            bne.n   800794a <_Unwind_VRS_Pop+0xfe>
- 8007956:      4620            mov     r0, r4
- 8007958:      63ab            str     r3, [r5, #56]   ; 0x38
- 800795a:      f000 f8db       bl      8007b14 <__gnu_Unwind_Restore_WMMXD>
- 800795e:      2000            movs    r0, #0
- 8007960:      e782            b.n     8007868 <_Unwind_VRS_Pop+0x1c>
- 8007962:      19f2            adds    r2, r6, r7
- 8007964:      2a10            cmp     r2, #16
- 8007966:      f63f af7e       bhi.w   8007866 <_Unwind_VRS_Pop+0x1a>
- 800796a:      2e0f            cmp     r6, #15
- 800796c:      f63f af7b       bhi.w   8007866 <_Unwind_VRS_Pop+0x1a>
- 8007970:      682a            ldr     r2, [r5, #0]
- 8007972:      07d1            lsls    r1, r2, #31
- 8007974:      d508            bpl.n   8007988 <_Unwind_VRS_Pop+0x13c>
- 8007976:      4628            mov     r0, r5
- 8007978:      f022 0203       bic.w   r2, r2, #3
- 800797c:      f840 2b48       str.w   r2, [r0], #72
- 8007980:      9301            str     r3, [sp, #4]
- 8007982:      f000 f8b3       bl      8007aec <__gnu_Unwind_Save_VFP>
- 8007986:      9b01            ldr     r3, [sp, #4]
- 8007988:      9301            str     r3, [sp, #4]
- 800798a:      ac22            add     r4, sp, #136    ; 0x88
- 800798c:      4620            mov     r0, r4
- 800798e:      f000 f8ad       bl      8007aec <__gnu_Unwind_Save_VFP>
- 8007992:      6ba9            ldr     r1, [r5, #56]   ; 0x38
- 8007994:      9b01            ldr     r3, [sp, #4]
- 8007996:      2f00            cmp     r7, #0
- 8007998:      f000 8095       beq.w   8007ac6 <_Unwind_VRS_Pop+0x27a>
- 800799c:      007f            lsls    r7, r7, #1
- 800799e:      eb04 04c6       add.w   r4, r4, r6, lsl #3
- 80079a2:      f04f 0800       mov.w   r8, #0
- 80079a6:      3c04            subs    r4, #4
- 80079a8:      eb01 0287       add.w   r2, r1, r7, lsl #2
- 80079ac:      f851 0b04       ldr.w   r0, [r1], #4
- 80079b0:      f844 0f04       str.w   r0, [r4, #4]!
- 80079b4:      4291            cmp     r1, r2
- 80079b6:      d1f9            bne.n   80079ac <_Unwind_VRS_Pop+0x160>
- 80079b8:      f1b8 0f00       cmp.w   r8, #0
- 80079bc:      d00f            beq.n   80079de <_Unwind_VRS_Pop+0x192>
- 80079be:      ac02            add     r4, sp, #8
- 80079c0:      2e10            cmp     r6, #16
- 80079c2:      4631            mov     r1, r6
- 80079c4:      bf38            it      cc
- 80079c6:      2110            movcc   r1, #16
- 80079c8:      eb04 01c1       add.w   r1, r4, r1, lsl #3
- 80079cc:      3984            subs    r1, #132        ; 0x84
- 80079ce:      eb02 04c8       add.w   r4, r2, r8, lsl #3
- 80079d2:      f852 0b04       ldr.w   r0, [r2], #4
- 80079d6:      f841 0f04       str.w   r0, [r1, #4]!
- 80079da:      4294            cmp     r4, r2
- 80079dc:      d1f9            bne.n   80079d2 <_Unwind_VRS_Pop+0x186>
- 80079de:      2b01            cmp     r3, #1
- 80079e0:      f47f af7b       bne.w   80078da <_Unwind_VRS_Pop+0x8e>
- 80079e4:      ac22            add     r4, sp, #136    ; 0x88
- 80079e6:      3204            adds    r2, #4
- 80079e8:      63aa            str     r2, [r5, #56]   ; 0x38
- 80079ea:      4620            mov     r0, r4
- 80079ec:      f000 f87a       bl      8007ae4 <__gnu_Unwind_Restore_VFP>
- 80079f0:      e77d            b.n     80078ee <_Unwind_VRS_Pop+0xa2>
- 80079f2:      f023 0308       bic.w   r3, r3, #8
- 80079f6:      602b            str     r3, [r5, #0]
- 80079f8:      f505 70a8       add.w   r0, r5, #336    ; 0x150
- 80079fc:      f000 f8ac       bl      8007b58 <__gnu_Unwind_Save_WMMXD>
- 8007a00:      e799            b.n     8007936 <_Unwind_VRS_Pop+0xea>
- 8007a02:      f1b8 0f10       cmp.w   r8, #16
- 8007a06:      682a            ldr     r2, [r5, #0]
- 8007a08:      d943            bls.n   8007a92 <_Unwind_VRS_Pop+0x246>
- 8007a0a:      07d0            lsls    r0, r2, #31
- 8007a0c:      f1a8 0810       sub.w   r8, r8, #16
- 8007a10:      d50b            bpl.n   8007a2a <_Unwind_VRS_Pop+0x1de>
- 8007a12:      4628            mov     r0, r5
- 8007a14:      f022 0201       bic.w   r2, r2, #1
- 8007a18:      f042 0202       orr.w   r2, r2, #2
- 8007a1c:      f840 2b48       str.w   r2, [r0], #72
- 8007a20:      9301            str     r3, [sp, #4]
- 8007a22:      f000 f86b       bl      8007afc <__gnu_Unwind_Save_VFP_D>
- 8007a26:      682a            ldr     r2, [r5, #0]
- 8007a28:      9b01            ldr     r3, [sp, #4]
- 8007a2a:      0751            lsls    r1, r2, #29
- 8007a2c:      d425            bmi.n   8007a7a <_Unwind_VRS_Pop+0x22e>
- 8007a2e:      2e0f            cmp     r6, #15
- 8007a30:      d804            bhi.n   8007a3c <_Unwind_VRS_Pop+0x1f0>
- 8007a32:      a822            add     r0, sp, #136    ; 0x88
- 8007a34:      9301            str     r3, [sp, #4]
- 8007a36:      f000 f861       bl      8007afc <__gnu_Unwind_Save_VFP_D>
- 8007a3a:      9b01            ldr     r3, [sp, #4]
- 8007a3c:      9301            str     r3, [sp, #4]
- 8007a3e:      ac02            add     r4, sp, #8
- 8007a40:      4620            mov     r0, r4
- 8007a42:      f000 f863       bl      8007b0c <__gnu_Unwind_Save_VFP_D_16_to_31>
- 8007a46:      f1c6 0110       rsb     r1, r6, #16
- 8007a4a:      2900            cmp     r1, #0
- 8007a4c:      6baa            ldr     r2, [r5, #56]   ; 0x38
- 8007a4e:      9b01            ldr     r3, [sp, #4]
- 8007a50:      ddb6            ble.n   80079c0 <_Unwind_VRS_Pop+0x174>
- 8007a52:      ac22            add     r4, sp, #136    ; 0x88
- 8007a54:      004f            lsls    r7, r1, #1
- 8007a56:      eb04 04c6       add.w   r4, r4, r6, lsl #3
- 8007a5a:      4611            mov     r1, r2
- 8007a5c:      e7a3            b.n     80079a6 <_Unwind_VRS_Pop+0x15a>
- 8007a5e:      a822            add     r0, sp, #136    ; 0x88
- 8007a60:      f000 f848       bl      8007af4 <__gnu_Unwind_Restore_VFP_D>
- 8007a64:      e73d            b.n     80078e2 <_Unwind_VRS_Pop+0x96>
- 8007a66:      f023 0310       bic.w   r3, r3, #16
- 8007a6a:      602b            str     r3, [r5, #0]
- 8007a6c:      f505 70e8       add.w   r0, r5, #464    ; 0x1d0
- 8007a70:      9201            str     r2, [sp, #4]
- 8007a72:      f000 f89d       bl      8007bb0 <__gnu_Unwind_Save_WMMXC>
- 8007a76:      9a01            ldr     r2, [sp, #4]
- 8007a78:      e701            b.n     800787e <_Unwind_VRS_Pop+0x32>
- 8007a7a:      4628            mov     r0, r5
- 8007a7c:      f022 0204       bic.w   r2, r2, #4
- 8007a80:      f840 2bd0       str.w   r2, [r0], #208
- 8007a84:      9301            str     r3, [sp, #4]
- 8007a86:      f000 f841       bl      8007b0c <__gnu_Unwind_Save_VFP_D_16_to_31>
- 8007a8a:      9b01            ldr     r3, [sp, #4]
- 8007a8c:      e7cf            b.n     8007a2e <_Unwind_VRS_Pop+0x1e2>
- 8007a8e:      682a            ldr     r2, [r5, #0]
- 8007a90:      e7cb            b.n     8007a2a <_Unwind_VRS_Pop+0x1de>
- 8007a92:      07d0            lsls    r0, r2, #31
- 8007a94:      d50a            bpl.n   8007aac <_Unwind_VRS_Pop+0x260>
- 8007a96:      4628            mov     r0, r5
- 8007a98:      f022 0201       bic.w   r2, r2, #1
- 8007a9c:      f042 0202       orr.w   r2, r2, #2
- 8007aa0:      f840 2b48       str.w   r2, [r0], #72
- 8007aa4:      9301            str     r3, [sp, #4]
- 8007aa6:      f000 f829       bl      8007afc <__gnu_Unwind_Save_VFP_D>
- 8007aaa:      9b01            ldr     r3, [sp, #4]
- 8007aac:      9301            str     r3, [sp, #4]
- 8007aae:      ac22            add     r4, sp, #136    ; 0x88
- 8007ab0:      4620            mov     r0, r4
- 8007ab2:      f000 f823       bl      8007afc <__gnu_Unwind_Save_VFP_D>
- 8007ab6:      46b8            mov     r8, r7
- 8007ab8:      6ba9            ldr     r1, [r5, #56]   ; 0x38
- 8007aba:      9b01            ldr     r3, [sp, #4]
- 8007abc:      2f00            cmp     r7, #0
- 8007abe:      f47f af6d       bne.w   800799c <_Unwind_VRS_Pop+0x150>
- 8007ac2:      460a            mov     r2, r1
- 8007ac4:      e709            b.n     80078da <_Unwind_VRS_Pop+0x8e>
- 8007ac6:      460a            mov     r2, r1
- 8007ac8:      e78d            b.n     80079e6 <_Unwind_VRS_Pop+0x19a>
- 8007aca:      bf00            nop
-
-08007acc <__restore_core_regs>:
- 8007acc:      f100 0134       add.w   r1, r0, #52     ; 0x34
- 8007ad0:      e891 0038       ldmia.w r1, {r3, r4, r5}
- 8007ad4:      469c            mov     ip, r3
- 8007ad6:      46a6            mov     lr, r4
- 8007ad8:      f84c 5d04       str.w   r5, [ip, #-4]!
- 8007adc:      e890 0fff       ldmia.w r0, {r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp}
- 8007ae0:      46e5            mov     sp, ip
- 8007ae2:      bd00            pop     {pc}
-
-08007ae4 <__gnu_Unwind_Restore_VFP>:
- 8007ae4:      ec90 0b21       fldmiax r0, {d0-d15}    ;@ Deprecated
- 8007ae8:      4770            bx      lr
- 8007aea:      bf00            nop
-
-08007aec <__gnu_Unwind_Save_VFP>:
- 8007aec:      ec80 0b21       fstmiax r0, {d0-d15}    ;@ Deprecated
- 8007af0:      4770            bx      lr
- 8007af2:      bf00            nop
-
-08007af4 <__gnu_Unwind_Restore_VFP_D>:
- 8007af4:      ec90 0b20       vldmia  r0, {d0-d15}
- 8007af8:      4770            bx      lr
- 8007afa:      bf00            nop
-
-08007afc <__gnu_Unwind_Save_VFP_D>:
- 8007afc:      ec80 0b20       vstmia  r0, {d0-d15}
- 8007b00:      4770            bx      lr
- 8007b02:      bf00            nop
-
-08007b04 <__gnu_Unwind_Restore_VFP_D_16_to_31>:
- 8007b04:      ecd0 0b20       vldmia  r0, {d16-d31}
- 8007b08:      4770            bx      lr
- 8007b0a:      bf00            nop
-
-08007b0c <__gnu_Unwind_Save_VFP_D_16_to_31>:
- 8007b0c:      ecc0 0b20       vstmia  r0, {d16-d31}
- 8007b10:      4770            bx      lr
- 8007b12:      bf00            nop
-
-08007b14 <__gnu_Unwind_Restore_WMMXD>:
- 8007b14:      ecf0 0102       ldfe    f0, [r0], #8
- 8007b18:      ecf0 1102       ldfe    f1, [r0], #8
- 8007b1c:      ecf0 2102       ldfe    f2, [r0], #8
- 8007b20:      ecf0 3102       ldfe    f3, [r0], #8
- 8007b24:      ecf0 4102       ldfe    f4, [r0], #8
- 8007b28:      ecf0 5102       ldfe    f5, [r0], #8
- 8007b2c:      ecf0 6102       ldfe    f6, [r0], #8
- 8007b30:      ecf0 7102       ldfe    f7, [r0], #8
- 8007b34:      ecf0 8102       ldfp    f0, [r0], #8
- 8007b38:      ecf0 9102       ldfp    f1, [r0], #8
- 8007b3c:      ecf0 a102       ldfp    f2, [r0], #8
- 8007b40:      ecf0 b102       ldfp    f3, [r0], #8
- 8007b44:      ecf0 c102       ldfp    f4, [r0], #8
- 8007b48:      ecf0 d102       ldfp    f5, [r0], #8
- 8007b4c:      ecf0 e102       ldfp    f6, [r0], #8
- 8007b50:      ecf0 f102       ldfp    f7, [r0], #8
- 8007b54:      4770            bx      lr
- 8007b56:      bf00            nop
-
-08007b58 <__gnu_Unwind_Save_WMMXD>:
- 8007b58:      ece0 0102       stfe    f0, [r0], #8
- 8007b5c:      ece0 1102       stfe    f1, [r0], #8
- 8007b60:      ece0 2102       stfe    f2, [r0], #8
- 8007b64:      ece0 3102       stfe    f3, [r0], #8
- 8007b68:      ece0 4102       stfe    f4, [r0], #8
- 8007b6c:      ece0 5102       stfe    f5, [r0], #8
- 8007b70:      ece0 6102       stfe    f6, [r0], #8
- 8007b74:      ece0 7102       stfe    f7, [r0], #8
- 8007b78:      ece0 8102       stfp    f0, [r0], #8
- 8007b7c:      ece0 9102       stfp    f1, [r0], #8
- 8007b80:      ece0 a102       stfp    f2, [r0], #8
- 8007b84:      ece0 b102       stfp    f3, [r0], #8
- 8007b88:      ece0 c102       stfp    f4, [r0], #8
- 8007b8c:      ece0 d102       stfp    f5, [r0], #8
- 8007b90:      ece0 e102       stfp    f6, [r0], #8
- 8007b94:      ece0 f102       stfp    f7, [r0], #8
- 8007b98:      4770            bx      lr
- 8007b9a:      bf00            nop
-
-08007b9c <__gnu_Unwind_Restore_WMMXC>:
- 8007b9c:      fcb0 8101       ldc2    1, cr8, [r0], #4
- 8007ba0:      fcb0 9101       ldc2    1, cr9, [r0], #4
- 8007ba4:      fcb0 a101       ldc2    1, cr10, [r0], #4
- 8007ba8:      fcb0 b101       ldc2    1, cr11, [r0], #4
- 8007bac:      4770            bx      lr
- 8007bae:      bf00            nop
-
-08007bb0 <__gnu_Unwind_Save_WMMXC>:
- 8007bb0:      fca0 8101       stc2    1, cr8, [r0], #4
- 8007bb4:      fca0 9101       stc2    1, cr9, [r0], #4
- 8007bb8:      fca0 a101       stc2    1, cr10, [r0], #4
- 8007bbc:      fca0 b101       stc2    1, cr11, [r0], #4
- 8007bc0:      4770            bx      lr
- 8007bc2:      bf00            nop
-
-08007bc4 <_Unwind_RaiseException>:
- 8007bc4:      46ec            mov     ip, sp
- 8007bc6:      b500            push    {lr}
- 8007bc8:      e92d 5000       stmdb   sp!, {ip, lr}
- 8007bcc:      e92d 1fff       stmdb   sp!, {r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, ip}
- 8007bd0:      f04f 0300       mov.w   r3, #0
- 8007bd4:      e92d 000c       stmdb   sp!, {r2, r3}
- 8007bd8:      a901            add     r1, sp, #4
- 8007bda:      f7ff fbdd       bl      8007398 <__gnu_Unwind_RaiseException>
- 8007bde:      f8dd e040       ldr.w   lr, [sp, #64]   ; 0x40
- 8007be2:      b012            add     sp, #72 ; 0x48
- 8007be4:      4770            bx      lr
- 8007be6:      bf00            nop
-
-08007be8 <_Unwind_Resume>:
- 8007be8:      46ec            mov     ip, sp
- 8007bea:      b500            push    {lr}
- 8007bec:      e92d 5000       stmdb   sp!, {ip, lr}
- 8007bf0:      e92d 1fff       stmdb   sp!, {r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, ip}
- 8007bf4:      f04f 0300       mov.w   r3, #0
- 8007bf8:      e92d 000c       stmdb   sp!, {r2, r3}
- 8007bfc:      a901            add     r1, sp, #4
- 8007bfe:      f7ff fc05       bl      800740c <__gnu_Unwind_Resume>
- 8007c02:      f8dd e040       ldr.w   lr, [sp, #64]   ; 0x40
- 8007c06:      b012            add     sp, #72 ; 0x48
- 8007c08:      4770            bx      lr
- 8007c0a:      bf00            nop
-
-08007c0c <_Unwind_Resume_or_Rethrow>:
- 8007c0c:      46ec            mov     ip, sp
- 8007c0e:      b500            push    {lr}
- 8007c10:      e92d 5000       stmdb   sp!, {ip, lr}
- 8007c14:      e92d 1fff       stmdb   sp!, {r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, ip}
- 8007c18:      f04f 0300       mov.w   r3, #0
- 8007c1c:      e92d 000c       stmdb   sp!, {r2, r3}
- 8007c20:      a901            add     r1, sp, #4
- 8007c22:      f7ff fc15       bl      8007450 <__gnu_Unwind_Resume_or_Rethrow>
- 8007c26:      f8dd e040       ldr.w   lr, [sp, #64]   ; 0x40
- 8007c2a:      b012            add     sp, #72 ; 0x48
- 8007c2c:      4770            bx      lr
- 8007c2e:      bf00            nop
-
-08007c30 <_Unwind_ForcedUnwind>:
- 8007c30:      46ec            mov     ip, sp
- 8007c32:      b500            push    {lr}
- 8007c34:      e92d 5000       stmdb   sp!, {ip, lr}
- 8007c38:      e92d 1fff       stmdb   sp!, {r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, ip}
- 8007c3c:      f04f 0300       mov.w   r3, #0
- 8007c40:      e92d 000c       stmdb   sp!, {r2, r3}
- 8007c44:      ab01            add     r3, sp, #4
- 8007c46:      f7ff fbd7       bl      80073f8 <__gnu_Unwind_ForcedUnwind>
- 8007c4a:      f8dd e040       ldr.w   lr, [sp, #64]   ; 0x40
- 8007c4e:      b012            add     sp, #72 ; 0x48
- 8007c50:      4770            bx      lr
- 8007c52:      bf00            nop
-
-08007c54 <_Unwind_Backtrace>:
- 8007c54:      46ec            mov     ip, sp
- 8007c56:      b500            push    {lr}
- 8007c58:      e92d 5000       stmdb   sp!, {ip, lr}
- 8007c5c:      e92d 1fff       stmdb   sp!, {r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, ip}
- 8007c60:      f04f 0300       mov.w   r3, #0
- 8007c64:      e92d 000c       stmdb   sp!, {r2, r3}
- 8007c68:      aa01            add     r2, sp, #4
- 8007c6a:      f7ff fc47       bl      80074fc <__gnu_Unwind_Backtrace>
- 8007c6e:      f8dd e040       ldr.w   lr, [sp, #64]   ; 0x40
- 8007c72:      b012            add     sp, #72 ; 0x48
- 8007c74:      4770            bx      lr
- 8007c76:      bf00            nop
-
-08007c78 <next_unwind_byte>:
- 8007c78:      7a02            ldrb    r2, [r0, #8]
- 8007c7a:      b982            cbnz    r2, 8007c9e <next_unwind_byte+0x26>
- 8007c7c:      7a43            ldrb    r3, [r0, #9]
- 8007c7e:      b1ab            cbz     r3, 8007cac <next_unwind_byte+0x34>
- 8007c80:      6842            ldr     r2, [r0, #4]
- 8007c82:      3b01            subs    r3, #1
- 8007c84:      b410            push    {r4}
- 8007c86:      7243            strb    r3, [r0, #9]
- 8007c88:      6813            ldr     r3, [r2, #0]
- 8007c8a:      2103            movs    r1, #3
- 8007c8c:      1d14            adds    r4, r2, #4
- 8007c8e:      7201            strb    r1, [r0, #8]
- 8007c90:      021a            lsls    r2, r3, #8
- 8007c92:      6044            str     r4, [r0, #4]
- 8007c94:      6002            str     r2, [r0, #0]
- 8007c96:      f85d 4b04       ldr.w   r4, [sp], #4
- 8007c9a:      0e18            lsrs    r0, r3, #24
- 8007c9c:      4770            bx      lr
- 8007c9e:      6803            ldr     r3, [r0, #0]
- 8007ca0:      3a01            subs    r2, #1
- 8007ca2:      7202            strb    r2, [r0, #8]
- 8007ca4:      021a            lsls    r2, r3, #8
- 8007ca6:      6002            str     r2, [r0, #0]
- 8007ca8:      0e18            lsrs    r0, r3, #24
- 8007caa:      4770            bx      lr
- 8007cac:      20b0            movs    r0, #176        ; 0xb0
- 8007cae:      4770            bx      lr
-
-08007cb0 <_Unwind_GetGR.constprop.0>:
- 8007cb0:      b500            push    {lr}
- 8007cb2:      b085            sub     sp, #20
- 8007cb4:      aa03            add     r2, sp, #12
- 8007cb6:      2300            movs    r3, #0
- 8007cb8:      9200            str     r2, [sp, #0]
- 8007cba:      4619            mov     r1, r3
- 8007cbc:      220c            movs    r2, #12
- 8007cbe:      f7ff fbd7       bl      8007470 <_Unwind_VRS_Get>
- 8007cc2:      9803            ldr     r0, [sp, #12]
- 8007cc4:      b005            add     sp, #20
- 8007cc6:      f85d fb04       ldr.w   pc, [sp], #4
- 8007cca:      bf00            nop
-
-08007ccc <unwind_UCB_from_context>:
- 8007ccc:      e7f0            b.n     8007cb0 <_Unwind_GetGR.constprop.0>
- 8007cce:      bf00            nop
-
-08007cd0 <__gnu_unwind_execute>:
- 8007cd0:      e92d 43f0       stmdb   sp!, {r4, r5, r6, r7, r8, r9, lr}
- 8007cd4:      4605            mov     r5, r0
- 8007cd6:      b085            sub     sp, #20
- 8007cd8:      460e            mov     r6, r1
- 8007cda:      f04f 0800       mov.w   r8, #0
- 8007cde:      4630            mov     r0, r6
- 8007ce0:      f7ff ffca       bl      8007c78 <next_unwind_byte>
- 8007ce4:      28b0            cmp     r0, #176        ; 0xb0
- 8007ce6:      4604            mov     r4, r0
- 8007ce8:      f000 80b1       beq.w   8007e4e <__gnu_unwind_execute+0x17e>
- 8007cec:      0607            lsls    r7, r0, #24
- 8007cee:      d520            bpl.n   8007d32 <__gnu_unwind_execute+0x62>
- 8007cf0:      f000 03f0       and.w   r3, r0, #240    ; 0xf0
- 8007cf4:      2b80            cmp     r3, #128        ; 0x80
- 8007cf6:      d065            beq.n   8007dc4 <__gnu_unwind_execute+0xf4>
- 8007cf8:      2b90            cmp     r3, #144        ; 0x90
- 8007cfa:      d036            beq.n   8007d6a <__gnu_unwind_execute+0x9a>
- 8007cfc:      2ba0            cmp     r3, #160        ; 0xa0
- 8007cfe:      d078            beq.n   8007df2 <__gnu_unwind_execute+0x122>
- 8007d00:      2bb0            cmp     r3, #176        ; 0xb0
- 8007d02:      d047            beq.n   8007d94 <__gnu_unwind_execute+0xc4>
- 8007d04:      2bc0            cmp     r3, #192        ; 0xc0
- 8007d06:      f000 808a       beq.w   8007e1e <__gnu_unwind_execute+0x14e>
- 8007d0a:      f000 03f8       and.w   r3, r0, #248    ; 0xf8
- 8007d0e:      2bd0            cmp     r3, #208        ; 0xd0
- 8007d10:      d10b            bne.n   8007d2a <__gnu_unwind_execute+0x5a>
- 8007d12:      f000 0207       and.w   r2, r0, #7
- 8007d16:      3201            adds    r2, #1
- 8007d18:      f442 2200       orr.w   r2, r2, #524288 ; 0x80000
- 8007d1c:      2305            movs    r3, #5
- 8007d1e:      2101            movs    r1, #1
- 8007d20:      4628            mov     r0, r5
- 8007d22:      f7ff fd93       bl      800784c <_Unwind_VRS_Pop>
- 8007d26:      2800            cmp     r0, #0
- 8007d28:      d0d9            beq.n   8007cde <__gnu_unwind_execute+0xe>
- 8007d2a:      2009            movs    r0, #9
- 8007d2c:      b005            add     sp, #20
- 8007d2e:      e8bd 83f0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc}
- 8007d32:      f10d 090c       add.w   r9, sp, #12
- 8007d36:      2300            movs    r3, #0
- 8007d38:      4619            mov     r1, r3
- 8007d3a:      0087            lsls    r7, r0, #2
- 8007d3c:      f8cd 9000       str.w   r9, [sp]
- 8007d40:      220d            movs    r2, #13
- 8007d42:      4628            mov     r0, r5
- 8007d44:      f7ff fb94       bl      8007470 <_Unwind_VRS_Get>
- 8007d48:      b2ff            uxtb    r7, r7
- 8007d4a:      9b03            ldr     r3, [sp, #12]
- 8007d4c:      f8cd 9000       str.w   r9, [sp]
- 8007d50:      3704            adds    r7, #4
- 8007d52:      0660            lsls    r0, r4, #25
- 8007d54:      bf4c            ite     mi
- 8007d56:      1bdf            submi   r7, r3, r7
- 8007d58:      18ff            addpl   r7, r7, r3
- 8007d5a:      2300            movs    r3, #0
- 8007d5c:      4619            mov     r1, r3
- 8007d5e:      220d            movs    r2, #13
- 8007d60:      4628            mov     r0, r5
- 8007d62:      9703            str     r7, [sp, #12]
- 8007d64:      f7ff fba6       bl      80074b4 <_Unwind_VRS_Set>
- 8007d68:      e7b9            b.n     8007cde <__gnu_unwind_execute+0xe>
- 8007d6a:      f000 030d       and.w   r3, r0, #13
- 8007d6e:      2b0d            cmp     r3, #13
- 8007d70:      d0db            beq.n   8007d2a <__gnu_unwind_execute+0x5a>
- 8007d72:      af03            add     r7, sp, #12
- 8007d74:      2300            movs    r3, #0
- 8007d76:      f000 020f       and.w   r2, r0, #15
- 8007d7a:      4619            mov     r1, r3
- 8007d7c:      9700            str     r7, [sp, #0]
- 8007d7e:      4628            mov     r0, r5
- 8007d80:      f7ff fb76       bl      8007470 <_Unwind_VRS_Get>
- 8007d84:      2300            movs    r3, #0
- 8007d86:      9700            str     r7, [sp, #0]
- 8007d88:      4619            mov     r1, r3
- 8007d8a:      220d            movs    r2, #13
- 8007d8c:      4628            mov     r0, r5
- 8007d8e:      f7ff fb91       bl      80074b4 <_Unwind_VRS_Set>
- 8007d92:      e7a4            b.n     8007cde <__gnu_unwind_execute+0xe>
- 8007d94:      28b1            cmp     r0, #177        ; 0xb1
- 8007d96:      d05f            beq.n   8007e58 <__gnu_unwind_execute+0x188>
- 8007d98:      28b2            cmp     r0, #178        ; 0xb2
- 8007d9a:      f000 80cc       beq.w   8007f36 <__gnu_unwind_execute+0x266>
- 8007d9e:      28b3            cmp     r0, #179        ; 0xb3
- 8007da0:      d07e            beq.n   8007ea0 <__gnu_unwind_execute+0x1d0>
- 8007da2:      f000 03fc       and.w   r3, r0, #252    ; 0xfc
- 8007da6:      2bb4            cmp     r3, #180        ; 0xb4
- 8007da8:      d0bf            beq.n   8007d2a <__gnu_unwind_execute+0x5a>
- 8007daa:      f000 0207       and.w   r2, r0, #7
- 8007dae:      3201            adds    r2, #1
- 8007db0:      2301            movs    r3, #1
- 8007db2:      f442 2200       orr.w   r2, r2, #524288 ; 0x80000
- 8007db6:      4619            mov     r1, r3
- 8007db8:      4628            mov     r0, r5
- 8007dba:      f7ff fd47       bl      800784c <_Unwind_VRS_Pop>
- 8007dbe:      2800            cmp     r0, #0
- 8007dc0:      d08d            beq.n   8007cde <__gnu_unwind_execute+0xe>
- 8007dc2:      e7b2            b.n     8007d2a <__gnu_unwind_execute+0x5a>
- 8007dc4:      4630            mov     r0, r6
- 8007dc6:      f7ff ff57       bl      8007c78 <next_unwind_byte>
- 8007dca:      0224            lsls    r4, r4, #8
- 8007dcc:      4304            orrs    r4, r0
- 8007dce:      f5b4 4f00       cmp.w   r4, #32768      ; 0x8000
- 8007dd2:      d0aa            beq.n   8007d2a <__gnu_unwind_execute+0x5a>
- 8007dd4:      0124            lsls    r4, r4, #4
- 8007dd6:      2300            movs    r3, #0
- 8007dd8:      b2a2            uxth    r2, r4
- 8007dda:      4619            mov     r1, r3
- 8007ddc:      4628            mov     r0, r5
- 8007dde:      f7ff fd35       bl      800784c <_Unwind_VRS_Pop>
- 8007de2:      2800            cmp     r0, #0
- 8007de4:      d1a1            bne.n   8007d2a <__gnu_unwind_execute+0x5a>
- 8007de6:      f414 4f00       tst.w   r4, #32768      ; 0x8000
- 8007dea:      bf18            it      ne
- 8007dec:      f04f 0801       movne.w r8, #1
- 8007df0:      e775            b.n     8007cde <__gnu_unwind_execute+0xe>
- 8007df2:      43c2            mvns    r2, r0
- 8007df4:      f002 0307       and.w   r3, r2, #7
- 8007df8:      f44f 627f       mov.w   r2, #4080       ; 0xff0
- 8007dfc:      411a            asrs    r2, r3
- 8007dfe:      0701            lsls    r1, r0, #28
- 8007e00:      f402 627f       and.w   r2, r2, #4080   ; 0xff0
- 8007e04:      f04f 0300       mov.w   r3, #0
- 8007e08:      bf48            it      mi
- 8007e0a:      f442 4280       orrmi.w r2, r2, #16384  ; 0x4000
- 8007e0e:      4619            mov     r1, r3
- 8007e10:      4628            mov     r0, r5
- 8007e12:      f7ff fd1b       bl      800784c <_Unwind_VRS_Pop>
- 8007e16:      2800            cmp     r0, #0
- 8007e18:      f43f af61       beq.w   8007cde <__gnu_unwind_execute+0xe>
- 8007e1c:      e785            b.n     8007d2a <__gnu_unwind_execute+0x5a>
- 8007e1e:      28c6            cmp     r0, #198        ; 0xc6
- 8007e20:      d051            beq.n   8007ec6 <__gnu_unwind_execute+0x1f6>
- 8007e22:      28c7            cmp     r0, #199        ; 0xc7
- 8007e24:      d05a            beq.n   8007edc <__gnu_unwind_execute+0x20c>
- 8007e26:      f000 03f8       and.w   r3, r0, #248    ; 0xf8
- 8007e2a:      2bc0            cmp     r3, #192        ; 0xc0
- 8007e2c:      d069            beq.n   8007f02 <__gnu_unwind_execute+0x232>
- 8007e2e:      28c8            cmp     r0, #200        ; 0xc8
- 8007e30:      d075            beq.n   8007f1e <__gnu_unwind_execute+0x24e>
- 8007e32:      28c9            cmp     r0, #201        ; 0xc9
- 8007e34:      f47f af79       bne.w   8007d2a <__gnu_unwind_execute+0x5a>
- 8007e38:      4630            mov     r0, r6
- 8007e3a:      f7ff ff1d       bl      8007c78 <next_unwind_byte>
- 8007e3e:      0302            lsls    r2, r0, #12
- 8007e40:      f000 000f       and.w   r0, r0, #15
- 8007e44:      f402 2270       and.w   r2, r2, #983040 ; 0xf0000
- 8007e48:      3001            adds    r0, #1
- 8007e4a:      4302            orrs    r2, r0
- 8007e4c:      e766            b.n     8007d1c <__gnu_unwind_execute+0x4c>
- 8007e4e:      f1b8 0f00       cmp.w   r8, #0
- 8007e52:      d014            beq.n   8007e7e <__gnu_unwind_execute+0x1ae>
- 8007e54:      2000            movs    r0, #0
- 8007e56:      e769            b.n     8007d2c <__gnu_unwind_execute+0x5c>
- 8007e58:      4630            mov     r0, r6
- 8007e5a:      f7ff ff0d       bl      8007c78 <next_unwind_byte>
- 8007e5e:      2800            cmp     r0, #0
- 8007e60:      f43f af63       beq.w   8007d2a <__gnu_unwind_execute+0x5a>
- 8007e64:      f010 03f0       ands.w  r3, r0, #240    ; 0xf0
- 8007e68:      f47f af5f       bne.w   8007d2a <__gnu_unwind_execute+0x5a>
- 8007e6c:      4602            mov     r2, r0
- 8007e6e:      4619            mov     r1, r3
- 8007e70:      4628            mov     r0, r5
- 8007e72:      f7ff fceb       bl      800784c <_Unwind_VRS_Pop>
- 8007e76:      2800            cmp     r0, #0
- 8007e78:      f43f af31       beq.w   8007cde <__gnu_unwind_execute+0xe>
- 8007e7c:      e755            b.n     8007d2a <__gnu_unwind_execute+0x5a>
- 8007e7e:      ac03            add     r4, sp, #12
- 8007e80:      4643            mov     r3, r8
- 8007e82:      220e            movs    r2, #14
- 8007e84:      4641            mov     r1, r8
- 8007e86:      9400            str     r4, [sp, #0]
- 8007e88:      4628            mov     r0, r5
- 8007e8a:      f7ff faf1       bl      8007470 <_Unwind_VRS_Get>
- 8007e8e:      9400            str     r4, [sp, #0]
- 8007e90:      4628            mov     r0, r5
- 8007e92:      4643            mov     r3, r8
- 8007e94:      220f            movs    r2, #15
- 8007e96:      4641            mov     r1, r8
- 8007e98:      f7ff fb0c       bl      80074b4 <_Unwind_VRS_Set>
- 8007e9c:      4640            mov     r0, r8
- 8007e9e:      e745            b.n     8007d2c <__gnu_unwind_execute+0x5c>
- 8007ea0:      4630            mov     r0, r6
- 8007ea2:      f7ff fee9       bl      8007c78 <next_unwind_byte>
- 8007ea6:      0301            lsls    r1, r0, #12
- 8007ea8:      f000 000f       and.w   r0, r0, #15
- 8007eac:      f401 2170       and.w   r1, r1, #983040 ; 0xf0000
- 8007eb0:      1c42            adds    r2, r0, #1
- 8007eb2:      2301            movs    r3, #1
- 8007eb4:      430a            orrs    r2, r1
- 8007eb6:      4628            mov     r0, r5
- 8007eb8:      4619            mov     r1, r3
- 8007eba:      f7ff fcc7       bl      800784c <_Unwind_VRS_Pop>
- 8007ebe:      2800            cmp     r0, #0
- 8007ec0:      f43f af0d       beq.w   8007cde <__gnu_unwind_execute+0xe>
- 8007ec4:      e731            b.n     8007d2a <__gnu_unwind_execute+0x5a>
- 8007ec6:      4630            mov     r0, r6
- 8007ec8:      f7ff fed6       bl      8007c78 <next_unwind_byte>
- 8007ecc:      0301            lsls    r1, r0, #12
- 8007ece:      f000 000f       and.w   r0, r0, #15
- 8007ed2:      f401 2170       and.w   r1, r1, #983040 ; 0xf0000
- 8007ed6:      1c42            adds    r2, r0, #1
- 8007ed8:      2303            movs    r3, #3
- 8007eda:      e7eb            b.n     8007eb4 <__gnu_unwind_execute+0x1e4>
- 8007edc:      4630            mov     r0, r6
- 8007ede:      f7ff fecb       bl      8007c78 <next_unwind_byte>
- 8007ee2:      4602            mov     r2, r0
- 8007ee4:      2800            cmp     r0, #0
- 8007ee6:      f43f af20       beq.w   8007d2a <__gnu_unwind_execute+0x5a>
- 8007eea:      f010 03f0       ands.w  r3, r0, #240    ; 0xf0
- 8007eee:      f47f af1c       bne.w   8007d2a <__gnu_unwind_execute+0x5a>
- 8007ef2:      2104            movs    r1, #4
- 8007ef4:      4628            mov     r0, r5
- 8007ef6:      f7ff fca9       bl      800784c <_Unwind_VRS_Pop>
- 8007efa:      2800            cmp     r0, #0
- 8007efc:      f43f aeef       beq.w   8007cde <__gnu_unwind_execute+0xe>
- 8007f00:      e713            b.n     8007d2a <__gnu_unwind_execute+0x5a>
- 8007f02:      f000 020f       and.w   r2, r0, #15
- 8007f06:      3201            adds    r2, #1
- 8007f08:      2303            movs    r3, #3
- 8007f0a:      f442 2220       orr.w   r2, r2, #655360 ; 0xa0000
- 8007f0e:      4619            mov     r1, r3
- 8007f10:      4628            mov     r0, r5
- 8007f12:      f7ff fc9b       bl      800784c <_Unwind_VRS_Pop>
- 8007f16:      2800            cmp     r0, #0
- 8007f18:      f43f aee1       beq.w   8007cde <__gnu_unwind_execute+0xe>
- 8007f1c:      e705            b.n     8007d2a <__gnu_unwind_execute+0x5a>
- 8007f1e:      4630            mov     r0, r6
- 8007f20:      f7ff feaa       bl      8007c78 <next_unwind_byte>
- 8007f24:      f000 02f0       and.w   r2, r0, #240    ; 0xf0
- 8007f28:      f000 030f       and.w   r3, r0, #15
- 8007f2c:      3210            adds    r2, #16
- 8007f2e:      3301            adds    r3, #1
- 8007f30:      ea43 3202       orr.w   r2, r3, r2, lsl #12
- 8007f34:      e6f2            b.n     8007d1c <__gnu_unwind_execute+0x4c>
- 8007f36:      2300            movs    r3, #0
- 8007f38:      f10d 090c       add.w   r9, sp, #12
- 8007f3c:      220d            movs    r2, #13
- 8007f3e:      4619            mov     r1, r3
- 8007f40:      f8cd 9000       str.w   r9, [sp]
- 8007f44:      4628            mov     r0, r5
- 8007f46:      f7ff fa93       bl      8007470 <_Unwind_VRS_Get>
- 8007f4a:      4630            mov     r0, r6
- 8007f4c:      f7ff fe94       bl      8007c78 <next_unwind_byte>
- 8007f50:      0602            lsls    r2, r0, #24
- 8007f52:      f04f 0702       mov.w   r7, #2
- 8007f56:      d50c            bpl.n   8007f72 <__gnu_unwind_execute+0x2a2>
- 8007f58:      9b03            ldr     r3, [sp, #12]
- 8007f5a:      f000 007f       and.w   r0, r0, #127    ; 0x7f
- 8007f5e:      40b8            lsls    r0, r7
- 8007f60:      4403            add     r3, r0
- 8007f62:      4630            mov     r0, r6
- 8007f64:      9303            str     r3, [sp, #12]
- 8007f66:      f7ff fe87       bl      8007c78 <next_unwind_byte>
- 8007f6a:      0603            lsls    r3, r0, #24
- 8007f6c:      f107 0707       add.w   r7, r7, #7
- 8007f70:      d4f2            bmi.n   8007f58 <__gnu_unwind_execute+0x288>
- 8007f72:      9b03            ldr     r3, [sp, #12]
- 8007f74:      f8cd 9000       str.w   r9, [sp]
- 8007f78:      f000 047f       and.w   r4, r0, #127    ; 0x7f
- 8007f7c:      f503 7201       add.w   r2, r3, #516    ; 0x204
- 8007f80:      40bc            lsls    r4, r7
- 8007f82:      2300            movs    r3, #0
- 8007f84:      4414            add     r4, r2
- 8007f86:      4619            mov     r1, r3
- 8007f88:      220d            movs    r2, #13
- 8007f8a:      4628            mov     r0, r5
- 8007f8c:      9403            str     r4, [sp, #12]
- 8007f8e:      f7ff fa91       bl      80074b4 <_Unwind_VRS_Set>
- 8007f92:      e6a4            b.n     8007cde <__gnu_unwind_execute+0xe>
-
-08007f94 <__gnu_unwind_frame>:
- 8007f94:      b510            push    {r4, lr}
- 8007f96:      6cc3            ldr     r3, [r0, #76]   ; 0x4c
- 8007f98:      b084            sub     sp, #16
- 8007f9a:      685a            ldr     r2, [r3, #4]
- 8007f9c:      2003            movs    r0, #3
- 8007f9e:      f88d 000c       strb.w  r0, [sp, #12]
- 8007fa2:      79dc            ldrb    r4, [r3, #7]
- 8007fa4:      f88d 400d       strb.w  r4, [sp, #13]
- 8007fa8:      0212            lsls    r2, r2, #8
- 8007faa:      3308            adds    r3, #8
- 8007fac:      4608            mov     r0, r1
- 8007fae:      a901            add     r1, sp, #4
- 8007fb0:      9201            str     r2, [sp, #4]
- 8007fb2:      9302            str     r3, [sp, #8]
- 8007fb4:      f7ff fe8c       bl      8007cd0 <__gnu_unwind_execute>
- 8007fb8:      b004            add     sp, #16
- 8007fba:      bd10            pop     {r4, pc}
-
-08007fbc <_Unwind_GetRegionStart>:
- 8007fbc:      b508            push    {r3, lr}
- 8007fbe:      f7ff fe85       bl      8007ccc <unwind_UCB_from_context>
- 8007fc2:      6c80            ldr     r0, [r0, #72]   ; 0x48
- 8007fc4:      bd08            pop     {r3, pc}
- 8007fc6:      bf00            nop
-
-08007fc8 <_Unwind_GetLanguageSpecificData>:
- 8007fc8:      b508            push    {r3, lr}
- 8007fca:      f7ff fe7f       bl      8007ccc <unwind_UCB_from_context>
- 8007fce:      6cc0            ldr     r0, [r0, #76]   ; 0x4c
- 8007fd0:      79c3            ldrb    r3, [r0, #7]
- 8007fd2:      eb00 0083       add.w   r0, r0, r3, lsl #2
- 8007fd6:      3008            adds    r0, #8
- 8007fd8:      bd08            pop     {r3, pc}
- 8007fda:      bf00            nop
-
-08007fdc <_Unwind_GetDataRelBase>:
- 8007fdc:      b508            push    {r3, lr}
- 8007fde:      f005 fd2b       bl      800da38 <abort>
- 8007fe2:      bf00            nop
-
-08007fe4 <_Unwind_GetTextRelBase>:
- 8007fe4:      b508            push    {r3, lr}
- 8007fe6:      f7ff fff9       bl      8007fdc <_Unwind_GetDataRelBase>
- 8007fea:      bf00            nop
-
-08007fec <__aeabi_idiv0>:
- 8007fec:      4770            bx      lr
- 8007fee:      bf00            nop
-
-08007ff0 <HAL_Init>:
-  *         need to ensure that the SysTick time base is always set to 1 millisecond
-  *         to have correct HAL operation.
-  * @retval HAL status
-  */
-HAL_StatusTypeDef HAL_Init(void)
-{
- 8007ff0:      b580            push    {r7, lr}
- 8007ff2:      af00            add     r7, sp, #0
-#if (PREFETCH_ENABLE != 0U)
-  __HAL_FLASH_PREFETCH_BUFFER_ENABLE();
-#endif /* PREFETCH_ENABLE */
-
-  /* Set Interrupt Group Priority */
-  HAL_NVIC_SetPriorityGrouping(NVIC_PRIORITYGROUP_4);
- 8007ff4:      2003            movs    r0, #3
- 8007ff6:      f000 f92d       bl      8008254 <HAL_NVIC_SetPriorityGrouping>
-
-  /* Use systick as time base source and configure 1ms tick (default clock after Reset is HSI) */
-  HAL_InitTick(TICK_INT_PRIORITY);
- 8007ffa:      2000            movs    r0, #0
- 8007ffc:      f000 f806       bl      800800c <HAL_InitTick>
-  
-  /* Init the low level hardware */
-  HAL_MspInit();
- 8008000:      f004 fab8       bl      800c574 <HAL_MspInit>
-  
-  /* Return function status */
-  return HAL_OK;
- 8008004:      2300            movs    r3, #0
-}
- 8008006:      4618            mov     r0, r3
- 8008008:      bd80            pop     {r7, pc}
-       ...
-
-0800800c <HAL_InitTick>:
-  *       implementation  in user file.
-  * @param TickPriority Tick interrupt priority.
-  * @retval HAL status
-  */
-__weak HAL_StatusTypeDef HAL_InitTick(uint32_t TickPriority)
-{
- 800800c:      b580            push    {r7, lr}
- 800800e:      b082            sub     sp, #8
- 8008010:      af00            add     r7, sp, #0
- 8008012:      6078            str     r0, [r7, #4]
-  /* Configure the SysTick to have interrupt in 1ms time basis*/
-  if (HAL_SYSTICK_Config(SystemCoreClock / (1000U / uwTickFreq)) > 0U)
- 8008014:      4b12            ldr     r3, [pc, #72]   ; (8008060 <HAL_InitTick+0x54>)
- 8008016:      681a            ldr     r2, [r3, #0]
- 8008018:      4b12            ldr     r3, [pc, #72]   ; (8008064 <HAL_InitTick+0x58>)
- 800801a:      781b            ldrb    r3, [r3, #0]
- 800801c:      4619            mov     r1, r3
- 800801e:      f44f 737a       mov.w   r3, #1000       ; 0x3e8
- 8008022:      fbb3 f3f1       udiv    r3, r3, r1
- 8008026:      fbb2 f3f3       udiv    r3, r2, r3
- 800802a:      4618            mov     r0, r3
- 800802c:      f000 f939       bl      80082a2 <HAL_SYSTICK_Config>
- 8008030:      4603            mov     r3, r0
- 8008032:      2b00            cmp     r3, #0
- 8008034:      d001            beq.n   800803a <HAL_InitTick+0x2e>
-  {
-    return HAL_ERROR;
- 8008036:      2301            movs    r3, #1
- 8008038:      e00e            b.n     8008058 <HAL_InitTick+0x4c>
-  }
-
-  /* Configure the SysTick IRQ priority */
-  if (TickPriority < (1UL << __NVIC_PRIO_BITS))
- 800803a:      687b            ldr     r3, [r7, #4]
- 800803c:      2b0f            cmp     r3, #15
- 800803e:      d80a            bhi.n   8008056 <HAL_InitTick+0x4a>
-  {
-    HAL_NVIC_SetPriority(SysTick_IRQn, TickPriority, 0U);
- 8008040:      2200            movs    r2, #0
- 8008042:      6879            ldr     r1, [r7, #4]
- 8008044:      f04f 30ff       mov.w   r0, #4294967295 ; 0xffffffff
- 8008048:      f000 f90f       bl      800826a <HAL_NVIC_SetPriority>
-    uwTickPrio = TickPriority;
- 800804c:      4a06            ldr     r2, [pc, #24]   ; (8008068 <HAL_InitTick+0x5c>)
- 800804e:      687b            ldr     r3, [r7, #4]
- 8008050:      6013            str     r3, [r2, #0]
-  {
-    return HAL_ERROR;
-  }
-
-  /* Return function status */
-  return HAL_OK;
- 8008052:      2300            movs    r3, #0
- 8008054:      e000            b.n     8008058 <HAL_InitTick+0x4c>
-    return HAL_ERROR;
- 8008056:      2301            movs    r3, #1
-}
- 8008058:      4618            mov     r0, r3
- 800805a:      3708            adds    r7, #8
- 800805c:      46bd            mov     sp, r7
- 800805e:      bd80            pop     {r7, pc}
- 8008060:      20000008        .word   0x20000008
- 8008064:      20000004        .word   0x20000004
- 8008068:      20000000        .word   0x20000000
-
-0800806c <HAL_IncTick>:
- * @note This function is declared as __weak to be overwritten in case of other 
-  *      implementations in user file.
-  * @retval None
-  */
-__weak void HAL_IncTick(void)
-{
- 800806c:      b480            push    {r7}
- 800806e:      af00            add     r7, sp, #0
-  uwTick += uwTickFreq;
- 8008070:      4b06            ldr     r3, [pc, #24]   ; (800808c <HAL_IncTick+0x20>)
- 8008072:      781b            ldrb    r3, [r3, #0]
- 8008074:      461a            mov     r2, r3
- 8008076:      4b06            ldr     r3, [pc, #24]   ; (8008090 <HAL_IncTick+0x24>)
- 8008078:      681b            ldr     r3, [r3, #0]
- 800807a:      4413            add     r3, r2
- 800807c:      4a04            ldr     r2, [pc, #16]   ; (8008090 <HAL_IncTick+0x24>)
- 800807e:      6013            str     r3, [r2, #0]
-}
- 8008080:      bf00            nop
- 8008082:      46bd            mov     sp, r7
- 8008084:      f85d 7b04       ldr.w   r7, [sp], #4
- 8008088:      4770            bx      lr
- 800808a:      bf00            nop
- 800808c:      20000004        .word   0x20000004
- 8008090:      20000af8        .word   0x20000af8
-
-08008094 <HAL_GetTick>:
-  * @note This function is declared as __weak to be overwritten in case of other 
-  *       implementations in user file.
-  * @retval tick value
-  */
-__weak uint32_t HAL_GetTick(void)
-{
- 8008094:      b480            push    {r7}
- 8008096:      af00            add     r7, sp, #0
-  return uwTick;
- 8008098:      4b03            ldr     r3, [pc, #12]   ; (80080a8 <HAL_GetTick+0x14>)
- 800809a:      681b            ldr     r3, [r3, #0]
-}
- 800809c:      4618            mov     r0, r3
- 800809e:      46bd            mov     sp, r7
- 80080a0:      f85d 7b04       ldr.w   r7, [sp], #4
- 80080a4:      4770            bx      lr
- 80080a6:      bf00            nop
- 80080a8:      20000af8        .word   0x20000af8
-
-080080ac <HAL_Delay>:
-  *       implementations in user file.
-  * @param Delay  specifies the delay time length, in milliseconds.
-  * @retval None
-  */
-__weak void HAL_Delay(uint32_t Delay)
-{
- 80080ac:      b580            push    {r7, lr}
- 80080ae:      b084            sub     sp, #16
- 80080b0:      af00            add     r7, sp, #0
- 80080b2:      6078            str     r0, [r7, #4]
-  uint32_t tickstart = HAL_GetTick();
- 80080b4:      f7ff ffee       bl      8008094 <HAL_GetTick>
- 80080b8:      60b8            str     r0, [r7, #8]
-  uint32_t wait = Delay;
- 80080ba:      687b            ldr     r3, [r7, #4]
- 80080bc:      60fb            str     r3, [r7, #12]
-
-  /* Add a freq to guarantee minimum wait */
-  if (wait < HAL_MAX_DELAY)
- 80080be:      68fb            ldr     r3, [r7, #12]
- 80080c0:      f1b3 3fff       cmp.w   r3, #4294967295 ; 0xffffffff
- 80080c4:      d005            beq.n   80080d2 <HAL_Delay+0x26>
-  {
-    wait += (uint32_t)(uwTickFreq);
- 80080c6:      4b09            ldr     r3, [pc, #36]   ; (80080ec <HAL_Delay+0x40>)
- 80080c8:      781b            ldrb    r3, [r3, #0]
- 80080ca:      461a            mov     r2, r3
- 80080cc:      68fb            ldr     r3, [r7, #12]
- 80080ce:      4413            add     r3, r2
- 80080d0:      60fb            str     r3, [r7, #12]
-  }
-
-  while ((HAL_GetTick() - tickstart) < wait)
- 80080d2:      bf00            nop
- 80080d4:      f7ff ffde       bl      8008094 <HAL_GetTick>
- 80080d8:      4602            mov     r2, r0
- 80080da:      68bb            ldr     r3, [r7, #8]
- 80080dc:      1ad3            subs    r3, r2, r3
- 80080de:      68fa            ldr     r2, [r7, #12]
- 80080e0:      429a            cmp     r2, r3
- 80080e2:      d8f7            bhi.n   80080d4 <HAL_Delay+0x28>
-  {
-  }
-}
- 80080e4:      bf00            nop
- 80080e6:      3710            adds    r7, #16
- 80080e8:      46bd            mov     sp, r7
- 80080ea:      bd80            pop     {r7, pc}
- 80080ec:      20000004        .word   0x20000004
-
-080080f0 <__NVIC_SetPriorityGrouping>:
-           In case of a conflict between priority grouping and available
-           priority bits (__NVIC_PRIO_BITS), the smallest possible priority group is set.
-  \param [in]      PriorityGroup  Priority grouping field.
- */
-__STATIC_INLINE void __NVIC_SetPriorityGrouping(uint32_t PriorityGroup)
-{
- 80080f0:      b480            push    {r7}
- 80080f2:      b085            sub     sp, #20
- 80080f4:      af00            add     r7, sp, #0
- 80080f6:      6078            str     r0, [r7, #4]
-  uint32_t reg_value;
-  uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL);             /* only values 0..7 are used          */
- 80080f8:      687b            ldr     r3, [r7, #4]
- 80080fa:      f003 0307       and.w   r3, r3, #7
- 80080fe:      60fb            str     r3, [r7, #12]
-
-  reg_value  =  SCB->AIRCR;                                                   /* read old register configuration    */
- 8008100:      4b0b            ldr     r3, [pc, #44]   ; (8008130 <__NVIC_SetPriorityGrouping+0x40>)
- 8008102:      68db            ldr     r3, [r3, #12]
- 8008104:      60bb            str     r3, [r7, #8]
-  reg_value &= ~((uint32_t)(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_PRIGROUP_Msk)); /* clear bits to change               */
- 8008106:      68ba            ldr     r2, [r7, #8]
- 8008108:      f64f 03ff       movw    r3, #63743      ; 0xf8ff
- 800810c:      4013            ands    r3, r2
- 800810e:      60bb            str     r3, [r7, #8]
-  reg_value  =  (reg_value                                   |
-                ((uint32_t)0x5FAUL << SCB_AIRCR_VECTKEY_Pos) |
-                (PriorityGroupTmp << SCB_AIRCR_PRIGROUP_Pos)  );              /* Insert write key and priority group */
- 8008110:      68fb            ldr     r3, [r7, #12]
- 8008112:      021a            lsls    r2, r3, #8
-                ((uint32_t)0x5FAUL << SCB_AIRCR_VECTKEY_Pos) |
- 8008114:      68bb            ldr     r3, [r7, #8]
- 8008116:      431a            orrs    r2, r3
-  reg_value  =  (reg_value                                   |
- 8008118:      4b06            ldr     r3, [pc, #24]   ; (8008134 <__NVIC_SetPriorityGrouping+0x44>)
- 800811a:      4313            orrs    r3, r2
- 800811c:      60bb            str     r3, [r7, #8]
-  SCB->AIRCR =  reg_value;
- 800811e:      4a04            ldr     r2, [pc, #16]   ; (8008130 <__NVIC_SetPriorityGrouping+0x40>)
- 8008120:      68bb            ldr     r3, [r7, #8]
- 8008122:      60d3            str     r3, [r2, #12]
-}
- 8008124:      bf00            nop
- 8008126:      3714            adds    r7, #20
- 8008128:      46bd            mov     sp, r7
- 800812a:      f85d 7b04       ldr.w   r7, [sp], #4
- 800812e:      4770            bx      lr
- 8008130:      e000ed00        .word   0xe000ed00
- 8008134:      05fa0000        .word   0x05fa0000
-
-08008138 <__NVIC_GetPriorityGrouping>:
-  \brief   Get Priority Grouping
-  \details Reads the priority grouping field from the NVIC Interrupt Controller.
-  \return                Priority grouping field (SCB->AIRCR [10:8] PRIGROUP field).
- */
-__STATIC_INLINE uint32_t __NVIC_GetPriorityGrouping(void)
-{
- 8008138:      b480            push    {r7}
- 800813a:      af00            add     r7, sp, #0
-  return ((uint32_t)((SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) >> SCB_AIRCR_PRIGROUP_Pos));
- 800813c:      4b04            ldr     r3, [pc, #16]   ; (8008150 <__NVIC_GetPriorityGrouping+0x18>)
- 800813e:      68db            ldr     r3, [r3, #12]
- 8008140:      0a1b            lsrs    r3, r3, #8
- 8008142:      f003 0307       and.w   r3, r3, #7
-}
- 8008146:      4618            mov     r0, r3
- 8008148:      46bd            mov     sp, r7
- 800814a:      f85d 7b04       ldr.w   r7, [sp], #4
- 800814e:      4770            bx      lr
- 8008150:      e000ed00        .word   0xe000ed00
-
-08008154 <__NVIC_SetPriority>:
-  \param [in]      IRQn  Interrupt number.
-  \param [in]  priority  Priority to set.
-  \note    The priority cannot be set for every processor exception.
- */
-__STATIC_INLINE void __NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority)
-{
- 8008154:      b480            push    {r7}
- 8008156:      b083            sub     sp, #12
- 8008158:      af00            add     r7, sp, #0
- 800815a:      4603            mov     r3, r0
- 800815c:      6039            str     r1, [r7, #0]
- 800815e:      71fb            strb    r3, [r7, #7]
-  if ((int32_t)(IRQn) >= 0)
- 8008160:      f997 3007       ldrsb.w r3, [r7, #7]
- 8008164:      2b00            cmp     r3, #0
- 8008166:      db0a            blt.n   800817e <__NVIC_SetPriority+0x2a>
-  {
-    NVIC->IP[((uint32_t)IRQn)]                = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL);
- 8008168:      683b            ldr     r3, [r7, #0]
- 800816a:      b2da            uxtb    r2, r3
- 800816c:      490c            ldr     r1, [pc, #48]   ; (80081a0 <__NVIC_SetPriority+0x4c>)
- 800816e:      f997 3007       ldrsb.w r3, [r7, #7]
- 8008172:      0112            lsls    r2, r2, #4
- 8008174:      b2d2            uxtb    r2, r2
- 8008176:      440b            add     r3, r1
- 8008178:      f883 2300       strb.w  r2, [r3, #768]  ; 0x300
-  }
-  else
-  {
-    SCB->SHPR[(((uint32_t)IRQn) & 0xFUL)-4UL] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL);
-  }
-}
- 800817c:      e00a            b.n     8008194 <__NVIC_SetPriority+0x40>
-    SCB->SHPR[(((uint32_t)IRQn) & 0xFUL)-4UL] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL);
- 800817e:      683b            ldr     r3, [r7, #0]
- 8008180:      b2da            uxtb    r2, r3
- 8008182:      4908            ldr     r1, [pc, #32]   ; (80081a4 <__NVIC_SetPriority+0x50>)
- 8008184:      79fb            ldrb    r3, [r7, #7]
- 8008186:      f003 030f       and.w   r3, r3, #15
- 800818a:      3b04            subs    r3, #4
- 800818c:      0112            lsls    r2, r2, #4
- 800818e:      b2d2            uxtb    r2, r2
- 8008190:      440b            add     r3, r1
- 8008192:      761a            strb    r2, [r3, #24]
-}
- 8008194:      bf00            nop
- 8008196:      370c            adds    r7, #12
- 8008198:      46bd            mov     sp, r7
- 800819a:      f85d 7b04       ldr.w   r7, [sp], #4
- 800819e:      4770            bx      lr
- 80081a0:      e000e100        .word   0xe000e100
- 80081a4:      e000ed00        .word   0xe000ed00
-
-080081a8 <NVIC_EncodePriority>:
-  \param [in]   PreemptPriority  Preemptive priority value (starting from 0).
-  \param [in]       SubPriority  Subpriority value (starting from 0).
-  \return                        Encoded priority. Value can be used in the function \ref NVIC_SetPriority().
- */
-__STATIC_INLINE uint32_t NVIC_EncodePriority (uint32_t PriorityGroup, uint32_t PreemptPriority, uint32_t SubPriority)
-{
- 80081a8:      b480            push    {r7}
- 80081aa:      b089            sub     sp, #36 ; 0x24
- 80081ac:      af00            add     r7, sp, #0
- 80081ae:      60f8            str     r0, [r7, #12]
- 80081b0:      60b9            str     r1, [r7, #8]
- 80081b2:      607a            str     r2, [r7, #4]
-  uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL);   /* only values 0..7 are used          */
- 80081b4:      68fb            ldr     r3, [r7, #12]
- 80081b6:      f003 0307       and.w   r3, r3, #7
- 80081ba:      61fb            str     r3, [r7, #28]
-  uint32_t PreemptPriorityBits;
-  uint32_t SubPriorityBits;
-
-  PreemptPriorityBits = ((7UL - PriorityGroupTmp) > (uint32_t)(__NVIC_PRIO_BITS)) ? (uint32_t)(__NVIC_PRIO_BITS) : (uint32_t)(7UL - PriorityGroupTmp);
- 80081bc:      69fb            ldr     r3, [r7, #28]
- 80081be:      f1c3 0307       rsb     r3, r3, #7
- 80081c2:      2b04            cmp     r3, #4
- 80081c4:      bf28            it      cs
- 80081c6:      2304            movcs   r3, #4
- 80081c8:      61bb            str     r3, [r7, #24]
-  SubPriorityBits     = ((PriorityGroupTmp + (uint32_t)(__NVIC_PRIO_BITS)) < (uint32_t)7UL) ? (uint32_t)0UL : (uint32_t)((PriorityGroupTmp - 7UL) + (uint32_t)(__NVIC_PRIO_BITS));
- 80081ca:      69fb            ldr     r3, [r7, #28]
- 80081cc:      3304            adds    r3, #4
- 80081ce:      2b06            cmp     r3, #6
- 80081d0:      d902            bls.n   80081d8 <NVIC_EncodePriority+0x30>
- 80081d2:      69fb            ldr     r3, [r7, #28]
- 80081d4:      3b03            subs    r3, #3
- 80081d6:      e000            b.n     80081da <NVIC_EncodePriority+0x32>
- 80081d8:      2300            movs    r3, #0
- 80081da:      617b            str     r3, [r7, #20]
-
-  return (
-           ((PreemptPriority & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL)) << SubPriorityBits) |
- 80081dc:      f04f 32ff       mov.w   r2, #4294967295 ; 0xffffffff
- 80081e0:      69bb            ldr     r3, [r7, #24]
- 80081e2:      fa02 f303       lsl.w   r3, r2, r3
- 80081e6:      43da            mvns    r2, r3
- 80081e8:      68bb            ldr     r3, [r7, #8]
- 80081ea:      401a            ands    r2, r3
- 80081ec:      697b            ldr     r3, [r7, #20]
- 80081ee:      409a            lsls    r2, r3
-           ((SubPriority     & (uint32_t)((1UL << (SubPriorityBits    )) - 1UL)))
- 80081f0:      f04f 31ff       mov.w   r1, #4294967295 ; 0xffffffff
- 80081f4:      697b            ldr     r3, [r7, #20]
- 80081f6:      fa01 f303       lsl.w   r3, r1, r3
- 80081fa:      43d9            mvns    r1, r3
- 80081fc:      687b            ldr     r3, [r7, #4]
- 80081fe:      400b            ands    r3, r1
-           ((PreemptPriority & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL)) << SubPriorityBits) |
- 8008200:      4313            orrs    r3, r2
-         );
-}
- 8008202:      4618            mov     r0, r3
- 8008204:      3724            adds    r7, #36 ; 0x24
- 8008206:      46bd            mov     sp, r7
- 8008208:      f85d 7b04       ldr.w   r7, [sp], #4
- 800820c:      4770            bx      lr
-       ...
-
-08008210 <SysTick_Config>:
-  \note    When the variable <b>__Vendor_SysTickConfig</b> is set to 1, then the
-           function <b>SysTick_Config</b> is not included. In this case, the file <b><i>device</i>.h</b>
-           must contain a vendor-specific implementation of this function.
- */
-__STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks)
-{
- 8008210:      b580            push    {r7, lr}
- 8008212:      b082            sub     sp, #8
- 8008214:      af00            add     r7, sp, #0
- 8008216:      6078            str     r0, [r7, #4]
-  if ((ticks - 1UL) > SysTick_LOAD_RELOAD_Msk)
- 8008218:      687b            ldr     r3, [r7, #4]
- 800821a:      3b01            subs    r3, #1
- 800821c:      f1b3 7f80       cmp.w   r3, #16777216   ; 0x1000000
- 8008220:      d301            bcc.n   8008226 <SysTick_Config+0x16>
-  {
-    return (1UL);                                                   /* Reload value impossible */
- 8008222:      2301            movs    r3, #1
- 8008224:      e00f            b.n     8008246 <SysTick_Config+0x36>
-  }
-
-  SysTick->LOAD  = (uint32_t)(ticks - 1UL);                         /* set reload register */
- 8008226:      4a0a            ldr     r2, [pc, #40]   ; (8008250 <SysTick_Config+0x40>)
- 8008228:      687b            ldr     r3, [r7, #4]
- 800822a:      3b01            subs    r3, #1
- 800822c:      6053            str     r3, [r2, #4]
-  NVIC_SetPriority (SysTick_IRQn, (1UL << __NVIC_PRIO_BITS) - 1UL); /* set Priority for Systick Interrupt */
- 800822e:      210f            movs    r1, #15
- 8008230:      f04f 30ff       mov.w   r0, #4294967295 ; 0xffffffff
- 8008234:      f7ff ff8e       bl      8008154 <__NVIC_SetPriority>
-  SysTick->VAL   = 0UL;                                             /* Load the SysTick Counter Value */
- 8008238:      4b05            ldr     r3, [pc, #20]   ; (8008250 <SysTick_Config+0x40>)
- 800823a:      2200            movs    r2, #0
- 800823c:      609a            str     r2, [r3, #8]
-  SysTick->CTRL  = SysTick_CTRL_CLKSOURCE_Msk |
- 800823e:      4b04            ldr     r3, [pc, #16]   ; (8008250 <SysTick_Config+0x40>)
- 8008240:      2207            movs    r2, #7
- 8008242:      601a            str     r2, [r3, #0]
-                   SysTick_CTRL_TICKINT_Msk   |
-                   SysTick_CTRL_ENABLE_Msk;                         /* Enable SysTick IRQ and SysTick Timer */
-  return (0UL);                                                     /* Function successful */
- 8008244:      2300            movs    r3, #0
-}
- 8008246:      4618            mov     r0, r3
- 8008248:      3708            adds    r7, #8
- 800824a:      46bd            mov     sp, r7
- 800824c:      bd80            pop     {r7, pc}
- 800824e:      bf00            nop
- 8008250:      e000e010        .word   0xe000e010
-
-08008254 <HAL_NVIC_SetPriorityGrouping>:
-  * @note   When the NVIC_PriorityGroup_0 is selected, IRQ preemption is no more possible. 
-  *         The pending IRQ priority will be managed only by the subpriority. 
-  * @retval None
-  */
-void HAL_NVIC_SetPriorityGrouping(uint32_t PriorityGroup)
-{
- 8008254:      b580            push    {r7, lr}
- 8008256:      b082            sub     sp, #8
- 8008258:      af00            add     r7, sp, #0
- 800825a:      6078            str     r0, [r7, #4]
-  /* Check the parameters */
-  assert_param(IS_NVIC_PRIORITY_GROUP(PriorityGroup));
-  
-  /* Set the PRIGROUP[10:8] bits according to the PriorityGroup parameter value */
-  NVIC_SetPriorityGrouping(PriorityGroup);
- 800825c:      6878            ldr     r0, [r7, #4]
- 800825e:      f7ff ff47       bl      80080f0 <__NVIC_SetPriorityGrouping>
-}
- 8008262:      bf00            nop
- 8008264:      3708            adds    r7, #8
- 8008266:      46bd            mov     sp, r7
- 8008268:      bd80            pop     {r7, pc}
-
-0800826a <HAL_NVIC_SetPriority>:
-  *         This parameter can be a value between 0 and 15
-  *         A lower priority value indicates a higher priority.          
-  * @retval None
-  */
-void HAL_NVIC_SetPriority(IRQn_Type IRQn, uint32_t PreemptPriority, uint32_t SubPriority)
-{ 
- 800826a:      b580            push    {r7, lr}
- 800826c:      b086            sub     sp, #24
- 800826e:      af00            add     r7, sp, #0
- 8008270:      4603            mov     r3, r0
- 8008272:      60b9            str     r1, [r7, #8]
- 8008274:      607a            str     r2, [r7, #4]
- 8008276:      73fb            strb    r3, [r7, #15]
-  uint32_t prioritygroup = 0x00;
- 8008278:      2300            movs    r3, #0
- 800827a:      617b            str     r3, [r7, #20]
-  
-  /* Check the parameters */
-  assert_param(IS_NVIC_SUB_PRIORITY(SubPriority));
-  assert_param(IS_NVIC_PREEMPTION_PRIORITY(PreemptPriority));
-  
-  prioritygroup = NVIC_GetPriorityGrouping();
- 800827c:      f7ff ff5c       bl      8008138 <__NVIC_GetPriorityGrouping>
- 8008280:      6178            str     r0, [r7, #20]
-  
-  NVIC_SetPriority(IRQn, NVIC_EncodePriority(prioritygroup, PreemptPriority, SubPriority));
- 8008282:      687a            ldr     r2, [r7, #4]
- 8008284:      68b9            ldr     r1, [r7, #8]
- 8008286:      6978            ldr     r0, [r7, #20]
- 8008288:      f7ff ff8e       bl      80081a8 <NVIC_EncodePriority>
- 800828c:      4602            mov     r2, r0
- 800828e:      f997 300f       ldrsb.w r3, [r7, #15]
- 8008292:      4611            mov     r1, r2
- 8008294:      4618            mov     r0, r3
- 8008296:      f7ff ff5d       bl      8008154 <__NVIC_SetPriority>
-}
- 800829a:      bf00            nop
- 800829c:      3718            adds    r7, #24
- 800829e:      46bd            mov     sp, r7
- 80082a0:      bd80            pop     {r7, pc}
-
-080082a2 <HAL_SYSTICK_Config>:
-  * @param  TicksNumb Specifies the ticks Number of ticks between two interrupts.
-  * @retval status:  - 0  Function succeeded.
-  *                  - 1  Function failed.
-  */
-uint32_t HAL_SYSTICK_Config(uint32_t TicksNumb)
-{
- 80082a2:      b580            push    {r7, lr}
- 80082a4:      b082            sub     sp, #8
- 80082a6:      af00            add     r7, sp, #0
- 80082a8:      6078            str     r0, [r7, #4]
-   return SysTick_Config(TicksNumb);
- 80082aa:      6878            ldr     r0, [r7, #4]
- 80082ac:      f7ff ffb0       bl      8008210 <SysTick_Config>
- 80082b0:      4603            mov     r3, r0
-}
- 80082b2:      4618            mov     r0, r3
- 80082b4:      3708            adds    r7, #8
- 80082b6:      46bd            mov     sp, r7
- 80082b8:      bd80            pop     {r7, pc}
-
-080082ba <HAL_DMA_Start_IT>:
-  * @param  DstAddress The destination memory Buffer address
-  * @param  DataLength The length of data to be transferred from source to destination
-  * @retval HAL status
-  */
-HAL_StatusTypeDef HAL_DMA_Start_IT(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32_t DataLength)
-{
- 80082ba:      b580            push    {r7, lr}
- 80082bc:      b086            sub     sp, #24
- 80082be:      af00            add     r7, sp, #0
- 80082c0:      60f8            str     r0, [r7, #12]
- 80082c2:      60b9            str     r1, [r7, #8]
- 80082c4:      607a            str     r2, [r7, #4]
- 80082c6:      603b            str     r3, [r7, #0]
-  HAL_StatusTypeDef status = HAL_OK;
- 80082c8:      2300            movs    r3, #0
- 80082ca:      75fb            strb    r3, [r7, #23]
-
-  /* calculate DMA base and stream number */
-  DMA_Base_Registers *regs = (DMA_Base_Registers *)hdma->StreamBaseAddress;
- 80082cc:      68fb            ldr     r3, [r7, #12]
- 80082ce:      6d9b            ldr     r3, [r3, #88]   ; 0x58
- 80082d0:      613b            str     r3, [r7, #16]
-  
-  /* Check the parameters */
-  assert_param(IS_DMA_BUFFER_SIZE(DataLength));
-  /* Process locked */
-  __HAL_LOCK(hdma);
- 80082d2:      68fb            ldr     r3, [r7, #12]
- 80082d4:      f893 3034       ldrb.w  r3, [r3, #52]   ; 0x34
- 80082d8:      2b01            cmp     r3, #1
- 80082da:      d101            bne.n   80082e0 <HAL_DMA_Start_IT+0x26>
- 80082dc:      2302            movs    r3, #2
- 80082de:      e048            b.n     8008372 <HAL_DMA_Start_IT+0xb8>
- 80082e0:      68fb            ldr     r3, [r7, #12]
- 80082e2:      2201            movs    r2, #1
- 80082e4:      f883 2034       strb.w  r2, [r3, #52]   ; 0x34
-  
-  if(HAL_DMA_STATE_READY == hdma->State)
- 80082e8:      68fb            ldr     r3, [r7, #12]
- 80082ea:      f893 3035       ldrb.w  r3, [r3, #53]   ; 0x35
- 80082ee:      b2db            uxtb    r3, r3
- 80082f0:      2b01            cmp     r3, #1
- 80082f2:      d137            bne.n   8008364 <HAL_DMA_Start_IT+0xaa>
-  {
-    /* Change DMA peripheral state */
-    hdma->State = HAL_DMA_STATE_BUSY;
- 80082f4:      68fb            ldr     r3, [r7, #12]
- 80082f6:      2202            movs    r2, #2
- 80082f8:      f883 2035       strb.w  r2, [r3, #53]   ; 0x35
-    
-    /* Initialize the error code */
-    hdma->ErrorCode = HAL_DMA_ERROR_NONE;
- 80082fc:      68fb            ldr     r3, [r7, #12]
- 80082fe:      2200            movs    r2, #0
- 8008300:      655a            str     r2, [r3, #84]   ; 0x54
-    
-    /* Configure the source, destination address and the data length */
-    DMA_SetConfig(hdma, SrcAddress, DstAddress, DataLength);
- 8008302:      683b            ldr     r3, [r7, #0]
- 8008304:      687a            ldr     r2, [r7, #4]
- 8008306:      68b9            ldr     r1, [r7, #8]
- 8008308:      68f8            ldr     r0, [r7, #12]
- 800830a:      f000 f836       bl      800837a <DMA_SetConfig>
-    
-    /* Clear all interrupt flags at correct offset within the register */
-    regs->IFCR = 0x3FU << hdma->StreamIndex;
- 800830e:      68fb            ldr     r3, [r7, #12]
- 8008310:      6ddb            ldr     r3, [r3, #92]   ; 0x5c
- 8008312:      223f            movs    r2, #63 ; 0x3f
- 8008314:      409a            lsls    r2, r3
- 8008316:      693b            ldr     r3, [r7, #16]
- 8008318:      609a            str     r2, [r3, #8]
-    
-    /* Enable Common interrupts*/
-    hdma->Instance->CR  |= DMA_IT_TC | DMA_IT_TE | DMA_IT_DME;
- 800831a:      68fb            ldr     r3, [r7, #12]
- 800831c:      681b            ldr     r3, [r3, #0]
- 800831e:      681a            ldr     r2, [r3, #0]
- 8008320:      68fb            ldr     r3, [r7, #12]
- 8008322:      681b            ldr     r3, [r3, #0]
- 8008324:      f042 0216       orr.w   r2, r2, #22
- 8008328:      601a            str     r2, [r3, #0]
-    hdma->Instance->FCR |= DMA_IT_FE;
- 800832a:      68fb            ldr     r3, [r7, #12]
- 800832c:      681b            ldr     r3, [r3, #0]
- 800832e:      695a            ldr     r2, [r3, #20]
- 8008330:      68fb            ldr     r3, [r7, #12]
- 8008332:      681b            ldr     r3, [r3, #0]
- 8008334:      f042 0280       orr.w   r2, r2, #128    ; 0x80
- 8008338:      615a            str     r2, [r3, #20]
-    
-    if(hdma->XferHalfCpltCallback != NULL)
- 800833a:      68fb            ldr     r3, [r7, #12]
- 800833c:      6c1b            ldr     r3, [r3, #64]   ; 0x40
- 800833e:      2b00            cmp     r3, #0
- 8008340:      d007            beq.n   8008352 <HAL_DMA_Start_IT+0x98>
-    {
-      hdma->Instance->CR  |= DMA_IT_HT;
- 8008342:      68fb            ldr     r3, [r7, #12]
- 8008344:      681b            ldr     r3, [r3, #0]
- 8008346:      681a            ldr     r2, [r3, #0]
- 8008348:      68fb            ldr     r3, [r7, #12]
- 800834a:      681b            ldr     r3, [r3, #0]
- 800834c:      f042 0208       orr.w   r2, r2, #8
- 8008350:      601a            str     r2, [r3, #0]
-    }
-    
-    /* Enable the Peripheral */
-    __HAL_DMA_ENABLE(hdma);
- 8008352:      68fb            ldr     r3, [r7, #12]
- 8008354:      681b            ldr     r3, [r3, #0]
- 8008356:      681a            ldr     r2, [r3, #0]
- 8008358:      68fb            ldr     r3, [r7, #12]
- 800835a:      681b            ldr     r3, [r3, #0]
- 800835c:      f042 0201       orr.w   r2, r2, #1
- 8008360:      601a            str     r2, [r3, #0]
- 8008362:      e005            b.n     8008370 <HAL_DMA_Start_IT+0xb6>
-  }
-  else
-  {
-    /* Process unlocked */
-    __HAL_UNLOCK(hdma);          
- 8008364:      68fb            ldr     r3, [r7, #12]
- 8008366:      2200            movs    r2, #0
- 8008368:      f883 2034       strb.w  r2, [r3, #52]   ; 0x34
-    
-    /* Return error status */
-    status = HAL_BUSY;
- 800836c:      2302            movs    r3, #2
- 800836e:      75fb            strb    r3, [r7, #23]
-  }
-  
-  return status;
- 8008370:      7dfb            ldrb    r3, [r7, #23]
-}
- 8008372:      4618            mov     r0, r3
- 8008374:      3718            adds    r7, #24
- 8008376:      46bd            mov     sp, r7
- 8008378:      bd80            pop     {r7, pc}
-
-0800837a <DMA_SetConfig>:
-  * @param  DstAddress The destination memory Buffer address
-  * @param  DataLength The length of data to be transferred from source to destination
-  * @retval HAL status
-  */
-static void DMA_SetConfig(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32_t DataLength)
-{
- 800837a:      b480            push    {r7}
- 800837c:      b085            sub     sp, #20
- 800837e:      af00            add     r7, sp, #0
- 8008380:      60f8            str     r0, [r7, #12]
- 8008382:      60b9            str     r1, [r7, #8]
- 8008384:      607a            str     r2, [r7, #4]
- 8008386:      603b            str     r3, [r7, #0]
-  /* Clear DBM bit */
-  hdma->Instance->CR &= (uint32_t)(~DMA_SxCR_DBM);
- 8008388:      68fb            ldr     r3, [r7, #12]
- 800838a:      681b            ldr     r3, [r3, #0]
- 800838c:      681a            ldr     r2, [r3, #0]
- 800838e:      68fb            ldr     r3, [r7, #12]
- 8008390:      681b            ldr     r3, [r3, #0]
- 8008392:      f422 2280       bic.w   r2, r2, #262144 ; 0x40000
- 8008396:      601a            str     r2, [r3, #0]
-
-  /* Configure DMA Stream data length */
-  hdma->Instance->NDTR = DataLength;
- 8008398:      68fb            ldr     r3, [r7, #12]
- 800839a:      681b            ldr     r3, [r3, #0]
- 800839c:      683a            ldr     r2, [r7, #0]
- 800839e:      605a            str     r2, [r3, #4]
-
-  /* Memory to Peripheral */
-  if((hdma->Init.Direction) == DMA_MEMORY_TO_PERIPH)
- 80083a0:      68fb            ldr     r3, [r7, #12]
- 80083a2:      689b            ldr     r3, [r3, #8]
- 80083a4:      2b40            cmp     r3, #64 ; 0x40
- 80083a6:      d108            bne.n   80083ba <DMA_SetConfig+0x40>
-  {
-    /* Configure DMA Stream destination address */
-    hdma->Instance->PAR = DstAddress;
- 80083a8:      68fb            ldr     r3, [r7, #12]
- 80083aa:      681b            ldr     r3, [r3, #0]
- 80083ac:      687a            ldr     r2, [r7, #4]
- 80083ae:      609a            str     r2, [r3, #8]
-
-    /* Configure DMA Stream source address */
-    hdma->Instance->M0AR = SrcAddress;
- 80083b0:      68fb            ldr     r3, [r7, #12]
- 80083b2:      681b            ldr     r3, [r3, #0]
- 80083b4:      68ba            ldr     r2, [r7, #8]
- 80083b6:      60da            str     r2, [r3, #12]
-    hdma->Instance->PAR = SrcAddress;
-
-    /* Configure DMA Stream destination address */
-    hdma->Instance->M0AR = DstAddress;
-  }
-}
- 80083b8:      e007            b.n     80083ca <DMA_SetConfig+0x50>
-    hdma->Instance->PAR = SrcAddress;
- 80083ba:      68fb            ldr     r3, [r7, #12]
- 80083bc:      681b            ldr     r3, [r3, #0]
- 80083be:      68ba            ldr     r2, [r7, #8]
- 80083c0:      609a            str     r2, [r3, #8]
-    hdma->Instance->M0AR = DstAddress;
- 80083c2:      68fb            ldr     r3, [r7, #12]
- 80083c4:      681b            ldr     r3, [r3, #0]
- 80083c6:      687a            ldr     r2, [r7, #4]
- 80083c8:      60da            str     r2, [r3, #12]
-}
- 80083ca:      bf00            nop
- 80083cc:      3714            adds    r7, #20
- 80083ce:      46bd            mov     sp, r7
- 80083d0:      f85d 7b04       ldr.w   r7, [sp], #4
- 80083d4:      4770            bx      lr
-       ...
-
-080083d8 <HAL_GPIO_Init>:
-  * @param  GPIO_Init pointer to a GPIO_InitTypeDef structure that contains
-  *         the configuration information for the specified GPIO peripheral.
-  * @retval None
-  */
-void HAL_GPIO_Init(GPIO_TypeDef  *GPIOx, GPIO_InitTypeDef *GPIO_Init)
-{
- 80083d8:      b480            push    {r7}
- 80083da:      b089            sub     sp, #36 ; 0x24
- 80083dc:      af00            add     r7, sp, #0
- 80083de:      6078            str     r0, [r7, #4]
- 80083e0:      6039            str     r1, [r7, #0]
-  uint32_t position = 0x00;
- 80083e2:      2300            movs    r3, #0
- 80083e4:      61fb            str     r3, [r7, #28]
-  uint32_t ioposition = 0x00;
- 80083e6:      2300            movs    r3, #0
- 80083e8:      617b            str     r3, [r7, #20]
-  uint32_t iocurrent = 0x00;
- 80083ea:      2300            movs    r3, #0
- 80083ec:      613b            str     r3, [r7, #16]
-  uint32_t temp = 0x00;
- 80083ee:      2300            movs    r3, #0
- 80083f0:      61bb            str     r3, [r7, #24]
-  assert_param(IS_GPIO_PIN(GPIO_Init->Pin));
-  assert_param(IS_GPIO_MODE(GPIO_Init->Mode));
-  assert_param(IS_GPIO_PULL(GPIO_Init->Pull));
-
-  /* Configure the port pins */
-  for(position = 0; position < GPIO_NUMBER; position++)
- 80083f2:      2300            movs    r3, #0
- 80083f4:      61fb            str     r3, [r7, #28]
- 80083f6:      e175            b.n     80086e4 <HAL_GPIO_Init+0x30c>
-  {
-    /* Get the IO position */
-    ioposition = ((uint32_t)0x01) << position;
- 80083f8:      2201            movs    r2, #1
- 80083fa:      69fb            ldr     r3, [r7, #28]
- 80083fc:      fa02 f303       lsl.w   r3, r2, r3
- 8008400:      617b            str     r3, [r7, #20]
-    /* Get the current IO position */
-    iocurrent = (uint32_t)(GPIO_Init->Pin) & ioposition;
- 8008402:      683b            ldr     r3, [r7, #0]
- 8008404:      681b            ldr     r3, [r3, #0]
- 8008406:      697a            ldr     r2, [r7, #20]
- 8008408:      4013            ands    r3, r2
- 800840a:      613b            str     r3, [r7, #16]
-
-    if(iocurrent == ioposition)
- 800840c:      693a            ldr     r2, [r7, #16]
- 800840e:      697b            ldr     r3, [r7, #20]
- 8008410:      429a            cmp     r2, r3
- 8008412:      f040 8164       bne.w   80086de <HAL_GPIO_Init+0x306>
-    {
-      /*--------------------- GPIO Mode Configuration ------------------------*/
-      /* In case of Alternate function mode selection */
-      if((GPIO_Init->Mode == GPIO_MODE_AF_PP) || (GPIO_Init->Mode == GPIO_MODE_AF_OD))
- 8008416:      683b            ldr     r3, [r7, #0]
- 8008418:      685b            ldr     r3, [r3, #4]
- 800841a:      2b02            cmp     r3, #2
- 800841c:      d003            beq.n   8008426 <HAL_GPIO_Init+0x4e>
- 800841e:      683b            ldr     r3, [r7, #0]
- 8008420:      685b            ldr     r3, [r3, #4]
- 8008422:      2b12            cmp     r3, #18
- 8008424:      d123            bne.n   800846e <HAL_GPIO_Init+0x96>
-      {
-        /* Check the Alternate function parameter */
-        assert_param(IS_GPIO_AF(GPIO_Init->Alternate));
-        
-        /* Configure Alternate function mapped with the current IO */
-        temp = GPIOx->AFR[position >> 3];
- 8008426:      69fb            ldr     r3, [r7, #28]
- 8008428:      08da            lsrs    r2, r3, #3
- 800842a:      687b            ldr     r3, [r7, #4]
- 800842c:      3208            adds    r2, #8
- 800842e:      f853 3022       ldr.w   r3, [r3, r2, lsl #2]
- 8008432:      61bb            str     r3, [r7, #24]
-        temp &= ~((uint32_t)0xF << ((uint32_t)(position & (uint32_t)0x07) * 4)) ;
- 8008434:      69fb            ldr     r3, [r7, #28]
- 8008436:      f003 0307       and.w   r3, r3, #7
- 800843a:      009b            lsls    r3, r3, #2
- 800843c:      220f            movs    r2, #15
- 800843e:      fa02 f303       lsl.w   r3, r2, r3
- 8008442:      43db            mvns    r3, r3
- 8008444:      69ba            ldr     r2, [r7, #24]
- 8008446:      4013            ands    r3, r2
- 8008448:      61bb            str     r3, [r7, #24]
-        temp |= ((uint32_t)(GPIO_Init->Alternate) << (((uint32_t)position & (uint32_t)0x07) * 4));
- 800844a:      683b            ldr     r3, [r7, #0]
- 800844c:      691a            ldr     r2, [r3, #16]
- 800844e:      69fb            ldr     r3, [r7, #28]
- 8008450:      f003 0307       and.w   r3, r3, #7
- 8008454:      009b            lsls    r3, r3, #2
- 8008456:      fa02 f303       lsl.w   r3, r2, r3
- 800845a:      69ba            ldr     r2, [r7, #24]
- 800845c:      4313            orrs    r3, r2
- 800845e:      61bb            str     r3, [r7, #24]
-        GPIOx->AFR[position >> 3] = temp;
- 8008460:      69fb            ldr     r3, [r7, #28]
- 8008462:      08da            lsrs    r2, r3, #3
- 8008464:      687b            ldr     r3, [r7, #4]
- 8008466:      3208            adds    r2, #8
- 8008468:      69b9            ldr     r1, [r7, #24]
- 800846a:      f843 1022       str.w   r1, [r3, r2, lsl #2]
-      }
-
-      /* Configure IO Direction mode (Input, Output, Alternate or Analog) */
-      temp = GPIOx->MODER;
- 800846e:      687b            ldr     r3, [r7, #4]
- 8008470:      681b            ldr     r3, [r3, #0]
- 8008472:      61bb            str     r3, [r7, #24]
-      temp &= ~(GPIO_MODER_MODER0 << (position * 2));
- 8008474:      69fb            ldr     r3, [r7, #28]
- 8008476:      005b            lsls    r3, r3, #1
- 8008478:      2203            movs    r2, #3
- 800847a:      fa02 f303       lsl.w   r3, r2, r3
- 800847e:      43db            mvns    r3, r3
- 8008480:      69ba            ldr     r2, [r7, #24]
- 8008482:      4013            ands    r3, r2
- 8008484:      61bb            str     r3, [r7, #24]
-      temp |= ((GPIO_Init->Mode & GPIO_MODE) << (position * 2));
- 8008486:      683b            ldr     r3, [r7, #0]
- 8008488:      685b            ldr     r3, [r3, #4]
- 800848a:      f003 0203       and.w   r2, r3, #3
- 800848e:      69fb            ldr     r3, [r7, #28]
- 8008490:      005b            lsls    r3, r3, #1
- 8008492:      fa02 f303       lsl.w   r3, r2, r3
- 8008496:      69ba            ldr     r2, [r7, #24]
- 8008498:      4313            orrs    r3, r2
- 800849a:      61bb            str     r3, [r7, #24]
-      GPIOx->MODER = temp;
- 800849c:      687b            ldr     r3, [r7, #4]
- 800849e:      69ba            ldr     r2, [r7, #24]
- 80084a0:      601a            str     r2, [r3, #0]
-
-      /* In case of Output or Alternate function mode selection */
-      if((GPIO_Init->Mode == GPIO_MODE_OUTPUT_PP) || (GPIO_Init->Mode == GPIO_MODE_AF_PP) ||
- 80084a2:      683b            ldr     r3, [r7, #0]
- 80084a4:      685b            ldr     r3, [r3, #4]
- 80084a6:      2b01            cmp     r3, #1
- 80084a8:      d00b            beq.n   80084c2 <HAL_GPIO_Init+0xea>
- 80084aa:      683b            ldr     r3, [r7, #0]
- 80084ac:      685b            ldr     r3, [r3, #4]
- 80084ae:      2b02            cmp     r3, #2
- 80084b0:      d007            beq.n   80084c2 <HAL_GPIO_Init+0xea>
-         (GPIO_Init->Mode == GPIO_MODE_OUTPUT_OD) || (GPIO_Init->Mode == GPIO_MODE_AF_OD))
- 80084b2:      683b            ldr     r3, [r7, #0]
- 80084b4:      685b            ldr     r3, [r3, #4]
-      if((GPIO_Init->Mode == GPIO_MODE_OUTPUT_PP) || (GPIO_Init->Mode == GPIO_MODE_AF_PP) ||
- 80084b6:      2b11            cmp     r3, #17
- 80084b8:      d003            beq.n   80084c2 <HAL_GPIO_Init+0xea>
-         (GPIO_Init->Mode == GPIO_MODE_OUTPUT_OD) || (GPIO_Init->Mode == GPIO_MODE_AF_OD))
- 80084ba:      683b            ldr     r3, [r7, #0]
- 80084bc:      685b            ldr     r3, [r3, #4]
- 80084be:      2b12            cmp     r3, #18
- 80084c0:      d130            bne.n   8008524 <HAL_GPIO_Init+0x14c>
-      {
-        /* Check the Speed parameter */
-        assert_param(IS_GPIO_SPEED(GPIO_Init->Speed));
-        /* Configure the IO Speed */
-        temp = GPIOx->OSPEEDR; 
- 80084c2:      687b            ldr     r3, [r7, #4]
- 80084c4:      689b            ldr     r3, [r3, #8]
- 80084c6:      61bb            str     r3, [r7, #24]
-        temp &= ~(GPIO_OSPEEDER_OSPEEDR0 << (position * 2));
- 80084c8:      69fb            ldr     r3, [r7, #28]
- 80084ca:      005b            lsls    r3, r3, #1
- 80084cc:      2203            movs    r2, #3
- 80084ce:      fa02 f303       lsl.w   r3, r2, r3
- 80084d2:      43db            mvns    r3, r3
- 80084d4:      69ba            ldr     r2, [r7, #24]
- 80084d6:      4013            ands    r3, r2
- 80084d8:      61bb            str     r3, [r7, #24]
-        temp |= (GPIO_Init->Speed << (position * 2));
- 80084da:      683b            ldr     r3, [r7, #0]
- 80084dc:      68da            ldr     r2, [r3, #12]
- 80084de:      69fb            ldr     r3, [r7, #28]
- 80084e0:      005b            lsls    r3, r3, #1
- 80084e2:      fa02 f303       lsl.w   r3, r2, r3
- 80084e6:      69ba            ldr     r2, [r7, #24]
- 80084e8:      4313            orrs    r3, r2
- 80084ea:      61bb            str     r3, [r7, #24]
-        GPIOx->OSPEEDR = temp;
- 80084ec:      687b            ldr     r3, [r7, #4]
- 80084ee:      69ba            ldr     r2, [r7, #24]
- 80084f0:      609a            str     r2, [r3, #8]
-
-        /* Configure the IO Output Type */
-        temp = GPIOx->OTYPER;
- 80084f2:      687b            ldr     r3, [r7, #4]
- 80084f4:      685b            ldr     r3, [r3, #4]
- 80084f6:      61bb            str     r3, [r7, #24]
-        temp &= ~(GPIO_OTYPER_OT_0 << position) ;
- 80084f8:      2201            movs    r2, #1
- 80084fa:      69fb            ldr     r3, [r7, #28]
- 80084fc:      fa02 f303       lsl.w   r3, r2, r3
- 8008500:      43db            mvns    r3, r3
- 8008502:      69ba            ldr     r2, [r7, #24]
- 8008504:      4013            ands    r3, r2
- 8008506:      61bb            str     r3, [r7, #24]
-        temp |= (((GPIO_Init->Mode & GPIO_OUTPUT_TYPE) >> 4) << position);
- 8008508:      683b            ldr     r3, [r7, #0]
- 800850a:      685b            ldr     r3, [r3, #4]
- 800850c:      091b            lsrs    r3, r3, #4
- 800850e:      f003 0201       and.w   r2, r3, #1
- 8008512:      69fb            ldr     r3, [r7, #28]
- 8008514:      fa02 f303       lsl.w   r3, r2, r3
- 8008518:      69ba            ldr     r2, [r7, #24]
- 800851a:      4313            orrs    r3, r2
- 800851c:      61bb            str     r3, [r7, #24]
-        GPIOx->OTYPER = temp;
- 800851e:      687b            ldr     r3, [r7, #4]
- 8008520:      69ba            ldr     r2, [r7, #24]
- 8008522:      605a            str     r2, [r3, #4]
-      }
-
-      /* Activate the Pull-up or Pull down resistor for the current IO */
-      temp = GPIOx->PUPDR;
- 8008524:      687b            ldr     r3, [r7, #4]
- 8008526:      68db            ldr     r3, [r3, #12]
- 8008528:      61bb            str     r3, [r7, #24]
-      temp &= ~(GPIO_PUPDR_PUPDR0 << (position * 2));
- 800852a:      69fb            ldr     r3, [r7, #28]
- 800852c:      005b            lsls    r3, r3, #1
- 800852e:      2203            movs    r2, #3
- 8008530:      fa02 f303       lsl.w   r3, r2, r3
- 8008534:      43db            mvns    r3, r3
- 8008536:      69ba            ldr     r2, [r7, #24]
- 8008538:      4013            ands    r3, r2
- 800853a:      61bb            str     r3, [r7, #24]
-      temp |= ((GPIO_Init->Pull) << (position * 2));
- 800853c:      683b            ldr     r3, [r7, #0]
- 800853e:      689a            ldr     r2, [r3, #8]
- 8008540:      69fb            ldr     r3, [r7, #28]
- 8008542:      005b            lsls    r3, r3, #1
- 8008544:      fa02 f303       lsl.w   r3, r2, r3
- 8008548:      69ba            ldr     r2, [r7, #24]
- 800854a:      4313            orrs    r3, r2
- 800854c:      61bb            str     r3, [r7, #24]
-      GPIOx->PUPDR = temp;
- 800854e:      687b            ldr     r3, [r7, #4]
- 8008550:      69ba            ldr     r2, [r7, #24]
- 8008552:      60da            str     r2, [r3, #12]
-
-      /*--------------------- EXTI Mode Configuration ------------------------*/
-      /* Configure the External Interrupt or event for the current IO */
-      if((GPIO_Init->Mode & EXTI_MODE) == EXTI_MODE)
- 8008554:      683b            ldr     r3, [r7, #0]
- 8008556:      685b            ldr     r3, [r3, #4]
- 8008558:      f003 5380       and.w   r3, r3, #268435456      ; 0x10000000
- 800855c:      2b00            cmp     r3, #0
- 800855e:      f000 80be       beq.w   80086de <HAL_GPIO_Init+0x306>
-      {
-        /* Enable SYSCFG Clock */
-        __HAL_RCC_SYSCFG_CLK_ENABLE();
- 8008562:      4b65            ldr     r3, [pc, #404]  ; (80086f8 <HAL_GPIO_Init+0x320>)
- 8008564:      6c5b            ldr     r3, [r3, #68]   ; 0x44
- 8008566:      4a64            ldr     r2, [pc, #400]  ; (80086f8 <HAL_GPIO_Init+0x320>)
- 8008568:      f443 4380       orr.w   r3, r3, #16384  ; 0x4000
- 800856c:      6453            str     r3, [r2, #68]   ; 0x44
- 800856e:      4b62            ldr     r3, [pc, #392]  ; (80086f8 <HAL_GPIO_Init+0x320>)
- 8008570:      6c5b            ldr     r3, [r3, #68]   ; 0x44
- 8008572:      f403 4380       and.w   r3, r3, #16384  ; 0x4000
- 8008576:      60fb            str     r3, [r7, #12]
- 8008578:      68fb            ldr     r3, [r7, #12]
-
-        temp = SYSCFG->EXTICR[position >> 2];
- 800857a:      4a60            ldr     r2, [pc, #384]  ; (80086fc <HAL_GPIO_Init+0x324>)
- 800857c:      69fb            ldr     r3, [r7, #28]
- 800857e:      089b            lsrs    r3, r3, #2
- 8008580:      3302            adds    r3, #2
- 8008582:      f852 3023       ldr.w   r3, [r2, r3, lsl #2]
- 8008586:      61bb            str     r3, [r7, #24]
-        temp &= ~(((uint32_t)0x0F) << (4 * (position & 0x03)));
- 8008588:      69fb            ldr     r3, [r7, #28]
- 800858a:      f003 0303       and.w   r3, r3, #3
- 800858e:      009b            lsls    r3, r3, #2
- 8008590:      220f            movs    r2, #15
- 8008592:      fa02 f303       lsl.w   r3, r2, r3
- 8008596:      43db            mvns    r3, r3
- 8008598:      69ba            ldr     r2, [r7, #24]
- 800859a:      4013            ands    r3, r2
- 800859c:      61bb            str     r3, [r7, #24]
-        temp |= ((uint32_t)(GPIO_GET_INDEX(GPIOx)) << (4 * (position & 0x03)));
- 800859e:      687b            ldr     r3, [r7, #4]
- 80085a0:      4a57            ldr     r2, [pc, #348]  ; (8008700 <HAL_GPIO_Init+0x328>)
- 80085a2:      4293            cmp     r3, r2
- 80085a4:      d037            beq.n   8008616 <HAL_GPIO_Init+0x23e>
- 80085a6:      687b            ldr     r3, [r7, #4]
- 80085a8:      4a56            ldr     r2, [pc, #344]  ; (8008704 <HAL_GPIO_Init+0x32c>)
- 80085aa:      4293            cmp     r3, r2
- 80085ac:      d031            beq.n   8008612 <HAL_GPIO_Init+0x23a>
- 80085ae:      687b            ldr     r3, [r7, #4]
- 80085b0:      4a55            ldr     r2, [pc, #340]  ; (8008708 <HAL_GPIO_Init+0x330>)
- 80085b2:      4293            cmp     r3, r2
- 80085b4:      d02b            beq.n   800860e <HAL_GPIO_Init+0x236>
- 80085b6:      687b            ldr     r3, [r7, #4]
- 80085b8:      4a54            ldr     r2, [pc, #336]  ; (800870c <HAL_GPIO_Init+0x334>)
- 80085ba:      4293            cmp     r3, r2
- 80085bc:      d025            beq.n   800860a <HAL_GPIO_Init+0x232>
- 80085be:      687b            ldr     r3, [r7, #4]
- 80085c0:      4a53            ldr     r2, [pc, #332]  ; (8008710 <HAL_GPIO_Init+0x338>)
- 80085c2:      4293            cmp     r3, r2
- 80085c4:      d01f            beq.n   8008606 <HAL_GPIO_Init+0x22e>
- 80085c6:      687b            ldr     r3, [r7, #4]
- 80085c8:      4a52            ldr     r2, [pc, #328]  ; (8008714 <HAL_GPIO_Init+0x33c>)
- 80085ca:      4293            cmp     r3, r2
- 80085cc:      d019            beq.n   8008602 <HAL_GPIO_Init+0x22a>
- 80085ce:      687b            ldr     r3, [r7, #4]
- 80085d0:      4a51            ldr     r2, [pc, #324]  ; (8008718 <HAL_GPIO_Init+0x340>)
- 80085d2:      4293            cmp     r3, r2
- 80085d4:      d013            beq.n   80085fe <HAL_GPIO_Init+0x226>
- 80085d6:      687b            ldr     r3, [r7, #4]
- 80085d8:      4a50            ldr     r2, [pc, #320]  ; (800871c <HAL_GPIO_Init+0x344>)
- 80085da:      4293            cmp     r3, r2
- 80085dc:      d00d            beq.n   80085fa <HAL_GPIO_Init+0x222>
- 80085de:      687b            ldr     r3, [r7, #4]
- 80085e0:      4a4f            ldr     r2, [pc, #316]  ; (8008720 <HAL_GPIO_Init+0x348>)
- 80085e2:      4293            cmp     r3, r2
- 80085e4:      d007            beq.n   80085f6 <HAL_GPIO_Init+0x21e>
- 80085e6:      687b            ldr     r3, [r7, #4]
- 80085e8:      4a4e            ldr     r2, [pc, #312]  ; (8008724 <HAL_GPIO_Init+0x34c>)
- 80085ea:      4293            cmp     r3, r2
- 80085ec:      d101            bne.n   80085f2 <HAL_GPIO_Init+0x21a>
- 80085ee:      2309            movs    r3, #9
- 80085f0:      e012            b.n     8008618 <HAL_GPIO_Init+0x240>
- 80085f2:      230a            movs    r3, #10
- 80085f4:      e010            b.n     8008618 <HAL_GPIO_Init+0x240>
- 80085f6:      2308            movs    r3, #8
- 80085f8:      e00e            b.n     8008618 <HAL_GPIO_Init+0x240>
- 80085fa:      2307            movs    r3, #7
- 80085fc:      e00c            b.n     8008618 <HAL_GPIO_Init+0x240>
- 80085fe:      2306            movs    r3, #6
- 8008600:      e00a            b.n     8008618 <HAL_GPIO_Init+0x240>
- 8008602:      2305            movs    r3, #5
- 8008604:      e008            b.n     8008618 <HAL_GPIO_Init+0x240>
- 8008606:      2304            movs    r3, #4
- 8008608:      e006            b.n     8008618 <HAL_GPIO_Init+0x240>
- 800860a:      2303            movs    r3, #3
- 800860c:      e004            b.n     8008618 <HAL_GPIO_Init+0x240>
- 800860e:      2302            movs    r3, #2
- 8008610:      e002            b.n     8008618 <HAL_GPIO_Init+0x240>
- 8008612:      2301            movs    r3, #1
- 8008614:      e000            b.n     8008618 <HAL_GPIO_Init+0x240>
- 8008616:      2300            movs    r3, #0
- 8008618:      69fa            ldr     r2, [r7, #28]
- 800861a:      f002 0203       and.w   r2, r2, #3
- 800861e:      0092            lsls    r2, r2, #2
- 8008620:      4093            lsls    r3, r2
- 8008622:      69ba            ldr     r2, [r7, #24]
- 8008624:      4313            orrs    r3, r2
- 8008626:      61bb            str     r3, [r7, #24]
-        SYSCFG->EXTICR[position >> 2] = temp;
- 8008628:      4934            ldr     r1, [pc, #208]  ; (80086fc <HAL_GPIO_Init+0x324>)
- 800862a:      69fb            ldr     r3, [r7, #28]
- 800862c:      089b            lsrs    r3, r3, #2
- 800862e:      3302            adds    r3, #2
- 8008630:      69ba            ldr     r2, [r7, #24]
- 8008632:      f841 2023       str.w   r2, [r1, r3, lsl #2]
-
-        /* Clear EXTI line configuration */
-        temp = EXTI->IMR;
- 8008636:      4b3c            ldr     r3, [pc, #240]  ; (8008728 <HAL_GPIO_Init+0x350>)
- 8008638:      681b            ldr     r3, [r3, #0]
- 800863a:      61bb            str     r3, [r7, #24]
-        temp &= ~((uint32_t)iocurrent);
- 800863c:      693b            ldr     r3, [r7, #16]
- 800863e:      43db            mvns    r3, r3
- 8008640:      69ba            ldr     r2, [r7, #24]
- 8008642:      4013            ands    r3, r2
- 8008644:      61bb            str     r3, [r7, #24]
-        if((GPIO_Init->Mode & GPIO_MODE_IT) == GPIO_MODE_IT)
- 8008646:      683b            ldr     r3, [r7, #0]
- 8008648:      685b            ldr     r3, [r3, #4]
- 800864a:      f403 3380       and.w   r3, r3, #65536  ; 0x10000
- 800864e:      2b00            cmp     r3, #0
- 8008650:      d003            beq.n   800865a <HAL_GPIO_Init+0x282>
-        {
-          temp |= iocurrent;
- 8008652:      69ba            ldr     r2, [r7, #24]
- 8008654:      693b            ldr     r3, [r7, #16]
- 8008656:      4313            orrs    r3, r2
- 8008658:      61bb            str     r3, [r7, #24]
-        }
-        EXTI->IMR = temp;
- 800865a:      4a33            ldr     r2, [pc, #204]  ; (8008728 <HAL_GPIO_Init+0x350>)
- 800865c:      69bb            ldr     r3, [r7, #24]
- 800865e:      6013            str     r3, [r2, #0]
-
-        temp = EXTI->EMR;
- 8008660:      4b31            ldr     r3, [pc, #196]  ; (8008728 <HAL_GPIO_Init+0x350>)
- 8008662:      685b            ldr     r3, [r3, #4]
- 8008664:      61bb            str     r3, [r7, #24]
-        temp &= ~((uint32_t)iocurrent);
- 8008666:      693b            ldr     r3, [r7, #16]
- 8008668:      43db            mvns    r3, r3
- 800866a:      69ba            ldr     r2, [r7, #24]
- 800866c:      4013            ands    r3, r2
- 800866e:      61bb            str     r3, [r7, #24]
-        if((GPIO_Init->Mode & GPIO_MODE_EVT) == GPIO_MODE_EVT)
- 8008670:      683b            ldr     r3, [r7, #0]
- 8008672:      685b            ldr     r3, [r3, #4]
- 8008674:      f403 3300       and.w   r3, r3, #131072 ; 0x20000
- 8008678:      2b00            cmp     r3, #0
- 800867a:      d003            beq.n   8008684 <HAL_GPIO_Init+0x2ac>
-        {
-          temp |= iocurrent;
- 800867c:      69ba            ldr     r2, [r7, #24]
- 800867e:      693b            ldr     r3, [r7, #16]
- 8008680:      4313            orrs    r3, r2
- 8008682:      61bb            str     r3, [r7, #24]
-        }
-        EXTI->EMR = temp;
- 8008684:      4a28            ldr     r2, [pc, #160]  ; (8008728 <HAL_GPIO_Init+0x350>)
- 8008686:      69bb            ldr     r3, [r7, #24]
- 8008688:      6053            str     r3, [r2, #4]
-
-        /* Clear Rising Falling edge configuration */
-        temp = EXTI->RTSR;
- 800868a:      4b27            ldr     r3, [pc, #156]  ; (8008728 <HAL_GPIO_Init+0x350>)
- 800868c:      689b            ldr     r3, [r3, #8]
- 800868e:      61bb            str     r3, [r7, #24]
-        temp &= ~((uint32_t)iocurrent);
- 8008690:      693b            ldr     r3, [r7, #16]
- 8008692:      43db            mvns    r3, r3
- 8008694:      69ba            ldr     r2, [r7, #24]
- 8008696:      4013            ands    r3, r2
- 8008698:      61bb            str     r3, [r7, #24]
-        if((GPIO_Init->Mode & RISING_EDGE) == RISING_EDGE)
- 800869a:      683b            ldr     r3, [r7, #0]
- 800869c:      685b            ldr     r3, [r3, #4]
- 800869e:      f403 1380       and.w   r3, r3, #1048576        ; 0x100000
- 80086a2:      2b00            cmp     r3, #0
- 80086a4:      d003            beq.n   80086ae <HAL_GPIO_Init+0x2d6>
-        {
-          temp |= iocurrent;
- 80086a6:      69ba            ldr     r2, [r7, #24]
- 80086a8:      693b            ldr     r3, [r7, #16]
- 80086aa:      4313            orrs    r3, r2
- 80086ac:      61bb            str     r3, [r7, #24]
-        }
-        EXTI->RTSR = temp;
- 80086ae:      4a1e            ldr     r2, [pc, #120]  ; (8008728 <HAL_GPIO_Init+0x350>)
- 80086b0:      69bb            ldr     r3, [r7, #24]
- 80086b2:      6093            str     r3, [r2, #8]
-
-        temp = EXTI->FTSR;
- 80086b4:      4b1c            ldr     r3, [pc, #112]  ; (8008728 <HAL_GPIO_Init+0x350>)
- 80086b6:      68db            ldr     r3, [r3, #12]
- 80086b8:      61bb            str     r3, [r7, #24]
-        temp &= ~((uint32_t)iocurrent);
- 80086ba:      693b            ldr     r3, [r7, #16]
- 80086bc:      43db            mvns    r3, r3
- 80086be:      69ba            ldr     r2, [r7, #24]
- 80086c0:      4013            ands    r3, r2
- 80086c2:      61bb            str     r3, [r7, #24]
-        if((GPIO_Init->Mode & FALLING_EDGE) == FALLING_EDGE)
- 80086c4:      683b            ldr     r3, [r7, #0]
- 80086c6:      685b            ldr     r3, [r3, #4]
- 80086c8:      f403 1300       and.w   r3, r3, #2097152        ; 0x200000
- 80086cc:      2b00            cmp     r3, #0
- 80086ce:      d003            beq.n   80086d8 <HAL_GPIO_Init+0x300>
-        {
-          temp |= iocurrent;
- 80086d0:      69ba            ldr     r2, [r7, #24]
- 80086d2:      693b            ldr     r3, [r7, #16]
- 80086d4:      4313            orrs    r3, r2
- 80086d6:      61bb            str     r3, [r7, #24]
-        }
-        EXTI->FTSR = temp;
- 80086d8:      4a13            ldr     r2, [pc, #76]   ; (8008728 <HAL_GPIO_Init+0x350>)
- 80086da:      69bb            ldr     r3, [r7, #24]
- 80086dc:      60d3            str     r3, [r2, #12]
-  for(position = 0; position < GPIO_NUMBER; position++)
- 80086de:      69fb            ldr     r3, [r7, #28]
- 80086e0:      3301            adds    r3, #1
- 80086e2:      61fb            str     r3, [r7, #28]
- 80086e4:      69fb            ldr     r3, [r7, #28]
- 80086e6:      2b0f            cmp     r3, #15
- 80086e8:      f67f ae86       bls.w   80083f8 <HAL_GPIO_Init+0x20>
-      }
-    }
-  }
-}
- 80086ec:      bf00            nop
- 80086ee:      3724            adds    r7, #36 ; 0x24
- 80086f0:      46bd            mov     sp, r7
- 80086f2:      f85d 7b04       ldr.w   r7, [sp], #4
- 80086f6:      4770            bx      lr
- 80086f8:      40023800        .word   0x40023800
- 80086fc:      40013800        .word   0x40013800
- 8008700:      40020000        .word   0x40020000
- 8008704:      40020400        .word   0x40020400
- 8008708:      40020800        .word   0x40020800
- 800870c:      40020c00        .word   0x40020c00
- 8008710:      40021000        .word   0x40021000
- 8008714:      40021400        .word   0x40021400
- 8008718:      40021800        .word   0x40021800
- 800871c:      40021c00        .word   0x40021c00
- 8008720:      40022000        .word   0x40022000
- 8008724:      40022400        .word   0x40022400
- 8008728:      40013c00        .word   0x40013c00
-
-0800872c <HAL_RCC_OscConfig>:
-  *         supported by this function. User should request a transition to HSE Off
-  *         first and then HSE On or HSE Bypass.
-  * @retval HAL status
-  */
-HAL_StatusTypeDef HAL_RCC_OscConfig(RCC_OscInitTypeDef  *RCC_OscInitStruct)
-{
- 800872c:      b580            push    {r7, lr}
- 800872e:      b086            sub     sp, #24
- 8008730:      af00            add     r7, sp, #0
- 8008732:      6078            str     r0, [r7, #4]
-  uint32_t tickstart;
-  FlagStatus pwrclkchanged = RESET;
- 8008734:      2300            movs    r3, #0
- 8008736:      75fb            strb    r3, [r7, #23]
-
-  /* Check Null pointer */
-  if(RCC_OscInitStruct == NULL)
- 8008738:      687b            ldr     r3, [r7, #4]
- 800873a:      2b00            cmp     r3, #0
- 800873c:      d101            bne.n   8008742 <HAL_RCC_OscConfig+0x16>
-  {
-    return HAL_ERROR;
- 800873e:      2301            movs    r3, #1
- 8008740:      e25e            b.n     8008c00 <HAL_RCC_OscConfig+0x4d4>
-
-  /* Check the parameters */
-  assert_param(IS_RCC_OSCILLATORTYPE(RCC_OscInitStruct->OscillatorType));
-
-  /*------------------------------- HSE Configuration ------------------------*/
-  if(((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_HSE) == RCC_OSCILLATORTYPE_HSE)
- 8008742:      687b            ldr     r3, [r7, #4]
- 8008744:      681b            ldr     r3, [r3, #0]
- 8008746:      f003 0301       and.w   r3, r3, #1
- 800874a:      2b00            cmp     r3, #0
- 800874c:      f000 8087       beq.w   800885e <HAL_RCC_OscConfig+0x132>
-  {
-    /* Check the parameters */
-    assert_param(IS_RCC_HSE(RCC_OscInitStruct->HSEState));
-    /* When the HSE is used as system clock or clock source for PLL, It can not be disabled */
-    if((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_SYSCLKSOURCE_STATUS_HSE)
- 8008750:      4b96            ldr     r3, [pc, #600]  ; (80089ac <HAL_RCC_OscConfig+0x280>)
- 8008752:      689b            ldr     r3, [r3, #8]
- 8008754:      f003 030c       and.w   r3, r3, #12
- 8008758:      2b04            cmp     r3, #4
- 800875a:      d00c            beq.n   8008776 <HAL_RCC_OscConfig+0x4a>
-       || ((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_SYSCLKSOURCE_STATUS_PLLCLK) && ((RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) == RCC_PLLCFGR_PLLSRC_HSE)))
- 800875c:      4b93            ldr     r3, [pc, #588]  ; (80089ac <HAL_RCC_OscConfig+0x280>)
- 800875e:      689b            ldr     r3, [r3, #8]
- 8008760:      f003 030c       and.w   r3, r3, #12
- 8008764:      2b08            cmp     r3, #8
- 8008766:      d112            bne.n   800878e <HAL_RCC_OscConfig+0x62>
- 8008768:      4b90            ldr     r3, [pc, #576]  ; (80089ac <HAL_RCC_OscConfig+0x280>)
- 800876a:      685b            ldr     r3, [r3, #4]
- 800876c:      f403 0380       and.w   r3, r3, #4194304        ; 0x400000
- 8008770:      f5b3 0f80       cmp.w   r3, #4194304    ; 0x400000
- 8008774:      d10b            bne.n   800878e <HAL_RCC_OscConfig+0x62>
-    {
-      if((__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) != RESET) && (RCC_OscInitStruct->HSEState == RCC_HSE_OFF))
- 8008776:      4b8d            ldr     r3, [pc, #564]  ; (80089ac <HAL_RCC_OscConfig+0x280>)
- 8008778:      681b            ldr     r3, [r3, #0]
- 800877a:      f403 3300       and.w   r3, r3, #131072 ; 0x20000
- 800877e:      2b00            cmp     r3, #0
- 8008780:      d06c            beq.n   800885c <HAL_RCC_OscConfig+0x130>
- 8008782:      687b            ldr     r3, [r7, #4]
- 8008784:      685b            ldr     r3, [r3, #4]
- 8008786:      2b00            cmp     r3, #0
- 8008788:      d168            bne.n   800885c <HAL_RCC_OscConfig+0x130>
-      {
-        return HAL_ERROR;
- 800878a:      2301            movs    r3, #1
- 800878c:      e238            b.n     8008c00 <HAL_RCC_OscConfig+0x4d4>
-      }
-    }
-    else
-    {
-      /* Set the new HSE configuration ---------------------------------------*/
-      __HAL_RCC_HSE_CONFIG(RCC_OscInitStruct->HSEState);
- 800878e:      687b            ldr     r3, [r7, #4]
- 8008790:      685b            ldr     r3, [r3, #4]
- 8008792:      f5b3 3f80       cmp.w   r3, #65536      ; 0x10000
- 8008796:      d106            bne.n   80087a6 <HAL_RCC_OscConfig+0x7a>
- 8008798:      4b84            ldr     r3, [pc, #528]  ; (80089ac <HAL_RCC_OscConfig+0x280>)
- 800879a:      681b            ldr     r3, [r3, #0]
- 800879c:      4a83            ldr     r2, [pc, #524]  ; (80089ac <HAL_RCC_OscConfig+0x280>)
- 800879e:      f443 3380       orr.w   r3, r3, #65536  ; 0x10000
- 80087a2:      6013            str     r3, [r2, #0]
- 80087a4:      e02e            b.n     8008804 <HAL_RCC_OscConfig+0xd8>
- 80087a6:      687b            ldr     r3, [r7, #4]
- 80087a8:      685b            ldr     r3, [r3, #4]
- 80087aa:      2b00            cmp     r3, #0
- 80087ac:      d10c            bne.n   80087c8 <HAL_RCC_OscConfig+0x9c>
- 80087ae:      4b7f            ldr     r3, [pc, #508]  ; (80089ac <HAL_RCC_OscConfig+0x280>)
- 80087b0:      681b            ldr     r3, [r3, #0]
- 80087b2:      4a7e            ldr     r2, [pc, #504]  ; (80089ac <HAL_RCC_OscConfig+0x280>)
- 80087b4:      f423 3380       bic.w   r3, r3, #65536  ; 0x10000
- 80087b8:      6013            str     r3, [r2, #0]
- 80087ba:      4b7c            ldr     r3, [pc, #496]  ; (80089ac <HAL_RCC_OscConfig+0x280>)
- 80087bc:      681b            ldr     r3, [r3, #0]
- 80087be:      4a7b            ldr     r2, [pc, #492]  ; (80089ac <HAL_RCC_OscConfig+0x280>)
- 80087c0:      f423 2380       bic.w   r3, r3, #262144 ; 0x40000
- 80087c4:      6013            str     r3, [r2, #0]
- 80087c6:      e01d            b.n     8008804 <HAL_RCC_OscConfig+0xd8>
- 80087c8:      687b            ldr     r3, [r7, #4]
- 80087ca:      685b            ldr     r3, [r3, #4]
- 80087cc:      f5b3 2fa0       cmp.w   r3, #327680     ; 0x50000
- 80087d0:      d10c            bne.n   80087ec <HAL_RCC_OscConfig+0xc0>
- 80087d2:      4b76            ldr     r3, [pc, #472]  ; (80089ac <HAL_RCC_OscConfig+0x280>)
- 80087d4:      681b            ldr     r3, [r3, #0]
- 80087d6:      4a75            ldr     r2, [pc, #468]  ; (80089ac <HAL_RCC_OscConfig+0x280>)
- 80087d8:      f443 2380       orr.w   r3, r3, #262144 ; 0x40000
- 80087dc:      6013            str     r3, [r2, #0]
- 80087de:      4b73            ldr     r3, [pc, #460]  ; (80089ac <HAL_RCC_OscConfig+0x280>)
- 80087e0:      681b            ldr     r3, [r3, #0]
- 80087e2:      4a72            ldr     r2, [pc, #456]  ; (80089ac <HAL_RCC_OscConfig+0x280>)
- 80087e4:      f443 3380       orr.w   r3, r3, #65536  ; 0x10000
- 80087e8:      6013            str     r3, [r2, #0]
- 80087ea:      e00b            b.n     8008804 <HAL_RCC_OscConfig+0xd8>
- 80087ec:      4b6f            ldr     r3, [pc, #444]  ; (80089ac <HAL_RCC_OscConfig+0x280>)
- 80087ee:      681b            ldr     r3, [r3, #0]
- 80087f0:      4a6e            ldr     r2, [pc, #440]  ; (80089ac <HAL_RCC_OscConfig+0x280>)
- 80087f2:      f423 3380       bic.w   r3, r3, #65536  ; 0x10000
- 80087f6:      6013            str     r3, [r2, #0]
- 80087f8:      4b6c            ldr     r3, [pc, #432]  ; (80089ac <HAL_RCC_OscConfig+0x280>)
- 80087fa:      681b            ldr     r3, [r3, #0]
- 80087fc:      4a6b            ldr     r2, [pc, #428]  ; (80089ac <HAL_RCC_OscConfig+0x280>)
- 80087fe:      f423 2380       bic.w   r3, r3, #262144 ; 0x40000
- 8008802:      6013            str     r3, [r2, #0]
-
-      /* Check the HSE State */
-      if(RCC_OscInitStruct->HSEState != RCC_HSE_OFF)
- 8008804:      687b            ldr     r3, [r7, #4]
- 8008806:      685b            ldr     r3, [r3, #4]
- 8008808:      2b00            cmp     r3, #0
- 800880a:      d013            beq.n   8008834 <HAL_RCC_OscConfig+0x108>
-      {
-        /* Get Start Tick*/
-        tickstart = HAL_GetTick();
- 800880c:      f7ff fc42       bl      8008094 <HAL_GetTick>
- 8008810:      6138            str     r0, [r7, #16]
-
-        /* Wait till HSE is ready */
-        while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) == RESET)
- 8008812:      e008            b.n     8008826 <HAL_RCC_OscConfig+0xfa>
-        {
-          if((HAL_GetTick() - tickstart ) > HSE_TIMEOUT_VALUE)
- 8008814:      f7ff fc3e       bl      8008094 <HAL_GetTick>
- 8008818:      4602            mov     r2, r0
- 800881a:      693b            ldr     r3, [r7, #16]
- 800881c:      1ad3            subs    r3, r2, r3
- 800881e:      2b64            cmp     r3, #100        ; 0x64
- 8008820:      d901            bls.n   8008826 <HAL_RCC_OscConfig+0xfa>
-          {
-            return HAL_TIMEOUT;
- 8008822:      2303            movs    r3, #3
- 8008824:      e1ec            b.n     8008c00 <HAL_RCC_OscConfig+0x4d4>
-        while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) == RESET)
- 8008826:      4b61            ldr     r3, [pc, #388]  ; (80089ac <HAL_RCC_OscConfig+0x280>)
- 8008828:      681b            ldr     r3, [r3, #0]
- 800882a:      f403 3300       and.w   r3, r3, #131072 ; 0x20000
- 800882e:      2b00            cmp     r3, #0
- 8008830:      d0f0            beq.n   8008814 <HAL_RCC_OscConfig+0xe8>
- 8008832:      e014            b.n     800885e <HAL_RCC_OscConfig+0x132>
-        }
-      }
-      else
-      {
-        /* Get Start Tick*/
-        tickstart = HAL_GetTick();
- 8008834:      f7ff fc2e       bl      8008094 <HAL_GetTick>
- 8008838:      6138            str     r0, [r7, #16]
-
-        /* Wait till HSE is bypassed or disabled */
-        while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) != RESET)
- 800883a:      e008            b.n     800884e <HAL_RCC_OscConfig+0x122>
-        {
-           if((HAL_GetTick() - tickstart ) > HSE_TIMEOUT_VALUE)
- 800883c:      f7ff fc2a       bl      8008094 <HAL_GetTick>
- 8008840:      4602            mov     r2, r0
- 8008842:      693b            ldr     r3, [r7, #16]
- 8008844:      1ad3            subs    r3, r2, r3
- 8008846:      2b64            cmp     r3, #100        ; 0x64
- 8008848:      d901            bls.n   800884e <HAL_RCC_OscConfig+0x122>
-          {
-            return HAL_TIMEOUT;
- 800884a:      2303            movs    r3, #3
- 800884c:      e1d8            b.n     8008c00 <HAL_RCC_OscConfig+0x4d4>
-        while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) != RESET)
- 800884e:      4b57            ldr     r3, [pc, #348]  ; (80089ac <HAL_RCC_OscConfig+0x280>)
- 8008850:      681b            ldr     r3, [r3, #0]
- 8008852:      f403 3300       and.w   r3, r3, #131072 ; 0x20000
- 8008856:      2b00            cmp     r3, #0
- 8008858:      d1f0            bne.n   800883c <HAL_RCC_OscConfig+0x110>
- 800885a:      e000            b.n     800885e <HAL_RCC_OscConfig+0x132>
-      if((__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) != RESET) && (RCC_OscInitStruct->HSEState == RCC_HSE_OFF))
- 800885c:      bf00            nop
-        }
-      }
-    }
-  }
-  /*----------------------------- HSI Configuration --------------------------*/
-  if(((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_HSI) == RCC_OSCILLATORTYPE_HSI)
- 800885e:      687b            ldr     r3, [r7, #4]
- 8008860:      681b            ldr     r3, [r3, #0]
- 8008862:      f003 0302       and.w   r3, r3, #2
- 8008866:      2b00            cmp     r3, #0
- 8008868:      d069            beq.n   800893e <HAL_RCC_OscConfig+0x212>
-    /* Check the parameters */
-    assert_param(IS_RCC_HSI(RCC_OscInitStruct->HSIState));
-    assert_param(IS_RCC_CALIBRATION_VALUE(RCC_OscInitStruct->HSICalibrationValue));
-
-    /* Check if HSI is used as system clock or as PLL source when PLL is selected as system clock */
-    if((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_SYSCLKSOURCE_STATUS_HSI)
- 800886a:      4b50            ldr     r3, [pc, #320]  ; (80089ac <HAL_RCC_OscConfig+0x280>)
- 800886c:      689b            ldr     r3, [r3, #8]
- 800886e:      f003 030c       and.w   r3, r3, #12
- 8008872:      2b00            cmp     r3, #0
- 8008874:      d00b            beq.n   800888e <HAL_RCC_OscConfig+0x162>
-       || ((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_SYSCLKSOURCE_STATUS_PLLCLK) && ((RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) == RCC_PLLCFGR_PLLSRC_HSI)))
- 8008876:      4b4d            ldr     r3, [pc, #308]  ; (80089ac <HAL_RCC_OscConfig+0x280>)
- 8008878:      689b            ldr     r3, [r3, #8]
- 800887a:      f003 030c       and.w   r3, r3, #12
- 800887e:      2b08            cmp     r3, #8
- 8008880:      d11c            bne.n   80088bc <HAL_RCC_OscConfig+0x190>
- 8008882:      4b4a            ldr     r3, [pc, #296]  ; (80089ac <HAL_RCC_OscConfig+0x280>)
- 8008884:      685b            ldr     r3, [r3, #4]
- 8008886:      f403 0380       and.w   r3, r3, #4194304        ; 0x400000
- 800888a:      2b00            cmp     r3, #0
- 800888c:      d116            bne.n   80088bc <HAL_RCC_OscConfig+0x190>
-    {
-      /* When HSI is used as system clock it will not disabled */
-      if((__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) != RESET) && (RCC_OscInitStruct->HSIState != RCC_HSI_ON))
- 800888e:      4b47            ldr     r3, [pc, #284]  ; (80089ac <HAL_RCC_OscConfig+0x280>)
- 8008890:      681b            ldr     r3, [r3, #0]
- 8008892:      f003 0302       and.w   r3, r3, #2
- 8008896:      2b00            cmp     r3, #0
- 8008898:      d005            beq.n   80088a6 <HAL_RCC_OscConfig+0x17a>
- 800889a:      687b            ldr     r3, [r7, #4]
- 800889c:      68db            ldr     r3, [r3, #12]
- 800889e:      2b01            cmp     r3, #1
- 80088a0:      d001            beq.n   80088a6 <HAL_RCC_OscConfig+0x17a>
-      {
-        return HAL_ERROR;
- 80088a2:      2301            movs    r3, #1
- 80088a4:      e1ac            b.n     8008c00 <HAL_RCC_OscConfig+0x4d4>
-      }
-      /* Otherwise, just the calibration is allowed */
-      else
-      {
-        /* Adjusts the Internal High Speed oscillator (HSI) calibration value.*/
-        __HAL_RCC_HSI_CALIBRATIONVALUE_ADJUST(RCC_OscInitStruct->HSICalibrationValue);
- 80088a6:      4b41            ldr     r3, [pc, #260]  ; (80089ac <HAL_RCC_OscConfig+0x280>)
- 80088a8:      681b            ldr     r3, [r3, #0]
- 80088aa:      f023 02f8       bic.w   r2, r3, #248    ; 0xf8
- 80088ae:      687b            ldr     r3, [r7, #4]
- 80088b0:      691b            ldr     r3, [r3, #16]
- 80088b2:      00db            lsls    r3, r3, #3
- 80088b4:      493d            ldr     r1, [pc, #244]  ; (80089ac <HAL_RCC_OscConfig+0x280>)
- 80088b6:      4313            orrs    r3, r2
- 80088b8:      600b            str     r3, [r1, #0]
-      if((__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) != RESET) && (RCC_OscInitStruct->HSIState != RCC_HSI_ON))
- 80088ba:      e040            b.n     800893e <HAL_RCC_OscConfig+0x212>
-      }
-    }
-    else
-    {
-      /* Check the HSI State */
-      if((RCC_OscInitStruct->HSIState)!= RCC_HSI_OFF)
- 80088bc:      687b            ldr     r3, [r7, #4]
- 80088be:      68db            ldr     r3, [r3, #12]
- 80088c0:      2b00            cmp     r3, #0
- 80088c2:      d023            beq.n   800890c <HAL_RCC_OscConfig+0x1e0>
-      {
-        /* Enable the Internal High Speed oscillator (HSI). */
-        __HAL_RCC_HSI_ENABLE();
- 80088c4:      4b39            ldr     r3, [pc, #228]  ; (80089ac <HAL_RCC_OscConfig+0x280>)
- 80088c6:      681b            ldr     r3, [r3, #0]
- 80088c8:      4a38            ldr     r2, [pc, #224]  ; (80089ac <HAL_RCC_OscConfig+0x280>)
- 80088ca:      f043 0301       orr.w   r3, r3, #1
- 80088ce:      6013            str     r3, [r2, #0]
-
-        /* Get Start Tick*/
-        tickstart = HAL_GetTick();
- 80088d0:      f7ff fbe0       bl      8008094 <HAL_GetTick>
- 80088d4:      6138            str     r0, [r7, #16]
-
-        /* Wait till HSI is ready */
-        while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) == RESET)
- 80088d6:      e008            b.n     80088ea <HAL_RCC_OscConfig+0x1be>
-        {
-          if((HAL_GetTick() - tickstart ) > HSI_TIMEOUT_VALUE)
- 80088d8:      f7ff fbdc       bl      8008094 <HAL_GetTick>
- 80088dc:      4602            mov     r2, r0
- 80088de:      693b            ldr     r3, [r7, #16]
- 80088e0:      1ad3            subs    r3, r2, r3
- 80088e2:      2b02            cmp     r3, #2
- 80088e4:      d901            bls.n   80088ea <HAL_RCC_OscConfig+0x1be>
-          {
-            return HAL_TIMEOUT;
- 80088e6:      2303            movs    r3, #3
- 80088e8:      e18a            b.n     8008c00 <HAL_RCC_OscConfig+0x4d4>
-        while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) == RESET)
- 80088ea:      4b30            ldr     r3, [pc, #192]  ; (80089ac <HAL_RCC_OscConfig+0x280>)
- 80088ec:      681b            ldr     r3, [r3, #0]
- 80088ee:      f003 0302       and.w   r3, r3, #2
- 80088f2:      2b00            cmp     r3, #0
- 80088f4:      d0f0            beq.n   80088d8 <HAL_RCC_OscConfig+0x1ac>
-          }
-        }
-
-        /* Adjusts the Internal High Speed oscillator (HSI) calibration value.*/
-        __HAL_RCC_HSI_CALIBRATIONVALUE_ADJUST(RCC_OscInitStruct->HSICalibrationValue);
- 80088f6:      4b2d            ldr     r3, [pc, #180]  ; (80089ac <HAL_RCC_OscConfig+0x280>)
- 80088f8:      681b            ldr     r3, [r3, #0]
- 80088fa:      f023 02f8       bic.w   r2, r3, #248    ; 0xf8
- 80088fe:      687b            ldr     r3, [r7, #4]
- 8008900:      691b            ldr     r3, [r3, #16]
- 8008902:      00db            lsls    r3, r3, #3
- 8008904:      4929            ldr     r1, [pc, #164]  ; (80089ac <HAL_RCC_OscConfig+0x280>)
- 8008906:      4313            orrs    r3, r2
- 8008908:      600b            str     r3, [r1, #0]
- 800890a:      e018            b.n     800893e <HAL_RCC_OscConfig+0x212>
-      }
-      else
-      {
-        /* Disable the Internal High Speed oscillator (HSI). */
-        __HAL_RCC_HSI_DISABLE();
- 800890c:      4b27            ldr     r3, [pc, #156]  ; (80089ac <HAL_RCC_OscConfig+0x280>)
- 800890e:      681b            ldr     r3, [r3, #0]
- 8008910:      4a26            ldr     r2, [pc, #152]  ; (80089ac <HAL_RCC_OscConfig+0x280>)
- 8008912:      f023 0301       bic.w   r3, r3, #1
- 8008916:      6013            str     r3, [r2, #0]
-
-        /* Get Start Tick*/
-        tickstart = HAL_GetTick();
- 8008918:      f7ff fbbc       bl      8008094 <HAL_GetTick>
- 800891c:      6138            str     r0, [r7, #16]
-
-        /* Wait till HSI is ready */
-        while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) != RESET)
- 800891e:      e008            b.n     8008932 <HAL_RCC_OscConfig+0x206>
-        {
-          if((HAL_GetTick() - tickstart ) > HSI_TIMEOUT_VALUE)
- 8008920:      f7ff fbb8       bl      8008094 <HAL_GetTick>
- 8008924:      4602            mov     r2, r0
- 8008926:      693b            ldr     r3, [r7, #16]
- 8008928:      1ad3            subs    r3, r2, r3
- 800892a:      2b02            cmp     r3, #2
- 800892c:      d901            bls.n   8008932 <HAL_RCC_OscConfig+0x206>
-          {
-            return HAL_TIMEOUT;
- 800892e:      2303            movs    r3, #3
- 8008930:      e166            b.n     8008c00 <HAL_RCC_OscConfig+0x4d4>
-        while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) != RESET)
- 8008932:      4b1e            ldr     r3, [pc, #120]  ; (80089ac <HAL_RCC_OscConfig+0x280>)
- 8008934:      681b            ldr     r3, [r3, #0]
- 8008936:      f003 0302       and.w   r3, r3, #2
- 800893a:      2b00            cmp     r3, #0
- 800893c:      d1f0            bne.n   8008920 <HAL_RCC_OscConfig+0x1f4>
-        }
-      }
-    }
-  }
-  /*------------------------------ LSI Configuration -------------------------*/
-  if(((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_LSI) == RCC_OSCILLATORTYPE_LSI)
- 800893e:      687b            ldr     r3, [r7, #4]
- 8008940:      681b            ldr     r3, [r3, #0]
- 8008942:      f003 0308       and.w   r3, r3, #8
- 8008946:      2b00            cmp     r3, #0
- 8008948:      d038            beq.n   80089bc <HAL_RCC_OscConfig+0x290>
-  {
-    /* Check the parameters */
-    assert_param(IS_RCC_LSI(RCC_OscInitStruct->LSIState));
-
-    /* Check the LSI State */
-    if((RCC_OscInitStruct->LSIState)!= RCC_LSI_OFF)
- 800894a:      687b            ldr     r3, [r7, #4]
- 800894c:      695b            ldr     r3, [r3, #20]
- 800894e:      2b00            cmp     r3, #0
- 8008950:      d019            beq.n   8008986 <HAL_RCC_OscConfig+0x25a>
-    {
-      /* Enable the Internal Low Speed oscillator (LSI). */
-      __HAL_RCC_LSI_ENABLE();
- 8008952:      4b16            ldr     r3, [pc, #88]   ; (80089ac <HAL_RCC_OscConfig+0x280>)
- 8008954:      6f5b            ldr     r3, [r3, #116]  ; 0x74
- 8008956:      4a15            ldr     r2, [pc, #84]   ; (80089ac <HAL_RCC_OscConfig+0x280>)
- 8008958:      f043 0301       orr.w   r3, r3, #1
- 800895c:      6753            str     r3, [r2, #116]  ; 0x74
-
-      /* Get Start Tick*/
-      tickstart = HAL_GetTick();
- 800895e:      f7ff fb99       bl      8008094 <HAL_GetTick>
- 8008962:      6138            str     r0, [r7, #16]
-
-      /* Wait till LSI is ready */
-      while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSIRDY) == RESET)
- 8008964:      e008            b.n     8008978 <HAL_RCC_OscConfig+0x24c>
-      {
-        if((HAL_GetTick() - tickstart ) > LSI_TIMEOUT_VALUE)
- 8008966:      f7ff fb95       bl      8008094 <HAL_GetTick>
- 800896a:      4602            mov     r2, r0
- 800896c:      693b            ldr     r3, [r7, #16]
- 800896e:      1ad3            subs    r3, r2, r3
- 8008970:      2b02            cmp     r3, #2
- 8008972:      d901            bls.n   8008978 <HAL_RCC_OscConfig+0x24c>
-        {
-          return HAL_TIMEOUT;
- 8008974:      2303            movs    r3, #3
- 8008976:      e143            b.n     8008c00 <HAL_RCC_OscConfig+0x4d4>
-      while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSIRDY) == RESET)
- 8008978:      4b0c            ldr     r3, [pc, #48]   ; (80089ac <HAL_RCC_OscConfig+0x280>)
- 800897a:      6f5b            ldr     r3, [r3, #116]  ; 0x74
- 800897c:      f003 0302       and.w   r3, r3, #2
- 8008980:      2b00            cmp     r3, #0
- 8008982:      d0f0            beq.n   8008966 <HAL_RCC_OscConfig+0x23a>
- 8008984:      e01a            b.n     80089bc <HAL_RCC_OscConfig+0x290>
-      }
-    }
-    else
-    {
-      /* Disable the Internal Low Speed oscillator (LSI). */
-      __HAL_RCC_LSI_DISABLE();
- 8008986:      4b09            ldr     r3, [pc, #36]   ; (80089ac <HAL_RCC_OscConfig+0x280>)
- 8008988:      6f5b            ldr     r3, [r3, #116]  ; 0x74
- 800898a:      4a08            ldr     r2, [pc, #32]   ; (80089ac <HAL_RCC_OscConfig+0x280>)
- 800898c:      f023 0301       bic.w   r3, r3, #1
- 8008990:      6753            str     r3, [r2, #116]  ; 0x74
-
-      /* Get Start Tick*/
-      tickstart = HAL_GetTick();
- 8008992:      f7ff fb7f       bl      8008094 <HAL_GetTick>
- 8008996:      6138            str     r0, [r7, #16]
-
-      /* Wait till LSI is ready */
-      while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSIRDY) != RESET)
- 8008998:      e00a            b.n     80089b0 <HAL_RCC_OscConfig+0x284>
-      {
-        if((HAL_GetTick() - tickstart ) > LSI_TIMEOUT_VALUE)
- 800899a:      f7ff fb7b       bl      8008094 <HAL_GetTick>
- 800899e:      4602            mov     r2, r0
- 80089a0:      693b            ldr     r3, [r7, #16]
- 80089a2:      1ad3            subs    r3, r2, r3
- 80089a4:      2b02            cmp     r3, #2
- 80089a6:      d903            bls.n   80089b0 <HAL_RCC_OscConfig+0x284>
-        {
-          return HAL_TIMEOUT;
- 80089a8:      2303            movs    r3, #3
- 80089aa:      e129            b.n     8008c00 <HAL_RCC_OscConfig+0x4d4>
- 80089ac:      40023800        .word   0x40023800
-      while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSIRDY) != RESET)
- 80089b0:      4b95            ldr     r3, [pc, #596]  ; (8008c08 <HAL_RCC_OscConfig+0x4dc>)
- 80089b2:      6f5b            ldr     r3, [r3, #116]  ; 0x74
- 80089b4:      f003 0302       and.w   r3, r3, #2
- 80089b8:      2b00            cmp     r3, #0
- 80089ba:      d1ee            bne.n   800899a <HAL_RCC_OscConfig+0x26e>
-        }
-      }
-    }
-  }
-  /*------------------------------ LSE Configuration -------------------------*/
-  if(((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_LSE) == RCC_OSCILLATORTYPE_LSE)
- 80089bc:      687b            ldr     r3, [r7, #4]
- 80089be:      681b            ldr     r3, [r3, #0]
- 80089c0:      f003 0304       and.w   r3, r3, #4
- 80089c4:      2b00            cmp     r3, #0
- 80089c6:      f000 80a4       beq.w   8008b12 <HAL_RCC_OscConfig+0x3e6>
-    /* Check the parameters */
-    assert_param(IS_RCC_LSE(RCC_OscInitStruct->LSEState));
-
-    /* Update LSE configuration in Backup Domain control register    */
-    /* Requires to enable write access to Backup Domain of necessary */
-    if(__HAL_RCC_PWR_IS_CLK_DISABLED())
- 80089ca:      4b8f            ldr     r3, [pc, #572]  ; (8008c08 <HAL_RCC_OscConfig+0x4dc>)
- 80089cc:      6c1b            ldr     r3, [r3, #64]   ; 0x40
- 80089ce:      f003 5380       and.w   r3, r3, #268435456      ; 0x10000000
- 80089d2:      2b00            cmp     r3, #0
- 80089d4:      d10d            bne.n   80089f2 <HAL_RCC_OscConfig+0x2c6>
-    {
-      /* Enable Power Clock*/
-      __HAL_RCC_PWR_CLK_ENABLE();
- 80089d6:      4b8c            ldr     r3, [pc, #560]  ; (8008c08 <HAL_RCC_OscConfig+0x4dc>)
- 80089d8:      6c1b            ldr     r3, [r3, #64]   ; 0x40
- 80089da:      4a8b            ldr     r2, [pc, #556]  ; (8008c08 <HAL_RCC_OscConfig+0x4dc>)
- 80089dc:      f043 5380       orr.w   r3, r3, #268435456      ; 0x10000000
- 80089e0:      6413            str     r3, [r2, #64]   ; 0x40
- 80089e2:      4b89            ldr     r3, [pc, #548]  ; (8008c08 <HAL_RCC_OscConfig+0x4dc>)
- 80089e4:      6c1b            ldr     r3, [r3, #64]   ; 0x40
- 80089e6:      f003 5380       and.w   r3, r3, #268435456      ; 0x10000000
- 80089ea:      60fb            str     r3, [r7, #12]
- 80089ec:      68fb            ldr     r3, [r7, #12]
-      pwrclkchanged = SET;
- 80089ee:      2301            movs    r3, #1
- 80089f0:      75fb            strb    r3, [r7, #23]
-    }
-
-    if(HAL_IS_BIT_CLR(PWR->CR1, PWR_CR1_DBP))
- 80089f2:      4b86            ldr     r3, [pc, #536]  ; (8008c0c <HAL_RCC_OscConfig+0x4e0>)
- 80089f4:      681b            ldr     r3, [r3, #0]
- 80089f6:      f403 7380       and.w   r3, r3, #256    ; 0x100
- 80089fa:      2b00            cmp     r3, #0
- 80089fc:      d118            bne.n   8008a30 <HAL_RCC_OscConfig+0x304>
-    {
-      /* Enable write access to Backup domain */
-      PWR->CR1 |= PWR_CR1_DBP;
- 80089fe:      4b83            ldr     r3, [pc, #524]  ; (8008c0c <HAL_RCC_OscConfig+0x4e0>)
- 8008a00:      681b            ldr     r3, [r3, #0]
- 8008a02:      4a82            ldr     r2, [pc, #520]  ; (8008c0c <HAL_RCC_OscConfig+0x4e0>)
- 8008a04:      f443 7380       orr.w   r3, r3, #256    ; 0x100
- 8008a08:      6013            str     r3, [r2, #0]
-
-      /* Wait for Backup domain Write protection disable */
-      tickstart = HAL_GetTick();
- 8008a0a:      f7ff fb43       bl      8008094 <HAL_GetTick>
- 8008a0e:      6138            str     r0, [r7, #16]
-
-      while(HAL_IS_BIT_CLR(PWR->CR1, PWR_CR1_DBP))
- 8008a10:      e008            b.n     8008a24 <HAL_RCC_OscConfig+0x2f8>
-      {
-        if((HAL_GetTick() - tickstart ) > RCC_DBP_TIMEOUT_VALUE)
- 8008a12:      f7ff fb3f       bl      8008094 <HAL_GetTick>
- 8008a16:      4602            mov     r2, r0
- 8008a18:      693b            ldr     r3, [r7, #16]
- 8008a1a:      1ad3            subs    r3, r2, r3
- 8008a1c:      2b64            cmp     r3, #100        ; 0x64
- 8008a1e:      d901            bls.n   8008a24 <HAL_RCC_OscConfig+0x2f8>
-        {
-          return HAL_TIMEOUT;
- 8008a20:      2303            movs    r3, #3
- 8008a22:      e0ed            b.n     8008c00 <HAL_RCC_OscConfig+0x4d4>
-      while(HAL_IS_BIT_CLR(PWR->CR1, PWR_CR1_DBP))
- 8008a24:      4b79            ldr     r3, [pc, #484]  ; (8008c0c <HAL_RCC_OscConfig+0x4e0>)
- 8008a26:      681b            ldr     r3, [r3, #0]
- 8008a28:      f403 7380       and.w   r3, r3, #256    ; 0x100
- 8008a2c:      2b00            cmp     r3, #0
- 8008a2e:      d0f0            beq.n   8008a12 <HAL_RCC_OscConfig+0x2e6>
-        }
-      }
-    }
-
-    /* Set the new LSE configuration -----------------------------------------*/
-    __HAL_RCC_LSE_CONFIG(RCC_OscInitStruct->LSEState);
- 8008a30:      687b            ldr     r3, [r7, #4]
- 8008a32:      689b            ldr     r3, [r3, #8]
- 8008a34:      2b01            cmp     r3, #1
- 8008a36:      d106            bne.n   8008a46 <HAL_RCC_OscConfig+0x31a>
- 8008a38:      4b73            ldr     r3, [pc, #460]  ; (8008c08 <HAL_RCC_OscConfig+0x4dc>)
- 8008a3a:      6f1b            ldr     r3, [r3, #112]  ; 0x70
- 8008a3c:      4a72            ldr     r2, [pc, #456]  ; (8008c08 <HAL_RCC_OscConfig+0x4dc>)
- 8008a3e:      f043 0301       orr.w   r3, r3, #1
- 8008a42:      6713            str     r3, [r2, #112]  ; 0x70
- 8008a44:      e02d            b.n     8008aa2 <HAL_RCC_OscConfig+0x376>
- 8008a46:      687b            ldr     r3, [r7, #4]
- 8008a48:      689b            ldr     r3, [r3, #8]
- 8008a4a:      2b00            cmp     r3, #0
- 8008a4c:      d10c            bne.n   8008a68 <HAL_RCC_OscConfig+0x33c>
- 8008a4e:      4b6e            ldr     r3, [pc, #440]  ; (8008c08 <HAL_RCC_OscConfig+0x4dc>)
- 8008a50:      6f1b            ldr     r3, [r3, #112]  ; 0x70
- 8008a52:      4a6d            ldr     r2, [pc, #436]  ; (8008c08 <HAL_RCC_OscConfig+0x4dc>)
- 8008a54:      f023 0301       bic.w   r3, r3, #1
- 8008a58:      6713            str     r3, [r2, #112]  ; 0x70
- 8008a5a:      4b6b            ldr     r3, [pc, #428]  ; (8008c08 <HAL_RCC_OscConfig+0x4dc>)
- 8008a5c:      6f1b            ldr     r3, [r3, #112]  ; 0x70
- 8008a5e:      4a6a            ldr     r2, [pc, #424]  ; (8008c08 <HAL_RCC_OscConfig+0x4dc>)
- 8008a60:      f023 0304       bic.w   r3, r3, #4
- 8008a64:      6713            str     r3, [r2, #112]  ; 0x70
- 8008a66:      e01c            b.n     8008aa2 <HAL_RCC_OscConfig+0x376>
- 8008a68:      687b            ldr     r3, [r7, #4]
- 8008a6a:      689b            ldr     r3, [r3, #8]
- 8008a6c:      2b05            cmp     r3, #5
- 8008a6e:      d10c            bne.n   8008a8a <HAL_RCC_OscConfig+0x35e>
- 8008a70:      4b65            ldr     r3, [pc, #404]  ; (8008c08 <HAL_RCC_OscConfig+0x4dc>)
- 8008a72:      6f1b            ldr     r3, [r3, #112]  ; 0x70
- 8008a74:      4a64            ldr     r2, [pc, #400]  ; (8008c08 <HAL_RCC_OscConfig+0x4dc>)
- 8008a76:      f043 0304       orr.w   r3, r3, #4
- 8008a7a:      6713            str     r3, [r2, #112]  ; 0x70
- 8008a7c:      4b62            ldr     r3, [pc, #392]  ; (8008c08 <HAL_RCC_OscConfig+0x4dc>)
- 8008a7e:      6f1b            ldr     r3, [r3, #112]  ; 0x70
- 8008a80:      4a61            ldr     r2, [pc, #388]  ; (8008c08 <HAL_RCC_OscConfig+0x4dc>)
- 8008a82:      f043 0301       orr.w   r3, r3, #1
- 8008a86:      6713            str     r3, [r2, #112]  ; 0x70
- 8008a88:      e00b            b.n     8008aa2 <HAL_RCC_OscConfig+0x376>
- 8008a8a:      4b5f            ldr     r3, [pc, #380]  ; (8008c08 <HAL_RCC_OscConfig+0x4dc>)
- 8008a8c:      6f1b            ldr     r3, [r3, #112]  ; 0x70
- 8008a8e:      4a5e            ldr     r2, [pc, #376]  ; (8008c08 <HAL_RCC_OscConfig+0x4dc>)
- 8008a90:      f023 0301       bic.w   r3, r3, #1
- 8008a94:      6713            str     r3, [r2, #112]  ; 0x70
- 8008a96:      4b5c            ldr     r3, [pc, #368]  ; (8008c08 <HAL_RCC_OscConfig+0x4dc>)
- 8008a98:      6f1b            ldr     r3, [r3, #112]  ; 0x70
- 8008a9a:      4a5b            ldr     r2, [pc, #364]  ; (8008c08 <HAL_RCC_OscConfig+0x4dc>)
- 8008a9c:      f023 0304       bic.w   r3, r3, #4
- 8008aa0:      6713            str     r3, [r2, #112]  ; 0x70
-    /* Check the LSE State */
-    if((RCC_OscInitStruct->LSEState) != RCC_LSE_OFF)
- 8008aa2:      687b            ldr     r3, [r7, #4]
- 8008aa4:      689b            ldr     r3, [r3, #8]
- 8008aa6:      2b00            cmp     r3, #0
- 8008aa8:      d015            beq.n   8008ad6 <HAL_RCC_OscConfig+0x3aa>
-    {
-      /* Get Start Tick*/
-      tickstart = HAL_GetTick();
- 8008aaa:      f7ff faf3       bl      8008094 <HAL_GetTick>
- 8008aae:      6138            str     r0, [r7, #16]
-
-      /* Wait till LSE is ready */
-      while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) == RESET)
- 8008ab0:      e00a            b.n     8008ac8 <HAL_RCC_OscConfig+0x39c>
-      {
-        if((HAL_GetTick() - tickstart ) > RCC_LSE_TIMEOUT_VALUE)
- 8008ab2:      f7ff faef       bl      8008094 <HAL_GetTick>
- 8008ab6:      4602            mov     r2, r0
- 8008ab8:      693b            ldr     r3, [r7, #16]
- 8008aba:      1ad3            subs    r3, r2, r3
- 8008abc:      f241 3288       movw    r2, #5000       ; 0x1388
- 8008ac0:      4293            cmp     r3, r2
- 8008ac2:      d901            bls.n   8008ac8 <HAL_RCC_OscConfig+0x39c>
-        {
-          return HAL_TIMEOUT;
- 8008ac4:      2303            movs    r3, #3
- 8008ac6:      e09b            b.n     8008c00 <HAL_RCC_OscConfig+0x4d4>
-      while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) == RESET)
- 8008ac8:      4b4f            ldr     r3, [pc, #316]  ; (8008c08 <HAL_RCC_OscConfig+0x4dc>)
- 8008aca:      6f1b            ldr     r3, [r3, #112]  ; 0x70
- 8008acc:      f003 0302       and.w   r3, r3, #2
- 8008ad0:      2b00            cmp     r3, #0
- 8008ad2:      d0ee            beq.n   8008ab2 <HAL_RCC_OscConfig+0x386>
- 8008ad4:      e014            b.n     8008b00 <HAL_RCC_OscConfig+0x3d4>
-      }
-    }
-    else
-    {
-      /* Get Start Tick*/
-      tickstart = HAL_GetTick();
- 8008ad6:      f7ff fadd       bl      8008094 <HAL_GetTick>
- 8008ada:      6138            str     r0, [r7, #16]
-
-      /* Wait till LSE is ready */
-      while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) != RESET)
- 8008adc:      e00a            b.n     8008af4 <HAL_RCC_OscConfig+0x3c8>
-      {
-        if((HAL_GetTick() - tickstart ) > RCC_LSE_TIMEOUT_VALUE)
- 8008ade:      f7ff fad9       bl      8008094 <HAL_GetTick>
- 8008ae2:      4602            mov     r2, r0
- 8008ae4:      693b            ldr     r3, [r7, #16]
- 8008ae6:      1ad3            subs    r3, r2, r3
- 8008ae8:      f241 3288       movw    r2, #5000       ; 0x1388
- 8008aec:      4293            cmp     r3, r2
- 8008aee:      d901            bls.n   8008af4 <HAL_RCC_OscConfig+0x3c8>
-        {
-          return HAL_TIMEOUT;
- 8008af0:      2303            movs    r3, #3
- 8008af2:      e085            b.n     8008c00 <HAL_RCC_OscConfig+0x4d4>
-      while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) != RESET)
- 8008af4:      4b44            ldr     r3, [pc, #272]  ; (8008c08 <HAL_RCC_OscConfig+0x4dc>)
- 8008af6:      6f1b            ldr     r3, [r3, #112]  ; 0x70
- 8008af8:      f003 0302       and.w   r3, r3, #2
- 8008afc:      2b00            cmp     r3, #0
- 8008afe:      d1ee            bne.n   8008ade <HAL_RCC_OscConfig+0x3b2>
-        }
-      }
-    }
-
-    /* Restore clock configuration if changed */
-    if(pwrclkchanged == SET)
- 8008b00:      7dfb            ldrb    r3, [r7, #23]
- 8008b02:      2b01            cmp     r3, #1
- 8008b04:      d105            bne.n   8008b12 <HAL_RCC_OscConfig+0x3e6>
-    {
-      __HAL_RCC_PWR_CLK_DISABLE();
- 8008b06:      4b40            ldr     r3, [pc, #256]  ; (8008c08 <HAL_RCC_OscConfig+0x4dc>)
- 8008b08:      6c1b            ldr     r3, [r3, #64]   ; 0x40
- 8008b0a:      4a3f            ldr     r2, [pc, #252]  ; (8008c08 <HAL_RCC_OscConfig+0x4dc>)
- 8008b0c:      f023 5380       bic.w   r3, r3, #268435456      ; 0x10000000
- 8008b10:      6413            str     r3, [r2, #64]   ; 0x40
-    }
-  }
-  /*-------------------------------- PLL Configuration -----------------------*/
-  /* Check the parameters */
-  assert_param(IS_RCC_PLL(RCC_OscInitStruct->PLL.PLLState));
-  if ((RCC_OscInitStruct->PLL.PLLState) != RCC_PLL_NONE)
- 8008b12:      687b            ldr     r3, [r7, #4]
- 8008b14:      699b            ldr     r3, [r3, #24]
- 8008b16:      2b00            cmp     r3, #0
- 8008b18:      d071            beq.n   8008bfe <HAL_RCC_OscConfig+0x4d2>
-  {
-    /* Check if the PLL is used as system clock or not */
-    if(__HAL_RCC_GET_SYSCLK_SOURCE() != RCC_SYSCLKSOURCE_STATUS_PLLCLK)
- 8008b1a:      4b3b            ldr     r3, [pc, #236]  ; (8008c08 <HAL_RCC_OscConfig+0x4dc>)
- 8008b1c:      689b            ldr     r3, [r3, #8]
- 8008b1e:      f003 030c       and.w   r3, r3, #12
- 8008b22:      2b08            cmp     r3, #8
- 8008b24:      d069            beq.n   8008bfa <HAL_RCC_OscConfig+0x4ce>
-    {
-      if((RCC_OscInitStruct->PLL.PLLState) == RCC_PLL_ON)
- 8008b26:      687b            ldr     r3, [r7, #4]
- 8008b28:      699b            ldr     r3, [r3, #24]
- 8008b2a:      2b02            cmp     r3, #2
- 8008b2c:      d14b            bne.n   8008bc6 <HAL_RCC_OscConfig+0x49a>
-#if defined (RCC_PLLCFGR_PLLR)
-        assert_param(IS_RCC_PLLR_VALUE(RCC_OscInitStruct->PLL.PLLR));
-#endif
-
-        /* Disable the main PLL. */
-        __HAL_RCC_PLL_DISABLE();
- 8008b2e:      4b36            ldr     r3, [pc, #216]  ; (8008c08 <HAL_RCC_OscConfig+0x4dc>)
- 8008b30:      681b            ldr     r3, [r3, #0]
- 8008b32:      4a35            ldr     r2, [pc, #212]  ; (8008c08 <HAL_RCC_OscConfig+0x4dc>)
- 8008b34:      f023 7380       bic.w   r3, r3, #16777216       ; 0x1000000
- 8008b38:      6013            str     r3, [r2, #0]
-
-        /* Get Start Tick*/
-        tickstart = HAL_GetTick();
- 8008b3a:      f7ff faab       bl      8008094 <HAL_GetTick>
- 8008b3e:      6138            str     r0, [r7, #16]
-
-        /* Wait till PLL is ready */
-        while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) != RESET)
- 8008b40:      e008            b.n     8008b54 <HAL_RCC_OscConfig+0x428>
-        {
-          if((HAL_GetTick() - tickstart ) > PLL_TIMEOUT_VALUE)
- 8008b42:      f7ff faa7       bl      8008094 <HAL_GetTick>
- 8008b46:      4602            mov     r2, r0
- 8008b48:      693b            ldr     r3, [r7, #16]
- 8008b4a:      1ad3            subs    r3, r2, r3
- 8008b4c:      2b02            cmp     r3, #2
- 8008b4e:      d901            bls.n   8008b54 <HAL_RCC_OscConfig+0x428>
-          {
-            return HAL_TIMEOUT;
- 8008b50:      2303            movs    r3, #3
- 8008b52:      e055            b.n     8008c00 <HAL_RCC_OscConfig+0x4d4>
-        while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) != RESET)
- 8008b54:      4b2c            ldr     r3, [pc, #176]  ; (8008c08 <HAL_RCC_OscConfig+0x4dc>)
- 8008b56:      681b            ldr     r3, [r3, #0]
- 8008b58:      f003 7300       and.w   r3, r3, #33554432       ; 0x2000000
- 8008b5c:      2b00            cmp     r3, #0
- 8008b5e:      d1f0            bne.n   8008b42 <HAL_RCC_OscConfig+0x416>
-          }
-        }
-
-        /* Configure the main PLL clock source, multiplication and division factors. */
-#if defined (RCC_PLLCFGR_PLLR)
-        __HAL_RCC_PLL_CONFIG(RCC_OscInitStruct->PLL.PLLSource,
- 8008b60:      687b            ldr     r3, [r7, #4]
- 8008b62:      69da            ldr     r2, [r3, #28]
- 8008b64:      687b            ldr     r3, [r7, #4]
- 8008b66:      6a1b            ldr     r3, [r3, #32]
- 8008b68:      431a            orrs    r2, r3
- 8008b6a:      687b            ldr     r3, [r7, #4]
- 8008b6c:      6a5b            ldr     r3, [r3, #36]   ; 0x24
- 8008b6e:      019b            lsls    r3, r3, #6
- 8008b70:      431a            orrs    r2, r3
- 8008b72:      687b            ldr     r3, [r7, #4]
- 8008b74:      6a9b            ldr     r3, [r3, #40]   ; 0x28
- 8008b76:      085b            lsrs    r3, r3, #1
- 8008b78:      3b01            subs    r3, #1
- 8008b7a:      041b            lsls    r3, r3, #16
- 8008b7c:      431a            orrs    r2, r3
- 8008b7e:      687b            ldr     r3, [r7, #4]
- 8008b80:      6adb            ldr     r3, [r3, #44]   ; 0x2c
- 8008b82:      061b            lsls    r3, r3, #24
- 8008b84:      431a            orrs    r2, r3
- 8008b86:      687b            ldr     r3, [r7, #4]
- 8008b88:      6b1b            ldr     r3, [r3, #48]   ; 0x30
- 8008b8a:      071b            lsls    r3, r3, #28
- 8008b8c:      491e            ldr     r1, [pc, #120]  ; (8008c08 <HAL_RCC_OscConfig+0x4dc>)
- 8008b8e:      4313            orrs    r3, r2
- 8008b90:      604b            str     r3, [r1, #4]
-                             RCC_OscInitStruct->PLL.PLLP,
-                             RCC_OscInitStruct->PLL.PLLQ);
-#endif
-
-        /* Enable the main PLL. */
-        __HAL_RCC_PLL_ENABLE();
- 8008b92:      4b1d            ldr     r3, [pc, #116]  ; (8008c08 <HAL_RCC_OscConfig+0x4dc>)
- 8008b94:      681b            ldr     r3, [r3, #0]
- 8008b96:      4a1c            ldr     r2, [pc, #112]  ; (8008c08 <HAL_RCC_OscConfig+0x4dc>)
- 8008b98:      f043 7380       orr.w   r3, r3, #16777216       ; 0x1000000
- 8008b9c:      6013            str     r3, [r2, #0]
-
-        /* Get Start Tick*/
-        tickstart = HAL_GetTick();
- 8008b9e:      f7ff fa79       bl      8008094 <HAL_GetTick>
- 8008ba2:      6138            str     r0, [r7, #16]
-
-        /* Wait till PLL is ready */
-        while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) == RESET)
- 8008ba4:      e008            b.n     8008bb8 <HAL_RCC_OscConfig+0x48c>
-        {
-          if((HAL_GetTick() - tickstart ) > PLL_TIMEOUT_VALUE)
- 8008ba6:      f7ff fa75       bl      8008094 <HAL_GetTick>
- 8008baa:      4602            mov     r2, r0
- 8008bac:      693b            ldr     r3, [r7, #16]
- 8008bae:      1ad3            subs    r3, r2, r3
- 8008bb0:      2b02            cmp     r3, #2
- 8008bb2:      d901            bls.n   8008bb8 <HAL_RCC_OscConfig+0x48c>
-          {
-            return HAL_TIMEOUT;
- 8008bb4:      2303            movs    r3, #3
- 8008bb6:      e023            b.n     8008c00 <HAL_RCC_OscConfig+0x4d4>
-        while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) == RESET)
- 8008bb8:      4b13            ldr     r3, [pc, #76]   ; (8008c08 <HAL_RCC_OscConfig+0x4dc>)
- 8008bba:      681b            ldr     r3, [r3, #0]
- 8008bbc:      f003 7300       and.w   r3, r3, #33554432       ; 0x2000000
- 8008bc0:      2b00            cmp     r3, #0
- 8008bc2:      d0f0            beq.n   8008ba6 <HAL_RCC_OscConfig+0x47a>
- 8008bc4:      e01b            b.n     8008bfe <HAL_RCC_OscConfig+0x4d2>
-        }
-      }
-      else
-      {
-        /* Disable the main PLL. */
-        __HAL_RCC_PLL_DISABLE();
- 8008bc6:      4b10            ldr     r3, [pc, #64]   ; (8008c08 <HAL_RCC_OscConfig+0x4dc>)
- 8008bc8:      681b            ldr     r3, [r3, #0]
- 8008bca:      4a0f            ldr     r2, [pc, #60]   ; (8008c08 <HAL_RCC_OscConfig+0x4dc>)
- 8008bcc:      f023 7380       bic.w   r3, r3, #16777216       ; 0x1000000
- 8008bd0:      6013            str     r3, [r2, #0]
-
-        /* Get Start Tick*/
-        tickstart = HAL_GetTick();
- 8008bd2:      f7ff fa5f       bl      8008094 <HAL_GetTick>
- 8008bd6:      6138            str     r0, [r7, #16]
-
-        /* Wait till PLL is ready */
-        while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) != RESET)
- 8008bd8:      e008            b.n     8008bec <HAL_RCC_OscConfig+0x4c0>
-        {
-          if((HAL_GetTick() - tickstart ) > PLL_TIMEOUT_VALUE)
- 8008bda:      f7ff fa5b       bl      8008094 <HAL_GetTick>
- 8008bde:      4602            mov     r2, r0
- 8008be0:      693b            ldr     r3, [r7, #16]
- 8008be2:      1ad3            subs    r3, r2, r3
- 8008be4:      2b02            cmp     r3, #2
- 8008be6:      d901            bls.n   8008bec <HAL_RCC_OscConfig+0x4c0>
-          {
-            return HAL_TIMEOUT;
- 8008be8:      2303            movs    r3, #3
- 8008bea:      e009            b.n     8008c00 <HAL_RCC_OscConfig+0x4d4>
-        while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) != RESET)
- 8008bec:      4b06            ldr     r3, [pc, #24]   ; (8008c08 <HAL_RCC_OscConfig+0x4dc>)
- 8008bee:      681b            ldr     r3, [r3, #0]
- 8008bf0:      f003 7300       and.w   r3, r3, #33554432       ; 0x2000000
- 8008bf4:      2b00            cmp     r3, #0
- 8008bf6:      d1f0            bne.n   8008bda <HAL_RCC_OscConfig+0x4ae>
- 8008bf8:      e001            b.n     8008bfe <HAL_RCC_OscConfig+0x4d2>
-        }
-      }
-    }
-    else
-    {
-      return HAL_ERROR;
- 8008bfa:      2301            movs    r3, #1
- 8008bfc:      e000            b.n     8008c00 <HAL_RCC_OscConfig+0x4d4>
-    }
-  }
-  return HAL_OK;
- 8008bfe:      2300            movs    r3, #0
-}
- 8008c00:      4618            mov     r0, r3
- 8008c02:      3718            adds    r7, #24
- 8008c04:      46bd            mov     sp, r7
- 8008c06:      bd80            pop     {r7, pc}
- 8008c08:      40023800        .word   0x40023800
- 8008c0c:      40007000        .word   0x40007000
-
-08008c10 <HAL_RCC_ClockConfig>:
-  *         HPRE[3:0] bits to ensure that HCLK not exceed the maximum allowed frequency
-  *         (for more details refer to section above "Initialization/de-initialization functions")
-  * @retval None
-  */
-HAL_StatusTypeDef HAL_RCC_ClockConfig(RCC_ClkInitTypeDef  *RCC_ClkInitStruct, uint32_t FLatency)
-{
- 8008c10:      b580            push    {r7, lr}
- 8008c12:      b084            sub     sp, #16
- 8008c14:      af00            add     r7, sp, #0
- 8008c16:      6078            str     r0, [r7, #4]
- 8008c18:      6039            str     r1, [r7, #0]
-  uint32_t tickstart = 0;
- 8008c1a:      2300            movs    r3, #0
- 8008c1c:      60fb            str     r3, [r7, #12]
-
-  /* Check Null pointer */
-  if(RCC_ClkInitStruct == NULL)
- 8008c1e:      687b            ldr     r3, [r7, #4]
- 8008c20:      2b00            cmp     r3, #0
- 8008c22:      d101            bne.n   8008c28 <HAL_RCC_ClockConfig+0x18>
-  {
-    return HAL_ERROR;
- 8008c24:      2301            movs    r3, #1
- 8008c26:      e0ce            b.n     8008dc6 <HAL_RCC_ClockConfig+0x1b6>
-  /* To correctly read data from FLASH memory, the number of wait states (LATENCY)
-     must be correctly programmed according to the frequency of the CPU clock
-     (HCLK) and the supply voltage of the device. */
-
-  /* Increasing the CPU frequency */
-  if(FLatency > __HAL_FLASH_GET_LATENCY())
- 8008c28:      4b69            ldr     r3, [pc, #420]  ; (8008dd0 <HAL_RCC_ClockConfig+0x1c0>)
- 8008c2a:      681b            ldr     r3, [r3, #0]
- 8008c2c:      f003 030f       and.w   r3, r3, #15
- 8008c30:      683a            ldr     r2, [r7, #0]
- 8008c32:      429a            cmp     r2, r3
- 8008c34:      d910            bls.n   8008c58 <HAL_RCC_ClockConfig+0x48>
-  {
-    /* Program the new number of wait states to the LATENCY bits in the FLASH_ACR register */
-    __HAL_FLASH_SET_LATENCY(FLatency);
- 8008c36:      4b66            ldr     r3, [pc, #408]  ; (8008dd0 <HAL_RCC_ClockConfig+0x1c0>)
- 8008c38:      681b            ldr     r3, [r3, #0]
- 8008c3a:      f023 020f       bic.w   r2, r3, #15
- 8008c3e:      4964            ldr     r1, [pc, #400]  ; (8008dd0 <HAL_RCC_ClockConfig+0x1c0>)
- 8008c40:      683b            ldr     r3, [r7, #0]
- 8008c42:      4313            orrs    r3, r2
- 8008c44:      600b            str     r3, [r1, #0]
-
-    /* Check that the new number of wait states is taken into account to access the Flash
-    memory by reading the FLASH_ACR register */
-    if(__HAL_FLASH_GET_LATENCY() != FLatency)
- 8008c46:      4b62            ldr     r3, [pc, #392]  ; (8008dd0 <HAL_RCC_ClockConfig+0x1c0>)
- 8008c48:      681b            ldr     r3, [r3, #0]
- 8008c4a:      f003 030f       and.w   r3, r3, #15
- 8008c4e:      683a            ldr     r2, [r7, #0]
- 8008c50:      429a            cmp     r2, r3
- 8008c52:      d001            beq.n   8008c58 <HAL_RCC_ClockConfig+0x48>
-    {
-      return HAL_ERROR;
- 8008c54:      2301            movs    r3, #1
- 8008c56:      e0b6            b.n     8008dc6 <HAL_RCC_ClockConfig+0x1b6>
-    }
-  }
-
-  /*-------------------------- HCLK Configuration --------------------------*/
-  if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_HCLK) == RCC_CLOCKTYPE_HCLK)
- 8008c58:      687b            ldr     r3, [r7, #4]
- 8008c5a:      681b            ldr     r3, [r3, #0]
- 8008c5c:      f003 0302       and.w   r3, r3, #2
- 8008c60:      2b00            cmp     r3, #0
- 8008c62:      d020            beq.n   8008ca6 <HAL_RCC_ClockConfig+0x96>
-  {
-    /* Set the highest APBx dividers in order to ensure that we do not go through
-       a non-spec phase whatever we decrease or increase HCLK. */
-    if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_PCLK1) == RCC_CLOCKTYPE_PCLK1)
- 8008c64:      687b            ldr     r3, [r7, #4]
- 8008c66:      681b            ldr     r3, [r3, #0]
- 8008c68:      f003 0304       and.w   r3, r3, #4
- 8008c6c:      2b00            cmp     r3, #0
- 8008c6e:      d005            beq.n   8008c7c <HAL_RCC_ClockConfig+0x6c>
-    {
-      MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE1, RCC_HCLK_DIV16);
- 8008c70:      4b58            ldr     r3, [pc, #352]  ; (8008dd4 <HAL_RCC_ClockConfig+0x1c4>)
- 8008c72:      689b            ldr     r3, [r3, #8]
- 8008c74:      4a57            ldr     r2, [pc, #348]  ; (8008dd4 <HAL_RCC_ClockConfig+0x1c4>)
- 8008c76:      f443 53e0       orr.w   r3, r3, #7168   ; 0x1c00
- 8008c7a:      6093            str     r3, [r2, #8]
-    }
-
-    if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_PCLK2) == RCC_CLOCKTYPE_PCLK2)
- 8008c7c:      687b            ldr     r3, [r7, #4]
- 8008c7e:      681b            ldr     r3, [r3, #0]
- 8008c80:      f003 0308       and.w   r3, r3, #8
- 8008c84:      2b00            cmp     r3, #0
- 8008c86:      d005            beq.n   8008c94 <HAL_RCC_ClockConfig+0x84>
-    {
-      MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE2, (RCC_HCLK_DIV16 << 3));
- 8008c88:      4b52            ldr     r3, [pc, #328]  ; (8008dd4 <HAL_RCC_ClockConfig+0x1c4>)
- 8008c8a:      689b            ldr     r3, [r3, #8]
- 8008c8c:      4a51            ldr     r2, [pc, #324]  ; (8008dd4 <HAL_RCC_ClockConfig+0x1c4>)
- 8008c8e:      f443 4360       orr.w   r3, r3, #57344  ; 0xe000
- 8008c92:      6093            str     r3, [r2, #8]
-    }
-
-    /* Set the new HCLK clock divider */
-    assert_param(IS_RCC_HCLK(RCC_ClkInitStruct->AHBCLKDivider));
-    MODIFY_REG(RCC->CFGR, RCC_CFGR_HPRE, RCC_ClkInitStruct->AHBCLKDivider);
- 8008c94:      4b4f            ldr     r3, [pc, #316]  ; (8008dd4 <HAL_RCC_ClockConfig+0x1c4>)
- 8008c96:      689b            ldr     r3, [r3, #8]
- 8008c98:      f023 02f0       bic.w   r2, r3, #240    ; 0xf0
- 8008c9c:      687b            ldr     r3, [r7, #4]
- 8008c9e:      689b            ldr     r3, [r3, #8]
- 8008ca0:      494c            ldr     r1, [pc, #304]  ; (8008dd4 <HAL_RCC_ClockConfig+0x1c4>)
- 8008ca2:      4313            orrs    r3, r2
- 8008ca4:      608b            str     r3, [r1, #8]
-  }
-
-  /*------------------------- SYSCLK Configuration ---------------------------*/
-  if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_SYSCLK) == RCC_CLOCKTYPE_SYSCLK)
- 8008ca6:      687b            ldr     r3, [r7, #4]
- 8008ca8:      681b            ldr     r3, [r3, #0]
- 8008caa:      f003 0301       and.w   r3, r3, #1
- 8008cae:      2b00            cmp     r3, #0
- 8008cb0:      d040            beq.n   8008d34 <HAL_RCC_ClockConfig+0x124>
-  {
-    assert_param(IS_RCC_SYSCLKSOURCE(RCC_ClkInitStruct->SYSCLKSource));
-
-    /* HSE is selected as System Clock Source */
-    if(RCC_ClkInitStruct->SYSCLKSource == RCC_SYSCLKSOURCE_HSE)
- 8008cb2:      687b            ldr     r3, [r7, #4]
- 8008cb4:      685b            ldr     r3, [r3, #4]
- 8008cb6:      2b01            cmp     r3, #1
- 8008cb8:      d107            bne.n   8008cca <HAL_RCC_ClockConfig+0xba>
-    {
-      /* Check the HSE ready flag */
-      if(__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) == RESET)
- 8008cba:      4b46            ldr     r3, [pc, #280]  ; (8008dd4 <HAL_RCC_ClockConfig+0x1c4>)
- 8008cbc:      681b            ldr     r3, [r3, #0]
- 8008cbe:      f403 3300       and.w   r3, r3, #131072 ; 0x20000
- 8008cc2:      2b00            cmp     r3, #0
- 8008cc4:      d115            bne.n   8008cf2 <HAL_RCC_ClockConfig+0xe2>
-      {
-        return HAL_ERROR;
- 8008cc6:      2301            movs    r3, #1
- 8008cc8:      e07d            b.n     8008dc6 <HAL_RCC_ClockConfig+0x1b6>
-      }
-    }
-    /* PLL is selected as System Clock Source */
-    else if(RCC_ClkInitStruct->SYSCLKSource == RCC_SYSCLKSOURCE_PLLCLK)
- 8008cca:      687b            ldr     r3, [r7, #4]
- 8008ccc:      685b            ldr     r3, [r3, #4]
- 8008cce:      2b02            cmp     r3, #2
- 8008cd0:      d107            bne.n   8008ce2 <HAL_RCC_ClockConfig+0xd2>
-    {
-      /* Check the PLL ready flag */
-      if(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) == RESET)
- 8008cd2:      4b40            ldr     r3, [pc, #256]  ; (8008dd4 <HAL_RCC_ClockConfig+0x1c4>)
- 8008cd4:      681b            ldr     r3, [r3, #0]
- 8008cd6:      f003 7300       and.w   r3, r3, #33554432       ; 0x2000000
- 8008cda:      2b00            cmp     r3, #0
- 8008cdc:      d109            bne.n   8008cf2 <HAL_RCC_ClockConfig+0xe2>
-      {
-        return HAL_ERROR;
- 8008cde:      2301            movs    r3, #1
- 8008ce0:      e071            b.n     8008dc6 <HAL_RCC_ClockConfig+0x1b6>
-    }
-    /* HSI is selected as System Clock Source */
-    else
-    {
-      /* Check the HSI ready flag */
-      if(__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) == RESET)
- 8008ce2:      4b3c            ldr     r3, [pc, #240]  ; (8008dd4 <HAL_RCC_ClockConfig+0x1c4>)
- 8008ce4:      681b            ldr     r3, [r3, #0]
- 8008ce6:      f003 0302       and.w   r3, r3, #2
- 8008cea:      2b00            cmp     r3, #0
- 8008cec:      d101            bne.n   8008cf2 <HAL_RCC_ClockConfig+0xe2>
-      {
-        return HAL_ERROR;
- 8008cee:      2301            movs    r3, #1
- 8008cf0:      e069            b.n     8008dc6 <HAL_RCC_ClockConfig+0x1b6>
-      }
-    }
-
-    __HAL_RCC_SYSCLK_CONFIG(RCC_ClkInitStruct->SYSCLKSource);
- 8008cf2:      4b38            ldr     r3, [pc, #224]  ; (8008dd4 <HAL_RCC_ClockConfig+0x1c4>)
- 8008cf4:      689b            ldr     r3, [r3, #8]
- 8008cf6:      f023 0203       bic.w   r2, r3, #3
- 8008cfa:      687b            ldr     r3, [r7, #4]
- 8008cfc:      685b            ldr     r3, [r3, #4]
- 8008cfe:      4935            ldr     r1, [pc, #212]  ; (8008dd4 <HAL_RCC_ClockConfig+0x1c4>)
- 8008d00:      4313            orrs    r3, r2
- 8008d02:      608b            str     r3, [r1, #8]
-
-    /* Get Start Tick*/
-    tickstart = HAL_GetTick();
- 8008d04:      f7ff f9c6       bl      8008094 <HAL_GetTick>
- 8008d08:      60f8            str     r0, [r7, #12]
-
-    while (__HAL_RCC_GET_SYSCLK_SOURCE() != (RCC_ClkInitStruct->SYSCLKSource << RCC_CFGR_SWS_Pos))
- 8008d0a:      e00a            b.n     8008d22 <HAL_RCC_ClockConfig+0x112>
-    {
-      if ((HAL_GetTick() - tickstart) > CLOCKSWITCH_TIMEOUT_VALUE)
- 8008d0c:      f7ff f9c2       bl      8008094 <HAL_GetTick>
- 8008d10:      4602            mov     r2, r0
- 8008d12:      68fb            ldr     r3, [r7, #12]
- 8008d14:      1ad3            subs    r3, r2, r3
- 8008d16:      f241 3288       movw    r2, #5000       ; 0x1388
- 8008d1a:      4293            cmp     r3, r2
- 8008d1c:      d901            bls.n   8008d22 <HAL_RCC_ClockConfig+0x112>
-      {
-        return HAL_TIMEOUT;
- 8008d1e:      2303            movs    r3, #3
- 8008d20:      e051            b.n     8008dc6 <HAL_RCC_ClockConfig+0x1b6>
-    while (__HAL_RCC_GET_SYSCLK_SOURCE() != (RCC_ClkInitStruct->SYSCLKSource << RCC_CFGR_SWS_Pos))
- 8008d22:      4b2c            ldr     r3, [pc, #176]  ; (8008dd4 <HAL_RCC_ClockConfig+0x1c4>)
- 8008d24:      689b            ldr     r3, [r3, #8]
- 8008d26:      f003 020c       and.w   r2, r3, #12
- 8008d2a:      687b            ldr     r3, [r7, #4]
- 8008d2c:      685b            ldr     r3, [r3, #4]
- 8008d2e:      009b            lsls    r3, r3, #2
- 8008d30:      429a            cmp     r2, r3
- 8008d32:      d1eb            bne.n   8008d0c <HAL_RCC_ClockConfig+0xfc>
-      }
-    }
-  }
-
-  /* Decreasing the number of wait states because of lower CPU frequency */
-  if(FLatency < __HAL_FLASH_GET_LATENCY())
- 8008d34:      4b26            ldr     r3, [pc, #152]  ; (8008dd0 <HAL_RCC_ClockConfig+0x1c0>)
- 8008d36:      681b            ldr     r3, [r3, #0]
- 8008d38:      f003 030f       and.w   r3, r3, #15
- 8008d3c:      683a            ldr     r2, [r7, #0]
- 8008d3e:      429a            cmp     r2, r3
- 8008d40:      d210            bcs.n   8008d64 <HAL_RCC_ClockConfig+0x154>
-  {
-    /* Program the new number of wait states to the LATENCY bits in the FLASH_ACR register */
-    __HAL_FLASH_SET_LATENCY(FLatency);
- 8008d42:      4b23            ldr     r3, [pc, #140]  ; (8008dd0 <HAL_RCC_ClockConfig+0x1c0>)
- 8008d44:      681b            ldr     r3, [r3, #0]
- 8008d46:      f023 020f       bic.w   r2, r3, #15
- 8008d4a:      4921            ldr     r1, [pc, #132]  ; (8008dd0 <HAL_RCC_ClockConfig+0x1c0>)
- 8008d4c:      683b            ldr     r3, [r7, #0]
- 8008d4e:      4313            orrs    r3, r2
- 8008d50:      600b            str     r3, [r1, #0]
-
-    /* Check that the new number of wait states is taken into account to access the Flash
-    memory by reading the FLASH_ACR register */
-    if(__HAL_FLASH_GET_LATENCY() != FLatency)
- 8008d52:      4b1f            ldr     r3, [pc, #124]  ; (8008dd0 <HAL_RCC_ClockConfig+0x1c0>)
- 8008d54:      681b            ldr     r3, [r3, #0]
- 8008d56:      f003 030f       and.w   r3, r3, #15
- 8008d5a:      683a            ldr     r2, [r7, #0]
- 8008d5c:      429a            cmp     r2, r3
- 8008d5e:      d001            beq.n   8008d64 <HAL_RCC_ClockConfig+0x154>
-    {
-      return HAL_ERROR;
- 8008d60:      2301            movs    r3, #1
- 8008d62:      e030            b.n     8008dc6 <HAL_RCC_ClockConfig+0x1b6>
-    }
-  }
-
-  /*-------------------------- PCLK1 Configuration ---------------------------*/
-  if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_PCLK1) == RCC_CLOCKTYPE_PCLK1)
- 8008d64:      687b            ldr     r3, [r7, #4]
- 8008d66:      681b            ldr     r3, [r3, #0]
- 8008d68:      f003 0304       and.w   r3, r3, #4
- 8008d6c:      2b00            cmp     r3, #0
- 8008d6e:      d008            beq.n   8008d82 <HAL_RCC_ClockConfig+0x172>
-  {
-    assert_param(IS_RCC_PCLK(RCC_ClkInitStruct->APB1CLKDivider));
-    MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE1, RCC_ClkInitStruct->APB1CLKDivider);
- 8008d70:      4b18            ldr     r3, [pc, #96]   ; (8008dd4 <HAL_RCC_ClockConfig+0x1c4>)
- 8008d72:      689b            ldr     r3, [r3, #8]
- 8008d74:      f423 52e0       bic.w   r2, r3, #7168   ; 0x1c00
- 8008d78:      687b            ldr     r3, [r7, #4]
- 8008d7a:      68db            ldr     r3, [r3, #12]
- 8008d7c:      4915            ldr     r1, [pc, #84]   ; (8008dd4 <HAL_RCC_ClockConfig+0x1c4>)
- 8008d7e:      4313            orrs    r3, r2
- 8008d80:      608b            str     r3, [r1, #8]
-  }
-
-  /*-------------------------- PCLK2 Configuration ---------------------------*/
-  if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_PCLK2) == RCC_CLOCKTYPE_PCLK2)
- 8008d82:      687b            ldr     r3, [r7, #4]
- 8008d84:      681b            ldr     r3, [r3, #0]
- 8008d86:      f003 0308       and.w   r3, r3, #8
- 8008d8a:      2b00            cmp     r3, #0
- 8008d8c:      d009            beq.n   8008da2 <HAL_RCC_ClockConfig+0x192>
-  {
-    assert_param(IS_RCC_PCLK(RCC_ClkInitStruct->APB2CLKDivider));
-    MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE2, ((RCC_ClkInitStruct->APB2CLKDivider) << 3));
- 8008d8e:      4b11            ldr     r3, [pc, #68]   ; (8008dd4 <HAL_RCC_ClockConfig+0x1c4>)
- 8008d90:      689b            ldr     r3, [r3, #8]
- 8008d92:      f423 4260       bic.w   r2, r3, #57344  ; 0xe000
- 8008d96:      687b            ldr     r3, [r7, #4]
- 8008d98:      691b            ldr     r3, [r3, #16]
- 8008d9a:      00db            lsls    r3, r3, #3
- 8008d9c:      490d            ldr     r1, [pc, #52]   ; (8008dd4 <HAL_RCC_ClockConfig+0x1c4>)
- 8008d9e:      4313            orrs    r3, r2
- 8008da0:      608b            str     r3, [r1, #8]
-  }
-
-  /* Update the SystemCoreClock global variable */
-  SystemCoreClock = HAL_RCC_GetSysClockFreq() >> AHBPrescTable[(RCC->CFGR & RCC_CFGR_HPRE)>> RCC_CFGR_HPRE_Pos];
- 8008da2:      f000 f81d       bl      8008de0 <HAL_RCC_GetSysClockFreq>
- 8008da6:      4601            mov     r1, r0
- 8008da8:      4b0a            ldr     r3, [pc, #40]   ; (8008dd4 <HAL_RCC_ClockConfig+0x1c4>)
- 8008daa:      689b            ldr     r3, [r3, #8]
- 8008dac:      091b            lsrs    r3, r3, #4
- 8008dae:      f003 030f       and.w   r3, r3, #15
- 8008db2:      4a09            ldr     r2, [pc, #36]   ; (8008dd8 <HAL_RCC_ClockConfig+0x1c8>)
- 8008db4:      5cd3            ldrb    r3, [r2, r3]
- 8008db6:      fa21 f303       lsr.w   r3, r1, r3
- 8008dba:      4a08            ldr     r2, [pc, #32]   ; (8008ddc <HAL_RCC_ClockConfig+0x1cc>)
- 8008dbc:      6013            str     r3, [r2, #0]
-
-  /* Configure the source of time base considering new system clocks settings*/
-  HAL_InitTick (TICK_INT_PRIORITY);
- 8008dbe:      2000            movs    r0, #0
- 8008dc0:      f7ff f924       bl      800800c <HAL_InitTick>
-
-  return HAL_OK;
- 8008dc4:      2300            movs    r3, #0
-}
- 8008dc6:      4618            mov     r0, r3
- 8008dc8:      3710            adds    r7, #16
- 8008dca:      46bd            mov     sp, r7
- 8008dcc:      bd80            pop     {r7, pc}
- 8008dce:      bf00            nop
- 8008dd0:      40023c00        .word   0x40023c00
- 8008dd4:      40023800        .word   0x40023800
- 8008dd8:      08012378        .word   0x08012378
- 8008ddc:      20000008        .word   0x20000008
-
-08008de0 <HAL_RCC_GetSysClockFreq>:
-  *
-  *
-  * @retval SYSCLK frequency
-  */
-uint32_t HAL_RCC_GetSysClockFreq(void)
-{
- 8008de0:      b5f0            push    {r4, r5, r6, r7, lr}
- 8008de2:      b085            sub     sp, #20
- 8008de4:      af00            add     r7, sp, #0
-  uint32_t pllm = 0, pllvco = 0, pllp = 0;
- 8008de6:      2300            movs    r3, #0
- 8008de8:      607b            str     r3, [r7, #4]
- 8008dea:      2300            movs    r3, #0
- 8008dec:      60fb            str     r3, [r7, #12]
- 8008dee:      2300            movs    r3, #0
- 8008df0:      603b            str     r3, [r7, #0]
-  uint32_t sysclockfreq = 0;
- 8008df2:      2300            movs    r3, #0
- 8008df4:      60bb            str     r3, [r7, #8]
-
-  /* Get SYSCLK source -------------------------------------------------------*/
-  switch (RCC->CFGR & RCC_CFGR_SWS)
- 8008df6:      4b50            ldr     r3, [pc, #320]  ; (8008f38 <HAL_RCC_GetSysClockFreq+0x158>)
- 8008df8:      689b            ldr     r3, [r3, #8]
- 8008dfa:      f003 030c       and.w   r3, r3, #12
- 8008dfe:      2b04            cmp     r3, #4
- 8008e00:      d007            beq.n   8008e12 <HAL_RCC_GetSysClockFreq+0x32>
- 8008e02:      2b08            cmp     r3, #8
- 8008e04:      d008            beq.n   8008e18 <HAL_RCC_GetSysClockFreq+0x38>
- 8008e06:      2b00            cmp     r3, #0
- 8008e08:      f040 808d       bne.w   8008f26 <HAL_RCC_GetSysClockFreq+0x146>
-  {
-    case RCC_SYSCLKSOURCE_STATUS_HSI:  /* HSI used as system clock source */
-    {
-      sysclockfreq = HSI_VALUE;
- 8008e0c:      4b4b            ldr     r3, [pc, #300]  ; (8008f3c <HAL_RCC_GetSysClockFreq+0x15c>)
- 8008e0e:      60bb            str     r3, [r7, #8]
-       break;
- 8008e10:      e08c            b.n     8008f2c <HAL_RCC_GetSysClockFreq+0x14c>
-    }
-    case RCC_SYSCLKSOURCE_STATUS_HSE:  /* HSE used as system clock  source */
-    {
-      sysclockfreq = HSE_VALUE;
- 8008e12:      4b4b            ldr     r3, [pc, #300]  ; (8008f40 <HAL_RCC_GetSysClockFreq+0x160>)
- 8008e14:      60bb            str     r3, [r7, #8]
-      break;
- 8008e16:      e089            b.n     8008f2c <HAL_RCC_GetSysClockFreq+0x14c>
-    }
-    case RCC_SYSCLKSOURCE_STATUS_PLLCLK:  /* PLL used as system clock  source */
-    {
-      /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLLM) * PLLN
-      SYSCLK = PLL_VCO / PLLP */
-      pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM;
- 8008e18:      4b47            ldr     r3, [pc, #284]  ; (8008f38 <HAL_RCC_GetSysClockFreq+0x158>)
- 8008e1a:      685b            ldr     r3, [r3, #4]
- 8008e1c:      f003 033f       and.w   r3, r3, #63     ; 0x3f
- 8008e20:      607b            str     r3, [r7, #4]
-      if (__HAL_RCC_GET_PLL_OSCSOURCE() != RCC_PLLCFGR_PLLSRC_HSI)
- 8008e22:      4b45            ldr     r3, [pc, #276]  ; (8008f38 <HAL_RCC_GetSysClockFreq+0x158>)
- 8008e24:      685b            ldr     r3, [r3, #4]
- 8008e26:      f403 0380       and.w   r3, r3, #4194304        ; 0x400000
- 8008e2a:      2b00            cmp     r3, #0
- 8008e2c:      d023            beq.n   8008e76 <HAL_RCC_GetSysClockFreq+0x96>
-      {
-        /* HSE used as PLL clock source */
-        pllvco = (uint32_t) ((((uint64_t) HSE_VALUE * ((uint64_t) ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> RCC_PLLCFGR_PLLN_Pos)))) / (uint64_t)pllm);
- 8008e2e:      4b42            ldr     r3, [pc, #264]  ; (8008f38 <HAL_RCC_GetSysClockFreq+0x158>)
- 8008e30:      685b            ldr     r3, [r3, #4]
- 8008e32:      099b            lsrs    r3, r3, #6
- 8008e34:      f04f 0400       mov.w   r4, #0
- 8008e38:      f240 11ff       movw    r1, #511        ; 0x1ff
- 8008e3c:      f04f 0200       mov.w   r2, #0
- 8008e40:      ea03 0501       and.w   r5, r3, r1
- 8008e44:      ea04 0602       and.w   r6, r4, r2
- 8008e48:      4a3d            ldr     r2, [pc, #244]  ; (8008f40 <HAL_RCC_GetSysClockFreq+0x160>)
- 8008e4a:      fb02 f106       mul.w   r1, r2, r6
- 8008e4e:      2200            movs    r2, #0
- 8008e50:      fb02 f205       mul.w   r2, r2, r5
- 8008e54:      440a            add     r2, r1
- 8008e56:      493a            ldr     r1, [pc, #232]  ; (8008f40 <HAL_RCC_GetSysClockFreq+0x160>)
- 8008e58:      fba5 0101       umull   r0, r1, r5, r1
- 8008e5c:      1853            adds    r3, r2, r1
- 8008e5e:      4619            mov     r1, r3
- 8008e60:      687b            ldr     r3, [r7, #4]
- 8008e62:      f04f 0400       mov.w   r4, #0
- 8008e66:      461a            mov     r2, r3
- 8008e68:      4623            mov     r3, r4
- 8008e6a:      f7fd ffbb       bl      8006de4 <__aeabi_uldivmod>
- 8008e6e:      4603            mov     r3, r0
- 8008e70:      460c            mov     r4, r1
- 8008e72:      60fb            str     r3, [r7, #12]
- 8008e74:      e049            b.n     8008f0a <HAL_RCC_GetSysClockFreq+0x12a>
-      }
-      else
-      {
-        /* HSI used as PLL clock source */
-        pllvco = (uint32_t) ((((uint64_t) HSI_VALUE * ((uint64_t) ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> RCC_PLLCFGR_PLLN_Pos)))) / (uint64_t)pllm);
- 8008e76:      4b30            ldr     r3, [pc, #192]  ; (8008f38 <HAL_RCC_GetSysClockFreq+0x158>)
- 8008e78:      685b            ldr     r3, [r3, #4]
- 8008e7a:      099b            lsrs    r3, r3, #6
- 8008e7c:      f04f 0400       mov.w   r4, #0
- 8008e80:      f240 11ff       movw    r1, #511        ; 0x1ff
- 8008e84:      f04f 0200       mov.w   r2, #0
- 8008e88:      ea03 0501       and.w   r5, r3, r1
- 8008e8c:      ea04 0602       and.w   r6, r4, r2
- 8008e90:      4629            mov     r1, r5
- 8008e92:      4632            mov     r2, r6
- 8008e94:      f04f 0300       mov.w   r3, #0
- 8008e98:      f04f 0400       mov.w   r4, #0
- 8008e9c:      0154            lsls    r4, r2, #5
- 8008e9e:      ea44 64d1       orr.w   r4, r4, r1, lsr #27
- 8008ea2:      014b            lsls    r3, r1, #5
- 8008ea4:      4619            mov     r1, r3
- 8008ea6:      4622            mov     r2, r4
- 8008ea8:      1b49            subs    r1, r1, r5
- 8008eaa:      eb62 0206       sbc.w   r2, r2, r6
- 8008eae:      f04f 0300       mov.w   r3, #0
- 8008eb2:      f04f 0400       mov.w   r4, #0
- 8008eb6:      0194            lsls    r4, r2, #6
- 8008eb8:      ea44 6491       orr.w   r4, r4, r1, lsr #26
- 8008ebc:      018b            lsls    r3, r1, #6
- 8008ebe:      1a5b            subs    r3, r3, r1
- 8008ec0:      eb64 0402       sbc.w   r4, r4, r2
- 8008ec4:      f04f 0100       mov.w   r1, #0
- 8008ec8:      f04f 0200       mov.w   r2, #0
- 8008ecc:      00e2            lsls    r2, r4, #3
- 8008ece:      ea42 7253       orr.w   r2, r2, r3, lsr #29
- 8008ed2:      00d9            lsls    r1, r3, #3
- 8008ed4:      460b            mov     r3, r1
- 8008ed6:      4614            mov     r4, r2
- 8008ed8:      195b            adds    r3, r3, r5
- 8008eda:      eb44 0406       adc.w   r4, r4, r6
- 8008ede:      f04f 0100       mov.w   r1, #0
- 8008ee2:      f04f 0200       mov.w   r2, #0
- 8008ee6:      02a2            lsls    r2, r4, #10
- 8008ee8:      ea42 5293       orr.w   r2, r2, r3, lsr #22
- 8008eec:      0299            lsls    r1, r3, #10
- 8008eee:      460b            mov     r3, r1
- 8008ef0:      4614            mov     r4, r2
- 8008ef2:      4618            mov     r0, r3
- 8008ef4:      4621            mov     r1, r4
- 8008ef6:      687b            ldr     r3, [r7, #4]
- 8008ef8:      f04f 0400       mov.w   r4, #0
- 8008efc:      461a            mov     r2, r3
- 8008efe:      4623            mov     r3, r4
- 8008f00:      f7fd ff70       bl      8006de4 <__aeabi_uldivmod>
- 8008f04:      4603            mov     r3, r0
- 8008f06:      460c            mov     r4, r1
- 8008f08:      60fb            str     r3, [r7, #12]
-      }
-      pllp = ((((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >> RCC_PLLCFGR_PLLP_Pos) + 1 ) *2);
- 8008f0a:      4b0b            ldr     r3, [pc, #44]   ; (8008f38 <HAL_RCC_GetSysClockFreq+0x158>)
- 8008f0c:      685b            ldr     r3, [r3, #4]
- 8008f0e:      0c1b            lsrs    r3, r3, #16
- 8008f10:      f003 0303       and.w   r3, r3, #3
- 8008f14:      3301            adds    r3, #1
- 8008f16:      005b            lsls    r3, r3, #1
- 8008f18:      603b            str     r3, [r7, #0]
-
-      sysclockfreq = pllvco/pllp;
- 8008f1a:      68fa            ldr     r2, [r7, #12]
- 8008f1c:      683b            ldr     r3, [r7, #0]
- 8008f1e:      fbb2 f3f3       udiv    r3, r2, r3
- 8008f22:      60bb            str     r3, [r7, #8]
-      break;
- 8008f24:      e002            b.n     8008f2c <HAL_RCC_GetSysClockFreq+0x14c>
-    }
-    default:
-    {
-      sysclockfreq = HSI_VALUE;
- 8008f26:      4b05            ldr     r3, [pc, #20]   ; (8008f3c <HAL_RCC_GetSysClockFreq+0x15c>)
- 8008f28:      60bb            str     r3, [r7, #8]
-      break;
- 8008f2a:      bf00            nop
-    }
-  }
-  return sysclockfreq;
- 8008f2c:      68bb            ldr     r3, [r7, #8]
-}
- 8008f2e:      4618            mov     r0, r3
- 8008f30:      3714            adds    r7, #20
- 8008f32:      46bd            mov     sp, r7
- 8008f34:      bdf0            pop     {r4, r5, r6, r7, pc}
- 8008f36:      bf00            nop
- 8008f38:      40023800        .word   0x40023800
- 8008f3c:      00f42400        .word   0x00f42400
- 8008f40:      017d7840        .word   0x017d7840
-
-08008f44 <HAL_RCC_GetHCLKFreq>:
-  *         right HCLK value. Otherwise, any configuration based on this function will be incorrect.
-  * @note   The SystemCoreClock CMSIS variable is used to store System Clock Frequency.
-  * @retval HCLK frequency
-  */
-uint32_t HAL_RCC_GetHCLKFreq(void)
-{
- 8008f44:      b480            push    {r7}
- 8008f46:      af00            add     r7, sp, #0
-  return SystemCoreClock;
- 8008f48:      4b03            ldr     r3, [pc, #12]   ; (8008f58 <HAL_RCC_GetHCLKFreq+0x14>)
- 8008f4a:      681b            ldr     r3, [r3, #0]
-}
- 8008f4c:      4618            mov     r0, r3
- 8008f4e:      46bd            mov     sp, r7
- 8008f50:      f85d 7b04       ldr.w   r7, [sp], #4
- 8008f54:      4770            bx      lr
- 8008f56:      bf00            nop
- 8008f58:      20000008        .word   0x20000008
-
-08008f5c <HAL_RCC_GetPCLK1Freq>:
-  * @note   Each time PCLK1 changes, this function must be called to update the
-  *         right PCLK1 value. Otherwise, any configuration based on this function will be incorrect.
-  * @retval PCLK1 frequency
-  */
-uint32_t HAL_RCC_GetPCLK1Freq(void)
-{
- 8008f5c:      b580            push    {r7, lr}
- 8008f5e:      af00            add     r7, sp, #0
-  /* Get HCLK source and Compute PCLK1 frequency ---------------------------*/
-  return (HAL_RCC_GetHCLKFreq() >> APBPrescTable[(RCC->CFGR & RCC_CFGR_PPRE1)>> RCC_CFGR_PPRE1_Pos]);
- 8008f60:      f7ff fff0       bl      8008f44 <HAL_RCC_GetHCLKFreq>
- 8008f64:      4601            mov     r1, r0
- 8008f66:      4b05            ldr     r3, [pc, #20]   ; (8008f7c <HAL_RCC_GetPCLK1Freq+0x20>)
- 8008f68:      689b            ldr     r3, [r3, #8]
- 8008f6a:      0a9b            lsrs    r3, r3, #10
- 8008f6c:      f003 0307       and.w   r3, r3, #7
- 8008f70:      4a03            ldr     r2, [pc, #12]   ; (8008f80 <HAL_RCC_GetPCLK1Freq+0x24>)
- 8008f72:      5cd3            ldrb    r3, [r2, r3]
- 8008f74:      fa21 f303       lsr.w   r3, r1, r3
-}
- 8008f78:      4618            mov     r0, r3
- 8008f7a:      bd80            pop     {r7, pc}
- 8008f7c:      40023800        .word   0x40023800
- 8008f80:      08012388        .word   0x08012388
-
-08008f84 <HAL_RCC_GetPCLK2Freq>:
-  * @note   Each time PCLK2 changes, this function must be called to update the
-  *         right PCLK2 value. Otherwise, any configuration based on this function will be incorrect.
-  * @retval PCLK2 frequency
-  */
-uint32_t HAL_RCC_GetPCLK2Freq(void)
-{
- 8008f84:      b580            push    {r7, lr}
- 8008f86:      af00            add     r7, sp, #0
-  /* Get HCLK source and Compute PCLK2 frequency ---------------------------*/
-  return (HAL_RCC_GetHCLKFreq()>> APBPrescTable[(RCC->CFGR & RCC_CFGR_PPRE2)>> RCC_CFGR_PPRE2_Pos]);
- 8008f88:      f7ff ffdc       bl      8008f44 <HAL_RCC_GetHCLKFreq>
- 8008f8c:      4601            mov     r1, r0
- 8008f8e:      4b05            ldr     r3, [pc, #20]   ; (8008fa4 <HAL_RCC_GetPCLK2Freq+0x20>)
- 8008f90:      689b            ldr     r3, [r3, #8]
- 8008f92:      0b5b            lsrs    r3, r3, #13
- 8008f94:      f003 0307       and.w   r3, r3, #7
- 8008f98:      4a03            ldr     r2, [pc, #12]   ; (8008fa8 <HAL_RCC_GetPCLK2Freq+0x24>)
- 8008f9a:      5cd3            ldrb    r3, [r2, r3]
- 8008f9c:      fa21 f303       lsr.w   r3, r1, r3
-}
- 8008fa0:      4618            mov     r0, r3
- 8008fa2:      bd80            pop     {r7, pc}
- 8008fa4:      40023800        .word   0x40023800
- 8008fa8:      08012388        .word   0x08012388
-
-08008fac <HAL_RCCEx_PeriphCLKConfig>:
-  *         the backup registers) are set to their reset values.
-  *
-  * @retval HAL status
-  */
-HAL_StatusTypeDef HAL_RCCEx_PeriphCLKConfig(RCC_PeriphCLKInitTypeDef  *PeriphClkInit)
-{
- 8008fac:      b580            push    {r7, lr}
- 8008fae:      b088            sub     sp, #32
- 8008fb0:      af00            add     r7, sp, #0
- 8008fb2:      6078            str     r0, [r7, #4]
-  uint32_t tickstart = 0;
- 8008fb4:      2300            movs    r3, #0
- 8008fb6:      617b            str     r3, [r7, #20]
-  uint32_t tmpreg0 = 0;
- 8008fb8:      2300            movs    r3, #0
- 8008fba:      613b            str     r3, [r7, #16]
-  uint32_t tmpreg1 = 0;
- 8008fbc:      2300            movs    r3, #0
- 8008fbe:      60fb            str     r3, [r7, #12]
-  uint32_t plli2sused = 0;
- 8008fc0:      2300            movs    r3, #0
- 8008fc2:      61fb            str     r3, [r7, #28]
-  uint32_t pllsaiused = 0;
- 8008fc4:      2300            movs    r3, #0
- 8008fc6:      61bb            str     r3, [r7, #24]
-
-  /* Check the parameters */
-  assert_param(IS_RCC_PERIPHCLOCK(PeriphClkInit->PeriphClockSelection));
-
-  /*----------------------------------- I2S configuration ----------------------------------*/
-  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_I2S) == (RCC_PERIPHCLK_I2S))
- 8008fc8:      687b            ldr     r3, [r7, #4]
- 8008fca:      681b            ldr     r3, [r3, #0]
- 8008fcc:      f003 0301       and.w   r3, r3, #1
- 8008fd0:      2b00            cmp     r3, #0
- 8008fd2:      d012            beq.n   8008ffa <HAL_RCCEx_PeriphCLKConfig+0x4e>
-  {
-    /* Check the parameters */
-    assert_param(IS_RCC_I2SCLKSOURCE(PeriphClkInit->I2sClockSelection));
-
-    /* Configure I2S Clock source */
-    __HAL_RCC_I2S_CONFIG(PeriphClkInit->I2sClockSelection);
- 8008fd4:      4b69            ldr     r3, [pc, #420]  ; (800917c <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
- 8008fd6:      689b            ldr     r3, [r3, #8]
- 8008fd8:      4a68            ldr     r2, [pc, #416]  ; (800917c <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
- 8008fda:      f423 0300       bic.w   r3, r3, #8388608        ; 0x800000
- 8008fde:      6093            str     r3, [r2, #8]
- 8008fe0:      4b66            ldr     r3, [pc, #408]  ; (800917c <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
- 8008fe2:      689a            ldr     r2, [r3, #8]
- 8008fe4:      687b            ldr     r3, [r7, #4]
- 8008fe6:      6b5b            ldr     r3, [r3, #52]   ; 0x34
- 8008fe8:      4964            ldr     r1, [pc, #400]  ; (800917c <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
- 8008fea:      4313            orrs    r3, r2
- 8008fec:      608b            str     r3, [r1, #8]
-
-    /* Enable the PLLI2S when it's used as clock source for I2S */
-    if(PeriphClkInit->I2sClockSelection == RCC_I2SCLKSOURCE_PLLI2S)
- 8008fee:      687b            ldr     r3, [r7, #4]
- 8008ff0:      6b5b            ldr     r3, [r3, #52]   ; 0x34
- 8008ff2:      2b00            cmp     r3, #0
- 8008ff4:      d101            bne.n   8008ffa <HAL_RCCEx_PeriphCLKConfig+0x4e>
-    {
-      plli2sused = 1;
- 8008ff6:      2301            movs    r3, #1
- 8008ff8:      61fb            str     r3, [r7, #28]
-    }
-  }
-
-  /*------------------------------------ SAI1 configuration --------------------------------------*/
-  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI1) == (RCC_PERIPHCLK_SAI1))
- 8008ffa:      687b            ldr     r3, [r7, #4]
- 8008ffc:      681b            ldr     r3, [r3, #0]
- 8008ffe:      f403 2300       and.w   r3, r3, #524288 ; 0x80000
- 8009002:      2b00            cmp     r3, #0
- 8009004:      d017            beq.n   8009036 <HAL_RCCEx_PeriphCLKConfig+0x8a>
-  {
-    /* Check the parameters */
-    assert_param(IS_RCC_SAI1CLKSOURCE(PeriphClkInit->Sai1ClockSelection));
-
-    /* Configure SAI1 Clock source */
-    __HAL_RCC_SAI1_CONFIG(PeriphClkInit->Sai1ClockSelection);
- 8009006:      4b5d            ldr     r3, [pc, #372]  ; (800917c <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
- 8009008:      f8d3 308c       ldr.w   r3, [r3, #140]  ; 0x8c
- 800900c:      f423 1240       bic.w   r2, r3, #3145728        ; 0x300000
- 8009010:      687b            ldr     r3, [r7, #4]
- 8009012:      6bdb            ldr     r3, [r3, #60]   ; 0x3c
- 8009014:      4959            ldr     r1, [pc, #356]  ; (800917c <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
- 8009016:      4313            orrs    r3, r2
- 8009018:      f8c1 308c       str.w   r3, [r1, #140]  ; 0x8c
-    /* Enable the PLLI2S when it's used as clock source for SAI */
-    if(PeriphClkInit->Sai1ClockSelection == RCC_SAI1CLKSOURCE_PLLI2S)
- 800901c:      687b            ldr     r3, [r7, #4]
- 800901e:      6bdb            ldr     r3, [r3, #60]   ; 0x3c
- 8009020:      f5b3 1f80       cmp.w   r3, #1048576    ; 0x100000
- 8009024:      d101            bne.n   800902a <HAL_RCCEx_PeriphCLKConfig+0x7e>
-    {
-      plli2sused = 1;
- 8009026:      2301            movs    r3, #1
- 8009028:      61fb            str     r3, [r7, #28]
-    }
-    /* Enable the PLLSAI when it's used as clock source for SAI */
-    if(PeriphClkInit->Sai1ClockSelection == RCC_SAI1CLKSOURCE_PLLSAI)
- 800902a:      687b            ldr     r3, [r7, #4]
- 800902c:      6bdb            ldr     r3, [r3, #60]   ; 0x3c
- 800902e:      2b00            cmp     r3, #0
- 8009030:      d101            bne.n   8009036 <HAL_RCCEx_PeriphCLKConfig+0x8a>
-    {
-      pllsaiused = 1;
- 8009032:      2301            movs    r3, #1
- 8009034:      61bb            str     r3, [r7, #24]
-    }
-  }
-
-  /*------------------------------------ SAI2 configuration --------------------------------------*/
-  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI2) == (RCC_PERIPHCLK_SAI2))
- 8009036:      687b            ldr     r3, [r7, #4]
- 8009038:      681b            ldr     r3, [r3, #0]
- 800903a:      f403 1380       and.w   r3, r3, #1048576        ; 0x100000
- 800903e:      2b00            cmp     r3, #0
- 8009040:      d017            beq.n   8009072 <HAL_RCCEx_PeriphCLKConfig+0xc6>
-  {
-    /* Check the parameters */
-    assert_param(IS_RCC_SAI2CLKSOURCE(PeriphClkInit->Sai2ClockSelection));
-
-    /* Configure SAI2 Clock source */
-    __HAL_RCC_SAI2_CONFIG(PeriphClkInit->Sai2ClockSelection);
- 8009042:      4b4e            ldr     r3, [pc, #312]  ; (800917c <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
- 8009044:      f8d3 308c       ldr.w   r3, [r3, #140]  ; 0x8c
- 8009048:      f423 0240       bic.w   r2, r3, #12582912       ; 0xc00000
- 800904c:      687b            ldr     r3, [r7, #4]
- 800904e:      6c1b            ldr     r3, [r3, #64]   ; 0x40
- 8009050:      494a            ldr     r1, [pc, #296]  ; (800917c <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
- 8009052:      4313            orrs    r3, r2
- 8009054:      f8c1 308c       str.w   r3, [r1, #140]  ; 0x8c
-
-    /* Enable the PLLI2S when it's used as clock source for SAI */
-    if(PeriphClkInit->Sai2ClockSelection == RCC_SAI2CLKSOURCE_PLLI2S)
- 8009058:      687b            ldr     r3, [r7, #4]
- 800905a:      6c1b            ldr     r3, [r3, #64]   ; 0x40
- 800905c:      f5b3 0f80       cmp.w   r3, #4194304    ; 0x400000
- 8009060:      d101            bne.n   8009066 <HAL_RCCEx_PeriphCLKConfig+0xba>
-    {
-      plli2sused = 1;
- 8009062:      2301            movs    r3, #1
- 8009064:      61fb            str     r3, [r7, #28]
-    }
-    /* Enable the PLLSAI when it's used as clock source for SAI */
-    if(PeriphClkInit->Sai2ClockSelection == RCC_SAI2CLKSOURCE_PLLSAI)
- 8009066:      687b            ldr     r3, [r7, #4]
- 8009068:      6c1b            ldr     r3, [r3, #64]   ; 0x40
- 800906a:      2b00            cmp     r3, #0
- 800906c:      d101            bne.n   8009072 <HAL_RCCEx_PeriphCLKConfig+0xc6>
-    {
-      pllsaiused = 1;
- 800906e:      2301            movs    r3, #1
- 8009070:      61bb            str     r3, [r7, #24]
-    }
-  }
-
-  /*-------------------------------------- SPDIF-RX Configuration -----------------------------------*/
-  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SPDIFRX) == RCC_PERIPHCLK_SPDIFRX)
- 8009072:      687b            ldr     r3, [r7, #4]
- 8009074:      681b            ldr     r3, [r3, #0]
- 8009076:      f003 7380       and.w   r3, r3, #16777216       ; 0x1000000
- 800907a:      2b00            cmp     r3, #0
- 800907c:      d001            beq.n   8009082 <HAL_RCCEx_PeriphCLKConfig+0xd6>
-  {
-      plli2sused = 1;
- 800907e:      2301            movs    r3, #1
- 8009080:      61fb            str     r3, [r7, #28]
-  }
-
-  /*------------------------------------ RTC configuration --------------------------------------*/
-  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_RTC) == (RCC_PERIPHCLK_RTC))
- 8009082:      687b            ldr     r3, [r7, #4]
- 8009084:      681b            ldr     r3, [r3, #0]
- 8009086:      f003 0320       and.w   r3, r3, #32
- 800908a:      2b00            cmp     r3, #0
- 800908c:      f000 808b       beq.w   80091a6 <HAL_RCCEx_PeriphCLKConfig+0x1fa>
-  {
-    /* Check for RTC Parameters used to output RTCCLK */
-    assert_param(IS_RCC_RTCCLKSOURCE(PeriphClkInit->RTCClockSelection));
-
-    /* Enable Power Clock*/
-    __HAL_RCC_PWR_CLK_ENABLE();
- 8009090:      4b3a            ldr     r3, [pc, #232]  ; (800917c <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
- 8009092:      6c1b            ldr     r3, [r3, #64]   ; 0x40
- 8009094:      4a39            ldr     r2, [pc, #228]  ; (800917c <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
- 8009096:      f043 5380       orr.w   r3, r3, #268435456      ; 0x10000000
- 800909a:      6413            str     r3, [r2, #64]   ; 0x40
- 800909c:      4b37            ldr     r3, [pc, #220]  ; (800917c <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
- 800909e:      6c1b            ldr     r3, [r3, #64]   ; 0x40
- 80090a0:      f003 5380       and.w   r3, r3, #268435456      ; 0x10000000
- 80090a4:      60bb            str     r3, [r7, #8]
- 80090a6:      68bb            ldr     r3, [r7, #8]
-
-    /* Enable write access to Backup domain */
-    PWR->CR1 |= PWR_CR1_DBP;
- 80090a8:      4b35            ldr     r3, [pc, #212]  ; (8009180 <HAL_RCCEx_PeriphCLKConfig+0x1d4>)
- 80090aa:      681b            ldr     r3, [r3, #0]
- 80090ac:      4a34            ldr     r2, [pc, #208]  ; (8009180 <HAL_RCCEx_PeriphCLKConfig+0x1d4>)
- 80090ae:      f443 7380       orr.w   r3, r3, #256    ; 0x100
- 80090b2:      6013            str     r3, [r2, #0]
-
-    /* Get Start Tick*/
-    tickstart = HAL_GetTick();
- 80090b4:      f7fe ffee       bl      8008094 <HAL_GetTick>
- 80090b8:      6178            str     r0, [r7, #20]
-
-    /* Wait for Backup domain Write protection disable */
-    while((PWR->CR1 & PWR_CR1_DBP) == RESET)
- 80090ba:      e008            b.n     80090ce <HAL_RCCEx_PeriphCLKConfig+0x122>
-    {
-      if((HAL_GetTick() - tickstart) > RCC_DBP_TIMEOUT_VALUE)
- 80090bc:      f7fe ffea       bl      8008094 <HAL_GetTick>
- 80090c0:      4602            mov     r2, r0
- 80090c2:      697b            ldr     r3, [r7, #20]
- 80090c4:      1ad3            subs    r3, r2, r3
- 80090c6:      2b64            cmp     r3, #100        ; 0x64
- 80090c8:      d901            bls.n   80090ce <HAL_RCCEx_PeriphCLKConfig+0x122>
-      {
-        return HAL_TIMEOUT;
- 80090ca:      2303            movs    r3, #3
- 80090cc:      e38d            b.n     80097ea <HAL_RCCEx_PeriphCLKConfig+0x83e>
-    while((PWR->CR1 & PWR_CR1_DBP) == RESET)
- 80090ce:      4b2c            ldr     r3, [pc, #176]  ; (8009180 <HAL_RCCEx_PeriphCLKConfig+0x1d4>)
- 80090d0:      681b            ldr     r3, [r3, #0]
- 80090d2:      f403 7380       and.w   r3, r3, #256    ; 0x100
- 80090d6:      2b00            cmp     r3, #0
- 80090d8:      d0f0            beq.n   80090bc <HAL_RCCEx_PeriphCLKConfig+0x110>
-      }
-    }
-
-    /* Reset the Backup domain only if the RTC Clock source selection is modified */
-    tmpreg0 = (RCC->BDCR & RCC_BDCR_RTCSEL);
- 80090da:      4b28            ldr     r3, [pc, #160]  ; (800917c <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
- 80090dc:      6f1b            ldr     r3, [r3, #112]  ; 0x70
- 80090de:      f403 7340       and.w   r3, r3, #768    ; 0x300
- 80090e2:      613b            str     r3, [r7, #16]
-
-    if((tmpreg0 != 0x00000000U) && (tmpreg0 != (PeriphClkInit->RTCClockSelection & RCC_BDCR_RTCSEL)))
- 80090e4:      693b            ldr     r3, [r7, #16]
- 80090e6:      2b00            cmp     r3, #0
- 80090e8:      d035            beq.n   8009156 <HAL_RCCEx_PeriphCLKConfig+0x1aa>
- 80090ea:      687b            ldr     r3, [r7, #4]
- 80090ec:      6b1b            ldr     r3, [r3, #48]   ; 0x30
- 80090ee:      f403 7340       and.w   r3, r3, #768    ; 0x300
- 80090f2:      693a            ldr     r2, [r7, #16]
- 80090f4:      429a            cmp     r2, r3
- 80090f6:      d02e            beq.n   8009156 <HAL_RCCEx_PeriphCLKConfig+0x1aa>
-    {
-      /* Store the content of BDCR register before the reset of Backup Domain */
-      tmpreg0 = (RCC->BDCR & ~(RCC_BDCR_RTCSEL));
- 80090f8:      4b20            ldr     r3, [pc, #128]  ; (800917c <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
- 80090fa:      6f1b            ldr     r3, [r3, #112]  ; 0x70
- 80090fc:      f423 7340       bic.w   r3, r3, #768    ; 0x300
- 8009100:      613b            str     r3, [r7, #16]
-
-      /* RTC Clock selection can be changed only if the Backup Domain is reset */
-      __HAL_RCC_BACKUPRESET_FORCE();
- 8009102:      4b1e            ldr     r3, [pc, #120]  ; (800917c <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
- 8009104:      6f1b            ldr     r3, [r3, #112]  ; 0x70
- 8009106:      4a1d            ldr     r2, [pc, #116]  ; (800917c <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
- 8009108:      f443 3380       orr.w   r3, r3, #65536  ; 0x10000
- 800910c:      6713            str     r3, [r2, #112]  ; 0x70
-      __HAL_RCC_BACKUPRESET_RELEASE();
- 800910e:      4b1b            ldr     r3, [pc, #108]  ; (800917c <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
- 8009110:      6f1b            ldr     r3, [r3, #112]  ; 0x70
- 8009112:      4a1a            ldr     r2, [pc, #104]  ; (800917c <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
- 8009114:      f423 3380       bic.w   r3, r3, #65536  ; 0x10000
- 8009118:      6713            str     r3, [r2, #112]  ; 0x70
-
-      /* Restore the Content of BDCR register */
-      RCC->BDCR = tmpreg0;
- 800911a:      4a18            ldr     r2, [pc, #96]   ; (800917c <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
- 800911c:      693b            ldr     r3, [r7, #16]
- 800911e:      6713            str     r3, [r2, #112]  ; 0x70
-
-      /* Wait for LSE reactivation if LSE was enable prior to Backup Domain reset */
-      if (HAL_IS_BIT_SET(RCC->BDCR, RCC_BDCR_LSEON))
- 8009120:      4b16            ldr     r3, [pc, #88]   ; (800917c <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
- 8009122:      6f1b            ldr     r3, [r3, #112]  ; 0x70
- 8009124:      f003 0301       and.w   r3, r3, #1
- 8009128:      2b01            cmp     r3, #1
- 800912a:      d114            bne.n   8009156 <HAL_RCCEx_PeriphCLKConfig+0x1aa>
-      {
-        /* Get Start Tick*/
-        tickstart = HAL_GetTick();
- 800912c:      f7fe ffb2       bl      8008094 <HAL_GetTick>
- 8009130:      6178            str     r0, [r7, #20]
-
-        /* Wait till LSE is ready */
-        while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) == RESET)
- 8009132:      e00a            b.n     800914a <HAL_RCCEx_PeriphCLKConfig+0x19e>
-        {
-          if((HAL_GetTick() - tickstart ) > RCC_LSE_TIMEOUT_VALUE)
- 8009134:      f7fe ffae       bl      8008094 <HAL_GetTick>
- 8009138:      4602            mov     r2, r0
- 800913a:      697b            ldr     r3, [r7, #20]
- 800913c:      1ad3            subs    r3, r2, r3
- 800913e:      f241 3288       movw    r2, #5000       ; 0x1388
- 8009142:      4293            cmp     r3, r2
- 8009144:      d901            bls.n   800914a <HAL_RCCEx_PeriphCLKConfig+0x19e>
-          {
-            return HAL_TIMEOUT;
- 8009146:      2303            movs    r3, #3
- 8009148:      e34f            b.n     80097ea <HAL_RCCEx_PeriphCLKConfig+0x83e>
-        while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) == RESET)
- 800914a:      4b0c            ldr     r3, [pc, #48]   ; (800917c <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
- 800914c:      6f1b            ldr     r3, [r3, #112]  ; 0x70
- 800914e:      f003 0302       and.w   r3, r3, #2
- 8009152:      2b00            cmp     r3, #0
- 8009154:      d0ee            beq.n   8009134 <HAL_RCCEx_PeriphCLKConfig+0x188>
-          }
-        }
-      }
-    }
-    __HAL_RCC_RTC_CONFIG(PeriphClkInit->RTCClockSelection);
- 8009156:      687b            ldr     r3, [r7, #4]
- 8009158:      6b1b            ldr     r3, [r3, #48]   ; 0x30
- 800915a:      f403 7340       and.w   r3, r3, #768    ; 0x300
- 800915e:      f5b3 7f40       cmp.w   r3, #768        ; 0x300
- 8009162:      d111            bne.n   8009188 <HAL_RCCEx_PeriphCLKConfig+0x1dc>
- 8009164:      4b05            ldr     r3, [pc, #20]   ; (800917c <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
- 8009166:      689b            ldr     r3, [r3, #8]
- 8009168:      f423 12f8       bic.w   r2, r3, #2031616        ; 0x1f0000
- 800916c:      687b            ldr     r3, [r7, #4]
- 800916e:      6b19            ldr     r1, [r3, #48]   ; 0x30
- 8009170:      4b04            ldr     r3, [pc, #16]   ; (8009184 <HAL_RCCEx_PeriphCLKConfig+0x1d8>)
- 8009172:      400b            ands    r3, r1
- 8009174:      4901            ldr     r1, [pc, #4]    ; (800917c <HAL_RCCEx_PeriphCLKConfig+0x1d0>)
- 8009176:      4313            orrs    r3, r2
- 8009178:      608b            str     r3, [r1, #8]
- 800917a:      e00b            b.n     8009194 <HAL_RCCEx_PeriphCLKConfig+0x1e8>
- 800917c:      40023800        .word   0x40023800
- 8009180:      40007000        .word   0x40007000
- 8009184:      0ffffcff        .word   0x0ffffcff
- 8009188:      4bb3            ldr     r3, [pc, #716]  ; (8009458 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 800918a:      689b            ldr     r3, [r3, #8]
- 800918c:      4ab2            ldr     r2, [pc, #712]  ; (8009458 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 800918e:      f423 13f8       bic.w   r3, r3, #2031616        ; 0x1f0000
- 8009192:      6093            str     r3, [r2, #8]
- 8009194:      4bb0            ldr     r3, [pc, #704]  ; (8009458 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 8009196:      6f1a            ldr     r2, [r3, #112]  ; 0x70
- 8009198:      687b            ldr     r3, [r7, #4]
- 800919a:      6b1b            ldr     r3, [r3, #48]   ; 0x30
- 800919c:      f3c3 030b       ubfx    r3, r3, #0, #12
- 80091a0:      49ad            ldr     r1, [pc, #692]  ; (8009458 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 80091a2:      4313            orrs    r3, r2
- 80091a4:      670b            str     r3, [r1, #112]  ; 0x70
-  }
-
-  /*------------------------------------ TIM configuration --------------------------------------*/
-  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_TIM) == (RCC_PERIPHCLK_TIM))
- 80091a6:      687b            ldr     r3, [r7, #4]
- 80091a8:      681b            ldr     r3, [r3, #0]
- 80091aa:      f003 0310       and.w   r3, r3, #16
- 80091ae:      2b00            cmp     r3, #0
- 80091b0:      d010            beq.n   80091d4 <HAL_RCCEx_PeriphCLKConfig+0x228>
-  {
-    /* Check the parameters */
-    assert_param(IS_RCC_TIMPRES(PeriphClkInit->TIMPresSelection));
-
-    /* Configure Timer Prescaler */
-    __HAL_RCC_TIMCLKPRESCALER(PeriphClkInit->TIMPresSelection);
- 80091b2:      4ba9            ldr     r3, [pc, #676]  ; (8009458 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 80091b4:      f8d3 308c       ldr.w   r3, [r3, #140]  ; 0x8c
- 80091b8:      4aa7            ldr     r2, [pc, #668]  ; (8009458 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 80091ba:      f023 7380       bic.w   r3, r3, #16777216       ; 0x1000000
- 80091be:      f8c2 308c       str.w   r3, [r2, #140]  ; 0x8c
- 80091c2:      4ba5            ldr     r3, [pc, #660]  ; (8009458 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 80091c4:      f8d3 208c       ldr.w   r2, [r3, #140]  ; 0x8c
- 80091c8:      687b            ldr     r3, [r7, #4]
- 80091ca:      6b9b            ldr     r3, [r3, #56]   ; 0x38
- 80091cc:      49a2            ldr     r1, [pc, #648]  ; (8009458 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 80091ce:      4313            orrs    r3, r2
- 80091d0:      f8c1 308c       str.w   r3, [r1, #140]  ; 0x8c
-  }
-
-  /*-------------------------------------- I2C1 Configuration -----------------------------------*/
-  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_I2C1) == RCC_PERIPHCLK_I2C1)
- 80091d4:      687b            ldr     r3, [r7, #4]
- 80091d6:      681b            ldr     r3, [r3, #0]
- 80091d8:      f403 4380       and.w   r3, r3, #16384  ; 0x4000
- 80091dc:      2b00            cmp     r3, #0
- 80091de:      d00a            beq.n   80091f6 <HAL_RCCEx_PeriphCLKConfig+0x24a>
-  {
-    /* Check the parameters */
-    assert_param(IS_RCC_I2C1CLKSOURCE(PeriphClkInit->I2c1ClockSelection));
-
-    /* Configure the I2C1 clock source */
-    __HAL_RCC_I2C1_CONFIG(PeriphClkInit->I2c1ClockSelection);
- 80091e0:      4b9d            ldr     r3, [pc, #628]  ; (8009458 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 80091e2:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
- 80091e6:      f423 3240       bic.w   r2, r3, #196608 ; 0x30000
- 80091ea:      687b            ldr     r3, [r7, #4]
- 80091ec:      6e5b            ldr     r3, [r3, #100]  ; 0x64
- 80091ee:      499a            ldr     r1, [pc, #616]  ; (8009458 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 80091f0:      4313            orrs    r3, r2
- 80091f2:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
-  }
-
-  /*-------------------------------------- I2C2 Configuration -----------------------------------*/
-  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_I2C2) == RCC_PERIPHCLK_I2C2)
- 80091f6:      687b            ldr     r3, [r7, #4]
- 80091f8:      681b            ldr     r3, [r3, #0]
- 80091fa:      f403 4300       and.w   r3, r3, #32768  ; 0x8000
- 80091fe:      2b00            cmp     r3, #0
- 8009200:      d00a            beq.n   8009218 <HAL_RCCEx_PeriphCLKConfig+0x26c>
-  {
-    /* Check the parameters */
-    assert_param(IS_RCC_I2C2CLKSOURCE(PeriphClkInit->I2c2ClockSelection));
-
-    /* Configure the I2C2 clock source */
-    __HAL_RCC_I2C2_CONFIG(PeriphClkInit->I2c2ClockSelection);
- 8009202:      4b95            ldr     r3, [pc, #596]  ; (8009458 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 8009204:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
- 8009208:      f423 2240       bic.w   r2, r3, #786432 ; 0xc0000
- 800920c:      687b            ldr     r3, [r7, #4]
- 800920e:      6e9b            ldr     r3, [r3, #104]  ; 0x68
- 8009210:      4991            ldr     r1, [pc, #580]  ; (8009458 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 8009212:      4313            orrs    r3, r2
- 8009214:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
-  }
-
-  /*-------------------------------------- I2C3 Configuration -----------------------------------*/
-  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_I2C3) == RCC_PERIPHCLK_I2C3)
- 8009218:      687b            ldr     r3, [r7, #4]
- 800921a:      681b            ldr     r3, [r3, #0]
- 800921c:      f403 3380       and.w   r3, r3, #65536  ; 0x10000
- 8009220:      2b00            cmp     r3, #0
- 8009222:      d00a            beq.n   800923a <HAL_RCCEx_PeriphCLKConfig+0x28e>
-  {
-    /* Check the parameters */
-    assert_param(IS_RCC_I2C3CLKSOURCE(PeriphClkInit->I2c3ClockSelection));
-
-    /* Configure the I2C3 clock source */
-    __HAL_RCC_I2C3_CONFIG(PeriphClkInit->I2c3ClockSelection);
- 8009224:      4b8c            ldr     r3, [pc, #560]  ; (8009458 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 8009226:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
- 800922a:      f423 1240       bic.w   r2, r3, #3145728        ; 0x300000
- 800922e:      687b            ldr     r3, [r7, #4]
- 8009230:      6edb            ldr     r3, [r3, #108]  ; 0x6c
- 8009232:      4989            ldr     r1, [pc, #548]  ; (8009458 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 8009234:      4313            orrs    r3, r2
- 8009236:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
-  }
-
-  /*-------------------------------------- I2C4 Configuration -----------------------------------*/
-  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_I2C4) == RCC_PERIPHCLK_I2C4)
- 800923a:      687b            ldr     r3, [r7, #4]
- 800923c:      681b            ldr     r3, [r3, #0]
- 800923e:      f403 3300       and.w   r3, r3, #131072 ; 0x20000
- 8009242:      2b00            cmp     r3, #0
- 8009244:      d00a            beq.n   800925c <HAL_RCCEx_PeriphCLKConfig+0x2b0>
-  {
-    /* Check the parameters */
-    assert_param(IS_RCC_I2C4CLKSOURCE(PeriphClkInit->I2c4ClockSelection));
-
-    /* Configure the I2C4 clock source */
-    __HAL_RCC_I2C4_CONFIG(PeriphClkInit->I2c4ClockSelection);
- 8009246:      4b84            ldr     r3, [pc, #528]  ; (8009458 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 8009248:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
- 800924c:      f423 0240       bic.w   r2, r3, #12582912       ; 0xc00000
- 8009250:      687b            ldr     r3, [r7, #4]
- 8009252:      6f1b            ldr     r3, [r3, #112]  ; 0x70
- 8009254:      4980            ldr     r1, [pc, #512]  ; (8009458 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 8009256:      4313            orrs    r3, r2
- 8009258:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
-  }
-
-  /*-------------------------------------- USART1 Configuration -----------------------------------*/
-  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_USART1) == RCC_PERIPHCLK_USART1)
- 800925c:      687b            ldr     r3, [r7, #4]
- 800925e:      681b            ldr     r3, [r3, #0]
- 8009260:      f003 0340       and.w   r3, r3, #64     ; 0x40
- 8009264:      2b00            cmp     r3, #0
- 8009266:      d00a            beq.n   800927e <HAL_RCCEx_PeriphCLKConfig+0x2d2>
-  {
-    /* Check the parameters */
-    assert_param(IS_RCC_USART1CLKSOURCE(PeriphClkInit->Usart1ClockSelection));
-
-    /* Configure the USART1 clock source */
-    __HAL_RCC_USART1_CONFIG(PeriphClkInit->Usart1ClockSelection);
- 8009268:      4b7b            ldr     r3, [pc, #492]  ; (8009458 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 800926a:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
- 800926e:      f023 0203       bic.w   r2, r3, #3
- 8009272:      687b            ldr     r3, [r7, #4]
- 8009274:      6c5b            ldr     r3, [r3, #68]   ; 0x44
- 8009276:      4978            ldr     r1, [pc, #480]  ; (8009458 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 8009278:      4313            orrs    r3, r2
- 800927a:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
-  }
-
-  /*-------------------------------------- USART2 Configuration -----------------------------------*/
-  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_USART2) == RCC_PERIPHCLK_USART2)
- 800927e:      687b            ldr     r3, [r7, #4]
- 8009280:      681b            ldr     r3, [r3, #0]
- 8009282:      f003 0380       and.w   r3, r3, #128    ; 0x80
- 8009286:      2b00            cmp     r3, #0
- 8009288:      d00a            beq.n   80092a0 <HAL_RCCEx_PeriphCLKConfig+0x2f4>
-  {
-    /* Check the parameters */
-    assert_param(IS_RCC_USART2CLKSOURCE(PeriphClkInit->Usart2ClockSelection));
-
-    /* Configure the USART2 clock source */
-    __HAL_RCC_USART2_CONFIG(PeriphClkInit->Usart2ClockSelection);
- 800928a:      4b73            ldr     r3, [pc, #460]  ; (8009458 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 800928c:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
- 8009290:      f023 020c       bic.w   r2, r3, #12
- 8009294:      687b            ldr     r3, [r7, #4]
- 8009296:      6c9b            ldr     r3, [r3, #72]   ; 0x48
- 8009298:      496f            ldr     r1, [pc, #444]  ; (8009458 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 800929a:      4313            orrs    r3, r2
- 800929c:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
-  }
-
-  /*-------------------------------------- USART3 Configuration -----------------------------------*/
-  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_USART3) == RCC_PERIPHCLK_USART3)
- 80092a0:      687b            ldr     r3, [r7, #4]
- 80092a2:      681b            ldr     r3, [r3, #0]
- 80092a4:      f403 7380       and.w   r3, r3, #256    ; 0x100
- 80092a8:      2b00            cmp     r3, #0
- 80092aa:      d00a            beq.n   80092c2 <HAL_RCCEx_PeriphCLKConfig+0x316>
-  {
-    /* Check the parameters */
-    assert_param(IS_RCC_USART3CLKSOURCE(PeriphClkInit->Usart3ClockSelection));
-
-    /* Configure the USART3 clock source */
-    __HAL_RCC_USART3_CONFIG(PeriphClkInit->Usart3ClockSelection);
- 80092ac:      4b6a            ldr     r3, [pc, #424]  ; (8009458 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 80092ae:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
- 80092b2:      f023 0230       bic.w   r2, r3, #48     ; 0x30
- 80092b6:      687b            ldr     r3, [r7, #4]
- 80092b8:      6cdb            ldr     r3, [r3, #76]   ; 0x4c
- 80092ba:      4967            ldr     r1, [pc, #412]  ; (8009458 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 80092bc:      4313            orrs    r3, r2
- 80092be:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
-  }
-
-  /*-------------------------------------- UART4 Configuration -----------------------------------*/
-  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_UART4) == RCC_PERIPHCLK_UART4)
- 80092c2:      687b            ldr     r3, [r7, #4]
- 80092c4:      681b            ldr     r3, [r3, #0]
- 80092c6:      f403 7300       and.w   r3, r3, #512    ; 0x200
- 80092ca:      2b00            cmp     r3, #0
- 80092cc:      d00a            beq.n   80092e4 <HAL_RCCEx_PeriphCLKConfig+0x338>
-  {
-    /* Check the parameters */
-    assert_param(IS_RCC_UART4CLKSOURCE(PeriphClkInit->Uart4ClockSelection));
-
-    /* Configure the UART4 clock source */
-    __HAL_RCC_UART4_CONFIG(PeriphClkInit->Uart4ClockSelection);
- 80092ce:      4b62            ldr     r3, [pc, #392]  ; (8009458 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 80092d0:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
- 80092d4:      f023 02c0       bic.w   r2, r3, #192    ; 0xc0
- 80092d8:      687b            ldr     r3, [r7, #4]
- 80092da:      6d1b            ldr     r3, [r3, #80]   ; 0x50
- 80092dc:      495e            ldr     r1, [pc, #376]  ; (8009458 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 80092de:      4313            orrs    r3, r2
- 80092e0:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
-  }
-
-  /*-------------------------------------- UART5 Configuration -----------------------------------*/
-  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_UART5) == RCC_PERIPHCLK_UART5)
- 80092e4:      687b            ldr     r3, [r7, #4]
- 80092e6:      681b            ldr     r3, [r3, #0]
- 80092e8:      f403 6380       and.w   r3, r3, #1024   ; 0x400
- 80092ec:      2b00            cmp     r3, #0
- 80092ee:      d00a            beq.n   8009306 <HAL_RCCEx_PeriphCLKConfig+0x35a>
-  {
-    /* Check the parameters */
-    assert_param(IS_RCC_UART5CLKSOURCE(PeriphClkInit->Uart5ClockSelection));
-
-    /* Configure the UART5 clock source */
-    __HAL_RCC_UART5_CONFIG(PeriphClkInit->Uart5ClockSelection);
- 80092f0:      4b59            ldr     r3, [pc, #356]  ; (8009458 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 80092f2:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
- 80092f6:      f423 7240       bic.w   r2, r3, #768    ; 0x300
- 80092fa:      687b            ldr     r3, [r7, #4]
- 80092fc:      6d5b            ldr     r3, [r3, #84]   ; 0x54
- 80092fe:      4956            ldr     r1, [pc, #344]  ; (8009458 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 8009300:      4313            orrs    r3, r2
- 8009302:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
-  }
-
-  /*-------------------------------------- USART6 Configuration -----------------------------------*/
-  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_USART6) == RCC_PERIPHCLK_USART6)
- 8009306:      687b            ldr     r3, [r7, #4]
- 8009308:      681b            ldr     r3, [r3, #0]
- 800930a:      f403 6300       and.w   r3, r3, #2048   ; 0x800
- 800930e:      2b00            cmp     r3, #0
- 8009310:      d00a            beq.n   8009328 <HAL_RCCEx_PeriphCLKConfig+0x37c>
-  {
-    /* Check the parameters */
-    assert_param(IS_RCC_USART6CLKSOURCE(PeriphClkInit->Usart6ClockSelection));
-
-    /* Configure the USART6 clock source */
-    __HAL_RCC_USART6_CONFIG(PeriphClkInit->Usart6ClockSelection);
- 8009312:      4b51            ldr     r3, [pc, #324]  ; (8009458 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 8009314:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
- 8009318:      f423 6240       bic.w   r2, r3, #3072   ; 0xc00
- 800931c:      687b            ldr     r3, [r7, #4]
- 800931e:      6d9b            ldr     r3, [r3, #88]   ; 0x58
- 8009320:      494d            ldr     r1, [pc, #308]  ; (8009458 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 8009322:      4313            orrs    r3, r2
- 8009324:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
-  }
-
-  /*-------------------------------------- UART7 Configuration -----------------------------------*/
-  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_UART7) == RCC_PERIPHCLK_UART7)
- 8009328:      687b            ldr     r3, [r7, #4]
- 800932a:      681b            ldr     r3, [r3, #0]
- 800932c:      f403 5380       and.w   r3, r3, #4096   ; 0x1000
- 8009330:      2b00            cmp     r3, #0
- 8009332:      d00a            beq.n   800934a <HAL_RCCEx_PeriphCLKConfig+0x39e>
-  {
-    /* Check the parameters */
-    assert_param(IS_RCC_UART7CLKSOURCE(PeriphClkInit->Uart7ClockSelection));
-
-    /* Configure the UART7 clock source */
-    __HAL_RCC_UART7_CONFIG(PeriphClkInit->Uart7ClockSelection);
- 8009334:      4b48            ldr     r3, [pc, #288]  ; (8009458 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 8009336:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
- 800933a:      f423 5240       bic.w   r2, r3, #12288  ; 0x3000
- 800933e:      687b            ldr     r3, [r7, #4]
- 8009340:      6ddb            ldr     r3, [r3, #92]   ; 0x5c
- 8009342:      4945            ldr     r1, [pc, #276]  ; (8009458 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 8009344:      4313            orrs    r3, r2
- 8009346:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
-  }
-
-  /*-------------------------------------- UART8 Configuration -----------------------------------*/
-  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_UART8) == RCC_PERIPHCLK_UART8)
- 800934a:      687b            ldr     r3, [r7, #4]
- 800934c:      681b            ldr     r3, [r3, #0]
- 800934e:      f403 5300       and.w   r3, r3, #8192   ; 0x2000
- 8009352:      2b00            cmp     r3, #0
- 8009354:      d00a            beq.n   800936c <HAL_RCCEx_PeriphCLKConfig+0x3c0>
-  {
-    /* Check the parameters */
-    assert_param(IS_RCC_UART8CLKSOURCE(PeriphClkInit->Uart8ClockSelection));
-
-    /* Configure the UART8 clock source */
-    __HAL_RCC_UART8_CONFIG(PeriphClkInit->Uart8ClockSelection);
- 8009356:      4b40            ldr     r3, [pc, #256]  ; (8009458 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 8009358:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
- 800935c:      f423 4240       bic.w   r2, r3, #49152  ; 0xc000
- 8009360:      687b            ldr     r3, [r7, #4]
- 8009362:      6e1b            ldr     r3, [r3, #96]   ; 0x60
- 8009364:      493c            ldr     r1, [pc, #240]  ; (8009458 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 8009366:      4313            orrs    r3, r2
- 8009368:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
-  }
-
-  /*--------------------------------------- CEC Configuration -----------------------------------*/
-  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_CEC) == RCC_PERIPHCLK_CEC)
- 800936c:      687b            ldr     r3, [r7, #4]
- 800936e:      681b            ldr     r3, [r3, #0]
- 8009370:      f403 0380       and.w   r3, r3, #4194304        ; 0x400000
- 8009374:      2b00            cmp     r3, #0
- 8009376:      d00a            beq.n   800938e <HAL_RCCEx_PeriphCLKConfig+0x3e2>
-  {
-    /* Check the parameters */
-    assert_param(IS_RCC_CECCLKSOURCE(PeriphClkInit->CecClockSelection));
-
-    /* Configure the CEC clock source */
-    __HAL_RCC_CEC_CONFIG(PeriphClkInit->CecClockSelection);
- 8009378:      4b37            ldr     r3, [pc, #220]  ; (8009458 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 800937a:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
- 800937e:      f023 6280       bic.w   r2, r3, #67108864       ; 0x4000000
- 8009382:      687b            ldr     r3, [r7, #4]
- 8009384:      6f9b            ldr     r3, [r3, #120]  ; 0x78
- 8009386:      4934            ldr     r1, [pc, #208]  ; (8009458 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 8009388:      4313            orrs    r3, r2
- 800938a:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
-  }
-
-  /*-------------------------------------- CK48 Configuration -----------------------------------*/
-  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_CLK48) == RCC_PERIPHCLK_CLK48)
- 800938e:      687b            ldr     r3, [r7, #4]
- 8009390:      681b            ldr     r3, [r3, #0]
- 8009392:      f403 1300       and.w   r3, r3, #2097152        ; 0x200000
- 8009396:      2b00            cmp     r3, #0
- 8009398:      d011            beq.n   80093be <HAL_RCCEx_PeriphCLKConfig+0x412>
-  {
-    /* Check the parameters */
-    assert_param(IS_RCC_CLK48SOURCE(PeriphClkInit->Clk48ClockSelection));
-
-    /* Configure the CLK48 source */
-    __HAL_RCC_CLK48_CONFIG(PeriphClkInit->Clk48ClockSelection);
- 800939a:      4b2f            ldr     r3, [pc, #188]  ; (8009458 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 800939c:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
- 80093a0:      f023 6200       bic.w   r2, r3, #134217728      ; 0x8000000
- 80093a4:      687b            ldr     r3, [r7, #4]
- 80093a6:      6fdb            ldr     r3, [r3, #124]  ; 0x7c
- 80093a8:      492b            ldr     r1, [pc, #172]  ; (8009458 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 80093aa:      4313            orrs    r3, r2
- 80093ac:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
-
-    /* Enable the PLLSAI when it's used as clock source for CK48 */
-    if(PeriphClkInit->Clk48ClockSelection == RCC_CLK48SOURCE_PLLSAIP)
- 80093b0:      687b            ldr     r3, [r7, #4]
- 80093b2:      6fdb            ldr     r3, [r3, #124]  ; 0x7c
- 80093b4:      f1b3 6f00       cmp.w   r3, #134217728  ; 0x8000000
- 80093b8:      d101            bne.n   80093be <HAL_RCCEx_PeriphCLKConfig+0x412>
-    {
-      pllsaiused = 1;
- 80093ba:      2301            movs    r3, #1
- 80093bc:      61bb            str     r3, [r7, #24]
-    }
-  }
-
-  /*-------------------------------------- LTDC Configuration -----------------------------------*/
-#if defined(STM32F746xx) || defined(STM32F756xx) || defined (STM32F767xx) || defined (STM32F769xx) || defined (STM32F777xx) || defined (STM32F779xx) || defined (STM32F750xx)
-  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_LTDC) == RCC_PERIPHCLK_LTDC)
- 80093be:      687b            ldr     r3, [r7, #4]
- 80093c0:      681b            ldr     r3, [r3, #0]
- 80093c2:      f003 0308       and.w   r3, r3, #8
- 80093c6:      2b00            cmp     r3, #0
- 80093c8:      d001            beq.n   80093ce <HAL_RCCEx_PeriphCLKConfig+0x422>
-  {
-    pllsaiused = 1;
- 80093ca:      2301            movs    r3, #1
- 80093cc:      61bb            str     r3, [r7, #24]
-  }
-#endif /* STM32F746xx || STM32F756xx || STM32F767xx || STM32F769xx || STM32F777xx || STM32F779xx || STM32F750xx */
-
-  /*-------------------------------------- LPTIM1 Configuration -----------------------------------*/
-  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_LPTIM1) == RCC_PERIPHCLK_LPTIM1)
- 80093ce:      687b            ldr     r3, [r7, #4]
- 80093d0:      681b            ldr     r3, [r3, #0]
- 80093d2:      f403 2380       and.w   r3, r3, #262144 ; 0x40000
- 80093d6:      2b00            cmp     r3, #0
- 80093d8:      d00a            beq.n   80093f0 <HAL_RCCEx_PeriphCLKConfig+0x444>
-  {
-    /* Check the parameters */
-    assert_param(IS_RCC_LPTIM1CLK(PeriphClkInit->Lptim1ClockSelection));
-
-    /* Configure the LTPIM1 clock source */
-    __HAL_RCC_LPTIM1_CONFIG(PeriphClkInit->Lptim1ClockSelection);
- 80093da:      4b1f            ldr     r3, [pc, #124]  ; (8009458 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 80093dc:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
- 80093e0:      f023 7240       bic.w   r2, r3, #50331648       ; 0x3000000
- 80093e4:      687b            ldr     r3, [r7, #4]
- 80093e6:      6f5b            ldr     r3, [r3, #116]  ; 0x74
- 80093e8:      491b            ldr     r1, [pc, #108]  ; (8009458 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 80093ea:      4313            orrs    r3, r2
- 80093ec:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
-   }
-
-  /*------------------------------------- SDMMC1 Configuration ------------------------------------*/
-  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SDMMC1) == RCC_PERIPHCLK_SDMMC1)
- 80093f0:      687b            ldr     r3, [r7, #4]
- 80093f2:      681b            ldr     r3, [r3, #0]
- 80093f4:      f403 0300       and.w   r3, r3, #8388608        ; 0x800000
- 80093f8:      2b00            cmp     r3, #0
- 80093fa:      d00b            beq.n   8009414 <HAL_RCCEx_PeriphCLKConfig+0x468>
-  {
-    /* Check the parameters */
-    assert_param(IS_RCC_SDMMC1CLKSOURCE(PeriphClkInit->Sdmmc1ClockSelection));
-
-    /* Configure the SDMMC1 clock source */
-    __HAL_RCC_SDMMC1_CONFIG(PeriphClkInit->Sdmmc1ClockSelection);
- 80093fc:      4b16            ldr     r3, [pc, #88]   ; (8009458 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 80093fe:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
- 8009402:      f023 5280       bic.w   r2, r3, #268435456      ; 0x10000000
- 8009406:      687b            ldr     r3, [r7, #4]
- 8009408:      f8d3 3080       ldr.w   r3, [r3, #128]  ; 0x80
- 800940c:      4912            ldr     r1, [pc, #72]   ; (8009458 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 800940e:      4313            orrs    r3, r2
- 8009410:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
-  }
-
-#if defined (STM32F765xx) || defined (STM32F767xx) || defined (STM32F769xx) || defined (STM32F777xx) || defined (STM32F779xx)
-  /*------------------------------------- SDMMC2 Configuration ------------------------------------*/
-  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SDMMC2) == RCC_PERIPHCLK_SDMMC2)
- 8009414:      687b            ldr     r3, [r7, #4]
- 8009416:      681b            ldr     r3, [r3, #0]
- 8009418:      f003 6380       and.w   r3, r3, #67108864       ; 0x4000000
- 800941c:      2b00            cmp     r3, #0
- 800941e:      d00b            beq.n   8009438 <HAL_RCCEx_PeriphCLKConfig+0x48c>
-  {
-    /* Check the parameters */
-    assert_param(IS_RCC_SDMMC2CLKSOURCE(PeriphClkInit->Sdmmc2ClockSelection));
-
-    /* Configure the SDMMC2 clock source */
-    __HAL_RCC_SDMMC2_CONFIG(PeriphClkInit->Sdmmc2ClockSelection);
- 8009420:      4b0d            ldr     r3, [pc, #52]   ; (8009458 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 8009422:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
- 8009426:      f023 5200       bic.w   r2, r3, #536870912      ; 0x20000000
- 800942a:      687b            ldr     r3, [r7, #4]
- 800942c:      f8d3 3084       ldr.w   r3, [r3, #132]  ; 0x84
- 8009430:      4909            ldr     r1, [pc, #36]   ; (8009458 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 8009432:      4313            orrs    r3, r2
- 8009434:      f8c1 3090       str.w   r3, [r1, #144]  ; 0x90
-  }
-
-  /*------------------------------------- DFSDM1 Configuration -------------------------------------*/
-  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_DFSDM1) == RCC_PERIPHCLK_DFSDM1)
- 8009438:      687b            ldr     r3, [r7, #4]
- 800943a:      681b            ldr     r3, [r3, #0]
- 800943c:      f003 6300       and.w   r3, r3, #134217728      ; 0x8000000
- 8009440:      2b00            cmp     r3, #0
- 8009442:      d00f            beq.n   8009464 <HAL_RCCEx_PeriphCLKConfig+0x4b8>
-  {
-    /* Check the parameters */
-    assert_param(IS_RCC_DFSDM1CLKSOURCE(PeriphClkInit->Dfsdm1ClockSelection));
-
-    /* Configure the DFSDM1 interface clock source */
-    __HAL_RCC_DFSDM1_CONFIG(PeriphClkInit->Dfsdm1ClockSelection);
- 8009444:      4b04            ldr     r3, [pc, #16]   ; (8009458 <HAL_RCCEx_PeriphCLKConfig+0x4ac>)
- 8009446:      f8d3 308c       ldr.w   r3, [r3, #140]  ; 0x8c
- 800944a:      f023 7200       bic.w   r2, r3, #33554432       ; 0x2000000
- 800944e:      687b            ldr     r3, [r7, #4]
- 8009450:      f8d3 3088       ldr.w   r3, [r3, #136]  ; 0x88
- 8009454:      e002            b.n     800945c <HAL_RCCEx_PeriphCLKConfig+0x4b0>
- 8009456:      bf00            nop
- 8009458:      40023800        .word   0x40023800
- 800945c:      4985            ldr     r1, [pc, #532]  ; (8009674 <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
- 800945e:      4313            orrs    r3, r2
- 8009460:      f8c1 308c       str.w   r3, [r1, #140]  ; 0x8c
-  }
-
-  /*------------------------------------- DFSDM AUDIO Configuration -------------------------------------*/
-  if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_DFSDM1_AUDIO) == RCC_PERIPHCLK_DFSDM1_AUDIO)
- 8009464:      687b            ldr     r3, [r7, #4]
- 8009466:      681b            ldr     r3, [r3, #0]
- 8009468:      f003 5380       and.w   r3, r3, #268435456      ; 0x10000000
- 800946c:      2b00            cmp     r3, #0
- 800946e:      d00b            beq.n   8009488 <HAL_RCCEx_PeriphCLKConfig+0x4dc>
-  {
-    /* Check the parameters */
-    assert_param(IS_RCC_DFSDM1AUDIOCLKSOURCE(PeriphClkInit->Dfsdm1AudioClockSelection));
-
-    /* Configure the DFSDM interface clock source */
-    __HAL_RCC_DFSDM1AUDIO_CONFIG(PeriphClkInit->Dfsdm1AudioClockSelection);
- 8009470:      4b80            ldr     r3, [pc, #512]  ; (8009674 <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
- 8009472:      f8d3 308c       ldr.w   r3, [r3, #140]  ; 0x8c
- 8009476:      f023 6280       bic.w   r2, r3, #67108864       ; 0x4000000
- 800947a:      687b            ldr     r3, [r7, #4]
- 800947c:      f8d3 308c       ldr.w   r3, [r3, #140]  ; 0x8c
- 8009480:      497c            ldr     r1, [pc, #496]  ; (8009674 <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
- 8009482:      4313            orrs    r3, r2
- 8009484:      f8c1 308c       str.w   r3, [r1, #140]  ; 0x8c
-  }
-#endif /* STM32F767xx || STM32F769xx || STM32F777xx || STM32F779xx */
-
-  /*-------------------------------------- PLLI2S Configuration ---------------------------------*/
-  /* PLLI2S is configured when a peripheral will use it as source clock : SAI1, SAI2, I2S or SPDIF-RX */
-  if((plli2sused == 1) || (PeriphClkInit->PeriphClockSelection == RCC_PERIPHCLK_PLLI2S))
- 8009488:      69fb            ldr     r3, [r7, #28]
- 800948a:      2b01            cmp     r3, #1
- 800948c:      d005            beq.n   800949a <HAL_RCCEx_PeriphCLKConfig+0x4ee>
- 800948e:      687b            ldr     r3, [r7, #4]
- 8009490:      681b            ldr     r3, [r3, #0]
- 8009492:      f1b3 7f00       cmp.w   r3, #33554432   ; 0x2000000
- 8009496:      f040 80d6       bne.w   8009646 <HAL_RCCEx_PeriphCLKConfig+0x69a>
-  {
-    /* Disable the PLLI2S */
-    __HAL_RCC_PLLI2S_DISABLE();
- 800949a:      4b76            ldr     r3, [pc, #472]  ; (8009674 <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
- 800949c:      681b            ldr     r3, [r3, #0]
- 800949e:      4a75            ldr     r2, [pc, #468]  ; (8009674 <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
- 80094a0:      f023 6380       bic.w   r3, r3, #67108864       ; 0x4000000
- 80094a4:      6013            str     r3, [r2, #0]
-
-    /* Get Start Tick*/
-    tickstart = HAL_GetTick();
- 80094a6:      f7fe fdf5       bl      8008094 <HAL_GetTick>
- 80094aa:      6178            str     r0, [r7, #20]
-
-    /* Wait till PLLI2S is disabled */
-    while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLI2SRDY)  != RESET)
- 80094ac:      e008            b.n     80094c0 <HAL_RCCEx_PeriphCLKConfig+0x514>
-    {
-      if((HAL_GetTick() - tickstart) > PLLI2S_TIMEOUT_VALUE)
- 80094ae:      f7fe fdf1       bl      8008094 <HAL_GetTick>
- 80094b2:      4602            mov     r2, r0
- 80094b4:      697b            ldr     r3, [r7, #20]
- 80094b6:      1ad3            subs    r3, r2, r3
- 80094b8:      2b64            cmp     r3, #100        ; 0x64
- 80094ba:      d901            bls.n   80094c0 <HAL_RCCEx_PeriphCLKConfig+0x514>
-      {
-        /* return in case of Timeout detected */
-        return HAL_TIMEOUT;
- 80094bc:      2303            movs    r3, #3
- 80094be:      e194            b.n     80097ea <HAL_RCCEx_PeriphCLKConfig+0x83e>
-    while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLI2SRDY)  != RESET)
- 80094c0:      4b6c            ldr     r3, [pc, #432]  ; (8009674 <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
- 80094c2:      681b            ldr     r3, [r3, #0]
- 80094c4:      f003 6300       and.w   r3, r3, #134217728      ; 0x8000000
- 80094c8:      2b00            cmp     r3, #0
- 80094ca:      d1f0            bne.n   80094ae <HAL_RCCEx_PeriphCLKConfig+0x502>
-
-    /* check for common PLLI2S Parameters */
-    assert_param(IS_RCC_PLLI2SN_VALUE(PeriphClkInit->PLLI2S.PLLI2SN));
-
-    /*----------------- In Case of PLLI2S is selected as source clock for I2S -------------------*/
-    if(((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_I2S) == RCC_PERIPHCLK_I2S) && (PeriphClkInit->I2sClockSelection == RCC_I2SCLKSOURCE_PLLI2S)))
- 80094cc:      687b            ldr     r3, [r7, #4]
- 80094ce:      681b            ldr     r3, [r3, #0]
- 80094d0:      f003 0301       and.w   r3, r3, #1
- 80094d4:      2b00            cmp     r3, #0
- 80094d6:      d021            beq.n   800951c <HAL_RCCEx_PeriphCLKConfig+0x570>
- 80094d8:      687b            ldr     r3, [r7, #4]
- 80094da:      6b5b            ldr     r3, [r3, #52]   ; 0x34
- 80094dc:      2b00            cmp     r3, #0
- 80094de:      d11d            bne.n   800951c <HAL_RCCEx_PeriphCLKConfig+0x570>
-    {
-      /* check for Parameters */
-      assert_param(IS_RCC_PLLI2SR_VALUE(PeriphClkInit->PLLI2S.PLLI2SR));
-
-      /* Read PLLI2SP and PLLI2SQ value from PLLI2SCFGR register (this value is not needed for I2S configuration) */
-      tmpreg0 = ((RCC->PLLI2SCFGR & RCC_PLLI2SCFGR_PLLI2SP) >> RCC_PLLI2SCFGR_PLLI2SP_Pos);
- 80094e0:      4b64            ldr     r3, [pc, #400]  ; (8009674 <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
- 80094e2:      f8d3 3084       ldr.w   r3, [r3, #132]  ; 0x84
- 80094e6:      0c1b            lsrs    r3, r3, #16
- 80094e8:      f003 0303       and.w   r3, r3, #3
- 80094ec:      613b            str     r3, [r7, #16]
-      tmpreg1 = ((RCC->PLLI2SCFGR & RCC_PLLI2SCFGR_PLLI2SQ) >> RCC_PLLI2SCFGR_PLLI2SQ_Pos);
- 80094ee:      4b61            ldr     r3, [pc, #388]  ; (8009674 <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
- 80094f0:      f8d3 3084       ldr.w   r3, [r3, #132]  ; 0x84
- 80094f4:      0e1b            lsrs    r3, r3, #24
- 80094f6:      f003 030f       and.w   r3, r3, #15
- 80094fa:      60fb            str     r3, [r7, #12]
-      /* Configure the PLLI2S division factors */
-      /* PLLI2S_VCO = f(VCO clock) = f(PLLI2S clock input) x (PLLI2SN/PLLM) */
-      /* I2SCLK = f(PLLI2S clock output) = f(VCO clock) / PLLI2SR */
-      __HAL_RCC_PLLI2S_CONFIG(PeriphClkInit->PLLI2S.PLLI2SN , tmpreg0, tmpreg1, PeriphClkInit->PLLI2S.PLLI2SR);
- 80094fc:      687b            ldr     r3, [r7, #4]
- 80094fe:      685b            ldr     r3, [r3, #4]
- 8009500:      019a            lsls    r2, r3, #6
- 8009502:      693b            ldr     r3, [r7, #16]
- 8009504:      041b            lsls    r3, r3, #16
- 8009506:      431a            orrs    r2, r3
- 8009508:      68fb            ldr     r3, [r7, #12]
- 800950a:      061b            lsls    r3, r3, #24
- 800950c:      431a            orrs    r2, r3
- 800950e:      687b            ldr     r3, [r7, #4]
- 8009510:      689b            ldr     r3, [r3, #8]
- 8009512:      071b            lsls    r3, r3, #28
- 8009514:      4957            ldr     r1, [pc, #348]  ; (8009674 <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
- 8009516:      4313            orrs    r3, r2
- 8009518:      f8c1 3084       str.w   r3, [r1, #132]  ; 0x84
-    }
-
-    /*----------------- In Case of PLLI2S is selected as source clock for SAI -------------------*/
-    if(((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI1) == RCC_PERIPHCLK_SAI1) && (PeriphClkInit->Sai1ClockSelection == RCC_SAI1CLKSOURCE_PLLI2S)) ||
- 800951c:      687b            ldr     r3, [r7, #4]
- 800951e:      681b            ldr     r3, [r3, #0]
- 8009520:      f403 2300       and.w   r3, r3, #524288 ; 0x80000
- 8009524:      2b00            cmp     r3, #0
- 8009526:      d004            beq.n   8009532 <HAL_RCCEx_PeriphCLKConfig+0x586>
- 8009528:      687b            ldr     r3, [r7, #4]
- 800952a:      6bdb            ldr     r3, [r3, #60]   ; 0x3c
- 800952c:      f5b3 1f80       cmp.w   r3, #1048576    ; 0x100000
- 8009530:      d00a            beq.n   8009548 <HAL_RCCEx_PeriphCLKConfig+0x59c>
-       ((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI2) == RCC_PERIPHCLK_SAI2) && (PeriphClkInit->Sai2ClockSelection == RCC_SAI2CLKSOURCE_PLLI2S)))
- 8009532:      687b            ldr     r3, [r7, #4]
- 8009534:      681b            ldr     r3, [r3, #0]
- 8009536:      f403 1380       and.w   r3, r3, #1048576        ; 0x100000
-    if(((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI1) == RCC_PERIPHCLK_SAI1) && (PeriphClkInit->Sai1ClockSelection == RCC_SAI1CLKSOURCE_PLLI2S)) ||
- 800953a:      2b00            cmp     r3, #0
- 800953c:      d02e            beq.n   800959c <HAL_RCCEx_PeriphCLKConfig+0x5f0>
-       ((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI2) == RCC_PERIPHCLK_SAI2) && (PeriphClkInit->Sai2ClockSelection == RCC_SAI2CLKSOURCE_PLLI2S)))
- 800953e:      687b            ldr     r3, [r7, #4]
- 8009540:      6c1b            ldr     r3, [r3, #64]   ; 0x40
- 8009542:      f5b3 0f80       cmp.w   r3, #4194304    ; 0x400000
- 8009546:      d129            bne.n   800959c <HAL_RCCEx_PeriphCLKConfig+0x5f0>
-      assert_param(IS_RCC_PLLI2SQ_VALUE(PeriphClkInit->PLLI2S.PLLI2SQ));
-      /* Check for PLLI2S/DIVQ parameters */
-      assert_param(IS_RCC_PLLI2S_DIVQ_VALUE(PeriphClkInit->PLLI2SDivQ));
-
-      /* Read PLLI2SP and PLLI2SR values from PLLI2SCFGR register (this value is not needed for SAI configuration) */
-      tmpreg0 = ((RCC->PLLI2SCFGR & RCC_PLLI2SCFGR_PLLI2SP) >> RCC_PLLI2SCFGR_PLLI2SP_Pos);
- 8009548:      4b4a            ldr     r3, [pc, #296]  ; (8009674 <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
- 800954a:      f8d3 3084       ldr.w   r3, [r3, #132]  ; 0x84
- 800954e:      0c1b            lsrs    r3, r3, #16
- 8009550:      f003 0303       and.w   r3, r3, #3
- 8009554:      613b            str     r3, [r7, #16]
-      tmpreg1 = ((RCC->PLLI2SCFGR & RCC_PLLI2SCFGR_PLLI2SR) >> RCC_PLLI2SCFGR_PLLI2SR_Pos);
- 8009556:      4b47            ldr     r3, [pc, #284]  ; (8009674 <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
- 8009558:      f8d3 3084       ldr.w   r3, [r3, #132]  ; 0x84
- 800955c:      0f1b            lsrs    r3, r3, #28
- 800955e:      f003 0307       and.w   r3, r3, #7
- 8009562:      60fb            str     r3, [r7, #12]
-      /* Configure the PLLI2S division factors */
-      /* PLLI2S_VCO Input  = PLL_SOURCE/PLLM */
-      /* PLLI2S_VCO Output = PLLI2S_VCO Input * PLLI2SN */
-      /* SAI_CLK(first level) = PLLI2S_VCO Output/PLLI2SQ */
-      __HAL_RCC_PLLI2S_CONFIG(PeriphClkInit->PLLI2S.PLLI2SN, tmpreg0, PeriphClkInit->PLLI2S.PLLI2SQ, tmpreg1);
- 8009564:      687b            ldr     r3, [r7, #4]
- 8009566:      685b            ldr     r3, [r3, #4]
- 8009568:      019a            lsls    r2, r3, #6
- 800956a:      693b            ldr     r3, [r7, #16]
- 800956c:      041b            lsls    r3, r3, #16
- 800956e:      431a            orrs    r2, r3
- 8009570:      687b            ldr     r3, [r7, #4]
- 8009572:      68db            ldr     r3, [r3, #12]
- 8009574:      061b            lsls    r3, r3, #24
- 8009576:      431a            orrs    r2, r3
- 8009578:      68fb            ldr     r3, [r7, #12]
- 800957a:      071b            lsls    r3, r3, #28
- 800957c:      493d            ldr     r1, [pc, #244]  ; (8009674 <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
- 800957e:      4313            orrs    r3, r2
- 8009580:      f8c1 3084       str.w   r3, [r1, #132]  ; 0x84
-
-      /* SAI_CLK_x = SAI_CLK(first level)/PLLI2SDIVQ */
-      __HAL_RCC_PLLI2S_PLLSAICLKDIVQ_CONFIG(PeriphClkInit->PLLI2SDivQ);
- 8009584:      4b3b            ldr     r3, [pc, #236]  ; (8009674 <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
- 8009586:      f8d3 308c       ldr.w   r3, [r3, #140]  ; 0x8c
- 800958a:      f023 021f       bic.w   r2, r3, #31
- 800958e:      687b            ldr     r3, [r7, #4]
- 8009590:      6a5b            ldr     r3, [r3, #36]   ; 0x24
- 8009592:      3b01            subs    r3, #1
- 8009594:      4937            ldr     r1, [pc, #220]  ; (8009674 <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
- 8009596:      4313            orrs    r3, r2
- 8009598:      f8c1 308c       str.w   r3, [r1, #140]  ; 0x8c
-    }
-
-    /*----------------- In Case of PLLI2S is selected as source clock for SPDIF-RX -------------------*/
-    if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SPDIFRX) == RCC_PERIPHCLK_SPDIFRX)
- 800959c:      687b            ldr     r3, [r7, #4]
- 800959e:      681b            ldr     r3, [r3, #0]
- 80095a0:      f003 7380       and.w   r3, r3, #16777216       ; 0x1000000
- 80095a4:      2b00            cmp     r3, #0
- 80095a6:      d01d            beq.n   80095e4 <HAL_RCCEx_PeriphCLKConfig+0x638>
-    {
-      /* check for Parameters */
-      assert_param(IS_RCC_PLLI2SP_VALUE(PeriphClkInit->PLLI2S.PLLI2SP));
-
-     /* Read PLLI2SR value from PLLI2SCFGR register (this value is not needed for SPDIF-RX configuration) */
-      tmpreg0 = ((RCC->PLLI2SCFGR & RCC_PLLI2SCFGR_PLLI2SQ) >> RCC_PLLI2SCFGR_PLLI2SQ_Pos);
- 80095a8:      4b32            ldr     r3, [pc, #200]  ; (8009674 <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
- 80095aa:      f8d3 3084       ldr.w   r3, [r3, #132]  ; 0x84
- 80095ae:      0e1b            lsrs    r3, r3, #24
- 80095b0:      f003 030f       and.w   r3, r3, #15
- 80095b4:      613b            str     r3, [r7, #16]
-      tmpreg1 = ((RCC->PLLI2SCFGR & RCC_PLLI2SCFGR_PLLI2SR) >> RCC_PLLI2SCFGR_PLLI2SR_Pos);
- 80095b6:      4b2f            ldr     r3, [pc, #188]  ; (8009674 <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
- 80095b8:      f8d3 3084       ldr.w   r3, [r3, #132]  ; 0x84
- 80095bc:      0f1b            lsrs    r3, r3, #28
- 80095be:      f003 0307       and.w   r3, r3, #7
- 80095c2:      60fb            str     r3, [r7, #12]
-      /* Configure the PLLI2S division factors */
-      /* PLLI2S_VCO = f(VCO clock) = f(PLLI2S clock input) x (PLLI2SN/PLLM) */
-      /* SPDIFCLK = f(PLLI2S clock output) = f(VCO clock) / PLLI2SP */
-      __HAL_RCC_PLLI2S_CONFIG(PeriphClkInit->PLLI2S.PLLI2SN , PeriphClkInit->PLLI2S.PLLI2SP, tmpreg0, tmpreg1);
- 80095c4:      687b            ldr     r3, [r7, #4]
- 80095c6:      685b            ldr     r3, [r3, #4]
- 80095c8:      019a            lsls    r2, r3, #6
- 80095ca:      687b            ldr     r3, [r7, #4]
- 80095cc:      691b            ldr     r3, [r3, #16]
- 80095ce:      041b            lsls    r3, r3, #16
- 80095d0:      431a            orrs    r2, r3
- 80095d2:      693b            ldr     r3, [r7, #16]
- 80095d4:      061b            lsls    r3, r3, #24
- 80095d6:      431a            orrs    r2, r3
- 80095d8:      68fb            ldr     r3, [r7, #12]
- 80095da:      071b            lsls    r3, r3, #28
- 80095dc:      4925            ldr     r1, [pc, #148]  ; (8009674 <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
- 80095de:      4313            orrs    r3, r2
- 80095e0:      f8c1 3084       str.w   r3, [r1, #132]  ; 0x84
-    }
-
-    /*----------------- In Case of PLLI2S is just selected  -----------------*/
-    if((PeriphClkInit->PeriphClockSelection & RCC_PERIPHCLK_PLLI2S) == RCC_PERIPHCLK_PLLI2S)
- 80095e4:      687b            ldr     r3, [r7, #4]
- 80095e6:      681b            ldr     r3, [r3, #0]
- 80095e8:      f003 7300       and.w   r3, r3, #33554432       ; 0x2000000
- 80095ec:      2b00            cmp     r3, #0
- 80095ee:      d011            beq.n   8009614 <HAL_RCCEx_PeriphCLKConfig+0x668>
-      assert_param(IS_RCC_PLLI2SQ_VALUE(PeriphClkInit->PLLI2S.PLLI2SQ));
-
-      /* Configure the PLLI2S division factors */
-      /* PLLI2S_VCO = f(VCO clock) = f(PLLI2S clock input) x (PLLI2SN/PLLI2SM) */
-      /* SPDIFRXCLK = f(PLLI2S clock output) = f(VCO clock) / PLLI2SP */
-      __HAL_RCC_PLLI2S_CONFIG(PeriphClkInit->PLLI2S.PLLI2SN , PeriphClkInit->PLLI2S.PLLI2SP, PeriphClkInit->PLLI2S.PLLI2SQ, PeriphClkInit->PLLI2S.PLLI2SR);
- 80095f0:      687b            ldr     r3, [r7, #4]
- 80095f2:      685b            ldr     r3, [r3, #4]
- 80095f4:      019a            lsls    r2, r3, #6
- 80095f6:      687b            ldr     r3, [r7, #4]
- 80095f8:      691b            ldr     r3, [r3, #16]
- 80095fa:      041b            lsls    r3, r3, #16
- 80095fc:      431a            orrs    r2, r3
- 80095fe:      687b            ldr     r3, [r7, #4]
- 8009600:      68db            ldr     r3, [r3, #12]
- 8009602:      061b            lsls    r3, r3, #24
- 8009604:      431a            orrs    r2, r3
- 8009606:      687b            ldr     r3, [r7, #4]
- 8009608:      689b            ldr     r3, [r3, #8]
- 800960a:      071b            lsls    r3, r3, #28
- 800960c:      4919            ldr     r1, [pc, #100]  ; (8009674 <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
- 800960e:      4313            orrs    r3, r2
- 8009610:      f8c1 3084       str.w   r3, [r1, #132]  ; 0x84
-    }
-
-    /* Enable the PLLI2S */
-    __HAL_RCC_PLLI2S_ENABLE();
- 8009614:      4b17            ldr     r3, [pc, #92]   ; (8009674 <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
- 8009616:      681b            ldr     r3, [r3, #0]
- 8009618:      4a16            ldr     r2, [pc, #88]   ; (8009674 <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
- 800961a:      f043 6380       orr.w   r3, r3, #67108864       ; 0x4000000
- 800961e:      6013            str     r3, [r2, #0]
-
-    /* Get Start Tick*/
-    tickstart = HAL_GetTick();
- 8009620:      f7fe fd38       bl      8008094 <HAL_GetTick>
- 8009624:      6178            str     r0, [r7, #20]
-
-    /* Wait till PLLI2S is ready */
-    while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLI2SRDY)  == RESET)
- 8009626:      e008            b.n     800963a <HAL_RCCEx_PeriphCLKConfig+0x68e>
-    {
-      if((HAL_GetTick() - tickstart) > PLLI2S_TIMEOUT_VALUE)
- 8009628:      f7fe fd34       bl      8008094 <HAL_GetTick>
- 800962c:      4602            mov     r2, r0
- 800962e:      697b            ldr     r3, [r7, #20]
- 8009630:      1ad3            subs    r3, r2, r3
- 8009632:      2b64            cmp     r3, #100        ; 0x64
- 8009634:      d901            bls.n   800963a <HAL_RCCEx_PeriphCLKConfig+0x68e>
-      {
-        /* return in case of Timeout detected */
-        return HAL_TIMEOUT;
- 8009636:      2303            movs    r3, #3
- 8009638:      e0d7            b.n     80097ea <HAL_RCCEx_PeriphCLKConfig+0x83e>
-    while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLI2SRDY)  == RESET)
- 800963a:      4b0e            ldr     r3, [pc, #56]   ; (8009674 <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
- 800963c:      681b            ldr     r3, [r3, #0]
- 800963e:      f003 6300       and.w   r3, r3, #134217728      ; 0x8000000
- 8009642:      2b00            cmp     r3, #0
- 8009644:      d0f0            beq.n   8009628 <HAL_RCCEx_PeriphCLKConfig+0x67c>
-    }
-  }
-
-  /*-------------------------------------- PLLSAI Configuration ---------------------------------*/
-  /* PLLSAI is configured when a peripheral will use it as source clock : SAI1, SAI2, LTDC or CK48 */
-  if(pllsaiused == 1)
- 8009646:      69bb            ldr     r3, [r7, #24]
- 8009648:      2b01            cmp     r3, #1
- 800964a:      f040 80cd       bne.w   80097e8 <HAL_RCCEx_PeriphCLKConfig+0x83c>
-  {
-    /* Disable PLLSAI Clock */
-    __HAL_RCC_PLLSAI_DISABLE();
- 800964e:      4b09            ldr     r3, [pc, #36]   ; (8009674 <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
- 8009650:      681b            ldr     r3, [r3, #0]
- 8009652:      4a08            ldr     r2, [pc, #32]   ; (8009674 <HAL_RCCEx_PeriphCLKConfig+0x6c8>)
- 8009654:      f023 5380       bic.w   r3, r3, #268435456      ; 0x10000000
- 8009658:      6013            str     r3, [r2, #0]
-
-    /* Get Start Tick*/
-    tickstart = HAL_GetTick();
- 800965a:      f7fe fd1b       bl      8008094 <HAL_GetTick>
- 800965e:      6178            str     r0, [r7, #20]
-
-    /* Wait till PLLSAI is disabled */
-    while(__HAL_RCC_PLLSAI_GET_FLAG() != RESET)
- 8009660:      e00a            b.n     8009678 <HAL_RCCEx_PeriphCLKConfig+0x6cc>
-    {
-      if((HAL_GetTick() - tickstart) > PLLSAI_TIMEOUT_VALUE)
- 8009662:      f7fe fd17       bl      8008094 <HAL_GetTick>
- 8009666:      4602            mov     r2, r0
- 8009668:      697b            ldr     r3, [r7, #20]
- 800966a:      1ad3            subs    r3, r2, r3
- 800966c:      2b64            cmp     r3, #100        ; 0x64
- 800966e:      d903            bls.n   8009678 <HAL_RCCEx_PeriphCLKConfig+0x6cc>
-      {
-        /* return in case of Timeout detected */
-        return HAL_TIMEOUT;
- 8009670:      2303            movs    r3, #3
- 8009672:      e0ba            b.n     80097ea <HAL_RCCEx_PeriphCLKConfig+0x83e>
- 8009674:      40023800        .word   0x40023800
-    while(__HAL_RCC_PLLSAI_GET_FLAG() != RESET)
- 8009678:      4b5e            ldr     r3, [pc, #376]  ; (80097f4 <HAL_RCCEx_PeriphCLKConfig+0x848>)
- 800967a:      681b            ldr     r3, [r3, #0]
- 800967c:      f003 5300       and.w   r3, r3, #536870912      ; 0x20000000
- 8009680:      f1b3 5f00       cmp.w   r3, #536870912  ; 0x20000000
- 8009684:      d0ed            beq.n   8009662 <HAL_RCCEx_PeriphCLKConfig+0x6b6>
-
-    /* Check the PLLSAI division factors */
-    assert_param(IS_RCC_PLLSAIN_VALUE(PeriphClkInit->PLLSAI.PLLSAIN));
-
-    /*----------------- In Case of PLLSAI is selected as source clock for SAI -------------------*/
-    if(((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI1) == RCC_PERIPHCLK_SAI1) && (PeriphClkInit->Sai1ClockSelection == RCC_SAI1CLKSOURCE_PLLSAI)) ||\
- 8009686:      687b            ldr     r3, [r7, #4]
- 8009688:      681b            ldr     r3, [r3, #0]
- 800968a:      f403 2300       and.w   r3, r3, #524288 ; 0x80000
- 800968e:      2b00            cmp     r3, #0
- 8009690:      d003            beq.n   800969a <HAL_RCCEx_PeriphCLKConfig+0x6ee>
- 8009692:      687b            ldr     r3, [r7, #4]
- 8009694:      6bdb            ldr     r3, [r3, #60]   ; 0x3c
- 8009696:      2b00            cmp     r3, #0
- 8009698:      d009            beq.n   80096ae <HAL_RCCEx_PeriphCLKConfig+0x702>
-       ((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI2) == RCC_PERIPHCLK_SAI2) && (PeriphClkInit->Sai2ClockSelection == RCC_SAI2CLKSOURCE_PLLSAI)))
- 800969a:      687b            ldr     r3, [r7, #4]
- 800969c:      681b            ldr     r3, [r3, #0]
- 800969e:      f403 1380       and.w   r3, r3, #1048576        ; 0x100000
-    if(((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI1) == RCC_PERIPHCLK_SAI1) && (PeriphClkInit->Sai1ClockSelection == RCC_SAI1CLKSOURCE_PLLSAI)) ||\
- 80096a2:      2b00            cmp     r3, #0
- 80096a4:      d02e            beq.n   8009704 <HAL_RCCEx_PeriphCLKConfig+0x758>
-       ((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI2) == RCC_PERIPHCLK_SAI2) && (PeriphClkInit->Sai2ClockSelection == RCC_SAI2CLKSOURCE_PLLSAI)))
- 80096a6:      687b            ldr     r3, [r7, #4]
- 80096a8:      6c1b            ldr     r3, [r3, #64]   ; 0x40
- 80096aa:      2b00            cmp     r3, #0
- 80096ac:      d12a            bne.n   8009704 <HAL_RCCEx_PeriphCLKConfig+0x758>
-      assert_param(IS_RCC_PLLSAIQ_VALUE(PeriphClkInit->PLLSAI.PLLSAIQ));
-      /* check for PLLSAI/DIVQ Parameter */
-      assert_param(IS_RCC_PLLSAI_DIVQ_VALUE(PeriphClkInit->PLLSAIDivQ));
-
-      /* Read PLLSAIP value from PLLSAICFGR register (this value is not needed for SAI configuration) */
-      tmpreg0 = ((RCC->PLLSAICFGR & RCC_PLLSAICFGR_PLLSAIP) >> RCC_PLLSAICFGR_PLLSAIP_Pos);
- 80096ae:      4b51            ldr     r3, [pc, #324]  ; (80097f4 <HAL_RCCEx_PeriphCLKConfig+0x848>)
- 80096b0:      f8d3 3088       ldr.w   r3, [r3, #136]  ; 0x88
- 80096b4:      0c1b            lsrs    r3, r3, #16
- 80096b6:      f003 0303       and.w   r3, r3, #3
- 80096ba:      613b            str     r3, [r7, #16]
-      tmpreg1 = ((RCC->PLLSAICFGR & RCC_PLLI2SCFGR_PLLI2SR) >> RCC_PLLSAICFGR_PLLSAIR_Pos);
- 80096bc:      4b4d            ldr     r3, [pc, #308]  ; (80097f4 <HAL_RCCEx_PeriphCLKConfig+0x848>)
- 80096be:      f8d3 3088       ldr.w   r3, [r3, #136]  ; 0x88
- 80096c2:      0f1b            lsrs    r3, r3, #28
- 80096c4:      f003 0307       and.w   r3, r3, #7
- 80096c8:      60fb            str     r3, [r7, #12]
-      /* PLLSAI_VCO Input  = PLL_SOURCE/PLLM */
-      /* PLLSAI_VCO Output = PLLSAI_VCO Input * PLLSAIN */
-      /* SAI_CLK(first level) = PLLSAI_VCO Output/PLLSAIQ */
-      __HAL_RCC_PLLSAI_CONFIG(PeriphClkInit->PLLSAI.PLLSAIN , tmpreg0, PeriphClkInit->PLLSAI.PLLSAIQ, tmpreg1);
- 80096ca:      687b            ldr     r3, [r7, #4]
- 80096cc:      695b            ldr     r3, [r3, #20]
- 80096ce:      019a            lsls    r2, r3, #6
- 80096d0:      693b            ldr     r3, [r7, #16]
- 80096d2:      041b            lsls    r3, r3, #16
- 80096d4:      431a            orrs    r2, r3
- 80096d6:      687b            ldr     r3, [r7, #4]
- 80096d8:      699b            ldr     r3, [r3, #24]
- 80096da:      061b            lsls    r3, r3, #24
- 80096dc:      431a            orrs    r2, r3
- 80096de:      68fb            ldr     r3, [r7, #12]
- 80096e0:      071b            lsls    r3, r3, #28
- 80096e2:      4944            ldr     r1, [pc, #272]  ; (80097f4 <HAL_RCCEx_PeriphCLKConfig+0x848>)
- 80096e4:      4313            orrs    r3, r2
- 80096e6:      f8c1 3088       str.w   r3, [r1, #136]  ; 0x88
-
-      /* SAI_CLK_x = SAI_CLK(first level)/PLLSAIDIVQ */
-      __HAL_RCC_PLLSAI_PLLSAICLKDIVQ_CONFIG(PeriphClkInit->PLLSAIDivQ);
- 80096ea:      4b42            ldr     r3, [pc, #264]  ; (80097f4 <HAL_RCCEx_PeriphCLKConfig+0x848>)
- 80096ec:      f8d3 308c       ldr.w   r3, [r3, #140]  ; 0x8c
- 80096f0:      f423 52f8       bic.w   r2, r3, #7936   ; 0x1f00
- 80096f4:      687b            ldr     r3, [r7, #4]
- 80096f6:      6a9b            ldr     r3, [r3, #40]   ; 0x28
- 80096f8:      3b01            subs    r3, #1
- 80096fa:      021b            lsls    r3, r3, #8
- 80096fc:      493d            ldr     r1, [pc, #244]  ; (80097f4 <HAL_RCCEx_PeriphCLKConfig+0x848>)
- 80096fe:      4313            orrs    r3, r2
- 8009700:      f8c1 308c       str.w   r3, [r1, #140]  ; 0x8c
-    }
-
-    /*----------------- In Case of PLLSAI is selected as source clock for CLK48 -------------------*/
-    /* In Case of PLLI2S is selected as source clock for CK48 */
-    if((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_CLK48) == RCC_PERIPHCLK_CLK48) && (PeriphClkInit->Clk48ClockSelection == RCC_CLK48SOURCE_PLLSAIP))
- 8009704:      687b            ldr     r3, [r7, #4]
- 8009706:      681b            ldr     r3, [r3, #0]
- 8009708:      f403 1300       and.w   r3, r3, #2097152        ; 0x200000
- 800970c:      2b00            cmp     r3, #0
- 800970e:      d022            beq.n   8009756 <HAL_RCCEx_PeriphCLKConfig+0x7aa>
- 8009710:      687b            ldr     r3, [r7, #4]
- 8009712:      6fdb            ldr     r3, [r3, #124]  ; 0x7c
- 8009714:      f1b3 6f00       cmp.w   r3, #134217728  ; 0x8000000
- 8009718:      d11d            bne.n   8009756 <HAL_RCCEx_PeriphCLKConfig+0x7aa>
-    {
-      /* check for Parameters */
-      assert_param(IS_RCC_PLLSAIP_VALUE(PeriphClkInit->PLLSAI.PLLSAIP));
-      /* Read PLLSAIQ and PLLSAIR value from PLLSAICFGR register (this value is not needed for CK48 configuration) */
-      tmpreg0 = ((RCC->PLLSAICFGR & RCC_PLLSAICFGR_PLLSAIQ) >> RCC_PLLSAICFGR_PLLSAIQ_Pos);
- 800971a:      4b36            ldr     r3, [pc, #216]  ; (80097f4 <HAL_RCCEx_PeriphCLKConfig+0x848>)
- 800971c:      f8d3 3088       ldr.w   r3, [r3, #136]  ; 0x88
- 8009720:      0e1b            lsrs    r3, r3, #24
- 8009722:      f003 030f       and.w   r3, r3, #15
- 8009726:      613b            str     r3, [r7, #16]
-      tmpreg1 = ((RCC->PLLSAICFGR & RCC_PLLSAICFGR_PLLSAIR) >> RCC_PLLSAICFGR_PLLSAIR_Pos);
- 8009728:      4b32            ldr     r3, [pc, #200]  ; (80097f4 <HAL_RCCEx_PeriphCLKConfig+0x848>)
- 800972a:      f8d3 3088       ldr.w   r3, [r3, #136]  ; 0x88
- 800972e:      0f1b            lsrs    r3, r3, #28
- 8009730:      f003 0307       and.w   r3, r3, #7
- 8009734:      60fb            str     r3, [r7, #12]
-
-      /* Configure the PLLSAI division factors */
-      /* PLLSAI_VCO = f(VCO clock) = f(PLLSAI clock input) x (PLLI2SN/PLLM) */
-      /* 48CLK = f(PLLSAI clock output) = f(VCO clock) / PLLSAIP */
-      __HAL_RCC_PLLSAI_CONFIG(PeriphClkInit->PLLSAI.PLLSAIN , PeriphClkInit->PLLSAI.PLLSAIP, tmpreg0, tmpreg1);
- 8009736:      687b            ldr     r3, [r7, #4]
- 8009738:      695b            ldr     r3, [r3, #20]
- 800973a:      019a            lsls    r2, r3, #6
- 800973c:      687b            ldr     r3, [r7, #4]
- 800973e:      6a1b            ldr     r3, [r3, #32]
- 8009740:      041b            lsls    r3, r3, #16
- 8009742:      431a            orrs    r2, r3
- 8009744:      693b            ldr     r3, [r7, #16]
- 8009746:      061b            lsls    r3, r3, #24
- 8009748:      431a            orrs    r2, r3
- 800974a:      68fb            ldr     r3, [r7, #12]
- 800974c:      071b            lsls    r3, r3, #28
- 800974e:      4929            ldr     r1, [pc, #164]  ; (80097f4 <HAL_RCCEx_PeriphCLKConfig+0x848>)
- 8009750:      4313            orrs    r3, r2
- 8009752:      f8c1 3088       str.w   r3, [r1, #136]  ; 0x88
-    }
-
-#if defined(STM32F746xx) || defined(STM32F756xx) || defined (STM32F767xx) || defined (STM32F769xx) || defined (STM32F777xx) || defined (STM32F779xx) || defined (STM32F750xx)
-    /*---------------------------- LTDC configuration -------------------------------*/
-    if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_LTDC) == (RCC_PERIPHCLK_LTDC))
- 8009756:      687b            ldr     r3, [r7, #4]
- 8009758:      681b            ldr     r3, [r3, #0]
- 800975a:      f003 0308       and.w   r3, r3, #8
- 800975e:      2b00            cmp     r3, #0
- 8009760:      d028            beq.n   80097b4 <HAL_RCCEx_PeriphCLKConfig+0x808>
-    {
-      assert_param(IS_RCC_PLLSAIR_VALUE(PeriphClkInit->PLLSAI.PLLSAIR));
-      assert_param(IS_RCC_PLLSAI_DIVR_VALUE(PeriphClkInit->PLLSAIDivR));
-
-      /* Read PLLSAIP and PLLSAIQ value from PLLSAICFGR register (these value are not needed for LTDC configuration) */
-      tmpreg0 = ((RCC->PLLSAICFGR & RCC_PLLSAICFGR_PLLSAIQ) >> RCC_PLLSAICFGR_PLLSAIQ_Pos);
- 8009762:      4b24            ldr     r3, [pc, #144]  ; (80097f4 <HAL_RCCEx_PeriphCLKConfig+0x848>)
- 8009764:      f8d3 3088       ldr.w   r3, [r3, #136]  ; 0x88
- 8009768:      0e1b            lsrs    r3, r3, #24
- 800976a:      f003 030f       and.w   r3, r3, #15
- 800976e:      613b            str     r3, [r7, #16]
-      tmpreg1 = ((RCC->PLLSAICFGR & RCC_PLLSAICFGR_PLLSAIP) >> RCC_PLLSAICFGR_PLLSAIP_Pos);
- 8009770:      4b20            ldr     r3, [pc, #128]  ; (80097f4 <HAL_RCCEx_PeriphCLKConfig+0x848>)
- 8009772:      f8d3 3088       ldr.w   r3, [r3, #136]  ; 0x88
- 8009776:      0c1b            lsrs    r3, r3, #16
- 8009778:      f003 0303       and.w   r3, r3, #3
- 800977c:      60fb            str     r3, [r7, #12]
-
-      /* PLLSAI_VCO Input  = PLL_SOURCE/PLLM */
-      /* PLLSAI_VCO Output = PLLSAI_VCO Input * PLLSAIN */
-      /* LTDC_CLK(first level) = PLLSAI_VCO Output/PLLSAIR */
-      __HAL_RCC_PLLSAI_CONFIG(PeriphClkInit->PLLSAI.PLLSAIN , tmpreg1, tmpreg0, PeriphClkInit->PLLSAI.PLLSAIR);
- 800977e:      687b            ldr     r3, [r7, #4]
- 8009780:      695b            ldr     r3, [r3, #20]
- 8009782:      019a            lsls    r2, r3, #6
- 8009784:      68fb            ldr     r3, [r7, #12]
- 8009786:      041b            lsls    r3, r3, #16
- 8009788:      431a            orrs    r2, r3
- 800978a:      693b            ldr     r3, [r7, #16]
- 800978c:      061b            lsls    r3, r3, #24
- 800978e:      431a            orrs    r2, r3
- 8009790:      687b            ldr     r3, [r7, #4]
- 8009792:      69db            ldr     r3, [r3, #28]
- 8009794:      071b            lsls    r3, r3, #28
- 8009796:      4917            ldr     r1, [pc, #92]   ; (80097f4 <HAL_RCCEx_PeriphCLKConfig+0x848>)
- 8009798:      4313            orrs    r3, r2
- 800979a:      f8c1 3088       str.w   r3, [r1, #136]  ; 0x88
-
-      /* LTDC_CLK = LTDC_CLK(first level)/PLLSAIDIVR */
-      __HAL_RCC_PLLSAI_PLLSAICLKDIVR_CONFIG(PeriphClkInit->PLLSAIDivR);
- 800979e:      4b15            ldr     r3, [pc, #84]   ; (80097f4 <HAL_RCCEx_PeriphCLKConfig+0x848>)
- 80097a0:      f8d3 308c       ldr.w   r3, [r3, #140]  ; 0x8c
- 80097a4:      f423 3240       bic.w   r2, r3, #196608 ; 0x30000
- 80097a8:      687b            ldr     r3, [r7, #4]
- 80097aa:      6adb            ldr     r3, [r3, #44]   ; 0x2c
- 80097ac:      4911            ldr     r1, [pc, #68]   ; (80097f4 <HAL_RCCEx_PeriphCLKConfig+0x848>)
- 80097ae:      4313            orrs    r3, r2
- 80097b0:      f8c1 308c       str.w   r3, [r1, #140]  ; 0x8c
-    }
-#endif /* STM32F746xx || STM32F756xx || STM32F767xx || STM32F769xx || STM32F777xx || STM32F779xx || STM32F750xx  */
-
-    /* Enable PLLSAI Clock */
-    __HAL_RCC_PLLSAI_ENABLE();
- 80097b4:      4b0f            ldr     r3, [pc, #60]   ; (80097f4 <HAL_RCCEx_PeriphCLKConfig+0x848>)
- 80097b6:      681b            ldr     r3, [r3, #0]
- 80097b8:      4a0e            ldr     r2, [pc, #56]   ; (80097f4 <HAL_RCCEx_PeriphCLKConfig+0x848>)
- 80097ba:      f043 5380       orr.w   r3, r3, #268435456      ; 0x10000000
- 80097be:      6013            str     r3, [r2, #0]
-
-    /* Get Start Tick*/
-    tickstart = HAL_GetTick();
- 80097c0:      f7fe fc68       bl      8008094 <HAL_GetTick>
- 80097c4:      6178            str     r0, [r7, #20]
-
-    /* Wait till PLLSAI is ready */
-    while(__HAL_RCC_PLLSAI_GET_FLAG() == RESET)
- 80097c6:      e008            b.n     80097da <HAL_RCCEx_PeriphCLKConfig+0x82e>
-    {
-      if((HAL_GetTick() - tickstart) > PLLSAI_TIMEOUT_VALUE)
- 80097c8:      f7fe fc64       bl      8008094 <HAL_GetTick>
- 80097cc:      4602            mov     r2, r0
- 80097ce:      697b            ldr     r3, [r7, #20]
- 80097d0:      1ad3            subs    r3, r2, r3
- 80097d2:      2b64            cmp     r3, #100        ; 0x64
- 80097d4:      d901            bls.n   80097da <HAL_RCCEx_PeriphCLKConfig+0x82e>
-      {
-        /* return in case of Timeout detected */
-        return HAL_TIMEOUT;
- 80097d6:      2303            movs    r3, #3
- 80097d8:      e007            b.n     80097ea <HAL_RCCEx_PeriphCLKConfig+0x83e>
-    while(__HAL_RCC_PLLSAI_GET_FLAG() == RESET)
- 80097da:      4b06            ldr     r3, [pc, #24]   ; (80097f4 <HAL_RCCEx_PeriphCLKConfig+0x848>)
- 80097dc:      681b            ldr     r3, [r3, #0]
- 80097de:      f003 5300       and.w   r3, r3, #536870912      ; 0x20000000
- 80097e2:      f1b3 5f00       cmp.w   r3, #536870912  ; 0x20000000
- 80097e6:      d1ef            bne.n   80097c8 <HAL_RCCEx_PeriphCLKConfig+0x81c>
-      }
-    }
-  }
-  return HAL_OK;
- 80097e8:      2300            movs    r3, #0
-}
- 80097ea:      4618            mov     r0, r3
- 80097ec:      3720            adds    r7, #32
- 80097ee:      46bd            mov     sp, r7
- 80097f0:      bd80            pop     {r7, pc}
- 80097f2:      bf00            nop
- 80097f4:      40023800        .word   0x40023800
-
-080097f8 <HAL_TIM_Base_Start>:
-  * @brief  Starts the TIM Base generation.
-  * @param  htim TIM Base handle
-  * @retval HAL status
-  */
-HAL_StatusTypeDef HAL_TIM_Base_Start(TIM_HandleTypeDef *htim)
-{
- 80097f8:      b480            push    {r7}
- 80097fa:      b085            sub     sp, #20
- 80097fc:      af00            add     r7, sp, #0
- 80097fe:      6078            str     r0, [r7, #4]
-
-  /* Check the parameters */
-  assert_param(IS_TIM_INSTANCE(htim->Instance));
-
-  /* Set the TIM state */
-  htim->State = HAL_TIM_STATE_BUSY;
- 8009800:      687b            ldr     r3, [r7, #4]
- 8009802:      2202            movs    r2, #2
- 8009804:      f883 203d       strb.w  r2, [r3, #61]   ; 0x3d
-
-  /* Enable the Peripheral, except in trigger mode where enable is automatically done with trigger */
-  tmpsmcr = htim->Instance->SMCR & TIM_SMCR_SMS;
- 8009808:      687b            ldr     r3, [r7, #4]
- 800980a:      681b            ldr     r3, [r3, #0]
- 800980c:      689a            ldr     r2, [r3, #8]
- 800980e:      4b0e            ldr     r3, [pc, #56]   ; (8009848 <HAL_TIM_Base_Start+0x50>)
- 8009810:      4013            ands    r3, r2
- 8009812:      60fb            str     r3, [r7, #12]
-  if (!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr))
- 8009814:      68fb            ldr     r3, [r7, #12]
- 8009816:      2b06            cmp     r3, #6
- 8009818:      d00b            beq.n   8009832 <HAL_TIM_Base_Start+0x3a>
- 800981a:      68fb            ldr     r3, [r7, #12]
- 800981c:      f5b3 3f80       cmp.w   r3, #65536      ; 0x10000
- 8009820:      d007            beq.n   8009832 <HAL_TIM_Base_Start+0x3a>
-  {
-    __HAL_TIM_ENABLE(htim);
- 8009822:      687b            ldr     r3, [r7, #4]
- 8009824:      681b            ldr     r3, [r3, #0]
- 8009826:      681a            ldr     r2, [r3, #0]
- 8009828:      687b            ldr     r3, [r7, #4]
- 800982a:      681b            ldr     r3, [r3, #0]
- 800982c:      f042 0201       orr.w   r2, r2, #1
- 8009830:      601a            str     r2, [r3, #0]
-  }
-
-  /* Change the TIM state*/
-  htim->State = HAL_TIM_STATE_READY;
- 8009832:      687b            ldr     r3, [r7, #4]
- 8009834:      2201            movs    r2, #1
- 8009836:      f883 203d       strb.w  r2, [r3, #61]   ; 0x3d
-
-  /* Return function status */
-  return HAL_OK;
- 800983a:      2300            movs    r3, #0
-}
- 800983c:      4618            mov     r0, r3
- 800983e:      3714            adds    r7, #20
- 8009840:      46bd            mov     sp, r7
- 8009842:      f85d 7b04       ldr.w   r7, [sp], #4
- 8009846:      4770            bx      lr
- 8009848:      00010007        .word   0x00010007
-
-0800984c <HAL_TIM_OnePulse_Init>:
-  *            @arg TIM_OPMODE_SINGLE: Only one pulse will be generated.
-  *            @arg TIM_OPMODE_REPETITIVE: Repetitive pulses will be generated.
-  * @retval HAL status
-  */
-HAL_StatusTypeDef HAL_TIM_OnePulse_Init(TIM_HandleTypeDef *htim, uint32_t OnePulseMode)
-{
- 800984c:      b580            push    {r7, lr}
- 800984e:      b082            sub     sp, #8
- 8009850:      af00            add     r7, sp, #0
- 8009852:      6078            str     r0, [r7, #4]
- 8009854:      6039            str     r1, [r7, #0]
-  /* Check the TIM handle allocation */
-  if (htim == NULL)
- 8009856:      687b            ldr     r3, [r7, #4]
- 8009858:      2b00            cmp     r3, #0
- 800985a:      d101            bne.n   8009860 <HAL_TIM_OnePulse_Init+0x14>
-  {
-    return HAL_ERROR;
- 800985c:      2301            movs    r3, #1
- 800985e:      e02d            b.n     80098bc <HAL_TIM_OnePulse_Init+0x70>
-  assert_param(IS_TIM_COUNTER_MODE(htim->Init.CounterMode));
-  assert_param(IS_TIM_CLOCKDIVISION_DIV(htim->Init.ClockDivision));
-  assert_param(IS_TIM_OPM_MODE(OnePulseMode));
-  assert_param(IS_TIM_AUTORELOAD_PRELOAD(htim->Init.AutoReloadPreload));
-
-  if (htim->State == HAL_TIM_STATE_RESET)
- 8009860:      687b            ldr     r3, [r7, #4]
- 8009862:      f893 303d       ldrb.w  r3, [r3, #61]   ; 0x3d
- 8009866:      b2db            uxtb    r3, r3
- 8009868:      2b00            cmp     r3, #0
- 800986a:      d106            bne.n   800987a <HAL_TIM_OnePulse_Init+0x2e>
-  {
-    /* Allocate lock resource and initialize it */
-    htim->Lock = HAL_UNLOCKED;
- 800986c:      687b            ldr     r3, [r7, #4]
- 800986e:      2200            movs    r2, #0
- 8009870:      f883 203c       strb.w  r2, [r3, #60]   ; 0x3c
-    }
-    /* Init the low level hardware : GPIO, CLOCK, NVIC */
-    htim->OnePulse_MspInitCallback(htim);
-#else
-    /* Init the low level hardware : GPIO, CLOCK, NVIC and DMA */
-    HAL_TIM_OnePulse_MspInit(htim);
- 8009874:      6878            ldr     r0, [r7, #4]
- 8009876:      f002 fea1       bl      800c5bc <HAL_TIM_OnePulse_MspInit>
-#endif /* USE_HAL_TIM_REGISTER_CALLBACKS */
-  }
-
-  /* Set the TIM state */
-  htim->State = HAL_TIM_STATE_BUSY;
- 800987a:      687b            ldr     r3, [r7, #4]
- 800987c:      2202            movs    r2, #2
- 800987e:      f883 203d       strb.w  r2, [r3, #61]   ; 0x3d
-
-  /* Configure the Time base in the One Pulse Mode */
-  TIM_Base_SetConfig(htim->Instance, &htim->Init);
- 8009882:      687b            ldr     r3, [r7, #4]
- 8009884:      681a            ldr     r2, [r3, #0]
- 8009886:      687b            ldr     r3, [r7, #4]
- 8009888:      3304            adds    r3, #4
- 800988a:      4619            mov     r1, r3
- 800988c:      4610            mov     r0, r2
- 800988e:      f000 f819       bl      80098c4 <TIM_Base_SetConfig>
-
-  /* Reset the OPM Bit */
-  htim->Instance->CR1 &= ~TIM_CR1_OPM;
- 8009892:      687b            ldr     r3, [r7, #4]
- 8009894:      681b            ldr     r3, [r3, #0]
- 8009896:      681a            ldr     r2, [r3, #0]
- 8009898:      687b            ldr     r3, [r7, #4]
- 800989a:      681b            ldr     r3, [r3, #0]
- 800989c:      f022 0208       bic.w   r2, r2, #8
- 80098a0:      601a            str     r2, [r3, #0]
-
-  /* Configure the OPM Mode */
-  htim->Instance->CR1 |= OnePulseMode;
- 80098a2:      687b            ldr     r3, [r7, #4]
- 80098a4:      681b            ldr     r3, [r3, #0]
- 80098a6:      6819            ldr     r1, [r3, #0]
- 80098a8:      687b            ldr     r3, [r7, #4]
- 80098aa:      681b            ldr     r3, [r3, #0]
- 80098ac:      683a            ldr     r2, [r7, #0]
- 80098ae:      430a            orrs    r2, r1
- 80098b0:      601a            str     r2, [r3, #0]
-
-  /* Initialize the TIM state*/
-  htim->State = HAL_TIM_STATE_READY;
- 80098b2:      687b            ldr     r3, [r7, #4]
- 80098b4:      2201            movs    r2, #1
- 80098b6:      f883 203d       strb.w  r2, [r3, #61]   ; 0x3d
-
-  return HAL_OK;
- 80098ba:      2300            movs    r3, #0
-}
- 80098bc:      4618            mov     r0, r3
- 80098be:      3708            adds    r7, #8
- 80098c0:      46bd            mov     sp, r7
- 80098c2:      bd80            pop     {r7, pc}
-
-080098c4 <TIM_Base_SetConfig>:
-  * @param  TIMx TIM peripheral
-  * @param  Structure TIM Base configuration structure
-  * @retval None
-  */
-void TIM_Base_SetConfig(TIM_TypeDef *TIMx, TIM_Base_InitTypeDef *Structure)
-{
- 80098c4:      b480            push    {r7}
- 80098c6:      b085            sub     sp, #20
- 80098c8:      af00            add     r7, sp, #0
- 80098ca:      6078            str     r0, [r7, #4]
- 80098cc:      6039            str     r1, [r7, #0]
-  uint32_t tmpcr1;
-  tmpcr1 = TIMx->CR1;
- 80098ce:      687b            ldr     r3, [r7, #4]
- 80098d0:      681b            ldr     r3, [r3, #0]
- 80098d2:      60fb            str     r3, [r7, #12]
-
-  /* Set TIM Time Base Unit parameters ---------------------------------------*/
-  if (IS_TIM_COUNTER_MODE_SELECT_INSTANCE(TIMx))
- 80098d4:      687b            ldr     r3, [r7, #4]
- 80098d6:      4a40            ldr     r2, [pc, #256]  ; (80099d8 <TIM_Base_SetConfig+0x114>)
- 80098d8:      4293            cmp     r3, r2
- 80098da:      d013            beq.n   8009904 <TIM_Base_SetConfig+0x40>
- 80098dc:      687b            ldr     r3, [r7, #4]
- 80098de:      f1b3 4f80       cmp.w   r3, #1073741824 ; 0x40000000
- 80098e2:      d00f            beq.n   8009904 <TIM_Base_SetConfig+0x40>
- 80098e4:      687b            ldr     r3, [r7, #4]
- 80098e6:      4a3d            ldr     r2, [pc, #244]  ; (80099dc <TIM_Base_SetConfig+0x118>)
- 80098e8:      4293            cmp     r3, r2
- 80098ea:      d00b            beq.n   8009904 <TIM_Base_SetConfig+0x40>
- 80098ec:      687b            ldr     r3, [r7, #4]
- 80098ee:      4a3c            ldr     r2, [pc, #240]  ; (80099e0 <TIM_Base_SetConfig+0x11c>)
- 80098f0:      4293            cmp     r3, r2
- 80098f2:      d007            beq.n   8009904 <TIM_Base_SetConfig+0x40>
- 80098f4:      687b            ldr     r3, [r7, #4]
- 80098f6:      4a3b            ldr     r2, [pc, #236]  ; (80099e4 <TIM_Base_SetConfig+0x120>)
- 80098f8:      4293            cmp     r3, r2
- 80098fa:      d003            beq.n   8009904 <TIM_Base_SetConfig+0x40>
- 80098fc:      687b            ldr     r3, [r7, #4]
- 80098fe:      4a3a            ldr     r2, [pc, #232]  ; (80099e8 <TIM_Base_SetConfig+0x124>)
- 8009900:      4293            cmp     r3, r2
- 8009902:      d108            bne.n   8009916 <TIM_Base_SetConfig+0x52>
-  {
-    /* Select the Counter Mode */
-    tmpcr1 &= ~(TIM_CR1_DIR | TIM_CR1_CMS);
- 8009904:      68fb            ldr     r3, [r7, #12]
- 8009906:      f023 0370       bic.w   r3, r3, #112    ; 0x70
- 800990a:      60fb            str     r3, [r7, #12]
-    tmpcr1 |= Structure->CounterMode;
- 800990c:      683b            ldr     r3, [r7, #0]
- 800990e:      685b            ldr     r3, [r3, #4]
- 8009910:      68fa            ldr     r2, [r7, #12]
- 8009912:      4313            orrs    r3, r2
- 8009914:      60fb            str     r3, [r7, #12]
-  }
-
-  if (IS_TIM_CLOCK_DIVISION_INSTANCE(TIMx))
- 8009916:      687b            ldr     r3, [r7, #4]
- 8009918:      4a2f            ldr     r2, [pc, #188]  ; (80099d8 <TIM_Base_SetConfig+0x114>)
- 800991a:      4293            cmp     r3, r2
- 800991c:      d02b            beq.n   8009976 <TIM_Base_SetConfig+0xb2>
- 800991e:      687b            ldr     r3, [r7, #4]
- 8009920:      f1b3 4f80       cmp.w   r3, #1073741824 ; 0x40000000
- 8009924:      d027            beq.n   8009976 <TIM_Base_SetConfig+0xb2>
- 8009926:      687b            ldr     r3, [r7, #4]
- 8009928:      4a2c            ldr     r2, [pc, #176]  ; (80099dc <TIM_Base_SetConfig+0x118>)
- 800992a:      4293            cmp     r3, r2
- 800992c:      d023            beq.n   8009976 <TIM_Base_SetConfig+0xb2>
- 800992e:      687b            ldr     r3, [r7, #4]
- 8009930:      4a2b            ldr     r2, [pc, #172]  ; (80099e0 <TIM_Base_SetConfig+0x11c>)
- 8009932:      4293            cmp     r3, r2
- 8009934:      d01f            beq.n   8009976 <TIM_Base_SetConfig+0xb2>
- 8009936:      687b            ldr     r3, [r7, #4]
- 8009938:      4a2a            ldr     r2, [pc, #168]  ; (80099e4 <TIM_Base_SetConfig+0x120>)
- 800993a:      4293            cmp     r3, r2
- 800993c:      d01b            beq.n   8009976 <TIM_Base_SetConfig+0xb2>
- 800993e:      687b            ldr     r3, [r7, #4]
- 8009940:      4a29            ldr     r2, [pc, #164]  ; (80099e8 <TIM_Base_SetConfig+0x124>)
- 8009942:      4293            cmp     r3, r2
- 8009944:      d017            beq.n   8009976 <TIM_Base_SetConfig+0xb2>
- 8009946:      687b            ldr     r3, [r7, #4]
- 8009948:      4a28            ldr     r2, [pc, #160]  ; (80099ec <TIM_Base_SetConfig+0x128>)
- 800994a:      4293            cmp     r3, r2
- 800994c:      d013            beq.n   8009976 <TIM_Base_SetConfig+0xb2>
- 800994e:      687b            ldr     r3, [r7, #4]
- 8009950:      4a27            ldr     r2, [pc, #156]  ; (80099f0 <TIM_Base_SetConfig+0x12c>)
- 8009952:      4293            cmp     r3, r2
- 8009954:      d00f            beq.n   8009976 <TIM_Base_SetConfig+0xb2>
- 8009956:      687b            ldr     r3, [r7, #4]
- 8009958:      4a26            ldr     r2, [pc, #152]  ; (80099f4 <TIM_Base_SetConfig+0x130>)
- 800995a:      4293            cmp     r3, r2
- 800995c:      d00b            beq.n   8009976 <TIM_Base_SetConfig+0xb2>
- 800995e:      687b            ldr     r3, [r7, #4]
- 8009960:      4a25            ldr     r2, [pc, #148]  ; (80099f8 <TIM_Base_SetConfig+0x134>)
- 8009962:      4293            cmp     r3, r2
- 8009964:      d007            beq.n   8009976 <TIM_Base_SetConfig+0xb2>
- 8009966:      687b            ldr     r3, [r7, #4]
- 8009968:      4a24            ldr     r2, [pc, #144]  ; (80099fc <TIM_Base_SetConfig+0x138>)
- 800996a:      4293            cmp     r3, r2
- 800996c:      d003            beq.n   8009976 <TIM_Base_SetConfig+0xb2>
- 800996e:      687b            ldr     r3, [r7, #4]
- 8009970:      4a23            ldr     r2, [pc, #140]  ; (8009a00 <TIM_Base_SetConfig+0x13c>)
- 8009972:      4293            cmp     r3, r2
- 8009974:      d108            bne.n   8009988 <TIM_Base_SetConfig+0xc4>
-  {
-    /* Set the clock division */
-    tmpcr1 &= ~TIM_CR1_CKD;
- 8009976:      68fb            ldr     r3, [r7, #12]
- 8009978:      f423 7340       bic.w   r3, r3, #768    ; 0x300
- 800997c:      60fb            str     r3, [r7, #12]
-    tmpcr1 |= (uint32_t)Structure->ClockDivision;
- 800997e:      683b            ldr     r3, [r7, #0]
- 8009980:      68db            ldr     r3, [r3, #12]
- 8009982:      68fa            ldr     r2, [r7, #12]
- 8009984:      4313            orrs    r3, r2
- 8009986:      60fb            str     r3, [r7, #12]
-  }
-
-  /* Set the auto-reload preload */
-  MODIFY_REG(tmpcr1, TIM_CR1_ARPE, Structure->AutoReloadPreload);
- 8009988:      68fb            ldr     r3, [r7, #12]
- 800998a:      f023 0280       bic.w   r2, r3, #128    ; 0x80
- 800998e:      683b            ldr     r3, [r7, #0]
- 8009990:      695b            ldr     r3, [r3, #20]
- 8009992:      4313            orrs    r3, r2
- 8009994:      60fb            str     r3, [r7, #12]
-
-  TIMx->CR1 = tmpcr1;
- 8009996:      687b            ldr     r3, [r7, #4]
- 8009998:      68fa            ldr     r2, [r7, #12]
- 800999a:      601a            str     r2, [r3, #0]
-
-  /* Set the Autoreload value */
-  TIMx->ARR = (uint32_t)Structure->Period ;
- 800999c:      683b            ldr     r3, [r7, #0]
- 800999e:      689a            ldr     r2, [r3, #8]
- 80099a0:      687b            ldr     r3, [r7, #4]
- 80099a2:      62da            str     r2, [r3, #44]   ; 0x2c
-
-  /* Set the Prescaler value */
-  TIMx->PSC = Structure->Prescaler;
- 80099a4:      683b            ldr     r3, [r7, #0]
- 80099a6:      681a            ldr     r2, [r3, #0]
- 80099a8:      687b            ldr     r3, [r7, #4]
- 80099aa:      629a            str     r2, [r3, #40]   ; 0x28
-
-  if (IS_TIM_REPETITION_COUNTER_INSTANCE(TIMx))
- 80099ac:      687b            ldr     r3, [r7, #4]
- 80099ae:      4a0a            ldr     r2, [pc, #40]   ; (80099d8 <TIM_Base_SetConfig+0x114>)
- 80099b0:      4293            cmp     r3, r2
- 80099b2:      d003            beq.n   80099bc <TIM_Base_SetConfig+0xf8>
- 80099b4:      687b            ldr     r3, [r7, #4]
- 80099b6:      4a0c            ldr     r2, [pc, #48]   ; (80099e8 <TIM_Base_SetConfig+0x124>)
- 80099b8:      4293            cmp     r3, r2
- 80099ba:      d103            bne.n   80099c4 <TIM_Base_SetConfig+0x100>
-  {
-    /* Set the Repetition Counter value */
-    TIMx->RCR = Structure->RepetitionCounter;
- 80099bc:      683b            ldr     r3, [r7, #0]
- 80099be:      691a            ldr     r2, [r3, #16]
- 80099c0:      687b            ldr     r3, [r7, #4]
- 80099c2:      631a            str     r2, [r3, #48]   ; 0x30
-  }
-
-  /* Generate an update event to reload the Prescaler
-     and the repetition counter (only for advanced timer) value immediately */
-  TIMx->EGR = TIM_EGR_UG;
- 80099c4:      687b            ldr     r3, [r7, #4]
- 80099c6:      2201            movs    r2, #1
- 80099c8:      615a            str     r2, [r3, #20]
-}
- 80099ca:      bf00            nop
- 80099cc:      3714            adds    r7, #20
- 80099ce:      46bd            mov     sp, r7
- 80099d0:      f85d 7b04       ldr.w   r7, [sp], #4
- 80099d4:      4770            bx      lr
- 80099d6:      bf00            nop
- 80099d8:      40010000        .word   0x40010000
- 80099dc:      40000400        .word   0x40000400
- 80099e0:      40000800        .word   0x40000800
- 80099e4:      40000c00        .word   0x40000c00
- 80099e8:      40010400        .word   0x40010400
- 80099ec:      40014000        .word   0x40014000
- 80099f0:      40014400        .word   0x40014400
- 80099f4:      40014800        .word   0x40014800
- 80099f8:      40001800        .word   0x40001800
- 80099fc:      40001c00        .word   0x40001c00
- 8009a00:      40002000        .word   0x40002000
-
-08009a04 <HAL_UART_Init>:
-  *        parameters in the UART_InitTypeDef and initialize the associated handle.
-  * @param huart UART handle.
-  * @retval HAL status
-  */
-HAL_StatusTypeDef HAL_UART_Init(UART_HandleTypeDef *huart)
-{
- 8009a04:      b580            push    {r7, lr}
- 8009a06:      b082            sub     sp, #8
- 8009a08:      af00            add     r7, sp, #0
- 8009a0a:      6078            str     r0, [r7, #4]
-  /* Check the UART handle allocation */
-  if (huart == NULL)
- 8009a0c:      687b            ldr     r3, [r7, #4]
- 8009a0e:      2b00            cmp     r3, #0
- 8009a10:      d101            bne.n   8009a16 <HAL_UART_Init+0x12>
-  {
-    return HAL_ERROR;
- 8009a12:      2301            movs    r3, #1
- 8009a14:      e040            b.n     8009a98 <HAL_UART_Init+0x94>
-  {
-    /* Check the parameters */
-    assert_param(IS_UART_INSTANCE(huart->Instance));
-  }
-
-  if (huart->gState == HAL_UART_STATE_RESET)
- 8009a16:      687b            ldr     r3, [r7, #4]
- 8009a18:      6f5b            ldr     r3, [r3, #116]  ; 0x74
- 8009a1a:      2b00            cmp     r3, #0
- 8009a1c:      d106            bne.n   8009a2c <HAL_UART_Init+0x28>
-  {
-    /* Allocate lock resource and initialize it */
-    huart->Lock = HAL_UNLOCKED;
- 8009a1e:      687b            ldr     r3, [r7, #4]
- 8009a20:      2200            movs    r2, #0
- 8009a22:      f883 2070       strb.w  r2, [r3, #112]  ; 0x70
-
-    /* Init the low level hardware */
-    huart->MspInitCallback(huart);
-#else
-    /* Init the low level hardware : GPIO, CLOCK */
-    HAL_UART_MspInit(huart);
- 8009a26:      6878            ldr     r0, [r7, #4]
- 8009a28:      f002 fde6       bl      800c5f8 <HAL_UART_MspInit>
-#endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */
-  }
-
-  huart->gState = HAL_UART_STATE_BUSY;
- 8009a2c:      687b            ldr     r3, [r7, #4]
- 8009a2e:      2224            movs    r2, #36 ; 0x24
- 8009a30:      675a            str     r2, [r3, #116]  ; 0x74
-
-  /* Disable the Peripheral */
-  __HAL_UART_DISABLE(huart);
- 8009a32:      687b            ldr     r3, [r7, #4]
- 8009a34:      681b            ldr     r3, [r3, #0]
- 8009a36:      681a            ldr     r2, [r3, #0]
- 8009a38:      687b            ldr     r3, [r7, #4]
- 8009a3a:      681b            ldr     r3, [r3, #0]
- 8009a3c:      f022 0201       bic.w   r2, r2, #1
- 8009a40:      601a            str     r2, [r3, #0]
-
-  /* Set the UART Communication parameters */
-  if (UART_SetConfig(huart) == HAL_ERROR)
- 8009a42:      6878            ldr     r0, [r7, #4]
- 8009a44:      f000 f9f0       bl      8009e28 <UART_SetConfig>
- 8009a48:      4603            mov     r3, r0
- 8009a4a:      2b01            cmp     r3, #1
- 8009a4c:      d101            bne.n   8009a52 <HAL_UART_Init+0x4e>
-  {
-    return HAL_ERROR;
- 8009a4e:      2301            movs    r3, #1
- 8009a50:      e022            b.n     8009a98 <HAL_UART_Init+0x94>
-  }
-
-  if (huart->AdvancedInit.AdvFeatureInit != UART_ADVFEATURE_NO_INIT)
- 8009a52:      687b            ldr     r3, [r7, #4]
- 8009a54:      6a5b            ldr     r3, [r3, #36]   ; 0x24
- 8009a56:      2b00            cmp     r3, #0
- 8009a58:      d002            beq.n   8009a60 <HAL_UART_Init+0x5c>
-  {
-    UART_AdvFeatureConfig(huart);
- 8009a5a:      6878            ldr     r0, [r7, #4]
- 8009a5c:      f000 fc88       bl      800a370 <UART_AdvFeatureConfig>
-  }
-
-  /* In asynchronous mode, the following bits must be kept cleared:
-  - LINEN and CLKEN bits in the USART_CR2 register,
-  - SCEN, HDSEL and IREN  bits in the USART_CR3 register.*/
-  CLEAR_BIT(huart->Instance->CR2, (USART_CR2_LINEN | USART_CR2_CLKEN));
- 8009a60:      687b            ldr     r3, [r7, #4]
- 8009a62:      681b            ldr     r3, [r3, #0]
- 8009a64:      685a            ldr     r2, [r3, #4]
- 8009a66:      687b            ldr     r3, [r7, #4]
- 8009a68:      681b            ldr     r3, [r3, #0]
- 8009a6a:      f422 4290       bic.w   r2, r2, #18432  ; 0x4800
- 8009a6e:      605a            str     r2, [r3, #4]
-  CLEAR_BIT(huart->Instance->CR3, (USART_CR3_SCEN | USART_CR3_HDSEL | USART_CR3_IREN));
- 8009a70:      687b            ldr     r3, [r7, #4]
- 8009a72:      681b            ldr     r3, [r3, #0]
- 8009a74:      689a            ldr     r2, [r3, #8]
- 8009a76:      687b            ldr     r3, [r7, #4]
- 8009a78:      681b            ldr     r3, [r3, #0]
- 8009a7a:      f022 022a       bic.w   r2, r2, #42     ; 0x2a
- 8009a7e:      609a            str     r2, [r3, #8]
-
-  /* Enable the Peripheral */
-  __HAL_UART_ENABLE(huart);
- 8009a80:      687b            ldr     r3, [r7, #4]
- 8009a82:      681b            ldr     r3, [r3, #0]
- 8009a84:      681a            ldr     r2, [r3, #0]
- 8009a86:      687b            ldr     r3, [r7, #4]
- 8009a88:      681b            ldr     r3, [r3, #0]
- 8009a8a:      f042 0201       orr.w   r2, r2, #1
- 8009a8e:      601a            str     r2, [r3, #0]
-
-  /* TEACK and/or REACK to check before moving huart->gState and huart->RxState to Ready */
-  return (UART_CheckIdleState(huart));
- 8009a90:      6878            ldr     r0, [r7, #4]
- 8009a92:      f000 fd0f       bl      800a4b4 <UART_CheckIdleState>
- 8009a96:      4603            mov     r3, r0
-}
- 8009a98:      4618            mov     r0, r3
- 8009a9a:      3708            adds    r7, #8
- 8009a9c:      46bd            mov     sp, r7
- 8009a9e:      bd80            pop     {r7, pc}
-
-08009aa0 <HAL_UART_Transmit>:
-  * @param Size    Amount of data to be sent.
-  * @param Timeout Timeout duration.
-  * @retval HAL status
-  */
-HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32_t Timeout)
-{
- 8009aa0:      b580            push    {r7, lr}
- 8009aa2:      b08a            sub     sp, #40 ; 0x28
- 8009aa4:      af02            add     r7, sp, #8
- 8009aa6:      60f8            str     r0, [r7, #12]
- 8009aa8:      60b9            str     r1, [r7, #8]
- 8009aaa:      603b            str     r3, [r7, #0]
- 8009aac:      4613            mov     r3, r2
- 8009aae:      80fb            strh    r3, [r7, #6]
-  uint8_t  *pdata8bits;
-  uint16_t *pdata16bits;
-  uint32_t tickstart;
-
-  /* Check that a Tx process is not already ongoing */
-  if (huart->gState == HAL_UART_STATE_READY)
- 8009ab0:      68fb            ldr     r3, [r7, #12]
- 8009ab2:      6f5b            ldr     r3, [r3, #116]  ; 0x74
- 8009ab4:      2b20            cmp     r3, #32
- 8009ab6:      d17f            bne.n   8009bb8 <HAL_UART_Transmit+0x118>
-  {
-    if ((pData == NULL) || (Size == 0U))
- 8009ab8:      68bb            ldr     r3, [r7, #8]
- 8009aba:      2b00            cmp     r3, #0
- 8009abc:      d002            beq.n   8009ac4 <HAL_UART_Transmit+0x24>
- 8009abe:      88fb            ldrh    r3, [r7, #6]
- 8009ac0:      2b00            cmp     r3, #0
- 8009ac2:      d101            bne.n   8009ac8 <HAL_UART_Transmit+0x28>
-    {
-      return  HAL_ERROR;
- 8009ac4:      2301            movs    r3, #1
- 8009ac6:      e078            b.n     8009bba <HAL_UART_Transmit+0x11a>
-    }
-
-    /* Process Locked */
-    __HAL_LOCK(huart);
- 8009ac8:      68fb            ldr     r3, [r7, #12]
- 8009aca:      f893 3070       ldrb.w  r3, [r3, #112]  ; 0x70
- 8009ace:      2b01            cmp     r3, #1
- 8009ad0:      d101            bne.n   8009ad6 <HAL_UART_Transmit+0x36>
- 8009ad2:      2302            movs    r3, #2
- 8009ad4:      e071            b.n     8009bba <HAL_UART_Transmit+0x11a>
- 8009ad6:      68fb            ldr     r3, [r7, #12]
- 8009ad8:      2201            movs    r2, #1
- 8009ada:      f883 2070       strb.w  r2, [r3, #112]  ; 0x70
-
-    huart->ErrorCode = HAL_UART_ERROR_NONE;
- 8009ade:      68fb            ldr     r3, [r7, #12]
- 8009ae0:      2200            movs    r2, #0
- 8009ae2:      67da            str     r2, [r3, #124]  ; 0x7c
-    huart->gState = HAL_UART_STATE_BUSY_TX;
- 8009ae4:      68fb            ldr     r3, [r7, #12]
- 8009ae6:      2221            movs    r2, #33 ; 0x21
- 8009ae8:      675a            str     r2, [r3, #116]  ; 0x74
-
-    /* Init tickstart for timeout managment*/
-    tickstart = HAL_GetTick();
- 8009aea:      f7fe fad3       bl      8008094 <HAL_GetTick>
- 8009aee:      6178            str     r0, [r7, #20]
-
-    huart->TxXferSize  = Size;
- 8009af0:      68fb            ldr     r3, [r7, #12]
- 8009af2:      88fa            ldrh    r2, [r7, #6]
- 8009af4:      f8a3 2050       strh.w  r2, [r3, #80]   ; 0x50
-    huart->TxXferCount = Size;
- 8009af8:      68fb            ldr     r3, [r7, #12]
- 8009afa:      88fa            ldrh    r2, [r7, #6]
- 8009afc:      f8a3 2052       strh.w  r2, [r3, #82]   ; 0x52
-
-        /* In case of 9bits/No Parity transfer, pData needs to be handled as a uint16_t pointer */
-    if ((huart->Init.WordLength == UART_WORDLENGTH_9B) && (huart->Init.Parity == UART_PARITY_NONE))
- 8009b00:      68fb            ldr     r3, [r7, #12]
- 8009b02:      689b            ldr     r3, [r3, #8]
- 8009b04:      f5b3 5f80       cmp.w   r3, #4096       ; 0x1000
- 8009b08:      d108            bne.n   8009b1c <HAL_UART_Transmit+0x7c>
- 8009b0a:      68fb            ldr     r3, [r7, #12]
- 8009b0c:      691b            ldr     r3, [r3, #16]
- 8009b0e:      2b00            cmp     r3, #0
- 8009b10:      d104            bne.n   8009b1c <HAL_UART_Transmit+0x7c>
-    {
-      pdata8bits  = NULL;
- 8009b12:      2300            movs    r3, #0
- 8009b14:      61fb            str     r3, [r7, #28]
-      pdata16bits = (uint16_t *) pData;
- 8009b16:      68bb            ldr     r3, [r7, #8]
- 8009b18:      61bb            str     r3, [r7, #24]
- 8009b1a:      e003            b.n     8009b24 <HAL_UART_Transmit+0x84>
-    }
-    else
-    {
-      pdata8bits  = pData;
- 8009b1c:      68bb            ldr     r3, [r7, #8]
- 8009b1e:      61fb            str     r3, [r7, #28]
-      pdata16bits = NULL;
- 8009b20:      2300            movs    r3, #0
- 8009b22:      61bb            str     r3, [r7, #24]
-    }
-
-    while (huart->TxXferCount > 0U)
- 8009b24:      e02c            b.n     8009b80 <HAL_UART_Transmit+0xe0>
-    {
-      if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_TXE, RESET, tickstart, Timeout) != HAL_OK)
- 8009b26:      683b            ldr     r3, [r7, #0]
- 8009b28:      9300            str     r3, [sp, #0]
- 8009b2a:      697b            ldr     r3, [r7, #20]
- 8009b2c:      2200            movs    r2, #0
- 8009b2e:      2180            movs    r1, #128        ; 0x80
- 8009b30:      68f8            ldr     r0, [r7, #12]
- 8009b32:      f000 fcee       bl      800a512 <UART_WaitOnFlagUntilTimeout>
- 8009b36:      4603            mov     r3, r0
- 8009b38:      2b00            cmp     r3, #0
- 8009b3a:      d001            beq.n   8009b40 <HAL_UART_Transmit+0xa0>
-      {
-        return HAL_TIMEOUT;
- 8009b3c:      2303            movs    r3, #3
- 8009b3e:      e03c            b.n     8009bba <HAL_UART_Transmit+0x11a>
-      }
-      if (pdata8bits == NULL)
- 8009b40:      69fb            ldr     r3, [r7, #28]
- 8009b42:      2b00            cmp     r3, #0
- 8009b44:      d10b            bne.n   8009b5e <HAL_UART_Transmit+0xbe>
-      {
-        huart->Instance->TDR = (uint16_t)(*pdata16bits & 0x01FFU);
- 8009b46:      69bb            ldr     r3, [r7, #24]
- 8009b48:      881b            ldrh    r3, [r3, #0]
- 8009b4a:      461a            mov     r2, r3
- 8009b4c:      68fb            ldr     r3, [r7, #12]
- 8009b4e:      681b            ldr     r3, [r3, #0]
- 8009b50:      f3c2 0208       ubfx    r2, r2, #0, #9
- 8009b54:      629a            str     r2, [r3, #40]   ; 0x28
-        pdata16bits++;
- 8009b56:      69bb            ldr     r3, [r7, #24]
- 8009b58:      3302            adds    r3, #2
- 8009b5a:      61bb            str     r3, [r7, #24]
- 8009b5c:      e007            b.n     8009b6e <HAL_UART_Transmit+0xce>
-      }
-      else
-      {
-        huart->Instance->TDR = (uint8_t)(*pdata8bits & 0xFFU);
- 8009b5e:      69fb            ldr     r3, [r7, #28]
- 8009b60:      781a            ldrb    r2, [r3, #0]
- 8009b62:      68fb            ldr     r3, [r7, #12]
- 8009b64:      681b            ldr     r3, [r3, #0]
- 8009b66:      629a            str     r2, [r3, #40]   ; 0x28
-        pdata8bits++;
- 8009b68:      69fb            ldr     r3, [r7, #28]
- 8009b6a:      3301            adds    r3, #1
- 8009b6c:      61fb            str     r3, [r7, #28]
-      }
-      huart->TxXferCount--;
- 8009b6e:      68fb            ldr     r3, [r7, #12]
- 8009b70:      f8b3 3052       ldrh.w  r3, [r3, #82]   ; 0x52
- 8009b74:      b29b            uxth    r3, r3
- 8009b76:      3b01            subs    r3, #1
- 8009b78:      b29a            uxth    r2, r3
- 8009b7a:      68fb            ldr     r3, [r7, #12]
- 8009b7c:      f8a3 2052       strh.w  r2, [r3, #82]   ; 0x52
-    while (huart->TxXferCount > 0U)
- 8009b80:      68fb            ldr     r3, [r7, #12]
- 8009b82:      f8b3 3052       ldrh.w  r3, [r3, #82]   ; 0x52
- 8009b86:      b29b            uxth    r3, r3
- 8009b88:      2b00            cmp     r3, #0
- 8009b8a:      d1cc            bne.n   8009b26 <HAL_UART_Transmit+0x86>
-    }
-
-    if (UART_WaitOnFlagUntilTimeout(huart, UART_FLAG_TC, RESET, tickstart, Timeout) != HAL_OK)
- 8009b8c:      683b            ldr     r3, [r7, #0]
- 8009b8e:      9300            str     r3, [sp, #0]
- 8009b90:      697b            ldr     r3, [r7, #20]
- 8009b92:      2200            movs    r2, #0
- 8009b94:      2140            movs    r1, #64 ; 0x40
- 8009b96:      68f8            ldr     r0, [r7, #12]
- 8009b98:      f000 fcbb       bl      800a512 <UART_WaitOnFlagUntilTimeout>
- 8009b9c:      4603            mov     r3, r0
- 8009b9e:      2b00            cmp     r3, #0
- 8009ba0:      d001            beq.n   8009ba6 <HAL_UART_Transmit+0x106>
-    {
-      return HAL_TIMEOUT;
- 8009ba2:      2303            movs    r3, #3
- 8009ba4:      e009            b.n     8009bba <HAL_UART_Transmit+0x11a>
-    }
-
-    /* At end of Tx process, restore huart->gState to Ready */
-    huart->gState = HAL_UART_STATE_READY;
- 8009ba6:      68fb            ldr     r3, [r7, #12]
- 8009ba8:      2220            movs    r2, #32
- 8009baa:      675a            str     r2, [r3, #116]  ; 0x74
-
-    /* Process Unlocked */
-    __HAL_UNLOCK(huart);
- 8009bac:      68fb            ldr     r3, [r7, #12]
- 8009bae:      2200            movs    r2, #0
- 8009bb0:      f883 2070       strb.w  r2, [r3, #112]  ; 0x70
-
-    return HAL_OK;
- 8009bb4:      2300            movs    r3, #0
- 8009bb6:      e000            b.n     8009bba <HAL_UART_Transmit+0x11a>
-  }
-  else
-  {
-    return HAL_BUSY;
- 8009bb8:      2302            movs    r3, #2
-  }
-}
- 8009bba:      4618            mov     r0, r3
- 8009bbc:      3720            adds    r7, #32
- 8009bbe:      46bd            mov     sp, r7
- 8009bc0:      bd80            pop     {r7, pc}
-       ...
-
-08009bc4 <HAL_UART_Transmit_DMA>:
-  * @param pData Pointer to data buffer.
-  * @param Size  Amount of data to be sent.
-  * @retval HAL status
-  */
-HAL_StatusTypeDef HAL_UART_Transmit_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
-{
- 8009bc4:      b580            push    {r7, lr}
- 8009bc6:      b084            sub     sp, #16
- 8009bc8:      af00            add     r7, sp, #0
- 8009bca:      60f8            str     r0, [r7, #12]
- 8009bcc:      60b9            str     r1, [r7, #8]
- 8009bce:      4613            mov     r3, r2
- 8009bd0:      80fb            strh    r3, [r7, #6]
-  /* Check that a Tx process is not already ongoing */
-  if (huart->gState == HAL_UART_STATE_READY)
- 8009bd2:      68fb            ldr     r3, [r7, #12]
- 8009bd4:      6f5b            ldr     r3, [r3, #116]  ; 0x74
- 8009bd6:      2b20            cmp     r3, #32
- 8009bd8:      d164            bne.n   8009ca4 <HAL_UART_Transmit_DMA+0xe0>
-  {
-    if ((pData == NULL) || (Size == 0U))
- 8009bda:      68bb            ldr     r3, [r7, #8]
- 8009bdc:      2b00            cmp     r3, #0
- 8009bde:      d002            beq.n   8009be6 <HAL_UART_Transmit_DMA+0x22>
- 8009be0:      88fb            ldrh    r3, [r7, #6]
- 8009be2:      2b00            cmp     r3, #0
- 8009be4:      d101            bne.n   8009bea <HAL_UART_Transmit_DMA+0x26>
-    {
-      return HAL_ERROR;
- 8009be6:      2301            movs    r3, #1
- 8009be8:      e05d            b.n     8009ca6 <HAL_UART_Transmit_DMA+0xe2>
-    }
-
-    /* Process Locked */
-    __HAL_LOCK(huart);
- 8009bea:      68fb            ldr     r3, [r7, #12]
- 8009bec:      f893 3070       ldrb.w  r3, [r3, #112]  ; 0x70
- 8009bf0:      2b01            cmp     r3, #1
- 8009bf2:      d101            bne.n   8009bf8 <HAL_UART_Transmit_DMA+0x34>
- 8009bf4:      2302            movs    r3, #2
- 8009bf6:      e056            b.n     8009ca6 <HAL_UART_Transmit_DMA+0xe2>
- 8009bf8:      68fb            ldr     r3, [r7, #12]
- 8009bfa:      2201            movs    r2, #1
- 8009bfc:      f883 2070       strb.w  r2, [r3, #112]  ; 0x70
-
-    huart->pTxBuffPtr  = pData;
- 8009c00:      68fb            ldr     r3, [r7, #12]
- 8009c02:      68ba            ldr     r2, [r7, #8]
- 8009c04:      64da            str     r2, [r3, #76]   ; 0x4c
-    huart->TxXferSize  = Size;
- 8009c06:      68fb            ldr     r3, [r7, #12]
- 8009c08:      88fa            ldrh    r2, [r7, #6]
- 8009c0a:      f8a3 2050       strh.w  r2, [r3, #80]   ; 0x50
-    huart->TxXferCount = Size;
- 8009c0e:      68fb            ldr     r3, [r7, #12]
- 8009c10:      88fa            ldrh    r2, [r7, #6]
- 8009c12:      f8a3 2052       strh.w  r2, [r3, #82]   ; 0x52
-
-    huart->ErrorCode = HAL_UART_ERROR_NONE;
- 8009c16:      68fb            ldr     r3, [r7, #12]
- 8009c18:      2200            movs    r2, #0
- 8009c1a:      67da            str     r2, [r3, #124]  ; 0x7c
-    huart->gState = HAL_UART_STATE_BUSY_TX;
- 8009c1c:      68fb            ldr     r3, [r7, #12]
- 8009c1e:      2221            movs    r2, #33 ; 0x21
- 8009c20:      675a            str     r2, [r3, #116]  ; 0x74
-
-    if (huart->hdmatx != NULL)
- 8009c22:      68fb            ldr     r3, [r7, #12]
- 8009c24:      6e9b            ldr     r3, [r3, #104]  ; 0x68
- 8009c26:      2b00            cmp     r3, #0
- 8009c28:      d02a            beq.n   8009c80 <HAL_UART_Transmit_DMA+0xbc>
-    {
-      /* Set the UART DMA transfer complete callback */
-      huart->hdmatx->XferCpltCallback = UART_DMATransmitCplt;
- 8009c2a:      68fb            ldr     r3, [r7, #12]
- 8009c2c:      6e9b            ldr     r3, [r3, #104]  ; 0x68
- 8009c2e:      4a20            ldr     r2, [pc, #128]  ; (8009cb0 <HAL_UART_Transmit_DMA+0xec>)
- 8009c30:      63da            str     r2, [r3, #60]   ; 0x3c
-
-      /* Set the UART DMA Half transfer complete callback */
-      huart->hdmatx->XferHalfCpltCallback = UART_DMATxHalfCplt;
- 8009c32:      68fb            ldr     r3, [r7, #12]
- 8009c34:      6e9b            ldr     r3, [r3, #104]  ; 0x68
- 8009c36:      4a1f            ldr     r2, [pc, #124]  ; (8009cb4 <HAL_UART_Transmit_DMA+0xf0>)
- 8009c38:      641a            str     r2, [r3, #64]   ; 0x40
-
-      /* Set the DMA error callback */
-      huart->hdmatx->XferErrorCallback = UART_DMAError;
- 8009c3a:      68fb            ldr     r3, [r7, #12]
- 8009c3c:      6e9b            ldr     r3, [r3, #104]  ; 0x68
- 8009c3e:      4a1e            ldr     r2, [pc, #120]  ; (8009cb8 <HAL_UART_Transmit_DMA+0xf4>)
- 8009c40:      64da            str     r2, [r3, #76]   ; 0x4c
-
-      /* Set the DMA abort callback */
-      huart->hdmatx->XferAbortCallback = NULL;
- 8009c42:      68fb            ldr     r3, [r7, #12]
- 8009c44:      6e9b            ldr     r3, [r3, #104]  ; 0x68
- 8009c46:      2200            movs    r2, #0
- 8009c48:      651a            str     r2, [r3, #80]   ; 0x50
-
-      /* Enable the UART transmit DMA channel */
-      if (HAL_DMA_Start_IT(huart->hdmatx, (uint32_t)huart->pTxBuffPtr, (uint32_t)&huart->Instance->TDR, Size) != HAL_OK)
- 8009c4a:      68fb            ldr     r3, [r7, #12]
- 8009c4c:      6e98            ldr     r0, [r3, #104]  ; 0x68
- 8009c4e:      68fb            ldr     r3, [r7, #12]
- 8009c50:      6cdb            ldr     r3, [r3, #76]   ; 0x4c
- 8009c52:      4619            mov     r1, r3
- 8009c54:      68fb            ldr     r3, [r7, #12]
- 8009c56:      681b            ldr     r3, [r3, #0]
- 8009c58:      3328            adds    r3, #40 ; 0x28
- 8009c5a:      461a            mov     r2, r3
- 8009c5c:      88fb            ldrh    r3, [r7, #6]
- 8009c5e:      f7fe fb2c       bl      80082ba <HAL_DMA_Start_IT>
- 8009c62:      4603            mov     r3, r0
- 8009c64:      2b00            cmp     r3, #0
- 8009c66:      d00b            beq.n   8009c80 <HAL_UART_Transmit_DMA+0xbc>
-      {
-        /* Set error code to DMA */
-        huart->ErrorCode = HAL_UART_ERROR_DMA;
- 8009c68:      68fb            ldr     r3, [r7, #12]
- 8009c6a:      2210            movs    r2, #16
- 8009c6c:      67da            str     r2, [r3, #124]  ; 0x7c
-
-        /* Process Unlocked */
-        __HAL_UNLOCK(huart);
- 8009c6e:      68fb            ldr     r3, [r7, #12]
- 8009c70:      2200            movs    r2, #0
- 8009c72:      f883 2070       strb.w  r2, [r3, #112]  ; 0x70
-
-        /* Restore huart->gState to ready */
-        huart->gState = HAL_UART_STATE_READY;
- 8009c76:      68fb            ldr     r3, [r7, #12]
- 8009c78:      2220            movs    r2, #32
- 8009c7a:      675a            str     r2, [r3, #116]  ; 0x74
-
-        return HAL_ERROR;
- 8009c7c:      2301            movs    r3, #1
- 8009c7e:      e012            b.n     8009ca6 <HAL_UART_Transmit_DMA+0xe2>
-      }
-    }
-    /* Clear the TC flag in the ICR register */
-    __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_TCF);
- 8009c80:      68fb            ldr     r3, [r7, #12]
- 8009c82:      681b            ldr     r3, [r3, #0]
- 8009c84:      2240            movs    r2, #64 ; 0x40
- 8009c86:      621a            str     r2, [r3, #32]
-
-    /* Process Unlocked */
-    __HAL_UNLOCK(huart);
- 8009c88:      68fb            ldr     r3, [r7, #12]
- 8009c8a:      2200            movs    r2, #0
- 8009c8c:      f883 2070       strb.w  r2, [r3, #112]  ; 0x70
-
-    /* Enable the DMA transfer for transmit request by setting the DMAT bit
-    in the UART CR3 register */
-    SET_BIT(huart->Instance->CR3, USART_CR3_DMAT);
- 8009c90:      68fb            ldr     r3, [r7, #12]
- 8009c92:      681b            ldr     r3, [r3, #0]
- 8009c94:      689a            ldr     r2, [r3, #8]
- 8009c96:      68fb            ldr     r3, [r7, #12]
- 8009c98:      681b            ldr     r3, [r3, #0]
- 8009c9a:      f042 0280       orr.w   r2, r2, #128    ; 0x80
- 8009c9e:      609a            str     r2, [r3, #8]
-
-    return HAL_OK;
- 8009ca0:      2300            movs    r3, #0
- 8009ca2:      e000            b.n     8009ca6 <HAL_UART_Transmit_DMA+0xe2>
-  }
-  else
-  {
-    return HAL_BUSY;
- 8009ca4:      2302            movs    r3, #2
-  }
-}
- 8009ca6:      4618            mov     r0, r3
- 8009ca8:      3710            adds    r7, #16
- 8009caa:      46bd            mov     sp, r7
- 8009cac:      bd80            pop     {r7, pc}
- 8009cae:      bf00            nop
- 8009cb0:      0800a60d        .word   0x0800a60d
- 8009cb4:      0800a65d        .word   0x0800a65d
- 8009cb8:      0800a6f9        .word   0x0800a6f9
-
-08009cbc <HAL_UART_Receive_DMA>:
-  * @param pData Pointer to data buffer.
-  * @param Size  Amount of data to be received.
-  * @retval HAL status
-  */
-HAL_StatusTypeDef HAL_UART_Receive_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
-{
- 8009cbc:      b580            push    {r7, lr}
- 8009cbe:      b084            sub     sp, #16
- 8009cc0:      af00            add     r7, sp, #0
- 8009cc2:      60f8            str     r0, [r7, #12]
- 8009cc4:      60b9            str     r1, [r7, #8]
- 8009cc6:      4613            mov     r3, r2
- 8009cc8:      80fb            strh    r3, [r7, #6]
-  /* Check that a Rx process is not already ongoing */
-  if (huart->RxState == HAL_UART_STATE_READY)
- 8009cca:      68fb            ldr     r3, [r7, #12]
- 8009ccc:      6f9b            ldr     r3, [r3, #120]  ; 0x78
- 8009cce:      2b20            cmp     r3, #32
- 8009cd0:      d16c            bne.n   8009dac <HAL_UART_Receive_DMA+0xf0>
-  {
-    if ((pData == NULL) || (Size == 0U))
- 8009cd2:      68bb            ldr     r3, [r7, #8]
- 8009cd4:      2b00            cmp     r3, #0
- 8009cd6:      d002            beq.n   8009cde <HAL_UART_Receive_DMA+0x22>
- 8009cd8:      88fb            ldrh    r3, [r7, #6]
- 8009cda:      2b00            cmp     r3, #0
- 8009cdc:      d101            bne.n   8009ce2 <HAL_UART_Receive_DMA+0x26>
-    {
-      return HAL_ERROR;
- 8009cde:      2301            movs    r3, #1
- 8009ce0:      e065            b.n     8009dae <HAL_UART_Receive_DMA+0xf2>
-    }
-
-    /* Process Locked */
-    __HAL_LOCK(huart);
- 8009ce2:      68fb            ldr     r3, [r7, #12]
- 8009ce4:      f893 3070       ldrb.w  r3, [r3, #112]  ; 0x70
- 8009ce8:      2b01            cmp     r3, #1
- 8009cea:      d101            bne.n   8009cf0 <HAL_UART_Receive_DMA+0x34>
- 8009cec:      2302            movs    r3, #2
- 8009cee:      e05e            b.n     8009dae <HAL_UART_Receive_DMA+0xf2>
- 8009cf0:      68fb            ldr     r3, [r7, #12]
- 8009cf2:      2201            movs    r2, #1
- 8009cf4:      f883 2070       strb.w  r2, [r3, #112]  ; 0x70
-
-    huart->pRxBuffPtr = pData;
- 8009cf8:      68fb            ldr     r3, [r7, #12]
- 8009cfa:      68ba            ldr     r2, [r7, #8]
- 8009cfc:      655a            str     r2, [r3, #84]   ; 0x54
-    huart->RxXferSize = Size;
- 8009cfe:      68fb            ldr     r3, [r7, #12]
- 8009d00:      88fa            ldrh    r2, [r7, #6]
- 8009d02:      f8a3 2058       strh.w  r2, [r3, #88]   ; 0x58
-
-    huart->ErrorCode = HAL_UART_ERROR_NONE;
- 8009d06:      68fb            ldr     r3, [r7, #12]
- 8009d08:      2200            movs    r2, #0
- 8009d0a:      67da            str     r2, [r3, #124]  ; 0x7c
-    huart->RxState = HAL_UART_STATE_BUSY_RX;
- 8009d0c:      68fb            ldr     r3, [r7, #12]
- 8009d0e:      2222            movs    r2, #34 ; 0x22
- 8009d10:      679a            str     r2, [r3, #120]  ; 0x78
-
-    if (huart->hdmarx != NULL)
- 8009d12:      68fb            ldr     r3, [r7, #12]
- 8009d14:      6edb            ldr     r3, [r3, #108]  ; 0x6c
- 8009d16:      2b00            cmp     r3, #0
- 8009d18:      d02a            beq.n   8009d70 <HAL_UART_Receive_DMA+0xb4>
-    {
-      /* Set the UART DMA transfer complete callback */
-      huart->hdmarx->XferCpltCallback = UART_DMAReceiveCplt;
- 8009d1a:      68fb            ldr     r3, [r7, #12]
- 8009d1c:      6edb            ldr     r3, [r3, #108]  ; 0x6c
- 8009d1e:      4a26            ldr     r2, [pc, #152]  ; (8009db8 <HAL_UART_Receive_DMA+0xfc>)
- 8009d20:      63da            str     r2, [r3, #60]   ; 0x3c
-
-      /* Set the UART DMA Half transfer complete callback */
-      huart->hdmarx->XferHalfCpltCallback = UART_DMARxHalfCplt;
- 8009d22:      68fb            ldr     r3, [r7, #12]
- 8009d24:      6edb            ldr     r3, [r3, #108]  ; 0x6c
- 8009d26:      4a25            ldr     r2, [pc, #148]  ; (8009dbc <HAL_UART_Receive_DMA+0x100>)
- 8009d28:      641a            str     r2, [r3, #64]   ; 0x40
-
-      /* Set the DMA error callback */
-      huart->hdmarx->XferErrorCallback = UART_DMAError;
- 8009d2a:      68fb            ldr     r3, [r7, #12]
- 8009d2c:      6edb            ldr     r3, [r3, #108]  ; 0x6c
- 8009d2e:      4a24            ldr     r2, [pc, #144]  ; (8009dc0 <HAL_UART_Receive_DMA+0x104>)
- 8009d30:      64da            str     r2, [r3, #76]   ; 0x4c
-
-      /* Set the DMA abort callback */
-      huart->hdmarx->XferAbortCallback = NULL;
- 8009d32:      68fb            ldr     r3, [r7, #12]
- 8009d34:      6edb            ldr     r3, [r3, #108]  ; 0x6c
- 8009d36:      2200            movs    r2, #0
- 8009d38:      651a            str     r2, [r3, #80]   ; 0x50
-
-      /* Enable the DMA channel */
-      if (HAL_DMA_Start_IT(huart->hdmarx, (uint32_t)&huart->Instance->RDR, (uint32_t)huart->pRxBuffPtr, Size) != HAL_OK)
- 8009d3a:      68fb            ldr     r3, [r7, #12]
- 8009d3c:      6ed8            ldr     r0, [r3, #108]  ; 0x6c
- 8009d3e:      68fb            ldr     r3, [r7, #12]
- 8009d40:      681b            ldr     r3, [r3, #0]
- 8009d42:      3324            adds    r3, #36 ; 0x24
- 8009d44:      4619            mov     r1, r3
- 8009d46:      68fb            ldr     r3, [r7, #12]
- 8009d48:      6d5b            ldr     r3, [r3, #84]   ; 0x54
- 8009d4a:      461a            mov     r2, r3
- 8009d4c:      88fb            ldrh    r3, [r7, #6]
- 8009d4e:      f7fe fab4       bl      80082ba <HAL_DMA_Start_IT>
- 8009d52:      4603            mov     r3, r0
- 8009d54:      2b00            cmp     r3, #0
- 8009d56:      d00b            beq.n   8009d70 <HAL_UART_Receive_DMA+0xb4>
-      {
-        /* Set error code to DMA */
-        huart->ErrorCode = HAL_UART_ERROR_DMA;
- 8009d58:      68fb            ldr     r3, [r7, #12]
- 8009d5a:      2210            movs    r2, #16
- 8009d5c:      67da            str     r2, [r3, #124]  ; 0x7c
-
-        /* Process Unlocked */
-        __HAL_UNLOCK(huart);
- 8009d5e:      68fb            ldr     r3, [r7, #12]
- 8009d60:      2200            movs    r2, #0
- 8009d62:      f883 2070       strb.w  r2, [r3, #112]  ; 0x70
-
-        /* Restore huart->gState to ready */
-        huart->gState = HAL_UART_STATE_READY;
- 8009d66:      68fb            ldr     r3, [r7, #12]
- 8009d68:      2220            movs    r2, #32
- 8009d6a:      675a            str     r2, [r3, #116]  ; 0x74
-
-        return HAL_ERROR;
- 8009d6c:      2301            movs    r3, #1
- 8009d6e:      e01e            b.n     8009dae <HAL_UART_Receive_DMA+0xf2>
-      }
-    }
-    /* Process Unlocked */
-    __HAL_UNLOCK(huart);
- 8009d70:      68fb            ldr     r3, [r7, #12]
- 8009d72:      2200            movs    r2, #0
- 8009d74:      f883 2070       strb.w  r2, [r3, #112]  ; 0x70
-
-    /* Enable the UART Parity Error Interrupt */
-    SET_BIT(huart->Instance->CR1, USART_CR1_PEIE);
- 8009d78:      68fb            ldr     r3, [r7, #12]
- 8009d7a:      681b            ldr     r3, [r3, #0]
- 8009d7c:      681a            ldr     r2, [r3, #0]
- 8009d7e:      68fb            ldr     r3, [r7, #12]
- 8009d80:      681b            ldr     r3, [r3, #0]
- 8009d82:      f442 7280       orr.w   r2, r2, #256    ; 0x100
- 8009d86:      601a            str     r2, [r3, #0]
-
-    /* Enable the UART Error Interrupt: (Frame error, noise error, overrun error) */
-    SET_BIT(huart->Instance->CR3, USART_CR3_EIE);
- 8009d88:      68fb            ldr     r3, [r7, #12]
- 8009d8a:      681b            ldr     r3, [r3, #0]
- 8009d8c:      689a            ldr     r2, [r3, #8]
- 8009d8e:      68fb            ldr     r3, [r7, #12]
- 8009d90:      681b            ldr     r3, [r3, #0]
- 8009d92:      f042 0201       orr.w   r2, r2, #1
- 8009d96:      609a            str     r2, [r3, #8]
-
-    /* Enable the DMA transfer for the receiver request by setting the DMAR bit
-    in the UART CR3 register */
-    SET_BIT(huart->Instance->CR3, USART_CR3_DMAR);
- 8009d98:      68fb            ldr     r3, [r7, #12]
- 8009d9a:      681b            ldr     r3, [r3, #0]
- 8009d9c:      689a            ldr     r2, [r3, #8]
- 8009d9e:      68fb            ldr     r3, [r7, #12]
- 8009da0:      681b            ldr     r3, [r3, #0]
- 8009da2:      f042 0240       orr.w   r2, r2, #64     ; 0x40
- 8009da6:      609a            str     r2, [r3, #8]
-
-    return HAL_OK;
- 8009da8:      2300            movs    r3, #0
- 8009daa:      e000            b.n     8009dae <HAL_UART_Receive_DMA+0xf2>
-  }
-  else
-  {
-    return HAL_BUSY;
- 8009dac:      2302            movs    r3, #2
-  }
-}
- 8009dae:      4618            mov     r0, r3
- 8009db0:      3710            adds    r7, #16
- 8009db2:      46bd            mov     sp, r7
- 8009db4:      bd80            pop     {r7, pc}
- 8009db6:      bf00            nop
- 8009db8:      0800a679        .word   0x0800a679
- 8009dbc:      0800a6dd        .word   0x0800a6dd
- 8009dc0:      0800a6f9        .word   0x0800a6f9
-
-08009dc4 <HAL_UART_TxCpltCallback>:
-  * @brief Tx Transfer completed callback.
-  * @param huart UART handle.
-  * @retval None
-  */
-__weak void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart)
-{
- 8009dc4:      b480            push    {r7}
- 8009dc6:      b083            sub     sp, #12
- 8009dc8:      af00            add     r7, sp, #0
- 8009dca:      6078            str     r0, [r7, #4]
-  UNUSED(huart);
-
-  /* NOTE : This function should not be modified, when the callback is needed,
-            the HAL_UART_TxCpltCallback can be implemented in the user file.
-   */
-}
- 8009dcc:      bf00            nop
- 8009dce:      370c            adds    r7, #12
- 8009dd0:      46bd            mov     sp, r7
- 8009dd2:      f85d 7b04       ldr.w   r7, [sp], #4
- 8009dd6:      4770            bx      lr
-
-08009dd8 <HAL_UART_TxHalfCpltCallback>:
-  * @brief  Tx Half Transfer completed callback.
-  * @param  huart UART handle.
-  * @retval None
-  */
-__weak void HAL_UART_TxHalfCpltCallback(UART_HandleTypeDef *huart)
-{
- 8009dd8:      b480            push    {r7}
- 8009dda:      b083            sub     sp, #12
- 8009ddc:      af00            add     r7, sp, #0
- 8009dde:      6078            str     r0, [r7, #4]
-  UNUSED(huart);
-
-  /* NOTE: This function should not be modified, when the callback is needed,
-           the HAL_UART_TxHalfCpltCallback can be implemented in the user file.
-   */
-}
- 8009de0:      bf00            nop
- 8009de2:      370c            adds    r7, #12
- 8009de4:      46bd            mov     sp, r7
- 8009de6:      f85d 7b04       ldr.w   r7, [sp], #4
- 8009dea:      4770            bx      lr
-
-08009dec <HAL_UART_RxCpltCallback>:
-  * @brief  Rx Transfer completed callback.
-  * @param  huart UART handle.
-  * @retval None
-  */
-__weak void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
-{
- 8009dec:      b480            push    {r7}
- 8009dee:      b083            sub     sp, #12
- 8009df0:      af00            add     r7, sp, #0
- 8009df2:      6078            str     r0, [r7, #4]
-  UNUSED(huart);
-
-  /* NOTE : This function should not be modified, when the callback is needed,
-            the HAL_UART_RxCpltCallback can be implemented in the user file.
-   */
-}
- 8009df4:      bf00            nop
- 8009df6:      370c            adds    r7, #12
- 8009df8:      46bd            mov     sp, r7
- 8009dfa:      f85d 7b04       ldr.w   r7, [sp], #4
- 8009dfe:      4770            bx      lr
-
-08009e00 <HAL_UART_RxHalfCpltCallback>:
-  * @brief  Rx Half Transfer completed callback.
-  * @param  huart UART handle.
-  * @retval None
-  */
-__weak void HAL_UART_RxHalfCpltCallback(UART_HandleTypeDef *huart)
-{
- 8009e00:      b480            push    {r7}
- 8009e02:      b083            sub     sp, #12
- 8009e04:      af00            add     r7, sp, #0
- 8009e06:      6078            str     r0, [r7, #4]
-  UNUSED(huart);
-
-  /* NOTE: This function should not be modified, when the callback is needed,
-           the HAL_UART_RxHalfCpltCallback can be implemented in the user file.
-   */
-}
- 8009e08:      bf00            nop
- 8009e0a:      370c            adds    r7, #12
- 8009e0c:      46bd            mov     sp, r7
- 8009e0e:      f85d 7b04       ldr.w   r7, [sp], #4
- 8009e12:      4770            bx      lr
-
-08009e14 <HAL_UART_ErrorCallback>:
-  * @brief  UART error callback.
-  * @param  huart UART handle.
-  * @retval None
-  */
-__weak void HAL_UART_ErrorCallback(UART_HandleTypeDef *huart)
-{
- 8009e14:      b480            push    {r7}
- 8009e16:      b083            sub     sp, #12
- 8009e18:      af00            add     r7, sp, #0
- 8009e1a:      6078            str     r0, [r7, #4]
-  UNUSED(huart);
-
-  /* NOTE : This function should not be modified, when the callback is needed,
-            the HAL_UART_ErrorCallback can be implemented in the user file.
-   */
-}
- 8009e1c:      bf00            nop
- 8009e1e:      370c            adds    r7, #12
- 8009e20:      46bd            mov     sp, r7
- 8009e22:      f85d 7b04       ldr.w   r7, [sp], #4
- 8009e26:      4770            bx      lr
-
-08009e28 <UART_SetConfig>:
-  * @brief Configure the UART peripheral.
-  * @param huart UART handle.
-  * @retval HAL status
-  */
-HAL_StatusTypeDef UART_SetConfig(UART_HandleTypeDef *huart)
-{
- 8009e28:      b580            push    {r7, lr}
- 8009e2a:      b088            sub     sp, #32
- 8009e2c:      af00            add     r7, sp, #0
- 8009e2e:      6078            str     r0, [r7, #4]
-  uint32_t tmpreg;
-  uint16_t brrtemp;
-  UART_ClockSourceTypeDef clocksource;
-  uint32_t usartdiv                   = 0x00000000U;
- 8009e30:      2300            movs    r3, #0
- 8009e32:      61bb            str     r3, [r7, #24]
-  HAL_StatusTypeDef ret               = HAL_OK;
- 8009e34:      2300            movs    r3, #0
- 8009e36:      75fb            strb    r3, [r7, #23]
-  *  the UART Word Length, Parity, Mode and oversampling:
-  *  set the M bits according to huart->Init.WordLength value
-  *  set PCE and PS bits according to huart->Init.Parity value
-  *  set TE and RE bits according to huart->Init.Mode value
-  *  set OVER8 bit according to huart->Init.OverSampling value */
-  tmpreg = (uint32_t)huart->Init.WordLength | huart->Init.Parity | huart->Init.Mode | huart->Init.OverSampling ;
- 8009e38:      687b            ldr     r3, [r7, #4]
- 8009e3a:      689a            ldr     r2, [r3, #8]
- 8009e3c:      687b            ldr     r3, [r7, #4]
- 8009e3e:      691b            ldr     r3, [r3, #16]
- 8009e40:      431a            orrs    r2, r3
- 8009e42:      687b            ldr     r3, [r7, #4]
- 8009e44:      695b            ldr     r3, [r3, #20]
- 8009e46:      431a            orrs    r2, r3
- 8009e48:      687b            ldr     r3, [r7, #4]
- 8009e4a:      69db            ldr     r3, [r3, #28]
- 8009e4c:      4313            orrs    r3, r2
- 8009e4e:      613b            str     r3, [r7, #16]
-  MODIFY_REG(huart->Instance->CR1, USART_CR1_FIELDS, tmpreg);
- 8009e50:      687b            ldr     r3, [r7, #4]
- 8009e52:      681b            ldr     r3, [r3, #0]
- 8009e54:      681a            ldr     r2, [r3, #0]
- 8009e56:      4bb1            ldr     r3, [pc, #708]  ; (800a11c <UART_SetConfig+0x2f4>)
- 8009e58:      4013            ands    r3, r2
- 8009e5a:      687a            ldr     r2, [r7, #4]
- 8009e5c:      6812            ldr     r2, [r2, #0]
- 8009e5e:      6939            ldr     r1, [r7, #16]
- 8009e60:      430b            orrs    r3, r1
- 8009e62:      6013            str     r3, [r2, #0]
-
-  /*-------------------------- USART CR2 Configuration -----------------------*/
-  /* Configure the UART Stop Bits: Set STOP[13:12] bits according
-  * to huart->Init.StopBits value */
-  MODIFY_REG(huart->Instance->CR2, USART_CR2_STOP, huart->Init.StopBits);
- 8009e64:      687b            ldr     r3, [r7, #4]
- 8009e66:      681b            ldr     r3, [r3, #0]
- 8009e68:      685b            ldr     r3, [r3, #4]
- 8009e6a:      f423 5140       bic.w   r1, r3, #12288  ; 0x3000
- 8009e6e:      687b            ldr     r3, [r7, #4]
- 8009e70:      68da            ldr     r2, [r3, #12]
- 8009e72:      687b            ldr     r3, [r7, #4]
- 8009e74:      681b            ldr     r3, [r3, #0]
- 8009e76:      430a            orrs    r2, r1
- 8009e78:      605a            str     r2, [r3, #4]
-  /* Configure
-  * - UART HardWare Flow Control: set CTSE and RTSE bits according
-  *   to huart->Init.HwFlowCtl value
-  * - one-bit sampling method versus three samples' majority rule according
-  *   to huart->Init.OneBitSampling (not applicable to LPUART) */
-  tmpreg = (uint32_t)huart->Init.HwFlowCtl;
- 8009e7a:      687b            ldr     r3, [r7, #4]
- 8009e7c:      699b            ldr     r3, [r3, #24]
- 8009e7e:      613b            str     r3, [r7, #16]
-
-  tmpreg |= huart->Init.OneBitSampling;
- 8009e80:      687b            ldr     r3, [r7, #4]
- 8009e82:      6a1b            ldr     r3, [r3, #32]
- 8009e84:      693a            ldr     r2, [r7, #16]
- 8009e86:      4313            orrs    r3, r2
- 8009e88:      613b            str     r3, [r7, #16]
-  MODIFY_REG(huart->Instance->CR3, USART_CR3_FIELDS, tmpreg);
- 8009e8a:      687b            ldr     r3, [r7, #4]
- 8009e8c:      681b            ldr     r3, [r3, #0]
- 8009e8e:      689b            ldr     r3, [r3, #8]
- 8009e90:      f423 6130       bic.w   r1, r3, #2816   ; 0xb00
- 8009e94:      687b            ldr     r3, [r7, #4]
- 8009e96:      681b            ldr     r3, [r3, #0]
- 8009e98:      693a            ldr     r2, [r7, #16]
- 8009e9a:      430a            orrs    r2, r1
- 8009e9c:      609a            str     r2, [r3, #8]
-
-
-  /*-------------------------- USART BRR Configuration -----------------------*/
-  UART_GETCLOCKSOURCE(huart, clocksource);
- 8009e9e:      687b            ldr     r3, [r7, #4]
- 8009ea0:      681b            ldr     r3, [r3, #0]
- 8009ea2:      4a9f            ldr     r2, [pc, #636]  ; (800a120 <UART_SetConfig+0x2f8>)
- 8009ea4:      4293            cmp     r3, r2
- 8009ea6:      d121            bne.n   8009eec <UART_SetConfig+0xc4>
- 8009ea8:      4b9e            ldr     r3, [pc, #632]  ; (800a124 <UART_SetConfig+0x2fc>)
- 8009eaa:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
- 8009eae:      f003 0303       and.w   r3, r3, #3
- 8009eb2:      2b03            cmp     r3, #3
- 8009eb4:      d816            bhi.n   8009ee4 <UART_SetConfig+0xbc>
- 8009eb6:      a201            add     r2, pc, #4      ; (adr r2, 8009ebc <UART_SetConfig+0x94>)
- 8009eb8:      f852 f023       ldr.w   pc, [r2, r3, lsl #2]
- 8009ebc:      08009ecd        .word   0x08009ecd
- 8009ec0:      08009ed9        .word   0x08009ed9
- 8009ec4:      08009ed3        .word   0x08009ed3
- 8009ec8:      08009edf        .word   0x08009edf
- 8009ecc:      2301            movs    r3, #1
- 8009ece:      77fb            strb    r3, [r7, #31]
- 8009ed0:      e151            b.n     800a176 <UART_SetConfig+0x34e>
- 8009ed2:      2302            movs    r3, #2
- 8009ed4:      77fb            strb    r3, [r7, #31]
- 8009ed6:      e14e            b.n     800a176 <UART_SetConfig+0x34e>
- 8009ed8:      2304            movs    r3, #4
- 8009eda:      77fb            strb    r3, [r7, #31]
- 8009edc:      e14b            b.n     800a176 <UART_SetConfig+0x34e>
- 8009ede:      2308            movs    r3, #8
- 8009ee0:      77fb            strb    r3, [r7, #31]
- 8009ee2:      e148            b.n     800a176 <UART_SetConfig+0x34e>
- 8009ee4:      2310            movs    r3, #16
- 8009ee6:      77fb            strb    r3, [r7, #31]
- 8009ee8:      bf00            nop
- 8009eea:      e144            b.n     800a176 <UART_SetConfig+0x34e>
- 8009eec:      687b            ldr     r3, [r7, #4]
- 8009eee:      681b            ldr     r3, [r3, #0]
- 8009ef0:      4a8d            ldr     r2, [pc, #564]  ; (800a128 <UART_SetConfig+0x300>)
- 8009ef2:      4293            cmp     r3, r2
- 8009ef4:      d134            bne.n   8009f60 <UART_SetConfig+0x138>
- 8009ef6:      4b8b            ldr     r3, [pc, #556]  ; (800a124 <UART_SetConfig+0x2fc>)
- 8009ef8:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
- 8009efc:      f003 030c       and.w   r3, r3, #12
- 8009f00:      2b0c            cmp     r3, #12
- 8009f02:      d829            bhi.n   8009f58 <UART_SetConfig+0x130>
- 8009f04:      a201            add     r2, pc, #4      ; (adr r2, 8009f0c <UART_SetConfig+0xe4>)
- 8009f06:      f852 f023       ldr.w   pc, [r2, r3, lsl #2]
- 8009f0a:      bf00            nop
- 8009f0c:      08009f41        .word   0x08009f41
- 8009f10:      08009f59        .word   0x08009f59
- 8009f14:      08009f59        .word   0x08009f59
- 8009f18:      08009f59        .word   0x08009f59
- 8009f1c:      08009f4d        .word   0x08009f4d
- 8009f20:      08009f59        .word   0x08009f59
- 8009f24:      08009f59        .word   0x08009f59
- 8009f28:      08009f59        .word   0x08009f59
- 8009f2c:      08009f47        .word   0x08009f47
- 8009f30:      08009f59        .word   0x08009f59
- 8009f34:      08009f59        .word   0x08009f59
- 8009f38:      08009f59        .word   0x08009f59
- 8009f3c:      08009f53        .word   0x08009f53
- 8009f40:      2300            movs    r3, #0
- 8009f42:      77fb            strb    r3, [r7, #31]
- 8009f44:      e117            b.n     800a176 <UART_SetConfig+0x34e>
- 8009f46:      2302            movs    r3, #2
- 8009f48:      77fb            strb    r3, [r7, #31]
- 8009f4a:      e114            b.n     800a176 <UART_SetConfig+0x34e>
- 8009f4c:      2304            movs    r3, #4
- 8009f4e:      77fb            strb    r3, [r7, #31]
- 8009f50:      e111            b.n     800a176 <UART_SetConfig+0x34e>
- 8009f52:      2308            movs    r3, #8
- 8009f54:      77fb            strb    r3, [r7, #31]
- 8009f56:      e10e            b.n     800a176 <UART_SetConfig+0x34e>
- 8009f58:      2310            movs    r3, #16
- 8009f5a:      77fb            strb    r3, [r7, #31]
- 8009f5c:      bf00            nop
- 8009f5e:      e10a            b.n     800a176 <UART_SetConfig+0x34e>
- 8009f60:      687b            ldr     r3, [r7, #4]
- 8009f62:      681b            ldr     r3, [r3, #0]
- 8009f64:      4a71            ldr     r2, [pc, #452]  ; (800a12c <UART_SetConfig+0x304>)
- 8009f66:      4293            cmp     r3, r2
- 8009f68:      d120            bne.n   8009fac <UART_SetConfig+0x184>
- 8009f6a:      4b6e            ldr     r3, [pc, #440]  ; (800a124 <UART_SetConfig+0x2fc>)
- 8009f6c:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
- 8009f70:      f003 0330       and.w   r3, r3, #48     ; 0x30
- 8009f74:      2b10            cmp     r3, #16
- 8009f76:      d00f            beq.n   8009f98 <UART_SetConfig+0x170>
- 8009f78:      2b10            cmp     r3, #16
- 8009f7a:      d802            bhi.n   8009f82 <UART_SetConfig+0x15a>
- 8009f7c:      2b00            cmp     r3, #0
- 8009f7e:      d005            beq.n   8009f8c <UART_SetConfig+0x164>
- 8009f80:      e010            b.n     8009fa4 <UART_SetConfig+0x17c>
- 8009f82:      2b20            cmp     r3, #32
- 8009f84:      d005            beq.n   8009f92 <UART_SetConfig+0x16a>
- 8009f86:      2b30            cmp     r3, #48 ; 0x30
- 8009f88:      d009            beq.n   8009f9e <UART_SetConfig+0x176>
- 8009f8a:      e00b            b.n     8009fa4 <UART_SetConfig+0x17c>
- 8009f8c:      2300            movs    r3, #0
- 8009f8e:      77fb            strb    r3, [r7, #31]
- 8009f90:      e0f1            b.n     800a176 <UART_SetConfig+0x34e>
- 8009f92:      2302            movs    r3, #2
- 8009f94:      77fb            strb    r3, [r7, #31]
- 8009f96:      e0ee            b.n     800a176 <UART_SetConfig+0x34e>
- 8009f98:      2304            movs    r3, #4
- 8009f9a:      77fb            strb    r3, [r7, #31]
- 8009f9c:      e0eb            b.n     800a176 <UART_SetConfig+0x34e>
- 8009f9e:      2308            movs    r3, #8
- 8009fa0:      77fb            strb    r3, [r7, #31]
- 8009fa2:      e0e8            b.n     800a176 <UART_SetConfig+0x34e>
- 8009fa4:      2310            movs    r3, #16
- 8009fa6:      77fb            strb    r3, [r7, #31]
- 8009fa8:      bf00            nop
- 8009faa:      e0e4            b.n     800a176 <UART_SetConfig+0x34e>
- 8009fac:      687b            ldr     r3, [r7, #4]
- 8009fae:      681b            ldr     r3, [r3, #0]
- 8009fb0:      4a5f            ldr     r2, [pc, #380]  ; (800a130 <UART_SetConfig+0x308>)
- 8009fb2:      4293            cmp     r3, r2
- 8009fb4:      d120            bne.n   8009ff8 <UART_SetConfig+0x1d0>
- 8009fb6:      4b5b            ldr     r3, [pc, #364]  ; (800a124 <UART_SetConfig+0x2fc>)
- 8009fb8:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
- 8009fbc:      f003 03c0       and.w   r3, r3, #192    ; 0xc0
- 8009fc0:      2b40            cmp     r3, #64 ; 0x40
- 8009fc2:      d00f            beq.n   8009fe4 <UART_SetConfig+0x1bc>
- 8009fc4:      2b40            cmp     r3, #64 ; 0x40
- 8009fc6:      d802            bhi.n   8009fce <UART_SetConfig+0x1a6>
- 8009fc8:      2b00            cmp     r3, #0
- 8009fca:      d005            beq.n   8009fd8 <UART_SetConfig+0x1b0>
- 8009fcc:      e010            b.n     8009ff0 <UART_SetConfig+0x1c8>
- 8009fce:      2b80            cmp     r3, #128        ; 0x80
- 8009fd0:      d005            beq.n   8009fde <UART_SetConfig+0x1b6>
- 8009fd2:      2bc0            cmp     r3, #192        ; 0xc0
- 8009fd4:      d009            beq.n   8009fea <UART_SetConfig+0x1c2>
- 8009fd6:      e00b            b.n     8009ff0 <UART_SetConfig+0x1c8>
- 8009fd8:      2300            movs    r3, #0
- 8009fda:      77fb            strb    r3, [r7, #31]
- 8009fdc:      e0cb            b.n     800a176 <UART_SetConfig+0x34e>
- 8009fde:      2302            movs    r3, #2
- 8009fe0:      77fb            strb    r3, [r7, #31]
- 8009fe2:      e0c8            b.n     800a176 <UART_SetConfig+0x34e>
- 8009fe4:      2304            movs    r3, #4
- 8009fe6:      77fb            strb    r3, [r7, #31]
- 8009fe8:      e0c5            b.n     800a176 <UART_SetConfig+0x34e>
- 8009fea:      2308            movs    r3, #8
- 8009fec:      77fb            strb    r3, [r7, #31]
- 8009fee:      e0c2            b.n     800a176 <UART_SetConfig+0x34e>
- 8009ff0:      2310            movs    r3, #16
- 8009ff2:      77fb            strb    r3, [r7, #31]
- 8009ff4:      bf00            nop
- 8009ff6:      e0be            b.n     800a176 <UART_SetConfig+0x34e>
- 8009ff8:      687b            ldr     r3, [r7, #4]
- 8009ffa:      681b            ldr     r3, [r3, #0]
- 8009ffc:      4a4d            ldr     r2, [pc, #308]  ; (800a134 <UART_SetConfig+0x30c>)
- 8009ffe:      4293            cmp     r3, r2
- 800a000:      d124            bne.n   800a04c <UART_SetConfig+0x224>
- 800a002:      4b48            ldr     r3, [pc, #288]  ; (800a124 <UART_SetConfig+0x2fc>)
- 800a004:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
- 800a008:      f403 7340       and.w   r3, r3, #768    ; 0x300
- 800a00c:      f5b3 7f80       cmp.w   r3, #256        ; 0x100
- 800a010:      d012            beq.n   800a038 <UART_SetConfig+0x210>
- 800a012:      f5b3 7f80       cmp.w   r3, #256        ; 0x100
- 800a016:      d802            bhi.n   800a01e <UART_SetConfig+0x1f6>
- 800a018:      2b00            cmp     r3, #0
- 800a01a:      d007            beq.n   800a02c <UART_SetConfig+0x204>
- 800a01c:      e012            b.n     800a044 <UART_SetConfig+0x21c>
- 800a01e:      f5b3 7f00       cmp.w   r3, #512        ; 0x200
- 800a022:      d006            beq.n   800a032 <UART_SetConfig+0x20a>
- 800a024:      f5b3 7f40       cmp.w   r3, #768        ; 0x300
- 800a028:      d009            beq.n   800a03e <UART_SetConfig+0x216>
- 800a02a:      e00b            b.n     800a044 <UART_SetConfig+0x21c>
- 800a02c:      2300            movs    r3, #0
- 800a02e:      77fb            strb    r3, [r7, #31]
- 800a030:      e0a1            b.n     800a176 <UART_SetConfig+0x34e>
- 800a032:      2302            movs    r3, #2
- 800a034:      77fb            strb    r3, [r7, #31]
- 800a036:      e09e            b.n     800a176 <UART_SetConfig+0x34e>
- 800a038:      2304            movs    r3, #4
- 800a03a:      77fb            strb    r3, [r7, #31]
- 800a03c:      e09b            b.n     800a176 <UART_SetConfig+0x34e>
- 800a03e:      2308            movs    r3, #8
- 800a040:      77fb            strb    r3, [r7, #31]
- 800a042:      e098            b.n     800a176 <UART_SetConfig+0x34e>
- 800a044:      2310            movs    r3, #16
- 800a046:      77fb            strb    r3, [r7, #31]
- 800a048:      bf00            nop
- 800a04a:      e094            b.n     800a176 <UART_SetConfig+0x34e>
- 800a04c:      687b            ldr     r3, [r7, #4]
- 800a04e:      681b            ldr     r3, [r3, #0]
- 800a050:      4a39            ldr     r2, [pc, #228]  ; (800a138 <UART_SetConfig+0x310>)
- 800a052:      4293            cmp     r3, r2
- 800a054:      d124            bne.n   800a0a0 <UART_SetConfig+0x278>
- 800a056:      4b33            ldr     r3, [pc, #204]  ; (800a124 <UART_SetConfig+0x2fc>)
- 800a058:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
- 800a05c:      f403 6340       and.w   r3, r3, #3072   ; 0xc00
- 800a060:      f5b3 6f80       cmp.w   r3, #1024       ; 0x400
- 800a064:      d012            beq.n   800a08c <UART_SetConfig+0x264>
- 800a066:      f5b3 6f80       cmp.w   r3, #1024       ; 0x400
- 800a06a:      d802            bhi.n   800a072 <UART_SetConfig+0x24a>
- 800a06c:      2b00            cmp     r3, #0
- 800a06e:      d007            beq.n   800a080 <UART_SetConfig+0x258>
- 800a070:      e012            b.n     800a098 <UART_SetConfig+0x270>
- 800a072:      f5b3 6f00       cmp.w   r3, #2048       ; 0x800
- 800a076:      d006            beq.n   800a086 <UART_SetConfig+0x25e>
- 800a078:      f5b3 6f40       cmp.w   r3, #3072       ; 0xc00
- 800a07c:      d009            beq.n   800a092 <UART_SetConfig+0x26a>
- 800a07e:      e00b            b.n     800a098 <UART_SetConfig+0x270>
- 800a080:      2301            movs    r3, #1
- 800a082:      77fb            strb    r3, [r7, #31]
- 800a084:      e077            b.n     800a176 <UART_SetConfig+0x34e>
- 800a086:      2302            movs    r3, #2
- 800a088:      77fb            strb    r3, [r7, #31]
- 800a08a:      e074            b.n     800a176 <UART_SetConfig+0x34e>
- 800a08c:      2304            movs    r3, #4
- 800a08e:      77fb            strb    r3, [r7, #31]
- 800a090:      e071            b.n     800a176 <UART_SetConfig+0x34e>
- 800a092:      2308            movs    r3, #8
- 800a094:      77fb            strb    r3, [r7, #31]
- 800a096:      e06e            b.n     800a176 <UART_SetConfig+0x34e>
- 800a098:      2310            movs    r3, #16
- 800a09a:      77fb            strb    r3, [r7, #31]
- 800a09c:      bf00            nop
- 800a09e:      e06a            b.n     800a176 <UART_SetConfig+0x34e>
- 800a0a0:      687b            ldr     r3, [r7, #4]
- 800a0a2:      681b            ldr     r3, [r3, #0]
- 800a0a4:      4a25            ldr     r2, [pc, #148]  ; (800a13c <UART_SetConfig+0x314>)
- 800a0a6:      4293            cmp     r3, r2
- 800a0a8:      d124            bne.n   800a0f4 <UART_SetConfig+0x2cc>
- 800a0aa:      4b1e            ldr     r3, [pc, #120]  ; (800a124 <UART_SetConfig+0x2fc>)
- 800a0ac:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
- 800a0b0:      f403 5340       and.w   r3, r3, #12288  ; 0x3000
- 800a0b4:      f5b3 5f80       cmp.w   r3, #4096       ; 0x1000
- 800a0b8:      d012            beq.n   800a0e0 <UART_SetConfig+0x2b8>
- 800a0ba:      f5b3 5f80       cmp.w   r3, #4096       ; 0x1000
- 800a0be:      d802            bhi.n   800a0c6 <UART_SetConfig+0x29e>
- 800a0c0:      2b00            cmp     r3, #0
- 800a0c2:      d007            beq.n   800a0d4 <UART_SetConfig+0x2ac>
- 800a0c4:      e012            b.n     800a0ec <UART_SetConfig+0x2c4>
- 800a0c6:      f5b3 5f00       cmp.w   r3, #8192       ; 0x2000
- 800a0ca:      d006            beq.n   800a0da <UART_SetConfig+0x2b2>
- 800a0cc:      f5b3 5f40       cmp.w   r3, #12288      ; 0x3000
- 800a0d0:      d009            beq.n   800a0e6 <UART_SetConfig+0x2be>
- 800a0d2:      e00b            b.n     800a0ec <UART_SetConfig+0x2c4>
- 800a0d4:      2300            movs    r3, #0
- 800a0d6:      77fb            strb    r3, [r7, #31]
- 800a0d8:      e04d            b.n     800a176 <UART_SetConfig+0x34e>
- 800a0da:      2302            movs    r3, #2
- 800a0dc:      77fb            strb    r3, [r7, #31]
- 800a0de:      e04a            b.n     800a176 <UART_SetConfig+0x34e>
- 800a0e0:      2304            movs    r3, #4
- 800a0e2:      77fb            strb    r3, [r7, #31]
- 800a0e4:      e047            b.n     800a176 <UART_SetConfig+0x34e>
- 800a0e6:      2308            movs    r3, #8
- 800a0e8:      77fb            strb    r3, [r7, #31]
- 800a0ea:      e044            b.n     800a176 <UART_SetConfig+0x34e>
- 800a0ec:      2310            movs    r3, #16
- 800a0ee:      77fb            strb    r3, [r7, #31]
- 800a0f0:      bf00            nop
- 800a0f2:      e040            b.n     800a176 <UART_SetConfig+0x34e>
- 800a0f4:      687b            ldr     r3, [r7, #4]
- 800a0f6:      681b            ldr     r3, [r3, #0]
- 800a0f8:      4a11            ldr     r2, [pc, #68]   ; (800a140 <UART_SetConfig+0x318>)
- 800a0fa:      4293            cmp     r3, r2
- 800a0fc:      d139            bne.n   800a172 <UART_SetConfig+0x34a>
- 800a0fe:      4b09            ldr     r3, [pc, #36]   ; (800a124 <UART_SetConfig+0x2fc>)
- 800a100:      f8d3 3090       ldr.w   r3, [r3, #144]  ; 0x90
- 800a104:      f403 4340       and.w   r3, r3, #49152  ; 0xc000
- 800a108:      f5b3 4f80       cmp.w   r3, #16384      ; 0x4000
- 800a10c:      d027            beq.n   800a15e <UART_SetConfig+0x336>
- 800a10e:      f5b3 4f80       cmp.w   r3, #16384      ; 0x4000
- 800a112:      d817            bhi.n   800a144 <UART_SetConfig+0x31c>
- 800a114:      2b00            cmp     r3, #0
- 800a116:      d01c            beq.n   800a152 <UART_SetConfig+0x32a>
- 800a118:      e027            b.n     800a16a <UART_SetConfig+0x342>
- 800a11a:      bf00            nop
- 800a11c:      efff69f3        .word   0xefff69f3
- 800a120:      40011000        .word   0x40011000
- 800a124:      40023800        .word   0x40023800
- 800a128:      40004400        .word   0x40004400
- 800a12c:      40004800        .word   0x40004800
- 800a130:      40004c00        .word   0x40004c00
- 800a134:      40005000        .word   0x40005000
- 800a138:      40011400        .word   0x40011400
- 800a13c:      40007800        .word   0x40007800
- 800a140:      40007c00        .word   0x40007c00
- 800a144:      f5b3 4f00       cmp.w   r3, #32768      ; 0x8000
- 800a148:      d006            beq.n   800a158 <UART_SetConfig+0x330>
- 800a14a:      f5b3 4f40       cmp.w   r3, #49152      ; 0xc000
- 800a14e:      d009            beq.n   800a164 <UART_SetConfig+0x33c>
- 800a150:      e00b            b.n     800a16a <UART_SetConfig+0x342>
- 800a152:      2300            movs    r3, #0
- 800a154:      77fb            strb    r3, [r7, #31]
- 800a156:      e00e            b.n     800a176 <UART_SetConfig+0x34e>
- 800a158:      2302            movs    r3, #2
- 800a15a:      77fb            strb    r3, [r7, #31]
- 800a15c:      e00b            b.n     800a176 <UART_SetConfig+0x34e>
- 800a15e:      2304            movs    r3, #4
- 800a160:      77fb            strb    r3, [r7, #31]
- 800a162:      e008            b.n     800a176 <UART_SetConfig+0x34e>
- 800a164:      2308            movs    r3, #8
- 800a166:      77fb            strb    r3, [r7, #31]
- 800a168:      e005            b.n     800a176 <UART_SetConfig+0x34e>
- 800a16a:      2310            movs    r3, #16
- 800a16c:      77fb            strb    r3, [r7, #31]
- 800a16e:      bf00            nop
- 800a170:      e001            b.n     800a176 <UART_SetConfig+0x34e>
- 800a172:      2310            movs    r3, #16
- 800a174:      77fb            strb    r3, [r7, #31]
-
-  if (huart->Init.OverSampling == UART_OVERSAMPLING_8)
- 800a176:      687b            ldr     r3, [r7, #4]
- 800a178:      69db            ldr     r3, [r3, #28]
- 800a17a:      f5b3 4f00       cmp.w   r3, #32768      ; 0x8000
- 800a17e:      d17c            bne.n   800a27a <UART_SetConfig+0x452>
-  {
-    switch (clocksource)
- 800a180:      7ffb            ldrb    r3, [r7, #31]
- 800a182:      2b08            cmp     r3, #8
- 800a184:      d859            bhi.n   800a23a <UART_SetConfig+0x412>
- 800a186:      a201            add     r2, pc, #4      ; (adr r2, 800a18c <UART_SetConfig+0x364>)
- 800a188:      f852 f023       ldr.w   pc, [r2, r3, lsl #2]
- 800a18c:      0800a1b1        .word   0x0800a1b1
- 800a190:      0800a1cf        .word   0x0800a1cf
- 800a194:      0800a1ed        .word   0x0800a1ed
- 800a198:      0800a23b        .word   0x0800a23b
- 800a19c:      0800a205        .word   0x0800a205
- 800a1a0:      0800a23b        .word   0x0800a23b
- 800a1a4:      0800a23b        .word   0x0800a23b
- 800a1a8:      0800a23b        .word   0x0800a23b
- 800a1ac:      0800a223        .word   0x0800a223
-    {
-      case UART_CLOCKSOURCE_PCLK1:
-        usartdiv = (uint16_t)(UART_DIV_SAMPLING8(HAL_RCC_GetPCLK1Freq(), huart->Init.BaudRate));
- 800a1b0:      f7fe fed4       bl      8008f5c <HAL_RCC_GetPCLK1Freq>
- 800a1b4:      4603            mov     r3, r0
- 800a1b6:      005a            lsls    r2, r3, #1
- 800a1b8:      687b            ldr     r3, [r7, #4]
- 800a1ba:      685b            ldr     r3, [r3, #4]
- 800a1bc:      085b            lsrs    r3, r3, #1
- 800a1be:      441a            add     r2, r3
- 800a1c0:      687b            ldr     r3, [r7, #4]
- 800a1c2:      685b            ldr     r3, [r3, #4]
- 800a1c4:      fbb2 f3f3       udiv    r3, r2, r3
- 800a1c8:      b29b            uxth    r3, r3
- 800a1ca:      61bb            str     r3, [r7, #24]
-        break;
- 800a1cc:      e038            b.n     800a240 <UART_SetConfig+0x418>
-      case UART_CLOCKSOURCE_PCLK2:
-        usartdiv = (uint16_t)(UART_DIV_SAMPLING8(HAL_RCC_GetPCLK2Freq(), huart->Init.BaudRate));
- 800a1ce:      f7fe fed9       bl      8008f84 <HAL_RCC_GetPCLK2Freq>
- 800a1d2:      4603            mov     r3, r0
- 800a1d4:      005a            lsls    r2, r3, #1
- 800a1d6:      687b            ldr     r3, [r7, #4]
- 800a1d8:      685b            ldr     r3, [r3, #4]
- 800a1da:      085b            lsrs    r3, r3, #1
- 800a1dc:      441a            add     r2, r3
- 800a1de:      687b            ldr     r3, [r7, #4]
- 800a1e0:      685b            ldr     r3, [r3, #4]
- 800a1e2:      fbb2 f3f3       udiv    r3, r2, r3
- 800a1e6:      b29b            uxth    r3, r3
- 800a1e8:      61bb            str     r3, [r7, #24]
-        break;
- 800a1ea:      e029            b.n     800a240 <UART_SetConfig+0x418>
-      case UART_CLOCKSOURCE_HSI:
-        usartdiv = (uint16_t)(UART_DIV_SAMPLING8(HSI_VALUE, huart->Init.BaudRate));
- 800a1ec:      687b            ldr     r3, [r7, #4]
- 800a1ee:      685b            ldr     r3, [r3, #4]
- 800a1f0:      085a            lsrs    r2, r3, #1
- 800a1f2:      4b5d            ldr     r3, [pc, #372]  ; (800a368 <UART_SetConfig+0x540>)
- 800a1f4:      4413            add     r3, r2
- 800a1f6:      687a            ldr     r2, [r7, #4]
- 800a1f8:      6852            ldr     r2, [r2, #4]
- 800a1fa:      fbb3 f3f2       udiv    r3, r3, r2
- 800a1fe:      b29b            uxth    r3, r3
- 800a200:      61bb            str     r3, [r7, #24]
-        break;
- 800a202:      e01d            b.n     800a240 <UART_SetConfig+0x418>
-      case UART_CLOCKSOURCE_SYSCLK:
-        usartdiv = (uint16_t)(UART_DIV_SAMPLING8(HAL_RCC_GetSysClockFreq(), huart->Init.BaudRate));
- 800a204:      f7fe fdec       bl      8008de0 <HAL_RCC_GetSysClockFreq>
- 800a208:      4603            mov     r3, r0
- 800a20a:      005a            lsls    r2, r3, #1
- 800a20c:      687b            ldr     r3, [r7, #4]
- 800a20e:      685b            ldr     r3, [r3, #4]
- 800a210:      085b            lsrs    r3, r3, #1
- 800a212:      441a            add     r2, r3
- 800a214:      687b            ldr     r3, [r7, #4]
- 800a216:      685b            ldr     r3, [r3, #4]
- 800a218:      fbb2 f3f3       udiv    r3, r2, r3
- 800a21c:      b29b            uxth    r3, r3
- 800a21e:      61bb            str     r3, [r7, #24]
-        break;
- 800a220:      e00e            b.n     800a240 <UART_SetConfig+0x418>
-      case UART_CLOCKSOURCE_LSE:
-        usartdiv = (uint16_t)(UART_DIV_SAMPLING8(LSE_VALUE, huart->Init.BaudRate));
- 800a222:      687b            ldr     r3, [r7, #4]
- 800a224:      685b            ldr     r3, [r3, #4]
- 800a226:      085b            lsrs    r3, r3, #1
- 800a228:      f503 3280       add.w   r2, r3, #65536  ; 0x10000
- 800a22c:      687b            ldr     r3, [r7, #4]
- 800a22e:      685b            ldr     r3, [r3, #4]
- 800a230:      fbb2 f3f3       udiv    r3, r2, r3
- 800a234:      b29b            uxth    r3, r3
- 800a236:      61bb            str     r3, [r7, #24]
-        break;
- 800a238:      e002            b.n     800a240 <UART_SetConfig+0x418>
-      case UART_CLOCKSOURCE_UNDEFINED:
-      default:
-        ret = HAL_ERROR;
- 800a23a:      2301            movs    r3, #1
- 800a23c:      75fb            strb    r3, [r7, #23]
-        break;
- 800a23e:      bf00            nop
-    }
-
-    /* USARTDIV must be greater than or equal to 0d16 */
-    if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX))
- 800a240:      69bb            ldr     r3, [r7, #24]
- 800a242:      2b0f            cmp     r3, #15
- 800a244:      d916            bls.n   800a274 <UART_SetConfig+0x44c>
- 800a246:      69bb            ldr     r3, [r7, #24]
- 800a248:      f5b3 3f80       cmp.w   r3, #65536      ; 0x10000
- 800a24c:      d212            bcs.n   800a274 <UART_SetConfig+0x44c>
-    {
-      brrtemp = (uint16_t)(usartdiv & 0xFFF0U);
- 800a24e:      69bb            ldr     r3, [r7, #24]
- 800a250:      b29b            uxth    r3, r3
- 800a252:      f023 030f       bic.w   r3, r3, #15
- 800a256:      81fb            strh    r3, [r7, #14]
-      brrtemp |= (uint16_t)((usartdiv & (uint16_t)0x000FU) >> 1U);
- 800a258:      69bb            ldr     r3, [r7, #24]
- 800a25a:      085b            lsrs    r3, r3, #1
- 800a25c:      b29b            uxth    r3, r3
- 800a25e:      f003 0307       and.w   r3, r3, #7
- 800a262:      b29a            uxth    r2, r3
- 800a264:      89fb            ldrh    r3, [r7, #14]
- 800a266:      4313            orrs    r3, r2
- 800a268:      81fb            strh    r3, [r7, #14]
-      huart->Instance->BRR = brrtemp;
- 800a26a:      687b            ldr     r3, [r7, #4]
- 800a26c:      681b            ldr     r3, [r3, #0]
- 800a26e:      89fa            ldrh    r2, [r7, #14]
- 800a270:      60da            str     r2, [r3, #12]
- 800a272:      e06e            b.n     800a352 <UART_SetConfig+0x52a>
-    }
-    else
-    {
-      ret = HAL_ERROR;
- 800a274:      2301            movs    r3, #1
- 800a276:      75fb            strb    r3, [r7, #23]
- 800a278:      e06b            b.n     800a352 <UART_SetConfig+0x52a>
-    }
-  }
-  else
-  {
-    switch (clocksource)
- 800a27a:      7ffb            ldrb    r3, [r7, #31]
- 800a27c:      2b08            cmp     r3, #8
- 800a27e:      d857            bhi.n   800a330 <UART_SetConfig+0x508>
- 800a280:      a201            add     r2, pc, #4      ; (adr r2, 800a288 <UART_SetConfig+0x460>)
- 800a282:      f852 f023       ldr.w   pc, [r2, r3, lsl #2]
- 800a286:      bf00            nop
- 800a288:      0800a2ad        .word   0x0800a2ad
- 800a28c:      0800a2c9        .word   0x0800a2c9
- 800a290:      0800a2e5        .word   0x0800a2e5
- 800a294:      0800a331        .word   0x0800a331
- 800a298:      0800a2fd        .word   0x0800a2fd
- 800a29c:      0800a331        .word   0x0800a331
- 800a2a0:      0800a331        .word   0x0800a331
- 800a2a4:      0800a331        .word   0x0800a331
- 800a2a8:      0800a319        .word   0x0800a319
-    {
-      case UART_CLOCKSOURCE_PCLK1:
-        usartdiv = (uint16_t)(UART_DIV_SAMPLING16(HAL_RCC_GetPCLK1Freq(), huart->Init.BaudRate));
- 800a2ac:      f7fe fe56       bl      8008f5c <HAL_RCC_GetPCLK1Freq>
- 800a2b0:      4602            mov     r2, r0
- 800a2b2:      687b            ldr     r3, [r7, #4]
- 800a2b4:      685b            ldr     r3, [r3, #4]
- 800a2b6:      085b            lsrs    r3, r3, #1
- 800a2b8:      441a            add     r2, r3
- 800a2ba:      687b            ldr     r3, [r7, #4]
- 800a2bc:      685b            ldr     r3, [r3, #4]
- 800a2be:      fbb2 f3f3       udiv    r3, r2, r3
- 800a2c2:      b29b            uxth    r3, r3
- 800a2c4:      61bb            str     r3, [r7, #24]
-        break;
- 800a2c6:      e036            b.n     800a336 <UART_SetConfig+0x50e>
-      case UART_CLOCKSOURCE_PCLK2:
-        usartdiv = (uint16_t)(UART_DIV_SAMPLING16(HAL_RCC_GetPCLK2Freq(), huart->Init.BaudRate));
- 800a2c8:      f7fe fe5c       bl      8008f84 <HAL_RCC_GetPCLK2Freq>
- 800a2cc:      4602            mov     r2, r0
- 800a2ce:      687b            ldr     r3, [r7, #4]
- 800a2d0:      685b            ldr     r3, [r3, #4]
- 800a2d2:      085b            lsrs    r3, r3, #1
- 800a2d4:      441a            add     r2, r3
- 800a2d6:      687b            ldr     r3, [r7, #4]
- 800a2d8:      685b            ldr     r3, [r3, #4]
- 800a2da:      fbb2 f3f3       udiv    r3, r2, r3
- 800a2de:      b29b            uxth    r3, r3
- 800a2e0:      61bb            str     r3, [r7, #24]
-        break;
- 800a2e2:      e028            b.n     800a336 <UART_SetConfig+0x50e>
-      case UART_CLOCKSOURCE_HSI:
-        usartdiv = (uint16_t)(UART_DIV_SAMPLING16(HSI_VALUE, huart->Init.BaudRate));
- 800a2e4:      687b            ldr     r3, [r7, #4]
- 800a2e6:      685b            ldr     r3, [r3, #4]
- 800a2e8:      085a            lsrs    r2, r3, #1
- 800a2ea:      4b20            ldr     r3, [pc, #128]  ; (800a36c <UART_SetConfig+0x544>)
- 800a2ec:      4413            add     r3, r2
- 800a2ee:      687a            ldr     r2, [r7, #4]
- 800a2f0:      6852            ldr     r2, [r2, #4]
- 800a2f2:      fbb3 f3f2       udiv    r3, r3, r2
- 800a2f6:      b29b            uxth    r3, r3
- 800a2f8:      61bb            str     r3, [r7, #24]
-        break;
- 800a2fa:      e01c            b.n     800a336 <UART_SetConfig+0x50e>
-      case UART_CLOCKSOURCE_SYSCLK:
-        usartdiv = (uint16_t)(UART_DIV_SAMPLING16(HAL_RCC_GetSysClockFreq(), huart->Init.BaudRate));
- 800a2fc:      f7fe fd70       bl      8008de0 <HAL_RCC_GetSysClockFreq>
- 800a300:      4602            mov     r2, r0
- 800a302:      687b            ldr     r3, [r7, #4]
- 800a304:      685b            ldr     r3, [r3, #4]
- 800a306:      085b            lsrs    r3, r3, #1
- 800a308:      441a            add     r2, r3
- 800a30a:      687b            ldr     r3, [r7, #4]
- 800a30c:      685b            ldr     r3, [r3, #4]
- 800a30e:      fbb2 f3f3       udiv    r3, r2, r3
- 800a312:      b29b            uxth    r3, r3
- 800a314:      61bb            str     r3, [r7, #24]
-        break;
- 800a316:      e00e            b.n     800a336 <UART_SetConfig+0x50e>
-      case UART_CLOCKSOURCE_LSE:
-        usartdiv = (uint16_t)(UART_DIV_SAMPLING16(LSE_VALUE, huart->Init.BaudRate));
- 800a318:      687b            ldr     r3, [r7, #4]
- 800a31a:      685b            ldr     r3, [r3, #4]
- 800a31c:      085b            lsrs    r3, r3, #1
- 800a31e:      f503 4200       add.w   r2, r3, #32768  ; 0x8000
- 800a322:      687b            ldr     r3, [r7, #4]
- 800a324:      685b            ldr     r3, [r3, #4]
- 800a326:      fbb2 f3f3       udiv    r3, r2, r3
- 800a32a:      b29b            uxth    r3, r3
- 800a32c:      61bb            str     r3, [r7, #24]
-        break;
- 800a32e:      e002            b.n     800a336 <UART_SetConfig+0x50e>
-      case UART_CLOCKSOURCE_UNDEFINED:
-      default:
-        ret = HAL_ERROR;
- 800a330:      2301            movs    r3, #1
- 800a332:      75fb            strb    r3, [r7, #23]
-        break;
- 800a334:      bf00            nop
-    }
-
-    /* USARTDIV must be greater than or equal to 0d16 */
-    if ((usartdiv >= UART_BRR_MIN) && (usartdiv <= UART_BRR_MAX))
- 800a336:      69bb            ldr     r3, [r7, #24]
- 800a338:      2b0f            cmp     r3, #15
- 800a33a:      d908            bls.n   800a34e <UART_SetConfig+0x526>
- 800a33c:      69bb            ldr     r3, [r7, #24]
- 800a33e:      f5b3 3f80       cmp.w   r3, #65536      ; 0x10000
- 800a342:      d204            bcs.n   800a34e <UART_SetConfig+0x526>
-    {
-      huart->Instance->BRR = usartdiv;
- 800a344:      687b            ldr     r3, [r7, #4]
- 800a346:      681b            ldr     r3, [r3, #0]
- 800a348:      69ba            ldr     r2, [r7, #24]
- 800a34a:      60da            str     r2, [r3, #12]
- 800a34c:      e001            b.n     800a352 <UART_SetConfig+0x52a>
-    }
-    else
-    {
-      ret = HAL_ERROR;
- 800a34e:      2301            movs    r3, #1
- 800a350:      75fb            strb    r3, [r7, #23]
-    }
-  }
-
-
-  /* Clear ISR function pointers */
-  huart->RxISR = NULL;
- 800a352:      687b            ldr     r3, [r7, #4]
- 800a354:      2200            movs    r2, #0
- 800a356:      661a            str     r2, [r3, #96]   ; 0x60
-  huart->TxISR = NULL;
- 800a358:      687b            ldr     r3, [r7, #4]
- 800a35a:      2200            movs    r2, #0
- 800a35c:      665a            str     r2, [r3, #100]  ; 0x64
-
-  return ret;
- 800a35e:      7dfb            ldrb    r3, [r7, #23]
-}
- 800a360:      4618            mov     r0, r3
- 800a362:      3720            adds    r7, #32
- 800a364:      46bd            mov     sp, r7
- 800a366:      bd80            pop     {r7, pc}
- 800a368:      01e84800        .word   0x01e84800
- 800a36c:      00f42400        .word   0x00f42400
-
-0800a370 <UART_AdvFeatureConfig>:
-  * @brief Configure the UART peripheral advanced features.
-  * @param huart UART handle.
-  * @retval None
-  */
-void UART_AdvFeatureConfig(UART_HandleTypeDef *huart)
-{
- 800a370:      b480            push    {r7}
- 800a372:      b083            sub     sp, #12
- 800a374:      af00            add     r7, sp, #0
- 800a376:      6078            str     r0, [r7, #4]
-  /* Check whether the set of advanced features to configure is properly set */
-  assert_param(IS_UART_ADVFEATURE_INIT(huart->AdvancedInit.AdvFeatureInit));
-
-  /* if required, configure TX pin active level inversion */
-  if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_TXINVERT_INIT))
- 800a378:      687b            ldr     r3, [r7, #4]
- 800a37a:      6a5b            ldr     r3, [r3, #36]   ; 0x24
- 800a37c:      f003 0301       and.w   r3, r3, #1
- 800a380:      2b00            cmp     r3, #0
- 800a382:      d00a            beq.n   800a39a <UART_AdvFeatureConfig+0x2a>
-  {
-    assert_param(IS_UART_ADVFEATURE_TXINV(huart->AdvancedInit.TxPinLevelInvert));
-    MODIFY_REG(huart->Instance->CR2, USART_CR2_TXINV, huart->AdvancedInit.TxPinLevelInvert);
- 800a384:      687b            ldr     r3, [r7, #4]
- 800a386:      681b            ldr     r3, [r3, #0]
- 800a388:      685b            ldr     r3, [r3, #4]
- 800a38a:      f423 3100       bic.w   r1, r3, #131072 ; 0x20000
- 800a38e:      687b            ldr     r3, [r7, #4]
- 800a390:      6a9a            ldr     r2, [r3, #40]   ; 0x28
- 800a392:      687b            ldr     r3, [r7, #4]
- 800a394:      681b            ldr     r3, [r3, #0]
- 800a396:      430a            orrs    r2, r1
- 800a398:      605a            str     r2, [r3, #4]
-  }
-
-  /* if required, configure RX pin active level inversion */
-  if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_RXINVERT_INIT))
- 800a39a:      687b            ldr     r3, [r7, #4]
- 800a39c:      6a5b            ldr     r3, [r3, #36]   ; 0x24
- 800a39e:      f003 0302       and.w   r3, r3, #2
- 800a3a2:      2b00            cmp     r3, #0
- 800a3a4:      d00a            beq.n   800a3bc <UART_AdvFeatureConfig+0x4c>
-  {
-    assert_param(IS_UART_ADVFEATURE_RXINV(huart->AdvancedInit.RxPinLevelInvert));
-    MODIFY_REG(huart->Instance->CR2, USART_CR2_RXINV, huart->AdvancedInit.RxPinLevelInvert);
- 800a3a6:      687b            ldr     r3, [r7, #4]
- 800a3a8:      681b            ldr     r3, [r3, #0]
- 800a3aa:      685b            ldr     r3, [r3, #4]
- 800a3ac:      f423 3180       bic.w   r1, r3, #65536  ; 0x10000
- 800a3b0:      687b            ldr     r3, [r7, #4]
- 800a3b2:      6ada            ldr     r2, [r3, #44]   ; 0x2c
- 800a3b4:      687b            ldr     r3, [r7, #4]
- 800a3b6:      681b            ldr     r3, [r3, #0]
- 800a3b8:      430a            orrs    r2, r1
- 800a3ba:      605a            str     r2, [r3, #4]
-  }
-
-  /* if required, configure data inversion */
-  if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_DATAINVERT_INIT))
- 800a3bc:      687b            ldr     r3, [r7, #4]
- 800a3be:      6a5b            ldr     r3, [r3, #36]   ; 0x24
- 800a3c0:      f003 0304       and.w   r3, r3, #4
- 800a3c4:      2b00            cmp     r3, #0
- 800a3c6:      d00a            beq.n   800a3de <UART_AdvFeatureConfig+0x6e>
-  {
-    assert_param(IS_UART_ADVFEATURE_DATAINV(huart->AdvancedInit.DataInvert));
-    MODIFY_REG(huart->Instance->CR2, USART_CR2_DATAINV, huart->AdvancedInit.DataInvert);
- 800a3c8:      687b            ldr     r3, [r7, #4]
- 800a3ca:      681b            ldr     r3, [r3, #0]
- 800a3cc:      685b            ldr     r3, [r3, #4]
- 800a3ce:      f423 2180       bic.w   r1, r3, #262144 ; 0x40000
- 800a3d2:      687b            ldr     r3, [r7, #4]
- 800a3d4:      6b1a            ldr     r2, [r3, #48]   ; 0x30
- 800a3d6:      687b            ldr     r3, [r7, #4]
- 800a3d8:      681b            ldr     r3, [r3, #0]
- 800a3da:      430a            orrs    r2, r1
- 800a3dc:      605a            str     r2, [r3, #4]
-  }
-
-  /* if required, configure RX/TX pins swap */
-  if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_SWAP_INIT))
- 800a3de:      687b            ldr     r3, [r7, #4]
- 800a3e0:      6a5b            ldr     r3, [r3, #36]   ; 0x24
- 800a3e2:      f003 0308       and.w   r3, r3, #8
- 800a3e6:      2b00            cmp     r3, #0
- 800a3e8:      d00a            beq.n   800a400 <UART_AdvFeatureConfig+0x90>
-  {
-    assert_param(IS_UART_ADVFEATURE_SWAP(huart->AdvancedInit.Swap));
-    MODIFY_REG(huart->Instance->CR2, USART_CR2_SWAP, huart->AdvancedInit.Swap);
- 800a3ea:      687b            ldr     r3, [r7, #4]
- 800a3ec:      681b            ldr     r3, [r3, #0]
- 800a3ee:      685b            ldr     r3, [r3, #4]
- 800a3f0:      f423 4100       bic.w   r1, r3, #32768  ; 0x8000
- 800a3f4:      687b            ldr     r3, [r7, #4]
- 800a3f6:      6b5a            ldr     r2, [r3, #52]   ; 0x34
- 800a3f8:      687b            ldr     r3, [r7, #4]
- 800a3fa:      681b            ldr     r3, [r3, #0]
- 800a3fc:      430a            orrs    r2, r1
- 800a3fe:      605a            str     r2, [r3, #4]
-  }
-
-  /* if required, configure RX overrun detection disabling */
-  if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_RXOVERRUNDISABLE_INIT))
- 800a400:      687b            ldr     r3, [r7, #4]
- 800a402:      6a5b            ldr     r3, [r3, #36]   ; 0x24
- 800a404:      f003 0310       and.w   r3, r3, #16
- 800a408:      2b00            cmp     r3, #0
- 800a40a:      d00a            beq.n   800a422 <UART_AdvFeatureConfig+0xb2>
-  {
-    assert_param(IS_UART_OVERRUN(huart->AdvancedInit.OverrunDisable));
-    MODIFY_REG(huart->Instance->CR3, USART_CR3_OVRDIS, huart->AdvancedInit.OverrunDisable);
- 800a40c:      687b            ldr     r3, [r7, #4]
- 800a40e:      681b            ldr     r3, [r3, #0]
- 800a410:      689b            ldr     r3, [r3, #8]
- 800a412:      f423 5180       bic.w   r1, r3, #4096   ; 0x1000
- 800a416:      687b            ldr     r3, [r7, #4]
- 800a418:      6b9a            ldr     r2, [r3, #56]   ; 0x38
- 800a41a:      687b            ldr     r3, [r7, #4]
- 800a41c:      681b            ldr     r3, [r3, #0]
- 800a41e:      430a            orrs    r2, r1
- 800a420:      609a            str     r2, [r3, #8]
-  }
-
-  /* if required, configure DMA disabling on reception error */
-  if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_DMADISABLEONERROR_INIT))
- 800a422:      687b            ldr     r3, [r7, #4]
- 800a424:      6a5b            ldr     r3, [r3, #36]   ; 0x24
- 800a426:      f003 0320       and.w   r3, r3, #32
- 800a42a:      2b00            cmp     r3, #0
- 800a42c:      d00a            beq.n   800a444 <UART_AdvFeatureConfig+0xd4>
-  {
-    assert_param(IS_UART_ADVFEATURE_DMAONRXERROR(huart->AdvancedInit.DMADisableonRxError));
-    MODIFY_REG(huart->Instance->CR3, USART_CR3_DDRE, huart->AdvancedInit.DMADisableonRxError);
- 800a42e:      687b            ldr     r3, [r7, #4]
- 800a430:      681b            ldr     r3, [r3, #0]
- 800a432:      689b            ldr     r3, [r3, #8]
- 800a434:      f423 5100       bic.w   r1, r3, #8192   ; 0x2000
- 800a438:      687b            ldr     r3, [r7, #4]
- 800a43a:      6bda            ldr     r2, [r3, #60]   ; 0x3c
- 800a43c:      687b            ldr     r3, [r7, #4]
- 800a43e:      681b            ldr     r3, [r3, #0]
- 800a440:      430a            orrs    r2, r1
- 800a442:      609a            str     r2, [r3, #8]
-  }
-
-  /* if required, configure auto Baud rate detection scheme */
-  if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_AUTOBAUDRATE_INIT))
- 800a444:      687b            ldr     r3, [r7, #4]
- 800a446:      6a5b            ldr     r3, [r3, #36]   ; 0x24
- 800a448:      f003 0340       and.w   r3, r3, #64     ; 0x40
- 800a44c:      2b00            cmp     r3, #0
- 800a44e:      d01a            beq.n   800a486 <UART_AdvFeatureConfig+0x116>
-  {
-    assert_param(IS_USART_AUTOBAUDRATE_DETECTION_INSTANCE(huart->Instance));
-    assert_param(IS_UART_ADVFEATURE_AUTOBAUDRATE(huart->AdvancedInit.AutoBaudRateEnable));
-    MODIFY_REG(huart->Instance->CR2, USART_CR2_ABREN, huart->AdvancedInit.AutoBaudRateEnable);
- 800a450:      687b            ldr     r3, [r7, #4]
- 800a452:      681b            ldr     r3, [r3, #0]
- 800a454:      685b            ldr     r3, [r3, #4]
- 800a456:      f423 1180       bic.w   r1, r3, #1048576        ; 0x100000
- 800a45a:      687b            ldr     r3, [r7, #4]
- 800a45c:      6c1a            ldr     r2, [r3, #64]   ; 0x40
- 800a45e:      687b            ldr     r3, [r7, #4]
- 800a460:      681b            ldr     r3, [r3, #0]
- 800a462:      430a            orrs    r2, r1
- 800a464:      605a            str     r2, [r3, #4]
-    /* set auto Baudrate detection parameters if detection is enabled */
-    if (huart->AdvancedInit.AutoBaudRateEnable == UART_ADVFEATURE_AUTOBAUDRATE_ENABLE)
- 800a466:      687b            ldr     r3, [r7, #4]
- 800a468:      6c1b            ldr     r3, [r3, #64]   ; 0x40
- 800a46a:      f5b3 1f80       cmp.w   r3, #1048576    ; 0x100000
- 800a46e:      d10a            bne.n   800a486 <UART_AdvFeatureConfig+0x116>
-    {
-      assert_param(IS_UART_ADVFEATURE_AUTOBAUDRATEMODE(huart->AdvancedInit.AutoBaudRateMode));
-      MODIFY_REG(huart->Instance->CR2, USART_CR2_ABRMODE, huart->AdvancedInit.AutoBaudRateMode);
- 800a470:      687b            ldr     r3, [r7, #4]
- 800a472:      681b            ldr     r3, [r3, #0]
- 800a474:      685b            ldr     r3, [r3, #4]
- 800a476:      f423 01c0       bic.w   r1, r3, #6291456        ; 0x600000
- 800a47a:      687b            ldr     r3, [r7, #4]
- 800a47c:      6c5a            ldr     r2, [r3, #68]   ; 0x44
- 800a47e:      687b            ldr     r3, [r7, #4]
- 800a480:      681b            ldr     r3, [r3, #0]
- 800a482:      430a            orrs    r2, r1
- 800a484:      605a            str     r2, [r3, #4]
-    }
-  }
-
-  /* if required, configure MSB first on communication line */
-  if (HAL_IS_BIT_SET(huart->AdvancedInit.AdvFeatureInit, UART_ADVFEATURE_MSBFIRST_INIT))
- 800a486:      687b            ldr     r3, [r7, #4]
- 800a488:      6a5b            ldr     r3, [r3, #36]   ; 0x24
- 800a48a:      f003 0380       and.w   r3, r3, #128    ; 0x80
- 800a48e:      2b00            cmp     r3, #0
- 800a490:      d00a            beq.n   800a4a8 <UART_AdvFeatureConfig+0x138>
-  {
-    assert_param(IS_UART_ADVFEATURE_MSBFIRST(huart->AdvancedInit.MSBFirst));
-    MODIFY_REG(huart->Instance->CR2, USART_CR2_MSBFIRST, huart->AdvancedInit.MSBFirst);
- 800a492:      687b            ldr     r3, [r7, #4]
- 800a494:      681b            ldr     r3, [r3, #0]
- 800a496:      685b            ldr     r3, [r3, #4]
- 800a498:      f423 2100       bic.w   r1, r3, #524288 ; 0x80000
- 800a49c:      687b            ldr     r3, [r7, #4]
- 800a49e:      6c9a            ldr     r2, [r3, #72]   ; 0x48
- 800a4a0:      687b            ldr     r3, [r7, #4]
- 800a4a2:      681b            ldr     r3, [r3, #0]
- 800a4a4:      430a            orrs    r2, r1
- 800a4a6:      605a            str     r2, [r3, #4]
-  }
-}
- 800a4a8:      bf00            nop
- 800a4aa:      370c            adds    r7, #12
- 800a4ac:      46bd            mov     sp, r7
- 800a4ae:      f85d 7b04       ldr.w   r7, [sp], #4
- 800a4b2:      4770            bx      lr
-
-0800a4b4 <UART_CheckIdleState>:
-  * @brief Check the UART Idle State.
-  * @param huart UART handle.
-  * @retval HAL status
-  */
-HAL_StatusTypeDef UART_CheckIdleState(UART_HandleTypeDef *huart)
-{
- 800a4b4:      b580            push    {r7, lr}
- 800a4b6:      b086            sub     sp, #24
- 800a4b8:      af02            add     r7, sp, #8
- 800a4ba:      6078            str     r0, [r7, #4]
-  uint32_t tickstart;
-
-  /* Initialize the UART ErrorCode */
-  huart->ErrorCode = HAL_UART_ERROR_NONE;
- 800a4bc:      687b            ldr     r3, [r7, #4]
- 800a4be:      2200            movs    r2, #0
- 800a4c0:      67da            str     r2, [r3, #124]  ; 0x7c
-
-  /* Init tickstart for timeout managment*/
-  tickstart = HAL_GetTick();
- 800a4c2:      f7fd fde7       bl      8008094 <HAL_GetTick>
- 800a4c6:      60f8            str     r0, [r7, #12]
-
-  /* Check if the Transmitter is enabled */
-  if ((huart->Instance->CR1 & USART_CR1_TE) == USART_CR1_TE)
- 800a4c8:      687b            ldr     r3, [r7, #4]
- 800a4ca:      681b            ldr     r3, [r3, #0]
- 800a4cc:      681b            ldr     r3, [r3, #0]
- 800a4ce:      f003 0308       and.w   r3, r3, #8
- 800a4d2:      2b08            cmp     r3, #8
- 800a4d4:      d10e            bne.n   800a4f4 <UART_CheckIdleState+0x40>
-  {
-    /* Wait until TEACK flag is set */
-    if (UART_WaitOnFlagUntilTimeout(huart, USART_ISR_TEACK, RESET, tickstart, HAL_UART_TIMEOUT_VALUE) != HAL_OK)
- 800a4d6:      f06f 437e       mvn.w   r3, #4261412864 ; 0xfe000000
- 800a4da:      9300            str     r3, [sp, #0]
- 800a4dc:      68fb            ldr     r3, [r7, #12]
- 800a4de:      2200            movs    r2, #0
- 800a4e0:      f44f 1100       mov.w   r1, #2097152    ; 0x200000
- 800a4e4:      6878            ldr     r0, [r7, #4]
- 800a4e6:      f000 f814       bl      800a512 <UART_WaitOnFlagUntilTimeout>
- 800a4ea:      4603            mov     r3, r0
- 800a4ec:      2b00            cmp     r3, #0
- 800a4ee:      d001            beq.n   800a4f4 <UART_CheckIdleState+0x40>
-    {
-      /* Timeout occurred */
-      return HAL_TIMEOUT;
- 800a4f0:      2303            movs    r3, #3
- 800a4f2:      e00a            b.n     800a50a <UART_CheckIdleState+0x56>
-    }
-  }
-
-  /* Initialize the UART State */
-  huart->gState = HAL_UART_STATE_READY;
- 800a4f4:      687b            ldr     r3, [r7, #4]
- 800a4f6:      2220            movs    r2, #32
- 800a4f8:      675a            str     r2, [r3, #116]  ; 0x74
-  huart->RxState = HAL_UART_STATE_READY;
- 800a4fa:      687b            ldr     r3, [r7, #4]
- 800a4fc:      2220            movs    r2, #32
- 800a4fe:      679a            str     r2, [r3, #120]  ; 0x78
-
-  /* Process Unlocked */
-  __HAL_UNLOCK(huart);
- 800a500:      687b            ldr     r3, [r7, #4]
- 800a502:      2200            movs    r2, #0
- 800a504:      f883 2070       strb.w  r2, [r3, #112]  ; 0x70
-
-  return HAL_OK;
- 800a508:      2300            movs    r3, #0
-}
- 800a50a:      4618            mov     r0, r3
- 800a50c:      3710            adds    r7, #16
- 800a50e:      46bd            mov     sp, r7
- 800a510:      bd80            pop     {r7, pc}
-
-0800a512 <UART_WaitOnFlagUntilTimeout>:
-  * @param Tickstart Tick start value
-  * @param Timeout   Timeout duration
-  * @retval HAL status
-  */
-HAL_StatusTypeDef UART_WaitOnFlagUntilTimeout(UART_HandleTypeDef *huart, uint32_t Flag, FlagStatus Status, uint32_t Tickstart, uint32_t Timeout)
-{
- 800a512:      b580            push    {r7, lr}
- 800a514:      b084            sub     sp, #16
- 800a516:      af00            add     r7, sp, #0
- 800a518:      60f8            str     r0, [r7, #12]
- 800a51a:      60b9            str     r1, [r7, #8]
- 800a51c:      603b            str     r3, [r7, #0]
- 800a51e:      4613            mov     r3, r2
- 800a520:      71fb            strb    r3, [r7, #7]
-  /* Wait until flag is set */
-  while ((__HAL_UART_GET_FLAG(huart, Flag) ? SET : RESET) == Status)
- 800a522:      e02a            b.n     800a57a <UART_WaitOnFlagUntilTimeout+0x68>
-  {
-    /* Check for the Timeout */
-    if (Timeout != HAL_MAX_DELAY)
- 800a524:      69bb            ldr     r3, [r7, #24]
- 800a526:      f1b3 3fff       cmp.w   r3, #4294967295 ; 0xffffffff
- 800a52a:      d026            beq.n   800a57a <UART_WaitOnFlagUntilTimeout+0x68>
-    {
-      if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U))
- 800a52c:      f7fd fdb2       bl      8008094 <HAL_GetTick>
- 800a530:      4602            mov     r2, r0
- 800a532:      683b            ldr     r3, [r7, #0]
- 800a534:      1ad3            subs    r3, r2, r3
- 800a536:      69ba            ldr     r2, [r7, #24]
- 800a538:      429a            cmp     r2, r3
- 800a53a:      d302            bcc.n   800a542 <UART_WaitOnFlagUntilTimeout+0x30>
- 800a53c:      69bb            ldr     r3, [r7, #24]
- 800a53e:      2b00            cmp     r3, #0
- 800a540:      d11b            bne.n   800a57a <UART_WaitOnFlagUntilTimeout+0x68>
-      {
-        /* Disable TXE, RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts for the interrupt process */
-        CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE));
- 800a542:      68fb            ldr     r3, [r7, #12]
- 800a544:      681b            ldr     r3, [r3, #0]
- 800a546:      681a            ldr     r2, [r3, #0]
- 800a548:      68fb            ldr     r3, [r7, #12]
- 800a54a:      681b            ldr     r3, [r3, #0]
- 800a54c:      f422 72d0       bic.w   r2, r2, #416    ; 0x1a0
- 800a550:      601a            str     r2, [r3, #0]
-        CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
- 800a552:      68fb            ldr     r3, [r7, #12]
- 800a554:      681b            ldr     r3, [r3, #0]
- 800a556:      689a            ldr     r2, [r3, #8]
- 800a558:      68fb            ldr     r3, [r7, #12]
- 800a55a:      681b            ldr     r3, [r3, #0]
- 800a55c:      f022 0201       bic.w   r2, r2, #1
- 800a560:      609a            str     r2, [r3, #8]
-
-        huart->gState = HAL_UART_STATE_READY;
- 800a562:      68fb            ldr     r3, [r7, #12]
- 800a564:      2220            movs    r2, #32
- 800a566:      675a            str     r2, [r3, #116]  ; 0x74
-        huart->RxState = HAL_UART_STATE_READY;
- 800a568:      68fb            ldr     r3, [r7, #12]
- 800a56a:      2220            movs    r2, #32
- 800a56c:      679a            str     r2, [r3, #120]  ; 0x78
-
-        /* Process Unlocked */
-        __HAL_UNLOCK(huart);
- 800a56e:      68fb            ldr     r3, [r7, #12]
- 800a570:      2200            movs    r2, #0
- 800a572:      f883 2070       strb.w  r2, [r3, #112]  ; 0x70
-
-        return HAL_TIMEOUT;
- 800a576:      2303            movs    r3, #3
- 800a578:      e00f            b.n     800a59a <UART_WaitOnFlagUntilTimeout+0x88>
-  while ((__HAL_UART_GET_FLAG(huart, Flag) ? SET : RESET) == Status)
- 800a57a:      68fb            ldr     r3, [r7, #12]
- 800a57c:      681b            ldr     r3, [r3, #0]
- 800a57e:      69da            ldr     r2, [r3, #28]
- 800a580:      68bb            ldr     r3, [r7, #8]
- 800a582:      4013            ands    r3, r2
- 800a584:      68ba            ldr     r2, [r7, #8]
- 800a586:      429a            cmp     r2, r3
- 800a588:      bf0c            ite     eq
- 800a58a:      2301            moveq   r3, #1
- 800a58c:      2300            movne   r3, #0
- 800a58e:      b2db            uxtb    r3, r3
- 800a590:      461a            mov     r2, r3
- 800a592:      79fb            ldrb    r3, [r7, #7]
- 800a594:      429a            cmp     r2, r3
- 800a596:      d0c5            beq.n   800a524 <UART_WaitOnFlagUntilTimeout+0x12>
-      }
-    }
-  }
-  return HAL_OK;
- 800a598:      2300            movs    r3, #0
-}
- 800a59a:      4618            mov     r0, r3
- 800a59c:      3710            adds    r7, #16
- 800a59e:      46bd            mov     sp, r7
- 800a5a0:      bd80            pop     {r7, pc}
-
-0800a5a2 <UART_EndTxTransfer>:
-  * @brief  End ongoing Tx transfer on UART peripheral (following error detection or Transmit completion).
-  * @param  huart UART handle.
-  * @retval None
-  */
-static void UART_EndTxTransfer(UART_HandleTypeDef *huart)
-{
- 800a5a2:      b480            push    {r7}
- 800a5a4:      b083            sub     sp, #12
- 800a5a6:      af00            add     r7, sp, #0
- 800a5a8:      6078            str     r0, [r7, #4]
-  /* Disable TXEIE and TCIE interrupts */
-  CLEAR_BIT(huart->Instance->CR1, (USART_CR1_TXEIE | USART_CR1_TCIE));
- 800a5aa:      687b            ldr     r3, [r7, #4]
- 800a5ac:      681b            ldr     r3, [r3, #0]
- 800a5ae:      681a            ldr     r2, [r3, #0]
- 800a5b0:      687b            ldr     r3, [r7, #4]
- 800a5b2:      681b            ldr     r3, [r3, #0]
- 800a5b4:      f022 02c0       bic.w   r2, r2, #192    ; 0xc0
- 800a5b8:      601a            str     r2, [r3, #0]
-
-  /* At end of Tx process, restore huart->gState to Ready */
-  huart->gState = HAL_UART_STATE_READY;
- 800a5ba:      687b            ldr     r3, [r7, #4]
- 800a5bc:      2220            movs    r2, #32
- 800a5be:      675a            str     r2, [r3, #116]  ; 0x74
-}
- 800a5c0:      bf00            nop
- 800a5c2:      370c            adds    r7, #12
- 800a5c4:      46bd            mov     sp, r7
- 800a5c6:      f85d 7b04       ldr.w   r7, [sp], #4
- 800a5ca:      4770            bx      lr
-
-0800a5cc <UART_EndRxTransfer>:
-  * @brief  End ongoing Rx transfer on UART peripheral (following error detection or Reception completion).
-  * @param  huart UART handle.
-  * @retval None
-  */
-static void UART_EndRxTransfer(UART_HandleTypeDef *huart)
-{
- 800a5cc:      b480            push    {r7}
- 800a5ce:      b083            sub     sp, #12
- 800a5d0:      af00            add     r7, sp, #0
- 800a5d2:      6078            str     r0, [r7, #4]
-  /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */
-  CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE));
- 800a5d4:      687b            ldr     r3, [r7, #4]
- 800a5d6:      681b            ldr     r3, [r3, #0]
- 800a5d8:      681a            ldr     r2, [r3, #0]
- 800a5da:      687b            ldr     r3, [r7, #4]
- 800a5dc:      681b            ldr     r3, [r3, #0]
- 800a5de:      f422 7290       bic.w   r2, r2, #288    ; 0x120
- 800a5e2:      601a            str     r2, [r3, #0]
-  CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
- 800a5e4:      687b            ldr     r3, [r7, #4]
- 800a5e6:      681b            ldr     r3, [r3, #0]
- 800a5e8:      689a            ldr     r2, [r3, #8]
- 800a5ea:      687b            ldr     r3, [r7, #4]
- 800a5ec:      681b            ldr     r3, [r3, #0]
- 800a5ee:      f022 0201       bic.w   r2, r2, #1
- 800a5f2:      609a            str     r2, [r3, #8]
-
-  /* At end of Rx process, restore huart->RxState to Ready */
-  huart->RxState = HAL_UART_STATE_READY;
- 800a5f4:      687b            ldr     r3, [r7, #4]
- 800a5f6:      2220            movs    r2, #32
- 800a5f8:      679a            str     r2, [r3, #120]  ; 0x78
-
-  /* Reset RxIsr function pointer */
-  huart->RxISR = NULL;
- 800a5fa:      687b            ldr     r3, [r7, #4]
- 800a5fc:      2200            movs    r2, #0
- 800a5fe:      661a            str     r2, [r3, #96]   ; 0x60
-}
- 800a600:      bf00            nop
- 800a602:      370c            adds    r7, #12
- 800a604:      46bd            mov     sp, r7
- 800a606:      f85d 7b04       ldr.w   r7, [sp], #4
- 800a60a:      4770            bx      lr
-
-0800a60c <UART_DMATransmitCplt>:
-  * @brief DMA UART transmit process complete callback.
-  * @param hdma DMA handle.
-  * @retval None
-  */
-static void UART_DMATransmitCplt(DMA_HandleTypeDef *hdma)
-{
- 800a60c:      b580            push    {r7, lr}
- 800a60e:      b084            sub     sp, #16
- 800a610:      af00            add     r7, sp, #0
- 800a612:      6078            str     r0, [r7, #4]
-  UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
- 800a614:      687b            ldr     r3, [r7, #4]
- 800a616:      6b9b            ldr     r3, [r3, #56]   ; 0x38
- 800a618:      60fb            str     r3, [r7, #12]
-
-  /* DMA Normal mode */
-  if (hdma->Init.Mode != DMA_CIRCULAR)
- 800a61a:      687b            ldr     r3, [r7, #4]
- 800a61c:      69db            ldr     r3, [r3, #28]
- 800a61e:      f5b3 7f80       cmp.w   r3, #256        ; 0x100
- 800a622:      d014            beq.n   800a64e <UART_DMATransmitCplt+0x42>
-  {
-    huart->TxXferCount = 0U;
- 800a624:      68fb            ldr     r3, [r7, #12]
- 800a626:      2200            movs    r2, #0
- 800a628:      f8a3 2052       strh.w  r2, [r3, #82]   ; 0x52
-
-    /* Disable the DMA transfer for transmit request by resetting the DMAT bit
-       in the UART CR3 register */
-    CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT);
- 800a62c:      68fb            ldr     r3, [r7, #12]
- 800a62e:      681b            ldr     r3, [r3, #0]
- 800a630:      689a            ldr     r2, [r3, #8]
- 800a632:      68fb            ldr     r3, [r7, #12]
- 800a634:      681b            ldr     r3, [r3, #0]
- 800a636:      f022 0280       bic.w   r2, r2, #128    ; 0x80
- 800a63a:      609a            str     r2, [r3, #8]
-
-    /* Enable the UART Transmit Complete Interrupt */
-    SET_BIT(huart->Instance->CR1, USART_CR1_TCIE);
- 800a63c:      68fb            ldr     r3, [r7, #12]
- 800a63e:      681b            ldr     r3, [r3, #0]
- 800a640:      681a            ldr     r2, [r3, #0]
- 800a642:      68fb            ldr     r3, [r7, #12]
- 800a644:      681b            ldr     r3, [r3, #0]
- 800a646:      f042 0240       orr.w   r2, r2, #64     ; 0x40
- 800a64a:      601a            str     r2, [r3, #0]
-#else
-    /*Call legacy weak Tx complete callback*/
-    HAL_UART_TxCpltCallback(huart);
-#endif /* USE_HAL_UART_REGISTER_CALLBACKS */
-  }
-}
- 800a64c:      e002            b.n     800a654 <UART_DMATransmitCplt+0x48>
-    HAL_UART_TxCpltCallback(huart);
- 800a64e:      68f8            ldr     r0, [r7, #12]
- 800a650:      f7ff fbb8       bl      8009dc4 <HAL_UART_TxCpltCallback>
-}
- 800a654:      bf00            nop
- 800a656:      3710            adds    r7, #16
- 800a658:      46bd            mov     sp, r7
- 800a65a:      bd80            pop     {r7, pc}
-
-0800a65c <UART_DMATxHalfCplt>:
-  * @brief DMA UART transmit process half complete callback.
-  * @param hdma DMA handle.
-  * @retval None
-  */
-static void UART_DMATxHalfCplt(DMA_HandleTypeDef *hdma)
-{
- 800a65c:      b580            push    {r7, lr}
- 800a65e:      b084            sub     sp, #16
- 800a660:      af00            add     r7, sp, #0
- 800a662:      6078            str     r0, [r7, #4]
-  UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
- 800a664:      687b            ldr     r3, [r7, #4]
- 800a666:      6b9b            ldr     r3, [r3, #56]   ; 0x38
- 800a668:      60fb            str     r3, [r7, #12]
-#if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
-  /*Call registered Tx Half complete callback*/
-  huart->TxHalfCpltCallback(huart);
-#else
-  /*Call legacy weak Tx Half complete callback*/
-  HAL_UART_TxHalfCpltCallback(huart);
- 800a66a:      68f8            ldr     r0, [r7, #12]
- 800a66c:      f7ff fbb4       bl      8009dd8 <HAL_UART_TxHalfCpltCallback>
-#endif /* USE_HAL_UART_REGISTER_CALLBACKS */
-}
- 800a670:      bf00            nop
- 800a672:      3710            adds    r7, #16
- 800a674:      46bd            mov     sp, r7
- 800a676:      bd80            pop     {r7, pc}
-
-0800a678 <UART_DMAReceiveCplt>:
-  * @brief DMA UART receive process complete callback.
-  * @param hdma DMA handle.
-  * @retval None
-  */
-static void UART_DMAReceiveCplt(DMA_HandleTypeDef *hdma)
-{
- 800a678:      b580            push    {r7, lr}
- 800a67a:      b084            sub     sp, #16
- 800a67c:      af00            add     r7, sp, #0
- 800a67e:      6078            str     r0, [r7, #4]
-  UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
- 800a680:      687b            ldr     r3, [r7, #4]
- 800a682:      6b9b            ldr     r3, [r3, #56]   ; 0x38
- 800a684:      60fb            str     r3, [r7, #12]
-
-  /* DMA Normal mode */
-  if (hdma->Init.Mode != DMA_CIRCULAR)
- 800a686:      687b            ldr     r3, [r7, #4]
- 800a688:      69db            ldr     r3, [r3, #28]
- 800a68a:      f5b3 7f80       cmp.w   r3, #256        ; 0x100
- 800a68e:      d01e            beq.n   800a6ce <UART_DMAReceiveCplt+0x56>
-  {
-    huart->RxXferCount = 0U;
- 800a690:      68fb            ldr     r3, [r7, #12]
- 800a692:      2200            movs    r2, #0
- 800a694:      f8a3 205a       strh.w  r2, [r3, #90]   ; 0x5a
-
-    /* Disable PE and ERR (Frame error, noise error, overrun error) interrupts */
-    CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE);
- 800a698:      68fb            ldr     r3, [r7, #12]
- 800a69a:      681b            ldr     r3, [r3, #0]
- 800a69c:      681a            ldr     r2, [r3, #0]
- 800a69e:      68fb            ldr     r3, [r7, #12]
- 800a6a0:      681b            ldr     r3, [r3, #0]
- 800a6a2:      f422 7280       bic.w   r2, r2, #256    ; 0x100
- 800a6a6:      601a            str     r2, [r3, #0]
-    CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE);
- 800a6a8:      68fb            ldr     r3, [r7, #12]
- 800a6aa:      681b            ldr     r3, [r3, #0]
- 800a6ac:      689a            ldr     r2, [r3, #8]
- 800a6ae:      68fb            ldr     r3, [r7, #12]
- 800a6b0:      681b            ldr     r3, [r3, #0]
- 800a6b2:      f022 0201       bic.w   r2, r2, #1
- 800a6b6:      609a            str     r2, [r3, #8]
-
-    /* Disable the DMA transfer for the receiver request by resetting the DMAR bit
-       in the UART CR3 register */
-    CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR);
- 800a6b8:      68fb            ldr     r3, [r7, #12]
- 800a6ba:      681b            ldr     r3, [r3, #0]
- 800a6bc:      689a            ldr     r2, [r3, #8]
- 800a6be:      68fb            ldr     r3, [r7, #12]
- 800a6c0:      681b            ldr     r3, [r3, #0]
- 800a6c2:      f022 0240       bic.w   r2, r2, #64     ; 0x40
- 800a6c6:      609a            str     r2, [r3, #8]
-
-    /* At end of Rx process, restore huart->RxState to Ready */
-    huart->RxState = HAL_UART_STATE_READY;
- 800a6c8:      68fb            ldr     r3, [r7, #12]
- 800a6ca:      2220            movs    r2, #32
- 800a6cc:      679a            str     r2, [r3, #120]  ; 0x78
-#if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
-  /*Call registered Rx complete callback*/
-  huart->RxCpltCallback(huart);
-#else
-  /*Call legacy weak Rx complete callback*/
-  HAL_UART_RxCpltCallback(huart);
- 800a6ce:      68f8            ldr     r0, [r7, #12]
- 800a6d0:      f7ff fb8c       bl      8009dec <HAL_UART_RxCpltCallback>
-#endif /* USE_HAL_UART_REGISTER_CALLBACKS */
-}
- 800a6d4:      bf00            nop
- 800a6d6:      3710            adds    r7, #16
- 800a6d8:      46bd            mov     sp, r7
- 800a6da:      bd80            pop     {r7, pc}
-
-0800a6dc <UART_DMARxHalfCplt>:
-  * @brief DMA UART receive process half complete callback.
-  * @param hdma DMA handle.
-  * @retval None
-  */
-static void UART_DMARxHalfCplt(DMA_HandleTypeDef *hdma)
-{
- 800a6dc:      b580            push    {r7, lr}
- 800a6de:      b084            sub     sp, #16
- 800a6e0:      af00            add     r7, sp, #0
- 800a6e2:      6078            str     r0, [r7, #4]
-  UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
- 800a6e4:      687b            ldr     r3, [r7, #4]
- 800a6e6:      6b9b            ldr     r3, [r3, #56]   ; 0x38
- 800a6e8:      60fb            str     r3, [r7, #12]
-#if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
-  /*Call registered Rx Half complete callback*/
-  huart->RxHalfCpltCallback(huart);
-#else
-  /*Call legacy weak Rx Half complete callback*/
-  HAL_UART_RxHalfCpltCallback(huart);
- 800a6ea:      68f8            ldr     r0, [r7, #12]
- 800a6ec:      f7ff fb88       bl      8009e00 <HAL_UART_RxHalfCpltCallback>
-#endif /* USE_HAL_UART_REGISTER_CALLBACKS */
-}
- 800a6f0:      bf00            nop
- 800a6f2:      3710            adds    r7, #16
- 800a6f4:      46bd            mov     sp, r7
- 800a6f6:      bd80            pop     {r7, pc}
-
-0800a6f8 <UART_DMAError>:
-  * @brief DMA UART communication error callback.
-  * @param hdma DMA handle.
-  * @retval None
-  */
-static void UART_DMAError(DMA_HandleTypeDef *hdma)
-{
- 800a6f8:      b580            push    {r7, lr}
- 800a6fa:      b086            sub     sp, #24
- 800a6fc:      af00            add     r7, sp, #0
- 800a6fe:      6078            str     r0, [r7, #4]
-  UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent);
- 800a700:      687b            ldr     r3, [r7, #4]
- 800a702:      6b9b            ldr     r3, [r3, #56]   ; 0x38
- 800a704:      617b            str     r3, [r7, #20]
-
-  const HAL_UART_StateTypeDef gstate = huart->gState;
- 800a706:      697b            ldr     r3, [r7, #20]
- 800a708:      6f5b            ldr     r3, [r3, #116]  ; 0x74
- 800a70a:      613b            str     r3, [r7, #16]
-  const HAL_UART_StateTypeDef rxstate = huart->RxState;
- 800a70c:      697b            ldr     r3, [r7, #20]
- 800a70e:      6f9b            ldr     r3, [r3, #120]  ; 0x78
- 800a710:      60fb            str     r3, [r7, #12]
-
-  /* Stop UART DMA Tx request if ongoing */
-  if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) &&
- 800a712:      697b            ldr     r3, [r7, #20]
- 800a714:      681b            ldr     r3, [r3, #0]
- 800a716:      689b            ldr     r3, [r3, #8]
- 800a718:      f003 0380       and.w   r3, r3, #128    ; 0x80
- 800a71c:      2b80            cmp     r3, #128        ; 0x80
- 800a71e:      d109            bne.n   800a734 <UART_DMAError+0x3c>
- 800a720:      693b            ldr     r3, [r7, #16]
- 800a722:      2b21            cmp     r3, #33 ; 0x21
- 800a724:      d106            bne.n   800a734 <UART_DMAError+0x3c>
-      (gstate == HAL_UART_STATE_BUSY_TX))
-  {
-    huart->TxXferCount = 0U;
- 800a726:      697b            ldr     r3, [r7, #20]
- 800a728:      2200            movs    r2, #0
- 800a72a:      f8a3 2052       strh.w  r2, [r3, #82]   ; 0x52
-    UART_EndTxTransfer(huart);
- 800a72e:      6978            ldr     r0, [r7, #20]
- 800a730:      f7ff ff37       bl      800a5a2 <UART_EndTxTransfer>
-  }
-
-  /* Stop UART DMA Rx request if ongoing */
-  if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) &&
- 800a734:      697b            ldr     r3, [r7, #20]
- 800a736:      681b            ldr     r3, [r3, #0]
- 800a738:      689b            ldr     r3, [r3, #8]
- 800a73a:      f003 0340       and.w   r3, r3, #64     ; 0x40
- 800a73e:      2b40            cmp     r3, #64 ; 0x40
- 800a740:      d109            bne.n   800a756 <UART_DMAError+0x5e>
- 800a742:      68fb            ldr     r3, [r7, #12]
- 800a744:      2b22            cmp     r3, #34 ; 0x22
- 800a746:      d106            bne.n   800a756 <UART_DMAError+0x5e>
-      (rxstate == HAL_UART_STATE_BUSY_RX))
-  {
-    huart->RxXferCount = 0U;
- 800a748:      697b            ldr     r3, [r7, #20]
- 800a74a:      2200            movs    r2, #0
- 800a74c:      f8a3 205a       strh.w  r2, [r3, #90]   ; 0x5a
-    UART_EndRxTransfer(huart);
- 800a750:      6978            ldr     r0, [r7, #20]
- 800a752:      f7ff ff3b       bl      800a5cc <UART_EndRxTransfer>
-  }
-
-  huart->ErrorCode |= HAL_UART_ERROR_DMA;
- 800a756:      697b            ldr     r3, [r7, #20]
- 800a758:      6fdb            ldr     r3, [r3, #124]  ; 0x7c
- 800a75a:      f043 0210       orr.w   r2, r3, #16
- 800a75e:      697b            ldr     r3, [r7, #20]
- 800a760:      67da            str     r2, [r3, #124]  ; 0x7c
-#if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
-  /*Call registered error callback*/
-  huart->ErrorCallback(huart);
-#else
-  /*Call legacy weak error callback*/
-  HAL_UART_ErrorCallback(huart);
- 800a762:      6978            ldr     r0, [r7, #20]
- 800a764:      f7ff fb56       bl      8009e14 <HAL_UART_ErrorCallback>
-#endif /* USE_HAL_UART_REGISTER_CALLBACKS */
-}
- 800a768:      bf00            nop
- 800a76a:      3718            adds    r7, #24
- 800a76c:      46bd            mov     sp, r7
- 800a76e:      bd80            pop     {r7, pc}
-
-0800a770 <_ZN3ros3MsgC1Ev>:
-
-namespace ros
-{
-
-/* Base Message Type */
-class Msg
- 800a770:      b480            push    {r7}
- 800a772:      b083            sub     sp, #12
- 800a774:      af00            add     r7, sp, #0
- 800a776:      6078            str     r0, [r7, #4]
- 800a778:      4a04            ldr     r2, [pc, #16]   ; (800a78c <_ZN3ros3MsgC1Ev+0x1c>)
- 800a77a:      687b            ldr     r3, [r7, #4]
- 800a77c:      601a            str     r2, [r3, #0]
- 800a77e:      687b            ldr     r3, [r7, #4]
- 800a780:      4618            mov     r0, r3
- 800a782:      370c            adds    r7, #12
- 800a784:      46bd            mov     sp, r7
- 800a786:      f85d 7b04       ldr.w   r7, [sp], #4
- 800a78a:      4770            bx      lr
- 800a78c:      08012368        .word   0x08012368
-
-0800a790 <_ZN8std_msgs6StringC1Ev>:
-  {
-    public:
-      typedef const char* _data_type;
-      _data_type data;
-
-    String():
- 800a790:      b580            push    {r7, lr}
- 800a792:      b082            sub     sp, #8
- 800a794:      af00            add     r7, sp, #0
- 800a796:      6078            str     r0, [r7, #4]
-      data("")
- 800a798:      687b            ldr     r3, [r7, #4]
- 800a79a:      4618            mov     r0, r3
- 800a79c:      f7ff ffe8       bl      800a770 <_ZN3ros3MsgC1Ev>
- 800a7a0:      4a05            ldr     r2, [pc, #20]   ; (800a7b8 <_ZN8std_msgs6StringC1Ev+0x28>)
- 800a7a2:      687b            ldr     r3, [r7, #4]
- 800a7a4:      601a            str     r2, [r3, #0]
- 800a7a6:      687b            ldr     r3, [r7, #4]
- 800a7a8:      4a04            ldr     r2, [pc, #16]   ; (800a7bc <_ZN8std_msgs6StringC1Ev+0x2c>)
- 800a7aa:      605a            str     r2, [r3, #4]
-    {
-    }
- 800a7ac:      687b            ldr     r3, [r7, #4]
- 800a7ae:      4618            mov     r0, r3
- 800a7b0:      3708            adds    r7, #8
- 800a7b2:      46bd            mov     sp, r7
- 800a7b4:      bd80            pop     {r7, pc}
- 800a7b6:      bf00            nop
- 800a7b8:      08012350        .word   0x08012350
- 800a7bc:      080119b0        .word   0x080119b0
-
-0800a7c0 <_ZNK8std_msgs6String9serializeEPh>:
-
-    virtual int serialize(unsigned char *outbuffer) const
- 800a7c0:      b580            push    {r7, lr}
- 800a7c2:      b084            sub     sp, #16
- 800a7c4:      af00            add     r7, sp, #0
- 800a7c6:      6078            str     r0, [r7, #4]
- 800a7c8:      6039            str     r1, [r7, #0]
-    {
-      int offset = 0;
- 800a7ca:      2300            movs    r3, #0
- 800a7cc:      60fb            str     r3, [r7, #12]
-      uint32_t length_data = strlen(this->data);
- 800a7ce:      687b            ldr     r3, [r7, #4]
- 800a7d0:      685b            ldr     r3, [r3, #4]
- 800a7d2:      4618            mov     r0, r3
- 800a7d4:      f7fc fafe       bl      8006dd4 <strlen>
- 800a7d8:      60b8            str     r0, [r7, #8]
-      varToArr(outbuffer + offset, length_data);
- 800a7da:      68fb            ldr     r3, [r7, #12]
- 800a7dc:      683a            ldr     r2, [r7, #0]
- 800a7de:      4413            add     r3, r2
- 800a7e0:      68b9            ldr     r1, [r7, #8]
- 800a7e2:      4618            mov     r0, r3
- 800a7e4:      f001 f94b       bl      800ba7e <_ZN3ros3Msg8varToArrIPhmEEvT_T0_>
-      offset += 4;
- 800a7e8:      68fb            ldr     r3, [r7, #12]
- 800a7ea:      3304            adds    r3, #4
- 800a7ec:      60fb            str     r3, [r7, #12]
-      memcpy(outbuffer + offset, this->data, length_data);
- 800a7ee:      68fb            ldr     r3, [r7, #12]
- 800a7f0:      683a            ldr     r2, [r7, #0]
- 800a7f2:      18d0            adds    r0, r2, r3
- 800a7f4:      687b            ldr     r3, [r7, #4]
- 800a7f6:      685b            ldr     r3, [r3, #4]
- 800a7f8:      68ba            ldr     r2, [r7, #8]
- 800a7fa:      4619            mov     r1, r3
- 800a7fc:      f003 fdbb       bl      800e376 <memcpy>
-      offset += length_data;
- 800a800:      68fa            ldr     r2, [r7, #12]
- 800a802:      68bb            ldr     r3, [r7, #8]
- 800a804:      4413            add     r3, r2
- 800a806:      60fb            str     r3, [r7, #12]
-      return offset;
- 800a808:      68fb            ldr     r3, [r7, #12]
-    }
- 800a80a:      4618            mov     r0, r3
- 800a80c:      3710            adds    r7, #16
- 800a80e:      46bd            mov     sp, r7
- 800a810:      bd80            pop     {r7, pc}
-
-0800a812 <_ZN8std_msgs6String11deserializeEPh>:
-
-    virtual int deserialize(unsigned char *inbuffer)
- 800a812:      b580            push    {r7, lr}
- 800a814:      b086            sub     sp, #24
- 800a816:      af00            add     r7, sp, #0
- 800a818:      6078            str     r0, [r7, #4]
- 800a81a:      6039            str     r1, [r7, #0]
-    {
-      int offset = 0;
- 800a81c:      2300            movs    r3, #0
- 800a81e:      613b            str     r3, [r7, #16]
-      uint32_t length_data;
-      arrToVar(length_data, (inbuffer + offset));
- 800a820:      693b            ldr     r3, [r7, #16]
- 800a822:      683a            ldr     r2, [r7, #0]
- 800a824:      441a            add     r2, r3
- 800a826:      f107 030c       add.w   r3, r7, #12
- 800a82a:      4611            mov     r1, r2
- 800a82c:      4618            mov     r0, r3
- 800a82e:      f001 f944       bl      800baba <_ZN3ros3Msg8arrToVarImPhEEvRT_T0_>
-      offset += 4;
- 800a832:      693b            ldr     r3, [r7, #16]
- 800a834:      3304            adds    r3, #4
- 800a836:      613b            str     r3, [r7, #16]
-      for(unsigned int k= offset; k< offset+length_data; ++k){
- 800a838:      693b            ldr     r3, [r7, #16]
- 800a83a:      617b            str     r3, [r7, #20]
- 800a83c:      693a            ldr     r2, [r7, #16]
- 800a83e:      68fb            ldr     r3, [r7, #12]
- 800a840:      4413            add     r3, r2
- 800a842:      697a            ldr     r2, [r7, #20]
- 800a844:      429a            cmp     r2, r3
- 800a846:      d20c            bcs.n   800a862 <_ZN8std_msgs6String11deserializeEPh+0x50>
-          inbuffer[k-1]=inbuffer[k];
- 800a848:      683a            ldr     r2, [r7, #0]
- 800a84a:      697b            ldr     r3, [r7, #20]
- 800a84c:      441a            add     r2, r3
- 800a84e:      697b            ldr     r3, [r7, #20]
- 800a850:      3b01            subs    r3, #1
- 800a852:      6839            ldr     r1, [r7, #0]
- 800a854:      440b            add     r3, r1
- 800a856:      7812            ldrb    r2, [r2, #0]
- 800a858:      701a            strb    r2, [r3, #0]
-      for(unsigned int k= offset; k< offset+length_data; ++k){
- 800a85a:      697b            ldr     r3, [r7, #20]
- 800a85c:      3301            adds    r3, #1
- 800a85e:      617b            str     r3, [r7, #20]
- 800a860:      e7ec            b.n     800a83c <_ZN8std_msgs6String11deserializeEPh+0x2a>
-      }
-      inbuffer[offset+length_data-1]=0;
- 800a862:      693a            ldr     r2, [r7, #16]
- 800a864:      68fb            ldr     r3, [r7, #12]
- 800a866:      4413            add     r3, r2
- 800a868:      3b01            subs    r3, #1
- 800a86a:      683a            ldr     r2, [r7, #0]
- 800a86c:      4413            add     r3, r2
- 800a86e:      2200            movs    r2, #0
- 800a870:      701a            strb    r2, [r3, #0]
-      this->data = (char *)(inbuffer + offset-1);
- 800a872:      693b            ldr     r3, [r7, #16]
- 800a874:      3b01            subs    r3, #1
- 800a876:      683a            ldr     r2, [r7, #0]
- 800a878:      441a            add     r2, r3
- 800a87a:      687b            ldr     r3, [r7, #4]
- 800a87c:      605a            str     r2, [r3, #4]
-      offset += length_data;
- 800a87e:      693a            ldr     r2, [r7, #16]
- 800a880:      68fb            ldr     r3, [r7, #12]
- 800a882:      4413            add     r3, r2
- 800a884:      613b            str     r3, [r7, #16]
-     return offset;
- 800a886:      693b            ldr     r3, [r7, #16]
-    }
- 800a888:      4618            mov     r0, r3
- 800a88a:      3718            adds    r7, #24
- 800a88c:      46bd            mov     sp, r7
- 800a88e:      bd80            pop     {r7, pc}
-
-0800a890 <_ZN8std_msgs6String7getTypeEv>:
-
-    const char * getType(){ return "std_msgs/String"; };
- 800a890:      b480            push    {r7}
- 800a892:      b083            sub     sp, #12
- 800a894:      af00            add     r7, sp, #0
- 800a896:      6078            str     r0, [r7, #4]
- 800a898:      4b03            ldr     r3, [pc, #12]   ; (800a8a8 <_ZN8std_msgs6String7getTypeEv+0x18>)
- 800a89a:      4618            mov     r0, r3
- 800a89c:      370c            adds    r7, #12
- 800a89e:      46bd            mov     sp, r7
- 800a8a0:      f85d 7b04       ldr.w   r7, [sp], #4
- 800a8a4:      4770            bx      lr
- 800a8a6:      bf00            nop
- 800a8a8:      080119b4        .word   0x080119b4
-
-0800a8ac <_ZN8std_msgs6String6getMD5Ev>:
-    const char * getMD5(){ return "992ce8a1687cec8c8bd883ec73ca41d1"; };
- 800a8ac:      b480            push    {r7}
- 800a8ae:      b083            sub     sp, #12
- 800a8b0:      af00            add     r7, sp, #0
- 800a8b2:      6078            str     r0, [r7, #4]
- 800a8b4:      4b03            ldr     r3, [pc, #12]   ; (800a8c4 <_ZN8std_msgs6String6getMD5Ev+0x18>)
- 800a8b6:      4618            mov     r0, r3
- 800a8b8:      370c            adds    r7, #12
- 800a8ba:      46bd            mov     sp, r7
- 800a8bc:      f85d 7b04       ldr.w   r7, [sp], #4
- 800a8c0:      4770            bx      lr
- 800a8c2:      bf00            nop
- 800a8c4:      080119c4        .word   0x080119c4
-
-0800a8c8 <_ZN3ros4TimeC1Ev>:
-class Time
-{
-public:
-  uint32_t sec, nsec;
-
-  Time() : sec(0), nsec(0) {}
- 800a8c8:      b480            push    {r7}
- 800a8ca:      b083            sub     sp, #12
- 800a8cc:      af00            add     r7, sp, #0
- 800a8ce:      6078            str     r0, [r7, #4]
- 800a8d0:      687b            ldr     r3, [r7, #4]
- 800a8d2:      2200            movs    r2, #0
- 800a8d4:      601a            str     r2, [r3, #0]
- 800a8d6:      687b            ldr     r3, [r7, #4]
- 800a8d8:      2200            movs    r2, #0
- 800a8da:      605a            str     r2, [r3, #4]
- 800a8dc:      687b            ldr     r3, [r7, #4]
- 800a8de:      4618            mov     r0, r3
- 800a8e0:      370c            adds    r7, #12
- 800a8e2:      46bd            mov     sp, r7
- 800a8e4:      f85d 7b04       ldr.w   r7, [sp], #4
- 800a8e8:      4770            bx      lr
-       ...
-
-0800a8ec <_ZN8std_msgs4TimeC1Ev>:
-  {
-    public:
-      typedef ros::Time _data_type;
-      _data_type data;
-
-    Time():
- 800a8ec:      b580            push    {r7, lr}
- 800a8ee:      b082            sub     sp, #8
- 800a8f0:      af00            add     r7, sp, #0
- 800a8f2:      6078            str     r0, [r7, #4]
-      data()
- 800a8f4:      687b            ldr     r3, [r7, #4]
- 800a8f6:      4618            mov     r0, r3
- 800a8f8:      f7ff ff3a       bl      800a770 <_ZN3ros3MsgC1Ev>
- 800a8fc:      4a06            ldr     r2, [pc, #24]   ; (800a918 <_ZN8std_msgs4TimeC1Ev+0x2c>)
- 800a8fe:      687b            ldr     r3, [r7, #4]
- 800a900:      601a            str     r2, [r3, #0]
- 800a902:      687b            ldr     r3, [r7, #4]
- 800a904:      3304            adds    r3, #4
- 800a906:      4618            mov     r0, r3
- 800a908:      f7ff ffde       bl      800a8c8 <_ZN3ros4TimeC1Ev>
-    {
-    }
- 800a90c:      687b            ldr     r3, [r7, #4]
- 800a90e:      4618            mov     r0, r3
- 800a910:      3708            adds    r7, #8
- 800a912:      46bd            mov     sp, r7
- 800a914:      bd80            pop     {r7, pc}
- 800a916:      bf00            nop
- 800a918:      08012338        .word   0x08012338
-
-0800a91c <_ZNK8std_msgs4Time9serializeEPh>:
-
-    virtual int serialize(unsigned char *outbuffer) const
- 800a91c:      b480            push    {r7}
- 800a91e:      b085            sub     sp, #20
- 800a920:      af00            add     r7, sp, #0
- 800a922:      6078            str     r0, [r7, #4]
- 800a924:      6039            str     r1, [r7, #0]
-    {
-      int offset = 0;
- 800a926:      2300            movs    r3, #0
- 800a928:      60fb            str     r3, [r7, #12]
-      *(outbuffer + offset + 0) = (this->data.sec >> (8 * 0)) & 0xFF;
- 800a92a:      687b            ldr     r3, [r7, #4]
- 800a92c:      6859            ldr     r1, [r3, #4]
- 800a92e:      68fb            ldr     r3, [r7, #12]
- 800a930:      683a            ldr     r2, [r7, #0]
- 800a932:      4413            add     r3, r2
- 800a934:      b2ca            uxtb    r2, r1
- 800a936:      701a            strb    r2, [r3, #0]
-      *(outbuffer + offset + 1) = (this->data.sec >> (8 * 1)) & 0xFF;
- 800a938:      687b            ldr     r3, [r7, #4]
- 800a93a:      685b            ldr     r3, [r3, #4]
- 800a93c:      0a19            lsrs    r1, r3, #8
- 800a93e:      68fb            ldr     r3, [r7, #12]
- 800a940:      3301            adds    r3, #1
- 800a942:      683a            ldr     r2, [r7, #0]
- 800a944:      4413            add     r3, r2
- 800a946:      b2ca            uxtb    r2, r1
- 800a948:      701a            strb    r2, [r3, #0]
-      *(outbuffer + offset + 2) = (this->data.sec >> (8 * 2)) & 0xFF;
- 800a94a:      687b            ldr     r3, [r7, #4]
- 800a94c:      685b            ldr     r3, [r3, #4]
- 800a94e:      0c19            lsrs    r1, r3, #16
- 800a950:      68fb            ldr     r3, [r7, #12]
- 800a952:      3302            adds    r3, #2
- 800a954:      683a            ldr     r2, [r7, #0]
- 800a956:      4413            add     r3, r2
- 800a958:      b2ca            uxtb    r2, r1
- 800a95a:      701a            strb    r2, [r3, #0]
-      *(outbuffer + offset + 3) = (this->data.sec >> (8 * 3)) & 0xFF;
- 800a95c:      687b            ldr     r3, [r7, #4]
- 800a95e:      685b            ldr     r3, [r3, #4]
- 800a960:      0e19            lsrs    r1, r3, #24
- 800a962:      68fb            ldr     r3, [r7, #12]
- 800a964:      3303            adds    r3, #3
- 800a966:      683a            ldr     r2, [r7, #0]
- 800a968:      4413            add     r3, r2
- 800a96a:      b2ca            uxtb    r2, r1
- 800a96c:      701a            strb    r2, [r3, #0]
-      offset += sizeof(this->data.sec);
- 800a96e:      68fb            ldr     r3, [r7, #12]
- 800a970:      3304            adds    r3, #4
- 800a972:      60fb            str     r3, [r7, #12]
-      *(outbuffer + offset + 0) = (this->data.nsec >> (8 * 0)) & 0xFF;
- 800a974:      687b            ldr     r3, [r7, #4]
- 800a976:      6899            ldr     r1, [r3, #8]
- 800a978:      68fb            ldr     r3, [r7, #12]
- 800a97a:      683a            ldr     r2, [r7, #0]
- 800a97c:      4413            add     r3, r2
- 800a97e:      b2ca            uxtb    r2, r1
- 800a980:      701a            strb    r2, [r3, #0]
-      *(outbuffer + offset + 1) = (this->data.nsec >> (8 * 1)) & 0xFF;
- 800a982:      687b            ldr     r3, [r7, #4]
- 800a984:      689b            ldr     r3, [r3, #8]
- 800a986:      0a19            lsrs    r1, r3, #8
- 800a988:      68fb            ldr     r3, [r7, #12]
- 800a98a:      3301            adds    r3, #1
- 800a98c:      683a            ldr     r2, [r7, #0]
- 800a98e:      4413            add     r3, r2
- 800a990:      b2ca            uxtb    r2, r1
- 800a992:      701a            strb    r2, [r3, #0]
-      *(outbuffer + offset + 2) = (this->data.nsec >> (8 * 2)) & 0xFF;
- 800a994:      687b            ldr     r3, [r7, #4]
- 800a996:      689b            ldr     r3, [r3, #8]
- 800a998:      0c19            lsrs    r1, r3, #16
- 800a99a:      68fb            ldr     r3, [r7, #12]
- 800a99c:      3302            adds    r3, #2
- 800a99e:      683a            ldr     r2, [r7, #0]
- 800a9a0:      4413            add     r3, r2
- 800a9a2:      b2ca            uxtb    r2, r1
- 800a9a4:      701a            strb    r2, [r3, #0]
-      *(outbuffer + offset + 3) = (this->data.nsec >> (8 * 3)) & 0xFF;
- 800a9a6:      687b            ldr     r3, [r7, #4]
- 800a9a8:      689b            ldr     r3, [r3, #8]
- 800a9aa:      0e19            lsrs    r1, r3, #24
- 800a9ac:      68fb            ldr     r3, [r7, #12]
- 800a9ae:      3303            adds    r3, #3
- 800a9b0:      683a            ldr     r2, [r7, #0]
- 800a9b2:      4413            add     r3, r2
- 800a9b4:      b2ca            uxtb    r2, r1
- 800a9b6:      701a            strb    r2, [r3, #0]
-      offset += sizeof(this->data.nsec);
- 800a9b8:      68fb            ldr     r3, [r7, #12]
- 800a9ba:      3304            adds    r3, #4
- 800a9bc:      60fb            str     r3, [r7, #12]
-      return offset;
- 800a9be:      68fb            ldr     r3, [r7, #12]
-    }
- 800a9c0:      4618            mov     r0, r3
- 800a9c2:      3714            adds    r7, #20
- 800a9c4:      46bd            mov     sp, r7
- 800a9c6:      f85d 7b04       ldr.w   r7, [sp], #4
- 800a9ca:      4770            bx      lr
-
-0800a9cc <_ZN8std_msgs4Time11deserializeEPh>:
-
-    virtual int deserialize(unsigned char *inbuffer)
- 800a9cc:      b480            push    {r7}
- 800a9ce:      b085            sub     sp, #20
- 800a9d0:      af00            add     r7, sp, #0
- 800a9d2:      6078            str     r0, [r7, #4]
- 800a9d4:      6039            str     r1, [r7, #0]
-    {
-      int offset = 0;
- 800a9d6:      2300            movs    r3, #0
- 800a9d8:      60fb            str     r3, [r7, #12]
-      this->data.sec =  ((uint32_t) (*(inbuffer + offset)));
- 800a9da:      68fb            ldr     r3, [r7, #12]
- 800a9dc:      683a            ldr     r2, [r7, #0]
- 800a9de:      4413            add     r3, r2
- 800a9e0:      781b            ldrb    r3, [r3, #0]
- 800a9e2:      461a            mov     r2, r3
- 800a9e4:      687b            ldr     r3, [r7, #4]
- 800a9e6:      605a            str     r2, [r3, #4]
-      this->data.sec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1);
- 800a9e8:      687b            ldr     r3, [r7, #4]
- 800a9ea:      685a            ldr     r2, [r3, #4]
- 800a9ec:      68fb            ldr     r3, [r7, #12]
- 800a9ee:      3301            adds    r3, #1
- 800a9f0:      6839            ldr     r1, [r7, #0]
- 800a9f2:      440b            add     r3, r1
- 800a9f4:      781b            ldrb    r3, [r3, #0]
- 800a9f6:      021b            lsls    r3, r3, #8
- 800a9f8:      431a            orrs    r2, r3
- 800a9fa:      687b            ldr     r3, [r7, #4]
- 800a9fc:      605a            str     r2, [r3, #4]
-      this->data.sec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2);
- 800a9fe:      687b            ldr     r3, [r7, #4]
- 800aa00:      685a            ldr     r2, [r3, #4]
- 800aa02:      68fb            ldr     r3, [r7, #12]
- 800aa04:      3302            adds    r3, #2
- 800aa06:      6839            ldr     r1, [r7, #0]
- 800aa08:      440b            add     r3, r1
- 800aa0a:      781b            ldrb    r3, [r3, #0]
- 800aa0c:      041b            lsls    r3, r3, #16
- 800aa0e:      431a            orrs    r2, r3
- 800aa10:      687b            ldr     r3, [r7, #4]
- 800aa12:      605a            str     r2, [r3, #4]
-      this->data.sec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3);
- 800aa14:      687b            ldr     r3, [r7, #4]
- 800aa16:      685a            ldr     r2, [r3, #4]
- 800aa18:      68fb            ldr     r3, [r7, #12]
- 800aa1a:      3303            adds    r3, #3
- 800aa1c:      6839            ldr     r1, [r7, #0]
- 800aa1e:      440b            add     r3, r1
- 800aa20:      781b            ldrb    r3, [r3, #0]
- 800aa22:      061b            lsls    r3, r3, #24
- 800aa24:      431a            orrs    r2, r3
- 800aa26:      687b            ldr     r3, [r7, #4]
- 800aa28:      605a            str     r2, [r3, #4]
-      offset += sizeof(this->data.sec);
- 800aa2a:      68fb            ldr     r3, [r7, #12]
- 800aa2c:      3304            adds    r3, #4
- 800aa2e:      60fb            str     r3, [r7, #12]
-      this->data.nsec =  ((uint32_t) (*(inbuffer + offset)));
- 800aa30:      68fb            ldr     r3, [r7, #12]
- 800aa32:      683a            ldr     r2, [r7, #0]
- 800aa34:      4413            add     r3, r2
- 800aa36:      781b            ldrb    r3, [r3, #0]
- 800aa38:      461a            mov     r2, r3
- 800aa3a:      687b            ldr     r3, [r7, #4]
- 800aa3c:      609a            str     r2, [r3, #8]
-      this->data.nsec |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1);
- 800aa3e:      687b            ldr     r3, [r7, #4]
- 800aa40:      689a            ldr     r2, [r3, #8]
- 800aa42:      68fb            ldr     r3, [r7, #12]
- 800aa44:      3301            adds    r3, #1
- 800aa46:      6839            ldr     r1, [r7, #0]
- 800aa48:      440b            add     r3, r1
- 800aa4a:      781b            ldrb    r3, [r3, #0]
- 800aa4c:      021b            lsls    r3, r3, #8
- 800aa4e:      431a            orrs    r2, r3
- 800aa50:      687b            ldr     r3, [r7, #4]
- 800aa52:      609a            str     r2, [r3, #8]
-      this->data.nsec |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2);
- 800aa54:      687b            ldr     r3, [r7, #4]
- 800aa56:      689a            ldr     r2, [r3, #8]
- 800aa58:      68fb            ldr     r3, [r7, #12]
- 800aa5a:      3302            adds    r3, #2
- 800aa5c:      6839            ldr     r1, [r7, #0]
- 800aa5e:      440b            add     r3, r1
- 800aa60:      781b            ldrb    r3, [r3, #0]
- 800aa62:      041b            lsls    r3, r3, #16
- 800aa64:      431a            orrs    r2, r3
- 800aa66:      687b            ldr     r3, [r7, #4]
- 800aa68:      609a            str     r2, [r3, #8]
-      this->data.nsec |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3);
- 800aa6a:      687b            ldr     r3, [r7, #4]
- 800aa6c:      689a            ldr     r2, [r3, #8]
- 800aa6e:      68fb            ldr     r3, [r7, #12]
- 800aa70:      3303            adds    r3, #3
- 800aa72:      6839            ldr     r1, [r7, #0]
- 800aa74:      440b            add     r3, r1
- 800aa76:      781b            ldrb    r3, [r3, #0]
- 800aa78:      061b            lsls    r3, r3, #24
- 800aa7a:      431a            orrs    r2, r3
- 800aa7c:      687b            ldr     r3, [r7, #4]
- 800aa7e:      609a            str     r2, [r3, #8]
-      offset += sizeof(this->data.nsec);
- 800aa80:      68fb            ldr     r3, [r7, #12]
- 800aa82:      3304            adds    r3, #4
- 800aa84:      60fb            str     r3, [r7, #12]
-     return offset;
- 800aa86:      68fb            ldr     r3, [r7, #12]
-    }
- 800aa88:      4618            mov     r0, r3
- 800aa8a:      3714            adds    r7, #20
- 800aa8c:      46bd            mov     sp, r7
- 800aa8e:      f85d 7b04       ldr.w   r7, [sp], #4
- 800aa92:      4770            bx      lr
-
-0800aa94 <_ZN8std_msgs4Time7getTypeEv>:
-
-    const char * getType(){ return "std_msgs/Time"; };
- 800aa94:      b480            push    {r7}
- 800aa96:      b083            sub     sp, #12
- 800aa98:      af00            add     r7, sp, #0
- 800aa9a:      6078            str     r0, [r7, #4]
- 800aa9c:      4b03            ldr     r3, [pc, #12]   ; (800aaac <_ZN8std_msgs4Time7getTypeEv+0x18>)
- 800aa9e:      4618            mov     r0, r3
- 800aaa0:      370c            adds    r7, #12
- 800aaa2:      46bd            mov     sp, r7
- 800aaa4:      f85d 7b04       ldr.w   r7, [sp], #4
- 800aaa8:      4770            bx      lr
- 800aaaa:      bf00            nop
- 800aaac:      080119e8        .word   0x080119e8
-
-0800aab0 <_ZN8std_msgs4Time6getMD5Ev>:
-    const char * getMD5(){ return "cd7166c74c552c311fbcc2fe5a7bc289"; };
- 800aab0:      b480            push    {r7}
- 800aab2:      b083            sub     sp, #12
- 800aab4:      af00            add     r7, sp, #0
- 800aab6:      6078            str     r0, [r7, #4]
- 800aab8:      4b03            ldr     r3, [pc, #12]   ; (800aac8 <_ZN8std_msgs4Time6getMD5Ev+0x18>)
- 800aaba:      4618            mov     r0, r3
- 800aabc:      370c            adds    r7, #12
- 800aabe:      46bd            mov     sp, r7
- 800aac0:      f85d 7b04       ldr.w   r7, [sp], #4
- 800aac4:      4770            bx      lr
- 800aac6:      bf00            nop
- 800aac8:      080119f8        .word   0x080119f8
-
-0800aacc <_ZN14rosserial_msgs9TopicInfoC1Ev>:
-      enum { ID_PARAMETER_REQUEST = 6 };
-      enum { ID_LOG = 7 };
-      enum { ID_TIME = 10 };
-      enum { ID_TX_STOP = 11 };
-
-    TopicInfo():
- 800aacc:      b580            push    {r7, lr}
- 800aace:      b082            sub     sp, #8
- 800aad0:      af00            add     r7, sp, #0
- 800aad2:      6078            str     r0, [r7, #4]
-      topic_id(0),
-      topic_name(""),
-      message_type(""),
-      md5sum(""),
-      buffer_size(0)
- 800aad4:      687b            ldr     r3, [r7, #4]
- 800aad6:      4618            mov     r0, r3
- 800aad8:      f7ff fe4a       bl      800a770 <_ZN3ros3MsgC1Ev>
- 800aadc:      4a0b            ldr     r2, [pc, #44]   ; (800ab0c <_ZN14rosserial_msgs9TopicInfoC1Ev+0x40>)
- 800aade:      687b            ldr     r3, [r7, #4]
- 800aae0:      601a            str     r2, [r3, #0]
- 800aae2:      687b            ldr     r3, [r7, #4]
- 800aae4:      2200            movs    r2, #0
- 800aae6:      809a            strh    r2, [r3, #4]
- 800aae8:      687b            ldr     r3, [r7, #4]
- 800aaea:      4a09            ldr     r2, [pc, #36]   ; (800ab10 <_ZN14rosserial_msgs9TopicInfoC1Ev+0x44>)
- 800aaec:      609a            str     r2, [r3, #8]
- 800aaee:      687b            ldr     r3, [r7, #4]
- 800aaf0:      4a07            ldr     r2, [pc, #28]   ; (800ab10 <_ZN14rosserial_msgs9TopicInfoC1Ev+0x44>)
- 800aaf2:      60da            str     r2, [r3, #12]
- 800aaf4:      687b            ldr     r3, [r7, #4]
- 800aaf6:      4a06            ldr     r2, [pc, #24]   ; (800ab10 <_ZN14rosserial_msgs9TopicInfoC1Ev+0x44>)
- 800aaf8:      611a            str     r2, [r3, #16]
- 800aafa:      687b            ldr     r3, [r7, #4]
- 800aafc:      2200            movs    r2, #0
- 800aafe:      615a            str     r2, [r3, #20]
-    {
-    }
- 800ab00:      687b            ldr     r3, [r7, #4]
- 800ab02:      4618            mov     r0, r3
- 800ab04:      3708            adds    r7, #8
- 800ab06:      46bd            mov     sp, r7
- 800ab08:      bd80            pop     {r7, pc}
- 800ab0a:      bf00            nop
- 800ab0c:      08012320        .word   0x08012320
- 800ab10:      080119b0        .word   0x080119b0
-
-0800ab14 <_ZNK14rosserial_msgs9TopicInfo9serializeEPh>:
-
-    virtual int serialize(unsigned char *outbuffer) const
- 800ab14:      b580            push    {r7, lr}
- 800ab16:      b088            sub     sp, #32
- 800ab18:      af00            add     r7, sp, #0
- 800ab1a:      6078            str     r0, [r7, #4]
- 800ab1c:      6039            str     r1, [r7, #0]
-    {
-      int offset = 0;
- 800ab1e:      2300            movs    r3, #0
- 800ab20:      61fb            str     r3, [r7, #28]
-      *(outbuffer + offset + 0) = (this->topic_id >> (8 * 0)) & 0xFF;
- 800ab22:      687b            ldr     r3, [r7, #4]
- 800ab24:      8899            ldrh    r1, [r3, #4]
- 800ab26:      69fb            ldr     r3, [r7, #28]
- 800ab28:      683a            ldr     r2, [r7, #0]
- 800ab2a:      4413            add     r3, r2
- 800ab2c:      b2ca            uxtb    r2, r1
- 800ab2e:      701a            strb    r2, [r3, #0]
-      *(outbuffer + offset + 1) = (this->topic_id >> (8 * 1)) & 0xFF;
- 800ab30:      687b            ldr     r3, [r7, #4]
- 800ab32:      889b            ldrh    r3, [r3, #4]
- 800ab34:      0a1b            lsrs    r3, r3, #8
- 800ab36:      b299            uxth    r1, r3
- 800ab38:      69fb            ldr     r3, [r7, #28]
- 800ab3a:      3301            adds    r3, #1
- 800ab3c:      683a            ldr     r2, [r7, #0]
- 800ab3e:      4413            add     r3, r2
- 800ab40:      b2ca            uxtb    r2, r1
- 800ab42:      701a            strb    r2, [r3, #0]
-      offset += sizeof(this->topic_id);
- 800ab44:      69fb            ldr     r3, [r7, #28]
- 800ab46:      3302            adds    r3, #2
- 800ab48:      61fb            str     r3, [r7, #28]
-      uint32_t length_topic_name = strlen(this->topic_name);
- 800ab4a:      687b            ldr     r3, [r7, #4]
- 800ab4c:      689b            ldr     r3, [r3, #8]
- 800ab4e:      4618            mov     r0, r3
- 800ab50:      f7fc f940       bl      8006dd4 <strlen>
- 800ab54:      61b8            str     r0, [r7, #24]
-      varToArr(outbuffer + offset, length_topic_name);
- 800ab56:      69fb            ldr     r3, [r7, #28]
- 800ab58:      683a            ldr     r2, [r7, #0]
- 800ab5a:      4413            add     r3, r2
- 800ab5c:      69b9            ldr     r1, [r7, #24]
- 800ab5e:      4618            mov     r0, r3
- 800ab60:      f000 ff8d       bl      800ba7e <_ZN3ros3Msg8varToArrIPhmEEvT_T0_>
-      offset += 4;
- 800ab64:      69fb            ldr     r3, [r7, #28]
- 800ab66:      3304            adds    r3, #4
- 800ab68:      61fb            str     r3, [r7, #28]
-      memcpy(outbuffer + offset, this->topic_name, length_topic_name);
- 800ab6a:      69fb            ldr     r3, [r7, #28]
- 800ab6c:      683a            ldr     r2, [r7, #0]
- 800ab6e:      18d0            adds    r0, r2, r3
- 800ab70:      687b            ldr     r3, [r7, #4]
- 800ab72:      689b            ldr     r3, [r3, #8]
- 800ab74:      69ba            ldr     r2, [r7, #24]
- 800ab76:      4619            mov     r1, r3
- 800ab78:      f003 fbfd       bl      800e376 <memcpy>
-      offset += length_topic_name;
- 800ab7c:      69fa            ldr     r2, [r7, #28]
- 800ab7e:      69bb            ldr     r3, [r7, #24]
- 800ab80:      4413            add     r3, r2
- 800ab82:      61fb            str     r3, [r7, #28]
-      uint32_t length_message_type = strlen(this->message_type);
- 800ab84:      687b            ldr     r3, [r7, #4]
- 800ab86:      68db            ldr     r3, [r3, #12]
- 800ab88:      4618            mov     r0, r3
- 800ab8a:      f7fc f923       bl      8006dd4 <strlen>
- 800ab8e:      6178            str     r0, [r7, #20]
-      varToArr(outbuffer + offset, length_message_type);
- 800ab90:      69fb            ldr     r3, [r7, #28]
- 800ab92:      683a            ldr     r2, [r7, #0]
- 800ab94:      4413            add     r3, r2
- 800ab96:      6979            ldr     r1, [r7, #20]
- 800ab98:      4618            mov     r0, r3
- 800ab9a:      f000 ff70       bl      800ba7e <_ZN3ros3Msg8varToArrIPhmEEvT_T0_>
-      offset += 4;
- 800ab9e:      69fb            ldr     r3, [r7, #28]
- 800aba0:      3304            adds    r3, #4
- 800aba2:      61fb            str     r3, [r7, #28]
-      memcpy(outbuffer + offset, this->message_type, length_message_type);
- 800aba4:      69fb            ldr     r3, [r7, #28]
- 800aba6:      683a            ldr     r2, [r7, #0]
- 800aba8:      18d0            adds    r0, r2, r3
- 800abaa:      687b            ldr     r3, [r7, #4]
- 800abac:      68db            ldr     r3, [r3, #12]
- 800abae:      697a            ldr     r2, [r7, #20]
- 800abb0:      4619            mov     r1, r3
- 800abb2:      f003 fbe0       bl      800e376 <memcpy>
-      offset += length_message_type;
- 800abb6:      69fa            ldr     r2, [r7, #28]
- 800abb8:      697b            ldr     r3, [r7, #20]
- 800abba:      4413            add     r3, r2
- 800abbc:      61fb            str     r3, [r7, #28]
-      uint32_t length_md5sum = strlen(this->md5sum);
- 800abbe:      687b            ldr     r3, [r7, #4]
- 800abc0:      691b            ldr     r3, [r3, #16]
- 800abc2:      4618            mov     r0, r3
- 800abc4:      f7fc f906       bl      8006dd4 <strlen>
- 800abc8:      6138            str     r0, [r7, #16]
-      varToArr(outbuffer + offset, length_md5sum);
- 800abca:      69fb            ldr     r3, [r7, #28]
- 800abcc:      683a            ldr     r2, [r7, #0]
- 800abce:      4413            add     r3, r2
- 800abd0:      6939            ldr     r1, [r7, #16]
- 800abd2:      4618            mov     r0, r3
- 800abd4:      f000 ff53       bl      800ba7e <_ZN3ros3Msg8varToArrIPhmEEvT_T0_>
-      offset += 4;
- 800abd8:      69fb            ldr     r3, [r7, #28]
- 800abda:      3304            adds    r3, #4
- 800abdc:      61fb            str     r3, [r7, #28]
-      memcpy(outbuffer + offset, this->md5sum, length_md5sum);
- 800abde:      69fb            ldr     r3, [r7, #28]
- 800abe0:      683a            ldr     r2, [r7, #0]
- 800abe2:      18d0            adds    r0, r2, r3
- 800abe4:      687b            ldr     r3, [r7, #4]
- 800abe6:      691b            ldr     r3, [r3, #16]
- 800abe8:      693a            ldr     r2, [r7, #16]
- 800abea:      4619            mov     r1, r3
- 800abec:      f003 fbc3       bl      800e376 <memcpy>
-      offset += length_md5sum;
- 800abf0:      69fa            ldr     r2, [r7, #28]
- 800abf2:      693b            ldr     r3, [r7, #16]
- 800abf4:      4413            add     r3, r2
- 800abf6:      61fb            str     r3, [r7, #28]
-      union {
-        int32_t real;
-        uint32_t base;
-      } u_buffer_size;
-      u_buffer_size.real = this->buffer_size;
- 800abf8:      687b            ldr     r3, [r7, #4]
- 800abfa:      695b            ldr     r3, [r3, #20]
- 800abfc:      60fb            str     r3, [r7, #12]
-      *(outbuffer + offset + 0) = (u_buffer_size.base >> (8 * 0)) & 0xFF;
- 800abfe:      68f9            ldr     r1, [r7, #12]
- 800ac00:      69fb            ldr     r3, [r7, #28]
- 800ac02:      683a            ldr     r2, [r7, #0]
- 800ac04:      4413            add     r3, r2
- 800ac06:      b2ca            uxtb    r2, r1
- 800ac08:      701a            strb    r2, [r3, #0]
-      *(outbuffer + offset + 1) = (u_buffer_size.base >> (8 * 1)) & 0xFF;
- 800ac0a:      68fb            ldr     r3, [r7, #12]
- 800ac0c:      0a19            lsrs    r1, r3, #8
- 800ac0e:      69fb            ldr     r3, [r7, #28]
- 800ac10:      3301            adds    r3, #1
- 800ac12:      683a            ldr     r2, [r7, #0]
- 800ac14:      4413            add     r3, r2
- 800ac16:      b2ca            uxtb    r2, r1
- 800ac18:      701a            strb    r2, [r3, #0]
-      *(outbuffer + offset + 2) = (u_buffer_size.base >> (8 * 2)) & 0xFF;
- 800ac1a:      68fb            ldr     r3, [r7, #12]
- 800ac1c:      0c19            lsrs    r1, r3, #16
- 800ac1e:      69fb            ldr     r3, [r7, #28]
- 800ac20:      3302            adds    r3, #2
- 800ac22:      683a            ldr     r2, [r7, #0]
- 800ac24:      4413            add     r3, r2
- 800ac26:      b2ca            uxtb    r2, r1
- 800ac28:      701a            strb    r2, [r3, #0]
-      *(outbuffer + offset + 3) = (u_buffer_size.base >> (8 * 3)) & 0xFF;
- 800ac2a:      68fb            ldr     r3, [r7, #12]
- 800ac2c:      0e19            lsrs    r1, r3, #24
- 800ac2e:      69fb            ldr     r3, [r7, #28]
- 800ac30:      3303            adds    r3, #3
- 800ac32:      683a            ldr     r2, [r7, #0]
- 800ac34:      4413            add     r3, r2
- 800ac36:      b2ca            uxtb    r2, r1
- 800ac38:      701a            strb    r2, [r3, #0]
-      offset += sizeof(this->buffer_size);
- 800ac3a:      69fb            ldr     r3, [r7, #28]
- 800ac3c:      3304            adds    r3, #4
- 800ac3e:      61fb            str     r3, [r7, #28]
-      return offset;
- 800ac40:      69fb            ldr     r3, [r7, #28]
-    }
- 800ac42:      4618            mov     r0, r3
- 800ac44:      3720            adds    r7, #32
- 800ac46:      46bd            mov     sp, r7
- 800ac48:      bd80            pop     {r7, pc}
-
-0800ac4a <_ZN14rosserial_msgs9TopicInfo11deserializeEPh>:
-
-    virtual int deserialize(unsigned char *inbuffer)
- 800ac4a:      b580            push    {r7, lr}
- 800ac4c:      b08a            sub     sp, #40 ; 0x28
- 800ac4e:      af00            add     r7, sp, #0
- 800ac50:      6078            str     r0, [r7, #4]
- 800ac52:      6039            str     r1, [r7, #0]
-    {
-      int offset = 0;
- 800ac54:      2300            movs    r3, #0
- 800ac56:      61bb            str     r3, [r7, #24]
-      this->topic_id =  ((uint16_t) (*(inbuffer + offset)));
- 800ac58:      69bb            ldr     r3, [r7, #24]
- 800ac5a:      683a            ldr     r2, [r7, #0]
- 800ac5c:      4413            add     r3, r2
- 800ac5e:      781b            ldrb    r3, [r3, #0]
- 800ac60:      b29a            uxth    r2, r3
- 800ac62:      687b            ldr     r3, [r7, #4]
- 800ac64:      809a            strh    r2, [r3, #4]
-      this->topic_id |= ((uint16_t) (*(inbuffer + offset + 1))) << (8 * 1);
- 800ac66:      687b            ldr     r3, [r7, #4]
- 800ac68:      889b            ldrh    r3, [r3, #4]
- 800ac6a:      b21a            sxth    r2, r3
- 800ac6c:      69bb            ldr     r3, [r7, #24]
- 800ac6e:      3301            adds    r3, #1
- 800ac70:      6839            ldr     r1, [r7, #0]
- 800ac72:      440b            add     r3, r1
- 800ac74:      781b            ldrb    r3, [r3, #0]
- 800ac76:      021b            lsls    r3, r3, #8
- 800ac78:      b21b            sxth    r3, r3
- 800ac7a:      4313            orrs    r3, r2
- 800ac7c:      b21b            sxth    r3, r3
- 800ac7e:      b29a            uxth    r2, r3
- 800ac80:      687b            ldr     r3, [r7, #4]
- 800ac82:      809a            strh    r2, [r3, #4]
-      offset += sizeof(this->topic_id);
- 800ac84:      69bb            ldr     r3, [r7, #24]
- 800ac86:      3302            adds    r3, #2
- 800ac88:      61bb            str     r3, [r7, #24]
-      uint32_t length_topic_name;
-      arrToVar(length_topic_name, (inbuffer + offset));
- 800ac8a:      69bb            ldr     r3, [r7, #24]
- 800ac8c:      683a            ldr     r2, [r7, #0]
- 800ac8e:      441a            add     r2, r3
- 800ac90:      f107 0314       add.w   r3, r7, #20
- 800ac94:      4611            mov     r1, r2
- 800ac96:      4618            mov     r0, r3
- 800ac98:      f000 ff0f       bl      800baba <_ZN3ros3Msg8arrToVarImPhEEvRT_T0_>
-      offset += 4;
- 800ac9c:      69bb            ldr     r3, [r7, #24]
- 800ac9e:      3304            adds    r3, #4
- 800aca0:      61bb            str     r3, [r7, #24]
-      for(unsigned int k= offset; k< offset+length_topic_name; ++k){
- 800aca2:      69bb            ldr     r3, [r7, #24]
- 800aca4:      627b            str     r3, [r7, #36]   ; 0x24
- 800aca6:      69ba            ldr     r2, [r7, #24]
- 800aca8:      697b            ldr     r3, [r7, #20]
- 800acaa:      4413            add     r3, r2
- 800acac:      6a7a            ldr     r2, [r7, #36]   ; 0x24
- 800acae:      429a            cmp     r2, r3
- 800acb0:      d20c            bcs.n   800accc <_ZN14rosserial_msgs9TopicInfo11deserializeEPh+0x82>
-          inbuffer[k-1]=inbuffer[k];
- 800acb2:      683a            ldr     r2, [r7, #0]
- 800acb4:      6a7b            ldr     r3, [r7, #36]   ; 0x24
- 800acb6:      441a            add     r2, r3
- 800acb8:      6a7b            ldr     r3, [r7, #36]   ; 0x24
- 800acba:      3b01            subs    r3, #1
- 800acbc:      6839            ldr     r1, [r7, #0]
- 800acbe:      440b            add     r3, r1
- 800acc0:      7812            ldrb    r2, [r2, #0]
- 800acc2:      701a            strb    r2, [r3, #0]
-      for(unsigned int k= offset; k< offset+length_topic_name; ++k){
- 800acc4:      6a7b            ldr     r3, [r7, #36]   ; 0x24
- 800acc6:      3301            adds    r3, #1
- 800acc8:      627b            str     r3, [r7, #36]   ; 0x24
- 800acca:      e7ec            b.n     800aca6 <_ZN14rosserial_msgs9TopicInfo11deserializeEPh+0x5c>
-      }
-      inbuffer[offset+length_topic_name-1]=0;
- 800accc:      69ba            ldr     r2, [r7, #24]
- 800acce:      697b            ldr     r3, [r7, #20]
- 800acd0:      4413            add     r3, r2
- 800acd2:      3b01            subs    r3, #1
- 800acd4:      683a            ldr     r2, [r7, #0]
- 800acd6:      4413            add     r3, r2
- 800acd8:      2200            movs    r2, #0
- 800acda:      701a            strb    r2, [r3, #0]
-      this->topic_name = (char *)(inbuffer + offset-1);
- 800acdc:      69bb            ldr     r3, [r7, #24]
- 800acde:      3b01            subs    r3, #1
- 800ace0:      683a            ldr     r2, [r7, #0]
- 800ace2:      441a            add     r2, r3
- 800ace4:      687b            ldr     r3, [r7, #4]
- 800ace6:      609a            str     r2, [r3, #8]
-      offset += length_topic_name;
- 800ace8:      69ba            ldr     r2, [r7, #24]
- 800acea:      697b            ldr     r3, [r7, #20]
- 800acec:      4413            add     r3, r2
- 800acee:      61bb            str     r3, [r7, #24]
-      uint32_t length_message_type;
-      arrToVar(length_message_type, (inbuffer + offset));
- 800acf0:      69bb            ldr     r3, [r7, #24]
- 800acf2:      683a            ldr     r2, [r7, #0]
- 800acf4:      441a            add     r2, r3
- 800acf6:      f107 0310       add.w   r3, r7, #16
- 800acfa:      4611            mov     r1, r2
- 800acfc:      4618            mov     r0, r3
- 800acfe:      f000 fedc       bl      800baba <_ZN3ros3Msg8arrToVarImPhEEvRT_T0_>
-      offset += 4;
- 800ad02:      69bb            ldr     r3, [r7, #24]
- 800ad04:      3304            adds    r3, #4
- 800ad06:      61bb            str     r3, [r7, #24]
-      for(unsigned int k= offset; k< offset+length_message_type; ++k){
- 800ad08:      69bb            ldr     r3, [r7, #24]
- 800ad0a:      623b            str     r3, [r7, #32]
- 800ad0c:      69ba            ldr     r2, [r7, #24]
- 800ad0e:      693b            ldr     r3, [r7, #16]
- 800ad10:      4413            add     r3, r2
- 800ad12:      6a3a            ldr     r2, [r7, #32]
- 800ad14:      429a            cmp     r2, r3
- 800ad16:      d20c            bcs.n   800ad32 <_ZN14rosserial_msgs9TopicInfo11deserializeEPh+0xe8>
-          inbuffer[k-1]=inbuffer[k];
- 800ad18:      683a            ldr     r2, [r7, #0]
- 800ad1a:      6a3b            ldr     r3, [r7, #32]
- 800ad1c:      441a            add     r2, r3
- 800ad1e:      6a3b            ldr     r3, [r7, #32]
- 800ad20:      3b01            subs    r3, #1
- 800ad22:      6839            ldr     r1, [r7, #0]
- 800ad24:      440b            add     r3, r1
- 800ad26:      7812            ldrb    r2, [r2, #0]
- 800ad28:      701a            strb    r2, [r3, #0]
-      for(unsigned int k= offset; k< offset+length_message_type; ++k){
- 800ad2a:      6a3b            ldr     r3, [r7, #32]
- 800ad2c:      3301            adds    r3, #1
- 800ad2e:      623b            str     r3, [r7, #32]
- 800ad30:      e7ec            b.n     800ad0c <_ZN14rosserial_msgs9TopicInfo11deserializeEPh+0xc2>
-      }
-      inbuffer[offset+length_message_type-1]=0;
- 800ad32:      69ba            ldr     r2, [r7, #24]
- 800ad34:      693b            ldr     r3, [r7, #16]
- 800ad36:      4413            add     r3, r2
- 800ad38:      3b01            subs    r3, #1
- 800ad3a:      683a            ldr     r2, [r7, #0]
- 800ad3c:      4413            add     r3, r2
- 800ad3e:      2200            movs    r2, #0
- 800ad40:      701a            strb    r2, [r3, #0]
-      this->message_type = (char *)(inbuffer + offset-1);
- 800ad42:      69bb            ldr     r3, [r7, #24]
- 800ad44:      3b01            subs    r3, #1
- 800ad46:      683a            ldr     r2, [r7, #0]
- 800ad48:      441a            add     r2, r3
- 800ad4a:      687b            ldr     r3, [r7, #4]
- 800ad4c:      60da            str     r2, [r3, #12]
-      offset += length_message_type;
- 800ad4e:      69ba            ldr     r2, [r7, #24]
- 800ad50:      693b            ldr     r3, [r7, #16]
- 800ad52:      4413            add     r3, r2
- 800ad54:      61bb            str     r3, [r7, #24]
-      uint32_t length_md5sum;
-      arrToVar(length_md5sum, (inbuffer + offset));
- 800ad56:      69bb            ldr     r3, [r7, #24]
- 800ad58:      683a            ldr     r2, [r7, #0]
- 800ad5a:      441a            add     r2, r3
- 800ad5c:      f107 030c       add.w   r3, r7, #12
- 800ad60:      4611            mov     r1, r2
- 800ad62:      4618            mov     r0, r3
- 800ad64:      f000 fea9       bl      800baba <_ZN3ros3Msg8arrToVarImPhEEvRT_T0_>
-      offset += 4;
- 800ad68:      69bb            ldr     r3, [r7, #24]
- 800ad6a:      3304            adds    r3, #4
- 800ad6c:      61bb            str     r3, [r7, #24]
-      for(unsigned int k= offset; k< offset+length_md5sum; ++k){
- 800ad6e:      69bb            ldr     r3, [r7, #24]
- 800ad70:      61fb            str     r3, [r7, #28]
- 800ad72:      69ba            ldr     r2, [r7, #24]
- 800ad74:      68fb            ldr     r3, [r7, #12]
- 800ad76:      4413            add     r3, r2
- 800ad78:      69fa            ldr     r2, [r7, #28]
- 800ad7a:      429a            cmp     r2, r3
- 800ad7c:      d20c            bcs.n   800ad98 <_ZN14rosserial_msgs9TopicInfo11deserializeEPh+0x14e>
-          inbuffer[k-1]=inbuffer[k];
- 800ad7e:      683a            ldr     r2, [r7, #0]
- 800ad80:      69fb            ldr     r3, [r7, #28]
- 800ad82:      441a            add     r2, r3
- 800ad84:      69fb            ldr     r3, [r7, #28]
- 800ad86:      3b01            subs    r3, #1
- 800ad88:      6839            ldr     r1, [r7, #0]
- 800ad8a:      440b            add     r3, r1
- 800ad8c:      7812            ldrb    r2, [r2, #0]
- 800ad8e:      701a            strb    r2, [r3, #0]
-      for(unsigned int k= offset; k< offset+length_md5sum; ++k){
- 800ad90:      69fb            ldr     r3, [r7, #28]
- 800ad92:      3301            adds    r3, #1
- 800ad94:      61fb            str     r3, [r7, #28]
- 800ad96:      e7ec            b.n     800ad72 <_ZN14rosserial_msgs9TopicInfo11deserializeEPh+0x128>
-      }
-      inbuffer[offset+length_md5sum-1]=0;
- 800ad98:      69ba            ldr     r2, [r7, #24]
- 800ad9a:      68fb            ldr     r3, [r7, #12]
- 800ad9c:      4413            add     r3, r2
- 800ad9e:      3b01            subs    r3, #1
- 800ada0:      683a            ldr     r2, [r7, #0]
- 800ada2:      4413            add     r3, r2
- 800ada4:      2200            movs    r2, #0
- 800ada6:      701a            strb    r2, [r3, #0]
-      this->md5sum = (char *)(inbuffer + offset-1);
- 800ada8:      69bb            ldr     r3, [r7, #24]
- 800adaa:      3b01            subs    r3, #1
- 800adac:      683a            ldr     r2, [r7, #0]
- 800adae:      441a            add     r2, r3
- 800adb0:      687b            ldr     r3, [r7, #4]
- 800adb2:      611a            str     r2, [r3, #16]
-      offset += length_md5sum;
- 800adb4:      69ba            ldr     r2, [r7, #24]
- 800adb6:      68fb            ldr     r3, [r7, #12]
- 800adb8:      4413            add     r3, r2
- 800adba:      61bb            str     r3, [r7, #24]
-      union {
-        int32_t real;
-        uint32_t base;
-      } u_buffer_size;
-      u_buffer_size.base = 0;
- 800adbc:      2300            movs    r3, #0
- 800adbe:      60bb            str     r3, [r7, #8]
-      u_buffer_size.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0);
- 800adc0:      68bb            ldr     r3, [r7, #8]
- 800adc2:      69ba            ldr     r2, [r7, #24]
- 800adc4:      6839            ldr     r1, [r7, #0]
- 800adc6:      440a            add     r2, r1
- 800adc8:      7812            ldrb    r2, [r2, #0]
- 800adca:      4313            orrs    r3, r2
- 800adcc:      60bb            str     r3, [r7, #8]
-      u_buffer_size.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1);
- 800adce:      68ba            ldr     r2, [r7, #8]
- 800add0:      69bb            ldr     r3, [r7, #24]
- 800add2:      3301            adds    r3, #1
- 800add4:      6839            ldr     r1, [r7, #0]
- 800add6:      440b            add     r3, r1
- 800add8:      781b            ldrb    r3, [r3, #0]
- 800adda:      021b            lsls    r3, r3, #8
- 800addc:      4313            orrs    r3, r2
- 800adde:      60bb            str     r3, [r7, #8]
-      u_buffer_size.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2);
- 800ade0:      68ba            ldr     r2, [r7, #8]
- 800ade2:      69bb            ldr     r3, [r7, #24]
- 800ade4:      3302            adds    r3, #2
- 800ade6:      6839            ldr     r1, [r7, #0]
- 800ade8:      440b            add     r3, r1
- 800adea:      781b            ldrb    r3, [r3, #0]
- 800adec:      041b            lsls    r3, r3, #16
- 800adee:      4313            orrs    r3, r2
- 800adf0:      60bb            str     r3, [r7, #8]
-      u_buffer_size.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3);
- 800adf2:      68ba            ldr     r2, [r7, #8]
- 800adf4:      69bb            ldr     r3, [r7, #24]
- 800adf6:      3303            adds    r3, #3
- 800adf8:      6839            ldr     r1, [r7, #0]
- 800adfa:      440b            add     r3, r1
- 800adfc:      781b            ldrb    r3, [r3, #0]
- 800adfe:      061b            lsls    r3, r3, #24
- 800ae00:      4313            orrs    r3, r2
- 800ae02:      60bb            str     r3, [r7, #8]
-      this->buffer_size = u_buffer_size.real;
- 800ae04:      68ba            ldr     r2, [r7, #8]
- 800ae06:      687b            ldr     r3, [r7, #4]
- 800ae08:      615a            str     r2, [r3, #20]
-      offset += sizeof(this->buffer_size);
- 800ae0a:      69bb            ldr     r3, [r7, #24]
- 800ae0c:      3304            adds    r3, #4
- 800ae0e:      61bb            str     r3, [r7, #24]
-     return offset;
- 800ae10:      69bb            ldr     r3, [r7, #24]
-    }
- 800ae12:      4618            mov     r0, r3
- 800ae14:      3728            adds    r7, #40 ; 0x28
- 800ae16:      46bd            mov     sp, r7
- 800ae18:      bd80            pop     {r7, pc}
-       ...
-
-0800ae1c <_ZN14rosserial_msgs9TopicInfo7getTypeEv>:
-
-    const char * getType(){ return "rosserial_msgs/TopicInfo"; };
- 800ae1c:      b480            push    {r7}
- 800ae1e:      b083            sub     sp, #12
- 800ae20:      af00            add     r7, sp, #0
- 800ae22:      6078            str     r0, [r7, #4]
- 800ae24:      4b03            ldr     r3, [pc, #12]   ; (800ae34 <_ZN14rosserial_msgs9TopicInfo7getTypeEv+0x18>)
- 800ae26:      4618            mov     r0, r3
- 800ae28:      370c            adds    r7, #12
- 800ae2a:      46bd            mov     sp, r7
- 800ae2c:      f85d 7b04       ldr.w   r7, [sp], #4
- 800ae30:      4770            bx      lr
- 800ae32:      bf00            nop
- 800ae34:      08011a1c        .word   0x08011a1c
-
-0800ae38 <_ZN14rosserial_msgs9TopicInfo6getMD5Ev>:
-    const char * getMD5(){ return "0ad51f88fc44892f8c10684077646005"; };
- 800ae38:      b480            push    {r7}
- 800ae3a:      b083            sub     sp, #12
- 800ae3c:      af00            add     r7, sp, #0
- 800ae3e:      6078            str     r0, [r7, #4]
- 800ae40:      4b03            ldr     r3, [pc, #12]   ; (800ae50 <_ZN14rosserial_msgs9TopicInfo6getMD5Ev+0x18>)
- 800ae42:      4618            mov     r0, r3
- 800ae44:      370c            adds    r7, #12
- 800ae46:      46bd            mov     sp, r7
- 800ae48:      f85d 7b04       ldr.w   r7, [sp], #4
- 800ae4c:      4770            bx      lr
- 800ae4e:      bf00            nop
- 800ae50:      08011a38        .word   0x08011a38
-
-0800ae54 <_ZN14rosserial_msgs3LogC1Ev>:
-      enum { INFO = 1 };
-      enum { WARN = 2 };
-      enum { ERROR = 3 };
-      enum { FATAL = 4 };
-
-    Log():
- 800ae54:      b580            push    {r7, lr}
- 800ae56:      b082            sub     sp, #8
- 800ae58:      af00            add     r7, sp, #0
- 800ae5a:      6078            str     r0, [r7, #4]
-      level(0),
-      msg("")
- 800ae5c:      687b            ldr     r3, [r7, #4]
- 800ae5e:      4618            mov     r0, r3
- 800ae60:      f7ff fc86       bl      800a770 <_ZN3ros3MsgC1Ev>
- 800ae64:      4a06            ldr     r2, [pc, #24]   ; (800ae80 <_ZN14rosserial_msgs3LogC1Ev+0x2c>)
- 800ae66:      687b            ldr     r3, [r7, #4]
- 800ae68:      601a            str     r2, [r3, #0]
- 800ae6a:      687b            ldr     r3, [r7, #4]
- 800ae6c:      2200            movs    r2, #0
- 800ae6e:      711a            strb    r2, [r3, #4]
- 800ae70:      687b            ldr     r3, [r7, #4]
- 800ae72:      4a04            ldr     r2, [pc, #16]   ; (800ae84 <_ZN14rosserial_msgs3LogC1Ev+0x30>)
- 800ae74:      609a            str     r2, [r3, #8]
-    {
-    }
- 800ae76:      687b            ldr     r3, [r7, #4]
- 800ae78:      4618            mov     r0, r3
- 800ae7a:      3708            adds    r7, #8
- 800ae7c:      46bd            mov     sp, r7
- 800ae7e:      bd80            pop     {r7, pc}
- 800ae80:      08012308        .word   0x08012308
- 800ae84:      080119b0        .word   0x080119b0
-
-0800ae88 <_ZNK14rosserial_msgs3Log9serializeEPh>:
-
-    virtual int serialize(unsigned char *outbuffer) const
- 800ae88:      b580            push    {r7, lr}
- 800ae8a:      b084            sub     sp, #16
- 800ae8c:      af00            add     r7, sp, #0
- 800ae8e:      6078            str     r0, [r7, #4]
- 800ae90:      6039            str     r1, [r7, #0]
-    {
-      int offset = 0;
- 800ae92:      2300            movs    r3, #0
- 800ae94:      60fb            str     r3, [r7, #12]
-      *(outbuffer + offset + 0) = (this->level >> (8 * 0)) & 0xFF;
- 800ae96:      68fb            ldr     r3, [r7, #12]
- 800ae98:      683a            ldr     r2, [r7, #0]
- 800ae9a:      4413            add     r3, r2
- 800ae9c:      687a            ldr     r2, [r7, #4]
- 800ae9e:      7912            ldrb    r2, [r2, #4]
- 800aea0:      701a            strb    r2, [r3, #0]
-      offset += sizeof(this->level);
- 800aea2:      68fb            ldr     r3, [r7, #12]
- 800aea4:      3301            adds    r3, #1
- 800aea6:      60fb            str     r3, [r7, #12]
-      uint32_t length_msg = strlen(this->msg);
- 800aea8:      687b            ldr     r3, [r7, #4]
- 800aeaa:      689b            ldr     r3, [r3, #8]
- 800aeac:      4618            mov     r0, r3
- 800aeae:      f7fb ff91       bl      8006dd4 <strlen>
- 800aeb2:      60b8            str     r0, [r7, #8]
-      varToArr(outbuffer + offset, length_msg);
- 800aeb4:      68fb            ldr     r3, [r7, #12]
- 800aeb6:      683a            ldr     r2, [r7, #0]
- 800aeb8:      4413            add     r3, r2
- 800aeba:      68b9            ldr     r1, [r7, #8]
- 800aebc:      4618            mov     r0, r3
- 800aebe:      f000 fdde       bl      800ba7e <_ZN3ros3Msg8varToArrIPhmEEvT_T0_>
-      offset += 4;
- 800aec2:      68fb            ldr     r3, [r7, #12]
- 800aec4:      3304            adds    r3, #4
- 800aec6:      60fb            str     r3, [r7, #12]
-      memcpy(outbuffer + offset, this->msg, length_msg);
- 800aec8:      68fb            ldr     r3, [r7, #12]
- 800aeca:      683a            ldr     r2, [r7, #0]
- 800aecc:      18d0            adds    r0, r2, r3
- 800aece:      687b            ldr     r3, [r7, #4]
- 800aed0:      689b            ldr     r3, [r3, #8]
- 800aed2:      68ba            ldr     r2, [r7, #8]
- 800aed4:      4619            mov     r1, r3
- 800aed6:      f003 fa4e       bl      800e376 <memcpy>
-      offset += length_msg;
- 800aeda:      68fa            ldr     r2, [r7, #12]
- 800aedc:      68bb            ldr     r3, [r7, #8]
- 800aede:      4413            add     r3, r2
- 800aee0:      60fb            str     r3, [r7, #12]
-      return offset;
- 800aee2:      68fb            ldr     r3, [r7, #12]
-    }
- 800aee4:      4618            mov     r0, r3
- 800aee6:      3710            adds    r7, #16
- 800aee8:      46bd            mov     sp, r7
- 800aeea:      bd80            pop     {r7, pc}
-
-0800aeec <_ZN14rosserial_msgs3Log11deserializeEPh>:
-
-    virtual int deserialize(unsigned char *inbuffer)
- 800aeec:      b580            push    {r7, lr}
- 800aeee:      b086            sub     sp, #24
- 800aef0:      af00            add     r7, sp, #0
- 800aef2:      6078            str     r0, [r7, #4]
- 800aef4:      6039            str     r1, [r7, #0]
-    {
-      int offset = 0;
- 800aef6:      2300            movs    r3, #0
- 800aef8:      613b            str     r3, [r7, #16]
-      this->level =  ((uint8_t) (*(inbuffer + offset)));
- 800aefa:      693b            ldr     r3, [r7, #16]
- 800aefc:      683a            ldr     r2, [r7, #0]
- 800aefe:      4413            add     r3, r2
- 800af00:      781a            ldrb    r2, [r3, #0]
- 800af02:      687b            ldr     r3, [r7, #4]
- 800af04:      711a            strb    r2, [r3, #4]
-      offset += sizeof(this->level);
- 800af06:      693b            ldr     r3, [r7, #16]
- 800af08:      3301            adds    r3, #1
- 800af0a:      613b            str     r3, [r7, #16]
-      uint32_t length_msg;
-      arrToVar(length_msg, (inbuffer + offset));
- 800af0c:      693b            ldr     r3, [r7, #16]
- 800af0e:      683a            ldr     r2, [r7, #0]
- 800af10:      441a            add     r2, r3
- 800af12:      f107 030c       add.w   r3, r7, #12
- 800af16:      4611            mov     r1, r2
- 800af18:      4618            mov     r0, r3
- 800af1a:      f000 fdce       bl      800baba <_ZN3ros3Msg8arrToVarImPhEEvRT_T0_>
-      offset += 4;
- 800af1e:      693b            ldr     r3, [r7, #16]
- 800af20:      3304            adds    r3, #4
- 800af22:      613b            str     r3, [r7, #16]
-      for(unsigned int k= offset; k< offset+length_msg; ++k){
- 800af24:      693b            ldr     r3, [r7, #16]
- 800af26:      617b            str     r3, [r7, #20]
- 800af28:      693a            ldr     r2, [r7, #16]
- 800af2a:      68fb            ldr     r3, [r7, #12]
- 800af2c:      4413            add     r3, r2
- 800af2e:      697a            ldr     r2, [r7, #20]
- 800af30:      429a            cmp     r2, r3
- 800af32:      d20c            bcs.n   800af4e <_ZN14rosserial_msgs3Log11deserializeEPh+0x62>
-          inbuffer[k-1]=inbuffer[k];
- 800af34:      683a            ldr     r2, [r7, #0]
- 800af36:      697b            ldr     r3, [r7, #20]
- 800af38:      441a            add     r2, r3
- 800af3a:      697b            ldr     r3, [r7, #20]
- 800af3c:      3b01            subs    r3, #1
- 800af3e:      6839            ldr     r1, [r7, #0]
- 800af40:      440b            add     r3, r1
- 800af42:      7812            ldrb    r2, [r2, #0]
- 800af44:      701a            strb    r2, [r3, #0]
-      for(unsigned int k= offset; k< offset+length_msg; ++k){
- 800af46:      697b            ldr     r3, [r7, #20]
- 800af48:      3301            adds    r3, #1
- 800af4a:      617b            str     r3, [r7, #20]
- 800af4c:      e7ec            b.n     800af28 <_ZN14rosserial_msgs3Log11deserializeEPh+0x3c>
-      }
-      inbuffer[offset+length_msg-1]=0;
- 800af4e:      693a            ldr     r2, [r7, #16]
- 800af50:      68fb            ldr     r3, [r7, #12]
- 800af52:      4413            add     r3, r2
- 800af54:      3b01            subs    r3, #1
- 800af56:      683a            ldr     r2, [r7, #0]
- 800af58:      4413            add     r3, r2
- 800af5a:      2200            movs    r2, #0
- 800af5c:      701a            strb    r2, [r3, #0]
-      this->msg = (char *)(inbuffer + offset-1);
- 800af5e:      693b            ldr     r3, [r7, #16]
- 800af60:      3b01            subs    r3, #1
- 800af62:      683a            ldr     r2, [r7, #0]
- 800af64:      441a            add     r2, r3
- 800af66:      687b            ldr     r3, [r7, #4]
- 800af68:      609a            str     r2, [r3, #8]
-      offset += length_msg;
- 800af6a:      693a            ldr     r2, [r7, #16]
- 800af6c:      68fb            ldr     r3, [r7, #12]
- 800af6e:      4413            add     r3, r2
- 800af70:      613b            str     r3, [r7, #16]
-     return offset;
- 800af72:      693b            ldr     r3, [r7, #16]
-    }
- 800af74:      4618            mov     r0, r3
- 800af76:      3718            adds    r7, #24
- 800af78:      46bd            mov     sp, r7
- 800af7a:      bd80            pop     {r7, pc}
-
-0800af7c <_ZN14rosserial_msgs3Log7getTypeEv>:
-
-    const char * getType(){ return "rosserial_msgs/Log"; };
- 800af7c:      b480            push    {r7}
- 800af7e:      b083            sub     sp, #12
- 800af80:      af00            add     r7, sp, #0
- 800af82:      6078            str     r0, [r7, #4]
- 800af84:      4b03            ldr     r3, [pc, #12]   ; (800af94 <_ZN14rosserial_msgs3Log7getTypeEv+0x18>)
- 800af86:      4618            mov     r0, r3
- 800af88:      370c            adds    r7, #12
- 800af8a:      46bd            mov     sp, r7
- 800af8c:      f85d 7b04       ldr.w   r7, [sp], #4
- 800af90:      4770            bx      lr
- 800af92:      bf00            nop
- 800af94:      08011a5c        .word   0x08011a5c
-
-0800af98 <_ZN14rosserial_msgs3Log6getMD5Ev>:
-    const char * getMD5(){ return "11abd731c25933261cd6183bd12d6295"; };
- 800af98:      b480            push    {r7}
- 800af9a:      b083            sub     sp, #12
- 800af9c:      af00            add     r7, sp, #0
- 800af9e:      6078            str     r0, [r7, #4]
- 800afa0:      4b03            ldr     r3, [pc, #12]   ; (800afb0 <_ZN14rosserial_msgs3Log6getMD5Ev+0x18>)
- 800afa2:      4618            mov     r0, r3
- 800afa4:      370c            adds    r7, #12
- 800afa6:      46bd            mov     sp, r7
- 800afa8:      f85d 7b04       ldr.w   r7, [sp], #4
- 800afac:      4770            bx      lr
- 800afae:      bf00            nop
- 800afb0:      08011a70        .word   0x08011a70
-
-0800afb4 <_ZN14rosserial_msgs20RequestParamResponseC1Ev>:
-      uint32_t strings_length;
-      typedef char* _strings_type;
-      _strings_type st_strings;
-      _strings_type * strings;
-
-    RequestParamResponse():
- 800afb4:      b580            push    {r7, lr}
- 800afb6:      b082            sub     sp, #8
- 800afb8:      af00            add     r7, sp, #0
- 800afba:      6078            str     r0, [r7, #4]
-      ints_length(0), ints(NULL),
-      floats_length(0), floats(NULL),
-      strings_length(0), strings(NULL)
- 800afbc:      687b            ldr     r3, [r7, #4]
- 800afbe:      4618            mov     r0, r3
- 800afc0:      f7ff fbd6       bl      800a770 <_ZN3ros3MsgC1Ev>
- 800afc4:      4a0c            ldr     r2, [pc, #48]   ; (800aff8 <_ZN14rosserial_msgs20RequestParamResponseC1Ev+0x44>)
- 800afc6:      687b            ldr     r3, [r7, #4]
- 800afc8:      601a            str     r2, [r3, #0]
- 800afca:      687b            ldr     r3, [r7, #4]
- 800afcc:      2200            movs    r2, #0
- 800afce:      605a            str     r2, [r3, #4]
- 800afd0:      687b            ldr     r3, [r7, #4]
- 800afd2:      2200            movs    r2, #0
- 800afd4:      60da            str     r2, [r3, #12]
- 800afd6:      687b            ldr     r3, [r7, #4]
- 800afd8:      2200            movs    r2, #0
- 800afda:      611a            str     r2, [r3, #16]
- 800afdc:      687b            ldr     r3, [r7, #4]
- 800afde:      2200            movs    r2, #0
- 800afe0:      619a            str     r2, [r3, #24]
- 800afe2:      687b            ldr     r3, [r7, #4]
- 800afe4:      2200            movs    r2, #0
- 800afe6:      61da            str     r2, [r3, #28]
- 800afe8:      687b            ldr     r3, [r7, #4]
- 800afea:      2200            movs    r2, #0
- 800afec:      625a            str     r2, [r3, #36]   ; 0x24
-    {
-    }
- 800afee:      687b            ldr     r3, [r7, #4]
- 800aff0:      4618            mov     r0, r3
- 800aff2:      3708            adds    r7, #8
- 800aff4:      46bd            mov     sp, r7
- 800aff6:      bd80            pop     {r7, pc}
- 800aff8:      080122f0        .word   0x080122f0
-
-0800affc <_ZNK14rosserial_msgs20RequestParamResponse9serializeEPh>:
-
-    virtual int serialize(unsigned char *outbuffer) const
- 800affc:      b580            push    {r7, lr}
- 800affe:      b08a            sub     sp, #40 ; 0x28
- 800b000:      af00            add     r7, sp, #0
- 800b002:      6078            str     r0, [r7, #4]
- 800b004:      6039            str     r1, [r7, #0]
-    {
-      int offset = 0;
- 800b006:      2300            movs    r3, #0
- 800b008:      627b            str     r3, [r7, #36]   ; 0x24
-      *(outbuffer + offset + 0) = (this->ints_length >> (8 * 0)) & 0xFF;
- 800b00a:      687b            ldr     r3, [r7, #4]
- 800b00c:      6859            ldr     r1, [r3, #4]
- 800b00e:      6a7b            ldr     r3, [r7, #36]   ; 0x24
- 800b010:      683a            ldr     r2, [r7, #0]
- 800b012:      4413            add     r3, r2
- 800b014:      b2ca            uxtb    r2, r1
- 800b016:      701a            strb    r2, [r3, #0]
-      *(outbuffer + offset + 1) = (this->ints_length >> (8 * 1)) & 0xFF;
- 800b018:      687b            ldr     r3, [r7, #4]
- 800b01a:      685b            ldr     r3, [r3, #4]
- 800b01c:      0a19            lsrs    r1, r3, #8
- 800b01e:      6a7b            ldr     r3, [r7, #36]   ; 0x24
- 800b020:      3301            adds    r3, #1
- 800b022:      683a            ldr     r2, [r7, #0]
- 800b024:      4413            add     r3, r2
- 800b026:      b2ca            uxtb    r2, r1
- 800b028:      701a            strb    r2, [r3, #0]
-      *(outbuffer + offset + 2) = (this->ints_length >> (8 * 2)) & 0xFF;
- 800b02a:      687b            ldr     r3, [r7, #4]
- 800b02c:      685b            ldr     r3, [r3, #4]
- 800b02e:      0c19            lsrs    r1, r3, #16
- 800b030:      6a7b            ldr     r3, [r7, #36]   ; 0x24
- 800b032:      3302            adds    r3, #2
- 800b034:      683a            ldr     r2, [r7, #0]
- 800b036:      4413            add     r3, r2
- 800b038:      b2ca            uxtb    r2, r1
- 800b03a:      701a            strb    r2, [r3, #0]
-      *(outbuffer + offset + 3) = (this->ints_length >> (8 * 3)) & 0xFF;
- 800b03c:      687b            ldr     r3, [r7, #4]
- 800b03e:      685b            ldr     r3, [r3, #4]
- 800b040:      0e19            lsrs    r1, r3, #24
- 800b042:      6a7b            ldr     r3, [r7, #36]   ; 0x24
- 800b044:      3303            adds    r3, #3
- 800b046:      683a            ldr     r2, [r7, #0]
- 800b048:      4413            add     r3, r2
- 800b04a:      b2ca            uxtb    r2, r1
- 800b04c:      701a            strb    r2, [r3, #0]
-      offset += sizeof(this->ints_length);
- 800b04e:      6a7b            ldr     r3, [r7, #36]   ; 0x24
- 800b050:      3304            adds    r3, #4
- 800b052:      627b            str     r3, [r7, #36]   ; 0x24
-      for( uint32_t i = 0; i < ints_length; i++){
- 800b054:      2300            movs    r3, #0
- 800b056:      623b            str     r3, [r7, #32]
- 800b058:      687b            ldr     r3, [r7, #4]
- 800b05a:      685b            ldr     r3, [r3, #4]
- 800b05c:      6a3a            ldr     r2, [r7, #32]
- 800b05e:      429a            cmp     r2, r3
- 800b060:      d22b            bcs.n   800b0ba <_ZNK14rosserial_msgs20RequestParamResponse9serializeEPh+0xbe>
-      union {
-        int32_t real;
-        uint32_t base;
-      } u_intsi;
-      u_intsi.real = this->ints[i];
- 800b062:      687b            ldr     r3, [r7, #4]
- 800b064:      68da            ldr     r2, [r3, #12]
- 800b066:      6a3b            ldr     r3, [r7, #32]
- 800b068:      009b            lsls    r3, r3, #2
- 800b06a:      4413            add     r3, r2
- 800b06c:      681b            ldr     r3, [r3, #0]
- 800b06e:      613b            str     r3, [r7, #16]
-      *(outbuffer + offset + 0) = (u_intsi.base >> (8 * 0)) & 0xFF;
- 800b070:      6939            ldr     r1, [r7, #16]
- 800b072:      6a7b            ldr     r3, [r7, #36]   ; 0x24
- 800b074:      683a            ldr     r2, [r7, #0]
- 800b076:      4413            add     r3, r2
- 800b078:      b2ca            uxtb    r2, r1
- 800b07a:      701a            strb    r2, [r3, #0]
-      *(outbuffer + offset + 1) = (u_intsi.base >> (8 * 1)) & 0xFF;
- 800b07c:      693b            ldr     r3, [r7, #16]
- 800b07e:      0a19            lsrs    r1, r3, #8
- 800b080:      6a7b            ldr     r3, [r7, #36]   ; 0x24
- 800b082:      3301            adds    r3, #1
- 800b084:      683a            ldr     r2, [r7, #0]
- 800b086:      4413            add     r3, r2
- 800b088:      b2ca            uxtb    r2, r1
- 800b08a:      701a            strb    r2, [r3, #0]
-      *(outbuffer + offset + 2) = (u_intsi.base >> (8 * 2)) & 0xFF;
- 800b08c:      693b            ldr     r3, [r7, #16]
- 800b08e:      0c19            lsrs    r1, r3, #16
- 800b090:      6a7b            ldr     r3, [r7, #36]   ; 0x24
- 800b092:      3302            adds    r3, #2
- 800b094:      683a            ldr     r2, [r7, #0]
- 800b096:      4413            add     r3, r2
- 800b098:      b2ca            uxtb    r2, r1
- 800b09a:      701a            strb    r2, [r3, #0]
-      *(outbuffer + offset + 3) = (u_intsi.base >> (8 * 3)) & 0xFF;
- 800b09c:      693b            ldr     r3, [r7, #16]
- 800b09e:      0e19            lsrs    r1, r3, #24
- 800b0a0:      6a7b            ldr     r3, [r7, #36]   ; 0x24
- 800b0a2:      3303            adds    r3, #3
- 800b0a4:      683a            ldr     r2, [r7, #0]
- 800b0a6:      4413            add     r3, r2
- 800b0a8:      b2ca            uxtb    r2, r1
- 800b0aa:      701a            strb    r2, [r3, #0]
-      offset += sizeof(this->ints[i]);
- 800b0ac:      6a7b            ldr     r3, [r7, #36]   ; 0x24
- 800b0ae:      3304            adds    r3, #4
- 800b0b0:      627b            str     r3, [r7, #36]   ; 0x24
-      for( uint32_t i = 0; i < ints_length; i++){
- 800b0b2:      6a3b            ldr     r3, [r7, #32]
- 800b0b4:      3301            adds    r3, #1
- 800b0b6:      623b            str     r3, [r7, #32]
- 800b0b8:      e7ce            b.n     800b058 <_ZNK14rosserial_msgs20RequestParamResponse9serializeEPh+0x5c>
-      }
-      *(outbuffer + offset + 0) = (this->floats_length >> (8 * 0)) & 0xFF;
- 800b0ba:      687b            ldr     r3, [r7, #4]
- 800b0bc:      6919            ldr     r1, [r3, #16]
- 800b0be:      6a7b            ldr     r3, [r7, #36]   ; 0x24
- 800b0c0:      683a            ldr     r2, [r7, #0]
- 800b0c2:      4413            add     r3, r2
- 800b0c4:      b2ca            uxtb    r2, r1
- 800b0c6:      701a            strb    r2, [r3, #0]
-      *(outbuffer + offset + 1) = (this->floats_length >> (8 * 1)) & 0xFF;
- 800b0c8:      687b            ldr     r3, [r7, #4]
- 800b0ca:      691b            ldr     r3, [r3, #16]
- 800b0cc:      0a19            lsrs    r1, r3, #8
- 800b0ce:      6a7b            ldr     r3, [r7, #36]   ; 0x24
- 800b0d0:      3301            adds    r3, #1
- 800b0d2:      683a            ldr     r2, [r7, #0]
- 800b0d4:      4413            add     r3, r2
- 800b0d6:      b2ca            uxtb    r2, r1
- 800b0d8:      701a            strb    r2, [r3, #0]
-      *(outbuffer + offset + 2) = (this->floats_length >> (8 * 2)) & 0xFF;
- 800b0da:      687b            ldr     r3, [r7, #4]
- 800b0dc:      691b            ldr     r3, [r3, #16]
- 800b0de:      0c19            lsrs    r1, r3, #16
- 800b0e0:      6a7b            ldr     r3, [r7, #36]   ; 0x24
- 800b0e2:      3302            adds    r3, #2
- 800b0e4:      683a            ldr     r2, [r7, #0]
- 800b0e6:      4413            add     r3, r2
- 800b0e8:      b2ca            uxtb    r2, r1
- 800b0ea:      701a            strb    r2, [r3, #0]
-      *(outbuffer + offset + 3) = (this->floats_length >> (8 * 3)) & 0xFF;
- 800b0ec:      687b            ldr     r3, [r7, #4]
- 800b0ee:      691b            ldr     r3, [r3, #16]
- 800b0f0:      0e19            lsrs    r1, r3, #24
- 800b0f2:      6a7b            ldr     r3, [r7, #36]   ; 0x24
- 800b0f4:      3303            adds    r3, #3
- 800b0f6:      683a            ldr     r2, [r7, #0]
- 800b0f8:      4413            add     r3, r2
- 800b0fa:      b2ca            uxtb    r2, r1
- 800b0fc:      701a            strb    r2, [r3, #0]
-      offset += sizeof(this->floats_length);
- 800b0fe:      6a7b            ldr     r3, [r7, #36]   ; 0x24
- 800b100:      3304            adds    r3, #4
- 800b102:      627b            str     r3, [r7, #36]   ; 0x24
-      for( uint32_t i = 0; i < floats_length; i++){
- 800b104:      2300            movs    r3, #0
- 800b106:      61fb            str     r3, [r7, #28]
- 800b108:      687b            ldr     r3, [r7, #4]
- 800b10a:      691b            ldr     r3, [r3, #16]
- 800b10c:      69fa            ldr     r2, [r7, #28]
- 800b10e:      429a            cmp     r2, r3
- 800b110:      d22b            bcs.n   800b16a <_ZNK14rosserial_msgs20RequestParamResponse9serializeEPh+0x16e>
-      union {
-        float real;
-        uint32_t base;
-      } u_floatsi;
-      u_floatsi.real = this->floats[i];
- 800b112:      687b            ldr     r3, [r7, #4]
- 800b114:      699a            ldr     r2, [r3, #24]
- 800b116:      69fb            ldr     r3, [r7, #28]
- 800b118:      009b            lsls    r3, r3, #2
- 800b11a:      4413            add     r3, r2
- 800b11c:      681b            ldr     r3, [r3, #0]
- 800b11e:      60fb            str     r3, [r7, #12]
-      *(outbuffer + offset + 0) = (u_floatsi.base >> (8 * 0)) & 0xFF;
- 800b120:      68f9            ldr     r1, [r7, #12]
- 800b122:      6a7b            ldr     r3, [r7, #36]   ; 0x24
- 800b124:      683a            ldr     r2, [r7, #0]
- 800b126:      4413            add     r3, r2
- 800b128:      b2ca            uxtb    r2, r1
- 800b12a:      701a            strb    r2, [r3, #0]
-      *(outbuffer + offset + 1) = (u_floatsi.base >> (8 * 1)) & 0xFF;
- 800b12c:      68fb            ldr     r3, [r7, #12]
- 800b12e:      0a19            lsrs    r1, r3, #8
- 800b130:      6a7b            ldr     r3, [r7, #36]   ; 0x24
- 800b132:      3301            adds    r3, #1
- 800b134:      683a            ldr     r2, [r7, #0]
- 800b136:      4413            add     r3, r2
- 800b138:      b2ca            uxtb    r2, r1
- 800b13a:      701a            strb    r2, [r3, #0]
-      *(outbuffer + offset + 2) = (u_floatsi.base >> (8 * 2)) & 0xFF;
- 800b13c:      68fb            ldr     r3, [r7, #12]
- 800b13e:      0c19            lsrs    r1, r3, #16
- 800b140:      6a7b            ldr     r3, [r7, #36]   ; 0x24
- 800b142:      3302            adds    r3, #2
- 800b144:      683a            ldr     r2, [r7, #0]
- 800b146:      4413            add     r3, r2
- 800b148:      b2ca            uxtb    r2, r1
- 800b14a:      701a            strb    r2, [r3, #0]
-      *(outbuffer + offset + 3) = (u_floatsi.base >> (8 * 3)) & 0xFF;
- 800b14c:      68fb            ldr     r3, [r7, #12]
- 800b14e:      0e19            lsrs    r1, r3, #24
- 800b150:      6a7b            ldr     r3, [r7, #36]   ; 0x24
- 800b152:      3303            adds    r3, #3
- 800b154:      683a            ldr     r2, [r7, #0]
- 800b156:      4413            add     r3, r2
- 800b158:      b2ca            uxtb    r2, r1
- 800b15a:      701a            strb    r2, [r3, #0]
-      offset += sizeof(this->floats[i]);
- 800b15c:      6a7b            ldr     r3, [r7, #36]   ; 0x24
- 800b15e:      3304            adds    r3, #4
- 800b160:      627b            str     r3, [r7, #36]   ; 0x24
-      for( uint32_t i = 0; i < floats_length; i++){
- 800b162:      69fb            ldr     r3, [r7, #28]
- 800b164:      3301            adds    r3, #1
- 800b166:      61fb            str     r3, [r7, #28]
- 800b168:      e7ce            b.n     800b108 <_ZNK14rosserial_msgs20RequestParamResponse9serializeEPh+0x10c>
-      }
-      *(outbuffer + offset + 0) = (this->strings_length >> (8 * 0)) & 0xFF;
- 800b16a:      687b            ldr     r3, [r7, #4]
- 800b16c:      69d9            ldr     r1, [r3, #28]
- 800b16e:      6a7b            ldr     r3, [r7, #36]   ; 0x24
- 800b170:      683a            ldr     r2, [r7, #0]
- 800b172:      4413            add     r3, r2
- 800b174:      b2ca            uxtb    r2, r1
- 800b176:      701a            strb    r2, [r3, #0]
-      *(outbuffer + offset + 1) = (this->strings_length >> (8 * 1)) & 0xFF;
- 800b178:      687b            ldr     r3, [r7, #4]
- 800b17a:      69db            ldr     r3, [r3, #28]
- 800b17c:      0a19            lsrs    r1, r3, #8
- 800b17e:      6a7b            ldr     r3, [r7, #36]   ; 0x24
- 800b180:      3301            adds    r3, #1
- 800b182:      683a            ldr     r2, [r7, #0]
- 800b184:      4413            add     r3, r2
- 800b186:      b2ca            uxtb    r2, r1
- 800b188:      701a            strb    r2, [r3, #0]
-      *(outbuffer + offset + 2) = (this->strings_length >> (8 * 2)) & 0xFF;
- 800b18a:      687b            ldr     r3, [r7, #4]
- 800b18c:      69db            ldr     r3, [r3, #28]
- 800b18e:      0c19            lsrs    r1, r3, #16
- 800b190:      6a7b            ldr     r3, [r7, #36]   ; 0x24
- 800b192:      3302            adds    r3, #2
- 800b194:      683a            ldr     r2, [r7, #0]
- 800b196:      4413            add     r3, r2
- 800b198:      b2ca            uxtb    r2, r1
- 800b19a:      701a            strb    r2, [r3, #0]
-      *(outbuffer + offset + 3) = (this->strings_length >> (8 * 3)) & 0xFF;
- 800b19c:      687b            ldr     r3, [r7, #4]
- 800b19e:      69db            ldr     r3, [r3, #28]
- 800b1a0:      0e19            lsrs    r1, r3, #24
- 800b1a2:      6a7b            ldr     r3, [r7, #36]   ; 0x24
- 800b1a4:      3303            adds    r3, #3
- 800b1a6:      683a            ldr     r2, [r7, #0]
- 800b1a8:      4413            add     r3, r2
- 800b1aa:      b2ca            uxtb    r2, r1
- 800b1ac:      701a            strb    r2, [r3, #0]
-      offset += sizeof(this->strings_length);
- 800b1ae:      6a7b            ldr     r3, [r7, #36]   ; 0x24
- 800b1b0:      3304            adds    r3, #4
- 800b1b2:      627b            str     r3, [r7, #36]   ; 0x24
-      for( uint32_t i = 0; i < strings_length; i++){
- 800b1b4:      2300            movs    r3, #0
- 800b1b6:      61bb            str     r3, [r7, #24]
- 800b1b8:      687b            ldr     r3, [r7, #4]
- 800b1ba:      69db            ldr     r3, [r3, #28]
- 800b1bc:      69ba            ldr     r2, [r7, #24]
- 800b1be:      429a            cmp     r2, r3
- 800b1c0:      d228            bcs.n   800b214 <_ZNK14rosserial_msgs20RequestParamResponse9serializeEPh+0x218>
-      uint32_t length_stringsi = strlen(this->strings[i]);
- 800b1c2:      687b            ldr     r3, [r7, #4]
- 800b1c4:      6a5a            ldr     r2, [r3, #36]   ; 0x24
- 800b1c6:      69bb            ldr     r3, [r7, #24]
- 800b1c8:      009b            lsls    r3, r3, #2
- 800b1ca:      4413            add     r3, r2
- 800b1cc:      681b            ldr     r3, [r3, #0]
- 800b1ce:      4618            mov     r0, r3
- 800b1d0:      f7fb fe00       bl      8006dd4 <strlen>
- 800b1d4:      6178            str     r0, [r7, #20]
-      varToArr(outbuffer + offset, length_stringsi);
- 800b1d6:      6a7b            ldr     r3, [r7, #36]   ; 0x24
- 800b1d8:      683a            ldr     r2, [r7, #0]
- 800b1da:      4413            add     r3, r2
- 800b1dc:      6979            ldr     r1, [r7, #20]
- 800b1de:      4618            mov     r0, r3
- 800b1e0:      f000 fc4d       bl      800ba7e <_ZN3ros3Msg8varToArrIPhmEEvT_T0_>
-      offset += 4;
- 800b1e4:      6a7b            ldr     r3, [r7, #36]   ; 0x24
- 800b1e6:      3304            adds    r3, #4
- 800b1e8:      627b            str     r3, [r7, #36]   ; 0x24
-      memcpy(outbuffer + offset, this->strings[i], length_stringsi);
- 800b1ea:      6a7b            ldr     r3, [r7, #36]   ; 0x24
- 800b1ec:      683a            ldr     r2, [r7, #0]
- 800b1ee:      18d0            adds    r0, r2, r3
- 800b1f0:      687b            ldr     r3, [r7, #4]
- 800b1f2:      6a5a            ldr     r2, [r3, #36]   ; 0x24
- 800b1f4:      69bb            ldr     r3, [r7, #24]
- 800b1f6:      009b            lsls    r3, r3, #2
- 800b1f8:      4413            add     r3, r2
- 800b1fa:      681b            ldr     r3, [r3, #0]
- 800b1fc:      697a            ldr     r2, [r7, #20]
- 800b1fe:      4619            mov     r1, r3
- 800b200:      f003 f8b9       bl      800e376 <memcpy>
-      offset += length_stringsi;
- 800b204:      6a7a            ldr     r2, [r7, #36]   ; 0x24
- 800b206:      697b            ldr     r3, [r7, #20]
- 800b208:      4413            add     r3, r2
- 800b20a:      627b            str     r3, [r7, #36]   ; 0x24
-      for( uint32_t i = 0; i < strings_length; i++){
- 800b20c:      69bb            ldr     r3, [r7, #24]
- 800b20e:      3301            adds    r3, #1
- 800b210:      61bb            str     r3, [r7, #24]
- 800b212:      e7d1            b.n     800b1b8 <_ZNK14rosserial_msgs20RequestParamResponse9serializeEPh+0x1bc>
-      }
-      return offset;
- 800b214:      6a7b            ldr     r3, [r7, #36]   ; 0x24
-    }
- 800b216:      4618            mov     r0, r3
- 800b218:      3728            adds    r7, #40 ; 0x28
- 800b21a:      46bd            mov     sp, r7
- 800b21c:      bd80            pop     {r7, pc}
-
-0800b21e <_ZN14rosserial_msgs20RequestParamResponse11deserializeEPh>:
-
-    virtual int deserialize(unsigned char *inbuffer)
- 800b21e:      b580            push    {r7, lr}
- 800b220:      b08e            sub     sp, #56 ; 0x38
- 800b222:      af00            add     r7, sp, #0
- 800b224:      6078            str     r0, [r7, #4]
- 800b226:      6039            str     r1, [r7, #0]
-    {
-      int offset = 0;
- 800b228:      2300            movs    r3, #0
- 800b22a:      637b            str     r3, [r7, #52]   ; 0x34
-      uint32_t ints_lengthT = ((uint32_t) (*(inbuffer + offset))); 
- 800b22c:      6b7b            ldr     r3, [r7, #52]   ; 0x34
- 800b22e:      683a            ldr     r2, [r7, #0]
- 800b230:      4413            add     r3, r2
- 800b232:      781b            ldrb    r3, [r3, #0]
- 800b234:      623b            str     r3, [r7, #32]
-      ints_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); 
- 800b236:      6b7b            ldr     r3, [r7, #52]   ; 0x34
- 800b238:      3301            adds    r3, #1
- 800b23a:      683a            ldr     r2, [r7, #0]
- 800b23c:      4413            add     r3, r2
- 800b23e:      781b            ldrb    r3, [r3, #0]
- 800b240:      021b            lsls    r3, r3, #8
- 800b242:      6a3a            ldr     r2, [r7, #32]
- 800b244:      4313            orrs    r3, r2
- 800b246:      623b            str     r3, [r7, #32]
-      ints_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); 
- 800b248:      6b7b            ldr     r3, [r7, #52]   ; 0x34
- 800b24a:      3302            adds    r3, #2
- 800b24c:      683a            ldr     r2, [r7, #0]
- 800b24e:      4413            add     r3, r2
- 800b250:      781b            ldrb    r3, [r3, #0]
- 800b252:      041b            lsls    r3, r3, #16
- 800b254:      6a3a            ldr     r2, [r7, #32]
- 800b256:      4313            orrs    r3, r2
- 800b258:      623b            str     r3, [r7, #32]
-      ints_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); 
- 800b25a:      6b7b            ldr     r3, [r7, #52]   ; 0x34
- 800b25c:      3303            adds    r3, #3
- 800b25e:      683a            ldr     r2, [r7, #0]
- 800b260:      4413            add     r3, r2
- 800b262:      781b            ldrb    r3, [r3, #0]
- 800b264:      061b            lsls    r3, r3, #24
- 800b266:      6a3a            ldr     r2, [r7, #32]
- 800b268:      4313            orrs    r3, r2
- 800b26a:      623b            str     r3, [r7, #32]
-      offset += sizeof(this->ints_length);
- 800b26c:      6b7b            ldr     r3, [r7, #52]   ; 0x34
- 800b26e:      3304            adds    r3, #4
- 800b270:      637b            str     r3, [r7, #52]   ; 0x34
-      if(ints_lengthT > ints_length)
- 800b272:      687b            ldr     r3, [r7, #4]
- 800b274:      685b            ldr     r3, [r3, #4]
- 800b276:      6a3a            ldr     r2, [r7, #32]
- 800b278:      429a            cmp     r2, r3
- 800b27a:      d90a            bls.n   800b292 <_ZN14rosserial_msgs20RequestParamResponse11deserializeEPh+0x74>
-        this->ints = (int32_t*)realloc(this->ints, ints_lengthT * sizeof(int32_t));
- 800b27c:      687b            ldr     r3, [r7, #4]
- 800b27e:      68da            ldr     r2, [r3, #12]
- 800b280:      6a3b            ldr     r3, [r7, #32]
- 800b282:      009b            lsls    r3, r3, #2
- 800b284:      4619            mov     r1, r3
- 800b286:      4610            mov     r0, r2
- 800b288:      f003 f8e2       bl      800e450 <realloc>
- 800b28c:      4602            mov     r2, r0
- 800b28e:      687b            ldr     r3, [r7, #4]
- 800b290:      60da            str     r2, [r3, #12]
-      ints_length = ints_lengthT;
- 800b292:      687b            ldr     r3, [r7, #4]
- 800b294:      6a3a            ldr     r2, [r7, #32]
- 800b296:      605a            str     r2, [r3, #4]
-      for( uint32_t i = 0; i < ints_length; i++){
- 800b298:      2300            movs    r3, #0
- 800b29a:      633b            str     r3, [r7, #48]   ; 0x30
- 800b29c:      687b            ldr     r3, [r7, #4]
- 800b29e:      685b            ldr     r3, [r3, #4]
- 800b2a0:      6b3a            ldr     r2, [r7, #48]   ; 0x30
- 800b2a2:      429a            cmp     r2, r3
- 800b2a4:      d236            bcs.n   800b314 <_ZN14rosserial_msgs20RequestParamResponse11deserializeEPh+0xf6>
-      union {
-        int32_t real;
-        uint32_t base;
-      } u_st_ints;
-      u_st_ints.base = 0;
- 800b2a6:      2300            movs    r3, #0
- 800b2a8:      617b            str     r3, [r7, #20]
-      u_st_ints.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0);
- 800b2aa:      697b            ldr     r3, [r7, #20]
- 800b2ac:      6b7a            ldr     r2, [r7, #52]   ; 0x34
- 800b2ae:      6839            ldr     r1, [r7, #0]
- 800b2b0:      440a            add     r2, r1
- 800b2b2:      7812            ldrb    r2, [r2, #0]
- 800b2b4:      4313            orrs    r3, r2
- 800b2b6:      617b            str     r3, [r7, #20]
-      u_st_ints.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1);
- 800b2b8:      697a            ldr     r2, [r7, #20]
- 800b2ba:      6b7b            ldr     r3, [r7, #52]   ; 0x34
- 800b2bc:      3301            adds    r3, #1
- 800b2be:      6839            ldr     r1, [r7, #0]
- 800b2c0:      440b            add     r3, r1
- 800b2c2:      781b            ldrb    r3, [r3, #0]
- 800b2c4:      021b            lsls    r3, r3, #8
- 800b2c6:      4313            orrs    r3, r2
- 800b2c8:      617b            str     r3, [r7, #20]
-      u_st_ints.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2);
- 800b2ca:      697a            ldr     r2, [r7, #20]
- 800b2cc:      6b7b            ldr     r3, [r7, #52]   ; 0x34
- 800b2ce:      3302            adds    r3, #2
- 800b2d0:      6839            ldr     r1, [r7, #0]
- 800b2d2:      440b            add     r3, r1
- 800b2d4:      781b            ldrb    r3, [r3, #0]
- 800b2d6:      041b            lsls    r3, r3, #16
- 800b2d8:      4313            orrs    r3, r2
- 800b2da:      617b            str     r3, [r7, #20]
-      u_st_ints.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3);
- 800b2dc:      697a            ldr     r2, [r7, #20]
- 800b2de:      6b7b            ldr     r3, [r7, #52]   ; 0x34
- 800b2e0:      3303            adds    r3, #3
- 800b2e2:      6839            ldr     r1, [r7, #0]
- 800b2e4:      440b            add     r3, r1
- 800b2e6:      781b            ldrb    r3, [r3, #0]
- 800b2e8:      061b            lsls    r3, r3, #24
- 800b2ea:      4313            orrs    r3, r2
- 800b2ec:      617b            str     r3, [r7, #20]
-      this->st_ints = u_st_ints.real;
- 800b2ee:      697a            ldr     r2, [r7, #20]
- 800b2f0:      687b            ldr     r3, [r7, #4]
- 800b2f2:      609a            str     r2, [r3, #8]
-      offset += sizeof(this->st_ints);
- 800b2f4:      6b7b            ldr     r3, [r7, #52]   ; 0x34
- 800b2f6:      3304            adds    r3, #4
- 800b2f8:      637b            str     r3, [r7, #52]   ; 0x34
-        memcpy( &(this->ints[i]), &(this->st_ints), sizeof(int32_t));
- 800b2fa:      687b            ldr     r3, [r7, #4]
- 800b2fc:      68da            ldr     r2, [r3, #12]
- 800b2fe:      6b3b            ldr     r3, [r7, #48]   ; 0x30
- 800b300:      009b            lsls    r3, r3, #2
- 800b302:      4413            add     r3, r2
- 800b304:      687a            ldr     r2, [r7, #4]
- 800b306:      3208            adds    r2, #8
- 800b308:      6812            ldr     r2, [r2, #0]
- 800b30a:      601a            str     r2, [r3, #0]
-      for( uint32_t i = 0; i < ints_length; i++){
- 800b30c:      6b3b            ldr     r3, [r7, #48]   ; 0x30
- 800b30e:      3301            adds    r3, #1
- 800b310:      633b            str     r3, [r7, #48]   ; 0x30
- 800b312:      e7c3            b.n     800b29c <_ZN14rosserial_msgs20RequestParamResponse11deserializeEPh+0x7e>
-      }
-      uint32_t floats_lengthT = ((uint32_t) (*(inbuffer + offset))); 
- 800b314:      6b7b            ldr     r3, [r7, #52]   ; 0x34
- 800b316:      683a            ldr     r2, [r7, #0]
- 800b318:      4413            add     r3, r2
- 800b31a:      781b            ldrb    r3, [r3, #0]
- 800b31c:      61fb            str     r3, [r7, #28]
-      floats_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); 
- 800b31e:      6b7b            ldr     r3, [r7, #52]   ; 0x34
- 800b320:      3301            adds    r3, #1
- 800b322:      683a            ldr     r2, [r7, #0]
- 800b324:      4413            add     r3, r2
- 800b326:      781b            ldrb    r3, [r3, #0]
- 800b328:      021b            lsls    r3, r3, #8
- 800b32a:      69fa            ldr     r2, [r7, #28]
- 800b32c:      4313            orrs    r3, r2
- 800b32e:      61fb            str     r3, [r7, #28]
-      floats_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); 
- 800b330:      6b7b            ldr     r3, [r7, #52]   ; 0x34
- 800b332:      3302            adds    r3, #2
- 800b334:      683a            ldr     r2, [r7, #0]
- 800b336:      4413            add     r3, r2
- 800b338:      781b            ldrb    r3, [r3, #0]
- 800b33a:      041b            lsls    r3, r3, #16
- 800b33c:      69fa            ldr     r2, [r7, #28]
- 800b33e:      4313            orrs    r3, r2
- 800b340:      61fb            str     r3, [r7, #28]
-      floats_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); 
- 800b342:      6b7b            ldr     r3, [r7, #52]   ; 0x34
- 800b344:      3303            adds    r3, #3
- 800b346:      683a            ldr     r2, [r7, #0]
- 800b348:      4413            add     r3, r2
- 800b34a:      781b            ldrb    r3, [r3, #0]
- 800b34c:      061b            lsls    r3, r3, #24
- 800b34e:      69fa            ldr     r2, [r7, #28]
- 800b350:      4313            orrs    r3, r2
- 800b352:      61fb            str     r3, [r7, #28]
-      offset += sizeof(this->floats_length);
- 800b354:      6b7b            ldr     r3, [r7, #52]   ; 0x34
- 800b356:      3304            adds    r3, #4
- 800b358:      637b            str     r3, [r7, #52]   ; 0x34
-      if(floats_lengthT > floats_length)
- 800b35a:      687b            ldr     r3, [r7, #4]
- 800b35c:      691b            ldr     r3, [r3, #16]
- 800b35e:      69fa            ldr     r2, [r7, #28]
- 800b360:      429a            cmp     r2, r3
- 800b362:      d90a            bls.n   800b37a <_ZN14rosserial_msgs20RequestParamResponse11deserializeEPh+0x15c>
-        this->floats = (float*)realloc(this->floats, floats_lengthT * sizeof(float));
- 800b364:      687b            ldr     r3, [r7, #4]
- 800b366:      699a            ldr     r2, [r3, #24]
- 800b368:      69fb            ldr     r3, [r7, #28]
- 800b36a:      009b            lsls    r3, r3, #2
- 800b36c:      4619            mov     r1, r3
- 800b36e:      4610            mov     r0, r2
- 800b370:      f003 f86e       bl      800e450 <realloc>
- 800b374:      4602            mov     r2, r0
- 800b376:      687b            ldr     r3, [r7, #4]
- 800b378:      619a            str     r2, [r3, #24]
-      floats_length = floats_lengthT;
- 800b37a:      687b            ldr     r3, [r7, #4]
- 800b37c:      69fa            ldr     r2, [r7, #28]
- 800b37e:      611a            str     r2, [r3, #16]
-      for( uint32_t i = 0; i < floats_length; i++){
- 800b380:      2300            movs    r3, #0
- 800b382:      62fb            str     r3, [r7, #44]   ; 0x2c
- 800b384:      687b            ldr     r3, [r7, #4]
- 800b386:      691b            ldr     r3, [r3, #16]
- 800b388:      6afa            ldr     r2, [r7, #44]   ; 0x2c
- 800b38a:      429a            cmp     r2, r3
- 800b38c:      d236            bcs.n   800b3fc <_ZN14rosserial_msgs20RequestParamResponse11deserializeEPh+0x1de>
-      union {
-        float real;
-        uint32_t base;
-      } u_st_floats;
-      u_st_floats.base = 0;
- 800b38e:      2300            movs    r3, #0
- 800b390:      613b            str     r3, [r7, #16]
-      u_st_floats.base |= ((uint32_t) (*(inbuffer + offset + 0))) << (8 * 0);
- 800b392:      693b            ldr     r3, [r7, #16]
- 800b394:      6b7a            ldr     r2, [r7, #52]   ; 0x34
- 800b396:      6839            ldr     r1, [r7, #0]
- 800b398:      440a            add     r2, r1
- 800b39a:      7812            ldrb    r2, [r2, #0]
- 800b39c:      4313            orrs    r3, r2
- 800b39e:      613b            str     r3, [r7, #16]
-      u_st_floats.base |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1);
- 800b3a0:      693a            ldr     r2, [r7, #16]
- 800b3a2:      6b7b            ldr     r3, [r7, #52]   ; 0x34
- 800b3a4:      3301            adds    r3, #1
- 800b3a6:      6839            ldr     r1, [r7, #0]
- 800b3a8:      440b            add     r3, r1
- 800b3aa:      781b            ldrb    r3, [r3, #0]
- 800b3ac:      021b            lsls    r3, r3, #8
- 800b3ae:      4313            orrs    r3, r2
- 800b3b0:      613b            str     r3, [r7, #16]
-      u_st_floats.base |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2);
- 800b3b2:      693a            ldr     r2, [r7, #16]
- 800b3b4:      6b7b            ldr     r3, [r7, #52]   ; 0x34
- 800b3b6:      3302            adds    r3, #2
- 800b3b8:      6839            ldr     r1, [r7, #0]
- 800b3ba:      440b            add     r3, r1
- 800b3bc:      781b            ldrb    r3, [r3, #0]
- 800b3be:      041b            lsls    r3, r3, #16
- 800b3c0:      4313            orrs    r3, r2
- 800b3c2:      613b            str     r3, [r7, #16]
-      u_st_floats.base |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3);
- 800b3c4:      693a            ldr     r2, [r7, #16]
- 800b3c6:      6b7b            ldr     r3, [r7, #52]   ; 0x34
- 800b3c8:      3303            adds    r3, #3
- 800b3ca:      6839            ldr     r1, [r7, #0]
- 800b3cc:      440b            add     r3, r1
- 800b3ce:      781b            ldrb    r3, [r3, #0]
- 800b3d0:      061b            lsls    r3, r3, #24
- 800b3d2:      4313            orrs    r3, r2
- 800b3d4:      613b            str     r3, [r7, #16]
-      this->st_floats = u_st_floats.real;
- 800b3d6:      693a            ldr     r2, [r7, #16]
- 800b3d8:      687b            ldr     r3, [r7, #4]
- 800b3da:      615a            str     r2, [r3, #20]
-      offset += sizeof(this->st_floats);
- 800b3dc:      6b7b            ldr     r3, [r7, #52]   ; 0x34
- 800b3de:      3304            adds    r3, #4
- 800b3e0:      637b            str     r3, [r7, #52]   ; 0x34
-        memcpy( &(this->floats[i]), &(this->st_floats), sizeof(float));
- 800b3e2:      687b            ldr     r3, [r7, #4]
- 800b3e4:      699a            ldr     r2, [r3, #24]
- 800b3e6:      6afb            ldr     r3, [r7, #44]   ; 0x2c
- 800b3e8:      009b            lsls    r3, r3, #2
- 800b3ea:      4413            add     r3, r2
- 800b3ec:      687a            ldr     r2, [r7, #4]
- 800b3ee:      3214            adds    r2, #20
- 800b3f0:      6812            ldr     r2, [r2, #0]
- 800b3f2:      601a            str     r2, [r3, #0]
-      for( uint32_t i = 0; i < floats_length; i++){
- 800b3f4:      6afb            ldr     r3, [r7, #44]   ; 0x2c
- 800b3f6:      3301            adds    r3, #1
- 800b3f8:      62fb            str     r3, [r7, #44]   ; 0x2c
- 800b3fa:      e7c3            b.n     800b384 <_ZN14rosserial_msgs20RequestParamResponse11deserializeEPh+0x166>
-      }
-      uint32_t strings_lengthT = ((uint32_t) (*(inbuffer + offset))); 
- 800b3fc:      6b7b            ldr     r3, [r7, #52]   ; 0x34
- 800b3fe:      683a            ldr     r2, [r7, #0]
- 800b400:      4413            add     r3, r2
- 800b402:      781b            ldrb    r3, [r3, #0]
- 800b404:      61bb            str     r3, [r7, #24]
-      strings_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); 
- 800b406:      6b7b            ldr     r3, [r7, #52]   ; 0x34
- 800b408:      3301            adds    r3, #1
- 800b40a:      683a            ldr     r2, [r7, #0]
- 800b40c:      4413            add     r3, r2
- 800b40e:      781b            ldrb    r3, [r3, #0]
- 800b410:      021b            lsls    r3, r3, #8
- 800b412:      69ba            ldr     r2, [r7, #24]
- 800b414:      4313            orrs    r3, r2
- 800b416:      61bb            str     r3, [r7, #24]
-      strings_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); 
- 800b418:      6b7b            ldr     r3, [r7, #52]   ; 0x34
- 800b41a:      3302            adds    r3, #2
- 800b41c:      683a            ldr     r2, [r7, #0]
- 800b41e:      4413            add     r3, r2
- 800b420:      781b            ldrb    r3, [r3, #0]
- 800b422:      041b            lsls    r3, r3, #16
- 800b424:      69ba            ldr     r2, [r7, #24]
- 800b426:      4313            orrs    r3, r2
- 800b428:      61bb            str     r3, [r7, #24]
-      strings_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); 
- 800b42a:      6b7b            ldr     r3, [r7, #52]   ; 0x34
- 800b42c:      3303            adds    r3, #3
- 800b42e:      683a            ldr     r2, [r7, #0]
- 800b430:      4413            add     r3, r2
- 800b432:      781b            ldrb    r3, [r3, #0]
- 800b434:      061b            lsls    r3, r3, #24
- 800b436:      69ba            ldr     r2, [r7, #24]
- 800b438:      4313            orrs    r3, r2
- 800b43a:      61bb            str     r3, [r7, #24]
-      offset += sizeof(this->strings_length);
- 800b43c:      6b7b            ldr     r3, [r7, #52]   ; 0x34
- 800b43e:      3304            adds    r3, #4
- 800b440:      637b            str     r3, [r7, #52]   ; 0x34
-      if(strings_lengthT > strings_length)
- 800b442:      687b            ldr     r3, [r7, #4]
- 800b444:      69db            ldr     r3, [r3, #28]
- 800b446:      69ba            ldr     r2, [r7, #24]
- 800b448:      429a            cmp     r2, r3
- 800b44a:      d90a            bls.n   800b462 <_ZN14rosserial_msgs20RequestParamResponse11deserializeEPh+0x244>
-        this->strings = (char**)realloc(this->strings, strings_lengthT * sizeof(char*));
- 800b44c:      687b            ldr     r3, [r7, #4]
- 800b44e:      6a5a            ldr     r2, [r3, #36]   ; 0x24
- 800b450:      69bb            ldr     r3, [r7, #24]
- 800b452:      009b            lsls    r3, r3, #2
- 800b454:      4619            mov     r1, r3
- 800b456:      4610            mov     r0, r2
- 800b458:      f002 fffa       bl      800e450 <realloc>
- 800b45c:      4602            mov     r2, r0
- 800b45e:      687b            ldr     r3, [r7, #4]
- 800b460:      625a            str     r2, [r3, #36]   ; 0x24
-      strings_length = strings_lengthT;
- 800b462:      687b            ldr     r3, [r7, #4]
- 800b464:      69ba            ldr     r2, [r7, #24]
- 800b466:      61da            str     r2, [r3, #28]
-      for( uint32_t i = 0; i < strings_length; i++){
- 800b468:      2300            movs    r3, #0
- 800b46a:      62bb            str     r3, [r7, #40]   ; 0x28
- 800b46c:      687b            ldr     r3, [r7, #4]
- 800b46e:      69db            ldr     r3, [r3, #28]
- 800b470:      6aba            ldr     r2, [r7, #40]   ; 0x28
- 800b472:      429a            cmp     r2, r3
- 800b474:      d23f            bcs.n   800b4f6 <_ZN14rosserial_msgs20RequestParamResponse11deserializeEPh+0x2d8>
-      uint32_t length_st_strings;
-      arrToVar(length_st_strings, (inbuffer + offset));
- 800b476:      6b7b            ldr     r3, [r7, #52]   ; 0x34
- 800b478:      683a            ldr     r2, [r7, #0]
- 800b47a:      441a            add     r2, r3
- 800b47c:      f107 030c       add.w   r3, r7, #12
- 800b480:      4611            mov     r1, r2
- 800b482:      4618            mov     r0, r3
- 800b484:      f000 fb19       bl      800baba <_ZN3ros3Msg8arrToVarImPhEEvRT_T0_>
-      offset += 4;
- 800b488:      6b7b            ldr     r3, [r7, #52]   ; 0x34
- 800b48a:      3304            adds    r3, #4
- 800b48c:      637b            str     r3, [r7, #52]   ; 0x34
-      for(unsigned int k= offset; k< offset+length_st_strings; ++k){
- 800b48e:      6b7b            ldr     r3, [r7, #52]   ; 0x34
- 800b490:      627b            str     r3, [r7, #36]   ; 0x24
- 800b492:      6b7a            ldr     r2, [r7, #52]   ; 0x34
- 800b494:      68fb            ldr     r3, [r7, #12]
- 800b496:      4413            add     r3, r2
- 800b498:      6a7a            ldr     r2, [r7, #36]   ; 0x24
- 800b49a:      429a            cmp     r2, r3
- 800b49c:      d20c            bcs.n   800b4b8 <_ZN14rosserial_msgs20RequestParamResponse11deserializeEPh+0x29a>
-          inbuffer[k-1]=inbuffer[k];
- 800b49e:      683a            ldr     r2, [r7, #0]
- 800b4a0:      6a7b            ldr     r3, [r7, #36]   ; 0x24
- 800b4a2:      441a            add     r2, r3
- 800b4a4:      6a7b            ldr     r3, [r7, #36]   ; 0x24
- 800b4a6:      3b01            subs    r3, #1
- 800b4a8:      6839            ldr     r1, [r7, #0]
- 800b4aa:      440b            add     r3, r1
- 800b4ac:      7812            ldrb    r2, [r2, #0]
- 800b4ae:      701a            strb    r2, [r3, #0]
-      for(unsigned int k= offset; k< offset+length_st_strings; ++k){
- 800b4b0:      6a7b            ldr     r3, [r7, #36]   ; 0x24
- 800b4b2:      3301            adds    r3, #1
- 800b4b4:      627b            str     r3, [r7, #36]   ; 0x24
- 800b4b6:      e7ec            b.n     800b492 <_ZN14rosserial_msgs20RequestParamResponse11deserializeEPh+0x274>
-      }
-      inbuffer[offset+length_st_strings-1]=0;
- 800b4b8:      6b7a            ldr     r2, [r7, #52]   ; 0x34
- 800b4ba:      68fb            ldr     r3, [r7, #12]
- 800b4bc:      4413            add     r3, r2
- 800b4be:      3b01            subs    r3, #1
- 800b4c0:      683a            ldr     r2, [r7, #0]
- 800b4c2:      4413            add     r3, r2
- 800b4c4:      2200            movs    r2, #0
- 800b4c6:      701a            strb    r2, [r3, #0]
-      this->st_strings = (char *)(inbuffer + offset-1);
- 800b4c8:      6b7b            ldr     r3, [r7, #52]   ; 0x34
- 800b4ca:      3b01            subs    r3, #1
- 800b4cc:      683a            ldr     r2, [r7, #0]
- 800b4ce:      441a            add     r2, r3
- 800b4d0:      687b            ldr     r3, [r7, #4]
- 800b4d2:      621a            str     r2, [r3, #32]
-      offset += length_st_strings;
- 800b4d4:      6b7a            ldr     r2, [r7, #52]   ; 0x34
- 800b4d6:      68fb            ldr     r3, [r7, #12]
- 800b4d8:      4413            add     r3, r2
- 800b4da:      637b            str     r3, [r7, #52]   ; 0x34
-        memcpy( &(this->strings[i]), &(this->st_strings), sizeof(char*));
- 800b4dc:      687b            ldr     r3, [r7, #4]
- 800b4de:      6a5a            ldr     r2, [r3, #36]   ; 0x24
- 800b4e0:      6abb            ldr     r3, [r7, #40]   ; 0x28
- 800b4e2:      009b            lsls    r3, r3, #2
- 800b4e4:      4413            add     r3, r2
- 800b4e6:      687a            ldr     r2, [r7, #4]
- 800b4e8:      3220            adds    r2, #32
- 800b4ea:      6812            ldr     r2, [r2, #0]
- 800b4ec:      601a            str     r2, [r3, #0]
-      for( uint32_t i = 0; i < strings_length; i++){
- 800b4ee:      6abb            ldr     r3, [r7, #40]   ; 0x28
- 800b4f0:      3301            adds    r3, #1
- 800b4f2:      62bb            str     r3, [r7, #40]   ; 0x28
- 800b4f4:      e7ba            b.n     800b46c <_ZN14rosserial_msgs20RequestParamResponse11deserializeEPh+0x24e>
-      }
-     return offset;
- 800b4f6:      6b7b            ldr     r3, [r7, #52]   ; 0x34
-    }
- 800b4f8:      4618            mov     r0, r3
- 800b4fa:      3738            adds    r7, #56 ; 0x38
- 800b4fc:      46bd            mov     sp, r7
- 800b4fe:      bd80            pop     {r7, pc}
-
-0800b500 <_ZN14rosserial_msgs20RequestParamResponse7getTypeEv>:
-
-    const char * getType(){ return REQUESTPARAM; };
- 800b500:      b480            push    {r7}
- 800b502:      b083            sub     sp, #12
- 800b504:      af00            add     r7, sp, #0
- 800b506:      6078            str     r0, [r7, #4]
- 800b508:      4b03            ldr     r3, [pc, #12]   ; (800b518 <_ZN14rosserial_msgs20RequestParamResponse7getTypeEv+0x18>)
- 800b50a:      4618            mov     r0, r3
- 800b50c:      370c            adds    r7, #12
- 800b50e:      46bd            mov     sp, r7
- 800b510:      f85d 7b04       ldr.w   r7, [sp], #4
- 800b514:      4770            bx      lr
- 800b516:      bf00            nop
- 800b518:      080122a4        .word   0x080122a4
-
-0800b51c <_ZN14rosserial_msgs20RequestParamResponse6getMD5Ev>:
-    const char * getMD5(){ return "9f0e98bda65981986ddf53afa7a40e49"; };
- 800b51c:      b480            push    {r7}
- 800b51e:      b083            sub     sp, #12
- 800b520:      af00            add     r7, sp, #0
- 800b522:      6078            str     r0, [r7, #4]
- 800b524:      4b03            ldr     r3, [pc, #12]   ; (800b534 <_ZN14rosserial_msgs20RequestParamResponse6getMD5Ev+0x18>)
- 800b526:      4618            mov     r0, r3
- 800b528:      370c            adds    r7, #12
- 800b52a:      46bd            mov     sp, r7
- 800b52c:      f85d 7b04       ldr.w   r7, [sp], #4
- 800b530:      4770            bx      lr
- 800b532:      bf00            nop
- 800b534:      08011a94        .word   0x08011a94
-
-0800b538 <_ZN3ros9PublisherC1EPKcPNS_3MsgEi>:
-
-/* Generic Publisher */
-class Publisher
-{
-public:
-  Publisher(const char * topic_name, Msg * msg, int endpoint = rosserial_msgs::TopicInfo::ID_PUBLISHER) :
- 800b538:      b480            push    {r7}
- 800b53a:      b085            sub     sp, #20
- 800b53c:      af00            add     r7, sp, #0
- 800b53e:      60f8            str     r0, [r7, #12]
- 800b540:      60b9            str     r1, [r7, #8]
- 800b542:      607a            str     r2, [r7, #4]
- 800b544:      603b            str     r3, [r7, #0]
-    topic_(topic_name),
-    msg_(msg),
-    endpoint_(endpoint) {};
- 800b546:      68fb            ldr     r3, [r7, #12]
- 800b548:      68ba            ldr     r2, [r7, #8]
- 800b54a:      601a            str     r2, [r3, #0]
- 800b54c:      68fb            ldr     r3, [r7, #12]
- 800b54e:      687a            ldr     r2, [r7, #4]
- 800b550:      605a            str     r2, [r3, #4]
- 800b552:      68fb            ldr     r3, [r7, #12]
- 800b554:      683a            ldr     r2, [r7, #0]
- 800b556:      611a            str     r2, [r3, #16]
- 800b558:      68fb            ldr     r3, [r7, #12]
- 800b55a:      4618            mov     r0, r3
- 800b55c:      3714            adds    r7, #20
- 800b55e:      46bd            mov     sp, r7
- 800b560:      f85d 7b04       ldr.w   r7, [sp], #4
- 800b564:      4770            bx      lr
-
-0800b566 <_ZN3ros9Publisher15getEndpointTypeEv>:
-
-  int publish(const Msg * msg)
-  {
-    return nh_->publish(id_, msg);
-  };
-  int getEndpointType()
- 800b566:      b480            push    {r7}
- 800b568:      b083            sub     sp, #12
- 800b56a:      af00            add     r7, sp, #0
- 800b56c:      6078            str     r0, [r7, #4]
-  {
-    return endpoint_;
- 800b56e:      687b            ldr     r3, [r7, #4]
- 800b570:      691b            ldr     r3, [r3, #16]
-  }
- 800b572:      4618            mov     r0, r3
- 800b574:      370c            adds    r7, #12
- 800b576:      46bd            mov     sp, r7
- 800b578:      f85d 7b04       ldr.w   r7, [sp], #4
- 800b57c:      4770            bx      lr
-
-0800b57e <_ZN13STM32Hardware10getRdmaIndEv>:
-    UART_HandleTypeDef *huart;
-
-    const static uint16_t rbuflen = 128;
-    uint8_t rbuf[rbuflen];
-    uint32_t rind;
-    inline uint32_t getRdmaInd(void){ return (rbuflen - huart->hdmarx->Instance->NDTR) & (rbuflen - 1); }
- 800b57e:      b480            push    {r7}
- 800b580:      b083            sub     sp, #12
- 800b582:      af00            add     r7, sp, #0
- 800b584:      6078            str     r0, [r7, #4]
- 800b586:      687b            ldr     r3, [r7, #4]
- 800b588:      685b            ldr     r3, [r3, #4]
- 800b58a:      6edb            ldr     r3, [r3, #108]  ; 0x6c
- 800b58c:      681b            ldr     r3, [r3, #0]
- 800b58e:      685b            ldr     r3, [r3, #4]
- 800b590:      425b            negs    r3, r3
- 800b592:      f003 037f       and.w   r3, r3, #127    ; 0x7f
- 800b596:      4618            mov     r0, r3
- 800b598:      370c            adds    r7, #12
- 800b59a:      46bd            mov     sp, r7
- 800b59c:      f85d 7b04       ldr.w   r7, [sp], #4
- 800b5a0:      4770            bx      lr
-       ...
-
-0800b5a4 <_ZN13STM32HardwareC1Ev>:
-    const static uint16_t tbuflen = 256;
-    uint8_t tbuf[tbuflen];
-    uint32_t twind, tfind;
-
-  public:
-    STM32Hardware():
- 800b5a4:      b480            push    {r7}
- 800b5a6:      b083            sub     sp, #12
- 800b5a8:      af00            add     r7, sp, #0
- 800b5aa:      6078            str     r0, [r7, #4]
-      htim(&htim2), huart(&huart3), rind(0), twind(0), tfind(0){
- 800b5ac:      687b            ldr     r3, [r7, #4]
- 800b5ae:      4a0c            ldr     r2, [pc, #48]   ; (800b5e0 <_ZN13STM32HardwareC1Ev+0x3c>)
- 800b5b0:      601a            str     r2, [r3, #0]
- 800b5b2:      687b            ldr     r3, [r7, #4]
- 800b5b4:      4a0b            ldr     r2, [pc, #44]   ; (800b5e4 <_ZN13STM32HardwareC1Ev+0x40>)
- 800b5b6:      605a            str     r2, [r3, #4]
- 800b5b8:      687b            ldr     r3, [r7, #4]
- 800b5ba:      2200            movs    r2, #0
- 800b5bc:      f8c3 2088       str.w   r2, [r3, #136]  ; 0x88
- 800b5c0:      687b            ldr     r3, [r7, #4]
- 800b5c2:      2200            movs    r2, #0
- 800b5c4:      f8c3 218c       str.w   r2, [r3, #396]  ; 0x18c
- 800b5c8:      687b            ldr     r3, [r7, #4]
- 800b5ca:      2200            movs    r2, #0
- 800b5cc:      f8c3 2190       str.w   r2, [r3, #400]  ; 0x190
-    }
- 800b5d0:      687b            ldr     r3, [r7, #4]
- 800b5d2:      4618            mov     r0, r3
- 800b5d4:      370c            adds    r7, #12
- 800b5d6:      46bd            mov     sp, r7
- 800b5d8:      f85d 7b04       ldr.w   r7, [sp], #4
- 800b5dc:      4770            bx      lr
- 800b5de:      bf00            nop
- 800b5e0:      200009e0        .word   0x200009e0
- 800b5e4:      20000a20        .word   0x20000a20
-
-0800b5e8 <_ZN13STM32Hardware4initEv>:
-
-    STM32Hardware(TIM_HandleTypeDef *htim_, UART_HandleTypeDef *huart_):
-      htim(htim_), huart(huart_), rind(0), twind(0), tfind(0){
-    }
-  
-    void init(){
- 800b5e8:      b580            push    {r7, lr}
- 800b5ea:      b082            sub     sp, #8
- 800b5ec:      af00            add     r7, sp, #0
- 800b5ee:      6078            str     r0, [r7, #4]
-      reset_rbuf();
- 800b5f0:      6878            ldr     r0, [r7, #4]
- 800b5f2:      f000 f809       bl      800b608 <_ZN13STM32Hardware10reset_rbufEv>
-
-      HAL_TIM_Base_Start(htim);
- 800b5f6:      687b            ldr     r3, [r7, #4]
- 800b5f8:      681b            ldr     r3, [r3, #0]
- 800b5fa:      4618            mov     r0, r3
- 800b5fc:      f7fe f8fc       bl      80097f8 <HAL_TIM_Base_Start>
-    }
- 800b600:      bf00            nop
- 800b602:      3708            adds    r7, #8
- 800b604:      46bd            mov     sp, r7
- 800b606:      bd80            pop     {r7, pc}
-
-0800b608 <_ZN13STM32Hardware10reset_rbufEv>:
-
-    void reset_rbuf(void){
- 800b608:      b580            push    {r7, lr}
- 800b60a:      b082            sub     sp, #8
- 800b60c:      af00            add     r7, sp, #0
- 800b60e:      6078            str     r0, [r7, #4]
-      HAL_UART_Receive_DMA(huart, rbuf, rbuflen);
- 800b610:      687b            ldr     r3, [r7, #4]
- 800b612:      6858            ldr     r0, [r3, #4]
- 800b614:      687b            ldr     r3, [r7, #4]
- 800b616:      3308            adds    r3, #8
- 800b618:      2280            movs    r2, #128        ; 0x80
- 800b61a:      4619            mov     r1, r3
- 800b61c:      f7fe fb4e       bl      8009cbc <HAL_UART_Receive_DMA>
-    }
- 800b620:      bf00            nop
- 800b622:      3708            adds    r7, #8
- 800b624:      46bd            mov     sp, r7
- 800b626:      bd80            pop     {r7, pc}
-
-0800b628 <_ZN13STM32Hardware4readEv>:
-
-    int read(){
- 800b628:      b590            push    {r4, r7, lr}
- 800b62a:      b085            sub     sp, #20
- 800b62c:      af00            add     r7, sp, #0
- 800b62e:      6078            str     r0, [r7, #4]
-      int c = -1;
- 800b630:      f04f 33ff       mov.w   r3, #4294967295 ; 0xffffffff
- 800b634:      60fb            str     r3, [r7, #12]
-      if(rind != getRdmaInd()){
- 800b636:      687b            ldr     r3, [r7, #4]
- 800b638:      f8d3 4088       ldr.w   r4, [r3, #136]  ; 0x88
- 800b63c:      6878            ldr     r0, [r7, #4]
- 800b63e:      f7ff ff9e       bl      800b57e <_ZN13STM32Hardware10getRdmaIndEv>
- 800b642:      4603            mov     r3, r0
- 800b644:      429c            cmp     r4, r3
- 800b646:      bf14            ite     ne
- 800b648:      2301            movne   r3, #1
- 800b64a:      2300            moveq   r3, #0
- 800b64c:      b2db            uxtb    r3, r3
- 800b64e:      2b00            cmp     r3, #0
- 800b650:      d012            beq.n   800b678 <_ZN13STM32Hardware4readEv+0x50>
-        c = rbuf[rind++];
- 800b652:      687b            ldr     r3, [r7, #4]
- 800b654:      f8d3 3088       ldr.w   r3, [r3, #136]  ; 0x88
- 800b658:      1c59            adds    r1, r3, #1
- 800b65a:      687a            ldr     r2, [r7, #4]
- 800b65c:      f8c2 1088       str.w   r1, [r2, #136]  ; 0x88
- 800b660:      687a            ldr     r2, [r7, #4]
- 800b662:      4413            add     r3, r2
- 800b664:      7a1b            ldrb    r3, [r3, #8]
- 800b666:      60fb            str     r3, [r7, #12]
-        rind &= rbuflen - 1;
- 800b668:      687b            ldr     r3, [r7, #4]
- 800b66a:      f8d3 3088       ldr.w   r3, [r3, #136]  ; 0x88
- 800b66e:      f003 027f       and.w   r2, r3, #127    ; 0x7f
- 800b672:      687b            ldr     r3, [r7, #4]
- 800b674:      f8c3 2088       str.w   r2, [r3, #136]  ; 0x88
-      }
-      return c;
- 800b678:      68fb            ldr     r3, [r7, #12]
-    }
- 800b67a:      4618            mov     r0, r3
- 800b67c:      3714            adds    r7, #20
- 800b67e:      46bd            mov     sp, r7
- 800b680:      bd90            pop     {r4, r7, pc}
-       ...
-
-0800b684 <_ZN13STM32Hardware5flushEv>:
-
-    void flush(void){
- 800b684:      b580            push    {r7, lr}
- 800b686:      b084            sub     sp, #16
- 800b688:      af00            add     r7, sp, #0
- 800b68a:      6078            str     r0, [r7, #4]
-      static bool mutex = false;
-
-      if((huart->gState == HAL_UART_STATE_READY) && !mutex){
- 800b68c:      687b            ldr     r3, [r7, #4]
- 800b68e:      685b            ldr     r3, [r3, #4]
- 800b690:      6f5b            ldr     r3, [r3, #116]  ; 0x74
- 800b692:      2b20            cmp     r3, #32
- 800b694:      d108            bne.n   800b6a8 <_ZN13STM32Hardware5flushEv+0x24>
- 800b696:      4b27            ldr     r3, [pc, #156]  ; (800b734 <_ZN13STM32Hardware5flushEv+0xb0>)
- 800b698:      781b            ldrb    r3, [r3, #0]
- 800b69a:      f083 0301       eor.w   r3, r3, #1
- 800b69e:      b2db            uxtb    r3, r3
- 800b6a0:      2b00            cmp     r3, #0
- 800b6a2:      d001            beq.n   800b6a8 <_ZN13STM32Hardware5flushEv+0x24>
- 800b6a4:      2301            movs    r3, #1
- 800b6a6:      e000            b.n     800b6aa <_ZN13STM32Hardware5flushEv+0x26>
- 800b6a8:      2300            movs    r3, #0
- 800b6aa:      2b00            cmp     r3, #0
- 800b6ac:      d03e            beq.n   800b72c <_ZN13STM32Hardware5flushEv+0xa8>
-        mutex = true;
- 800b6ae:      4b21            ldr     r3, [pc, #132]  ; (800b734 <_ZN13STM32Hardware5flushEv+0xb0>)
- 800b6b0:      2201            movs    r2, #1
- 800b6b2:      701a            strb    r2, [r3, #0]
-
-        if(twind != tfind){
- 800b6b4:      687b            ldr     r3, [r7, #4]
- 800b6b6:      f8d3 218c       ldr.w   r2, [r3, #396]  ; 0x18c
- 800b6ba:      687b            ldr     r3, [r7, #4]
- 800b6bc:      f8d3 3190       ldr.w   r3, [r3, #400]  ; 0x190
- 800b6c0:      429a            cmp     r2, r3
- 800b6c2:      d030            beq.n   800b726 <_ZN13STM32Hardware5flushEv+0xa2>
-          uint16_t len = tfind < twind ? twind - tfind : tbuflen - tfind;
- 800b6c4:      687b            ldr     r3, [r7, #4]
- 800b6c6:      f8d3 2190       ldr.w   r2, [r3, #400]  ; 0x190
- 800b6ca:      687b            ldr     r3, [r7, #4]
- 800b6cc:      f8d3 318c       ldr.w   r3, [r3, #396]  ; 0x18c
- 800b6d0:      429a            cmp     r2, r3
- 800b6d2:      d20a            bcs.n   800b6ea <_ZN13STM32Hardware5flushEv+0x66>
- 800b6d4:      687b            ldr     r3, [r7, #4]
- 800b6d6:      f8d3 318c       ldr.w   r3, [r3, #396]  ; 0x18c
- 800b6da:      b29a            uxth    r2, r3
- 800b6dc:      687b            ldr     r3, [r7, #4]
- 800b6de:      f8d3 3190       ldr.w   r3, [r3, #400]  ; 0x190
- 800b6e2:      b29b            uxth    r3, r3
- 800b6e4:      1ad3            subs    r3, r2, r3
- 800b6e6:      b29b            uxth    r3, r3
- 800b6e8:      e006            b.n     800b6f8 <_ZN13STM32Hardware5flushEv+0x74>
- 800b6ea:      687b            ldr     r3, [r7, #4]
- 800b6ec:      f8d3 3190       ldr.w   r3, [r3, #400]  ; 0x190
- 800b6f0:      b29b            uxth    r3, r3
- 800b6f2:      f5c3 7380       rsb     r3, r3, #256    ; 0x100
- 800b6f6:      b29b            uxth    r3, r3
- 800b6f8:      81fb            strh    r3, [r7, #14]
-          HAL_UART_Transmit_DMA(huart, &(tbuf[tfind]), len);
- 800b6fa:      687b            ldr     r3, [r7, #4]
- 800b6fc:      6858            ldr     r0, [r3, #4]
- 800b6fe:      687b            ldr     r3, [r7, #4]
- 800b700:      f8d3 3190       ldr.w   r3, [r3, #400]  ; 0x190
- 800b704:      3388            adds    r3, #136        ; 0x88
- 800b706:      687a            ldr     r2, [r7, #4]
- 800b708:      4413            add     r3, r2
- 800b70a:      3304            adds    r3, #4
- 800b70c:      89fa            ldrh    r2, [r7, #14]
- 800b70e:      4619            mov     r1, r3
- 800b710:      f7fe fa58       bl      8009bc4 <HAL_UART_Transmit_DMA>
-          tfind = (tfind + len) & (tbuflen - 1);
- 800b714:      687b            ldr     r3, [r7, #4]
- 800b716:      f8d3 2190       ldr.w   r2, [r3, #400]  ; 0x190
- 800b71a:      89fb            ldrh    r3, [r7, #14]
- 800b71c:      4413            add     r3, r2
- 800b71e:      b2da            uxtb    r2, r3
- 800b720:      687b            ldr     r3, [r7, #4]
- 800b722:      f8c3 2190       str.w   r2, [r3, #400]  ; 0x190
-        }
-        mutex = false;
- 800b726:      4b03            ldr     r3, [pc, #12]   ; (800b734 <_ZN13STM32Hardware5flushEv+0xb0>)
- 800b728:      2200            movs    r2, #0
- 800b72a:      701a            strb    r2, [r3, #0]
-      }
-    }
- 800b72c:      bf00            nop
- 800b72e:      3710            adds    r7, #16
- 800b730:      46bd            mov     sp, r7
- 800b732:      bd80            pop     {r7, pc}
- 800b734:      200009dc        .word   0x200009dc
-
-0800b738 <_ZN13STM32Hardware5writeEPhi>:
-
-    void write(uint8_t* data, int length){
- 800b738:      b580            push    {r7, lr}
- 800b73a:      b086            sub     sp, #24
- 800b73c:      af00            add     r7, sp, #0
- 800b73e:      60f8            str     r0, [r7, #12]
- 800b740:      60b9            str     r1, [r7, #8]
- 800b742:      607a            str     r2, [r7, #4]
-
-
-      int n = length;
- 800b744:      687b            ldr     r3, [r7, #4]
- 800b746:      617b            str     r3, [r7, #20]
-      n = n <= tbuflen ? n : tbuflen;
- 800b748:      697b            ldr     r3, [r7, #20]
- 800b74a:      f5b3 7f80       cmp.w   r3, #256        ; 0x100
- 800b74e:      bfa8            it      ge
- 800b750:      f44f 7380       movge.w r3, #256        ; 0x100
- 800b754:      617b            str     r3, [r7, #20]
-
-      int n_tail = n <= tbuflen - twind ? n : tbuflen - twind;
- 800b756:      68fb            ldr     r3, [r7, #12]
- 800b758:      f8d3 318c       ldr.w   r3, [r3, #396]  ; 0x18c
- 800b75c:      f5c3 7280       rsb     r2, r3, #256    ; 0x100
- 800b760:      697b            ldr     r3, [r7, #20]
- 800b762:      4293            cmp     r3, r2
- 800b764:      bf28            it      cs
- 800b766:      4613            movcs   r3, r2
- 800b768:      613b            str     r3, [r7, #16]
-      memcpy(&(tbuf[twind]), data, n_tail);
- 800b76a:      68fb            ldr     r3, [r7, #12]
- 800b76c:      f8d3 318c       ldr.w   r3, [r3, #396]  ; 0x18c
- 800b770:      3388            adds    r3, #136        ; 0x88
- 800b772:      68fa            ldr     r2, [r7, #12]
- 800b774:      4413            add     r3, r2
- 800b776:      3304            adds    r3, #4
- 800b778:      693a            ldr     r2, [r7, #16]
- 800b77a:      68b9            ldr     r1, [r7, #8]
- 800b77c:      4618            mov     r0, r3
- 800b77e:      f002 fdfa       bl      800e376 <memcpy>
-      twind = (twind + n) & (tbuflen - 1);
- 800b782:      68fb            ldr     r3, [r7, #12]
- 800b784:      f8d3 218c       ldr.w   r2, [r3, #396]  ; 0x18c
- 800b788:      697b            ldr     r3, [r7, #20]
- 800b78a:      4413            add     r3, r2
- 800b78c:      b2da            uxtb    r2, r3
- 800b78e:      68fb            ldr     r3, [r7, #12]
- 800b790:      f8c3 218c       str.w   r2, [r3, #396]  ; 0x18c
-
-      if(n != n_tail){
- 800b794:      697a            ldr     r2, [r7, #20]
- 800b796:      693b            ldr     r3, [r7, #16]
- 800b798:      429a            cmp     r2, r3
- 800b79a:      d00b            beq.n   800b7b4 <_ZN13STM32Hardware5writeEPhi+0x7c>
-        memcpy(tbuf, &(data[n_tail]), n - n_tail);
- 800b79c:      68fb            ldr     r3, [r7, #12]
- 800b79e:      f103 008c       add.w   r0, r3, #140    ; 0x8c
- 800b7a2:      693b            ldr     r3, [r7, #16]
- 800b7a4:      68ba            ldr     r2, [r7, #8]
- 800b7a6:      18d1            adds    r1, r2, r3
- 800b7a8:      697a            ldr     r2, [r7, #20]
- 800b7aa:      693b            ldr     r3, [r7, #16]
- 800b7ac:      1ad3            subs    r3, r2, r3
- 800b7ae:      461a            mov     r2, r3
- 800b7b0:      f002 fde1       bl      800e376 <memcpy>
-      }
-
-      flush();
- 800b7b4:      68f8            ldr     r0, [r7, #12]
- 800b7b6:      f7ff ff65       bl      800b684 <_ZN13STM32Hardware5flushEv>
-
-
-      //HAL_UART_Transmit(&huart3, data, length, 100);
-    }
- 800b7ba:      bf00            nop
- 800b7bc:      3718            adds    r7, #24
- 800b7be:      46bd            mov     sp, r7
- 800b7c0:      bd80            pop     {r7, pc}
-
-0800b7c2 <_ZN13STM32Hardware4timeEv>:
-
-    unsigned long time(){ return __HAL_TIM_GET_COUNTER(htim); }
- 800b7c2:      b480            push    {r7}
- 800b7c4:      b083            sub     sp, #12
- 800b7c6:      af00            add     r7, sp, #0
- 800b7c8:      6078            str     r0, [r7, #4]
- 800b7ca:      687b            ldr     r3, [r7, #4]
- 800b7cc:      681b            ldr     r3, [r3, #0]
- 800b7ce:      681b            ldr     r3, [r3, #0]
- 800b7d0:      6a5b            ldr     r3, [r3, #36]   ; 0x24
- 800b7d2:      4618            mov     r0, r3
- 800b7d4:      370c            adds    r7, #12
- 800b7d6:      46bd            mov     sp, r7
- 800b7d8:      f85d 7b04       ldr.w   r7, [sp], #4
- 800b7dc:      4770            bx      lr
-       ...
-
-0800b7e0 <main>:
-/**
-  * @brief  The application entry point.
-  * @retval int
-  */
-int main(void)
-{
- 800b7e0:      b590            push    {r4, r7, lr}
- 800b7e2:      f2ad 6df4       subw    sp, sp, #1780   ; 0x6f4
- 800b7e6:      af00            add     r7, sp, #0
-  
-
-  /* MCU Configuration--------------------------------------------------------*/
-
-  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
-  HAL_Init();
- 800b7e8:      f7fc fc02       bl      8007ff0 <HAL_Init>
-  /* USER CODE BEGIN Init */
-
-  /* USER CODE END Init */
-
-  /* Configure the system clock */
-  SystemClock_Config();
- 800b7ec:      f000 f842       bl      800b874 <_Z18SystemClock_Configv>
-  /* USER CODE BEGIN SysInit */
-
-  /* USER CODE END SysInit */
-
-  /* Initialize all configured peripherals */
-  MX_GPIO_Init();
- 800b7f0:      f000 f926       bl      800ba40 <_ZL12MX_GPIO_Initv>
-  MX_TIM2_Init();
- 800b7f4:      f000 f8c8       bl      800b988 <_ZL12MX_TIM2_Initv>
-  MX_USART3_UART_Init();
- 800b7f8:      f000 f8ee       bl      800b9d8 <_ZL19MX_USART3_UART_Initv>
-  /* USER CODE BEGIN 2 */
-       ros::NodeHandle nh;
- 800b7fc:      f107 0330       add.w   r3, r7, #48     ; 0x30
- 800b800:      4618            mov     r0, r3
- 800b802:      f000 f98f       bl      800bb24 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EEC1Ev>
-
-       std_msgs::String str_msg;
- 800b806:      f107 0328       add.w   r3, r7, #40     ; 0x28
- 800b80a:      4618            mov     r0, r3
- 800b80c:      f7fe ffc0       bl      800a790 <_ZN8std_msgs6StringC1Ev>
-       ros::Publisher chatter("chatter", &str_msg);
- 800b810:      f107 0228       add.w   r2, r7, #40     ; 0x28
- 800b814:      f107 0014       add.w   r0, r7, #20
- 800b818:      2300            movs    r3, #0
- 800b81a:      4913            ldr     r1, [pc, #76]   ; (800b868 <main+0x88>)
- 800b81c:      f7ff fe8c       bl      800b538 <_ZN3ros9PublisherC1EPKcPNS_3MsgEi>
-       char hello[] = "Hello world!";
- 800b820:      1d3b            adds    r3, r7, #4
- 800b822:      4a12            ldr     r2, [pc, #72]   ; (800b86c <main+0x8c>)
- 800b824:      461c            mov     r4, r3
- 800b826:      4613            mov     r3, r2
- 800b828:      cb0f            ldmia   r3, {r0, r1, r2, r3}
- 800b82a:      c407            stmia   r4!, {r0, r1, r2}
- 800b82c:      7023            strb    r3, [r4, #0]
-
-       nh.initNode();
- 800b82e:      f107 0330       add.w   r3, r7, #48     ; 0x30
- 800b832:      4618            mov     r0, r3
- 800b834:      f000 f9f6       bl      800bc24 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8initNodeEv>
-       nh.advertise(chatter);
- 800b838:      f107 0214       add.w   r2, r7, #20
- 800b83c:      f107 0330       add.w   r3, r7, #48     ; 0x30
- 800b840:      4611            mov     r1, r2
- 800b842:      4618            mov     r0, r3
- 800b844:      f000 fa0b       bl      800bc5e <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE9advertiseERNS_9PublisherE>
-               /*
-               str_msg.data = hello;
-               chatter.publish(&str_msg);
-               nh.spinOnce();
-               */
-               HAL_UART_Transmit(&huart3, (uint8_t*)hello, strlen(hello), 100);
- 800b848:      1d3b            adds    r3, r7, #4
- 800b84a:      4618            mov     r0, r3
- 800b84c:      f7fb fac2       bl      8006dd4 <strlen>
- 800b850:      4603            mov     r3, r0
- 800b852:      b29a            uxth    r2, r3
- 800b854:      1d39            adds    r1, r7, #4
- 800b856:      2364            movs    r3, #100        ; 0x64
- 800b858:      4805            ldr     r0, [pc, #20]   ; (800b870 <main+0x90>)
- 800b85a:      f7fe f921       bl      8009aa0 <HAL_UART_Transmit>
-
-               HAL_Delay(1000);
- 800b85e:      f44f 707a       mov.w   r0, #1000       ; 0x3e8
- 800b862:      f7fc fc23       bl      80080ac <HAL_Delay>
-               HAL_UART_Transmit(&huart3, (uint8_t*)hello, strlen(hello), 100);
- 800b866:      e7ef            b.n     800b848 <main+0x68>
- 800b868:      08011ab8        .word   0x08011ab8
- 800b86c:      08011ac0        .word   0x08011ac0
- 800b870:      20000a20        .word   0x20000a20
-
-0800b874 <_Z18SystemClock_Configv>:
-/**
-  * @brief System Clock Configuration
-  * @retval None
-  */
-void SystemClock_Config(void)
-{
- 800b874:      b580            push    {r7, lr}
- 800b876:      b0b8            sub     sp, #224        ; 0xe0
- 800b878:      af00            add     r7, sp, #0
-  RCC_OscInitTypeDef RCC_OscInitStruct = {0};
- 800b87a:      f107 03ac       add.w   r3, r7, #172    ; 0xac
- 800b87e:      2234            movs    r2, #52 ; 0x34
- 800b880:      2100            movs    r1, #0
- 800b882:      4618            mov     r0, r3
- 800b884:      f002 fd9b       bl      800e3be <memset>
-  RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
- 800b888:      f107 0398       add.w   r3, r7, #152    ; 0x98
- 800b88c:      2200            movs    r2, #0
- 800b88e:      601a            str     r2, [r3, #0]
- 800b890:      605a            str     r2, [r3, #4]
- 800b892:      609a            str     r2, [r3, #8]
- 800b894:      60da            str     r2, [r3, #12]
- 800b896:      611a            str     r2, [r3, #16]
-  RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
- 800b898:      f107 0308       add.w   r3, r7, #8
- 800b89c:      2290            movs    r2, #144        ; 0x90
- 800b89e:      2100            movs    r1, #0
- 800b8a0:      4618            mov     r0, r3
- 800b8a2:      f002 fd8c       bl      800e3be <memset>
-
-  /** Configure the main internal regulator output voltage 
-  */
-  __HAL_RCC_PWR_CLK_ENABLE();
- 800b8a6:      4b36            ldr     r3, [pc, #216]  ; (800b980 <_Z18SystemClock_Configv+0x10c>)
- 800b8a8:      6c1b            ldr     r3, [r3, #64]   ; 0x40
- 800b8aa:      4a35            ldr     r2, [pc, #212]  ; (800b980 <_Z18SystemClock_Configv+0x10c>)
- 800b8ac:      f043 5380       orr.w   r3, r3, #268435456      ; 0x10000000
- 800b8b0:      6413            str     r3, [r2, #64]   ; 0x40
- 800b8b2:      4b33            ldr     r3, [pc, #204]  ; (800b980 <_Z18SystemClock_Configv+0x10c>)
- 800b8b4:      6c1b            ldr     r3, [r3, #64]   ; 0x40
- 800b8b6:      f003 5380       and.w   r3, r3, #268435456      ; 0x10000000
- 800b8ba:      607b            str     r3, [r7, #4]
- 800b8bc:      687b            ldr     r3, [r7, #4]
-  __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3);
- 800b8be:      4b31            ldr     r3, [pc, #196]  ; (800b984 <_Z18SystemClock_Configv+0x110>)
- 800b8c0:      681b            ldr     r3, [r3, #0]
- 800b8c2:      f423 4340       bic.w   r3, r3, #49152  ; 0xc000
- 800b8c6:      4a2f            ldr     r2, [pc, #188]  ; (800b984 <_Z18SystemClock_Configv+0x110>)
- 800b8c8:      f443 4380       orr.w   r3, r3, #16384  ; 0x4000
- 800b8cc:      6013            str     r3, [r2, #0]
- 800b8ce:      4b2d            ldr     r3, [pc, #180]  ; (800b984 <_Z18SystemClock_Configv+0x110>)
- 800b8d0:      681b            ldr     r3, [r3, #0]
- 800b8d2:      f403 4340       and.w   r3, r3, #49152  ; 0xc000
- 800b8d6:      603b            str     r3, [r7, #0]
- 800b8d8:      683b            ldr     r3, [r7, #0]
-  /** Initializes the CPU, AHB and APB busses clocks 
-  */
-  RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
- 800b8da:      2302            movs    r3, #2
- 800b8dc:      f8c7 30ac       str.w   r3, [r7, #172]  ; 0xac
-  RCC_OscInitStruct.HSIState = RCC_HSI_ON;
- 800b8e0:      2301            movs    r3, #1
- 800b8e2:      f8c7 30b8       str.w   r3, [r7, #184]  ; 0xb8
-  RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
- 800b8e6:      2310            movs    r3, #16
- 800b8e8:      f8c7 30bc       str.w   r3, [r7, #188]  ; 0xbc
-  RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE;
- 800b8ec:      2300            movs    r3, #0
- 800b8ee:      f8c7 30c4       str.w   r3, [r7, #196]  ; 0xc4
-  if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
- 800b8f2:      f107 03ac       add.w   r3, r7, #172    ; 0xac
- 800b8f6:      4618            mov     r0, r3
- 800b8f8:      f7fc ff18       bl      800872c <HAL_RCC_OscConfig>
- 800b8fc:      4603            mov     r3, r0
- 800b8fe:      2b00            cmp     r3, #0
- 800b900:      bf14            ite     ne
- 800b902:      2301            movne   r3, #1
- 800b904:      2300            moveq   r3, #0
- 800b906:      b2db            uxtb    r3, r3
- 800b908:      2b00            cmp     r3, #0
- 800b90a:      d001            beq.n   800b910 <_Z18SystemClock_Configv+0x9c>
-  {
-    Error_Handler();
- 800b90c:      f000 f8b0       bl      800ba70 <Error_Handler>
-  }
-  /** Initializes the CPU, AHB and APB busses clocks 
-  */
-  RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
- 800b910:      230f            movs    r3, #15
- 800b912:      f8c7 3098       str.w   r3, [r7, #152]  ; 0x98
-                              |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
-  RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_HSI;
- 800b916:      2300            movs    r3, #0
- 800b918:      f8c7 309c       str.w   r3, [r7, #156]  ; 0x9c
-  RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
- 800b91c:      2300            movs    r3, #0
- 800b91e:      f8c7 30a0       str.w   r3, [r7, #160]  ; 0xa0
-  RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;
- 800b922:      2300            movs    r3, #0
- 800b924:      f8c7 30a4       str.w   r3, [r7, #164]  ; 0xa4
-  RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;
- 800b928:      2300            movs    r3, #0
- 800b92a:      f8c7 30a8       str.w   r3, [r7, #168]  ; 0xa8
-
-  if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK)
- 800b92e:      f107 0398       add.w   r3, r7, #152    ; 0x98
- 800b932:      2100            movs    r1, #0
- 800b934:      4618            mov     r0, r3
- 800b936:      f7fd f96b       bl      8008c10 <HAL_RCC_ClockConfig>
- 800b93a:      4603            mov     r3, r0
- 800b93c:      2b00            cmp     r3, #0
- 800b93e:      bf14            ite     ne
- 800b940:      2301            movne   r3, #1
- 800b942:      2300            moveq   r3, #0
- 800b944:      b2db            uxtb    r3, r3
- 800b946:      2b00            cmp     r3, #0
- 800b948:      d001            beq.n   800b94e <_Z18SystemClock_Configv+0xda>
-  {
-    Error_Handler();
- 800b94a:      f000 f891       bl      800ba70 <Error_Handler>
-  }
-  PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_USART3;
- 800b94e:      f44f 7380       mov.w   r3, #256        ; 0x100
- 800b952:      60bb            str     r3, [r7, #8]
-  PeriphClkInitStruct.Usart3ClockSelection = RCC_USART3CLKSOURCE_PCLK1;
- 800b954:      2300            movs    r3, #0
- 800b956:      657b            str     r3, [r7, #84]   ; 0x54
-  if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
- 800b958:      f107 0308       add.w   r3, r7, #8
- 800b95c:      4618            mov     r0, r3
- 800b95e:      f7fd fb25       bl      8008fac <HAL_RCCEx_PeriphCLKConfig>
- 800b962:      4603            mov     r3, r0
- 800b964:      2b00            cmp     r3, #0
- 800b966:      bf14            ite     ne
- 800b968:      2301            movne   r3, #1
- 800b96a:      2300            moveq   r3, #0
- 800b96c:      b2db            uxtb    r3, r3
- 800b96e:      2b00            cmp     r3, #0
- 800b970:      d001            beq.n   800b976 <_Z18SystemClock_Configv+0x102>
-  {
-    Error_Handler();
- 800b972:      f000 f87d       bl      800ba70 <Error_Handler>
-  }
-}
- 800b976:      bf00            nop
- 800b978:      37e0            adds    r7, #224        ; 0xe0
- 800b97a:      46bd            mov     sp, r7
- 800b97c:      bd80            pop     {r7, pc}
- 800b97e:      bf00            nop
- 800b980:      40023800        .word   0x40023800
- 800b984:      40007000        .word   0x40007000
-
-0800b988 <_ZL12MX_TIM2_Initv>:
-  * @brief TIM2 Initialization Function
-  * @param None
-  * @retval None
-  */
-static void MX_TIM2_Init(void)
-{
- 800b988:      b580            push    {r7, lr}
- 800b98a:      af00            add     r7, sp, #0
-  /* USER CODE END TIM2_Init 0 */
-
-  /* USER CODE BEGIN TIM2_Init 1 */
-
-  /* USER CODE END TIM2_Init 1 */
-  htim2.Instance = TIM2;
- 800b98c:      4b11            ldr     r3, [pc, #68]   ; (800b9d4 <_ZL12MX_TIM2_Initv+0x4c>)
- 800b98e:      f04f 4280       mov.w   r2, #1073741824 ; 0x40000000
- 800b992:      601a            str     r2, [r3, #0]
-  htim2.Init.Prescaler = 0;
- 800b994:      4b0f            ldr     r3, [pc, #60]   ; (800b9d4 <_ZL12MX_TIM2_Initv+0x4c>)
- 800b996:      2200            movs    r2, #0
- 800b998:      605a            str     r2, [r3, #4]
-  htim2.Init.CounterMode = TIM_COUNTERMODE_UP;
- 800b99a:      4b0e            ldr     r3, [pc, #56]   ; (800b9d4 <_ZL12MX_TIM2_Initv+0x4c>)
- 800b99c:      2200            movs    r2, #0
- 800b99e:      609a            str     r2, [r3, #8]
-  htim2.Init.Period = 0;
- 800b9a0:      4b0c            ldr     r3, [pc, #48]   ; (800b9d4 <_ZL12MX_TIM2_Initv+0x4c>)
- 800b9a2:      2200            movs    r2, #0
- 800b9a4:      60da            str     r2, [r3, #12]
-  htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
- 800b9a6:      4b0b            ldr     r3, [pc, #44]   ; (800b9d4 <_ZL12MX_TIM2_Initv+0x4c>)
- 800b9a8:      2200            movs    r2, #0
- 800b9aa:      611a            str     r2, [r3, #16]
-  htim2.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
- 800b9ac:      4b09            ldr     r3, [pc, #36]   ; (800b9d4 <_ZL12MX_TIM2_Initv+0x4c>)
- 800b9ae:      2200            movs    r2, #0
- 800b9b0:      619a            str     r2, [r3, #24]
-  if (HAL_TIM_OnePulse_Init(&htim2, TIM_OPMODE_SINGLE) != HAL_OK)
- 800b9b2:      2108            movs    r1, #8
- 800b9b4:      4807            ldr     r0, [pc, #28]   ; (800b9d4 <_ZL12MX_TIM2_Initv+0x4c>)
- 800b9b6:      f7fd ff49       bl      800984c <HAL_TIM_OnePulse_Init>
- 800b9ba:      4603            mov     r3, r0
- 800b9bc:      2b00            cmp     r3, #0
- 800b9be:      bf14            ite     ne
- 800b9c0:      2301            movne   r3, #1
- 800b9c2:      2300            moveq   r3, #0
- 800b9c4:      b2db            uxtb    r3, r3
- 800b9c6:      2b00            cmp     r3, #0
- 800b9c8:      d001            beq.n   800b9ce <_ZL12MX_TIM2_Initv+0x46>
-  {
-    Error_Handler();
- 800b9ca:      f000 f851       bl      800ba70 <Error_Handler>
-  }
-  /* USER CODE BEGIN TIM2_Init 2 */
-
-  /* USER CODE END TIM2_Init 2 */
-
-}
- 800b9ce:      bf00            nop
- 800b9d0:      bd80            pop     {r7, pc}
- 800b9d2:      bf00            nop
- 800b9d4:      200009e0        .word   0x200009e0
-
-0800b9d8 <_ZL19MX_USART3_UART_Initv>:
-  * @brief USART3 Initialization Function
-  * @param None
-  * @retval None
-  */
-static void MX_USART3_UART_Init(void)
-{
- 800b9d8:      b580            push    {r7, lr}
- 800b9da:      af00            add     r7, sp, #0
-  /* USER CODE END USART3_Init 0 */
-
-  /* USER CODE BEGIN USART3_Init 1 */
-
-  /* USER CODE END USART3_Init 1 */
-  huart3.Instance = USART3;
- 800b9dc:      4b16            ldr     r3, [pc, #88]   ; (800ba38 <_ZL19MX_USART3_UART_Initv+0x60>)
- 800b9de:      4a17            ldr     r2, [pc, #92]   ; (800ba3c <_ZL19MX_USART3_UART_Initv+0x64>)
- 800b9e0:      601a            str     r2, [r3, #0]
-  huart3.Init.BaudRate = 115200;
- 800b9e2:      4b15            ldr     r3, [pc, #84]   ; (800ba38 <_ZL19MX_USART3_UART_Initv+0x60>)
- 800b9e4:      f44f 32e1       mov.w   r2, #115200     ; 0x1c200
- 800b9e8:      605a            str     r2, [r3, #4]
-  huart3.Init.WordLength = UART_WORDLENGTH_8B;
- 800b9ea:      4b13            ldr     r3, [pc, #76]   ; (800ba38 <_ZL19MX_USART3_UART_Initv+0x60>)
- 800b9ec:      2200            movs    r2, #0
- 800b9ee:      609a            str     r2, [r3, #8]
-  huart3.Init.StopBits = UART_STOPBITS_1;
- 800b9f0:      4b11            ldr     r3, [pc, #68]   ; (800ba38 <_ZL19MX_USART3_UART_Initv+0x60>)
- 800b9f2:      2200            movs    r2, #0
- 800b9f4:      60da            str     r2, [r3, #12]
-  huart3.Init.Parity = UART_PARITY_NONE;
- 800b9f6:      4b10            ldr     r3, [pc, #64]   ; (800ba38 <_ZL19MX_USART3_UART_Initv+0x60>)
- 800b9f8:      2200            movs    r2, #0
- 800b9fa:      611a            str     r2, [r3, #16]
-  huart3.Init.Mode = UART_MODE_TX_RX;
- 800b9fc:      4b0e            ldr     r3, [pc, #56]   ; (800ba38 <_ZL19MX_USART3_UART_Initv+0x60>)
- 800b9fe:      220c            movs    r2, #12
- 800ba00:      615a            str     r2, [r3, #20]
-  huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE;
- 800ba02:      4b0d            ldr     r3, [pc, #52]   ; (800ba38 <_ZL19MX_USART3_UART_Initv+0x60>)
- 800ba04:      2200            movs    r2, #0
- 800ba06:      619a            str     r2, [r3, #24]
-  huart3.Init.OverSampling = UART_OVERSAMPLING_16;
- 800ba08:      4b0b            ldr     r3, [pc, #44]   ; (800ba38 <_ZL19MX_USART3_UART_Initv+0x60>)
- 800ba0a:      2200            movs    r2, #0
- 800ba0c:      61da            str     r2, [r3, #28]
-  huart3.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE;
- 800ba0e:      4b0a            ldr     r3, [pc, #40]   ; (800ba38 <_ZL19MX_USART3_UART_Initv+0x60>)
- 800ba10:      2200            movs    r2, #0
- 800ba12:      621a            str     r2, [r3, #32]
-  huart3.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT;
- 800ba14:      4b08            ldr     r3, [pc, #32]   ; (800ba38 <_ZL19MX_USART3_UART_Initv+0x60>)
- 800ba16:      2200            movs    r2, #0
- 800ba18:      625a            str     r2, [r3, #36]   ; 0x24
-  if (HAL_UART_Init(&huart3) != HAL_OK)
- 800ba1a:      4807            ldr     r0, [pc, #28]   ; (800ba38 <_ZL19MX_USART3_UART_Initv+0x60>)
- 800ba1c:      f7fd fff2       bl      8009a04 <HAL_UART_Init>
- 800ba20:      4603            mov     r3, r0
- 800ba22:      2b00            cmp     r3, #0
- 800ba24:      bf14            ite     ne
- 800ba26:      2301            movne   r3, #1
- 800ba28:      2300            moveq   r3, #0
- 800ba2a:      b2db            uxtb    r3, r3
- 800ba2c:      2b00            cmp     r3, #0
- 800ba2e:      d001            beq.n   800ba34 <_ZL19MX_USART3_UART_Initv+0x5c>
-  {
-    Error_Handler();
- 800ba30:      f000 f81e       bl      800ba70 <Error_Handler>
-  }
-  /* USER CODE BEGIN USART3_Init 2 */
-
-  /* USER CODE END USART3_Init 2 */
-
-}
- 800ba34:      bf00            nop
- 800ba36:      bd80            pop     {r7, pc}
- 800ba38:      20000a20        .word   0x20000a20
- 800ba3c:      40004800        .word   0x40004800
-
-0800ba40 <_ZL12MX_GPIO_Initv>:
-  * @brief GPIO Initialization Function
-  * @param None
-  * @retval None
-  */
-static void MX_GPIO_Init(void)
-{
- 800ba40:      b480            push    {r7}
- 800ba42:      b083            sub     sp, #12
- 800ba44:      af00            add     r7, sp, #0
-
-  /* GPIO Ports Clock Enable */
-  __HAL_RCC_GPIOD_CLK_ENABLE();
- 800ba46:      4b09            ldr     r3, [pc, #36]   ; (800ba6c <_ZL12MX_GPIO_Initv+0x2c>)
- 800ba48:      6b1b            ldr     r3, [r3, #48]   ; 0x30
- 800ba4a:      4a08            ldr     r2, [pc, #32]   ; (800ba6c <_ZL12MX_GPIO_Initv+0x2c>)
- 800ba4c:      f043 0308       orr.w   r3, r3, #8
- 800ba50:      6313            str     r3, [r2, #48]   ; 0x30
- 800ba52:      4b06            ldr     r3, [pc, #24]   ; (800ba6c <_ZL12MX_GPIO_Initv+0x2c>)
- 800ba54:      6b1b            ldr     r3, [r3, #48]   ; 0x30
- 800ba56:      f003 0308       and.w   r3, r3, #8
- 800ba5a:      607b            str     r3, [r7, #4]
- 800ba5c:      687b            ldr     r3, [r7, #4]
-
-}
- 800ba5e:      bf00            nop
- 800ba60:      370c            adds    r7, #12
- 800ba62:      46bd            mov     sp, r7
- 800ba64:      f85d 7b04       ldr.w   r7, [sp], #4
- 800ba68:      4770            bx      lr
- 800ba6a:      bf00            nop
- 800ba6c:      40023800        .word   0x40023800
-
-0800ba70 <Error_Handler>:
-/**
-  * @brief  This function is executed in case of error occurrence.
-  * @retval None
-  */
-void Error_Handler(void)
-{
- 800ba70:      b480            push    {r7}
- 800ba72:      af00            add     r7, sp, #0
-  /* USER CODE BEGIN Error_Handler_Debug */
-       /* User can add his own implementation to report the HAL error return state */
-
-  /* USER CODE END Error_Handler_Debug */
-}
- 800ba74:      bf00            nop
- 800ba76:      46bd            mov     sp, r7
- 800ba78:      f85d 7b04       ldr.w   r7, [sp], #4
- 800ba7c:      4770            bx      lr
-
-0800ba7e <_ZN3ros3Msg8varToArrIPhmEEvT_T0_>:
-    return 8;
-  }
-
-  // Copy data from variable into a byte array
-  template<typename A, typename V>
-  static void varToArr(A arr, const V var)
- 800ba7e:      b480            push    {r7}
- 800ba80:      b085            sub     sp, #20
- 800ba82:      af00            add     r7, sp, #0
- 800ba84:      6078            str     r0, [r7, #4]
- 800ba86:      6039            str     r1, [r7, #0]
-  {
-    for (size_t i = 0; i < sizeof(V); i++)
- 800ba88:      2300            movs    r3, #0
- 800ba8a:      60fb            str     r3, [r7, #12]
- 800ba8c:      68fb            ldr     r3, [r7, #12]
- 800ba8e:      2b03            cmp     r3, #3
- 800ba90:      d80d            bhi.n   800baae <_ZN3ros3Msg8varToArrIPhmEEvT_T0_+0x30>
-      arr[i] = (var >> (8 * i));
- 800ba92:      68fb            ldr     r3, [r7, #12]
- 800ba94:      00db            lsls    r3, r3, #3
- 800ba96:      683a            ldr     r2, [r7, #0]
- 800ba98:      fa22 f103       lsr.w   r1, r2, r3
- 800ba9c:      687a            ldr     r2, [r7, #4]
- 800ba9e:      68fb            ldr     r3, [r7, #12]
- 800baa0:      4413            add     r3, r2
- 800baa2:      b2ca            uxtb    r2, r1
- 800baa4:      701a            strb    r2, [r3, #0]
-    for (size_t i = 0; i < sizeof(V); i++)
- 800baa6:      68fb            ldr     r3, [r7, #12]
- 800baa8:      3301            adds    r3, #1
- 800baaa:      60fb            str     r3, [r7, #12]
- 800baac:      e7ee            b.n     800ba8c <_ZN3ros3Msg8varToArrIPhmEEvT_T0_+0xe>
-  }
- 800baae:      bf00            nop
- 800bab0:      3714            adds    r7, #20
- 800bab2:      46bd            mov     sp, r7
- 800bab4:      f85d 7b04       ldr.w   r7, [sp], #4
- 800bab8:      4770            bx      lr
-
-0800baba <_ZN3ros3Msg8arrToVarImPhEEvRT_T0_>:
-
-  // Copy data from a byte array into variable
-  template<typename V, typename A>
-  static void arrToVar(V& var, const A arr)
- 800baba:      b480            push    {r7}
- 800babc:      b085            sub     sp, #20
- 800babe:      af00            add     r7, sp, #0
- 800bac0:      6078            str     r0, [r7, #4]
- 800bac2:      6039            str     r1, [r7, #0]
-  {
-    var = 0;
- 800bac4:      687b            ldr     r3, [r7, #4]
- 800bac6:      2200            movs    r2, #0
- 800bac8:      601a            str     r2, [r3, #0]
-    for (size_t i = 0; i < sizeof(V); i++)
- 800baca:      2300            movs    r3, #0
- 800bacc:      60fb            str     r3, [r7, #12]
- 800bace:      68fb            ldr     r3, [r7, #12]
- 800bad0:      2b03            cmp     r3, #3
- 800bad2:      d811            bhi.n   800baf8 <_ZN3ros3Msg8arrToVarImPhEEvRT_T0_+0x3e>
-      var |= (arr[i] << (8 * i));
- 800bad4:      687b            ldr     r3, [r7, #4]
- 800bad6:      681b            ldr     r3, [r3, #0]
- 800bad8:      6839            ldr     r1, [r7, #0]
- 800bada:      68fa            ldr     r2, [r7, #12]
- 800badc:      440a            add     r2, r1
- 800bade:      7812            ldrb    r2, [r2, #0]
- 800bae0:      4611            mov     r1, r2
- 800bae2:      68fa            ldr     r2, [r7, #12]
- 800bae4:      00d2            lsls    r2, r2, #3
- 800bae6:      fa01 f202       lsl.w   r2, r1, r2
- 800baea:      431a            orrs    r2, r3
- 800baec:      687b            ldr     r3, [r7, #4]
- 800baee:      601a            str     r2, [r3, #0]
-    for (size_t i = 0; i < sizeof(V); i++)
- 800baf0:      68fb            ldr     r3, [r7, #12]
- 800baf2:      3301            adds    r3, #1
- 800baf4:      60fb            str     r3, [r7, #12]
- 800baf6:      e7ea            b.n     800bace <_ZN3ros3Msg8arrToVarImPhEEvRT_T0_+0x14>
-  }
- 800baf8:      bf00            nop
- 800bafa:      3714            adds    r7, #20
- 800bafc:      46bd            mov     sp, r7
- 800bafe:      f85d 7b04       ldr.w   r7, [sp], #4
- 800bb02:      4770            bx      lr
-
-0800bb04 <_ZN3ros15NodeHandleBase_C1Ev>:
-#include "ros/msg.h"
-
-namespace ros
-{
-
-class NodeHandleBase_
- 800bb04:      b480            push    {r7}
- 800bb06:      b083            sub     sp, #12
- 800bb08:      af00            add     r7, sp, #0
- 800bb0a:      6078            str     r0, [r7, #4]
- 800bb0c:      4a04            ldr     r2, [pc, #16]   ; (800bb20 <_ZN3ros15NodeHandleBase_C1Ev+0x1c>)
- 800bb0e:      687b            ldr     r3, [r7, #4]
- 800bb10:      601a            str     r2, [r3, #0]
- 800bb12:      687b            ldr     r3, [r7, #4]
- 800bb14:      4618            mov     r0, r3
- 800bb16:      370c            adds    r7, #12
- 800bb18:      46bd            mov     sp, r7
- 800bb1a:      f85d 7b04       ldr.w   r7, [sp], #4
- 800bb1e:      4770            bx      lr
- 800bb20:      080122dc        .word   0x080122dc
-
-0800bb24 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EEC1Ev>:
-
-  /*
-   * Setup Functions
-   */
-public:
-  NodeHandle_() : configured_(false)
- 800bb24:      b580            push    {r7, lr}
- 800bb26:      b086            sub     sp, #24
- 800bb28:      af00            add     r7, sp, #0
- 800bb2a:      6078            str     r0, [r7, #4]
- 800bb2c:      687b            ldr     r3, [r7, #4]
- 800bb2e:      4618            mov     r0, r3
- 800bb30:      f7ff ffe8       bl      800bb04 <_ZN3ros15NodeHandleBase_C1Ev>
- 800bb34:      4a3a            ldr     r2, [pc, #232]  ; (800bc20 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EEC1Ev+0xfc>)
- 800bb36:      687b            ldr     r3, [r7, #4]
- 800bb38:      601a            str     r2, [r3, #0]
- 800bb3a:      687b            ldr     r3, [r7, #4]
- 800bb3c:      3304            adds    r3, #4
- 800bb3e:      4618            mov     r0, r3
- 800bb40:      f7ff fd30       bl      800b5a4 <_ZN13STM32HardwareC1Ev>
- 800bb44:      687b            ldr     r3, [r7, #4]
- 800bb46:      2200            movs    r2, #0
- 800bb48:      f883 2684       strb.w  r2, [r3, #1668] ; 0x684
- 800bb4c:      687b            ldr     r3, [r7, #4]
- 800bb4e:      f503 63d3       add.w   r3, r3, #1688   ; 0x698
- 800bb52:      4618            mov     r0, r3
- 800bb54:      f7ff fa2e       bl      800afb4 <_ZN14rosserial_msgs20RequestParamResponseC1Ev>
-  {
-
-    for (unsigned int i = 0; i < MAX_PUBLISHERS; i++)
- 800bb58:      2300            movs    r3, #0
- 800bb5a:      617b            str     r3, [r7, #20]
- 800bb5c:      697b            ldr     r3, [r7, #20]
- 800bb5e:      2b18            cmp     r3, #24
- 800bb60:      d80a            bhi.n   800bb78 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EEC1Ev+0x54>
-      publishers[i] = 0;
- 800bb62:      687b            ldr     r3, [r7, #4]
- 800bb64:      697a            ldr     r2, [r7, #20]
- 800bb66:      f502 72b5       add.w   r2, r2, #362    ; 0x16a
- 800bb6a:      2100            movs    r1, #0
- 800bb6c:      f843 1022       str.w   r1, [r3, r2, lsl #2]
-    for (unsigned int i = 0; i < MAX_PUBLISHERS; i++)
- 800bb70:      697b            ldr     r3, [r7, #20]
- 800bb72:      3301            adds    r3, #1
- 800bb74:      617b            str     r3, [r7, #20]
- 800bb76:      e7f1            b.n     800bb5c <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EEC1Ev+0x38>
-
-    for (unsigned int i = 0; i < MAX_SUBSCRIBERS; i++)
- 800bb78:      2300            movs    r3, #0
- 800bb7a:      613b            str     r3, [r7, #16]
- 800bb7c:      693b            ldr     r3, [r7, #16]
- 800bb7e:      2b18            cmp     r3, #24
- 800bb80:      d80b            bhi.n   800bb9a <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EEC1Ev+0x76>
-      subscribers[i] = 0;
- 800bb82:      687a            ldr     r2, [r7, #4]
- 800bb84:      693b            ldr     r3, [r7, #16]
- 800bb86:      f503 73c1       add.w   r3, r3, #386    ; 0x182
- 800bb8a:      009b            lsls    r3, r3, #2
- 800bb8c:      4413            add     r3, r2
- 800bb8e:      2200            movs    r2, #0
- 800bb90:      605a            str     r2, [r3, #4]
-    for (unsigned int i = 0; i < MAX_SUBSCRIBERS; i++)
- 800bb92:      693b            ldr     r3, [r7, #16]
- 800bb94:      3301            adds    r3, #1
- 800bb96:      613b            str     r3, [r7, #16]
- 800bb98:      e7f0            b.n     800bb7c <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EEC1Ev+0x58>
-
-    for (unsigned int i = 0; i < INPUT_SIZE; i++)
- 800bb9a:      2300            movs    r3, #0
- 800bb9c:      60fb            str     r3, [r7, #12]
- 800bb9e:      68fb            ldr     r3, [r7, #12]
- 800bba0:      f5b3 7f00       cmp.w   r3, #512        ; 0x200
- 800bba4:      d20a            bcs.n   800bbbc <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EEC1Ev+0x98>
-      message_in[i] = 0;
- 800bba6:      687a            ldr     r2, [r7, #4]
- 800bba8:      68fb            ldr     r3, [r7, #12]
- 800bbaa:      4413            add     r3, r2
- 800bbac:      f503 73d4       add.w   r3, r3, #424    ; 0x1a8
- 800bbb0:      2200            movs    r2, #0
- 800bbb2:      701a            strb    r2, [r3, #0]
-    for (unsigned int i = 0; i < INPUT_SIZE; i++)
- 800bbb4:      68fb            ldr     r3, [r7, #12]
- 800bbb6:      3301            adds    r3, #1
- 800bbb8:      60fb            str     r3, [r7, #12]
- 800bbba:      e7f0            b.n     800bb9e <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EEC1Ev+0x7a>
-
-    for (unsigned int i = 0; i < OUTPUT_SIZE; i++)
- 800bbbc:      2300            movs    r3, #0
- 800bbbe:      60bb            str     r3, [r7, #8]
- 800bbc0:      68bb            ldr     r3, [r7, #8]
- 800bbc2:      f5b3 7f00       cmp.w   r3, #512        ; 0x200
- 800bbc6:      d20a            bcs.n   800bbde <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EEC1Ev+0xba>
-      message_out[i] = 0;
- 800bbc8:      687a            ldr     r2, [r7, #4]
- 800bbca:      68bb            ldr     r3, [r7, #8]
- 800bbcc:      4413            add     r3, r2
- 800bbce:      f503 736a       add.w   r3, r3, #936    ; 0x3a8
- 800bbd2:      2200            movs    r2, #0
- 800bbd4:      701a            strb    r2, [r3, #0]
-    for (unsigned int i = 0; i < OUTPUT_SIZE; i++)
- 800bbd6:      68bb            ldr     r3, [r7, #8]
- 800bbd8:      3301            adds    r3, #1
- 800bbda:      60bb            str     r3, [r7, #8]
- 800bbdc:      e7f0            b.n     800bbc0 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EEC1Ev+0x9c>
-
-    req_param_resp.ints_length = 0;
- 800bbde:      687b            ldr     r3, [r7, #4]
- 800bbe0:      2200            movs    r2, #0
- 800bbe2:      f8c3 269c       str.w   r2, [r3, #1692] ; 0x69c
-    req_param_resp.ints = NULL;
- 800bbe6:      687b            ldr     r3, [r7, #4]
- 800bbe8:      2200            movs    r2, #0
- 800bbea:      f8c3 26a4       str.w   r2, [r3, #1700] ; 0x6a4
-    req_param_resp.floats_length = 0;
- 800bbee:      687b            ldr     r3, [r7, #4]
- 800bbf0:      2200            movs    r2, #0
- 800bbf2:      f8c3 26a8       str.w   r2, [r3, #1704] ; 0x6a8
-    req_param_resp.floats = NULL;
- 800bbf6:      687b            ldr     r3, [r7, #4]
- 800bbf8:      2200            movs    r2, #0
- 800bbfa:      f8c3 26b0       str.w   r2, [r3, #1712] ; 0x6b0
-    req_param_resp.ints_length = 0;
- 800bbfe:      687b            ldr     r3, [r7, #4]
- 800bc00:      2200            movs    r2, #0
- 800bc02:      f8c3 269c       str.w   r2, [r3, #1692] ; 0x69c
-    req_param_resp.ints = NULL;
- 800bc06:      687b            ldr     r3, [r7, #4]
- 800bc08:      2200            movs    r2, #0
- 800bc0a:      f8c3 26a4       str.w   r2, [r3, #1700] ; 0x6a4
-
-    spin_timeout_ = 0;
- 800bc0e:      687b            ldr     r3, [r7, #4]
- 800bc10:      2200            movs    r2, #0
- 800bc12:      f8c3 21a4       str.w   r2, [r3, #420]  ; 0x1a4
-  }
- 800bc16:      687b            ldr     r3, [r7, #4]
- 800bc18:      4618            mov     r0, r3
- 800bc1a:      3718            adds    r7, #24
- 800bc1c:      46bd            mov     sp, r7
- 800bc1e:      bd80            pop     {r7, pc}
- 800bc20:      080122c8        .word   0x080122c8
-
-0800bc24 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8initNodeEv>:
-  {
-    return &hardware_;
-  }
-
-  /* Start serial, initialize buffers */
-  void initNode()
- 800bc24:      b580            push    {r7, lr}
- 800bc26:      b082            sub     sp, #8
- 800bc28:      af00            add     r7, sp, #0
- 800bc2a:      6078            str     r0, [r7, #4]
-  {
-    hardware_.init();
- 800bc2c:      687b            ldr     r3, [r7, #4]
- 800bc2e:      3304            adds    r3, #4
- 800bc30:      4618            mov     r0, r3
- 800bc32:      f7ff fcd9       bl      800b5e8 <_ZN13STM32Hardware4initEv>
-    mode_ = 0;
- 800bc36:      687b            ldr     r3, [r7, #4]
- 800bc38:      2200            movs    r2, #0
- 800bc3a:      f8c3 2670       str.w   r2, [r3, #1648] ; 0x670
-    bytes_ = 0;
- 800bc3e:      687b            ldr     r3, [r7, #4]
- 800bc40:      2200            movs    r2, #0
- 800bc42:      f8c3 2674       str.w   r2, [r3, #1652] ; 0x674
-    index_ = 0;
- 800bc46:      687b            ldr     r3, [r7, #4]
- 800bc48:      2200            movs    r2, #0
- 800bc4a:      f8c3 267c       str.w   r2, [r3, #1660] ; 0x67c
-    topic_ = 0;
- 800bc4e:      687b            ldr     r3, [r7, #4]
- 800bc50:      2200            movs    r2, #0
- 800bc52:      f8c3 2678       str.w   r2, [r3, #1656] ; 0x678
-  };
- 800bc56:      bf00            nop
- 800bc58:      3708            adds    r7, #8
- 800bc5a:      46bd            mov     sp, r7
- 800bc5c:      bd80            pop     {r7, pc}
-
-0800bc5e <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE9advertiseERNS_9PublisherE>:
-  /********************************************************************
-   * Topic Management
-   */
-
-  /* Register a new publisher */
-  bool advertise(Publisher & p)
- 800bc5e:      b480            push    {r7}
- 800bc60:      b085            sub     sp, #20
- 800bc62:      af00            add     r7, sp, #0
- 800bc64:      6078            str     r0, [r7, #4]
- 800bc66:      6039            str     r1, [r7, #0]
-  {
-    for (int i = 0; i < MAX_PUBLISHERS; i++)
- 800bc68:      2300            movs    r3, #0
- 800bc6a:      60fb            str     r3, [r7, #12]
- 800bc6c:      68fb            ldr     r3, [r7, #12]
- 800bc6e:      2b18            cmp     r3, #24
- 800bc70:      dc1c            bgt.n   800bcac <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE9advertiseERNS_9PublisherE+0x4e>
-    {
-      if (publishers[i] == 0) // empty slot
- 800bc72:      687b            ldr     r3, [r7, #4]
- 800bc74:      68fa            ldr     r2, [r7, #12]
- 800bc76:      f502 72b5       add.w   r2, r2, #362    ; 0x16a
- 800bc7a:      f853 3022       ldr.w   r3, [r3, r2, lsl #2]
- 800bc7e:      2b00            cmp     r3, #0
- 800bc80:      d110            bne.n   800bca4 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE9advertiseERNS_9PublisherE+0x46>
-      {
-        publishers[i] = &p;
- 800bc82:      687b            ldr     r3, [r7, #4]
- 800bc84:      68fa            ldr     r2, [r7, #12]
- 800bc86:      f502 72b5       add.w   r2, r2, #362    ; 0x16a
- 800bc8a:      6839            ldr     r1, [r7, #0]
- 800bc8c:      f843 1022       str.w   r1, [r3, r2, lsl #2]
-        p.id_ = i + 100 + MAX_SUBSCRIBERS;
- 800bc90:      68fb            ldr     r3, [r7, #12]
- 800bc92:      f103 027d       add.w   r2, r3, #125    ; 0x7d
- 800bc96:      683b            ldr     r3, [r7, #0]
- 800bc98:      609a            str     r2, [r3, #8]
-        p.nh_ = this;
- 800bc9a:      687a            ldr     r2, [r7, #4]
- 800bc9c:      683b            ldr     r3, [r7, #0]
- 800bc9e:      60da            str     r2, [r3, #12]
-        return true;
- 800bca0:      2301            movs    r3, #1
- 800bca2:      e004            b.n     800bcae <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE9advertiseERNS_9PublisherE+0x50>
-    for (int i = 0; i < MAX_PUBLISHERS; i++)
- 800bca4:      68fb            ldr     r3, [r7, #12]
- 800bca6:      3301            adds    r3, #1
- 800bca8:      60fb            str     r3, [r7, #12]
- 800bcaa:      e7df            b.n     800bc6c <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE9advertiseERNS_9PublisherE+0xe>
-      }
-    }
-    return false;
- 800bcac:      2300            movs    r3, #0
-  }
- 800bcae:      4618            mov     r0, r3
- 800bcb0:      3714            adds    r7, #20
- 800bcb2:      46bd            mov     sp, r7
- 800bcb4:      f85d 7b04       ldr.w   r7, [sp], #4
- 800bcb8:      4770            bx      lr
-       ...
-
-0800bcbc <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE7publishEiPKNS_3MsgE>:
-      }
-    }
-    configured_ = true;
-  }
-
-  virtual int publish(int id, const Msg * msg)
- 800bcbc:      b580            push    {r7, lr}
- 800bcbe:      b088            sub     sp, #32
- 800bcc0:      af00            add     r7, sp, #0
- 800bcc2:      60f8            str     r0, [r7, #12]
- 800bcc4:      60b9            str     r1, [r7, #8]
- 800bcc6:      607a            str     r2, [r7, #4]
-  {
-    if (id >= 100 && !configured_)
- 800bcc8:      68bb            ldr     r3, [r7, #8]
- 800bcca:      2b63            cmp     r3, #99 ; 0x63
- 800bccc:      dd09            ble.n   800bce2 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE7publishEiPKNS_3MsgE+0x26>
- 800bcce:      68fb            ldr     r3, [r7, #12]
- 800bcd0:      f893 3684       ldrb.w  r3, [r3, #1668] ; 0x684
- 800bcd4:      f083 0301       eor.w   r3, r3, #1
- 800bcd8:      b2db            uxtb    r3, r3
- 800bcda:      2b00            cmp     r3, #0
- 800bcdc:      d001            beq.n   800bce2 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE7publishEiPKNS_3MsgE+0x26>
-      return 0;
- 800bcde:      2300            movs    r3, #0
- 800bce0:      e077            b.n     800bdd2 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE7publishEiPKNS_3MsgE+0x116>
-
-    /* serialize message */
-    int l = msg->serialize(message_out + 7);
- 800bce2:      687b            ldr     r3, [r7, #4]
- 800bce4:      681b            ldr     r3, [r3, #0]
- 800bce6:      681b            ldr     r3, [r3, #0]
- 800bce8:      68fa            ldr     r2, [r7, #12]
- 800bcea:      f502 726a       add.w   r2, r2, #936    ; 0x3a8
- 800bcee:      3207            adds    r2, #7
- 800bcf0:      4611            mov     r1, r2
- 800bcf2:      6878            ldr     r0, [r7, #4]
- 800bcf4:      4798            blx     r3
- 800bcf6:      6178            str     r0, [r7, #20]
-
-    /* setup the header */
-    message_out[0] = 0xff;
- 800bcf8:      68fb            ldr     r3, [r7, #12]
- 800bcfa:      22ff            movs    r2, #255        ; 0xff
- 800bcfc:      f883 23a8       strb.w  r2, [r3, #936]  ; 0x3a8
-    message_out[1] = PROTOCOL_VER;
- 800bd00:      68fb            ldr     r3, [r7, #12]
- 800bd02:      22fe            movs    r2, #254        ; 0xfe
- 800bd04:      f883 23a9       strb.w  r2, [r3, #937]  ; 0x3a9
-    message_out[2] = (uint8_t)((uint16_t)l & 255);
- 800bd08:      697b            ldr     r3, [r7, #20]
- 800bd0a:      b2da            uxtb    r2, r3
- 800bd0c:      68fb            ldr     r3, [r7, #12]
- 800bd0e:      f883 23aa       strb.w  r2, [r3, #938]  ; 0x3aa
-    message_out[3] = (uint8_t)((uint16_t)l >> 8);
- 800bd12:      697b            ldr     r3, [r7, #20]
- 800bd14:      b29b            uxth    r3, r3
- 800bd16:      121b            asrs    r3, r3, #8
- 800bd18:      b2da            uxtb    r2, r3
- 800bd1a:      68fb            ldr     r3, [r7, #12]
- 800bd1c:      f883 23ab       strb.w  r2, [r3, #939]  ; 0x3ab
-    message_out[4] = 255 - ((message_out[2] + message_out[3]) % 256);
- 800bd20:      68fb            ldr     r3, [r7, #12]
- 800bd22:      f893 23aa       ldrb.w  r2, [r3, #938]  ; 0x3aa
- 800bd26:      68fb            ldr     r3, [r7, #12]
- 800bd28:      f893 33ab       ldrb.w  r3, [r3, #939]  ; 0x3ab
- 800bd2c:      4413            add     r3, r2
- 800bd2e:      b2db            uxtb    r3, r3
- 800bd30:      43db            mvns    r3, r3
- 800bd32:      b2da            uxtb    r2, r3
- 800bd34:      68fb            ldr     r3, [r7, #12]
- 800bd36:      f883 23ac       strb.w  r2, [r3, #940]  ; 0x3ac
-    message_out[5] = (uint8_t)((int16_t)id & 255);
- 800bd3a:      68bb            ldr     r3, [r7, #8]
- 800bd3c:      b2da            uxtb    r2, r3
- 800bd3e:      68fb            ldr     r3, [r7, #12]
- 800bd40:      f883 23ad       strb.w  r2, [r3, #941]  ; 0x3ad
-    message_out[6] = (uint8_t)((int16_t)id >> 8);
- 800bd44:      68bb            ldr     r3, [r7, #8]
- 800bd46:      b21b            sxth    r3, r3
- 800bd48:      121b            asrs    r3, r3, #8
- 800bd4a:      b2da            uxtb    r2, r3
- 800bd4c:      68fb            ldr     r3, [r7, #12]
- 800bd4e:      f883 23ae       strb.w  r2, [r3, #942]  ; 0x3ae
-
-    /* calculate checksum */
-    int chk = 0;
- 800bd52:      2300            movs    r3, #0
- 800bd54:      61fb            str     r3, [r7, #28]
-    for (int i = 5; i < l + 7; i++)
- 800bd56:      2305            movs    r3, #5
- 800bd58:      61bb            str     r3, [r7, #24]
- 800bd5a:      697b            ldr     r3, [r7, #20]
- 800bd5c:      3307            adds    r3, #7
- 800bd5e:      69ba            ldr     r2, [r7, #24]
- 800bd60:      429a            cmp     r2, r3
- 800bd62:      da0d            bge.n   800bd80 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE7publishEiPKNS_3MsgE+0xc4>
-      chk += message_out[i];
- 800bd64:      68fa            ldr     r2, [r7, #12]
- 800bd66:      69bb            ldr     r3, [r7, #24]
- 800bd68:      4413            add     r3, r2
- 800bd6a:      f503 736a       add.w   r3, r3, #936    ; 0x3a8
- 800bd6e:      781b            ldrb    r3, [r3, #0]
- 800bd70:      461a            mov     r2, r3
- 800bd72:      69fb            ldr     r3, [r7, #28]
- 800bd74:      4413            add     r3, r2
- 800bd76:      61fb            str     r3, [r7, #28]
-    for (int i = 5; i < l + 7; i++)
- 800bd78:      69bb            ldr     r3, [r7, #24]
- 800bd7a:      3301            adds    r3, #1
- 800bd7c:      61bb            str     r3, [r7, #24]
- 800bd7e:      e7ec            b.n     800bd5a <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE7publishEiPKNS_3MsgE+0x9e>
-    l += 7;
- 800bd80:      697b            ldr     r3, [r7, #20]
- 800bd82:      3307            adds    r3, #7
- 800bd84:      617b            str     r3, [r7, #20]
-    message_out[l++] = 255 - (chk % 256);
- 800bd86:      69fb            ldr     r3, [r7, #28]
- 800bd88:      425a            negs    r2, r3
- 800bd8a:      b2db            uxtb    r3, r3
- 800bd8c:      b2d2            uxtb    r2, r2
- 800bd8e:      bf58            it      pl
- 800bd90:      4253            negpl   r3, r2
- 800bd92:      b2da            uxtb    r2, r3
- 800bd94:      697b            ldr     r3, [r7, #20]
- 800bd96:      1c59            adds    r1, r3, #1
- 800bd98:      6179            str     r1, [r7, #20]
- 800bd9a:      43d2            mvns    r2, r2
- 800bd9c:      b2d1            uxtb    r1, r2
- 800bd9e:      68fa            ldr     r2, [r7, #12]
- 800bda0:      4413            add     r3, r2
- 800bda2:      460a            mov     r2, r1
- 800bda4:      f883 23a8       strb.w  r2, [r3, #936]  ; 0x3a8
-
-    if (l <= OUTPUT_SIZE)
- 800bda8:      697b            ldr     r3, [r7, #20]
- 800bdaa:      f5b3 7f00       cmp.w   r3, #512        ; 0x200
- 800bdae:      dc0a            bgt.n   800bdc6 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE7publishEiPKNS_3MsgE+0x10a>
-    {
-      hardware_.write(message_out, l);
- 800bdb0:      68fb            ldr     r3, [r7, #12]
- 800bdb2:      1d18            adds    r0, r3, #4
- 800bdb4:      68fb            ldr     r3, [r7, #12]
- 800bdb6:      f503 736a       add.w   r3, r3, #936    ; 0x3a8
- 800bdba:      697a            ldr     r2, [r7, #20]
- 800bdbc:      4619            mov     r1, r3
- 800bdbe:      f7ff fcbb       bl      800b738 <_ZN13STM32Hardware5writeEPhi>
-      return l;
- 800bdc2:      697b            ldr     r3, [r7, #20]
- 800bdc4:      e005            b.n     800bdd2 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE7publishEiPKNS_3MsgE+0x116>
-    }
-    else
-    {
-      logerror("Message from device dropped: message larger than buffer.");
- 800bdc6:      4905            ldr     r1, [pc, #20]   ; (800bddc <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE7publishEiPKNS_3MsgE+0x120>)
- 800bdc8:      68f8            ldr     r0, [r7, #12]
- 800bdca:      f000 f9f2       bl      800c1b2 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8logerrorEPKc>
-      return -1;
- 800bdce:      f04f 33ff       mov.w   r3, #4294967295 ; 0xffffffff
-    }
-  }
- 800bdd2:      4618            mov     r0, r3
- 800bdd4:      3720            adds    r7, #32
- 800bdd6:      46bd            mov     sp, r7
- 800bdd8:      bd80            pop     {r7, pc}
- 800bdda:      bf00            nop
- 800bddc:      08011ad0        .word   0x08011ad0
-
-0800bde0 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv>:
-  virtual int spinOnce()
- 800bde0:      b580            push    {r7, lr}
- 800bde2:      b084            sub     sp, #16
- 800bde4:      af00            add     r7, sp, #0
- 800bde6:      6078            str     r0, [r7, #4]
-    uint32_t c_time = hardware_.time();
- 800bde8:      687b            ldr     r3, [r7, #4]
- 800bdea:      3304            adds    r3, #4
- 800bdec:      4618            mov     r0, r3
- 800bdee:      f7ff fce8       bl      800b7c2 <_ZN13STM32Hardware4timeEv>
- 800bdf2:      60f8            str     r0, [r7, #12]
-    if ((c_time - last_sync_receive_time) > (SYNC_SECONDS * 2200))
- 800bdf4:      687b            ldr     r3, [r7, #4]
- 800bdf6:      f8d3 368c       ldr.w   r3, [r3, #1676] ; 0x68c
- 800bdfa:      68fa            ldr     r2, [r7, #12]
- 800bdfc:      1ad3            subs    r3, r2, r3
- 800bdfe:      f642 22f8       movw    r2, #11000      ; 0x2af8
- 800be02:      4293            cmp     r3, r2
- 800be04:      d903            bls.n   800be0e <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x2e>
-      configured_ = false;
- 800be06:      687b            ldr     r3, [r7, #4]
- 800be08:      2200            movs    r2, #0
- 800be0a:      f883 2684       strb.w  r2, [r3, #1668] ; 0x684
-    if (mode_ != MODE_FIRST_FF)
- 800be0e:      687b            ldr     r3, [r7, #4]
- 800be10:      f8d3 3670       ldr.w   r3, [r3, #1648] ; 0x670
- 800be14:      2b00            cmp     r3, #0
- 800be16:      d009            beq.n   800be2c <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c>
-      if (c_time > last_msg_timeout_time)
- 800be18:      687b            ldr     r3, [r7, #4]
- 800be1a:      f8d3 3690       ldr.w   r3, [r3, #1680] ; 0x690
- 800be1e:      68fa            ldr     r2, [r7, #12]
- 800be20:      429a            cmp     r2, r3
- 800be22:      d903            bls.n   800be2c <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c>
-        mode_ = MODE_FIRST_FF;
- 800be24:      687b            ldr     r3, [r7, #4]
- 800be26:      2200            movs    r2, #0
- 800be28:      f8c3 2670       str.w   r2, [r3, #1648] ; 0x670
-      if (spin_timeout_ > 0)
- 800be2c:      687b            ldr     r3, [r7, #4]
- 800be2e:      f8d3 31a4       ldr.w   r3, [r3, #420]  ; 0x1a4
- 800be32:      2b00            cmp     r3, #0
- 800be34:      d014            beq.n   800be60 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x80>
-        if ((hardware_.time() - c_time) > spin_timeout_)
- 800be36:      687b            ldr     r3, [r7, #4]
- 800be38:      3304            adds    r3, #4
- 800be3a:      4618            mov     r0, r3
- 800be3c:      f7ff fcc1       bl      800b7c2 <_ZN13STM32Hardware4timeEv>
- 800be40:      4602            mov     r2, r0
- 800be42:      68fb            ldr     r3, [r7, #12]
- 800be44:      1ad2            subs    r2, r2, r3
- 800be46:      687b            ldr     r3, [r7, #4]
- 800be48:      f8d3 31a4       ldr.w   r3, [r3, #420]  ; 0x1a4
- 800be4c:      429a            cmp     r2, r3
- 800be4e:      bf8c            ite     hi
- 800be50:      2301            movhi   r3, #1
- 800be52:      2300            movls   r3, #0
- 800be54:      b2db            uxtb    r3, r3
- 800be56:      2b00            cmp     r3, #0
- 800be58:      d002            beq.n   800be60 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x80>
-          return SPIN_TIMEOUT;
- 800be5a:      f06f 0301       mvn.w   r3, #1
- 800be5e:      e197            b.n     800c190 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x3b0>
-      int data = hardware_.read();
- 800be60:      687b            ldr     r3, [r7, #4]
- 800be62:      3304            adds    r3, #4
- 800be64:      4618            mov     r0, r3
- 800be66:      f7ff fbdf       bl      800b628 <_ZN13STM32Hardware4readEv>
- 800be6a:      60b8            str     r0, [r7, #8]
-      if (data < 0)
- 800be6c:      68bb            ldr     r3, [r7, #8]
- 800be6e:      2b00            cmp     r3, #0
- 800be70:      f2c0 8177       blt.w   800c162 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x382>
-      checksum_ += data;
- 800be74:      687b            ldr     r3, [r7, #4]
- 800be76:      f8d3 2680       ldr.w   r2, [r3, #1664] ; 0x680
- 800be7a:      68bb            ldr     r3, [r7, #8]
- 800be7c:      441a            add     r2, r3
- 800be7e:      687b            ldr     r3, [r7, #4]
- 800be80:      f8c3 2680       str.w   r2, [r3, #1664] ; 0x680
-      if (mode_ == MODE_MESSAGE)          /* message data being recieved */
- 800be84:      687b            ldr     r3, [r7, #4]
- 800be86:      f8d3 3670       ldr.w   r3, [r3, #1648] ; 0x670
- 800be8a:      2b07            cmp     r3, #7
- 800be8c:      d11e            bne.n   800becc <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0xec>
-        message_in[index_++] = data;
- 800be8e:      687b            ldr     r3, [r7, #4]
- 800be90:      f8d3 367c       ldr.w   r3, [r3, #1660] ; 0x67c
- 800be94:      1c59            adds    r1, r3, #1
- 800be96:      687a            ldr     r2, [r7, #4]
- 800be98:      f8c2 167c       str.w   r1, [r2, #1660] ; 0x67c
- 800be9c:      68ba            ldr     r2, [r7, #8]
- 800be9e:      b2d1            uxtb    r1, r2
- 800bea0:      687a            ldr     r2, [r7, #4]
- 800bea2:      4413            add     r3, r2
- 800bea4:      460a            mov     r2, r1
- 800bea6:      f883 21a8       strb.w  r2, [r3, #424]  ; 0x1a8
-        bytes_--;
- 800beaa:      687b            ldr     r3, [r7, #4]
- 800beac:      f8d3 3674       ldr.w   r3, [r3, #1652] ; 0x674
- 800beb0:      1e5a            subs    r2, r3, #1
- 800beb2:      687b            ldr     r3, [r7, #4]
- 800beb4:      f8c3 2674       str.w   r2, [r3, #1652] ; 0x674
-        if (bytes_ == 0)                 /* is message complete? if so, checksum */
- 800beb8:      687b            ldr     r3, [r7, #4]
- 800beba:      f8d3 3674       ldr.w   r3, [r3, #1652] ; 0x674
- 800bebe:      2b00            cmp     r3, #0
- 800bec0:      d1b4            bne.n   800be2c <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c>
-          mode_ = MODE_MSG_CHECKSUM;
- 800bec2:      687b            ldr     r3, [r7, #4]
- 800bec4:      2208            movs    r2, #8
- 800bec6:      f8c3 2670       str.w   r2, [r3, #1648] ; 0x670
- 800beca:      e7af            b.n     800be2c <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c>
-      else if (mode_ == MODE_FIRST_FF)
- 800becc:      687b            ldr     r3, [r7, #4]
- 800bece:      f8d3 3670       ldr.w   r3, [r3, #1648] ; 0x670
- 800bed2:      2b00            cmp     r3, #0
- 800bed4:      d128            bne.n   800bf28 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x148>
-        if (data == 0xff)
- 800bed6:      68bb            ldr     r3, [r7, #8]
- 800bed8:      2bff            cmp     r3, #255        ; 0xff
- 800beda:      d10d            bne.n   800bef8 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x118>
-          mode_++;
- 800bedc:      687b            ldr     r3, [r7, #4]
- 800bede:      f8d3 3670       ldr.w   r3, [r3, #1648] ; 0x670
- 800bee2:      1c5a            adds    r2, r3, #1
- 800bee4:      687b            ldr     r3, [r7, #4]
- 800bee6:      f8c3 2670       str.w   r2, [r3, #1648] ; 0x670
-          last_msg_timeout_time = c_time + SERIAL_MSG_TIMEOUT;
- 800beea:      68fb            ldr     r3, [r7, #12]
- 800beec:      f103 0214       add.w   r2, r3, #20
- 800bef0:      687b            ldr     r3, [r7, #4]
- 800bef2:      f8c3 2690       str.w   r2, [r3, #1680] ; 0x690
- 800bef6:      e799            b.n     800be2c <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c>
-        else if (hardware_.time() - c_time > (SYNC_SECONDS * 1000))
- 800bef8:      687b            ldr     r3, [r7, #4]
- 800befa:      3304            adds    r3, #4
- 800befc:      4618            mov     r0, r3
- 800befe:      f7ff fc60       bl      800b7c2 <_ZN13STM32Hardware4timeEv>
- 800bf02:      4602            mov     r2, r0
- 800bf04:      68fb            ldr     r3, [r7, #12]
- 800bf06:      1ad3            subs    r3, r2, r3
- 800bf08:      f241 3288       movw    r2, #5000       ; 0x1388
- 800bf0c:      4293            cmp     r3, r2
- 800bf0e:      bf8c            ite     hi
- 800bf10:      2301            movhi   r3, #1
- 800bf12:      2300            movls   r3, #0
- 800bf14:      b2db            uxtb    r3, r3
- 800bf16:      2b00            cmp     r3, #0
- 800bf18:      d088            beq.n   800be2c <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c>
-          configured_ = false;
- 800bf1a:      687b            ldr     r3, [r7, #4]
- 800bf1c:      2200            movs    r2, #0
- 800bf1e:      f883 2684       strb.w  r2, [r3, #1668] ; 0x684
-          return SPIN_TIMEOUT;
- 800bf22:      f06f 0301       mvn.w   r3, #1
- 800bf26:      e133            b.n     800c190 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x3b0>
-      else if (mode_ == MODE_PROTOCOL_VER)
- 800bf28:      687b            ldr     r3, [r7, #4]
- 800bf2a:      f8d3 3670       ldr.w   r3, [r3, #1648] ; 0x670
- 800bf2e:      2b01            cmp     r3, #1
- 800bf30:      d11b            bne.n   800bf6a <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x18a>
-        if (data == PROTOCOL_VER)
- 800bf32:      68bb            ldr     r3, [r7, #8]
- 800bf34:      2bfe            cmp     r3, #254        ; 0xfe
- 800bf36:      d107            bne.n   800bf48 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x168>
-          mode_++;
- 800bf38:      687b            ldr     r3, [r7, #4]
- 800bf3a:      f8d3 3670       ldr.w   r3, [r3, #1648] ; 0x670
- 800bf3e:      1c5a            adds    r2, r3, #1
- 800bf40:      687b            ldr     r3, [r7, #4]
- 800bf42:      f8c3 2670       str.w   r2, [r3, #1648] ; 0x670
- 800bf46:      e771            b.n     800be2c <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c>
-          mode_ = MODE_FIRST_FF;
- 800bf48:      687b            ldr     r3, [r7, #4]
- 800bf4a:      2200            movs    r2, #0
- 800bf4c:      f8c3 2670       str.w   r2, [r3, #1648] ; 0x670
-          if (configured_ == false)
- 800bf50:      687b            ldr     r3, [r7, #4]
- 800bf52:      f893 3684       ldrb.w  r3, [r3, #1668] ; 0x684
- 800bf56:      f083 0301       eor.w   r3, r3, #1
- 800bf5a:      b2db            uxtb    r3, r3
- 800bf5c:      2b00            cmp     r3, #0
- 800bf5e:      f43f af65       beq.w   800be2c <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c>
-            requestSyncTime();  /* send a msg back showing our protocol version */
- 800bf62:      6878            ldr     r0, [r7, #4]
- 800bf64:      f000 f933       bl      800c1ce <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE15requestSyncTimeEv>
- 800bf68:      e760            b.n     800be2c <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c>
-      else if (mode_ == MODE_SIZE_L)      /* bottom half of message size */
- 800bf6a:      687b            ldr     r3, [r7, #4]
- 800bf6c:      f8d3 3670       ldr.w   r3, [r3, #1648] ; 0x670
- 800bf70:      2b02            cmp     r3, #2
- 800bf72:      d113            bne.n   800bf9c <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x1bc>
-        bytes_ = data;
- 800bf74:      687b            ldr     r3, [r7, #4]
- 800bf76:      68ba            ldr     r2, [r7, #8]
- 800bf78:      f8c3 2674       str.w   r2, [r3, #1652] ; 0x674
-        index_ = 0;
- 800bf7c:      687b            ldr     r3, [r7, #4]
- 800bf7e:      2200            movs    r2, #0
- 800bf80:      f8c3 267c       str.w   r2, [r3, #1660] ; 0x67c
-        mode_++;
- 800bf84:      687b            ldr     r3, [r7, #4]
- 800bf86:      f8d3 3670       ldr.w   r3, [r3, #1648] ; 0x670
- 800bf8a:      1c5a            adds    r2, r3, #1
- 800bf8c:      687b            ldr     r3, [r7, #4]
- 800bf8e:      f8c3 2670       str.w   r2, [r3, #1648] ; 0x670
-        checksum_ = data;               /* first byte for calculating size checksum */
- 800bf92:      687b            ldr     r3, [r7, #4]
- 800bf94:      68ba            ldr     r2, [r7, #8]
- 800bf96:      f8c3 2680       str.w   r2, [r3, #1664] ; 0x680
- 800bf9a:      e747            b.n     800be2c <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c>
-      else if (mode_ == MODE_SIZE_H)      /* top half of message size */
- 800bf9c:      687b            ldr     r3, [r7, #4]
- 800bf9e:      f8d3 3670       ldr.w   r3, [r3, #1648] ; 0x670
- 800bfa2:      2b03            cmp     r3, #3
- 800bfa4:      d110            bne.n   800bfc8 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x1e8>
-        bytes_ += data << 8;
- 800bfa6:      687b            ldr     r3, [r7, #4]
- 800bfa8:      f8d3 2674       ldr.w   r2, [r3, #1652] ; 0x674
- 800bfac:      68bb            ldr     r3, [r7, #8]
- 800bfae:      021b            lsls    r3, r3, #8
- 800bfb0:      441a            add     r2, r3
- 800bfb2:      687b            ldr     r3, [r7, #4]
- 800bfb4:      f8c3 2674       str.w   r2, [r3, #1652] ; 0x674
-        mode_++;
- 800bfb8:      687b            ldr     r3, [r7, #4]
- 800bfba:      f8d3 3670       ldr.w   r3, [r3, #1648] ; 0x670
- 800bfbe:      1c5a            adds    r2, r3, #1
- 800bfc0:      687b            ldr     r3, [r7, #4]
- 800bfc2:      f8c3 2670       str.w   r2, [r3, #1648] ; 0x670
- 800bfc6:      e731            b.n     800be2c <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c>
-      else if (mode_ == MODE_SIZE_CHECKSUM)
- 800bfc8:      687b            ldr     r3, [r7, #4]
- 800bfca:      f8d3 3670       ldr.w   r3, [r3, #1648] ; 0x670
- 800bfce:      2b04            cmp     r3, #4
- 800bfd0:      d116            bne.n   800c000 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x220>
-        if ((checksum_ % 256) == 255)
- 800bfd2:      687b            ldr     r3, [r7, #4]
- 800bfd4:      f8d3 3680       ldr.w   r3, [r3, #1664] ; 0x680
- 800bfd8:      425a            negs    r2, r3
- 800bfda:      b2db            uxtb    r3, r3
- 800bfdc:      b2d2            uxtb    r2, r2
- 800bfde:      bf58            it      pl
- 800bfe0:      4253            negpl   r3, r2
- 800bfe2:      2bff            cmp     r3, #255        ; 0xff
- 800bfe4:      d107            bne.n   800bff6 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x216>
-          mode_++;
- 800bfe6:      687b            ldr     r3, [r7, #4]
- 800bfe8:      f8d3 3670       ldr.w   r3, [r3, #1648] ; 0x670
- 800bfec:      1c5a            adds    r2, r3, #1
- 800bfee:      687b            ldr     r3, [r7, #4]
- 800bff0:      f8c3 2670       str.w   r2, [r3, #1648] ; 0x670
- 800bff4:      e71a            b.n     800be2c <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c>
-          mode_ = MODE_FIRST_FF;          /* Abandon the frame if the msg len is wrong */
- 800bff6:      687b            ldr     r3, [r7, #4]
- 800bff8:      2200            movs    r2, #0
- 800bffa:      f8c3 2670       str.w   r2, [r3, #1648] ; 0x670
- 800bffe:      e715            b.n     800be2c <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c>
-      else if (mode_ == MODE_TOPIC_L)     /* bottom half of topic id */
- 800c000:      687b            ldr     r3, [r7, #4]
- 800c002:      f8d3 3670       ldr.w   r3, [r3, #1648] ; 0x670
- 800c006:      2b05            cmp     r3, #5
- 800c008:      d10f            bne.n   800c02a <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x24a>
-        topic_ = data;
- 800c00a:      687b            ldr     r3, [r7, #4]
- 800c00c:      68ba            ldr     r2, [r7, #8]
- 800c00e:      f8c3 2678       str.w   r2, [r3, #1656] ; 0x678
-        mode_++;
- 800c012:      687b            ldr     r3, [r7, #4]
- 800c014:      f8d3 3670       ldr.w   r3, [r3, #1648] ; 0x670
- 800c018:      1c5a            adds    r2, r3, #1
- 800c01a:      687b            ldr     r3, [r7, #4]
- 800c01c:      f8c3 2670       str.w   r2, [r3, #1648] ; 0x670
-        checksum_ = data;               /* first byte included in checksum */
- 800c020:      687b            ldr     r3, [r7, #4]
- 800c022:      68ba            ldr     r2, [r7, #8]
- 800c024:      f8c3 2680       str.w   r2, [r3, #1664] ; 0x680
- 800c028:      e700            b.n     800be2c <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c>
-      else if (mode_ == MODE_TOPIC_H)     /* top half of topic id */
- 800c02a:      687b            ldr     r3, [r7, #4]
- 800c02c:      f8d3 3670       ldr.w   r3, [r3, #1648] ; 0x670
- 800c030:      2b06            cmp     r3, #6
- 800c032:      d117            bne.n   800c064 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x284>
-        topic_ += data << 8;
- 800c034:      687b            ldr     r3, [r7, #4]
- 800c036:      f8d3 2678       ldr.w   r2, [r3, #1656] ; 0x678
- 800c03a:      68bb            ldr     r3, [r7, #8]
- 800c03c:      021b            lsls    r3, r3, #8
- 800c03e:      441a            add     r2, r3
- 800c040:      687b            ldr     r3, [r7, #4]
- 800c042:      f8c3 2678       str.w   r2, [r3, #1656] ; 0x678
-        mode_ = MODE_MESSAGE;
- 800c046:      687b            ldr     r3, [r7, #4]
- 800c048:      2207            movs    r2, #7
- 800c04a:      f8c3 2670       str.w   r2, [r3, #1648] ; 0x670
-        if (bytes_ == 0)
- 800c04e:      687b            ldr     r3, [r7, #4]
- 800c050:      f8d3 3674       ldr.w   r3, [r3, #1652] ; 0x674
- 800c054:      2b00            cmp     r3, #0
- 800c056:      f47f aee9       bne.w   800be2c <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c>
-          mode_ = MODE_MSG_CHECKSUM;
- 800c05a:      687b            ldr     r3, [r7, #4]
- 800c05c:      2208            movs    r2, #8
- 800c05e:      f8c3 2670       str.w   r2, [r3, #1648] ; 0x670
- 800c062:      e6e3            b.n     800be2c <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c>
-      else if (mode_ == MODE_MSG_CHECKSUM)    /* do checksum */
- 800c064:      687b            ldr     r3, [r7, #4]
- 800c066:      f8d3 3670       ldr.w   r3, [r3, #1648] ; 0x670
- 800c06a:      2b08            cmp     r3, #8
- 800c06c:      f47f aede       bne.w   800be2c <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c>
-        mode_ = MODE_FIRST_FF;
- 800c070:      687b            ldr     r3, [r7, #4]
- 800c072:      2200            movs    r2, #0
- 800c074:      f8c3 2670       str.w   r2, [r3, #1648] ; 0x670
-        if ((checksum_ % 256) == 255)
- 800c078:      687b            ldr     r3, [r7, #4]
- 800c07a:      f8d3 3680       ldr.w   r3, [r3, #1664] ; 0x680
- 800c07e:      425a            negs    r2, r3
- 800c080:      b2db            uxtb    r3, r3
- 800c082:      b2d2            uxtb    r2, r2
- 800c084:      bf58            it      pl
- 800c086:      4253            negpl   r3, r2
- 800c088:      2bff            cmp     r3, #255        ; 0xff
- 800c08a:      f47f aecf       bne.w   800be2c <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c>
-          if (topic_ == TopicInfo::ID_PUBLISHER)
- 800c08e:      687b            ldr     r3, [r7, #4]
- 800c090:      f8d3 3678       ldr.w   r3, [r3, #1656] ; 0x678
- 800c094:      2b00            cmp     r3, #0
- 800c096:      d110            bne.n   800c0ba <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x2da>
-            requestSyncTime();
- 800c098:      6878            ldr     r0, [r7, #4]
- 800c09a:      f000 f898       bl      800c1ce <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE15requestSyncTimeEv>
-            negotiateTopics();
- 800c09e:      6878            ldr     r0, [r7, #4]
- 800c0a0:      f000 f8b3       bl      800c20a <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE15negotiateTopicsEv>
-            last_sync_time = c_time;
- 800c0a4:      687b            ldr     r3, [r7, #4]
- 800c0a6:      68fa            ldr     r2, [r7, #12]
- 800c0a8:      f8c3 2688       str.w   r2, [r3, #1672] ; 0x688
-            last_sync_receive_time = c_time;
- 800c0ac:      687b            ldr     r3, [r7, #4]
- 800c0ae:      68fa            ldr     r2, [r7, #12]
- 800c0b0:      f8c3 268c       str.w   r2, [r3, #1676] ; 0x68c
-            return SPIN_ERR;
- 800c0b4:      f04f 33ff       mov.w   r3, #4294967295 ; 0xffffffff
- 800c0b8:      e06a            b.n     800c190 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x3b0>
-          else if (topic_ == TopicInfo::ID_TIME)
- 800c0ba:      687b            ldr     r3, [r7, #4]
- 800c0bc:      f8d3 3678       ldr.w   r3, [r3, #1656] ; 0x678
- 800c0c0:      2b0a            cmp     r3, #10
- 800c0c2:      d107            bne.n   800c0d4 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x2f4>
-            syncTime(message_in);
- 800c0c4:      687b            ldr     r3, [r7, #4]
- 800c0c6:      f503 73d4       add.w   r3, r3, #424    ; 0x1a8
- 800c0ca:      4619            mov     r1, r3
- 800c0cc:      6878            ldr     r0, [r7, #4]
- 800c0ce:      f000 f97d       bl      800c3cc <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8syncTimeEPh>
- 800c0d2:      e6ab            b.n     800be2c <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c>
-          else if (topic_ == TopicInfo::ID_PARAMETER_REQUEST)
- 800c0d4:      687b            ldr     r3, [r7, #4]
- 800c0d6:      f8d3 3678       ldr.w   r3, [r3, #1656] ; 0x678
- 800c0da:      2b06            cmp     r3, #6
- 800c0dc:      d10e            bne.n   800c0fc <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x31c>
-            req_param_resp.deserialize(message_in);
- 800c0de:      687b            ldr     r3, [r7, #4]
- 800c0e0:      f503 62d3       add.w   r2, r3, #1688   ; 0x698
- 800c0e4:      687b            ldr     r3, [r7, #4]
- 800c0e6:      f503 73d4       add.w   r3, r3, #424    ; 0x1a8
- 800c0ea:      4619            mov     r1, r3
- 800c0ec:      4610            mov     r0, r2
- 800c0ee:      f7ff f896       bl      800b21e <_ZN14rosserial_msgs20RequestParamResponse11deserializeEPh>
-            param_recieved = true;
- 800c0f2:      687b            ldr     r3, [r7, #4]
- 800c0f4:      2201            movs    r2, #1
- 800c0f6:      f883 2694       strb.w  r2, [r3, #1684] ; 0x694
- 800c0fa:      e697            b.n     800be2c <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c>
-          else if (topic_ == TopicInfo::ID_TX_STOP)
- 800c0fc:      687b            ldr     r3, [r7, #4]
- 800c0fe:      f8d3 3678       ldr.w   r3, [r3, #1656] ; 0x678
- 800c102:      2b0b            cmp     r3, #11
- 800c104:      d104            bne.n   800c110 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x330>
-            configured_ = false;
- 800c106:      687b            ldr     r3, [r7, #4]
- 800c108:      2200            movs    r2, #0
- 800c10a:      f883 2684       strb.w  r2, [r3, #1668] ; 0x684
- 800c10e:      e68d            b.n     800be2c <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c>
-            if (subscribers[topic_ - 100])
- 800c110:      687b            ldr     r3, [r7, #4]
- 800c112:      f8d3 3678       ldr.w   r3, [r3, #1656] ; 0x678
- 800c116:      3b64            subs    r3, #100        ; 0x64
- 800c118:      687a            ldr     r2, [r7, #4]
- 800c11a:      f503 73c1       add.w   r3, r3, #386    ; 0x182
- 800c11e:      009b            lsls    r3, r3, #2
- 800c120:      4413            add     r3, r2
- 800c122:      685b            ldr     r3, [r3, #4]
- 800c124:      2b00            cmp     r3, #0
- 800c126:      f43f ae81       beq.w   800be2c <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c>
-              subscribers[topic_ - 100]->callback(message_in);
- 800c12a:      687b            ldr     r3, [r7, #4]
- 800c12c:      f8d3 3678       ldr.w   r3, [r3, #1656] ; 0x678
- 800c130:      3b64            subs    r3, #100        ; 0x64
- 800c132:      687a            ldr     r2, [r7, #4]
- 800c134:      f503 73c1       add.w   r3, r3, #386    ; 0x182
- 800c138:      009b            lsls    r3, r3, #2
- 800c13a:      4413            add     r3, r2
- 800c13c:      6858            ldr     r0, [r3, #4]
- 800c13e:      687b            ldr     r3, [r7, #4]
- 800c140:      f8d3 3678       ldr.w   r3, [r3, #1656] ; 0x678
- 800c144:      3b64            subs    r3, #100        ; 0x64
- 800c146:      687a            ldr     r2, [r7, #4]
- 800c148:      f503 73c1       add.w   r3, r3, #386    ; 0x182
- 800c14c:      009b            lsls    r3, r3, #2
- 800c14e:      4413            add     r3, r2
- 800c150:      685b            ldr     r3, [r3, #4]
- 800c152:      681b            ldr     r3, [r3, #0]
- 800c154:      681b            ldr     r3, [r3, #0]
- 800c156:      687a            ldr     r2, [r7, #4]
- 800c158:      f502 72d4       add.w   r2, r2, #424    ; 0x1a8
- 800c15c:      4611            mov     r1, r2
- 800c15e:      4798            blx     r3
-    while (true)
- 800c160:      e664            b.n     800be2c <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x4c>
-        break;
- 800c162:      bf00            nop
-    if (configured_ && ((c_time - last_sync_time) > (SYNC_SECONDS * 500)))
- 800c164:      687b            ldr     r3, [r7, #4]
- 800c166:      f893 3684       ldrb.w  r3, [r3, #1668] ; 0x684
- 800c16a:      2b00            cmp     r3, #0
- 800c16c:      d00f            beq.n   800c18e <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x3ae>
- 800c16e:      687b            ldr     r3, [r7, #4]
- 800c170:      f8d3 3688       ldr.w   r3, [r3, #1672] ; 0x688
- 800c174:      68fa            ldr     r2, [r7, #12]
- 800c176:      1ad3            subs    r3, r2, r3
- 800c178:      f640 12c4       movw    r2, #2500       ; 0x9c4
- 800c17c:      4293            cmp     r3, r2
- 800c17e:      d906            bls.n   800c18e <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8spinOnceEv+0x3ae>
-      requestSyncTime();
- 800c180:      6878            ldr     r0, [r7, #4]
- 800c182:      f000 f824       bl      800c1ce <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE15requestSyncTimeEv>
-      last_sync_time = c_time;
- 800c186:      687b            ldr     r3, [r7, #4]
- 800c188:      68fa            ldr     r2, [r7, #12]
- 800c18a:      f8c3 2688       str.w   r2, [r3, #1672] ; 0x688
-    return SPIN_OK;
- 800c18e:      2300            movs    r3, #0
-  }
- 800c190:      4618            mov     r0, r3
- 800c192:      3710            adds    r7, #16
- 800c194:      46bd            mov     sp, r7
- 800c196:      bd80            pop     {r7, pc}
-
-0800c198 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE9connectedEv>:
-  virtual bool connected()
- 800c198:      b480            push    {r7}
- 800c19a:      b083            sub     sp, #12
- 800c19c:      af00            add     r7, sp, #0
- 800c19e:      6078            str     r0, [r7, #4]
-    return configured_;
- 800c1a0:      687b            ldr     r3, [r7, #4]
- 800c1a2:      f893 3684       ldrb.w  r3, [r3, #1668] ; 0x684
-  };
- 800c1a6:      4618            mov     r0, r3
- 800c1a8:      370c            adds    r7, #12
- 800c1aa:      46bd            mov     sp, r7
- 800c1ac:      f85d 7b04       ldr.w   r7, [sp], #4
- 800c1b0:      4770            bx      lr
-
-0800c1b2 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8logerrorEPKc>:
-  }
-  void logwarn(const char *msg)
-  {
-    log(rosserial_msgs::Log::WARN, msg);
-  }
-  void logerror(const char*msg)
- 800c1b2:      b580            push    {r7, lr}
- 800c1b4:      b082            sub     sp, #8
- 800c1b6:      af00            add     r7, sp, #0
- 800c1b8:      6078            str     r0, [r7, #4]
- 800c1ba:      6039            str     r1, [r7, #0]
-  {
-    log(rosserial_msgs::Log::ERROR, msg);
- 800c1bc:      683a            ldr     r2, [r7, #0]
- 800c1be:      2103            movs    r1, #3
- 800c1c0:      6878            ldr     r0, [r7, #4]
- 800c1c2:      f000 f94f       bl      800c464 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE3logEcPKc>
-  }
- 800c1c6:      bf00            nop
- 800c1c8:      3708            adds    r7, #8
- 800c1ca:      46bd            mov     sp, r7
- 800c1cc:      bd80            pop     {r7, pc}
-
-0800c1ce <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE15requestSyncTimeEv>:
-  void requestSyncTime()
- 800c1ce:      b580            push    {r7, lr}
- 800c1d0:      b086            sub     sp, #24
- 800c1d2:      af00            add     r7, sp, #0
- 800c1d4:      6078            str     r0, [r7, #4]
-    std_msgs::Time t;
- 800c1d6:      f107 030c       add.w   r3, r7, #12
- 800c1da:      4618            mov     r0, r3
- 800c1dc:      f7fe fb86       bl      800a8ec <_ZN8std_msgs4TimeC1Ev>
-    publish(TopicInfo::ID_TIME, &t);
- 800c1e0:      687b            ldr     r3, [r7, #4]
- 800c1e2:      681b            ldr     r3, [r3, #0]
- 800c1e4:      681b            ldr     r3, [r3, #0]
- 800c1e6:      f107 020c       add.w   r2, r7, #12
- 800c1ea:      210a            movs    r1, #10
- 800c1ec:      6878            ldr     r0, [r7, #4]
- 800c1ee:      4798            blx     r3
-    rt_time = hardware_.time();
- 800c1f0:      687b            ldr     r3, [r7, #4]
- 800c1f2:      3304            adds    r3, #4
- 800c1f4:      4618            mov     r0, r3
- 800c1f6:      f7ff fae4       bl      800b7c2 <_ZN13STM32Hardware4timeEv>
- 800c1fa:      4602            mov     r2, r0
- 800c1fc:      687b            ldr     r3, [r7, #4]
- 800c1fe:      f8c3 2198       str.w   r2, [r3, #408]  ; 0x198
-  }
- 800c202:      bf00            nop
- 800c204:      3718            adds    r7, #24
- 800c206:      46bd            mov     sp, r7
- 800c208:      bd80            pop     {r7, pc}
-
-0800c20a <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE15negotiateTopicsEv>:
-  void negotiateTopics()
- 800c20a:      b590            push    {r4, r7, lr}
- 800c20c:      b08b            sub     sp, #44 ; 0x2c
- 800c20e:      af00            add     r7, sp, #0
- 800c210:      6078            str     r0, [r7, #4]
-    rosserial_msgs::TopicInfo ti;
- 800c212:      f107 030c       add.w   r3, r7, #12
- 800c216:      4618            mov     r0, r3
- 800c218:      f7fe fc58       bl      800aacc <_ZN14rosserial_msgs9TopicInfoC1Ev>
-    for (i = 0; i < MAX_PUBLISHERS; i++)
- 800c21c:      2300            movs    r3, #0
- 800c21e:      627b            str     r3, [r7, #36]   ; 0x24
- 800c220:      6a7b            ldr     r3, [r7, #36]   ; 0x24
- 800c222:      2b18            cmp     r3, #24
- 800c224:      dc5b            bgt.n   800c2de <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE15negotiateTopicsEv+0xd4>
-      if (publishers[i] != 0) // non-empty slot
- 800c226:      687b            ldr     r3, [r7, #4]
- 800c228:      6a7a            ldr     r2, [r7, #36]   ; 0x24
- 800c22a:      f502 72b5       add.w   r2, r2, #362    ; 0x16a
- 800c22e:      f853 3022       ldr.w   r3, [r3, r2, lsl #2]
- 800c232:      2b00            cmp     r3, #0
- 800c234:      d04f            beq.n   800c2d6 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE15negotiateTopicsEv+0xcc>
-        ti.topic_id = publishers[i]->id_;
- 800c236:      687b            ldr     r3, [r7, #4]
- 800c238:      6a7a            ldr     r2, [r7, #36]   ; 0x24
- 800c23a:      f502 72b5       add.w   r2, r2, #362    ; 0x16a
- 800c23e:      f853 3022       ldr.w   r3, [r3, r2, lsl #2]
- 800c242:      689b            ldr     r3, [r3, #8]
- 800c244:      b29b            uxth    r3, r3
- 800c246:      823b            strh    r3, [r7, #16]
-        ti.topic_name = (char *) publishers[i]->topic_;
- 800c248:      687b            ldr     r3, [r7, #4]
- 800c24a:      6a7a            ldr     r2, [r7, #36]   ; 0x24
- 800c24c:      f502 72b5       add.w   r2, r2, #362    ; 0x16a
- 800c250:      f853 3022       ldr.w   r3, [r3, r2, lsl #2]
- 800c254:      681b            ldr     r3, [r3, #0]
- 800c256:      617b            str     r3, [r7, #20]
-        ti.message_type = (char *) publishers[i]->msg_->getType();
- 800c258:      687b            ldr     r3, [r7, #4]
- 800c25a:      6a7a            ldr     r2, [r7, #36]   ; 0x24
- 800c25c:      f502 72b5       add.w   r2, r2, #362    ; 0x16a
- 800c260:      f853 3022       ldr.w   r3, [r3, r2, lsl #2]
- 800c264:      6859            ldr     r1, [r3, #4]
- 800c266:      687b            ldr     r3, [r7, #4]
- 800c268:      6a7a            ldr     r2, [r7, #36]   ; 0x24
- 800c26a:      f502 72b5       add.w   r2, r2, #362    ; 0x16a
- 800c26e:      f853 3022       ldr.w   r3, [r3, r2, lsl #2]
- 800c272:      685b            ldr     r3, [r3, #4]
- 800c274:      681b            ldr     r3, [r3, #0]
- 800c276:      3308            adds    r3, #8
- 800c278:      681b            ldr     r3, [r3, #0]
- 800c27a:      4608            mov     r0, r1
- 800c27c:      4798            blx     r3
- 800c27e:      4603            mov     r3, r0
- 800c280:      61bb            str     r3, [r7, #24]
-        ti.md5sum = (char *) publishers[i]->msg_->getMD5();
- 800c282:      687b            ldr     r3, [r7, #4]
- 800c284:      6a7a            ldr     r2, [r7, #36]   ; 0x24
- 800c286:      f502 72b5       add.w   r2, r2, #362    ; 0x16a
- 800c28a:      f853 3022       ldr.w   r3, [r3, r2, lsl #2]
- 800c28e:      6859            ldr     r1, [r3, #4]
- 800c290:      687b            ldr     r3, [r7, #4]
- 800c292:      6a7a            ldr     r2, [r7, #36]   ; 0x24
- 800c294:      f502 72b5       add.w   r2, r2, #362    ; 0x16a
- 800c298:      f853 3022       ldr.w   r3, [r3, r2, lsl #2]
- 800c29c:      685b            ldr     r3, [r3, #4]
- 800c29e:      681b            ldr     r3, [r3, #0]
- 800c2a0:      330c            adds    r3, #12
- 800c2a2:      681b            ldr     r3, [r3, #0]
- 800c2a4:      4608            mov     r0, r1
- 800c2a6:      4798            blx     r3
- 800c2a8:      4603            mov     r3, r0
- 800c2aa:      61fb            str     r3, [r7, #28]
-        ti.buffer_size = OUTPUT_SIZE;
- 800c2ac:      f44f 7300       mov.w   r3, #512        ; 0x200
- 800c2b0:      623b            str     r3, [r7, #32]
-        publish(publishers[i]->getEndpointType(), &ti);
- 800c2b2:      687b            ldr     r3, [r7, #4]
- 800c2b4:      681b            ldr     r3, [r3, #0]
- 800c2b6:      681c            ldr     r4, [r3, #0]
- 800c2b8:      687b            ldr     r3, [r7, #4]
- 800c2ba:      6a7a            ldr     r2, [r7, #36]   ; 0x24
- 800c2bc:      f502 72b5       add.w   r2, r2, #362    ; 0x16a
- 800c2c0:      f853 3022       ldr.w   r3, [r3, r2, lsl #2]
- 800c2c4:      4618            mov     r0, r3
- 800c2c6:      f7ff f94e       bl      800b566 <_ZN3ros9Publisher15getEndpointTypeEv>
- 800c2ca:      4601            mov     r1, r0
- 800c2cc:      f107 030c       add.w   r3, r7, #12
- 800c2d0:      461a            mov     r2, r3
- 800c2d2:      6878            ldr     r0, [r7, #4]
- 800c2d4:      47a0            blx     r4
-    for (i = 0; i < MAX_PUBLISHERS; i++)
- 800c2d6:      6a7b            ldr     r3, [r7, #36]   ; 0x24
- 800c2d8:      3301            adds    r3, #1
- 800c2da:      627b            str     r3, [r7, #36]   ; 0x24
- 800c2dc:      e7a0            b.n     800c220 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE15negotiateTopicsEv+0x16>
-    for (i = 0; i < MAX_SUBSCRIBERS; i++)
- 800c2de:      2300            movs    r3, #0
- 800c2e0:      627b            str     r3, [r7, #36]   ; 0x24
- 800c2e2:      6a7b            ldr     r3, [r7, #36]   ; 0x24
- 800c2e4:      2b18            cmp     r3, #24
- 800c2e6:      dc68            bgt.n   800c3ba <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE15negotiateTopicsEv+0x1b0>
-      if (subscribers[i] != 0) // non-empty slot
- 800c2e8:      687a            ldr     r2, [r7, #4]
- 800c2ea:      6a7b            ldr     r3, [r7, #36]   ; 0x24
- 800c2ec:      f503 73c1       add.w   r3, r3, #386    ; 0x182
- 800c2f0:      009b            lsls    r3, r3, #2
- 800c2f2:      4413            add     r3, r2
- 800c2f4:      685b            ldr     r3, [r3, #4]
- 800c2f6:      2b00            cmp     r3, #0
- 800c2f8:      d05b            beq.n   800c3b2 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE15negotiateTopicsEv+0x1a8>
-        ti.topic_id = subscribers[i]->id_;
- 800c2fa:      687a            ldr     r2, [r7, #4]
- 800c2fc:      6a7b            ldr     r3, [r7, #36]   ; 0x24
- 800c2fe:      f503 73c1       add.w   r3, r3, #386    ; 0x182
- 800c302:      009b            lsls    r3, r3, #2
- 800c304:      4413            add     r3, r2
- 800c306:      685b            ldr     r3, [r3, #4]
- 800c308:      685b            ldr     r3, [r3, #4]
- 800c30a:      b29b            uxth    r3, r3
- 800c30c:      823b            strh    r3, [r7, #16]
-        ti.topic_name = (char *) subscribers[i]->topic_;
- 800c30e:      687a            ldr     r2, [r7, #4]
- 800c310:      6a7b            ldr     r3, [r7, #36]   ; 0x24
- 800c312:      f503 73c1       add.w   r3, r3, #386    ; 0x182
- 800c316:      009b            lsls    r3, r3, #2
- 800c318:      4413            add     r3, r2
- 800c31a:      685b            ldr     r3, [r3, #4]
- 800c31c:      689b            ldr     r3, [r3, #8]
- 800c31e:      617b            str     r3, [r7, #20]
-        ti.message_type = (char *) subscribers[i]->getMsgType();
- 800c320:      687a            ldr     r2, [r7, #4]
- 800c322:      6a7b            ldr     r3, [r7, #36]   ; 0x24
- 800c324:      f503 73c1       add.w   r3, r3, #386    ; 0x182
- 800c328:      009b            lsls    r3, r3, #2
- 800c32a:      4413            add     r3, r2
- 800c32c:      6859            ldr     r1, [r3, #4]
- 800c32e:      687a            ldr     r2, [r7, #4]
- 800c330:      6a7b            ldr     r3, [r7, #36]   ; 0x24
- 800c332:      f503 73c1       add.w   r3, r3, #386    ; 0x182
- 800c336:      009b            lsls    r3, r3, #2
- 800c338:      4413            add     r3, r2
- 800c33a:      685b            ldr     r3, [r3, #4]
- 800c33c:      681b            ldr     r3, [r3, #0]
- 800c33e:      3308            adds    r3, #8
- 800c340:      681b            ldr     r3, [r3, #0]
- 800c342:      4608            mov     r0, r1
- 800c344:      4798            blx     r3
- 800c346:      4603            mov     r3, r0
- 800c348:      61bb            str     r3, [r7, #24]
-        ti.md5sum = (char *) subscribers[i]->getMsgMD5();
- 800c34a:      687a            ldr     r2, [r7, #4]
- 800c34c:      6a7b            ldr     r3, [r7, #36]   ; 0x24
- 800c34e:      f503 73c1       add.w   r3, r3, #386    ; 0x182
- 800c352:      009b            lsls    r3, r3, #2
- 800c354:      4413            add     r3, r2
- 800c356:      6859            ldr     r1, [r3, #4]
- 800c358:      687a            ldr     r2, [r7, #4]
- 800c35a:      6a7b            ldr     r3, [r7, #36]   ; 0x24
- 800c35c:      f503 73c1       add.w   r3, r3, #386    ; 0x182
- 800c360:      009b            lsls    r3, r3, #2
- 800c362:      4413            add     r3, r2
- 800c364:      685b            ldr     r3, [r3, #4]
- 800c366:      681b            ldr     r3, [r3, #0]
- 800c368:      330c            adds    r3, #12
- 800c36a:      681b            ldr     r3, [r3, #0]
- 800c36c:      4608            mov     r0, r1
- 800c36e:      4798            blx     r3
- 800c370:      4603            mov     r3, r0
- 800c372:      61fb            str     r3, [r7, #28]
-        ti.buffer_size = INPUT_SIZE;
- 800c374:      f44f 7300       mov.w   r3, #512        ; 0x200
- 800c378:      623b            str     r3, [r7, #32]
-        publish(subscribers[i]->getEndpointType(), &ti);
- 800c37a:      687b            ldr     r3, [r7, #4]
- 800c37c:      681b            ldr     r3, [r3, #0]
- 800c37e:      681c            ldr     r4, [r3, #0]
- 800c380:      687a            ldr     r2, [r7, #4]
- 800c382:      6a7b            ldr     r3, [r7, #36]   ; 0x24
- 800c384:      f503 73c1       add.w   r3, r3, #386    ; 0x182
- 800c388:      009b            lsls    r3, r3, #2
- 800c38a:      4413            add     r3, r2
- 800c38c:      6859            ldr     r1, [r3, #4]
- 800c38e:      687a            ldr     r2, [r7, #4]
- 800c390:      6a7b            ldr     r3, [r7, #36]   ; 0x24
- 800c392:      f503 73c1       add.w   r3, r3, #386    ; 0x182
- 800c396:      009b            lsls    r3, r3, #2
- 800c398:      4413            add     r3, r2
- 800c39a:      685b            ldr     r3, [r3, #4]
- 800c39c:      681b            ldr     r3, [r3, #0]
- 800c39e:      3304            adds    r3, #4
- 800c3a0:      681b            ldr     r3, [r3, #0]
- 800c3a2:      4608            mov     r0, r1
- 800c3a4:      4798            blx     r3
- 800c3a6:      4601            mov     r1, r0
- 800c3a8:      f107 030c       add.w   r3, r7, #12
- 800c3ac:      461a            mov     r2, r3
- 800c3ae:      6878            ldr     r0, [r7, #4]
- 800c3b0:      47a0            blx     r4
-    for (i = 0; i < MAX_SUBSCRIBERS; i++)
- 800c3b2:      6a7b            ldr     r3, [r7, #36]   ; 0x24
- 800c3b4:      3301            adds    r3, #1
- 800c3b6:      627b            str     r3, [r7, #36]   ; 0x24
- 800c3b8:      e793            b.n     800c2e2 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE15negotiateTopicsEv+0xd8>
-    configured_ = true;
- 800c3ba:      687b            ldr     r3, [r7, #4]
- 800c3bc:      2201            movs    r2, #1
- 800c3be:      f883 2684       strb.w  r2, [r3, #1668] ; 0x684
-  }
- 800c3c2:      bf00            nop
- 800c3c4:      372c            adds    r7, #44 ; 0x2c
- 800c3c6:      46bd            mov     sp, r7
- 800c3c8:      bd90            pop     {r4, r7, pc}
-       ...
-
-0800c3cc <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8syncTimeEPh>:
-  void syncTime(uint8_t * data)
- 800c3cc:      b580            push    {r7, lr}
- 800c3ce:      b086            sub     sp, #24
- 800c3d0:      af00            add     r7, sp, #0
- 800c3d2:      6078            str     r0, [r7, #4]
- 800c3d4:      6039            str     r1, [r7, #0]
-    std_msgs::Time t;
- 800c3d6:      f107 0308       add.w   r3, r7, #8
- 800c3da:      4618            mov     r0, r3
- 800c3dc:      f7fe fa86       bl      800a8ec <_ZN8std_msgs4TimeC1Ev>
-    uint32_t offset = hardware_.time() - rt_time;
- 800c3e0:      687b            ldr     r3, [r7, #4]
- 800c3e2:      3304            adds    r3, #4
- 800c3e4:      4618            mov     r0, r3
- 800c3e6:      f7ff f9ec       bl      800b7c2 <_ZN13STM32Hardware4timeEv>
- 800c3ea:      4602            mov     r2, r0
- 800c3ec:      687b            ldr     r3, [r7, #4]
- 800c3ee:      f8d3 3198       ldr.w   r3, [r3, #408]  ; 0x198
- 800c3f2:      1ad3            subs    r3, r2, r3
- 800c3f4:      617b            str     r3, [r7, #20]
-    t.deserialize(data);
- 800c3f6:      f107 0308       add.w   r3, r7, #8
- 800c3fa:      6839            ldr     r1, [r7, #0]
- 800c3fc:      4618            mov     r0, r3
- 800c3fe:      f7fe fae5       bl      800a9cc <_ZN8std_msgs4Time11deserializeEPh>
-    t.data.sec += offset / 1000;
- 800c402:      68fa            ldr     r2, [r7, #12]
- 800c404:      697b            ldr     r3, [r7, #20]
- 800c406:      4915            ldr     r1, [pc, #84]   ; (800c45c <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8syncTimeEPh+0x90>)
- 800c408:      fba1 1303       umull   r1, r3, r1, r3
- 800c40c:      099b            lsrs    r3, r3, #6
- 800c40e:      4413            add     r3, r2
- 800c410:      60fb            str     r3, [r7, #12]
-    t.data.nsec += (offset % 1000) * 1000000UL;
- 800c412:      6939            ldr     r1, [r7, #16]
- 800c414:      697a            ldr     r2, [r7, #20]
- 800c416:      4b11            ldr     r3, [pc, #68]   ; (800c45c <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8syncTimeEPh+0x90>)
- 800c418:      fba3 0302       umull   r0, r3, r3, r2
- 800c41c:      099b            lsrs    r3, r3, #6
- 800c41e:      f44f 707a       mov.w   r0, #1000       ; 0x3e8
- 800c422:      fb00 f303       mul.w   r3, r0, r3
- 800c426:      1ad3            subs    r3, r2, r3
- 800c428:      4a0d            ldr     r2, [pc, #52]   ; (800c460 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE8syncTimeEPh+0x94>)
- 800c42a:      fb02 f303       mul.w   r3, r2, r3
- 800c42e:      440b            add     r3, r1
- 800c430:      613b            str     r3, [r7, #16]
-    this->setNow(t.data);
- 800c432:      f107 0308       add.w   r3, r7, #8
- 800c436:      3304            adds    r3, #4
- 800c438:      4619            mov     r1, r3
- 800c43a:      6878            ldr     r0, [r7, #4]
- 800c43c:      f000 f82e       bl      800c49c <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE6setNowERNS_4TimeE>
-    last_sync_receive_time = hardware_.time();
- 800c440:      687b            ldr     r3, [r7, #4]
- 800c442:      3304            adds    r3, #4
- 800c444:      4618            mov     r0, r3
- 800c446:      f7ff f9bc       bl      800b7c2 <_ZN13STM32Hardware4timeEv>
- 800c44a:      4602            mov     r2, r0
- 800c44c:      687b            ldr     r3, [r7, #4]
- 800c44e:      f8c3 268c       str.w   r2, [r3, #1676] ; 0x68c
-  }
- 800c452:      bf00            nop
- 800c454:      3718            adds    r7, #24
- 800c456:      46bd            mov     sp, r7
- 800c458:      bd80            pop     {r7, pc}
- 800c45a:      bf00            nop
- 800c45c:      10624dd3        .word   0x10624dd3
- 800c460:      000f4240        .word   0x000f4240
-
-0800c464 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE3logEcPKc>:
-  void log(char byte, const char * msg)
- 800c464:      b580            push    {r7, lr}
- 800c466:      b088            sub     sp, #32
- 800c468:      af00            add     r7, sp, #0
- 800c46a:      60f8            str     r0, [r7, #12]
- 800c46c:      460b            mov     r3, r1
- 800c46e:      607a            str     r2, [r7, #4]
- 800c470:      72fb            strb    r3, [r7, #11]
-    rosserial_msgs::Log l;
- 800c472:      f107 0314       add.w   r3, r7, #20
- 800c476:      4618            mov     r0, r3
- 800c478:      f7fe fcec       bl      800ae54 <_ZN14rosserial_msgs3LogC1Ev>
-    l.level = byte;
- 800c47c:      7afb            ldrb    r3, [r7, #11]
- 800c47e:      763b            strb    r3, [r7, #24]
-    l.msg = (char*)msg;
- 800c480:      687b            ldr     r3, [r7, #4]
- 800c482:      61fb            str     r3, [r7, #28]
-    publish(rosserial_msgs::TopicInfo::ID_LOG, &l);
- 800c484:      68fb            ldr     r3, [r7, #12]
- 800c486:      681b            ldr     r3, [r3, #0]
- 800c488:      681b            ldr     r3, [r3, #0]
- 800c48a:      f107 0214       add.w   r2, r7, #20
- 800c48e:      2107            movs    r1, #7
- 800c490:      68f8            ldr     r0, [r7, #12]
- 800c492:      4798            blx     r3
-  }
- 800c494:      bf00            nop
- 800c496:      3720            adds    r7, #32
- 800c498:      46bd            mov     sp, r7
- 800c49a:      bd80            pop     {r7, pc}
-
-0800c49c <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE6setNowERNS_4TimeE>:
-  void setNow(Time & new_now)
- 800c49c:      b580            push    {r7, lr}
- 800c49e:      b084            sub     sp, #16
- 800c4a0:      af00            add     r7, sp, #0
- 800c4a2:      6078            str     r0, [r7, #4]
- 800c4a4:      6039            str     r1, [r7, #0]
-    uint32_t ms = hardware_.time();
- 800c4a6:      687b            ldr     r3, [r7, #4]
- 800c4a8:      3304            adds    r3, #4
- 800c4aa:      4618            mov     r0, r3
- 800c4ac:      f7ff f989       bl      800b7c2 <_ZN13STM32Hardware4timeEv>
- 800c4b0:      60f8            str     r0, [r7, #12]
-    sec_offset = new_now.sec - ms / 1000 - 1;
- 800c4b2:      683b            ldr     r3, [r7, #0]
- 800c4b4:      681a            ldr     r2, [r3, #0]
- 800c4b6:      68fb            ldr     r3, [r7, #12]
- 800c4b8:      4915            ldr     r1, [pc, #84]   ; (800c510 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE6setNowERNS_4TimeE+0x74>)
- 800c4ba:      fba1 1303       umull   r1, r3, r1, r3
- 800c4be:      099b            lsrs    r3, r3, #6
- 800c4c0:      1ad3            subs    r3, r2, r3
- 800c4c2:      1e5a            subs    r2, r3, #1
- 800c4c4:      687b            ldr     r3, [r7, #4]
- 800c4c6:      f8c3 219c       str.w   r2, [r3, #412]  ; 0x19c
-    nsec_offset = new_now.nsec - (ms % 1000) * 1000000UL + 1000000000UL;
- 800c4ca:      683b            ldr     r3, [r7, #0]
- 800c4cc:      6859            ldr     r1, [r3, #4]
- 800c4ce:      68fa            ldr     r2, [r7, #12]
- 800c4d0:      4b0f            ldr     r3, [pc, #60]   ; (800c510 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE6setNowERNS_4TimeE+0x74>)
- 800c4d2:      fba3 0302       umull   r0, r3, r3, r2
- 800c4d6:      099b            lsrs    r3, r3, #6
- 800c4d8:      f44f 707a       mov.w   r0, #1000       ; 0x3e8
- 800c4dc:      fb00 f303       mul.w   r3, r0, r3
- 800c4e0:      1ad3            subs    r3, r2, r3
- 800c4e2:      4a0c            ldr     r2, [pc, #48]   ; (800c514 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE6setNowERNS_4TimeE+0x78>)
- 800c4e4:      fb02 f303       mul.w   r3, r2, r3
- 800c4e8:      1aca            subs    r2, r1, r3
- 800c4ea:      4b0b            ldr     r3, [pc, #44]   ; (800c518 <_ZN3ros11NodeHandle_I13STM32HardwareLi25ELi25ELi512ELi512EE6setNowERNS_4TimeE+0x7c>)
- 800c4ec:      4413            add     r3, r2
- 800c4ee:      687a            ldr     r2, [r7, #4]
- 800c4f0:      f8c2 31a0       str.w   r3, [r2, #416]  ; 0x1a0
-    normalizeSecNSec(sec_offset, nsec_offset);
- 800c4f4:      687b            ldr     r3, [r7, #4]
- 800c4f6:      f503 72ce       add.w   r2, r3, #412    ; 0x19c
- 800c4fa:      687b            ldr     r3, [r7, #4]
- 800c4fc:      f503 73d0       add.w   r3, r3, #416    ; 0x1a0
- 800c500:      4619            mov     r1, r3
- 800c502:      4610            mov     r0, r2
- 800c504:      f000 f80a       bl      800c51c <_ZN3ros16normalizeSecNSecERmS0_>
-  }
- 800c508:      bf00            nop
- 800c50a:      3710            adds    r7, #16
- 800c50c:      46bd            mov     sp, r7
- 800c50e:      bd80            pop     {r7, pc}
- 800c510:      10624dd3        .word   0x10624dd3
- 800c514:      000f4240        .word   0x000f4240
- 800c518:      3b9aca00        .word   0x3b9aca00
-
-0800c51c <_ZN3ros16normalizeSecNSecERmS0_>:
-#include "ros/ros_time.h"
-
-namespace ros
-{
-void normalizeSecNSec(uint32_t& sec, uint32_t& nsec)
-{
- 800c51c:      b480            push    {r7}
- 800c51e:      b085            sub     sp, #20
- 800c520:      af00            add     r7, sp, #0
- 800c522:      6078            str     r0, [r7, #4]
- 800c524:      6039            str     r1, [r7, #0]
-  uint32_t nsec_part = nsec % 1000000000UL;
- 800c526:      683b            ldr     r3, [r7, #0]
- 800c528:      681b            ldr     r3, [r3, #0]
- 800c52a:      0a5a            lsrs    r2, r3, #9
- 800c52c:      490f            ldr     r1, [pc, #60]   ; (800c56c <_ZN3ros16normalizeSecNSecERmS0_+0x50>)
- 800c52e:      fba1 1202       umull   r1, r2, r1, r2
- 800c532:      09d2            lsrs    r2, r2, #7
- 800c534:      490e            ldr     r1, [pc, #56]   ; (800c570 <_ZN3ros16normalizeSecNSecERmS0_+0x54>)
- 800c536:      fb01 f202       mul.w   r2, r1, r2
- 800c53a:      1a9b            subs    r3, r3, r2
- 800c53c:      60fb            str     r3, [r7, #12]
-  uint32_t sec_part = nsec / 1000000000UL;
- 800c53e:      683b            ldr     r3, [r7, #0]
- 800c540:      681b            ldr     r3, [r3, #0]
- 800c542:      0a5b            lsrs    r3, r3, #9
- 800c544:      4a09            ldr     r2, [pc, #36]   ; (800c56c <_ZN3ros16normalizeSecNSecERmS0_+0x50>)
- 800c546:      fba2 2303       umull   r2, r3, r2, r3
- 800c54a:      09db            lsrs    r3, r3, #7
- 800c54c:      60bb            str     r3, [r7, #8]
-  sec += sec_part;
- 800c54e:      687b            ldr     r3, [r7, #4]
- 800c550:      681a            ldr     r2, [r3, #0]
- 800c552:      68bb            ldr     r3, [r7, #8]
- 800c554:      441a            add     r2, r3
- 800c556:      687b            ldr     r3, [r7, #4]
- 800c558:      601a            str     r2, [r3, #0]
-  nsec = nsec_part;
- 800c55a:      683b            ldr     r3, [r7, #0]
- 800c55c:      68fa            ldr     r2, [r7, #12]
- 800c55e:      601a            str     r2, [r3, #0]
-}
- 800c560:      bf00            nop
- 800c562:      3714            adds    r7, #20
- 800c564:      46bd            mov     sp, r7
- 800c566:      f85d 7b04       ldr.w   r7, [sp], #4
- 800c56a:      4770            bx      lr
- 800c56c:      00044b83        .word   0x00044b83
- 800c570:      3b9aca00        .word   0x3b9aca00
-
-0800c574 <HAL_MspInit>:
-/* USER CODE END 0 */
-/**
-  * Initializes the Global MSP.
-  */
-void HAL_MspInit(void)
-{
- 800c574:      b480            push    {r7}
- 800c576:      b083            sub     sp, #12
- 800c578:      af00            add     r7, sp, #0
-  /* USER CODE BEGIN MspInit 0 */
-
-  /* USER CODE END MspInit 0 */
-
-  __HAL_RCC_PWR_CLK_ENABLE();
- 800c57a:      4b0f            ldr     r3, [pc, #60]   ; (800c5b8 <HAL_MspInit+0x44>)
- 800c57c:      6c1b            ldr     r3, [r3, #64]   ; 0x40
- 800c57e:      4a0e            ldr     r2, [pc, #56]   ; (800c5b8 <HAL_MspInit+0x44>)
- 800c580:      f043 5380       orr.w   r3, r3, #268435456      ; 0x10000000
- 800c584:      6413            str     r3, [r2, #64]   ; 0x40
- 800c586:      4b0c            ldr     r3, [pc, #48]   ; (800c5b8 <HAL_MspInit+0x44>)
- 800c588:      6c1b            ldr     r3, [r3, #64]   ; 0x40
- 800c58a:      f003 5380       and.w   r3, r3, #268435456      ; 0x10000000
- 800c58e:      607b            str     r3, [r7, #4]
- 800c590:      687b            ldr     r3, [r7, #4]
-  __HAL_RCC_SYSCFG_CLK_ENABLE();
- 800c592:      4b09            ldr     r3, [pc, #36]   ; (800c5b8 <HAL_MspInit+0x44>)
- 800c594:      6c5b            ldr     r3, [r3, #68]   ; 0x44
- 800c596:      4a08            ldr     r2, [pc, #32]   ; (800c5b8 <HAL_MspInit+0x44>)
- 800c598:      f443 4380       orr.w   r3, r3, #16384  ; 0x4000
- 800c59c:      6453            str     r3, [r2, #68]   ; 0x44
- 800c59e:      4b06            ldr     r3, [pc, #24]   ; (800c5b8 <HAL_MspInit+0x44>)
- 800c5a0:      6c5b            ldr     r3, [r3, #68]   ; 0x44
- 800c5a2:      f403 4380       and.w   r3, r3, #16384  ; 0x4000
- 800c5a6:      603b            str     r3, [r7, #0]
- 800c5a8:      683b            ldr     r3, [r7, #0]
-  /* System interrupt init*/
-
-  /* USER CODE BEGIN MspInit 1 */
-
-  /* USER CODE END MspInit 1 */
-}
- 800c5aa:      bf00            nop
- 800c5ac:      370c            adds    r7, #12
- 800c5ae:      46bd            mov     sp, r7
- 800c5b0:      f85d 7b04       ldr.w   r7, [sp], #4
- 800c5b4:      4770            bx      lr
- 800c5b6:      bf00            nop
- 800c5b8:      40023800        .word   0x40023800
-
-0800c5bc <HAL_TIM_OnePulse_MspInit>:
-* This function configures the hardware resources used in this example
-* @param htim_onepulse: TIM_OnePulse handle pointer
-* @retval None
-*/
-void HAL_TIM_OnePulse_MspInit(TIM_HandleTypeDef* htim_onepulse)
-{
- 800c5bc:      b480            push    {r7}
- 800c5be:      b085            sub     sp, #20
- 800c5c0:      af00            add     r7, sp, #0
- 800c5c2:      6078            str     r0, [r7, #4]
-  if(htim_onepulse->Instance==TIM2)
- 800c5c4:      687b            ldr     r3, [r7, #4]
- 800c5c6:      681b            ldr     r3, [r3, #0]
- 800c5c8:      f1b3 4f80       cmp.w   r3, #1073741824 ; 0x40000000
- 800c5cc:      d10b            bne.n   800c5e6 <HAL_TIM_OnePulse_MspInit+0x2a>
-  {
-  /* USER CODE BEGIN TIM2_MspInit 0 */
-
-  /* USER CODE END TIM2_MspInit 0 */
-    /* Peripheral clock enable */
-    __HAL_RCC_TIM2_CLK_ENABLE();
- 800c5ce:      4b09            ldr     r3, [pc, #36]   ; (800c5f4 <HAL_TIM_OnePulse_MspInit+0x38>)
- 800c5d0:      6c1b            ldr     r3, [r3, #64]   ; 0x40
- 800c5d2:      4a08            ldr     r2, [pc, #32]   ; (800c5f4 <HAL_TIM_OnePulse_MspInit+0x38>)
- 800c5d4:      f043 0301       orr.w   r3, r3, #1
- 800c5d8:      6413            str     r3, [r2, #64]   ; 0x40
- 800c5da:      4b06            ldr     r3, [pc, #24]   ; (800c5f4 <HAL_TIM_OnePulse_MspInit+0x38>)
- 800c5dc:      6c1b            ldr     r3, [r3, #64]   ; 0x40
- 800c5de:      f003 0301       and.w   r3, r3, #1
- 800c5e2:      60fb            str     r3, [r7, #12]
- 800c5e4:      68fb            ldr     r3, [r7, #12]
-  /* USER CODE BEGIN TIM2_MspInit 1 */
-
-  /* USER CODE END TIM2_MspInit 1 */
-  }
-
-}
- 800c5e6:      bf00            nop
- 800c5e8:      3714            adds    r7, #20
- 800c5ea:      46bd            mov     sp, r7
- 800c5ec:      f85d 7b04       ldr.w   r7, [sp], #4
- 800c5f0:      4770            bx      lr
- 800c5f2:      bf00            nop
- 800c5f4:      40023800        .word   0x40023800
-
-0800c5f8 <HAL_UART_MspInit>:
-* This function configures the hardware resources used in this example
-* @param huart: UART handle pointer
-* @retval None
-*/
-void HAL_UART_MspInit(UART_HandleTypeDef* huart)
-{
- 800c5f8:      b580            push    {r7, lr}
- 800c5fa:      b08a            sub     sp, #40 ; 0x28
- 800c5fc:      af00            add     r7, sp, #0
- 800c5fe:      6078            str     r0, [r7, #4]
-  GPIO_InitTypeDef GPIO_InitStruct = {0};
- 800c600:      f107 0314       add.w   r3, r7, #20
- 800c604:      2200            movs    r2, #0
- 800c606:      601a            str     r2, [r3, #0]
- 800c608:      605a            str     r2, [r3, #4]
- 800c60a:      609a            str     r2, [r3, #8]
- 800c60c:      60da            str     r2, [r3, #12]
- 800c60e:      611a            str     r2, [r3, #16]
-  if(huart->Instance==USART3)
- 800c610:      687b            ldr     r3, [r7, #4]
- 800c612:      681b            ldr     r3, [r3, #0]
- 800c614:      4a17            ldr     r2, [pc, #92]   ; (800c674 <HAL_UART_MspInit+0x7c>)
- 800c616:      4293            cmp     r3, r2
- 800c618:      d128            bne.n   800c66c <HAL_UART_MspInit+0x74>
-  {
-  /* USER CODE BEGIN USART3_MspInit 0 */
-
-  /* USER CODE END USART3_MspInit 0 */
-    /* Peripheral clock enable */
-    __HAL_RCC_USART3_CLK_ENABLE();
- 800c61a:      4b17            ldr     r3, [pc, #92]   ; (800c678 <HAL_UART_MspInit+0x80>)
- 800c61c:      6c1b            ldr     r3, [r3, #64]   ; 0x40
- 800c61e:      4a16            ldr     r2, [pc, #88]   ; (800c678 <HAL_UART_MspInit+0x80>)
- 800c620:      f443 2380       orr.w   r3, r3, #262144 ; 0x40000
- 800c624:      6413            str     r3, [r2, #64]   ; 0x40
- 800c626:      4b14            ldr     r3, [pc, #80]   ; (800c678 <HAL_UART_MspInit+0x80>)
- 800c628:      6c1b            ldr     r3, [r3, #64]   ; 0x40
- 800c62a:      f403 2380       and.w   r3, r3, #262144 ; 0x40000
- 800c62e:      613b            str     r3, [r7, #16]
- 800c630:      693b            ldr     r3, [r7, #16]
-  
-    __HAL_RCC_GPIOD_CLK_ENABLE();
- 800c632:      4b11            ldr     r3, [pc, #68]   ; (800c678 <HAL_UART_MspInit+0x80>)
- 800c634:      6b1b            ldr     r3, [r3, #48]   ; 0x30
- 800c636:      4a10            ldr     r2, [pc, #64]   ; (800c678 <HAL_UART_MspInit+0x80>)
- 800c638:      f043 0308       orr.w   r3, r3, #8
- 800c63c:      6313            str     r3, [r2, #48]   ; 0x30
- 800c63e:      4b0e            ldr     r3, [pc, #56]   ; (800c678 <HAL_UART_MspInit+0x80>)
- 800c640:      6b1b            ldr     r3, [r3, #48]   ; 0x30
- 800c642:      f003 0308       and.w   r3, r3, #8
- 800c646:      60fb            str     r3, [r7, #12]
- 800c648:      68fb            ldr     r3, [r7, #12]
-    /**USART3 GPIO Configuration    
-    PD8     ------> USART3_TX
-    PD9     ------> USART3_RX 
-    */
-    GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_9;
- 800c64a:      f44f 7340       mov.w   r3, #768        ; 0x300
- 800c64e:      617b            str     r3, [r7, #20]
-    GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
- 800c650:      2302            movs    r3, #2
- 800c652:      61bb            str     r3, [r7, #24]
-    GPIO_InitStruct.Pull = GPIO_NOPULL;
- 800c654:      2300            movs    r3, #0
- 800c656:      61fb            str     r3, [r7, #28]
-    GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
- 800c658:      2303            movs    r3, #3
- 800c65a:      623b            str     r3, [r7, #32]
-    GPIO_InitStruct.Alternate = GPIO_AF7_USART3;
- 800c65c:      2307            movs    r3, #7
- 800c65e:      627b            str     r3, [r7, #36]   ; 0x24
-    HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
- 800c660:      f107 0314       add.w   r3, r7, #20
- 800c664:      4619            mov     r1, r3
- 800c666:      4805            ldr     r0, [pc, #20]   ; (800c67c <HAL_UART_MspInit+0x84>)
- 800c668:      f7fb feb6       bl      80083d8 <HAL_GPIO_Init>
-  /* USER CODE BEGIN USART3_MspInit 1 */
-
-  /* USER CODE END USART3_MspInit 1 */
-  }
-
-}
- 800c66c:      bf00            nop
- 800c66e:      3728            adds    r7, #40 ; 0x28
- 800c670:      46bd            mov     sp, r7
- 800c672:      bd80            pop     {r7, pc}
- 800c674:      40004800        .word   0x40004800
- 800c678:      40023800        .word   0x40023800
- 800c67c:      40020c00        .word   0x40020c00
-
-0800c680 <NMI_Handler>:
-/******************************************************************************/
-/**
-  * @brief This function handles Non maskable interrupt.
-  */
-void NMI_Handler(void)
-{
- 800c680:      b480            push    {r7}
- 800c682:      af00            add     r7, sp, #0
-
-  /* USER CODE END NonMaskableInt_IRQn 0 */
-  /* USER CODE BEGIN NonMaskableInt_IRQn 1 */
-
-  /* USER CODE END NonMaskableInt_IRQn 1 */
-}
- 800c684:      bf00            nop
- 800c686:      46bd            mov     sp, r7
- 800c688:      f85d 7b04       ldr.w   r7, [sp], #4
- 800c68c:      4770            bx      lr
-
-0800c68e <HardFault_Handler>:
-
-/**
-  * @brief This function handles Hard fault interrupt.
-  */
-void HardFault_Handler(void)
-{
- 800c68e:      b480            push    {r7}
- 800c690:      af00            add     r7, sp, #0
-  /* USER CODE BEGIN HardFault_IRQn 0 */
-
-  /* USER CODE END HardFault_IRQn 0 */
-  while (1)
- 800c692:      e7fe            b.n     800c692 <HardFault_Handler+0x4>
-
-0800c694 <MemManage_Handler>:
-
-/**
-  * @brief This function handles Memory management fault.
-  */
-void MemManage_Handler(void)
-{
- 800c694:      b480            push    {r7}
- 800c696:      af00            add     r7, sp, #0
-  /* USER CODE BEGIN MemoryManagement_IRQn 0 */
-
-  /* USER CODE END MemoryManagement_IRQn 0 */
-  while (1)
- 800c698:      e7fe            b.n     800c698 <MemManage_Handler+0x4>
-
-0800c69a <BusFault_Handler>:
-
-/**
-  * @brief This function handles Pre-fetch fault, memory access fault.
-  */
-void BusFault_Handler(void)
-{
- 800c69a:      b480            push    {r7}
- 800c69c:      af00            add     r7, sp, #0
-  /* USER CODE BEGIN BusFault_IRQn 0 */
-
-  /* USER CODE END BusFault_IRQn 0 */
-  while (1)
- 800c69e:      e7fe            b.n     800c69e <BusFault_Handler+0x4>
-
-0800c6a0 <UsageFault_Handler>:
-
-/**
-  * @brief This function handles Undefined instruction or illegal state.
-  */
-void UsageFault_Handler(void)
-{
- 800c6a0:      b480            push    {r7}
- 800c6a2:      af00            add     r7, sp, #0
-  /* USER CODE BEGIN UsageFault_IRQn 0 */
-
-  /* USER CODE END UsageFault_IRQn 0 */
-  while (1)
- 800c6a4:      e7fe            b.n     800c6a4 <UsageFault_Handler+0x4>
-
-0800c6a6 <SVC_Handler>:
-
-/**
-  * @brief This function handles System service call via SWI instruction.
-  */
-void SVC_Handler(void)
-{
- 800c6a6:      b480            push    {r7}
- 800c6a8:      af00            add     r7, sp, #0
-
-  /* USER CODE END SVCall_IRQn 0 */
-  /* USER CODE BEGIN SVCall_IRQn 1 */
-
-  /* USER CODE END SVCall_IRQn 1 */
-}
- 800c6aa:      bf00            nop
- 800c6ac:      46bd            mov     sp, r7
- 800c6ae:      f85d 7b04       ldr.w   r7, [sp], #4
- 800c6b2:      4770            bx      lr
-
-0800c6b4 <DebugMon_Handler>:
-
-/**
-  * @brief This function handles Debug monitor.
-  */
-void DebugMon_Handler(void)
-{
- 800c6b4:      b480            push    {r7}
- 800c6b6:      af00            add     r7, sp, #0
-
-  /* USER CODE END DebugMonitor_IRQn 0 */
-  /* USER CODE BEGIN DebugMonitor_IRQn 1 */
-
-  /* USER CODE END DebugMonitor_IRQn 1 */
-}
- 800c6b8:      bf00            nop
- 800c6ba:      46bd            mov     sp, r7
- 800c6bc:      f85d 7b04       ldr.w   r7, [sp], #4
- 800c6c0:      4770            bx      lr
-
-0800c6c2 <PendSV_Handler>:
-
-/**
-  * @brief This function handles Pendable request for system service.
-  */
-void PendSV_Handler(void)
-{
- 800c6c2:      b480            push    {r7}
- 800c6c4:      af00            add     r7, sp, #0
-
-  /* USER CODE END PendSV_IRQn 0 */
-  /* USER CODE BEGIN PendSV_IRQn 1 */
-
-  /* USER CODE END PendSV_IRQn 1 */
-}
- 800c6c6:      bf00            nop
- 800c6c8:      46bd            mov     sp, r7
- 800c6ca:      f85d 7b04       ldr.w   r7, [sp], #4
- 800c6ce:      4770            bx      lr
-
-0800c6d0 <SysTick_Handler>:
-
-/**
-  * @brief This function handles System tick timer.
-  */
-void SysTick_Handler(void)
-{
- 800c6d0:      b580            push    {r7, lr}
- 800c6d2:      af00            add     r7, sp, #0
-  /* USER CODE BEGIN SysTick_IRQn 0 */
-
-  /* USER CODE END SysTick_IRQn 0 */
-  HAL_IncTick();
- 800c6d4:      f7fb fcca       bl      800806c <HAL_IncTick>
-  /* USER CODE BEGIN SysTick_IRQn 1 */
-
-  /* USER CODE END SysTick_IRQn 1 */
-}
- 800c6d8:      bf00            nop
- 800c6da:      bd80            pop     {r7, pc}
-
-0800c6dc <_getpid>:
-void initialise_monitor_handles()
-{
-}
-
-int _getpid(void)
-{
- 800c6dc:      b480            push    {r7}
- 800c6de:      af00            add     r7, sp, #0
-       return 1;
- 800c6e0:      2301            movs    r3, #1
-}
- 800c6e2:      4618            mov     r0, r3
- 800c6e4:      46bd            mov     sp, r7
- 800c6e6:      f85d 7b04       ldr.w   r7, [sp], #4
- 800c6ea:      4770            bx      lr
-
-0800c6ec <_kill>:
-
-int _kill(int pid, int sig)
-{
- 800c6ec:      b580            push    {r7, lr}
- 800c6ee:      b082            sub     sp, #8
- 800c6f0:      af00            add     r7, sp, #0
- 800c6f2:      6078            str     r0, [r7, #4]
- 800c6f4:      6039            str     r1, [r7, #0]
-       errno = EINVAL;
- 800c6f6:      f001 f9a7       bl      800da48 <__errno>
- 800c6fa:      4602            mov     r2, r0
- 800c6fc:      2316            movs    r3, #22
- 800c6fe:      6013            str     r3, [r2, #0]
-       return -1;
- 800c700:      f04f 33ff       mov.w   r3, #4294967295 ; 0xffffffff
-}
- 800c704:      4618            mov     r0, r3
- 800c706:      3708            adds    r7, #8
- 800c708:      46bd            mov     sp, r7
- 800c70a:      bd80            pop     {r7, pc}
-
-0800c70c <_exit>:
-
-void _exit (int status)
-{
- 800c70c:      b580            push    {r7, lr}
- 800c70e:      b082            sub     sp, #8
- 800c710:      af00            add     r7, sp, #0
- 800c712:      6078            str     r0, [r7, #4]
-       _kill(status, -1);
- 800c714:      f04f 31ff       mov.w   r1, #4294967295 ; 0xffffffff
- 800c718:      6878            ldr     r0, [r7, #4]
- 800c71a:      f7ff ffe7       bl      800c6ec <_kill>
-       while (1) {}            /* Make sure we hang here */
- 800c71e:      e7fe            b.n     800c71e <_exit+0x12>
-
-0800c720 <_read>:
-}
-
-__attribute__((weak)) int _read(int file, char *ptr, int len)
-{
- 800c720:      b580            push    {r7, lr}
- 800c722:      b086            sub     sp, #24
- 800c724:      af00            add     r7, sp, #0
- 800c726:      60f8            str     r0, [r7, #12]
- 800c728:      60b9            str     r1, [r7, #8]
- 800c72a:      607a            str     r2, [r7, #4]
-       int DataIdx;
-
-       for (DataIdx = 0; DataIdx < len; DataIdx++)
- 800c72c:      2300            movs    r3, #0
- 800c72e:      617b            str     r3, [r7, #20]
- 800c730:      e00a            b.n     800c748 <_read+0x28>
-       {
-               *ptr++ = __io_getchar();
- 800c732:      f3af 8000       nop.w
- 800c736:      4601            mov     r1, r0
- 800c738:      68bb            ldr     r3, [r7, #8]
- 800c73a:      1c5a            adds    r2, r3, #1
- 800c73c:      60ba            str     r2, [r7, #8]
- 800c73e:      b2ca            uxtb    r2, r1
- 800c740:      701a            strb    r2, [r3, #0]
-       for (DataIdx = 0; DataIdx < len; DataIdx++)
- 800c742:      697b            ldr     r3, [r7, #20]
- 800c744:      3301            adds    r3, #1
- 800c746:      617b            str     r3, [r7, #20]
- 800c748:      697a            ldr     r2, [r7, #20]
- 800c74a:      687b            ldr     r3, [r7, #4]
- 800c74c:      429a            cmp     r2, r3
- 800c74e:      dbf0            blt.n   800c732 <_read+0x12>
-       }
-
-return len;
- 800c750:      687b            ldr     r3, [r7, #4]
-}
- 800c752:      4618            mov     r0, r3
- 800c754:      3718            adds    r7, #24
- 800c756:      46bd            mov     sp, r7
- 800c758:      bd80            pop     {r7, pc}
-
-0800c75a <_write>:
-
-__attribute__((weak)) int _write(int file, char *ptr, int len)
-{
- 800c75a:      b580            push    {r7, lr}
- 800c75c:      b086            sub     sp, #24
- 800c75e:      af00            add     r7, sp, #0
- 800c760:      60f8            str     r0, [r7, #12]
- 800c762:      60b9            str     r1, [r7, #8]
- 800c764:      607a            str     r2, [r7, #4]
-       int DataIdx;
-
-       for (DataIdx = 0; DataIdx < len; DataIdx++)
- 800c766:      2300            movs    r3, #0
- 800c768:      617b            str     r3, [r7, #20]
- 800c76a:      e009            b.n     800c780 <_write+0x26>
-       {
-               __io_putchar(*ptr++);
- 800c76c:      68bb            ldr     r3, [r7, #8]
- 800c76e:      1c5a            adds    r2, r3, #1
- 800c770:      60ba            str     r2, [r7, #8]
- 800c772:      781b            ldrb    r3, [r3, #0]
- 800c774:      4618            mov     r0, r3
- 800c776:      f3af 8000       nop.w
-       for (DataIdx = 0; DataIdx < len; DataIdx++)
- 800c77a:      697b            ldr     r3, [r7, #20]
- 800c77c:      3301            adds    r3, #1
- 800c77e:      617b            str     r3, [r7, #20]
- 800c780:      697a            ldr     r2, [r7, #20]
- 800c782:      687b            ldr     r3, [r7, #4]
- 800c784:      429a            cmp     r2, r3
- 800c786:      dbf1            blt.n   800c76c <_write+0x12>
-       }
-       return len;
- 800c788:      687b            ldr     r3, [r7, #4]
-}
- 800c78a:      4618            mov     r0, r3
- 800c78c:      3718            adds    r7, #24
- 800c78e:      46bd            mov     sp, r7
- 800c790:      bd80            pop     {r7, pc}
-
-0800c792 <_close>:
-
-int _close(int file)
-{
- 800c792:      b480            push    {r7}
- 800c794:      b083            sub     sp, #12
- 800c796:      af00            add     r7, sp, #0
- 800c798:      6078            str     r0, [r7, #4]
-       return -1;
- 800c79a:      f04f 33ff       mov.w   r3, #4294967295 ; 0xffffffff
-}
- 800c79e:      4618            mov     r0, r3
- 800c7a0:      370c            adds    r7, #12
- 800c7a2:      46bd            mov     sp, r7
- 800c7a4:      f85d 7b04       ldr.w   r7, [sp], #4
- 800c7a8:      4770            bx      lr
-
-0800c7aa <_fstat>:
-
-
-int _fstat(int file, struct stat *st)
-{
- 800c7aa:      b480            push    {r7}
- 800c7ac:      b083            sub     sp, #12
- 800c7ae:      af00            add     r7, sp, #0
- 800c7b0:      6078            str     r0, [r7, #4]
- 800c7b2:      6039            str     r1, [r7, #0]
-       st->st_mode = S_IFCHR;
- 800c7b4:      683b            ldr     r3, [r7, #0]
- 800c7b6:      f44f 5200       mov.w   r2, #8192       ; 0x2000
- 800c7ba:      605a            str     r2, [r3, #4]
-       return 0;
- 800c7bc:      2300            movs    r3, #0
-}
- 800c7be:      4618            mov     r0, r3
- 800c7c0:      370c            adds    r7, #12
- 800c7c2:      46bd            mov     sp, r7
- 800c7c4:      f85d 7b04       ldr.w   r7, [sp], #4
- 800c7c8:      4770            bx      lr
-
-0800c7ca <_isatty>:
-
-int _isatty(int file)
-{
- 800c7ca:      b480            push    {r7}
- 800c7cc:      b083            sub     sp, #12
- 800c7ce:      af00            add     r7, sp, #0
- 800c7d0:      6078            str     r0, [r7, #4]
-       return 1;
- 800c7d2:      2301            movs    r3, #1
-}
- 800c7d4:      4618            mov     r0, r3
- 800c7d6:      370c            adds    r7, #12
- 800c7d8:      46bd            mov     sp, r7
- 800c7da:      f85d 7b04       ldr.w   r7, [sp], #4
- 800c7de:      4770            bx      lr
-
-0800c7e0 <_lseek>:
-
-int _lseek(int file, int ptr, int dir)
-{
- 800c7e0:      b480            push    {r7}
- 800c7e2:      b085            sub     sp, #20
- 800c7e4:      af00            add     r7, sp, #0
- 800c7e6:      60f8            str     r0, [r7, #12]
- 800c7e8:      60b9            str     r1, [r7, #8]
- 800c7ea:      607a            str     r2, [r7, #4]
-       return 0;
- 800c7ec:      2300            movs    r3, #0
-}
- 800c7ee:      4618            mov     r0, r3
- 800c7f0:      3714            adds    r7, #20
- 800c7f2:      46bd            mov     sp, r7
- 800c7f4:      f85d 7b04       ldr.w   r7, [sp], #4
- 800c7f8:      4770            bx      lr
-       ...
-
-0800c7fc <_sbrk>:
-/**
- _sbrk
- Increase program data space. Malloc and related functions depend on this
-**/
-caddr_t _sbrk(int incr)
-{
- 800c7fc:      b580            push    {r7, lr}
- 800c7fe:      b084            sub     sp, #16
- 800c800:      af00            add     r7, sp, #0
- 800c802:      6078            str     r0, [r7, #4]
-       extern char end asm("end");
-       static char *heap_end;
-       char *prev_heap_end;
-
-       if (heap_end == 0)
- 800c804:      4b11            ldr     r3, [pc, #68]   ; (800c84c <_sbrk+0x50>)
- 800c806:      681b            ldr     r3, [r3, #0]
- 800c808:      2b00            cmp     r3, #0
- 800c80a:      d102            bne.n   800c812 <_sbrk+0x16>
-               heap_end = &end;
- 800c80c:      4b0f            ldr     r3, [pc, #60]   ; (800c84c <_sbrk+0x50>)
- 800c80e:      4a10            ldr     r2, [pc, #64]   ; (800c850 <_sbrk+0x54>)
- 800c810:      601a            str     r2, [r3, #0]
-
-       prev_heap_end = heap_end;
- 800c812:      4b0e            ldr     r3, [pc, #56]   ; (800c84c <_sbrk+0x50>)
- 800c814:      681b            ldr     r3, [r3, #0]
- 800c816:      60fb            str     r3, [r7, #12]
-       if (heap_end + incr > stack_ptr)
- 800c818:      4b0c            ldr     r3, [pc, #48]   ; (800c84c <_sbrk+0x50>)
- 800c81a:      681a            ldr     r2, [r3, #0]
- 800c81c:      687b            ldr     r3, [r7, #4]
- 800c81e:      4413            add     r3, r2
- 800c820:      466a            mov     r2, sp
- 800c822:      4293            cmp     r3, r2
- 800c824:      d907            bls.n   800c836 <_sbrk+0x3a>
-       {
-               errno = ENOMEM;
- 800c826:      f001 f90f       bl      800da48 <__errno>
- 800c82a:      4602            mov     r2, r0
- 800c82c:      230c            movs    r3, #12
- 800c82e:      6013            str     r3, [r2, #0]
-               return (caddr_t) -1;
- 800c830:      f04f 33ff       mov.w   r3, #4294967295 ; 0xffffffff
- 800c834:      e006            b.n     800c844 <_sbrk+0x48>
-       }
-
-       heap_end += incr;
- 800c836:      4b05            ldr     r3, [pc, #20]   ; (800c84c <_sbrk+0x50>)
- 800c838:      681a            ldr     r2, [r3, #0]
- 800c83a:      687b            ldr     r3, [r7, #4]
- 800c83c:      4413            add     r3, r2
- 800c83e:      4a03            ldr     r2, [pc, #12]   ; (800c84c <_sbrk+0x50>)
- 800c840:      6013            str     r3, [r2, #0]
-
-       return (caddr_t) prev_heap_end;
- 800c842:      68fb            ldr     r3, [r7, #12]
-}
- 800c844:      4618            mov     r0, r3
- 800c846:      3710            adds    r7, #16
- 800c848:      46bd            mov     sp, r7
- 800c84a:      bd80            pop     {r7, pc}
- 800c84c:      20000aa0        .word   0x20000aa0
- 800c850:      20000b10        .word   0x20000b10
-
-0800c854 <SystemInit>:
-  *         SystemFrequency variable.
-  * @param  None
-  * @retval None
-  */
-void SystemInit(void)
-{
- 800c854:      b480            push    {r7}
- 800c856:      af00            add     r7, sp, #0
-  /* FPU settings ------------------------------------------------------------*/
-  #if (__FPU_PRESENT == 1) && (__FPU_USED == 1)
-    SCB->CPACR |= ((3UL << 10*2)|(3UL << 11*2));  /* set CP10 and CP11 Full Access */
- 800c858:      4b15            ldr     r3, [pc, #84]   ; (800c8b0 <SystemInit+0x5c>)
- 800c85a:      f8d3 3088       ldr.w   r3, [r3, #136]  ; 0x88
- 800c85e:      4a14            ldr     r2, [pc, #80]   ; (800c8b0 <SystemInit+0x5c>)
- 800c860:      f443 0370       orr.w   r3, r3, #15728640       ; 0xf00000
- 800c864:      f8c2 3088       str.w   r3, [r2, #136]  ; 0x88
-  #endif
-  /* Reset the RCC clock configuration to the default reset state ------------*/
-  /* Set HSION bit */
-  RCC->CR |= (uint32_t)0x00000001;
- 800c868:      4b12            ldr     r3, [pc, #72]   ; (800c8b4 <SystemInit+0x60>)
- 800c86a:      681b            ldr     r3, [r3, #0]
- 800c86c:      4a11            ldr     r2, [pc, #68]   ; (800c8b4 <SystemInit+0x60>)
- 800c86e:      f043 0301       orr.w   r3, r3, #1
- 800c872:      6013            str     r3, [r2, #0]
-
-  /* Reset CFGR register */
-  RCC->CFGR = 0x00000000;
- 800c874:      4b0f            ldr     r3, [pc, #60]   ; (800c8b4 <SystemInit+0x60>)
- 800c876:      2200            movs    r2, #0
- 800c878:      609a            str     r2, [r3, #8]
-
-  /* Reset HSEON, CSSON and PLLON bits */
-  RCC->CR &= (uint32_t)0xFEF6FFFF;
- 800c87a:      4b0e            ldr     r3, [pc, #56]   ; (800c8b4 <SystemInit+0x60>)
- 800c87c:      681a            ldr     r2, [r3, #0]
- 800c87e:      490d            ldr     r1, [pc, #52]   ; (800c8b4 <SystemInit+0x60>)
- 800c880:      4b0d            ldr     r3, [pc, #52]   ; (800c8b8 <SystemInit+0x64>)
- 800c882:      4013            ands    r3, r2
- 800c884:      600b            str     r3, [r1, #0]
-
-  /* Reset PLLCFGR register */
-  RCC->PLLCFGR = 0x24003010;
- 800c886:      4b0b            ldr     r3, [pc, #44]   ; (800c8b4 <SystemInit+0x60>)
- 800c888:      4a0c            ldr     r2, [pc, #48]   ; (800c8bc <SystemInit+0x68>)
- 800c88a:      605a            str     r2, [r3, #4]
-
-  /* Reset HSEBYP bit */
-  RCC->CR &= (uint32_t)0xFFFBFFFF;
- 800c88c:      4b09            ldr     r3, [pc, #36]   ; (800c8b4 <SystemInit+0x60>)
- 800c88e:      681b            ldr     r3, [r3, #0]
- 800c890:      4a08            ldr     r2, [pc, #32]   ; (800c8b4 <SystemInit+0x60>)
- 800c892:      f423 2380       bic.w   r3, r3, #262144 ; 0x40000
- 800c896:      6013            str     r3, [r2, #0]
-
-  /* Disable all interrupts */
-  RCC->CIR = 0x00000000;
- 800c898:      4b06            ldr     r3, [pc, #24]   ; (800c8b4 <SystemInit+0x60>)
- 800c89a:      2200            movs    r2, #0
- 800c89c:      60da            str     r2, [r3, #12]
-
-  /* Configure the Vector Table location add offset address ------------------*/
-#ifdef VECT_TAB_SRAM
-  SCB->VTOR = RAMDTCM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */
-#else
-  SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */
- 800c89e:      4b04            ldr     r3, [pc, #16]   ; (800c8b0 <SystemInit+0x5c>)
- 800c8a0:      f04f 6200       mov.w   r2, #134217728  ; 0x8000000
- 800c8a4:      609a            str     r2, [r3, #8]
-#endif
-}
- 800c8a6:      bf00            nop
- 800c8a8:      46bd            mov     sp, r7
- 800c8aa:      f85d 7b04       ldr.w   r7, [sp], #4
- 800c8ae:      4770            bx      lr
- 800c8b0:      e000ed00        .word   0xe000ed00
- 800c8b4:      40023800        .word   0x40023800
- 800c8b8:      fef6ffff        .word   0xfef6ffff
- 800c8bc:      24003010        .word   0x24003010
-
-0800c8c0 <Reset_Handler>:
-
-    .section  .text.Reset_Handler
-  .weak  Reset_Handler
-  .type  Reset_Handler, %function
-Reset_Handler:  
-  ldr   sp, =_estack      /* set stack pointer */
- 800c8c0:      f8df d034       ldr.w   sp, [pc, #52]   ; 800c8f8 <LoopFillZerobss+0x14>
-
-/* Copy the data segment initializers from flash to SRAM */  
-  movs  r1, #0
- 800c8c4:      2100            movs    r1, #0
-  b  LoopCopyDataInit
- 800c8c6:      e003            b.n     800c8d0 <LoopCopyDataInit>
-
-0800c8c8 <CopyDataInit>:
-
-CopyDataInit:
-  ldr  r3, =_sidata
- 800c8c8:      4b0c            ldr     r3, [pc, #48]   ; (800c8fc <LoopFillZerobss+0x18>)
-  ldr  r3, [r3, r1]
- 800c8ca:      585b            ldr     r3, [r3, r1]
-  str  r3, [r0, r1]
- 800c8cc:      5043            str     r3, [r0, r1]
-  adds  r1, r1, #4
- 800c8ce:      3104            adds    r1, #4
-
-0800c8d0 <LoopCopyDataInit>:
-    
-LoopCopyDataInit:
-  ldr  r0, =_sdata
- 800c8d0:      480b            ldr     r0, [pc, #44]   ; (800c900 <LoopFillZerobss+0x1c>)
-  ldr  r3, =_edata
- 800c8d2:      4b0c            ldr     r3, [pc, #48]   ; (800c904 <LoopFillZerobss+0x20>)
-  adds  r2, r0, r1
- 800c8d4:      1842            adds    r2, r0, r1
-  cmp  r2, r3
- 800c8d6:      429a            cmp     r2, r3
-  bcc  CopyDataInit
- 800c8d8:      d3f6            bcc.n   800c8c8 <CopyDataInit>
-  ldr  r2, =_sbss
- 800c8da:      4a0b            ldr     r2, [pc, #44]   ; (800c908 <LoopFillZerobss+0x24>)
-  b  LoopFillZerobss
- 800c8dc:      e002            b.n     800c8e4 <LoopFillZerobss>
-
-0800c8de <FillZerobss>:
-/* Zero fill the bss segment. */  
-FillZerobss:
-  movs  r3, #0
- 800c8de:      2300            movs    r3, #0
-  str  r3, [r2], #4
- 800c8e0:      f842 3b04       str.w   r3, [r2], #4
-
-0800c8e4 <LoopFillZerobss>:
-    
-LoopFillZerobss:
-  ldr  r3, = _ebss
- 800c8e4:      4b09            ldr     r3, [pc, #36]   ; (800c90c <LoopFillZerobss+0x28>)
-  cmp  r2, r3
- 800c8e6:      429a            cmp     r2, r3
-  bcc  FillZerobss
- 800c8e8:      d3f9            bcc.n   800c8de <FillZerobss>
-
-/* Call the clock system initialization function.*/
-  bl  SystemInit   
- 800c8ea:      f7ff ffb3       bl      800c854 <SystemInit>
-/* Call static constructors */
-    bl __libc_init_array
- 800c8ee:      f001 fac5       bl      800de7c <__libc_init_array>
-/* Call the application's entry point.*/
-  bl  main
- 800c8f2:      f7fe ff75       bl      800b7e0 <main>
-  bx  lr    
- 800c8f6:      4770            bx      lr
-  ldr   sp, =_estack      /* set stack pointer */
- 800c8f8:      20080000        .word   0x20080000
-  ldr  r3, =_sidata
- 800c8fc:      08013338        .word   0x08013338
-  ldr  r0, =_sdata
- 800c900:      20000000        .word   0x20000000
-  ldr  r3, =_edata
- 800c904:      200009c0        .word   0x200009c0
-  ldr  r2, =_sbss
- 800c908:      200009c0        .word   0x200009c0
-  ldr  r3, = _ebss
- 800c90c:      20000b0c        .word   0x20000b0c
-
-0800c910 <ADC_IRQHandler>:
- * @retval None       
-*/
-    .section  .text.Default_Handler,"ax",%progbits
-Default_Handler:
-Infinite_Loop:
-  b  Infinite_Loop
- 800c910:      e7fe            b.n     800c910 <ADC_IRQHandler>
-       ...
-
-0800c914 <__cxa_pure_virtual>:
- 800c914:      b508            push    {r3, lr}
- 800c916:      221b            movs    r2, #27
- 800c918:      4902            ldr     r1, [pc, #8]    ; (800c924 <__cxa_pure_virtual+0x10>)
- 800c91a:      2002            movs    r0, #2
- 800c91c:      f003 f9be       bl      800fc9c <write>
- 800c920:      f000 f816       bl      800c950 <_ZSt9terminatev>
- 800c924:      08012390        .word   0x08012390
-
-0800c928 <_ZN10__cxxabiv111__terminateEPFvvE>:
- 800c928:      b508            push    {r3, lr}
- 800c92a:      4780            blx     r0
- 800c92c:      f001 f884       bl      800da38 <abort>
- 800c930:      f000 fd7c       bl      800d42c <__cxa_begin_catch>
- 800c934:      f001 f880       bl      800da38 <abort>
- 800c938:      460d            mov     r5, r1
- 800c93a:      4604            mov     r4, r0
- 800c93c:      f000 fdb6       bl      800d4ac <__cxa_end_catch>
- 800c940:      3501            adds    r5, #1
- 800c942:      d001            beq.n   800c948 <_ZN10__cxxabiv111__terminateEPFvvE+0x20>
- 800c944:      f000 f8c8       bl      800cad8 <__cxa_end_cleanup>
- 800c948:      4620            mov     r0, r4
- 800c94a:      f000 f857       bl      800c9fc <__cxa_call_unexpected>
- 800c94e:      bf00            nop
-
-0800c950 <_ZSt9terminatev>:
- 800c950:      b508            push    {r3, lr}
- 800c952:      4b03            ldr     r3, [pc, #12]   ; (800c960 <_ZSt9terminatev+0x10>)
- 800c954:      6818            ldr     r0, [r3, #0]
- 800c956:      f3bf 8f5b       dmb     ish
- 800c95a:      f7ff ffe5       bl      800c928 <_ZN10__cxxabiv111__terminateEPFvvE>
- 800c95e:      bf00            nop
- 800c960:      20000010        .word   0x20000010
-
-0800c964 <_ZN10__cxxabiv112__unexpectedEPFvvE>:
- 800c964:      b508            push    {r3, lr}
- 800c966:      4780            blx     r0
- 800c968:      f7ff fff2       bl      800c950 <_ZSt9terminatev>
-
-0800c96c <_ZSt10unexpectedv>:
- 800c96c:      b508            push    {r3, lr}
- 800c96e:      4b03            ldr     r3, [pc, #12]   ; (800c97c <_ZSt10unexpectedv+0x10>)
- 800c970:      6818            ldr     r0, [r3, #0]
- 800c972:      f3bf 8f5b       dmb     ish
- 800c976:      f7ff fff5       bl      800c964 <_ZN10__cxxabiv112__unexpectedEPFvvE>
- 800c97a:      bf00            nop
- 800c97c:      2000000c        .word   0x2000000c
-
-0800c980 <_ZSt13get_terminatev>:
- 800c980:      4b02            ldr     r3, [pc, #8]    ; (800c98c <_ZSt13get_terminatev+0xc>)
- 800c982:      6818            ldr     r0, [r3, #0]
- 800c984:      f3bf 8f5b       dmb     ish
- 800c988:      4770            bx      lr
- 800c98a:      bf00            nop
- 800c98c:      20000010        .word   0x20000010
-
-0800c990 <_ZSt14get_unexpectedv>:
- 800c990:      4b02            ldr     r3, [pc, #8]    ; (800c99c <_ZSt14get_unexpectedv+0xc>)
- 800c992:      6818            ldr     r0, [r3, #0]
- 800c994:      f3bf 8f5b       dmb     ish
- 800c998:      4770            bx      lr
- 800c99a:      bf00            nop
- 800c99c:      2000000c        .word   0x2000000c
-
-0800c9a0 <_ZN10__cxxabiv1L24__is_gxx_exception_classEPc>:
- 800c9a0:      7803            ldrb    r3, [r0, #0]
- 800c9a2:      2b47            cmp     r3, #71 ; 0x47
- 800c9a4:      d001            beq.n   800c9aa <_ZN10__cxxabiv1L24__is_gxx_exception_classEPc+0xa>
- 800c9a6:      2000            movs    r0, #0
- 800c9a8:      4770            bx      lr
- 800c9aa:      7843            ldrb    r3, [r0, #1]
- 800c9ac:      2b4e            cmp     r3, #78 ; 0x4e
- 800c9ae:      d1fa            bne.n   800c9a6 <_ZN10__cxxabiv1L24__is_gxx_exception_classEPc+0x6>
- 800c9b0:      7883            ldrb    r3, [r0, #2]
- 800c9b2:      2b55            cmp     r3, #85 ; 0x55
- 800c9b4:      d1f7            bne.n   800c9a6 <_ZN10__cxxabiv1L24__is_gxx_exception_classEPc+0x6>
- 800c9b6:      78c3            ldrb    r3, [r0, #3]
- 800c9b8:      2b43            cmp     r3, #67 ; 0x43
- 800c9ba:      d1f4            bne.n   800c9a6 <_ZN10__cxxabiv1L24__is_gxx_exception_classEPc+0x6>
- 800c9bc:      7903            ldrb    r3, [r0, #4]
- 800c9be:      2b43            cmp     r3, #67 ; 0x43
- 800c9c0:      d1f1            bne.n   800c9a6 <_ZN10__cxxabiv1L24__is_gxx_exception_classEPc+0x6>
- 800c9c2:      7943            ldrb    r3, [r0, #5]
- 800c9c4:      2b2b            cmp     r3, #43 ; 0x2b
- 800c9c6:      d1ee            bne.n   800c9a6 <_ZN10__cxxabiv1L24__is_gxx_exception_classEPc+0x6>
- 800c9c8:      7983            ldrb    r3, [r0, #6]
- 800c9ca:      2b2b            cmp     r3, #43 ; 0x2b
- 800c9cc:      d1eb            bne.n   800c9a6 <_ZN10__cxxabiv1L24__is_gxx_exception_classEPc+0x6>
- 800c9ce:      79c0            ldrb    r0, [r0, #7]
- 800c9d0:      2801            cmp     r0, #1
- 800c9d2:      bf8c            ite     hi
- 800c9d4:      2000            movhi   r0, #0
- 800c9d6:      2001            movls   r0, #1
- 800c9d8:      4770            bx      lr
- 800c9da:      bf00            nop
-
-0800c9dc <__cxa_call_terminate>:
- 800c9dc:      b510            push    {r4, lr}
- 800c9de:      b130            cbz     r0, 800c9ee <__cxa_call_terminate+0x12>
- 800c9e0:      4604            mov     r4, r0
- 800c9e2:      f000 fd23       bl      800d42c <__cxa_begin_catch>
- 800c9e6:      4620            mov     r0, r4
- 800c9e8:      f7ff ffda       bl      800c9a0 <_ZN10__cxxabiv1L24__is_gxx_exception_classEPc>
- 800c9ec:      b908            cbnz    r0, 800c9f2 <__cxa_call_terminate+0x16>
- 800c9ee:      f7ff ffaf       bl      800c950 <_ZSt9terminatev>
- 800c9f2:      f854 0c14       ldr.w   r0, [r4, #-20]
- 800c9f6:      f7ff ff97       bl      800c928 <_ZN10__cxxabiv111__terminateEPFvvE>
- 800c9fa:      bf00            nop
-
-0800c9fc <__cxa_call_unexpected>:
- 800c9fc:      e92d 4ff0       stmdb   sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
- 800ca00:      b085            sub     sp, #20
- 800ca02:      4602            mov     r2, r0
- 800ca04:      f7ff ffcc       bl      800c9a0 <_ZN10__cxxabiv1L24__is_gxx_exception_classEPc>
- 800ca08:      b150            cbz     r0, 800ca20 <__cxa_call_unexpected+0x24>
- 800ca0a:      e952 8506       ldrd    r8, r5, [r2, #-24]
- 800ca0e:      4610            mov     r0, r2
- 800ca10:      6a96            ldr     r6, [r2, #40]   ; 0x28
- 800ca12:      e9d2 740c       ldrd    r7, r4, [r2, #48]       ; 0x30
- 800ca16:      f000 fd09       bl      800d42c <__cxa_begin_catch>
- 800ca1a:      4640            mov     r0, r8
- 800ca1c:      f7ff ffa2       bl      800c964 <_ZN10__cxxabiv112__unexpectedEPFvvE>
- 800ca20:      4610            mov     r0, r2
- 800ca22:      f000 fd03       bl      800d42c <__cxa_begin_catch>
- 800ca26:      f7ff ffa1       bl      800c96c <_ZSt10unexpectedv>
- 800ca2a:      f000 fcff       bl      800d42c <__cxa_begin_catch>
- 800ca2e:      f7ff ff8f       bl      800c950 <_ZSt9terminatev>
- 800ca32:      f000 fcfb       bl      800d42c <__cxa_begin_catch>
- 800ca36:      f000 f917       bl      800cc68 <__cxa_get_globals_fast>
- 800ca3a:      6803            ldr     r3, [r0, #0]
- 800ca3c:      f893 2027       ldrb.w  r2, [r3, #39]   ; 0x27
- 800ca40:      f10d 0a10       add.w   sl, sp, #16
- 800ca44:      2a01            cmp     r2, #1
- 800ca46:      bf0c            ite     eq
- 800ca48:      681a            ldreq   r2, [r3, #0]
- 800ca4a:      f103 0278       addne.w r2, r3, #120    ; 0x78
- 800ca4e:      f04f 0800       mov.w   r8, #0
- 800ca52:      3320            adds    r3, #32
- 800ca54:      f84a 2d08       str.w   r2, [sl, #-8]!
- 800ca58:      f027 0b03       bic.w   fp, r7, #3
- 800ca5c:      9301            str     r3, [sp, #4]
- 800ca5e:      46c1            mov     r9, r8
- 800ca60:      45b1            cmp     r9, r6
- 800ca62:      da1b            bge.n   800ca9c <__cxa_call_unexpected+0xa0>
- 800ca64:      6827            ldr     r7, [r4, #0]
- 800ca66:      b107            cbz     r7, 800ca6a <__cxa_call_unexpected+0x6e>
- 800ca68:      4427            add     r7, r4
- 800ca6a:      4653            mov     r3, sl
- 800ca6c:      2200            movs    r2, #0
- 800ca6e:      4639            mov     r1, r7
- 800ca70:      9801            ldr     r0, [sp, #4]
- 800ca72:      f000 f837       bl      800cae4 <__cxa_type_match>
- 800ca76:      b9e8            cbnz    r0, 800cab4 <__cxa_call_unexpected+0xb8>
- 800ca78:      683b            ldr     r3, [r7, #0]
- 800ca7a:      4914            ldr     r1, [pc, #80]   ; (800cacc <__cxa_call_unexpected+0xd0>)
- 800ca7c:      691b            ldr     r3, [r3, #16]
- 800ca7e:      9300            str     r3, [sp, #0]
- 800ca80:      aa04            add     r2, sp, #16
- 800ca82:      2301            movs    r3, #1
- 800ca84:      f842 0d04       str.w   r0, [r2, #-4]!
- 800ca88:      4638            mov     r0, r7
- 800ca8a:      9f00            ldr     r7, [sp, #0]
- 800ca8c:      47b8            blx     r7
- 800ca8e:      2800            cmp     r0, #0
- 800ca90:      bf18            it      ne
- 800ca92:      4680            movne   r8, r0
- 800ca94:      f109 0901       add.w   r9, r9, #1
- 800ca98:      445c            add     r4, fp
- 800ca9a:      e7e1            b.n     800ca60 <__cxa_call_unexpected+0x64>
- 800ca9c:      f1b8 0f00       cmp.w   r8, #0
- 800caa0:      d010            beq.n   800cac4 <__cxa_call_unexpected+0xc8>
- 800caa2:      2004            movs    r0, #4
- 800caa4:      f000 fdc0       bl      800d628 <__cxa_allocate_exception>
- 800caa8:      4b09            ldr     r3, [pc, #36]   ; (800cad0 <__cxa_call_unexpected+0xd4>)
- 800caaa:      6003            str     r3, [r0, #0]
- 800caac:      4a09            ldr     r2, [pc, #36]   ; (800cad4 <__cxa_call_unexpected+0xd8>)
- 800caae:      4907            ldr     r1, [pc, #28]   ; (800cacc <__cxa_call_unexpected+0xd0>)
- 800cab0:      f000 fc68       bl      800d384 <__cxa_throw>
- 800cab4:      f000 fc82       bl      800d3bc <__cxa_rethrow>
- 800cab8:      f000 fcf8       bl      800d4ac <__cxa_end_catch>
- 800cabc:      f000 fcf6       bl      800d4ac <__cxa_end_catch>
- 800cac0:      f000 f80a       bl      800cad8 <__cxa_end_cleanup>
- 800cac4:      4628            mov     r0, r5
- 800cac6:      f7ff ff2f       bl      800c928 <_ZN10__cxxabiv111__terminateEPFvvE>
- 800caca:      bf00            nop
- 800cacc:      080123d0        .word   0x080123d0
- 800cad0:      08012454        .word   0x08012454
- 800cad4:      0800d6a1        .word   0x0800d6a1
-
-0800cad8 <__cxa_end_cleanup>:
- 800cad8:      b41e            push    {r1, r2, r3, r4}
- 800cada:      f000 f88d       bl      800cbf8 <__gnu_end_cleanup>
- 800cade:      bc1e            pop     {r1, r2, r3, r4}
- 800cae0:      f7fb f882       bl      8007be8 <_Unwind_Resume>
-
-0800cae4 <__cxa_type_match>:
- 800cae4:      b5f0            push    {r4, r5, r6, r7, lr}
- 800cae6:      7802            ldrb    r2, [r0, #0]
- 800cae8:      2a47            cmp     r2, #71 ; 0x47
- 800caea:      b083            sub     sp, #12
- 800caec:      460d            mov     r5, r1
- 800caee:      461f            mov     r7, r3
- 800caf0:      d01e            beq.n   800cb30 <__cxa_type_match+0x4c>
- 800caf2:      2300            movs    r3, #0
- 800caf4:      4c25            ldr     r4, [pc, #148]  ; (800cb8c <__cxa_type_match+0xa8>)
- 800caf6:      9301            str     r3, [sp, #4]
- 800caf8:      6823            ldr     r3, [r4, #0]
- 800cafa:      4620            mov     r0, r4
- 800cafc:      689b            ldr     r3, [r3, #8]
- 800cafe:      4798            blx     r3
- 800cb00:      b180            cbz     r0, 800cb24 <__cxa_type_match+0x40>
- 800cb02:      9b01            ldr     r3, [sp, #4]
- 800cb04:      681b            ldr     r3, [r3, #0]
- 800cb06:      9301            str     r3, [sp, #4]
- 800cb08:      2602            movs    r6, #2
- 800cb0a:      682b            ldr     r3, [r5, #0]
- 800cb0c:      4621            mov     r1, r4
- 800cb0e:      4628            mov     r0, r5
- 800cb10:      691c            ldr     r4, [r3, #16]
- 800cb12:      aa01            add     r2, sp, #4
- 800cb14:      2301            movs    r3, #1
- 800cb16:      47a0            blx     r4
- 800cb18:      b130            cbz     r0, 800cb28 <__cxa_type_match+0x44>
- 800cb1a:      9b01            ldr     r3, [sp, #4]
- 800cb1c:      603b            str     r3, [r7, #0]
- 800cb1e:      4630            mov     r0, r6
- 800cb20:      b003            add     sp, #12
- 800cb22:      bdf0            pop     {r4, r5, r6, r7, pc}
- 800cb24:      2601            movs    r6, #1
- 800cb26:      e7f0            b.n     800cb0a <__cxa_type_match+0x26>
- 800cb28:      4606            mov     r6, r0
- 800cb2a:      4630            mov     r0, r6
- 800cb2c:      b003            add     sp, #12
- 800cb2e:      bdf0            pop     {r4, r5, r6, r7, pc}
- 800cb30:      7843            ldrb    r3, [r0, #1]
- 800cb32:      2b4e            cmp     r3, #78 ; 0x4e
- 800cb34:      d1dd            bne.n   800caf2 <__cxa_type_match+0xe>
- 800cb36:      7883            ldrb    r3, [r0, #2]
- 800cb38:      2b55            cmp     r3, #85 ; 0x55
- 800cb3a:      d1da            bne.n   800caf2 <__cxa_type_match+0xe>
- 800cb3c:      78c3            ldrb    r3, [r0, #3]
- 800cb3e:      2b43            cmp     r3, #67 ; 0x43
- 800cb40:      d1d7            bne.n   800caf2 <__cxa_type_match+0xe>
- 800cb42:      7903            ldrb    r3, [r0, #4]
- 800cb44:      2b46            cmp     r3, #70 ; 0x46
- 800cb46:      d015            beq.n   800cb74 <__cxa_type_match+0x90>
- 800cb48:      7903            ldrb    r3, [r0, #4]
- 800cb4a:      2b43            cmp     r3, #67 ; 0x43
- 800cb4c:      d1d1            bne.n   800caf2 <__cxa_type_match+0xe>
- 800cb4e:      7943            ldrb    r3, [r0, #5]
- 800cb50:      2b2b            cmp     r3, #43 ; 0x2b
- 800cb52:      d1ce            bne.n   800caf2 <__cxa_type_match+0xe>
- 800cb54:      7983            ldrb    r3, [r0, #6]
- 800cb56:      2b2b            cmp     r3, #43 ; 0x2b
- 800cb58:      d1cb            bne.n   800caf2 <__cxa_type_match+0xe>
- 800cb5a:      79c3            ldrb    r3, [r0, #7]
- 800cb5c:      2b01            cmp     r3, #1
- 800cb5e:      d8c8            bhi.n   800caf2 <__cxa_type_match+0xe>
- 800cb60:      f850 4c20       ldr.w   r4, [r0, #-32]
- 800cb64:      d002            beq.n   800cb6c <__cxa_type_match+0x88>
- 800cb66:      3058            adds    r0, #88 ; 0x58
- 800cb68:      9001            str     r0, [sp, #4]
- 800cb6a:      e7c5            b.n     800caf8 <__cxa_type_match+0x14>
- 800cb6c:      4620            mov     r0, r4
- 800cb6e:      f854 4c78       ldr.w   r4, [r4, #-120]
- 800cb72:      e7f9            b.n     800cb68 <__cxa_type_match+0x84>
- 800cb74:      7943            ldrb    r3, [r0, #5]
- 800cb76:      2b4f            cmp     r3, #79 ; 0x4f
- 800cb78:      d1e6            bne.n   800cb48 <__cxa_type_match+0x64>
- 800cb7a:      7983            ldrb    r3, [r0, #6]
- 800cb7c:      2b52            cmp     r3, #82 ; 0x52
- 800cb7e:      d1e3            bne.n   800cb48 <__cxa_type_match+0x64>
- 800cb80:      79c3            ldrb    r3, [r0, #7]
- 800cb82:      2b00            cmp     r3, #0
- 800cb84:      d1e0            bne.n   800cb48 <__cxa_type_match+0x64>
- 800cb86:      9301            str     r3, [sp, #4]
- 800cb88:      4c01            ldr     r4, [pc, #4]    ; (800cb90 <__cxa_type_match+0xac>)
- 800cb8a:      e7b5            b.n     800caf8 <__cxa_type_match+0x14>
- 800cb8c:      080123c8        .word   0x080123c8
- 800cb90:      080123c0        .word   0x080123c0
-
-0800cb94 <__cxa_begin_cleanup>:
- 800cb94:      b510            push    {r4, lr}
- 800cb96:      4604            mov     r4, r0
- 800cb98:      f000 f86a       bl      800cc70 <__cxa_get_globals>
- 800cb9c:      7823            ldrb    r3, [r4, #0]
- 800cb9e:      2b47            cmp     r3, #71 ; 0x47
- 800cba0:      f1a4 0220       sub.w   r2, r4, #32
- 800cba4:      d004            beq.n   800cbb0 <__cxa_begin_cleanup+0x1c>
- 800cba6:      6883            ldr     r3, [r0, #8]
- 800cba8:      bb23            cbnz    r3, 800cbf4 <__cxa_begin_cleanup+0x60>
- 800cbaa:      6082            str     r2, [r0, #8]
- 800cbac:      2001            movs    r0, #1
- 800cbae:      bd10            pop     {r4, pc}
- 800cbb0:      7863            ldrb    r3, [r4, #1]
- 800cbb2:      2b4e            cmp     r3, #78 ; 0x4e
- 800cbb4:      d1f7            bne.n   800cba6 <__cxa_begin_cleanup+0x12>
- 800cbb6:      78a3            ldrb    r3, [r4, #2]
- 800cbb8:      2b55            cmp     r3, #85 ; 0x55
- 800cbba:      d1f4            bne.n   800cba6 <__cxa_begin_cleanup+0x12>
- 800cbbc:      78e3            ldrb    r3, [r4, #3]
- 800cbbe:      2b43            cmp     r3, #67 ; 0x43
- 800cbc0:      d1f1            bne.n   800cba6 <__cxa_begin_cleanup+0x12>
- 800cbc2:      7923            ldrb    r3, [r4, #4]
- 800cbc4:      2b43            cmp     r3, #67 ; 0x43
- 800cbc6:      d1ee            bne.n   800cba6 <__cxa_begin_cleanup+0x12>
- 800cbc8:      7963            ldrb    r3, [r4, #5]
- 800cbca:      2b2b            cmp     r3, #43 ; 0x2b
- 800cbcc:      d1eb            bne.n   800cba6 <__cxa_begin_cleanup+0x12>
- 800cbce:      79a3            ldrb    r3, [r4, #6]
- 800cbd0:      2b2b            cmp     r3, #43 ; 0x2b
- 800cbd2:      d1e8            bne.n   800cba6 <__cxa_begin_cleanup+0x12>
- 800cbd4:      79e3            ldrb    r3, [r4, #7]
- 800cbd6:      2b01            cmp     r3, #1
- 800cbd8:      d8e5            bhi.n   800cba6 <__cxa_begin_cleanup+0x12>
- 800cbda:      f854 3c04       ldr.w   r3, [r4, #-4]
- 800cbde:      3301            adds    r3, #1
- 800cbe0:      2b01            cmp     r3, #1
- 800cbe2:      f844 3c04       str.w   r3, [r4, #-4]
- 800cbe6:      d1e1            bne.n   800cbac <__cxa_begin_cleanup+0x18>
- 800cbe8:      6883            ldr     r3, [r0, #8]
- 800cbea:      f844 3c08       str.w   r3, [r4, #-8]
- 800cbee:      6082            str     r2, [r0, #8]
- 800cbf0:      2001            movs    r0, #1
- 800cbf2:      bd10            pop     {r4, pc}
- 800cbf4:      f7ff feac       bl      800c950 <_ZSt9terminatev>
-
-0800cbf8 <__gnu_end_cleanup>:
- 800cbf8:      b508            push    {r3, lr}
- 800cbfa:      f000 f839       bl      800cc70 <__cxa_get_globals>
- 800cbfe:      6883            ldr     r3, [r0, #8]
- 800cc00:      b383            cbz     r3, 800cc64 <__gnu_end_cleanup+0x6c>
- 800cc02:      f893 2020       ldrb.w  r2, [r3, #32]
- 800cc06:      2a47            cmp     r2, #71 ; 0x47
- 800cc08:      d004            beq.n   800cc14 <__gnu_end_cleanup+0x1c>
- 800cc0a:      2200            movs    r2, #0
- 800cc0c:      6082            str     r2, [r0, #8]
- 800cc0e:      f103 0020       add.w   r0, r3, #32
- 800cc12:      bd08            pop     {r3, pc}
- 800cc14:      f893 2021       ldrb.w  r2, [r3, #33]   ; 0x21
- 800cc18:      2a4e            cmp     r2, #78 ; 0x4e
- 800cc1a:      d1f6            bne.n   800cc0a <__gnu_end_cleanup+0x12>
- 800cc1c:      f893 2022       ldrb.w  r2, [r3, #34]   ; 0x22
- 800cc20:      2a55            cmp     r2, #85 ; 0x55
- 800cc22:      d1f2            bne.n   800cc0a <__gnu_end_cleanup+0x12>
- 800cc24:      f893 2023       ldrb.w  r2, [r3, #35]   ; 0x23
- 800cc28:      2a43            cmp     r2, #67 ; 0x43
- 800cc2a:      d1ee            bne.n   800cc0a <__gnu_end_cleanup+0x12>
- 800cc2c:      f893 2024       ldrb.w  r2, [r3, #36]   ; 0x24
- 800cc30:      2a43            cmp     r2, #67 ; 0x43
- 800cc32:      d1ea            bne.n   800cc0a <__gnu_end_cleanup+0x12>
- 800cc34:      f893 2025       ldrb.w  r2, [r3, #37]   ; 0x25
- 800cc38:      2a2b            cmp     r2, #43 ; 0x2b
- 800cc3a:      d1e6            bne.n   800cc0a <__gnu_end_cleanup+0x12>
- 800cc3c:      f893 2026       ldrb.w  r2, [r3, #38]   ; 0x26
- 800cc40:      2a2b            cmp     r2, #43 ; 0x2b
- 800cc42:      d1e2            bne.n   800cc0a <__gnu_end_cleanup+0x12>
- 800cc44:      f893 2027       ldrb.w  r2, [r3, #39]   ; 0x27
- 800cc48:      2a01            cmp     r2, #1
- 800cc4a:      d8de            bhi.n   800cc0a <__gnu_end_cleanup+0x12>
- 800cc4c:      69da            ldr     r2, [r3, #28]
- 800cc4e:      3a01            subs    r2, #1
- 800cc50:      61da            str     r2, [r3, #28]
- 800cc52:      2a00            cmp     r2, #0
- 800cc54:      d1db            bne.n   800cc0e <__gnu_end_cleanup+0x16>
- 800cc56:      699a            ldr     r2, [r3, #24]
- 800cc58:      6082            str     r2, [r0, #8]
- 800cc5a:      2200            movs    r2, #0
- 800cc5c:      619a            str     r2, [r3, #24]
- 800cc5e:      f103 0020       add.w   r0, r3, #32
- 800cc62:      bd08            pop     {r3, pc}
- 800cc64:      f7ff fe74       bl      800c950 <_ZSt9terminatev>
-
-0800cc68 <__cxa_get_globals_fast>:
- 800cc68:      4800            ldr     r0, [pc, #0]    ; (800cc6c <__cxa_get_globals_fast+0x4>)
- 800cc6a:      4770            bx      lr
- 800cc6c:      20000aa4        .word   0x20000aa4
-
-0800cc70 <__cxa_get_globals>:
- 800cc70:      4800            ldr     r0, [pc, #0]    ; (800cc74 <__cxa_get_globals+0x4>)
- 800cc72:      4770            bx      lr
- 800cc74:      20000aa4        .word   0x20000aa4
-
-0800cc78 <_ZL28read_encoded_value_with_basehjPKhPj>:
- 800cc78:      2850            cmp     r0, #80 ; 0x50
- 800cc7a:      b5f8            push    {r3, r4, r5, r6, r7, lr}
- 800cc7c:      d01c            beq.n   800ccb8 <_ZL28read_encoded_value_with_basehjPKhPj+0x40>
- 800cc7e:      f000 040f       and.w   r4, r0, #15
- 800cc82:      2c0c            cmp     r4, #12
- 800cc84:      d856            bhi.n   800cd34 <_ZL28read_encoded_value_with_basehjPKhPj+0xbc>
- 800cc86:      e8df f004       tbb     [pc, r4]
- 800cc8a:      4107            .short  0x4107
- 800cc8c:      551f0751        .word   0x551f0751
- 800cc90:      27555555        .word   0x27555555
- 800cc94:      0723            .short  0x0723
- 800cc96:      1f              .byte   0x1f
- 800cc97:      00              .byte   0x00
- 800cc98:      4614            mov     r4, r2
- 800cc9a:      f854 5b04       ldr.w   r5, [r4], #4
- 800cc9e:      b145            cbz     r5, 800ccb2 <_ZL28read_encoded_value_with_basehjPKhPj+0x3a>
- 800cca0:      f000 0670       and.w   r6, r0, #112    ; 0x70
- 800cca4:      2e10            cmp     r6, #16
- 800cca6:      bf08            it      eq
- 800cca8:      4611            moveq   r1, r2
- 800ccaa:      440d            add     r5, r1
- 800ccac:      0602            lsls    r2, r0, #24
- 800ccae:      bf48            it      mi
- 800ccb0:      682d            ldrmi   r5, [r5, #0]
- 800ccb2:      601d            str     r5, [r3, #0]
- 800ccb4:      4620            mov     r0, r4
- 800ccb6:      bdf8            pop     {r3, r4, r5, r6, r7, pc}
- 800ccb8:      3203            adds    r2, #3
- 800ccba:      f022 0403       bic.w   r4, r2, #3
- 800ccbe:      f854 5b04       ldr.w   r5, [r4], #4
- 800ccc2:      601d            str     r5, [r3, #0]
- 800ccc4:      4620            mov     r0, r4
- 800ccc6:      bdf8            pop     {r3, r4, r5, r6, r7, pc}
- 800ccc8:      4614            mov     r4, r2
- 800ccca:      f854 5b08       ldr.w   r5, [r4], #8
- 800ccce:      e7e6            b.n     800cc9e <_ZL28read_encoded_value_with_basehjPKhPj+0x26>
- 800ccd0:      4614            mov     r4, r2
- 800ccd2:      f934 5b02       ldrsh.w r5, [r4], #2
- 800ccd6:      e7e2            b.n     800cc9e <_ZL28read_encoded_value_with_basehjPKhPj+0x26>
- 800ccd8:      2500            movs    r5, #0
- 800ccda:      462f            mov     r7, r5
- 800ccdc:      4614            mov     r4, r2
- 800ccde:      f814 cb01       ldrb.w  ip, [r4], #1
- 800cce2:      f00c 067f       and.w   r6, ip, #127    ; 0x7f
- 800cce6:      40be            lsls    r6, r7
- 800cce8:      f01c 0f80       tst.w   ip, #128        ; 0x80
- 800ccec:      ea45 0506       orr.w   r5, r5, r6
- 800ccf0:      f107 0707       add.w   r7, r7, #7
- 800ccf4:      d1f3            bne.n   800ccde <_ZL28read_encoded_value_with_basehjPKhPj+0x66>
- 800ccf6:      2f1f            cmp     r7, #31
- 800ccf8:      d8d1            bhi.n   800cc9e <_ZL28read_encoded_value_with_basehjPKhPj+0x26>
- 800ccfa:      f01c 0f40       tst.w   ip, #64 ; 0x40
- 800ccfe:      d0ce            beq.n   800cc9e <_ZL28read_encoded_value_with_basehjPKhPj+0x26>
- 800cd00:      f04f 36ff       mov.w   r6, #4294967295 ; 0xffffffff
- 800cd04:      fa06 f707       lsl.w   r7, r6, r7
- 800cd08:      433d            orrs    r5, r7
- 800cd0a:      e7c9            b.n     800cca0 <_ZL28read_encoded_value_with_basehjPKhPj+0x28>
- 800cd0c:      2500            movs    r5, #0
- 800cd0e:      462f            mov     r7, r5
- 800cd10:      4614            mov     r4, r2
- 800cd12:      f814 cb01       ldrb.w  ip, [r4], #1
- 800cd16:      f00c 067f       and.w   r6, ip, #127    ; 0x7f
- 800cd1a:      40be            lsls    r6, r7
- 800cd1c:      f01c 0f80       tst.w   ip, #128        ; 0x80
- 800cd20:      ea45 0506       orr.w   r5, r5, r6
- 800cd24:      f107 0707       add.w   r7, r7, #7
- 800cd28:      d1f3            bne.n   800cd12 <_ZL28read_encoded_value_with_basehjPKhPj+0x9a>
- 800cd2a:      e7b8            b.n     800cc9e <_ZL28read_encoded_value_with_basehjPKhPj+0x26>
- 800cd2c:      4614            mov     r4, r2
- 800cd2e:      f834 5b02       ldrh.w  r5, [r4], #2
- 800cd32:      e7b4            b.n     800cc9e <_ZL28read_encoded_value_with_basehjPKhPj+0x26>
- 800cd34:      f000 fe80       bl      800da38 <abort>
-
-0800cd38 <_ZL21base_of_encoded_valuehP15_Unwind_Context.part.3>:
- 800cd38:      f000 0070       and.w   r0, r0, #112    ; 0x70
- 800cd3c:      2820            cmp     r0, #32
- 800cd3e:      d011            beq.n   800cd64 <_ZL21base_of_encoded_valuehP15_Unwind_Context.part.3+0x2c>
- 800cd40:      d90b            bls.n   800cd5a <_ZL21base_of_encoded_valuehP15_Unwind_Context.part.3+0x22>
- 800cd42:      2840            cmp     r0, #64 ; 0x40
- 800cd44:      d006            beq.n   800cd54 <_ZL21base_of_encoded_valuehP15_Unwind_Context.part.3+0x1c>
- 800cd46:      2850            cmp     r0, #80 ; 0x50
- 800cd48:      d00a            beq.n   800cd60 <_ZL21base_of_encoded_valuehP15_Unwind_Context.part.3+0x28>
- 800cd4a:      2830            cmp     r0, #48 ; 0x30
- 800cd4c:      d10d            bne.n   800cd6a <_ZL21base_of_encoded_valuehP15_Unwind_Context.part.3+0x32>
- 800cd4e:      4608            mov     r0, r1
- 800cd50:      f7fb b944       b.w     8007fdc <_Unwind_GetDataRelBase>
- 800cd54:      4608            mov     r0, r1
- 800cd56:      f7fb b931       b.w     8007fbc <_Unwind_GetRegionStart>
- 800cd5a:      b108            cbz     r0, 800cd60 <_ZL21base_of_encoded_valuehP15_Unwind_Context.part.3+0x28>
- 800cd5c:      2810            cmp     r0, #16
- 800cd5e:      d104            bne.n   800cd6a <_ZL21base_of_encoded_valuehP15_Unwind_Context.part.3+0x32>
- 800cd60:      2000            movs    r0, #0
- 800cd62:      4770            bx      lr
- 800cd64:      4608            mov     r0, r1
- 800cd66:      f7fb b93d       b.w     8007fe4 <_Unwind_GetTextRelBase>
- 800cd6a:      b508            push    {r3, lr}
- 800cd6c:      f000 fe64       bl      800da38 <abort>
-
-0800cd70 <_ZL17parse_lsda_headerP15_Unwind_ContextPKhP16lsda_header_info>:
- 800cd70:      b5f8            push    {r3, r4, r5, r6, r7, lr}
- 800cd72:      460c            mov     r4, r1
- 800cd74:      4615            mov     r5, r2
- 800cd76:      4607            mov     r7, r0
- 800cd78:      b108            cbz     r0, 800cd7e <_ZL17parse_lsda_headerP15_Unwind_ContextPKhP16lsda_header_info+0xe>
- 800cd7a:      f7fb f91f       bl      8007fbc <_Unwind_GetRegionStart>
- 800cd7e:      6028            str     r0, [r5, #0]
- 800cd80:      7826            ldrb    r6, [r4, #0]
- 800cd82:      2eff            cmp     r6, #255        ; 0xff
- 800cd84:      f104 0401       add.w   r4, r4, #1
- 800cd88:      d129            bne.n   800cdde <_ZL17parse_lsda_headerP15_Unwind_ContextPKhP16lsda_header_info+0x6e>
- 800cd8a:      6068            str     r0, [r5, #4]
- 800cd8c:      7823            ldrb    r3, [r4, #0]
- 800cd8e:      752b            strb    r3, [r5, #20]
- 800cd90:      2bff            cmp     r3, #255        ; 0xff
- 800cd92:      f104 0001       add.w   r0, r4, #1
- 800cd96:      d032            beq.n   800cdfe <_ZL17parse_lsda_headerP15_Unwind_ContextPKhP16lsda_header_info+0x8e>
- 800cd98:      2310            movs    r3, #16
- 800cd9a:      2400            movs    r4, #0
- 800cd9c:      752b            strb    r3, [r5, #20]
- 800cd9e:      4622            mov     r2, r4
- 800cda0:      f810 1b01       ldrb.w  r1, [r0], #1
- 800cda4:      f001 037f       and.w   r3, r1, #127    ; 0x7f
- 800cda8:      4093            lsls    r3, r2
- 800cdaa:      0609            lsls    r1, r1, #24
- 800cdac:      ea44 0403       orr.w   r4, r4, r3
- 800cdb0:      f102 0207       add.w   r2, r2, #7
- 800cdb4:      d4f4            bmi.n   800cda0 <_ZL17parse_lsda_headerP15_Unwind_ContextPKhP16lsda_header_info+0x30>
- 800cdb6:      4404            add     r4, r0
- 800cdb8:      60ec            str     r4, [r5, #12]
- 800cdba:      7803            ldrb    r3, [r0, #0]
- 800cdbc:      756b            strb    r3, [r5, #21]
- 800cdbe:      2400            movs    r4, #0
- 800cdc0:      3001            adds    r0, #1
- 800cdc2:      4622            mov     r2, r4
- 800cdc4:      f810 1b01       ldrb.w  r1, [r0], #1
- 800cdc8:      f001 037f       and.w   r3, r1, #127    ; 0x7f
- 800cdcc:      4093            lsls    r3, r2
- 800cdce:      431c            orrs    r4, r3
- 800cdd0:      060b            lsls    r3, r1, #24
- 800cdd2:      f102 0207       add.w   r2, r2, #7
- 800cdd6:      d4f5            bmi.n   800cdc4 <_ZL17parse_lsda_headerP15_Unwind_ContextPKhP16lsda_header_info+0x54>
- 800cdd8:      4404            add     r4, r0
- 800cdda:      612c            str     r4, [r5, #16]
- 800cddc:      bdf8            pop     {r3, r4, r5, r6, r7, pc}
- 800cdde:      4639            mov     r1, r7
- 800cde0:      4630            mov     r0, r6
- 800cde2:      f7ff ffa9       bl      800cd38 <_ZL21base_of_encoded_valuehP15_Unwind_Context.part.3>
- 800cde6:      4622            mov     r2, r4
- 800cde8:      4601            mov     r1, r0
- 800cdea:      1d2b            adds    r3, r5, #4
- 800cdec:      4630            mov     r0, r6
- 800cdee:      f7ff ff43       bl      800cc78 <_ZL28read_encoded_value_with_basehjPKhPj>
- 800cdf2:      4604            mov     r4, r0
- 800cdf4:      1c60            adds    r0, r4, #1
- 800cdf6:      7823            ldrb    r3, [r4, #0]
- 800cdf8:      752b            strb    r3, [r5, #20]
- 800cdfa:      2bff            cmp     r3, #255        ; 0xff
- 800cdfc:      d1cc            bne.n   800cd98 <_ZL17parse_lsda_headerP15_Unwind_ContextPKhP16lsda_header_info+0x28>
- 800cdfe:      2300            movs    r3, #0
- 800ce00:      60eb            str     r3, [r5, #12]
- 800ce02:      e7da            b.n     800cdba <_ZL17parse_lsda_headerP15_Unwind_ContextPKhP16lsda_header_info+0x4a>
-
-0800ce04 <__gxx_personality_v0>:
- 800ce04:      e92d 4ff0       stmdb   sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
- 800ce08:      f000 0403       and.w   r4, r0, #3
- 800ce0c:      b099            sub     sp, #100        ; 0x64
- 800ce0e:      2300            movs    r3, #0
- 800ce10:      2c01            cmp     r4, #1
- 800ce12:      4688            mov     r8, r1
- 800ce14:      4617            mov     r7, r2
- 800ce16:      930c            str     r3, [sp, #48]   ; 0x30
- 800ce18:      f000 8096       beq.w   800cf48 <__gxx_personality_v0+0x144>
- 800ce1c:      d30d            bcc.n   800ce3a <__gxx_personality_v0+0x36>
- 800ce1e:      2c02            cmp     r4, #2
- 800ce20:      f040 825f       bne.w   800d2e2 <__gxx_personality_v0+0x4de>
- 800ce24:      4639            mov     r1, r7
- 800ce26:      4640            mov     r0, r8
- 800ce28:      f7fb f8b4       bl      8007f94 <__gnu_unwind_frame>
- 800ce2c:      2800            cmp     r0, #0
- 800ce2e:      f000 809b       beq.w   800cf68 <__gxx_personality_v0+0x164>
- 800ce32:      2009            movs    r0, #9
- 800ce34:      b019            add     sp, #100        ; 0x64
- 800ce36:      e8bd 8ff0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
- 800ce3a:      0702            lsls    r2, r0, #28
- 800ce3c:      d4f2            bmi.n   800ce24 <__gxx_personality_v0+0x20>
- 800ce3e:      2301            movs    r3, #1
- 800ce40:      9304            str     r3, [sp, #16]
- 800ce42:      aa18            add     r2, sp, #96     ; 0x60
- 800ce44:      2300            movs    r3, #0
- 800ce46:      f842 8d2c       str.w   r8, [r2, #-44]!
- 800ce4a:      4619            mov     r1, r3
- 800ce4c:      9200            str     r2, [sp, #0]
- 800ce4e:      4638            mov     r0, r7
- 800ce50:      220c            movs    r2, #12
- 800ce52:      f7fa fb2f       bl      80074b4 <_Unwind_VRS_Set>
- 800ce56:      4638            mov     r0, r7
- 800ce58:      f7fb f8b6       bl      8007fc8 <_Unwind_GetLanguageSpecificData>
- 800ce5c:      9005            str     r0, [sp, #20]
- 800ce5e:      2800            cmp     r0, #0
- 800ce60:      d0e0            beq.n   800ce24 <__gxx_personality_v0+0x20>
- 800ce62:      ab12            add     r3, sp, #72     ; 0x48
- 800ce64:      461a            mov     r2, r3
- 800ce66:      9905            ldr     r1, [sp, #20]
- 800ce68:      9306            str     r3, [sp, #24]
- 800ce6a:      4638            mov     r0, r7
- 800ce6c:      f7ff ff80       bl      800cd70 <_ZL17parse_lsda_headerP15_Unwind_ContextPKhP16lsda_header_info>
- 800ce70:      4605            mov     r5, r0
- 800ce72:      f89d 005c       ldrb.w  r0, [sp, #92]   ; 0x5c
- 800ce76:      28ff            cmp     r0, #255        ; 0xff
- 800ce78:      f000 80e5       beq.w   800d046 <__gxx_personality_v0+0x242>
- 800ce7c:      4639            mov     r1, r7
- 800ce7e:      f7ff ff5b       bl      800cd38 <_ZL21base_of_encoded_valuehP15_Unwind_Context.part.3>
- 800ce82:      4604            mov     r4, r0
- 800ce84:      2300            movs    r3, #0
- 800ce86:      f10d 0b44       add.w   fp, sp, #68     ; 0x44
- 800ce8a:      4619            mov     r1, r3
- 800ce8c:      f8cd b000       str.w   fp, [sp]
- 800ce90:      220f            movs    r2, #15
- 800ce92:      4638            mov     r0, r7
- 800ce94:      9414            str     r4, [sp, #80]   ; 0x50
- 800ce96:      f7fa faeb       bl      8007470 <_Unwind_VRS_Get>
- 800ce9a:      9e11            ldr     r6, [sp, #68]   ; 0x44
- 800ce9c:      9b16            ldr     r3, [sp, #88]   ; 0x58
- 800ce9e:      f026 0601       bic.w   r6, r6, #1
- 800cea2:      429d            cmp     r5, r3
- 800cea4:      f106 36ff       add.w   r6, r6, #4294967295     ; 0xffffffff
- 800cea8:      f080 80d4       bcs.w   800d054 <__gxx_personality_v0+0x250>
- 800ceac:      f10d 0a3c       add.w   sl, sp, #60     ; 0x3c
- 800ceb0:      f10d 0940       add.w   r9, sp, #64     ; 0x40
- 800ceb4:      f89d 405d       ldrb.w  r4, [sp, #93]   ; 0x5d
- 800ceb8:      2cff            cmp     r4, #255        ; 0xff
- 800ceba:      f04f 0100       mov.w   r1, #0
- 800cebe:      d003            beq.n   800cec8 <__gxx_personality_v0+0xc4>
- 800cec0:      4620            mov     r0, r4
- 800cec2:      f7ff ff39       bl      800cd38 <_ZL21base_of_encoded_valuehP15_Unwind_Context.part.3>
- 800cec6:      4601            mov     r1, r0
- 800cec8:      462a            mov     r2, r5
- 800ceca:      4620            mov     r0, r4
- 800cecc:      4653            mov     r3, sl
- 800cece:      f7ff fed3       bl      800cc78 <_ZL28read_encoded_value_with_basehjPKhPj>
- 800ced2:      f89d 405d       ldrb.w  r4, [sp, #93]   ; 0x5d
- 800ced6:      2cff            cmp     r4, #255        ; 0xff
- 800ced8:      4605            mov     r5, r0
- 800ceda:      f04f 0100       mov.w   r1, #0
- 800cede:      d003            beq.n   800cee8 <__gxx_personality_v0+0xe4>
- 800cee0:      4620            mov     r0, r4
- 800cee2:      f7ff ff29       bl      800cd38 <_ZL21base_of_encoded_valuehP15_Unwind_Context.part.3>
- 800cee6:      4601            mov     r1, r0
- 800cee8:      462a            mov     r2, r5
- 800ceea:      4620            mov     r0, r4
- 800ceec:      464b            mov     r3, r9
- 800ceee:      f7ff fec3       bl      800cc78 <_ZL28read_encoded_value_with_basehjPKhPj>
- 800cef2:      f89d 405d       ldrb.w  r4, [sp, #93]   ; 0x5d
- 800cef6:      2cff            cmp     r4, #255        ; 0xff
- 800cef8:      4605            mov     r5, r0
- 800cefa:      f04f 0100       mov.w   r1, #0
- 800cefe:      d003            beq.n   800cf08 <__gxx_personality_v0+0x104>
- 800cf00:      4620            mov     r0, r4
- 800cf02:      f7ff ff19       bl      800cd38 <_ZL21base_of_encoded_valuehP15_Unwind_Context.part.3>
- 800cf06:      4601            mov     r1, r0
- 800cf08:      462a            mov     r2, r5
- 800cf0a:      4620            mov     r0, r4
- 800cf0c:      465b            mov     r3, fp
- 800cf0e:      f7ff feb3       bl      800cc78 <_ZL28read_encoded_value_with_basehjPKhPj>
- 800cf12:      2400            movs    r4, #0
- 800cf14:      4605            mov     r5, r0
- 800cf16:      4621            mov     r1, r4
- 800cf18:      f815 2b01       ldrb.w  r2, [r5], #1
- 800cf1c:      f002 037f       and.w   r3, r2, #127    ; 0x7f
- 800cf20:      408b            lsls    r3, r1
- 800cf22:      431c            orrs    r4, r3
- 800cf24:      0613            lsls    r3, r2, #24
- 800cf26:      f101 0107       add.w   r1, r1, #7
- 800cf2a:      d4f5            bmi.n   800cf18 <__gxx_personality_v0+0x114>
- 800cf2c:      9b12            ldr     r3, [sp, #72]   ; 0x48
- 800cf2e:      9a0f            ldr     r2, [sp, #60]   ; 0x3c
- 800cf30:      4413            add     r3, r2
- 800cf32:      42b3            cmp     r3, r6
- 800cf34:      d91f            bls.n   800cf76 <__gxx_personality_v0+0x172>
- 800cf36:      9b04            ldr     r3, [sp, #16]
- 800cf38:      07db            lsls    r3, r3, #31
- 800cf3a:      f100 8091       bmi.w   800d060 <__gxx_personality_v0+0x25c>
- 800cf3e:      9b04            ldr     r3, [sp, #16]
- 800cf40:      071c            lsls    r4, r3, #28
- 800cf42:      d515            bpl.n   800cf70 <__gxx_personality_v0+0x16c>
- 800cf44:      f7ff fd04       bl      800c950 <_ZSt9terminatev>
- 800cf48:      f010 0408       ands.w  r4, r0, #8
- 800cf4c:      d01c            beq.n   800cf88 <__gxx_personality_v0+0x184>
- 800cf4e:      aa18            add     r2, sp, #96     ; 0x60
- 800cf50:      f044 0402       orr.w   r4, r4, #2
- 800cf54:      f842 1d2c       str.w   r1, [r2, #-44]!
- 800cf58:      4638            mov     r0, r7
- 800cf5a:      9200            str     r2, [sp, #0]
- 800cf5c:      4619            mov     r1, r3
- 800cf5e:      220c            movs    r2, #12
- 800cf60:      9404            str     r4, [sp, #16]
- 800cf62:      f7fa faa7       bl      80074b4 <_Unwind_VRS_Set>
- 800cf66:      e776            b.n     800ce56 <__gxx_personality_v0+0x52>
- 800cf68:      2008            movs    r0, #8
- 800cf6a:      b019            add     sp, #100        ; 0x64
- 800cf6c:      e8bd 8ff0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
- 800cf70:      4640            mov     r0, r8
- 800cf72:      f7ff fd33       bl      800c9dc <__cxa_call_terminate>
- 800cf76:      9a10            ldr     r2, [sp, #64]   ; 0x40
- 800cf78:      4413            add     r3, r2
- 800cf7a:      42b3            cmp     r3, r6
- 800cf7c:      f200 8088       bhi.w   800d090 <__gxx_personality_v0+0x28c>
- 800cf80:      9b16            ldr     r3, [sp, #88]   ; 0x58
- 800cf82:      42ab            cmp     r3, r5
- 800cf84:      d896            bhi.n   800ceb4 <__gxx_personality_v0+0xb0>
- 800cf86:      e7d6            b.n     800cf36 <__gxx_personality_v0+0x132>
- 800cf88:      ab12            add     r3, sp, #72     ; 0x48
- 800cf8a:      9300            str     r3, [sp, #0]
- 800cf8c:      9306            str     r3, [sp, #24]
- 800cf8e:      220d            movs    r2, #13
- 800cf90:      4623            mov     r3, r4
- 800cf92:      4621            mov     r1, r4
- 800cf94:      4638            mov     r0, r7
- 800cf96:      f8d8 5020       ldr.w   r5, [r8, #32]
- 800cf9a:      f7fa fa69       bl      8007470 <_Unwind_VRS_Get>
- 800cf9e:      9b12            ldr     r3, [sp, #72]   ; 0x48
- 800cfa0:      429d            cmp     r5, r3
- 800cfa2:      d002            beq.n   800cfaa <__gxx_personality_v0+0x1a6>
- 800cfa4:      2302            movs    r3, #2
- 800cfa6:      9304            str     r3, [sp, #16]
- 800cfa8:      e74b            b.n     800ce42 <__gxx_personality_v0+0x3e>
- 800cfaa:      aa18            add     r2, sp, #96     ; 0x60
- 800cfac:      4623            mov     r3, r4
- 800cfae:      f842 8d2c       str.w   r8, [r2, #-44]!
- 800cfb2:      4621            mov     r1, r4
- 800cfb4:      9200            str     r2, [sp, #0]
- 800cfb6:      4638            mov     r0, r7
- 800cfb8:      220c            movs    r2, #12
- 800cfba:      f7fa fa7b       bl      80074b4 <_Unwind_VRS_Set>
- 800cfbe:      f8d8 3030       ldr.w   r3, [r8, #48]   ; 0x30
- 800cfc2:      9303            str     r3, [sp, #12]
- 800cfc4:      2b00            cmp     r3, #0
- 800cfc6:      d0d3            beq.n   800cf70 <__gxx_personality_v0+0x16c>
- 800cfc8:      f8d8 3028       ldr.w   r3, [r8, #40]   ; 0x28
- 800cfcc:      461a            mov     r2, r3
- 800cfce:      f8d8 302c       ldr.w   r3, [r8, #44]   ; 0x2c
- 800cfd2:      9305            str     r3, [sp, #20]
- 800cfd4:      f10d 0a3c       add.w   sl, sp, #60     ; 0x3c
- 800cfd8:      f10d 0940       add.w   r9, sp, #64     ; 0x40
- 800cfdc:      4613            mov     r3, r2
- 800cfde:      2b00            cmp     r3, #0
- 800cfe0:      461c            mov     r4, r3
- 800cfe2:      f2c0 8127       blt.w   800d234 <__gxx_personality_v0+0x430>
- 800cfe6:      2503            movs    r5, #3
- 800cfe8:      a918            add     r1, sp, #96     ; 0x60
- 800cfea:      2300            movs    r3, #0
- 800cfec:      f841 8d28       str.w   r8, [r1, #-40]!
- 800cff0:      461a            mov     r2, r3
- 800cff2:      9100            str     r1, [sp, #0]
- 800cff4:      4638            mov     r0, r7
- 800cff6:      4619            mov     r1, r3
- 800cff8:      f7fa fa5c       bl      80074b4 <_Unwind_VRS_Set>
- 800cffc:      2300            movs    r3, #0
- 800cffe:      4619            mov     r1, r3
- 800d000:      2201            movs    r2, #1
- 800d002:      f8cd a000       str.w   sl, [sp]
- 800d006:      4638            mov     r0, r7
- 800d008:      940f            str     r4, [sp, #60]   ; 0x3c
- 800d00a:      f7fa fa53       bl      80074b4 <_Unwind_VRS_Set>
- 800d00e:      2300            movs    r3, #0
- 800d010:      4619            mov     r1, r3
- 800d012:      220f            movs    r2, #15
- 800d014:      f8cd 9000       str.w   r9, [sp]
- 800d018:      4638            mov     r0, r7
- 800d01a:      f7fa fa29       bl      8007470 <_Unwind_VRS_Get>
- 800d01e:      9b10            ldr     r3, [sp, #64]   ; 0x40
- 800d020:      9a03            ldr     r2, [sp, #12]
- 800d022:      f8cd 9000       str.w   r9, [sp]
- 800d026:      f003 0401       and.w   r4, r3, #1
- 800d02a:      2300            movs    r3, #0
- 800d02c:      4314            orrs    r4, r2
- 800d02e:      4638            mov     r0, r7
- 800d030:      4619            mov     r1, r3
- 800d032:      220f            movs    r2, #15
- 800d034:      9410            str     r4, [sp, #64]   ; 0x40
- 800d036:      f7fa fa3d       bl      80074b4 <_Unwind_VRS_Set>
- 800d03a:      2d02            cmp     r5, #2
- 800d03c:      d005            beq.n   800d04a <__gxx_personality_v0+0x246>
- 800d03e:      2007            movs    r0, #7
- 800d040:      b019            add     sp, #100        ; 0x64
- 800d042:      e8bd 8ff0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
- 800d046:      2400            movs    r4, #0
- 800d048:      e71c            b.n     800ce84 <__gxx_personality_v0+0x80>
- 800d04a:      4640            mov     r0, r8
- 800d04c:      f7ff fda2       bl      800cb94 <__cxa_begin_cleanup>
- 800d050:      2007            movs    r0, #7
- 800d052:      e6ef            b.n     800ce34 <__gxx_personality_v0+0x30>
- 800d054:      9b04            ldr     r3, [sp, #16]
- 800d056:      07d9            lsls    r1, r3, #31
- 800d058:      f57f af71       bpl.w   800cf3e <__gxx_personality_v0+0x13a>
- 800d05c:      f10d 0940       add.w   r9, sp, #64     ; 0x40
- 800d060:      2400            movs    r4, #0
- 800d062:      9403            str     r4, [sp, #12]
- 800d064:      2300            movs    r3, #0
- 800d066:      4619            mov     r1, r3
- 800d068:      220d            movs    r2, #13
- 800d06a:      f8cd 9000       str.w   r9, [sp]
- 800d06e:      4638            mov     r0, r7
- 800d070:      9d0c            ldr     r5, [sp, #48]   ; 0x30
- 800d072:      f7fa f9fd       bl      8007470 <_Unwind_VRS_Get>
- 800d076:      9a05            ldr     r2, [sp, #20]
- 800d078:      9b10            ldr     r3, [sp, #64]   ; 0x40
- 800d07a:      f8c8 202c       str.w   r2, [r8, #44]   ; 0x2c
- 800d07e:      9a03            ldr     r2, [sp, #12]
- 800d080:      f8c8 2030       str.w   r2, [r8, #48]   ; 0x30
- 800d084:      e9c8 5409       strd    r5, r4, [r8, #36]       ; 0x24
- 800d088:      f8c8 3020       str.w   r3, [r8, #32]
- 800d08c:      2006            movs    r0, #6
- 800d08e:      e6d1            b.n     800ce34 <__gxx_personality_v0+0x30>
- 800d090:      9b11            ldr     r3, [sp, #68]   ; 0x44
- 800d092:      2b00            cmp     r3, #0
- 800d094:      f43f aec6       beq.w   800ce24 <__gxx_personality_v0+0x20>
- 800d098:      9a13            ldr     r2, [sp, #76]   ; 0x4c
- 800d09a:      189a            adds    r2, r3, r2
- 800d09c:      9203            str     r2, [sp, #12]
- 800d09e:      2c00            cmp     r4, #0
- 800d0a0:      f000 80f0       beq.w   800d284 <__gxx_personality_v0+0x480>
- 800d0a4:      9b16            ldr     r3, [sp, #88]   ; 0x58
- 800d0a6:      3c01            subs    r4, #1
- 800d0a8:      4423            add     r3, r4
- 800d0aa:      2a00            cmp     r2, #0
- 800d0ac:      f43f aeba       beq.w   800ce24 <__gxx_personality_v0+0x20>
- 800d0b0:      2b00            cmp     r3, #0
- 800d0b2:      f000 80f8       beq.w   800d2a6 <__gxx_personality_v0+0x4a2>
- 800d0b6:      9a04            ldr     r2, [sp, #16]
- 800d0b8:      f012 0208       ands.w  r2, r2, #8
- 800d0bc:      9209            str     r2, [sp, #36]   ; 0x24
- 800d0be:      f000 8103       beq.w   800d2c8 <__gxx_personality_v0+0x4c4>
- 800d0c2:      2147            movs    r1, #71 ; 0x47
- 800d0c4:      224e            movs    r2, #78 ; 0x4e
- 800d0c6:      f888 1000       strb.w  r1, [r8]
- 800d0ca:      f888 2001       strb.w  r2, [r8, #1]
- 800d0ce:      2155            movs    r1, #85 ; 0x55
- 800d0d0:      2243            movs    r2, #67 ; 0x43
- 800d0d2:      f888 1002       strb.w  r1, [r8, #2]
- 800d0d6:      f888 2003       strb.w  r2, [r8, #3]
- 800d0da:      2146            movs    r1, #70 ; 0x46
- 800d0dc:      224f            movs    r2, #79 ; 0x4f
- 800d0de:      f888 1004       strb.w  r1, [r8, #4]
- 800d0e2:      f888 2005       strb.w  r2, [r8, #5]
- 800d0e6:      2152            movs    r1, #82 ; 0x52
- 800d0e8:      2200            movs    r2, #0
- 800d0ea:      f888 1006       strb.w  r1, [r8, #6]
- 800d0ee:      f888 2007       strb.w  r2, [r8, #7]
- 800d0f2:      e9cd 7a0a       strd    r7, sl, [sp, #40]       ; 0x28
- 800d0f6:      2200            movs    r2, #0
- 800d0f8:      9207            str     r2, [sp, #28]
- 800d0fa:      f8cd 9020       str.w   r9, [sp, #32]
- 800d0fe:      2400            movs    r4, #0
- 800d100:      4621            mov     r1, r4
- 800d102:      e000            b.n     800d106 <__gxx_personality_v0+0x302>
- 800d104:      462b            mov     r3, r5
- 800d106:      461d            mov     r5, r3
- 800d108:      f815 0b01       ldrb.w  r0, [r5], #1
- 800d10c:      f000 027f       and.w   r2, r0, #127    ; 0x7f
- 800d110:      408a            lsls    r2, r1
- 800d112:      0606            lsls    r6, r0, #24
- 800d114:      ea44 0402       orr.w   r4, r4, r2
- 800d118:      f101 0107       add.w   r1, r1, #7
- 800d11c:      d4f2            bmi.n   800d104 <__gxx_personality_v0+0x300>
- 800d11e:      291f            cmp     r1, #31
- 800d120:      d805            bhi.n   800d12e <__gxx_personality_v0+0x32a>
- 800d122:      0640            lsls    r0, r0, #25
- 800d124:      d503            bpl.n   800d12e <__gxx_personality_v0+0x32a>
- 800d126:      2201            movs    r2, #1
- 800d128:      408a            lsls    r2, r1
- 800d12a:      4252            negs    r2, r2
- 800d12c:      4314            orrs    r4, r2
- 800d12e:      2600            movs    r6, #0
- 800d130:      4631            mov     r1, r6
- 800d132:      46a1            mov     r9, r4
- 800d134:      f813 0f01       ldrb.w  r0, [r3, #1]!
- 800d138:      f000 027f       and.w   r2, r0, #127    ; 0x7f
- 800d13c:      408a            lsls    r2, r1
- 800d13e:      4316            orrs    r6, r2
- 800d140:      0602            lsls    r2, r0, #24
- 800d142:      f101 0107       add.w   r1, r1, #7
- 800d146:      d4f5            bmi.n   800d134 <__gxx_personality_v0+0x330>
- 800d148:      291f            cmp     r1, #31
- 800d14a:      d805            bhi.n   800d158 <__gxx_personality_v0+0x354>
- 800d14c:      0647            lsls    r7, r0, #25
- 800d14e:      d503            bpl.n   800d158 <__gxx_personality_v0+0x354>
- 800d150:      2301            movs    r3, #1
- 800d152:      408b            lsls    r3, r1
- 800d154:      425b            negs    r3, r3
- 800d156:      431e            orrs    r6, r3
- 800d158:      2c00            cmp     r4, #0
- 800d15a:      d04c            beq.n   800d1f6 <__gxx_personality_v0+0x3f2>
- 800d15c:      dc4e            bgt.n   800d1fc <__gxx_personality_v0+0x3f8>
- 800d15e:      f104 0a01       add.w   sl, r4, #1
- 800d162:      ebca 728a       rsb     r2, sl, sl, lsl #30
- 800d166:      9b15            ldr     r3, [sp, #84]   ; 0x54
- 800d168:      eb03 0782       add.w   r7, r3, r2, lsl #2
- 800d16c:      f853 1022       ldr.w   r1, [r3, r2, lsl #2]
- 800d170:      f1b8 0f00       cmp.w   r8, #0
- 800d174:      d001            beq.n   800d17a <__gxx_personality_v0+0x376>
- 800d176:      9b09            ldr     r3, [sp, #36]   ; 0x24
- 800d178:      b12b            cbz     r3, 800d186 <__gxx_personality_v0+0x382>
- 800d17a:      b351            cbz     r1, 800d1d2 <__gxx_personality_v0+0x3ce>
- 800d17c:      2e00            cmp     r6, #0
- 800d17e:      f000 808b       beq.w   800d298 <__gxx_personality_v0+0x494>
- 800d182:      19ab            adds    r3, r5, r6
- 800d184:      e7bb            b.n     800d0fe <__gxx_personality_v0+0x2fa>
- 800d186:      9b0c            ldr     r3, [sp, #48]   ; 0x30
- 800d188:      9311            str     r3, [sp, #68]   ; 0x44
- 800d18a:      b929            cbnz    r1, 800d198 <__gxx_personality_v0+0x394>
- 800d18c:      e091            b.n     800d2b2 <__gxx_personality_v0+0x4ae>
- 800d18e:      f857 1f04       ldr.w   r1, [r7, #4]!
- 800d192:      2900            cmp     r1, #0
- 800d194:      f000 808d       beq.w   800d2b2 <__gxx_personality_v0+0x4ae>
- 800d198:      4439            add     r1, r7
- 800d19a:      465b            mov     r3, fp
- 800d19c:      2200            movs    r2, #0
- 800d19e:      4640            mov     r0, r8
- 800d1a0:      f7ff fca0       bl      800cae4 <__cxa_type_match>
- 800d1a4:      2800            cmp     r0, #0
- 800d1a6:      d0f2            beq.n   800d18e <__gxx_personality_v0+0x38a>
- 800d1a8:      e7e8            b.n     800d17c <__gxx_personality_v0+0x378>
- 800d1aa:      00e2            lsls    r2, r4, #3
- 800d1ac:      4252            negs    r2, r2
- 800d1ae:      e9dd 1314       ldrd    r1, r3, [sp, #80]       ; 0x50
- 800d1b2:      441a            add     r2, r3
- 800d1b4:      9b08            ldr     r3, [sp, #32]
- 800d1b6:      f7ff fd5f       bl      800cc78 <_ZL28read_encoded_value_with_basehjPKhPj>
- 800d1ba:      9910            ldr     r1, [sp, #64]   ; 0x40
- 800d1bc:      b149            cbz     r1, 800d1d2 <__gxx_personality_v0+0x3ce>
- 800d1be:      f1b8 0f00       cmp.w   r8, #0
- 800d1c2:      d0db            beq.n   800d17c <__gxx_personality_v0+0x378>
- 800d1c4:      ab0c            add     r3, sp, #48     ; 0x30
- 800d1c6:      2200            movs    r2, #0
- 800d1c8:      4640            mov     r0, r8
- 800d1ca:      f7ff fc8b       bl      800cae4 <__cxa_type_match>
- 800d1ce:      2800            cmp     r0, #0
- 800d1d0:      d0d4            beq.n   800d17c <__gxx_personality_v0+0x378>
- 800d1d2:      9b04            ldr     r3, [sp, #16]
- 800d1d4:      07d8            lsls    r0, r3, #31
- 800d1d6:      464a            mov     r2, r9
- 800d1d8:      e9dd 7a0a       ldrd    r7, sl, [sp, #40]       ; 0x28
- 800d1dc:      f8dd 9020       ldr.w   r9, [sp, #32]
- 800d1e0:      f53f af40       bmi.w   800d064 <__gxx_personality_v0+0x260>
- 800d1e4:      9b09            ldr     r3, [sp, #36]   ; 0x24
- 800d1e6:      2b00            cmp     r3, #0
- 800d1e8:      f43f aef8       beq.w   800cfdc <__gxx_personality_v0+0x1d8>
- 800d1ec:      2c00            cmp     r4, #0
- 800d1ee:      f6bf aefa       bge.w   800cfe6 <__gxx_personality_v0+0x1e2>
- 800d1f2:      f7ff fbbb       bl      800c96c <_ZSt10unexpectedv>
- 800d1f6:      2301            movs    r3, #1
- 800d1f8:      9307            str     r3, [sp, #28]
- 800d1fa:      e7bf            b.n     800d17c <__gxx_personality_v0+0x378>
- 800d1fc:      f89d 005c       ldrb.w  r0, [sp, #92]   ; 0x5c
- 800d200:      28ff            cmp     r0, #255        ; 0xff
- 800d202:      d03b            beq.n   800d27c <__gxx_personality_v0+0x478>
- 800d204:      f000 0307       and.w   r3, r0, #7
- 800d208:      2b04            cmp     r3, #4
- 800d20a:      d86a            bhi.n   800d2e2 <__gxx_personality_v0+0x4de>
- 800d20c:      a201            add     r2, pc, #4      ; (adr r2, 800d214 <__gxx_personality_v0+0x410>)
- 800d20e:      f852 f023       ldr.w   pc, [r2, r3, lsl #2]
- 800d212:      bf00            nop
- 800d214:      0800d22f        .word   0x0800d22f
- 800d218:      0800d2e3        .word   0x0800d2e3
- 800d21c:      0800d229        .word   0x0800d229
- 800d220:      0800d22f        .word   0x0800d22f
- 800d224:      0800d1ab        .word   0x0800d1ab
- 800d228:      0062            lsls    r2, r4, #1
- 800d22a:      4252            negs    r2, r2
- 800d22c:      e7bf            b.n     800d1ae <__gxx_personality_v0+0x3aa>
- 800d22e:      00a2            lsls    r2, r4, #2
- 800d230:      4252            negs    r2, r2
- 800d232:      e7bc            b.n     800d1ae <__gxx_personality_v0+0x3aa>
- 800d234:      3301            adds    r3, #1
- 800d236:      461d            mov     r5, r3
- 800d238:      e9dd 1205       ldrd    r1, r2, [sp, #20]
- 800d23c:      4638            mov     r0, r7
- 800d23e:      f7ff fd97       bl      800cd70 <_ZL17parse_lsda_headerP15_Unwind_ContextPKhP16lsda_header_info>
- 800d242:      f89d 005c       ldrb.w  r0, [sp, #92]   ; 0x5c
- 800d246:      28ff            cmp     r0, #255        ; 0xff
- 800d248:      d01a            beq.n   800d280 <__gxx_personality_v0+0x47c>
- 800d24a:      4639            mov     r1, r7
- 800d24c:      f7ff fd74       bl      800cd38 <_ZL21base_of_encoded_valuehP15_Unwind_Context.part.3>
- 800d250:      ebc5 7285       rsb     r2, r5, r5, lsl #30
- 800d254:      0092            lsls    r2, r2, #2
- 800d256:      9d15            ldr     r5, [sp, #84]   ; 0x54
- 800d258:      9014            str     r0, [sp, #80]   ; 0x50
- 800d25a:      58ab            ldr     r3, [r5, r2]
- 800d25c:      4415            add     r5, r2
- 800d25e:      b133            cbz     r3, 800d26e <__gxx_personality_v0+0x46a>
- 800d260:      462a            mov     r2, r5
- 800d262:      2300            movs    r3, #0
- 800d264:      f852 1f04       ldr.w   r1, [r2, #4]!
- 800d268:      3301            adds    r3, #1
- 800d26a:      2900            cmp     r1, #0
- 800d26c:      d1fa            bne.n   800d264 <__gxx_personality_v0+0x460>
- 800d26e:      2204            movs    r2, #4
- 800d270:      e9c8 250c       strd    r2, r5, [r8, #48]       ; 0x30
- 800d274:      e9c8 300a       strd    r3, r0, [r8, #40]       ; 0x28
- 800d278:      2503            movs    r5, #3
- 800d27a:      e6b5            b.n     800cfe8 <__gxx_personality_v0+0x1e4>
- 800d27c:      2200            movs    r2, #0
- 800d27e:      e796            b.n     800d1ae <__gxx_personality_v0+0x3aa>
- 800d280:      2000            movs    r0, #0
- 800d282:      e7e5            b.n     800d250 <__gxx_personality_v0+0x44c>
- 800d284:      9b03            ldr     r3, [sp, #12]
- 800d286:      2b00            cmp     r3, #0
- 800d288:      f43f adcc       beq.w   800ce24 <__gxx_personality_v0+0x20>
- 800d28c:      9b04            ldr     r3, [sp, #16]
- 800d28e:      07da            lsls    r2, r3, #31
- 800d290:      f53f adc8       bmi.w   800ce24 <__gxx_personality_v0+0x20>
- 800d294:      2502            movs    r5, #2
- 800d296:      e6a7            b.n     800cfe8 <__gxx_personality_v0+0x1e4>
- 800d298:      e9dd 3907       ldrd    r3, r9, [sp, #28]
- 800d29c:      e9dd 7a0a       ldrd    r7, sl, [sp, #40]       ; 0x28
- 800d2a0:      2b00            cmp     r3, #0
- 800d2a2:      f43f adbf       beq.w   800ce24 <__gxx_personality_v0+0x20>
- 800d2a6:      9b04            ldr     r3, [sp, #16]
- 800d2a8:      07dd            lsls    r5, r3, #31
- 800d2aa:      f53f adbb       bmi.w   800ce24 <__gxx_personality_v0+0x20>
- 800d2ae:      2400            movs    r4, #0
- 800d2b0:      e7f0            b.n     800d294 <__gxx_personality_v0+0x490>
- 800d2b2:      9b04            ldr     r3, [sp, #16]
- 800d2b4:      9f0a            ldr     r7, [sp, #40]   ; 0x28
- 800d2b6:      f8dd 9020       ldr.w   r9, [sp, #32]
- 800d2ba:      07de            lsls    r6, r3, #31
- 800d2bc:      4655            mov     r5, sl
- 800d2be:      f8dd a02c       ldr.w   sl, [sp, #44]   ; 0x2c
- 800d2c2:      f53f aecf       bmi.w   800d064 <__gxx_personality_v0+0x260>
- 800d2c6:      e7b7            b.n     800d238 <__gxx_personality_v0+0x434>
- 800d2c8:      f898 2007       ldrb.w  r2, [r8, #7]
- 800d2cc:      2a01            cmp     r2, #1
- 800d2ce:      bf0c            ite     eq
- 800d2d0:      f858 2c20       ldreq.w r2, [r8, #-32]
- 800d2d4:      f108 0258       addne.w r2, r8, #88     ; 0x58
- 800d2d8:      920c            str     r2, [sp, #48]   ; 0x30
- 800d2da:      e70a            b.n     800d0f2 <__gxx_personality_v0+0x2ee>
- 800d2dc:      f000 f8a6       bl      800d42c <__cxa_begin_catch>
- 800d2e0:      e630            b.n     800cf44 <__gxx_personality_v0+0x140>
- 800d2e2:      f000 fba9       bl      800da38 <abort>
- 800d2e6:      bf00            nop
-
-0800d2e8 <_ZL23__gxx_exception_cleanup19_Unwind_Reason_CodeP21_Unwind_Control_Block>:
- 800d2e8:      2801            cmp     r0, #1
- 800d2ea:      b510            push    {r4, lr}
- 800d2ec:      d81a            bhi.n   800d324 <_ZL23__gxx_exception_cleanup19_Unwind_Reason_CodeP21_Unwind_Control_Block+0x3c>
- 800d2ee:      f3bf 8f5b       dmb     ish
- 800d2f2:      f1a1 0328       sub.w   r3, r1, #40     ; 0x28
- 800d2f6:      e853 2f00       ldrex   r2, [r3]
- 800d2fa:      3a01            subs    r2, #1
- 800d2fc:      e843 2000       strex   r0, r2, [r3]
- 800d300:      2800            cmp     r0, #0
- 800d302:      d1f8            bne.n   800d2f6 <_ZL23__gxx_exception_cleanup19_Unwind_Reason_CodeP21_Unwind_Control_Block+0xe>
- 800d304:      f3bf 8f5b       dmb     ish
- 800d308:      b95a            cbnz    r2, 800d322 <_ZL23__gxx_exception_cleanup19_Unwind_Reason_CodeP21_Unwind_Control_Block+0x3a>
- 800d30a:      f851 3c1c       ldr.w   r3, [r1, #-28]
- 800d30e:      f101 0458       add.w   r4, r1, #88     ; 0x58
- 800d312:      b10b            cbz     r3, 800d318 <_ZL23__gxx_exception_cleanup19_Unwind_Reason_CodeP21_Unwind_Control_Block+0x30>
- 800d314:      4620            mov     r0, r4
- 800d316:      4798            blx     r3
- 800d318:      4620            mov     r0, r4
- 800d31a:      e8bd 4010       ldmia.w sp!, {r4, lr}
- 800d31e:      f000 b99b       b.w     800d658 <__cxa_free_exception>
- 800d322:      bd10            pop     {r4, pc}
- 800d324:      f851 0c14       ldr.w   r0, [r1, #-20]
- 800d328:      f7ff fafe       bl      800c928 <_ZN10__cxxabiv111__terminateEPFvvE>
-
-0800d32c <__cxa_init_primary_exception>:
- 800d32c:      b5f8            push    {r3, r4, r5, r6, r7, lr}
- 800d32e:      2500            movs    r5, #0
- 800d330:      e940 121e       strd    r1, r2, [r0, #-120]     ; 0x78
- 800d334:      f840 5c80       str.w   r5, [r0, #-128]
- 800d338:      4604            mov     r4, r0
- 800d33a:      f7ff fb29       bl      800c990 <_ZSt14get_unexpectedv>
- 800d33e:      f844 0c70       str.w   r0, [r4, #-112]
- 800d342:      f7ff fb1d       bl      800c980 <_ZSt13get_terminatev>
- 800d346:      2347            movs    r3, #71 ; 0x47
- 800d348:      2243            movs    r2, #67 ; 0x43
- 800d34a:      274e            movs    r7, #78 ; 0x4e
- 800d34c:      2655            movs    r6, #85 ; 0x55
- 800d34e:      490c            ldr     r1, [pc, #48]   ; (800d380 <__cxa_init_primary_exception+0x54>)
- 800d350:      f804 3c58       strb.w  r3, [r4, #-88]
- 800d354:      232b            movs    r3, #43 ; 0x2b
- 800d356:      f804 5c51       strb.w  r5, [r4, #-81]
- 800d35a:      f804 7c57       strb.w  r7, [r4, #-87]
- 800d35e:      f804 6c56       strb.w  r6, [r4, #-86]
- 800d362:      f844 1c50       str.w   r1, [r4, #-80]
- 800d366:      f804 2c55       strb.w  r2, [r4, #-85]
- 800d36a:      f804 2c54       strb.w  r2, [r4, #-84]
- 800d36e:      f804 3c53       strb.w  r3, [r4, #-83]
- 800d372:      f804 3c52       strb.w  r3, [r4, #-82]
- 800d376:      f844 0c6c       str.w   r0, [r4, #-108]
- 800d37a:      f1a4 0080       sub.w   r0, r4, #128    ; 0x80
- 800d37e:      bdf8            pop     {r3, r4, r5, r6, r7, pc}
- 800d380:      0800d2e9        .word   0x0800d2e9
-
-0800d384 <__cxa_throw>:
- 800d384:      b5f8            push    {r3, r4, r5, r6, r7, lr}
- 800d386:      4605            mov     r5, r0
- 800d388:      460e            mov     r6, r1
- 800d38a:      4617            mov     r7, r2
- 800d38c:      f7ff fc70       bl      800cc70 <__cxa_get_globals>
- 800d390:      6843            ldr     r3, [r0, #4]
- 800d392:      4604            mov     r4, r0
- 800d394:      3301            adds    r3, #1
- 800d396:      463a            mov     r2, r7
- 800d398:      4631            mov     r1, r6
- 800d39a:      6063            str     r3, [r4, #4]
- 800d39c:      4628            mov     r0, r5
- 800d39e:      f7ff ffc5       bl      800d32c <__cxa_init_primary_exception>
- 800d3a2:      4604            mov     r4, r0
- 800d3a4:      2301            movs    r3, #1
- 800d3a6:      f844 3b28       str.w   r3, [r4], #40
- 800d3aa:      4620            mov     r0, r4
- 800d3ac:      f7fa fc0a       bl      8007bc4 <_Unwind_RaiseException>
- 800d3b0:      4620            mov     r0, r4
- 800d3b2:      f000 f83b       bl      800d42c <__cxa_begin_catch>
- 800d3b6:      f7ff facb       bl      800c950 <_ZSt9terminatev>
- 800d3ba:      bf00            nop
-
-0800d3bc <__cxa_rethrow>:
- 800d3bc:      b510            push    {r4, lr}
- 800d3be:      f7ff fc57       bl      800cc70 <__cxa_get_globals>
- 800d3c2:      e9d0 4200       ldrd    r4, r2, [r0]
- 800d3c6:      3201            adds    r2, #1
- 800d3c8:      6042            str     r2, [r0, #4]
- 800d3ca:      b164            cbz     r4, 800d3e6 <__cxa_rethrow+0x2a>
- 800d3cc:      f894 2020       ldrb.w  r2, [r4, #32]
- 800d3d0:      2a47            cmp     r2, #71 ; 0x47
- 800d3d2:      d00a            beq.n   800d3ea <__cxa_rethrow+0x2e>
- 800d3d4:      2200            movs    r2, #0
- 800d3d6:      6002            str     r2, [r0, #0]
- 800d3d8:      3420            adds    r4, #32
- 800d3da:      4620            mov     r0, r4
- 800d3dc:      f7fa fc16       bl      8007c0c <_Unwind_Resume_or_Rethrow>
- 800d3e0:      4620            mov     r0, r4
- 800d3e2:      f000 f823       bl      800d42c <__cxa_begin_catch>
- 800d3e6:      f7ff fab3       bl      800c950 <_ZSt9terminatev>
- 800d3ea:      f894 2021       ldrb.w  r2, [r4, #33]   ; 0x21
- 800d3ee:      2a4e            cmp     r2, #78 ; 0x4e
- 800d3f0:      d1f0            bne.n   800d3d4 <__cxa_rethrow+0x18>
- 800d3f2:      f894 2022       ldrb.w  r2, [r4, #34]   ; 0x22
- 800d3f6:      2a55            cmp     r2, #85 ; 0x55
- 800d3f8:      d1ec            bne.n   800d3d4 <__cxa_rethrow+0x18>
- 800d3fa:      f894 2023       ldrb.w  r2, [r4, #35]   ; 0x23
- 800d3fe:      2a43            cmp     r2, #67 ; 0x43
- 800d400:      d1e8            bne.n   800d3d4 <__cxa_rethrow+0x18>
- 800d402:      f894 2024       ldrb.w  r2, [r4, #36]   ; 0x24
- 800d406:      2a43            cmp     r2, #67 ; 0x43
- 800d408:      d1e4            bne.n   800d3d4 <__cxa_rethrow+0x18>
- 800d40a:      f894 2025       ldrb.w  r2, [r4, #37]   ; 0x25
- 800d40e:      2a2b            cmp     r2, #43 ; 0x2b
- 800d410:      d1e0            bne.n   800d3d4 <__cxa_rethrow+0x18>
- 800d412:      f894 2026       ldrb.w  r2, [r4, #38]   ; 0x26
- 800d416:      2a2b            cmp     r2, #43 ; 0x2b
- 800d418:      d1dc            bne.n   800d3d4 <__cxa_rethrow+0x18>
- 800d41a:      f894 2027       ldrb.w  r2, [r4, #39]   ; 0x27
- 800d41e:      2a01            cmp     r2, #1
- 800d420:      d8d8            bhi.n   800d3d4 <__cxa_rethrow+0x18>
- 800d422:      6962            ldr     r2, [r4, #20]
- 800d424:      4252            negs    r2, r2
- 800d426:      6162            str     r2, [r4, #20]
- 800d428:      e7d6            b.n     800d3d8 <__cxa_rethrow+0x1c>
- 800d42a:      bf00            nop
-
-0800d42c <__cxa_begin_catch>:
- 800d42c:      b538            push    {r3, r4, r5, lr}
- 800d42e:      4604            mov     r4, r0
- 800d430:      f7ff fc1e       bl      800cc70 <__cxa_get_globals>
- 800d434:      7822            ldrb    r2, [r4, #0]
- 800d436:      6803            ldr     r3, [r0, #0]
- 800d438:      2a47            cmp     r2, #71 ; 0x47
- 800d43a:      f1a4 0120       sub.w   r1, r4, #32
- 800d43e:      d004            beq.n   800d44a <__cxa_begin_catch+0x1e>
- 800d440:      bb8b            cbnz    r3, 800d4a6 <__cxa_begin_catch+0x7a>
- 800d442:      461c            mov     r4, r3
- 800d444:      6001            str     r1, [r0, #0]
- 800d446:      4620            mov     r0, r4
- 800d448:      bd38            pop     {r3, r4, r5, pc}
- 800d44a:      7862            ldrb    r2, [r4, #1]
- 800d44c:      2a4e            cmp     r2, #78 ; 0x4e
- 800d44e:      d1f7            bne.n   800d440 <__cxa_begin_catch+0x14>
- 800d450:      78a2            ldrb    r2, [r4, #2]
- 800d452:      2a55            cmp     r2, #85 ; 0x55
- 800d454:      d1f4            bne.n   800d440 <__cxa_begin_catch+0x14>
- 800d456:      78e2            ldrb    r2, [r4, #3]
- 800d458:      2a43            cmp     r2, #67 ; 0x43
- 800d45a:      d1f1            bne.n   800d440 <__cxa_begin_catch+0x14>
- 800d45c:      7922            ldrb    r2, [r4, #4]
- 800d45e:      2a43            cmp     r2, #67 ; 0x43
- 800d460:      d1ee            bne.n   800d440 <__cxa_begin_catch+0x14>
- 800d462:      7962            ldrb    r2, [r4, #5]
- 800d464:      2a2b            cmp     r2, #43 ; 0x2b
- 800d466:      d1eb            bne.n   800d440 <__cxa_begin_catch+0x14>
- 800d468:      79a2            ldrb    r2, [r4, #6]
- 800d46a:      2a2b            cmp     r2, #43 ; 0x2b
- 800d46c:      d1e8            bne.n   800d440 <__cxa_begin_catch+0x14>
- 800d46e:      79e2            ldrb    r2, [r4, #7]
- 800d470:      2a01            cmp     r2, #1
- 800d472:      d8e5            bhi.n   800d440 <__cxa_begin_catch+0x14>
- 800d474:      f854 2c0c       ldr.w   r2, [r4, #-12]
- 800d478:      2a00            cmp     r2, #0
- 800d47a:      db11            blt.n   800d4a0 <__cxa_begin_catch+0x74>
- 800d47c:      3201            adds    r2, #1
- 800d47e:      6845            ldr     r5, [r0, #4]
- 800d480:      f844 2c0c       str.w   r2, [r4, #-12]
- 800d484:      428b            cmp     r3, r1
- 800d486:      f105 35ff       add.w   r5, r5, #4294967295     ; 0xffffffff
- 800d48a:      6045            str     r5, [r0, #4]
- 800d48c:      bf1c            itt     ne
- 800d48e:      f844 3c10       strne.w r3, [r4, #-16]
- 800d492:      6001            strne   r1, [r0, #0]
- 800d494:      4620            mov     r0, r4
- 800d496:      6a64            ldr     r4, [r4, #36]   ; 0x24
- 800d498:      f7f9 ffe2       bl      8007460 <_Unwind_Complete>
- 800d49c:      4620            mov     r0, r4
- 800d49e:      bd38            pop     {r3, r4, r5, pc}
- 800d4a0:      f1c2 0201       rsb     r2, r2, #1
- 800d4a4:      e7eb            b.n     800d47e <__cxa_begin_catch+0x52>
- 800d4a6:      f7ff fa53       bl      800c950 <_ZSt9terminatev>
- 800d4aa:      bf00            nop
-
-0800d4ac <__cxa_end_catch>:
- 800d4ac:      b508            push    {r3, lr}
- 800d4ae:      f7ff fbdb       bl      800cc68 <__cxa_get_globals_fast>
- 800d4b2:      4602            mov     r2, r0
- 800d4b4:      6800            ldr     r0, [r0, #0]
- 800d4b6:      b370            cbz     r0, 800d516 <__cxa_end_catch+0x6a>
- 800d4b8:      f890 3020       ldrb.w  r3, [r0, #32]
- 800d4bc:      2b47            cmp     r3, #71 ; 0x47
- 800d4be:      d006            beq.n   800d4ce <__cxa_end_catch+0x22>
- 800d4c0:      2300            movs    r3, #0
- 800d4c2:      6013            str     r3, [r2, #0]
- 800d4c4:      3020            adds    r0, #32
- 800d4c6:      e8bd 4008       ldmia.w sp!, {r3, lr}
- 800d4ca:      f7f9 bfcb       b.w     8007464 <_Unwind_DeleteException>
- 800d4ce:      f890 3021       ldrb.w  r3, [r0, #33]   ; 0x21
- 800d4d2:      2b4e            cmp     r3, #78 ; 0x4e
- 800d4d4:      d1f4            bne.n   800d4c0 <__cxa_end_catch+0x14>
- 800d4d6:      f890 3022       ldrb.w  r3, [r0, #34]   ; 0x22
- 800d4da:      2b55            cmp     r3, #85 ; 0x55
- 800d4dc:      d1f0            bne.n   800d4c0 <__cxa_end_catch+0x14>
- 800d4de:      f890 3023       ldrb.w  r3, [r0, #35]   ; 0x23
- 800d4e2:      2b43            cmp     r3, #67 ; 0x43
- 800d4e4:      d1ec            bne.n   800d4c0 <__cxa_end_catch+0x14>
- 800d4e6:      f890 3024       ldrb.w  r3, [r0, #36]   ; 0x24
- 800d4ea:      2b43            cmp     r3, #67 ; 0x43
- 800d4ec:      d1e8            bne.n   800d4c0 <__cxa_end_catch+0x14>
- 800d4ee:      f890 3025       ldrb.w  r3, [r0, #37]   ; 0x25
- 800d4f2:      2b2b            cmp     r3, #43 ; 0x2b
- 800d4f4:      d1e4            bne.n   800d4c0 <__cxa_end_catch+0x14>
- 800d4f6:      f890 3026       ldrb.w  r3, [r0, #38]   ; 0x26
- 800d4fa:      2b2b            cmp     r3, #43 ; 0x2b
- 800d4fc:      d1e0            bne.n   800d4c0 <__cxa_end_catch+0x14>
- 800d4fe:      f890 3027       ldrb.w  r3, [r0, #39]   ; 0x27
- 800d502:      2b01            cmp     r3, #1
- 800d504:      d8dc            bhi.n   800d4c0 <__cxa_end_catch+0x14>
- 800d506:      6943            ldr     r3, [r0, #20]
- 800d508:      2b00            cmp     r3, #0
- 800d50a:      db05            blt.n   800d518 <__cxa_end_catch+0x6c>
- 800d50c:      3b01            subs    r3, #1
- 800d50e:      2b00            cmp     r3, #0
- 800d510:      d007            beq.n   800d522 <__cxa_end_catch+0x76>
- 800d512:      db0d            blt.n   800d530 <__cxa_end_catch+0x84>
- 800d514:      6143            str     r3, [r0, #20]
- 800d516:      bd08            pop     {r3, pc}
- 800d518:      3301            adds    r3, #1
- 800d51a:      d1fb            bne.n   800d514 <__cxa_end_catch+0x68>
- 800d51c:      6901            ldr     r1, [r0, #16]
- 800d51e:      6011            str     r1, [r2, #0]
- 800d520:      e7f8            b.n     800d514 <__cxa_end_catch+0x68>
- 800d522:      6903            ldr     r3, [r0, #16]
- 800d524:      6013            str     r3, [r2, #0]
- 800d526:      3020            adds    r0, #32
- 800d528:      e8bd 4008       ldmia.w sp!, {r3, lr}
- 800d52c:      f7f9 bf9a       b.w     8007464 <_Unwind_DeleteException>
- 800d530:      f7ff fa0e       bl      800c950 <_ZSt9terminatev>
-
-0800d534 <_ZN12_GLOBAL__N_14pool4freeEPv.constprop.4>:
- 800d534:      b4f0            push    {r4, r5, r6, r7}
- 800d536:      4c22            ldr     r4, [pc, #136]  ; (800d5c0 <_ZN12_GLOBAL__N_14pool4freeEPv.constprop.4+0x8c>)
- 800d538:      6863            ldr     r3, [r4, #4]
- 800d53a:      f1a0 0608       sub.w   r6, r0, #8
- 800d53e:      b31b            cbz     r3, 800d588 <_ZN12_GLOBAL__N_14pool4freeEPv.constprop.4+0x54>
- 800d540:      f850 7c08       ldr.w   r7, [r0, #-8]
- 800d544:      19f5            adds    r5, r6, r7
- 800d546:      42ab            cmp     r3, r5
- 800d548:      d81e            bhi.n   800d588 <_ZN12_GLOBAL__N_14pool4freeEPv.constprop.4+0x54>
- 800d54a:      d022            beq.n   800d592 <_ZN12_GLOBAL__N_14pool4freeEPv.constprop.4+0x5e>
- 800d54c:      6859            ldr     r1, [r3, #4]
- 800d54e:      2900            cmp     r1, #0
- 800d550:      d031            beq.n   800d5b6 <_ZN12_GLOBAL__N_14pool4freeEPv.constprop.4+0x82>
- 800d552:      428d            cmp     r5, r1
- 800d554:      d303            bcc.n   800d55e <_ZN12_GLOBAL__N_14pool4freeEPv.constprop.4+0x2a>
- 800d556:      e02e            b.n     800d5b6 <_ZN12_GLOBAL__N_14pool4freeEPv.constprop.4+0x82>
- 800d558:      4295            cmp     r5, r2
- 800d55a:      d205            bcs.n   800d568 <_ZN12_GLOBAL__N_14pool4freeEPv.constprop.4+0x34>
- 800d55c:      4611            mov     r1, r2
- 800d55e:      684a            ldr     r2, [r1, #4]
- 800d560:      1d1c            adds    r4, r3, #4
- 800d562:      460b            mov     r3, r1
- 800d564:      2a00            cmp     r2, #0
- 800d566:      d1f7            bne.n   800d558 <_ZN12_GLOBAL__N_14pool4freeEPv.constprop.4+0x24>
- 800d568:      4295            cmp     r5, r2
- 800d56a:      d01c            beq.n   800d5a6 <_ZN12_GLOBAL__N_14pool4freeEPv.constprop.4+0x72>
- 800d56c:      6823            ldr     r3, [r4, #0]
- 800d56e:      681a            ldr     r2, [r3, #0]
- 800d570:      1899            adds    r1, r3, r2
- 800d572:      428e            cmp     r6, r1
- 800d574:      d01c            beq.n   800d5b0 <_ZN12_GLOBAL__N_14pool4freeEPv.constprop.4+0x7c>
- 800d576:      685b            ldr     r3, [r3, #4]
- 800d578:      f840 3c04       str.w   r3, [r0, #-4]
- 800d57c:      6823            ldr     r3, [r4, #0]
- 800d57e:      f840 7c08       str.w   r7, [r0, #-8]
- 800d582:      605e            str     r6, [r3, #4]
- 800d584:      bcf0            pop     {r4, r5, r6, r7}
- 800d586:      4770            bx      lr
- 800d588:      f840 3c04       str.w   r3, [r0, #-4]
- 800d58c:      6066            str     r6, [r4, #4]
- 800d58e:      bcf0            pop     {r4, r5, r6, r7}
- 800d590:      4770            bx      lr
- 800d592:      e9d3 2300       ldrd    r2, r3, [r3]
- 800d596:      4417            add     r7, r2
- 800d598:      f840 7c08       str.w   r7, [r0, #-8]
- 800d59c:      f840 3c04       str.w   r3, [r0, #-4]
- 800d5a0:      6066            str     r6, [r4, #4]
- 800d5a2:      bcf0            pop     {r4, r5, r6, r7}
- 800d5a4:      4770            bx      lr
- 800d5a6:      e9d5 3200       ldrd    r3, r2, [r5]
- 800d5aa:      604a            str     r2, [r1, #4]
- 800d5ac:      441f            add     r7, r3
- 800d5ae:      e7dd            b.n     800d56c <_ZN12_GLOBAL__N_14pool4freeEPv.constprop.4+0x38>
- 800d5b0:      4417            add     r7, r2
- 800d5b2:      601f            str     r7, [r3, #0]
- 800d5b4:      e7eb            b.n     800d58e <_ZN12_GLOBAL__N_14pool4freeEPv.constprop.4+0x5a>
- 800d5b6:      460a            mov     r2, r1
- 800d5b8:      3404            adds    r4, #4
- 800d5ba:      4619            mov     r1, r3
- 800d5bc:      e7d4            b.n     800d568 <_ZN12_GLOBAL__N_14pool4freeEPv.constprop.4+0x34>
- 800d5be:      bf00            nop
- 800d5c0:      20000ab0        .word   0x20000ab0
-
-0800d5c4 <_ZN12_GLOBAL__N_14pool8allocateEj.constprop.5>:
- 800d5c4:      b430            push    {r4, r5}
- 800d5c6:      4c17            ldr     r4, [pc, #92]   ; (800d624 <_ZN12_GLOBAL__N_14pool8allocateEj.constprop.5+0x60>)
- 800d5c8:      f100 0208       add.w   r2, r0, #8
- 800d5cc:      6863            ldr     r3, [r4, #4]
- 800d5ce:      2a08            cmp     r2, #8
- 800d5d0:      bf38            it      cc
- 800d5d2:      2208            movcc   r2, #8
- 800d5d4:      b303            cbz     r3, 800d618 <_ZN12_GLOBAL__N_14pool8allocateEj.constprop.5+0x54>
- 800d5d6:      3207            adds    r2, #7
- 800d5d8:      6819            ldr     r1, [r3, #0]
- 800d5da:      f022 0207       bic.w   r2, r2, #7
- 800d5de:      428a            cmp     r2, r1
- 800d5e0:      d804            bhi.n   800d5ec <_ZN12_GLOBAL__N_14pool8allocateEj.constprop.5+0x28>
- 800d5e2:      e01b            b.n     800d61c <_ZN12_GLOBAL__N_14pool8allocateEj.constprop.5+0x58>
- 800d5e4:      6801            ldr     r1, [r0, #0]
- 800d5e6:      428a            cmp     r2, r1
- 800d5e8:      d905            bls.n   800d5f6 <_ZN12_GLOBAL__N_14pool8allocateEj.constprop.5+0x32>
- 800d5ea:      4603            mov     r3, r0
- 800d5ec:      6858            ldr     r0, [r3, #4]
- 800d5ee:      2800            cmp     r0, #0
- 800d5f0:      d1f8            bne.n   800d5e4 <_ZN12_GLOBAL__N_14pool8allocateEj.constprop.5+0x20>
- 800d5f2:      bc30            pop     {r4, r5}
- 800d5f4:      4770            bx      lr
- 800d5f6:      3304            adds    r3, #4
- 800d5f8:      1a8c            subs    r4, r1, r2
- 800d5fa:      2c07            cmp     r4, #7
- 800d5fc:      6845            ldr     r5, [r0, #4]
- 800d5fe:      d908            bls.n   800d612 <_ZN12_GLOBAL__N_14pool8allocateEj.constprop.5+0x4e>
- 800d600:      1881            adds    r1, r0, r2
- 800d602:      604d            str     r5, [r1, #4]
- 800d604:      5084            str     r4, [r0, r2]
- 800d606:      6818            ldr     r0, [r3, #0]
- 800d608:      6002            str     r2, [r0, #0]
- 800d60a:      6019            str     r1, [r3, #0]
- 800d60c:      3008            adds    r0, #8
- 800d60e:      bc30            pop     {r4, r5}
- 800d610:      4770            bx      lr
- 800d612:      6001            str     r1, [r0, #0]
- 800d614:      601d            str     r5, [r3, #0]
- 800d616:      e7f9            b.n     800d60c <_ZN12_GLOBAL__N_14pool8allocateEj.constprop.5+0x48>
- 800d618:      4618            mov     r0, r3
- 800d61a:      e7ea            b.n     800d5f2 <_ZN12_GLOBAL__N_14pool8allocateEj.constprop.5+0x2e>
- 800d61c:      4618            mov     r0, r3
- 800d61e:      1d23            adds    r3, r4, #4
- 800d620:      e7ea            b.n     800d5f8 <_ZN12_GLOBAL__N_14pool8allocateEj.constprop.5+0x34>
- 800d622:      bf00            nop
- 800d624:      20000ab0        .word   0x20000ab0
-
-0800d628 <__cxa_allocate_exception>:
- 800d628:      b510            push    {r4, lr}
- 800d62a:      f100 0480       add.w   r4, r0, #128    ; 0x80
- 800d62e:      4620            mov     r0, r4
- 800d630:      f000 fc4c       bl      800decc <malloc>
- 800d634:      b138            cbz     r0, 800d646 <__cxa_allocate_exception+0x1e>
- 800d636:      4603            mov     r3, r0
- 800d638:      2280            movs    r2, #128        ; 0x80
- 800d63a:      2100            movs    r1, #0
- 800d63c:      4618            mov     r0, r3
- 800d63e:      f000 febe       bl      800e3be <memset>
- 800d642:      3080            adds    r0, #128        ; 0x80
- 800d644:      bd10            pop     {r4, pc}
- 800d646:      4620            mov     r0, r4
- 800d648:      f7ff ffbc       bl      800d5c4 <_ZN12_GLOBAL__N_14pool8allocateEj.constprop.5>
- 800d64c:      4603            mov     r3, r0
- 800d64e:      2800            cmp     r0, #0
- 800d650:      d1f2            bne.n   800d638 <__cxa_allocate_exception+0x10>
- 800d652:      f7ff f97d       bl      800c950 <_ZSt9terminatev>
- 800d656:      bf00            nop
-
-0800d658 <__cxa_free_exception>:
- 800d658:      4a06            ldr     r2, [pc, #24]   ; (800d674 <__cxa_free_exception+0x1c>)
- 800d65a:      6893            ldr     r3, [r2, #8]
- 800d65c:      3880            subs    r0, #128        ; 0x80
- 800d65e:      4298            cmp     r0, r3
- 800d660:      d903            bls.n   800d66a <__cxa_free_exception+0x12>
- 800d662:      68d2            ldr     r2, [r2, #12]
- 800d664:      4413            add     r3, r2
- 800d666:      4298            cmp     r0, r3
- 800d668:      d301            bcc.n   800d66e <__cxa_free_exception+0x16>
- 800d66a:      f000 bc37       b.w     800dedc <free>
- 800d66e:      f7ff bf61       b.w     800d534 <_ZN12_GLOBAL__N_14pool4freeEPv.constprop.4>
- 800d672:      bf00            nop
- 800d674:      20000ab0        .word   0x20000ab0
-
-0800d678 <_GLOBAL__sub_I__ZN9__gnu_cxx9__freeresEv>:
- 800d678:      b538            push    {r3, r4, r5, lr}
- 800d67a:      4c08            ldr     r4, [pc, #32]   ; (800d69c <_GLOBAL__sub_I__ZN9__gnu_cxx9__freeresEv+0x24>)
- 800d67c:      f44f 651e       mov.w   r5, #2528       ; 0x9e0
- 800d680:      4628            mov     r0, r5
- 800d682:      60e5            str     r5, [r4, #12]
- 800d684:      f000 fc22       bl      800decc <malloc>
- 800d688:      60a0            str     r0, [r4, #8]
- 800d68a:      b120            cbz     r0, 800d696 <_GLOBAL__sub_I__ZN9__gnu_cxx9__freeresEv+0x1e>
- 800d68c:      2300            movs    r3, #0
- 800d68e:      6060            str     r0, [r4, #4]
- 800d690:      e9c0 5300       strd    r5, r3, [r0]
- 800d694:      bd38            pop     {r3, r4, r5, pc}
- 800d696:      60e0            str     r0, [r4, #12]
- 800d698:      6060            str     r0, [r4, #4]
- 800d69a:      bd38            pop     {r3, r4, r5, pc}
- 800d69c:      20000ab0        .word   0x20000ab0
-
-0800d6a0 <_ZNSt13bad_exceptionD1Ev>:
- 800d6a0:      4770            bx      lr
- 800d6a2:      bf00            nop
-
-0800d6a4 <_ZGTtNKSt13bad_exception4whatEv>:
- 800d6a4:      4800            ldr     r0, [pc, #0]    ; (800d6a8 <_ZGTtNKSt13bad_exception4whatEv+0x4>)
- 800d6a6:      4770            bx      lr
- 800d6a8:      080123ac        .word   0x080123ac
-
-0800d6ac <_ZNSt13bad_exceptionD0Ev>:
- 800d6ac:      b510            push    {r4, lr}
- 800d6ae:      2104            movs    r1, #4
- 800d6b0:      4604            mov     r4, r0
- 800d6b2:      f000 f803       bl      800d6bc <_ZdlPvj>
- 800d6b6:      4620            mov     r0, r4
- 800d6b8:      bd10            pop     {r4, pc}
- 800d6ba:      bf00            nop
-
-0800d6bc <_ZdlPvj>:
- 800d6bc:      f000 b9a0       b.w     800da00 <_ZdlPv>
-
-0800d6c0 <_ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PPv>:
- 800d6c0:      b570            push    {r4, r5, r6, lr}
- 800d6c2:      6803            ldr     r3, [r0, #0]
- 800d6c4:      b084            sub     sp, #16
- 800d6c6:      2400            movs    r4, #0
- 800d6c8:      699e            ldr     r6, [r3, #24]
- 800d6ca:      9400            str     r4, [sp, #0]
- 800d6cc:      2310            movs    r3, #16
- 800d6ce:      4615            mov     r5, r2
- 800d6d0:      e9cd 3402       strd    r3, r4, [sp, #8]
- 800d6d4:      6812            ldr     r2, [r2, #0]
- 800d6d6:      f88d 4004       strb.w  r4, [sp, #4]
- 800d6da:      466b            mov     r3, sp
- 800d6dc:      47b0            blx     r6
- 800d6de:      f89d 3004       ldrb.w  r3, [sp, #4]
- 800d6e2:      f003 0306       and.w   r3, r3, #6
- 800d6e6:      2b06            cmp     r3, #6
- 800d6e8:      bf03            ittte   eq
- 800d6ea:      9b00            ldreq   r3, [sp, #0]
- 800d6ec:      602b            streq   r3, [r5, #0]
- 800d6ee:      2001            moveq   r0, #1
- 800d6f0:      4620            movne   r0, r4
- 800d6f2:      b004            add     sp, #16
- 800d6f4:      bd70            pop     {r4, r5, r6, pc}
- 800d6f6:      bf00            nop
-
-0800d6f8 <_ZNK10__cxxabiv117__class_type_info20__do_find_public_srcEiPKvPKS0_S2_>:
- 800d6f8:      9800            ldr     r0, [sp, #0]
- 800d6fa:      4290            cmp     r0, r2
- 800d6fc:      bf0c            ite     eq
- 800d6fe:      2006            moveq   r0, #6
- 800d700:      2001            movne   r0, #1
- 800d702:      4770            bx      lr
-
-0800d704 <_ZN10__cxxabiv117__class_type_infoD1Ev>:
- 800d704:      b510            push    {r4, lr}
- 800d706:      4b03            ldr     r3, [pc, #12]   ; (800d714 <_ZN10__cxxabiv117__class_type_infoD1Ev+0x10>)
- 800d708:      6003            str     r3, [r0, #0]
- 800d70a:      4604            mov     r4, r0
- 800d70c:      f000 f97a       bl      800da04 <_ZNSt9type_infoD1Ev>
- 800d710:      4620            mov     r0, r4
- 800d712:      bd10            pop     {r4, pc}
- 800d714:      08012498        .word   0x08012498
-
-0800d718 <_ZN10__cxxabiv117__class_type_infoD0Ev>:
- 800d718:      b510            push    {r4, lr}
- 800d71a:      4b05            ldr     r3, [pc, #20]   ; (800d730 <_ZN10__cxxabiv117__class_type_infoD0Ev+0x18>)
- 800d71c:      6003            str     r3, [r0, #0]
- 800d71e:      4604            mov     r4, r0
- 800d720:      f000 f970       bl      800da04 <_ZNSt9type_infoD1Ev>
- 800d724:      4620            mov     r0, r4
- 800d726:      2108            movs    r1, #8
- 800d728:      f7ff ffc8       bl      800d6bc <_ZdlPvj>
- 800d72c:      4620            mov     r0, r4
- 800d72e:      bd10            pop     {r4, pc}
- 800d730:      08012498        .word   0x08012498
-
-0800d734 <_ZNK10__cxxabiv117__class_type_info12__do_dyncastEiNS0_10__sub_kindEPKS0_PKvS3_S5_RNS0_16__dyncast_resultE>:
- 800d734:      e92d 41f0       stmdb   sp!, {r4, r5, r6, r7, r8, lr}
- 800d738:      e9dd 1408       ldrd    r1, r4, [sp, #32]
- 800d73c:      9d06            ldr     r5, [sp, #24]
- 800d73e:      428d            cmp     r5, r1
- 800d740:      4690            mov     r8, r2
- 800d742:      461f            mov     r7, r3
- 800d744:      4606            mov     r6, r0
- 800d746:      d00c            beq.n   800d762 <_ZNK10__cxxabiv117__class_type_info12__do_dyncastEiNS0_10__sub_kindEPKS0_PKvS3_S5_RNS0_16__dyncast_resultE+0x2e>
- 800d748:      4639            mov     r1, r7
- 800d74a:      4630            mov     r0, r6
- 800d74c:      f000 f95e       bl      800da0c <_ZNKSt9type_infoeqERKS_>
- 800d750:      b120            cbz     r0, 800d75c <_ZNK10__cxxabiv117__class_type_info12__do_dyncastEiNS0_10__sub_kindEPKS0_PKvS3_S5_RNS0_16__dyncast_resultE+0x28>
- 800d752:      2301            movs    r3, #1
- 800d754:      6025            str     r5, [r4, #0]
- 800d756:      f884 8004       strb.w  r8, [r4, #4]
- 800d75a:      71a3            strb    r3, [r4, #6]
- 800d75c:      2000            movs    r0, #0
- 800d75e:      e8bd 81f0       ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
- 800d762:      9907            ldr     r1, [sp, #28]
- 800d764:      f000 f952       bl      800da0c <_ZNKSt9type_infoeqERKS_>
- 800d768:      2800            cmp     r0, #0
- 800d76a:      d0ed            beq.n   800d748 <_ZNK10__cxxabiv117__class_type_info12__do_dyncastEiNS0_10__sub_kindEPKS0_PKvS3_S5_RNS0_16__dyncast_resultE+0x14>
- 800d76c:      f884 8005       strb.w  r8, [r4, #5]
- 800d770:      2000            movs    r0, #0
- 800d772:      e8bd 81f0       ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
- 800d776:      bf00            nop
-
-0800d778 <_ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PKvRNS0_15__upcast_resultE>:
- 800d778:      b538            push    {r3, r4, r5, lr}
- 800d77a:      4615            mov     r5, r2
- 800d77c:      461c            mov     r4, r3
- 800d77e:      f000 f945       bl      800da0c <_ZNKSt9type_infoeqERKS_>
- 800d782:      b120            cbz     r0, 800d78e <_ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PKvRNS0_15__upcast_resultE+0x16>
- 800d784:      2208            movs    r2, #8
- 800d786:      2306            movs    r3, #6
- 800d788:      6025            str     r5, [r4, #0]
- 800d78a:      60e2            str     r2, [r4, #12]
- 800d78c:      7123            strb    r3, [r4, #4]
- 800d78e:      bd38            pop     {r3, r4, r5, pc}
-
-0800d790 <_ZNK10__cxxabiv117__class_type_info10__do_catchEPKSt9type_infoPPvj>:
- 800d790:      e92d 41f0       stmdb   sp!, {r4, r5, r6, r7, r8, lr}
- 800d794:      4617            mov     r7, r2
- 800d796:      461c            mov     r4, r3
- 800d798:      4606            mov     r6, r0
- 800d79a:      460d            mov     r5, r1
- 800d79c:      f000 f936       bl      800da0c <_ZNKSt9type_infoeqERKS_>
- 800d7a0:      b908            cbnz    r0, 800d7a6 <_ZNK10__cxxabiv117__class_type_info10__do_catchEPKSt9type_infoPPvj+0x16>
- 800d7a2:      2c03            cmp     r4, #3
- 800d7a4:      d901            bls.n   800d7aa <_ZNK10__cxxabiv117__class_type_info10__do_catchEPKSt9type_infoPPvj+0x1a>
- 800d7a6:      e8bd 81f0       ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
- 800d7aa:      682b            ldr     r3, [r5, #0]
- 800d7ac:      463a            mov     r2, r7
- 800d7ae:      4631            mov     r1, r6
- 800d7b0:      4628            mov     r0, r5
- 800d7b2:      695b            ldr     r3, [r3, #20]
- 800d7b4:      e8bd 41f0       ldmia.w sp!, {r4, r5, r6, r7, r8, lr}
- 800d7b8:      4718            bx      r3
- 800d7ba:      bf00            nop
-
-0800d7bc <_ZN9__gnu_cxx27__verbose_terminate_handlerEv>:
- 800d7bc:      b570            push    {r4, r5, r6, lr}
- 800d7be:      4b3c            ldr     r3, [pc, #240]  ; (800d8b0 <_ZN9__gnu_cxx27__verbose_terminate_handlerEv+0xf4>)
- 800d7c0:      781a            ldrb    r2, [r3, #0]
- 800d7c2:      b082            sub     sp, #8
- 800d7c4:      2a00            cmp     r2, #0
- 800d7c6:      d135            bne.n   800d834 <_ZN9__gnu_cxx27__verbose_terminate_handlerEv+0x78>
- 800d7c8:      2401            movs    r4, #1
- 800d7ca:      701c            strb    r4, [r3, #0]
- 800d7cc:      f000 f87e       bl      800d8cc <__cxa_current_exception_type>
- 800d7d0:      2800            cmp     r0, #0
- 800d7d2:      d03d            beq.n   800d850 <_ZN9__gnu_cxx27__verbose_terminate_handlerEv+0x94>
- 800d7d4:      6844            ldr     r4, [r0, #4]
- 800d7d6:      4d37            ldr     r5, [pc, #220]  ; (800d8b4 <_ZN9__gnu_cxx27__verbose_terminate_handlerEv+0xf8>)
- 800d7d8:      7823            ldrb    r3, [r4, #0]
- 800d7da:      2b2a            cmp     r3, #42 ; 0x2a
- 800d7dc:      ab02            add     r3, sp, #8
- 800d7de:      f04f 32ff       mov.w   r2, #4294967295 ; 0xffffffff
- 800d7e2:      bf08            it      eq
- 800d7e4:      3401            addeq   r4, #1
- 800d7e6:      f843 2d04       str.w   r2, [r3, #-4]!
- 800d7ea:      2200            movs    r2, #0
- 800d7ec:      4611            mov     r1, r2
- 800d7ee:      4620            mov     r0, r4
- 800d7f0:      f7f9 fa1e       bl      8006c30 <__cxa_demangle>
- 800d7f4:      682b            ldr     r3, [r5, #0]
- 800d7f6:      4606            mov     r6, r0
- 800d7f8:      68db            ldr     r3, [r3, #12]
- 800d7fa:      482f            ldr     r0, [pc, #188]  ; (800d8b8 <_ZN9__gnu_cxx27__verbose_terminate_handlerEv+0xfc>)
- 800d7fc:      2230            movs    r2, #48 ; 0x30
- 800d7fe:      2101            movs    r1, #1
- 800d800:      f000 fb2e       bl      800de60 <fwrite>
- 800d804:      9b01            ldr     r3, [sp, #4]
- 800d806:      b17b            cbz     r3, 800d828 <_ZN9__gnu_cxx27__verbose_terminate_handlerEv+0x6c>
- 800d808:      682b            ldr     r3, [r5, #0]
- 800d80a:      4620            mov     r0, r4
- 800d80c:      68d9            ldr     r1, [r3, #12]
- 800d80e:      f000 f987       bl      800db20 <fputs>
- 800d812:      682b            ldr     r3, [r5, #0]
- 800d814:      4829            ldr     r0, [pc, #164]  ; (800d8bc <_ZN9__gnu_cxx27__verbose_terminate_handlerEv+0x100>)
- 800d816:      68db            ldr     r3, [r3, #12]
- 800d818:      2202            movs    r2, #2
- 800d81a:      2101            movs    r1, #1
- 800d81c:      f000 fb20       bl      800de60 <fwrite>
- 800d820:      9b01            ldr     r3, [sp, #4]
- 800d822:      b18b            cbz     r3, 800d848 <_ZN9__gnu_cxx27__verbose_terminate_handlerEv+0x8c>
- 800d824:      f7ff fdca       bl      800d3bc <__cxa_rethrow>
- 800d828:      682b            ldr     r3, [r5, #0]
- 800d82a:      4630            mov     r0, r6
- 800d82c:      68d9            ldr     r1, [r3, #12]
- 800d82e:      f000 f977       bl      800db20 <fputs>
- 800d832:      e7ee            b.n     800d812 <_ZN9__gnu_cxx27__verbose_terminate_handlerEv+0x56>
- 800d834:      4b1f            ldr     r3, [pc, #124]  ; (800d8b4 <_ZN9__gnu_cxx27__verbose_terminate_handlerEv+0xf8>)
- 800d836:      4822            ldr     r0, [pc, #136]  ; (800d8c0 <_ZN9__gnu_cxx27__verbose_terminate_handlerEv+0x104>)
- 800d838:      681b            ldr     r3, [r3, #0]
- 800d83a:      221d            movs    r2, #29
- 800d83c:      68db            ldr     r3, [r3, #12]
- 800d83e:      2101            movs    r1, #1
- 800d840:      f000 fb0e       bl      800de60 <fwrite>
- 800d844:      f000 f8f8       bl      800da38 <abort>
- 800d848:      4630            mov     r0, r6
- 800d84a:      f000 fb47       bl      800dedc <free>
- 800d84e:      e7e9            b.n     800d824 <_ZN9__gnu_cxx27__verbose_terminate_handlerEv+0x68>
- 800d850:      4b18            ldr     r3, [pc, #96]   ; (800d8b4 <_ZN9__gnu_cxx27__verbose_terminate_handlerEv+0xf8>)
- 800d852:      481c            ldr     r0, [pc, #112]  ; (800d8c4 <_ZN9__gnu_cxx27__verbose_terminate_handlerEv+0x108>)
- 800d854:      681b            ldr     r3, [r3, #0]
- 800d856:      4621            mov     r1, r4
- 800d858:      68db            ldr     r3, [r3, #12]
- 800d85a:      222d            movs    r2, #45 ; 0x2d
- 800d85c:      f000 fb00       bl      800de60 <fwrite>
- 800d860:      f000 f8ea       bl      800da38 <abort>
- 800d864:      2901            cmp     r1, #1
- 800d866:      460c            mov     r4, r1
- 800d868:      d119            bne.n   800d89e <_ZN9__gnu_cxx27__verbose_terminate_handlerEv+0xe2>
- 800d86a:      f7ff fddf       bl      800d42c <__cxa_begin_catch>
- 800d86e:      6803            ldr     r3, [r0, #0]
- 800d870:      689b            ldr     r3, [r3, #8]
- 800d872:      4798            blx     r3
- 800d874:      682b            ldr     r3, [r5, #0]
- 800d876:      4606            mov     r6, r0
- 800d878:      68db            ldr     r3, [r3, #12]
- 800d87a:      4813            ldr     r0, [pc, #76]   ; (800d8c8 <_ZN9__gnu_cxx27__verbose_terminate_handlerEv+0x10c>)
- 800d87c:      4621            mov     r1, r4
- 800d87e:      220b            movs    r2, #11
- 800d880:      f000 faee       bl      800de60 <fwrite>
- 800d884:      682b            ldr     r3, [r5, #0]
- 800d886:      4630            mov     r0, r6
- 800d888:      68d9            ldr     r1, [r3, #12]
- 800d88a:      f000 f949       bl      800db20 <fputs>
- 800d88e:      682b            ldr     r3, [r5, #0]
- 800d890:      200a            movs    r0, #10
- 800d892:      68d9            ldr     r1, [r3, #12]
- 800d894:      f000 f902       bl      800da9c <fputc>
- 800d898:      f7ff fe08       bl      800d4ac <__cxa_end_catch>
- 800d89c:      e7e0            b.n     800d860 <_ZN9__gnu_cxx27__verbose_terminate_handlerEv+0xa4>
- 800d89e:      f7ff fdc5       bl      800d42c <__cxa_begin_catch>
- 800d8a2:      f7ff fe03       bl      800d4ac <__cxa_end_catch>
- 800d8a6:      e7db            b.n     800d860 <_ZN9__gnu_cxx27__verbose_terminate_handlerEv+0xa4>
- 800d8a8:      f7ff fe00       bl      800d4ac <__cxa_end_catch>
- 800d8ac:      f7ff f914       bl      800cad8 <__cxa_end_cleanup>
- 800d8b0:      20000ac0        .word   0x20000ac0
- 800d8b4:      20000014        .word   0x20000014
- 800d8b8:      080124dc        .word   0x080124dc
- 800d8bc:      08012510        .word   0x08012510
- 800d8c0:      080124bc        .word   0x080124bc
- 800d8c4:      08012514        .word   0x08012514
- 800d8c8:      08012544        .word   0x08012544
-
-0800d8cc <__cxa_current_exception_type>:
- 800d8cc:      b508            push    {r3, lr}
- 800d8ce:      f7ff f9cf       bl      800cc70 <__cxa_get_globals>
- 800d8d2:      6800            ldr     r0, [r0, #0]
- 800d8d4:      b130            cbz     r0, 800d8e4 <__cxa_current_exception_type+0x18>
- 800d8d6:      f890 3027       ldrb.w  r3, [r0, #39]   ; 0x27
- 800d8da:      6800            ldr     r0, [r0, #0]
- 800d8dc:      2b01            cmp     r3, #1
- 800d8de:      bf08            it      eq
- 800d8e0:      f850 0c78       ldreq.w r0, [r0, #-120]
- 800d8e4:      bd08            pop     {r3, pc}
- 800d8e6:      bf00            nop
-
-0800d8e8 <_ZN10__cxxabiv120__si_class_type_infoD1Ev>:
- 800d8e8:      b510            push    {r4, lr}
- 800d8ea:      4b03            ldr     r3, [pc, #12]   ; (800d8f8 <_ZN10__cxxabiv120__si_class_type_infoD1Ev+0x10>)
- 800d8ec:      6003            str     r3, [r0, #0]
- 800d8ee:      4604            mov     r4, r0
- 800d8f0:      f7ff ff08       bl      800d704 <_ZN10__cxxabiv117__class_type_infoD1Ev>
- 800d8f4:      4620            mov     r0, r4
- 800d8f6:      bd10            pop     {r4, pc}
- 800d8f8:      08012df0        .word   0x08012df0
-
-0800d8fc <_ZN10__cxxabiv120__si_class_type_infoD0Ev>:
- 800d8fc:      b510            push    {r4, lr}
- 800d8fe:      4b05            ldr     r3, [pc, #20]   ; (800d914 <_ZN10__cxxabiv120__si_class_type_infoD0Ev+0x18>)
- 800d900:      6003            str     r3, [r0, #0]
- 800d902:      4604            mov     r4, r0
- 800d904:      f7ff fefe       bl      800d704 <_ZN10__cxxabiv117__class_type_infoD1Ev>
- 800d908:      4620            mov     r0, r4
- 800d90a:      210c            movs    r1, #12
- 800d90c:      f7ff fed6       bl      800d6bc <_ZdlPvj>
- 800d910:      4620            mov     r0, r4
- 800d912:      bd10            pop     {r4, pc}
- 800d914:      08012df0        .word   0x08012df0
-
-0800d918 <_ZNK10__cxxabiv120__si_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_>:
- 800d918:      b570            push    {r4, r5, r6, lr}
- 800d91a:      b082            sub     sp, #8
- 800d91c:      460e            mov     r6, r1
- 800d91e:      9c06            ldr     r4, [sp, #24]
- 800d920:      4294            cmp     r4, r2
- 800d922:      4605            mov     r5, r0
- 800d924:      d009            beq.n   800d93a <_ZNK10__cxxabiv120__si_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_+0x22>
- 800d926:      68a8            ldr     r0, [r5, #8]
- 800d928:      6805            ldr     r5, [r0, #0]
- 800d92a:      9406            str     r4, [sp, #24]
- 800d92c:      6a2c            ldr     r4, [r5, #32]
- 800d92e:      4631            mov     r1, r6
- 800d930:      46a4            mov     ip, r4
- 800d932:      b002            add     sp, #8
- 800d934:      e8bd 4070       ldmia.w sp!, {r4, r5, r6, lr}
- 800d938:      4760            bx      ip
- 800d93a:      4619            mov     r1, r3
- 800d93c:      9201            str     r2, [sp, #4]
- 800d93e:      9300            str     r3, [sp, #0]
- 800d940:      f000 f864       bl      800da0c <_ZNKSt9type_infoeqERKS_>
- 800d944:      e9dd 3200       ldrd    r3, r2, [sp]
- 800d948:      2800            cmp     r0, #0
- 800d94a:      d0ec            beq.n   800d926 <_ZNK10__cxxabiv120__si_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_+0xe>
- 800d94c:      2006            movs    r0, #6
- 800d94e:      b002            add     sp, #8
- 800d950:      bd70            pop     {r4, r5, r6, pc}
- 800d952:      bf00            nop
-
-0800d954 <_ZNK10__cxxabiv120__si_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE>:
- 800d954:      e92d 4ff0       stmdb   sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
- 800d958:      460e            mov     r6, r1
- 800d95a:      b081            sub     sp, #4
- 800d95c:      4619            mov     r1, r3
- 800d95e:      461f            mov     r7, r3
- 800d960:      4691            mov     r9, r2
- 800d962:      4683            mov     fp, r0
- 800d964:      e9dd 4a0a       ldrd    r4, sl, [sp, #40]       ; 0x28
- 800d968:      e9dd 850c       ldrd    r8, r5, [sp, #48]       ; 0x30
- 800d96c:      f000 f84e       bl      800da0c <_ZNKSt9type_infoeqERKS_>
- 800d970:      b170            cbz     r0, 800d990 <_ZNK10__cxxabiv120__si_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE+0x3c>
- 800d972:      2e00            cmp     r6, #0
- 800d974:      602c            str     r4, [r5, #0]
- 800d976:      f885 9004       strb.w  r9, [r5, #4]
- 800d97a:      db1d            blt.n   800d9b8 <_ZNK10__cxxabiv120__si_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE+0x64>
- 800d97c:      4434            add     r4, r6
- 800d97e:      45a0            cmp     r8, r4
- 800d980:      bf0c            ite     eq
- 800d982:      2406            moveq   r4, #6
- 800d984:      2401            movne   r4, #1
- 800d986:      71ac            strb    r4, [r5, #6]
- 800d988:      2000            movs    r0, #0
- 800d98a:      b001            add     sp, #4
- 800d98c:      e8bd 8ff0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
- 800d990:      4544            cmp     r4, r8
- 800d992:      d016            beq.n   800d9c2 <_ZNK10__cxxabiv120__si_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE+0x6e>
- 800d994:      f8db 0008       ldr.w   r0, [fp, #8]
- 800d998:      f8d0 c000       ldr.w   ip, [r0]
- 800d99c:      e9cd 850c       strd    r8, r5, [sp, #48]       ; 0x30
- 800d9a0:      e9cd 4a0a       strd    r4, sl, [sp, #40]       ; 0x28
- 800d9a4:      f8dc 401c       ldr.w   r4, [ip, #28]
- 800d9a8:      463b            mov     r3, r7
- 800d9aa:      464a            mov     r2, r9
- 800d9ac:      4631            mov     r1, r6
- 800d9ae:      46a4            mov     ip, r4
- 800d9b0:      b001            add     sp, #4
- 800d9b2:      e8bd 4ff0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
- 800d9b6:      4760            bx      ip
- 800d9b8:      3602            adds    r6, #2
- 800d9ba:      d1e5            bne.n   800d988 <_ZNK10__cxxabiv120__si_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE+0x34>
- 800d9bc:      2301            movs    r3, #1
- 800d9be:      71ab            strb    r3, [r5, #6]
- 800d9c0:      e7e2            b.n     800d988 <_ZNK10__cxxabiv120__si_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE+0x34>
- 800d9c2:      4651            mov     r1, sl
- 800d9c4:      4658            mov     r0, fp
- 800d9c6:      f000 f821       bl      800da0c <_ZNKSt9type_infoeqERKS_>
- 800d9ca:      2800            cmp     r0, #0
- 800d9cc:      d0e2            beq.n   800d994 <_ZNK10__cxxabiv120__si_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE+0x40>
- 800d9ce:      f885 9005       strb.w  r9, [r5, #5]
- 800d9d2:      e7d9            b.n     800d988 <_ZNK10__cxxabiv120__si_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE+0x34>
-
-0800d9d4 <_ZNK10__cxxabiv120__si_class_type_info11__do_upcastEPKNS_17__class_type_infoEPKvRNS1_15__upcast_resultE>:
- 800d9d4:      e92d 41f0       stmdb   sp!, {r4, r5, r6, r7, r8, lr}
- 800d9d8:      4607            mov     r7, r0
- 800d9da:      460c            mov     r4, r1
- 800d9dc:      4615            mov     r5, r2
- 800d9de:      461e            mov     r6, r3
- 800d9e0:      f7ff feca       bl      800d778 <_ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PKvRNS0_15__upcast_resultE>
- 800d9e4:      b108            cbz     r0, 800d9ea <_ZNK10__cxxabiv120__si_class_type_info11__do_upcastEPKNS_17__class_type_infoEPKvRNS1_15__upcast_resultE+0x16>
- 800d9e6:      e8bd 81f0       ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
- 800d9ea:      68b8            ldr     r0, [r7, #8]
- 800d9ec:      6807            ldr     r7, [r0, #0]
- 800d9ee:      4621            mov     r1, r4
- 800d9f0:      69bc            ldr     r4, [r7, #24]
- 800d9f2:      4633            mov     r3, r6
- 800d9f4:      462a            mov     r2, r5
- 800d9f6:      46a4            mov     ip, r4
- 800d9f8:      e8bd 41f0       ldmia.w sp!, {r4, r5, r6, r7, r8, lr}
- 800d9fc:      4760            bx      ip
- 800d9fe:      bf00            nop
-
-0800da00 <_ZdlPv>:
- 800da00:      f000 ba6c       b.w     800dedc <free>
-
-0800da04 <_ZNSt9type_infoD1Ev>:
- 800da04:      4770            bx      lr
- 800da06:      bf00            nop
-
-0800da08 <_ZNKSt9type_info14__is_pointer_pEv>:
- 800da08:      2000            movs    r0, #0
- 800da0a:      4770            bx      lr
-
-0800da0c <_ZNKSt9type_infoeqERKS_>:
- 800da0c:      4281            cmp     r1, r0
- 800da0e:      d00f            beq.n   800da30 <_ZNKSt9type_infoeqERKS_+0x24>
- 800da10:      b508            push    {r3, lr}
- 800da12:      6840            ldr     r0, [r0, #4]
- 800da14:      7803            ldrb    r3, [r0, #0]
- 800da16:      2b2a            cmp     r3, #42 ; 0x2a
- 800da18:      d00c            beq.n   800da34 <_ZNKSt9type_infoeqERKS_+0x28>
- 800da1a:      6849            ldr     r1, [r1, #4]
- 800da1c:      780b            ldrb    r3, [r1, #0]
- 800da1e:      2b2a            cmp     r3, #42 ; 0x2a
- 800da20:      bf08            it      eq
- 800da22:      3101            addeq   r1, #1
- 800da24:      f7f9 f9cc       bl      8006dc0 <strcmp>
- 800da28:      fab0 f080       clz     r0, r0
- 800da2c:      0940            lsrs    r0, r0, #5
- 800da2e:      bd08            pop     {r3, pc}
- 800da30:      2001            movs    r0, #1
- 800da32:      4770            bx      lr
- 800da34:      2000            movs    r0, #0
- 800da36:      bd08            pop     {r3, pc}
-
-0800da38 <abort>:
- 800da38:      b508            push    {r3, lr}
- 800da3a:      2006            movs    r0, #6
- 800da3c:      f000 fef2       bl      800e824 <raise>
- 800da40:      2001            movs    r0, #1
- 800da42:      f7fe fe63       bl      800c70c <_exit>
-       ...
-
-0800da48 <__errno>:
- 800da48:      4b01            ldr     r3, [pc, #4]    ; (800da50 <__errno+0x8>)
- 800da4a:      6818            ldr     r0, [r3, #0]
- 800da4c:      4770            bx      lr
- 800da4e:      bf00            nop
- 800da50:      20000014        .word   0x20000014
-
-0800da54 <_fputc_r>:
- 800da54:      b570            push    {r4, r5, r6, lr}
- 800da56:      460e            mov     r6, r1
- 800da58:      4614            mov     r4, r2
- 800da5a:      4605            mov     r5, r0
- 800da5c:      b118            cbz     r0, 800da66 <_fputc_r+0x12>
- 800da5e:      6b83            ldr     r3, [r0, #56]   ; 0x38
- 800da60:      b90b            cbnz    r3, 800da66 <_fputc_r+0x12>
- 800da62:      f003 f8a7       bl      8010bb4 <__sinit>
- 800da66:      6e63            ldr     r3, [r4, #100]  ; 0x64
- 800da68:      07d8            lsls    r0, r3, #31
- 800da6a:      d405            bmi.n   800da78 <_fputc_r+0x24>
- 800da6c:      89a3            ldrh    r3, [r4, #12]
- 800da6e:      0599            lsls    r1, r3, #22
- 800da70:      d402            bmi.n   800da78 <_fputc_r+0x24>
- 800da72:      6da0            ldr     r0, [r4, #88]   ; 0x58
- 800da74:      f000 fa28       bl      800dec8 <__retarget_lock_acquire_recursive>
- 800da78:      4622            mov     r2, r4
- 800da7a:      4628            mov     r0, r5
- 800da7c:      4631            mov     r1, r6
- 800da7e:      f000 fcb3       bl      800e3e8 <_putc_r>
- 800da82:      6e63            ldr     r3, [r4, #100]  ; 0x64
- 800da84:      07da            lsls    r2, r3, #31
- 800da86:      4605            mov     r5, r0
- 800da88:      d405            bmi.n   800da96 <_fputc_r+0x42>
- 800da8a:      89a3            ldrh    r3, [r4, #12]
- 800da8c:      059b            lsls    r3, r3, #22
- 800da8e:      d402            bmi.n   800da96 <_fputc_r+0x42>
- 800da90:      6da0            ldr     r0, [r4, #88]   ; 0x58
- 800da92:      f000 fa1a       bl      800deca <__retarget_lock_release_recursive>
- 800da96:      4628            mov     r0, r5
- 800da98:      bd70            pop     {r4, r5, r6, pc}
-       ...
-
-0800da9c <fputc>:
- 800da9c:      4b02            ldr     r3, [pc, #8]    ; (800daa8 <fputc+0xc>)
- 800da9e:      460a            mov     r2, r1
- 800daa0:      4601            mov     r1, r0
- 800daa2:      6818            ldr     r0, [r3, #0]
- 800daa4:      f7ff bfd6       b.w     800da54 <_fputc_r>
- 800daa8:      20000014        .word   0x20000014
-
-0800daac <_fputs_r>:
- 800daac:      b530            push    {r4, r5, lr}
- 800daae:      b087            sub     sp, #28
- 800dab0:      4605            mov     r5, r0
- 800dab2:      4608            mov     r0, r1
- 800dab4:      4614            mov     r4, r2
- 800dab6:      9101            str     r1, [sp, #4]
- 800dab8:      f7f9 f98c       bl      8006dd4 <strlen>
- 800dabc:      ab01            add     r3, sp, #4
- 800dabe:      9303            str     r3, [sp, #12]
- 800dac0:      2301            movs    r3, #1
- 800dac2:      9005            str     r0, [sp, #20]
- 800dac4:      9002            str     r0, [sp, #8]
- 800dac6:      9304            str     r3, [sp, #16]
- 800dac8:      b125            cbz     r5, 800dad4 <_fputs_r+0x28>
- 800daca:      6bab            ldr     r3, [r5, #56]   ; 0x38
- 800dacc:      b913            cbnz    r3, 800dad4 <_fputs_r+0x28>
- 800dace:      4628            mov     r0, r5
- 800dad0:      f003 f870       bl      8010bb4 <__sinit>
- 800dad4:      6e63            ldr     r3, [r4, #100]  ; 0x64
- 800dad6:      07db            lsls    r3, r3, #31
- 800dad8:      d405            bmi.n   800dae6 <_fputs_r+0x3a>
- 800dada:      89a3            ldrh    r3, [r4, #12]
- 800dadc:      0598            lsls    r0, r3, #22
- 800dade:      d402            bmi.n   800dae6 <_fputs_r+0x3a>
- 800dae0:      6da0            ldr     r0, [r4, #88]   ; 0x58
- 800dae2:      f000 f9f1       bl      800dec8 <__retarget_lock_acquire_recursive>
- 800dae6:      f9b4 300c       ldrsh.w r3, [r4, #12]
- 800daea:      0499            lsls    r1, r3, #18
- 800daec:      d406            bmi.n   800dafc <_fputs_r+0x50>
- 800daee:      f443 5300       orr.w   r3, r3, #8192   ; 0x2000
- 800daf2:      81a3            strh    r3, [r4, #12]
- 800daf4:      6e63            ldr     r3, [r4, #100]  ; 0x64
- 800daf6:      f423 5300       bic.w   r3, r3, #8192   ; 0x2000
- 800dafa:      6663            str     r3, [r4, #100]  ; 0x64
- 800dafc:      aa03            add     r2, sp, #12
- 800dafe:      4628            mov     r0, r5
- 800db00:      4621            mov     r1, r4
- 800db02:      f000 f815       bl      800db30 <__sfvwrite_r>
- 800db06:      6e63            ldr     r3, [r4, #100]  ; 0x64
- 800db08:      07da            lsls    r2, r3, #31
- 800db0a:      4605            mov     r5, r0
- 800db0c:      d405            bmi.n   800db1a <_fputs_r+0x6e>
- 800db0e:      89a3            ldrh    r3, [r4, #12]
- 800db10:      059b            lsls    r3, r3, #22
- 800db12:      d402            bmi.n   800db1a <_fputs_r+0x6e>
- 800db14:      6da0            ldr     r0, [r4, #88]   ; 0x58
- 800db16:      f000 f9d8       bl      800deca <__retarget_lock_release_recursive>
- 800db1a:      4628            mov     r0, r5
- 800db1c:      b007            add     sp, #28
- 800db1e:      bd30            pop     {r4, r5, pc}
-
-0800db20 <fputs>:
- 800db20:      4b02            ldr     r3, [pc, #8]    ; (800db2c <fputs+0xc>)
- 800db22:      460a            mov     r2, r1
- 800db24:      4601            mov     r1, r0
- 800db26:      6818            ldr     r0, [r3, #0]
- 800db28:      f7ff bfc0       b.w     800daac <_fputs_r>
- 800db2c:      20000014        .word   0x20000014
-
-0800db30 <__sfvwrite_r>:
- 800db30:      6893            ldr     r3, [r2, #8]
- 800db32:      e92d 4ff7       stmdb   sp!, {r0, r1, r2, r4, r5, r6, r7, r8, r9, sl, fp, lr}
- 800db36:      4680            mov     r8, r0
- 800db38:      460c            mov     r4, r1
- 800db3a:      4691            mov     r9, r2
- 800db3c:      b91b            cbnz    r3, 800db46 <__sfvwrite_r+0x16>
- 800db3e:      2000            movs    r0, #0
- 800db40:      b003            add     sp, #12
- 800db42:      e8bd 8ff0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
- 800db46:      898b            ldrh    r3, [r1, #12]
- 800db48:      0718            lsls    r0, r3, #28
- 800db4a:      d54f            bpl.n   800dbec <__sfvwrite_r+0xbc>
- 800db4c:      690b            ldr     r3, [r1, #16]
- 800db4e:      2b00            cmp     r3, #0
- 800db50:      d04c            beq.n   800dbec <__sfvwrite_r+0xbc>
- 800db52:      89a5            ldrh    r5, [r4, #12]
- 800db54:      f8d9 6000       ldr.w   r6, [r9]
- 800db58:      f015 0702       ands.w  r7, r5, #2
- 800db5c:      d169            bne.n   800dc32 <__sfvwrite_r+0x102>
- 800db5e:      f015 0501       ands.w  r5, r5, #1
- 800db62:      f000 809a       beq.w   800dc9a <__sfvwrite_r+0x16a>
- 800db66:      4638            mov     r0, r7
- 800db68:      46ba            mov     sl, r7
- 800db6a:      46bb            mov     fp, r7
- 800db6c:      f1bb 0f00       cmp.w   fp, #0
- 800db70:      f000 8103       beq.w   800dd7a <__sfvwrite_r+0x24a>
- 800db74:      b950            cbnz    r0, 800db8c <__sfvwrite_r+0x5c>
- 800db76:      465a            mov     r2, fp
- 800db78:      210a            movs    r1, #10
- 800db7a:      4650            mov     r0, sl
- 800db7c:      f7f9 f8d0       bl      8006d20 <memchr>
- 800db80:      2800            cmp     r0, #0
- 800db82:      f000 80ff       beq.w   800dd84 <__sfvwrite_r+0x254>
- 800db86:      3001            adds    r0, #1
- 800db88:      eba0 070a       sub.w   r7, r0, sl
- 800db8c:      6820            ldr     r0, [r4, #0]
- 800db8e:      6921            ldr     r1, [r4, #16]
- 800db90:      6962            ldr     r2, [r4, #20]
- 800db92:      455f            cmp     r7, fp
- 800db94:      463b            mov     r3, r7
- 800db96:      bf28            it      cs
- 800db98:      465b            movcs   r3, fp
- 800db9a:      4288            cmp     r0, r1
- 800db9c:      f240 80f5       bls.w   800dd8a <__sfvwrite_r+0x25a>
- 800dba0:      68a5            ldr     r5, [r4, #8]
- 800dba2:      4415            add     r5, r2
- 800dba4:      42ab            cmp     r3, r5
- 800dba6:      f340 80f0       ble.w   800dd8a <__sfvwrite_r+0x25a>
- 800dbaa:      4651            mov     r1, sl
- 800dbac:      462a            mov     r2, r5
- 800dbae:      f000 fbed       bl      800e38c <memmove>
- 800dbb2:      6823            ldr     r3, [r4, #0]
- 800dbb4:      442b            add     r3, r5
- 800dbb6:      6023            str     r3, [r4, #0]
- 800dbb8:      4621            mov     r1, r4
- 800dbba:      4640            mov     r0, r8
- 800dbbc:      f002 ff8e       bl      8010adc <_fflush_r>
- 800dbc0:      2800            cmp     r0, #0
- 800dbc2:      d165            bne.n   800dc90 <__sfvwrite_r+0x160>
- 800dbc4:      1b7f            subs    r7, r7, r5
- 800dbc6:      f040 80fa       bne.w   800ddbe <__sfvwrite_r+0x28e>
- 800dbca:      4621            mov     r1, r4
- 800dbcc:      4640            mov     r0, r8
- 800dbce:      f002 ff85       bl      8010adc <_fflush_r>
- 800dbd2:      2800            cmp     r0, #0
- 800dbd4:      d15c            bne.n   800dc90 <__sfvwrite_r+0x160>
- 800dbd6:      f8d9 3008       ldr.w   r3, [r9, #8]
- 800dbda:      44aa            add     sl, r5
- 800dbdc:      ebab 0b05       sub.w   fp, fp, r5
- 800dbe0:      1b5d            subs    r5, r3, r5
- 800dbe2:      f8c9 5008       str.w   r5, [r9, #8]
- 800dbe6:      2d00            cmp     r5, #0
- 800dbe8:      d1c0            bne.n   800db6c <__sfvwrite_r+0x3c>
- 800dbea:      e7a8            b.n     800db3e <__sfvwrite_r+0xe>
- 800dbec:      4621            mov     r1, r4
- 800dbee:      4640            mov     r0, r8
- 800dbf0:      f002 f8ba       bl      800fd68 <__swsetup_r>
- 800dbf4:      2800            cmp     r0, #0
- 800dbf6:      d0ac            beq.n   800db52 <__sfvwrite_r+0x22>
- 800dbf8:      f04f 30ff       mov.w   r0, #4294967295 ; 0xffffffff
- 800dbfc:      e7a0            b.n     800db40 <__sfvwrite_r+0x10>
- 800dbfe:      e9d6 a700       ldrd    sl, r7, [r6]
- 800dc02:      3608            adds    r6, #8
- 800dc04:      2f00            cmp     r7, #0
- 800dc06:      d0fa            beq.n   800dbfe <__sfvwrite_r+0xce>
- 800dc08:      455f            cmp     r7, fp
- 800dc0a:      463b            mov     r3, r7
- 800dc0c:      4652            mov     r2, sl
- 800dc0e:      bf28            it      cs
- 800dc10:      465b            movcs   r3, fp
- 800dc12:      69e1            ldr     r1, [r4, #28]
- 800dc14:      6a65            ldr     r5, [r4, #36]   ; 0x24
- 800dc16:      4640            mov     r0, r8
- 800dc18:      47a8            blx     r5
- 800dc1a:      2800            cmp     r0, #0
- 800dc1c:      dd38            ble.n   800dc90 <__sfvwrite_r+0x160>
- 800dc1e:      f8d9 3008       ldr.w   r3, [r9, #8]
- 800dc22:      4482            add     sl, r0
- 800dc24:      1a3f            subs    r7, r7, r0
- 800dc26:      1a18            subs    r0, r3, r0
- 800dc28:      f8c9 0008       str.w   r0, [r9, #8]
- 800dc2c:      2800            cmp     r0, #0
- 800dc2e:      d1e9            bne.n   800dc04 <__sfvwrite_r+0xd4>
- 800dc30:      e785            b.n     800db3e <__sfvwrite_r+0xe>
- 800dc32:      f04f 0a00       mov.w   sl, #0
- 800dc36:      4657            mov     r7, sl
- 800dc38:      f8df b18c       ldr.w   fp, [pc, #396]  ; 800ddc8 <__sfvwrite_r+0x298>
- 800dc3c:      e7e2            b.n     800dc04 <__sfvwrite_r+0xd4>
- 800dc3e:      e9d6 5a00       ldrd    r5, sl, [r6]
- 800dc42:      3608            adds    r6, #8
- 800dc44:      f1ba 0f00       cmp.w   sl, #0
- 800dc48:      d0f9            beq.n   800dc3e <__sfvwrite_r+0x10e>
- 800dc4a:      89a2            ldrh    r2, [r4, #12]
- 800dc4c:      68a3            ldr     r3, [r4, #8]
- 800dc4e:      6820            ldr     r0, [r4, #0]
- 800dc50:      0591            lsls    r1, r2, #22
- 800dc52:      d564            bpl.n   800dd1e <__sfvwrite_r+0x1ee>
- 800dc54:      4553            cmp     r3, sl
- 800dc56:      d836            bhi.n   800dcc6 <__sfvwrite_r+0x196>
- 800dc58:      f412 6f90       tst.w   r2, #1152       ; 0x480
- 800dc5c:      d033            beq.n   800dcc6 <__sfvwrite_r+0x196>
- 800dc5e:      6921            ldr     r1, [r4, #16]
- 800dc60:      6967            ldr     r7, [r4, #20]
- 800dc62:      eba0 0b01       sub.w   fp, r0, r1
- 800dc66:      2302            movs    r3, #2
- 800dc68:      eb07 0747       add.w   r7, r7, r7, lsl #1
- 800dc6c:      fb97 f7f3       sdiv    r7, r7, r3
- 800dc70:      f10b 0301       add.w   r3, fp, #1
- 800dc74:      4453            add     r3, sl
- 800dc76:      429f            cmp     r7, r3
- 800dc78:      bf38            it      cc
- 800dc7a:      461f            movcc   r7, r3
- 800dc7c:      0553            lsls    r3, r2, #21
- 800dc7e:      d53e            bpl.n   800dcfe <__sfvwrite_r+0x1ce>
- 800dc80:      4639            mov     r1, r7
- 800dc82:      4640            mov     r0, r8
- 800dc84:      f000 f932       bl      800deec <_malloc_r>
- 800dc88:      b948            cbnz    r0, 800dc9e <__sfvwrite_r+0x16e>
- 800dc8a:      230c            movs    r3, #12
- 800dc8c:      f8c8 3000       str.w   r3, [r8]
- 800dc90:      89a3            ldrh    r3, [r4, #12]
- 800dc92:      f043 0340       orr.w   r3, r3, #64     ; 0x40
- 800dc96:      81a3            strh    r3, [r4, #12]
- 800dc98:      e7ae            b.n     800dbf8 <__sfvwrite_r+0xc8>
- 800dc9a:      46aa            mov     sl, r5
- 800dc9c:      e7d2            b.n     800dc44 <__sfvwrite_r+0x114>
- 800dc9e:      465a            mov     r2, fp
- 800dca0:      6921            ldr     r1, [r4, #16]
- 800dca2:      9001            str     r0, [sp, #4]
- 800dca4:      f000 fb67       bl      800e376 <memcpy>
- 800dca8:      89a2            ldrh    r2, [r4, #12]
- 800dcaa:      9b01            ldr     r3, [sp, #4]
- 800dcac:      f422 6290       bic.w   r2, r2, #1152   ; 0x480
- 800dcb0:      f042 0280       orr.w   r2, r2, #128    ; 0x80
- 800dcb4:      81a2            strh    r2, [r4, #12]
- 800dcb6:      6123            str     r3, [r4, #16]
- 800dcb8:      6167            str     r7, [r4, #20]
- 800dcba:      445b            add     r3, fp
- 800dcbc:      eba7 070b       sub.w   r7, r7, fp
- 800dcc0:      6023            str     r3, [r4, #0]
- 800dcc2:      60a7            str     r7, [r4, #8]
- 800dcc4:      4653            mov     r3, sl
- 800dcc6:      4553            cmp     r3, sl
- 800dcc8:      bf28            it      cs
- 800dcca:      4653            movcs   r3, sl
- 800dccc:      461a            mov     r2, r3
- 800dcce:      4629            mov     r1, r5
- 800dcd0:      6820            ldr     r0, [r4, #0]
- 800dcd2:      9301            str     r3, [sp, #4]
- 800dcd4:      f000 fb5a       bl      800e38c <memmove>
- 800dcd8:      68a2            ldr     r2, [r4, #8]
- 800dcda:      9b01            ldr     r3, [sp, #4]
- 800dcdc:      1ad2            subs    r2, r2, r3
- 800dcde:      60a2            str     r2, [r4, #8]
- 800dce0:      6822            ldr     r2, [r4, #0]
- 800dce2:      4413            add     r3, r2
- 800dce4:      4657            mov     r7, sl
- 800dce6:      6023            str     r3, [r4, #0]
- 800dce8:      f8d9 3008       ldr.w   r3, [r9, #8]
- 800dcec:      443d            add     r5, r7
- 800dcee:      ebaa 0a07       sub.w   sl, sl, r7
- 800dcf2:      1bdf            subs    r7, r3, r7
- 800dcf4:      f8c9 7008       str.w   r7, [r9, #8]
- 800dcf8:      2f00            cmp     r7, #0
- 800dcfa:      d1a3            bne.n   800dc44 <__sfvwrite_r+0x114>
- 800dcfc:      e71f            b.n     800db3e <__sfvwrite_r+0xe>
- 800dcfe:      463a            mov     r2, r7
- 800dd00:      4640            mov     r0, r8
- 800dd02:      f000 fbad       bl      800e460 <_realloc_r>
- 800dd06:      4603            mov     r3, r0
- 800dd08:      2800            cmp     r0, #0
- 800dd0a:      d1d4            bne.n   800dcb6 <__sfvwrite_r+0x186>
- 800dd0c:      6921            ldr     r1, [r4, #16]
- 800dd0e:      4640            mov     r0, r8
- 800dd10:      f002 ffe0       bl      8010cd4 <_free_r>
- 800dd14:      89a3            ldrh    r3, [r4, #12]
- 800dd16:      f023 0380       bic.w   r3, r3, #128    ; 0x80
- 800dd1a:      81a3            strh    r3, [r4, #12]
- 800dd1c:      e7b5            b.n     800dc8a <__sfvwrite_r+0x15a>
- 800dd1e:      6922            ldr     r2, [r4, #16]
- 800dd20:      4282            cmp     r2, r0
- 800dd22:      d302            bcc.n   800dd2a <__sfvwrite_r+0x1fa>
- 800dd24:      6962            ldr     r2, [r4, #20]
- 800dd26:      4552            cmp     r2, sl
- 800dd28:      d916            bls.n   800dd58 <__sfvwrite_r+0x228>
- 800dd2a:      4553            cmp     r3, sl
- 800dd2c:      bf28            it      cs
- 800dd2e:      4653            movcs   r3, sl
- 800dd30:      461a            mov     r2, r3
- 800dd32:      4629            mov     r1, r5
- 800dd34:      461f            mov     r7, r3
- 800dd36:      f000 fb29       bl      800e38c <memmove>
- 800dd3a:      68a3            ldr     r3, [r4, #8]
- 800dd3c:      6822            ldr     r2, [r4, #0]
- 800dd3e:      1bdb            subs    r3, r3, r7
- 800dd40:      443a            add     r2, r7
- 800dd42:      60a3            str     r3, [r4, #8]
- 800dd44:      6022            str     r2, [r4, #0]
- 800dd46:      2b00            cmp     r3, #0
- 800dd48:      d1ce            bne.n   800dce8 <__sfvwrite_r+0x1b8>
- 800dd4a:      4621            mov     r1, r4
- 800dd4c:      4640            mov     r0, r8
- 800dd4e:      f002 fec5       bl      8010adc <_fflush_r>
- 800dd52:      2800            cmp     r0, #0
- 800dd54:      d0c8            beq.n   800dce8 <__sfvwrite_r+0x1b8>
- 800dd56:      e79b            b.n     800dc90 <__sfvwrite_r+0x160>
- 800dd58:      4b1a            ldr     r3, [pc, #104]  ; (800ddc4 <__sfvwrite_r+0x294>)
- 800dd5a:      6a67            ldr     r7, [r4, #36]   ; 0x24
- 800dd5c:      69e1            ldr     r1, [r4, #28]
- 800dd5e:      459a            cmp     sl, r3
- 800dd60:      bf94            ite     ls
- 800dd62:      4653            movls   r3, sl
- 800dd64:      f06f 4300       mvnhi.w r3, #2147483648 ; 0x80000000
- 800dd68:      4640            mov     r0, r8
- 800dd6a:      fb93 f3f2       sdiv    r3, r3, r2
- 800dd6e:      4353            muls    r3, r2
- 800dd70:      462a            mov     r2, r5
- 800dd72:      47b8            blx     r7
- 800dd74:      1e07            subs    r7, r0, #0
- 800dd76:      dcb7            bgt.n   800dce8 <__sfvwrite_r+0x1b8>
- 800dd78:      e78a            b.n     800dc90 <__sfvwrite_r+0x160>
- 800dd7a:      e9d6 ab00       ldrd    sl, fp, [r6]
- 800dd7e:      2000            movs    r0, #0
- 800dd80:      3608            adds    r6, #8
- 800dd82:      e6f3            b.n     800db6c <__sfvwrite_r+0x3c>
- 800dd84:      f10b 0701       add.w   r7, fp, #1
- 800dd88:      e700            b.n     800db8c <__sfvwrite_r+0x5c>
- 800dd8a:      429a            cmp     r2, r3
- 800dd8c:      dc09            bgt.n   800dda2 <__sfvwrite_r+0x272>
- 800dd8e:      6a65            ldr     r5, [r4, #36]   ; 0x24
- 800dd90:      69e1            ldr     r1, [r4, #28]
- 800dd92:      4613            mov     r3, r2
- 800dd94:      4640            mov     r0, r8
- 800dd96:      4652            mov     r2, sl
- 800dd98:      47a8            blx     r5
- 800dd9a:      1e05            subs    r5, r0, #0
- 800dd9c:      f73f af12       bgt.w   800dbc4 <__sfvwrite_r+0x94>
- 800dda0:      e776            b.n     800dc90 <__sfvwrite_r+0x160>
- 800dda2:      461a            mov     r2, r3
- 800dda4:      4651            mov     r1, sl
- 800dda6:      9301            str     r3, [sp, #4]
- 800dda8:      f000 faf0       bl      800e38c <memmove>
- 800ddac:      9b01            ldr     r3, [sp, #4]
- 800ddae:      68a2            ldr     r2, [r4, #8]
- 800ddb0:      1ad2            subs    r2, r2, r3
- 800ddb2:      60a2            str     r2, [r4, #8]
- 800ddb4:      6822            ldr     r2, [r4, #0]
- 800ddb6:      441a            add     r2, r3
- 800ddb8:      6022            str     r2, [r4, #0]
- 800ddba:      461d            mov     r5, r3
- 800ddbc:      e702            b.n     800dbc4 <__sfvwrite_r+0x94>
- 800ddbe:      2001            movs    r0, #1
- 800ddc0:      e709            b.n     800dbd6 <__sfvwrite_r+0xa6>
- 800ddc2:      bf00            nop
- 800ddc4:      7ffffffe        .word   0x7ffffffe
- 800ddc8:      7ffffc00        .word   0x7ffffc00
-
-0800ddcc <_fwrite_r>:
- 800ddcc:      e92d 41f0       stmdb   sp!, {r4, r5, r6, r7, r8, lr}
- 800ddd0:      b086            sub     sp, #24
- 800ddd2:      fb02 f503       mul.w   r5, r2, r3
- 800ddd6:      461e            mov     r6, r3
- 800ddd8:      ab01            add     r3, sp, #4
- 800ddda:      9303            str     r3, [sp, #12]
- 800dddc:      2301            movs    r3, #1
- 800ddde:      4617            mov     r7, r2
- 800dde0:      9c0c            ldr     r4, [sp, #48]   ; 0x30
- 800dde2:      9101            str     r1, [sp, #4]
- 800dde4:      9502            str     r5, [sp, #8]
- 800dde6:      9505            str     r5, [sp, #20]
- 800dde8:      9304            str     r3, [sp, #16]
- 800ddea:      4680            mov     r8, r0
- 800ddec:      b118            cbz     r0, 800ddf6 <_fwrite_r+0x2a>
- 800ddee:      6b83            ldr     r3, [r0, #56]   ; 0x38
- 800ddf0:      b90b            cbnz    r3, 800ddf6 <_fwrite_r+0x2a>
- 800ddf2:      f002 fedf       bl      8010bb4 <__sinit>
- 800ddf6:      6e63            ldr     r3, [r4, #100]  ; 0x64
- 800ddf8:      07d8            lsls    r0, r3, #31
- 800ddfa:      d405            bmi.n   800de08 <_fwrite_r+0x3c>
- 800ddfc:      89a3            ldrh    r3, [r4, #12]
- 800ddfe:      0599            lsls    r1, r3, #22
- 800de00:      d402            bmi.n   800de08 <_fwrite_r+0x3c>
- 800de02:      6da0            ldr     r0, [r4, #88]   ; 0x58
- 800de04:      f000 f860       bl      800dec8 <__retarget_lock_acquire_recursive>
- 800de08:      f9b4 300c       ldrsh.w r3, [r4, #12]
- 800de0c:      049a            lsls    r2, r3, #18
- 800de0e:      d406            bmi.n   800de1e <_fwrite_r+0x52>
- 800de10:      f443 5300       orr.w   r3, r3, #8192   ; 0x2000
- 800de14:      81a3            strh    r3, [r4, #12]
- 800de16:      6e63            ldr     r3, [r4, #100]  ; 0x64
- 800de18:      f423 5300       bic.w   r3, r3, #8192   ; 0x2000
- 800de1c:      6663            str     r3, [r4, #100]  ; 0x64
- 800de1e:      aa03            add     r2, sp, #12
- 800de20:      4621            mov     r1, r4
- 800de22:      4640            mov     r0, r8
- 800de24:      f7ff fe84       bl      800db30 <__sfvwrite_r>
- 800de28:      6e63            ldr     r3, [r4, #100]  ; 0x64
- 800de2a:      b958            cbnz    r0, 800de44 <_fwrite_r+0x78>
- 800de2c:      07d8            lsls    r0, r3, #31
- 800de2e:      d405            bmi.n   800de3c <_fwrite_r+0x70>
- 800de30:      89a3            ldrh    r3, [r4, #12]
- 800de32:      0599            lsls    r1, r3, #22
- 800de34:      d402            bmi.n   800de3c <_fwrite_r+0x70>
- 800de36:      6da0            ldr     r0, [r4, #88]   ; 0x58
- 800de38:      f000 f847       bl      800deca <__retarget_lock_release_recursive>
- 800de3c:      4630            mov     r0, r6
- 800de3e:      b006            add     sp, #24
- 800de40:      e8bd 81f0       ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
- 800de44:      07da            lsls    r2, r3, #31
- 800de46:      d405            bmi.n   800de54 <_fwrite_r+0x88>
- 800de48:      89a3            ldrh    r3, [r4, #12]
- 800de4a:      059b            lsls    r3, r3, #22
- 800de4c:      d402            bmi.n   800de54 <_fwrite_r+0x88>
- 800de4e:      6da0            ldr     r0, [r4, #88]   ; 0x58
- 800de50:      f000 f83b       bl      800deca <__retarget_lock_release_recursive>
- 800de54:      9b05            ldr     r3, [sp, #20]
- 800de56:      1aed            subs    r5, r5, r3
- 800de58:      fbb5 f6f7       udiv    r6, r5, r7
- 800de5c:      e7ee            b.n     800de3c <_fwrite_r+0x70>
-       ...
-
-0800de60 <fwrite>:
- 800de60:      b507            push    {r0, r1, r2, lr}
- 800de62:      9300            str     r3, [sp, #0]
- 800de64:      4613            mov     r3, r2
- 800de66:      460a            mov     r2, r1
- 800de68:      4601            mov     r1, r0
- 800de6a:      4803            ldr     r0, [pc, #12]   ; (800de78 <fwrite+0x18>)
- 800de6c:      6800            ldr     r0, [r0, #0]
- 800de6e:      f7ff ffad       bl      800ddcc <_fwrite_r>
- 800de72:      b003            add     sp, #12
- 800de74:      f85d fb04       ldr.w   pc, [sp], #4
- 800de78:      20000014        .word   0x20000014
-
-0800de7c <__libc_init_array>:
- 800de7c:      b570            push    {r4, r5, r6, lr}
- 800de7e:      4e0d            ldr     r6, [pc, #52]   ; (800deb4 <__libc_init_array+0x38>)
- 800de80:      4c0d            ldr     r4, [pc, #52]   ; (800deb8 <__libc_init_array+0x3c>)
- 800de82:      1ba4            subs    r4, r4, r6
- 800de84:      10a4            asrs    r4, r4, #2
- 800de86:      2500            movs    r5, #0
- 800de88:      42a5            cmp     r5, r4
- 800de8a:      d109            bne.n   800dea0 <__libc_init_array+0x24>
- 800de8c:      4e0b            ldr     r6, [pc, #44]   ; (800debc <__libc_init_array+0x40>)
- 800de8e:      4c0c            ldr     r4, [pc, #48]   ; (800dec0 <__libc_init_array+0x44>)
- 800de90:      f003 fd82       bl      8011998 <_init>
- 800de94:      1ba4            subs    r4, r4, r6
- 800de96:      10a4            asrs    r4, r4, #2
- 800de98:      2500            movs    r5, #0
- 800de9a:      42a5            cmp     r5, r4
- 800de9c:      d105            bne.n   800deaa <__libc_init_array+0x2e>
- 800de9e:      bd70            pop     {r4, r5, r6, pc}
- 800dea0:      f856 3025       ldr.w   r3, [r6, r5, lsl #2]
- 800dea4:      4798            blx     r3
- 800dea6:      3501            adds    r5, #1
- 800dea8:      e7ee            b.n     800de88 <__libc_init_array+0xc>
- 800deaa:      f856 3025       ldr.w   r3, [r6, r5, lsl #2]
- 800deae:      4798            blx     r3
- 800deb0:      3501            adds    r5, #1
- 800deb2:      e7f2            b.n     800de9a <__libc_init_array+0x1e>
- 800deb4:      08013328        .word   0x08013328
- 800deb8:      08013328        .word   0x08013328
- 800debc:      08013328        .word   0x08013328
- 800dec0:      08013334        .word   0x08013334
-
-0800dec4 <__retarget_lock_init_recursive>:
- 800dec4:      4770            bx      lr
-
-0800dec6 <__retarget_lock_close_recursive>:
- 800dec6:      4770            bx      lr
-
-0800dec8 <__retarget_lock_acquire_recursive>:
- 800dec8:      4770            bx      lr
-
-0800deca <__retarget_lock_release_recursive>:
- 800deca:      4770            bx      lr
-
-0800decc <malloc>:
- 800decc:      4b02            ldr     r3, [pc, #8]    ; (800ded8 <malloc+0xc>)
- 800dece:      4601            mov     r1, r0
- 800ded0:      6818            ldr     r0, [r3, #0]
- 800ded2:      f000 b80b       b.w     800deec <_malloc_r>
- 800ded6:      bf00            nop
- 800ded8:      20000014        .word   0x20000014
-
-0800dedc <free>:
- 800dedc:      4b02            ldr     r3, [pc, #8]    ; (800dee8 <free+0xc>)
- 800dede:      4601            mov     r1, r0
- 800dee0:      6818            ldr     r0, [r3, #0]
- 800dee2:      f002 bef7       b.w     8010cd4 <_free_r>
- 800dee6:      bf00            nop
- 800dee8:      20000014        .word   0x20000014
-
-0800deec <_malloc_r>:
- 800deec:      e92d 4ff7       stmdb   sp!, {r0, r1, r2, r4, r5, r6, r7, r8, r9, sl, fp, lr}
- 800def0:      f101 050b       add.w   r5, r1, #11
- 800def4:      2d16            cmp     r5, #22
- 800def6:      4606            mov     r6, r0
- 800def8:      d906            bls.n   800df08 <_malloc_r+0x1c>
- 800defa:      f035 0507       bics.w  r5, r5, #7
- 800defe:      d504            bpl.n   800df0a <_malloc_r+0x1e>
- 800df00:      230c            movs    r3, #12
- 800df02:      6033            str     r3, [r6, #0]
- 800df04:      2400            movs    r4, #0
- 800df06:      e1a8            b.n     800e25a <_malloc_r+0x36e>
- 800df08:      2510            movs    r5, #16
- 800df0a:      428d            cmp     r5, r1
- 800df0c:      d3f8            bcc.n   800df00 <_malloc_r+0x14>
- 800df0e:      4630            mov     r0, r6
- 800df10:      f000 fa5e       bl      800e3d0 <__malloc_lock>
- 800df14:      f5b5 7ffc       cmp.w   r5, #504        ; 0x1f8
- 800df18:      4fc0            ldr     r7, [pc, #768]  ; (800e21c <_malloc_r+0x330>)
- 800df1a:      d238            bcs.n   800df8e <_malloc_r+0xa2>
- 800df1c:      f105 0208       add.w   r2, r5, #8
- 800df20:      443a            add     r2, r7
- 800df22:      f1a2 0108       sub.w   r1, r2, #8
- 800df26:      6854            ldr     r4, [r2, #4]
- 800df28:      428c            cmp     r4, r1
- 800df2a:      ea4f 03d5       mov.w   r3, r5, lsr #3
- 800df2e:      d102            bne.n   800df36 <_malloc_r+0x4a>
- 800df30:      68d4            ldr     r4, [r2, #12]
- 800df32:      42a2            cmp     r2, r4
- 800df34:      d010            beq.n   800df58 <_malloc_r+0x6c>
- 800df36:      6863            ldr     r3, [r4, #4]
- 800df38:      e9d4 1202       ldrd    r1, r2, [r4, #8]
- 800df3c:      f023 0303       bic.w   r3, r3, #3
- 800df40:      60ca            str     r2, [r1, #12]
- 800df42:      4423            add     r3, r4
- 800df44:      6091            str     r1, [r2, #8]
- 800df46:      685a            ldr     r2, [r3, #4]
- 800df48:      f042 0201       orr.w   r2, r2, #1
- 800df4c:      605a            str     r2, [r3, #4]
- 800df4e:      4630            mov     r0, r6
- 800df50:      f000 fa44       bl      800e3dc <__malloc_unlock>
- 800df54:      3408            adds    r4, #8
- 800df56:      e180            b.n     800e25a <_malloc_r+0x36e>
- 800df58:      3302            adds    r3, #2
- 800df5a:      4ab1            ldr     r2, [pc, #708]  ; (800e220 <_malloc_r+0x334>)
- 800df5c:      693c            ldr     r4, [r7, #16]
- 800df5e:      4294            cmp     r4, r2
- 800df60:      4611            mov     r1, r2
- 800df62:      d075            beq.n   800e050 <_malloc_r+0x164>
- 800df64:      6860            ldr     r0, [r4, #4]
- 800df66:      f020 0c03       bic.w   ip, r0, #3
- 800df6a:      ebac 0005       sub.w   r0, ip, r5
- 800df6e:      280f            cmp     r0, #15
- 800df70:      dd48            ble.n   800e004 <_malloc_r+0x118>
- 800df72:      1963            adds    r3, r4, r5
- 800df74:      f045 0501       orr.w   r5, r5, #1
- 800df78:      6065            str     r5, [r4, #4]
- 800df7a:      e9c7 3304       strd    r3, r3, [r7, #16]
- 800df7e:      e9c3 2202       strd    r2, r2, [r3, #8]
- 800df82:      f040 0201       orr.w   r2, r0, #1
- 800df86:      605a            str     r2, [r3, #4]
- 800df88:      f844 000c       str.w   r0, [r4, ip]
- 800df8c:      e7df            b.n     800df4e <_malloc_r+0x62>
- 800df8e:      0a6b            lsrs    r3, r5, #9
- 800df90:      d02a            beq.n   800dfe8 <_malloc_r+0xfc>
- 800df92:      2b04            cmp     r3, #4
- 800df94:      d812            bhi.n   800dfbc <_malloc_r+0xd0>
- 800df96:      09ab            lsrs    r3, r5, #6
- 800df98:      3338            adds    r3, #56 ; 0x38
- 800df9a:      1c5a            adds    r2, r3, #1
- 800df9c:      eb07 02c2       add.w   r2, r7, r2, lsl #3
- 800dfa0:      f1a2 0c08       sub.w   ip, r2, #8
- 800dfa4:      6854            ldr     r4, [r2, #4]
- 800dfa6:      4564            cmp     r4, ip
- 800dfa8:      d006            beq.n   800dfb8 <_malloc_r+0xcc>
- 800dfaa:      6862            ldr     r2, [r4, #4]
- 800dfac:      f022 0203       bic.w   r2, r2, #3
- 800dfb0:      1b50            subs    r0, r2, r5
- 800dfb2:      280f            cmp     r0, #15
- 800dfb4:      dd1c            ble.n   800dff0 <_malloc_r+0x104>
- 800dfb6:      3b01            subs    r3, #1
- 800dfb8:      3301            adds    r3, #1
- 800dfba:      e7ce            b.n     800df5a <_malloc_r+0x6e>
- 800dfbc:      2b14            cmp     r3, #20
- 800dfbe:      d801            bhi.n   800dfc4 <_malloc_r+0xd8>
- 800dfc0:      335b            adds    r3, #91 ; 0x5b
- 800dfc2:      e7ea            b.n     800df9a <_malloc_r+0xae>
- 800dfc4:      2b54            cmp     r3, #84 ; 0x54
- 800dfc6:      d802            bhi.n   800dfce <_malloc_r+0xe2>
- 800dfc8:      0b2b            lsrs    r3, r5, #12
- 800dfca:      336e            adds    r3, #110        ; 0x6e
- 800dfcc:      e7e5            b.n     800df9a <_malloc_r+0xae>
- 800dfce:      f5b3 7faa       cmp.w   r3, #340        ; 0x154
- 800dfd2:      d802            bhi.n   800dfda <_malloc_r+0xee>
- 800dfd4:      0beb            lsrs    r3, r5, #15
- 800dfd6:      3377            adds    r3, #119        ; 0x77
- 800dfd8:      e7df            b.n     800df9a <_malloc_r+0xae>
- 800dfda:      f240 5254       movw    r2, #1364       ; 0x554
- 800dfde:      4293            cmp     r3, r2
- 800dfe0:      d804            bhi.n   800dfec <_malloc_r+0x100>
- 800dfe2:      0cab            lsrs    r3, r5, #18
- 800dfe4:      337c            adds    r3, #124        ; 0x7c
- 800dfe6:      e7d8            b.n     800df9a <_malloc_r+0xae>
- 800dfe8:      233f            movs    r3, #63 ; 0x3f
- 800dfea:      e7d6            b.n     800df9a <_malloc_r+0xae>
- 800dfec:      237e            movs    r3, #126        ; 0x7e
- 800dfee:      e7d4            b.n     800df9a <_malloc_r+0xae>
- 800dff0:      2800            cmp     r0, #0
- 800dff2:      68e1            ldr     r1, [r4, #12]
- 800dff4:      db04            blt.n   800e000 <_malloc_r+0x114>
- 800dff6:      68a3            ldr     r3, [r4, #8]
- 800dff8:      60d9            str     r1, [r3, #12]
- 800dffa:      608b            str     r3, [r1, #8]
- 800dffc:      18a3            adds    r3, r4, r2
- 800dffe:      e7a2            b.n     800df46 <_malloc_r+0x5a>
- 800e000:      460c            mov     r4, r1
- 800e002:      e7d0            b.n     800dfa6 <_malloc_r+0xba>
- 800e004:      2800            cmp     r0, #0
- 800e006:      e9c7 2204       strd    r2, r2, [r7, #16]
- 800e00a:      db07            blt.n   800e01c <_malloc_r+0x130>
- 800e00c:      44a4            add     ip, r4
- 800e00e:      f8dc 3004       ldr.w   r3, [ip, #4]
- 800e012:      f043 0301       orr.w   r3, r3, #1
- 800e016:      f8cc 3004       str.w   r3, [ip, #4]
- 800e01a:      e798            b.n     800df4e <_malloc_r+0x62>
- 800e01c:      f5bc 7f00       cmp.w   ip, #512        ; 0x200
- 800e020:      6878            ldr     r0, [r7, #4]
- 800e022:      f080 8099       bcs.w   800e158 <_malloc_r+0x26c>
- 800e026:      ea4f 0cdc       mov.w   ip, ip, lsr #3
- 800e02a:      ea4f 0eac       mov.w   lr, ip, asr #2
- 800e02e:      2201            movs    r2, #1
- 800e030:      f10c 0c01       add.w   ip, ip, #1
- 800e034:      fa02 f20e       lsl.w   r2, r2, lr
- 800e038:      4310            orrs    r0, r2
- 800e03a:      6078            str     r0, [r7, #4]
- 800e03c:      eb07 02cc       add.w   r2, r7, ip, lsl #3
- 800e040:      f857 003c       ldr.w   r0, [r7, ip, lsl #3]
- 800e044:      3a08            subs    r2, #8
- 800e046:      e9c4 0202       strd    r0, r2, [r4, #8]
- 800e04a:      f847 403c       str.w   r4, [r7, ip, lsl #3]
- 800e04e:      60c4            str     r4, [r0, #12]
- 800e050:      2001            movs    r0, #1
- 800e052:      109a            asrs    r2, r3, #2
- 800e054:      fa00 f202       lsl.w   r2, r0, r2
- 800e058:      6878            ldr     r0, [r7, #4]
- 800e05a:      4290            cmp     r0, r2
- 800e05c:      d326            bcc.n   800e0ac <_malloc_r+0x1c0>
- 800e05e:      4210            tst     r0, r2
- 800e060:      d106            bne.n   800e070 <_malloc_r+0x184>
- 800e062:      f023 0303       bic.w   r3, r3, #3
- 800e066:      0052            lsls    r2, r2, #1
- 800e068:      4210            tst     r0, r2
- 800e06a:      f103 0304       add.w   r3, r3, #4
- 800e06e:      d0fa            beq.n   800e066 <_malloc_r+0x17a>
- 800e070:      eb07 0cc3       add.w   ip, r7, r3, lsl #3
- 800e074:      46e1            mov     r9, ip
- 800e076:      4698            mov     r8, r3
- 800e078:      f8d9 400c       ldr.w   r4, [r9, #12]
- 800e07c:      454c            cmp     r4, r9
- 800e07e:      f040 80af       bne.w   800e1e0 <_malloc_r+0x2f4>
- 800e082:      f108 0801       add.w   r8, r8, #1
- 800e086:      f018 0f03       tst.w   r8, #3
- 800e08a:      f109 0908       add.w   r9, r9, #8
- 800e08e:      d1f3            bne.n   800e078 <_malloc_r+0x18c>
- 800e090:      0798            lsls    r0, r3, #30
- 800e092:      f040 80e8       bne.w   800e266 <_malloc_r+0x37a>
- 800e096:      687b            ldr     r3, [r7, #4]
- 800e098:      ea23 0302       bic.w   r3, r3, r2
- 800e09c:      607b            str     r3, [r7, #4]
- 800e09e:      6878            ldr     r0, [r7, #4]
- 800e0a0:      0052            lsls    r2, r2, #1
- 800e0a2:      4290            cmp     r0, r2
- 800e0a4:      d302            bcc.n   800e0ac <_malloc_r+0x1c0>
- 800e0a6:      2a00            cmp     r2, #0
- 800e0a8:      f040 80ec       bne.w   800e284 <_malloc_r+0x398>
- 800e0ac:      f8d7 a008       ldr.w   sl, [r7, #8]
- 800e0b0:      f8da 4004       ldr.w   r4, [sl, #4]
- 800e0b4:      f024 0203       bic.w   r2, r4, #3
- 800e0b8:      42aa            cmp     r2, r5
- 800e0ba:      d303            bcc.n   800e0c4 <_malloc_r+0x1d8>
- 800e0bc:      1b53            subs    r3, r2, r5
- 800e0be:      2b0f            cmp     r3, #15
- 800e0c0:      f300 8140       bgt.w   800e344 <_malloc_r+0x458>
- 800e0c4:      4b57            ldr     r3, [pc, #348]  ; (800e224 <_malloc_r+0x338>)
- 800e0c6:      9200            str     r2, [sp, #0]
- 800e0c8:      2008            movs    r0, #8
- 800e0ca:      681c            ldr     r4, [r3, #0]
- 800e0cc:      f001 fdd8       bl      800fc80 <sysconf>
- 800e0d0:      4b55            ldr     r3, [pc, #340]  ; (800e228 <_malloc_r+0x33c>)
- 800e0d2:      9a00            ldr     r2, [sp, #0]
- 800e0d4:      6819            ldr     r1, [r3, #0]
- 800e0d6:      3410            adds    r4, #16
- 800e0d8:      3101            adds    r1, #1
- 800e0da:      442c            add     r4, r5
- 800e0dc:      bf1f            itttt   ne
- 800e0de:      f104 34ff       addne.w r4, r4, #4294967295     ; 0xffffffff
- 800e0e2:      1824            addne   r4, r4, r0
- 800e0e4:      4241            negne   r1, r0
- 800e0e6:      400c            andne   r4, r1
- 800e0e8:      4680            mov     r8, r0
- 800e0ea:      4621            mov     r1, r4
- 800e0ec:      4630            mov     r0, r6
- 800e0ee:      e9cd 2300       strd    r2, r3, [sp]
- 800e0f2:      f000 fb5d       bl      800e7b0 <_sbrk_r>
- 800e0f6:      f1b0 3fff       cmp.w   r0, #4294967295 ; 0xffffffff
- 800e0fa:      4683            mov     fp, r0
- 800e0fc:      f000 80fb       beq.w   800e2f6 <_malloc_r+0x40a>
- 800e100:      9a00            ldr     r2, [sp, #0]
- 800e102:      9b01            ldr     r3, [sp, #4]
- 800e104:      eb0a 0102       add.w   r1, sl, r2
- 800e108:      4281            cmp     r1, r0
- 800e10a:      d902            bls.n   800e112 <_malloc_r+0x226>
- 800e10c:      45ba            cmp     sl, r7
- 800e10e:      f040 80f2       bne.w   800e2f6 <_malloc_r+0x40a>
- 800e112:      f8df 9120       ldr.w   r9, [pc, #288]  ; 800e234 <_malloc_r+0x348>
- 800e116:      f8d9 0000       ldr.w   r0, [r9]
- 800e11a:      4559            cmp     r1, fp
- 800e11c:      eb00 0e04       add.w   lr, r0, r4
- 800e120:      f8c9 e000       str.w   lr, [r9]
- 800e124:      f108 3cff       add.w   ip, r8, #4294967295     ; 0xffffffff
- 800e128:      f040 80ae       bne.w   800e288 <_malloc_r+0x39c>
- 800e12c:      ea11 0f0c       tst.w   r1, ip
- 800e130:      f040 80aa       bne.w   800e288 <_malloc_r+0x39c>
- 800e134:      68bb            ldr     r3, [r7, #8]
- 800e136:      4414            add     r4, r2
- 800e138:      f044 0401       orr.w   r4, r4, #1
- 800e13c:      605c            str     r4, [r3, #4]
- 800e13e:      4a3b            ldr     r2, [pc, #236]  ; (800e22c <_malloc_r+0x340>)
- 800e140:      f8d9 3000       ldr.w   r3, [r9]
- 800e144:      6811            ldr     r1, [r2, #0]
- 800e146:      428b            cmp     r3, r1
- 800e148:      bf88            it      hi
- 800e14a:      6013            strhi   r3, [r2, #0]
- 800e14c:      4a38            ldr     r2, [pc, #224]  ; (800e230 <_malloc_r+0x344>)
- 800e14e:      6811            ldr     r1, [r2, #0]
- 800e150:      428b            cmp     r3, r1
- 800e152:      bf88            it      hi
- 800e154:      6013            strhi   r3, [r2, #0]
- 800e156:      e0ce            b.n     800e2f6 <_malloc_r+0x40a>
- 800e158:      ea4f 225c       mov.w   r2, ip, lsr #9
- 800e15c:      2a04            cmp     r2, #4
- 800e15e:      d818            bhi.n   800e192 <_malloc_r+0x2a6>
- 800e160:      ea4f 129c       mov.w   r2, ip, lsr #6
- 800e164:      3238            adds    r2, #56 ; 0x38
- 800e166:      f102 0e01       add.w   lr, r2, #1
- 800e16a:      eb07 08c2       add.w   r8, r7, r2, lsl #3
- 800e16e:      f857 e03e       ldr.w   lr, [r7, lr, lsl #3]
- 800e172:      45f0            cmp     r8, lr
- 800e174:      d12b            bne.n   800e1ce <_malloc_r+0x2e2>
- 800e176:      1092            asrs    r2, r2, #2
- 800e178:      f04f 0c01       mov.w   ip, #1
- 800e17c:      fa0c f202       lsl.w   r2, ip, r2
- 800e180:      4310            orrs    r0, r2
- 800e182:      6078            str     r0, [r7, #4]
- 800e184:      e9c4 e802       strd    lr, r8, [r4, #8]
- 800e188:      f8c8 4008       str.w   r4, [r8, #8]
- 800e18c:      f8ce 400c       str.w   r4, [lr, #12]
- 800e190:      e75e            b.n     800e050 <_malloc_r+0x164>
- 800e192:      2a14            cmp     r2, #20
- 800e194:      d801            bhi.n   800e19a <_malloc_r+0x2ae>
- 800e196:      325b            adds    r2, #91 ; 0x5b
- 800e198:      e7e5            b.n     800e166 <_malloc_r+0x27a>
- 800e19a:      2a54            cmp     r2, #84 ; 0x54
- 800e19c:      d803            bhi.n   800e1a6 <_malloc_r+0x2ba>
- 800e19e:      ea4f 321c       mov.w   r2, ip, lsr #12
- 800e1a2:      326e            adds    r2, #110        ; 0x6e
- 800e1a4:      e7df            b.n     800e166 <_malloc_r+0x27a>
- 800e1a6:      f5b2 7faa       cmp.w   r2, #340        ; 0x154
- 800e1aa:      d803            bhi.n   800e1b4 <_malloc_r+0x2c8>
- 800e1ac:      ea4f 32dc       mov.w   r2, ip, lsr #15
- 800e1b0:      3277            adds    r2, #119        ; 0x77
- 800e1b2:      e7d8            b.n     800e166 <_malloc_r+0x27a>
- 800e1b4:      f240 5e54       movw    lr, #1364       ; 0x554
- 800e1b8:      4572            cmp     r2, lr
- 800e1ba:      bf9a            itte    ls
- 800e1bc:      ea4f 429c       movls.w r2, ip, lsr #18
- 800e1c0:      327c            addls   r2, #124        ; 0x7c
- 800e1c2:      227e            movhi   r2, #126        ; 0x7e
- 800e1c4:      e7cf            b.n     800e166 <_malloc_r+0x27a>
- 800e1c6:      f8de e008       ldr.w   lr, [lr, #8]
- 800e1ca:      45f0            cmp     r8, lr
- 800e1cc:      d005            beq.n   800e1da <_malloc_r+0x2ee>
- 800e1ce:      f8de 2004       ldr.w   r2, [lr, #4]
- 800e1d2:      f022 0203       bic.w   r2, r2, #3
- 800e1d6:      4562            cmp     r2, ip
- 800e1d8:      d8f5            bhi.n   800e1c6 <_malloc_r+0x2da>
- 800e1da:      f8de 800c       ldr.w   r8, [lr, #12]
- 800e1de:      e7d1            b.n     800e184 <_malloc_r+0x298>
- 800e1e0:      6860            ldr     r0, [r4, #4]
- 800e1e2:      f8d4 e00c       ldr.w   lr, [r4, #12]
- 800e1e6:      f020 0003       bic.w   r0, r0, #3
- 800e1ea:      eba0 0a05       sub.w   sl, r0, r5
- 800e1ee:      f1ba 0f0f       cmp.w   sl, #15
- 800e1f2:      dd21            ble.n   800e238 <_malloc_r+0x34c>
- 800e1f4:      68a2            ldr     r2, [r4, #8]
- 800e1f6:      1963            adds    r3, r4, r5
- 800e1f8:      f045 0501       orr.w   r5, r5, #1
- 800e1fc:      6065            str     r5, [r4, #4]
- 800e1fe:      f8c2 e00c       str.w   lr, [r2, #12]
- 800e202:      f8ce 2008       str.w   r2, [lr, #8]
- 800e206:      f04a 0201       orr.w   r2, sl, #1
- 800e20a:      e9c7 3304       strd    r3, r3, [r7, #16]
- 800e20e:      e9c3 1102       strd    r1, r1, [r3, #8]
- 800e212:      605a            str     r2, [r3, #4]
- 800e214:      f844 a000       str.w   sl, [r4, r0]
- 800e218:      e699            b.n     800df4e <_malloc_r+0x62>
- 800e21a:      bf00            nop
- 800e21c:      20000440        .word   0x20000440
- 800e220:      20000448        .word   0x20000448
- 800e224:      20000af4        .word   0x20000af4
- 800e228:      20000848        .word   0x20000848
- 800e22c:      20000aec        .word   0x20000aec
- 800e230:      20000af0        .word   0x20000af0
- 800e234:      20000ac4        .word   0x20000ac4
- 800e238:      f1ba 0f00       cmp.w   sl, #0
- 800e23c:      db11            blt.n   800e262 <_malloc_r+0x376>
- 800e23e:      4420            add     r0, r4
- 800e240:      6843            ldr     r3, [r0, #4]
- 800e242:      f043 0301       orr.w   r3, r3, #1
- 800e246:      6043            str     r3, [r0, #4]
- 800e248:      f854 3f08       ldr.w   r3, [r4, #8]!
- 800e24c:      4630            mov     r0, r6
- 800e24e:      f8c3 e00c       str.w   lr, [r3, #12]
- 800e252:      f8ce 3008       str.w   r3, [lr, #8]
- 800e256:      f000 f8c1       bl      800e3dc <__malloc_unlock>
- 800e25a:      4620            mov     r0, r4
- 800e25c:      b003            add     sp, #12
- 800e25e:      e8bd 8ff0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
- 800e262:      4674            mov     r4, lr
- 800e264:      e70a            b.n     800e07c <_malloc_r+0x190>
- 800e266:      f1ac 0008       sub.w   r0, ip, #8
- 800e26a:      f8dc c000       ldr.w   ip, [ip]
- 800e26e:      4584            cmp     ip, r0
- 800e270:      f103 33ff       add.w   r3, r3, #4294967295     ; 0xffffffff
- 800e274:      f43f af0c       beq.w   800e090 <_malloc_r+0x1a4>
- 800e278:      e711            b.n     800e09e <_malloc_r+0x1b2>
- 800e27a:      3304            adds    r3, #4
- 800e27c:      0052            lsls    r2, r2, #1
- 800e27e:      4210            tst     r0, r2
- 800e280:      d0fb            beq.n   800e27a <_malloc_r+0x38e>
- 800e282:      e6f5            b.n     800e070 <_malloc_r+0x184>
- 800e284:      4643            mov     r3, r8
- 800e286:      e7fa            b.n     800e27e <_malloc_r+0x392>
- 800e288:      6818            ldr     r0, [r3, #0]
- 800e28a:      9200            str     r2, [sp, #0]
- 800e28c:      3001            adds    r0, #1
- 800e28e:      bf1b            ittet   ne
- 800e290:      ebab 0101       subne.w r1, fp, r1
- 800e294:      4471            addne   r1, lr
- 800e296:      f8c3 b000       streq.w fp, [r3]
- 800e29a:      f8c9 1000       strne.w r1, [r9]
- 800e29e:      f01b 0307       ands.w  r3, fp, #7
- 800e2a2:      bf1c            itt     ne
- 800e2a4:      f1c3 0308       rsbne   r3, r3, #8
- 800e2a8:      449b            addne   fp, r3
- 800e2aa:      445c            add     r4, fp
- 800e2ac:      4498            add     r8, r3
- 800e2ae:      ea04 030c       and.w   r3, r4, ip
- 800e2b2:      eba8 0803       sub.w   r8, r8, r3
- 800e2b6:      4641            mov     r1, r8
- 800e2b8:      4630            mov     r0, r6
- 800e2ba:      f000 fa79       bl      800e7b0 <_sbrk_r>
- 800e2be:      1c43            adds    r3, r0, #1
- 800e2c0:      bf04            itt     eq
- 800e2c2:      4658            moveq   r0, fp
- 800e2c4:      f04f 0800       moveq.w r8, #0
- 800e2c8:      f8d9 3000       ldr.w   r3, [r9]
- 800e2cc:      f8c7 b008       str.w   fp, [r7, #8]
- 800e2d0:      eba0 000b       sub.w   r0, r0, fp
- 800e2d4:      4440            add     r0, r8
- 800e2d6:      4443            add     r3, r8
- 800e2d8:      f040 0001       orr.w   r0, r0, #1
- 800e2dc:      45ba            cmp     sl, r7
- 800e2de:      9a00            ldr     r2, [sp, #0]
- 800e2e0:      f8c9 3000       str.w   r3, [r9]
- 800e2e4:      f8cb 0004       str.w   r0, [fp, #4]
- 800e2e8:      f43f af29       beq.w   800e13e <_malloc_r+0x252>
- 800e2ec:      2a0f            cmp     r2, #15
- 800e2ee:      d810            bhi.n   800e312 <_malloc_r+0x426>
- 800e2f0:      2301            movs    r3, #1
- 800e2f2:      f8cb 3004       str.w   r3, [fp, #4]
- 800e2f6:      68bb            ldr     r3, [r7, #8]
- 800e2f8:      685a            ldr     r2, [r3, #4]
- 800e2fa:      f022 0203       bic.w   r2, r2, #3
- 800e2fe:      42aa            cmp     r2, r5
- 800e300:      eba2 0305       sub.w   r3, r2, r5
- 800e304:      d301            bcc.n   800e30a <_malloc_r+0x41e>
- 800e306:      2b0f            cmp     r3, #15
- 800e308:      dc1c            bgt.n   800e344 <_malloc_r+0x458>
- 800e30a:      4630            mov     r0, r6
- 800e30c:      f000 f866       bl      800e3dc <__malloc_unlock>
- 800e310:      e5f8            b.n     800df04 <_malloc_r+0x18>
- 800e312:      f8da 3004       ldr.w   r3, [sl, #4]
- 800e316:      f1a2 040c       sub.w   r4, r2, #12
- 800e31a:      f024 0407       bic.w   r4, r4, #7
- 800e31e:      f003 0301       and.w   r3, r3, #1
- 800e322:      4323            orrs    r3, r4
- 800e324:      f8ca 3004       str.w   r3, [sl, #4]
- 800e328:      2205            movs    r2, #5
- 800e32a:      eb0a 0304       add.w   r3, sl, r4
- 800e32e:      2c0f            cmp     r4, #15
- 800e330:      e9c3 2201       strd    r2, r2, [r3, #4]
- 800e334:      f67f af03       bls.w   800e13e <_malloc_r+0x252>
- 800e338:      f10a 0108       add.w   r1, sl, #8
- 800e33c:      4630            mov     r0, r6
- 800e33e:      f002 fcc9       bl      8010cd4 <_free_r>
- 800e342:      e6fc            b.n     800e13e <_malloc_r+0x252>
- 800e344:      68bc            ldr     r4, [r7, #8]
- 800e346:      f045 0201       orr.w   r2, r5, #1
- 800e34a:      4425            add     r5, r4
- 800e34c:      f043 0301       orr.w   r3, r3, #1
- 800e350:      6062            str     r2, [r4, #4]
- 800e352:      60bd            str     r5, [r7, #8]
- 800e354:      606b            str     r3, [r5, #4]
- 800e356:      e5fa            b.n     800df4e <_malloc_r+0x62>
-
-0800e358 <memcmp>:
- 800e358:      b530            push    {r4, r5, lr}
- 800e35a:      2400            movs    r4, #0
- 800e35c:      42a2            cmp     r2, r4
- 800e35e:      d101            bne.n   800e364 <memcmp+0xc>
- 800e360:      2000            movs    r0, #0
- 800e362:      e007            b.n     800e374 <memcmp+0x1c>
- 800e364:      5d03            ldrb    r3, [r0, r4]
- 800e366:      3401            adds    r4, #1
- 800e368:      190d            adds    r5, r1, r4
- 800e36a:      f815 5c01       ldrb.w  r5, [r5, #-1]
- 800e36e:      42ab            cmp     r3, r5
- 800e370:      d0f4            beq.n   800e35c <memcmp+0x4>
- 800e372:      1b58            subs    r0, r3, r5
- 800e374:      bd30            pop     {r4, r5, pc}
-
-0800e376 <memcpy>:
- 800e376:      b510            push    {r4, lr}
- 800e378:      1e43            subs    r3, r0, #1
- 800e37a:      440a            add     r2, r1
- 800e37c:      4291            cmp     r1, r2
- 800e37e:      d100            bne.n   800e382 <memcpy+0xc>
- 800e380:      bd10            pop     {r4, pc}
- 800e382:      f811 4b01       ldrb.w  r4, [r1], #1
- 800e386:      f803 4f01       strb.w  r4, [r3, #1]!
- 800e38a:      e7f7            b.n     800e37c <memcpy+0x6>
-
-0800e38c <memmove>:
- 800e38c:      4288            cmp     r0, r1
- 800e38e:      b510            push    {r4, lr}
- 800e390:      eb01 0302       add.w   r3, r1, r2
- 800e394:      d807            bhi.n   800e3a6 <memmove+0x1a>
- 800e396:      1e42            subs    r2, r0, #1
- 800e398:      4299            cmp     r1, r3
- 800e39a:      d00a            beq.n   800e3b2 <memmove+0x26>
- 800e39c:      f811 4b01       ldrb.w  r4, [r1], #1
- 800e3a0:      f802 4f01       strb.w  r4, [r2, #1]!
- 800e3a4:      e7f8            b.n     800e398 <memmove+0xc>
- 800e3a6:      4283            cmp     r3, r0
- 800e3a8:      d9f5            bls.n   800e396 <memmove+0xa>
- 800e3aa:      1881            adds    r1, r0, r2
- 800e3ac:      1ad2            subs    r2, r2, r3
- 800e3ae:      42d3            cmn     r3, r2
- 800e3b0:      d100            bne.n   800e3b4 <memmove+0x28>
- 800e3b2:      bd10            pop     {r4, pc}
- 800e3b4:      f813 4d01       ldrb.w  r4, [r3, #-1]!
- 800e3b8:      f801 4d01       strb.w  r4, [r1, #-1]!
- 800e3bc:      e7f7            b.n     800e3ae <memmove+0x22>
-
-0800e3be <memset>:
- 800e3be:      4402            add     r2, r0
- 800e3c0:      4603            mov     r3, r0
- 800e3c2:      4293            cmp     r3, r2
- 800e3c4:      d100            bne.n   800e3c8 <memset+0xa>
- 800e3c6:      4770            bx      lr
- 800e3c8:      f803 1b01       strb.w  r1, [r3], #1
- 800e3cc:      e7f9            b.n     800e3c2 <memset+0x4>
-       ...
-
-0800e3d0 <__malloc_lock>:
- 800e3d0:      4801            ldr     r0, [pc, #4]    ; (800e3d8 <__malloc_lock+0x8>)
- 800e3d2:      f7ff bd79       b.w     800dec8 <__retarget_lock_acquire_recursive>
- 800e3d6:      bf00            nop
- 800e3d8:      20000b00        .word   0x20000b00
-
-0800e3dc <__malloc_unlock>:
- 800e3dc:      4801            ldr     r0, [pc, #4]    ; (800e3e4 <__malloc_unlock+0x8>)
- 800e3de:      f7ff bd74       b.w     800deca <__retarget_lock_release_recursive>
- 800e3e2:      bf00            nop
- 800e3e4:      20000b00        .word   0x20000b00
-
-0800e3e8 <_putc_r>:
- 800e3e8:      b570            push    {r4, r5, r6, lr}
- 800e3ea:      460d            mov     r5, r1
- 800e3ec:      4614            mov     r4, r2
- 800e3ee:      4606            mov     r6, r0
- 800e3f0:      b118            cbz     r0, 800e3fa <_putc_r+0x12>
- 800e3f2:      6b83            ldr     r3, [r0, #56]   ; 0x38
- 800e3f4:      b90b            cbnz    r3, 800e3fa <_putc_r+0x12>
- 800e3f6:      f002 fbdd       bl      8010bb4 <__sinit>
- 800e3fa:      6e63            ldr     r3, [r4, #100]  ; 0x64
- 800e3fc:      07d8            lsls    r0, r3, #31
- 800e3fe:      d405            bmi.n   800e40c <_putc_r+0x24>
- 800e400:      89a3            ldrh    r3, [r4, #12]
- 800e402:      0599            lsls    r1, r3, #22
- 800e404:      d402            bmi.n   800e40c <_putc_r+0x24>
- 800e406:      6da0            ldr     r0, [r4, #88]   ; 0x58
- 800e408:      f7ff fd5e       bl      800dec8 <__retarget_lock_acquire_recursive>
- 800e40c:      68a3            ldr     r3, [r4, #8]
- 800e40e:      3b01            subs    r3, #1
- 800e410:      2b00            cmp     r3, #0
- 800e412:      60a3            str     r3, [r4, #8]
- 800e414:      da05            bge.n   800e422 <_putc_r+0x3a>
- 800e416:      69a2            ldr     r2, [r4, #24]
- 800e418:      4293            cmp     r3, r2
- 800e41a:      db12            blt.n   800e442 <_putc_r+0x5a>
- 800e41c:      b2eb            uxtb    r3, r5
- 800e41e:      2b0a            cmp     r3, #10
- 800e420:      d00f            beq.n   800e442 <_putc_r+0x5a>
- 800e422:      6823            ldr     r3, [r4, #0]
- 800e424:      1c5a            adds    r2, r3, #1
- 800e426:      6022            str     r2, [r4, #0]
- 800e428:      701d            strb    r5, [r3, #0]
- 800e42a:      b2ed            uxtb    r5, r5
- 800e42c:      6e63            ldr     r3, [r4, #100]  ; 0x64
- 800e42e:      07da            lsls    r2, r3, #31
- 800e430:      d405            bmi.n   800e43e <_putc_r+0x56>
- 800e432:      89a3            ldrh    r3, [r4, #12]
- 800e434:      059b            lsls    r3, r3, #22
- 800e436:      d402            bmi.n   800e43e <_putc_r+0x56>
- 800e438:      6da0            ldr     r0, [r4, #88]   ; 0x58
- 800e43a:      f7ff fd46       bl      800deca <__retarget_lock_release_recursive>
- 800e43e:      4628            mov     r0, r5
- 800e440:      bd70            pop     {r4, r5, r6, pc}
- 800e442:      4629            mov     r1, r5
- 800e444:      4622            mov     r2, r4
- 800e446:      4630            mov     r0, r6
- 800e448:      f001 fc32       bl      800fcb0 <__swbuf_r>
- 800e44c:      4605            mov     r5, r0
- 800e44e:      e7ed            b.n     800e42c <_putc_r+0x44>
-
-0800e450 <realloc>:
- 800e450:      4b02            ldr     r3, [pc, #8]    ; (800e45c <realloc+0xc>)
- 800e452:      460a            mov     r2, r1
- 800e454:      4601            mov     r1, r0
- 800e456:      6818            ldr     r0, [r3, #0]
- 800e458:      f000 b802       b.w     800e460 <_realloc_r>
- 800e45c:      20000014        .word   0x20000014
-
-0800e460 <_realloc_r>:
- 800e460:      e92d 4ff7       stmdb   sp!, {r0, r1, r2, r4, r5, r6, r7, r8, r9, sl, fp, lr}
- 800e464:      4682            mov     sl, r0
- 800e466:      460c            mov     r4, r1
- 800e468:      b929            cbnz    r1, 800e476 <_realloc_r+0x16>
- 800e46a:      4611            mov     r1, r2
- 800e46c:      b003            add     sp, #12
- 800e46e:      e8bd 4ff0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
- 800e472:      f7ff bd3b       b.w     800deec <_malloc_r>
- 800e476:      9201            str     r2, [sp, #4]
- 800e478:      f7ff ffaa       bl      800e3d0 <__malloc_lock>
- 800e47c:      9a01            ldr     r2, [sp, #4]
- 800e47e:      f854 5c04       ldr.w   r5, [r4, #-4]
- 800e482:      f102 080b       add.w   r8, r2, #11
- 800e486:      f1b8 0f16       cmp.w   r8, #22
- 800e48a:      f1a4 0908       sub.w   r9, r4, #8
- 800e48e:      f025 0603       bic.w   r6, r5, #3
- 800e492:      d90b            bls.n   800e4ac <_realloc_r+0x4c>
- 800e494:      f038 0807       bics.w  r8, r8, #7
- 800e498:      d50a            bpl.n   800e4b0 <_realloc_r+0x50>
- 800e49a:      230c            movs    r3, #12
- 800e49c:      f8ca 3000       str.w   r3, [sl]
- 800e4a0:      f04f 0b00       mov.w   fp, #0
- 800e4a4:      4658            mov     r0, fp
- 800e4a6:      b003            add     sp, #12
- 800e4a8:      e8bd 8ff0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
- 800e4ac:      f04f 0810       mov.w   r8, #16
- 800e4b0:      4590            cmp     r8, r2
- 800e4b2:      d3f2            bcc.n   800e49a <_realloc_r+0x3a>
- 800e4b4:      45b0            cmp     r8, r6
- 800e4b6:      f340 8170       ble.w   800e79a <_realloc_r+0x33a>
- 800e4ba:      49a9            ldr     r1, [pc, #676]  ; (800e760 <_realloc_r+0x300>)
- 800e4bc:      9101            str     r1, [sp, #4]
- 800e4be:      f8d1 c008       ldr.w   ip, [r1, #8]
- 800e4c2:      eb09 0306       add.w   r3, r9, r6
- 800e4c6:      459c            cmp     ip, r3
- 800e4c8:      6858            ldr     r0, [r3, #4]
- 800e4ca:      d005            beq.n   800e4d8 <_realloc_r+0x78>
- 800e4cc:      f020 0101       bic.w   r1, r0, #1
- 800e4d0:      4419            add     r1, r3
- 800e4d2:      6849            ldr     r1, [r1, #4]
- 800e4d4:      07cf            lsls    r7, r1, #31
- 800e4d6:      d447            bmi.n   800e568 <_realloc_r+0x108>
- 800e4d8:      f020 0003       bic.w   r0, r0, #3
- 800e4dc:      459c            cmp     ip, r3
- 800e4de:      eb06 0700       add.w   r7, r6, r0
- 800e4e2:      d119            bne.n   800e518 <_realloc_r+0xb8>
- 800e4e4:      f108 0110       add.w   r1, r8, #16
- 800e4e8:      42b9            cmp     r1, r7
- 800e4ea:      dc3f            bgt.n   800e56c <_realloc_r+0x10c>
- 800e4ec:      eb09 0308       add.w   r3, r9, r8
- 800e4f0:      9a01            ldr     r2, [sp, #4]
- 800e4f2:      eba7 0708       sub.w   r7, r7, r8
- 800e4f6:      f047 0701       orr.w   r7, r7, #1
- 800e4fa:      6093            str     r3, [r2, #8]
- 800e4fc:      605f            str     r7, [r3, #4]
- 800e4fe:      f854 3c04       ldr.w   r3, [r4, #-4]
- 800e502:      f003 0301       and.w   r3, r3, #1
- 800e506:      ea43 0308       orr.w   r3, r3, r8
- 800e50a:      f844 3c04       str.w   r3, [r4, #-4]
- 800e50e:      4650            mov     r0, sl
- 800e510:      f7ff ff64       bl      800e3dc <__malloc_unlock>
- 800e514:      46a3            mov     fp, r4
- 800e516:      e7c5            b.n     800e4a4 <_realloc_r+0x44>
- 800e518:      45b8            cmp     r8, r7
- 800e51a:      dc27            bgt.n   800e56c <_realloc_r+0x10c>
- 800e51c:      e9d3 3202       ldrd    r3, r2, [r3, #8]
- 800e520:      60da            str     r2, [r3, #12]
- 800e522:      6093            str     r3, [r2, #8]
- 800e524:      eba7 0008       sub.w   r0, r7, r8
- 800e528:      f8d9 2004       ldr.w   r2, [r9, #4]
- 800e52c:      280f            cmp     r0, #15
- 800e52e:      f002 0201       and.w   r2, r2, #1
- 800e532:      eb09 0307       add.w   r3, r9, r7
- 800e536:      f240 8132       bls.w   800e79e <_realloc_r+0x33e>
- 800e53a:      eb09 0108       add.w   r1, r9, r8
- 800e53e:      ea48 0202       orr.w   r2, r8, r2
- 800e542:      f040 0001       orr.w   r0, r0, #1
- 800e546:      f8c9 2004       str.w   r2, [r9, #4]
- 800e54a:      6048            str     r0, [r1, #4]
- 800e54c:      685a            ldr     r2, [r3, #4]
- 800e54e:      f042 0201       orr.w   r2, r2, #1
- 800e552:      605a            str     r2, [r3, #4]
- 800e554:      3108            adds    r1, #8
- 800e556:      4650            mov     r0, sl
- 800e558:      f002 fbbc       bl      8010cd4 <_free_r>
- 800e55c:      4650            mov     r0, sl
- 800e55e:      f7ff ff3d       bl      800e3dc <__malloc_unlock>
- 800e562:      f109 0b08       add.w   fp, r9, #8
- 800e566:      e79d            b.n     800e4a4 <_realloc_r+0x44>
- 800e568:      2000            movs    r0, #0
- 800e56a:      4603            mov     r3, r0
- 800e56c:      07e9            lsls    r1, r5, #31
- 800e56e:      f100 80c6       bmi.w   800e6fe <_realloc_r+0x29e>
- 800e572:      f854 5c08       ldr.w   r5, [r4, #-8]
- 800e576:      eba9 0505       sub.w   r5, r9, r5
- 800e57a:      6869            ldr     r1, [r5, #4]
- 800e57c:      f021 0103       bic.w   r1, r1, #3
- 800e580:      eb01 0b06       add.w   fp, r1, r6
- 800e584:      2b00            cmp     r3, #0
- 800e586:      f000 8086       beq.w   800e696 <_realloc_r+0x236>
- 800e58a:      459c            cmp     ip, r3
- 800e58c:      eb00 070b       add.w   r7, r0, fp
- 800e590:      d149            bne.n   800e626 <_realloc_r+0x1c6>
- 800e592:      f108 0310       add.w   r3, r8, #16
- 800e596:      42bb            cmp     r3, r7
- 800e598:      dc7d            bgt.n   800e696 <_realloc_r+0x236>
- 800e59a:      46ab            mov     fp, r5
- 800e59c:      68eb            ldr     r3, [r5, #12]
- 800e59e:      f85b 2f08       ldr.w   r2, [fp, #8]!
- 800e5a2:      60d3            str     r3, [r2, #12]
- 800e5a4:      609a            str     r2, [r3, #8]
- 800e5a6:      1f32            subs    r2, r6, #4
- 800e5a8:      2a24            cmp     r2, #36 ; 0x24
- 800e5aa:      d837            bhi.n   800e61c <_realloc_r+0x1bc>
- 800e5ac:      2a13            cmp     r2, #19
- 800e5ae:      d933            bls.n   800e618 <_realloc_r+0x1b8>
- 800e5b0:      6823            ldr     r3, [r4, #0]
- 800e5b2:      60ab            str     r3, [r5, #8]
- 800e5b4:      6863            ldr     r3, [r4, #4]
- 800e5b6:      60eb            str     r3, [r5, #12]
- 800e5b8:      2a1b            cmp     r2, #27
- 800e5ba:      d81b            bhi.n   800e5f4 <_realloc_r+0x194>
- 800e5bc:      3408            adds    r4, #8
- 800e5be:      f105 0310       add.w   r3, r5, #16
- 800e5c2:      6822            ldr     r2, [r4, #0]
- 800e5c4:      601a            str     r2, [r3, #0]
- 800e5c6:      6862            ldr     r2, [r4, #4]
- 800e5c8:      605a            str     r2, [r3, #4]
- 800e5ca:      68a2            ldr     r2, [r4, #8]
- 800e5cc:      609a            str     r2, [r3, #8]
- 800e5ce:      eb05 0308       add.w   r3, r5, r8
- 800e5d2:      9a01            ldr     r2, [sp, #4]
- 800e5d4:      eba7 0708       sub.w   r7, r7, r8
- 800e5d8:      f047 0701       orr.w   r7, r7, #1
- 800e5dc:      6093            str     r3, [r2, #8]
- 800e5de:      605f            str     r7, [r3, #4]
- 800e5e0:      686b            ldr     r3, [r5, #4]
- 800e5e2:      f003 0301       and.w   r3, r3, #1
- 800e5e6:      ea43 0308       orr.w   r3, r3, r8
- 800e5ea:      606b            str     r3, [r5, #4]
- 800e5ec:      4650            mov     r0, sl
- 800e5ee:      f7ff fef5       bl      800e3dc <__malloc_unlock>
- 800e5f2:      e757            b.n     800e4a4 <_realloc_r+0x44>
- 800e5f4:      68a3            ldr     r3, [r4, #8]
- 800e5f6:      612b            str     r3, [r5, #16]
- 800e5f8:      68e3            ldr     r3, [r4, #12]
- 800e5fa:      616b            str     r3, [r5, #20]
- 800e5fc:      2a24            cmp     r2, #36 ; 0x24
- 800e5fe:      bf01            itttt   eq
- 800e600:      6923            ldreq   r3, [r4, #16]
- 800e602:      61ab            streq   r3, [r5, #24]
- 800e604:      6962            ldreq   r2, [r4, #20]
- 800e606:      61ea            streq   r2, [r5, #28]
- 800e608:      bf19            ittee   ne
- 800e60a:      3410            addne   r4, #16
- 800e60c:      f105 0318       addne.w r3, r5, #24
- 800e610:      f105 0320       addeq.w r3, r5, #32
- 800e614:      3418            addeq   r4, #24
- 800e616:      e7d4            b.n     800e5c2 <_realloc_r+0x162>
- 800e618:      465b            mov     r3, fp
- 800e61a:      e7d2            b.n     800e5c2 <_realloc_r+0x162>
- 800e61c:      4621            mov     r1, r4
- 800e61e:      4658            mov     r0, fp
- 800e620:      f7ff feb4       bl      800e38c <memmove>
- 800e624:      e7d3            b.n     800e5ce <_realloc_r+0x16e>
- 800e626:      45b8            cmp     r8, r7
- 800e628:      dc35            bgt.n   800e696 <_realloc_r+0x236>
- 800e62a:      e9d3 3202       ldrd    r3, r2, [r3, #8]
- 800e62e:      4628            mov     r0, r5
- 800e630:      60da            str     r2, [r3, #12]
- 800e632:      6093            str     r3, [r2, #8]
- 800e634:      f850 2f08       ldr.w   r2, [r0, #8]!
- 800e638:      68eb            ldr     r3, [r5, #12]
- 800e63a:      60d3            str     r3, [r2, #12]
- 800e63c:      609a            str     r2, [r3, #8]
- 800e63e:      1f32            subs    r2, r6, #4
- 800e640:      2a24            cmp     r2, #36 ; 0x24
- 800e642:      d824            bhi.n   800e68e <_realloc_r+0x22e>
- 800e644:      2a13            cmp     r2, #19
- 800e646:      d908            bls.n   800e65a <_realloc_r+0x1fa>
- 800e648:      6823            ldr     r3, [r4, #0]
- 800e64a:      60ab            str     r3, [r5, #8]
- 800e64c:      6863            ldr     r3, [r4, #4]
- 800e64e:      60eb            str     r3, [r5, #12]
- 800e650:      2a1b            cmp     r2, #27
- 800e652:      d80a            bhi.n   800e66a <_realloc_r+0x20a>
- 800e654:      3408            adds    r4, #8
- 800e656:      f105 0010       add.w   r0, r5, #16
- 800e65a:      6823            ldr     r3, [r4, #0]
- 800e65c:      6003            str     r3, [r0, #0]
- 800e65e:      6863            ldr     r3, [r4, #4]
- 800e660:      6043            str     r3, [r0, #4]
- 800e662:      68a3            ldr     r3, [r4, #8]
- 800e664:      6083            str     r3, [r0, #8]
- 800e666:      46a9            mov     r9, r5
- 800e668:      e75c            b.n     800e524 <_realloc_r+0xc4>
- 800e66a:      68a3            ldr     r3, [r4, #8]
- 800e66c:      612b            str     r3, [r5, #16]
- 800e66e:      68e3            ldr     r3, [r4, #12]
- 800e670:      616b            str     r3, [r5, #20]
- 800e672:      2a24            cmp     r2, #36 ; 0x24
- 800e674:      bf01            itttt   eq
- 800e676:      6923            ldreq   r3, [r4, #16]
- 800e678:      61ab            streq   r3, [r5, #24]
- 800e67a:      6963            ldreq   r3, [r4, #20]
- 800e67c:      61eb            streq   r3, [r5, #28]
- 800e67e:      bf19            ittee   ne
- 800e680:      3410            addne   r4, #16
- 800e682:      f105 0018       addne.w r0, r5, #24
- 800e686:      f105 0020       addeq.w r0, r5, #32
- 800e68a:      3418            addeq   r4, #24
- 800e68c:      e7e5            b.n     800e65a <_realloc_r+0x1fa>
- 800e68e:      4621            mov     r1, r4
- 800e690:      f7ff fe7c       bl      800e38c <memmove>
- 800e694:      e7e7            b.n     800e666 <_realloc_r+0x206>
- 800e696:      45d8            cmp     r8, fp
- 800e698:      dc31            bgt.n   800e6fe <_realloc_r+0x29e>
- 800e69a:      4628            mov     r0, r5
- 800e69c:      68eb            ldr     r3, [r5, #12]
- 800e69e:      f850 2f08       ldr.w   r2, [r0, #8]!
- 800e6a2:      60d3            str     r3, [r2, #12]
- 800e6a4:      609a            str     r2, [r3, #8]
- 800e6a6:      1f32            subs    r2, r6, #4
- 800e6a8:      2a24            cmp     r2, #36 ; 0x24
- 800e6aa:      d824            bhi.n   800e6f6 <_realloc_r+0x296>
- 800e6ac:      2a13            cmp     r2, #19
- 800e6ae:      d908            bls.n   800e6c2 <_realloc_r+0x262>
- 800e6b0:      6823            ldr     r3, [r4, #0]
- 800e6b2:      60ab            str     r3, [r5, #8]
- 800e6b4:      6863            ldr     r3, [r4, #4]
- 800e6b6:      60eb            str     r3, [r5, #12]
- 800e6b8:      2a1b            cmp     r2, #27
- 800e6ba:      d80a            bhi.n   800e6d2 <_realloc_r+0x272>
- 800e6bc:      3408            adds    r4, #8
- 800e6be:      f105 0010       add.w   r0, r5, #16
- 800e6c2:      6823            ldr     r3, [r4, #0]
- 800e6c4:      6003            str     r3, [r0, #0]
- 800e6c6:      6863            ldr     r3, [r4, #4]
- 800e6c8:      6043            str     r3, [r0, #4]
- 800e6ca:      68a3            ldr     r3, [r4, #8]
- 800e6cc:      6083            str     r3, [r0, #8]
- 800e6ce:      465f            mov     r7, fp
- 800e6d0:      e7c9            b.n     800e666 <_realloc_r+0x206>
- 800e6d2:      68a3            ldr     r3, [r4, #8]
- 800e6d4:      612b            str     r3, [r5, #16]
- 800e6d6:      68e3            ldr     r3, [r4, #12]
- 800e6d8:      616b            str     r3, [r5, #20]
- 800e6da:      2a24            cmp     r2, #36 ; 0x24
- 800e6dc:      bf01            itttt   eq
- 800e6de:      6923            ldreq   r3, [r4, #16]
- 800e6e0:      61ab            streq   r3, [r5, #24]
- 800e6e2:      6963            ldreq   r3, [r4, #20]
- 800e6e4:      61eb            streq   r3, [r5, #28]
- 800e6e6:      bf19            ittee   ne
- 800e6e8:      3410            addne   r4, #16
- 800e6ea:      f105 0018       addne.w r0, r5, #24
- 800e6ee:      f105 0020       addeq.w r0, r5, #32
- 800e6f2:      3418            addeq   r4, #24
- 800e6f4:      e7e5            b.n     800e6c2 <_realloc_r+0x262>
- 800e6f6:      4621            mov     r1, r4
- 800e6f8:      f7ff fe48       bl      800e38c <memmove>
- 800e6fc:      e7e7            b.n     800e6ce <_realloc_r+0x26e>
- 800e6fe:      4611            mov     r1, r2
- 800e700:      4650            mov     r0, sl
- 800e702:      f7ff fbf3       bl      800deec <_malloc_r>
- 800e706:      4683            mov     fp, r0
- 800e708:      2800            cmp     r0, #0
- 800e70a:      f43f af6f       beq.w   800e5ec <_realloc_r+0x18c>
- 800e70e:      f854 3c04       ldr.w   r3, [r4, #-4]
- 800e712:      f023 0301       bic.w   r3, r3, #1
- 800e716:      444b            add     r3, r9
- 800e718:      f1a0 0208       sub.w   r2, r0, #8
- 800e71c:      4293            cmp     r3, r2
- 800e71e:      d105            bne.n   800e72c <_realloc_r+0x2cc>
- 800e720:      f850 7c04       ldr.w   r7, [r0, #-4]
- 800e724:      f027 0703       bic.w   r7, r7, #3
- 800e728:      4437            add     r7, r6
- 800e72a:      e6fb            b.n     800e524 <_realloc_r+0xc4>
- 800e72c:      1f32            subs    r2, r6, #4
- 800e72e:      2a24            cmp     r2, #36 ; 0x24
- 800e730:      d82f            bhi.n   800e792 <_realloc_r+0x332>
- 800e732:      2a13            cmp     r2, #19
- 800e734:      d92a            bls.n   800e78c <_realloc_r+0x32c>
- 800e736:      6823            ldr     r3, [r4, #0]
- 800e738:      6003            str     r3, [r0, #0]
- 800e73a:      6863            ldr     r3, [r4, #4]
- 800e73c:      6043            str     r3, [r0, #4]
- 800e73e:      2a1b            cmp     r2, #27
- 800e740:      d810            bhi.n   800e764 <_realloc_r+0x304>
- 800e742:      f104 0208       add.w   r2, r4, #8
- 800e746:      f100 0308       add.w   r3, r0, #8
- 800e74a:      6811            ldr     r1, [r2, #0]
- 800e74c:      6019            str     r1, [r3, #0]
- 800e74e:      6851            ldr     r1, [r2, #4]
- 800e750:      6059            str     r1, [r3, #4]
- 800e752:      6892            ldr     r2, [r2, #8]
- 800e754:      609a            str     r2, [r3, #8]
- 800e756:      4621            mov     r1, r4
- 800e758:      4650            mov     r0, sl
- 800e75a:      f002 fabb       bl      8010cd4 <_free_r>
- 800e75e:      e745            b.n     800e5ec <_realloc_r+0x18c>
- 800e760:      20000440        .word   0x20000440
- 800e764:      68a3            ldr     r3, [r4, #8]
- 800e766:      6083            str     r3, [r0, #8]
- 800e768:      68e3            ldr     r3, [r4, #12]
- 800e76a:      60c3            str     r3, [r0, #12]
- 800e76c:      2a24            cmp     r2, #36 ; 0x24
- 800e76e:      bf01            itttt   eq
- 800e770:      6923            ldreq   r3, [r4, #16]
- 800e772:      6103            streq   r3, [r0, #16]
- 800e774:      6961            ldreq   r1, [r4, #20]
- 800e776:      6141            streq   r1, [r0, #20]
- 800e778:      bf19            ittee   ne
- 800e77a:      f104 0210       addne.w r2, r4, #16
- 800e77e:      f100 0310       addne.w r3, r0, #16
- 800e782:      f104 0218       addeq.w r2, r4, #24
- 800e786:      f100 0318       addeq.w r3, r0, #24
- 800e78a:      e7de            b.n     800e74a <_realloc_r+0x2ea>
- 800e78c:      4603            mov     r3, r0
- 800e78e:      4622            mov     r2, r4
- 800e790:      e7db            b.n     800e74a <_realloc_r+0x2ea>
- 800e792:      4621            mov     r1, r4
- 800e794:      f7ff fdfa       bl      800e38c <memmove>
- 800e798:      e7dd            b.n     800e756 <_realloc_r+0x2f6>
- 800e79a:      4637            mov     r7, r6
- 800e79c:      e6c2            b.n     800e524 <_realloc_r+0xc4>
- 800e79e:      4317            orrs    r7, r2
- 800e7a0:      f8c9 7004       str.w   r7, [r9, #4]
- 800e7a4:      685a            ldr     r2, [r3, #4]
- 800e7a6:      f042 0201       orr.w   r2, r2, #1
- 800e7aa:      605a            str     r2, [r3, #4]
- 800e7ac:      e6d6            b.n     800e55c <_realloc_r+0xfc>
- 800e7ae:      bf00            nop
-
-0800e7b0 <_sbrk_r>:
- 800e7b0:      b538            push    {r3, r4, r5, lr}
- 800e7b2:      4c06            ldr     r4, [pc, #24]   ; (800e7cc <_sbrk_r+0x1c>)
- 800e7b4:      2300            movs    r3, #0
- 800e7b6:      4605            mov     r5, r0
- 800e7b8:      4608            mov     r0, r1
- 800e7ba:      6023            str     r3, [r4, #0]
- 800e7bc:      f7fe f81e       bl      800c7fc <_sbrk>
- 800e7c0:      1c43            adds    r3, r0, #1
- 800e7c2:      d102            bne.n   800e7ca <_sbrk_r+0x1a>
- 800e7c4:      6823            ldr     r3, [r4, #0]
- 800e7c6:      b103            cbz     r3, 800e7ca <_sbrk_r+0x1a>
- 800e7c8:      602b            str     r3, [r5, #0]
- 800e7ca:      bd38            pop     {r3, r4, r5, pc}
- 800e7cc:      20000b08        .word   0x20000b08
-
-0800e7d0 <_raise_r>:
- 800e7d0:      291f            cmp     r1, #31
- 800e7d2:      b538            push    {r3, r4, r5, lr}
- 800e7d4:      4604            mov     r4, r0
- 800e7d6:      460d            mov     r5, r1
- 800e7d8:      d904            bls.n   800e7e4 <_raise_r+0x14>
- 800e7da:      2316            movs    r3, #22
- 800e7dc:      6003            str     r3, [r0, #0]
- 800e7de:      f04f 30ff       mov.w   r0, #4294967295 ; 0xffffffff
- 800e7e2:      bd38            pop     {r3, r4, r5, pc}
- 800e7e4:      f8d0 22dc       ldr.w   r2, [r0, #732]  ; 0x2dc
- 800e7e8:      b112            cbz     r2, 800e7f0 <_raise_r+0x20>
- 800e7ea:      f852 3021       ldr.w   r3, [r2, r1, lsl #2]
- 800e7ee:      b94b            cbnz    r3, 800e804 <_raise_r+0x34>
- 800e7f0:      4620            mov     r0, r4
- 800e7f2:      f000 f831       bl      800e858 <_getpid_r>
- 800e7f6:      462a            mov     r2, r5
- 800e7f8:      4601            mov     r1, r0
- 800e7fa:      4620            mov     r0, r4
- 800e7fc:      e8bd 4038       ldmia.w sp!, {r3, r4, r5, lr}
- 800e800:      f000 b818       b.w     800e834 <_kill_r>
- 800e804:      2b01            cmp     r3, #1
- 800e806:      d00a            beq.n   800e81e <_raise_r+0x4e>
- 800e808:      1c59            adds    r1, r3, #1
- 800e80a:      d103            bne.n   800e814 <_raise_r+0x44>
- 800e80c:      2316            movs    r3, #22
- 800e80e:      6003            str     r3, [r0, #0]
- 800e810:      2001            movs    r0, #1
- 800e812:      e7e6            b.n     800e7e2 <_raise_r+0x12>
- 800e814:      2400            movs    r4, #0
- 800e816:      f842 4025       str.w   r4, [r2, r5, lsl #2]
- 800e81a:      4628            mov     r0, r5
- 800e81c:      4798            blx     r3
- 800e81e:      2000            movs    r0, #0
- 800e820:      e7df            b.n     800e7e2 <_raise_r+0x12>
-       ...
-
-0800e824 <raise>:
- 800e824:      4b02            ldr     r3, [pc, #8]    ; (800e830 <raise+0xc>)
- 800e826:      4601            mov     r1, r0
- 800e828:      6818            ldr     r0, [r3, #0]
- 800e82a:      f7ff bfd1       b.w     800e7d0 <_raise_r>
- 800e82e:      bf00            nop
- 800e830:      20000014        .word   0x20000014
-
-0800e834 <_kill_r>:
- 800e834:      b538            push    {r3, r4, r5, lr}
- 800e836:      4c07            ldr     r4, [pc, #28]   ; (800e854 <_kill_r+0x20>)
- 800e838:      2300            movs    r3, #0
- 800e83a:      4605            mov     r5, r0
- 800e83c:      4608            mov     r0, r1
- 800e83e:      4611            mov     r1, r2
- 800e840:      6023            str     r3, [r4, #0]
- 800e842:      f7fd ff53       bl      800c6ec <_kill>
- 800e846:      1c43            adds    r3, r0, #1
- 800e848:      d102            bne.n   800e850 <_kill_r+0x1c>
- 800e84a:      6823            ldr     r3, [r4, #0]
- 800e84c:      b103            cbz     r3, 800e850 <_kill_r+0x1c>
- 800e84e:      602b            str     r3, [r5, #0]
- 800e850:      bd38            pop     {r3, r4, r5, pc}
- 800e852:      bf00            nop
- 800e854:      20000b08        .word   0x20000b08
-
-0800e858 <_getpid_r>:
- 800e858:      f7fd bf40       b.w     800c6dc <_getpid>
-
-0800e85c <sprintf>:
- 800e85c:      b40e            push    {r1, r2, r3}
- 800e85e:      b500            push    {lr}
- 800e860:      b09c            sub     sp, #112        ; 0x70
- 800e862:      ab1d            add     r3, sp, #116    ; 0x74
- 800e864:      9002            str     r0, [sp, #8]
- 800e866:      9006            str     r0, [sp, #24]
- 800e868:      f06f 4100       mvn.w   r1, #2147483648 ; 0x80000000
- 800e86c:      4809            ldr     r0, [pc, #36]   ; (800e894 <sprintf+0x38>)
- 800e86e:      9107            str     r1, [sp, #28]
- 800e870:      9104            str     r1, [sp, #16]
- 800e872:      4909            ldr     r1, [pc, #36]   ; (800e898 <sprintf+0x3c>)
- 800e874:      f853 2b04       ldr.w   r2, [r3], #4
- 800e878:      9105            str     r1, [sp, #20]
- 800e87a:      6800            ldr     r0, [r0, #0]
- 800e87c:      9301            str     r3, [sp, #4]
- 800e87e:      a902            add     r1, sp, #8
- 800e880:      f000 f81e       bl      800e8c0 <_svfprintf_r>
- 800e884:      9b02            ldr     r3, [sp, #8]
- 800e886:      2200            movs    r2, #0
- 800e888:      701a            strb    r2, [r3, #0]
- 800e88a:      b01c            add     sp, #112        ; 0x70
- 800e88c:      f85d eb04       ldr.w   lr, [sp], #4
- 800e890:      b003            add     sp, #12
- 800e892:      4770            bx      lr
- 800e894:      20000014        .word   0x20000014
- 800e898:      ffff0208        .word   0xffff0208
-
-0800e89c <strncmp>:
- 800e89c:      b510            push    {r4, lr}
- 800e89e:      b16a            cbz     r2, 800e8bc <strncmp+0x20>
- 800e8a0:      3901            subs    r1, #1
- 800e8a2:      1884            adds    r4, r0, r2
- 800e8a4:      f810 3b01       ldrb.w  r3, [r0], #1
- 800e8a8:      f811 2f01       ldrb.w  r2, [r1, #1]!
- 800e8ac:      4293            cmp     r3, r2
- 800e8ae:      d103            bne.n   800e8b8 <strncmp+0x1c>
- 800e8b0:      42a0            cmp     r0, r4
- 800e8b2:      d001            beq.n   800e8b8 <strncmp+0x1c>
- 800e8b4:      2b00            cmp     r3, #0
- 800e8b6:      d1f5            bne.n   800e8a4 <strncmp+0x8>
- 800e8b8:      1a98            subs    r0, r3, r2
- 800e8ba:      bd10            pop     {r4, pc}
- 800e8bc:      4610            mov     r0, r2
- 800e8be:      e7fc            b.n     800e8ba <strncmp+0x1e>
-
-0800e8c0 <_svfprintf_r>:
- 800e8c0:      e92d 4ff0       stmdb   sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
- 800e8c4:      ed2d 8b04       vpush   {d8-d9}
- 800e8c8:      b0cb            sub     sp, #300        ; 0x12c
- 800e8ca:      468b            mov     fp, r1
- 800e8cc:      4691            mov     r9, r2
- 800e8ce:      461e            mov     r6, r3
- 800e8d0:      9002            str     r0, [sp, #8]
- 800e8d2:      f002 fad9       bl      8010e88 <_localeconv_r>
- 800e8d6:      6803            ldr     r3, [r0, #0]
- 800e8d8:      930f            str     r3, [sp, #60]   ; 0x3c
- 800e8da:      4618            mov     r0, r3
- 800e8dc:      f7f8 fa7a       bl      8006dd4 <strlen>
- 800e8e0:      f8bb 300c       ldrh.w  r3, [fp, #12]
- 800e8e4:      9009            str     r0, [sp, #36]   ; 0x24
- 800e8e6:      0618            lsls    r0, r3, #24
- 800e8e8:      d51a            bpl.n   800e920 <_svfprintf_r+0x60>
- 800e8ea:      f8db 3010       ldr.w   r3, [fp, #16]
- 800e8ee:      b9bb            cbnz    r3, 800e920 <_svfprintf_r+0x60>
- 800e8f0:      2140            movs    r1, #64 ; 0x40
- 800e8f2:      9802            ldr     r0, [sp, #8]
- 800e8f4:      f7ff fafa       bl      800deec <_malloc_r>
- 800e8f8:      f8cb 0000       str.w   r0, [fp]
- 800e8fc:      f8cb 0010       str.w   r0, [fp, #16]
- 800e900:      b958            cbnz    r0, 800e91a <_svfprintf_r+0x5a>
- 800e902:      9a02            ldr     r2, [sp, #8]
- 800e904:      230c            movs    r3, #12
- 800e906:      6013            str     r3, [r2, #0]
- 800e908:      f04f 33ff       mov.w   r3, #4294967295 ; 0xffffffff
- 800e90c:      930a            str     r3, [sp, #40]   ; 0x28
- 800e90e:      980a            ldr     r0, [sp, #40]   ; 0x28
- 800e910:      b04b            add     sp, #300        ; 0x12c
- 800e912:      ecbd 8b04       vpop    {d8-d9}
- 800e916:      e8bd 8ff0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
- 800e91a:      2340            movs    r3, #64 ; 0x40
- 800e91c:      f8cb 3014       str.w   r3, [fp, #20]
- 800e920:      2300            movs    r3, #0
- 800e922:      e9cd 331f       strd    r3, r3, [sp, #124]      ; 0x7c
- 800e926:      ed9f 8bc6       vldr    d8, [pc, #792]  ; 800ec40 <_svfprintf_r+0x380>
- 800e92a:      e9cd 3310       strd    r3, r3, [sp, #64]       ; 0x40
- 800e92e:      ac21            add     r4, sp, #132    ; 0x84
- 800e930:      941e            str     r4, [sp, #120]  ; 0x78
- 800e932:      9303            str     r3, [sp, #12]
- 800e934:      9307            str     r3, [sp, #28]
- 800e936:      930e            str     r3, [sp, #56]   ; 0x38
- 800e938:      9312            str     r3, [sp, #72]   ; 0x48
- 800e93a:      930a            str     r3, [sp, #40]   ; 0x28
- 800e93c:      464d            mov     r5, r9
- 800e93e:      462b            mov     r3, r5
- 800e940:      f813 2b01       ldrb.w  r2, [r3], #1
- 800e944:      b112            cbz     r2, 800e94c <_svfprintf_r+0x8c>
- 800e946:      2a25            cmp     r2, #37 ; 0x25
- 800e948:      f040 80e4       bne.w   800eb14 <_svfprintf_r+0x254>
- 800e94c:      ebb5 0709       subs.w  r7, r5, r9
- 800e950:      d00e            beq.n   800e970 <_svfprintf_r+0xb0>
- 800e952:      9b20            ldr     r3, [sp, #128]  ; 0x80
- 800e954:      443b            add     r3, r7
- 800e956:      9320            str     r3, [sp, #128]  ; 0x80
- 800e958:      9b1f            ldr     r3, [sp, #124]  ; 0x7c
- 800e95a:      3301            adds    r3, #1
- 800e95c:      2b07            cmp     r3, #7
- 800e95e:      e9c4 9700       strd    r9, r7, [r4]
- 800e962:      931f            str     r3, [sp, #124]  ; 0x7c
- 800e964:      f300 80d8       bgt.w   800eb18 <_svfprintf_r+0x258>
- 800e968:      3408            adds    r4, #8
- 800e96a:      9b0a            ldr     r3, [sp, #40]   ; 0x28
- 800e96c:      443b            add     r3, r7
- 800e96e:      930a            str     r3, [sp, #40]   ; 0x28
- 800e970:      782b            ldrb    r3, [r5, #0]
- 800e972:      2b00            cmp     r3, #0
- 800e974:      f001 8174       beq.w   800fc60 <_svfprintf_r+0x13a0>
- 800e978:      1c6b            adds    r3, r5, #1
- 800e97a:      9308            str     r3, [sp, #32]
- 800e97c:      2300            movs    r3, #0
- 800e97e:      f88d 305b       strb.w  r3, [sp, #91]   ; 0x5b
- 800e982:      f04f 38ff       mov.w   r8, #4294967295 ; 0xffffffff
- 800e986:      930b            str     r3, [sp, #44]   ; 0x2c
- 800e988:      461d            mov     r5, r3
- 800e98a:      9b08            ldr     r3, [sp, #32]
- 800e98c:      781b            ldrb    r3, [r3, #0]
- 800e98e:      9304            str     r3, [sp, #16]
- 800e990:      9b08            ldr     r3, [sp, #32]
- 800e992:      3301            adds    r3, #1
- 800e994:      9308            str     r3, [sp, #32]
- 800e996:      9b04            ldr     r3, [sp, #16]
- 800e998:      3b20            subs    r3, #32
- 800e99a:      2b5a            cmp     r3, #90 ; 0x5a
- 800e99c:      f200 85e5       bhi.w   800f56a <_svfprintf_r+0xcaa>
- 800e9a0:      a201            add     r2, pc, #4      ; (adr r2, 800e9a8 <_svfprintf_r+0xe8>)
- 800e9a2:      f852 f023       ldr.w   pc, [r2, r3, lsl #2]
- 800e9a6:      bf00            nop
- 800e9a8:      0800eba7        .word   0x0800eba7
- 800e9ac:      0800f56b        .word   0x0800f56b
- 800e9b0:      0800f56b        .word   0x0800f56b
- 800e9b4:      0800ebb9        .word   0x0800ebb9
- 800e9b8:      0800f56b        .word   0x0800f56b
- 800e9bc:      0800f56b        .word   0x0800f56b
- 800e9c0:      0800f56b        .word   0x0800f56b
- 800e9c4:      0800eb6d        .word   0x0800eb6d
- 800e9c8:      0800f56b        .word   0x0800f56b
- 800e9cc:      0800f56b        .word   0x0800f56b
- 800e9d0:      0800ebbf        .word   0x0800ebbf
- 800e9d4:      0800ebd7        .word   0x0800ebd7
- 800e9d8:      0800f56b        .word   0x0800f56b
- 800e9dc:      0800ebd1        .word   0x0800ebd1
- 800e9e0:      0800ebdb        .word   0x0800ebdb
- 800e9e4:      0800f56b        .word   0x0800f56b
- 800e9e8:      0800ec13        .word   0x0800ec13
- 800e9ec:      0800ec19        .word   0x0800ec19
- 800e9f0:      0800ec19        .word   0x0800ec19
- 800e9f4:      0800ec19        .word   0x0800ec19
- 800e9f8:      0800ec19        .word   0x0800ec19
- 800e9fc:      0800ec19        .word   0x0800ec19
- 800ea00:      0800ec19        .word   0x0800ec19
- 800ea04:      0800ec19        .word   0x0800ec19
- 800ea08:      0800ec19        .word   0x0800ec19
- 800ea0c:      0800ec19        .word   0x0800ec19
- 800ea10:      0800f56b        .word   0x0800f56b
- 800ea14:      0800f56b        .word   0x0800f56b
- 800ea18:      0800f56b        .word   0x0800f56b
- 800ea1c:      0800f56b        .word   0x0800f56b
- 800ea20:      0800f56b        .word   0x0800f56b
- 800ea24:      0800f56b        .word   0x0800f56b
- 800ea28:      0800f56b        .word   0x0800f56b
- 800ea2c:      0800ed13        .word   0x0800ed13
- 800ea30:      0800f56b        .word   0x0800f56b
- 800ea34:      0800ec81        .word   0x0800ec81
- 800ea38:      0800eca5        .word   0x0800eca5
- 800ea3c:      0800ed13        .word   0x0800ed13
- 800ea40:      0800ed13        .word   0x0800ed13
- 800ea44:      0800ed13        .word   0x0800ed13
- 800ea48:      0800f56b        .word   0x0800f56b
- 800ea4c:      0800f56b        .word   0x0800f56b
- 800ea50:      0800f56b        .word   0x0800f56b
- 800ea54:      0800f56b        .word   0x0800f56b
- 800ea58:      0800ec3b        .word   0x0800ec3b
- 800ea5c:      0800f56b        .word   0x0800f56b
- 800ea60:      0800f56b        .word   0x0800f56b
- 800ea64:      0800f187        .word   0x0800f187
- 800ea68:      0800f56b        .word   0x0800f56b
- 800ea6c:      0800f56b        .word   0x0800f56b
- 800ea70:      0800f56b        .word   0x0800f56b
- 800ea74:      0800f20f        .word   0x0800f20f
- 800ea78:      0800f56b        .word   0x0800f56b
- 800ea7c:      0800f3e7        .word   0x0800f3e7
- 800ea80:      0800f56b        .word   0x0800f56b
- 800ea84:      0800f56b        .word   0x0800f56b
- 800ea88:      0800eb31        .word   0x0800eb31
- 800ea8c:      0800f56b        .word   0x0800f56b
- 800ea90:      0800f56b        .word   0x0800f56b
- 800ea94:      0800f56b        .word   0x0800f56b
- 800ea98:      0800f56b        .word   0x0800f56b
- 800ea9c:      0800f56b        .word   0x0800f56b
- 800eaa0:      0800f56b        .word   0x0800f56b
- 800eaa4:      0800f56b        .word   0x0800f56b
- 800eaa8:      0800f56b        .word   0x0800f56b
- 800eaac:      0800ed13        .word   0x0800ed13
- 800eab0:      0800f56b        .word   0x0800f56b
- 800eab4:      0800ec81        .word   0x0800ec81
- 800eab8:      0800eca9        .word   0x0800eca9
- 800eabc:      0800ed13        .word   0x0800ed13
- 800eac0:      0800ed13        .word   0x0800ed13
- 800eac4:      0800ed13        .word   0x0800ed13
- 800eac8:      0800ec4d        .word   0x0800ec4d
- 800eacc:      0800eca9        .word   0x0800eca9
- 800ead0:      0800ec75        .word   0x0800ec75
- 800ead4:      0800f56b        .word   0x0800f56b
- 800ead8:      0800ec67        .word   0x0800ec67
- 800eadc:      0800f56b        .word   0x0800f56b
- 800eae0:      0800f149        .word   0x0800f149
- 800eae4:      0800f18b        .word   0x0800f18b
- 800eae8:      0800f1ef        .word   0x0800f1ef
- 800eaec:      0800ec75        .word   0x0800ec75
- 800eaf0:      0800f56b        .word   0x0800f56b
- 800eaf4:      0800f20f        .word   0x0800f20f
- 800eaf8:      0800e98b        .word   0x0800e98b
- 800eafc:      0800f3eb        .word   0x0800f3eb
- 800eb00:      0800f56b        .word   0x0800f56b
- 800eb04:      0800f56b        .word   0x0800f56b
- 800eb08:      0800f421        .word   0x0800f421
- 800eb0c:      0800f56b        .word   0x0800f56b
- 800eb10:      0800e98b        .word   0x0800e98b
- 800eb14:      461d            mov     r5, r3
- 800eb16:      e712            b.n     800e93e <_svfprintf_r+0x7e>
- 800eb18:      aa1e            add     r2, sp, #120    ; 0x78
- 800eb1a:      4659            mov     r1, fp
- 800eb1c:      9802            ldr     r0, [sp, #8]
- 800eb1e:      f002 fd71       bl      8011604 <__ssprint_r>
- 800eb22:      2800            cmp     r0, #0
- 800eb24:      f040 8150       bne.w   800edc8 <_svfprintf_r+0x508>
- 800eb28:      ac21            add     r4, sp, #132    ; 0x84
- 800eb2a:      e71e            b.n     800e96a <_svfprintf_r+0xaa>
- 800eb2c:      461e            mov     r6, r3
- 800eb2e:      e72c            b.n     800e98a <_svfprintf_r+0xca>
- 800eb30:      4b45            ldr     r3, [pc, #276]  ; (800ec48 <_svfprintf_r+0x388>)
- 800eb32:      9311            str     r3, [sp, #68]   ; 0x44
- 800eb34:      06af            lsls    r7, r5, #26
- 800eb36:      f140 8476       bpl.w   800f426 <_svfprintf_r+0xb66>
- 800eb3a:      3607            adds    r6, #7
- 800eb3c:      f026 0607       bic.w   r6, r6, #7
- 800eb40:      f106 0308       add.w   r3, r6, #8
- 800eb44:      e9d6 6700       ldrd    r6, r7, [r6]
- 800eb48:      9306            str     r3, [sp, #24]
- 800eb4a:      07eb            lsls    r3, r5, #31
- 800eb4c:      d50a            bpl.n   800eb64 <_svfprintf_r+0x2a4>
- 800eb4e:      ea56 0307       orrs.w  r3, r6, r7
- 800eb52:      d007            beq.n   800eb64 <_svfprintf_r+0x2a4>
- 800eb54:      2330            movs    r3, #48 ; 0x30
- 800eb56:      f88d 305c       strb.w  r3, [sp, #92]   ; 0x5c
- 800eb5a:      9b04            ldr     r3, [sp, #16]
- 800eb5c:      f88d 305d       strb.w  r3, [sp, #93]   ; 0x5d
- 800eb60:      f045 0502       orr.w   r5, r5, #2
- 800eb64:      f425 6580       bic.w   r5, r5, #1024   ; 0x400
- 800eb68:      2302            movs    r3, #2
- 800eb6a:      e31b            b.n     800f1a4 <_svfprintf_r+0x8e4>
- 800eb6c:      9802            ldr     r0, [sp, #8]
- 800eb6e:      f002 f98b       bl      8010e88 <_localeconv_r>
- 800eb72:      6843            ldr     r3, [r0, #4]
- 800eb74:      9312            str     r3, [sp, #72]   ; 0x48
- 800eb76:      4618            mov     r0, r3
- 800eb78:      f7f8 f92c       bl      8006dd4 <strlen>
- 800eb7c:      900e            str     r0, [sp, #56]   ; 0x38
- 800eb7e:      9802            ldr     r0, [sp, #8]
- 800eb80:      f002 f982       bl      8010e88 <_localeconv_r>
- 800eb84:      6883            ldr     r3, [r0, #8]
- 800eb86:      9307            str     r3, [sp, #28]
- 800eb88:      9b0e            ldr     r3, [sp, #56]   ; 0x38
- 800eb8a:      2b00            cmp     r3, #0
- 800eb8c:      f43f aefd       beq.w   800e98a <_svfprintf_r+0xca>
- 800eb90:      9b07            ldr     r3, [sp, #28]
- 800eb92:      2b00            cmp     r3, #0
- 800eb94:      f43f aef9       beq.w   800e98a <_svfprintf_r+0xca>
- 800eb98:      781b            ldrb    r3, [r3, #0]
- 800eb9a:      2b00            cmp     r3, #0
- 800eb9c:      f43f aef5       beq.w   800e98a <_svfprintf_r+0xca>
- 800eba0:      f445 6580       orr.w   r5, r5, #1024   ; 0x400
- 800eba4:      e6f1            b.n     800e98a <_svfprintf_r+0xca>
- 800eba6:      f89d 305b       ldrb.w  r3, [sp, #91]   ; 0x5b
- 800ebaa:      2b00            cmp     r3, #0
- 800ebac:      f47f aeed       bne.w   800e98a <_svfprintf_r+0xca>
- 800ebb0:      2320            movs    r3, #32
- 800ebb2:      f88d 305b       strb.w  r3, [sp, #91]   ; 0x5b
- 800ebb6:      e6e8            b.n     800e98a <_svfprintf_r+0xca>
- 800ebb8:      f045 0501       orr.w   r5, r5, #1
- 800ebbc:      e6e5            b.n     800e98a <_svfprintf_r+0xca>
- 800ebbe:      6832            ldr     r2, [r6, #0]
- 800ebc0:      920b            str     r2, [sp, #44]   ; 0x2c
- 800ebc2:      2a00            cmp     r2, #0
- 800ebc4:      f106 0304       add.w   r3, r6, #4
- 800ebc8:      dab0            bge.n   800eb2c <_svfprintf_r+0x26c>
- 800ebca:      4252            negs    r2, r2
- 800ebcc:      920b            str     r2, [sp, #44]   ; 0x2c
- 800ebce:      461e            mov     r6, r3
- 800ebd0:      f045 0504       orr.w   r5, r5, #4
- 800ebd4:      e6d9            b.n     800e98a <_svfprintf_r+0xca>
- 800ebd6:      232b            movs    r3, #43 ; 0x2b
- 800ebd8:      e7eb            b.n     800ebb2 <_svfprintf_r+0x2f2>
- 800ebda:      9a08            ldr     r2, [sp, #32]
- 800ebdc:      9b08            ldr     r3, [sp, #32]
- 800ebde:      7812            ldrb    r2, [r2, #0]
- 800ebe0:      9204            str     r2, [sp, #16]
- 800ebe2:      2a2a            cmp     r2, #42 ; 0x2a
- 800ebe4:      f103 0301       add.w   r3, r3, #1
- 800ebe8:      d110            bne.n   800ec0c <_svfprintf_r+0x34c>
- 800ebea:      6832            ldr     r2, [r6, #0]
- 800ebec:      9308            str     r3, [sp, #32]
- 800ebee:      ea42 78e2       orr.w   r8, r2, r2, asr #31
- 800ebf2:      3604            adds    r6, #4
- 800ebf4:      e6c9            b.n     800e98a <_svfprintf_r+0xca>
- 800ebf6:      210a            movs    r1, #10
- 800ebf8:      fb01 2808       mla     r8, r1, r8, r2
- 800ebfc:      f813 2b01       ldrb.w  r2, [r3], #1
- 800ec00:      9204            str     r2, [sp, #16]
- 800ec02:      9a04            ldr     r2, [sp, #16]
- 800ec04:      3a30            subs    r2, #48 ; 0x30
- 800ec06:      2a09            cmp     r2, #9
- 800ec08:      d9f5            bls.n   800ebf6 <_svfprintf_r+0x336>
- 800ec0a:      e6c3            b.n     800e994 <_svfprintf_r+0xd4>
- 800ec0c:      f04f 0800       mov.w   r8, #0
- 800ec10:      e7f7            b.n     800ec02 <_svfprintf_r+0x342>
- 800ec12:      f045 0580       orr.w   r5, r5, #128    ; 0x80
- 800ec16:      e6b8            b.n     800e98a <_svfprintf_r+0xca>
- 800ec18:      2200            movs    r2, #0
- 800ec1a:      9b08            ldr     r3, [sp, #32]
- 800ec1c:      920b            str     r2, [sp, #44]   ; 0x2c
- 800ec1e:      9a04            ldr     r2, [sp, #16]
- 800ec20:      990b            ldr     r1, [sp, #44]   ; 0x2c
- 800ec22:      3a30            subs    r2, #48 ; 0x30
- 800ec24:      200a            movs    r0, #10
- 800ec26:      fb00 2201       mla     r2, r0, r1, r2
- 800ec2a:      920b            str     r2, [sp, #44]   ; 0x2c
- 800ec2c:      f813 2b01       ldrb.w  r2, [r3], #1
- 800ec30:      9204            str     r2, [sp, #16]
- 800ec32:      3a30            subs    r2, #48 ; 0x30
- 800ec34:      2a09            cmp     r2, #9
- 800ec36:      d9f2            bls.n   800ec1e <_svfprintf_r+0x35e>
- 800ec38:      e6ac            b.n     800e994 <_svfprintf_r+0xd4>
- 800ec3a:      f045 0508       orr.w   r5, r5, #8
- 800ec3e:      e6a4            b.n     800e98a <_svfprintf_r+0xca>
-       ...
- 800ec48:      08012e51        .word   0x08012e51
- 800ec4c:      9b08            ldr     r3, [sp, #32]
- 800ec4e:      781b            ldrb    r3, [r3, #0]
- 800ec50:      2b68            cmp     r3, #104        ; 0x68
- 800ec52:      bf01            itttt   eq
- 800ec54:      9b08            ldreq   r3, [sp, #32]
- 800ec56:      3301            addeq   r3, #1
- 800ec58:      9308            streq   r3, [sp, #32]
- 800ec5a:      f445 7500       orreq.w r5, r5, #512    ; 0x200
- 800ec5e:      bf18            it      ne
- 800ec60:      f045 0540       orrne.w r5, r5, #64     ; 0x40
- 800ec64:      e691            b.n     800e98a <_svfprintf_r+0xca>
- 800ec66:      9b08            ldr     r3, [sp, #32]
- 800ec68:      781b            ldrb    r3, [r3, #0]
- 800ec6a:      2b6c            cmp     r3, #108        ; 0x6c
- 800ec6c:      d105            bne.n   800ec7a <_svfprintf_r+0x3ba>
- 800ec6e:      9b08            ldr     r3, [sp, #32]
- 800ec70:      3301            adds    r3, #1
- 800ec72:      9308            str     r3, [sp, #32]
- 800ec74:      f045 0520       orr.w   r5, r5, #32
- 800ec78:      e687            b.n     800e98a <_svfprintf_r+0xca>
- 800ec7a:      f045 0510       orr.w   r5, r5, #16
- 800ec7e:      e684            b.n     800e98a <_svfprintf_r+0xca>
- 800ec80:      1d33            adds    r3, r6, #4
- 800ec82:      9306            str     r3, [sp, #24]
- 800ec84:      6833            ldr     r3, [r6, #0]
- 800ec86:      f88d 30c4       strb.w  r3, [sp, #196]  ; 0xc4
- 800ec8a:      2300            movs    r3, #0
- 800ec8c:      f88d 305b       strb.w  r3, [sp, #91]   ; 0x5b
- 800ec90:      469a            mov     sl, r3
- 800ec92:      f04f 0801       mov.w   r8, #1
- 800ec96:      930c            str     r3, [sp, #48]   ; 0x30
- 800ec98:      461f            mov     r7, r3
- 800ec9a:      9305            str     r3, [sp, #20]
- 800ec9c:      461e            mov     r6, r3
- 800ec9e:      f10d 09c4       add.w   r9, sp, #196    ; 0xc4
- 800eca2:      e2ce            b.n     800f242 <_svfprintf_r+0x982>
- 800eca4:      f045 0510       orr.w   r5, r5, #16
- 800eca8:      06a9            lsls    r1, r5, #26
- 800ecaa:      d521            bpl.n   800ecf0 <_svfprintf_r+0x430>
- 800ecac:      3607            adds    r6, #7
- 800ecae:      f026 0607       bic.w   r6, r6, #7
- 800ecb2:      f106 0308       add.w   r3, r6, #8
- 800ecb6:      e9d6 6700       ldrd    r6, r7, [r6]
- 800ecba:      9306            str     r3, [sp, #24]
- 800ecbc:      2e00            cmp     r6, #0
- 800ecbe:      f177 0300       sbcs.w  r3, r7, #0
- 800ecc2:      da06            bge.n   800ecd2 <_svfprintf_r+0x412>
- 800ecc4:      4276            negs    r6, r6
- 800ecc6:      f04f 032d       mov.w   r3, #45 ; 0x2d
- 800ecca:      eb67 0747       sbc.w   r7, r7, r7, lsl #1
- 800ecce:      f88d 305b       strb.w  r3, [sp, #91]   ; 0x5b
- 800ecd2:      f1b8 3fff       cmp.w   r8, #4294967295 ; 0xffffffff
- 800ecd6:      f040 83b6       bne.w   800f446 <_svfprintf_r+0xb86>
- 800ecda:      2f00            cmp     r7, #0
- 800ecdc:      bf08            it      eq
- 800ecde:      2e0a            cmpeq   r6, #10
- 800ece0:      f080 83e8       bcs.w   800f4b4 <_svfprintf_r+0xbf4>
- 800ece4:      f50d 7994       add.w   r9, sp, #296    ; 0x128
- 800ece8:      3630            adds    r6, #48 ; 0x30
- 800ecea:      f809 6d01       strb.w  r6, [r9, #-1]!
- 800ecee:      e3cc            b.n     800f48a <_svfprintf_r+0xbca>
- 800ecf0:      1d33            adds    r3, r6, #4
- 800ecf2:      06ea            lsls    r2, r5, #27
- 800ecf4:      9306            str     r3, [sp, #24]
- 800ecf6:      d502            bpl.n   800ecfe <_svfprintf_r+0x43e>
- 800ecf8:      6836            ldr     r6, [r6, #0]
- 800ecfa:      17f7            asrs    r7, r6, #31
- 800ecfc:      e7de            b.n     800ecbc <_svfprintf_r+0x3fc>
- 800ecfe:      f015 0f40       tst.w   r5, #64 ; 0x40
- 800ed02:      6836            ldr     r6, [r6, #0]
- 800ed04:      d001            beq.n   800ed0a <_svfprintf_r+0x44a>
- 800ed06:      b236            sxth    r6, r6
- 800ed08:      e7f7            b.n     800ecfa <_svfprintf_r+0x43a>
- 800ed0a:      05ab            lsls    r3, r5, #22
- 800ed0c:      bf48            it      mi
- 800ed0e:      b276            sxtbmi  r6, r6
- 800ed10:      e7f3            b.n     800ecfa <_svfprintf_r+0x43a>
- 800ed12:      3607            adds    r6, #7
- 800ed14:      f026 0607       bic.w   r6, r6, #7
- 800ed18:      ed96 8b00       vldr    d8, [r6]
- 800ed1c:      ed9f 7bb0       vldr    d7, [pc, #704]  ; 800efe0 <_svfprintf_r+0x720>
- 800ed20:      eeb0 6bc8       vabs.f64        d6, d8
- 800ed24:      f106 0308       add.w   r3, r6, #8
- 800ed28:      eeb4 6b47       vcmp.f64        d6, d7
- 800ed2c:      eef1 fa10       vmrs    APSR_nzcv, fpscr
- 800ed30:      9306            str     r3, [sp, #24]
- 800ed32:      dd17            ble.n   800ed64 <_svfprintf_r+0x4a4>
- 800ed34:      eeb5 8bc0       vcmpe.f64       d8, #0.0
- 800ed38:      eef1 fa10       vmrs    APSR_nzcv, fpscr
- 800ed3c:      d502            bpl.n   800ed44 <_svfprintf_r+0x484>
- 800ed3e:      232d            movs    r3, #45 ; 0x2d
- 800ed40:      f88d 305b       strb.w  r3, [sp, #91]   ; 0x5b
- 800ed44:      4aa8            ldr     r2, [pc, #672]  ; (800efe8 <_svfprintf_r+0x728>)
- 800ed46:      4ba9            ldr     r3, [pc, #676]  ; (800efec <_svfprintf_r+0x72c>)
- 800ed48:      9904            ldr     r1, [sp, #16]
- 800ed4a:      f025 0580       bic.w   r5, r5, #128    ; 0x80
- 800ed4e:      2947            cmp     r1, #71 ; 0x47
- 800ed50:      bfcc            ite     gt
- 800ed52:      4691            movgt   r9, r2
- 800ed54:      4699            movle   r9, r3
- 800ed56:      f04f 0a00       mov.w   sl, #0
- 800ed5a:      f04f 0803       mov.w   r8, #3
- 800ed5e:      f8cd a030       str.w   sl, [sp, #48]   ; 0x30
- 800ed62:      e399            b.n     800f498 <_svfprintf_r+0xbd8>
- 800ed64:      eeb4 8b48       vcmp.f64        d8, d8
- 800ed68:      eef1 fa10       vmrs    APSR_nzcv, fpscr
- 800ed6c:      d709            bvc.n   800ed82 <_svfprintf_r+0x4c2>
- 800ed6e:      ee18 3a90       vmov    r3, s17
- 800ed72:      2b00            cmp     r3, #0
- 800ed74:      bfbc            itt     lt
- 800ed76:      232d            movlt   r3, #45 ; 0x2d
- 800ed78:      f88d 305b       strblt.w        r3, [sp, #91]   ; 0x5b
- 800ed7c:      4a9c            ldr     r2, [pc, #624]  ; (800eff0 <_svfprintf_r+0x730>)
- 800ed7e:      4b9d            ldr     r3, [pc, #628]  ; (800eff4 <_svfprintf_r+0x734>)
- 800ed80:      e7e2            b.n     800ed48 <_svfprintf_r+0x488>
- 800ed82:      9b04            ldr     r3, [sp, #16]
- 800ed84:      f023 0720       bic.w   r7, r3, #32
- 800ed88:      2f41            cmp     r7, #65 ; 0x41
- 800ed8a:      d126            bne.n   800edda <_svfprintf_r+0x51a>
- 800ed8c:      2330            movs    r3, #48 ; 0x30
- 800ed8e:      f88d 305c       strb.w  r3, [sp, #92]   ; 0x5c
- 800ed92:      9b04            ldr     r3, [sp, #16]
- 800ed94:      2b61            cmp     r3, #97 ; 0x61
- 800ed96:      bf14            ite     ne
- 800ed98:      2358            movne   r3, #88 ; 0x58
- 800ed9a:      2378            moveq   r3, #120        ; 0x78
- 800ed9c:      f1b8 0f63       cmp.w   r8, #99 ; 0x63
- 800eda0:      f88d 305d       strb.w  r3, [sp, #93]   ; 0x5d
- 800eda4:      f045 0502       orr.w   r5, r5, #2
- 800eda8:      dd24            ble.n   800edf4 <_svfprintf_r+0x534>
- 800edaa:      f108 0101       add.w   r1, r8, #1
- 800edae:      9802            ldr     r0, [sp, #8]
- 800edb0:      f7ff f89c       bl      800deec <_malloc_r>
- 800edb4:      4681            mov     r9, r0
- 800edb6:      2800            cmp     r0, #0
- 800edb8:      f040 80ec       bne.w   800ef94 <_svfprintf_r+0x6d4>
- 800edbc:      f8bb 300c       ldrh.w  r3, [fp, #12]
- 800edc0:      f043 0340       orr.w   r3, r3, #64     ; 0x40
- 800edc4:      f8ab 300c       strh.w  r3, [fp, #12]
- 800edc8:      f8bb 300c       ldrh.w  r3, [fp, #12]
- 800edcc:      f013 0f40       tst.w   r3, #64 ; 0x40
- 800edd0:      9b0a            ldr     r3, [sp, #40]   ; 0x28
- 800edd2:      bf18            it      ne
- 800edd4:      f04f 33ff       movne.w r3, #4294967295 ; 0xffffffff
- 800edd8:      e598            b.n     800e90c <_svfprintf_r+0x4c>
- 800edda:      f1b8 3fff       cmp.w   r8, #4294967295 ; 0xffffffff
- 800edde:      f000 80db       beq.w   800ef98 <_svfprintf_r+0x6d8>
- 800ede2:      2f47            cmp     r7, #71 ; 0x47
- 800ede4:      d103            bne.n   800edee <_svfprintf_r+0x52e>
- 800ede6:      f1b8 0f00       cmp.w   r8, #0
- 800edea:      f000 80da       beq.w   800efa2 <_svfprintf_r+0x6e2>
- 800edee:      f04f 0a00       mov.w   sl, #0
- 800edf2:      e003            b.n     800edfc <_svfprintf_r+0x53c>
- 800edf4:      f04f 0a00       mov.w   sl, #0
- 800edf8:      f10d 09c4       add.w   r9, sp, #196    ; 0xc4
- 800edfc:      f445 7380       orr.w   r3, r5, #256    ; 0x100
- 800ee00:      930c            str     r3, [sp, #48]   ; 0x30
- 800ee02:      ee18 3a90       vmov    r3, s17
- 800ee06:      2b00            cmp     r3, #0
- 800ee08:      f280 80cf       bge.w   800efaa <_svfprintf_r+0x6ea>
- 800ee0c:      eeb1 9b48       vneg.f64        d9, d8
- 800ee10:      232d            movs    r3, #45 ; 0x2d
- 800ee12:      2f41            cmp     r7, #65 ; 0x41
- 800ee14:      930d            str     r3, [sp, #52]   ; 0x34
- 800ee16:      f040 80d9       bne.w   800efcc <_svfprintf_r+0x70c>
- 800ee1a:      eeb0 0b49       vmov.f64        d0, d9
- 800ee1e:      a818            add     r0, sp, #96     ; 0x60
- 800ee20:      f002 fb5e       bl      80114e0 <frexp>
- 800ee24:      eeb4 7b00       vmov.f64        d7, #64 ; 0x3e000000  0.125
- 800ee28:      ee20 0b07       vmul.f64        d0, d0, d7
- 800ee2c:      eeb5 0b40       vcmp.f64        d0, #0.0
- 800ee30:      eef1 fa10       vmrs    APSR_nzcv, fpscr
- 800ee34:      bf04            itt     eq
- 800ee36:      2301            moveq   r3, #1
- 800ee38:      9318            streq   r3, [sp, #96]   ; 0x60
- 800ee3a:      9a04            ldr     r2, [sp, #16]
- 800ee3c:      4b6e            ldr     r3, [pc, #440]  ; (800eff8 <_svfprintf_r+0x738>)
- 800ee3e:      496f            ldr     r1, [pc, #444]  ; (800effc <_svfprintf_r+0x73c>)
- 800ee40:      eeb3 7b00       vmov.f64        d7, #48 ; 0x41800000  16.0
- 800ee44:      2a61            cmp     r2, #97 ; 0x61
- 800ee46:      bf08            it      eq
- 800ee48:      4619            moveq   r1, r3
- 800ee4a:      f108 32ff       add.w   r2, r8, #4294967295     ; 0xffffffff
- 800ee4e:      464b            mov     r3, r9
- 800ee50:      ee20 0b07       vmul.f64        d0, d0, d7
- 800ee54:      eefd 6bc0       vcvt.s32.f64    s13, d0
- 800ee58:      f1b2 3fff       cmp.w   r2, #4294967295 ; 0xffffffff
- 800ee5c:      ee16 0a90       vmov    r0, s13
- 800ee60:      5c0e            ldrb    r6, [r1, r0]
- 800ee62:      f803 6b01       strb.w  r6, [r3], #1
- 800ee66:      eeb8 6be6       vcvt.f64.s32    d6, s13
- 800ee6a:      4616            mov     r6, r2
- 800ee6c:      ee30 0b46       vsub.f64        d0, d0, d6
- 800ee70:      d006            beq.n   800ee80 <_svfprintf_r+0x5c0>
- 800ee72:      eeb5 0b40       vcmp.f64        d0, #0.0
- 800ee76:      eef1 fa10       vmrs    APSR_nzcv, fpscr
- 800ee7a:      f102 32ff       add.w   r2, r2, #4294967295     ; 0xffffffff
- 800ee7e:      d1e7            bne.n   800ee50 <_svfprintf_r+0x590>
- 800ee80:      eeb6 7b00       vmov.f64        d7, #96 ; 0x3f000000  0.5
- 800ee84:      eeb4 0bc7       vcmpe.f64       d0, d7
- 800ee88:      eef1 fa10       vmrs    APSR_nzcv, fpscr
- 800ee8c:      dc08            bgt.n   800eea0 <_svfprintf_r+0x5e0>
- 800ee8e:      eeb4 0b47       vcmp.f64        d0, d7
- 800ee92:      eef1 fa10       vmrs    APSR_nzcv, fpscr
- 800ee96:      f040 8095       bne.w   800efc4 <_svfprintf_r+0x704>
- 800ee9a:      07c0            lsls    r0, r0, #31
- 800ee9c:      f140 8092       bpl.w   800efc4 <_svfprintf_r+0x704>
- 800eea0:      7bce            ldrb    r6, [r1, #15]
- 800eea2:      931c            str     r3, [sp, #112]  ; 0x70
- 800eea4:      f04f 0c30       mov.w   ip, #48 ; 0x30
- 800eea8:      981c            ldr     r0, [sp, #112]  ; 0x70
- 800eeaa:      1e42            subs    r2, r0, #1
- 800eeac:      921c            str     r2, [sp, #112]  ; 0x70
- 800eeae:      f810 2c01       ldrb.w  r2, [r0, #-1]
- 800eeb2:      42b2            cmp     r2, r6
- 800eeb4:      d07d            beq.n   800efb2 <_svfprintf_r+0x6f2>
- 800eeb6:      2a39            cmp     r2, #57 ; 0x39
- 800eeb8:      bf16            itet    ne
- 800eeba:      3201            addne   r2, #1
- 800eebc:      7a8a            ldrbeq  r2, [r1, #10]
- 800eebe:      b2d2            uxtbne  r2, r2
- 800eec0:      f800 2c01       strb.w  r2, [r0, #-1]
- 800eec4:      461a            mov     r2, r3
- 800eec6:      eba2 0309       sub.w   r3, r2, r9
- 800eeca:      2f47            cmp     r7, #71 ; 0x47
- 800eecc:      9303            str     r3, [sp, #12]
- 800eece:      9e18            ldr     r6, [sp, #96]   ; 0x60
- 800eed0:      f040 80ce       bne.w   800f070 <_svfprintf_r+0x7b0>
- 800eed4:      1cf2            adds    r2, r6, #3
- 800eed6:      db02            blt.n   800eede <_svfprintf_r+0x61e>
- 800eed8:      45b0            cmp     r8, r6
- 800eeda:      f280 80f5       bge.w   800f0c8 <_svfprintf_r+0x808>
- 800eede:      9b04            ldr     r3, [sp, #16]
- 800eee0:      3b02            subs    r3, #2
- 800eee2:      9304            str     r3, [sp, #16]
- 800eee4:      9904            ldr     r1, [sp, #16]
- 800eee6:      f89d 2010       ldrb.w  r2, [sp, #16]
- 800eeea:      f021 0120       bic.w   r1, r1, #32
- 800eeee:      2941            cmp     r1, #65 ; 0x41
- 800eef0:      bf08            it      eq
- 800eef2:      320f            addeq   r2, #15
- 800eef4:      f106 33ff       add.w   r3, r6, #4294967295     ; 0xffffffff
- 800eef8:      bf06            itte    eq
- 800eefa:      b2d2            uxtbeq  r2, r2
- 800eefc:      2101            moveq   r1, #1
- 800eefe:      2100            movne   r1, #0
- 800ef00:      2b00            cmp     r3, #0
- 800ef02:      9318            str     r3, [sp, #96]   ; 0x60
- 800ef04:      bfb8            it      lt
- 800ef06:      f1c6 0301       rsblt   r3, r6, #1
- 800ef0a:      f88d 2068       strb.w  r2, [sp, #104]  ; 0x68
- 800ef0e:      bfb4            ite     lt
- 800ef10:      222d            movlt   r2, #45 ; 0x2d
- 800ef12:      222b            movge   r2, #43 ; 0x2b
- 800ef14:      2b09            cmp     r3, #9
- 800ef16:      f88d 2069       strb.w  r2, [sp, #105]  ; 0x69
- 800ef1a:      f340 80c0       ble.w   800f09e <_svfprintf_r+0x7de>
- 800ef1e:      f10d 0277       add.w   r2, sp, #119    ; 0x77
- 800ef22:      260a            movs    r6, #10
- 800ef24:      fb93 f0f6       sdiv    r0, r3, r6
- 800ef28:      fb06 3310       mls     r3, r6, r0, r3
- 800ef2c:      3330            adds    r3, #48 ; 0x30
- 800ef2e:      2809            cmp     r0, #9
- 800ef30:      f802 3c01       strb.w  r3, [r2, #-1]
- 800ef34:      f102 31ff       add.w   r1, r2, #4294967295     ; 0xffffffff
- 800ef38:      4603            mov     r3, r0
- 800ef3a:      f300 80a9       bgt.w   800f090 <_svfprintf_r+0x7d0>
- 800ef3e:      3330            adds    r3, #48 ; 0x30
- 800ef40:      f801 3c01       strb.w  r3, [r1, #-1]
- 800ef44:      3a02            subs    r2, #2
- 800ef46:      f10d 036a       add.w   r3, sp, #106    ; 0x6a
- 800ef4a:      f10d 0077       add.w   r0, sp, #119    ; 0x77
- 800ef4e:      4282            cmp     r2, r0
- 800ef50:      4619            mov     r1, r3
- 800ef52:      f0c0 809f       bcc.w   800f094 <_svfprintf_r+0x7d4>
- 800ef56:      9a03            ldr     r2, [sp, #12]
- 800ef58:      ab1a            add     r3, sp, #104    ; 0x68
- 800ef5a:      1acb            subs    r3, r1, r3
- 800ef5c:      2a01            cmp     r2, #1
- 800ef5e:      9310            str     r3, [sp, #64]   ; 0x40
- 800ef60:      eb03 0802       add.w   r8, r3, r2
- 800ef64:      dc01            bgt.n   800ef6a <_svfprintf_r+0x6aa>
- 800ef66:      07eb            lsls    r3, r5, #31
- 800ef68:      d501            bpl.n   800ef6e <_svfprintf_r+0x6ae>
- 800ef6a:      9b09            ldr     r3, [sp, #36]   ; 0x24
- 800ef6c:      4498            add     r8, r3
- 800ef6e:      f425 6580       bic.w   r5, r5, #1024   ; 0x400
- 800ef72:      2700            movs    r7, #0
- 800ef74:      f445 7380       orr.w   r3, r5, #256    ; 0x100
- 800ef78:      930c            str     r3, [sp, #48]   ; 0x30
- 800ef7a:      9705            str     r7, [sp, #20]
- 800ef7c:      463e            mov     r6, r7
- 800ef7e:      9b0d            ldr     r3, [sp, #52]   ; 0x34
- 800ef80:      2b00            cmp     r3, #0
- 800ef82:      f000 82fe       beq.w   800f582 <_svfprintf_r+0xcc2>
- 800ef86:      232d            movs    r3, #45 ; 0x2d
- 800ef88:      9d0c            ldr     r5, [sp, #48]   ; 0x30
- 800ef8a:      f88d 305b       strb.w  r3, [sp, #91]   ; 0x5b
- 800ef8e:      2300            movs    r3, #0
- 800ef90:      930c            str     r3, [sp, #48]   ; 0x30
- 800ef92:      e156            b.n     800f242 <_svfprintf_r+0x982>
- 800ef94:      4682            mov     sl, r0
- 800ef96:      e731            b.n     800edfc <_svfprintf_r+0x53c>
- 800ef98:      f04f 0a00       mov.w   sl, #0
- 800ef9c:      f04f 0806       mov.w   r8, #6
- 800efa0:      e72c            b.n     800edfc <_svfprintf_r+0x53c>
- 800efa2:      46c2            mov     sl, r8
- 800efa4:      f04f 0801       mov.w   r8, #1
- 800efa8:      e728            b.n     800edfc <_svfprintf_r+0x53c>
- 800efaa:      eeb0 9b48       vmov.f64        d9, d8
- 800efae:      2300            movs    r3, #0
- 800efb0:      e72f            b.n     800ee12 <_svfprintf_r+0x552>
- 800efb2:      f800 cc01       strb.w  ip, [r0, #-1]
- 800efb6:      e777            b.n     800eea8 <_svfprintf_r+0x5e8>
- 800efb8:      f802 0b01       strb.w  r0, [r2], #1
- 800efbc:      1a99            subs    r1, r3, r2
- 800efbe:      2900            cmp     r1, #0
- 800efc0:      dafa            bge.n   800efb8 <_svfprintf_r+0x6f8>
- 800efc2:      e780            b.n     800eec6 <_svfprintf_r+0x606>
- 800efc4:      461a            mov     r2, r3
- 800efc6:      2030            movs    r0, #48 ; 0x30
- 800efc8:      4433            add     r3, r6
- 800efca:      e7f7            b.n     800efbc <_svfprintf_r+0x6fc>
- 800efcc:      2f46            cmp     r7, #70 ; 0x46
- 800efce:      d017            beq.n   800f000 <_svfprintf_r+0x740>
- 800efd0:      2f45            cmp     r7, #69 ; 0x45
- 800efd2:      d146            bne.n   800f062 <_svfprintf_r+0x7a2>
- 800efd4:      f108 0601       add.w   r6, r8, #1
- 800efd8:      2102            movs    r1, #2
- 800efda:      e013            b.n     800f004 <_svfprintf_r+0x744>
- 800efdc:      f3af 8000       nop.w
- 800efe0:      ffffffff        .word   0xffffffff
- 800efe4:      7fefffff        .word   0x7fefffff
- 800efe8:      08012e34        .word   0x08012e34
- 800efec:      08012e30        .word   0x08012e30
- 800eff0:      08012e3c        .word   0x08012e3c
- 800eff4:      08012e38        .word   0x08012e38
- 800eff8:      08012e40        .word   0x08012e40
- 800effc:      08012e51        .word   0x08012e51
- 800f000:      4646            mov     r6, r8
- 800f002:      2103            movs    r1, #3
- 800f004:      ab1c            add     r3, sp, #112    ; 0x70
- 800f006:      9301            str     r3, [sp, #4]
- 800f008:      ab19            add     r3, sp, #100    ; 0x64
- 800f00a:      9300            str     r3, [sp, #0]
- 800f00c:      4632            mov     r2, r6
- 800f00e:      ab18            add     r3, sp, #96     ; 0x60
- 800f010:      eeb0 0b49       vmov.f64        d0, d9
- 800f014:      9802            ldr     r0, [sp, #8]
- 800f016:      f000 ff9b       bl      800ff50 <_dtoa_r>
- 800f01a:      2f47            cmp     r7, #71 ; 0x47
- 800f01c:      4681            mov     r9, r0
- 800f01e:      d101            bne.n   800f024 <_svfprintf_r+0x764>
- 800f020:      07e9            lsls    r1, r5, #31
- 800f022:      d521            bpl.n   800f068 <_svfprintf_r+0x7a8>
- 800f024:      2f46            cmp     r7, #70 ; 0x46
- 800f026:      eb09 0306       add.w   r3, r9, r6
- 800f02a:      d10d            bne.n   800f048 <_svfprintf_r+0x788>
- 800f02c:      f899 2000       ldrb.w  r2, [r9]
- 800f030:      2a30            cmp     r2, #48 ; 0x30
- 800f032:      d107            bne.n   800f044 <_svfprintf_r+0x784>
- 800f034:      eeb5 9b40       vcmp.f64        d9, #0.0
- 800f038:      eef1 fa10       vmrs    APSR_nzcv, fpscr
- 800f03c:      bf1c            itt     ne
- 800f03e:      f1c6 0601       rsbne   r6, r6, #1
- 800f042:      9618            strne   r6, [sp, #96]   ; 0x60
- 800f044:      9a18            ldr     r2, [sp, #96]   ; 0x60
- 800f046:      4413            add     r3, r2
- 800f048:      eeb5 9b40       vcmp.f64        d9, #0.0
- 800f04c:      eef1 fa10       vmrs    APSR_nzcv, fpscr
- 800f050:      d009            beq.n   800f066 <_svfprintf_r+0x7a6>
- 800f052:      2130            movs    r1, #48 ; 0x30
- 800f054:      9a1c            ldr     r2, [sp, #112]  ; 0x70
- 800f056:      4293            cmp     r3, r2
- 800f058:      d906            bls.n   800f068 <_svfprintf_r+0x7a8>
- 800f05a:      1c50            adds    r0, r2, #1
- 800f05c:      901c            str     r0, [sp, #112]  ; 0x70
- 800f05e:      7011            strb    r1, [r2, #0]
- 800f060:      e7f8            b.n     800f054 <_svfprintf_r+0x794>
- 800f062:      4646            mov     r6, r8
- 800f064:      e7b8            b.n     800efd8 <_svfprintf_r+0x718>
- 800f066:      931c            str     r3, [sp, #112]  ; 0x70
- 800f068:      9b1c            ldr     r3, [sp, #112]  ; 0x70
- 800f06a:      eba3 0309       sub.w   r3, r3, r9
- 800f06e:      e72c            b.n     800eeca <_svfprintf_r+0x60a>
- 800f070:      2f46            cmp     r7, #70 ; 0x46
- 800f072:      f47f af37       bne.w   800eee4 <_svfprintf_r+0x624>
- 800f076:      2e00            cmp     r6, #0
- 800f078:      dd1e            ble.n   800f0b8 <_svfprintf_r+0x7f8>
- 800f07a:      f1b8 0f00       cmp.w   r8, #0
- 800f07e:      d101            bne.n   800f084 <_svfprintf_r+0x7c4>
- 800f080:      07ef            lsls    r7, r5, #31
- 800f082:      d535            bpl.n   800f0f0 <_svfprintf_r+0x830>
- 800f084:      9b09            ldr     r3, [sp, #36]   ; 0x24
- 800f086:      18f3            adds    r3, r6, r3
- 800f088:      4498            add     r8, r3
- 800f08a:      2366            movs    r3, #102        ; 0x66
- 800f08c:      9304            str     r3, [sp, #16]
- 800f08e:      e035            b.n     800f0fc <_svfprintf_r+0x83c>
- 800f090:      460a            mov     r2, r1
- 800f092:      e746            b.n     800ef22 <_svfprintf_r+0x662>
- 800f094:      f812 1b01       ldrb.w  r1, [r2], #1
- 800f098:      f803 1b01       strb.w  r1, [r3], #1
- 800f09c:      e757            b.n     800ef4e <_svfprintf_r+0x68e>
- 800f09e:      b941            cbnz    r1, 800f0b2 <_svfprintf_r+0x7f2>
- 800f0a0:      2230            movs    r2, #48 ; 0x30
- 800f0a2:      f88d 206a       strb.w  r2, [sp, #106]  ; 0x6a
- 800f0a6:      f10d 026b       add.w   r2, sp, #107    ; 0x6b
- 800f0aa:      3330            adds    r3, #48 ; 0x30
- 800f0ac:      1c51            adds    r1, r2, #1
- 800f0ae:      7013            strb    r3, [r2, #0]
- 800f0b0:      e751            b.n     800ef56 <_svfprintf_r+0x696>
- 800f0b2:      f10d 026a       add.w   r2, sp, #106    ; 0x6a
- 800f0b6:      e7f8            b.n     800f0aa <_svfprintf_r+0x7ea>
- 800f0b8:      f1b8 0f00       cmp.w   r8, #0
- 800f0bc:      d101            bne.n   800f0c2 <_svfprintf_r+0x802>
- 800f0be:      07e8            lsls    r0, r5, #31
- 800f0c0:      d518            bpl.n   800f0f4 <_svfprintf_r+0x834>
- 800f0c2:      9b09            ldr     r3, [sp, #36]   ; 0x24
- 800f0c4:      3301            adds    r3, #1
- 800f0c6:      e7df            b.n     800f088 <_svfprintf_r+0x7c8>
- 800f0c8:      9b03            ldr     r3, [sp, #12]
- 800f0ca:      42b3            cmp     r3, r6
- 800f0cc:      dc06            bgt.n   800f0dc <_svfprintf_r+0x81c>
- 800f0ce:      07e9            lsls    r1, r5, #31
- 800f0d0:      d527            bpl.n   800f122 <_svfprintf_r+0x862>
- 800f0d2:      9b09            ldr     r3, [sp, #36]   ; 0x24
- 800f0d4:      eb06 0803       add.w   r8, r6, r3
- 800f0d8:      2367            movs    r3, #103        ; 0x67
- 800f0da:      e7d7            b.n     800f08c <_svfprintf_r+0x7cc>
- 800f0dc:      9b03            ldr     r3, [sp, #12]
- 800f0de:      9a09            ldr     r2, [sp, #36]   ; 0x24
- 800f0e0:      2e00            cmp     r6, #0
- 800f0e2:      eb03 0802       add.w   r8, r3, r2
- 800f0e6:      dcf7            bgt.n   800f0d8 <_svfprintf_r+0x818>
- 800f0e8:      f1c6 0301       rsb     r3, r6, #1
- 800f0ec:      4498            add     r8, r3
- 800f0ee:      e7f3            b.n     800f0d8 <_svfprintf_r+0x818>
- 800f0f0:      46b0            mov     r8, r6
- 800f0f2:      e7ca            b.n     800f08a <_svfprintf_r+0x7ca>
- 800f0f4:      2366            movs    r3, #102        ; 0x66
- 800f0f6:      9304            str     r3, [sp, #16]
- 800f0f8:      f04f 0801       mov.w   r8, #1
- 800f0fc:      f415 6380       ands.w  r3, r5, #1024   ; 0x400
- 800f100:      9305            str     r3, [sp, #20]
- 800f102:      d01f            beq.n   800f144 <_svfprintf_r+0x884>
- 800f104:      2700            movs    r7, #0
- 800f106:      2e00            cmp     r6, #0
- 800f108:      9705            str     r7, [sp, #20]
- 800f10a:      f77f af38       ble.w   800ef7e <_svfprintf_r+0x6be>
- 800f10e:      9b07            ldr     r3, [sp, #28]
- 800f110:      781b            ldrb    r3, [r3, #0]
- 800f112:      2bff            cmp     r3, #255        ; 0xff
- 800f114:      d107            bne.n   800f126 <_svfprintf_r+0x866>
- 800f116:      9b05            ldr     r3, [sp, #20]
- 800f118:      9a0e            ldr     r2, [sp, #56]   ; 0x38
- 800f11a:      443b            add     r3, r7
- 800f11c:      fb02 8803       mla     r8, r2, r3, r8
- 800f120:      e72d            b.n     800ef7e <_svfprintf_r+0x6be>
- 800f122:      46b0            mov     r8, r6
- 800f124:      e7d8            b.n     800f0d8 <_svfprintf_r+0x818>
- 800f126:      42b3            cmp     r3, r6
- 800f128:      daf5            bge.n   800f116 <_svfprintf_r+0x856>
- 800f12a:      1af6            subs    r6, r6, r3
- 800f12c:      9b07            ldr     r3, [sp, #28]
- 800f12e:      785b            ldrb    r3, [r3, #1]
- 800f130:      b133            cbz     r3, 800f140 <_svfprintf_r+0x880>
- 800f132:      9b05            ldr     r3, [sp, #20]
- 800f134:      3301            adds    r3, #1
- 800f136:      9305            str     r3, [sp, #20]
- 800f138:      9b07            ldr     r3, [sp, #28]
- 800f13a:      3301            adds    r3, #1
- 800f13c:      9307            str     r3, [sp, #28]
- 800f13e:      e7e6            b.n     800f10e <_svfprintf_r+0x84e>
- 800f140:      3701            adds    r7, #1
- 800f142:      e7e4            b.n     800f10e <_svfprintf_r+0x84e>
- 800f144:      9f05            ldr     r7, [sp, #20]
- 800f146:      e71a            b.n     800ef7e <_svfprintf_r+0x6be>
- 800f148:      4632            mov     r2, r6
- 800f14a:      f852 3b04       ldr.w   r3, [r2], #4
- 800f14e:      9206            str     r2, [sp, #24]
- 800f150:      06aa            lsls    r2, r5, #26
- 800f152:      d509            bpl.n   800f168 <_svfprintf_r+0x8a8>
- 800f154:      9a0a            ldr     r2, [sp, #40]   ; 0x28
- 800f156:      4610            mov     r0, r2
- 800f158:      17d1            asrs    r1, r2, #31
- 800f15a:      e9c3 0100       strd    r0, r1, [r3]
- 800f15e:      9e06            ldr     r6, [sp, #24]
- 800f160:      f8dd 9020       ldr.w   r9, [sp, #32]
- 800f164:      f7ff bbea       b.w     800e93c <_svfprintf_r+0x7c>
- 800f168:      06ef            lsls    r7, r5, #27
- 800f16a:      d502            bpl.n   800f172 <_svfprintf_r+0x8b2>
- 800f16c:      9a0a            ldr     r2, [sp, #40]   ; 0x28
- 800f16e:      601a            str     r2, [r3, #0]
- 800f170:      e7f5            b.n     800f15e <_svfprintf_r+0x89e>
- 800f172:      066e            lsls    r6, r5, #25
- 800f174:      d502            bpl.n   800f17c <_svfprintf_r+0x8bc>
- 800f176:      9a0a            ldr     r2, [sp, #40]   ; 0x28
- 800f178:      801a            strh    r2, [r3, #0]
- 800f17a:      e7f0            b.n     800f15e <_svfprintf_r+0x89e>
- 800f17c:      05a8            lsls    r0, r5, #22
- 800f17e:      d5f5            bpl.n   800f16c <_svfprintf_r+0x8ac>
- 800f180:      9a0a            ldr     r2, [sp, #40]   ; 0x28
- 800f182:      701a            strb    r2, [r3, #0]
- 800f184:      e7eb            b.n     800f15e <_svfprintf_r+0x89e>
- 800f186:      f045 0510       orr.w   r5, r5, #16
- 800f18a:      06a9            lsls    r1, r5, #26
- 800f18c:      d520            bpl.n   800f1d0 <_svfprintf_r+0x910>
- 800f18e:      3607            adds    r6, #7
- 800f190:      f026 0607       bic.w   r6, r6, #7
- 800f194:      f106 0308       add.w   r3, r6, #8
- 800f198:      e9d6 6700       ldrd    r6, r7, [r6]
- 800f19c:      9306            str     r3, [sp, #24]
- 800f19e:      f425 6580       bic.w   r5, r5, #1024   ; 0x400
- 800f1a2:      2300            movs    r3, #0
- 800f1a4:      2200            movs    r2, #0
- 800f1a6:      f1b8 3fff       cmp.w   r8, #4294967295 ; 0xffffffff
- 800f1aa:      f88d 205b       strb.w  r2, [sp, #91]   ; 0x5b
- 800f1ae:      f000 814d       beq.w   800f44c <_svfprintf_r+0xb8c>
- 800f1b2:      462a            mov     r2, r5
- 800f1b4:      ea56 0107       orrs.w  r1, r6, r7
- 800f1b8:      f025 0580       bic.w   r5, r5, #128    ; 0x80
- 800f1bc:      f040 8146       bne.w   800f44c <_svfprintf_r+0xb8c>
- 800f1c0:      f1b8 0f00       cmp.w   r8, #0
- 800f1c4:      f000 81c7       beq.w   800f556 <_svfprintf_r+0xc96>
- 800f1c8:      2b01            cmp     r3, #1
- 800f1ca:      f040 8142       bne.w   800f452 <_svfprintf_r+0xb92>
- 800f1ce:      e589            b.n     800ece4 <_svfprintf_r+0x424>
- 800f1d0:      1d33            adds    r3, r6, #4
- 800f1d2:      06ea            lsls    r2, r5, #27
- 800f1d4:      9306            str     r3, [sp, #24]
- 800f1d6:      d501            bpl.n   800f1dc <_svfprintf_r+0x91c>
- 800f1d8:      6836            ldr     r6, [r6, #0]
- 800f1da:      e002            b.n     800f1e2 <_svfprintf_r+0x922>
- 800f1dc:      066b            lsls    r3, r5, #25
- 800f1de:      d502            bpl.n   800f1e6 <_svfprintf_r+0x926>
- 800f1e0:      8836            ldrh    r6, [r6, #0]
- 800f1e2:      2700            movs    r7, #0
- 800f1e4:      e7db            b.n     800f19e <_svfprintf_r+0x8de>
- 800f1e6:      05af            lsls    r7, r5, #22
- 800f1e8:      d5f6            bpl.n   800f1d8 <_svfprintf_r+0x918>
- 800f1ea:      7836            ldrb    r6, [r6, #0]
- 800f1ec:      e7f9            b.n     800f1e2 <_svfprintf_r+0x922>
- 800f1ee:      1d33            adds    r3, r6, #4
- 800f1f0:      9306            str     r3, [sp, #24]
- 800f1f2:      f647 0330       movw    r3, #30768      ; 0x7830
- 800f1f6:      f8ad 305c       strh.w  r3, [sp, #92]   ; 0x5c
- 800f1fa:      2278            movs    r2, #120        ; 0x78
- 800f1fc:      4baa            ldr     r3, [pc, #680]  ; (800f4a8 <_svfprintf_r+0xbe8>)
- 800f1fe:      9311            str     r3, [sp, #68]   ; 0x44
- 800f200:      6836            ldr     r6, [r6, #0]
- 800f202:      9204            str     r2, [sp, #16]
- 800f204:      2700            movs    r7, #0
- 800f206:      f045 0502       orr.w   r5, r5, #2
- 800f20a:      2302            movs    r3, #2
- 800f20c:      e7ca            b.n     800f1a4 <_svfprintf_r+0x8e4>
- 800f20e:      1d33            adds    r3, r6, #4
- 800f210:      f8d6 9000       ldr.w   r9, [r6]
- 800f214:      9306            str     r3, [sp, #24]
- 800f216:      2600            movs    r6, #0
- 800f218:      f1b8 3fff       cmp.w   r8, #4294967295 ; 0xffffffff
- 800f21c:      f88d 605b       strb.w  r6, [sp, #91]   ; 0x5b
- 800f220:      f000 80db       beq.w   800f3da <_svfprintf_r+0xb1a>
- 800f224:      4642            mov     r2, r8
- 800f226:      4631            mov     r1, r6
- 800f228:      4648            mov     r0, r9
- 800f22a:      f7f7 fd79       bl      8006d20 <memchr>
- 800f22e:      4682            mov     sl, r0
- 800f230:      2800            cmp     r0, #0
- 800f232:      f43f ad94       beq.w   800ed5e <_svfprintf_r+0x49e>
- 800f236:      eba0 0809       sub.w   r8, r0, r9
- 800f23a:      46b2            mov     sl, r6
- 800f23c:      960c            str     r6, [sp, #48]   ; 0x30
- 800f23e:      4637            mov     r7, r6
- 800f240:      9605            str     r6, [sp, #20]
- 800f242:      9b0c            ldr     r3, [sp, #48]   ; 0x30
- 800f244:      4543            cmp     r3, r8
- 800f246:      bfb8            it      lt
- 800f248:      4643            movlt   r3, r8
- 800f24a:      930d            str     r3, [sp, #52]   ; 0x34
- 800f24c:      f89d 305b       ldrb.w  r3, [sp, #91]   ; 0x5b
- 800f250:      b113            cbz     r3, 800f258 <_svfprintf_r+0x998>
- 800f252:      9b0d            ldr     r3, [sp, #52]   ; 0x34
- 800f254:      3301            adds    r3, #1
- 800f256:      930d            str     r3, [sp, #52]   ; 0x34
- 800f258:      f015 0302       ands.w  r3, r5, #2
- 800f25c:      9313            str     r3, [sp, #76]   ; 0x4c
- 800f25e:      bf1e            ittt    ne
- 800f260:      9b0d            ldrne   r3, [sp, #52]   ; 0x34
- 800f262:      3302            addne   r3, #2
- 800f264:      930d            strne   r3, [sp, #52]   ; 0x34
- 800f266:      f015 0384       ands.w  r3, r5, #132    ; 0x84
- 800f26a:      9314            str     r3, [sp, #80]   ; 0x50
- 800f26c:      d120            bne.n   800f2b0 <_svfprintf_r+0x9f0>
- 800f26e:      9b0b            ldr     r3, [sp, #44]   ; 0x2c
- 800f270:      9a0d            ldr     r2, [sp, #52]   ; 0x34
- 800f272:      1a9b            subs    r3, r3, r2
- 800f274:      2b00            cmp     r3, #0
- 800f276:      dd1b            ble.n   800f2b0 <_svfprintf_r+0x9f0>
- 800f278:      e9dd 2c1f       ldrd    r2, ip, [sp, #124]      ; 0x7c
- 800f27c:      498b            ldr     r1, [pc, #556]  ; (800f4ac <_svfprintf_r+0xbec>)
- 800f27e:      6021            str     r1, [r4, #0]
- 800f280:      2b10            cmp     r3, #16
- 800f282:      f102 0201       add.w   r2, r2, #1
- 800f286:      f104 0008       add.w   r0, r4, #8
- 800f28a:      f300 817d       bgt.w   800f588 <_svfprintf_r+0xcc8>
- 800f28e:      eb0c 0103       add.w   r1, ip, r3
- 800f292:      2a07            cmp     r2, #7
- 800f294:      6063            str     r3, [r4, #4]
- 800f296:      e9cd 211f       strd    r2, r1, [sp, #124]      ; 0x7c
- 800f29a:      f340 818a       ble.w   800f5b2 <_svfprintf_r+0xcf2>
- 800f29e:      aa1e            add     r2, sp, #120    ; 0x78
- 800f2a0:      4659            mov     r1, fp
- 800f2a2:      9802            ldr     r0, [sp, #8]
- 800f2a4:      f002 f9ae       bl      8011604 <__ssprint_r>
- 800f2a8:      2800            cmp     r0, #0
- 800f2aa:      f040 84b7       bne.w   800fc1c <_svfprintf_r+0x135c>
- 800f2ae:      ac21            add     r4, sp, #132    ; 0x84
- 800f2b0:      f89d 305b       ldrb.w  r3, [sp, #91]   ; 0x5b
- 800f2b4:      b173            cbz     r3, 800f2d4 <_svfprintf_r+0xa14>
- 800f2b6:      f10d 035b       add.w   r3, sp, #91     ; 0x5b
- 800f2ba:      6023            str     r3, [r4, #0]
- 800f2bc:      2301            movs    r3, #1
- 800f2be:      6063            str     r3, [r4, #4]
- 800f2c0:      9b20            ldr     r3, [sp, #128]  ; 0x80
- 800f2c2:      3301            adds    r3, #1
- 800f2c4:      9320            str     r3, [sp, #128]  ; 0x80
- 800f2c6:      9b1f            ldr     r3, [sp, #124]  ; 0x7c
- 800f2c8:      3301            adds    r3, #1
- 800f2ca:      2b07            cmp     r3, #7
- 800f2cc:      931f            str     r3, [sp, #124]  ; 0x7c
- 800f2ce:      f300 8172       bgt.w   800f5b6 <_svfprintf_r+0xcf6>
- 800f2d2:      3408            adds    r4, #8
- 800f2d4:      9b13            ldr     r3, [sp, #76]   ; 0x4c
- 800f2d6:      b16b            cbz     r3, 800f2f4 <_svfprintf_r+0xa34>
- 800f2d8:      ab17            add     r3, sp, #92     ; 0x5c
- 800f2da:      6023            str     r3, [r4, #0]
- 800f2dc:      2302            movs    r3, #2
- 800f2de:      6063            str     r3, [r4, #4]
- 800f2e0:      9b20            ldr     r3, [sp, #128]  ; 0x80
- 800f2e2:      3302            adds    r3, #2
- 800f2e4:      9320            str     r3, [sp, #128]  ; 0x80
- 800f2e6:      9b1f            ldr     r3, [sp, #124]  ; 0x7c
- 800f2e8:      3301            adds    r3, #1
- 800f2ea:      2b07            cmp     r3, #7
- 800f2ec:      931f            str     r3, [sp, #124]  ; 0x7c
- 800f2ee:      f300 816c       bgt.w   800f5ca <_svfprintf_r+0xd0a>
- 800f2f2:      3408            adds    r4, #8
- 800f2f4:      9b14            ldr     r3, [sp, #80]   ; 0x50
- 800f2f6:      2b80            cmp     r3, #128        ; 0x80
- 800f2f8:      d120            bne.n   800f33c <_svfprintf_r+0xa7c>
- 800f2fa:      9b0b            ldr     r3, [sp, #44]   ; 0x2c
- 800f2fc:      9a0d            ldr     r2, [sp, #52]   ; 0x34
- 800f2fe:      1a9b            subs    r3, r3, r2
- 800f300:      2b00            cmp     r3, #0
- 800f302:      dd1b            ble.n   800f33c <_svfprintf_r+0xa7c>
- 800f304:      e9dd 2c1f       ldrd    r2, ip, [sp, #124]      ; 0x7c
- 800f308:      4969            ldr     r1, [pc, #420]  ; (800f4b0 <_svfprintf_r+0xbf0>)
- 800f30a:      6021            str     r1, [r4, #0]
- 800f30c:      2b10            cmp     r3, #16
- 800f30e:      f102 0201       add.w   r2, r2, #1
- 800f312:      f104 0008       add.w   r0, r4, #8
- 800f316:      f300 8162       bgt.w   800f5de <_svfprintf_r+0xd1e>
- 800f31a:      eb0c 0103       add.w   r1, ip, r3
- 800f31e:      2a07            cmp     r2, #7
- 800f320:      6063            str     r3, [r4, #4]
- 800f322:      e9cd 211f       strd    r2, r1, [sp, #124]      ; 0x7c
- 800f326:      f340 816f       ble.w   800f608 <_svfprintf_r+0xd48>
- 800f32a:      aa1e            add     r2, sp, #120    ; 0x78
- 800f32c:      4659            mov     r1, fp
- 800f32e:      9802            ldr     r0, [sp, #8]
- 800f330:      f002 f968       bl      8011604 <__ssprint_r>
- 800f334:      2800            cmp     r0, #0
- 800f336:      f040 8471       bne.w   800fc1c <_svfprintf_r+0x135c>
- 800f33a:      ac21            add     r4, sp, #132    ; 0x84
- 800f33c:      9b0c            ldr     r3, [sp, #48]   ; 0x30
- 800f33e:      eba3 0308       sub.w   r3, r3, r8
- 800f342:      2b00            cmp     r3, #0
- 800f344:      930c            str     r3, [sp, #48]   ; 0x30
- 800f346:      dd1c            ble.n   800f382 <_svfprintf_r+0xac2>
- 800f348:      980c            ldr     r0, [sp, #48]   ; 0x30
- 800f34a:      e9dd 231f       ldrd    r2, r3, [sp, #124]      ; 0x7c
- 800f34e:      2810            cmp     r0, #16
- 800f350:      4857            ldr     r0, [pc, #348]  ; (800f4b0 <_svfprintf_r+0xbf0>)
- 800f352:      6020            str     r0, [r4, #0]
- 800f354:      f102 0201       add.w   r2, r2, #1
- 800f358:      f104 0108       add.w   r1, r4, #8
- 800f35c:      f300 8156       bgt.w   800f60c <_svfprintf_r+0xd4c>
- 800f360:      980c            ldr     r0, [sp, #48]   ; 0x30
- 800f362:      6060            str     r0, [r4, #4]
- 800f364:      4403            add     r3, r0
- 800f366:      2a07            cmp     r2, #7
- 800f368:      e9cd 231f       strd    r2, r3, [sp, #124]      ; 0x7c
- 800f36c:      f340 8163       ble.w   800f636 <_svfprintf_r+0xd76>
- 800f370:      aa1e            add     r2, sp, #120    ; 0x78
- 800f372:      4659            mov     r1, fp
- 800f374:      9802            ldr     r0, [sp, #8]
- 800f376:      f002 f945       bl      8011604 <__ssprint_r>
- 800f37a:      2800            cmp     r0, #0
- 800f37c:      f040 844e       bne.w   800fc1c <_svfprintf_r+0x135c>
- 800f380:      ac21            add     r4, sp, #132    ; 0x84
- 800f382:      05e8            lsls    r0, r5, #23
- 800f384:      9b20            ldr     r3, [sp, #128]  ; 0x80
- 800f386:      f100 8158       bmi.w   800f63a <_svfprintf_r+0xd7a>
- 800f38a:      4443            add     r3, r8
- 800f38c:      9320            str     r3, [sp, #128]  ; 0x80
- 800f38e:      9b1f            ldr     r3, [sp, #124]  ; 0x7c
- 800f390:      3301            adds    r3, #1
- 800f392:      2b07            cmp     r3, #7
- 800f394:      e9c4 9800       strd    r9, r8, [r4]
- 800f398:      931f            str     r3, [sp, #124]  ; 0x7c
- 800f39a:      f300 8190       bgt.w   800f6be <_svfprintf_r+0xdfe>
- 800f39e:      3408            adds    r4, #8
- 800f3a0:      076b            lsls    r3, r5, #29
- 800f3a2:      f100 841d       bmi.w   800fbe0 <_svfprintf_r+0x1320>
- 800f3a6:      e9dd 320a       ldrd    r3, r2, [sp, #40]       ; 0x28
- 800f3aa:      990d            ldr     r1, [sp, #52]   ; 0x34
- 800f3ac:      428a            cmp     r2, r1
- 800f3ae:      bfac            ite     ge
- 800f3b0:      189b            addge   r3, r3, r2
- 800f3b2:      185b            addlt   r3, r3, r1
- 800f3b4:      930a            str     r3, [sp, #40]   ; 0x28
- 800f3b6:      9b20            ldr     r3, [sp, #128]  ; 0x80
- 800f3b8:      b13b            cbz     r3, 800f3ca <_svfprintf_r+0xb0a>
- 800f3ba:      aa1e            add     r2, sp, #120    ; 0x78
- 800f3bc:      4659            mov     r1, fp
- 800f3be:      9802            ldr     r0, [sp, #8]
- 800f3c0:      f002 f920       bl      8011604 <__ssprint_r>
- 800f3c4:      2800            cmp     r0, #0
- 800f3c6:      f040 8429       bne.w   800fc1c <_svfprintf_r+0x135c>
- 800f3ca:      2300            movs    r3, #0
- 800f3cc:      931f            str     r3, [sp, #124]  ; 0x7c
- 800f3ce:      f1ba 0f00       cmp.w   sl, #0
- 800f3d2:      f040 843f       bne.w   800fc54 <_svfprintf_r+0x1394>
- 800f3d6:      ac21            add     r4, sp, #132    ; 0x84
- 800f3d8:      e6c1            b.n     800f15e <_svfprintf_r+0x89e>
- 800f3da:      4648            mov     r0, r9
- 800f3dc:      f7f7 fcfa       bl      8006dd4 <strlen>
- 800f3e0:      46b2            mov     sl, r6
- 800f3e2:      4680            mov     r8, r0
- 800f3e4:      e4bb            b.n     800ed5e <_svfprintf_r+0x49e>
- 800f3e6:      f045 0510       orr.w   r5, r5, #16
- 800f3ea:      06a8            lsls    r0, r5, #26
- 800f3ec:      d509            bpl.n   800f402 <_svfprintf_r+0xb42>
- 800f3ee:      3607            adds    r6, #7
- 800f3f0:      f026 0607       bic.w   r6, r6, #7
- 800f3f4:      f106 0308       add.w   r3, r6, #8
- 800f3f8:      e9d6 6700       ldrd    r6, r7, [r6]
- 800f3fc:      9306            str     r3, [sp, #24]
- 800f3fe:      2301            movs    r3, #1
- 800f400:      e6d0            b.n     800f1a4 <_svfprintf_r+0x8e4>
- 800f402:      1d33            adds    r3, r6, #4
- 800f404:      06e9            lsls    r1, r5, #27
- 800f406:      9306            str     r3, [sp, #24]
- 800f408:      d501            bpl.n   800f40e <_svfprintf_r+0xb4e>
- 800f40a:      6836            ldr     r6, [r6, #0]
- 800f40c:      e002            b.n     800f414 <_svfprintf_r+0xb54>
- 800f40e:      066a            lsls    r2, r5, #25
- 800f410:      d502            bpl.n   800f418 <_svfprintf_r+0xb58>
- 800f412:      8836            ldrh    r6, [r6, #0]
- 800f414:      2700            movs    r7, #0
- 800f416:      e7f2            b.n     800f3fe <_svfprintf_r+0xb3e>
- 800f418:      05ab            lsls    r3, r5, #22
- 800f41a:      d5f6            bpl.n   800f40a <_svfprintf_r+0xb4a>
- 800f41c:      7836            ldrb    r6, [r6, #0]
- 800f41e:      e7f9            b.n     800f414 <_svfprintf_r+0xb54>
- 800f420:      4b21            ldr     r3, [pc, #132]  ; (800f4a8 <_svfprintf_r+0xbe8>)
- 800f422:      f7ff bb86       b.w     800eb32 <_svfprintf_r+0x272>
- 800f426:      1d33            adds    r3, r6, #4
- 800f428:      06e8            lsls    r0, r5, #27
- 800f42a:      9306            str     r3, [sp, #24]
- 800f42c:      d501            bpl.n   800f432 <_svfprintf_r+0xb72>
- 800f42e:      6836            ldr     r6, [r6, #0]
- 800f430:      e002            b.n     800f438 <_svfprintf_r+0xb78>
- 800f432:      0669            lsls    r1, r5, #25
- 800f434:      d503            bpl.n   800f43e <_svfprintf_r+0xb7e>
- 800f436:      8836            ldrh    r6, [r6, #0]
- 800f438:      2700            movs    r7, #0
- 800f43a:      f7ff bb86       b.w     800eb4a <_svfprintf_r+0x28a>
- 800f43e:      05aa            lsls    r2, r5, #22
- 800f440:      d5f5            bpl.n   800f42e <_svfprintf_r+0xb6e>
- 800f442:      7836            ldrb    r6, [r6, #0]
- 800f444:      e7f8            b.n     800f438 <_svfprintf_r+0xb78>
- 800f446:      462a            mov     r2, r5
- 800f448:      2301            movs    r3, #1
- 800f44a:      e6b3            b.n     800f1b4 <_svfprintf_r+0x8f4>
- 800f44c:      2b01            cmp     r3, #1
- 800f44e:      f43f ac44       beq.w   800ecda <_svfprintf_r+0x41a>
- 800f452:      2b02            cmp     r3, #2
- 800f454:      d06d            beq.n   800f532 <_svfprintf_r+0xc72>
- 800f456:      ab4a            add     r3, sp, #296    ; 0x128
- 800f458:      08f1            lsrs    r1, r6, #3
- 800f45a:      ea41 7147       orr.w   r1, r1, r7, lsl #29
- 800f45e:      08f8            lsrs    r0, r7, #3
- 800f460:      f006 0207       and.w   r2, r6, #7
- 800f464:      4607            mov     r7, r0
- 800f466:      460e            mov     r6, r1
- 800f468:      3230            adds    r2, #48 ; 0x30
- 800f46a:      ea56 0107       orrs.w  r1, r6, r7
- 800f46e:      f103 39ff       add.w   r9, r3, #4294967295     ; 0xffffffff
- 800f472:      f803 2c01       strb.w  r2, [r3, #-1]
- 800f476:      d114            bne.n   800f4a2 <_svfprintf_r+0xbe2>
- 800f478:      07ef            lsls    r7, r5, #31
- 800f47a:      d506            bpl.n   800f48a <_svfprintf_r+0xbca>
- 800f47c:      2a30            cmp     r2, #48 ; 0x30
- 800f47e:      d004            beq.n   800f48a <_svfprintf_r+0xbca>
- 800f480:      2230            movs    r2, #48 ; 0x30
- 800f482:      f809 2c01       strb.w  r2, [r9, #-1]
- 800f486:      f1a3 0902       sub.w   r9, r3, #2
- 800f48a:      ab4a            add     r3, sp, #296    ; 0x128
- 800f48c:      f8cd 8030       str.w   r8, [sp, #48]   ; 0x30
- 800f490:      f04f 0a00       mov.w   sl, #0
- 800f494:      eba3 0809       sub.w   r8, r3, r9
- 800f498:      4657            mov     r7, sl
- 800f49a:      f8cd a014       str.w   sl, [sp, #20]
- 800f49e:      4656            mov     r6, sl
- 800f4a0:      e6cf            b.n     800f242 <_svfprintf_r+0x982>
- 800f4a2:      464b            mov     r3, r9
- 800f4a4:      e7d8            b.n     800f458 <_svfprintf_r+0xb98>
- 800f4a6:      bf00            nop
- 800f4a8:      08012e40        .word   0x08012e40
- 800f4ac:      08012e64        .word   0x08012e64
- 800f4b0:      08012e74        .word   0x08012e74
- 800f4b4:      2300            movs    r3, #0
- 800f4b6:      9303            str     r3, [sp, #12]
- 800f4b8:      f405 6380       and.w   r3, r5, #1024   ; 0x400
- 800f4bc:      f50d 7a94       add.w   sl, sp, #296    ; 0x128
- 800f4c0:      9305            str     r3, [sp, #20]
- 800f4c2:      220a            movs    r2, #10
- 800f4c4:      2300            movs    r3, #0
- 800f4c6:      4630            mov     r0, r6
- 800f4c8:      4639            mov     r1, r7
- 800f4ca:      f7f7 fc8b       bl      8006de4 <__aeabi_uldivmod>
- 800f4ce:      9b03            ldr     r3, [sp, #12]
- 800f4d0:      3301            adds    r3, #1
- 800f4d2:      9303            str     r3, [sp, #12]
- 800f4d4:      9b05            ldr     r3, [sp, #20]
- 800f4d6:      3230            adds    r2, #48 ; 0x30
- 800f4d8:      f10a 39ff       add.w   r9, sl, #4294967295     ; 0xffffffff
- 800f4dc:      f80a 2c01       strb.w  r2, [sl, #-1]
- 800f4e0:      b1d3            cbz     r3, 800f518 <_svfprintf_r+0xc58>
- 800f4e2:      9b07            ldr     r3, [sp, #28]
- 800f4e4:      9a03            ldr     r2, [sp, #12]
- 800f4e6:      781b            ldrb    r3, [r3, #0]
- 800f4e8:      429a            cmp     r2, r3
- 800f4ea:      d115            bne.n   800f518 <_svfprintf_r+0xc58>
- 800f4ec:      2aff            cmp     r2, #255        ; 0xff
- 800f4ee:      d013            beq.n   800f518 <_svfprintf_r+0xc58>
- 800f4f0:      2f00            cmp     r7, #0
- 800f4f2:      bf08            it      eq
- 800f4f4:      2e0a            cmpeq   r6, #10
- 800f4f6:      d30f            bcc.n   800f518 <_svfprintf_r+0xc58>
- 800f4f8:      9b0e            ldr     r3, [sp, #56]   ; 0x38
- 800f4fa:      9912            ldr     r1, [sp, #72]   ; 0x48
- 800f4fc:      eba9 0903       sub.w   r9, r9, r3
- 800f500:      461a            mov     r2, r3
- 800f502:      4648            mov     r0, r9
- 800f504:      f002 f869       bl      80115da <strncpy>
- 800f508:      9b07            ldr     r3, [sp, #28]
- 800f50a:      785b            ldrb    r3, [r3, #1]
- 800f50c:      b11b            cbz     r3, 800f516 <_svfprintf_r+0xc56>
- 800f50e:      9b07            ldr     r3, [sp, #28]
- 800f510:      3301            adds    r3, #1
- 800f512:      9307            str     r3, [sp, #28]
- 800f514:      2300            movs    r3, #0
- 800f516:      9303            str     r3, [sp, #12]
- 800f518:      2300            movs    r3, #0
- 800f51a:      4630            mov     r0, r6
- 800f51c:      4639            mov     r1, r7
- 800f51e:      220a            movs    r2, #10
- 800f520:      f7f7 fc60       bl      8006de4 <__aeabi_uldivmod>
- 800f524:      4606            mov     r6, r0
- 800f526:      460f            mov     r7, r1
- 800f528:      ea56 0307       orrs.w  r3, r6, r7
- 800f52c:      d0ad            beq.n   800f48a <_svfprintf_r+0xbca>
- 800f52e:      46ca            mov     sl, r9
- 800f530:      e7c7            b.n     800f4c2 <_svfprintf_r+0xc02>
- 800f532:      f50d 7994       add.w   r9, sp, #296    ; 0x128
- 800f536:      f006 030f       and.w   r3, r6, #15
- 800f53a:      9a11            ldr     r2, [sp, #68]   ; 0x44
- 800f53c:      5cd3            ldrb    r3, [r2, r3]
- 800f53e:      f809 3d01       strb.w  r3, [r9, #-1]!
- 800f542:      0933            lsrs    r3, r6, #4
- 800f544:      ea43 7307       orr.w   r3, r3, r7, lsl #28
- 800f548:      093a            lsrs    r2, r7, #4
- 800f54a:      461e            mov     r6, r3
- 800f54c:      4617            mov     r7, r2
- 800f54e:      ea56 0307       orrs.w  r3, r6, r7
- 800f552:      d1f0            bne.n   800f536 <_svfprintf_r+0xc76>
- 800f554:      e799            b.n     800f48a <_svfprintf_r+0xbca>
- 800f556:      f50d 7994       add.w   r9, sp, #296    ; 0x128
- 800f55a:      2b00            cmp     r3, #0
- 800f55c:      d195            bne.n   800f48a <_svfprintf_r+0xbca>
- 800f55e:      07d6            lsls    r6, r2, #31
- 800f560:      bf44            itt     mi
- 800f562:      2330            movmi   r3, #48 ; 0x30
- 800f564:      f809 3d01       strbmi.w        r3, [r9, #-1]!
- 800f568:      e78f            b.n     800f48a <_svfprintf_r+0xbca>
- 800f56a:      9b04            ldr     r3, [sp, #16]
- 800f56c:      2b00            cmp     r3, #0
- 800f56e:      f000 8377       beq.w   800fc60 <_svfprintf_r+0x13a0>
- 800f572:      f88d 30c4       strb.w  r3, [sp, #196]  ; 0xc4
- 800f576:      2300            movs    r3, #0
- 800f578:      f88d 305b       strb.w  r3, [sp, #91]   ; 0x5b
- 800f57c:      9606            str     r6, [sp, #24]
- 800f57e:      f7ff bb87       b.w     800ec90 <_svfprintf_r+0x3d0>
- 800f582:      e9dd 530c       ldrd    r5, r3, [sp, #48]       ; 0x30
- 800f586:      e503            b.n     800ef90 <_svfprintf_r+0x6d0>
- 800f588:      2110            movs    r1, #16
- 800f58a:      6061            str     r1, [r4, #4]
- 800f58c:      2a07            cmp     r2, #7
- 800f58e:      4461            add     r1, ip
- 800f590:      e9cd 211f       strd    r2, r1, [sp, #124]      ; 0x7c
- 800f594:      dd0a            ble.n   800f5ac <_svfprintf_r+0xcec>
- 800f596:      aa1e            add     r2, sp, #120    ; 0x78
- 800f598:      4659            mov     r1, fp
- 800f59a:      9802            ldr     r0, [sp, #8]
- 800f59c:      9315            str     r3, [sp, #84]   ; 0x54
- 800f59e:      f002 f831       bl      8011604 <__ssprint_r>
- 800f5a2:      2800            cmp     r0, #0
- 800f5a4:      f040 833a       bne.w   800fc1c <_svfprintf_r+0x135c>
- 800f5a8:      9b15            ldr     r3, [sp, #84]   ; 0x54
- 800f5aa:      a821            add     r0, sp, #132    ; 0x84
- 800f5ac:      3b10            subs    r3, #16
- 800f5ae:      4604            mov     r4, r0
- 800f5b0:      e662            b.n     800f278 <_svfprintf_r+0x9b8>
- 800f5b2:      4604            mov     r4, r0
- 800f5b4:      e67c            b.n     800f2b0 <_svfprintf_r+0x9f0>
- 800f5b6:      aa1e            add     r2, sp, #120    ; 0x78
- 800f5b8:      4659            mov     r1, fp
- 800f5ba:      9802            ldr     r0, [sp, #8]
- 800f5bc:      f002 f822       bl      8011604 <__ssprint_r>
- 800f5c0:      2800            cmp     r0, #0
- 800f5c2:      f040 832b       bne.w   800fc1c <_svfprintf_r+0x135c>
- 800f5c6:      ac21            add     r4, sp, #132    ; 0x84
- 800f5c8:      e684            b.n     800f2d4 <_svfprintf_r+0xa14>
- 800f5ca:      aa1e            add     r2, sp, #120    ; 0x78
- 800f5cc:      4659            mov     r1, fp
- 800f5ce:      9802            ldr     r0, [sp, #8]
- 800f5d0:      f002 f818       bl      8011604 <__ssprint_r>
- 800f5d4:      2800            cmp     r0, #0
- 800f5d6:      f040 8321       bne.w   800fc1c <_svfprintf_r+0x135c>
- 800f5da:      ac21            add     r4, sp, #132    ; 0x84
- 800f5dc:      e68a            b.n     800f2f4 <_svfprintf_r+0xa34>
- 800f5de:      2110            movs    r1, #16
- 800f5e0:      6061            str     r1, [r4, #4]
- 800f5e2:      2a07            cmp     r2, #7
- 800f5e4:      4461            add     r1, ip
- 800f5e6:      e9cd 211f       strd    r2, r1, [sp, #124]      ; 0x7c
- 800f5ea:      dd0a            ble.n   800f602 <_svfprintf_r+0xd42>
- 800f5ec:      aa1e            add     r2, sp, #120    ; 0x78
- 800f5ee:      4659            mov     r1, fp
- 800f5f0:      9802            ldr     r0, [sp, #8]
- 800f5f2:      9313            str     r3, [sp, #76]   ; 0x4c
- 800f5f4:      f002 f806       bl      8011604 <__ssprint_r>
- 800f5f8:      2800            cmp     r0, #0
- 800f5fa:      f040 830f       bne.w   800fc1c <_svfprintf_r+0x135c>
- 800f5fe:      9b13            ldr     r3, [sp, #76]   ; 0x4c
- 800f600:      a821            add     r0, sp, #132    ; 0x84
- 800f602:      3b10            subs    r3, #16
- 800f604:      4604            mov     r4, r0
- 800f606:      e67d            b.n     800f304 <_svfprintf_r+0xa44>
- 800f608:      4604            mov     r4, r0
- 800f60a:      e697            b.n     800f33c <_svfprintf_r+0xa7c>
- 800f60c:      2010            movs    r0, #16
- 800f60e:      4403            add     r3, r0
- 800f610:      2a07            cmp     r2, #7
- 800f612:      6060            str     r0, [r4, #4]
- 800f614:      e9cd 231f       strd    r2, r3, [sp, #124]      ; 0x7c
- 800f618:      dd08            ble.n   800f62c <_svfprintf_r+0xd6c>
- 800f61a:      aa1e            add     r2, sp, #120    ; 0x78
- 800f61c:      4659            mov     r1, fp
- 800f61e:      9802            ldr     r0, [sp, #8]
- 800f620:      f001 fff0       bl      8011604 <__ssprint_r>
- 800f624:      2800            cmp     r0, #0
- 800f626:      f040 82f9       bne.w   800fc1c <_svfprintf_r+0x135c>
- 800f62a:      a921            add     r1, sp, #132    ; 0x84
- 800f62c:      9b0c            ldr     r3, [sp, #48]   ; 0x30
- 800f62e:      3b10            subs    r3, #16
- 800f630:      930c            str     r3, [sp, #48]   ; 0x30
- 800f632:      460c            mov     r4, r1
- 800f634:      e688            b.n     800f348 <_svfprintf_r+0xa88>
- 800f636:      460c            mov     r4, r1
- 800f638:      e6a3            b.n     800f382 <_svfprintf_r+0xac2>
- 800f63a:      9a04            ldr     r2, [sp, #16]
- 800f63c:      2a65            cmp     r2, #101        ; 0x65
- 800f63e:      f340 8243       ble.w   800fac8 <_svfprintf_r+0x1208>
- 800f642:      eeb5 8b40       vcmp.f64        d8, #0.0
- 800f646:      eef1 fa10       vmrs    APSR_nzcv, fpscr
- 800f64a:      d169            bne.n   800f720 <_svfprintf_r+0xe60>
- 800f64c:      4a72            ldr     r2, [pc, #456]  ; (800f818 <_svfprintf_r+0xf58>)
- 800f64e:      6022            str     r2, [r4, #0]
- 800f650:      2201            movs    r2, #1
- 800f652:      4413            add     r3, r2
- 800f654:      9320            str     r3, [sp, #128]  ; 0x80
- 800f656:      9b1f            ldr     r3, [sp, #124]  ; 0x7c
- 800f658:      6062            str     r2, [r4, #4]
- 800f65a:      4413            add     r3, r2
- 800f65c:      2b07            cmp     r3, #7
- 800f65e:      931f            str     r3, [sp, #124]  ; 0x7c
- 800f660:      dc37            bgt.n   800f6d2 <_svfprintf_r+0xe12>
- 800f662:      3408            adds    r4, #8
- 800f664:      9b18            ldr     r3, [sp, #96]   ; 0x60
- 800f666:      9a03            ldr     r2, [sp, #12]
- 800f668:      4293            cmp     r3, r2
- 800f66a:      db02            blt.n   800f672 <_svfprintf_r+0xdb2>
- 800f66c:      07e9            lsls    r1, r5, #31
- 800f66e:      f57f ae97       bpl.w   800f3a0 <_svfprintf_r+0xae0>
- 800f672:      9b0f            ldr     r3, [sp, #60]   ; 0x3c
- 800f674:      6023            str     r3, [r4, #0]
- 800f676:      9b09            ldr     r3, [sp, #36]   ; 0x24
- 800f678:      6063            str     r3, [r4, #4]
- 800f67a:      9a09            ldr     r2, [sp, #36]   ; 0x24
- 800f67c:      9b20            ldr     r3, [sp, #128]  ; 0x80
- 800f67e:      4413            add     r3, r2
- 800f680:      9320            str     r3, [sp, #128]  ; 0x80
- 800f682:      9b1f            ldr     r3, [sp, #124]  ; 0x7c
- 800f684:      3301            adds    r3, #1
- 800f686:      2b07            cmp     r3, #7
- 800f688:      931f            str     r3, [sp, #124]  ; 0x7c
- 800f68a:      dc2c            bgt.n   800f6e6 <_svfprintf_r+0xe26>
- 800f68c:      3408            adds    r4, #8
- 800f68e:      9b03            ldr     r3, [sp, #12]
- 800f690:      1e5e            subs    r6, r3, #1
- 800f692:      2e00            cmp     r6, #0
- 800f694:      f77f ae84       ble.w   800f3a0 <_svfprintf_r+0xae0>
- 800f698:      4f60            ldr     r7, [pc, #384]  ; (800f81c <_svfprintf_r+0xf5c>)
- 800f69a:      f04f 0810       mov.w   r8, #16
- 800f69e:      e9dd 321f       ldrd    r3, r2, [sp, #124]      ; 0x7c
- 800f6a2:      2e10            cmp     r6, #16
- 800f6a4:      f103 0301       add.w   r3, r3, #1
- 800f6a8:      f104 0108       add.w   r1, r4, #8
- 800f6ac:      6027            str     r7, [r4, #0]
- 800f6ae:      dc24            bgt.n   800f6fa <_svfprintf_r+0xe3a>
- 800f6b0:      6066            str     r6, [r4, #4]
- 800f6b2:      2b07            cmp     r3, #7
- 800f6b4:      4416            add     r6, r2
- 800f6b6:      e9cd 361f       strd    r3, r6, [sp, #124]      ; 0x7c
- 800f6ba:      f340 828e       ble.w   800fbda <_svfprintf_r+0x131a>
- 800f6be:      aa1e            add     r2, sp, #120    ; 0x78
- 800f6c0:      4659            mov     r1, fp
- 800f6c2:      9802            ldr     r0, [sp, #8]
- 800f6c4:      f001 ff9e       bl      8011604 <__ssprint_r>
- 800f6c8:      2800            cmp     r0, #0
- 800f6ca:      f040 82a7       bne.w   800fc1c <_svfprintf_r+0x135c>
- 800f6ce:      ac21            add     r4, sp, #132    ; 0x84
- 800f6d0:      e666            b.n     800f3a0 <_svfprintf_r+0xae0>
- 800f6d2:      aa1e            add     r2, sp, #120    ; 0x78
- 800f6d4:      4659            mov     r1, fp
- 800f6d6:      9802            ldr     r0, [sp, #8]
- 800f6d8:      f001 ff94       bl      8011604 <__ssprint_r>
- 800f6dc:      2800            cmp     r0, #0
- 800f6de:      f040 829d       bne.w   800fc1c <_svfprintf_r+0x135c>
- 800f6e2:      ac21            add     r4, sp, #132    ; 0x84
- 800f6e4:      e7be            b.n     800f664 <_svfprintf_r+0xda4>
- 800f6e6:      aa1e            add     r2, sp, #120    ; 0x78
- 800f6e8:      4659            mov     r1, fp
- 800f6ea:      9802            ldr     r0, [sp, #8]
- 800f6ec:      f001 ff8a       bl      8011604 <__ssprint_r>
- 800f6f0:      2800            cmp     r0, #0
- 800f6f2:      f040 8293       bne.w   800fc1c <_svfprintf_r+0x135c>
- 800f6f6:      ac21            add     r4, sp, #132    ; 0x84
- 800f6f8:      e7c9            b.n     800f68e <_svfprintf_r+0xdce>
- 800f6fa:      3210            adds    r2, #16
- 800f6fc:      2b07            cmp     r3, #7
- 800f6fe:      f8c4 8004       str.w   r8, [r4, #4]
- 800f702:      e9cd 321f       strd    r3, r2, [sp, #124]      ; 0x7c
- 800f706:      dd08            ble.n   800f71a <_svfprintf_r+0xe5a>
- 800f708:      aa1e            add     r2, sp, #120    ; 0x78
- 800f70a:      4659            mov     r1, fp
- 800f70c:      9802            ldr     r0, [sp, #8]
- 800f70e:      f001 ff79       bl      8011604 <__ssprint_r>
- 800f712:      2800            cmp     r0, #0
- 800f714:      f040 8282       bne.w   800fc1c <_svfprintf_r+0x135c>
- 800f718:      a921            add     r1, sp, #132    ; 0x84
- 800f71a:      3e10            subs    r6, #16
- 800f71c:      460c            mov     r4, r1
- 800f71e:      e7be            b.n     800f69e <_svfprintf_r+0xdde>
- 800f720:      9a18            ldr     r2, [sp, #96]   ; 0x60
- 800f722:      2a00            cmp     r2, #0
- 800f724:      dc7c            bgt.n   800f820 <_svfprintf_r+0xf60>
- 800f726:      4a3c            ldr     r2, [pc, #240]  ; (800f818 <_svfprintf_r+0xf58>)
- 800f728:      6022            str     r2, [r4, #0]
- 800f72a:      2201            movs    r2, #1
- 800f72c:      4413            add     r3, r2
- 800f72e:      9320            str     r3, [sp, #128]  ; 0x80
- 800f730:      9b1f            ldr     r3, [sp, #124]  ; 0x7c
- 800f732:      6062            str     r2, [r4, #4]
- 800f734:      4413            add     r3, r2
- 800f736:      2b07            cmp     r3, #7
- 800f738:      931f            str     r3, [sp, #124]  ; 0x7c
- 800f73a:      dc46            bgt.n   800f7ca <_svfprintf_r+0xf0a>
- 800f73c:      3408            adds    r4, #8
- 800f73e:      9b18            ldr     r3, [sp, #96]   ; 0x60
- 800f740:      b923            cbnz    r3, 800f74c <_svfprintf_r+0xe8c>
- 800f742:      9b03            ldr     r3, [sp, #12]
- 800f744:      b913            cbnz    r3, 800f74c <_svfprintf_r+0xe8c>
- 800f746:      07ea            lsls    r2, r5, #31
- 800f748:      f57f ae2a       bpl.w   800f3a0 <_svfprintf_r+0xae0>
- 800f74c:      9b0f            ldr     r3, [sp, #60]   ; 0x3c
- 800f74e:      6023            str     r3, [r4, #0]
- 800f750:      9b09            ldr     r3, [sp, #36]   ; 0x24
- 800f752:      6063            str     r3, [r4, #4]
- 800f754:      9a09            ldr     r2, [sp, #36]   ; 0x24
- 800f756:      9b20            ldr     r3, [sp, #128]  ; 0x80
- 800f758:      4413            add     r3, r2
- 800f75a:      9320            str     r3, [sp, #128]  ; 0x80
- 800f75c:      9b1f            ldr     r3, [sp, #124]  ; 0x7c
- 800f75e:      3301            adds    r3, #1
- 800f760:      2b07            cmp     r3, #7
- 800f762:      931f            str     r3, [sp, #124]  ; 0x7c
- 800f764:      dc3b            bgt.n   800f7de <_svfprintf_r+0xf1e>
- 800f766:      f104 0308       add.w   r3, r4, #8
- 800f76a:      9e18            ldr     r6, [sp, #96]   ; 0x60
- 800f76c:      2e00            cmp     r6, #0
- 800f76e:      da1b            bge.n   800f7a8 <_svfprintf_r+0xee8>
- 800f770:      4f2a            ldr     r7, [pc, #168]  ; (800f81c <_svfprintf_r+0xf5c>)
- 800f772:      4276            negs    r6, r6
- 800f774:      461a            mov     r2, r3
- 800f776:      2410            movs    r4, #16
- 800f778:      e9dd 101f       ldrd    r1, r0, [sp, #124]      ; 0x7c
- 800f77c:      2e10            cmp     r6, #16
- 800f77e:      f101 0101       add.w   r1, r1, #1
- 800f782:      f103 0308       add.w   r3, r3, #8
- 800f786:      6017            str     r7, [r2, #0]
- 800f788:      dc33            bgt.n   800f7f2 <_svfprintf_r+0xf32>
- 800f78a:      6056            str     r6, [r2, #4]
- 800f78c:      2907            cmp     r1, #7
- 800f78e:      4406            add     r6, r0
- 800f790:      e9cd 161f       strd    r1, r6, [sp, #124]      ; 0x7c
- 800f794:      dd08            ble.n   800f7a8 <_svfprintf_r+0xee8>
- 800f796:      aa1e            add     r2, sp, #120    ; 0x78
- 800f798:      4659            mov     r1, fp
- 800f79a:      9802            ldr     r0, [sp, #8]
- 800f79c:      f001 ff32       bl      8011604 <__ssprint_r>
- 800f7a0:      2800            cmp     r0, #0
- 800f7a2:      f040 823b       bne.w   800fc1c <_svfprintf_r+0x135c>
- 800f7a6:      ab21            add     r3, sp, #132    ; 0x84
- 800f7a8:      9a03            ldr     r2, [sp, #12]
- 800f7aa:      605a            str     r2, [r3, #4]
- 800f7ac:      9903            ldr     r1, [sp, #12]
- 800f7ae:      9a20            ldr     r2, [sp, #128]  ; 0x80
- 800f7b0:      f8c3 9000       str.w   r9, [r3]
- 800f7b4:      440a            add     r2, r1
- 800f7b6:      9220            str     r2, [sp, #128]  ; 0x80
- 800f7b8:      9a1f            ldr     r2, [sp, #124]  ; 0x7c
- 800f7ba:      3201            adds    r2, #1
- 800f7bc:      2a07            cmp     r2, #7
- 800f7be:      921f            str     r2, [sp, #124]  ; 0x7c
- 800f7c0:      f73f af7d       bgt.w   800f6be <_svfprintf_r+0xdfe>
- 800f7c4:      f103 0408       add.w   r4, r3, #8
- 800f7c8:      e5ea            b.n     800f3a0 <_svfprintf_r+0xae0>
- 800f7ca:      aa1e            add     r2, sp, #120    ; 0x78
- 800f7cc:      4659            mov     r1, fp
- 800f7ce:      9802            ldr     r0, [sp, #8]
- 800f7d0:      f001 ff18       bl      8011604 <__ssprint_r>
- 800f7d4:      2800            cmp     r0, #0
- 800f7d6:      f040 8221       bne.w   800fc1c <_svfprintf_r+0x135c>
- 800f7da:      ac21            add     r4, sp, #132    ; 0x84
- 800f7dc:      e7af            b.n     800f73e <_svfprintf_r+0xe7e>
- 800f7de:      aa1e            add     r2, sp, #120    ; 0x78
- 800f7e0:      4659            mov     r1, fp
- 800f7e2:      9802            ldr     r0, [sp, #8]
- 800f7e4:      f001 ff0e       bl      8011604 <__ssprint_r>
- 800f7e8:      2800            cmp     r0, #0
- 800f7ea:      f040 8217       bne.w   800fc1c <_svfprintf_r+0x135c>
- 800f7ee:      ab21            add     r3, sp, #132    ; 0x84
- 800f7f0:      e7bb            b.n     800f76a <_svfprintf_r+0xeaa>
- 800f7f2:      3010            adds    r0, #16
- 800f7f4:      2907            cmp     r1, #7
- 800f7f6:      6054            str     r4, [r2, #4]
- 800f7f8:      e9cd 101f       strd    r1, r0, [sp, #124]      ; 0x7c
- 800f7fc:      dd08            ble.n   800f810 <_svfprintf_r+0xf50>
- 800f7fe:      aa1e            add     r2, sp, #120    ; 0x78
- 800f800:      4659            mov     r1, fp
- 800f802:      9802            ldr     r0, [sp, #8]
- 800f804:      f001 fefe       bl      8011604 <__ssprint_r>
- 800f808:      2800            cmp     r0, #0
- 800f80a:      f040 8207       bne.w   800fc1c <_svfprintf_r+0x135c>
- 800f80e:      ab21            add     r3, sp, #132    ; 0x84
- 800f810:      3e10            subs    r6, #16
- 800f812:      461a            mov     r2, r3
- 800f814:      e7b0            b.n     800f778 <_svfprintf_r+0xeb8>
- 800f816:      bf00            nop
- 800f818:      08012e62        .word   0x08012e62
- 800f81c:      08012e74        .word   0x08012e74
- 800f820:      9a03            ldr     r2, [sp, #12]
- 800f822:      42b2            cmp     r2, r6
- 800f824:      bfa8            it      ge
- 800f826:      4632            movge   r2, r6
- 800f828:      2a00            cmp     r2, #0
- 800f82a:      4690            mov     r8, r2
- 800f82c:      dd0a            ble.n   800f844 <_svfprintf_r+0xf84>
- 800f82e:      4413            add     r3, r2
- 800f830:      9320            str     r3, [sp, #128]  ; 0x80
- 800f832:      9b1f            ldr     r3, [sp, #124]  ; 0x7c
- 800f834:      3301            adds    r3, #1
- 800f836:      2b07            cmp     r3, #7
- 800f838:      e9c4 9200       strd    r9, r2, [r4]
- 800f83c:      931f            str     r3, [sp, #124]  ; 0x7c
- 800f83e:      f300 808a       bgt.w   800f956 <_svfprintf_r+0x1096>
- 800f842:      3408            adds    r4, #8
- 800f844:      f1b8 0f00       cmp.w   r8, #0
- 800f848:      bfac            ite     ge
- 800f84a:      eba6 0808       subge.w r8, r6, r8
- 800f84e:      46b0            movlt   r8, r6
- 800f850:      f1b8 0f00       cmp.w   r8, #0
- 800f854:      dd1b            ble.n   800f88e <_svfprintf_r+0xfce>
- 800f856:      e9dd 231f       ldrd    r2, r3, [sp, #124]      ; 0x7c
- 800f85a:      489a            ldr     r0, [pc, #616]  ; (800fac4 <_svfprintf_r+0x1204>)
- 800f85c:      6020            str     r0, [r4, #0]
- 800f85e:      f1b8 0f10       cmp.w   r8, #16
- 800f862:      f102 0201       add.w   r2, r2, #1
- 800f866:      f104 0108       add.w   r1, r4, #8
- 800f86a:      dc7e            bgt.n   800f96a <_svfprintf_r+0x10aa>
- 800f86c:      4443            add     r3, r8
- 800f86e:      2a07            cmp     r2, #7
- 800f870:      f8c4 8004       str.w   r8, [r4, #4]
- 800f874:      e9cd 231f       strd    r2, r3, [sp, #124]      ; 0x7c
- 800f878:      f340 808b       ble.w   800f992 <_svfprintf_r+0x10d2>
- 800f87c:      aa1e            add     r2, sp, #120    ; 0x78
- 800f87e:      4659            mov     r1, fp
- 800f880:      9802            ldr     r0, [sp, #8]
- 800f882:      f001 febf       bl      8011604 <__ssprint_r>
- 800f886:      2800            cmp     r0, #0
- 800f888:      f040 81c8       bne.w   800fc1c <_svfprintf_r+0x135c>
- 800f88c:      ac21            add     r4, sp, #132    ; 0x84
- 800f88e:      056b            lsls    r3, r5, #21
- 800f890:      444e            add     r6, r9
- 800f892:      d509            bpl.n   800f8a8 <_svfprintf_r+0xfe8>
- 800f894:      9b05            ldr     r3, [sp, #20]
- 800f896:      2b00            cmp     r3, #0
- 800f898:      d17d            bne.n   800f996 <_svfprintf_r+0x10d6>
- 800f89a:      2f00            cmp     r7, #0
- 800f89c:      d17d            bne.n   800f99a <_svfprintf_r+0x10da>
- 800f89e:      9b03            ldr     r3, [sp, #12]
- 800f8a0:      444b            add     r3, r9
- 800f8a2:      429e            cmp     r6, r3
- 800f8a4:      bf28            it      cs
- 800f8a6:      461e            movcs   r6, r3
- 800f8a8:      9b18            ldr     r3, [sp, #96]   ; 0x60
- 800f8aa:      9a03            ldr     r2, [sp, #12]
- 800f8ac:      4293            cmp     r3, r2
- 800f8ae:      db01            blt.n   800f8b4 <_svfprintf_r+0xff4>
- 800f8b0:      07ef            lsls    r7, r5, #31
- 800f8b2:      d50e            bpl.n   800f8d2 <_svfprintf_r+0x1012>
- 800f8b4:      9b0f            ldr     r3, [sp, #60]   ; 0x3c
- 800f8b6:      6023            str     r3, [r4, #0]
- 800f8b8:      9b09            ldr     r3, [sp, #36]   ; 0x24
- 800f8ba:      6063            str     r3, [r4, #4]
- 800f8bc:      9a09            ldr     r2, [sp, #36]   ; 0x24
- 800f8be:      9b20            ldr     r3, [sp, #128]  ; 0x80
- 800f8c0:      4413            add     r3, r2
- 800f8c2:      9320            str     r3, [sp, #128]  ; 0x80
- 800f8c4:      9b1f            ldr     r3, [sp, #124]  ; 0x7c
- 800f8c6:      3301            adds    r3, #1
- 800f8c8:      2b07            cmp     r3, #7
- 800f8ca:      931f            str     r3, [sp, #124]  ; 0x7c
- 800f8cc:      f300 80e5       bgt.w   800fa9a <_svfprintf_r+0x11da>
- 800f8d0:      3408            adds    r4, #8
- 800f8d2:      9b03            ldr     r3, [sp, #12]
- 800f8d4:      9a03            ldr     r2, [sp, #12]
- 800f8d6:      eb09 0703       add.w   r7, r9, r3
- 800f8da:      1bbb            subs    r3, r7, r6
- 800f8dc:      9f18            ldr     r7, [sp, #96]   ; 0x60
- 800f8de:      1bd7            subs    r7, r2, r7
- 800f8e0:      429f            cmp     r7, r3
- 800f8e2:      bfa8            it      ge
- 800f8e4:      461f            movge   r7, r3
- 800f8e6:      2f00            cmp     r7, #0
- 800f8e8:      dd0b            ble.n   800f902 <_svfprintf_r+0x1042>
- 800f8ea:      9b20            ldr     r3, [sp, #128]  ; 0x80
- 800f8ec:      443b            add     r3, r7
- 800f8ee:      9320            str     r3, [sp, #128]  ; 0x80
- 800f8f0:      9b1f            ldr     r3, [sp, #124]  ; 0x7c
- 800f8f2:      3301            adds    r3, #1
- 800f8f4:      2b07            cmp     r3, #7
- 800f8f6:      e9c4 6700       strd    r6, r7, [r4]
- 800f8fa:      931f            str     r3, [sp, #124]  ; 0x7c
- 800f8fc:      f300 80d7       bgt.w   800faae <_svfprintf_r+0x11ee>
- 800f900:      3408            adds    r4, #8
- 800f902:      9e18            ldr     r6, [sp, #96]   ; 0x60
- 800f904:      9b03            ldr     r3, [sp, #12]
- 800f906:      2f00            cmp     r7, #0
- 800f908:      eba3 0606       sub.w   r6, r3, r6
- 800f90c:      bfa8            it      ge
- 800f90e:      1bf6            subge   r6, r6, r7
- 800f910:      2e00            cmp     r6, #0
- 800f912:      f77f ad45       ble.w   800f3a0 <_svfprintf_r+0xae0>
- 800f916:      4f6b            ldr     r7, [pc, #428]  ; (800fac4 <_svfprintf_r+0x1204>)
- 800f918:      f04f 0810       mov.w   r8, #16
- 800f91c:      e9dd 321f       ldrd    r3, r2, [sp, #124]      ; 0x7c
- 800f920:      2e10            cmp     r6, #16
- 800f922:      f103 0301       add.w   r3, r3, #1
- 800f926:      f104 0108       add.w   r1, r4, #8
- 800f92a:      6027            str     r7, [r4, #0]
- 800f92c:      f77f aec0       ble.w   800f6b0 <_svfprintf_r+0xdf0>
- 800f930:      3210            adds    r2, #16
- 800f932:      2b07            cmp     r3, #7
- 800f934:      f8c4 8004       str.w   r8, [r4, #4]
- 800f938:      e9cd 321f       strd    r3, r2, [sp, #124]      ; 0x7c
- 800f93c:      dd08            ble.n   800f950 <_svfprintf_r+0x1090>
- 800f93e:      aa1e            add     r2, sp, #120    ; 0x78
- 800f940:      4659            mov     r1, fp
- 800f942:      9802            ldr     r0, [sp, #8]
- 800f944:      f001 fe5e       bl      8011604 <__ssprint_r>
- 800f948:      2800            cmp     r0, #0
- 800f94a:      f040 8167       bne.w   800fc1c <_svfprintf_r+0x135c>
- 800f94e:      a921            add     r1, sp, #132    ; 0x84
- 800f950:      3e10            subs    r6, #16
- 800f952:      460c            mov     r4, r1
- 800f954:      e7e2            b.n     800f91c <_svfprintf_r+0x105c>
- 800f956:      aa1e            add     r2, sp, #120    ; 0x78
- 800f958:      4659            mov     r1, fp
- 800f95a:      9802            ldr     r0, [sp, #8]
- 800f95c:      f001 fe52       bl      8011604 <__ssprint_r>
- 800f960:      2800            cmp     r0, #0
- 800f962:      f040 815b       bne.w   800fc1c <_svfprintf_r+0x135c>
- 800f966:      ac21            add     r4, sp, #132    ; 0x84
- 800f968:      e76c            b.n     800f844 <_svfprintf_r+0xf84>
- 800f96a:      2010            movs    r0, #16
- 800f96c:      4403            add     r3, r0
- 800f96e:      2a07            cmp     r2, #7
- 800f970:      6060            str     r0, [r4, #4]
- 800f972:      e9cd 231f       strd    r2, r3, [sp, #124]      ; 0x7c
- 800f976:      dd08            ble.n   800f98a <_svfprintf_r+0x10ca>
- 800f978:      aa1e            add     r2, sp, #120    ; 0x78
- 800f97a:      4659            mov     r1, fp
- 800f97c:      9802            ldr     r0, [sp, #8]
- 800f97e:      f001 fe41       bl      8011604 <__ssprint_r>
- 800f982:      2800            cmp     r0, #0
- 800f984:      f040 814a       bne.w   800fc1c <_svfprintf_r+0x135c>
- 800f988:      a921            add     r1, sp, #132    ; 0x84
- 800f98a:      f1a8 0810       sub.w   r8, r8, #16
- 800f98e:      460c            mov     r4, r1
- 800f990:      e761            b.n     800f856 <_svfprintf_r+0xf96>
- 800f992:      460c            mov     r4, r1
- 800f994:      e77b            b.n     800f88e <_svfprintf_r+0xfce>
- 800f996:      2f00            cmp     r7, #0
- 800f998:      d04e            beq.n   800fa38 <_svfprintf_r+0x1178>
- 800f99a:      3f01            subs    r7, #1
- 800f99c:      9b12            ldr     r3, [sp, #72]   ; 0x48
- 800f99e:      6023            str     r3, [r4, #0]
- 800f9a0:      9b0e            ldr     r3, [sp, #56]   ; 0x38
- 800f9a2:      6063            str     r3, [r4, #4]
- 800f9a4:      9a0e            ldr     r2, [sp, #56]   ; 0x38
- 800f9a6:      9b20            ldr     r3, [sp, #128]  ; 0x80
- 800f9a8:      4413            add     r3, r2
- 800f9aa:      9320            str     r3, [sp, #128]  ; 0x80
- 800f9ac:      9b1f            ldr     r3, [sp, #124]  ; 0x7c
- 800f9ae:      3301            adds    r3, #1
- 800f9b0:      2b07            cmp     r3, #7
- 800f9b2:      931f            str     r3, [sp, #124]  ; 0x7c
- 800f9b4:      dc47            bgt.n   800fa46 <_svfprintf_r+0x1186>
- 800f9b6:      3408            adds    r4, #8
- 800f9b8:      9b03            ldr     r3, [sp, #12]
- 800f9ba:      444b            add     r3, r9
- 800f9bc:      1b9a            subs    r2, r3, r6
- 800f9be:      9b07            ldr     r3, [sp, #28]
- 800f9c0:      781b            ldrb    r3, [r3, #0]
- 800f9c2:      4293            cmp     r3, r2
- 800f9c4:      bfa8            it      ge
- 800f9c6:      4613            movge   r3, r2
- 800f9c8:      2b00            cmp     r3, #0
- 800f9ca:      4698            mov     r8, r3
- 800f9cc:      dd0a            ble.n   800f9e4 <_svfprintf_r+0x1124>
- 800f9ce:      e9c4 6300       strd    r6, r3, [r4]
- 800f9d2:      9b20            ldr     r3, [sp, #128]  ; 0x80
- 800f9d4:      4443            add     r3, r8
- 800f9d6:      9320            str     r3, [sp, #128]  ; 0x80
- 800f9d8:      9b1f            ldr     r3, [sp, #124]  ; 0x7c
- 800f9da:      3301            adds    r3, #1
- 800f9dc:      2b07            cmp     r3, #7
- 800f9de:      931f            str     r3, [sp, #124]  ; 0x7c
- 800f9e0:      dc3b            bgt.n   800fa5a <_svfprintf_r+0x119a>
- 800f9e2:      3408            adds    r4, #8
- 800f9e4:      9b07            ldr     r3, [sp, #28]
- 800f9e6:      781b            ldrb    r3, [r3, #0]
- 800f9e8:      f1b8 0f00       cmp.w   r8, #0
- 800f9ec:      bfac            ite     ge
- 800f9ee:      eba3 0808       subge.w r8, r3, r8
- 800f9f2:      4698            movlt   r8, r3
- 800f9f4:      f1b8 0f00       cmp.w   r8, #0
- 800f9f8:      dd1a            ble.n   800fa30 <_svfprintf_r+0x1170>
- 800f9fa:      e9dd 231f       ldrd    r2, r3, [sp, #124]      ; 0x7c
- 800f9fe:      4831            ldr     r0, [pc, #196]  ; (800fac4 <_svfprintf_r+0x1204>)
- 800fa00:      6020            str     r0, [r4, #0]
- 800fa02:      f1b8 0f10       cmp.w   r8, #16
- 800fa06:      f102 0201       add.w   r2, r2, #1
- 800fa0a:      f104 0108       add.w   r1, r4, #8
- 800fa0e:      dc2e            bgt.n   800fa6e <_svfprintf_r+0x11ae>
- 800fa10:      4443            add     r3, r8
- 800fa12:      2a07            cmp     r2, #7
- 800fa14:      f8c4 8004       str.w   r8, [r4, #4]
- 800fa18:      e9cd 231f       strd    r2, r3, [sp, #124]      ; 0x7c
- 800fa1c:      dd3b            ble.n   800fa96 <_svfprintf_r+0x11d6>
- 800fa1e:      aa1e            add     r2, sp, #120    ; 0x78
- 800fa20:      4659            mov     r1, fp
- 800fa22:      9802            ldr     r0, [sp, #8]
- 800fa24:      f001 fdee       bl      8011604 <__ssprint_r>
- 800fa28:      2800            cmp     r0, #0
- 800fa2a:      f040 80f7       bne.w   800fc1c <_svfprintf_r+0x135c>
- 800fa2e:      ac21            add     r4, sp, #132    ; 0x84
- 800fa30:      9b07            ldr     r3, [sp, #28]
- 800fa32:      781b            ldrb    r3, [r3, #0]
- 800fa34:      441e            add     r6, r3
- 800fa36:      e72d            b.n     800f894 <_svfprintf_r+0xfd4>
- 800fa38:      9b07            ldr     r3, [sp, #28]
- 800fa3a:      3b01            subs    r3, #1
- 800fa3c:      9307            str     r3, [sp, #28]
- 800fa3e:      9b05            ldr     r3, [sp, #20]
- 800fa40:      3b01            subs    r3, #1
- 800fa42:      9305            str     r3, [sp, #20]
- 800fa44:      e7aa            b.n     800f99c <_svfprintf_r+0x10dc>
- 800fa46:      aa1e            add     r2, sp, #120    ; 0x78
- 800fa48:      4659            mov     r1, fp
- 800fa4a:      9802            ldr     r0, [sp, #8]
- 800fa4c:      f001 fdda       bl      8011604 <__ssprint_r>
- 800fa50:      2800            cmp     r0, #0
- 800fa52:      f040 80e3       bne.w   800fc1c <_svfprintf_r+0x135c>
- 800fa56:      ac21            add     r4, sp, #132    ; 0x84
- 800fa58:      e7ae            b.n     800f9b8 <_svfprintf_r+0x10f8>
- 800fa5a:      aa1e            add     r2, sp, #120    ; 0x78
- 800fa5c:      4659            mov     r1, fp
- 800fa5e:      9802            ldr     r0, [sp, #8]
- 800fa60:      f001 fdd0       bl      8011604 <__ssprint_r>
- 800fa64:      2800            cmp     r0, #0
- 800fa66:      f040 80d9       bne.w   800fc1c <_svfprintf_r+0x135c>
- 800fa6a:      ac21            add     r4, sp, #132    ; 0x84
- 800fa6c:      e7ba            b.n     800f9e4 <_svfprintf_r+0x1124>
- 800fa6e:      2010            movs    r0, #16
- 800fa70:      4403            add     r3, r0
- 800fa72:      2a07            cmp     r2, #7
- 800fa74:      6060            str     r0, [r4, #4]
- 800fa76:      e9cd 231f       strd    r2, r3, [sp, #124]      ; 0x7c
- 800fa7a:      dd08            ble.n   800fa8e <_svfprintf_r+0x11ce>
- 800fa7c:      aa1e            add     r2, sp, #120    ; 0x78
- 800fa7e:      4659            mov     r1, fp
- 800fa80:      9802            ldr     r0, [sp, #8]
- 800fa82:      f001 fdbf       bl      8011604 <__ssprint_r>
- 800fa86:      2800            cmp     r0, #0
- 800fa88:      f040 80c8       bne.w   800fc1c <_svfprintf_r+0x135c>
- 800fa8c:      a921            add     r1, sp, #132    ; 0x84
- 800fa8e:      f1a8 0810       sub.w   r8, r8, #16
- 800fa92:      460c            mov     r4, r1
- 800fa94:      e7b1            b.n     800f9fa <_svfprintf_r+0x113a>
- 800fa96:      460c            mov     r4, r1
- 800fa98:      e7ca            b.n     800fa30 <_svfprintf_r+0x1170>
- 800fa9a:      aa1e            add     r2, sp, #120    ; 0x78
- 800fa9c:      4659            mov     r1, fp
- 800fa9e:      9802            ldr     r0, [sp, #8]
- 800faa0:      f001 fdb0       bl      8011604 <__ssprint_r>
- 800faa4:      2800            cmp     r0, #0
- 800faa6:      f040 80b9       bne.w   800fc1c <_svfprintf_r+0x135c>
- 800faaa:      ac21            add     r4, sp, #132    ; 0x84
- 800faac:      e711            b.n     800f8d2 <_svfprintf_r+0x1012>
- 800faae:      aa1e            add     r2, sp, #120    ; 0x78
- 800fab0:      4659            mov     r1, fp
- 800fab2:      9802            ldr     r0, [sp, #8]
- 800fab4:      f001 fda6       bl      8011604 <__ssprint_r>
- 800fab8:      2800            cmp     r0, #0
- 800faba:      f040 80af       bne.w   800fc1c <_svfprintf_r+0x135c>
- 800fabe:      ac21            add     r4, sp, #132    ; 0x84
- 800fac0:      e71f            b.n     800f902 <_svfprintf_r+0x1042>
- 800fac2:      bf00            nop
- 800fac4:      08012e74        .word   0x08012e74
- 800fac8:      9803            ldr     r0, [sp, #12]
- 800faca:      991f            ldr     r1, [sp, #124]  ; 0x7c
- 800facc:      2801            cmp     r0, #1
- 800face:      f103 0201       add.w   r2, r3, #1
- 800fad2:      f101 0101       add.w   r1, r1, #1
- 800fad6:      f104 0308       add.w   r3, r4, #8
- 800fada:      dc01            bgt.n   800fae0 <_svfprintf_r+0x1220>
- 800fadc:      07e8            lsls    r0, r5, #31
- 800fade:      d571            bpl.n   800fbc4 <_svfprintf_r+0x1304>
- 800fae0:      2001            movs    r0, #1
- 800fae2:      2907            cmp     r1, #7
- 800fae4:      f8c4 9000       str.w   r9, [r4]
- 800fae8:      6060            str     r0, [r4, #4]
- 800faea:      e9cd 121f       strd    r1, r2, [sp, #124]      ; 0x7c
- 800faee:      dd08            ble.n   800fb02 <_svfprintf_r+0x1242>
- 800faf0:      aa1e            add     r2, sp, #120    ; 0x78
- 800faf2:      4659            mov     r1, fp
- 800faf4:      9802            ldr     r0, [sp, #8]
- 800faf6:      f001 fd85       bl      8011604 <__ssprint_r>
- 800fafa:      2800            cmp     r0, #0
- 800fafc:      f040 808e       bne.w   800fc1c <_svfprintf_r+0x135c>
- 800fb00:      ab21            add     r3, sp, #132    ; 0x84
- 800fb02:      9a0f            ldr     r2, [sp, #60]   ; 0x3c
- 800fb04:      601a            str     r2, [r3, #0]
- 800fb06:      9a09            ldr     r2, [sp, #36]   ; 0x24
- 800fb08:      605a            str     r2, [r3, #4]
- 800fb0a:      9909            ldr     r1, [sp, #36]   ; 0x24
- 800fb0c:      9a20            ldr     r2, [sp, #128]  ; 0x80
- 800fb0e:      440a            add     r2, r1
- 800fb10:      9220            str     r2, [sp, #128]  ; 0x80
- 800fb12:      9a1f            ldr     r2, [sp, #124]  ; 0x7c
- 800fb14:      3201            adds    r2, #1
- 800fb16:      2a07            cmp     r2, #7
- 800fb18:      921f            str     r2, [sp, #124]  ; 0x7c
- 800fb1a:      dc25            bgt.n   800fb68 <_svfprintf_r+0x12a8>
- 800fb1c:      3308            adds    r3, #8
- 800fb1e:      9a03            ldr     r2, [sp, #12]
- 800fb20:      eeb5 8b40       vcmp.f64        d8, #0.0
- 800fb24:      eef1 fa10       vmrs    APSR_nzcv, fpscr
- 800fb28:      f102 34ff       add.w   r4, r2, #4294967295     ; 0xffffffff
- 800fb2c:      d025            beq.n   800fb7a <_svfprintf_r+0x12ba>
- 800fb2e:      f109 0201       add.w   r2, r9, #1
- 800fb32:      991f            ldr     r1, [sp, #124]  ; 0x7c
- 800fb34:      9803            ldr     r0, [sp, #12]
- 800fb36:      e9c3 2400       strd    r2, r4, [r3]
- 800fb3a:      9a20            ldr     r2, [sp, #128]  ; 0x80
- 800fb3c:      3101            adds    r1, #1
- 800fb3e:      3a01            subs    r2, #1
- 800fb40:      4402            add     r2, r0
- 800fb42:      2907            cmp     r1, #7
- 800fb44:      e9cd 121f       strd    r1, r2, [sp, #124]      ; 0x7c
- 800fb48:      dd45            ble.n   800fbd6 <_svfprintf_r+0x1316>
- 800fb4a:      aa1e            add     r2, sp, #120    ; 0x78
- 800fb4c:      4659            mov     r1, fp
- 800fb4e:      9802            ldr     r0, [sp, #8]
- 800fb50:      f001 fd58       bl      8011604 <__ssprint_r>
- 800fb54:      2800            cmp     r0, #0
- 800fb56:      d161            bne.n   800fc1c <_svfprintf_r+0x135c>
- 800fb58:      ab21            add     r3, sp, #132    ; 0x84
- 800fb5a:      aa1a            add     r2, sp, #104    ; 0x68
- 800fb5c:      601a            str     r2, [r3, #0]
- 800fb5e:      9a10            ldr     r2, [sp, #64]   ; 0x40
- 800fb60:      605a            str     r2, [r3, #4]
- 800fb62:      9910            ldr     r1, [sp, #64]   ; 0x40
- 800fb64:      9a20            ldr     r2, [sp, #128]  ; 0x80
- 800fb66:      e625            b.n     800f7b4 <_svfprintf_r+0xef4>
- 800fb68:      aa1e            add     r2, sp, #120    ; 0x78
- 800fb6a:      4659            mov     r1, fp
- 800fb6c:      9802            ldr     r0, [sp, #8]
- 800fb6e:      f001 fd49       bl      8011604 <__ssprint_r>
- 800fb72:      2800            cmp     r0, #0
- 800fb74:      d152            bne.n   800fc1c <_svfprintf_r+0x135c>
- 800fb76:      ab21            add     r3, sp, #132    ; 0x84
- 800fb78:      e7d1            b.n     800fb1e <_svfprintf_r+0x125e>
- 800fb7a:      2c00            cmp     r4, #0
- 800fb7c:      dded            ble.n   800fb5a <_svfprintf_r+0x129a>
- 800fb7e:      4e3e            ldr     r6, [pc, #248]  ; (800fc78 <_svfprintf_r+0x13b8>)
- 800fb80:      2710            movs    r7, #16
- 800fb82:      e9dd 211f       ldrd    r2, r1, [sp, #124]      ; 0x7c
- 800fb86:      2c10            cmp     r4, #16
- 800fb88:      f102 0201       add.w   r2, r2, #1
- 800fb8c:      f103 0008       add.w   r0, r3, #8
- 800fb90:      601e            str     r6, [r3, #0]
- 800fb92:      dc07            bgt.n   800fba4 <_svfprintf_r+0x12e4>
- 800fb94:      605c            str     r4, [r3, #4]
- 800fb96:      2a07            cmp     r2, #7
- 800fb98:      440c            add     r4, r1
- 800fb9a:      e9cd 241f       strd    r2, r4, [sp, #124]      ; 0x7c
- 800fb9e:      dcd4            bgt.n   800fb4a <_svfprintf_r+0x128a>
- 800fba0:      4603            mov     r3, r0
- 800fba2:      e7da            b.n     800fb5a <_svfprintf_r+0x129a>
- 800fba4:      3110            adds    r1, #16
- 800fba6:      2a07            cmp     r2, #7
- 800fba8:      605f            str     r7, [r3, #4]
- 800fbaa:      e9cd 211f       strd    r2, r1, [sp, #124]      ; 0x7c
- 800fbae:      dd06            ble.n   800fbbe <_svfprintf_r+0x12fe>
- 800fbb0:      aa1e            add     r2, sp, #120    ; 0x78
- 800fbb2:      4659            mov     r1, fp
- 800fbb4:      9802            ldr     r0, [sp, #8]
- 800fbb6:      f001 fd25       bl      8011604 <__ssprint_r>
- 800fbba:      bb78            cbnz    r0, 800fc1c <_svfprintf_r+0x135c>
- 800fbbc:      a821            add     r0, sp, #132    ; 0x84
- 800fbbe:      3c10            subs    r4, #16
- 800fbc0:      4603            mov     r3, r0
- 800fbc2:      e7de            b.n     800fb82 <_svfprintf_r+0x12c2>
- 800fbc4:      2001            movs    r0, #1
- 800fbc6:      2907            cmp     r1, #7
- 800fbc8:      f8c4 9000       str.w   r9, [r4]
- 800fbcc:      6060            str     r0, [r4, #4]
- 800fbce:      e9cd 121f       strd    r1, r2, [sp, #124]      ; 0x7c
- 800fbd2:      ddc2            ble.n   800fb5a <_svfprintf_r+0x129a>
- 800fbd4:      e7b9            b.n     800fb4a <_svfprintf_r+0x128a>
- 800fbd6:      3308            adds    r3, #8
- 800fbd8:      e7bf            b.n     800fb5a <_svfprintf_r+0x129a>
- 800fbda:      460c            mov     r4, r1
- 800fbdc:      f7ff bbe0       b.w     800f3a0 <_svfprintf_r+0xae0>
- 800fbe0:      9b0b            ldr     r3, [sp, #44]   ; 0x2c
- 800fbe2:      9a0d            ldr     r2, [sp, #52]   ; 0x34
- 800fbe4:      1a9d            subs    r5, r3, r2
- 800fbe6:      2d00            cmp     r5, #0
- 800fbe8:      f77f abdd       ble.w   800f3a6 <_svfprintf_r+0xae6>
- 800fbec:      4e23            ldr     r6, [pc, #140]  ; (800fc7c <_svfprintf_r+0x13bc>)
- 800fbee:      2710            movs    r7, #16
- 800fbf0:      e9dd 321f       ldrd    r3, r2, [sp, #124]      ; 0x7c
- 800fbf4:      2d10            cmp     r5, #16
- 800fbf6:      f103 0301       add.w   r3, r3, #1
- 800fbfa:      6026            str     r6, [r4, #0]
- 800fbfc:      dc18            bgt.n   800fc30 <_svfprintf_r+0x1370>
- 800fbfe:      6065            str     r5, [r4, #4]
- 800fc00:      2b07            cmp     r3, #7
- 800fc02:      4415            add     r5, r2
- 800fc04:      e9cd 351f       strd    r3, r5, [sp, #124]      ; 0x7c
- 800fc08:      f77f abcd       ble.w   800f3a6 <_svfprintf_r+0xae6>
- 800fc0c:      aa1e            add     r2, sp, #120    ; 0x78
- 800fc0e:      4659            mov     r1, fp
- 800fc10:      9802            ldr     r0, [sp, #8]
- 800fc12:      f001 fcf7       bl      8011604 <__ssprint_r>
- 800fc16:      2800            cmp     r0, #0
- 800fc18:      f43f abc5       beq.w   800f3a6 <_svfprintf_r+0xae6>
- 800fc1c:      f1ba 0f00       cmp.w   sl, #0
- 800fc20:      f43f a8d2       beq.w   800edc8 <_svfprintf_r+0x508>
- 800fc24:      4651            mov     r1, sl
- 800fc26:      9802            ldr     r0, [sp, #8]
- 800fc28:      f001 f854       bl      8010cd4 <_free_r>
- 800fc2c:      f7ff b8cc       b.w     800edc8 <_svfprintf_r+0x508>
- 800fc30:      3210            adds    r2, #16
- 800fc32:      2b07            cmp     r3, #7
- 800fc34:      6067            str     r7, [r4, #4]
- 800fc36:      e9cd 321f       strd    r3, r2, [sp, #124]      ; 0x7c
- 800fc3a:      dc02            bgt.n   800fc42 <_svfprintf_r+0x1382>
- 800fc3c:      3408            adds    r4, #8
- 800fc3e:      3d10            subs    r5, #16
- 800fc40:      e7d6            b.n     800fbf0 <_svfprintf_r+0x1330>
- 800fc42:      aa1e            add     r2, sp, #120    ; 0x78
- 800fc44:      4659            mov     r1, fp
- 800fc46:      9802            ldr     r0, [sp, #8]
- 800fc48:      f001 fcdc       bl      8011604 <__ssprint_r>
- 800fc4c:      2800            cmp     r0, #0
- 800fc4e:      d1e5            bne.n   800fc1c <_svfprintf_r+0x135c>
- 800fc50:      ac21            add     r4, sp, #132    ; 0x84
- 800fc52:      e7f4            b.n     800fc3e <_svfprintf_r+0x137e>
- 800fc54:      4651            mov     r1, sl
- 800fc56:      9802            ldr     r0, [sp, #8]
- 800fc58:      f001 f83c       bl      8010cd4 <_free_r>
- 800fc5c:      f7ff bbbb       b.w     800f3d6 <_svfprintf_r+0xb16>
- 800fc60:      9b20            ldr     r3, [sp, #128]  ; 0x80
- 800fc62:      2b00            cmp     r3, #0
- 800fc64:      f43f a8b0       beq.w   800edc8 <_svfprintf_r+0x508>
- 800fc68:      aa1e            add     r2, sp, #120    ; 0x78
- 800fc6a:      4659            mov     r1, fp
- 800fc6c:      9802            ldr     r0, [sp, #8]
- 800fc6e:      f001 fcc9       bl      8011604 <__ssprint_r>
- 800fc72:      f7ff b8a9       b.w     800edc8 <_svfprintf_r+0x508>
- 800fc76:      bf00            nop
- 800fc78:      08012e74        .word   0x08012e74
- 800fc7c:      08012e64        .word   0x08012e64
-
-0800fc80 <sysconf>:
- 800fc80:      2808            cmp     r0, #8
- 800fc82:      b508            push    {r3, lr}
- 800fc84:      d006            beq.n   800fc94 <sysconf+0x14>
- 800fc86:      f7fd fedf       bl      800da48 <__errno>
- 800fc8a:      2316            movs    r3, #22
- 800fc8c:      6003            str     r3, [r0, #0]
- 800fc8e:      f04f 30ff       mov.w   r0, #4294967295 ; 0xffffffff
- 800fc92:      bd08            pop     {r3, pc}
- 800fc94:      f44f 5080       mov.w   r0, #4096       ; 0x1000
- 800fc98:      e7fb            b.n     800fc92 <sysconf+0x12>
-       ...
-
-0800fc9c <write>:
- 800fc9c:      4613            mov     r3, r2
- 800fc9e:      460a            mov     r2, r1
- 800fca0:      4601            mov     r1, r0
- 800fca2:      4802            ldr     r0, [pc, #8]    ; (800fcac <write+0x10>)
- 800fca4:      6800            ldr     r0, [r0, #0]
- 800fca6:      f000 b84d       b.w     800fd44 <_write_r>
- 800fcaa:      bf00            nop
- 800fcac:      20000014        .word   0x20000014
-
-0800fcb0 <__swbuf_r>:
- 800fcb0:      b5f8            push    {r3, r4, r5, r6, r7, lr}
- 800fcb2:      460d            mov     r5, r1
- 800fcb4:      4614            mov     r4, r2
- 800fcb6:      4606            mov     r6, r0
- 800fcb8:      b118            cbz     r0, 800fcc2 <__swbuf_r+0x12>
- 800fcba:      6b83            ldr     r3, [r0, #56]   ; 0x38
- 800fcbc:      b90b            cbnz    r3, 800fcc2 <__swbuf_r+0x12>
- 800fcbe:      f000 ff79       bl      8010bb4 <__sinit>
- 800fcc2:      69a3            ldr     r3, [r4, #24]
- 800fcc4:      60a3            str     r3, [r4, #8]
- 800fcc6:      89a3            ldrh    r3, [r4, #12]
- 800fcc8:      0719            lsls    r1, r3, #28
- 800fcca:      d528            bpl.n   800fd1e <__swbuf_r+0x6e>
- 800fccc:      6923            ldr     r3, [r4, #16]
- 800fcce:      b333            cbz     r3, 800fd1e <__swbuf_r+0x6e>
- 800fcd0:      f9b4 300c       ldrsh.w r3, [r4, #12]
- 800fcd4:      b2ed            uxtb    r5, r5
- 800fcd6:      049a            lsls    r2, r3, #18
- 800fcd8:      462f            mov     r7, r5
- 800fcda:      d52a            bpl.n   800fd32 <__swbuf_r+0x82>
- 800fcdc:      6923            ldr     r3, [r4, #16]
- 800fcde:      6820            ldr     r0, [r4, #0]
- 800fce0:      1ac0            subs    r0, r0, r3
- 800fce2:      6963            ldr     r3, [r4, #20]
- 800fce4:      4283            cmp     r3, r0
- 800fce6:      dc04            bgt.n   800fcf2 <__swbuf_r+0x42>
- 800fce8:      4621            mov     r1, r4
- 800fcea:      4630            mov     r0, r6
- 800fcec:      f000 fef6       bl      8010adc <_fflush_r>
- 800fcf0:      b9d8            cbnz    r0, 800fd2a <__swbuf_r+0x7a>
- 800fcf2:      68a3            ldr     r3, [r4, #8]
- 800fcf4:      3b01            subs    r3, #1
- 800fcf6:      60a3            str     r3, [r4, #8]
- 800fcf8:      6823            ldr     r3, [r4, #0]
- 800fcfa:      1c5a            adds    r2, r3, #1
- 800fcfc:      6022            str     r2, [r4, #0]
- 800fcfe:      701d            strb    r5, [r3, #0]
- 800fd00:      6963            ldr     r3, [r4, #20]
- 800fd02:      3001            adds    r0, #1
- 800fd04:      4283            cmp     r3, r0
- 800fd06:      d004            beq.n   800fd12 <__swbuf_r+0x62>
- 800fd08:      89a3            ldrh    r3, [r4, #12]
- 800fd0a:      07db            lsls    r3, r3, #31
- 800fd0c:      d50f            bpl.n   800fd2e <__swbuf_r+0x7e>
- 800fd0e:      2d0a            cmp     r5, #10
- 800fd10:      d10d            bne.n   800fd2e <__swbuf_r+0x7e>
- 800fd12:      4621            mov     r1, r4
- 800fd14:      4630            mov     r0, r6
- 800fd16:      f000 fee1       bl      8010adc <_fflush_r>
- 800fd1a:      b140            cbz     r0, 800fd2e <__swbuf_r+0x7e>
- 800fd1c:      e005            b.n     800fd2a <__swbuf_r+0x7a>
- 800fd1e:      4621            mov     r1, r4
- 800fd20:      4630            mov     r0, r6
- 800fd22:      f000 f821       bl      800fd68 <__swsetup_r>
- 800fd26:      2800            cmp     r0, #0
- 800fd28:      d0d2            beq.n   800fcd0 <__swbuf_r+0x20>
- 800fd2a:      f04f 37ff       mov.w   r7, #4294967295 ; 0xffffffff
- 800fd2e:      4638            mov     r0, r7
- 800fd30:      bdf8            pop     {r3, r4, r5, r6, r7, pc}
- 800fd32:      f443 5300       orr.w   r3, r3, #8192   ; 0x2000
- 800fd36:      81a3            strh    r3, [r4, #12]
- 800fd38:      6e63            ldr     r3, [r4, #100]  ; 0x64
- 800fd3a:      f423 5300       bic.w   r3, r3, #8192   ; 0x2000
- 800fd3e:      6663            str     r3, [r4, #100]  ; 0x64
- 800fd40:      e7cc            b.n     800fcdc <__swbuf_r+0x2c>
-       ...
-
-0800fd44 <_write_r>:
- 800fd44:      b538            push    {r3, r4, r5, lr}
- 800fd46:      4c07            ldr     r4, [pc, #28]   ; (800fd64 <_write_r+0x20>)
- 800fd48:      4605            mov     r5, r0
- 800fd4a:      4608            mov     r0, r1
- 800fd4c:      4611            mov     r1, r2
- 800fd4e:      2200            movs    r2, #0
- 800fd50:      6022            str     r2, [r4, #0]
- 800fd52:      461a            mov     r2, r3
- 800fd54:      f7fc fd01       bl      800c75a <_write>
- 800fd58:      1c43            adds    r3, r0, #1
- 800fd5a:      d102            bne.n   800fd62 <_write_r+0x1e>
- 800fd5c:      6823            ldr     r3, [r4, #0]
- 800fd5e:      b103            cbz     r3, 800fd62 <_write_r+0x1e>
- 800fd60:      602b            str     r3, [r5, #0]
- 800fd62:      bd38            pop     {r3, r4, r5, pc}
- 800fd64:      20000b08        .word   0x20000b08
-
-0800fd68 <__swsetup_r>:
- 800fd68:      b538            push    {r3, r4, r5, lr}
- 800fd6a:      4b2a            ldr     r3, [pc, #168]  ; (800fe14 <__swsetup_r+0xac>)
- 800fd6c:      4605            mov     r5, r0
- 800fd6e:      6818            ldr     r0, [r3, #0]
- 800fd70:      460c            mov     r4, r1
- 800fd72:      b118            cbz     r0, 800fd7c <__swsetup_r+0x14>
- 800fd74:      6b83            ldr     r3, [r0, #56]   ; 0x38
- 800fd76:      b90b            cbnz    r3, 800fd7c <__swsetup_r+0x14>
- 800fd78:      f000 ff1c       bl      8010bb4 <__sinit>
- 800fd7c:      f9b4 300c       ldrsh.w r3, [r4, #12]
- 800fd80:      b29a            uxth    r2, r3
- 800fd82:      0711            lsls    r1, r2, #28
- 800fd84:      d422            bmi.n   800fdcc <__swsetup_r+0x64>
- 800fd86:      06d0            lsls    r0, r2, #27
- 800fd88:      d407            bmi.n   800fd9a <__swsetup_r+0x32>
- 800fd8a:      2209            movs    r2, #9
- 800fd8c:      602a            str     r2, [r5, #0]
- 800fd8e:      f043 0340       orr.w   r3, r3, #64     ; 0x40
- 800fd92:      81a3            strh    r3, [r4, #12]
- 800fd94:      f04f 30ff       mov.w   r0, #4294967295 ; 0xffffffff
- 800fd98:      e034            b.n     800fe04 <__swsetup_r+0x9c>
- 800fd9a:      0751            lsls    r1, r2, #29
- 800fd9c:      d512            bpl.n   800fdc4 <__swsetup_r+0x5c>
- 800fd9e:      6b21            ldr     r1, [r4, #48]   ; 0x30
- 800fda0:      b141            cbz     r1, 800fdb4 <__swsetup_r+0x4c>
- 800fda2:      f104 0340       add.w   r3, r4, #64     ; 0x40
- 800fda6:      4299            cmp     r1, r3
- 800fda8:      d002            beq.n   800fdb0 <__swsetup_r+0x48>
- 800fdaa:      4628            mov     r0, r5
- 800fdac:      f000 ff92       bl      8010cd4 <_free_r>
- 800fdb0:      2300            movs    r3, #0
- 800fdb2:      6323            str     r3, [r4, #48]   ; 0x30
- 800fdb4:      89a3            ldrh    r3, [r4, #12]
- 800fdb6:      f023 0324       bic.w   r3, r3, #36     ; 0x24
- 800fdba:      81a3            strh    r3, [r4, #12]
- 800fdbc:      2300            movs    r3, #0
- 800fdbe:      6063            str     r3, [r4, #4]
- 800fdc0:      6923            ldr     r3, [r4, #16]
- 800fdc2:      6023            str     r3, [r4, #0]
- 800fdc4:      89a3            ldrh    r3, [r4, #12]
- 800fdc6:      f043 0308       orr.w   r3, r3, #8
- 800fdca:      81a3            strh    r3, [r4, #12]
- 800fdcc:      6923            ldr     r3, [r4, #16]
- 800fdce:      b94b            cbnz    r3, 800fde4 <__swsetup_r+0x7c>
- 800fdd0:      89a3            ldrh    r3, [r4, #12]
- 800fdd2:      f403 7320       and.w   r3, r3, #640    ; 0x280
- 800fdd6:      f5b3 7f00       cmp.w   r3, #512        ; 0x200
- 800fdda:      d003            beq.n   800fde4 <__swsetup_r+0x7c>
- 800fddc:      4621            mov     r1, r4
- 800fdde:      4628            mov     r0, r5
- 800fde0:      f001 f88c       bl      8010efc <__smakebuf_r>
- 800fde4:      89a2            ldrh    r2, [r4, #12]
- 800fde6:      f012 0301       ands.w  r3, r2, #1
- 800fdea:      d00c            beq.n   800fe06 <__swsetup_r+0x9e>
- 800fdec:      2300            movs    r3, #0
- 800fdee:      60a3            str     r3, [r4, #8]
- 800fdf0:      6963            ldr     r3, [r4, #20]
- 800fdf2:      425b            negs    r3, r3
- 800fdf4:      61a3            str     r3, [r4, #24]
- 800fdf6:      6923            ldr     r3, [r4, #16]
- 800fdf8:      b953            cbnz    r3, 800fe10 <__swsetup_r+0xa8>
- 800fdfa:      f9b4 300c       ldrsh.w r3, [r4, #12]
- 800fdfe:      f013 0080       ands.w  r0, r3, #128    ; 0x80
- 800fe02:      d1c4            bne.n   800fd8e <__swsetup_r+0x26>
- 800fe04:      bd38            pop     {r3, r4, r5, pc}
- 800fe06:      0792            lsls    r2, r2, #30
- 800fe08:      bf58            it      pl
- 800fe0a:      6963            ldrpl   r3, [r4, #20]
- 800fe0c:      60a3            str     r3, [r4, #8]
- 800fe0e:      e7f2            b.n     800fdf6 <__swsetup_r+0x8e>
- 800fe10:      2000            movs    r0, #0
- 800fe12:      e7f7            b.n     800fe04 <__swsetup_r+0x9c>
- 800fe14:      20000014        .word   0x20000014
-
-0800fe18 <register_fini>:
- 800fe18:      4b02            ldr     r3, [pc, #8]    ; (800fe24 <register_fini+0xc>)
- 800fe1a:      b113            cbz     r3, 800fe22 <register_fini+0xa>
- 800fe1c:      4802            ldr     r0, [pc, #8]    ; (800fe28 <register_fini+0x10>)
- 800fe1e:      f000 b805       b.w     800fe2c <atexit>
- 800fe22:      4770            bx      lr
- 800fe24:      00000000        .word   0x00000000
- 800fe28:      08010c05        .word   0x08010c05
-
-0800fe2c <atexit>:
- 800fe2c:      2300            movs    r3, #0
- 800fe2e:      4601            mov     r1, r0
- 800fe30:      461a            mov     r2, r3
- 800fe32:      4618            mov     r0, r3
- 800fe34:      f001 bc5e       b.w     80116f4 <__register_exitproc>
-
-0800fe38 <quorem>:
- 800fe38:      e92d 4ff7       stmdb   sp!, {r0, r1, r2, r4, r5, r6, r7, r8, r9, sl, fp, lr}
- 800fe3c:      6903            ldr     r3, [r0, #16]
- 800fe3e:      690c            ldr     r4, [r1, #16]
- 800fe40:      42a3            cmp     r3, r4
- 800fe42:      4680            mov     r8, r0
- 800fe44:      f2c0 8082       blt.w   800ff4c <quorem+0x114>
- 800fe48:      3c01            subs    r4, #1
- 800fe4a:      f101 0714       add.w   r7, r1, #20
- 800fe4e:      ea4f 0c84       mov.w   ip, r4, lsl #2
- 800fe52:      f100 0614       add.w   r6, r0, #20
- 800fe56:      f857 5024       ldr.w   r5, [r7, r4, lsl #2]
- 800fe5a:      f856 0024       ldr.w   r0, [r6, r4, lsl #2]
- 800fe5e:      eb06 030c       add.w   r3, r6, ip
- 800fe62:      3501            adds    r5, #1
- 800fe64:      eb07 090c       add.w   r9, r7, ip
- 800fe68:      9301            str     r3, [sp, #4]
- 800fe6a:      fbb0 f5f5       udiv    r5, r0, r5
- 800fe6e:      b395            cbz     r5, 800fed6 <quorem+0x9e>
- 800fe70:      f04f 0a00       mov.w   sl, #0
- 800fe74:      4638            mov     r0, r7
- 800fe76:      46b6            mov     lr, r6
- 800fe78:      46d3            mov     fp, sl
- 800fe7a:      f850 2b04       ldr.w   r2, [r0], #4
- 800fe7e:      b293            uxth    r3, r2
- 800fe80:      fb05 a303       mla     r3, r5, r3, sl
- 800fe84:      ea4f 4a13       mov.w   sl, r3, lsr #16
- 800fe88:      b29b            uxth    r3, r3
- 800fe8a:      ebab 0303       sub.w   r3, fp, r3
- 800fe8e:      0c12            lsrs    r2, r2, #16
- 800fe90:      f8de b000       ldr.w   fp, [lr]
- 800fe94:      fb05 a202       mla     r2, r5, r2, sl
- 800fe98:      fa13 f38b       uxtah   r3, r3, fp
- 800fe9c:      ea4f 4a12       mov.w   sl, r2, lsr #16
- 800fea0:      fa1f fb82       uxth.w  fp, r2
- 800fea4:      f8de 2000       ldr.w   r2, [lr]
- 800fea8:      ebcb 4212       rsb     r2, fp, r2, lsr #16
- 800feac:      eb02 4223       add.w   r2, r2, r3, asr #16
- 800feb0:      b29b            uxth    r3, r3
- 800feb2:      ea43 4302       orr.w   r3, r3, r2, lsl #16
- 800feb6:      4581            cmp     r9, r0
- 800feb8:      ea4f 4b22       mov.w   fp, r2, asr #16
- 800febc:      f84e 3b04       str.w   r3, [lr], #4
- 800fec0:      d2db            bcs.n   800fe7a <quorem+0x42>
- 800fec2:      f856 300c       ldr.w   r3, [r6, ip]
- 800fec6:      b933            cbnz    r3, 800fed6 <quorem+0x9e>
- 800fec8:      9b01            ldr     r3, [sp, #4]
- 800feca:      3b04            subs    r3, #4
- 800fecc:      429e            cmp     r6, r3
- 800fece:      461a            mov     r2, r3
- 800fed0:      d330            bcc.n   800ff34 <quorem+0xfc>
- 800fed2:      f8c8 4010       str.w   r4, [r8, #16]
- 800fed6:      4640            mov     r0, r8
- 800fed8:      f001 fa3a       bl      8011350 <__mcmp>
- 800fedc:      2800            cmp     r0, #0
- 800fede:      db25            blt.n   800ff2c <quorem+0xf4>
- 800fee0:      3501            adds    r5, #1
- 800fee2:      4630            mov     r0, r6
- 800fee4:      f04f 0c00       mov.w   ip, #0
- 800fee8:      f857 2b04       ldr.w   r2, [r7], #4
- 800feec:      f8d0 e000       ldr.w   lr, [r0]
- 800fef0:      b293            uxth    r3, r2
- 800fef2:      ebac 0303       sub.w   r3, ip, r3
- 800fef6:      0c12            lsrs    r2, r2, #16
- 800fef8:      fa13 f38e       uxtah   r3, r3, lr
- 800fefc:      ebc2 421e       rsb     r2, r2, lr, lsr #16
- 800ff00:      eb02 4223       add.w   r2, r2, r3, asr #16
- 800ff04:      b29b            uxth    r3, r3
- 800ff06:      ea43 4302       orr.w   r3, r3, r2, lsl #16
- 800ff0a:      45b9            cmp     r9, r7
- 800ff0c:      ea4f 4c22       mov.w   ip, r2, asr #16
- 800ff10:      f840 3b04       str.w   r3, [r0], #4
- 800ff14:      d2e8            bcs.n   800fee8 <quorem+0xb0>
- 800ff16:      f856 2024       ldr.w   r2, [r6, r4, lsl #2]
- 800ff1a:      eb06 0384       add.w   r3, r6, r4, lsl #2
- 800ff1e:      b92a            cbnz    r2, 800ff2c <quorem+0xf4>
- 800ff20:      3b04            subs    r3, #4
- 800ff22:      429e            cmp     r6, r3
- 800ff24:      461a            mov     r2, r3
- 800ff26:      d30b            bcc.n   800ff40 <quorem+0x108>
- 800ff28:      f8c8 4010       str.w   r4, [r8, #16]
- 800ff2c:      4628            mov     r0, r5
- 800ff2e:      b003            add     sp, #12
- 800ff30:      e8bd 8ff0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
- 800ff34:      6812            ldr     r2, [r2, #0]
- 800ff36:      3b04            subs    r3, #4
- 800ff38:      2a00            cmp     r2, #0
- 800ff3a:      d1ca            bne.n   800fed2 <quorem+0x9a>
- 800ff3c:      3c01            subs    r4, #1
- 800ff3e:      e7c5            b.n     800fecc <quorem+0x94>
- 800ff40:      6812            ldr     r2, [r2, #0]
- 800ff42:      3b04            subs    r3, #4
- 800ff44:      2a00            cmp     r2, #0
- 800ff46:      d1ef            bne.n   800ff28 <quorem+0xf0>
- 800ff48:      3c01            subs    r4, #1
- 800ff4a:      e7ea            b.n     800ff22 <quorem+0xea>
- 800ff4c:      2000            movs    r0, #0
- 800ff4e:      e7ee            b.n     800ff2e <quorem+0xf6>
-
-0800ff50 <_dtoa_r>:
- 800ff50:      e92d 4ff0       stmdb   sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
- 800ff54:      b095            sub     sp, #84 ; 0x54
- 800ff56:      ec57 6b10       vmov    r6, r7, d0
- 800ff5a:      9108            str     r1, [sp, #32]
- 800ff5c:      6c01            ldr     r1, [r0, #64]   ; 0x40
- 800ff5e:      920a            str     r2, [sp, #40]   ; 0x28
- 800ff60:      4604            mov     r4, r0
- 800ff62:      9311            str     r3, [sp, #68]   ; 0x44
- 800ff64:      9d1e            ldr     r5, [sp, #120]  ; 0x78
- 800ff66:      e9cd 6704       strd    r6, r7, [sp, #16]
- 800ff6a:      b141            cbz     r1, 800ff7e <_dtoa_r+0x2e>
- 800ff6c:      6c42            ldr     r2, [r0, #68]   ; 0x44
- 800ff6e:      604a            str     r2, [r1, #4]
- 800ff70:      2301            movs    r3, #1
- 800ff72:      4093            lsls    r3, r2
- 800ff74:      608b            str     r3, [r1, #8]
- 800ff76:      f001 f826       bl      8010fc6 <_Bfree>
- 800ff7a:      2300            movs    r3, #0
- 800ff7c:      6423            str     r3, [r4, #64]   ; 0x40
- 800ff7e:      1e3b            subs    r3, r7, #0
- 800ff80:      bfbb            ittet   lt
- 800ff82:      f023 4300       biclt.w r3, r3, #2147483648     ; 0x80000000
- 800ff86:      9305            strlt   r3, [sp, #20]
- 800ff88:      2300            movge   r3, #0
- 800ff8a:      2201            movlt   r2, #1
- 800ff8c:      bfac            ite     ge
- 800ff8e:      602b            strge   r3, [r5, #0]
- 800ff90:      602a            strlt   r2, [r5, #0]
- 800ff92:      4ba9            ldr     r3, [pc, #676]  ; (8010238 <_dtoa_r+0x2e8>)
- 800ff94:      9d05            ldr     r5, [sp, #20]
- 800ff96:      43ab            bics    r3, r5
- 800ff98:      d11b            bne.n   800ffd2 <_dtoa_r+0x82>
- 800ff9a:      9a11            ldr     r2, [sp, #68]   ; 0x44
- 800ff9c:      f242 730f       movw    r3, #9999       ; 0x270f
- 800ffa0:      6013            str     r3, [r2, #0]
- 800ffa2:      9b04            ldr     r3, [sp, #16]
- 800ffa4:      b923            cbnz    r3, 800ffb0 <_dtoa_r+0x60>
- 800ffa6:      f3c5 0513       ubfx    r5, r5, #0, #20
- 800ffaa:      2d00            cmp     r5, #0
- 800ffac:      f000 84d9       beq.w   8010962 <_dtoa_r+0xa12>
- 800ffb0:      9b1f            ldr     r3, [sp, #124]  ; 0x7c
- 800ffb2:      b90b            cbnz    r3, 800ffb8 <_dtoa_r+0x68>
- 800ffb4:      4ba1            ldr     r3, [pc, #644]  ; (801023c <_dtoa_r+0x2ec>)
- 800ffb6:      e020            b.n     800fffa <_dtoa_r+0xaa>
- 800ffb8:      4ba0            ldr     r3, [pc, #640]  ; (801023c <_dtoa_r+0x2ec>)
- 800ffba:      9302            str     r3, [sp, #8]
- 800ffbc:      3303            adds    r3, #3
- 800ffbe:      9a1f            ldr     r2, [sp, #124]  ; 0x7c
- 800ffc0:      6013            str     r3, [r2, #0]
- 800ffc2:      9802            ldr     r0, [sp, #8]
- 800ffc4:      b015            add     sp, #84 ; 0x54
- 800ffc6:      e8bd 8ff0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
- 800ffca:      4b9d            ldr     r3, [pc, #628]  ; (8010240 <_dtoa_r+0x2f0>)
- 800ffcc:      9302            str     r3, [sp, #8]
- 800ffce:      3308            adds    r3, #8
- 800ffd0:      e7f5            b.n     800ffbe <_dtoa_r+0x6e>
- 800ffd2:      ed9d 7b04       vldr    d7, [sp, #16]
- 800ffd6:      eeb5 7b40       vcmp.f64        d7, #0.0
- 800ffda:      eef1 fa10       vmrs    APSR_nzcv, fpscr
- 800ffde:      ed8d 7b02       vstr    d7, [sp, #8]
- 800ffe2:      d10c            bne.n   800fffe <_dtoa_r+0xae>
- 800ffe4:      9a11            ldr     r2, [sp, #68]   ; 0x44
- 800ffe6:      2301            movs    r3, #1
- 800ffe8:      6013            str     r3, [r2, #0]
- 800ffea:      9b1f            ldr     r3, [sp, #124]  ; 0x7c
- 800ffec:      2b00            cmp     r3, #0
- 800ffee:      f000 84b5       beq.w   801095c <_dtoa_r+0xa0c>
- 800fff2:      4b94            ldr     r3, [pc, #592]  ; (8010244 <_dtoa_r+0x2f4>)
- 800fff4:      9a1f            ldr     r2, [sp, #124]  ; 0x7c
- 800fff6:      6013            str     r3, [r2, #0]
- 800fff8:      3b01            subs    r3, #1
- 800fffa:      9302            str     r3, [sp, #8]
- 800fffc:      e7e1            b.n     800ffc2 <_dtoa_r+0x72>
- 800fffe:      a913            add     r1, sp, #76     ; 0x4c
- 8010000:      aa12            add     r2, sp, #72     ; 0x48
- 8010002:      ed9d 0b02       vldr    d0, [sp, #8]
- 8010006:      4620            mov     r0, r4
- 8010008:      f001 fa19       bl      801143e <__d2b>
- 801000c:      f3c5 560a       ubfx    r6, r5, #20, #11
- 8010010:      9001            str     r0, [sp, #4]
- 8010012:      9912            ldr     r1, [sp, #72]   ; 0x48
- 8010014:      2e00            cmp     r6, #0
- 8010016:      d046            beq.n   80100a6 <_dtoa_r+0x156>
- 8010018:      9803            ldr     r0, [sp, #12]
- 801001a:      f3c0 0013       ubfx    r0, r0, #0, #20
- 801001e:      e9dd 2302       ldrd    r2, r3, [sp, #8]
- 8010022:      f040 537f       orr.w   r3, r0, #1069547520     ; 0x3fc00000
- 8010026:      f443 1340       orr.w   r3, r3, #3145728        ; 0x300000
- 801002a:      f2a6 3aff       subw    sl, r6, #1023   ; 0x3ff
- 801002e:      2700            movs    r7, #0
- 8010030:      ee07 aa90       vmov    s15, sl
- 8010034:      ec43 2b16       vmov    d6, r2, r3
- 8010038:      eeb8 5be7       vcvt.f64.s32    d5, s15
- 801003c:      ed9f 4b78       vldr    d4, [pc, #480]  ; 8010220 <_dtoa_r+0x2d0>
- 8010040:      eeb7 7b08       vmov.f64        d7, #120        ; 0x3fc00000  1.5
- 8010044:      ee36 7b47       vsub.f64        d7, d6, d7
- 8010048:      ed9f 6b77       vldr    d6, [pc, #476]  ; 8010228 <_dtoa_r+0x2d8>
- 801004c:      eea7 6b04       vfma.f64        d6, d7, d4
- 8010050:      eeb0 7b46       vmov.f64        d7, d6
- 8010054:      ed9f 6b76       vldr    d6, [pc, #472]  ; 8010230 <_dtoa_r+0x2e0>
- 8010058:      eea5 7b06       vfma.f64        d7, d5, d6
- 801005c:      eefd 6bc7       vcvt.s32.f64    s13, d7
- 8010060:      eeb5 7bc0       vcmpe.f64       d7, #0.0
- 8010064:      eef1 fa10       vmrs    APSR_nzcv, fpscr
- 8010068:      ee16 ba90       vmov    fp, s13
- 801006c:      d508            bpl.n   8010080 <_dtoa_r+0x130>
- 801006e:      eeb8 6be6       vcvt.f64.s32    d6, s13
- 8010072:      eeb4 6b47       vcmp.f64        d6, d7
- 8010076:      eef1 fa10       vmrs    APSR_nzcv, fpscr
- 801007a:      bf18            it      ne
- 801007c:      f10b 3bff       addne.w fp, fp, #4294967295     ; 0xffffffff
- 8010080:      f1bb 0f16       cmp.w   fp, #22
- 8010084:      d834            bhi.n   80100f0 <_dtoa_r+0x1a0>
- 8010086:      4b70            ldr     r3, [pc, #448]  ; (8010248 <_dtoa_r+0x2f8>)
- 8010088:      eb03 03cb       add.w   r3, r3, fp, lsl #3
- 801008c:      ed93 7b00       vldr    d7, [r3]
- 8010090:      ed9d 6b04       vldr    d6, [sp, #16]
- 8010094:      eeb4 7bc6       vcmpe.f64       d7, d6
- 8010098:      eef1 fa10       vmrs    APSR_nzcv, fpscr
- 801009c:      dd01            ble.n   80100a2 <_dtoa_r+0x152>
- 801009e:      f10b 3bff       add.w   fp, fp, #4294967295     ; 0xffffffff
- 80100a2:      2300            movs    r3, #0
- 80100a4:      e025            b.n     80100f2 <_dtoa_r+0x1a2>
- 80100a6:      9b13            ldr     r3, [sp, #76]   ; 0x4c
- 80100a8:      eb01 0a03       add.w   sl, r1, r3
- 80100ac:      f20a 4332       addw    r3, sl, #1074   ; 0x432
- 80100b0:      2b20            cmp     r3, #32
- 80100b2:      dd17            ble.n   80100e4 <_dtoa_r+0x194>
- 80100b4:      f1c3 0340       rsb     r3, r3, #64     ; 0x40
- 80100b8:      9a04            ldr     r2, [sp, #16]
- 80100ba:      409d            lsls    r5, r3
- 80100bc:      f20a 4312       addw    r3, sl, #1042   ; 0x412
- 80100c0:      fa22 f303       lsr.w   r3, r2, r3
- 80100c4:      432b            orrs    r3, r5
- 80100c6:      ee07 3a90       vmov    s15, r3
- 80100ca:      eeb8 7b67       vcvt.f64.u32    d7, s15
- 80100ce:      f10a 3aff       add.w   sl, sl, #4294967295     ; 0xffffffff
- 80100d2:      ed8d 7b02       vstr    d7, [sp, #8]
- 80100d6:      9803            ldr     r0, [sp, #12]
- 80100d8:      e9dd 2302       ldrd    r2, r3, [sp, #8]
- 80100dc:      2701            movs    r7, #1
- 80100de:      f1a0 73f8       sub.w   r3, r0, #32505856       ; 0x1f00000
- 80100e2:      e7a5            b.n     8010030 <_dtoa_r+0xe0>
- 80100e4:      9a04            ldr     r2, [sp, #16]
- 80100e6:      f1c3 0320       rsb     r3, r3, #32
- 80100ea:      fa02 f303       lsl.w   r3, r2, r3
- 80100ee:      e7ea            b.n     80100c6 <_dtoa_r+0x176>
- 80100f0:      2301            movs    r3, #1
- 80100f2:      eba1 0a0a       sub.w   sl, r1, sl
- 80100f6:      9310            str     r3, [sp, #64]   ; 0x40
- 80100f8:      f1ba 0301       subs.w  r3, sl, #1
- 80100fc:      9307            str     r3, [sp, #28]
- 80100fe:      bf43            ittte   mi
- 8010100:      2300            movmi   r3, #0
- 8010102:      f1ca 0a01       rsbmi   sl, sl, #1
- 8010106:      9307            strmi   r3, [sp, #28]
- 8010108:      f04f 0a00       movpl.w sl, #0
- 801010c:      f1bb 0f00       cmp.w   fp, #0
- 8010110:      db19            blt.n   8010146 <_dtoa_r+0x1f6>
- 8010112:      9b07            ldr     r3, [sp, #28]
- 8010114:      f8cd b02c       str.w   fp, [sp, #44]   ; 0x2c
- 8010118:      445b            add     r3, fp
- 801011a:      9307            str     r3, [sp, #28]
- 801011c:      f04f 0800       mov.w   r8, #0
- 8010120:      9b08            ldr     r3, [sp, #32]
- 8010122:      2b09            cmp     r3, #9
- 8010124:      d863            bhi.n   80101ee <_dtoa_r+0x29e>
- 8010126:      2b05            cmp     r3, #5
- 8010128:      bfc4            itt     gt
- 801012a:      3b04            subgt   r3, #4
- 801012c:      9308            strgt   r3, [sp, #32]
- 801012e:      9b08            ldr     r3, [sp, #32]
- 8010130:      f1a3 0302       sub.w   r3, r3, #2
- 8010134:      bfcc            ite     gt
- 8010136:      2500            movgt   r5, #0
- 8010138:      2501            movle   r5, #1
- 801013a:      2b03            cmp     r3, #3
- 801013c:      d863            bhi.n   8010206 <_dtoa_r+0x2b6>
- 801013e:      e8df f003       tbb     [pc, r3]
- 8010142:      5452            .short  0x5452
- 8010144:      4609            .short  0x4609
- 8010146:      2300            movs    r3, #0
- 8010148:      ebaa 0a0b       sub.w   sl, sl, fp
- 801014c:      f1cb 0800       rsb     r8, fp, #0
- 8010150:      930b            str     r3, [sp, #44]   ; 0x2c
- 8010152:      e7e5            b.n     8010120 <_dtoa_r+0x1d0>
- 8010154:      2301            movs    r3, #1
- 8010156:      9309            str     r3, [sp, #36]   ; 0x24
- 8010158:      9b0a            ldr     r3, [sp, #40]   ; 0x28
- 801015a:      2b00            cmp     r3, #0
- 801015c:      dd56            ble.n   801020c <_dtoa_r+0x2bc>
- 801015e:      9306            str     r3, [sp, #24]
- 8010160:      4699            mov     r9, r3
- 8010162:      2200            movs    r2, #0
- 8010164:      6462            str     r2, [r4, #68]   ; 0x44
- 8010166:      2204            movs    r2, #4
- 8010168:      f102 0014       add.w   r0, r2, #20
- 801016c:      4298            cmp     r0, r3
- 801016e:      6c61            ldr     r1, [r4, #68]   ; 0x44
- 8010170:      d951            bls.n   8010216 <_dtoa_r+0x2c6>
- 8010172:      4620            mov     r0, r4
- 8010174:      f000 ff02       bl      8010f7c <_Balloc>
- 8010178:      f1b9 0f0e       cmp.w   r9, #14
- 801017c:      9002            str     r0, [sp, #8]
- 801017e:      6420            str     r0, [r4, #64]   ; 0x40
- 8010180:      f200 80c1       bhi.w   8010306 <_dtoa_r+0x3b6>
- 8010184:      2d00            cmp     r5, #0
- 8010186:      f000 80be       beq.w   8010306 <_dtoa_r+0x3b6>
- 801018a:      ed9d 7b04       vldr    d7, [sp, #16]
- 801018e:      f1bb 0f00       cmp.w   fp, #0
- 8010192:      ed8d 7b0e       vstr    d7, [sp, #56]   ; 0x38
- 8010196:      f340 80e5       ble.w   8010364 <_dtoa_r+0x414>
- 801019a:      4a2b            ldr     r2, [pc, #172]  ; (8010248 <_dtoa_r+0x2f8>)
- 801019c:      f00b 030f       and.w   r3, fp, #15
- 80101a0:      eb02 03c3       add.w   r3, r2, r3, lsl #3
- 80101a4:      ed93 7b00       vldr    d7, [r3]
- 80101a8:      ea4f 132b       mov.w   r3, fp, asr #4
- 80101ac:      06da            lsls    r2, r3, #27
- 80101ae:      f140 80d7       bpl.w   8010360 <_dtoa_r+0x410>
- 80101b2:      4a26            ldr     r2, [pc, #152]  ; (801024c <_dtoa_r+0x2fc>)
- 80101b4:      ed9d 5b0e       vldr    d5, [sp, #56]   ; 0x38
- 80101b8:      ed92 6b08       vldr    d6, [r2, #32]
- 80101bc:      ee85 6b06       vdiv.f64        d6, d5, d6
- 80101c0:      ed8d 6b04       vstr    d6, [sp, #16]
- 80101c4:      f003 030f       and.w   r3, r3, #15
- 80101c8:      2203            movs    r2, #3
- 80101ca:      4920            ldr     r1, [pc, #128]  ; (801024c <_dtoa_r+0x2fc>)
- 80101cc:      e049            b.n     8010262 <_dtoa_r+0x312>
- 80101ce:      2301            movs    r3, #1
- 80101d0:      9309            str     r3, [sp, #36]   ; 0x24
- 80101d2:      9b0a            ldr     r3, [sp, #40]   ; 0x28
- 80101d4:      445b            add     r3, fp
- 80101d6:      f103 0901       add.w   r9, r3, #1
- 80101da:      9306            str     r3, [sp, #24]
- 80101dc:      464b            mov     r3, r9
- 80101de:      2b01            cmp     r3, #1
- 80101e0:      bfb8            it      lt
- 80101e2:      2301            movlt   r3, #1
- 80101e4:      e7bd            b.n     8010162 <_dtoa_r+0x212>
- 80101e6:      2300            movs    r3, #0
- 80101e8:      e7b5            b.n     8010156 <_dtoa_r+0x206>
- 80101ea:      2300            movs    r3, #0
- 80101ec:      e7f0            b.n     80101d0 <_dtoa_r+0x280>
- 80101ee:      2501            movs    r5, #1
- 80101f0:      2300            movs    r3, #0
- 80101f2:      e9cd 3508       strd    r3, r5, [sp, #32]
- 80101f6:      f04f 33ff       mov.w   r3, #4294967295 ; 0xffffffff
- 80101fa:      9306            str     r3, [sp, #24]
- 80101fc:      4699            mov     r9, r3
- 80101fe:      2200            movs    r2, #0
- 8010200:      2312            movs    r3, #18
- 8010202:      920a            str     r2, [sp, #40]   ; 0x28
- 8010204:      e7ad            b.n     8010162 <_dtoa_r+0x212>
- 8010206:      2301            movs    r3, #1
- 8010208:      9309            str     r3, [sp, #36]   ; 0x24
- 801020a:      e7f4            b.n     80101f6 <_dtoa_r+0x2a6>
- 801020c:      2301            movs    r3, #1
- 801020e:      9306            str     r3, [sp, #24]
- 8010210:      4699            mov     r9, r3
- 8010212:      461a            mov     r2, r3
- 8010214:      e7f5            b.n     8010202 <_dtoa_r+0x2b2>
- 8010216:      3101            adds    r1, #1
- 8010218:      6461            str     r1, [r4, #68]   ; 0x44
- 801021a:      0052            lsls    r2, r2, #1
- 801021c:      e7a4            b.n     8010168 <_dtoa_r+0x218>
- 801021e:      bf00            nop
- 8010220:      636f4361        .word   0x636f4361
- 8010224:      3fd287a7        .word   0x3fd287a7
- 8010228:      8b60c8b3        .word   0x8b60c8b3
- 801022c:      3fc68a28        .word   0x3fc68a28
- 8010230:      509f79fb        .word   0x509f79fb
- 8010234:      3fd34413        .word   0x3fd34413
- 8010238:      7ff00000        .word   0x7ff00000
- 801023c:      08012e8d        .word   0x08012e8d
- 8010240:      08012e84        .word   0x08012e84
- 8010244:      08012e63        .word   0x08012e63
- 8010248:      08012ec0        .word   0x08012ec0
- 801024c:      08012e98        .word   0x08012e98
- 8010250:      07de            lsls    r6, r3, #31
- 8010252:      d504            bpl.n   801025e <_dtoa_r+0x30e>
- 8010254:      ed91 6b00       vldr    d6, [r1]
- 8010258:      3201            adds    r2, #1
- 801025a:      ee27 7b06       vmul.f64        d7, d7, d6
- 801025e:      105b            asrs    r3, r3, #1
- 8010260:      3108            adds    r1, #8
- 8010262:      2b00            cmp     r3, #0
- 8010264:      d1f4            bne.n   8010250 <_dtoa_r+0x300>
- 8010266:      ed9d 6b04       vldr    d6, [sp, #16]
- 801026a:      ee86 7b07       vdiv.f64        d7, d6, d7
- 801026e:      ed8d 7b04       vstr    d7, [sp, #16]
- 8010272:      9b10            ldr     r3, [sp, #64]   ; 0x40
- 8010274:      2b00            cmp     r3, #0
- 8010276:      f000 80a7       beq.w   80103c8 <_dtoa_r+0x478>
- 801027a:      eeb7 6b00       vmov.f64        d6, #112        ; 0x3f800000  1.0
- 801027e:      ed9d 7b04       vldr    d7, [sp, #16]
- 8010282:      eeb4 7bc6       vcmpe.f64       d7, d6
- 8010286:      eef1 fa10       vmrs    APSR_nzcv, fpscr
- 801028a:      f140 809d       bpl.w   80103c8 <_dtoa_r+0x478>
- 801028e:      f1b9 0f00       cmp.w   r9, #0
- 8010292:      f000 8099       beq.w   80103c8 <_dtoa_r+0x478>
- 8010296:      9b06            ldr     r3, [sp, #24]
- 8010298:      2b00            cmp     r3, #0
- 801029a:      dd30            ble.n   80102fe <_dtoa_r+0x3ae>
- 801029c:      eeb2 6b04       vmov.f64        d6, #36 ; 0x41200000  10.0
- 80102a0:      ee27 7b06       vmul.f64        d7, d7, d6
- 80102a4:      ed8d 7b04       vstr    d7, [sp, #16]
- 80102a8:      9d06            ldr     r5, [sp, #24]
- 80102aa:      f10b 33ff       add.w   r3, fp, #4294967295     ; 0xffffffff
- 80102ae:      3201            adds    r2, #1
- 80102b0:      ed9d 6b04       vldr    d6, [sp, #16]
- 80102b4:      eeb1 5b0c       vmov.f64        d5, #28 ; 0x40e00000  7.0
- 80102b8:      ee07 2a90       vmov    s15, r2
- 80102bc:      eeb8 7be7       vcvt.f64.s32    d7, s15
- 80102c0:      eea7 5b06       vfma.f64        d5, d7, d6
- 80102c4:      ed8d 5b04       vstr    d5, [sp, #16]
- 80102c8:      9a05            ldr     r2, [sp, #20]
- 80102ca:      e9dd 0104       ldrd    r0, r1, [sp, #16]
- 80102ce:      f1a2 7150       sub.w   r1, r2, #54525952       ; 0x3400000
- 80102d2:      2d00            cmp     r5, #0
- 80102d4:      d17b            bne.n   80103ce <_dtoa_r+0x47e>
- 80102d6:      eeb1 7b04       vmov.f64        d7, #20 ; 0x40a00000  5.0
- 80102da:      ee36 6b47       vsub.f64        d6, d6, d7
- 80102de:      ec41 0b17       vmov    d7, r0, r1
- 80102e2:      eeb4 6bc7       vcmpe.f64       d6, d7
- 80102e6:      eef1 fa10       vmrs    APSR_nzcv, fpscr
- 80102ea:      f300 8253       bgt.w   8010794 <_dtoa_r+0x844>
- 80102ee:      eeb1 7b47       vneg.f64        d7, d7
- 80102f2:      eeb4 6bc7       vcmpe.f64       d6, d7
- 80102f6:      eef1 fa10       vmrs    APSR_nzcv, fpscr
- 80102fa:      f100 8249       bmi.w   8010790 <_dtoa_r+0x840>
- 80102fe:      e9dd 230e       ldrd    r2, r3, [sp, #56]       ; 0x38
- 8010302:      e9cd 2304       strd    r2, r3, [sp, #16]
- 8010306:      9b13            ldr     r3, [sp, #76]   ; 0x4c
- 8010308:      2b00            cmp     r3, #0
- 801030a:      f2c0 8119       blt.w   8010540 <_dtoa_r+0x5f0>
- 801030e:      f1bb 0f0e       cmp.w   fp, #14
- 8010312:      f300 8115       bgt.w   8010540 <_dtoa_r+0x5f0>
- 8010316:      4bc3            ldr     r3, [pc, #780]  ; (8010624 <_dtoa_r+0x6d4>)
- 8010318:      eb03 03cb       add.w   r3, r3, fp, lsl #3
- 801031c:      ed93 6b00       vldr    d6, [r3]
- 8010320:      9b0a            ldr     r3, [sp, #40]   ; 0x28
- 8010322:      2b00            cmp     r3, #0
- 8010324:      f280 80ba       bge.w   801049c <_dtoa_r+0x54c>
- 8010328:      f1b9 0f00       cmp.w   r9, #0
- 801032c:      f300 80b6       bgt.w   801049c <_dtoa_r+0x54c>
- 8010330:      f040 822d       bne.w   801078e <_dtoa_r+0x83e>
- 8010334:      eeb1 7b04       vmov.f64        d7, #20 ; 0x40a00000  5.0
- 8010338:      ee26 6b07       vmul.f64        d6, d6, d7
- 801033c:      ed9d 7b04       vldr    d7, [sp, #16]
- 8010340:      eeb4 6bc7       vcmpe.f64       d6, d7
- 8010344:      eef1 fa10       vmrs    APSR_nzcv, fpscr
- 8010348:      464d            mov     r5, r9
- 801034a:      464f            mov     r7, r9
- 801034c:      f280 8204       bge.w   8010758 <_dtoa_r+0x808>
- 8010350:      9b02            ldr     r3, [sp, #8]
- 8010352:      9a02            ldr     r2, [sp, #8]
- 8010354:      1c5e            adds    r6, r3, #1
- 8010356:      2331            movs    r3, #49 ; 0x31
- 8010358:      7013            strb    r3, [r2, #0]
- 801035a:      f10b 0b01       add.w   fp, fp, #1
- 801035e:      e1ff            b.n     8010760 <_dtoa_r+0x810>
- 8010360:      2202            movs    r2, #2
- 8010362:      e732            b.n     80101ca <_dtoa_r+0x27a>
- 8010364:      d02e            beq.n   80103c4 <_dtoa_r+0x474>
- 8010366:      f1cb 0300       rsb     r3, fp, #0
- 801036a:      4aae            ldr     r2, [pc, #696]  ; (8010624 <_dtoa_r+0x6d4>)
- 801036c:      f003 010f       and.w   r1, r3, #15
- 8010370:      eb02 02c1       add.w   r2, r2, r1, lsl #3
- 8010374:      ed92 7b00       vldr    d7, [r2]
- 8010378:      ed9d 6b0e       vldr    d6, [sp, #56]   ; 0x38
- 801037c:      ee26 7b07       vmul.f64        d7, d6, d7
- 8010380:      ed8d 7b0c       vstr    d7, [sp, #48]   ; 0x30
- 8010384:      e9dd 120c       ldrd    r1, r2, [sp, #48]       ; 0x30
- 8010388:      e9cd 1204       strd    r1, r2, [sp, #16]
- 801038c:      49a6            ldr     r1, [pc, #664]  ; (8010628 <_dtoa_r+0x6d8>)
- 801038e:      111b            asrs    r3, r3, #4
- 8010390:      2000            movs    r0, #0
- 8010392:      2202            movs    r2, #2
- 8010394:      b93b            cbnz    r3, 80103a6 <_dtoa_r+0x456>
- 8010396:      2800            cmp     r0, #0
- 8010398:      f43f af6b       beq.w   8010272 <_dtoa_r+0x322>
- 801039c:      e9dd 010c       ldrd    r0, r1, [sp, #48]       ; 0x30
- 80103a0:      e9cd 0104       strd    r0, r1, [sp, #16]
- 80103a4:      e765            b.n     8010272 <_dtoa_r+0x322>
- 80103a6:      07dd            lsls    r5, r3, #31
- 80103a8:      d509            bpl.n   80103be <_dtoa_r+0x46e>
- 80103aa:      ed9d 6b0c       vldr    d6, [sp, #48]   ; 0x30
- 80103ae:      ed91 7b00       vldr    d7, [r1]
- 80103b2:      ee26 7b07       vmul.f64        d7, d6, d7
- 80103b6:      ed8d 7b0c       vstr    d7, [sp, #48]   ; 0x30
- 80103ba:      3201            adds    r2, #1
- 80103bc:      2001            movs    r0, #1
- 80103be:      105b            asrs    r3, r3, #1
- 80103c0:      3108            adds    r1, #8
- 80103c2:      e7e7            b.n     8010394 <_dtoa_r+0x444>
- 80103c4:      2202            movs    r2, #2
- 80103c6:      e754            b.n     8010272 <_dtoa_r+0x322>
- 80103c8:      465b            mov     r3, fp
- 80103ca:      464d            mov     r5, r9
- 80103cc:      e770            b.n     80102b0 <_dtoa_r+0x360>
- 80103ce:      4a95            ldr     r2, [pc, #596]  ; (8010624 <_dtoa_r+0x6d4>)
- 80103d0:      eb02 02c5       add.w   r2, r2, r5, lsl #3
- 80103d4:      ed12 4b02       vldr    d4, [r2, #-8]
- 80103d8:      9a09            ldr     r2, [sp, #36]   ; 0x24
- 80103da:      ec41 0b17       vmov    d7, r0, r1
- 80103de:      b35a            cbz     r2, 8010438 <_dtoa_r+0x4e8>
- 80103e0:      eeb6 3b00       vmov.f64        d3, #96 ; 0x3f000000  0.5
- 80103e4:      eeb7 2b00       vmov.f64        d2, #112        ; 0x3f800000  1.0
- 80103e8:      9e02            ldr     r6, [sp, #8]
- 80103ea:      ee83 5b04       vdiv.f64        d5, d3, d4
- 80103ee:      eeb2 3b04       vmov.f64        d3, #36 ; 0x41200000  10.0
- 80103f2:      ee35 7b47       vsub.f64        d7, d5, d7
- 80103f6:      eefd 4bc6       vcvt.s32.f64    s9, d6
- 80103fa:      ee14 2a90       vmov    r2, s9
- 80103fe:      eeb8 5be4       vcvt.f64.s32    d5, s9
- 8010402:      3230            adds    r2, #48 ; 0x30
- 8010404:      ee36 6b45       vsub.f64        d6, d6, d5
- 8010408:      eeb4 6bc7       vcmpe.f64       d6, d7
- 801040c:      eef1 fa10       vmrs    APSR_nzcv, fpscr
- 8010410:      f806 2b01       strb.w  r2, [r6], #1
- 8010414:      d43b            bmi.n   801048e <_dtoa_r+0x53e>
- 8010416:      ee32 5b46       vsub.f64        d5, d2, d6
- 801041a:      eeb4 5bc7       vcmpe.f64       d5, d7
- 801041e:      eef1 fa10       vmrs    APSR_nzcv, fpscr
- 8010422:      d472            bmi.n   801050a <_dtoa_r+0x5ba>
- 8010424:      9a02            ldr     r2, [sp, #8]
- 8010426:      1ab2            subs    r2, r6, r2
- 8010428:      4295            cmp     r5, r2
- 801042a:      f77f af68       ble.w   80102fe <_dtoa_r+0x3ae>
- 801042e:      ee27 7b03       vmul.f64        d7, d7, d3
- 8010432:      ee26 6b03       vmul.f64        d6, d6, d3
- 8010436:      e7de            b.n     80103f6 <_dtoa_r+0x4a6>
- 8010438:      9a02            ldr     r2, [sp, #8]
- 801043a:      ee24 7b07       vmul.f64        d7, d4, d7
- 801043e:      1956            adds    r6, r2, r5
- 8010440:      4611            mov     r1, r2
- 8010442:      eeb2 3b04       vmov.f64        d3, #36 ; 0x41200000  10.0
- 8010446:      eefd 4bc6       vcvt.s32.f64    s9, d6
- 801044a:      ee14 2a90       vmov    r2, s9
- 801044e:      3230            adds    r2, #48 ; 0x30
- 8010450:      f801 2b01       strb.w  r2, [r1], #1
- 8010454:      42b1            cmp     r1, r6
- 8010456:      eeb8 5be4       vcvt.f64.s32    d5, s9
- 801045a:      ee36 6b45       vsub.f64        d6, d6, d5
- 801045e:      d11a            bne.n   8010496 <_dtoa_r+0x546>
- 8010460:      eeb6 5b00       vmov.f64        d5, #96 ; 0x3f000000  0.5
- 8010464:      ee37 4b05       vadd.f64        d4, d7, d5
- 8010468:      eeb4 6bc4       vcmpe.f64       d6, d4
- 801046c:      eef1 fa10       vmrs    APSR_nzcv, fpscr
- 8010470:      dc4b            bgt.n   801050a <_dtoa_r+0x5ba>
- 8010472:      ee35 7b47       vsub.f64        d7, d5, d7
- 8010476:      eeb4 6bc7       vcmpe.f64       d6, d7
- 801047a:      eef1 fa10       vmrs    APSR_nzcv, fpscr
- 801047e:      f57f af3e       bpl.w   80102fe <_dtoa_r+0x3ae>
- 8010482:      f816 2c01       ldrb.w  r2, [r6, #-1]
- 8010486:      2a30            cmp     r2, #48 ; 0x30
- 8010488:      f106 31ff       add.w   r1, r6, #4294967295     ; 0xffffffff
- 801048c:      d001            beq.n   8010492 <_dtoa_r+0x542>
- 801048e:      469b            mov     fp, r3
- 8010490:      e02a            b.n     80104e8 <_dtoa_r+0x598>
- 8010492:      460e            mov     r6, r1
- 8010494:      e7f5            b.n     8010482 <_dtoa_r+0x532>
- 8010496:      ee26 6b03       vmul.f64        d6, d6, d3
- 801049a:      e7d4            b.n     8010446 <_dtoa_r+0x4f6>
- 801049c:      ed9d 7b04       vldr    d7, [sp, #16]
- 80104a0:      eeb2 4b04       vmov.f64        d4, #36 ; 0x41200000  10.0
- 80104a4:      9e02            ldr     r6, [sp, #8]
- 80104a6:      ee87 5b06       vdiv.f64        d5, d7, d6
- 80104aa:      eebd 5bc5       vcvt.s32.f64    s10, d5
- 80104ae:      ee15 3a10       vmov    r3, s10
- 80104b2:      3330            adds    r3, #48 ; 0x30
- 80104b4:      f806 3b01       strb.w  r3, [r6], #1
- 80104b8:      9b02            ldr     r3, [sp, #8]
- 80104ba:      1af3            subs    r3, r6, r3
- 80104bc:      4599            cmp     r9, r3
- 80104be:      eeb8 3bc5       vcvt.f64.s32    d3, s10
- 80104c2:      eea3 7b46       vfms.f64        d7, d3, d6
- 80104c6:      d133            bne.n   8010530 <_dtoa_r+0x5e0>
- 80104c8:      ee37 7b07       vadd.f64        d7, d7, d7
- 80104cc:      eeb4 7bc6       vcmpe.f64       d7, d6
- 80104d0:      eef1 fa10       vmrs    APSR_nzcv, fpscr
- 80104d4:      dc18            bgt.n   8010508 <_dtoa_r+0x5b8>
- 80104d6:      eeb4 7b46       vcmp.f64        d7, d6
- 80104da:      eef1 fa10       vmrs    APSR_nzcv, fpscr
- 80104de:      d103            bne.n   80104e8 <_dtoa_r+0x598>
- 80104e0:      ee15 3a10       vmov    r3, s10
- 80104e4:      07db            lsls    r3, r3, #31
- 80104e6:      d40f            bmi.n   8010508 <_dtoa_r+0x5b8>
- 80104e8:      9901            ldr     r1, [sp, #4]
- 80104ea:      4620            mov     r0, r4
- 80104ec:      f000 fd6b       bl      8010fc6 <_Bfree>
- 80104f0:      2300            movs    r3, #0
- 80104f2:      9a11            ldr     r2, [sp, #68]   ; 0x44
- 80104f4:      7033            strb    r3, [r6, #0]
- 80104f6:      f10b 0301       add.w   r3, fp, #1
- 80104fa:      6013            str     r3, [r2, #0]
- 80104fc:      9b1f            ldr     r3, [sp, #124]  ; 0x7c
- 80104fe:      2b00            cmp     r3, #0
- 8010500:      f43f ad5f       beq.w   800ffc2 <_dtoa_r+0x72>
- 8010504:      601e            str     r6, [r3, #0]
- 8010506:      e55c            b.n     800ffc2 <_dtoa_r+0x72>
- 8010508:      465b            mov     r3, fp
- 801050a:      f816 1c01       ldrb.w  r1, [r6, #-1]
- 801050e:      2939            cmp     r1, #57 ; 0x39
- 8010510:      f106 32ff       add.w   r2, r6, #4294967295     ; 0xffffffff
- 8010514:      d106            bne.n   8010524 <_dtoa_r+0x5d4>
- 8010516:      9902            ldr     r1, [sp, #8]
- 8010518:      4291            cmp     r1, r2
- 801051a:      d107            bne.n   801052c <_dtoa_r+0x5dc>
- 801051c:      2230            movs    r2, #48 ; 0x30
- 801051e:      700a            strb    r2, [r1, #0]
- 8010520:      3301            adds    r3, #1
- 8010522:      460a            mov     r2, r1
- 8010524:      7811            ldrb    r1, [r2, #0]
- 8010526:      3101            adds    r1, #1
- 8010528:      7011            strb    r1, [r2, #0]
- 801052a:      e7b0            b.n     801048e <_dtoa_r+0x53e>
- 801052c:      4616            mov     r6, r2
- 801052e:      e7ec            b.n     801050a <_dtoa_r+0x5ba>
- 8010530:      ee27 7b04       vmul.f64        d7, d7, d4
- 8010534:      eeb5 7b40       vcmp.f64        d7, #0.0
- 8010538:      eef1 fa10       vmrs    APSR_nzcv, fpscr
- 801053c:      d1b3            bne.n   80104a6 <_dtoa_r+0x556>
- 801053e:      e7d3            b.n     80104e8 <_dtoa_r+0x598>
- 8010540:      9a09            ldr     r2, [sp, #36]   ; 0x24
- 8010542:      2a00            cmp     r2, #0
- 8010544:      f000 808d       beq.w   8010662 <_dtoa_r+0x712>
- 8010548:      9a08            ldr     r2, [sp, #32]
- 801054a:      2a01            cmp     r2, #1
- 801054c:      dc72            bgt.n   8010634 <_dtoa_r+0x6e4>
- 801054e:      2f00            cmp     r7, #0
- 8010550:      d06c            beq.n   801062c <_dtoa_r+0x6dc>
- 8010552:      f203 4333       addw    r3, r3, #1075   ; 0x433
- 8010556:      4645            mov     r5, r8
- 8010558:      4656            mov     r6, sl
- 801055a:      9a07            ldr     r2, [sp, #28]
- 801055c:      2101            movs    r1, #1
- 801055e:      441a            add     r2, r3
- 8010560:      4620            mov     r0, r4
- 8010562:      449a            add     sl, r3
- 8010564:      9207            str     r2, [sp, #28]
- 8010566:      f000 fdc0       bl      80110ea <__i2b>
- 801056a:      4607            mov     r7, r0
- 801056c:      2e00            cmp     r6, #0
- 801056e:      dd0b            ble.n   8010588 <_dtoa_r+0x638>
- 8010570:      9b07            ldr     r3, [sp, #28]
- 8010572:      2b00            cmp     r3, #0
- 8010574:      dd08            ble.n   8010588 <_dtoa_r+0x638>
- 8010576:      42b3            cmp     r3, r6
- 8010578:      9a07            ldr     r2, [sp, #28]
- 801057a:      bfa8            it      ge
- 801057c:      4633            movge   r3, r6
- 801057e:      ebaa 0a03       sub.w   sl, sl, r3
- 8010582:      1af6            subs    r6, r6, r3
- 8010584:      1ad3            subs    r3, r2, r3
- 8010586:      9307            str     r3, [sp, #28]
- 8010588:      f1b8 0f00       cmp.w   r8, #0
- 801058c:      d01d            beq.n   80105ca <_dtoa_r+0x67a>
- 801058e:      9b09            ldr     r3, [sp, #36]   ; 0x24
- 8010590:      2b00            cmp     r3, #0
- 8010592:      d06a            beq.n   801066a <_dtoa_r+0x71a>
- 8010594:      b18d            cbz     r5, 80105ba <_dtoa_r+0x66a>
- 8010596:      4639            mov     r1, r7
- 8010598:      462a            mov     r2, r5
- 801059a:      4620            mov     r0, r4
- 801059c:      f000 fe44       bl      8011228 <__pow5mult>
- 80105a0:      9a01            ldr     r2, [sp, #4]
- 80105a2:      4601            mov     r1, r0
- 80105a4:      4607            mov     r7, r0
- 80105a6:      4620            mov     r0, r4
- 80105a8:      f000 fda8       bl      80110fc <__multiply>
- 80105ac:      9901            ldr     r1, [sp, #4]
- 80105ae:      900c            str     r0, [sp, #48]   ; 0x30
- 80105b0:      4620            mov     r0, r4
- 80105b2:      f000 fd08       bl      8010fc6 <_Bfree>
- 80105b6:      9b0c            ldr     r3, [sp, #48]   ; 0x30
- 80105b8:      9301            str     r3, [sp, #4]
- 80105ba:      ebb8 0205       subs.w  r2, r8, r5
- 80105be:      d004            beq.n   80105ca <_dtoa_r+0x67a>
- 80105c0:      9901            ldr     r1, [sp, #4]
- 80105c2:      4620            mov     r0, r4
- 80105c4:      f000 fe30       bl      8011228 <__pow5mult>
- 80105c8:      9001            str     r0, [sp, #4]
- 80105ca:      2101            movs    r1, #1
- 80105cc:      4620            mov     r0, r4
- 80105ce:      f000 fd8c       bl      80110ea <__i2b>
- 80105d2:      9b0b            ldr     r3, [sp, #44]   ; 0x2c
- 80105d4:      4605            mov     r5, r0
- 80105d6:      2b00            cmp     r3, #0
- 80105d8:      f000 81ca       beq.w   8010970 <_dtoa_r+0xa20>
- 80105dc:      461a            mov     r2, r3
- 80105de:      4601            mov     r1, r0
- 80105e0:      4620            mov     r0, r4
- 80105e2:      f000 fe21       bl      8011228 <__pow5mult>
- 80105e6:      9b08            ldr     r3, [sp, #32]
- 80105e8:      2b01            cmp     r3, #1
- 80105ea:      4605            mov     r5, r0
- 80105ec:      dc44            bgt.n   8010678 <_dtoa_r+0x728>
- 80105ee:      9b04            ldr     r3, [sp, #16]
- 80105f0:      2b00            cmp     r3, #0
- 80105f2:      d13c            bne.n   801066e <_dtoa_r+0x71e>
- 80105f4:      9b05            ldr     r3, [sp, #20]
- 80105f6:      f3c3 0313       ubfx    r3, r3, #0, #20
- 80105fa:      2b00            cmp     r3, #0
- 80105fc:      d137            bne.n   801066e <_dtoa_r+0x71e>
- 80105fe:      9b05            ldr     r3, [sp, #20]
- 8010600:      f023 4300       bic.w   r3, r3, #2147483648     ; 0x80000000
- 8010604:      0d1b            lsrs    r3, r3, #20
- 8010606:      051b            lsls    r3, r3, #20
- 8010608:      2b00            cmp     r3, #0
- 801060a:      d033            beq.n   8010674 <_dtoa_r+0x724>
- 801060c:      9b07            ldr     r3, [sp, #28]
- 801060e:      3301            adds    r3, #1
- 8010610:      f10a 0a01       add.w   sl, sl, #1
- 8010614:      9307            str     r3, [sp, #28]
- 8010616:      f04f 0801       mov.w   r8, #1
- 801061a:      9b0b            ldr     r3, [sp, #44]   ; 0x2c
- 801061c:      bb73            cbnz    r3, 801067c <_dtoa_r+0x72c>
- 801061e:      2001            movs    r0, #1
- 8010620:      e034            b.n     801068c <_dtoa_r+0x73c>
- 8010622:      bf00            nop
- 8010624:      08012ec0        .word   0x08012ec0
- 8010628:      08012e98        .word   0x08012e98
- 801062c:      9b12            ldr     r3, [sp, #72]   ; 0x48
- 801062e:      f1c3 0336       rsb     r3, r3, #54     ; 0x36
- 8010632:      e790            b.n     8010556 <_dtoa_r+0x606>
- 8010634:      f109 35ff       add.w   r5, r9, #4294967295     ; 0xffffffff
- 8010638:      45a8            cmp     r8, r5
- 801063a:      bfbf            itttt   lt
- 801063c:      9b0b            ldrlt   r3, [sp, #44]   ; 0x2c
- 801063e:      eba5 0808       sublt.w r8, r5, r8
- 8010642:      4443            addlt   r3, r8
- 8010644:      930b            strlt   r3, [sp, #44]   ; 0x2c
- 8010646:      bfb6            itet    lt
- 8010648:      46a8            movlt   r8, r5
- 801064a:      eba8 0505       subge.w r5, r8, r5
- 801064e:      2500            movlt   r5, #0
- 8010650:      f1b9 0f00       cmp.w   r9, #0
- 8010654:      bfb9            ittee   lt
- 8010656:      ebaa 0609       sublt.w r6, sl, r9
- 801065a:      2300            movlt   r3, #0
- 801065c:      4656            movge   r6, sl
- 801065e:      464b            movge   r3, r9
- 8010660:      e77b            b.n     801055a <_dtoa_r+0x60a>
- 8010662:      4645            mov     r5, r8
- 8010664:      4656            mov     r6, sl
- 8010666:      9f09            ldr     r7, [sp, #36]   ; 0x24
- 8010668:      e780            b.n     801056c <_dtoa_r+0x61c>
- 801066a:      4642            mov     r2, r8
- 801066c:      e7a8            b.n     80105c0 <_dtoa_r+0x670>
- 801066e:      f04f 0800       mov.w   r8, #0
- 8010672:      e7d2            b.n     801061a <_dtoa_r+0x6ca>
- 8010674:      4698            mov     r8, r3
- 8010676:      e7d0            b.n     801061a <_dtoa_r+0x6ca>
- 8010678:      f04f 0800       mov.w   r8, #0
- 801067c:      692b            ldr     r3, [r5, #16]
- 801067e:      eb05 0383       add.w   r3, r5, r3, lsl #2
- 8010682:      6918            ldr     r0, [r3, #16]
- 8010684:      f000 fce3       bl      801104e <__hi0bits>
- 8010688:      f1c0 0020       rsb     r0, r0, #32
- 801068c:      9b07            ldr     r3, [sp, #28]
- 801068e:      4418            add     r0, r3
- 8010690:      f010 001f       ands.w  r0, r0, #31
- 8010694:      d047            beq.n   8010726 <_dtoa_r+0x7d6>
- 8010696:      f1c0 0320       rsb     r3, r0, #32
- 801069a:      2b04            cmp     r3, #4
- 801069c:      dd3b            ble.n   8010716 <_dtoa_r+0x7c6>
- 801069e:      9b07            ldr     r3, [sp, #28]
- 80106a0:      f1c0 001c       rsb     r0, r0, #28
- 80106a4:      4482            add     sl, r0
- 80106a6:      4406            add     r6, r0
- 80106a8:      4403            add     r3, r0
- 80106aa:      9307            str     r3, [sp, #28]
- 80106ac:      f1ba 0f00       cmp.w   sl, #0
- 80106b0:      dd05            ble.n   80106be <_dtoa_r+0x76e>
- 80106b2:      4652            mov     r2, sl
- 80106b4:      9901            ldr     r1, [sp, #4]
- 80106b6:      4620            mov     r0, r4
- 80106b8:      f000 fdf6       bl      80112a8 <__lshift>
- 80106bc:      9001            str     r0, [sp, #4]
- 80106be:      9b07            ldr     r3, [sp, #28]
- 80106c0:      2b00            cmp     r3, #0
- 80106c2:      dd05            ble.n   80106d0 <_dtoa_r+0x780>
- 80106c4:      4629            mov     r1, r5
- 80106c6:      461a            mov     r2, r3
- 80106c8:      4620            mov     r0, r4
- 80106ca:      f000 fded       bl      80112a8 <__lshift>
- 80106ce:      4605            mov     r5, r0
- 80106d0:      9b10            ldr     r3, [sp, #64]   ; 0x40
- 80106d2:      b353            cbz     r3, 801072a <_dtoa_r+0x7da>
- 80106d4:      4629            mov     r1, r5
- 80106d6:      9801            ldr     r0, [sp, #4]
- 80106d8:      f000 fe3a       bl      8011350 <__mcmp>
- 80106dc:      2800            cmp     r0, #0
- 80106de:      da24            bge.n   801072a <_dtoa_r+0x7da>
- 80106e0:      2300            movs    r3, #0
- 80106e2:      220a            movs    r2, #10
- 80106e4:      9901            ldr     r1, [sp, #4]
- 80106e6:      4620            mov     r0, r4
- 80106e8:      f000 fc76       bl      8010fd8 <__multadd>
- 80106ec:      9b09            ldr     r3, [sp, #36]   ; 0x24
- 80106ee:      9001            str     r0, [sp, #4]
- 80106f0:      f10b 3bff       add.w   fp, fp, #4294967295     ; 0xffffffff
- 80106f4:      2b00            cmp     r3, #0
- 80106f6:      f000 8142       beq.w   801097e <_dtoa_r+0xa2e>
- 80106fa:      2300            movs    r3, #0
- 80106fc:      4639            mov     r1, r7
- 80106fe:      220a            movs    r2, #10
- 8010700:      4620            mov     r0, r4
- 8010702:      f000 fc69       bl      8010fd8 <__multadd>
- 8010706:      9b06            ldr     r3, [sp, #24]
- 8010708:      2b00            cmp     r3, #0
- 801070a:      4607            mov     r7, r0
- 801070c:      dc4b            bgt.n   80107a6 <_dtoa_r+0x856>
- 801070e:      9b08            ldr     r3, [sp, #32]
- 8010710:      2b02            cmp     r3, #2
- 8010712:      dd48            ble.n   80107a6 <_dtoa_r+0x856>
- 8010714:      e011            b.n     801073a <_dtoa_r+0x7ea>
- 8010716:      d0c9            beq.n   80106ac <_dtoa_r+0x75c>
- 8010718:      9a07            ldr     r2, [sp, #28]
- 801071a:      331c            adds    r3, #28
- 801071c:      441a            add     r2, r3
- 801071e:      449a            add     sl, r3
- 8010720:      441e            add     r6, r3
- 8010722:      4613            mov     r3, r2
- 8010724:      e7c1            b.n     80106aa <_dtoa_r+0x75a>
- 8010726:      4603            mov     r3, r0
- 8010728:      e7f6            b.n     8010718 <_dtoa_r+0x7c8>
- 801072a:      f1b9 0f00       cmp.w   r9, #0
- 801072e:      dc34            bgt.n   801079a <_dtoa_r+0x84a>
- 8010730:      9b08            ldr     r3, [sp, #32]
- 8010732:      2b02            cmp     r3, #2
- 8010734:      dd31            ble.n   801079a <_dtoa_r+0x84a>
- 8010736:      f8cd 9018       str.w   r9, [sp, #24]
- 801073a:      9b06            ldr     r3, [sp, #24]
- 801073c:      b963            cbnz    r3, 8010758 <_dtoa_r+0x808>
- 801073e:      4629            mov     r1, r5
- 8010740:      2205            movs    r2, #5
- 8010742:      4620            mov     r0, r4
- 8010744:      f000 fc48       bl      8010fd8 <__multadd>
- 8010748:      4601            mov     r1, r0
- 801074a:      4605            mov     r5, r0
- 801074c:      9801            ldr     r0, [sp, #4]
- 801074e:      f000 fdff       bl      8011350 <__mcmp>
- 8010752:      2800            cmp     r0, #0
- 8010754:      f73f adfc       bgt.w   8010350 <_dtoa_r+0x400>
- 8010758:      9b0a            ldr     r3, [sp, #40]   ; 0x28
- 801075a:      9e02            ldr     r6, [sp, #8]
- 801075c:      ea6f 0b03       mvn.w   fp, r3
- 8010760:      f04f 0900       mov.w   r9, #0
- 8010764:      4629            mov     r1, r5
- 8010766:      4620            mov     r0, r4
- 8010768:      f000 fc2d       bl      8010fc6 <_Bfree>
- 801076c:      2f00            cmp     r7, #0
- 801076e:      f43f aebb       beq.w   80104e8 <_dtoa_r+0x598>
- 8010772:      f1b9 0f00       cmp.w   r9, #0
- 8010776:      d005            beq.n   8010784 <_dtoa_r+0x834>
- 8010778:      45b9            cmp     r9, r7
- 801077a:      d003            beq.n   8010784 <_dtoa_r+0x834>
- 801077c:      4649            mov     r1, r9
- 801077e:      4620            mov     r0, r4
- 8010780:      f000 fc21       bl      8010fc6 <_Bfree>
- 8010784:      4639            mov     r1, r7
- 8010786:      4620            mov     r0, r4
- 8010788:      f000 fc1d       bl      8010fc6 <_Bfree>
- 801078c:      e6ac            b.n     80104e8 <_dtoa_r+0x598>
- 801078e:      2500            movs    r5, #0
- 8010790:      462f            mov     r7, r5
- 8010792:      e7e1            b.n     8010758 <_dtoa_r+0x808>
- 8010794:      469b            mov     fp, r3
- 8010796:      462f            mov     r7, r5
- 8010798:      e5da            b.n     8010350 <_dtoa_r+0x400>
- 801079a:      9b09            ldr     r3, [sp, #36]   ; 0x24
- 801079c:      f8cd 9018       str.w   r9, [sp, #24]
- 80107a0:      2b00            cmp     r3, #0
- 80107a2:      f000 80f3       beq.w   801098c <_dtoa_r+0xa3c>
- 80107a6:      2e00            cmp     r6, #0
- 80107a8:      dd05            ble.n   80107b6 <_dtoa_r+0x866>
- 80107aa:      4639            mov     r1, r7
- 80107ac:      4632            mov     r2, r6
- 80107ae:      4620            mov     r0, r4
- 80107b0:      f000 fd7a       bl      80112a8 <__lshift>
- 80107b4:      4607            mov     r7, r0
- 80107b6:      f1b8 0f00       cmp.w   r8, #0
- 80107ba:      d04c            beq.n   8010856 <_dtoa_r+0x906>
- 80107bc:      6879            ldr     r1, [r7, #4]
- 80107be:      4620            mov     r0, r4
- 80107c0:      f000 fbdc       bl      8010f7c <_Balloc>
- 80107c4:      693a            ldr     r2, [r7, #16]
- 80107c6:      3202            adds    r2, #2
- 80107c8:      4606            mov     r6, r0
- 80107ca:      0092            lsls    r2, r2, #2
- 80107cc:      f107 010c       add.w   r1, r7, #12
- 80107d0:      300c            adds    r0, #12
- 80107d2:      f7fd fdd0       bl      800e376 <memcpy>
- 80107d6:      2201            movs    r2, #1
- 80107d8:      4631            mov     r1, r6
- 80107da:      4620            mov     r0, r4
- 80107dc:      f000 fd64       bl      80112a8 <__lshift>
- 80107e0:      9b04            ldr     r3, [sp, #16]
- 80107e2:      f8dd a008       ldr.w   sl, [sp, #8]
- 80107e6:      f003 0301       and.w   r3, r3, #1
- 80107ea:      46b9            mov     r9, r7
- 80107ec:      9307            str     r3, [sp, #28]
- 80107ee:      4607            mov     r7, r0
- 80107f0:      4629            mov     r1, r5
- 80107f2:      9801            ldr     r0, [sp, #4]
- 80107f4:      f7ff fb20       bl      800fe38 <quorem>
- 80107f8:      4649            mov     r1, r9
- 80107fa:      4606            mov     r6, r0
- 80107fc:      f100 0830       add.w   r8, r0, #48     ; 0x30
- 8010800:      9801            ldr     r0, [sp, #4]
- 8010802:      f000 fda5       bl      8011350 <__mcmp>
- 8010806:      463a            mov     r2, r7
- 8010808:      9004            str     r0, [sp, #16]
- 801080a:      4629            mov     r1, r5
- 801080c:      4620            mov     r0, r4
- 801080e:      f000 fdb9       bl      8011384 <__mdiff>
- 8010812:      68c3            ldr     r3, [r0, #12]
- 8010814:      4602            mov     r2, r0
- 8010816:      bb03            cbnz    r3, 801085a <_dtoa_r+0x90a>
- 8010818:      4601            mov     r1, r0
- 801081a:      9009            str     r0, [sp, #36]   ; 0x24
- 801081c:      9801            ldr     r0, [sp, #4]
- 801081e:      f000 fd97       bl      8011350 <__mcmp>
- 8010822:      9a09            ldr     r2, [sp, #36]   ; 0x24
- 8010824:      4603            mov     r3, r0
- 8010826:      4611            mov     r1, r2
- 8010828:      4620            mov     r0, r4
- 801082a:      9309            str     r3, [sp, #36]   ; 0x24
- 801082c:      f000 fbcb       bl      8010fc6 <_Bfree>
- 8010830:      9b09            ldr     r3, [sp, #36]   ; 0x24
- 8010832:      b9a3            cbnz    r3, 801085e <_dtoa_r+0x90e>
- 8010834:      9a08            ldr     r2, [sp, #32]
- 8010836:      b992            cbnz    r2, 801085e <_dtoa_r+0x90e>
- 8010838:      9a07            ldr     r2, [sp, #28]
- 801083a:      b982            cbnz    r2, 801085e <_dtoa_r+0x90e>
- 801083c:      f1b8 0f39       cmp.w   r8, #57 ; 0x39
- 8010840:      d029            beq.n   8010896 <_dtoa_r+0x946>
- 8010842:      9b04            ldr     r3, [sp, #16]
- 8010844:      2b00            cmp     r3, #0
- 8010846:      dd01            ble.n   801084c <_dtoa_r+0x8fc>
- 8010848:      f106 0831       add.w   r8, r6, #49     ; 0x31
- 801084c:      f10a 0601       add.w   r6, sl, #1
- 8010850:      f88a 8000       strb.w  r8, [sl]
- 8010854:      e786            b.n     8010764 <_dtoa_r+0x814>
- 8010856:      4638            mov     r0, r7
- 8010858:      e7c2            b.n     80107e0 <_dtoa_r+0x890>
- 801085a:      2301            movs    r3, #1
- 801085c:      e7e3            b.n     8010826 <_dtoa_r+0x8d6>
- 801085e:      9a04            ldr     r2, [sp, #16]
- 8010860:      2a00            cmp     r2, #0
- 8010862:      db04            blt.n   801086e <_dtoa_r+0x91e>
- 8010864:      d124            bne.n   80108b0 <_dtoa_r+0x960>
- 8010866:      9a08            ldr     r2, [sp, #32]
- 8010868:      bb12            cbnz    r2, 80108b0 <_dtoa_r+0x960>
- 801086a:      9a07            ldr     r2, [sp, #28]
- 801086c:      bb02            cbnz    r2, 80108b0 <_dtoa_r+0x960>
- 801086e:      2b00            cmp     r3, #0
- 8010870:      ddec            ble.n   801084c <_dtoa_r+0x8fc>
- 8010872:      2201            movs    r2, #1
- 8010874:      9901            ldr     r1, [sp, #4]
- 8010876:      4620            mov     r0, r4
- 8010878:      f000 fd16       bl      80112a8 <__lshift>
- 801087c:      4629            mov     r1, r5
- 801087e:      9001            str     r0, [sp, #4]
- 8010880:      f000 fd66       bl      8011350 <__mcmp>
- 8010884:      2800            cmp     r0, #0
- 8010886:      dc03            bgt.n   8010890 <_dtoa_r+0x940>
- 8010888:      d1e0            bne.n   801084c <_dtoa_r+0x8fc>
- 801088a:      f018 0f01       tst.w   r8, #1
- 801088e:      d0dd            beq.n   801084c <_dtoa_r+0x8fc>
- 8010890:      f1b8 0f39       cmp.w   r8, #57 ; 0x39
- 8010894:      d1d8            bne.n   8010848 <_dtoa_r+0x8f8>
- 8010896:      2339            movs    r3, #57 ; 0x39
- 8010898:      f10a 0601       add.w   r6, sl, #1
- 801089c:      f88a 3000       strb.w  r3, [sl]
- 80108a0:      f816 3c01       ldrb.w  r3, [r6, #-1]
- 80108a4:      2b39            cmp     r3, #57 ; 0x39
- 80108a6:      f106 32ff       add.w   r2, r6, #4294967295     ; 0xffffffff
- 80108aa:      d04c            beq.n   8010946 <_dtoa_r+0x9f6>
- 80108ac:      3301            adds    r3, #1
- 80108ae:      e051            b.n     8010954 <_dtoa_r+0xa04>
- 80108b0:      2b00            cmp     r3, #0
- 80108b2:      f10a 0601       add.w   r6, sl, #1
- 80108b6:      dd05            ble.n   80108c4 <_dtoa_r+0x974>
- 80108b8:      f1b8 0f39       cmp.w   r8, #57 ; 0x39
- 80108bc:      d0eb            beq.n   8010896 <_dtoa_r+0x946>
- 80108be:      f108 0801       add.w   r8, r8, #1
- 80108c2:      e7c5            b.n     8010850 <_dtoa_r+0x900>
- 80108c4:      9b02            ldr     r3, [sp, #8]
- 80108c6:      9a06            ldr     r2, [sp, #24]
- 80108c8:      f806 8c01       strb.w  r8, [r6, #-1]
- 80108cc:      1af3            subs    r3, r6, r3
- 80108ce:      4293            cmp     r3, r2
- 80108d0:      d021            beq.n   8010916 <_dtoa_r+0x9c6>
- 80108d2:      2300            movs    r3, #0
- 80108d4:      220a            movs    r2, #10
- 80108d6:      9901            ldr     r1, [sp, #4]
- 80108d8:      4620            mov     r0, r4
- 80108da:      f000 fb7d       bl      8010fd8 <__multadd>
- 80108de:      45b9            cmp     r9, r7
- 80108e0:      9001            str     r0, [sp, #4]
- 80108e2:      f04f 0300       mov.w   r3, #0
- 80108e6:      f04f 020a       mov.w   r2, #10
- 80108ea:      4649            mov     r1, r9
- 80108ec:      4620            mov     r0, r4
- 80108ee:      d105            bne.n   80108fc <_dtoa_r+0x9ac>
- 80108f0:      f000 fb72       bl      8010fd8 <__multadd>
- 80108f4:      4681            mov     r9, r0
- 80108f6:      4607            mov     r7, r0
- 80108f8:      46b2            mov     sl, r6
- 80108fa:      e779            b.n     80107f0 <_dtoa_r+0x8a0>
- 80108fc:      f000 fb6c       bl      8010fd8 <__multadd>
- 8010900:      4639            mov     r1, r7
- 8010902:      4681            mov     r9, r0
- 8010904:      2300            movs    r3, #0
- 8010906:      220a            movs    r2, #10
- 8010908:      4620            mov     r0, r4
- 801090a:      f000 fb65       bl      8010fd8 <__multadd>
- 801090e:      4607            mov     r7, r0
- 8010910:      e7f2            b.n     80108f8 <_dtoa_r+0x9a8>
- 8010912:      f04f 0900       mov.w   r9, #0
- 8010916:      2201            movs    r2, #1
- 8010918:      9901            ldr     r1, [sp, #4]
- 801091a:      4620            mov     r0, r4
- 801091c:      f000 fcc4       bl      80112a8 <__lshift>
- 8010920:      4629            mov     r1, r5
- 8010922:      9001            str     r0, [sp, #4]
- 8010924:      f000 fd14       bl      8011350 <__mcmp>
- 8010928:      2800            cmp     r0, #0
- 801092a:      dcb9            bgt.n   80108a0 <_dtoa_r+0x950>
- 801092c:      d102            bne.n   8010934 <_dtoa_r+0x9e4>
- 801092e:      f018 0f01       tst.w   r8, #1
- 8010932:      d1b5            bne.n   80108a0 <_dtoa_r+0x950>
- 8010934:      f816 3c01       ldrb.w  r3, [r6, #-1]
- 8010938:      2b30            cmp     r3, #48 ; 0x30
- 801093a:      f106 32ff       add.w   r2, r6, #4294967295     ; 0xffffffff
- 801093e:      f47f af11       bne.w   8010764 <_dtoa_r+0x814>
- 8010942:      4616            mov     r6, r2
- 8010944:      e7f6            b.n     8010934 <_dtoa_r+0x9e4>
- 8010946:      9b02            ldr     r3, [sp, #8]
- 8010948:      4293            cmp     r3, r2
- 801094a:      d105            bne.n   8010958 <_dtoa_r+0xa08>
- 801094c:      9a02            ldr     r2, [sp, #8]
- 801094e:      f10b 0b01       add.w   fp, fp, #1
- 8010952:      2331            movs    r3, #49 ; 0x31
- 8010954:      7013            strb    r3, [r2, #0]
- 8010956:      e705            b.n     8010764 <_dtoa_r+0x814>
- 8010958:      4616            mov     r6, r2
- 801095a:      e7a1            b.n     80108a0 <_dtoa_r+0x950>
- 801095c:      4b16            ldr     r3, [pc, #88]   ; (80109b8 <_dtoa_r+0xa68>)
- 801095e:      f7ff bb4c       b.w     800fffa <_dtoa_r+0xaa>
- 8010962:      9b1f            ldr     r3, [sp, #124]  ; 0x7c
- 8010964:      2b00            cmp     r3, #0
- 8010966:      f47f ab30       bne.w   800ffca <_dtoa_r+0x7a>
- 801096a:      4b14            ldr     r3, [pc, #80]   ; (80109bc <_dtoa_r+0xa6c>)
- 801096c:      f7ff bb45       b.w     800fffa <_dtoa_r+0xaa>
- 8010970:      9b08            ldr     r3, [sp, #32]
- 8010972:      2b01            cmp     r3, #1
- 8010974:      f77f ae3b       ble.w   80105ee <_dtoa_r+0x69e>
- 8010978:      f8dd 802c       ldr.w   r8, [sp, #44]   ; 0x2c
- 801097c:      e64f            b.n     801061e <_dtoa_r+0x6ce>
- 801097e:      9b06            ldr     r3, [sp, #24]
- 8010980:      2b00            cmp     r3, #0
- 8010982:      dc03            bgt.n   801098c <_dtoa_r+0xa3c>
- 8010984:      9b08            ldr     r3, [sp, #32]
- 8010986:      2b02            cmp     r3, #2
- 8010988:      f73f aed7       bgt.w   801073a <_dtoa_r+0x7ea>
- 801098c:      9e02            ldr     r6, [sp, #8]
- 801098e:      9801            ldr     r0, [sp, #4]
- 8010990:      4629            mov     r1, r5
- 8010992:      f7ff fa51       bl      800fe38 <quorem>
- 8010996:      f100 0830       add.w   r8, r0, #48     ; 0x30
- 801099a:      f806 8b01       strb.w  r8, [r6], #1
- 801099e:      9b02            ldr     r3, [sp, #8]
- 80109a0:      9a06            ldr     r2, [sp, #24]
- 80109a2:      1af3            subs    r3, r6, r3
- 80109a4:      429a            cmp     r2, r3
- 80109a6:      ddb4            ble.n   8010912 <_dtoa_r+0x9c2>
- 80109a8:      2300            movs    r3, #0
- 80109aa:      220a            movs    r2, #10
- 80109ac:      9901            ldr     r1, [sp, #4]
- 80109ae:      4620            mov     r0, r4
- 80109b0:      f000 fb12       bl      8010fd8 <__multadd>
- 80109b4:      9001            str     r0, [sp, #4]
- 80109b6:      e7ea            b.n     801098e <_dtoa_r+0xa3e>
- 80109b8:      08012e62        .word   0x08012e62
- 80109bc:      08012e84        .word   0x08012e84
-
-080109c0 <__sflush_r>:
- 80109c0:      f9b1 200c       ldrsh.w r2, [r1, #12]
- 80109c4:      b293            uxth    r3, r2
- 80109c6:      e92d 41f0       stmdb   sp!, {r4, r5, r6, r7, r8, lr}
- 80109ca:      4605            mov     r5, r0
- 80109cc:      0718            lsls    r0, r3, #28
- 80109ce:      460c            mov     r4, r1
- 80109d0:      d45f            bmi.n   8010a92 <__sflush_r+0xd2>
- 80109d2:      684b            ldr     r3, [r1, #4]
- 80109d4:      f442 6200       orr.w   r2, r2, #2048   ; 0x800
- 80109d8:      2b00            cmp     r3, #0
- 80109da:      818a            strh    r2, [r1, #12]
- 80109dc:      dc05            bgt.n   80109ea <__sflush_r+0x2a>
- 80109de:      6bcb            ldr     r3, [r1, #60]   ; 0x3c
- 80109e0:      2b00            cmp     r3, #0
- 80109e2:      dc02            bgt.n   80109ea <__sflush_r+0x2a>
- 80109e4:      2000            movs    r0, #0
- 80109e6:      e8bd 81f0       ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
- 80109ea:      6aa6            ldr     r6, [r4, #40]   ; 0x28
- 80109ec:      2e00            cmp     r6, #0
- 80109ee:      d0f9            beq.n   80109e4 <__sflush_r+0x24>
- 80109f0:      2300            movs    r3, #0
- 80109f2:      f412 5280       ands.w  r2, r2, #4096   ; 0x1000
- 80109f6:      682f            ldr     r7, [r5, #0]
- 80109f8:      69e1            ldr     r1, [r4, #28]
- 80109fa:      602b            str     r3, [r5, #0]
- 80109fc:      d036            beq.n   8010a6c <__sflush_r+0xac>
- 80109fe:      6d20            ldr     r0, [r4, #80]   ; 0x50
- 8010a00:      89a3            ldrh    r3, [r4, #12]
- 8010a02:      075a            lsls    r2, r3, #29
- 8010a04:      d505            bpl.n   8010a12 <__sflush_r+0x52>
- 8010a06:      6863            ldr     r3, [r4, #4]
- 8010a08:      1ac0            subs    r0, r0, r3
- 8010a0a:      6b23            ldr     r3, [r4, #48]   ; 0x30
- 8010a0c:      b10b            cbz     r3, 8010a12 <__sflush_r+0x52>
- 8010a0e:      6be3            ldr     r3, [r4, #60]   ; 0x3c
- 8010a10:      1ac0            subs    r0, r0, r3
- 8010a12:      2300            movs    r3, #0
- 8010a14:      4602            mov     r2, r0
- 8010a16:      6aa6            ldr     r6, [r4, #40]   ; 0x28
- 8010a18:      69e1            ldr     r1, [r4, #28]
- 8010a1a:      4628            mov     r0, r5
- 8010a1c:      47b0            blx     r6
- 8010a1e:      1c43            adds    r3, r0, #1
- 8010a20:      89a3            ldrh    r3, [r4, #12]
- 8010a22:      d106            bne.n   8010a32 <__sflush_r+0x72>
- 8010a24:      6829            ldr     r1, [r5, #0]
- 8010a26:      291d            cmp     r1, #29
- 8010a28:      d84c            bhi.n   8010ac4 <__sflush_r+0x104>
- 8010a2a:      4a2b            ldr     r2, [pc, #172]  ; (8010ad8 <__sflush_r+0x118>)
- 8010a2c:      40ca            lsrs    r2, r1
- 8010a2e:      07d6            lsls    r6, r2, #31
- 8010a30:      d548            bpl.n   8010ac4 <__sflush_r+0x104>
- 8010a32:      f423 6300       bic.w   r3, r3, #2048   ; 0x800
- 8010a36:      b21b            sxth    r3, r3
- 8010a38:      2200            movs    r2, #0
- 8010a3a:      6062            str     r2, [r4, #4]
- 8010a3c:      04d9            lsls    r1, r3, #19
- 8010a3e:      6922            ldr     r2, [r4, #16]
- 8010a40:      81a3            strh    r3, [r4, #12]
- 8010a42:      6022            str     r2, [r4, #0]
- 8010a44:      d504            bpl.n   8010a50 <__sflush_r+0x90>
- 8010a46:      1c42            adds    r2, r0, #1
- 8010a48:      d101            bne.n   8010a4e <__sflush_r+0x8e>
- 8010a4a:      682b            ldr     r3, [r5, #0]
- 8010a4c:      b903            cbnz    r3, 8010a50 <__sflush_r+0x90>
- 8010a4e:      6520            str     r0, [r4, #80]   ; 0x50
- 8010a50:      6b21            ldr     r1, [r4, #48]   ; 0x30
- 8010a52:      602f            str     r7, [r5, #0]
- 8010a54:      2900            cmp     r1, #0
- 8010a56:      d0c5            beq.n   80109e4 <__sflush_r+0x24>
- 8010a58:      f104 0340       add.w   r3, r4, #64     ; 0x40
- 8010a5c:      4299            cmp     r1, r3
- 8010a5e:      d002            beq.n   8010a66 <__sflush_r+0xa6>
- 8010a60:      4628            mov     r0, r5
- 8010a62:      f000 f937       bl      8010cd4 <_free_r>
- 8010a66:      2000            movs    r0, #0
- 8010a68:      6320            str     r0, [r4, #48]   ; 0x30
- 8010a6a:      e7bc            b.n     80109e6 <__sflush_r+0x26>
- 8010a6c:      2301            movs    r3, #1
- 8010a6e:      4628            mov     r0, r5
- 8010a70:      47b0            blx     r6
- 8010a72:      1c41            adds    r1, r0, #1
- 8010a74:      d1c4            bne.n   8010a00 <__sflush_r+0x40>
- 8010a76:      682b            ldr     r3, [r5, #0]
- 8010a78:      2b00            cmp     r3, #0
- 8010a7a:      d0c1            beq.n   8010a00 <__sflush_r+0x40>
- 8010a7c:      2b1d            cmp     r3, #29
- 8010a7e:      d001            beq.n   8010a84 <__sflush_r+0xc4>
- 8010a80:      2b16            cmp     r3, #22
- 8010a82:      d101            bne.n   8010a88 <__sflush_r+0xc8>
- 8010a84:      602f            str     r7, [r5, #0]
- 8010a86:      e7ad            b.n     80109e4 <__sflush_r+0x24>
- 8010a88:      89a3            ldrh    r3, [r4, #12]
- 8010a8a:      f043 0340       orr.w   r3, r3, #64     ; 0x40
- 8010a8e:      81a3            strh    r3, [r4, #12]
- 8010a90:      e7a9            b.n     80109e6 <__sflush_r+0x26>
- 8010a92:      690f            ldr     r7, [r1, #16]
- 8010a94:      2f00            cmp     r7, #0
- 8010a96:      d0a5            beq.n   80109e4 <__sflush_r+0x24>
- 8010a98:      079b            lsls    r3, r3, #30
- 8010a9a:      680e            ldr     r6, [r1, #0]
- 8010a9c:      bf08            it      eq
- 8010a9e:      694b            ldreq   r3, [r1, #20]
- 8010aa0:      600f            str     r7, [r1, #0]
- 8010aa2:      bf18            it      ne
- 8010aa4:      2300            movne   r3, #0
- 8010aa6:      eba6 0807       sub.w   r8, r6, r7
- 8010aaa:      608b            str     r3, [r1, #8]
- 8010aac:      f1b8 0f00       cmp.w   r8, #0
- 8010ab0:      dd98            ble.n   80109e4 <__sflush_r+0x24>
- 8010ab2:      4643            mov     r3, r8
- 8010ab4:      463a            mov     r2, r7
- 8010ab6:      69e1            ldr     r1, [r4, #28]
- 8010ab8:      6a66            ldr     r6, [r4, #36]   ; 0x24
- 8010aba:      4628            mov     r0, r5
- 8010abc:      47b0            blx     r6
- 8010abe:      2800            cmp     r0, #0
- 8010ac0:      dc06            bgt.n   8010ad0 <__sflush_r+0x110>
- 8010ac2:      89a3            ldrh    r3, [r4, #12]
- 8010ac4:      f043 0340       orr.w   r3, r3, #64     ; 0x40
- 8010ac8:      81a3            strh    r3, [r4, #12]
- 8010aca:      f04f 30ff       mov.w   r0, #4294967295 ; 0xffffffff
- 8010ace:      e78a            b.n     80109e6 <__sflush_r+0x26>
- 8010ad0:      4407            add     r7, r0
- 8010ad2:      eba8 0800       sub.w   r8, r8, r0
- 8010ad6:      e7e9            b.n     8010aac <__sflush_r+0xec>
- 8010ad8:      20400001        .word   0x20400001
-
-08010adc <_fflush_r>:
- 8010adc:      b538            push    {r3, r4, r5, lr}
- 8010ade:      460c            mov     r4, r1
- 8010ae0:      4605            mov     r5, r0
- 8010ae2:      b118            cbz     r0, 8010aec <_fflush_r+0x10>
- 8010ae4:      6b83            ldr     r3, [r0, #56]   ; 0x38
- 8010ae6:      b90b            cbnz    r3, 8010aec <_fflush_r+0x10>
- 8010ae8:      f000 f864       bl      8010bb4 <__sinit>
- 8010aec:      f9b4 000c       ldrsh.w r0, [r4, #12]
- 8010af0:      b1b8            cbz     r0, 8010b22 <_fflush_r+0x46>
- 8010af2:      6e63            ldr     r3, [r4, #100]  ; 0x64
- 8010af4:      07db            lsls    r3, r3, #31
- 8010af6:      d404            bmi.n   8010b02 <_fflush_r+0x26>
- 8010af8:      0581            lsls    r1, r0, #22
- 8010afa:      d402            bmi.n   8010b02 <_fflush_r+0x26>
- 8010afc:      6da0            ldr     r0, [r4, #88]   ; 0x58
- 8010afe:      f7fd f9e3       bl      800dec8 <__retarget_lock_acquire_recursive>
- 8010b02:      4628            mov     r0, r5
- 8010b04:      4621            mov     r1, r4
- 8010b06:      f7ff ff5b       bl      80109c0 <__sflush_r>
- 8010b0a:      6e63            ldr     r3, [r4, #100]  ; 0x64
- 8010b0c:      07da            lsls    r2, r3, #31
- 8010b0e:      4605            mov     r5, r0
- 8010b10:      d405            bmi.n   8010b1e <_fflush_r+0x42>
- 8010b12:      89a3            ldrh    r3, [r4, #12]
- 8010b14:      059b            lsls    r3, r3, #22
- 8010b16:      d402            bmi.n   8010b1e <_fflush_r+0x42>
- 8010b18:      6da0            ldr     r0, [r4, #88]   ; 0x58
- 8010b1a:      f7fd f9d6       bl      800deca <__retarget_lock_release_recursive>
- 8010b1e:      4628            mov     r0, r5
- 8010b20:      bd38            pop     {r3, r4, r5, pc}
- 8010b22:      4605            mov     r5, r0
- 8010b24:      e7fb            b.n     8010b1e <_fflush_r+0x42>
-       ...
-
-08010b28 <std>:
- 8010b28:      2300            movs    r3, #0
- 8010b2a:      b510            push    {r4, lr}
- 8010b2c:      4604            mov     r4, r0
- 8010b2e:      e9c0 3300       strd    r3, r3, [r0]
- 8010b32:      6083            str     r3, [r0, #8]
- 8010b34:      8181            strh    r1, [r0, #12]
- 8010b36:      6643            str     r3, [r0, #100]  ; 0x64
- 8010b38:      81c2            strh    r2, [r0, #14]
- 8010b3a:      e9c0 3304       strd    r3, r3, [r0, #16]
- 8010b3e:      6183            str     r3, [r0, #24]
- 8010b40:      4619            mov     r1, r3
- 8010b42:      2208            movs    r2, #8
- 8010b44:      305c            adds    r0, #92 ; 0x5c
- 8010b46:      f7fd fc3a       bl      800e3be <memset>
- 8010b4a:      4b07            ldr     r3, [pc, #28]   ; (8010b68 <std+0x40>)
- 8010b4c:      6223            str     r3, [r4, #32]
- 8010b4e:      4b07            ldr     r3, [pc, #28]   ; (8010b6c <std+0x44>)
- 8010b50:      6263            str     r3, [r4, #36]   ; 0x24
- 8010b52:      4b07            ldr     r3, [pc, #28]   ; (8010b70 <std+0x48>)
- 8010b54:      62a3            str     r3, [r4, #40]   ; 0x28
- 8010b56:      4b07            ldr     r3, [pc, #28]   ; (8010b74 <std+0x4c>)
- 8010b58:      61e4            str     r4, [r4, #28]
- 8010b5a:      62e3            str     r3, [r4, #44]   ; 0x2c
- 8010b5c:      f104 0058       add.w   r0, r4, #88     ; 0x58
- 8010b60:      e8bd 4010       ldmia.w sp!, {r4, lr}
- 8010b64:      f7fd b9ae       b.w     800dec4 <__retarget_lock_init_recursive>
- 8010b68:      08011555        .word   0x08011555
- 8010b6c:      08011577        .word   0x08011577
- 8010b70:      080115af        .word   0x080115af
- 8010b74:      080115d3        .word   0x080115d3
-
-08010b78 <_cleanup_r>:
- 8010b78:      4901            ldr     r1, [pc, #4]    ; (8010b80 <_cleanup_r+0x8>)
- 8010b7a:      f000 b967       b.w     8010e4c <_fwalk_reent>
- 8010b7e:      bf00            nop
- 8010b80:      0801181d        .word   0x0801181d
-
-08010b84 <__sfp_lock_acquire>:
- 8010b84:      4801            ldr     r0, [pc, #4]    ; (8010b8c <__sfp_lock_acquire+0x8>)
- 8010b86:      f7fd b99f       b.w     800dec8 <__retarget_lock_acquire_recursive>
- 8010b8a:      bf00            nop
- 8010b8c:      20000b04        .word   0x20000b04
-
-08010b90 <__sfp_lock_release>:
- 8010b90:      4801            ldr     r0, [pc, #4]    ; (8010b98 <__sfp_lock_release+0x8>)
- 8010b92:      f7fd b99a       b.w     800deca <__retarget_lock_release_recursive>
- 8010b96:      bf00            nop
- 8010b98:      20000b04        .word   0x20000b04
-
-08010b9c <__sinit_lock_acquire>:
- 8010b9c:      4801            ldr     r0, [pc, #4]    ; (8010ba4 <__sinit_lock_acquire+0x8>)
- 8010b9e:      f7fd b993       b.w     800dec8 <__retarget_lock_acquire_recursive>
- 8010ba2:      bf00            nop
- 8010ba4:      20000aff        .word   0x20000aff
-
-08010ba8 <__sinit_lock_release>:
- 8010ba8:      4801            ldr     r0, [pc, #4]    ; (8010bb0 <__sinit_lock_release+0x8>)
- 8010baa:      f7fd b98e       b.w     800deca <__retarget_lock_release_recursive>
- 8010bae:      bf00            nop
- 8010bb0:      20000aff        .word   0x20000aff
-
-08010bb4 <__sinit>:
- 8010bb4:      b510            push    {r4, lr}
- 8010bb6:      4604            mov     r4, r0
- 8010bb8:      f7ff fff0       bl      8010b9c <__sinit_lock_acquire>
- 8010bbc:      6ba2            ldr     r2, [r4, #56]   ; 0x38
- 8010bbe:      b11a            cbz     r2, 8010bc8 <__sinit+0x14>
- 8010bc0:      e8bd 4010       ldmia.w sp!, {r4, lr}
- 8010bc4:      f7ff bff0       b.w     8010ba8 <__sinit_lock_release>
- 8010bc8:      4b0d            ldr     r3, [pc, #52]   ; (8010c00 <__sinit+0x4c>)
- 8010bca:      63e3            str     r3, [r4, #60]   ; 0x3c
- 8010bcc:      2303            movs    r3, #3
- 8010bce:      f8c4 32e4       str.w   r3, [r4, #740]  ; 0x2e4
- 8010bd2:      f504 733b       add.w   r3, r4, #748    ; 0x2ec
- 8010bd6:      f8c4 32e8       str.w   r3, [r4, #744]  ; 0x2e8
- 8010bda:      f8c4 22e0       str.w   r2, [r4, #736]  ; 0x2e0
- 8010bde:      2104            movs    r1, #4
- 8010be0:      6860            ldr     r0, [r4, #4]
- 8010be2:      f7ff ffa1       bl      8010b28 <std>
- 8010be6:      2201            movs    r2, #1
- 8010be8:      2109            movs    r1, #9
- 8010bea:      68a0            ldr     r0, [r4, #8]
- 8010bec:      f7ff ff9c       bl      8010b28 <std>
- 8010bf0:      2202            movs    r2, #2
- 8010bf2:      2112            movs    r1, #18
- 8010bf4:      68e0            ldr     r0, [r4, #12]
- 8010bf6:      f7ff ff97       bl      8010b28 <std>
- 8010bfa:      2301            movs    r3, #1
- 8010bfc:      63a3            str     r3, [r4, #56]   ; 0x38
- 8010bfe:      e7df            b.n     8010bc0 <__sinit+0xc>
- 8010c00:      08010b79        .word   0x08010b79
-
-08010c04 <__libc_fini_array>:
- 8010c04:      b538            push    {r3, r4, r5, lr}
- 8010c06:      4d07            ldr     r5, [pc, #28]   ; (8010c24 <__libc_fini_array+0x20>)
- 8010c08:      4c07            ldr     r4, [pc, #28]   ; (8010c28 <__libc_fini_array+0x24>)
- 8010c0a:      1b64            subs    r4, r4, r5
- 8010c0c:      10a4            asrs    r4, r4, #2
- 8010c0e:      b91c            cbnz    r4, 8010c18 <__libc_fini_array+0x14>
- 8010c10:      e8bd 4038       ldmia.w sp!, {r3, r4, r5, lr}
- 8010c14:      f000 bec6       b.w     80119a4 <_fini>
- 8010c18:      3c01            subs    r4, #1
- 8010c1a:      f855 3024       ldr.w   r3, [r5, r4, lsl #2]
- 8010c1e:      4798            blx     r3
- 8010c20:      e7f5            b.n     8010c0e <__libc_fini_array+0xa>
- 8010c22:      bf00            nop
- 8010c24:      08013334        .word   0x08013334
- 8010c28:      08013338        .word   0x08013338
-
-08010c2c <_malloc_trim_r>:
- 8010c2c:      e92d 41f0       stmdb   sp!, {r4, r5, r6, r7, r8, lr}
- 8010c30:      4605            mov     r5, r0
- 8010c32:      2008            movs    r0, #8
- 8010c34:      460c            mov     r4, r1
- 8010c36:      f7ff f823       bl      800fc80 <sysconf>
- 8010c3a:      4f23            ldr     r7, [pc, #140]  ; (8010cc8 <_malloc_trim_r+0x9c>)
- 8010c3c:      4680            mov     r8, r0
- 8010c3e:      4628            mov     r0, r5
- 8010c40:      f7fd fbc6       bl      800e3d0 <__malloc_lock>
- 8010c44:      68bb            ldr     r3, [r7, #8]
- 8010c46:      685e            ldr     r6, [r3, #4]
- 8010c48:      f026 0603       bic.w   r6, r6, #3
- 8010c4c:      1b34            subs    r4, r6, r4
- 8010c4e:      3c11            subs    r4, #17
- 8010c50:      4444            add     r4, r8
- 8010c52:      fbb4 f4f8       udiv    r4, r4, r8
- 8010c56:      3c01            subs    r4, #1
- 8010c58:      fb08 f404       mul.w   r4, r8, r4
- 8010c5c:      45a0            cmp     r8, r4
- 8010c5e:      dd05            ble.n   8010c6c <_malloc_trim_r+0x40>
- 8010c60:      4628            mov     r0, r5
- 8010c62:      f7fd fbbb       bl      800e3dc <__malloc_unlock>
- 8010c66:      2000            movs    r0, #0
- 8010c68:      e8bd 81f0       ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
- 8010c6c:      2100            movs    r1, #0
- 8010c6e:      4628            mov     r0, r5
- 8010c70:      f7fd fd9e       bl      800e7b0 <_sbrk_r>
- 8010c74:      68bb            ldr     r3, [r7, #8]
- 8010c76:      4433            add     r3, r6
- 8010c78:      4298            cmp     r0, r3
- 8010c7a:      d1f1            bne.n   8010c60 <_malloc_trim_r+0x34>
- 8010c7c:      4261            negs    r1, r4
- 8010c7e:      4628            mov     r0, r5
- 8010c80:      f7fd fd96       bl      800e7b0 <_sbrk_r>
- 8010c84:      3001            adds    r0, #1
- 8010c86:      d110            bne.n   8010caa <_malloc_trim_r+0x7e>
- 8010c88:      2100            movs    r1, #0
- 8010c8a:      4628            mov     r0, r5
- 8010c8c:      f7fd fd90       bl      800e7b0 <_sbrk_r>
- 8010c90:      68ba            ldr     r2, [r7, #8]
- 8010c92:      1a83            subs    r3, r0, r2
- 8010c94:      2b0f            cmp     r3, #15
- 8010c96:      dde3            ble.n   8010c60 <_malloc_trim_r+0x34>
- 8010c98:      490c            ldr     r1, [pc, #48]   ; (8010ccc <_malloc_trim_r+0xa0>)
- 8010c9a:      6809            ldr     r1, [r1, #0]
- 8010c9c:      1a40            subs    r0, r0, r1
- 8010c9e:      490c            ldr     r1, [pc, #48]   ; (8010cd0 <_malloc_trim_r+0xa4>)
- 8010ca0:      f043 0301       orr.w   r3, r3, #1
- 8010ca4:      6008            str     r0, [r1, #0]
- 8010ca6:      6053            str     r3, [r2, #4]
- 8010ca8:      e7da            b.n     8010c60 <_malloc_trim_r+0x34>
- 8010caa:      68bb            ldr     r3, [r7, #8]
- 8010cac:      4a08            ldr     r2, [pc, #32]   ; (8010cd0 <_malloc_trim_r+0xa4>)
- 8010cae:      1b36            subs    r6, r6, r4
- 8010cb0:      f046 0601       orr.w   r6, r6, #1
- 8010cb4:      605e            str     r6, [r3, #4]
- 8010cb6:      6813            ldr     r3, [r2, #0]
- 8010cb8:      4628            mov     r0, r5
- 8010cba:      1b1c            subs    r4, r3, r4
- 8010cbc:      6014            str     r4, [r2, #0]
- 8010cbe:      f7fd fb8d       bl      800e3dc <__malloc_unlock>
- 8010cc2:      2001            movs    r0, #1
- 8010cc4:      e7d0            b.n     8010c68 <_malloc_trim_r+0x3c>
- 8010cc6:      bf00            nop
- 8010cc8:      20000440        .word   0x20000440
- 8010ccc:      20000848        .word   0x20000848
- 8010cd0:      20000ac4        .word   0x20000ac4
-
-08010cd4 <_free_r>:
- 8010cd4:      e92d 41f0       stmdb   sp!, {r4, r5, r6, r7, r8, lr}
- 8010cd8:      4604            mov     r4, r0
- 8010cda:      4688            mov     r8, r1
- 8010cdc:      2900            cmp     r1, #0
- 8010cde:      f000 80ab       beq.w   8010e38 <_free_r+0x164>
- 8010ce2:      f7fd fb75       bl      800e3d0 <__malloc_lock>
- 8010ce6:      f858 2c04       ldr.w   r2, [r8, #-4]
- 8010cea:      4d54            ldr     r5, [pc, #336]  ; (8010e3c <_free_r+0x168>)
- 8010cec:      f022 0001       bic.w   r0, r2, #1
- 8010cf0:      f1a8 0308       sub.w   r3, r8, #8
- 8010cf4:      181f            adds    r7, r3, r0
- 8010cf6:      68a9            ldr     r1, [r5, #8]
- 8010cf8:      687e            ldr     r6, [r7, #4]
- 8010cfa:      42b9            cmp     r1, r7
- 8010cfc:      f026 0603       bic.w   r6, r6, #3
- 8010d00:      f002 0201       and.w   r2, r2, #1
- 8010d04:      d11b            bne.n   8010d3e <_free_r+0x6a>
- 8010d06:      4430            add     r0, r6
- 8010d08:      b93a            cbnz    r2, 8010d1a <_free_r+0x46>
- 8010d0a:      f858 2c08       ldr.w   r2, [r8, #-8]
- 8010d0e:      1a9b            subs    r3, r3, r2
- 8010d10:      4410            add     r0, r2
- 8010d12:      e9d3 1202       ldrd    r1, r2, [r3, #8]
- 8010d16:      60ca            str     r2, [r1, #12]
- 8010d18:      6091            str     r1, [r2, #8]
- 8010d1a:      f040 0201       orr.w   r2, r0, #1
- 8010d1e:      605a            str     r2, [r3, #4]
- 8010d20:      60ab            str     r3, [r5, #8]
- 8010d22:      4b47            ldr     r3, [pc, #284]  ; (8010e40 <_free_r+0x16c>)
- 8010d24:      681b            ldr     r3, [r3, #0]
- 8010d26:      4283            cmp     r3, r0
- 8010d28:      d804            bhi.n   8010d34 <_free_r+0x60>
- 8010d2a:      4b46            ldr     r3, [pc, #280]  ; (8010e44 <_free_r+0x170>)
- 8010d2c:      4620            mov     r0, r4
- 8010d2e:      6819            ldr     r1, [r3, #0]
- 8010d30:      f7ff ff7c       bl      8010c2c <_malloc_trim_r>
- 8010d34:      4620            mov     r0, r4
- 8010d36:      e8bd 41f0       ldmia.w sp!, {r4, r5, r6, r7, r8, lr}
- 8010d3a:      f7fd bb4f       b.w     800e3dc <__malloc_unlock>
- 8010d3e:      607e            str     r6, [r7, #4]
- 8010d40:      2a00            cmp     r2, #0
- 8010d42:      d139            bne.n   8010db8 <_free_r+0xe4>
- 8010d44:      f858 1c08       ldr.w   r1, [r8, #-8]
- 8010d48:      1a5b            subs    r3, r3, r1
- 8010d4a:      4408            add     r0, r1
- 8010d4c:      6899            ldr     r1, [r3, #8]
- 8010d4e:      f105 0c08       add.w   ip, r5, #8
- 8010d52:      4561            cmp     r1, ip
- 8010d54:      d032            beq.n   8010dbc <_free_r+0xe8>
- 8010d56:      f8d3 c00c       ldr.w   ip, [r3, #12]
- 8010d5a:      f8c1 c00c       str.w   ip, [r1, #12]
- 8010d5e:      f8cc 1008       str.w   r1, [ip, #8]
- 8010d62:      19b9            adds    r1, r7, r6
- 8010d64:      6849            ldr     r1, [r1, #4]
- 8010d66:      07c9            lsls    r1, r1, #31
- 8010d68:      d40a            bmi.n   8010d80 <_free_r+0xac>
- 8010d6a:      4430            add     r0, r6
- 8010d6c:      68b9            ldr     r1, [r7, #8]
- 8010d6e:      bb3a            cbnz    r2, 8010dc0 <_free_r+0xec>
- 8010d70:      4e35            ldr     r6, [pc, #212]  ; (8010e48 <_free_r+0x174>)
- 8010d72:      42b1            cmp     r1, r6
- 8010d74:      d124            bne.n   8010dc0 <_free_r+0xec>
- 8010d76:      e9c5 3304       strd    r3, r3, [r5, #16]
- 8010d7a:      e9c3 1102       strd    r1, r1, [r3, #8]
- 8010d7e:      2201            movs    r2, #1
- 8010d80:      f040 0101       orr.w   r1, r0, #1
- 8010d84:      6059            str     r1, [r3, #4]
- 8010d86:      5018            str     r0, [r3, r0]
- 8010d88:      2a00            cmp     r2, #0
- 8010d8a:      d1d3            bne.n   8010d34 <_free_r+0x60>
- 8010d8c:      f5b0 7f00       cmp.w   r0, #512        ; 0x200
- 8010d90:      d21a            bcs.n   8010dc8 <_free_r+0xf4>
- 8010d92:      08c0            lsrs    r0, r0, #3
- 8010d94:      1081            asrs    r1, r0, #2
- 8010d96:      2201            movs    r2, #1
- 8010d98:      408a            lsls    r2, r1
- 8010d9a:      6869            ldr     r1, [r5, #4]
- 8010d9c:      3001            adds    r0, #1
- 8010d9e:      430a            orrs    r2, r1
- 8010da0:      606a            str     r2, [r5, #4]
- 8010da2:      f855 1030       ldr.w   r1, [r5, r0, lsl #3]
- 8010da6:      eb05 02c0       add.w   r2, r5, r0, lsl #3
- 8010daa:      3a08            subs    r2, #8
- 8010dac:      e9c3 1202       strd    r1, r2, [r3, #8]
- 8010db0:      f845 3030       str.w   r3, [r5, r0, lsl #3]
- 8010db4:      60cb            str     r3, [r1, #12]
- 8010db6:      e7bd            b.n     8010d34 <_free_r+0x60>
- 8010db8:      2200            movs    r2, #0
- 8010dba:      e7d2            b.n     8010d62 <_free_r+0x8e>
- 8010dbc:      2201            movs    r2, #1
- 8010dbe:      e7d0            b.n     8010d62 <_free_r+0x8e>
- 8010dc0:      68fe            ldr     r6, [r7, #12]
- 8010dc2:      60ce            str     r6, [r1, #12]
- 8010dc4:      60b1            str     r1, [r6, #8]
- 8010dc6:      e7db            b.n     8010d80 <_free_r+0xac>
- 8010dc8:      0a42            lsrs    r2, r0, #9
- 8010dca:      2a04            cmp     r2, #4
- 8010dcc:      d813            bhi.n   8010df6 <_free_r+0x122>
- 8010dce:      0982            lsrs    r2, r0, #6
- 8010dd0:      3238            adds    r2, #56 ; 0x38
- 8010dd2:      1c51            adds    r1, r2, #1
- 8010dd4:      eb05 06c2       add.w   r6, r5, r2, lsl #3
- 8010dd8:      f855 1031       ldr.w   r1, [r5, r1, lsl #3]
- 8010ddc:      428e            cmp     r6, r1
- 8010dde:      d124            bne.n   8010e2a <_free_r+0x156>
- 8010de0:      2001            movs    r0, #1
- 8010de2:      1092            asrs    r2, r2, #2
- 8010de4:      fa00 f202       lsl.w   r2, r0, r2
- 8010de8:      6868            ldr     r0, [r5, #4]
- 8010dea:      4302            orrs    r2, r0
- 8010dec:      606a            str     r2, [r5, #4]
- 8010dee:      e9c3 1602       strd    r1, r6, [r3, #8]
- 8010df2:      60b3            str     r3, [r6, #8]
- 8010df4:      e7de            b.n     8010db4 <_free_r+0xe0>
- 8010df6:      2a14            cmp     r2, #20
- 8010df8:      d801            bhi.n   8010dfe <_free_r+0x12a>
- 8010dfa:      325b            adds    r2, #91 ; 0x5b
- 8010dfc:      e7e9            b.n     8010dd2 <_free_r+0xfe>
- 8010dfe:      2a54            cmp     r2, #84 ; 0x54
- 8010e00:      d802            bhi.n   8010e08 <_free_r+0x134>
- 8010e02:      0b02            lsrs    r2, r0, #12
- 8010e04:      326e            adds    r2, #110        ; 0x6e
- 8010e06:      e7e4            b.n     8010dd2 <_free_r+0xfe>
- 8010e08:      f5b2 7faa       cmp.w   r2, #340        ; 0x154
- 8010e0c:      d802            bhi.n   8010e14 <_free_r+0x140>
- 8010e0e:      0bc2            lsrs    r2, r0, #15
- 8010e10:      3277            adds    r2, #119        ; 0x77
- 8010e12:      e7de            b.n     8010dd2 <_free_r+0xfe>
- 8010e14:      f240 5154       movw    r1, #1364       ; 0x554
- 8010e18:      428a            cmp     r2, r1
- 8010e1a:      bf9a            itte    ls
- 8010e1c:      0c82            lsrls   r2, r0, #18
- 8010e1e:      327c            addls   r2, #124        ; 0x7c
- 8010e20:      227e            movhi   r2, #126        ; 0x7e
- 8010e22:      e7d6            b.n     8010dd2 <_free_r+0xfe>
- 8010e24:      6889            ldr     r1, [r1, #8]
- 8010e26:      428e            cmp     r6, r1
- 8010e28:      d004            beq.n   8010e34 <_free_r+0x160>
- 8010e2a:      684a            ldr     r2, [r1, #4]
- 8010e2c:      f022 0203       bic.w   r2, r2, #3
- 8010e30:      4282            cmp     r2, r0
- 8010e32:      d8f7            bhi.n   8010e24 <_free_r+0x150>
- 8010e34:      68ce            ldr     r6, [r1, #12]
- 8010e36:      e7da            b.n     8010dee <_free_r+0x11a>
- 8010e38:      e8bd 81f0       ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
- 8010e3c:      20000440        .word   0x20000440
- 8010e40:      2000084c        .word   0x2000084c
- 8010e44:      20000af4        .word   0x20000af4
- 8010e48:      20000448        .word   0x20000448
-
-08010e4c <_fwalk_reent>:
- 8010e4c:      e92d 43f8       stmdb   sp!, {r3, r4, r5, r6, r7, r8, r9, lr}
- 8010e50:      4680            mov     r8, r0
- 8010e52:      4689            mov     r9, r1
- 8010e54:      f500 7438       add.w   r4, r0, #736    ; 0x2e0
- 8010e58:      2600            movs    r6, #0
- 8010e5a:      b914            cbnz    r4, 8010e62 <_fwalk_reent+0x16>
- 8010e5c:      4630            mov     r0, r6
- 8010e5e:      e8bd 83f8       ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc}
- 8010e62:      e9d4 7501       ldrd    r7, r5, [r4, #4]
- 8010e66:      3f01            subs    r7, #1
- 8010e68:      d501            bpl.n   8010e6e <_fwalk_reent+0x22>
- 8010e6a:      6824            ldr     r4, [r4, #0]
- 8010e6c:      e7f5            b.n     8010e5a <_fwalk_reent+0xe>
- 8010e6e:      89ab            ldrh    r3, [r5, #12]
- 8010e70:      2b01            cmp     r3, #1
- 8010e72:      d907            bls.n   8010e84 <_fwalk_reent+0x38>
- 8010e74:      f9b5 300e       ldrsh.w r3, [r5, #14]
- 8010e78:      3301            adds    r3, #1
- 8010e7a:      d003            beq.n   8010e84 <_fwalk_reent+0x38>
- 8010e7c:      4629            mov     r1, r5
- 8010e7e:      4640            mov     r0, r8
- 8010e80:      47c8            blx     r9
- 8010e82:      4306            orrs    r6, r0
- 8010e84:      3568            adds    r5, #104        ; 0x68
- 8010e86:      e7ee            b.n     8010e66 <_fwalk_reent+0x1a>
-
-08010e88 <_localeconv_r>:
- 8010e88:      4b04            ldr     r3, [pc, #16]   ; (8010e9c <_localeconv_r+0x14>)
- 8010e8a:      681b            ldr     r3, [r3, #0]
- 8010e8c:      6b58            ldr     r0, [r3, #52]   ; 0x34
- 8010e8e:      4b04            ldr     r3, [pc, #16]   ; (8010ea0 <_localeconv_r+0x18>)
- 8010e90:      2800            cmp     r0, #0
- 8010e92:      bf08            it      eq
- 8010e94:      4618            moveq   r0, r3
- 8010e96:      30f0            adds    r0, #240        ; 0xf0
- 8010e98:      4770            bx      lr
- 8010e9a:      bf00            nop
- 8010e9c:      20000014        .word   0x20000014
- 8010ea0:      20000854        .word   0x20000854
-
-08010ea4 <__swhatbuf_r>:
- 8010ea4:      b570            push    {r4, r5, r6, lr}
- 8010ea6:      460e            mov     r6, r1
- 8010ea8:      f9b1 100e       ldrsh.w r1, [r1, #14]
- 8010eac:      2900            cmp     r1, #0
- 8010eae:      b096            sub     sp, #88 ; 0x58
- 8010eb0:      4614            mov     r4, r2
- 8010eb2:      461d            mov     r5, r3
- 8010eb4:      da09            bge.n   8010eca <__swhatbuf_r+0x26>
- 8010eb6:      89b3            ldrh    r3, [r6, #12]
- 8010eb8:      2200            movs    r2, #0
- 8010eba:      f013 0080       ands.w  r0, r3, #128    ; 0x80
- 8010ebe:      602a            str     r2, [r5, #0]
- 8010ec0:      d116            bne.n   8010ef0 <__swhatbuf_r+0x4c>
- 8010ec2:      f44f 6380       mov.w   r3, #1024       ; 0x400
- 8010ec6:      6023            str     r3, [r4, #0]
- 8010ec8:      e015            b.n     8010ef6 <__swhatbuf_r+0x52>
- 8010eca:      466a            mov     r2, sp
- 8010ecc:      f000 fcfe       bl      80118cc <_fstat_r>
- 8010ed0:      2800            cmp     r0, #0
- 8010ed2:      dbf0            blt.n   8010eb6 <__swhatbuf_r+0x12>
- 8010ed4:      9a01            ldr     r2, [sp, #4]
- 8010ed6:      f402 4270       and.w   r2, r2, #61440  ; 0xf000
- 8010eda:      f5a2 5300       sub.w   r3, r2, #8192   ; 0x2000
- 8010ede:      425a            negs    r2, r3
- 8010ee0:      415a            adcs    r2, r3
- 8010ee2:      f44f 6380       mov.w   r3, #1024       ; 0x400
- 8010ee6:      602a            str     r2, [r5, #0]
- 8010ee8:      f44f 6000       mov.w   r0, #2048       ; 0x800
- 8010eec:      6023            str     r3, [r4, #0]
- 8010eee:      e002            b.n     8010ef6 <__swhatbuf_r+0x52>
- 8010ef0:      2340            movs    r3, #64 ; 0x40
- 8010ef2:      6023            str     r3, [r4, #0]
- 8010ef4:      4610            mov     r0, r2
- 8010ef6:      b016            add     sp, #88 ; 0x58
- 8010ef8:      bd70            pop     {r4, r5, r6, pc}
-       ...
-
-08010efc <__smakebuf_r>:
- 8010efc:      898b            ldrh    r3, [r1, #12]
- 8010efe:      b573            push    {r0, r1, r4, r5, r6, lr}
- 8010f00:      079d            lsls    r5, r3, #30
- 8010f02:      4606            mov     r6, r0
- 8010f04:      460c            mov     r4, r1
- 8010f06:      d507            bpl.n   8010f18 <__smakebuf_r+0x1c>
- 8010f08:      f104 0343       add.w   r3, r4, #67     ; 0x43
- 8010f0c:      6023            str     r3, [r4, #0]
- 8010f0e:      6123            str     r3, [r4, #16]
- 8010f10:      2301            movs    r3, #1
- 8010f12:      6163            str     r3, [r4, #20]
- 8010f14:      b002            add     sp, #8
- 8010f16:      bd70            pop     {r4, r5, r6, pc}
- 8010f18:      ab01            add     r3, sp, #4
- 8010f1a:      466a            mov     r2, sp
- 8010f1c:      f7ff ffc2       bl      8010ea4 <__swhatbuf_r>
- 8010f20:      9900            ldr     r1, [sp, #0]
- 8010f22:      4605            mov     r5, r0
- 8010f24:      4630            mov     r0, r6
- 8010f26:      f7fc ffe1       bl      800deec <_malloc_r>
- 8010f2a:      b948            cbnz    r0, 8010f40 <__smakebuf_r+0x44>
- 8010f2c:      f9b4 300c       ldrsh.w r3, [r4, #12]
- 8010f30:      059a            lsls    r2, r3, #22
- 8010f32:      d4ef            bmi.n   8010f14 <__smakebuf_r+0x18>
- 8010f34:      f023 0303       bic.w   r3, r3, #3
- 8010f38:      f043 0302       orr.w   r3, r3, #2
- 8010f3c:      81a3            strh    r3, [r4, #12]
- 8010f3e:      e7e3            b.n     8010f08 <__smakebuf_r+0xc>
- 8010f40:      4b0d            ldr     r3, [pc, #52]   ; (8010f78 <__smakebuf_r+0x7c>)
- 8010f42:      63f3            str     r3, [r6, #60]   ; 0x3c
- 8010f44:      89a3            ldrh    r3, [r4, #12]
- 8010f46:      6020            str     r0, [r4, #0]
- 8010f48:      f043 0380       orr.w   r3, r3, #128    ; 0x80
- 8010f4c:      81a3            strh    r3, [r4, #12]
- 8010f4e:      9b00            ldr     r3, [sp, #0]
- 8010f50:      6163            str     r3, [r4, #20]
- 8010f52:      9b01            ldr     r3, [sp, #4]
- 8010f54:      6120            str     r0, [r4, #16]
- 8010f56:      b15b            cbz     r3, 8010f70 <__smakebuf_r+0x74>
- 8010f58:      f9b4 100e       ldrsh.w r1, [r4, #14]
- 8010f5c:      4630            mov     r0, r6
- 8010f5e:      f000 fcc7       bl      80118f0 <_isatty_r>
- 8010f62:      b128            cbz     r0, 8010f70 <__smakebuf_r+0x74>
- 8010f64:      89a3            ldrh    r3, [r4, #12]
- 8010f66:      f023 0303       bic.w   r3, r3, #3
- 8010f6a:      f043 0301       orr.w   r3, r3, #1
- 8010f6e:      81a3            strh    r3, [r4, #12]
- 8010f70:      89a3            ldrh    r3, [r4, #12]
- 8010f72:      431d            orrs    r5, r3
- 8010f74:      81a5            strh    r5, [r4, #12]
- 8010f76:      e7cd            b.n     8010f14 <__smakebuf_r+0x18>
- 8010f78:      08010b79        .word   0x08010b79
-
-08010f7c <_Balloc>:
- 8010f7c:      6cc3            ldr     r3, [r0, #76]   ; 0x4c
- 8010f7e:      b570            push    {r4, r5, r6, lr}
- 8010f80:      4605            mov     r5, r0
- 8010f82:      460c            mov     r4, r1
- 8010f84:      b17b            cbz     r3, 8010fa6 <_Balloc+0x2a>
- 8010f86:      6ceb            ldr     r3, [r5, #76]   ; 0x4c
- 8010f88:      f853 0024       ldr.w   r0, [r3, r4, lsl #2]
- 8010f8c:      b9a0            cbnz    r0, 8010fb8 <_Balloc+0x3c>
- 8010f8e:      2101            movs    r1, #1
- 8010f90:      fa01 f604       lsl.w   r6, r1, r4
- 8010f94:      1d72            adds    r2, r6, #5
- 8010f96:      0092            lsls    r2, r2, #2
- 8010f98:      4628            mov     r0, r5
- 8010f9a:      f000 fc01       bl      80117a0 <_calloc_r>
- 8010f9e:      b148            cbz     r0, 8010fb4 <_Balloc+0x38>
- 8010fa0:      e9c0 4601       strd    r4, r6, [r0, #4]
- 8010fa4:      e00b            b.n     8010fbe <_Balloc+0x42>
- 8010fa6:      2221            movs    r2, #33 ; 0x21
- 8010fa8:      2104            movs    r1, #4
- 8010faa:      f000 fbf9       bl      80117a0 <_calloc_r>
- 8010fae:      64e8            str     r0, [r5, #76]   ; 0x4c
- 8010fb0:      2800            cmp     r0, #0
- 8010fb2:      d1e8            bne.n   8010f86 <_Balloc+0xa>
- 8010fb4:      2000            movs    r0, #0
- 8010fb6:      bd70            pop     {r4, r5, r6, pc}
- 8010fb8:      6802            ldr     r2, [r0, #0]
- 8010fba:      f843 2024       str.w   r2, [r3, r4, lsl #2]
- 8010fbe:      2300            movs    r3, #0
- 8010fc0:      e9c0 3303       strd    r3, r3, [r0, #12]
- 8010fc4:      e7f7            b.n     8010fb6 <_Balloc+0x3a>
-
-08010fc6 <_Bfree>:
- 8010fc6:      b131            cbz     r1, 8010fd6 <_Bfree+0x10>
- 8010fc8:      6cc3            ldr     r3, [r0, #76]   ; 0x4c
- 8010fca:      684a            ldr     r2, [r1, #4]
- 8010fcc:      f853 0022       ldr.w   r0, [r3, r2, lsl #2]
- 8010fd0:      6008            str     r0, [r1, #0]
- 8010fd2:      f843 1022       str.w   r1, [r3, r2, lsl #2]
- 8010fd6:      4770            bx      lr
-
-08010fd8 <__multadd>:
- 8010fd8:      e92d 41f0       stmdb   sp!, {r4, r5, r6, r7, r8, lr}
- 8010fdc:      690d            ldr     r5, [r1, #16]
- 8010fde:      461f            mov     r7, r3
- 8010fe0:      4606            mov     r6, r0
- 8010fe2:      460c            mov     r4, r1
- 8010fe4:      f101 0c14       add.w   ip, r1, #20
- 8010fe8:      2300            movs    r3, #0
- 8010fea:      f8dc 0000       ldr.w   r0, [ip]
- 8010fee:      b281            uxth    r1, r0
- 8010ff0:      fb02 7101       mla     r1, r2, r1, r7
- 8010ff4:      0c0f            lsrs    r7, r1, #16
- 8010ff6:      0c00            lsrs    r0, r0, #16
- 8010ff8:      fb02 7000       mla     r0, r2, r0, r7
- 8010ffc:      b289            uxth    r1, r1
- 8010ffe:      3301            adds    r3, #1
- 8011000:      eb01 4100       add.w   r1, r1, r0, lsl #16
- 8011004:      429d            cmp     r5, r3
- 8011006:      ea4f 4710       mov.w   r7, r0, lsr #16
- 801100a:      f84c 1b04       str.w   r1, [ip], #4
- 801100e:      dcec            bgt.n   8010fea <__multadd+0x12>
- 8011010:      b1d7            cbz     r7, 8011048 <__multadd+0x70>
- 8011012:      68a3            ldr     r3, [r4, #8]
- 8011014:      42ab            cmp     r3, r5
- 8011016:      dc12            bgt.n   801103e <__multadd+0x66>
- 8011018:      6861            ldr     r1, [r4, #4]
- 801101a:      4630            mov     r0, r6
- 801101c:      3101            adds    r1, #1
- 801101e:      f7ff ffad       bl      8010f7c <_Balloc>
- 8011022:      6922            ldr     r2, [r4, #16]
- 8011024:      3202            adds    r2, #2
- 8011026:      f104 010c       add.w   r1, r4, #12
- 801102a:      4680            mov     r8, r0
- 801102c:      0092            lsls    r2, r2, #2
- 801102e:      300c            adds    r0, #12
- 8011030:      f7fd f9a1       bl      800e376 <memcpy>
- 8011034:      4621            mov     r1, r4
- 8011036:      4630            mov     r0, r6
- 8011038:      f7ff ffc5       bl      8010fc6 <_Bfree>
- 801103c:      4644            mov     r4, r8
- 801103e:      eb04 0385       add.w   r3, r4, r5, lsl #2
- 8011042:      3501            adds    r5, #1
- 8011044:      615f            str     r7, [r3, #20]
- 8011046:      6125            str     r5, [r4, #16]
- 8011048:      4620            mov     r0, r4
- 801104a:      e8bd 81f0       ldmia.w sp!, {r4, r5, r6, r7, r8, pc}
-
-0801104e <__hi0bits>:
- 801104e:      0c02            lsrs    r2, r0, #16
- 8011050:      0412            lsls    r2, r2, #16
- 8011052:      4603            mov     r3, r0
- 8011054:      b9b2            cbnz    r2, 8011084 <__hi0bits+0x36>
- 8011056:      0403            lsls    r3, r0, #16
- 8011058:      2010            movs    r0, #16
- 801105a:      f013 4f7f       tst.w   r3, #4278190080 ; 0xff000000
- 801105e:      bf04            itt     eq
- 8011060:      021b            lsleq   r3, r3, #8
- 8011062:      3008            addeq   r0, #8
- 8011064:      f013 4f70       tst.w   r3, #4026531840 ; 0xf0000000
- 8011068:      bf04            itt     eq
- 801106a:      011b            lsleq   r3, r3, #4
- 801106c:      3004            addeq   r0, #4
- 801106e:      f013 4f40       tst.w   r3, #3221225472 ; 0xc0000000
- 8011072:      bf04            itt     eq
- 8011074:      009b            lsleq   r3, r3, #2
- 8011076:      3002            addeq   r0, #2
- 8011078:      2b00            cmp     r3, #0
- 801107a:      db06            blt.n   801108a <__hi0bits+0x3c>
- 801107c:      005b            lsls    r3, r3, #1
- 801107e:      d503            bpl.n   8011088 <__hi0bits+0x3a>
- 8011080:      3001            adds    r0, #1
- 8011082:      4770            bx      lr
- 8011084:      2000            movs    r0, #0
- 8011086:      e7e8            b.n     801105a <__hi0bits+0xc>
- 8011088:      2020            movs    r0, #32
- 801108a:      4770            bx      lr
-
-0801108c <__lo0bits>:
- 801108c:      6803            ldr     r3, [r0, #0]
- 801108e:      f013 0207       ands.w  r2, r3, #7
- 8011092:      4601            mov     r1, r0
- 8011094:      d00b            beq.n   80110ae <__lo0bits+0x22>
- 8011096:      07da            lsls    r2, r3, #31
- 8011098:      d423            bmi.n   80110e2 <__lo0bits+0x56>
- 801109a:      0798            lsls    r0, r3, #30
- 801109c:      bf49            itett   mi
- 801109e:      085b            lsrmi   r3, r3, #1
- 80110a0:      089b            lsrpl   r3, r3, #2
- 80110a2:      2001            movmi   r0, #1
- 80110a4:      600b            strmi   r3, [r1, #0]
- 80110a6:      bf5c            itt     pl
- 80110a8:      600b            strpl   r3, [r1, #0]
- 80110aa:      2002            movpl   r0, #2
- 80110ac:      4770            bx      lr
- 80110ae:      b298            uxth    r0, r3
- 80110b0:      b9a8            cbnz    r0, 80110de <__lo0bits+0x52>
- 80110b2:      0c1b            lsrs    r3, r3, #16
- 80110b4:      2010            movs    r0, #16
- 80110b6:      f013 0fff       tst.w   r3, #255        ; 0xff
- 80110ba:      bf04            itt     eq
- 80110bc:      0a1b            lsreq   r3, r3, #8
- 80110be:      3008            addeq   r0, #8
- 80110c0:      071a            lsls    r2, r3, #28
- 80110c2:      bf04            itt     eq
- 80110c4:      091b            lsreq   r3, r3, #4
- 80110c6:      3004            addeq   r0, #4
- 80110c8:      079a            lsls    r2, r3, #30
- 80110ca:      bf04            itt     eq
- 80110cc:      089b            lsreq   r3, r3, #2
- 80110ce:      3002            addeq   r0, #2
- 80110d0:      07da            lsls    r2, r3, #31
- 80110d2:      d402            bmi.n   80110da <__lo0bits+0x4e>
- 80110d4:      085b            lsrs    r3, r3, #1
- 80110d6:      d006            beq.n   80110e6 <__lo0bits+0x5a>
- 80110d8:      3001            adds    r0, #1
- 80110da:      600b            str     r3, [r1, #0]
- 80110dc:      4770            bx      lr
- 80110de:      4610            mov     r0, r2
- 80110e0:      e7e9            b.n     80110b6 <__lo0bits+0x2a>
- 80110e2:      2000            movs    r0, #0
- 80110e4:      4770            bx      lr
- 80110e6:      2020            movs    r0, #32
- 80110e8:      4770            bx      lr
-
-080110ea <__i2b>:
- 80110ea:      b510            push    {r4, lr}
- 80110ec:      460c            mov     r4, r1
- 80110ee:      2101            movs    r1, #1
- 80110f0:      f7ff ff44       bl      8010f7c <_Balloc>
- 80110f4:      2201            movs    r2, #1
- 80110f6:      6144            str     r4, [r0, #20]
- 80110f8:      6102            str     r2, [r0, #16]
- 80110fa:      bd10            pop     {r4, pc}
-
-080110fc <__multiply>:
- 80110fc:      e92d 4ff7       stmdb   sp!, {r0, r1, r2, r4, r5, r6, r7, r8, r9, sl, fp, lr}
- 8011100:      4614            mov     r4, r2
- 8011102:      690a            ldr     r2, [r1, #16]
- 8011104:      6923            ldr     r3, [r4, #16]
- 8011106:      429a            cmp     r2, r3
- 8011108:      bfb8            it      lt
- 801110a:      460b            movlt   r3, r1
- 801110c:      4688            mov     r8, r1
- 801110e:      bfbc            itt     lt
- 8011110:      46a0            movlt   r8, r4
- 8011112:      461c            movlt   r4, r3
- 8011114:      f8d8 7010       ldr.w   r7, [r8, #16]
- 8011118:      f8d4 9010       ldr.w   r9, [r4, #16]
- 801111c:      f8d8 3008       ldr.w   r3, [r8, #8]
- 8011120:      f8d8 1004       ldr.w   r1, [r8, #4]
- 8011124:      eb07 0609       add.w   r6, r7, r9
- 8011128:      42b3            cmp     r3, r6
- 801112a:      bfb8            it      lt
- 801112c:      3101            addlt   r1, #1
- 801112e:      f7ff ff25       bl      8010f7c <_Balloc>
- 8011132:      f100 0514       add.w   r5, r0, #20
- 8011136:      eb05 0e86       add.w   lr, r5, r6, lsl #2
- 801113a:      462b            mov     r3, r5
- 801113c:      2200            movs    r2, #0
- 801113e:      4573            cmp     r3, lr
- 8011140:      d316            bcc.n   8011170 <__multiply+0x74>
- 8011142:      f104 0214       add.w   r2, r4, #20
- 8011146:      f108 0114       add.w   r1, r8, #20
- 801114a:      eb02 0389       add.w   r3, r2, r9, lsl #2
- 801114e:      eb01 0787       add.w   r7, r1, r7, lsl #2
- 8011152:      9300            str     r3, [sp, #0]
- 8011154:      9b00            ldr     r3, [sp, #0]
- 8011156:      9201            str     r2, [sp, #4]
- 8011158:      4293            cmp     r3, r2
- 801115a:      d80c            bhi.n   8011176 <__multiply+0x7a>
- 801115c:      2e00            cmp     r6, #0
- 801115e:      dd03            ble.n   8011168 <__multiply+0x6c>
- 8011160:      f85e 3d04       ldr.w   r3, [lr, #-4]!
- 8011164:      2b00            cmp     r3, #0
- 8011166:      d05d            beq.n   8011224 <__multiply+0x128>
- 8011168:      6106            str     r6, [r0, #16]
- 801116a:      b003            add     sp, #12
- 801116c:      e8bd 8ff0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
- 8011170:      f843 2b04       str.w   r2, [r3], #4
- 8011174:      e7e3            b.n     801113e <__multiply+0x42>
- 8011176:      f8b2 b000       ldrh.w  fp, [r2]
- 801117a:      f1bb 0f00       cmp.w   fp, #0
- 801117e:      d023            beq.n   80111c8 <__multiply+0xcc>
- 8011180:      4689            mov     r9, r1
- 8011182:      46ac            mov     ip, r5
- 8011184:      f04f 0800       mov.w   r8, #0
- 8011188:      f859 4b04       ldr.w   r4, [r9], #4
- 801118c:      f8dc a000       ldr.w   sl, [ip]
- 8011190:      b2a3            uxth    r3, r4
- 8011192:      fa1f fa8a       uxth.w  sl, sl
- 8011196:      fb0b a303       mla     r3, fp, r3, sl
- 801119a:      ea4f 4a14       mov.w   sl, r4, lsr #16
- 801119e:      f8dc 4000       ldr.w   r4, [ip]
- 80111a2:      4443            add     r3, r8
- 80111a4:      ea4f 4814       mov.w   r8, r4, lsr #16
- 80111a8:      fb0b 840a       mla     r4, fp, sl, r8
- 80111ac:      eb04 4413       add.w   r4, r4, r3, lsr #16
- 80111b0:      46e2            mov     sl, ip
- 80111b2:      b29b            uxth    r3, r3
- 80111b4:      ea43 4304       orr.w   r3, r3, r4, lsl #16
- 80111b8:      454f            cmp     r7, r9
- 80111ba:      ea4f 4814       mov.w   r8, r4, lsr #16
- 80111be:      f84a 3b04       str.w   r3, [sl], #4
- 80111c2:      d82b            bhi.n   801121c <__multiply+0x120>
- 80111c4:      f8cc 8004       str.w   r8, [ip, #4]
- 80111c8:      9b01            ldr     r3, [sp, #4]
- 80111ca:      f8b3 a002       ldrh.w  sl, [r3, #2]
- 80111ce:      3204            adds    r2, #4
- 80111d0:      f1ba 0f00       cmp.w   sl, #0
- 80111d4:      d020            beq.n   8011218 <__multiply+0x11c>
- 80111d6:      682b            ldr     r3, [r5, #0]
- 80111d8:      4689            mov     r9, r1
- 80111da:      46a8            mov     r8, r5
- 80111dc:      f04f 0b00       mov.w   fp, #0
- 80111e0:      f8b9 c000       ldrh.w  ip, [r9]
- 80111e4:      f8b8 4002       ldrh.w  r4, [r8, #2]
- 80111e8:      fb0a 440c       mla     r4, sl, ip, r4
- 80111ec:      445c            add     r4, fp
- 80111ee:      46c4            mov     ip, r8
- 80111f0:      b29b            uxth    r3, r3
- 80111f2:      ea43 4304       orr.w   r3, r3, r4, lsl #16
- 80111f6:      f84c 3b04       str.w   r3, [ip], #4
- 80111fa:      f859 3b04       ldr.w   r3, [r9], #4
- 80111fe:      f8b8 b004       ldrh.w  fp, [r8, #4]
- 8011202:      0c1b            lsrs    r3, r3, #16
- 8011204:      fb0a b303       mla     r3, sl, r3, fp
- 8011208:      eb03 4314       add.w   r3, r3, r4, lsr #16
- 801120c:      454f            cmp     r7, r9
- 801120e:      ea4f 4b13       mov.w   fp, r3, lsr #16
- 8011212:      d805            bhi.n   8011220 <__multiply+0x124>
- 8011214:      f8c8 3004       str.w   r3, [r8, #4]
- 8011218:      3504            adds    r5, #4
- 801121a:      e79b            b.n     8011154 <__multiply+0x58>
- 801121c:      46d4            mov     ip, sl
- 801121e:      e7b3            b.n     8011188 <__multiply+0x8c>
- 8011220:      46e0            mov     r8, ip
- 8011222:      e7dd            b.n     80111e0 <__multiply+0xe4>
- 8011224:      3e01            subs    r6, #1
- 8011226:      e799            b.n     801115c <__multiply+0x60>
-
-08011228 <__pow5mult>:
- 8011228:      e92d 43f8       stmdb   sp!, {r3, r4, r5, r6, r7, r8, r9, lr}
- 801122c:      4615            mov     r5, r2
- 801122e:      f012 0203       ands.w  r2, r2, #3
- 8011232:      4606            mov     r6, r0
- 8011234:      460f            mov     r7, r1
- 8011236:      d007            beq.n   8011248 <__pow5mult+0x20>
- 8011238:      3a01            subs    r2, #1
- 801123a:      4c1a            ldr     r4, [pc, #104]  ; (80112a4 <__pow5mult+0x7c>)
- 801123c:      2300            movs    r3, #0
- 801123e:      f854 2022       ldr.w   r2, [r4, r2, lsl #2]
- 8011242:      f7ff fec9       bl      8010fd8 <__multadd>
- 8011246:      4607            mov     r7, r0
- 8011248:      10ad            asrs    r5, r5, #2
- 801124a:      d027            beq.n   801129c <__pow5mult+0x74>
- 801124c:      6cb4            ldr     r4, [r6, #72]   ; 0x48
- 801124e:      b944            cbnz    r4, 8011262 <__pow5mult+0x3a>
- 8011250:      f240 2171       movw    r1, #625        ; 0x271
- 8011254:      4630            mov     r0, r6
- 8011256:      f7ff ff48       bl      80110ea <__i2b>
- 801125a:      2300            movs    r3, #0
- 801125c:      64b0            str     r0, [r6, #72]   ; 0x48
- 801125e:      4604            mov     r4, r0
- 8011260:      6003            str     r3, [r0, #0]
- 8011262:      f04f 0800       mov.w   r8, #0
- 8011266:      07eb            lsls    r3, r5, #31
- 8011268:      d50a            bpl.n   8011280 <__pow5mult+0x58>
- 801126a:      4639            mov     r1, r7
- 801126c:      4622            mov     r2, r4
- 801126e:      4630            mov     r0, r6
- 8011270:      f7ff ff44       bl      80110fc <__multiply>
- 8011274:      4639            mov     r1, r7
- 8011276:      4681            mov     r9, r0
- 8011278:      4630            mov     r0, r6
- 801127a:      f7ff fea4       bl      8010fc6 <_Bfree>
- 801127e:      464f            mov     r7, r9
- 8011280:      106d            asrs    r5, r5, #1
- 8011282:      d00b            beq.n   801129c <__pow5mult+0x74>
- 8011284:      6820            ldr     r0, [r4, #0]
- 8011286:      b938            cbnz    r0, 8011298 <__pow5mult+0x70>
- 8011288:      4622            mov     r2, r4
- 801128a:      4621            mov     r1, r4
- 801128c:      4630            mov     r0, r6
- 801128e:      f7ff ff35       bl      80110fc <__multiply>
- 8011292:      6020            str     r0, [r4, #0]
- 8011294:      f8c0 8000       str.w   r8, [r0]
- 8011298:      4604            mov     r4, r0
- 801129a:      e7e4            b.n     8011266 <__pow5mult+0x3e>
- 801129c:      4638            mov     r0, r7
- 801129e:      e8bd 83f8       ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc}
- 80112a2:      bf00            nop
- 80112a4:      08012f88        .word   0x08012f88
-
-080112a8 <__lshift>:
- 80112a8:      e92d 47f0       stmdb   sp!, {r4, r5, r6, r7, r8, r9, sl, lr}
- 80112ac:      460c            mov     r4, r1
- 80112ae:      ea4f 1a62       mov.w   sl, r2, asr #5
- 80112b2:      6923            ldr     r3, [r4, #16]
- 80112b4:      6849            ldr     r1, [r1, #4]
- 80112b6:      eb0a 0903       add.w   r9, sl, r3
- 80112ba:      68a3            ldr     r3, [r4, #8]
- 80112bc:      4607            mov     r7, r0
- 80112be:      4616            mov     r6, r2
- 80112c0:      f109 0501       add.w   r5, r9, #1
- 80112c4:      42ab            cmp     r3, r5
- 80112c6:      db32            blt.n   801132e <__lshift+0x86>
- 80112c8:      4638            mov     r0, r7
- 80112ca:      f7ff fe57       bl      8010f7c <_Balloc>
- 80112ce:      2300            movs    r3, #0
- 80112d0:      4680            mov     r8, r0
- 80112d2:      f100 0114       add.w   r1, r0, #20
- 80112d6:      461a            mov     r2, r3
- 80112d8:      4553            cmp     r3, sl
- 80112da:      db2b            blt.n   8011334 <__lshift+0x8c>
- 80112dc:      6920            ldr     r0, [r4, #16]
- 80112de:      ea2a 7aea       bic.w   sl, sl, sl, asr #31
- 80112e2:      f104 0314       add.w   r3, r4, #20
- 80112e6:      f016 021f       ands.w  r2, r6, #31
- 80112ea:      eb01 018a       add.w   r1, r1, sl, lsl #2
- 80112ee:      eb03 0c80       add.w   ip, r3, r0, lsl #2
- 80112f2:      d025            beq.n   8011340 <__lshift+0x98>
- 80112f4:      f1c2 0e20       rsb     lr, r2, #32
- 80112f8:      2000            movs    r0, #0
- 80112fa:      681e            ldr     r6, [r3, #0]
- 80112fc:      468a            mov     sl, r1
- 80112fe:      4096            lsls    r6, r2
- 8011300:      4330            orrs    r0, r6
- 8011302:      f84a 0b04       str.w   r0, [sl], #4
- 8011306:      f853 0b04       ldr.w   r0, [r3], #4
- 801130a:      459c            cmp     ip, r3
- 801130c:      fa20 f00e       lsr.w   r0, r0, lr
- 8011310:      d814            bhi.n   801133c <__lshift+0x94>
- 8011312:      6048            str     r0, [r1, #4]
- 8011314:      b108            cbz     r0, 801131a <__lshift+0x72>
- 8011316:      f109 0502       add.w   r5, r9, #2
- 801131a:      3d01            subs    r5, #1
- 801131c:      4638            mov     r0, r7
- 801131e:      f8c8 5010       str.w   r5, [r8, #16]
- 8011322:      4621            mov     r1, r4
- 8011324:      f7ff fe4f       bl      8010fc6 <_Bfree>
- 8011328:      4640            mov     r0, r8
- 801132a:      e8bd 87f0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc}
- 801132e:      3101            adds    r1, #1
- 8011330:      005b            lsls    r3, r3, #1
- 8011332:      e7c7            b.n     80112c4 <__lshift+0x1c>
- 8011334:      f841 2023       str.w   r2, [r1, r3, lsl #2]
- 8011338:      3301            adds    r3, #1
- 801133a:      e7cd            b.n     80112d8 <__lshift+0x30>
- 801133c:      4651            mov     r1, sl
- 801133e:      e7dc            b.n     80112fa <__lshift+0x52>
- 8011340:      3904            subs    r1, #4
- 8011342:      f853 2b04       ldr.w   r2, [r3], #4
- 8011346:      f841 2f04       str.w   r2, [r1, #4]!
- 801134a:      459c            cmp     ip, r3
- 801134c:      d8f9            bhi.n   8011342 <__lshift+0x9a>
- 801134e:      e7e4            b.n     801131a <__lshift+0x72>
-
-08011350 <__mcmp>:
- 8011350:      6903            ldr     r3, [r0, #16]
- 8011352:      690a            ldr     r2, [r1, #16]
- 8011354:      1a9b            subs    r3, r3, r2
- 8011356:      b530            push    {r4, r5, lr}
- 8011358:      d10c            bne.n   8011374 <__mcmp+0x24>
- 801135a:      0092            lsls    r2, r2, #2
- 801135c:      3014            adds    r0, #20
- 801135e:      3114            adds    r1, #20
- 8011360:      1884            adds    r4, r0, r2
- 8011362:      4411            add     r1, r2
- 8011364:      f854 5d04       ldr.w   r5, [r4, #-4]!
- 8011368:      f851 2d04       ldr.w   r2, [r1, #-4]!
- 801136c:      4295            cmp     r5, r2
- 801136e:      d003            beq.n   8011378 <__mcmp+0x28>
- 8011370:      d305            bcc.n   801137e <__mcmp+0x2e>
- 8011372:      2301            movs    r3, #1
- 8011374:      4618            mov     r0, r3
- 8011376:      bd30            pop     {r4, r5, pc}
- 8011378:      42a0            cmp     r0, r4
- 801137a:      d3f3            bcc.n   8011364 <__mcmp+0x14>
- 801137c:      e7fa            b.n     8011374 <__mcmp+0x24>
- 801137e:      f04f 33ff       mov.w   r3, #4294967295 ; 0xffffffff
- 8011382:      e7f7            b.n     8011374 <__mcmp+0x24>
-
-08011384 <__mdiff>:
- 8011384:      e92d 47f0       stmdb   sp!, {r4, r5, r6, r7, r8, r9, sl, lr}
- 8011388:      460d            mov     r5, r1
- 801138a:      4607            mov     r7, r0
- 801138c:      4611            mov     r1, r2
- 801138e:      4628            mov     r0, r5
- 8011390:      4614            mov     r4, r2
- 8011392:      f7ff ffdd       bl      8011350 <__mcmp>
- 8011396:      1e06            subs    r6, r0, #0
- 8011398:      d108            bne.n   80113ac <__mdiff+0x28>
- 801139a:      4631            mov     r1, r6
- 801139c:      4638            mov     r0, r7
- 801139e:      f7ff fded       bl      8010f7c <_Balloc>
- 80113a2:      2301            movs    r3, #1
- 80113a4:      e9c0 3604       strd    r3, r6, [r0, #16]
- 80113a8:      e8bd 87f0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc}
- 80113ac:      bfa4            itt     ge
- 80113ae:      4623            movge   r3, r4
- 80113b0:      462c            movge   r4, r5
- 80113b2:      4638            mov     r0, r7
- 80113b4:      6861            ldr     r1, [r4, #4]
- 80113b6:      bfa6            itte    ge
- 80113b8:      461d            movge   r5, r3
- 80113ba:      2600            movge   r6, #0
- 80113bc:      2601            movlt   r6, #1
- 80113be:      f7ff fddd       bl      8010f7c <_Balloc>
- 80113c2:      692b            ldr     r3, [r5, #16]
- 80113c4:      60c6            str     r6, [r0, #12]
- 80113c6:      6926            ldr     r6, [r4, #16]
- 80113c8:      f105 0914       add.w   r9, r5, #20
- 80113cc:      f104 0214       add.w   r2, r4, #20
- 80113d0:      eb02 0786       add.w   r7, r2, r6, lsl #2
- 80113d4:      eb09 0883       add.w   r8, r9, r3, lsl #2
- 80113d8:      f100 0514       add.w   r5, r0, #20
- 80113dc:      f04f 0e00       mov.w   lr, #0
- 80113e0:      f852 ab04       ldr.w   sl, [r2], #4
- 80113e4:      f859 4b04       ldr.w   r4, [r9], #4
- 80113e8:      fa1e f18a       uxtah   r1, lr, sl
- 80113ec:      b2a3            uxth    r3, r4
- 80113ee:      1ac9            subs    r1, r1, r3
- 80113f0:      0c23            lsrs    r3, r4, #16
- 80113f2:      ebc3 431a       rsb     r3, r3, sl, lsr #16
- 80113f6:      eb03 4321       add.w   r3, r3, r1, asr #16
- 80113fa:      b289            uxth    r1, r1
- 80113fc:      ea4f 4e23       mov.w   lr, r3, asr #16
- 8011400:      45c8            cmp     r8, r9
- 8011402:      ea41 4303       orr.w   r3, r1, r3, lsl #16
- 8011406:      4694            mov     ip, r2
- 8011408:      f845 3b04       str.w   r3, [r5], #4
- 801140c:      d8e8            bhi.n   80113e0 <__mdiff+0x5c>
- 801140e:      45bc            cmp     ip, r7
- 8011410:      d304            bcc.n   801141c <__mdiff+0x98>
- 8011412:      f855 3d04       ldr.w   r3, [r5, #-4]!
- 8011416:      b183            cbz     r3, 801143a <__mdiff+0xb6>
- 8011418:      6106            str     r6, [r0, #16]
- 801141a:      e7c5            b.n     80113a8 <__mdiff+0x24>
- 801141c:      f85c 1b04       ldr.w   r1, [ip], #4
- 8011420:      fa1e f381       uxtah   r3, lr, r1
- 8011424:      141a            asrs    r2, r3, #16
- 8011426:      eb02 4211       add.w   r2, r2, r1, lsr #16
- 801142a:      b29b            uxth    r3, r3
- 801142c:      ea43 4302       orr.w   r3, r3, r2, lsl #16
- 8011430:      ea4f 4e22       mov.w   lr, r2, asr #16
- 8011434:      f845 3b04       str.w   r3, [r5], #4
- 8011438:      e7e9            b.n     801140e <__mdiff+0x8a>
- 801143a:      3e01            subs    r6, #1
- 801143c:      e7e9            b.n     8011412 <__mdiff+0x8e>
-
-0801143e <__d2b>:
- 801143e:      e92d 43f7       stmdb   sp!, {r0, r1, r2, r4, r5, r6, r7, r8, r9, lr}
- 8011442:      460e            mov     r6, r1
- 8011444:      2101            movs    r1, #1
- 8011446:      ec59 8b10       vmov    r8, r9, d0
- 801144a:      4615            mov     r5, r2
- 801144c:      f7ff fd96       bl      8010f7c <_Balloc>
- 8011450:      f3c9 540a       ubfx    r4, r9, #20, #11
- 8011454:      4607            mov     r7, r0
- 8011456:      f3c9 0313       ubfx    r3, r9, #0, #20
- 801145a:      bb34            cbnz    r4, 80114aa <__d2b+0x6c>
- 801145c:      9301            str     r3, [sp, #4]
- 801145e:      f1b8 0300       subs.w  r3, r8, #0
- 8011462:      d027            beq.n   80114b4 <__d2b+0x76>
- 8011464:      a802            add     r0, sp, #8
- 8011466:      f840 3d08       str.w   r3, [r0, #-8]!
- 801146a:      f7ff fe0f       bl      801108c <__lo0bits>
- 801146e:      9900            ldr     r1, [sp, #0]
- 8011470:      b1f0            cbz     r0, 80114b0 <__d2b+0x72>
- 8011472:      9a01            ldr     r2, [sp, #4]
- 8011474:      f1c0 0320       rsb     r3, r0, #32
- 8011478:      fa02 f303       lsl.w   r3, r2, r3
- 801147c:      430b            orrs    r3, r1
- 801147e:      40c2            lsrs    r2, r0
- 8011480:      617b            str     r3, [r7, #20]
- 8011482:      9201            str     r2, [sp, #4]
- 8011484:      9b01            ldr     r3, [sp, #4]
- 8011486:      61bb            str     r3, [r7, #24]
- 8011488:      2b00            cmp     r3, #0
- 801148a:      bf14            ite     ne
- 801148c:      2102            movne   r1, #2
- 801148e:      2101            moveq   r1, #1
- 8011490:      6139            str     r1, [r7, #16]
- 8011492:      b1c4            cbz     r4, 80114c6 <__d2b+0x88>
- 8011494:      f2a4 4433       subw    r4, r4, #1075   ; 0x433
- 8011498:      4404            add     r4, r0
- 801149a:      6034            str     r4, [r6, #0]
- 801149c:      f1c0 0035       rsb     r0, r0, #53     ; 0x35
- 80114a0:      6028            str     r0, [r5, #0]
- 80114a2:      4638            mov     r0, r7
- 80114a4:      b003            add     sp, #12
- 80114a6:      e8bd 83f0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc}
- 80114aa:      f443 1380       orr.w   r3, r3, #1048576        ; 0x100000
- 80114ae:      e7d5            b.n     801145c <__d2b+0x1e>
- 80114b0:      6179            str     r1, [r7, #20]
- 80114b2:      e7e7            b.n     8011484 <__d2b+0x46>
- 80114b4:      a801            add     r0, sp, #4
- 80114b6:      f7ff fde9       bl      801108c <__lo0bits>
- 80114ba:      9b01            ldr     r3, [sp, #4]
- 80114bc:      617b            str     r3, [r7, #20]
- 80114be:      2101            movs    r1, #1
- 80114c0:      6139            str     r1, [r7, #16]
- 80114c2:      3020            adds    r0, #32
- 80114c4:      e7e5            b.n     8011492 <__d2b+0x54>
- 80114c6:      eb07 0381       add.w   r3, r7, r1, lsl #2
- 80114ca:      f2a0 4032       subw    r0, r0, #1074   ; 0x432
- 80114ce:      6030            str     r0, [r6, #0]
- 80114d0:      6918            ldr     r0, [r3, #16]
- 80114d2:      f7ff fdbc       bl      801104e <__hi0bits>
- 80114d6:      ebc0 1041       rsb     r0, r0, r1, lsl #5
- 80114da:      e7e1            b.n     80114a0 <__d2b+0x62>
- 80114dc:      0000            movs    r0, r0
-       ...
-
-080114e0 <frexp>:
- 80114e0:      b082            sub     sp, #8
- 80114e2:      ed8d 0b00       vstr    d0, [sp]
- 80114e6:      2100            movs    r1, #0
- 80114e8:      9a01            ldr     r2, [sp, #4]
- 80114ea:      6001            str     r1, [r0, #0]
- 80114ec:      4918            ldr     r1, [pc, #96]   ; (8011550 <frexp+0x70>)
- 80114ee:      f022 4300       bic.w   r3, r2, #2147483648     ; 0x80000000
- 80114f2:      428b            cmp     r3, r1
- 80114f4:      dc23            bgt.n   801153e <frexp+0x5e>
- 80114f6:      9900            ldr     r1, [sp, #0]
- 80114f8:      4319            orrs    r1, r3
- 80114fa:      d020            beq.n   801153e <frexp+0x5e>
- 80114fc:      f5b3 1f80       cmp.w   r3, #1048576    ; 0x100000
- 8011500:      da0b            bge.n   801151a <frexp+0x3a>
- 8011502:      ed9f 7b11       vldr    d7, [pc, #68]   ; 8011548 <frexp+0x68>
- 8011506:      ee20 7b07       vmul.f64        d7, d0, d7
- 801150a:      ed8d 7b00       vstr    d7, [sp]
- 801150e:      9a01            ldr     r2, [sp, #4]
- 8011510:      f06f 0135       mvn.w   r1, #53 ; 0x35
- 8011514:      f022 4300       bic.w   r3, r2, #2147483648     ; 0x80000000
- 8011518:      6001            str     r1, [r0, #0]
- 801151a:      6801            ldr     r1, [r0, #0]
- 801151c:      151b            asrs    r3, r3, #20
- 801151e:      f2a3 33fe       subw    r3, r3, #1022   ; 0x3fe
- 8011522:      440b            add     r3, r1
- 8011524:      f022 42ff       bic.w   r2, r2, #2139095040     ; 0x7f800000
- 8011528:      6003            str     r3, [r0, #0]
- 801152a:      f422 02e0       bic.w   r2, r2, #7340032        ; 0x700000
- 801152e:      e9dd 0100       ldrd    r0, r1, [sp]
- 8011532:      f042 517f       orr.w   r1, r2, #1069547520     ; 0x3fc00000
- 8011536:      f441 1100       orr.w   r1, r1, #2097152        ; 0x200000
- 801153a:      e9cd 0100       strd    r0, r1, [sp]
- 801153e:      ed9d 0b00       vldr    d0, [sp]
- 8011542:      b002            add     sp, #8
- 8011544:      4770            bx      lr
- 8011546:      bf00            nop
- 8011548:      00000000        .word   0x00000000
- 801154c:      43500000        .word   0x43500000
- 8011550:      7fefffff        .word   0x7fefffff
-
-08011554 <__sread>:
- 8011554:      b510            push    {r4, lr}
- 8011556:      460c            mov     r4, r1
- 8011558:      f9b1 100e       ldrsh.w r1, [r1, #14]
- 801155c:      f000 f9fc       bl      8011958 <_read_r>
- 8011560:      2800            cmp     r0, #0
- 8011562:      bfab            itete   ge
- 8011564:      6d23            ldrge   r3, [r4, #80]   ; 0x50
- 8011566:      89a3            ldrhlt  r3, [r4, #12]
- 8011568:      181b            addge   r3, r3, r0
- 801156a:      f423 5380       biclt.w r3, r3, #4096   ; 0x1000
- 801156e:      bfac            ite     ge
- 8011570:      6523            strge   r3, [r4, #80]   ; 0x50
- 8011572:      81a3            strhlt  r3, [r4, #12]
- 8011574:      bd10            pop     {r4, pc}
-
-08011576 <__swrite>:
- 8011576:      e92d 41f0       stmdb   sp!, {r4, r5, r6, r7, r8, lr}
- 801157a:      461f            mov     r7, r3
- 801157c:      898b            ldrh    r3, [r1, #12]
- 801157e:      05db            lsls    r3, r3, #23
- 8011580:      4605            mov     r5, r0
- 8011582:      460c            mov     r4, r1
- 8011584:      4616            mov     r6, r2
- 8011586:      d505            bpl.n   8011594 <__swrite+0x1e>
- 8011588:      2302            movs    r3, #2
- 801158a:      2200            movs    r2, #0
- 801158c:      f9b1 100e       ldrsh.w r1, [r1, #14]
- 8011590:      f000 f9be       bl      8011910 <_lseek_r>
- 8011594:      89a3            ldrh    r3, [r4, #12]
- 8011596:      f9b4 100e       ldrsh.w r1, [r4, #14]
- 801159a:      f423 5380       bic.w   r3, r3, #4096   ; 0x1000
- 801159e:      81a3            strh    r3, [r4, #12]
- 80115a0:      4632            mov     r2, r6
- 80115a2:      463b            mov     r3, r7
- 80115a4:      4628            mov     r0, r5
- 80115a6:      e8bd 41f0       ldmia.w sp!, {r4, r5, r6, r7, r8, lr}
- 80115aa:      f7fe bbcb       b.w     800fd44 <_write_r>
-
-080115ae <__sseek>:
- 80115ae:      b510            push    {r4, lr}
- 80115b0:      460c            mov     r4, r1
- 80115b2:      f9b1 100e       ldrsh.w r1, [r1, #14]
- 80115b6:      f000 f9ab       bl      8011910 <_lseek_r>
- 80115ba:      1c43            adds    r3, r0, #1
- 80115bc:      89a3            ldrh    r3, [r4, #12]
- 80115be:      bf15            itete   ne
- 80115c0:      6520            strne   r0, [r4, #80]   ; 0x50
- 80115c2:      f423 5380       biceq.w r3, r3, #4096   ; 0x1000
- 80115c6:      f443 5380       orrne.w r3, r3, #4096   ; 0x1000
- 80115ca:      81a3            strheq  r3, [r4, #12]
- 80115cc:      bf18            it      ne
- 80115ce:      81a3            strhne  r3, [r4, #12]
- 80115d0:      bd10            pop     {r4, pc}
-
-080115d2 <__sclose>:
- 80115d2:      f9b1 100e       ldrsh.w r1, [r1, #14]
- 80115d6:      f000 b911       b.w     80117fc <_close_r>
-
-080115da <strncpy>:
- 80115da:      b570            push    {r4, r5, r6, lr}
- 80115dc:      3901            subs    r1, #1
- 80115de:      4604            mov     r4, r0
- 80115e0:      b902            cbnz    r2, 80115e4 <strncpy+0xa>
- 80115e2:      bd70            pop     {r4, r5, r6, pc}
- 80115e4:      4623            mov     r3, r4
- 80115e6:      f811 5f01       ldrb.w  r5, [r1, #1]!
- 80115ea:      f803 5b01       strb.w  r5, [r3], #1
- 80115ee:      1e56            subs    r6, r2, #1
- 80115f0:      b92d            cbnz    r5, 80115fe <strncpy+0x24>
- 80115f2:      4414            add     r4, r2
- 80115f4:      42a3            cmp     r3, r4
- 80115f6:      d0f4            beq.n   80115e2 <strncpy+0x8>
- 80115f8:      f803 5b01       strb.w  r5, [r3], #1
- 80115fc:      e7fa            b.n     80115f4 <strncpy+0x1a>
- 80115fe:      461c            mov     r4, r3
- 8011600:      4632            mov     r2, r6
- 8011602:      e7ed            b.n     80115e0 <strncpy+0x6>
-
-08011604 <__ssprint_r>:
- 8011604:      6893            ldr     r3, [r2, #8]
- 8011606:      e92d 4ff7       stmdb   sp!, {r0, r1, r2, r4, r5, r6, r7, r8, r9, sl, fp, lr}
- 801160a:      4681            mov     r9, r0
- 801160c:      460c            mov     r4, r1
- 801160e:      4616            mov     r6, r2
- 8011610:      2b00            cmp     r3, #0
- 8011612:      d05e            beq.n   80116d2 <__ssprint_r+0xce>
- 8011614:      f04f 0b00       mov.w   fp, #0
- 8011618:      f8d2 a000       ldr.w   sl, [r2]
- 801161c:      465f            mov     r7, fp
- 801161e:      b357            cbz     r7, 8011676 <__ssprint_r+0x72>
- 8011620:      68a3            ldr     r3, [r4, #8]
- 8011622:      429f            cmp     r7, r3
- 8011624:      d340            bcc.n   80116a8 <__ssprint_r+0xa4>
- 8011626:      89a2            ldrh    r2, [r4, #12]
- 8011628:      f412 6f90       tst.w   r2, #1152       ; 0x480
- 801162c:      d03c            beq.n   80116a8 <__ssprint_r+0xa4>
- 801162e:      6825            ldr     r5, [r4, #0]
- 8011630:      6921            ldr     r1, [r4, #16]
- 8011632:      eba5 0801       sub.w   r8, r5, r1
- 8011636:      6965            ldr     r5, [r4, #20]
- 8011638:      2302            movs    r3, #2
- 801163a:      eb05 0545       add.w   r5, r5, r5, lsl #1
- 801163e:      fb95 f5f3       sdiv    r5, r5, r3
- 8011642:      f108 0301       add.w   r3, r8, #1
- 8011646:      443b            add     r3, r7
- 8011648:      429d            cmp     r5, r3
- 801164a:      bf38            it      cc
- 801164c:      461d            movcc   r5, r3
- 801164e:      0553            lsls    r3, r2, #21
- 8011650:      d544            bpl.n   80116dc <__ssprint_r+0xd8>
- 8011652:      4629            mov     r1, r5
- 8011654:      4648            mov     r0, r9
- 8011656:      f7fc fc49       bl      800deec <_malloc_r>
- 801165a:      b988            cbnz    r0, 8011680 <__ssprint_r+0x7c>
- 801165c:      230c            movs    r3, #12
- 801165e:      f8c9 3000       str.w   r3, [r9]
- 8011662:      89a3            ldrh    r3, [r4, #12]
- 8011664:      f043 0340       orr.w   r3, r3, #64     ; 0x40
- 8011668:      81a3            strh    r3, [r4, #12]
- 801166a:      2300            movs    r3, #0
- 801166c:      e9c6 3301       strd    r3, r3, [r6, #4]
- 8011670:      f04f 30ff       mov.w   r0, #4294967295 ; 0xffffffff
- 8011674:      e02f            b.n     80116d6 <__ssprint_r+0xd2>
- 8011676:      e9da b700       ldrd    fp, r7, [sl]
- 801167a:      f10a 0a08       add.w   sl, sl, #8
- 801167e:      e7ce            b.n     801161e <__ssprint_r+0x1a>
- 8011680:      4642            mov     r2, r8
- 8011682:      6921            ldr     r1, [r4, #16]
- 8011684:      9001            str     r0, [sp, #4]
- 8011686:      f7fc fe76       bl      800e376 <memcpy>
- 801168a:      89a2            ldrh    r2, [r4, #12]
- 801168c:      9b01            ldr     r3, [sp, #4]
- 801168e:      f422 6290       bic.w   r2, r2, #1152   ; 0x480
- 8011692:      f042 0280       orr.w   r2, r2, #128    ; 0x80
- 8011696:      81a2            strh    r2, [r4, #12]
- 8011698:      6123            str     r3, [r4, #16]
- 801169a:      6165            str     r5, [r4, #20]
- 801169c:      4443            add     r3, r8
- 801169e:      eba5 0508       sub.w   r5, r5, r8
- 80116a2:      6023            str     r3, [r4, #0]
- 80116a4:      60a5            str     r5, [r4, #8]
- 80116a6:      463b            mov     r3, r7
- 80116a8:      42bb            cmp     r3, r7
- 80116aa:      bf28            it      cs
- 80116ac:      463b            movcs   r3, r7
- 80116ae:      461a            mov     r2, r3
- 80116b0:      4659            mov     r1, fp
- 80116b2:      6820            ldr     r0, [r4, #0]
- 80116b4:      9301            str     r3, [sp, #4]
- 80116b6:      f7fc fe69       bl      800e38c <memmove>
- 80116ba:      68a2            ldr     r2, [r4, #8]
- 80116bc:      9b01            ldr     r3, [sp, #4]
- 80116be:      1ad2            subs    r2, r2, r3
- 80116c0:      60a2            str     r2, [r4, #8]
- 80116c2:      6822            ldr     r2, [r4, #0]
- 80116c4:      4413            add     r3, r2
- 80116c6:      6023            str     r3, [r4, #0]
- 80116c8:      68b3            ldr     r3, [r6, #8]
- 80116ca:      1bdf            subs    r7, r3, r7
- 80116cc:      60b7            str     r7, [r6, #8]
- 80116ce:      2f00            cmp     r7, #0
- 80116d0:      d1d1            bne.n   8011676 <__ssprint_r+0x72>
- 80116d2:      2000            movs    r0, #0
- 80116d4:      6070            str     r0, [r6, #4]
- 80116d6:      b003            add     sp, #12
- 80116d8:      e8bd 8ff0       ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
- 80116dc:      462a            mov     r2, r5
- 80116de:      4648            mov     r0, r9
- 80116e0:      f7fc febe       bl      800e460 <_realloc_r>
- 80116e4:      4603            mov     r3, r0
- 80116e6:      2800            cmp     r0, #0
- 80116e8:      d1d6            bne.n   8011698 <__ssprint_r+0x94>
- 80116ea:      6921            ldr     r1, [r4, #16]
- 80116ec:      4648            mov     r0, r9
- 80116ee:      f7ff faf1       bl      8010cd4 <_free_r>
- 80116f2:      e7b3            b.n     801165c <__ssprint_r+0x58>
-
-080116f4 <__register_exitproc>:
- 80116f4:      e92d 43f8       stmdb   sp!, {r3, r4, r5, r6, r7, r8, r9, lr}
- 80116f8:      4c26            ldr     r4, [pc, #152]  ; (8011794 <__register_exitproc+0xa0>)
- 80116fa:      4606            mov     r6, r0
- 80116fc:      6820            ldr     r0, [r4, #0]
- 80116fe:      4698            mov     r8, r3
- 8011700:      460f            mov     r7, r1
- 8011702:      4691            mov     r9, r2
- 8011704:      f7fc fbe0       bl      800dec8 <__retarget_lock_acquire_recursive>
- 8011708:      4b23            ldr     r3, [pc, #140]  ; (8011798 <__register_exitproc+0xa4>)
- 801170a:      681d            ldr     r5, [r3, #0]
- 801170c:      f8d5 0148       ldr.w   r0, [r5, #328]  ; 0x148
- 8011710:      b918            cbnz    r0, 801171a <__register_exitproc+0x26>
- 8011712:      f505 70a6       add.w   r0, r5, #332    ; 0x14c
- 8011716:      f8c5 0148       str.w   r0, [r5, #328]  ; 0x148
- 801171a:      6843            ldr     r3, [r0, #4]
- 801171c:      2b1f            cmp     r3, #31
- 801171e:      dd19            ble.n   8011754 <__register_exitproc+0x60>
- 8011720:      4b1e            ldr     r3, [pc, #120]  ; (801179c <__register_exitproc+0xa8>)
- 8011722:      b933            cbnz    r3, 8011732 <__register_exitproc+0x3e>
- 8011724:      6820            ldr     r0, [r4, #0]
- 8011726:      f7fc fbd0       bl      800deca <__retarget_lock_release_recursive>
- 801172a:      f04f 30ff       mov.w   r0, #4294967295 ; 0xffffffff
- 801172e:      e8bd 83f8       ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc}
- 8011732:      f44f 70c8       mov.w   r0, #400        ; 0x190
- 8011736:      f7fc fbc9       bl      800decc <malloc>
- 801173a:      2800            cmp     r0, #0
- 801173c:      d0f2            beq.n   8011724 <__register_exitproc+0x30>
- 801173e:      f8d5 3148       ldr.w   r3, [r5, #328]  ; 0x148
- 8011742:      6003            str     r3, [r0, #0]
- 8011744:      2200            movs    r2, #0
- 8011746:      6042            str     r2, [r0, #4]
- 8011748:      f8c5 0148       str.w   r0, [r5, #328]  ; 0x148
- 801174c:      f8c0 2188       str.w   r2, [r0, #392]  ; 0x188
- 8011750:      f8c0 218c       str.w   r2, [r0, #396]  ; 0x18c
- 8011754:      6843            ldr     r3, [r0, #4]
- 8011756:      b19e            cbz     r6, 8011780 <__register_exitproc+0x8c>
- 8011758:      eb00 0583       add.w   r5, r0, r3, lsl #2
- 801175c:      2201            movs    r2, #1
- 801175e:      f8c5 9088       str.w   r9, [r5, #136]  ; 0x88
- 8011762:      f8d0 1188       ldr.w   r1, [r0, #392]  ; 0x188
- 8011766:      409a            lsls    r2, r3
- 8011768:      4311            orrs    r1, r2
- 801176a:      2e02            cmp     r6, #2
- 801176c:      f8c0 1188       str.w   r1, [r0, #392]  ; 0x188
- 8011770:      f8c5 8108       str.w   r8, [r5, #264]  ; 0x108
- 8011774:      bf02            ittt    eq
- 8011776:      f8d0 118c       ldreq.w r1, [r0, #396]  ; 0x18c
- 801177a:      430a            orreq   r2, r1
- 801177c:      f8c0 218c       streq.w r2, [r0, #396]  ; 0x18c
- 8011780:      1c5a            adds    r2, r3, #1
- 8011782:      3302            adds    r3, #2
- 8011784:      6042            str     r2, [r0, #4]
- 8011786:      f840 7023       str.w   r7, [r0, r3, lsl #2]
- 801178a:      6820            ldr     r0, [r4, #0]
- 801178c:      f7fc fb9d       bl      800deca <__retarget_lock_release_recursive>
- 8011790:      2000            movs    r0, #0
- 8011792:      e7cc            b.n     801172e <__register_exitproc+0x3a>
- 8011794:      20000850        .word   0x20000850
- 8011798:      08012e2c        .word   0x08012e2c
- 801179c:      0800decd        .word   0x0800decd
-
-080117a0 <_calloc_r>:
- 80117a0:      b510            push    {r4, lr}
- 80117a2:      4351            muls    r1, r2
- 80117a4:      f7fc fba2       bl      800deec <_malloc_r>
- 80117a8:      4604            mov     r4, r0
- 80117aa:      b198            cbz     r0, 80117d4 <_calloc_r+0x34>
- 80117ac:      f850 2c04       ldr.w   r2, [r0, #-4]
- 80117b0:      f022 0203       bic.w   r2, r2, #3
- 80117b4:      3a04            subs    r2, #4
- 80117b6:      2a24            cmp     r2, #36 ; 0x24
- 80117b8:      d81b            bhi.n   80117f2 <_calloc_r+0x52>
- 80117ba:      2a13            cmp     r2, #19
- 80117bc:      d917            bls.n   80117ee <_calloc_r+0x4e>
- 80117be:      2100            movs    r1, #0
- 80117c0:      2a1b            cmp     r2, #27
- 80117c2:      e9c0 1100       strd    r1, r1, [r0]
- 80117c6:      d807            bhi.n   80117d8 <_calloc_r+0x38>
- 80117c8:      f100 0308       add.w   r3, r0, #8
- 80117cc:      2200            movs    r2, #0
- 80117ce:      e9c3 2200       strd    r2, r2, [r3]
- 80117d2:      609a            str     r2, [r3, #8]
- 80117d4:      4620            mov     r0, r4
- 80117d6:      bd10            pop     {r4, pc}
- 80117d8:      2a24            cmp     r2, #36 ; 0x24
- 80117da:      e9c0 1102       strd    r1, r1, [r0, #8]
- 80117de:      bf11            iteee   ne
- 80117e0:      f100 0310       addne.w r3, r0, #16
- 80117e4:      6101            streq   r1, [r0, #16]
- 80117e6:      f100 0318       addeq.w r3, r0, #24
- 80117ea:      6141            streq   r1, [r0, #20]
- 80117ec:      e7ee            b.n     80117cc <_calloc_r+0x2c>
- 80117ee:      4603            mov     r3, r0
- 80117f0:      e7ec            b.n     80117cc <_calloc_r+0x2c>
- 80117f2:      2100            movs    r1, #0
- 80117f4:      f7fc fde3       bl      800e3be <memset>
- 80117f8:      e7ec            b.n     80117d4 <_calloc_r+0x34>
-       ...
-
-080117fc <_close_r>:
- 80117fc:      b538            push    {r3, r4, r5, lr}
- 80117fe:      4c06            ldr     r4, [pc, #24]   ; (8011818 <_close_r+0x1c>)
- 8011800:      2300            movs    r3, #0
- 8011802:      4605            mov     r5, r0
- 8011804:      4608            mov     r0, r1
- 8011806:      6023            str     r3, [r4, #0]
- 8011808:      f7fa ffc3       bl      800c792 <_close>
- 801180c:      1c43            adds    r3, r0, #1
- 801180e:      d102            bne.n   8011816 <_close_r+0x1a>
- 8011810:      6823            ldr     r3, [r4, #0]
- 8011812:      b103            cbz     r3, 8011816 <_close_r+0x1a>
- 8011814:      602b            str     r3, [r5, #0]
- 8011816:      bd38            pop     {r3, r4, r5, pc}
- 8011818:      20000b08        .word   0x20000b08
-
-0801181c <_fclose_r>:
- 801181c:      b570            push    {r4, r5, r6, lr}
- 801181e:      4606            mov     r6, r0
- 8011820:      460c            mov     r4, r1
- 8011822:      b911            cbnz    r1, 801182a <_fclose_r+0xe>
- 8011824:      2500            movs    r5, #0
- 8011826:      4628            mov     r0, r5
- 8011828:      bd70            pop     {r4, r5, r6, pc}
- 801182a:      b118            cbz     r0, 8011834 <_fclose_r+0x18>
- 801182c:      6b83            ldr     r3, [r0, #56]   ; 0x38
- 801182e:      b90b            cbnz    r3, 8011834 <_fclose_r+0x18>
- 8011830:      f7ff f9c0       bl      8010bb4 <__sinit>
- 8011834:      6e63            ldr     r3, [r4, #100]  ; 0x64
- 8011836:      07d8            lsls    r0, r3, #31
- 8011838:      d405            bmi.n   8011846 <_fclose_r+0x2a>
- 801183a:      89a3            ldrh    r3, [r4, #12]
- 801183c:      0599            lsls    r1, r3, #22
- 801183e:      d402            bmi.n   8011846 <_fclose_r+0x2a>
- 8011840:      6da0            ldr     r0, [r4, #88]   ; 0x58
- 8011842:      f7fc fb41       bl      800dec8 <__retarget_lock_acquire_recursive>
- 8011846:      f9b4 300c       ldrsh.w r3, [r4, #12]
- 801184a:      b93b            cbnz    r3, 801185c <_fclose_r+0x40>
- 801184c:      6e65            ldr     r5, [r4, #100]  ; 0x64
- 801184e:      f015 0501       ands.w  r5, r5, #1
- 8011852:      d1e7            bne.n   8011824 <_fclose_r+0x8>
- 8011854:      6da0            ldr     r0, [r4, #88]   ; 0x58
- 8011856:      f7fc fb38       bl      800deca <__retarget_lock_release_recursive>
- 801185a:      e7e4            b.n     8011826 <_fclose_r+0xa>
- 801185c:      4621            mov     r1, r4
- 801185e:      4630            mov     r0, r6
- 8011860:      f7ff f8ae       bl      80109c0 <__sflush_r>
- 8011864:      6ae3            ldr     r3, [r4, #44]   ; 0x2c
- 8011866:      4605            mov     r5, r0
- 8011868:      b133            cbz     r3, 8011878 <_fclose_r+0x5c>
- 801186a:      69e1            ldr     r1, [r4, #28]
- 801186c:      4630            mov     r0, r6
- 801186e:      4798            blx     r3
- 8011870:      2800            cmp     r0, #0
- 8011872:      bfb8            it      lt
- 8011874:      f04f 35ff       movlt.w r5, #4294967295 ; 0xffffffff
- 8011878:      89a3            ldrh    r3, [r4, #12]
- 801187a:      061a            lsls    r2, r3, #24
- 801187c:      d503            bpl.n   8011886 <_fclose_r+0x6a>
- 801187e:      6921            ldr     r1, [r4, #16]
- 8011880:      4630            mov     r0, r6
- 8011882:      f7ff fa27       bl      8010cd4 <_free_r>
- 8011886:      6b21            ldr     r1, [r4, #48]   ; 0x30
- 8011888:      b141            cbz     r1, 801189c <_fclose_r+0x80>
- 801188a:      f104 0340       add.w   r3, r4, #64     ; 0x40
- 801188e:      4299            cmp     r1, r3
- 8011890:      d002            beq.n   8011898 <_fclose_r+0x7c>
- 8011892:      4630            mov     r0, r6
- 8011894:      f7ff fa1e       bl      8010cd4 <_free_r>
- 8011898:      2300            movs    r3, #0
- 801189a:      6323            str     r3, [r4, #48]   ; 0x30
- 801189c:      6c61            ldr     r1, [r4, #68]   ; 0x44
- 801189e:      b121            cbz     r1, 80118aa <_fclose_r+0x8e>
- 80118a0:      4630            mov     r0, r6
- 80118a2:      f7ff fa17       bl      8010cd4 <_free_r>
- 80118a6:      2300            movs    r3, #0
- 80118a8:      6463            str     r3, [r4, #68]   ; 0x44
- 80118aa:      f7ff f96b       bl      8010b84 <__sfp_lock_acquire>
- 80118ae:      2300            movs    r3, #0
- 80118b0:      81a3            strh    r3, [r4, #12]
- 80118b2:      6e63            ldr     r3, [r4, #100]  ; 0x64
- 80118b4:      07db            lsls    r3, r3, #31
- 80118b6:      d402            bmi.n   80118be <_fclose_r+0xa2>
- 80118b8:      6da0            ldr     r0, [r4, #88]   ; 0x58
- 80118ba:      f7fc fb06       bl      800deca <__retarget_lock_release_recursive>
- 80118be:      6da0            ldr     r0, [r4, #88]   ; 0x58
- 80118c0:      f7fc fb01       bl      800dec6 <__retarget_lock_close_recursive>
- 80118c4:      f7ff f964       bl      8010b90 <__sfp_lock_release>
- 80118c8:      e7ad            b.n     8011826 <_fclose_r+0xa>
-       ...
-
-080118cc <_fstat_r>:
- 80118cc:      b538            push    {r3, r4, r5, lr}
- 80118ce:      4c07            ldr     r4, [pc, #28]   ; (80118ec <_fstat_r+0x20>)
- 80118d0:      2300            movs    r3, #0
- 80118d2:      4605            mov     r5, r0
- 80118d4:      4608            mov     r0, r1
- 80118d6:      4611            mov     r1, r2
- 80118d8:      6023            str     r3, [r4, #0]
- 80118da:      f7fa ff66       bl      800c7aa <_fstat>
- 80118de:      1c43            adds    r3, r0, #1
- 80118e0:      d102            bne.n   80118e8 <_fstat_r+0x1c>
- 80118e2:      6823            ldr     r3, [r4, #0]
- 80118e4:      b103            cbz     r3, 80118e8 <_fstat_r+0x1c>
- 80118e6:      602b            str     r3, [r5, #0]
- 80118e8:      bd38            pop     {r3, r4, r5, pc}
- 80118ea:      bf00            nop
- 80118ec:      20000b08        .word   0x20000b08
-
-080118f0 <_isatty_r>:
- 80118f0:      b538            push    {r3, r4, r5, lr}
- 80118f2:      4c06            ldr     r4, [pc, #24]   ; (801190c <_isatty_r+0x1c>)
- 80118f4:      2300            movs    r3, #0
- 80118f6:      4605            mov     r5, r0
- 80118f8:      4608            mov     r0, r1
- 80118fa:      6023            str     r3, [r4, #0]
- 80118fc:      f7fa ff65       bl      800c7ca <_isatty>
- 8011900:      1c43            adds    r3, r0, #1
- 8011902:      d102            bne.n   801190a <_isatty_r+0x1a>
- 8011904:      6823            ldr     r3, [r4, #0]
- 8011906:      b103            cbz     r3, 801190a <_isatty_r+0x1a>
- 8011908:      602b            str     r3, [r5, #0]
- 801190a:      bd38            pop     {r3, r4, r5, pc}
- 801190c:      20000b08        .word   0x20000b08
-
-08011910 <_lseek_r>:
- 8011910:      b538            push    {r3, r4, r5, lr}
- 8011912:      4c07            ldr     r4, [pc, #28]   ; (8011930 <_lseek_r+0x20>)
- 8011914:      4605            mov     r5, r0
- 8011916:      4608            mov     r0, r1
- 8011918:      4611            mov     r1, r2
- 801191a:      2200            movs    r2, #0
- 801191c:      6022            str     r2, [r4, #0]
- 801191e:      461a            mov     r2, r3
- 8011920:      f7fa ff5e       bl      800c7e0 <_lseek>
- 8011924:      1c43            adds    r3, r0, #1
- 8011926:      d102            bne.n   801192e <_lseek_r+0x1e>
- 8011928:      6823            ldr     r3, [r4, #0]
- 801192a:      b103            cbz     r3, 801192e <_lseek_r+0x1e>
- 801192c:      602b            str     r3, [r5, #0]
- 801192e:      bd38            pop     {r3, r4, r5, pc}
- 8011930:      20000b08        .word   0x20000b08
-
-08011934 <__ascii_mbtowc>:
- 8011934:      b082            sub     sp, #8
- 8011936:      b901            cbnz    r1, 801193a <__ascii_mbtowc+0x6>
- 8011938:      a901            add     r1, sp, #4
- 801193a:      b142            cbz     r2, 801194e <__ascii_mbtowc+0x1a>
- 801193c:      b14b            cbz     r3, 8011952 <__ascii_mbtowc+0x1e>
- 801193e:      7813            ldrb    r3, [r2, #0]
- 8011940:      600b            str     r3, [r1, #0]
- 8011942:      7812            ldrb    r2, [r2, #0]
- 8011944:      1c10            adds    r0, r2, #0
- 8011946:      bf18            it      ne
- 8011948:      2001            movne   r0, #1
- 801194a:      b002            add     sp, #8
- 801194c:      4770            bx      lr
- 801194e:      4610            mov     r0, r2
- 8011950:      e7fb            b.n     801194a <__ascii_mbtowc+0x16>
- 8011952:      f06f 0001       mvn.w   r0, #1
- 8011956:      e7f8            b.n     801194a <__ascii_mbtowc+0x16>
-
-08011958 <_read_r>:
- 8011958:      b538            push    {r3, r4, r5, lr}
- 801195a:      4c07            ldr     r4, [pc, #28]   ; (8011978 <_read_r+0x20>)
- 801195c:      4605            mov     r5, r0
- 801195e:      4608            mov     r0, r1
- 8011960:      4611            mov     r1, r2
- 8011962:      2200            movs    r2, #0
- 8011964:      6022            str     r2, [r4, #0]
- 8011966:      461a            mov     r2, r3
- 8011968:      f7fa feda       bl      800c720 <_read>
- 801196c:      1c43            adds    r3, r0, #1
- 801196e:      d102            bne.n   8011976 <_read_r+0x1e>
- 8011970:      6823            ldr     r3, [r4, #0]
- 8011972:      b103            cbz     r3, 8011976 <_read_r+0x1e>
- 8011974:      602b            str     r3, [r5, #0]
- 8011976:      bd38            pop     {r3, r4, r5, pc}
- 8011978:      20000b08        .word   0x20000b08
-
-0801197c <__ascii_wctomb>:
- 801197c:      b149            cbz     r1, 8011992 <__ascii_wctomb+0x16>
- 801197e:      2aff            cmp     r2, #255        ; 0xff
- 8011980:      bf85            ittet   hi
- 8011982:      238a            movhi   r3, #138        ; 0x8a
- 8011984:      6003            strhi   r3, [r0, #0]
- 8011986:      700a            strbls  r2, [r1, #0]
- 8011988:      f04f 30ff       movhi.w r0, #4294967295 ; 0xffffffff
- 801198c:      bf98            it      ls
- 801198e:      2001            movls   r0, #1
- 8011990:      4770            bx      lr
- 8011992:      4608            mov     r0, r1
- 8011994:      4770            bx      lr
-       ...
-
-08011998 <_init>:
- 8011998:      b5f8            push    {r3, r4, r5, r6, r7, lr}
- 801199a:      bf00            nop
- 801199c:      bcf8            pop     {r3, r4, r5, r6, r7}
- 801199e:      bc08            pop     {r3}
- 80119a0:      469e            mov     lr, r3
- 80119a2:      4770            bx      lr
-
-080119a4 <_fini>:
- 80119a4:      b5f8            push    {r3, r4, r5, r6, r7, lr}
- 80119a6:      bf00            nop
- 80119a8:      bcf8            pop     {r3, r4, r5, r6, r7}
- 80119aa:      bc08            pop     {r3}
- 80119ac:      469e            mov     lr, r3
- 80119ae:      4770            bx      lr
diff --git a/rosserial_test/Src/main.cpp b/rosserial_test/Src/main.cpp
deleted file mode 100644 (file)
index 3d52c5f..0000000
+++ /dev/null
@@ -1,289 +0,0 @@
-/* USER CODE BEGIN Header */\r
-/**\r
- ******************************************************************************\r
- * @file           : main.c\r
- * @brief          : Main program body\r
- ******************************************************************************\r
- * @attention\r
- *\r
- * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.\r
- * All rights reserved.</center></h2>\r
- *\r
- * This software component is licensed by ST under BSD 3-Clause license,\r
- * the "License"; You may not use this file except in compliance with the\r
- * License. You may obtain a copy of the License at:\r
- *                        opensource.org/licenses/BSD-3-Clause\r
- *\r
- ******************************************************************************\r
- */\r
-/* USER CODE END Header */\r
-\r
-/* Includes ------------------------------------------------------------------*/\r
-#include "main.h"\r
-\r
-/* Private includes ----------------------------------------------------------*/\r
-/* USER CODE BEGIN Includes */\r
-#include <std_msgs/String.h>\r
-#include <ros.h>\r
-\r
-/* USER CODE END Includes */\r
-\r
-/* Private typedef -----------------------------------------------------------*/\r
-/* USER CODE BEGIN PTD */\r
-\r
-/* USER CODE END PTD */\r
-\r
-/* Private define ------------------------------------------------------------*/\r
-/* USER CODE BEGIN PD */\r
-\r
-/* USER CODE END PD */\r
-\r
-/* Private macro -------------------------------------------------------------*/\r
-/* USER CODE BEGIN PM */\r
-\r
-/* USER CODE END PM */\r
-\r
-/* Private variables ---------------------------------------------------------*/\r
-\r
-TIM_HandleTypeDef htim2;\r
-\r
-UART_HandleTypeDef huart3;\r
-\r
-/* USER CODE BEGIN PV */\r
-\r
-/* USER CODE END PV */\r
-\r
-/* Private function prototypes -----------------------------------------------*/\r
-void SystemClock_Config(void);\r
-static void MX_GPIO_Init(void);\r
-static void MX_TIM2_Init(void);\r
-static void MX_USART3_UART_Init(void);\r
-/* USER CODE BEGIN PFP */\r
-\r
-/* USER CODE END PFP */\r
-\r
-/* Private user code ---------------------------------------------------------*/\r
-/* USER CODE BEGIN 0 */\r
-\r
-/* USER CODE END 0 */\r
-\r
-/**\r
-  * @brief  The application entry point.\r
-  * @retval int\r
-  */\r
-int main(void)\r
-{\r
-  /* USER CODE BEGIN 1 */\r
-\r
-  /* USER CODE END 1 */\r
-  \r
-\r
-  /* MCU Configuration--------------------------------------------------------*/\r
-\r
-  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */\r
-  HAL_Init();\r
-\r
-  /* USER CODE BEGIN Init */\r
-\r
-  /* USER CODE END Init */\r
-\r
-  /* Configure the system clock */\r
-  SystemClock_Config();\r
-\r
-  /* USER CODE BEGIN SysInit */\r
-\r
-  /* USER CODE END SysInit */\r
-\r
-  /* Initialize all configured peripherals */\r
-  MX_GPIO_Init();\r
-  MX_TIM2_Init();\r
-  MX_USART3_UART_Init();\r
-  /* USER CODE BEGIN 2 */\r
-       ros::NodeHandle nh;\r
-\r
-       std_msgs::String str_msg;\r
-       ros::Publisher chatter("chatter", &str_msg);\r
-       char hello[] = "Hello world!";\r
-\r
-       nh.initNode();\r
-       nh.advertise(chatter);\r
-\r
-  /* USER CODE END 2 */\r
-\r
-  /* Infinite loop */\r
-  /* USER CODE BEGIN WHILE */\r
-       while (1) {\r
-\r
-               /*\r
-               str_msg.data = hello;\r
-               chatter.publish(&str_msg);\r
-               nh.spinOnce();\r
-               */\r
-               HAL_UART_Transmit(&huart3, (uint8_t*)hello, strlen(hello), 100);\r
-\r
-               HAL_Delay(1000);\r
-    /* USER CODE END WHILE */\r
-\r
-    /* USER CODE BEGIN 3 */\r
-       }\r
-  /* USER CODE END 3 */\r
-}\r
-\r
-/**\r
-  * @brief System Clock Configuration\r
-  * @retval None\r
-  */\r
-void SystemClock_Config(void)\r
-{\r
-  RCC_OscInitTypeDef RCC_OscInitStruct = {0};\r
-  RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};\r
-  RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};\r
-\r
-  /** Configure the main internal regulator output voltage \r
-  */\r
-  __HAL_RCC_PWR_CLK_ENABLE();\r
-  __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3);\r
-  /** Initializes the CPU, AHB and APB busses clocks \r
-  */\r
-  RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;\r
-  RCC_OscInitStruct.HSIState = RCC_HSI_ON;\r
-  RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;\r
-  RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE;\r
-  if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)\r
-  {\r
-    Error_Handler();\r
-  }\r
-  /** Initializes the CPU, AHB and APB busses clocks \r
-  */\r
-  RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK\r
-                              |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;\r
-  RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_HSI;\r
-  RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;\r
-  RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;\r
-  RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;\r
-\r
-  if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK)\r
-  {\r
-    Error_Handler();\r
-  }\r
-  PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_USART3;\r
-  PeriphClkInitStruct.Usart3ClockSelection = RCC_USART3CLKSOURCE_PCLK1;\r
-  if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)\r
-  {\r
-    Error_Handler();\r
-  }\r
-}\r
-\r
-/**\r
-  * @brief TIM2 Initialization Function\r
-  * @param None\r
-  * @retval None\r
-  */\r
-static void MX_TIM2_Init(void)\r
-{\r
-\r
-  /* USER CODE BEGIN TIM2_Init 0 */\r
-\r
-  /* USER CODE END TIM2_Init 0 */\r
-\r
-  /* USER CODE BEGIN TIM2_Init 1 */\r
-\r
-  /* USER CODE END TIM2_Init 1 */\r
-  htim2.Instance = TIM2;\r
-  htim2.Init.Prescaler = 0;\r
-  htim2.Init.CounterMode = TIM_COUNTERMODE_UP;\r
-  htim2.Init.Period = 0;\r
-  htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;\r
-  htim2.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;\r
-  if (HAL_TIM_OnePulse_Init(&htim2, TIM_OPMODE_SINGLE) != HAL_OK)\r
-  {\r
-    Error_Handler();\r
-  }\r
-  /* USER CODE BEGIN TIM2_Init 2 */\r
-\r
-  /* USER CODE END TIM2_Init 2 */\r
-\r
-}\r
-\r
-/**\r
-  * @brief USART3 Initialization Function\r
-  * @param None\r
-  * @retval None\r
-  */\r
-static void MX_USART3_UART_Init(void)\r
-{\r
-\r
-  /* USER CODE BEGIN USART3_Init 0 */\r
-\r
-  /* USER CODE END USART3_Init 0 */\r
-\r
-  /* USER CODE BEGIN USART3_Init 1 */\r
-\r
-  /* USER CODE END USART3_Init 1 */\r
-  huart3.Instance = USART3;\r
-  huart3.Init.BaudRate = 115200;\r
-  huart3.Init.WordLength = UART_WORDLENGTH_8B;\r
-  huart3.Init.StopBits = UART_STOPBITS_1;\r
-  huart3.Init.Parity = UART_PARITY_NONE;\r
-  huart3.Init.Mode = UART_MODE_TX_RX;\r
-  huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE;\r
-  huart3.Init.OverSampling = UART_OVERSAMPLING_16;\r
-  huart3.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE;\r
-  huart3.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT;\r
-  if (HAL_UART_Init(&huart3) != HAL_OK)\r
-  {\r
-    Error_Handler();\r
-  }\r
-  /* USER CODE BEGIN USART3_Init 2 */\r
-\r
-  /* USER CODE END USART3_Init 2 */\r
-\r
-}\r
-\r
-/**\r
-  * @brief GPIO Initialization Function\r
-  * @param None\r
-  * @retval None\r
-  */\r
-static void MX_GPIO_Init(void)\r
-{\r
-\r
-  /* GPIO Ports Clock Enable */\r
-  __HAL_RCC_GPIOD_CLK_ENABLE();\r
-\r
-}\r
-\r
-/* USER CODE BEGIN 4 */\r
-\r
-/* USER CODE END 4 */\r
-\r
-/**\r
-  * @brief  This function is executed in case of error occurrence.\r
-  * @retval None\r
-  */\r
-void Error_Handler(void)\r
-{\r
-  /* USER CODE BEGIN Error_Handler_Debug */\r
-       /* User can add his own implementation to report the HAL error return state */\r
-\r
-  /* USER CODE END Error_Handler_Debug */\r
-}\r
-\r
-#ifdef  USE_FULL_ASSERT\r
-/**\r
-  * @brief  Reports the name of the source file and the source line number\r
-  *         where the assert_param error has occurred.\r
-  * @param  file: pointer to the source file name\r
-  * @param  line: assert_param error line source number\r
-  * @retval None\r
-  */\r
-void assert_failed(uint8_t *file, uint32_t line)\r
-{ \r
-  /* USER CODE BEGIN 6 */\r
-  /* User can add his own implementation to report the file name and line number,\r
-     tex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */\r
-  /* USER CODE END 6 */\r
-}\r
-#endif /* USE_FULL_ASSERT */\r
-\r
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/\r