diff --git a/bootloader-tftp/.cproject b/bootloader-tftp/.cproject index aed1f94..5d6ed8c 100644 --- a/bootloader-tftp/.cproject +++ b/bootloader-tftp/.cproject @@ -55,8 +55,8 @@ - - + + diff --git a/bootloader-tftp/.settings/language.settings.xml b/bootloader-tftp/.settings/language.settings.xml index bf90128..f3adca1 100644 --- a/bootloader-tftp/.settings/language.settings.xml +++ b/bootloader-tftp/.settings/language.settings.xml @@ -5,7 +5,7 @@ - + diff --git a/bootloader-tftp/Makefile.GD32 b/bootloader-tftp/Makefile.GD32 index 08fcd07..ae11d9b 100644 --- a/bootloader-tftp/Makefile.GD32 +++ b/bootloader-tftp/Makefile.GD32 @@ -2,16 +2,19 @@ DEFINES =DISABLE_JSON DEFINES+=DISABLE_BIN DEFINES+=DISABLE_RTC DEFINES+=DISABLE_FS +DEFINES+=DISABLE_PRINTF_FLOAT DEFINES+=UDP_MAX_PORTS_ALLOWED=2 -DEFINES+=CONFIG_FLASHROM_USE_I2C +#DEFINES+=ENET_LINK_CHECK_REG_POLL + +DEFINES+=CONFIG_STORE_USE_I2C DEFINES+=NDEBUG SRCDIR=firmware lib -LIBS=display spiflashstore remoteconfig spiflashinstall spiflash +LIBS=remoteconfig flashcodeinstall configstore display flash flashcode include ../firmware-template-gd32/Rules.mk diff --git a/bootloader-tftp/firmware/main.cpp b/bootloader-tftp/firmware/main.cpp index d117e82..15df881 100644 --- a/bootloader-tftp/firmware/main.cpp +++ b/bootloader-tftp/firmware/main.cpp @@ -40,8 +40,8 @@ #include "firmwareversion.h" #include "software_version.h" -#include "spiflashinstall.h" -#include "spiflashstore.h" +#include "flashcodeinstall.h" +#include "configstore.h" #include "gd32.h" @@ -101,8 +101,8 @@ int main(void) { fw.Print("Bootloader TFTP Server"); - SpiFlashInstall flashInstall; - SpiFlashStore flashStore; + FlashCodeInstall flashCodeInstall; + ConfigStore configStore; StoreNetwork storeNetwork; nw.SetNetworkStore(&storeNetwork); diff --git a/bootloader-tftp/gd32f4xx.list b/bootloader-tftp/gd32f4xx.list index 4e4e837..16b70d5 100644 --- a/bootloader-tftp/gd32f4xx.list +++ b/bootloader-tftp/gd32f4xx.list @@ -7,108 +7,108 @@ Disassembly of section .vectors: 08000000 <__gVectors>: 8000000: 10010000 andne r0, r1, r0 8000004: 080007ad stmdaeq r0, {r0, r2, r3, r5, r7, r8, r9, sl} - 8000008: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 800000c: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 8000010: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 8000014: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 8000018: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} + 8000008: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 800000c: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 8000010: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 8000014: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 8000018: 08000825 stmdaeq r0, {r0, r2, r5, fp} ... - 800002c: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 8000030: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} + 800002c: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 8000030: 08000825 stmdaeq r0, {r0, r2, r5, fp} 8000034: 00000000 andeq r0, r0, r0 - 8000038: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 800003c: 0800452d stmdaeq r0, {r0, r2, r3, r5, r8, sl, lr} - 8000040: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 8000044: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 8000048: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 800004c: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 8000050: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 8000054: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 8000058: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 800005c: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 8000060: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 8000064: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 8000068: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 800006c: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 8000070: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 8000074: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 8000078: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 800007c: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 8000080: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 8000084: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 8000088: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 800008c: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 8000090: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 8000094: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 8000098: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 800009c: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 80000a0: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 80000a4: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 80000a8: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 80000ac: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 80000b0: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 80000b4: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 80000b8: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 80000bc: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 80000c0: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 80000c4: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 80000c8: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 80000cc: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 80000d0: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 80000d4: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 80000d8: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 80000dc: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 80000e0: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 80000e4: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 80000e8: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 80000ec: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 80000f0: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 80000f4: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 80000f8: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 80000fc: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 8000100: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 8000104: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 8000108: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 800010c: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 8000110: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 8000114: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 8000118: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 800011c: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 8000120: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 8000124: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 8000128: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 800012c: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 8000130: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 8000134: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 8000138: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 800013c: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 8000140: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 8000144: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 8000148: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 800014c: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 8000150: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 8000154: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 8000158: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 800015c: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 8000160: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 8000164: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 8000168: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 800016c: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 8000170: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 8000174: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 8000178: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} + 8000038: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 800003c: 080044a5 stmdaeq r0, {r0, r2, r5, r7, sl, lr} + 8000040: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 8000044: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 8000048: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 800004c: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 8000050: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 8000054: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 8000058: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 800005c: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 8000060: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 8000064: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 8000068: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 800006c: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 8000070: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 8000074: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 8000078: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 800007c: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 8000080: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 8000084: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 8000088: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 800008c: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 8000090: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 8000094: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 8000098: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 800009c: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 80000a0: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 80000a4: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 80000a8: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 80000ac: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 80000b0: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 80000b4: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 80000b8: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 80000bc: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 80000c0: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 80000c4: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 80000c8: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 80000cc: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 80000d0: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 80000d4: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 80000d8: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 80000dc: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 80000e0: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 80000e4: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 80000e8: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 80000ec: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 80000f0: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 80000f4: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 80000f8: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 80000fc: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 8000100: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 8000104: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 8000108: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 800010c: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 8000110: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 8000114: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 8000118: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 800011c: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 8000120: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 8000124: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 8000128: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 800012c: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 8000130: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 8000134: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 8000138: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 800013c: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 8000140: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 8000144: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 8000148: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 800014c: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 8000150: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 8000154: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 8000158: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 800015c: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 8000160: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 8000164: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 8000168: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 800016c: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 8000170: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 8000174: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 8000178: 08000825 stmdaeq r0, {r0, r2, r5, fp} 800017c: 00000000 andeq r0, r0, r0 - 8000180: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 8000184: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 8000188: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 800018c: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 8000190: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 8000194: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 8000198: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} + 8000180: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 8000184: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 8000188: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 800018c: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 8000190: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 8000194: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 8000198: 08000825 stmdaeq r0, {r0, r2, r5, fp} 800019c: 00000000 andeq r0, r0, r0 - 80001a0: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 80001a4: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} - 80001a8: 080008c5 stmdaeq r0, {r0, r2, r6, r7, fp} + 80001a0: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 80001a4: 08000825 stmdaeq r0, {r0, r2, r5, fp} + 80001a8: 08000825 stmdaeq r0, {r0, r2, r5, fp} Disassembly of section .text: @@ -144,18 +144,18 @@ Disassembly of section .text: 80001f2: b153 cbz r3, 800020a 80001f4: 4911 ldr r1, [pc, #68] ; (800023c ) 80001f6: 4810 ldr r0, [pc, #64] ; (8000238 ) - 80001f8: f003 fc12 bl 8003a20 + 80001f8: f003 fbbe bl 8003978 80001fc: 42b8 cmp r0, r7 80001fe: da04 bge.n 800020a 8000200: 480e ldr r0, [pc, #56] ; (800023c ) 8000202: 702f strb r7, [r5, #0] - 8000204: f002 fc86 bl 8002b14 + 8000204: f002 fc40 bl 8002a88 8000208: 7030 strb r0, [r6, #0] 800020a: 490c ldr r1, [pc, #48] ; (800023c ) 800020c: 480a ldr r0, [pc, #40] ; (8000238 ) 800020e: f000 f87f bl 8000310 8000212: 480a ldr r0, [pc, #40] ; (800023c ) - 8000214: f003 fdec bl 8003df0 + 8000214: f003 fd98 bl 8003d48 8000218: f000 f82e bl 8000278 800021c: 4a07 ldr r2, [pc, #28] ; (800023c ) 800021e: 1e63 subs r3, r4, #1 @@ -169,9 +169,9 @@ Disassembly of section .text: 8000232: 701a strb r2, [r3, #0] 8000234: b003 add sp, #12 8000236: bdf0 pop {r4, r5, r6, r7, pc} - 8000238: 200011c0 andcs r1, r0, r0, asr #3 - 800023c: 200011b4 ; instruction: 0x200011b4 - 8000240: 200011c6 andcs r1, r0, r6, asr #3 + 8000238: 200001c8 andcs r0, r0, r8, asr #3 + 800023c: 200001bc ; instruction: 0x200001bc + 8000240: 200001ce andcs r0, r0, lr, asr #3 08000244 : 8000244: b508 push {r3, lr} @@ -180,10 +180,10 @@ Disassembly of section .text: 800024c: 781b ldrb r3, [r3, #0] 800024e: b11b cbz r3, 8000258 8000250: e8bd 4008 ldmia.w sp!, {r3, lr} - 8000254: f003 bcec b.w 8003c30 + 8000254: f003 bc98 b.w 8003b88 8000258: bd08 pop {r3, pc} 800025a: bf00 nop - 800025c: 200011c6 andcs r1, r0, r6, asr #3 + 800025c: 200001ce andcs r0, r0, lr, asr #3 08000260 : 8000260: 4b04 ldr r3, [pc, #16] ; (8000274 ) @@ -194,7 +194,7 @@ Disassembly of section .text: 800026a: f810 1b01 ldrb.w r1, [r0], #1 800026e: f803 1b01 strb.w r1, [r3], #1 8000272: e7f7 b.n 8000264 - 8000274: 200011d0 ldrdcs r1, [r0], -r0 + 8000274: 200001d8 ldrdcs r0, [r0], -r8 08000278 : 8000278: b513 push {r0, r1, r4, lr} @@ -202,7 +202,7 @@ Disassembly of section .text: 800027c: 490c ldr r1, [pc, #48] ; (80002b0 ) 800027e: 2206 movs r2, #6 8000280: 18a0 adds r0, r4, r2 - 8000282: f002 fc87 bl 8002b94 + 8000282: f002 fc41 bl 8002b08 8000286: 2308 movs r3, #8 8000288: 81a3 strh r3, [r4, #12] 800028a: 4b0a ldr r3, [pc, #40] ; (80002b4 ) @@ -211,7 +211,7 @@ Disassembly of section .text: 8000290: 9301 str r3, [sp, #4] 8000292: eb0d 0102 add.w r1, sp, r2 8000296: f104 001a add.w r0, r4, #26 - 800029a: f002 fc7b bl 8002b94 + 800029a: f002 fc35 bl 8002b08 800029e: 2345 movs r3, #69 ; 0x45 80002a0: 81e3 strh r3, [r4, #14] 80002a2: 4b05 ldr r3, [pc, #20] ; (80002b8 ) @@ -220,8 +220,8 @@ Disassembly of section .text: 80002a8: bd10 pop {r4, pc} 80002aa: bf00 nop 80002ac: 10000000 andne r0, r0, r0 - 80002b0: 200011c0 andcs r1, r0, r0, asr #3 - 80002b4: 200011b4 ; instruction: 0x200011b4 + 80002b0: 200001c8 andcs r0, r0, r8, asr #3 + 80002b4: 200001bc ; instruction: 0x200001bc 80002b8: 06400040 strbeq r0, [r0], -r0, asr #32 080002bc : @@ -240,20 +240,20 @@ Disassembly of section .text: 80002d6: 4601 mov r1, r0 80002d8: 18a8 adds r0, r5, r2 80002da: 801c strh r4, [r3, #0] - 80002dc: f002 fc64 bl 8002ba8 + 80002dc: f002 fc1e bl 8002b1c 80002e0: 4b08 ldr r3, [pc, #32] ; (8000304 ) 80002e2: 60eb str r3, [r5, #12] 80002e4: 4630 mov r0, r6 80002e6: 4b08 ldr r3, [pc, #32] ; (8000308 ) 80002e8: 616b str r3, [r5, #20] - 80002ea: f002 fc85 bl 8002bf8 + 80002ea: f002 fc3f bl 8002b6c 80002ee: 852c strh r4, [r5, #40] ; 0x28 80002f0: bd70 pop {r4, r5, r6, pc} 80002f2: bf00 nop - 80002f4: 200011f0 strdcs r1, [r0], -r0 - 80002f8: 200011f8 strdcs r1, [r0], -r8 - 80002fc: 20002920 andcs r2, r0, r0, lsr #18 - 8000300: 200011ec andcs r1, r0, ip, ror #3 + 80002f4: 200001f8 strdcs r0, [r0], -r8 + 80002f8: 20000200 andcs r0, r0, r0, lsl #4 + 80002fc: 20001928 andcs r1, r0, r8, lsr #18 + 8000300: 200001f4 strdcs r0, [r0], -r4 8000304: 00450008 subeq r0, r5, r8 8000308: 11400040 cmpne r0, r0, asr #32 @@ -270,7 +270,7 @@ Disassembly of section .text: 800031e: 482f ldr r0, [pc, #188] ; (80003dc ) 8000320: 682f ldr r7, [r5, #0] 8000322: 4621 mov r1, r4 - 8000324: f003 f9fd bl 8003722 + 8000324: f003 f9a9 bl 800367a 8000328: 4b2d ldr r3, [pc, #180] ; (80003e0 ) 800032a: 2507 movs r5, #7 800032c: 461e mov r6, r3 @@ -285,7 +285,7 @@ Disassembly of section .text: 8000342: f44f 7380 mov.w r3, #256 ; 0x100 8000346: 4621 mov r1, r4 8000348: 82b3 strh r3, [r6, #20] - 800034a: f003 f9ea bl 8003722 + 800034a: f003 f996 bl 800367a 800034e: 4a27 ldr r2, [pc, #156] ; (80003ec ) 8000350: 61f7 str r7, [r6, #28] 8000352: 2307 movs r3, #7 @@ -295,7 +295,7 @@ Disassembly of section .text: 800035a: 4621 mov r1, r4 800035c: 4824 ldr r0, [pc, #144] ; (80003f0 ) 800035e: f8c6 7026 str.w r7, [r6, #38] ; 0x26 - 8000362: f003 f9de bl 8003722 + 8000362: f003 f98a bl 800367a 8000366: 4a23 ldr r2, [pc, #140] ; (80003f4 ) 8000368: 2306 movs r3, #6 800036a: 4615 mov r5, r2 @@ -309,7 +309,7 @@ Disassembly of section .text: 800037c: f44f 7380 mov.w r3, #256 ; 0x100 8000380: 4621 mov r1, r4 8000382: 82ab strh r3, [r5, #20] - 8000384: f003 f9cd bl 8003722 + 8000384: f003 f979 bl 800367a 8000388: 4a1c ldr r2, [pc, #112] ; (80003fc ) 800038a: 61ef str r7, [r5, #28] 800038c: 2307 movs r3, #7 @@ -320,7 +320,7 @@ Disassembly of section .text: 8000396: 2206 movs r2, #6 8000398: 18a8 adds r0, r5, r2 800039a: 4621 mov r1, r4 - 800039c: f003 f9c1 bl 8003722 + 800039c: f003 f96d bl 800367a 80003a0: 4b10 ldr r3, [pc, #64] ; (80003e4 ) 80003a2: 4621 mov r1, r4 80003a4: e9c5 3803 strd r3, r8, [r5, #12] @@ -328,10 +328,10 @@ Disassembly of section .text: 80003ac: f44f 7300 mov.w r3, #512 ; 0x200 80003b0: 2206 movs r2, #6 80003b2: 82ab strh r3, [r5, #20] - 80003b4: f003 f9b5 bl 8003722 + 80003b4: f003 f961 bl 800367a 80003b8: 61ef str r7, [r5, #28] 80003ba: e8bd 41f0 ldmia.w sp!, {r4, r5, r6, r7, r8, lr} - 80003be: f003 b9bb b.w 8003738 + 80003be: f003 b967 b.w 8003690 80003c2: f803 2b01 strb.w r2, [r3], #1 80003c6: e7b3 b.n 8000330 80003c8: f802 5b01 strb.w r5, [r2], #1 @@ -341,16 +341,16 @@ Disassembly of section .text: 80003d4: f802 1b01 strb.w r1, [r2], #1 80003d8: e7da b.n 8000390 80003da: bf00 nop - 80003dc: 20002f1a andcs r2, r0, sl, lsl pc - 80003e0: 20002f14 andcs r2, r0, r4, lsl pc + 80003dc: 20001f22 andcs r1, r0, r2, lsr #30 + 80003e0: 20001f1c andcs r1, r0, ip, lsl pc 80003e4: 01000608 tsteq r0, r8, lsl #12 - 80003e8: 20002f2a andcs r2, r0, sl, lsr #30 - 80003ec: 20002f34 andcs r2, r0, r4, lsr pc - 80003f0: 20002f72 andcs r2, r0, r2, ror pc - 80003f4: 20002f6c andcs r2, r0, ip, ror #30 - 80003f8: 20002f82 andcs r2, r0, r2, lsl #31 - 80003fc: 20002f8c andcs r2, r0, ip, lsl #31 - 8000400: 20002f40 andcs r2, r0, r0, asr #30 + 80003e8: 20001f32 andcs r1, r0, r2, lsr pc + 80003ec: 20001f3c andcs r1, r0, ip, lsr pc + 80003f0: 20001f7a andcs r1, r0, sl, ror pc + 80003f4: 20001f74 andcs r1, r0, r4, ror pc + 80003f8: 20001f8a andcs r1, r0, sl, lsl #31 + 80003fc: 20001f94 mulcs r0, r4, pc ; + 8000400: 20001f48 andcs r1, r0, r8, asr #30 8000404: 04060008 streq r0, [r6], #-8 08000408 : @@ -387,7 +387,7 @@ Disassembly of section .text: 800044c: f8df 9088 ldr.w r9, [pc, #136] ; 80004d8 8000450: 6765 str r5, [r4, #116] ; 0x74 8000452: 8725 strh r5, [r4, #56] ; 0x38 - 8000454: f003 fc62 bl 8003d1c + 8000454: f003 fc0e bl 8003c74 8000458: 2301 movs r3, #1 800045a: 8023 strh r3, [r4, #0] 800045c: 2206 movs r2, #6 @@ -395,7 +395,7 @@ Disassembly of section .text: 8000460: 4631 mov r1, r6 8000462: f104 000e add.w r0, r4, #14 8000466: 70a3 strb r3, [r4, #2] - 8000468: f003 fc10 bl 8003c8c + 8000468: f003 fbbc bl 8003be4 800046c: f240 4394 movw r3, #1172 ; 0x494 8000470: 8563 strh r3, [r4, #42] ; 0x2a 8000472: 2316 movs r3, #22 @@ -413,7 +413,7 @@ Disassembly of section .text: 8000496: f8c4 8014 str.w r8, [r4, #20] 800049a: 8327 strh r7, [r4, #24] 800049c: 85a5 strh r5, [r4, #44] ; 0x2c - 800049e: f003 fbf5 bl 8003c8c + 800049e: f003 fba1 bl 8003be4 80004a2: 23e0 movs r3, #224 ; 0xe0 80004a4: 4a0b ldr r2, [pc, #44] ; (80004d4 ) 80004a6: f8a4 305a strh.w r3, [r4, #90] ; 0x5a @@ -437,7 +437,7 @@ Disassembly of section .text: 80004e2: 4c05 ldr r4, [pc, #20] ; (80004f8 ) 80004e4: 6ee0 ldr r0, [r4, #108] ; 0x6c 80004e6: b128 cbz r0, 80004f4 - 80004e8: f003 fc4c bl 8003d84 + 80004e8: f003 fbf8 bl 8003cdc 80004ec: 2300 movs r3, #0 80004ee: 66e3 str r3, [r4, #108] ; 0x6c 80004f0: f8a4 3070 strh.w r3, [r4, #112] ; 0x70 @@ -463,22 +463,22 @@ Disassembly of section .text: 08000520 : 8000520: b508 push {r3, lr} - 8000522: f003 ffab bl 800447c + 8000522: f003 ff67 bl 80043f4 8000526: 4804 ldr r0, [pc, #16] ; (8000538 ) - 8000528: f003 ffd2 bl 80044d0 + 8000528: f003 ff8e bl 8004448 800052c: 4803 ldr r0, [pc, #12] ; (800053c ) - 800052e: f003 ffcf bl 80044d0 + 800052e: f003 ff8b bl 8004448 8000532: 2000 movs r0, #0 8000534: bd08 pop {r3, pc} 8000536: bf00 nop - 8000538: 08006e90 stmdaeq r0, {r4, r7, r9, sl, fp, sp, lr} - 800053c: 08006e96 stmdaeq r0, {r1, r2, r4, r7, r9, sl, fp, sp, lr} + 8000538: 08006e20 stmdaeq r0, {r5, r9, sl, fp, sp, lr} + 800053c: 08006e26 stmdaeq r0, {r1, r2, r5, r9, sl, fp, sp, lr} 08000540 : 8000540: b510 push {r4, lr} 8000542: 4c0c ldr r4, [pc, #48] ; (8000574 ) 8000544: 4620 mov r0, r4 - 8000546: f004 fc93 bl 8004e70 + 8000546: f005 f847 bl 80055d8 800054a: 2800 cmp r0, #0 800054c: dd07 ble.n 800055e 800054e: 6820 ldr r0, [r4, #0] @@ -486,15 +486,15 @@ Disassembly of section .text: 8000552: 2b08 cmp r3, #8 8000554: d107 bne.n 8000566 8000556: f000 f8bf bl 80006d8 - 800055a: f004 fc9d bl 8004e98 + 800055a: f005 f851 bl 8005600 800055e: e8bd 4010 ldmia.w sp!, {r4, lr} - 8000562: f002 bac7 b.w 8002af4 + 8000562: f002 ba81 b.w 8002a68 8000566: f5b3 6fc1 cmp.w r3, #1544 ; 0x608 800056a: d1f6 bne.n 800055a 800056c: f000 f85a bl 8000624 8000570: e7f3 b.n 800055a 8000572: bf00 nop - 8000574: 200011c8 andcs r1, r0, r8, asr #3 + 8000574: 200001d0 ldrdcs r0, [r0], -r0 ; 08000578 : 8000578: e92d 41f3 stmdb sp!, {r0, r1, r4, r5, r6, r7, r8, lr} @@ -539,11 +539,11 @@ Disassembly of section .text: 80005dc: 462a mov r2, r5 80005de: f106 012a add.w r1, r6, #42 ; 0x2a 80005e2: 4440 add r0, r8 - 80005e4: f002 fae0 bl 8002ba8 + 80005e4: f002 fa9a bl 8002b1c 80005e8: 2204 movs r2, #4 80005ea: eb0d 0002 add.w r0, sp, r2 80005ee: f106 011a add.w r1, r6, #26 - 80005f2: f002 fad9 bl 8002ba8 + 80005f2: f002 fa93 bl 8002b1c 80005f6: 19e3 adds r3, r4, r7 80005f8: 4443 add r3, r8 80005fa: 9a01 ldr r2, [sp, #4] @@ -557,8 +557,8 @@ Disassembly of section .text: 8000612: f003 0301 and.w r3, r3, #1 8000616: f828 3007 strh.w r3, [r8, r7] 800061a: e7c5 b.n 80005a8 - 800061c: 200011f0 strdcs r1, [r0], -r0 - 8000620: 200011f8 strdcs r1, [r0], -r8 + 800061c: 200001f8 strdcs r0, [r0], -r8 + 8000620: 20000200 andcs r0, r0, r0, lsl #4 08000624 : 8000624: 8a83 ldrh r3, [r0, #20] @@ -567,8 +567,8 @@ Disassembly of section .text: 800062c: f5b3 7f00 cmp.w r3, #512 ; 0x200 8000630: d002 beq.n 8000638 8000632: 4770 bx lr - 8000634: f003 b88a b.w 800374c - 8000638: f003 b8b0 b.w 800379c + 8000634: f003 b836 b.w 80036a4 + 8000638: f003 b85c b.w 80036f4 0800063c : 800063c: 7b83 ldrb r3, [r0, #14] @@ -663,11 +663,11 @@ Disassembly of section .text: 8000714: 1d86 adds r6, r0, #6 8000716: 4631 mov r1, r6 8000718: 2206 movs r2, #6 - 800071a: f003 fb8c bl 8003e36 + 800071a: f003 fb49 bl 8003db0 800071e: 4630 mov r0, r6 8000720: 491b ldr r1, [pc, #108] ; (8000790 ) 8000722: 2206 movs r2, #6 - 8000724: f003 fb87 bl 8003e36 + 8000724: f003 fb44 bl 8003db0 8000728: 8a63 ldrh r3, [r4, #18] 800072a: f104 061a add.w r6, r4, #26 800072e: 43db mvns r3, r3 @@ -675,7 +675,7 @@ Disassembly of section .text: 8000732: 8263 strh r3, [r4, #18] 8000734: 2204 movs r2, #4 8000736: f104 001e add.w r0, r4, #30 - 800073a: f003 fb7c bl 8003e36 + 800073a: f003 fb39 bl 8003db0 800073e: 4b15 ldr r3, [pc, #84] ; (8000794 ) 8000740: 2204 movs r2, #4 8000742: 681b ldr r3, [r3, #0] @@ -683,12 +683,12 @@ Disassembly of section .text: 8000746: eb0d 0102 add.w r1, sp, r2 800074a: 4630 mov r0, r6 800074c: f104 060e add.w r6, r4, #14 - 8000750: f003 fb71 bl 8003e36 + 8000750: f003 fb2e bl 8003db0 8000754: 2114 movs r1, #20 8000756: 7625 strb r5, [r4, #24] 8000758: 7665 strb r5, [r4, #25] 800075a: 4630 mov r0, r6 - 800075c: f003 fb51 bl 8003e02 + 800075c: f003 fafd bl 8003d5a 8000760: 8a21 ldrh r1, [r4, #16] 8000762: 8320 strh r0, [r4, #24] 8000764: ba49 rev16 r1, r1 @@ -697,24 +697,24 @@ Disassembly of section .text: 800076c: f884 5024 strb.w r5, [r4, #36] ; 0x24 8000770: f884 5025 strb.w r5, [r4, #37] ; 0x25 8000774: 4630 mov r0, r6 - 8000776: f003 fb44 bl 8003e02 + 8000776: f003 faf0 bl 8003d5a 800077a: 8a21 ldrh r1, [r4, #16] 800077c: 84a0 strh r0, [r4, #36] ; 0x24 800077e: ba49 rev16 r1, r1 8000780: b289 uxth r1, r1 8000782: 310e adds r1, #14 8000784: 4620 mov r0, r4 - 8000786: f004 fb8b bl 8004ea0 + 8000786: f004 ff3f bl 8005608 800078a: b002 add sp, #8 800078c: bd70 pop {r4, r5, r6, pc} 800078e: bf00 nop - 8000790: 200011c0 andcs r1, r0, r0, asr #3 - 8000794: 200011b4 ; instruction: 0x200011b4 - 8000798: 08006f90 stmdaeq r0, {r4, r7, r8, r9, sl, fp, sp, lr} + 8000790: 200001c8 andcs r0, r0, r8, asr #3 + 8000794: 200001bc ; instruction: 0x200001bc + 8000798: 08006f20 stmdaeq r0, {r5, r8, r9, sl, fp, sp, lr} 800079c: 20000000 andcs r0, r0, r0 80007a0: 200000d0 ldrdcs r0, [r0], -r0 ; 80007a4: 200000d0 ldrdcs r0, [r0], -r0 ; - 80007a8: 2000449c mulcs r0, ip, r4 + 80007a8: 200034a4 andcs r3, r0, r4, lsr #9 080007ac : 80007ac: 2100 movs r1, #0 @@ -743,10280 +743,10277 @@ Disassembly of section .text: 80007cc: 4b07 ldr r3, [pc, #28] ; (80007ec ) 80007ce: 429a cmp r2, r3 80007d0: d3f9 bcc.n 80007c6 - 80007d2: f003 feb3 bl 800453c - 80007d6: f000 f893 bl 8000900
+ 80007d2: f003 fe6f bl 80044b4 + 80007d6: f000 f843 bl 8000860
80007da: 4770 bx lr - 80007dc: 08006f90 stmdaeq r0, {r4, r7, r8, r9, sl, fp, sp, lr} + 80007dc: 08006f20 stmdaeq r0, {r5, r8, r9, sl, fp, sp, lr} 80007e0: 20000000 andcs r0, r0, r0 80007e4: 200000d0 ldrdcs r0, [r0], -r0 ; 80007e8: 200000d0 ldrdcs r0, [r0], -r0 ; - 80007ec: 2000449c mulcs r0, ip, r4 - -080007f0 <__aeabi_d2f>: - 80007f0: ea4f 0241 mov.w r2, r1, lsl #1 - 80007f4: f1b2 43e0 subs.w r3, r2, #1879048192 ; 0x70000000 - 80007f8: bf24 itt cs - 80007fa: f5b3 1c00 subscs.w ip, r3, #2097152 ; 0x200000 - 80007fe: f1dc 5cfe rsbscs ip, ip, #532676608 ; 0x1fc00000 - 8000802: d90d bls.n 8000820 <__aeabi_d2f+0x30> - 8000804: f001 4c00 and.w ip, r1, #2147483648 ; 0x80000000 - 8000808: ea4f 02c0 mov.w r2, r0, lsl #3 - 800080c: ea4c 7050 orr.w r0, ip, r0, lsr #29 - 8000810: f1b2 4f00 cmp.w r2, #2147483648 ; 0x80000000 - 8000814: eb40 0083 adc.w r0, r0, r3, lsl #2 - 8000818: bf08 it eq - 800081a: f020 0001 biceq.w r0, r0, #1 + 80007ec: 200034a4 andcs r3, r0, r4, lsr #9 + +080007f0 <__aeabi_uldivmod>: + 80007f0: b953 cbnz r3, 8000808 <__aeabi_uldivmod+0x18> + 80007f2: b94a cbnz r2, 8000808 <__aeabi_uldivmod+0x18> + 80007f4: 2900 cmp r1, #0 + 80007f6: bf08 it eq + 80007f8: 2800 cmpeq r0, #0 + 80007fa: bf1c itt ne + 80007fc: f04f 31ff movne.w r1, #4294967295 ; 0xffffffff + 8000800: f04f 30ff movne.w r0, #4294967295 ; 0xffffffff + 8000804: f000 b80c b.w 8000820 <__aeabi_idiv0> + 8000808: f1ad 0c08 sub.w ip, sp, #8 + 800080c: e96d ce04 strd ip, lr, [sp, #-16]! + 8000810: f000 fc0c bl 800102c <__udivmoddi4> + 8000814: f8dd e004 ldr.w lr, [sp, #4] + 8000818: e9dd 2302 ldrd r2, r3, [sp, #8] + 800081c: b004 add sp, #16 800081e: 4770 bx lr - 8000820: f011 4f80 tst.w r1, #1073741824 ; 0x40000000 - 8000824: d121 bne.n 800086a <__aeabi_d2f+0x7a> - 8000826: f113 7238 adds.w r2, r3, #48234496 ; 0x2e00000 - 800082a: bfbc itt lt - 800082c: f001 4000 andlt.w r0, r1, #2147483648 ; 0x80000000 - 8000830: 4770 bxlt lr - 8000832: f441 1180 orr.w r1, r1, #1048576 ; 0x100000 - 8000836: ea4f 5252 mov.w r2, r2, lsr #21 - 800083a: f1c2 0218 rsb r2, r2, #24 - 800083e: f1c2 0c20 rsb ip, r2, #32 - 8000842: fa10 f30c lsls.w r3, r0, ip - 8000846: fa20 f002 lsr.w r0, r0, r2 - 800084a: bf18 it ne - 800084c: f040 0001 orrne.w r0, r0, #1 - 8000850: ea4f 23c1 mov.w r3, r1, lsl #11 - 8000854: ea4f 23d3 mov.w r3, r3, lsr #11 - 8000858: fa03 fc0c lsl.w ip, r3, ip - 800085c: ea40 000c orr.w r0, r0, ip - 8000860: fa23 f302 lsr.w r3, r3, r2 - 8000864: ea4f 0343 mov.w r3, r3, lsl #1 - 8000868: e7cc b.n 8000804 <__aeabi_d2f+0x14> - 800086a: ea7f 5362 mvns.w r3, r2, asr #21 - 800086e: d107 bne.n 8000880 <__aeabi_d2f+0x90> - 8000870: ea50 3301 orrs.w r3, r0, r1, lsl #12 - 8000874: bf1e ittt ne - 8000876: f04f 40fe movne.w r0, #2130706432 ; 0x7f000000 - 800087a: f440 0040 orrne.w r0, r0, #12582912 ; 0xc00000 - 800087e: 4770 bxne lr - 8000880: f001 4000 and.w r0, r1, #2147483648 ; 0x80000000 - 8000884: f040 40fe orr.w r0, r0, #2130706432 ; 0x7f000000 - 8000888: f440 0000 orr.w r0, r0, #8388608 ; 0x800000 - 800088c: 4770 bx lr - 800088e: bf00 nop - -08000890 <__aeabi_uldivmod>: - 8000890: b953 cbnz r3, 80008a8 <__aeabi_uldivmod+0x18> - 8000892: b94a cbnz r2, 80008a8 <__aeabi_uldivmod+0x18> - 8000894: 2900 cmp r1, #0 - 8000896: bf08 it eq - 8000898: 2800 cmpeq r0, #0 - 800089a: bf1c itt ne - 800089c: f04f 31ff movne.w r1, #4294967295 ; 0xffffffff - 80008a0: f04f 30ff movne.w r0, #4294967295 ; 0xffffffff - 80008a4: f000 b80c b.w 80008c0 <__aeabi_idiv0> - 80008a8: f1ad 0c08 sub.w ip, sp, #8 - 80008ac: e96d ce04 strd ip, lr, [sp, #-16]! - 80008b0: f000 fd08 bl 80012c4 <__udivmoddi4> - 80008b4: f8dd e004 ldr.w lr, [sp, #4] - 80008b8: e9dd 2302 ldrd r2, r3, [sp, #8] - 80008bc: b004 add sp, #16 - 80008be: 4770 bx lr - -080008c0 <__aeabi_idiv0>: - 80008c0: 4770 bx lr - 80008c2: bf00 nop - -080008c4 : - 80008c4: e7fe b.n 80008c4 - -080008c6 : - 80008c6: b40c push {r2, r3} - 80008c8: b570 push {r4, r5, r6, lr} - 80008ca: 6984 ldr r4, [r0, #24] - 80008cc: b08a sub sp, #40 ; 0x28 - 80008ce: 4605 mov r5, r0 - 80008d0: 460e mov r6, r1 - 80008d2: b174 cbz r4, 80008f2 - 80008d4: ab0f add r3, sp, #60 ; 0x3c - 80008d6: 9a0e ldr r2, [sp, #56] ; 0x38 - 80008d8: 9301 str r3, [sp, #4] - 80008da: 2120 movs r1, #32 - 80008dc: a802 add r0, sp, #8 - 80008de: f000 fce1 bl 80012a4 - 80008e2: 4604 mov r4, r0 - 80008e4: 69a8 ldr r0, [r5, #24] - 80008e6: 6803 ldr r3, [r0, #0] - 80008e8: aa02 add r2, sp, #8 - 80008ea: 69dd ldr r5, [r3, #28] - 80008ec: 4631 mov r1, r6 - 80008ee: b2a3 uxth r3, r4 - 80008f0: 47a8 blx r5 - 80008f2: 4620 mov r0, r4 - 80008f4: b00a add sp, #40 ; 0x28 - 80008f6: e8bd 4070 ldmia.w sp!, {r4, r5, r6, lr} - 80008fa: b002 add sp, #8 - 80008fc: 4770 bx lr - -080008fe : - 80008fe: 4770 bx lr - -08000900
: - 8000900: b570 push {r4, r5, r6, lr} - 8000902: f640 4002 movw r0, #3074 ; 0xc02 - 8000906: b0e2 sub sp, #392 ; 0x188 - 8000908: f004 f836 bl 8004978 - 800090c: f241 001c movw r0, #4124 ; 0x101c - 8000910: f004 f832 bl 8004978 - 8000914: f44f 7000 mov.w r0, #512 ; 0x200 - 8000918: f004 f81a bl 8004950 - 800091c: f640 4012 movw r0, #3090 ; 0xc12 - 8000920: f004 f82a bl 8004978 - 8000924: f004 f820 bl 8004968 - 8000928: 485e ldr r0, [pc, #376] ; (8000aa4 ) - 800092a: f44f 5200 mov.w r2, #8192 ; 0x2000 - 800092e: 2100 movs r1, #0 - 8000930: f003 ffe1 bl 80048f6 - 8000934: f44f 5300 mov.w r3, #8192 ; 0x2000 - 8000938: 485a ldr r0, [pc, #360] ; (8000aa4 ) - 800093a: 2201 movs r2, #1 - 800093c: 2100 movs r1, #0 - 800093e: f003 ff99 bl 8004874 - 8000942: 2001 movs r0, #1 - 8000944: f004 fab6 bl 8004eb4 - 8000948: f24a 53a5 movw r3, #42405 ; 0xa5a5 - 800094c: 4298 cmp r0, r3 - 800094e: d02e beq.n 80009ae - 8000950: 4854 ldr r0, [pc, #336] ; (8000aa4 ) - 8000952: f44f 5100 mov.w r1, #8192 ; 0x2000 - 8000956: f003 ffc8 bl 80048ea - 800095a: b340 cbz r0, 80009ae - 800095c: b672 cpsid i - 800095e: 4b52 ldr r3, [pc, #328] ; (8000aa8 ) - 8000960: 4a52 ldr r2, [pc, #328] ; (8000aac ) - 8000962: 20ff movs r0, #255 ; 0xff - 8000964: 4619 mov r1, r3 - 8000966: 3301 adds r3, #1 - 8000968: 4293 cmp r3, r2 - 800096a: 7008 strb r0, [r1, #0] - 800096c: d1fa bne.n 8000964 - 800096e: 4b50 ldr r3, [pc, #320] ; (8000ab0 ) - 8000970: 4a50 ldr r2, [pc, #320] ; (8000ab4 ) - 8000972: 20ff movs r0, #255 ; 0xff - 8000974: 4619 mov r1, r3 - 8000976: 3301 adds r3, #1 - 8000978: 4293 cmp r3, r2 - 800097a: 7008 strb r0, [r1, #0] - 800097c: d1fa bne.n 8000974 - 800097e: f04f 23e0 mov.w r3, #3758153728 ; 0xe000e000 - 8000982: 2100 movs r1, #0 - 8000984: 6119 str r1, [r3, #16] - 8000986: f8d3 2d04 ldr.w r2, [r3, #3332] ; 0xd04 - 800098a: f042 7200 orr.w r2, r2, #33554432 ; 0x2000000 - 800098e: f8c3 2d04 str.w r2, [r3, #3332] ; 0xd04 - 8000992: 4a49 ldr r2, [pc, #292] ; (8000ab8 ) - 8000994: f8c3 2d08 str.w r2, [r3, #3336] ; 0xd08 - 8000998: f503 6350 add.w r3, r3, #3328 ; 0xd00 - 800099c: 689b ldr r3, [r3, #8] - 800099e: 681b ldr r3, [r3, #0] - 80009a0: f383 8808 msr MSP, r3 - 80009a4: f381 8814 msr CONTROL, r1 - 80009a8: b662 cpsie i - 80009aa: 6853 ldr r3, [r2, #4] - 80009ac: 4718 bx r3 - 80009ae: a801 add r0, sp, #4 - 80009b0: f003 fb3e bl 8004030 - 80009b4: a82f add r0, sp, #188 ; 0xbc - 80009b6: f002 fc7f bl 80032b8 - 80009ba: 2104 movs r1, #4 - 80009bc: a813 add r0, sp, #76 ; 0x4c - 80009be: f000 fe67 bl 8001690 - 80009c2: a807 add r0, sp, #28 - 80009c4: f003 fad8 bl 8003f78 - 80009c8: 4a3c ldr r2, [pc, #240] ; (8000abc ) - 80009ca: 4b3d ldr r3, [pc, #244] ; (8000ac0 ) - 80009cc: 493d ldr r1, [pc, #244] ; (8000ac4 ) - 80009ce: a802 add r0, sp, #8 - 80009d0: f003 fa8c bl 8003eec - 80009d4: 493c ldr r1, [pc, #240] ; (8000ac8 ) - 80009d6: a802 add r0, sp, #8 - 80009d8: f003 fac0 bl 8003f5c - 80009dc: a80d add r0, sp, #52 ; 0x34 - 80009de: f001 feeb bl 80027b8 - 80009e2: a803 add r0, sp, #12 - 80009e4: f001 f916 bl 8001c14 - 80009e8: a805 add r0, sp, #20 - 80009ea: f001 fa99 bl 8001f20 - 80009ee: ab06 add r3, sp, #24 - 80009f0: a905 add r1, sp, #20 - 80009f2: a82f add r0, sp, #188 ; 0xbc - 80009f4: 935d str r3, [sp, #372] ; 0x174 - 80009f6: f002 fcb3 bl 8003360 - 80009fa: a82f add r0, sp, #188 ; 0xbc - 80009fc: f002 fdfc bl 80035f8 - 8000a00: 2101 movs r1, #1 - 8000a02: a807 add r0, sp, #28 - 8000a04: f003 fae2 bl 8003fcc - 8000a08: 2300 movs r3, #0 - 8000a0a: 2206 movs r2, #6 - 8000a0c: 2109 movs r1, #9 - 8000a0e: a823 add r0, sp, #140 ; 0x8c - 8000a10: f001 fc8e bl 8002330 - 8000a14: a804 add r0, sp, #16 - 8000a16: f001 fab9 bl 8001f8c - 8000a1a: a904 add r1, sp, #16 - 8000a1c: a81a add r0, sp, #104 ; 0x68 - 8000a1e: f001 fd99 bl 8002554 - 8000a22: a81a add r0, sp, #104 ; 0x68 - 8000a24: f001 fda0 bl 8002568 - 8000a28: b118 cbz r0, 8000a32 - 8000a2a: a923 add r1, sp, #140 ; 0x8c - 8000a2c: a81a add r0, sp, #104 ; 0x68 - 8000a2e: f001 fda7 bl 8002580 - 8000a32: 2301 movs r3, #1 - 8000a34: 2104 movs r1, #4 - 8000a36: a807 add r0, sp, #28 - 8000a38: f88d 309a strb.w r3, [sp, #154] ; 0x9a - 8000a3c: f003 fac6 bl 8003fcc - 8000a40: 4a22 ldr r2, [pc, #136] ; (8000acc ) - 8000a42: 2103 movs r1, #3 - 8000a44: a813 add r0, sp, #76 ; 0x4c - 8000a46: f7ff ff3e bl 80008c6 - 8000a4a: 2102 movs r1, #2 - 8000a4c: f64f 70ff movw r0, #65535 ; 0xffff - 8000a50: f003 fee6 bl 8004820 - 8000a54: 2801 cmp r0, #1 - 8000a56: bf0c ite eq - 8000a58: 2301 moveq r3, #1 - 8000a5a: 2300 movne r3, #0 - 8000a5c: f88d 3004 strb.w r3, [sp, #4] - 8000a60: d101 bne.n 8000a66 - 8000a62: f003 fecd bl 8004800 - 8000a66: 4d1a ldr r5, [pc, #104] ; (8000ad0 ) - 8000a68: 4c1a ldr r4, [pc, #104] ; (8000ad4 ) - 8000a6a: 2601 movs r6, #1 - 8000a6c: f003 fed0 bl 8004810 - 8000a70: f7ff fd66 bl 8000540 - 8000a74: a823 add r0, sp, #140 ; 0x8c - 8000a76: f001 fcc9 bl 800240c - 8000a7a: 9a0a ldr r2, [sp, #40] ; 0x28 - 8000a7c: 2a00 cmp r2, #0 - 8000a7e: d0f5 beq.n 8000a6c - 8000a80: 682b ldr r3, [r5, #0] - 8000a82: 990c ldr r1, [sp, #48] ; 0x30 - 8000a84: 1a5b subs r3, r3, r1 - 8000a86: 429a cmp r2, r3 - 8000a88: d8f0 bhi.n 8000a6c - 8000a8a: 682b ldr r3, [r5, #0] - 8000a8c: 930c str r3, [sp, #48] ; 0x30 - 8000a8e: 9b0b ldr r3, [sp, #44] ; 0x2c - 8000a90: 2b01 cmp r3, #1 - 8000a92: f083 0201 eor.w r2, r3, #1 - 8000a96: 920b str r2, [sp, #44] ; 0x2c - 8000a98: bf14 ite ne - 8000a9a: f8c4 6818 strne.w r6, [r4, #2072] ; 0x818 - 8000a9e: f8c4 3828 streq.w r3, [r4, #2088] ; 0x828 - 8000aa2: e7e3 b.n 8000a6c - 8000aa4: 40020800 andmi r0, r2, r0, lsl #16 - 8000aa8: e000e180 and lr, r0, r0, lsl #3 - 8000aac: e000e1a0 and lr, r0, r0, lsr #3 - 8000ab0: e000e280 and lr, r0, r0, lsl #5 - 8000ab4: e000e2a0 and lr, r0, r0, lsr #5 - 8000ab8: 08008000 stmdaeq r0, {pc} - 8000abc: 08006429 stmdaeq r0, {r0, r3, r5, sl, sp, lr} - 8000ac0: 08006420 stmdaeq r0, {r5, sl, sp, lr} - 8000ac4: 08006461 stmdaeq r0, {r0, r5, r6, sl, sp, lr} - 8000ac8: 08006435 stmdaeq r0, {r0, r2, r4, r5, sl, sp, lr} - 8000acc: 0800644c stmdaeq r0, {r2, r3, r6, sl, sp, lr} - 8000ad0: 2000323c andcs r3, r0, ip, lsr r2 - 8000ad4: 40020000 andmi r0, r2, r0 - -08000ad8 : - 8000ad8: b110 cbz r0, 8000ae0 - 8000ada: 6803 ldr r3, [r0, #0] - 8000adc: 699b ldr r3, [r3, #24] - 8000ade: 4718 bx r3 - 8000ae0: 4770 bx lr - -08000ae2 : - 8000ae2: b110 cbz r0, 8000aea - 8000ae4: 6803 ldr r3, [r0, #0] - 8000ae6: 691b ldr r3, [r3, #16] - 8000ae8: 4718 bx r3 - 8000aea: 4770 bx lr - -08000aec : - 8000aec: 7c43 ldrb r3, [r0, #17] - 8000aee: b513 push {r0, r1, r4, lr} - 8000af0: 4604 mov r4, r0 - 8000af2: b19b cbz r3, 8000b1c - 8000af4: 43c9 mvns r1, r1 - 8000af6: 2312 movs r3, #18 - 8000af8: 7a00 ldrb r0, [r0, #8] - 8000afa: f88d 3004 strb.w r3, [sp, #4] - 8000afe: f3c1 2307 ubfx r3, r1, #8, #8 - 8000b02: f88d 1006 strb.w r1, [sp, #6] - 8000b06: f88d 3005 strb.w r3, [sp, #5] - 8000b0a: f004 fa8f bl 800502c - 8000b0e: 68e0 ldr r0, [r4, #12] - 8000b10: f004 fa84 bl 800501c - 8000b14: 2103 movs r1, #3 - 8000b16: a801 add r0, sp, #4 - 8000b18: f004 fa8e bl 8005038 - 8000b1c: b002 add sp, #8 - 8000b1e: bd10 pop {r4, pc} - -08000b20 : - 8000b20: b510 push {r4, lr} - 8000b22: 4c06 ldr r4, [pc, #24] ; (8000b3c ) - 8000b24: 6823 ldr r3, [r4, #0] - 8000b26: 2102 movs r1, #2 - 8000b28: 6998 ldr r0, [r3, #24] - 8000b2a: f7ff ffda bl 8000ae2 - 8000b2e: 6823 ldr r3, [r4, #0] - 8000b30: 4903 ldr r1, [pc, #12] ; (8000b40 ) - 8000b32: 6998 ldr r0, [r3, #24] - 8000b34: e8bd 4010 ldmia.w sp!, {r4, lr} - 8000b38: f7ff bfce b.w 8000ad8 - 8000b3c: 200000d4 ldrdcs r0, [r0], -r4 - 8000b40: 08006465 stmdaeq r0, {r0, r2, r5, r6, sl, sp, lr} - -08000b44 : - 8000b44: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - 8000b48: 4c15 ldr r4, [pc, #84] ; (8000ba0 ) - 8000b4a: 6823 ldr r3, [r4, #0] - 8000b4c: b088 sub sp, #32 - 8000b4e: 6998 ldr r0, [r3, #24] - 8000b50: 2102 movs r1, #2 - 8000b52: f7ff ffc6 bl 8000ae2 - 8000b56: 4b13 ldr r3, [pc, #76] ; (8000ba4 ) - 8000b58: 6826 ldr r6, [r4, #0] - 8000b5a: 681d ldr r5, [r3, #0] - 8000b5c: 696c ldr r4, [r5, #20] - 8000b5e: 69e8 ldr r0, [r5, #28] - 8000b60: b2e3 uxtb r3, r4 - 8000b62: 9307 str r3, [sp, #28] - 8000b64: f000 f86c bl 8000c40 <__popcountsi2> - 8000b68: 79ea ldrb r2, [r5, #7] - 8000b6a: 9b07 ldr r3, [sp, #28] - 8000b6c: f3c4 2707 ubfx r7, r4, #8, #8 - 8000b70: f3c4 4807 ubfx r8, r4, #16, #8 - 8000b74: 0e24 lsrs r4, r4, #24 - 8000b76: b98a cbnz r2, 8000b9c - 8000b78: 796a ldrb r2, [r5, #5] - 8000b7a: 2a00 cmp r2, #0 - 8000b7c: bf14 ite ne - 8000b7e: 2244 movne r2, #68 ; 0x44 - 8000b80: 2253 moveq r2, #83 ; 0x53 - 8000b82: e9cd 0203 strd r0, r2, [sp, #12] - 8000b86: e9cd 8401 strd r8, r4, [sp, #4] - 8000b8a: 4a07 ldr r2, [pc, #28] ; (8000ba8 ) - 8000b8c: 9700 str r7, [sp, #0] - 8000b8e: 2102 movs r1, #2 - 8000b90: 4630 mov r0, r6 - 8000b92: f7ff fe98 bl 80008c6 - 8000b96: b008 add sp, #32 - 8000b98: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} - 8000b9c: 225a movs r2, #90 ; 0x5a - 8000b9e: e7f0 b.n 8000b82 - 8000ba0: 200000d4 ldrdcs r0, [r0], -r4 - 8000ba4: 20002f10 andcs r2, r0, r0, lsl pc - 8000ba8: 08006474 stmdaeq r0, {r2, r4, r5, r6, sl, sp, lr} - -08000bac : - 8000bac: b510 push {r4, lr} - 8000bae: 4c06 ldr r4, [pc, #24] ; (8000bc8 ) - 8000bb0: 6823 ldr r3, [r4, #0] - 8000bb2: 2102 movs r1, #2 - 8000bb4: 6998 ldr r0, [r3, #24] - 8000bb6: f7ff ff94 bl 8000ae2 - 8000bba: 6823 ldr r3, [r4, #0] - 8000bbc: 4903 ldr r1, [pc, #12] ; (8000bcc ) - 8000bbe: 6998 ldr r0, [r3, #24] - 8000bc0: e8bd 4010 ldmia.w sp!, {r4, lr} - 8000bc4: f7ff bf88 b.w 8000ad8 - 8000bc8: 200000d4 ldrdcs r0, [r0], -r4 - 8000bcc: 08006486 stmdaeq r0, {r1, r2, r7, sl, sp, lr} - -08000bd0 : - 8000bd0: b538 push {r3, r4, r5, lr} - 8000bd2: 4c16 ldr r4, [pc, #88] ; (8000c2c ) - 8000bd4: 6823 ldr r3, [r4, #0] - 8000bd6: 460d mov r5, r1 - 8000bd8: 6998 ldr r0, [r3, #24] - 8000bda: 2102 movs r1, #2 - 8000bdc: f7ff ff81 bl 8000ae2 - 8000be0: 1e69 subs r1, r5, #1 - 8000be2: 2903 cmp r1, #3 - 8000be4: d815 bhi.n 8000c12 - 8000be6: e8df f001 tbb [pc, r1] - 8000bea: 18150a02 ldmdane r5, {r1, r9, fp} - 8000bee: 6823 ldr r3, [r4, #0] - 8000bf0: 490f ldr r1, [pc, #60] ; (8000c30 ) - 8000bf2: 6998 ldr r0, [r3, #24] - 8000bf4: f7ff ff70 bl 8000ad8 - 8000bf8: f44f 41b6 mov.w r1, #23296 ; 0x5b00 - 8000bfc: e006 b.n 8000c0c - 8000bfe: 6823 ldr r3, [r4, #0] - 8000c00: 490c ldr r1, [pc, #48] ; (8000c34 ) - 8000c02: 6998 ldr r0, [r3, #24] - 8000c04: f7ff ff68 bl 8000ad8 - 8000c08: f248 0180 movw r1, #32896 ; 0x8080 - 8000c0c: 6820 ldr r0, [r4, #0] - 8000c0e: f7ff ff6d bl 8000aec - 8000c12: bd38 pop {r3, r4, r5, pc} - 8000c14: 6823 ldr r3, [r4, #0] - 8000c16: 4908 ldr r1, [pc, #32] ; (8000c38 ) - 8000c18: e7eb b.n 8000bf2 - 8000c1a: 6823 ldr r3, [r4, #0] - 8000c1c: 4907 ldr r1, [pc, #28] ; (8000c3c ) - 8000c1e: 6998 ldr r0, [r3, #24] - 8000c20: f7ff ff5a bl 8000ad8 - 8000c24: f645 3179 movw r1, #23417 ; 0x5b79 - 8000c28: e7f0 b.n 8000c0c - 8000c2a: bf00 nop - 8000c2c: 200000d4 ldrdcs r0, [r0], -r4 - 8000c30: 08006498 stmdaeq r0, {r3, r4, r7, sl, sp, lr} - 8000c34: 080064a6 stmdaeq r0, {r1, r2, r5, r7, sl, sp, lr} - 8000c38: 080064ad stmdaeq r0, {r0, r2, r3, r5, r7, sl, sp, lr} - 8000c3c: 080064bb stmdaeq r0, {r0, r1, r3, r4, r5, r7, sl, sp, lr} - -08000c40 <__popcountsi2>: - 8000c40: 0843 lsrs r3, r0, #1 - 8000c42: f003 3355 and.w r3, r3, #1431655765 ; 0x55555555 - 8000c46: 1ac0 subs r0, r0, r3 - 8000c48: 0883 lsrs r3, r0, #2 - 8000c4a: f003 3333 and.w r3, r3, #858993459 ; 0x33333333 - 8000c4e: f000 3033 and.w r0, r0, #858993459 ; 0x33333333 - 8000c52: 4418 add r0, r3 - 8000c54: eb00 1010 add.w r0, r0, r0, lsr #4 - 8000c58: f000 300f and.w r0, r0, #252645135 ; 0xf0f0f0f - 8000c5c: eb00 2000 add.w r0, r0, r0, lsl #8 - 8000c60: eb00 4000 add.w r0, r0, r0, lsl #16 - 8000c64: 0e00 lsrs r0, r0, #24 - 8000c66: 4770 bx lr - -08000c68 <_itostr>: - 8000c68: b5f0 push {r4, r5, r6, r7, lr} - 8000c6a: 0fc7 lsrs r7, r0, #31 - 8000c6c: b091 sub sp, #68 ; 0x44 - 8000c6e: bf18 it ne - 8000c70: 4240 negne r0, r0 - 8000c72: f10d 043f add.w r4, sp, #63 ; 0x3f - 8000c76: b9c8 cbnz r0, 8000cac <_itostr+0x44> - 8000c78: 2330 movs r3, #48 ; 0x30 - 8000c7a: f88d 303f strb.w r3, [sp, #63] ; 0x3f - 8000c7e: f10d 033e add.w r3, sp, #62 ; 0x3e - 8000c82: b132 cbz r2, 8000c92 <_itostr+0x2a> - 8000c84: 4668 mov r0, sp - 8000c86: 2530 movs r5, #48 ; 0x30 - 8000c88: 1ae6 subs r6, r4, r3 - 8000c8a: 4296 cmp r6, r2 - 8000c8c: da01 bge.n 8000c92 <_itostr+0x2a> - 8000c8e: 4283 cmp r3, r0 - 8000c90: d81c bhi.n 8000ccc <_itostr+0x64> - 8000c92: b117 cbz r7, 8000c9a <_itostr+0x32> - 8000c94: 222d movs r2, #45 ; 0x2d - 8000c96: f803 2901 strb.w r2, [r3], #-1 - 8000c9a: 3301 adds r3, #1 - 8000c9c: 1ae0 subs r0, r4, r3 - 8000c9e: 3901 subs r1, #1 - 8000ca0: aa10 add r2, sp, #64 ; 0x40 - 8000ca2: 4293 cmp r3, r2 - 8000ca4: d315 bcc.n 8000cd2 <_itostr+0x6a> - 8000ca6: 3001 adds r0, #1 - 8000ca8: b011 add sp, #68 ; 0x44 - 8000caa: bdf0 pop {r4, r5, r6, r7, pc} - 8000cac: 4623 mov r3, r4 - 8000cae: 250a movs r5, #10 - 8000cb0: 46ec mov ip, sp - 8000cb2: fb90 f6f5 sdiv r6, r0, r5 - 8000cb6: fb05 0016 mls r0, r5, r6, r0 - 8000cba: 3030 adds r0, #48 ; 0x30 - 8000cbc: f803 0901 strb.w r0, [r3], #-1 - 8000cc0: 4630 mov r0, r6 - 8000cc2: 2e00 cmp r6, #0 - 8000cc4: d0dd beq.n 8000c82 <_itostr+0x1a> - 8000cc6: 4563 cmp r3, ip - 8000cc8: d1f3 bne.n 8000cb2 <_itostr+0x4a> - 8000cca: e7da b.n 8000c82 <_itostr+0x1a> - 8000ccc: f803 5901 strb.w r5, [r3], #-1 - 8000cd0: e7da b.n 8000c88 <_itostr+0x20> - 8000cd2: f813 2b01 ldrb.w r2, [r3], #1 - 8000cd6: f801 2f01 strb.w r2, [r1, #1]! - 8000cda: e7e1 b.n 8000ca0 <_itostr+0x38> - -08000cdc <_xputch>: - 8000cdc: 4603 mov r3, r0 - 8000cde: b410 push {r4} - 8000ce0: 4c09 ldr r4, [pc, #36] ; (8000d08 <_xputch+0x2c>) - 8000ce2: 68da ldr r2, [r3, #12] - 8000ce4: 4608 mov r0, r1 - 8000ce6: 6821 ldr r1, [r4, #0] - 8000ce8: 3201 adds r2, #1 - 8000cea: 60da str r2, [r3, #12] - 8000cec: b141 cbz r1, 8000d00 <_xputch+0x24> - 8000cee: 691b ldr r3, [r3, #16] - 8000cf0: 429a cmp r2, r3 - 8000cf2: da02 bge.n 8000cfa <_xputch+0x1e> - 8000cf4: 1c4b adds r3, r1, #1 - 8000cf6: 6023 str r3, [r4, #0] - 8000cf8: 7008 strb r0, [r1, #0] - 8000cfa: f85d 4b04 ldr.w r4, [sp], #4 - 8000cfe: 4770 bx lr - 8000d00: f85d 4b04 ldr.w r4, [sp], #4 - 8000d04: f003 b8a1 b.w 8003e4a - 8000d08: 200000d0 ldrdcs r0, [r0], -r0 ; - -08000d0c <_format_int>: - 8000d0c: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} - 8000d10: 4698 mov r8, r3 - 8000d12: b091 sub sp, #68 ; 0x44 - 8000d14: ea52 0308 orrs.w r3, r2, r8 - 8000d18: 4606 mov r6, r0 - 8000d1a: 4617 mov r7, r2 - 8000d1c: f10d 053f add.w r5, sp, #63 ; 0x3f - 8000d20: d133 bne.n 8000d8a <_format_int+0x7e> - 8000d22: 2330 movs r3, #48 ; 0x30 - 8000d24: f88d 303f strb.w r3, [sp, #63] ; 0x3f - 8000d28: f10d 043e add.w r4, sp, #62 ; 0x3e - 8000d2c: 6833 ldr r3, [r6, #0] - 8000d2e: 07d8 lsls r0, r3, #31 - 8000d30: d507 bpl.n 8000d42 <_format_int+0x36> - 8000d32: 6871 ldr r1, [r6, #4] - 8000d34: 466a mov r2, sp - 8000d36: 2030 movs r0, #48 ; 0x30 - 8000d38: 1b2f subs r7, r5, r4 - 8000d3a: 428f cmp r7, r1 - 8000d3c: da01 bge.n 8000d42 <_format_int+0x36> - 8000d3e: 4294 cmp r4, r2 - 8000d40: d839 bhi.n 8000db6 <_format_int+0xaa> - 8000d42: 0699 lsls r1, r3, #26 - 8000d44: d507 bpl.n 8000d56 <_format_int+0x4a> - 8000d46: 68b1 ldr r1, [r6, #8] - 8000d48: 466a mov r2, sp - 8000d4a: 2030 movs r0, #48 ; 0x30 - 8000d4c: 1b2f subs r7, r5, r4 - 8000d4e: 428f cmp r7, r1 - 8000d50: da01 bge.n 8000d56 <_format_int+0x4a> - 8000d52: 4294 cmp r4, r2 - 8000d54: d832 bhi.n 8000dbc <_format_int+0xb0> - 8000d56: 071a lsls r2, r3, #28 - 8000d58: bf44 itt mi - 8000d5a: 222d movmi r2, #45 ; 0x2d - 8000d5c: f804 2901 strbmi.w r2, [r4], #-1 - 8000d60: 065b lsls r3, r3, #25 - 8000d62: d407 bmi.n 8000d74 <_format_int+0x68> - 8000d64: 68b2 ldr r2, [r6, #8] - 8000d66: 466b mov r3, sp - 8000d68: 2120 movs r1, #32 - 8000d6a: 1b28 subs r0, r5, r4 - 8000d6c: 4290 cmp r0, r2 - 8000d6e: da01 bge.n 8000d74 <_format_int+0x68> - 8000d70: 429c cmp r4, r3 - 8000d72: d826 bhi.n 8000dc2 <_format_int+0xb6> - 8000d74: 1b2d subs r5, r5, r4 - 8000d76: 3401 adds r4, #1 - 8000d78: ab10 add r3, sp, #64 ; 0x40 - 8000d7a: 429c cmp r4, r3 - 8000d7c: d324 bcc.n 8000dc8 <_format_int+0xbc> - 8000d7e: 68b3 ldr r3, [r6, #8] - 8000d80: 42ab cmp r3, r5 - 8000d82: dc27 bgt.n 8000dd4 <_format_int+0xc8> - 8000d84: b011 add sp, #68 ; 0x44 - 8000d86: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} - 8000d8a: 462c mov r4, r5 - 8000d8c: 46e9 mov r9, sp - 8000d8e: 4638 mov r0, r7 - 8000d90: 4641 mov r1, r8 - 8000d92: 220a movs r2, #10 - 8000d94: 2300 movs r3, #0 - 8000d96: f7ff fd7b bl 8000890 <__aeabi_uldivmod> - 8000d9a: 3230 adds r2, #48 ; 0x30 - 8000d9c: f804 2901 strb.w r2, [r4], #-1 - 8000da0: 463a mov r2, r7 - 8000da2: 4643 mov r3, r8 - 8000da4: 2a0a cmp r2, #10 - 8000da6: f173 0300 sbcs.w r3, r3, #0 - 8000daa: 4607 mov r7, r0 - 8000dac: 4688 mov r8, r1 - 8000dae: d3bd bcc.n 8000d2c <_format_int+0x20> - 8000db0: 454c cmp r4, r9 - 8000db2: d1ec bne.n 8000d8e <_format_int+0x82> - 8000db4: e7ba b.n 8000d2c <_format_int+0x20> - 8000db6: f804 0901 strb.w r0, [r4], #-1 - 8000dba: e7bd b.n 8000d38 <_format_int+0x2c> - 8000dbc: f804 0901 strb.w r0, [r4], #-1 - 8000dc0: e7c4 b.n 8000d4c <_format_int+0x40> - 8000dc2: f804 1901 strb.w r1, [r4], #-1 - 8000dc6: e7d0 b.n 8000d6a <_format_int+0x5e> - 8000dc8: f814 1b01 ldrb.w r1, [r4], #1 - 8000dcc: 4630 mov r0, r6 - 8000dce: f7ff ff85 bl 8000cdc <_xputch> - 8000dd2: e7d1 b.n 8000d78 <_format_int+0x6c> - 8000dd4: 2120 movs r1, #32 - 8000dd6: 4630 mov r0, r6 - 8000dd8: f7ff ff80 bl 8000cdc <_xputch> - 8000ddc: 3501 adds r5, #1 - 8000dde: e7ce b.n 8000d7e <_format_int+0x72> - -08000de0 <_format_hex>: - 8000de0: b5f0 push {r4, r5, r6, r7, lr} - 8000de2: b091 sub sp, #68 ; 0x44 - 8000de4: 6804 ldr r4, [r0, #0] - 8000de6: 4606 mov r6, r0 - 8000de8: f10d 023f add.w r2, sp, #63 ; 0x3f - 8000dec: bb61 cbnz r1, 8000e48 <_format_hex+0x68> - 8000dee: 2330 movs r3, #48 ; 0x30 - 8000df0: f88d 303f strb.w r3, [sp, #63] ; 0x3f - 8000df4: f10d 033e add.w r3, sp, #62 ; 0x3e - 8000df8: 07e5 lsls r5, r4, #31 - 8000dfa: d507 bpl.n 8000e0c <_format_hex+0x2c> - 8000dfc: 6870 ldr r0, [r6, #4] - 8000dfe: 4669 mov r1, sp - 8000e00: 2530 movs r5, #48 ; 0x30 - 8000e02: 1ad7 subs r7, r2, r3 - 8000e04: 4287 cmp r7, r0 - 8000e06: da01 bge.n 8000e0c <_format_hex+0x2c> - 8000e08: 428b cmp r3, r1 - 8000e0a: d831 bhi.n 8000e70 <_format_hex+0x90> - 8000e0c: 06a0 lsls r0, r4, #26 - 8000e0e: d507 bpl.n 8000e20 <_format_hex+0x40> - 8000e10: 68b0 ldr r0, [r6, #8] - 8000e12: 4669 mov r1, sp - 8000e14: 2530 movs r5, #48 ; 0x30 - 8000e16: 1ad7 subs r7, r2, r3 - 8000e18: 4287 cmp r7, r0 - 8000e1a: da01 bge.n 8000e20 <_format_hex+0x40> - 8000e1c: 428b cmp r3, r1 - 8000e1e: d82a bhi.n 8000e76 <_format_hex+0x96> - 8000e20: 0661 lsls r1, r4, #25 - 8000e22: d407 bmi.n 8000e34 <_format_hex+0x54> - 8000e24: 68b0 ldr r0, [r6, #8] - 8000e26: 4669 mov r1, sp - 8000e28: 2420 movs r4, #32 - 8000e2a: 1ad5 subs r5, r2, r3 - 8000e2c: 4285 cmp r5, r0 - 8000e2e: da01 bge.n 8000e34 <_format_hex+0x54> - 8000e30: 428b cmp r3, r1 - 8000e32: d823 bhi.n 8000e7c <_format_hex+0x9c> - 8000e34: 1ad5 subs r5, r2, r3 - 8000e36: 1c5c adds r4, r3, #1 - 8000e38: ab10 add r3, sp, #64 ; 0x40 - 8000e3a: 429c cmp r4, r3 - 8000e3c: d321 bcc.n 8000e82 <_format_hex+0xa2> - 8000e3e: 68b3 ldr r3, [r6, #8] - 8000e40: 429d cmp r5, r3 - 8000e42: db24 blt.n 8000e8e <_format_hex+0xae> - 8000e44: b011 add sp, #68 ; 0x44 - 8000e46: bdf0 pop {r4, r5, r6, r7, pc} - 8000e48: f014 0f02 tst.w r4, #2 - 8000e4c: bf0c ite eq - 8000e4e: 2757 moveq r7, #87 ; 0x57 - 8000e50: 2737 movne r7, #55 ; 0x37 - 8000e52: 4613 mov r3, r2 - 8000e54: 466d mov r5, sp - 8000e56: f001 000f and.w r0, r1, #15 - 8000e5a: 2809 cmp r0, #9 - 8000e5c: bf94 ite ls - 8000e5e: 3030 addls r0, #48 ; 0x30 - 8000e60: 19c0 addhi r0, r0, r7 - 8000e62: 0909 lsrs r1, r1, #4 - 8000e64: f803 0901 strb.w r0, [r3], #-1 - 8000e68: d0c6 beq.n 8000df8 <_format_hex+0x18> - 8000e6a: 42ab cmp r3, r5 - 8000e6c: d1f3 bne.n 8000e56 <_format_hex+0x76> - 8000e6e: e7c3 b.n 8000df8 <_format_hex+0x18> - 8000e70: f803 5901 strb.w r5, [r3], #-1 - 8000e74: e7c5 b.n 8000e02 <_format_hex+0x22> - 8000e76: f803 5901 strb.w r5, [r3], #-1 - 8000e7a: e7cc b.n 8000e16 <_format_hex+0x36> - 8000e7c: f803 4901 strb.w r4, [r3], #-1 - 8000e80: e7d3 b.n 8000e2a <_format_hex+0x4a> - 8000e82: f814 1b01 ldrb.w r1, [r4], #1 - 8000e86: 4630 mov r0, r6 - 8000e88: f7ff ff28 bl 8000cdc <_xputch> - 8000e8c: e7d4 b.n 8000e38 <_format_hex+0x58> - 8000e8e: 2120 movs r1, #32 - 8000e90: 4630 mov r0, r6 - 8000e92: f7ff ff23 bl 8000cdc <_xputch> - 8000e96: 3501 adds r5, #1 - 8000e98: e7d1 b.n 8000e3e <_format_hex+0x5e> - ... -08000e9c <_vprintf>: - 8000e9c: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} - 8000ea0: f04f 0800 mov.w r8, #0 - 8000ea4: b096 sub sp, #88 ; 0x58 - 8000ea6: e9cd 8004 strd r8, r0, [sp, #16] - 8000eaa: 4614 mov r4, r2 - 8000eac: af06 add r7, sp, #24 - 8000eae: 780b ldrb r3, [r1, #0] - 8000eb0: b91b cbnz r3, 8000eba <_vprintf+0x1e> - 8000eb2: 9804 ldr r0, [sp, #16] - 8000eb4: b016 add sp, #88 ; 0x58 - 8000eb6: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} - 8000eba: 2b25 cmp r3, #37 ; 0x25 - 8000ebc: f101 0601 add.w r6, r1, #1 - 8000ec0: d005 beq.n 8000ece <_vprintf+0x32> - 8000ec2: 4619 mov r1, r3 - 8000ec4: a801 add r0, sp, #4 - 8000ec6: f7ff ff09 bl 8000cdc <_xputch> - 8000eca: 4631 mov r1, r6 - 8000ecc: e7ef b.n 8000eae <_vprintf+0x12> - 8000ece: 784b ldrb r3, [r1, #1] - 8000ed0: f8cd 800c str.w r8, [sp, #12] - 8000ed4: 2b30 cmp r3, #48 ; 0x30 - 8000ed6: e9cd 8801 strd r8, r8, [sp, #4] - 8000eda: d129 bne.n 8000f30 <_vprintf+0x94> - 8000edc: 2320 movs r3, #32 - 8000ede: 9301 str r3, [sp, #4] - 8000ee0: 1c8e adds r6, r1, #2 - 8000ee2: 2200 movs r2, #0 - 8000ee4: 4635 mov r5, r6 - 8000ee6: 4613 mov r3, r2 - 8000ee8: f04f 0c0a mov.w ip, #10 - 8000eec: 7829 ldrb r1, [r5, #0] - 8000eee: f1a1 0030 sub.w r0, r1, #48 ; 0x30 - 8000ef2: 2809 cmp r0, #9 - 8000ef4: 462e mov r6, r5 - 8000ef6: f105 0501 add.w r5, r5, #1 - 8000efa: d91d bls.n 8000f38 <_vprintf+0x9c> - 8000efc: b12a cbz r2, 8000f0a <_vprintf+0x6e> - 8000efe: 9303 str r3, [sp, #12] - 8000f00: b11b cbz r3, 8000f0a <_vprintf+0x6e> - 8000f02: 9b01 ldr r3, [sp, #4] - 8000f04: f043 0310 orr.w r3, r3, #16 - 8000f08: 9301 str r3, [sp, #4] - 8000f0a: 292e cmp r1, #46 ; 0x2e - 8000f0c: d123 bne.n 8000f56 <_vprintf+0xba> - 8000f0e: 7873 ldrb r3, [r6, #1] - 8000f10: 2b2a cmp r3, #42 ; 0x2a - 8000f12: d015 beq.n 8000f40 <_vprintf+0xa4> - 8000f14: 2100 movs r1, #0 - 8000f16: 1c70 adds r0, r6, #1 - 8000f18: 460a mov r2, r1 - 8000f1a: 250a movs r5, #10 - 8000f1c: 7803 ldrb r3, [r0, #0] - 8000f1e: 3b30 subs r3, #48 ; 0x30 - 8000f20: 2b09 cmp r3, #9 - 8000f22: 4606 mov r6, r0 - 8000f24: f100 0001 add.w r0, r0, #1 - 8000f28: d958 bls.n 8000fdc <_vprintf+0x140> - 8000f2a: b181 cbz r1, 8000f4e <_vprintf+0xb2> - 8000f2c: 9202 str r2, [sp, #8] - 8000f2e: e00e b.n 8000f4e <_vprintf+0xb2> - 8000f30: 2b2d cmp r3, #45 ; 0x2d - 8000f32: d1d6 bne.n 8000ee2 <_vprintf+0x46> - 8000f34: 2340 movs r3, #64 ; 0x40 - 8000f36: e7d2 b.n 8000ede <_vprintf+0x42> - 8000f38: fb0c 0303 mla r3, ip, r3, r0 - 8000f3c: 2201 movs r2, #1 - 8000f3e: e7d5 b.n 8000eec <_vprintf+0x50> - 8000f40: f854 3b04 ldr.w r3, [r4], #4 - 8000f44: 2b00 cmp r3, #0 - 8000f46: bfb8 it lt - 8000f48: 425b neglt r3, r3 - 8000f4a: 3602 adds r6, #2 - 8000f4c: 9302 str r3, [sp, #8] - 8000f4e: 9b01 ldr r3, [sp, #4] - 8000f50: f043 0301 orr.w r3, r3, #1 - 8000f54: 9301 str r3, [sp, #4] - 8000f56: 7833 ldrb r3, [r6, #0] - 8000f58: 2b6c cmp r3, #108 ; 0x6c - 8000f5a: bf04 itt eq - 8000f5c: 3601 addeq r6, #1 - 8000f5e: 9b01 ldreq r3, [sp, #4] - 8000f60: 7831 ldrb r1, [r6, #0] - 8000f62: bf04 itt eq - 8000f64: f043 0304 orreq.w r3, r3, #4 - 8000f68: 9301 streq r3, [sp, #4] - 8000f6a: 2958 cmp r1, #88 ; 0x58 - 8000f6c: f000 8169 beq.w 8001242 <_vprintf+0x3a6> - 8000f70: f1a1 0363 sub.w r3, r1, #99 ; 0x63 - 8000f74: b2da uxtb r2, r3 - 8000f76: 2a15 cmp r2, #21 - 8000f78: d8a4 bhi.n 8000ec4 <_vprintf+0x28> - 8000f7a: 2b15 cmp r3, #21 - 8000f7c: d8a2 bhi.n 8000ec4 <_vprintf+0x28> - 8000f7e: a201 add r2, pc, #4 ; (adr r2, 8000f84 <_vprintf+0xe8>) - 8000f80: f852 f023 ldr.w pc, [r2, r3, lsl #2] - 8000f84: 08000fe5 stmdaeq r0, {r0, r2, r5, r6, r7, r8, r9, sl, fp} - 8000f88: 08000ff7 stmdaeq r0, {r0, r1, r2, r4, r5, r6, r7, r8, r9, sl, fp} - 8000f8c: 08000ec5 stmdaeq r0, {r0, r2, r6, r7, r9, sl, fp} - 8000f90: 0800102d stmdaeq r0, {r0, r2, r3, r5, ip} - 8000f94: 08000ec5 stmdaeq r0, {r0, r2, r6, r7, r9, sl, fp} - 8000f98: 08000ec5 stmdaeq r0, {r0, r2, r6, r7, r9, sl, fp} - 8000f9c: 08000ff7 stmdaeq r0, {r0, r1, r2, r4, r5, r6, r7, r8, r9, sl, fp} - 8000fa0: 08000ec5 stmdaeq r0, {r0, r2, r6, r7, r9, sl, fp} - 8000fa4: 08000ec5 stmdaeq r0, {r0, r2, r6, r7, r9, sl, fp} - 8000fa8: 08000ec5 stmdaeq r0, {r0, r2, r6, r7, r9, sl, fp} - 8000fac: 08000ec5 stmdaeq r0, {r0, r2, r6, r7, r9, sl, fp} - 8000fb0: 08000ec5 stmdaeq r0, {r0, r2, r6, r7, r9, sl, fp} - 8000fb4: 08000ec5 stmdaeq r0, {r0, r2, r6, r7, r9, sl, fp} - 8000fb8: 08001185 stmdaeq r0, {r0, r2, r7, r8, ip} - 8000fbc: 08000ec5 stmdaeq r0, {r0, r2, r6, r7, r9, sl, fp} - 8000fc0: 08000ec5 stmdaeq r0, {r0, r2, r6, r7, r9, sl, fp} - 8000fc4: 080011ad stmdaeq r0, {r0, r2, r3, r5, r7, r8, ip} - 8000fc8: 08000ec5 stmdaeq r0, {r0, r2, r6, r7, r9, sl, fp} - 8000fcc: 08001223 stmdaeq r0, {r0, r1, r5, r9, ip} - 8000fd0: 08000ec5 stmdaeq r0, {r0, r2, r6, r7, r9, sl, fp} - 8000fd4: 08000ec5 stmdaeq r0, {r0, r2, r6, r7, r9, sl, fp} - 8000fd8: 0800124b stmdaeq r0, {r0, r1, r3, r6, r9, ip} - 8000fdc: fb05 3202 mla r2, r5, r2, r3 - 8000fe0: 2101 movs r1, #1 - 8000fe2: e79b b.n 8000f1c <_vprintf+0x80> - 8000fe4: 4625 mov r5, r4 - 8000fe6: a801 add r0, sp, #4 - 8000fe8: f855 1b04 ldr.w r1, [r5], #4 - 8000fec: f7ff fe76 bl 8000cdc <_xputch> - 8000ff0: 3601 adds r6, #1 - 8000ff2: 462c mov r4, r5 - 8000ff4: e769 b.n 8000eca <_vprintf+0x2e> - 8000ff6: 9901 ldr r1, [sp, #4] - 8000ff8: 074d lsls r5, r1, #29 - 8000ffa: bf4b itete mi - 8000ffc: 3407 addmi r4, #7 - 8000ffe: 4625 movpl r5, r4 - 8001000: f024 0407 bicmi.w r4, r4, #7 - 8001004: f855 2b04 ldrpl.w r2, [r5], #4 - 8001008: bf45 ittet mi - 800100a: 6863 ldrmi r3, [r4, #4] - 800100c: 4625 movmi r5, r4 - 800100e: 17d3 asrpl r3, r2, #31 - 8001010: f855 2b08 ldrmi.w r2, [r5], #8 - 8001014: 2b00 cmp r3, #0 - 8001016: da05 bge.n 8001024 <_vprintf+0x188> - 8001018: f041 0108 orr.w r1, r1, #8 - 800101c: 4252 negs r2, r2 - 800101e: 9101 str r1, [sp, #4] - 8001020: eb63 0343 sbc.w r3, r3, r3, lsl #1 - 8001024: a801 add r0, sp, #4 - 8001026: f7ff fe71 bl 8000d0c <_format_int> - 800102a: e7e1 b.n 8000ff0 <_vprintf+0x154> - 800102c: 3407 adds r4, #7 - 800102e: f024 0507 bic.w r5, r4, #7 - 8001032: e8f5 0102 ldrd r0, r1, [r5], #8 - 8001036: f7ff fbdb bl 80007f0 <__aeabi_d2f> - 800103a: 9b01 ldr r3, [sp, #4] - 800103c: ee07 0a90 vmov s15, r0 - 8001040: 07dc lsls r4, r3, #31 - 8001042: eef5 7ac0 vcmpe.f32 s15, #0.0 - 8001046: bf4c ite mi - 8001048: 9c02 ldrmi r4, [sp, #8] - 800104a: 2406 movpl r4, #6 - 800104c: eef1 fa10 vmrs APSR_nzcv, fpscr - 8001050: bf48 it mi - 8001052: eef1 7a67 vnegmi.f32 s15, s15 - 8001056: eebd 7ae7 vcvt.s32.f32 s14, s15 - 800105a: bf4a itet mi - 800105c: f10d 0a19 addmi.w sl, sp, #25 - 8001060: 46ba movpl sl, r7 - 8001062: 232d movmi r3, #45 ; 0x2d - 8001064: ee17 0a10 vmov r0, s14 - 8001068: f04f 0200 mov.w r2, #0 - 800106c: 4651 mov r1, sl - 800106e: bf48 it mi - 8001070: f88d 3018 strbmi.w r3, [sp, #24] - 8001074: f7ff fdf8 bl 8000c68 <_itostr> - 8001078: eeb8 7ac7 vcvt.f32.s32 s14, s14 - 800107c: 232e movs r3, #46 ; 0x2e - 800107e: f80a 3000 strb.w r3, [sl, r0] - 8001082: eb0a 0900 add.w r9, sl, r0 - 8001086: 230a movs r3, #10 - 8001088: ee77 7ac7 vsub.f32 s15, s15, s14 - 800108c: 1c62 adds r2, r4, #1 - 800108e: f109 0901 add.w r9, r9, #1 - 8001092: 4619 mov r1, r3 - 8001094: 2c00 cmp r4, #0 - 8001096: dc3d bgt.n 8001114 <_vprintf+0x278> - 8001098: ee07 3a10 vmov s14, r3 - 800109c: eeb8 7ac7 vcvt.f32.s32 s14, s14 - 80010a0: 4649 mov r1, r9 - 80010a2: ee67 7a27 vmul.f32 s15, s14, s15 - 80010a6: eefd 7ae7 vcvt.s32.f32 s15, s15 - 80010aa: ee17 0a90 vmov r0, s15 - 80010ae: f7ff fddb bl 8000c68 <_itostr> - 80010b2: 4448 add r0, r9 - 80010b4: 1bc0 subs r0, r0, r7 - 80010b6: 1e44 subs r4, r0, #1 - 80010b8: 193a adds r2, r7, r4 - 80010ba: 5d3b ldrb r3, [r7, r4] - 80010bc: 2b34 cmp r3, #52 ; 0x34 - 80010be: d911 bls.n 80010e4 <_vprintf+0x248> - 80010c0: f812 1c01 ldrb.w r1, [r2, #-1] - 80010c4: 292e cmp r1, #46 ; 0x2e - 80010c6: f102 33ff add.w r3, r2, #4294967295 ; 0xffffffff - 80010ca: d029 beq.n 8001120 <_vprintf+0x284> - 80010cc: 469c mov ip, r3 - 80010ce: f04f 0e30 mov.w lr, #48 ; 0x30 - 80010d2: 4663 mov r3, ip - 80010d4: f81c 1901 ldrb.w r1, [ip], #-1 - 80010d8: 2939 cmp r1, #57 ; 0x39 - 80010da: d01e beq.n 800111a <_vprintf+0x27e> - 80010dc: 292e cmp r1, #46 ; 0x2e - 80010de: d01f beq.n 8001120 <_vprintf+0x284> - 80010e0: 3101 adds r1, #1 - 80010e2: 7019 strb r1, [r3, #0] - 80010e4: f104 0358 add.w r3, r4, #88 ; 0x58 - 80010e8: 446b add r3, sp - 80010ea: f813 3c41 ldrb.w r3, [r3, #-65] - 80010ee: 2b2e cmp r3, #46 ; 0x2e - 80010f0: bf08 it eq - 80010f2: f104 34ff addeq.w r4, r4, #4294967295 ; 0xffffffff - 80010f6: 46a1 mov r9, r4 - 80010f8: 9b03 ldr r3, [sp, #12] - 80010fa: 4599 cmp r9, r3 - 80010fc: db3b blt.n 8001176 <_vprintf+0x2da> - 80010fe: 46b9 mov r9, r7 - 8001100: 2c00 cmp r4, #0 - 8001102: f77f af75 ble.w 8000ff0 <_vprintf+0x154> - 8001106: f819 1b01 ldrb.w r1, [r9], #1 - 800110a: a801 add r0, sp, #4 - 800110c: f7ff fde6 bl 8000cdc <_xputch> - 8001110: 3c01 subs r4, #1 - 8001112: e7f5 b.n 8001100 <_vprintf+0x264> - 8001114: 434b muls r3, r1 - 8001116: 3c01 subs r4, #1 - 8001118: e7bc b.n 8001094 <_vprintf+0x1f8> - 800111a: f88c e001 strb.w lr, [ip, #1] - 800111e: e7d8 b.n 80010d2 <_vprintf+0x236> - 8001120: 3b01 subs r3, #1 - 8001122: f04f 0c30 mov.w ip, #48 ; 0x30 - 8001126: 7819 ldrb r1, [r3, #0] - 8001128: 2939 cmp r1, #57 ; 0x39 - 800112a: d112 bne.n 8001152 <_vprintf+0x2b6> - 800112c: 42bb cmp r3, r7 - 800112e: d20d bcs.n 800114c <_vprintf+0x2b0> - 8001130: 1c5c adds r4, r3, #1 - 8001132: 1c99 adds r1, r3, #2 - 8001134: 428c cmp r4, r1 - 8001136: eba2 0203 sub.w r2, r2, r3 - 800113a: d913 bls.n 8001164 <_vprintf+0x2c8> - 800113c: 4619 mov r1, r3 - 800113e: 441a add r2, r3 - 8001140: 428a cmp r2, r1 - 8001142: d10b bne.n 800115c <_vprintf+0x2c0> - 8001144: 2231 movs r2, #49 ; 0x31 - 8001146: 705a strb r2, [r3, #1] - 8001148: 4604 mov r4, r0 - 800114a: e7cb b.n 80010e4 <_vprintf+0x248> - 800114c: f803 c901 strb.w ip, [r3], #-1 - 8001150: e7e9 b.n 8001126 <_vprintf+0x28a> - 8001152: 42bb cmp r3, r7 - 8001154: d3ec bcc.n 8001130 <_vprintf+0x294> - 8001156: 292d cmp r1, #45 ; 0x2d - 8001158: d0ea beq.n 8001130 <_vprintf+0x294> - 800115a: e7c1 b.n 80010e0 <_vprintf+0x244> - 800115c: f811 4f01 ldrb.w r4, [r1, #1]! - 8001160: 704c strb r4, [r1, #1] - 8001162: e7ed b.n 8001140 <_vprintf+0x2a4> - 8001164: 4414 add r4, r2 - 8001166: 440a add r2, r1 - 8001168: 428a cmp r2, r1 - 800116a: d0eb beq.n 8001144 <_vprintf+0x2a8> - 800116c: f814 cd01 ldrb.w ip, [r4, #-1]! - 8001170: f802 cd01 strb.w ip, [r2, #-1]! - 8001174: e7f8 b.n 8001168 <_vprintf+0x2cc> - 8001176: 2120 movs r1, #32 - 8001178: a801 add r0, sp, #4 - 800117a: f7ff fdaf bl 8000cdc <_xputch> - 800117e: f109 0901 add.w r9, r9, #1 - 8001182: e7b9 b.n 80010f8 <_vprintf+0x25c> - 8001184: 4625 mov r5, r4 - 8001186: 2308 movs r3, #8 - 8001188: f855 4b04 ldr.w r4, [r5], #4 - 800118c: 9303 str r3, [sp, #12] - 800118e: 2130 movs r1, #48 ; 0x30 - 8001190: 2320 movs r3, #32 - 8001192: a801 add r0, sp, #4 - 8001194: 9301 str r3, [sp, #4] - 8001196: f7ff fda1 bl 8000cdc <_xputch> - 800119a: 2178 movs r1, #120 ; 0x78 - 800119c: a801 add r0, sp, #4 - 800119e: f7ff fd9d bl 8000cdc <_xputch> - 80011a2: 4621 mov r1, r4 - 80011a4: a801 add r0, sp, #4 - 80011a6: f7ff fe1b bl 8000de0 <_format_hex> - 80011aa: e721 b.n 8000ff0 <_vprintf+0x154> - 80011ac: 4625 mov r5, r4 - 80011ae: 2400 movs r4, #0 - 80011b0: f855 9b04 ldr.w r9, [r5], #4 - 80011b4: f819 3004 ldrb.w r3, [r9, r4] - 80011b8: b993 cbnz r3, 80011e0 <_vprintf+0x344> - 80011ba: 9b01 ldr r3, [sp, #4] - 80011bc: 07d9 lsls r1, r3, #31 - 80011be: d503 bpl.n 80011c8 <_vprintf+0x32c> - 80011c0: 9b02 ldr r3, [sp, #8] - 80011c2: 429c cmp r4, r3 - 80011c4: bfa8 it ge - 80011c6: 461c movge r4, r3 - 80011c8: 9b01 ldr r3, [sp, #4] - 80011ca: 065a lsls r2, r3, #25 - 80011cc: f104 0a01 add.w sl, r4, #1 - 80011d0: d403 bmi.n 80011da <_vprintf+0x33e> - 80011d2: 9b03 ldr r3, [sp, #12] - 80011d4: 429c cmp r4, r3 - 80011d6: db05 blt.n 80011e4 <_vprintf+0x348> - 80011d8: 4654 mov r4, sl - 80011da: f109 39ff add.w r9, r9, #4294967295 ; 0xffffffff - 80011de: e00d b.n 80011fc <_vprintf+0x360> - 80011e0: 3401 adds r4, #1 - 80011e2: e7e7 b.n 80011b4 <_vprintf+0x318> - 80011e4: 2120 movs r1, #32 - 80011e6: a801 add r0, sp, #4 - 80011e8: f7ff fd78 bl 8000cdc <_xputch> - 80011ec: 4654 mov r4, sl - 80011ee: e7eb b.n 80011c8 <_vprintf+0x32c> - 80011f0: a801 add r0, sp, #4 - 80011f2: f7ff fd73 bl 8000cdc <_xputch> - 80011f6: 9b02 ldr r3, [sp, #8] - 80011f8: 3b01 subs r3, #1 - 80011fa: 9302 str r3, [sp, #8] - 80011fc: 9b01 ldr r3, [sp, #4] - 80011fe: 07db lsls r3, r3, #31 - 8001200: d501 bpl.n 8001206 <_vprintf+0x36a> - 8001202: 9b02 ldr r3, [sp, #8] - 8001204: b11b cbz r3, 800120e <_vprintf+0x372> - 8001206: f819 1f01 ldrb.w r1, [r9, #1]! - 800120a: 2900 cmp r1, #0 - 800120c: d1f0 bne.n 80011f0 <_vprintf+0x354> - 800120e: 9b03 ldr r3, [sp, #12] - 8001210: 429c cmp r4, r3 - 8001212: f6bf aeed bge.w 8000ff0 <_vprintf+0x154> - 8001216: 2120 movs r1, #32 - 8001218: a801 add r0, sp, #4 - 800121a: f7ff fd5f bl 8000cdc <_xputch> - 800121e: 3401 adds r4, #1 - 8001220: e7f5 b.n 800120e <_vprintf+0x372> - 8001222: 9b01 ldr r3, [sp, #4] - 8001224: f013 0304 ands.w r3, r3, #4 - 8001228: bf1d ittte ne - 800122a: 3407 addne r4, #7 - 800122c: f024 0407 bicne.w r4, r4, #7 - 8001230: 4625 movne r5, r4 - 8001232: 4625 moveq r5, r4 - 8001234: bf1a itte ne - 8001236: f855 2b08 ldrne.w r2, [r5], #8 - 800123a: 6863 ldrne r3, [r4, #4] - 800123c: f855 2b04 ldreq.w r2, [r5], #4 - 8001240: e6f0 b.n 8001024 <_vprintf+0x188> - 8001242: 9b01 ldr r3, [sp, #4] - 8001244: f043 0302 orr.w r3, r3, #2 - 8001248: 9301 str r3, [sp, #4] - 800124a: 4625 mov r5, r4 - 800124c: f855 1b04 ldr.w r1, [r5], #4 - 8001250: e7a8 b.n 80011a4 <_vprintf+0x308> - 8001252: bf00 nop - -08001254 : - 8001254: b40f push {r0, r1, r2, r3} - 8001256: b507 push {r0, r1, r2, lr} - 8001258: aa04 add r2, sp, #16 - 800125a: f06f 4000 mvn.w r0, #2147483648 ; 0x80000000 - 800125e: f852 1b04 ldr.w r1, [r2], #4 - 8001262: 9201 str r2, [sp, #4] - 8001264: f7ff fe1a bl 8000e9c <_vprintf> - 8001268: b003 add sp, #12 - 800126a: f85d eb04 ldr.w lr, [sp], #4 - 800126e: b004 add sp, #16 - 8001270: 4770 bx lr +08000820 <__aeabi_idiv0>: + 8000820: 4770 bx lr + 8000822: bf00 nop + +08000824 : + 8000824: e7fe b.n 8000824 + +08000826 : + 8000826: b40c push {r2, r3} + 8000828: b570 push {r4, r5, r6, lr} + 800082a: 6984 ldr r4, [r0, #24] + 800082c: b08a sub sp, #40 ; 0x28 + 800082e: 4605 mov r5, r0 + 8000830: 460e mov r6, r1 + 8000832: b174 cbz r4, 8000852 + 8000834: ab0f add r3, sp, #60 ; 0x3c + 8000836: 9a0e ldr r2, [sp, #56] ; 0x38 + 8000838: 9301 str r3, [sp, #4] + 800083a: 2120 movs r1, #32 + 800083c: a802 add r0, sp, #8 + 800083e: f000 fbe5 bl 800100c + 8000842: 4604 mov r4, r0 + 8000844: 69a8 ldr r0, [r5, #24] + 8000846: 6803 ldr r3, [r0, #0] + 8000848: aa02 add r2, sp, #8 + 800084a: 69dd ldr r5, [r3, #28] + 800084c: 4631 mov r1, r6 + 800084e: b2a3 uxth r3, r4 + 8000850: 47a8 blx r5 + 8000852: 4620 mov r0, r4 + 8000854: b00a add sp, #40 ; 0x28 + 8000856: e8bd 4070 ldmia.w sp!, {r4, r5, r6, lr} + 800085a: b002 add sp, #8 + 800085c: 4770 bx lr + +0800085e : + 800085e: 4770 bx lr + +08000860
: + 8000860: b570 push {r4, r5, r6, lr} + 8000862: f640 4002 movw r0, #3074 ; 0xc02 + 8000866: b0e4 sub sp, #400 ; 0x190 + 8000868: f004 fc2e bl 80050c8 + 800086c: f241 001c movw r0, #4124 ; 0x101c + 8000870: f004 fc2a bl 80050c8 + 8000874: f44f 7000 mov.w r0, #512 ; 0x200 + 8000878: f004 fc12 bl 80050a0 + 800087c: f640 4012 movw r0, #3090 ; 0xc12 + 8000880: f004 fc22 bl 80050c8 + 8000884: f004 fc18 bl 80050b8 + 8000888: 485e ldr r0, [pc, #376] ; (8000a04 ) + 800088a: f44f 5200 mov.w r2, #8192 ; 0x2000 + 800088e: 2100 movs r1, #0 + 8000890: f004 fbd9 bl 8005046 + 8000894: f44f 5300 mov.w r3, #8192 ; 0x2000 + 8000898: 485a ldr r0, [pc, #360] ; (8000a04 ) + 800089a: 2201 movs r2, #1 + 800089c: 2100 movs r1, #0 + 800089e: f004 fb91 bl 8004fc4 + 80008a2: 2001 movs r0, #1 + 80008a4: f004 feba bl 800561c + 80008a8: f24a 53a5 movw r3, #42405 ; 0xa5a5 + 80008ac: 4298 cmp r0, r3 + 80008ae: d02e beq.n 800090e + 80008b0: 4854 ldr r0, [pc, #336] ; (8000a04 ) + 80008b2: f44f 5100 mov.w r1, #8192 ; 0x2000 + 80008b6: f004 fbc0 bl 800503a + 80008ba: b340 cbz r0, 800090e + 80008bc: b672 cpsid i + 80008be: 4b52 ldr r3, [pc, #328] ; (8000a08 ) + 80008c0: 4a52 ldr r2, [pc, #328] ; (8000a0c ) + 80008c2: 20ff movs r0, #255 ; 0xff + 80008c4: 4619 mov r1, r3 + 80008c6: 3301 adds r3, #1 + 80008c8: 4293 cmp r3, r2 + 80008ca: 7008 strb r0, [r1, #0] + 80008cc: d1fa bne.n 80008c4 + 80008ce: 4b50 ldr r3, [pc, #320] ; (8000a10 ) + 80008d0: 4a50 ldr r2, [pc, #320] ; (8000a14 ) + 80008d2: 20ff movs r0, #255 ; 0xff + 80008d4: 4619 mov r1, r3 + 80008d6: 3301 adds r3, #1 + 80008d8: 4293 cmp r3, r2 + 80008da: 7008 strb r0, [r1, #0] + 80008dc: d1fa bne.n 80008d4 + 80008de: f04f 23e0 mov.w r3, #3758153728 ; 0xe000e000 + 80008e2: 2100 movs r1, #0 + 80008e4: 6119 str r1, [r3, #16] + 80008e6: f8d3 2d04 ldr.w r2, [r3, #3332] ; 0xd04 + 80008ea: f042 7200 orr.w r2, r2, #33554432 ; 0x2000000 + 80008ee: f8c3 2d04 str.w r2, [r3, #3332] ; 0xd04 + 80008f2: 4a49 ldr r2, [pc, #292] ; (8000a18 ) + 80008f4: f8c3 2d08 str.w r2, [r3, #3336] ; 0xd08 + 80008f8: f503 6350 add.w r3, r3, #3328 ; 0xd00 + 80008fc: 689b ldr r3, [r3, #8] + 80008fe: 681b ldr r3, [r3, #0] + 8000900: f383 8808 msr MSP, r3 + 8000904: f381 8814 msr CONTROL, r1 + 8000908: b662 cpsie i + 800090a: 6853 ldr r3, [r2, #4] + 800090c: 4718 bx r3 + 800090e: a801 add r0, sp, #4 + 8000910: f003 fb4a bl 8003fa8 + 8000914: a832 add r0, sp, #200 ; 0xc8 + 8000916: f002 fc89 bl 800322c + 800091a: 2104 movs r1, #4 + 800091c: a80f add r0, sp, #60 ; 0x3c + 800091e: f001 fd8d bl 800243c + 8000922: a809 add r0, sp, #36 ; 0x24 + 8000924: f003 fae4 bl 8003ef0 + 8000928: 4a3c ldr r2, [pc, #240] ; (8000a1c ) + 800092a: 4b3d ldr r3, [pc, #244] ; (8000a20 ) + 800092c: 493d ldr r1, [pc, #244] ; (8000a24 ) + 800092e: a802 add r0, sp, #8 + 8000930: f003 fa98 bl 8003e64 + 8000934: 493c ldr r1, [pc, #240] ; (8000a28 ) + 8000936: a802 add r0, sp, #8 + 8000938: f003 facc bl 8003ed4 + 800093c: a816 add r0, sp, #88 ; 0x58 + 800093e: f001 f96f bl 8001c20 + 8000942: a806 add r0, sp, #24 + 8000944: f001 fa52 bl 8001dec + 8000948: a804 add r0, sp, #16 + 800094a: f001 fbf3 bl 8002134 + 800094e: ab05 add r3, sp, #20 + 8000950: a904 add r1, sp, #16 + 8000952: a832 add r0, sp, #200 ; 0xc8 + 8000954: 9360 str r3, [sp, #384] ; 0x180 + 8000956: f002 fcbb bl 80032d0 + 800095a: a832 add r0, sp, #200 ; 0xc8 + 800095c: f002 fdf8 bl 8003550 + 8000960: 2101 movs r1, #1 + 8000962: a809 add r0, sp, #36 ; 0x24 + 8000964: f003 faee bl 8003f44 + 8000968: 2300 movs r3, #0 + 800096a: 2206 movs r2, #6 + 800096c: 2109 movs r1, #9 + 800096e: a826 add r0, sp, #152 ; 0x98 + 8000970: f000 fe88 bl 8001684 + 8000974: a803 add r0, sp, #12 + 8000976: f001 fc15 bl 80021a4 + 800097a: a903 add r1, sp, #12 + 800097c: a81d add r0, sp, #116 ; 0x74 + 800097e: f000 ff93 bl 80018a8 + 8000982: a81d add r0, sp, #116 ; 0x74 + 8000984: f000 ff9a bl 80018bc + 8000988: b118 cbz r0, 8000992 + 800098a: a926 add r1, sp, #152 ; 0x98 + 800098c: a81d add r0, sp, #116 ; 0x74 + 800098e: f000 ffa1 bl 80018d4 + 8000992: 2301 movs r3, #1 + 8000994: 2104 movs r1, #4 + 8000996: a809 add r0, sp, #36 ; 0x24 + 8000998: f88d 30a6 strb.w r3, [sp, #166] ; 0xa6 + 800099c: f003 fad2 bl 8003f44 + 80009a0: 4a22 ldr r2, [pc, #136] ; (8000a2c ) + 80009a2: 2103 movs r1, #3 + 80009a4: a80f add r0, sp, #60 ; 0x3c + 80009a6: f7ff ff3e bl 8000826 + 80009aa: 2102 movs r1, #2 + 80009ac: f64f 70ff movw r0, #65535 ; 0xffff + 80009b0: f004 fade bl 8004f70 + 80009b4: 2801 cmp r0, #1 + 80009b6: bf0c ite eq + 80009b8: 2301 moveq r3, #1 + 80009ba: 2300 movne r3, #0 + 80009bc: f88d 3004 strb.w r3, [sp, #4] + 80009c0: d101 bne.n 80009c6 + 80009c2: f004 fac5 bl 8004f50 + 80009c6: 4d1a ldr r5, [pc, #104] ; (8000a30 ) + 80009c8: 4c1a ldr r4, [pc, #104] ; (8000a34 ) + 80009ca: 2601 movs r6, #1 + 80009cc: f004 fac8 bl 8004f60 + 80009d0: f7ff fdb6 bl 8000540 + 80009d4: a826 add r0, sp, #152 ; 0x98 + 80009d6: f000 fec3 bl 8001760 + 80009da: 9a0c ldr r2, [sp, #48] ; 0x30 + 80009dc: 2a00 cmp r2, #0 + 80009de: d0f5 beq.n 80009cc + 80009e0: 682b ldr r3, [r5, #0] + 80009e2: 990e ldr r1, [sp, #56] ; 0x38 + 80009e4: 1a5b subs r3, r3, r1 + 80009e6: 429a cmp r2, r3 + 80009e8: d8f0 bhi.n 80009cc + 80009ea: 682b ldr r3, [r5, #0] + 80009ec: 930e str r3, [sp, #56] ; 0x38 + 80009ee: 9b0d ldr r3, [sp, #52] ; 0x34 + 80009f0: 2b01 cmp r3, #1 + 80009f2: f083 0201 eor.w r2, r3, #1 + 80009f6: 920d str r2, [sp, #52] ; 0x34 + 80009f8: bf14 ite ne + 80009fa: f8c4 6818 strne.w r6, [r4, #2072] ; 0x818 + 80009fe: f8c4 3828 streq.w r3, [r4, #2088] ; 0x828 + 8000a02: e7e3 b.n 80009cc + 8000a04: 40020800 andmi r0, r2, r0, lsl #16 + 8000a08: e000e180 and lr, r0, r0, lsl #3 + 8000a0c: e000e1a0 and lr, r0, r0, lsr #3 + 8000a10: e000e280 and lr, r0, r0, lsl #5 + 8000a14: e000e2a0 and lr, r0, r0, lsr #5 + 8000a18: 08008000 stmdaeq r0, {pc} + 8000a1c: 0800637d stmdaeq r0, {r0, r2, r3, r4, r5, r6, r8, r9, sp, lr} + 8000a20: 08006374 stmdaeq r0, {r2, r4, r5, r6, r8, r9, sp, lr} + 8000a24: 080063b5 stmdaeq r0, {r0, r2, r4, r5, r7, r8, r9, sp, lr} + 8000a28: 08006389 stmdaeq r0, {r0, r3, r7, r8, r9, sp, lr} + 8000a2c: 080063a0 stmdaeq r0, {r5, r7, r8, r9, sp, lr} + 8000a30: 20002244 andcs r2, r0, r4, asr #4 + 8000a34: 40020000 andmi r0, r2, r0 + +08000a38 : + 8000a38: b110 cbz r0, 8000a40 + 8000a3a: 6803 ldr r3, [r0, #0] + 8000a3c: 699b ldr r3, [r3, #24] + 8000a3e: 4718 bx r3 + 8000a40: 4770 bx lr + +08000a42 : + 8000a42: b110 cbz r0, 8000a4a + 8000a44: 6803 ldr r3, [r0, #0] + 8000a46: 691b ldr r3, [r3, #16] + 8000a48: 4718 bx r3 + 8000a4a: 4770 bx lr + +08000a4c : + 8000a4c: 7c43 ldrb r3, [r0, #17] + 8000a4e: b513 push {r0, r1, r4, lr} + 8000a50: 4604 mov r4, r0 + 8000a52: b19b cbz r3, 8000a7c + 8000a54: 43c9 mvns r1, r1 + 8000a56: 2312 movs r3, #18 + 8000a58: 7a00 ldrb r0, [r0, #8] + 8000a5a: f88d 3004 strb.w r3, [sp, #4] + 8000a5e: f3c1 2307 ubfx r3, r1, #8, #8 + 8000a62: f88d 1006 strb.w r1, [sp, #6] + 8000a66: f88d 3005 strb.w r3, [sp, #5] + 8000a6a: f004 fe93 bl 8005794 + 8000a6e: 68e0 ldr r0, [r4, #12] + 8000a70: f004 fe88 bl 8005784 + 8000a74: 2103 movs r1, #3 + 8000a76: a801 add r0, sp, #4 + 8000a78: f004 fe92 bl 80057a0 + 8000a7c: b002 add sp, #8 + 8000a7e: bd10 pop {r4, pc} + +08000a80 : + 8000a80: b510 push {r4, lr} + 8000a82: 4c06 ldr r4, [pc, #24] ; (8000a9c ) + 8000a84: 6823 ldr r3, [r4, #0] + 8000a86: 2102 movs r1, #2 + 8000a88: 6998 ldr r0, [r3, #24] + 8000a8a: f7ff ffda bl 8000a42 + 8000a8e: 6823 ldr r3, [r4, #0] + 8000a90: 4903 ldr r1, [pc, #12] ; (8000aa0 ) + 8000a92: 6998 ldr r0, [r3, #24] + 8000a94: e8bd 4010 ldmia.w sp!, {r4, lr} + 8000a98: f7ff bfce b.w 8000a38 + 8000a9c: 20000128 andcs r0, r0, r8, lsr #2 + 8000aa0: 080063b9 stmdaeq r0, {r0, r3, r4, r5, r7, r8, r9, sp, lr} + +08000aa4 : + 8000aa4: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} + 8000aa8: 4c15 ldr r4, [pc, #84] ; (8000b00 ) + 8000aaa: 6823 ldr r3, [r4, #0] + 8000aac: b088 sub sp, #32 + 8000aae: 6998 ldr r0, [r3, #24] + 8000ab0: 2102 movs r1, #2 + 8000ab2: f7ff ffc6 bl 8000a42 + 8000ab6: 4b13 ldr r3, [pc, #76] ; (8000b04 ) + 8000ab8: 6826 ldr r6, [r4, #0] + 8000aba: 681d ldr r5, [r3, #0] + 8000abc: 696c ldr r4, [r5, #20] + 8000abe: 69e8 ldr r0, [r5, #28] + 8000ac0: b2e3 uxtb r3, r4 + 8000ac2: 9307 str r3, [sp, #28] + 8000ac4: f000 f86c bl 8000ba0 <__popcountsi2> + 8000ac8: 79ea ldrb r2, [r5, #7] + 8000aca: 9b07 ldr r3, [sp, #28] + 8000acc: f3c4 2707 ubfx r7, r4, #8, #8 + 8000ad0: f3c4 4807 ubfx r8, r4, #16, #8 + 8000ad4: 0e24 lsrs r4, r4, #24 + 8000ad6: b98a cbnz r2, 8000afc + 8000ad8: 796a ldrb r2, [r5, #5] + 8000ada: 2a00 cmp r2, #0 + 8000adc: bf14 ite ne + 8000ade: 2244 movne r2, #68 ; 0x44 + 8000ae0: 2253 moveq r2, #83 ; 0x53 + 8000ae2: e9cd 0203 strd r0, r2, [sp, #12] + 8000ae6: e9cd 8401 strd r8, r4, [sp, #4] + 8000aea: 4a07 ldr r2, [pc, #28] ; (8000b08 ) + 8000aec: 9700 str r7, [sp, #0] + 8000aee: 2102 movs r1, #2 + 8000af0: 4630 mov r0, r6 + 8000af2: f7ff fe98 bl 8000826 + 8000af6: b008 add sp, #32 + 8000af8: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + 8000afc: 225a movs r2, #90 ; 0x5a + 8000afe: e7f0 b.n 8000ae2 + 8000b00: 20000128 andcs r0, r0, r8, lsr #2 + 8000b04: 20001f18 andcs r1, r0, r8, lsl pc + 8000b08: 080063c8 stmdaeq r0, {r3, r6, r7, r8, r9, sp, lr} + +08000b0c : + 8000b0c: b510 push {r4, lr} + 8000b0e: 4c06 ldr r4, [pc, #24] ; (8000b28 ) + 8000b10: 6823 ldr r3, [r4, #0] + 8000b12: 2102 movs r1, #2 + 8000b14: 6998 ldr r0, [r3, #24] + 8000b16: f7ff ff94 bl 8000a42 + 8000b1a: 6823 ldr r3, [r4, #0] + 8000b1c: 4903 ldr r1, [pc, #12] ; (8000b2c ) + 8000b1e: 6998 ldr r0, [r3, #24] + 8000b20: e8bd 4010 ldmia.w sp!, {r4, lr} + 8000b24: f7ff bf88 b.w 8000a38 + 8000b28: 20000128 andcs r0, r0, r8, lsr #2 + 8000b2c: 080063da stmdaeq r0, {r1, r3, r4, r6, r7, r8, r9, sp, lr} + +08000b30 : + 8000b30: b538 push {r3, r4, r5, lr} + 8000b32: 4c16 ldr r4, [pc, #88] ; (8000b8c ) + 8000b34: 6823 ldr r3, [r4, #0] + 8000b36: 4605 mov r5, r0 + 8000b38: 2102 movs r1, #2 + 8000b3a: 6998 ldr r0, [r3, #24] + 8000b3c: f7ff ff81 bl 8000a42 + 8000b40: 1e68 subs r0, r5, #1 + 8000b42: 2803 cmp r0, #3 + 8000b44: d815 bhi.n 8000b72 + 8000b46: e8df f000 tbb [pc, r0] + 8000b4a: 18150a02 ldmdane r5, {r1, r9, fp} + 8000b4e: 6823 ldr r3, [r4, #0] + 8000b50: 490f ldr r1, [pc, #60] ; (8000b90 ) + 8000b52: 6998 ldr r0, [r3, #24] + 8000b54: f7ff ff70 bl 8000a38 + 8000b58: f44f 41b6 mov.w r1, #23296 ; 0x5b00 + 8000b5c: e006 b.n 8000b6c + 8000b5e: 6823 ldr r3, [r4, #0] + 8000b60: 490c ldr r1, [pc, #48] ; (8000b94 ) + 8000b62: 6998 ldr r0, [r3, #24] + 8000b64: f7ff ff68 bl 8000a38 + 8000b68: f248 0180 movw r1, #32896 ; 0x8080 + 8000b6c: 6820 ldr r0, [r4, #0] + 8000b6e: f7ff ff6d bl 8000a4c + 8000b72: bd38 pop {r3, r4, r5, pc} + 8000b74: 6823 ldr r3, [r4, #0] + 8000b76: 4908 ldr r1, [pc, #32] ; (8000b98 ) + 8000b78: e7eb b.n 8000b52 + 8000b7a: 6823 ldr r3, [r4, #0] + 8000b7c: 4907 ldr r1, [pc, #28] ; (8000b9c ) + 8000b7e: 6998 ldr r0, [r3, #24] + 8000b80: f7ff ff5a bl 8000a38 + 8000b84: f645 3179 movw r1, #23417 ; 0x5b79 + 8000b88: e7f0 b.n 8000b6c + 8000b8a: bf00 nop + 8000b8c: 20000128 andcs r0, r0, r8, lsr #2 + 8000b90: 080063ec stmdaeq r0, {r2, r3, r5, r6, r7, r8, r9, sp, lr} + 8000b94: 080063fa stmdaeq r0, {r1, r3, r4, r5, r6, r7, r8, r9, sp, lr} + 8000b98: 08006401 stmdaeq r0, {r0, sl, sp, lr} + 8000b9c: 0800640f stmdaeq r0, {r0, r1, r2, r3, sl, sp, lr} + +08000ba0 <__popcountsi2>: + 8000ba0: 0843 lsrs r3, r0, #1 + 8000ba2: f003 3355 and.w r3, r3, #1431655765 ; 0x55555555 + 8000ba6: 1ac0 subs r0, r0, r3 + 8000ba8: 0883 lsrs r3, r0, #2 + 8000baa: f003 3333 and.w r3, r3, #858993459 ; 0x33333333 + 8000bae: f000 3033 and.w r0, r0, #858993459 ; 0x33333333 + 8000bb2: 4418 add r0, r3 + 8000bb4: eb00 1010 add.w r0, r0, r0, lsr #4 + 8000bb8: f000 300f and.w r0, r0, #252645135 ; 0xf0f0f0f + 8000bbc: eb00 2000 add.w r0, r0, r0, lsl #8 + 8000bc0: eb00 4000 add.w r0, r0, r0, lsl #16 + 8000bc4: 0e00 lsrs r0, r0, #24 + 8000bc6: 4770 bx lr + +08000bc8 <_xputch>: + 8000bc8: 4603 mov r3, r0 + 8000bca: b410 push {r4} + 8000bcc: 4c09 ldr r4, [pc, #36] ; (8000bf4 <_xputch+0x2c>) + 8000bce: 68da ldr r2, [r3, #12] + 8000bd0: 4608 mov r0, r1 + 8000bd2: 6821 ldr r1, [r4, #0] + 8000bd4: 3201 adds r2, #1 + 8000bd6: 60da str r2, [r3, #12] + 8000bd8: b141 cbz r1, 8000bec <_xputch+0x24> + 8000bda: 691b ldr r3, [r3, #16] + 8000bdc: 429a cmp r2, r3 + 8000bde: da02 bge.n 8000be6 <_xputch+0x1e> + 8000be0: 1c4b adds r3, r1, #1 + 8000be2: 6023 str r3, [r4, #0] + 8000be4: 7008 strb r0, [r1, #0] + 8000be6: f85d 4b04 ldr.w r4, [sp], #4 + 8000bea: 4770 bx lr + 8000bec: f85d 4b04 ldr.w r4, [sp], #4 + 8000bf0: f003 b8e8 b.w 8003dc4 + 8000bf4: 200000d0 ldrdcs r0, [r0], -r0 ; + +08000bf8 <_format_int>: + 8000bf8: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} + 8000bfc: 4698 mov r8, r3 + 8000bfe: b091 sub sp, #68 ; 0x44 + 8000c00: ea52 0308 orrs.w r3, r2, r8 + 8000c04: 4606 mov r6, r0 + 8000c06: 4617 mov r7, r2 + 8000c08: f10d 053f add.w r5, sp, #63 ; 0x3f + 8000c0c: d133 bne.n 8000c76 <_format_int+0x7e> + 8000c0e: 2330 movs r3, #48 ; 0x30 + 8000c10: f88d 303f strb.w r3, [sp, #63] ; 0x3f + 8000c14: f10d 043e add.w r4, sp, #62 ; 0x3e + 8000c18: 6833 ldr r3, [r6, #0] + 8000c1a: 07d8 lsls r0, r3, #31 + 8000c1c: d507 bpl.n 8000c2e <_format_int+0x36> + 8000c1e: 6871 ldr r1, [r6, #4] + 8000c20: 466a mov r2, sp + 8000c22: 2030 movs r0, #48 ; 0x30 + 8000c24: 1b2f subs r7, r5, r4 + 8000c26: 428f cmp r7, r1 + 8000c28: da01 bge.n 8000c2e <_format_int+0x36> + 8000c2a: 4294 cmp r4, r2 + 8000c2c: d839 bhi.n 8000ca2 <_format_int+0xaa> + 8000c2e: 0699 lsls r1, r3, #26 + 8000c30: d507 bpl.n 8000c42 <_format_int+0x4a> + 8000c32: 68b1 ldr r1, [r6, #8] + 8000c34: 466a mov r2, sp + 8000c36: 2030 movs r0, #48 ; 0x30 + 8000c38: 1b2f subs r7, r5, r4 + 8000c3a: 428f cmp r7, r1 + 8000c3c: da01 bge.n 8000c42 <_format_int+0x4a> + 8000c3e: 4294 cmp r4, r2 + 8000c40: d832 bhi.n 8000ca8 <_format_int+0xb0> + 8000c42: 071a lsls r2, r3, #28 + 8000c44: bf44 itt mi + 8000c46: 222d movmi r2, #45 ; 0x2d + 8000c48: f804 2901 strbmi.w r2, [r4], #-1 + 8000c4c: 065b lsls r3, r3, #25 + 8000c4e: d407 bmi.n 8000c60 <_format_int+0x68> + 8000c50: 68b2 ldr r2, [r6, #8] + 8000c52: 466b mov r3, sp + 8000c54: 2120 movs r1, #32 + 8000c56: 1b28 subs r0, r5, r4 + 8000c58: 4290 cmp r0, r2 + 8000c5a: da01 bge.n 8000c60 <_format_int+0x68> + 8000c5c: 429c cmp r4, r3 + 8000c5e: d826 bhi.n 8000cae <_format_int+0xb6> + 8000c60: 1b2d subs r5, r5, r4 + 8000c62: 3401 adds r4, #1 + 8000c64: ab10 add r3, sp, #64 ; 0x40 + 8000c66: 429c cmp r4, r3 + 8000c68: d324 bcc.n 8000cb4 <_format_int+0xbc> + 8000c6a: 68b3 ldr r3, [r6, #8] + 8000c6c: 42ab cmp r3, r5 + 8000c6e: dc27 bgt.n 8000cc0 <_format_int+0xc8> + 8000c70: b011 add sp, #68 ; 0x44 + 8000c72: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} + 8000c76: 462c mov r4, r5 + 8000c78: 46e9 mov r9, sp + 8000c7a: 4638 mov r0, r7 + 8000c7c: 4641 mov r1, r8 + 8000c7e: 220a movs r2, #10 + 8000c80: 2300 movs r3, #0 + 8000c82: f7ff fdb5 bl 80007f0 <__aeabi_uldivmod> + 8000c86: 3230 adds r2, #48 ; 0x30 + 8000c88: f804 2901 strb.w r2, [r4], #-1 + 8000c8c: 463a mov r2, r7 + 8000c8e: 4643 mov r3, r8 + 8000c90: 2a0a cmp r2, #10 + 8000c92: f173 0300 sbcs.w r3, r3, #0 + 8000c96: 4607 mov r7, r0 + 8000c98: 4688 mov r8, r1 + 8000c9a: d3bd bcc.n 8000c18 <_format_int+0x20> + 8000c9c: 454c cmp r4, r9 + 8000c9e: d1ec bne.n 8000c7a <_format_int+0x82> + 8000ca0: e7ba b.n 8000c18 <_format_int+0x20> + 8000ca2: f804 0901 strb.w r0, [r4], #-1 + 8000ca6: e7bd b.n 8000c24 <_format_int+0x2c> + 8000ca8: f804 0901 strb.w r0, [r4], #-1 + 8000cac: e7c4 b.n 8000c38 <_format_int+0x40> + 8000cae: f804 1901 strb.w r1, [r4], #-1 + 8000cb2: e7d0 b.n 8000c56 <_format_int+0x5e> + 8000cb4: f814 1b01 ldrb.w r1, [r4], #1 + 8000cb8: 4630 mov r0, r6 + 8000cba: f7ff ff85 bl 8000bc8 <_xputch> + 8000cbe: e7d1 b.n 8000c64 <_format_int+0x6c> + 8000cc0: 2120 movs r1, #32 + 8000cc2: 4630 mov r0, r6 + 8000cc4: f7ff ff80 bl 8000bc8 <_xputch> + 8000cc8: 3501 adds r5, #1 + 8000cca: e7ce b.n 8000c6a <_format_int+0x72> + +08000ccc <_format_hex>: + 8000ccc: b5f0 push {r4, r5, r6, r7, lr} + 8000cce: b091 sub sp, #68 ; 0x44 + 8000cd0: 6804 ldr r4, [r0, #0] + 8000cd2: 4606 mov r6, r0 + 8000cd4: f10d 023f add.w r2, sp, #63 ; 0x3f + 8000cd8: bb61 cbnz r1, 8000d34 <_format_hex+0x68> + 8000cda: 2330 movs r3, #48 ; 0x30 + 8000cdc: f88d 303f strb.w r3, [sp, #63] ; 0x3f + 8000ce0: f10d 033e add.w r3, sp, #62 ; 0x3e + 8000ce4: 07e5 lsls r5, r4, #31 + 8000ce6: d507 bpl.n 8000cf8 <_format_hex+0x2c> + 8000ce8: 6870 ldr r0, [r6, #4] + 8000cea: 4669 mov r1, sp + 8000cec: 2530 movs r5, #48 ; 0x30 + 8000cee: 1ad7 subs r7, r2, r3 + 8000cf0: 4287 cmp r7, r0 + 8000cf2: da01 bge.n 8000cf8 <_format_hex+0x2c> + 8000cf4: 428b cmp r3, r1 + 8000cf6: d831 bhi.n 8000d5c <_format_hex+0x90> + 8000cf8: 06a0 lsls r0, r4, #26 + 8000cfa: d507 bpl.n 8000d0c <_format_hex+0x40> + 8000cfc: 68b0 ldr r0, [r6, #8] + 8000cfe: 4669 mov r1, sp + 8000d00: 2530 movs r5, #48 ; 0x30 + 8000d02: 1ad7 subs r7, r2, r3 + 8000d04: 4287 cmp r7, r0 + 8000d06: da01 bge.n 8000d0c <_format_hex+0x40> + 8000d08: 428b cmp r3, r1 + 8000d0a: d82a bhi.n 8000d62 <_format_hex+0x96> + 8000d0c: 0661 lsls r1, r4, #25 + 8000d0e: d407 bmi.n 8000d20 <_format_hex+0x54> + 8000d10: 68b0 ldr r0, [r6, #8] + 8000d12: 4669 mov r1, sp + 8000d14: 2420 movs r4, #32 + 8000d16: 1ad5 subs r5, r2, r3 + 8000d18: 4285 cmp r5, r0 + 8000d1a: da01 bge.n 8000d20 <_format_hex+0x54> + 8000d1c: 428b cmp r3, r1 + 8000d1e: d823 bhi.n 8000d68 <_format_hex+0x9c> + 8000d20: 1ad5 subs r5, r2, r3 + 8000d22: 1c5c adds r4, r3, #1 + 8000d24: ab10 add r3, sp, #64 ; 0x40 + 8000d26: 429c cmp r4, r3 + 8000d28: d321 bcc.n 8000d6e <_format_hex+0xa2> + 8000d2a: 68b3 ldr r3, [r6, #8] + 8000d2c: 429d cmp r5, r3 + 8000d2e: db24 blt.n 8000d7a <_format_hex+0xae> + 8000d30: b011 add sp, #68 ; 0x44 + 8000d32: bdf0 pop {r4, r5, r6, r7, pc} + 8000d34: f014 0f02 tst.w r4, #2 + 8000d38: bf0c ite eq + 8000d3a: 2757 moveq r7, #87 ; 0x57 + 8000d3c: 2737 movne r7, #55 ; 0x37 + 8000d3e: 4613 mov r3, r2 + 8000d40: 466d mov r5, sp + 8000d42: f001 000f and.w r0, r1, #15 + 8000d46: 2809 cmp r0, #9 + 8000d48: bf94 ite ls + 8000d4a: 3030 addls r0, #48 ; 0x30 + 8000d4c: 19c0 addhi r0, r0, r7 + 8000d4e: 0909 lsrs r1, r1, #4 + 8000d50: f803 0901 strb.w r0, [r3], #-1 + 8000d54: d0c6 beq.n 8000ce4 <_format_hex+0x18> + 8000d56: 42ab cmp r3, r5 + 8000d58: d1f3 bne.n 8000d42 <_format_hex+0x76> + 8000d5a: e7c3 b.n 8000ce4 <_format_hex+0x18> + 8000d5c: f803 5901 strb.w r5, [r3], #-1 + 8000d60: e7c5 b.n 8000cee <_format_hex+0x22> + 8000d62: f803 5901 strb.w r5, [r3], #-1 + 8000d66: e7cc b.n 8000d02 <_format_hex+0x36> + 8000d68: f803 4901 strb.w r4, [r3], #-1 + 8000d6c: e7d3 b.n 8000d16 <_format_hex+0x4a> + 8000d6e: f814 1b01 ldrb.w r1, [r4], #1 + 8000d72: 4630 mov r0, r6 + 8000d74: f7ff ff28 bl 8000bc8 <_xputch> + 8000d78: e7d4 b.n 8000d24 <_format_hex+0x58> + 8000d7a: 2120 movs r1, #32 + 8000d7c: 4630 mov r0, r6 + 8000d7e: f7ff ff23 bl 8000bc8 <_xputch> + 8000d82: 3501 adds r5, #1 + 8000d84: e7d1 b.n 8000d2a <_format_hex+0x5e> ... -08001274 : - 8001274: b40c push {r2, r3} - 8001276: b513 push {r0, r1, r4, lr} - 8001278: 4c09 ldr r4, [pc, #36] ; (80012a0 ) - 800127a: aa04 add r2, sp, #16 - 800127c: 460b mov r3, r1 - 800127e: 6020 str r0, [r4, #0] - 8001280: f852 1b04 ldr.w r1, [r2], #4 - 8001284: 9201 str r2, [sp, #4] - 8001286: 4618 mov r0, r3 - 8001288: f7ff fe08 bl 8000e9c <_vprintf> - 800128c: 6822 ldr r2, [r4, #0] - 800128e: 2300 movs r3, #0 - 8001290: 7013 strb r3, [r2, #0] - 8001292: 6023 str r3, [r4, #0] - 8001294: b002 add sp, #8 - 8001296: e8bd 4010 ldmia.w sp!, {r4, lr} - 800129a: b002 add sp, #8 - 800129c: 4770 bx lr - 800129e: bf00 nop - 80012a0: 200000d0 ldrdcs r0, [r0], -r0 ; - -080012a4 : - 80012a4: b538 push {r3, r4, r5, lr} - 80012a6: 4c06 ldr r4, [pc, #24] ; (80012c0 ) - 80012a8: 4605 mov r5, r0 - 80012aa: 4608 mov r0, r1 - 80012ac: 4611 mov r1, r2 - 80012ae: 461a mov r2, r3 - 80012b0: 6025 str r5, [r4, #0] - 80012b2: f7ff fdf3 bl 8000e9c <_vprintf> - 80012b6: 6822 ldr r2, [r4, #0] - 80012b8: 2300 movs r3, #0 - 80012ba: 7013 strb r3, [r2, #0] - 80012bc: 6023 str r3, [r4, #0] - 80012be: bd38 pop {r3, r4, r5, pc} - 80012c0: 200000d0 ldrdcs r0, [r0], -r0 ; - -080012c4 <__udivmoddi4>: - 80012c4: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} - 80012c8: 9e08 ldr r6, [sp, #32] - 80012ca: 460d mov r5, r1 - 80012cc: 4604 mov r4, r0 - 80012ce: 460f mov r7, r1 - 80012d0: 2b00 cmp r3, #0 - 80012d2: d14a bne.n 800136a <__udivmoddi4+0xa6> - 80012d4: 428a cmp r2, r1 - 80012d6: 4694 mov ip, r2 - 80012d8: d965 bls.n 80013a6 <__udivmoddi4+0xe2> - 80012da: fab2 f382 clz r3, r2 - 80012de: b143 cbz r3, 80012f2 <__udivmoddi4+0x2e> - 80012e0: fa02 fc03 lsl.w ip, r2, r3 - 80012e4: f1c3 0220 rsb r2, r3, #32 - 80012e8: 409f lsls r7, r3 - 80012ea: fa20 f202 lsr.w r2, r0, r2 - 80012ee: 4317 orrs r7, r2 - 80012f0: 409c lsls r4, r3 - 80012f2: ea4f 4e1c mov.w lr, ip, lsr #16 - 80012f6: fa1f f58c uxth.w r5, ip - 80012fa: fbb7 f1fe udiv r1, r7, lr - 80012fe: 0c22 lsrs r2, r4, #16 - 8001300: fb0e 7711 mls r7, lr, r1, r7 - 8001304: ea42 4207 orr.w r2, r2, r7, lsl #16 - 8001308: fb01 f005 mul.w r0, r1, r5 - 800130c: 4290 cmp r0, r2 - 800130e: d90a bls.n 8001326 <__udivmoddi4+0x62> - 8001310: eb1c 0202 adds.w r2, ip, r2 - 8001314: f101 37ff add.w r7, r1, #4294967295 ; 0xffffffff - 8001318: f080 811c bcs.w 8001554 <__udivmoddi4+0x290> - 800131c: 4290 cmp r0, r2 - 800131e: f240 8119 bls.w 8001554 <__udivmoddi4+0x290> - 8001322: 3902 subs r1, #2 - 8001324: 4462 add r2, ip - 8001326: 1a12 subs r2, r2, r0 - 8001328: b2a4 uxth r4, r4 - 800132a: fbb2 f0fe udiv r0, r2, lr - 800132e: fb0e 2210 mls r2, lr, r0, r2 - 8001332: ea44 4402 orr.w r4, r4, r2, lsl #16 - 8001336: fb00 f505 mul.w r5, r0, r5 - 800133a: 42a5 cmp r5, r4 - 800133c: d90a bls.n 8001354 <__udivmoddi4+0x90> - 800133e: eb1c 0404 adds.w r4, ip, r4 - 8001342: f100 32ff add.w r2, r0, #4294967295 ; 0xffffffff - 8001346: f080 8107 bcs.w 8001558 <__udivmoddi4+0x294> - 800134a: 42a5 cmp r5, r4 - 800134c: f240 8104 bls.w 8001558 <__udivmoddi4+0x294> - 8001350: 4464 add r4, ip - 8001352: 3802 subs r0, #2 - 8001354: ea40 4001 orr.w r0, r0, r1, lsl #16 - 8001358: 1b64 subs r4, r4, r5 - 800135a: 2100 movs r1, #0 - 800135c: b11e cbz r6, 8001366 <__udivmoddi4+0xa2> - 800135e: 40dc lsrs r4, r3 - 8001360: 2300 movs r3, #0 - 8001362: e9c6 4300 strd r4, r3, [r6] - 8001366: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} - 800136a: 428b cmp r3, r1 - 800136c: d908 bls.n 8001380 <__udivmoddi4+0xbc> - 800136e: 2e00 cmp r6, #0 - 8001370: f000 80ed beq.w 800154e <__udivmoddi4+0x28a> - 8001374: 2100 movs r1, #0 - 8001376: e9c6 0500 strd r0, r5, [r6] - 800137a: 4608 mov r0, r1 - 800137c: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} - 8001380: fab3 f183 clz r1, r3 - 8001384: 2900 cmp r1, #0 - 8001386: d149 bne.n 800141c <__udivmoddi4+0x158> - 8001388: 42ab cmp r3, r5 - 800138a: d302 bcc.n 8001392 <__udivmoddi4+0xce> - 800138c: 4282 cmp r2, r0 - 800138e: f200 80f8 bhi.w 8001582 <__udivmoddi4+0x2be> - 8001392: 1a84 subs r4, r0, r2 - 8001394: eb65 0203 sbc.w r2, r5, r3 - 8001398: 2001 movs r0, #1 - 800139a: 4617 mov r7, r2 - 800139c: 2e00 cmp r6, #0 - 800139e: d0e2 beq.n 8001366 <__udivmoddi4+0xa2> - 80013a0: e9c6 4700 strd r4, r7, [r6] - 80013a4: e7df b.n 8001366 <__udivmoddi4+0xa2> - 80013a6: b902 cbnz r2, 80013aa <__udivmoddi4+0xe6> - 80013a8: deff udf #255 ; 0xff - 80013aa: fab2 f382 clz r3, r2 - 80013ae: 2b00 cmp r3, #0 - 80013b0: f040 8090 bne.w 80014d4 <__udivmoddi4+0x210> - 80013b4: 1a8a subs r2, r1, r2 - 80013b6: ea4f 471c mov.w r7, ip, lsr #16 - 80013ba: fa1f fe8c uxth.w lr, ip - 80013be: 2101 movs r1, #1 - 80013c0: fbb2 f5f7 udiv r5, r2, r7 - 80013c4: fb07 2015 mls r0, r7, r5, r2 - 80013c8: 0c22 lsrs r2, r4, #16 - 80013ca: ea42 4200 orr.w r2, r2, r0, lsl #16 - 80013ce: fb0e f005 mul.w r0, lr, r5 - 80013d2: 4290 cmp r0, r2 - 80013d4: d908 bls.n 80013e8 <__udivmoddi4+0x124> - 80013d6: eb1c 0202 adds.w r2, ip, r2 - 80013da: f105 38ff add.w r8, r5, #4294967295 ; 0xffffffff - 80013de: d202 bcs.n 80013e6 <__udivmoddi4+0x122> - 80013e0: 4290 cmp r0, r2 - 80013e2: f200 80cb bhi.w 800157c <__udivmoddi4+0x2b8> - 80013e6: 4645 mov r5, r8 - 80013e8: 1a12 subs r2, r2, r0 - 80013ea: b2a4 uxth r4, r4 - 80013ec: fbb2 f0f7 udiv r0, r2, r7 - 80013f0: fb07 2210 mls r2, r7, r0, r2 - 80013f4: ea44 4402 orr.w r4, r4, r2, lsl #16 - 80013f8: fb0e fe00 mul.w lr, lr, r0 - 80013fc: 45a6 cmp lr, r4 - 80013fe: d908 bls.n 8001412 <__udivmoddi4+0x14e> - 8001400: eb1c 0404 adds.w r4, ip, r4 - 8001404: f100 32ff add.w r2, r0, #4294967295 ; 0xffffffff - 8001408: d202 bcs.n 8001410 <__udivmoddi4+0x14c> - 800140a: 45a6 cmp lr, r4 - 800140c: f200 80bb bhi.w 8001586 <__udivmoddi4+0x2c2> - 8001410: 4610 mov r0, r2 - 8001412: eba4 040e sub.w r4, r4, lr - 8001416: ea40 4005 orr.w r0, r0, r5, lsl #16 - 800141a: e79f b.n 800135c <__udivmoddi4+0x98> - 800141c: f1c1 0720 rsb r7, r1, #32 - 8001420: 408b lsls r3, r1 - 8001422: fa22 fc07 lsr.w ip, r2, r7 - 8001426: ea4c 0c03 orr.w ip, ip, r3 - 800142a: fa05 f401 lsl.w r4, r5, r1 - 800142e: fa20 f307 lsr.w r3, r0, r7 - 8001432: 40fd lsrs r5, r7 - 8001434: ea4f 491c mov.w r9, ip, lsr #16 - 8001438: 4323 orrs r3, r4 - 800143a: fbb5 f8f9 udiv r8, r5, r9 - 800143e: fa1f fe8c uxth.w lr, ip - 8001442: fb09 5518 mls r5, r9, r8, r5 - 8001446: 0c1c lsrs r4, r3, #16 - 8001448: ea44 4405 orr.w r4, r4, r5, lsl #16 - 800144c: fb08 f50e mul.w r5, r8, lr - 8001450: 42a5 cmp r5, r4 - 8001452: fa02 f201 lsl.w r2, r2, r1 - 8001456: fa00 f001 lsl.w r0, r0, r1 - 800145a: d90b bls.n 8001474 <__udivmoddi4+0x1b0> - 800145c: eb1c 0404 adds.w r4, ip, r4 - 8001460: f108 3aff add.w sl, r8, #4294967295 ; 0xffffffff - 8001464: f080 8088 bcs.w 8001578 <__udivmoddi4+0x2b4> - 8001468: 42a5 cmp r5, r4 - 800146a: f240 8085 bls.w 8001578 <__udivmoddi4+0x2b4> - 800146e: f1a8 0802 sub.w r8, r8, #2 - 8001472: 4464 add r4, ip - 8001474: 1b64 subs r4, r4, r5 - 8001476: b29d uxth r5, r3 - 8001478: fbb4 f3f9 udiv r3, r4, r9 - 800147c: fb09 4413 mls r4, r9, r3, r4 - 8001480: ea45 4404 orr.w r4, r5, r4, lsl #16 - 8001484: fb03 fe0e mul.w lr, r3, lr - 8001488: 45a6 cmp lr, r4 - 800148a: d908 bls.n 800149e <__udivmoddi4+0x1da> - 800148c: eb1c 0404 adds.w r4, ip, r4 - 8001490: f103 35ff add.w r5, r3, #4294967295 ; 0xffffffff - 8001494: d26c bcs.n 8001570 <__udivmoddi4+0x2ac> - 8001496: 45a6 cmp lr, r4 - 8001498: d96a bls.n 8001570 <__udivmoddi4+0x2ac> - 800149a: 3b02 subs r3, #2 - 800149c: 4464 add r4, ip - 800149e: ea43 4308 orr.w r3, r3, r8, lsl #16 - 80014a2: fba3 9502 umull r9, r5, r3, r2 - 80014a6: eba4 040e sub.w r4, r4, lr - 80014aa: 42ac cmp r4, r5 - 80014ac: 46c8 mov r8, r9 - 80014ae: 46ae mov lr, r5 - 80014b0: d356 bcc.n 8001560 <__udivmoddi4+0x29c> - 80014b2: d053 beq.n 800155c <__udivmoddi4+0x298> - 80014b4: b156 cbz r6, 80014cc <__udivmoddi4+0x208> - 80014b6: ebb0 0208 subs.w r2, r0, r8 - 80014ba: eb64 040e sbc.w r4, r4, lr - 80014be: fa04 f707 lsl.w r7, r4, r7 - 80014c2: 40ca lsrs r2, r1 - 80014c4: 40cc lsrs r4, r1 - 80014c6: 4317 orrs r7, r2 - 80014c8: e9c6 7400 strd r7, r4, [r6] - 80014cc: 4618 mov r0, r3 - 80014ce: 2100 movs r1, #0 - 80014d0: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} - 80014d4: f1c3 0120 rsb r1, r3, #32 - 80014d8: fa02 fc03 lsl.w ip, r2, r3 - 80014dc: fa20 f201 lsr.w r2, r0, r1 - 80014e0: fa25 f101 lsr.w r1, r5, r1 - 80014e4: 409d lsls r5, r3 - 80014e6: 432a orrs r2, r5 - 80014e8: ea4f 471c mov.w r7, ip, lsr #16 - 80014ec: fa1f fe8c uxth.w lr, ip - 80014f0: fbb1 f0f7 udiv r0, r1, r7 - 80014f4: fb07 1510 mls r5, r7, r0, r1 - 80014f8: 0c11 lsrs r1, r2, #16 - 80014fa: ea41 4105 orr.w r1, r1, r5, lsl #16 - 80014fe: fb00 f50e mul.w r5, r0, lr - 8001502: 428d cmp r5, r1 - 8001504: fa04 f403 lsl.w r4, r4, r3 - 8001508: d908 bls.n 800151c <__udivmoddi4+0x258> - 800150a: eb1c 0101 adds.w r1, ip, r1 - 800150e: f100 38ff add.w r8, r0, #4294967295 ; 0xffffffff - 8001512: d22f bcs.n 8001574 <__udivmoddi4+0x2b0> - 8001514: 428d cmp r5, r1 - 8001516: d92d bls.n 8001574 <__udivmoddi4+0x2b0> - 8001518: 3802 subs r0, #2 - 800151a: 4461 add r1, ip - 800151c: 1b49 subs r1, r1, r5 - 800151e: b292 uxth r2, r2 - 8001520: fbb1 f5f7 udiv r5, r1, r7 - 8001524: fb07 1115 mls r1, r7, r5, r1 - 8001528: ea42 4201 orr.w r2, r2, r1, lsl #16 - 800152c: fb05 f10e mul.w r1, r5, lr - 8001530: 4291 cmp r1, r2 - 8001532: d908 bls.n 8001546 <__udivmoddi4+0x282> - 8001534: eb1c 0202 adds.w r2, ip, r2 - 8001538: f105 38ff add.w r8, r5, #4294967295 ; 0xffffffff - 800153c: d216 bcs.n 800156c <__udivmoddi4+0x2a8> - 800153e: 4291 cmp r1, r2 - 8001540: d914 bls.n 800156c <__udivmoddi4+0x2a8> - 8001542: 3d02 subs r5, #2 - 8001544: 4462 add r2, ip - 8001546: 1a52 subs r2, r2, r1 - 8001548: ea45 4100 orr.w r1, r5, r0, lsl #16 - 800154c: e738 b.n 80013c0 <__udivmoddi4+0xfc> - 800154e: 4631 mov r1, r6 - 8001550: 4630 mov r0, r6 - 8001552: e708 b.n 8001366 <__udivmoddi4+0xa2> - 8001554: 4639 mov r1, r7 - 8001556: e6e6 b.n 8001326 <__udivmoddi4+0x62> - 8001558: 4610 mov r0, r2 - 800155a: e6fb b.n 8001354 <__udivmoddi4+0x90> - 800155c: 4548 cmp r0, r9 - 800155e: d2a9 bcs.n 80014b4 <__udivmoddi4+0x1f0> - 8001560: ebb9 0802 subs.w r8, r9, r2 - 8001564: eb65 0e0c sbc.w lr, r5, ip - 8001568: 3b01 subs r3, #1 - 800156a: e7a3 b.n 80014b4 <__udivmoddi4+0x1f0> - 800156c: 4645 mov r5, r8 - 800156e: e7ea b.n 8001546 <__udivmoddi4+0x282> - 8001570: 462b mov r3, r5 - 8001572: e794 b.n 800149e <__udivmoddi4+0x1da> - 8001574: 4640 mov r0, r8 - 8001576: e7d1 b.n 800151c <__udivmoddi4+0x258> - 8001578: 46d0 mov r8, sl - 800157a: e77b b.n 8001474 <__udivmoddi4+0x1b0> - 800157c: 3d02 subs r5, #2 - 800157e: 4462 add r2, ip - 8001580: e732 b.n 80013e8 <__udivmoddi4+0x124> - 8001582: 4608 mov r0, r1 - 8001584: e70a b.n 800139c <__udivmoddi4+0xd8> - 8001586: 4464 add r4, ip - 8001588: 3802 subs r0, #2 - 800158a: e742 b.n 8001412 <__udivmoddi4+0x14e> - -0800158c : - 800158c: b910 cbnz r0, 8001594 - 800158e: 4803 ldr r0, [pc, #12] ; (800159c ) - 8001590: f002 beac b.w 80042ec - 8001594: 6803 ldr r3, [r0, #0] - 8001596: 6b5b ldr r3, [r3, #52] ; 0x34 - 8001598: 4718 bx r3 - 800159a: bf00 nop - 800159c: 080064c6 stmdaeq r0, {r1, r2, r6, r7, sl, sp, lr} - -080015a0 : - 80015a0: b513 push {r0, r1, r4, lr} - 80015a2: 4604 mov r4, r0 - 80015a4: 0a13 lsrs r3, r2, #8 - 80015a6: 7800 ldrb r0, [r0, #0] - 80015a8: f88d 1004 strb.w r1, [sp, #4] - 80015ac: f88d 3005 strb.w r3, [sp, #5] - 80015b0: f88d 2006 strb.w r2, [sp, #6] - 80015b4: f003 fd3a bl 800502c - 80015b8: 6860 ldr r0, [r4, #4] - 80015ba: f003 fd2f bl 800501c - 80015be: 2103 movs r1, #3 - 80015c0: a801 add r0, sp, #4 - 80015c2: f003 fd39 bl 8005038 - 80015c6: b002 add sp, #8 - 80015c8: bd10 pop {r4, pc} - -080015ca : - 80015ca: b537 push {r0, r1, r2, r4, r5, lr} - 80015cc: 460d mov r5, r1 - 80015ce: 4604 mov r4, r0 - 80015d0: f003 fd2c bl 800502c - 80015d4: 4628 mov r0, r5 - 80015d6: f003 fd21 bl 800501c - 80015da: f1a4 0330 sub.w r3, r4, #48 ; 0x30 - 80015de: 2b07 cmp r3, #7 - 80015e0: d902 bls.n 80015e8 - 80015e2: 3c50 subs r4, #80 ; 0x50 - 80015e4: 2c0f cmp r4, #15 - 80015e6: d809 bhi.n 80015fc - 80015e8: 2101 movs r1, #1 - 80015ea: f10d 0007 add.w r0, sp, #7 - 80015ee: f003 fd89 bl 8005104 - 80015f2: fab0 f080 clz r0, r0 - 80015f6: 0940 lsrs r0, r0, #5 - 80015f8: b003 add sp, #12 - 80015fa: bd30 pop {r4, r5, pc} - 80015fc: 2100 movs r1, #0 - 80015fe: 4608 mov r0, r1 - 8001600: f003 fd1a bl 8005038 - 8001604: e7f5 b.n 80015f2 - -08001606 : - 8001606: b513 push {r0, r1, r4, lr} - 8001608: 68c1 ldr r1, [r0, #12] - 800160a: 4604 mov r4, r0 - 800160c: 7a00 ldrb r0, [r0, #8] - 800160e: f7ff ffdc bl 80015ca - 8001612: 7460 strb r0, [r4, #17] - 8001614: b170 cbz r0, 8001634 - 8001616: 2200 movs r2, #0 - 8001618: f104 0008 add.w r0, r4, #8 - 800161c: 4611 mov r1, r2 - 800161e: 9001 str r0, [sp, #4] - 8001620: f7ff ffbe bl 80015a0 - 8001624: 7c63 ldrb r3, [r4, #17] - 8001626: 9801 ldr r0, [sp, #4] - 8001628: b123 cbz r3, 8001634 - 800162a: f24c 02ff movw r2, #49407 ; 0xc0ff - 800162e: 2112 movs r1, #18 - 8001630: f7ff ffb6 bl 80015a0 - 8001634: b002 add sp, #8 - 8001636: bd10 pop {r4, pc} - -08001638 : - 8001638: b538 push {r3, r4, r5, lr} - 800163a: 4605 mov r5, r0 - 800163c: 460c mov r4, r1 - 800163e: 203c movs r0, #60 ; 0x3c - 8001640: 4911 ldr r1, [pc, #68] ; (8001688 ) - 8001642: f7ff ffc2 bl 80015ca - 8001646: b1b0 cbz r0, 8001676 - 8001648: 2c04 cmp r4, #4 - 800164a: f04f 0018 mov.w r0, #24 - 800164e: d816 bhi.n 800167e - 8001650: f002 fda0 bl 8004194 - 8001654: 2101 movs r1, #1 - 8001656: 4604 mov r4, r0 - 8001658: f000 f8ac bl 80017b4 - 800165c: 6823 ldr r3, [r4, #0] - 800165e: 61ac str r4, [r5, #24] - 8001660: 689b ldr r3, [r3, #8] - 8001662: 4620 mov r0, r4 - 8001664: 4798 blx r3 - 8001666: b130 cbz r0, 8001676 - 8001668: 2302 movs r3, #2 - 800166a: 4a08 ldr r2, [pc, #32] ; (800168c ) - 800166c: 602b str r3, [r5, #0] - 800166e: 2101 movs r1, #1 - 8001670: 4628 mov r0, r5 - 8001672: f7ff f928 bl 80008c6 - 8001676: 69ab ldr r3, [r5, #24] - 8001678: b903 cbnz r3, 800167c - 800167a: 616b str r3, [r5, #20] - 800167c: bd38 pop {r3, r4, r5, pc} - 800167e: f002 fd89 bl 8004194 - 8001682: 2100 movs r1, #0 - 8001684: 4604 mov r4, r0 - 8001686: e7e7 b.n 8001658 - 8001688: 000186a0 andeq r8, r1, r0, lsr #13 - 800168c: 080064d7 stmdaeq r0, {r0, r1, r2, r4, r6, r7, sl, sp, lr} - -08001690 : - 8001690: 2304 movs r3, #4 - 8001692: b510 push {r4, lr} - 8001694: 6003 str r3, [r0, #0] - 8001696: 4b0e ldr r3, [pc, #56] ; (80016d0 ) - 8001698: 4a0e ldr r2, [pc, #56] ; (80016d4 ) - 800169a: 681b ldr r3, [r3, #0] - 800169c: 6043 str r3, [r0, #4] - 800169e: 2321 movs r3, #33 ; 0x21 - 80016a0: 7203 strb r3, [r0, #8] - 80016a2: 4b0d ldr r3, [pc, #52] ; (80016d8 ) - 80016a4: 60c3 str r3, [r0, #12] - 80016a6: 2300 movs r3, #0 - 80016a8: e9c0 2305 strd r2, r3, [r0, #20] - 80016ac: 8203 strh r3, [r0, #16] - 80016ae: 4b0b ldr r3, [pc, #44] ; (80016dc ) - 80016b0: 4604 mov r4, r0 - 80016b2: 6018 str r0, [r3, #0] - 80016b4: f7ff ffc0 bl 8001638 - 80016b8: 4620 mov r0, r4 - 80016ba: f7ff ffa4 bl 8001606 - 80016be: 69a3 ldr r3, [r4, #24] - 80016c0: b10b cbz r3, 80016c6 - 80016c2: f000 fa09 bl 8001ad8 - 80016c6: 69a0 ldr r0, [r4, #24] - 80016c8: f7ff ff60 bl 800158c - 80016cc: 4620 mov r0, r4 - 80016ce: bd10 pop {r4, pc} - 80016d0: 2000323c andcs r3, r0, ip, lsr r2 - 80016d4: 000493e0 andeq r9, r4, r0, ror #7 - 80016d8: 00061a80 andeq r1, r6, r0, lsl #21 - 80016dc: 200000d4 ldrdcs r0, [r0], -r4 - -080016e0 : - 80016e0: 4770 bx lr - -080016e2 : - 80016e2: 4770 bx lr - -080016e4 : - 80016e4: b410 push {r4} - 80016e6: 4906 ldr r1, [pc, #24] ; (8001700 ) - 80016e8: 7c44 ldrb r4, [r0, #17] - 80016ea: 7903 ldrb r3, [r0, #4] - 80016ec: 7942 ldrb r2, [r0, #5] - 80016ee: 4805 ldr r0, [pc, #20] ; (8001704 ) - 80016f0: 2c00 cmp r4, #0 - 80016f2: bf08 it eq - 80016f4: 4601 moveq r1, r0 - 80016f6: 4804 ldr r0, [pc, #16] ; (8001708 ) - 80016f8: f85d 4b04 ldr.w r4, [sp], #4 - 80016fc: f7ff bdaa b.w 8001254 - 8001700: 080064df stmdaeq r0, {r0, r1, r2, r3, r4, r6, r7, sl, sp, lr} - 8001704: 080064d7 stmdaeq r0, {r0, r1, r2, r4, r6, r7, sl, sp, lr} - 8001708: 080064e6 stmdaeq r0, {r1, r2, r5, r6, r7, sl, sp, lr} - -0800170c : - 800170c: b510 push {r4, lr} - 800170e: 4604 mov r4, r0 - 8001710: f002 fd3c bl 800418c - 8001714: 4620 mov r0, r4 - 8001716: bd10 pop {r4, pc} - -08001718 : - 8001718: b510 push {r4, lr} - 800171a: 4604 mov r4, r0 - 800171c: 7800 ldrb r0, [r0, #0] - 800171e: f003 fc85 bl 800502c - 8001722: 6860 ldr r0, [r4, #4] - 8001724: e8bd 4010 ldmia.w sp!, {r4, lr} - 8001728: f003 bc78 b.w 800501c - -0800172c : - 800172c: b510 push {r4, lr} - 800172e: 3920 subs r1, #32 - 8001730: 295f cmp r1, #95 ; 0x5f - 8001732: f100 0008 add.w r0, r0, #8 - 8001736: bf94 ite ls - 8001738: 460c movls r4, r1 - 800173a: 2400 movhi r4, #0 - 800173c: f7ff ffec bl 8001718 - 8001740: 4804 ldr r0, [pc, #16] ; (8001754 ) - 8001742: ebc4 04c4 rsb r4, r4, r4, lsl #3 - 8001746: 4420 add r0, r4 - 8001748: 2107 movs r1, #7 - 800174a: e8bd 4010 ldmia.w sp!, {r4, lr} - 800174e: f003 bc73 b.w 8005038 - 8001752: bf00 nop - 8001754: 080064f8 stmdaeq r0, {r3, r4, r5, r6, r7, sl, sp, lr} - -08001758 : - 8001758: b538 push {r3, r4, r5, lr} - 800175a: 4605 mov r5, r0 - 800175c: 1e4c subs r4, r1, #1 - 800175e: f814 1f01 ldrb.w r1, [r4, #1]! - 8001762: b901 cbnz r1, 8001766 - 8001764: bd38 pop {r3, r4, r5, pc} - 8001766: 4628 mov r0, r5 - 8001768: f7ff ffe0 bl 800172c - 800176c: e7f7 b.n 800175e - -0800176e : - 800176e: b570 push {r4, r5, r6, lr} - 8001770: 7903 ldrb r3, [r0, #4] - 8001772: 4605 mov r5, r0 - 8001774: 460c mov r4, r1 - 8001776: 4293 cmp r3, r2 - 8001778: bf94 ite ls - 800177a: 18ce addls r6, r1, r3 - 800177c: 188e addhi r6, r1, r2 - 800177e: 42b4 cmp r4, r6 - 8001780: d100 bne.n 8001784 - 8001782: bd70 pop {r4, r5, r6, pc} - 8001784: f814 1b01 ldrb.w r1, [r4], #1 - 8001788: 4628 mov r0, r5 - 800178a: f7ff ffcf bl 800172c - 800178e: e7f6 b.n 800177e - -08001790 : - 8001790: 7c03 ldrb r3, [r0, #16] - 8001792: b14b cbz r3, 80017a8 - 8001794: 3b01 subs r3, #1 - 8001796: 2b01 cmp r3, #1 - 8001798: d909 bls.n 80017ae - 800179a: 2308 movs r3, #8 - 800179c: 2204 movs r2, #4 - 800179e: 2115 movs r1, #21 - 80017a0: 7101 strb r1, [r0, #4] - 80017a2: 7143 strb r3, [r0, #5] - 80017a4: 6142 str r2, [r0, #20] - 80017a6: 4770 bx lr - 80017a8: 2308 movs r3, #8 - 80017aa: 461a mov r2, r3 - 80017ac: e7f7 b.n 800179e - 80017ae: 2304 movs r3, #4 - 80017b0: e7fb b.n 80017aa +08000d88 <_vprintf>: + 8000d88: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} + 8000d8c: 2700 movs r7, #0 + 8000d8e: b086 sub sp, #24 + 8000d90: e9cd 7004 strd r7, r0, [sp, #16] + 8000d94: 4614 mov r4, r2 + 8000d96: f04f 080a mov.w r8, #10 + 8000d9a: 780b ldrb r3, [r1, #0] + 8000d9c: b91b cbnz r3, 8000da6 <_vprintf+0x1e> + 8000d9e: 9804 ldr r0, [sp, #16] + 8000da0: b006 add sp, #24 + 8000da2: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} + 8000da6: 2b25 cmp r3, #37 ; 0x25 + 8000da8: f101 0601 add.w r6, r1, #1 + 8000dac: d005 beq.n 8000dba <_vprintf+0x32> + 8000dae: 4619 mov r1, r3 + 8000db0: a801 add r0, sp, #4 + 8000db2: f7ff ff09 bl 8000bc8 <_xputch> + 8000db6: 4631 mov r1, r6 + 8000db8: e7ef b.n 8000d9a <_vprintf+0x12> + 8000dba: 784b ldrb r3, [r1, #1] + 8000dbc: 9703 str r7, [sp, #12] + 8000dbe: 2b30 cmp r3, #48 ; 0x30 + 8000dc0: e9cd 7701 strd r7, r7, [sp, #4] + 8000dc4: d126 bne.n 8000e14 <_vprintf+0x8c> + 8000dc6: 2320 movs r3, #32 + 8000dc8: 9301 str r3, [sp, #4] + 8000dca: 1c8e adds r6, r1, #2 + 8000dcc: 2200 movs r2, #0 + 8000dce: 4635 mov r5, r6 + 8000dd0: 4613 mov r3, r2 + 8000dd2: 7829 ldrb r1, [r5, #0] + 8000dd4: f1a1 0030 sub.w r0, r1, #48 ; 0x30 + 8000dd8: 2809 cmp r0, #9 + 8000dda: 462e mov r6, r5 + 8000ddc: f105 0501 add.w r5, r5, #1 + 8000de0: d91c bls.n 8000e1c <_vprintf+0x94> + 8000de2: b12a cbz r2, 8000df0 <_vprintf+0x68> + 8000de4: 9303 str r3, [sp, #12] + 8000de6: b11b cbz r3, 8000df0 <_vprintf+0x68> + 8000de8: 9b01 ldr r3, [sp, #4] + 8000dea: f043 0310 orr.w r3, r3, #16 + 8000dee: 9301 str r3, [sp, #4] + 8000df0: 292e cmp r1, #46 ; 0x2e + 8000df2: d122 bne.n 8000e3a <_vprintf+0xb2> + 8000df4: 7873 ldrb r3, [r6, #1] + 8000df6: 2b2a cmp r3, #42 ; 0x2a + 8000df8: d014 beq.n 8000e24 <_vprintf+0x9c> + 8000dfa: 2100 movs r1, #0 + 8000dfc: 1c70 adds r0, r6, #1 + 8000dfe: 460a mov r2, r1 + 8000e00: 7803 ldrb r3, [r0, #0] + 8000e02: 3b30 subs r3, #48 ; 0x30 + 8000e04: 2b09 cmp r3, #9 + 8000e06: 4606 mov r6, r0 + 8000e08: f100 0001 add.w r0, r0, #1 + 8000e0c: d930 bls.n 8000e70 <_vprintf+0xe8> + 8000e0e: b181 cbz r1, 8000e32 <_vprintf+0xaa> + 8000e10: 9202 str r2, [sp, #8] + 8000e12: e00e b.n 8000e32 <_vprintf+0xaa> + 8000e14: 2b2d cmp r3, #45 ; 0x2d + 8000e16: d1d9 bne.n 8000dcc <_vprintf+0x44> + 8000e18: 2340 movs r3, #64 ; 0x40 + 8000e1a: e7d5 b.n 8000dc8 <_vprintf+0x40> + 8000e1c: fb08 0303 mla r3, r8, r3, r0 + 8000e20: 2201 movs r2, #1 + 8000e22: e7d6 b.n 8000dd2 <_vprintf+0x4a> + 8000e24: f854 3b04 ldr.w r3, [r4], #4 + 8000e28: 2b00 cmp r3, #0 + 8000e2a: bfb8 it lt + 8000e2c: 425b neglt r3, r3 + 8000e2e: 3602 adds r6, #2 + 8000e30: 9302 str r3, [sp, #8] + 8000e32: 9b01 ldr r3, [sp, #4] + 8000e34: f043 0301 orr.w r3, r3, #1 + 8000e38: 9301 str r3, [sp, #4] + 8000e3a: 7833 ldrb r3, [r6, #0] + 8000e3c: 2b6c cmp r3, #108 ; 0x6c + 8000e3e: bf04 itt eq + 8000e40: 3601 addeq r6, #1 + 8000e42: 9b01 ldreq r3, [sp, #4] + 8000e44: 7831 ldrb r1, [r6, #0] + 8000e46: bf04 itt eq + 8000e48: f043 0304 orreq.w r3, r3, #4 + 8000e4c: 9301 streq r3, [sp, #4] + 8000e4e: 2978 cmp r1, #120 ; 0x78 + 8000e50: d8ae bhi.n 8000db0 <_vprintf+0x28> + 8000e52: 296f cmp r1, #111 ; 0x6f + 8000e54: d810 bhi.n 8000e78 <_vprintf+0xf0> + 8000e56: 2963 cmp r1, #99 ; 0x63 + 8000e58: d048 beq.n 8000eec <_vprintf+0x164> + 8000e5a: d827 bhi.n 8000eac <_vprintf+0x124> + 8000e5c: 2958 cmp r1, #88 ; 0x58 + 8000e5e: d1a7 bne.n 8000db0 <_vprintf+0x28> + 8000e60: 9b01 ldr r3, [sp, #4] + 8000e62: f043 0302 orr.w r3, r3, #2 + 8000e66: 9301 str r3, [sp, #4] + 8000e68: 4625 mov r5, r4 + 8000e6a: f855 1b04 ldr.w r1, [r5], #4 + 8000e6e: e056 b.n 8000f1e <_vprintf+0x196> + 8000e70: fb08 3202 mla r2, r8, r2, r3 + 8000e74: 2101 movs r1, #1 + 8000e76: e7c3 b.n 8000e00 <_vprintf+0x78> + 8000e78: f1a1 0370 sub.w r3, r1, #112 ; 0x70 + 8000e7c: 2b08 cmp r3, #8 + 8000e7e: d897 bhi.n 8000db0 <_vprintf+0x28> + 8000e80: a201 add r2, pc, #4 ; (adr r2, 8000e88 <_vprintf+0x100>) + 8000e82: f852 f023 ldr.w pc, [r2, r3, lsl #2] + 8000e86: bf00 nop + 8000e88: 08000eff stmdaeq r0, {r0, r1, r2, r3, r4, r5, r6, r7, r9, sl, fp} + 8000e8c: 08000db1 stmdaeq r0, {r0, r4, r5, r7, r8, sl, fp} + 8000e90: 08000db1 stmdaeq r0, {r0, r4, r5, r7, r8, sl, fp} + 8000e94: 08000f27 stmdaeq r0, {r0, r1, r2, r5, r8, r9, sl, fp} + 8000e98: 08000db1 stmdaeq r0, {r0, r4, r5, r7, r8, sl, fp} + 8000e9c: 08000f9b stmdaeq r0, {r0, r1, r3, r4, r7, r8, r9, sl, fp} + 8000ea0: 08000db1 stmdaeq r0, {r0, r4, r5, r7, r8, sl, fp} + 8000ea4: 08000db1 stmdaeq r0, {r0, r4, r5, r7, r8, sl, fp} + 8000ea8: 08000e69 stmdaeq r0, {r0, r3, r5, r6, r9, sl, fp} + 8000eac: 2964 cmp r1, #100 ; 0x64 + 8000eae: d002 beq.n 8000eb6 <_vprintf+0x12e> + 8000eb0: 2969 cmp r1, #105 ; 0x69 + 8000eb2: f47f af7d bne.w 8000db0 <_vprintf+0x28> + 8000eb6: 9901 ldr r1, [sp, #4] + 8000eb8: 074d lsls r5, r1, #29 + 8000eba: bf4b itete mi + 8000ebc: 3407 addmi r4, #7 + 8000ebe: 4625 movpl r5, r4 + 8000ec0: f024 0407 bicmi.w r4, r4, #7 + 8000ec4: f855 2b04 ldrpl.w r2, [r5], #4 + 8000ec8: bf45 ittet mi + 8000eca: 6863 ldrmi r3, [r4, #4] + 8000ecc: 4625 movmi r5, r4 + 8000ece: 17d3 asrpl r3, r2, #31 + 8000ed0: f855 2b08 ldrmi.w r2, [r5], #8 + 8000ed4: 2b00 cmp r3, #0 + 8000ed6: da05 bge.n 8000ee4 <_vprintf+0x15c> + 8000ed8: f041 0108 orr.w r1, r1, #8 + 8000edc: 4252 negs r2, r2 + 8000ede: 9101 str r1, [sp, #4] + 8000ee0: eb63 0343 sbc.w r3, r3, r3, lsl #1 + 8000ee4: a801 add r0, sp, #4 + 8000ee6: f7ff fe87 bl 8000bf8 <_format_int> + 8000eea: e005 b.n 8000ef8 <_vprintf+0x170> + 8000eec: 4625 mov r5, r4 + 8000eee: a801 add r0, sp, #4 + 8000ef0: f855 1b04 ldr.w r1, [r5], #4 + 8000ef4: f7ff fe68 bl 8000bc8 <_xputch> + 8000ef8: 3601 adds r6, #1 + 8000efa: 462c mov r4, r5 + 8000efc: e75b b.n 8000db6 <_vprintf+0x2e> + 8000efe: 4625 mov r5, r4 + 8000f00: 2308 movs r3, #8 + 8000f02: f855 4b04 ldr.w r4, [r5], #4 + 8000f06: 9303 str r3, [sp, #12] + 8000f08: 2130 movs r1, #48 ; 0x30 + 8000f0a: 2320 movs r3, #32 + 8000f0c: a801 add r0, sp, #4 + 8000f0e: 9301 str r3, [sp, #4] + 8000f10: f7ff fe5a bl 8000bc8 <_xputch> + 8000f14: 2178 movs r1, #120 ; 0x78 + 8000f16: a801 add r0, sp, #4 + 8000f18: f7ff fe56 bl 8000bc8 <_xputch> + 8000f1c: 4621 mov r1, r4 + 8000f1e: a801 add r0, sp, #4 + 8000f20: f7ff fed4 bl 8000ccc <_format_hex> + 8000f24: e7e8 b.n 8000ef8 <_vprintf+0x170> + 8000f26: 4625 mov r5, r4 + 8000f28: 2400 movs r4, #0 + 8000f2a: f855 9b04 ldr.w r9, [r5], #4 + 8000f2e: f819 3004 ldrb.w r3, [r9, r4] + 8000f32: b993 cbnz r3, 8000f5a <_vprintf+0x1d2> + 8000f34: 9b01 ldr r3, [sp, #4] + 8000f36: 07d9 lsls r1, r3, #31 + 8000f38: d503 bpl.n 8000f42 <_vprintf+0x1ba> + 8000f3a: 9b02 ldr r3, [sp, #8] + 8000f3c: 429c cmp r4, r3 + 8000f3e: bfa8 it ge + 8000f40: 461c movge r4, r3 + 8000f42: 9b01 ldr r3, [sp, #4] + 8000f44: 065a lsls r2, r3, #25 + 8000f46: f104 0a01 add.w sl, r4, #1 + 8000f4a: d403 bmi.n 8000f54 <_vprintf+0x1cc> + 8000f4c: 9b03 ldr r3, [sp, #12] + 8000f4e: 429c cmp r4, r3 + 8000f50: db05 blt.n 8000f5e <_vprintf+0x1d6> + 8000f52: 4654 mov r4, sl + 8000f54: f109 39ff add.w r9, r9, #4294967295 ; 0xffffffff + 8000f58: e00d b.n 8000f76 <_vprintf+0x1ee> + 8000f5a: 3401 adds r4, #1 + 8000f5c: e7e7 b.n 8000f2e <_vprintf+0x1a6> + 8000f5e: 2120 movs r1, #32 + 8000f60: a801 add r0, sp, #4 + 8000f62: f7ff fe31 bl 8000bc8 <_xputch> + 8000f66: 4654 mov r4, sl + 8000f68: e7eb b.n 8000f42 <_vprintf+0x1ba> + 8000f6a: a801 add r0, sp, #4 + 8000f6c: f7ff fe2c bl 8000bc8 <_xputch> + 8000f70: 9b02 ldr r3, [sp, #8] + 8000f72: 3b01 subs r3, #1 + 8000f74: 9302 str r3, [sp, #8] + 8000f76: 9b01 ldr r3, [sp, #4] + 8000f78: 07db lsls r3, r3, #31 + 8000f7a: d501 bpl.n 8000f80 <_vprintf+0x1f8> + 8000f7c: 9b02 ldr r3, [sp, #8] + 8000f7e: b11b cbz r3, 8000f88 <_vprintf+0x200> + 8000f80: f819 1f01 ldrb.w r1, [r9, #1]! + 8000f84: 2900 cmp r1, #0 + 8000f86: d1f0 bne.n 8000f6a <_vprintf+0x1e2> + 8000f88: 9b03 ldr r3, [sp, #12] + 8000f8a: 42a3 cmp r3, r4 + 8000f8c: ddb4 ble.n 8000ef8 <_vprintf+0x170> + 8000f8e: 2120 movs r1, #32 + 8000f90: a801 add r0, sp, #4 + 8000f92: f7ff fe19 bl 8000bc8 <_xputch> + 8000f96: 3401 adds r4, #1 + 8000f98: e7f6 b.n 8000f88 <_vprintf+0x200> + 8000f9a: 9b01 ldr r3, [sp, #4] + 8000f9c: f013 0304 ands.w r3, r3, #4 + 8000fa0: bf1d ittte ne + 8000fa2: 3407 addne r4, #7 + 8000fa4: f024 0407 bicne.w r4, r4, #7 + 8000fa8: 4625 movne r5, r4 + 8000faa: 4625 moveq r5, r4 + 8000fac: bf1a itte ne + 8000fae: f855 2b08 ldrne.w r2, [r5], #8 + 8000fb2: 6863 ldrne r3, [r4, #4] + 8000fb4: f855 2b04 ldreq.w r2, [r5], #4 + 8000fb8: e794 b.n 8000ee4 <_vprintf+0x15c> + 8000fba: bf00 nop + +08000fbc : + 8000fbc: b40f push {r0, r1, r2, r3} + 8000fbe: b507 push {r0, r1, r2, lr} + 8000fc0: aa04 add r2, sp, #16 + 8000fc2: f06f 4000 mvn.w r0, #2147483648 ; 0x80000000 + 8000fc6: f852 1b04 ldr.w r1, [r2], #4 + 8000fca: 9201 str r2, [sp, #4] + 8000fcc: f7ff fedc bl 8000d88 <_vprintf> + 8000fd0: b003 add sp, #12 + 8000fd2: f85d eb04 ldr.w lr, [sp], #4 + 8000fd6: b004 add sp, #16 + 8000fd8: 4770 bx lr ... -080017b4 : - 80017b4: 4a08 ldr r2, [pc, #32] ; (80017d8 ) - 80017b6: 6002 str r2, [r0, #0] - 80017b8: 227f movs r2, #127 ; 0x7f - 80017ba: b508 push {r3, lr} - 80017bc: 80c2 strh r2, [r0, #6] - 80017be: 223c movs r2, #60 ; 0x3c - 80017c0: 7202 strb r2, [r0, #8] - 80017c2: 4a06 ldr r2, [pc, #24] ; (80017dc ) - 80017c4: 60c2 str r2, [r0, #12] - 80017c6: 2200 movs r2, #0 - 80017c8: 7442 strb r2, [r0, #17] - 80017ca: 4a05 ldr r2, [pc, #20] ; (80017e0 ) - 80017cc: 7401 strb r1, [r0, #16] - 80017ce: 6010 str r0, [r2, #0] - 80017d0: f7ff ffde bl 8001790 - 80017d4: bd08 pop {r3, pc} - 80017d6: bf00 nop - 80017d8: 080067d0 stmdaeq r0, {r4, r6, r7, r8, r9, sl, sp, lr} - 80017dc: 00061a80 andeq r1, r6, r0, lsl #21 - 80017e0: 20000160 andcs r0, r0, r0, ror #2 - -080017e4 : - 80017e4: b507 push {r0, r1, r2, lr} - 80017e6: 2300 movs r3, #0 - 80017e8: 3008 adds r0, #8 - 80017ea: f88d 3004 strb.w r3, [sp, #4] - 80017ee: f88d 1005 strb.w r1, [sp, #5] - 80017f2: f7ff ff91 bl 8001718 - 80017f6: 2102 movs r1, #2 - 80017f8: a801 add r0, sp, #4 - 80017fa: f003 fc1d bl 8005038 - 80017fe: b003 add sp, #12 - 8001800: f85d fb04 ldr.w pc, [sp], #4 - -08001804 : - 8001804: 2914 cmp r1, #20 - 8001806: b537 push {r0, r1, r2, r4, r5, lr} - 8001808: 4615 mov r5, r2 - 800180a: d81d bhi.n 8001848 - 800180c: 7943 ldrb r3, [r0, #5] - 800180e: 4293 cmp r3, r2 - 8001810: d91a bls.n 8001848 - 8001812: eb01 0141 add.w r1, r1, r1, lsl #1 - 8001816: 7c43 ldrb r3, [r0, #17] - 8001818: 004c lsls r4, r1, #1 - 800181a: b2e4 uxtb r4, r4 - 800181c: b10b cbz r3, 8001822 - 800181e: 3404 adds r4, #4 - 8001820: b2e4 uxtb r4, r4 - 8001822: f004 010e and.w r1, r4, #14 - 8001826: 9001 str r0, [sp, #4] - 8001828: f7ff ffdc bl 80017e4 - 800182c: 0921 lsrs r1, r4, #4 - 800182e: 9801 ldr r0, [sp, #4] - 8001830: f041 0110 orr.w r1, r1, #16 - 8001834: f7ff ffd6 bl 80017e4 - 8001838: 9801 ldr r0, [sp, #4] - 800183a: f045 01b0 orr.w r1, r5, #176 ; 0xb0 - 800183e: b003 add sp, #12 - 8001840: e8bd 4030 ldmia.w sp!, {r4, r5, lr} - 8001844: f7ff bfce b.w 80017e4 - 8001848: b003 add sp, #12 - 800184a: bd30 pop {r4, r5, pc} - -0800184c : - 800184c: b5e0 push {r5, r6, r7, lr} - 800184e: 461f mov r7, r3 - 8001850: 7943 ldrb r3, [r0, #5] - 8001852: 428b cmp r3, r1 - 8001854: 4605 mov r5, r0 - 8001856: 4616 mov r6, r2 - 8001858: d30b bcc.n 8001872 - 800185a: 1e4a subs r2, r1, #1 - 800185c: b2d2 uxtb r2, r2 - 800185e: 2100 movs r1, #0 - 8001860: f7ff ffd0 bl 8001804 - 8001864: 463a mov r2, r7 - 8001866: 4631 mov r1, r6 - 8001868: 4628 mov r0, r5 - 800186a: e8bd 40e0 ldmia.w sp!, {r5, r6, r7, lr} - 800186e: f7ff bf7e b.w 800176e - 8001872: bde0 pop {r5, r6, r7, pc} - -08001874 : - 8001874: b513 push {r0, r1, r4, lr} - 8001876: 7943 ldrb r3, [r0, #5] - 8001878: 428b cmp r3, r1 - 800187a: 4604 mov r4, r0 - 800187c: d315 bcc.n 80018aa - 800187e: 1e4a subs r2, r1, #1 - 8001880: b2d2 uxtb r2, r2 - 8001882: 2100 movs r1, #0 - 8001884: 9201 str r2, [sp, #4] - 8001886: f7ff ffbd bl 8001804 - 800188a: f104 0008 add.w r0, r4, #8 - 800188e: f7ff ff43 bl 8001718 - 8001892: 2181 movs r1, #129 ; 0x81 - 8001894: 4806 ldr r0, [pc, #24] ; (80018b0 ) - 8001896: f003 fbcf bl 8005038 - 800189a: 9a01 ldr r2, [sp, #4] - 800189c: 2100 movs r1, #0 - 800189e: 4620 mov r0, r4 - 80018a0: b002 add sp, #8 - 80018a2: e8bd 4010 ldmia.w sp!, {r4, lr} - 80018a6: f7ff bfad b.w 8001804 - 80018aa: b002 add sp, #8 - 80018ac: bd10 pop {r4, pc} - 80018ae: bf00 nop - 80018b0: 200000d8 ldrdcs r0, [r0], -r8 - -080018b4 : - 80018b4: b111 cbz r1, 80018bc - 80018b6: 21ae movs r1, #174 ; 0xae - 80018b8: f7ff bf94 b.w 80017e4 - 80018bc: 21af movs r1, #175 ; 0xaf - 80018be: e7fb b.n 80018b8 - -080018c0 : - 80018c0: b538 push {r3, r4, r5, lr} - 80018c2: 4604 mov r4, r0 - 80018c4: 460d mov r5, r1 - 80018c6: 7181 strb r1, [r0, #6] - 80018c8: 2181 movs r1, #129 ; 0x81 - 80018ca: f7ff ff8b bl 80017e4 - 80018ce: 4629 mov r1, r5 - 80018d0: 4620 mov r0, r4 - 80018d2: e8bd 4038 ldmia.w sp!, {r3, r4, r5, lr} - 80018d6: f7ff bf85 b.w 80017e4 - -080018da : - 80018da: b510 push {r4, lr} - 80018dc: 4604 mov r4, r0 - 80018de: 71c1 strb r1, [r0, #7] - 80018e0: b141 cbz r1, 80018f4 - 80018e2: 21c0 movs r1, #192 ; 0xc0 - 80018e4: f7ff ff7e bl 80017e4 - 80018e8: 21a0 movs r1, #160 ; 0xa0 - 80018ea: 4620 mov r0, r4 - 80018ec: e8bd 4010 ldmia.w sp!, {r4, lr} - 80018f0: f7ff bf78 b.w 80017e4 - 80018f4: 21c8 movs r1, #200 ; 0xc8 - 80018f6: f7ff ff75 bl 80017e4 - 80018fa: 21a1 movs r1, #161 ; 0xa1 - 80018fc: e7f5 b.n 80018ea +08000fdc : + 8000fdc: b40c push {r2, r3} + 8000fde: b513 push {r0, r1, r4, lr} + 8000fe0: 4c09 ldr r4, [pc, #36] ; (8001008 ) + 8000fe2: aa04 add r2, sp, #16 + 8000fe4: 460b mov r3, r1 + 8000fe6: 6020 str r0, [r4, #0] + 8000fe8: f852 1b04 ldr.w r1, [r2], #4 + 8000fec: 9201 str r2, [sp, #4] + 8000fee: 4618 mov r0, r3 + 8000ff0: f7ff feca bl 8000d88 <_vprintf> + 8000ff4: 6822 ldr r2, [r4, #0] + 8000ff6: 2300 movs r3, #0 + 8000ff8: 7013 strb r3, [r2, #0] + 8000ffa: 6023 str r3, [r4, #0] + 8000ffc: b002 add sp, #8 + 8000ffe: e8bd 4010 ldmia.w sp!, {r4, lr} + 8001002: b002 add sp, #8 + 8001004: 4770 bx lr + 8001006: bf00 nop + 8001008: 200000d0 ldrdcs r0, [r0], -r0 ; + +0800100c : + 800100c: b538 push {r3, r4, r5, lr} + 800100e: 4c06 ldr r4, [pc, #24] ; (8001028 ) + 8001010: 4605 mov r5, r0 + 8001012: 4608 mov r0, r1 + 8001014: 4611 mov r1, r2 + 8001016: 461a mov r2, r3 + 8001018: 6025 str r5, [r4, #0] + 800101a: f7ff feb5 bl 8000d88 <_vprintf> + 800101e: 6822 ldr r2, [r4, #0] + 8001020: 2300 movs r3, #0 + 8001022: 7013 strb r3, [r2, #0] + 8001024: 6023 str r3, [r4, #0] + 8001026: bd38 pop {r3, r4, r5, pc} + 8001028: 200000d0 ldrdcs r0, [r0], -r0 ; + +0800102c <__udivmoddi4>: + 800102c: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} + 8001030: 9e08 ldr r6, [sp, #32] + 8001032: 460d mov r5, r1 + 8001034: 4604 mov r4, r0 + 8001036: 460f mov r7, r1 + 8001038: 2b00 cmp r3, #0 + 800103a: d14a bne.n 80010d2 <__udivmoddi4+0xa6> + 800103c: 428a cmp r2, r1 + 800103e: 4694 mov ip, r2 + 8001040: d965 bls.n 800110e <__udivmoddi4+0xe2> + 8001042: fab2 f382 clz r3, r2 + 8001046: b143 cbz r3, 800105a <__udivmoddi4+0x2e> + 8001048: fa02 fc03 lsl.w ip, r2, r3 + 800104c: f1c3 0220 rsb r2, r3, #32 + 8001050: 409f lsls r7, r3 + 8001052: fa20 f202 lsr.w r2, r0, r2 + 8001056: 4317 orrs r7, r2 + 8001058: 409c lsls r4, r3 + 800105a: ea4f 4e1c mov.w lr, ip, lsr #16 + 800105e: fa1f f58c uxth.w r5, ip + 8001062: fbb7 f1fe udiv r1, r7, lr + 8001066: 0c22 lsrs r2, r4, #16 + 8001068: fb0e 7711 mls r7, lr, r1, r7 + 800106c: ea42 4207 orr.w r2, r2, r7, lsl #16 + 8001070: fb01 f005 mul.w r0, r1, r5 + 8001074: 4290 cmp r0, r2 + 8001076: d90a bls.n 800108e <__udivmoddi4+0x62> + 8001078: eb1c 0202 adds.w r2, ip, r2 + 800107c: f101 37ff add.w r7, r1, #4294967295 ; 0xffffffff + 8001080: f080 811c bcs.w 80012bc <__udivmoddi4+0x290> + 8001084: 4290 cmp r0, r2 + 8001086: f240 8119 bls.w 80012bc <__udivmoddi4+0x290> + 800108a: 3902 subs r1, #2 + 800108c: 4462 add r2, ip + 800108e: 1a12 subs r2, r2, r0 + 8001090: b2a4 uxth r4, r4 + 8001092: fbb2 f0fe udiv r0, r2, lr + 8001096: fb0e 2210 mls r2, lr, r0, r2 + 800109a: ea44 4402 orr.w r4, r4, r2, lsl #16 + 800109e: fb00 f505 mul.w r5, r0, r5 + 80010a2: 42a5 cmp r5, r4 + 80010a4: d90a bls.n 80010bc <__udivmoddi4+0x90> + 80010a6: eb1c 0404 adds.w r4, ip, r4 + 80010aa: f100 32ff add.w r2, r0, #4294967295 ; 0xffffffff + 80010ae: f080 8107 bcs.w 80012c0 <__udivmoddi4+0x294> + 80010b2: 42a5 cmp r5, r4 + 80010b4: f240 8104 bls.w 80012c0 <__udivmoddi4+0x294> + 80010b8: 4464 add r4, ip + 80010ba: 3802 subs r0, #2 + 80010bc: ea40 4001 orr.w r0, r0, r1, lsl #16 + 80010c0: 1b64 subs r4, r4, r5 + 80010c2: 2100 movs r1, #0 + 80010c4: b11e cbz r6, 80010ce <__udivmoddi4+0xa2> + 80010c6: 40dc lsrs r4, r3 + 80010c8: 2300 movs r3, #0 + 80010ca: e9c6 4300 strd r4, r3, [r6] + 80010ce: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} + 80010d2: 428b cmp r3, r1 + 80010d4: d908 bls.n 80010e8 <__udivmoddi4+0xbc> + 80010d6: 2e00 cmp r6, #0 + 80010d8: f000 80ed beq.w 80012b6 <__udivmoddi4+0x28a> + 80010dc: 2100 movs r1, #0 + 80010de: e9c6 0500 strd r0, r5, [r6] + 80010e2: 4608 mov r0, r1 + 80010e4: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} + 80010e8: fab3 f183 clz r1, r3 + 80010ec: 2900 cmp r1, #0 + 80010ee: d149 bne.n 8001184 <__udivmoddi4+0x158> + 80010f0: 42ab cmp r3, r5 + 80010f2: d302 bcc.n 80010fa <__udivmoddi4+0xce> + 80010f4: 4282 cmp r2, r0 + 80010f6: f200 80f8 bhi.w 80012ea <__udivmoddi4+0x2be> + 80010fa: 1a84 subs r4, r0, r2 + 80010fc: eb65 0203 sbc.w r2, r5, r3 + 8001100: 2001 movs r0, #1 + 8001102: 4617 mov r7, r2 + 8001104: 2e00 cmp r6, #0 + 8001106: d0e2 beq.n 80010ce <__udivmoddi4+0xa2> + 8001108: e9c6 4700 strd r4, r7, [r6] + 800110c: e7df b.n 80010ce <__udivmoddi4+0xa2> + 800110e: b902 cbnz r2, 8001112 <__udivmoddi4+0xe6> + 8001110: deff udf #255 ; 0xff + 8001112: fab2 f382 clz r3, r2 + 8001116: 2b00 cmp r3, #0 + 8001118: f040 8090 bne.w 800123c <__udivmoddi4+0x210> + 800111c: 1a8a subs r2, r1, r2 + 800111e: ea4f 471c mov.w r7, ip, lsr #16 + 8001122: fa1f fe8c uxth.w lr, ip + 8001126: 2101 movs r1, #1 + 8001128: fbb2 f5f7 udiv r5, r2, r7 + 800112c: fb07 2015 mls r0, r7, r5, r2 + 8001130: 0c22 lsrs r2, r4, #16 + 8001132: ea42 4200 orr.w r2, r2, r0, lsl #16 + 8001136: fb0e f005 mul.w r0, lr, r5 + 800113a: 4290 cmp r0, r2 + 800113c: d908 bls.n 8001150 <__udivmoddi4+0x124> + 800113e: eb1c 0202 adds.w r2, ip, r2 + 8001142: f105 38ff add.w r8, r5, #4294967295 ; 0xffffffff + 8001146: d202 bcs.n 800114e <__udivmoddi4+0x122> + 8001148: 4290 cmp r0, r2 + 800114a: f200 80cb bhi.w 80012e4 <__udivmoddi4+0x2b8> + 800114e: 4645 mov r5, r8 + 8001150: 1a12 subs r2, r2, r0 + 8001152: b2a4 uxth r4, r4 + 8001154: fbb2 f0f7 udiv r0, r2, r7 + 8001158: fb07 2210 mls r2, r7, r0, r2 + 800115c: ea44 4402 orr.w r4, r4, r2, lsl #16 + 8001160: fb0e fe00 mul.w lr, lr, r0 + 8001164: 45a6 cmp lr, r4 + 8001166: d908 bls.n 800117a <__udivmoddi4+0x14e> + 8001168: eb1c 0404 adds.w r4, ip, r4 + 800116c: f100 32ff add.w r2, r0, #4294967295 ; 0xffffffff + 8001170: d202 bcs.n 8001178 <__udivmoddi4+0x14c> + 8001172: 45a6 cmp lr, r4 + 8001174: f200 80bb bhi.w 80012ee <__udivmoddi4+0x2c2> + 8001178: 4610 mov r0, r2 + 800117a: eba4 040e sub.w r4, r4, lr + 800117e: ea40 4005 orr.w r0, r0, r5, lsl #16 + 8001182: e79f b.n 80010c4 <__udivmoddi4+0x98> + 8001184: f1c1 0720 rsb r7, r1, #32 + 8001188: 408b lsls r3, r1 + 800118a: fa22 fc07 lsr.w ip, r2, r7 + 800118e: ea4c 0c03 orr.w ip, ip, r3 + 8001192: fa05 f401 lsl.w r4, r5, r1 + 8001196: fa20 f307 lsr.w r3, r0, r7 + 800119a: 40fd lsrs r5, r7 + 800119c: ea4f 491c mov.w r9, ip, lsr #16 + 80011a0: 4323 orrs r3, r4 + 80011a2: fbb5 f8f9 udiv r8, r5, r9 + 80011a6: fa1f fe8c uxth.w lr, ip + 80011aa: fb09 5518 mls r5, r9, r8, r5 + 80011ae: 0c1c lsrs r4, r3, #16 + 80011b0: ea44 4405 orr.w r4, r4, r5, lsl #16 + 80011b4: fb08 f50e mul.w r5, r8, lr + 80011b8: 42a5 cmp r5, r4 + 80011ba: fa02 f201 lsl.w r2, r2, r1 + 80011be: fa00 f001 lsl.w r0, r0, r1 + 80011c2: d90b bls.n 80011dc <__udivmoddi4+0x1b0> + 80011c4: eb1c 0404 adds.w r4, ip, r4 + 80011c8: f108 3aff add.w sl, r8, #4294967295 ; 0xffffffff + 80011cc: f080 8088 bcs.w 80012e0 <__udivmoddi4+0x2b4> + 80011d0: 42a5 cmp r5, r4 + 80011d2: f240 8085 bls.w 80012e0 <__udivmoddi4+0x2b4> + 80011d6: f1a8 0802 sub.w r8, r8, #2 + 80011da: 4464 add r4, ip + 80011dc: 1b64 subs r4, r4, r5 + 80011de: b29d uxth r5, r3 + 80011e0: fbb4 f3f9 udiv r3, r4, r9 + 80011e4: fb09 4413 mls r4, r9, r3, r4 + 80011e8: ea45 4404 orr.w r4, r5, r4, lsl #16 + 80011ec: fb03 fe0e mul.w lr, r3, lr + 80011f0: 45a6 cmp lr, r4 + 80011f2: d908 bls.n 8001206 <__udivmoddi4+0x1da> + 80011f4: eb1c 0404 adds.w r4, ip, r4 + 80011f8: f103 35ff add.w r5, r3, #4294967295 ; 0xffffffff + 80011fc: d26c bcs.n 80012d8 <__udivmoddi4+0x2ac> + 80011fe: 45a6 cmp lr, r4 + 8001200: d96a bls.n 80012d8 <__udivmoddi4+0x2ac> + 8001202: 3b02 subs r3, #2 + 8001204: 4464 add r4, ip + 8001206: ea43 4308 orr.w r3, r3, r8, lsl #16 + 800120a: fba3 9502 umull r9, r5, r3, r2 + 800120e: eba4 040e sub.w r4, r4, lr + 8001212: 42ac cmp r4, r5 + 8001214: 46c8 mov r8, r9 + 8001216: 46ae mov lr, r5 + 8001218: d356 bcc.n 80012c8 <__udivmoddi4+0x29c> + 800121a: d053 beq.n 80012c4 <__udivmoddi4+0x298> + 800121c: b156 cbz r6, 8001234 <__udivmoddi4+0x208> + 800121e: ebb0 0208 subs.w r2, r0, r8 + 8001222: eb64 040e sbc.w r4, r4, lr + 8001226: fa04 f707 lsl.w r7, r4, r7 + 800122a: 40ca lsrs r2, r1 + 800122c: 40cc lsrs r4, r1 + 800122e: 4317 orrs r7, r2 + 8001230: e9c6 7400 strd r7, r4, [r6] + 8001234: 4618 mov r0, r3 + 8001236: 2100 movs r1, #0 + 8001238: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} + 800123c: f1c3 0120 rsb r1, r3, #32 + 8001240: fa02 fc03 lsl.w ip, r2, r3 + 8001244: fa20 f201 lsr.w r2, r0, r1 + 8001248: fa25 f101 lsr.w r1, r5, r1 + 800124c: 409d lsls r5, r3 + 800124e: 432a orrs r2, r5 + 8001250: ea4f 471c mov.w r7, ip, lsr #16 + 8001254: fa1f fe8c uxth.w lr, ip + 8001258: fbb1 f0f7 udiv r0, r1, r7 + 800125c: fb07 1510 mls r5, r7, r0, r1 + 8001260: 0c11 lsrs r1, r2, #16 + 8001262: ea41 4105 orr.w r1, r1, r5, lsl #16 + 8001266: fb00 f50e mul.w r5, r0, lr + 800126a: 428d cmp r5, r1 + 800126c: fa04 f403 lsl.w r4, r4, r3 + 8001270: d908 bls.n 8001284 <__udivmoddi4+0x258> + 8001272: eb1c 0101 adds.w r1, ip, r1 + 8001276: f100 38ff add.w r8, r0, #4294967295 ; 0xffffffff + 800127a: d22f bcs.n 80012dc <__udivmoddi4+0x2b0> + 800127c: 428d cmp r5, r1 + 800127e: d92d bls.n 80012dc <__udivmoddi4+0x2b0> + 8001280: 3802 subs r0, #2 + 8001282: 4461 add r1, ip + 8001284: 1b49 subs r1, r1, r5 + 8001286: b292 uxth r2, r2 + 8001288: fbb1 f5f7 udiv r5, r1, r7 + 800128c: fb07 1115 mls r1, r7, r5, r1 + 8001290: ea42 4201 orr.w r2, r2, r1, lsl #16 + 8001294: fb05 f10e mul.w r1, r5, lr + 8001298: 4291 cmp r1, r2 + 800129a: d908 bls.n 80012ae <__udivmoddi4+0x282> + 800129c: eb1c 0202 adds.w r2, ip, r2 + 80012a0: f105 38ff add.w r8, r5, #4294967295 ; 0xffffffff + 80012a4: d216 bcs.n 80012d4 <__udivmoddi4+0x2a8> + 80012a6: 4291 cmp r1, r2 + 80012a8: d914 bls.n 80012d4 <__udivmoddi4+0x2a8> + 80012aa: 3d02 subs r5, #2 + 80012ac: 4462 add r2, ip + 80012ae: 1a52 subs r2, r2, r1 + 80012b0: ea45 4100 orr.w r1, r5, r0, lsl #16 + 80012b4: e738 b.n 8001128 <__udivmoddi4+0xfc> + 80012b6: 4631 mov r1, r6 + 80012b8: 4630 mov r0, r6 + 80012ba: e708 b.n 80010ce <__udivmoddi4+0xa2> + 80012bc: 4639 mov r1, r7 + 80012be: e6e6 b.n 800108e <__udivmoddi4+0x62> + 80012c0: 4610 mov r0, r2 + 80012c2: e6fb b.n 80010bc <__udivmoddi4+0x90> + 80012c4: 4548 cmp r0, r9 + 80012c6: d2a9 bcs.n 800121c <__udivmoddi4+0x1f0> + 80012c8: ebb9 0802 subs.w r8, r9, r2 + 80012cc: eb65 0e0c sbc.w lr, r5, ip + 80012d0: 3b01 subs r3, #1 + 80012d2: e7a3 b.n 800121c <__udivmoddi4+0x1f0> + 80012d4: 4645 mov r5, r8 + 80012d6: e7ea b.n 80012ae <__udivmoddi4+0x282> + 80012d8: 462b mov r3, r5 + 80012da: e794 b.n 8001206 <__udivmoddi4+0x1da> + 80012dc: 4640 mov r0, r8 + 80012de: e7d1 b.n 8001284 <__udivmoddi4+0x258> + 80012e0: 46d0 mov r8, sl + 80012e2: e77b b.n 80011dc <__udivmoddi4+0x1b0> + 80012e4: 3d02 subs r5, #2 + 80012e6: 4462 add r2, ip + 80012e8: e732 b.n 8001150 <__udivmoddi4+0x124> + 80012ea: 4608 mov r0, r1 + 80012ec: e70a b.n 8001104 <__udivmoddi4+0xd8> + 80012ee: 4464 add r4, ip + 80012f0: 3802 subs r0, #2 + 80012f2: e742 b.n 800117a <__udivmoddi4+0x14e> + +080012f4 : + 80012f4: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} + 80012f8: 6801 ldr r1, [r0, #0] + 80012fa: 4a2b ldr r2, [pc, #172] ; (80013a8 ) + 80012fc: 4b2b ldr r3, [pc, #172] ; (80013ac ) + 80012fe: 4e2c ldr r6, [pc, #176] ; (80013b0 ) + 8001300: 681b ldr r3, [r3, #0] + 8001302: 6835 ldr r5, [r6, #0] + 8001304: 695f ldr r7, [r3, #20] + 8001306: 4604 mov r4, r0 + 8001308: 2012 movs r0, #18 + 800130a: fb00 2201 mla r2, r0, r1, r2 + 800130e: 6860 ldr r0, [r4, #4] + 8001310: 4928 ldr r1, [pc, #160] ; (80013b4 ) + 8001312: f04f 080c mov.w r8, #12 + 8001316: fb08 1100 mla r1, r8, r0, r1 + 800131a: 4827 ldr r0, [pc, #156] ; (80013b8 ) + 800131c: f8d4 8008 ldr.w r8, [r4, #8] + 8001320: f890 9009 ldrb.w r9, [r0, #9] + 8001324: b2fb uxtb r3, r7 + 8001326: f3c7 2c07 ubfx ip, r7, #8, #8 + 800132a: f3c7 4e07 ubfx lr, r7, #16, #8 + 800132e: b089 sub sp, #36 ; 0x24 + 8001330: 3507 adds r5, #7 + 8001332: 0e3f lsrs r7, r7, #24 + 8001334: f1b9 0f00 cmp.w r9, #0 + 8001338: d01d beq.n 8001376 + 800133a: 3009 adds r0, #9 + 800133c: e9cd 2103 strd r2, r1, [sp, #12] + 8001340: e9cd 8005 strd r8, r0, [sp, #20] + 8001344: e9cd e701 strd lr, r7, [sp, #4] + 8001348: 4a1c ldr r2, [pc, #112] ; (80013bc ) + 800134a: f8cd c000 str.w ip, [sp] + 800134e: f44f 717e mov.w r1, #1016 ; 0x3f8 + 8001352: 4628 mov r0, r5 + 8001354: f7ff fe42 bl 8000fdc + 8001358: 8ba3 ldrh r3, [r4, #28] + 800135a: 2b05 cmp r3, #5 + 800135c: d118 bne.n 8001390 + 800135e: f642 1305 movw r3, #10501 ; 0x2905 + 8001362: 9300 str r3, [sp, #0] + 8001364: 69a3 ldr r3, [r4, #24] + 8001366: b282 uxth r2, r0 + 8001368: 4629 mov r1, r5 + 800136a: 7d20 ldrb r0, [r4, #20] + 800136c: f001 fcb8 bl 8002ce0 + 8001370: b009 add sp, #36 ; 0x24 + 8001372: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} + 8001376: e9cd 1804 strd r1, r8, [sp, #16] + 800137a: e9cd 7202 strd r7, r2, [sp, #8] + 800137e: e9cd ce00 strd ip, lr, [sp] + 8001382: 4a0f ldr r2, [pc, #60] ; (80013c0 ) + 8001384: f44f 717e mov.w r1, #1016 ; 0x3f8 + 8001388: 4628 mov r0, r5 + 800138a: f7ff fe27 bl 8000fdc + 800138e: e7e3 b.n 8001358 + 8001390: 2b06 cmp r3, #6 + 8001392: d1ed bne.n 8001370 + 8001394: 6833 ldr r3, [r6, #0] + 8001396: 799b ldrb r3, [r3, #6] + 8001398: 2b2a cmp r3, #42 ; 0x2a + 800139a: d1e9 bne.n 8001370 + 800139c: f642 1305 movw r3, #10501 ; 0x2905 + 80013a0: 9300 str r3, [sp, #0] + 80013a2: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff + 80013a6: e7de b.n 8001366 + 80013a8: 080064f6 stmdaeq r0, {r1, r2, r4, r5, r6, r7, sl, sp, lr} + 80013ac: 20001f18 andcs r1, r0, r8, lsl pc + 80013b0: 200000d4 ldrdcs r0, [r0], -r4 + 80013b4: 080065aa stmdaeq r0, {r1, r3, r5, r7, r8, sl, sp, lr} + 80013b8: 200000d8 ldrdcs r0, [r0], -r8 + 80013bc: 0800641a stmdaeq r0, {r1, r3, r4, sl, sp, lr} + 80013c0: 08006433 stmdaeq r0, {r0, r1, r4, r5, sl, sp, lr} + +080013c4 : + 80013c4: 8b83 ldrh r3, [r0, #28] + 80013c6: 2b05 cmp r3, #5 + 80013c8: d11a bne.n 8001400 + 80013ca: b537 push {r0, r1, r2, r4, r5, lr} + 80013cc: 4b0d ldr r3, [pc, #52] ; (8001404 ) + 80013ce: f890 102c ldrb.w r1, [r0, #44] ; 0x2c + 80013d2: 4d0d ldr r5, [pc, #52] ; (8001408 ) + 80013d4: 4a0d ldr r2, [pc, #52] ; (800140c ) + 80013d6: 4604 mov r4, r0 + 80013d8: 2900 cmp r1, #0 + 80013da: bf08 it eq + 80013dc: 4613 moveq r3, r2 + 80013de: 6828 ldr r0, [r5, #0] + 80013e0: 4a0b ldr r2, [pc, #44] ; (8001410 ) + 80013e2: f240 31ff movw r1, #1023 ; 0x3ff + 80013e6: f7ff fdf9 bl 8000fdc + 80013ea: f642 1305 movw r3, #10501 ; 0x2905 + 80013ee: 9300 str r3, [sp, #0] + 80013f0: b282 uxth r2, r0 + 80013f2: 69a3 ldr r3, [r4, #24] + 80013f4: 6829 ldr r1, [r5, #0] + 80013f6: 7d20 ldrb r0, [r4, #20] + 80013f8: f001 fc72 bl 8002ce0 + 80013fc: b003 add sp, #12 + 80013fe: bd30 pop {r4, r5, pc} + 8001400: 4770 bx lr + 8001402: bf00 nop + 8001404: 08006482 stmdaeq r0, {r1, r7, sl, sp, lr} + 8001408: 200000d4 ldrdcs r0, [r0], -r4 + 800140c: 080064a9 stmdaeq r0, {r0, r3, r5, r7, sl, sp, lr} + 8001410: 08006449 stmdaeq r0, {r0, r3, r6, sl, sp, lr} + +08001414 : + 8001414: 8b83 ldrh r3, [r0, #28] + 8001416: 2b08 cmp r3, #8 + 8001418: d114 bne.n 8001444 + 800141a: b537 push {r0, r1, r2, r4, r5, lr} + 800141c: 4d0a ldr r5, [pc, #40] ; (8001448 ) + 800141e: 4b0b ldr r3, [pc, #44] ; (800144c ) + 8001420: 4a0b ldr r2, [pc, #44] ; (8001450 ) + 8001422: 4604 mov r4, r0 + 8001424: f240 31ff movw r1, #1023 ; 0x3ff + 8001428: 6828 ldr r0, [r5, #0] + 800142a: f7ff fdd7 bl 8000fdc + 800142e: f642 1305 movw r3, #10501 ; 0x2905 + 8001432: 9300 str r3, [sp, #0] + 8001434: b282 uxth r2, r0 + 8001436: 69a3 ldr r3, [r4, #24] + 8001438: 6829 ldr r1, [r5, #0] + 800143a: 7d20 ldrb r0, [r4, #20] + 800143c: f001 fc50 bl 8002ce0 + 8001440: b003 add sp, #12 + 8001442: bd30 pop {r4, r5, pc} + 8001444: 4770 bx lr + 8001446: bf00 nop + 8001448: 200000d4 ldrdcs r0, [r0], -r4 + 800144c: 200021ea andcs r2, r0, sl, ror #3 + 8001450: 08006452 stmdaeq r0, {r1, r4, r6, sl, sp, lr} + +08001454 : + 8001454: 7bc3 ldrb r3, [r0, #15] + 8001456: b1e3 cbz r3, 8001492 + 8001458: 4b0e ldr r3, [pc, #56] ; (8001494 ) + 800145a: b537 push {r0, r1, r2, r4, r5, lr} + 800145c: 681a ldr r2, [r3, #0] + 800145e: 8b83 ldrh r3, [r0, #28] + 8001460: 2b07 cmp r3, #7 + 8001462: 4604 mov r4, r0 + 8001464: d113 bne.n 800148e + 8001466: 4d0c ldr r5, [pc, #48] ; (8001498 ) + 8001468: f240 31ff movw r1, #1023 ; 0x3ff + 800146c: 6828 ldr r0, [r5, #0] + 800146e: f44f 737a mov.w r3, #1000 ; 0x3e8 + 8001472: fbb2 f3f3 udiv r3, r2, r3 + 8001476: 4a09 ldr r2, [pc, #36] ; (800149c ) + 8001478: f7ff fdb0 bl 8000fdc + 800147c: f642 1305 movw r3, #10501 ; 0x2905 + 8001480: 9300 str r3, [sp, #0] + 8001482: b282 uxth r2, r0 + 8001484: 69a3 ldr r3, [r4, #24] + 8001486: 6829 ldr r1, [r5, #0] + 8001488: 7d20 ldrb r0, [r4, #20] + 800148a: f001 fc29 bl 8002ce0 + 800148e: b003 add sp, #12 + 8001490: bd30 pop {r4, r5, pc} + 8001492: 4770 bx lr + 8001494: 20002244 andcs r2, r0, r4, asr #4 + 8001498: 200000d4 ldrdcs r0, [r0], -r4 + 800149c: 0800645d stmdaeq r0, {r0, r2, r3, r4, r6, sl, sp, lr} + +080014a0 : + 80014a0: e92d 41f3 stmdb sp!, {r0, r1, r4, r5, r6, r7, r8, lr} + 80014a4: 4604 mov r4, r0 + 80014a6: 6980 ldr r0, [r0, #24] + 80014a8: 2800 cmp r0, #0 + 80014aa: d033 beq.n 8001514 + 80014ac: 7946 ldrb r6, [r0, #5] + 80014ae: 6803 ldr r3, [r0, #0] + 80014b0: f890 8004 ldrb.w r8, [r0, #4] + 80014b4: 6a1b ldr r3, [r3, #32] + 80014b6: 1e72 subs r2, r6, #1 + 80014b8: b2d2 uxtb r2, r2 + 80014ba: 9201 str r2, [sp, #4] + 80014bc: 460d mov r5, r1 + 80014be: 2100 movs r1, #0 + 80014c0: 4798 blx r3 + 80014c2: 9a01 ldr r2, [sp, #4] + 80014c4: 2700 movs r7, #0 + 80014c6: f108 38ff add.w r8, r8, #4294967295 ; 0xffffffff + 80014ca: 45b8 cmp r8, r7 + 80014cc: 69a0 ldr r0, [r4, #24] + 80014ce: d818 bhi.n 8001502 + 80014d0: b118 cbz r0, 80014da + 80014d2: 6803 ldr r3, [r0, #0] + 80014d4: 2100 movs r1, #0 + 80014d6: 6a1b ldr r3, [r3, #32] + 80014d8: 4798 blx r3 + 80014da: 69a0 ldr r0, [r4, #24] + 80014dc: b1d0 cbz r0, 8001514 + 80014de: 7901 ldrb r1, [r0, #4] + 80014e0: 2300 movs r3, #0 + 80014e2: 5cea ldrb r2, [r5, r3] + 80014e4: b11a cbz r2, 80014ee + 80014e6: 1c5a adds r2, r3, #1 + 80014e8: 4299 cmp r1, r3 + 80014ea: 4613 mov r3, r2 + 80014ec: dcf9 bgt.n 80014e2 + 80014ee: 6802 ldr r2, [r0, #0] + 80014f0: 69d4 ldr r4, [r2, #28] + 80014f2: b2db uxtb r3, r3 + 80014f4: 462a mov r2, r5 + 80014f6: 4631 mov r1, r6 + 80014f8: 46a4 mov ip, r4 + 80014fa: b002 add sp, #8 + 80014fc: e8bd 41f0 ldmia.w sp!, {r4, r5, r6, r7, r8, lr} + 8001500: 4760 bx ip + 8001502: b128 cbz r0, 8001510 + 8001504: 6803 ldr r3, [r0, #0] + 8001506: 9201 str r2, [sp, #4] + 8001508: 695b ldr r3, [r3, #20] + 800150a: 2120 movs r1, #32 + 800150c: 4798 blx r3 + 800150e: 9a01 ldr r2, [sp, #4] + 8001510: 3701 adds r7, #1 + 8001512: e7da b.n 80014ca + 8001514: b002 add sp, #8 + 8001516: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + +0800151a : + 800151a: b5f7 push {r0, r1, r2, r4, r5, r6, r7, lr} + 800151c: 4605 mov r5, r0 + 800151e: 461e mov r6, r3 + 8001520: 460f mov r7, r1 + 8001522: 4614 mov r4, r2 + 8001524: f7ff ffbc bl 80014a0 + 8001528: 7c6b ldrb r3, [r5, #17] + 800152a: b19b cbz r3, 8001554 + 800152c: 43e2 mvns r2, r4 + 800152e: 2312 movs r3, #18 + 8001530: 7a28 ldrb r0, [r5, #8] + 8001532: f88d 3004 strb.w r3, [sp, #4] + 8001536: f3c2 2307 ubfx r3, r2, #8, #8 + 800153a: f88d 3005 strb.w r3, [sp, #5] + 800153e: f88d 2006 strb.w r2, [sp, #6] + 8001542: f004 f927 bl 8005794 + 8001546: 68e8 ldr r0, [r5, #12] + 8001548: f004 f91c bl 8005784 + 800154c: 2103 movs r1, #3 + 800154e: a801 add r0, sp, #4 + 8001550: f004 f926 bl 80057a0 + 8001554: 1c73 adds r3, r6, #1 + 8001556: d006 beq.n 8001566 + 8001558: 4639 mov r1, r7 + 800155a: 4630 mov r0, r6 + 800155c: b003 add sp, #12 + 800155e: e8bd 40f0 ldmia.w sp!, {r4, r5, r6, r7, lr} + 8001562: f002 bc67 b.w 8003e34 + 8001566: b003 add sp, #12 + 8001568: bdf0 pop {r4, r5, r6, r7, pc} ... -08001900 : - 8001900: b530 push {r4, r5, lr} - 8001902: 2100 movs r1, #0 - 8001904: b087 sub sp, #28 - 8001906: 4604 mov r4, r0 - 8001908: f7ff ff6c bl 80017e4 - 800190c: 2190 movs r1, #144 ; 0x90 - 800190e: 4620 mov r0, r4 - 8001910: f7ff ff68 bl 80017e4 - 8001914: 21b0 movs r1, #176 ; 0xb0 - 8001916: 4620 mov r0, r4 - 8001918: f7ff ff64 bl 80017e4 - 800191c: 4b22 ldr r3, [pc, #136] ; (80019a8 ) - 800191e: f104 0508 add.w r5, r4, #8 - 8001922: 6818 ldr r0, [r3, #0] - 8001924: 9002 str r0, [sp, #8] - 8001926: 791b ldrb r3, [r3, #4] - 8001928: f88d 300c strb.w r3, [sp, #12] - 800192c: 4628 mov r0, r5 - 800192e: f7ff fef3 bl 8001718 - 8001932: 2105 movs r1, #5 - 8001934: a802 add r0, sp, #8 - 8001936: f003 fb7f bl 8005038 - 800193a: 2100 movs r1, #0 - 800193c: 4620 mov r0, r4 - 800193e: f7ff ff51 bl 80017e4 - 8001942: 2190 movs r1, #144 ; 0x90 - 8001944: 4620 mov r0, r4 - 8001946: f7ff ff4d bl 80017e4 - 800194a: 21b0 movs r1, #176 ; 0xb0 - 800194c: 4620 mov r0, r4 - 800194e: f7ff ff49 bl 80017e4 - 8001952: 2300 movs r3, #0 - 8001954: 9304 str r3, [sp, #16] - 8001956: f88d 3014 strb.w r3, [sp, #20] - 800195a: 4628 mov r0, r5 - 800195c: 2340 movs r3, #64 ; 0x40 - 800195e: f88d 3007 strb.w r3, [sp, #7] - 8001962: f7ff fed9 bl 8001718 - 8001966: 2101 movs r1, #1 - 8001968: f10d 0007 add.w r0, sp, #7 - 800196c: f003 fb64 bl 8005038 - 8001970: 4628 mov r0, r5 - 8001972: f7ff fed1 bl 8001718 - 8001976: 2105 movs r1, #5 - 8001978: a804 add r0, sp, #16 - 800197a: f003 fbc3 bl 8005104 - 800197e: aa02 add r2, sp, #8 - 8001980: a904 add r1, sp, #16 - 8001982: 2004 movs r0, #4 - 8001984: 3801 subs r0, #1 - 8001986: d201 bcs.n 800198c - 8001988: 2300 movs r3, #0 - 800198a: e006 b.n 800199a - 800198c: f812 3f01 ldrb.w r3, [r2, #1]! - 8001990: f811 5f01 ldrb.w r5, [r1, #1]! - 8001994: 42ab cmp r3, r5 - 8001996: d0f5 beq.n 8001984 - 8001998: 1b5b subs r3, r3, r5 - 800199a: fab3 f383 clz r3, r3 - 800199e: 095b lsrs r3, r3, #5 - 80019a0: 7463 strb r3, [r4, #17] - 80019a2: b007 add sp, #28 - 80019a4: bd30 pop {r4, r5, pc} - 80019a6: bf00 nop - 80019a8: 080064f2 stmdaeq r0, {r1, r4, r5, r6, r7, sl, sp, lr} - -080019ac : - 80019ac: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - 80019b0: 7c45 ldrb r5, [r0, #17] - 80019b2: 00ad lsls r5, r5, #2 - 80019b4: b2ed uxtb r5, r5 - 80019b6: f1a5 077f sub.w r7, r5, #127 ; 0x7f - 80019ba: 4604 mov r4, r0 - 80019bc: 2600 movs r6, #0 - 80019be: f045 0810 orr.w r8, r5, #16 - 80019c2: b2ff uxtb r7, r7 - 80019c4: 6963 ldr r3, [r4, #20] - 80019c6: 42b3 cmp r3, r6 - 80019c8: 4629 mov r1, r5 - 80019ca: 4620 mov r0, r4 - 80019cc: d80b bhi.n 80019e6 - 80019ce: f7ff ff09 bl 80017e4 - 80019d2: 4641 mov r1, r8 - 80019d4: 4620 mov r0, r4 - 80019d6: f7ff ff05 bl 80017e4 - 80019da: 4620 mov r0, r4 - 80019dc: 21b0 movs r1, #176 ; 0xb0 - 80019de: e8bd 41f0 ldmia.w sp!, {r4, r5, r6, r7, r8, lr} - 80019e2: f7ff beff b.w 80017e4 - 80019e6: f7ff fefd bl 80017e4 - 80019ea: 4641 mov r1, r8 - 80019ec: 4620 mov r0, r4 - 80019ee: f7ff fef9 bl 80017e4 - 80019f2: f066 014f orn r1, r6, #79 ; 0x4f - 80019f6: b2c9 uxtb r1, r1 - 80019f8: 4620 mov r0, r4 - 80019fa: f7ff fef3 bl 80017e4 - 80019fe: 7c23 ldrb r3, [r4, #16] - 8001a00: b123 cbz r3, 8001a0c - 8001a02: 3b01 subs r3, #1 - 8001a04: 2b01 cmp r3, #1 - 8001a06: d901 bls.n 8001a0c - 8001a08: 3601 adds r6, #1 - 8001a0a: e7db b.n 80019c4 - 8001a0c: f104 0008 add.w r0, r4, #8 - 8001a10: f7ff fe82 bl 8001718 - 8001a14: 4639 mov r1, r7 - 8001a16: 4802 ldr r0, [pc, #8] ; (8001a20 ) - 8001a18: f003 fb0e bl 8005038 - 8001a1c: e7f4 b.n 8001a08 - 8001a1e: bf00 nop - 8001a20: 200000d8 ldrdcs r0, [r0], -r8 - -08001a24 : - 8001a24: b5f7 push {r0, r1, r2, r4, r5, r6, r7, lr} - 8001a26: 7a04 ldrb r4, [r0, #8] - 8001a28: 68c6 ldr r6, [r0, #12] - 8001a2a: 4605 mov r5, r0 - 8001a2c: 4620 mov r0, r4 - 8001a2e: f003 fafd bl 800502c - 8001a32: 4630 mov r0, r6 - 8001a34: f003 faf2 bl 800501c - 8001a38: f1a4 0330 sub.w r3, r4, #48 ; 0x30 - 8001a3c: 2b07 cmp r3, #7 - 8001a3e: d902 bls.n 8001a46 - 8001a40: 3c50 subs r4, #80 ; 0x50 - 8001a42: 2c0f cmp r4, #15 - 8001a44: d80f bhi.n 8001a66 - 8001a46: 2101 movs r1, #1 - 8001a48: f10d 0007 add.w r0, sp, #7 - 8001a4c: f003 fb5a bl 8005104 - 8001a50: fab0 f480 clz r4, r0 - 8001a54: 0964 lsrs r4, r4, #5 - 8001a56: b35c cbz r4, 8001ab0 - 8001a58: 7c2e ldrb r6, [r5, #16] - 8001a5a: b14e cbz r6, 8001a70 - 8001a5c: 3e01 subs r6, #1 - 8001a5e: 2e01 cmp r6, #1 - 8001a60: d929 bls.n 8001ab6 - 8001a62: 2400 movs r4, #0 - 8001a64: e024 b.n 8001ab0 - 8001a66: 2100 movs r1, #0 - 8001a68: 4608 mov r0, r1 - 8001a6a: f003 fae5 bl 8005038 - 8001a6e: e7ef b.n 8001a50 - 8001a70: 4f16 ldr r7, [pc, #88] ; (8001acc ) - 8001a72: f817 1b01 ldrb.w r1, [r7], #1 - 8001a76: 4628 mov r0, r5 - 8001a78: 3601 adds r6, #1 - 8001a7a: f7ff feb3 bl 80017e4 - 8001a7e: 2e18 cmp r6, #24 - 8001a80: d1f7 bne.n 8001a72 - 8001a82: 4a13 ldr r2, [pc, #76] ; (8001ad0 ) - 8001a84: 2300 movs r3, #0 - 8001a86: 4611 mov r1, r2 - 8001a88: 4618 mov r0, r3 - 8001a8a: 3301 adds r3, #1 - 8001a8c: 2b86 cmp r3, #134 ; 0x86 - 8001a8e: f802 0b01 strb.w r0, [r2], #1 - 8001a92: d1fa bne.n 8001a8a - 8001a94: 2340 movs r3, #64 ; 0x40 - 8001a96: 700b strb r3, [r1, #0] - 8001a98: 4628 mov r0, r5 - 8001a9a: f7ff ff31 bl 8001900 - 8001a9e: 4628 mov r0, r5 - 8001aa0: f7ff ff84 bl 80019ac - 8001aa4: 21af movs r1, #175 ; 0xaf - 8001aa6: 4628 mov r0, r5 - 8001aa8: f7ff fe9c bl 80017e4 - 8001aac: 2301 movs r3, #1 - 8001aae: 71eb strb r3, [r5, #7] - 8001ab0: 4620 mov r0, r4 - 8001ab2: b003 add sp, #12 - 8001ab4: bdf0 pop {r4, r5, r6, r7, pc} - 8001ab6: 4f07 ldr r7, [pc, #28] ; (8001ad4 ) - 8001ab8: 2600 movs r6, #0 - 8001aba: f817 1b01 ldrb.w r1, [r7], #1 - 8001abe: 4628 mov r0, r5 - 8001ac0: 3601 adds r6, #1 - 8001ac2: f7ff fe8f bl 80017e4 - 8001ac6: 2e18 cmp r6, #24 - 8001ac8: d1f7 bne.n 8001aba - 8001aca: e7da b.n 8001a82 - 8001acc: 080067b0 stmdaeq r0, {r4, r5, r7, r8, r9, sl, sp, lr} - 8001ad0: 200000d8 ldrdcs r0, [r0], -r8 - 8001ad4: 08006798 stmdaeq r0, {r3, r4, r7, r8, r9, sl, sp, lr} - -08001ad8 : - 8001ad8: 4770 bx lr +0800156c : + 800156c: 8b83 ldrh r3, [r0, #28] + 800156e: 2b06 cmp r3, #6 + 8001570: d172 bne.n 8001658 + 8001572: b570 push {r4, r5, r6, lr} + 8001574: 4b39 ldr r3, [pc, #228] ; (800165c ) + 8001576: 681b ldr r3, [r3, #0] + 8001578: 799b ldrb r3, [r3, #6] + 800157a: 2b30 cmp r3, #48 ; 0x30 + 800157c: bf14 ite ne + 800157e: 2301 movne r3, #1 + 8001580: 2300 moveq r3, #0 + 8001582: 4604 mov r4, r0 + 8001584: f880 302c strb.w r3, [r0, #44] ; 0x2c + 8001588: d02d beq.n 80015e6 + 800158a: 4e35 ldr r6, [pc, #212] ; (8001660 ) + 800158c: 6835 ldr r5, [r6, #0] + 800158e: 69a8 ldr r0, [r5, #24] + 8001590: b9e8 cbnz r0, 80015ce + 8001592: 6a63 ldr r3, [r4, #36] ; 0x24 + 8001594: b9d3 cbnz r3, 80015cc + 8001596: 4833 ldr r0, [pc, #204] ; (8001664 ) + 8001598: f002 fe64 bl 8004264 + 800159c: f44f 3060 mov.w r0, #229376 ; 0x38000 + 80015a0: f002 fdb6 bl 8004110 + 80015a4: 62a0 str r0, [r4, #40] ; 0x28 + 80015a6: f44f 7011 mov.w r0, #580 ; 0x244 + 80015aa: f002 fdaf bl 800410c + 80015ae: 6aa1 ldr r1, [r4, #40] ; 0x28 + 80015b0: f44f 3260 mov.w r2, #229376 ; 0x38000 + 80015b4: 4605 mov r5, r0 + 80015b6: f000 fa93 bl 8001ae0 + 80015ba: 492b ldr r1, [pc, #172] ; (8001668 ) + 80015bc: 6830 ldr r0, [r6, #0] + 80015be: 6265 str r5, [r4, #36] ; 0x24 + 80015c0: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff + 80015c4: f244 0271 movw r2, #16497 ; 0x4071 + 80015c8: f7ff ffa7 bl 800151a + 80015cc: bd70 pop {r4, r5, r6, pc} + 80015ce: 6803 ldr r3, [r0, #0] + 80015d0: 2100 movs r1, #0 + 80015d2: 6a9b ldr r3, [r3, #40] ; 0x28 + 80015d4: 7429 strb r1, [r5, #16] + 80015d6: 4798 blx r3 + 80015d8: 4b24 ldr r3, [pc, #144] ; (800166c ) + 80015da: 681b ldr r3, [r3, #0] + 80015dc: 606b str r3, [r5, #4] + 80015de: f894 302c ldrb.w r3, [r4, #44] ; 0x2c + 80015e2: 2b00 cmp r3, #0 + 80015e4: d1d5 bne.n 8001592 + 80015e6: 6a63 ldr r3, [r4, #36] ; 0x24 + 80015e8: 2b00 cmp r3, #0 + 80015ea: d0ef beq.n 80015cc + 80015ec: f8d3 223c ldr.w r2, [r3, #572] ; 0x23c + 80015f0: f893 3240 ldrb.w r3, [r3, #576] ; 0x240 + 80015f4: b9f3 cbnz r3, 8001634 + 80015f6: 2501 movs r5, #1 + 80015f8: 481d ldr r0, [pc, #116] ; (8001670 ) + 80015fa: f002 fe33 bl 8004264 + 80015fe: 6a66 ldr r6, [r4, #36] ; 0x24 + 8001600: b13e cbz r6, 8001612 + 8001602: 4b1c ldr r3, [pc, #112] ; (8001674 ) + 8001604: 6033 str r3, [r6, #0] + 8001606: 4630 mov r0, r6 + 8001608: f001 fc48 bl 8002e9c + 800160c: 4630 mov r0, r6 + 800160e: f002 fd79 bl 8004104 + 8001612: 6aa0 ldr r0, [r4, #40] ; 0x28 + 8001614: 2600 movs r6, #0 + 8001616: 6266 str r6, [r4, #36] ; 0x24 + 8001618: b108 cbz r0, 800161e + 800161a: f002 fd75 bl 8004108 + 800161e: 62a6 str r6, [r4, #40] ; 0x28 + 8001620: 2d00 cmp r5, #0 + 8001622: d0d3 beq.n 80015cc + 8001624: 480e ldr r0, [pc, #56] ; (8001660 ) + 8001626: 4914 ldr r1, [pc, #80] ; (8001678 ) + 8001628: 6800 ldr r0, [r0, #0] + 800162a: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff + 800162e: f248 0271 movw r2, #32881 ; 0x8071 + 8001632: e7c9 b.n 80015c8 + 8001634: 4b11 ldr r3, [pc, #68] ; (800167c ) + 8001636: 6aa1 ldr r1, [r4, #40] ; 0x28 + 8001638: 6818 ldr r0, [r3, #0] + 800163a: f000 fa67 bl 8001b0c + 800163e: 4605 mov r5, r0 + 8001640: 2800 cmp r0, #0 + 8001642: d1d8 bne.n 80015f6 + 8001644: 4806 ldr r0, [pc, #24] ; (8001660 ) + 8001646: 490e ldr r1, [pc, #56] ; (8001680 ) + 8001648: 6800 ldr r0, [r0, #0] + 800164a: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff + 800164e: f247 1279 movw r2, #29049 ; 0x7179 + 8001652: f7ff ff62 bl 800151a + 8001656: e7cf b.n 80015f8 + 8001658: 4770 bx lr + 800165a: bf00 nop + 800165c: 200000d4 ldrdcs r0, [r0], -r4 + 8001660: 20000128 andcs r0, r0, r8, lsr #2 + 8001664: 0800646a stmdaeq r0, {r1, r3, r5, r6, sl, sp, lr} + 8001668: 0800647d stmdaeq r0, {r0, r2, r3, r4, r5, r6, sl, sp, lr} + 800166c: 20002244 andcs r2, r0, r4, asr #4 + 8001670: 08006491 stmdaeq r0, {r0, r4, r7, sl, sp, lr} + 8001674: 08006710 stmdaeq r0, {r4, r8, r9, sl, sp, lr} + 8001678: 080064a4 stmdaeq r0, {r2, r5, r7, sl, sp, lr} + 800167c: 20000100 andcs r0, r0, r0, lsl #2 + 8001680: 08006485 stmdaeq r0, {r0, r2, r7, sl, sp, lr} + +08001684 : + 8001684: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} + 8001688: 2500 movs r5, #0 + 800168a: 461f mov r7, r3 + 800168c: 6083 str r3, [r0, #8] + 800168e: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff + 8001692: 4e14 ldr r6, [pc, #80] ; (80016e4 ) + 8001694: f8df a054 ldr.w sl, [pc, #84] ; 80016ec + 8001698: 60c5 str r5, [r0, #12] + 800169a: e9c0 3505 strd r3, r5, [r0, #20] + 800169e: 4b12 ldr r3, [pc, #72] ; (80016e8 ) + 80016a0: 8205 strh r5, [r0, #16] + 80016a2: e9c0 1200 strd r1, r2, [r0] + 80016a6: 4604 mov r4, r0 + 80016a8: 6018 str r0, [r3, #0] + 80016aa: e9c0 5508 strd r5, r5, [r0, #32] + 80016ae: 4689 mov r9, r1 + 80016b0: 8385 strh r5, [r0, #28] + 80016b2: 6285 str r5, [r0, #40] ; 0x28 + 80016b4: f880 502c strb.w r5, [r0, #44] ; 0x2c + 80016b8: 4631 mov r1, r6 + 80016ba: f8da 0000 ldr.w r0, [sl] + 80016be: 4690 mov r8, r2 + 80016c0: f001 fde9 bl 8003296 + 80016c4: f8da 0000 ldr.w r0, [sl] + 80016c8: f886 9006 strb.w r9, [r6, #6] + 80016cc: f642 1105 movw r1, #10501 ; 0x2905 + 80016d0: f886 8007 strb.w r8, [r6, #7] + 80016d4: 7237 strb r7, [r6, #8] + 80016d6: 7275 strb r5, [r6, #9] + 80016d8: f001 fdd7 bl 800328a + 80016dc: 6160 str r0, [r4, #20] + 80016de: 4620 mov r0, r4 + 80016e0: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} + 80016e4: 200000d8 ldrdcs r0, [r0], -r8 + 80016e8: 200000fc strdcs r0, [r0], -ip + 80016ec: 20001f18 andcs r1, r0, r8, lsl pc + +080016f0 : + 80016f0: b538 push {r3, r4, r5, lr} + 80016f2: 7b03 ldrb r3, [r0, #12] + 80016f4: 4604 mov r4, r0 + 80016f6: b161 cbz r1, 8001712 + 80016f8: b953 cbnz r3, 8001710 + 80016fa: 4b0c ldr r3, [pc, #48] ; (800172c ) + 80016fc: f642 1105 movw r1, #10501 ; 0x2905 + 8001700: 6818 ldr r0, [r3, #0] + 8001702: f001 fdc5 bl 8003290 + 8001706: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff + 800170a: 6163 str r3, [r4, #20] + 800170c: 2301 movs r3, #1 + 800170e: 7323 strb r3, [r4, #12] + 8001710: bd38 pop {r3, r4, r5, pc} + 8001712: 2b00 cmp r3, #0 + 8001714: d0fc beq.n 8001710 + 8001716: 4b05 ldr r3, [pc, #20] ; (800172c ) + 8001718: 460d mov r5, r1 + 800171a: 6818 ldr r0, [r3, #0] + 800171c: f642 1105 movw r1, #10501 ; 0x2905 + 8001720: f001 fdb3 bl 800328a + 8001724: 7325 strb r5, [r4, #12] + 8001726: 6160 str r0, [r4, #20] + 8001728: e7f2 b.n 8001710 + 800172a: bf00 nop + 800172c: 20001f18 andcs r1, r0, r8, lsl pc + +08001730 : + 8001730: 4809 ldr r0, [pc, #36] ; (8001758 ) + 8001732: b508 push {r3, lr} + 8001734: 2217 movs r2, #23 + 8001736: 1e4b subs r3, r1, #1 + 8001738: f813 1f01 ldrb.w r1, [r3, #1]! + 800173c: b911 cbnz r1, 8001744 + 800173e: f002 fd70 bl 8004222 + 8001742: e003 b.n 800174c + 8001744: 3a01 subs r2, #1 + 8001746: f800 1b01 strb.w r1, [r0], #1 + 800174a: d1f5 bne.n 8001738 + 800174c: 4b03 ldr r3, [pc, #12] ; (800175c ) + 800174e: 2200 movs r2, #0 + 8001750: f883 2020 strb.w r2, [r3, #32] + 8001754: bd08 pop {r3, pc} + 8001756: bf00 nop + 8001758: 200000e1 andcs r0, r0, r1, ror #1 + 800175c: 200000d8 ldrdcs r0, [r0], -r8 + +08001760 : + 8001760: e92d 41ff stmdb sp!, {r0, r1, r2, r3, r4, r5, r6, r7, r8, lr} + 8001764: 7b03 ldrb r3, [r0, #12] + 8001766: 2b00 cmp r3, #0 + 8001768: d14b bne.n 8001802 + 800176a: 4604 mov r4, r0 + 800176c: 6a40 ldr r0, [r0, #36] ; 0x24 + 800176e: b108 cbz r0, 8001774 + 8001770: f001 fcf6 bl 8003160 + 8001774: 4d3b ldr r5, [pc, #236] ; (8001864 ) + 8001776: 7d20 ldrb r0, [r4, #20] + 8001778: f10d 030e add.w r3, sp, #14 + 800177c: f104 0218 add.w r2, r4, #24 + 8001780: 4629 mov r1, r5 + 8001782: f001 fa87 bl 8002c94 + 8001786: 2803 cmp r0, #3 + 8001788: 83a0 strh r0, [r4, #28] + 800178a: d93a bls.n 8001802 + 800178c: 682b ldr r3, [r5, #0] + 800178e: 181a adds r2, r3, r0 + 8001790: f812 2c01 ldrb.w r2, [r2, #-1] + 8001794: 2a0a cmp r2, #10 + 8001796: bf04 itt eq + 8001798: f100 30ff addeq.w r0, r0, #4294967295 ; 0xffffffff + 800179c: 83a0 strheq r0, [r4, #28] + 800179e: 781a ldrb r2, [r3, #0] + 80017a0: 2a3f cmp r2, #63 ; 0x3f + 80017a2: d13b bne.n 800181c + 80017a4: 8ba1 ldrh r1, [r4, #28] + 80017a6: 4830 ldr r0, [pc, #192] ; (8001868 ) + 80017a8: 3901 subs r1, #1 + 80017aa: b289 uxth r1, r1 + 80017ac: 83a1 strh r1, [r4, #28] + 80017ae: 2200 movs r2, #0 + 80017b0: 4684 mov ip, r0 + 80017b2: 7b86 ldrb r6, [r0, #14] + 80017b4: 8985 ldrh r5, [r0, #12] + 80017b6: b186 cbz r6, 80017da + 80017b8: 42a9 cmp r1, r5 + 80017ba: d810 bhi.n 80017de + 80017bc: 3201 adds r2, #1 + 80017be: 2a07 cmp r2, #7 + 80017c0: f100 0010 add.w r0, r0, #16 + 80017c4: d1f5 bne.n 80017b2 + 80017c6: f642 1305 movw r3, #10501 ; 0x2905 + 80017ca: 9300 str r3, [sp, #0] + 80017cc: 69a3 ldr r3, [r4, #24] + 80017ce: 4927 ldr r1, [pc, #156] ; (800186c ) + 80017d0: 2208 movs r2, #8 + 80017d2: 7d20 ldrb r0, [r4, #20] + 80017d4: f001 fa84 bl 8002ce0 + 80017d8: e013 b.n 8001802 + 80017da: 42a9 cmp r1, r5 + 80017dc: d1ee bne.n 80017bc + 80017de: 6886 ldr r6, [r0, #8] + 80017e0: 461f mov r7, r3 + 80017e2: 3e01 subs r6, #1 + 80017e4: 441d add r5, r3 + 80017e6: 42af cmp r7, r5 + 80017e8: d10e bne.n 8001808 + 80017ea: 0113 lsls r3, r2, #4 + 80017ec: eb0c 1202 add.w r2, ip, r2, lsl #4 + 80017f0: f85c 3003 ldr.w r3, [ip, r3] + 80017f4: 6852 ldr r2, [r2, #4] + 80017f6: 1051 asrs r1, r2, #1 + 80017f8: eb04 0062 add.w r0, r4, r2, asr #1 + 80017fc: 07d2 lsls r2, r2, #31 + 80017fe: d40a bmi.n 8001816 + 8001800: 4798 blx r3 + 8001802: b004 add sp, #16 + 8001804: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + 8001808: f817 8f01 ldrb.w r8, [r7, #1]! + 800180c: f816 ef01 ldrb.w lr, [r6, #1]! + 8001810: 45f0 cmp r8, lr + 8001812: d0e8 beq.n 80017e6 + 8001814: e7d2 b.n 80017bc + 8001816: 5862 ldr r2, [r4, r1] + 8001818: 58d3 ldr r3, [r2, r3] + 800181a: e7f1 b.n 8001800 + 800181c: 7b61 ldrb r1, [r4, #13] + 800181e: 2900 cmp r1, #0 + 8001820: d1ef bne.n 8001802 + 8001822: 2a23 cmp r2, #35 ; 0x23 + 8001824: d101 bne.n 800182a + 8001826: 6221 str r1, [r4, #32] + 8001828: e7eb b.n 8001802 + 800182a: 2a21 cmp r2, #33 ; 0x21 + 800182c: d1e9 bne.n 8001802 + 800182e: 8ba2 ldrh r2, [r4, #28] + 8001830: 3a01 subs r2, #1 + 8001832: b292 uxth r2, r2 + 8001834: 2a05 cmp r2, #5 + 8001836: 83a2 strh r2, [r4, #28] + 8001838: d90d bls.n 8001856 + 800183a: 4a0d ldr r2, [pc, #52] ; (8001870 ) + 800183c: 1d59 adds r1, r3, #5 + 800183e: 4299 cmp r1, r3 + 8001840: d103 bne.n 800184a + 8001842: 4620 mov r0, r4 + 8001844: f7ff fe92 bl 800156c + 8001848: e7db b.n 8001802 + 800184a: f812 0b01 ldrb.w r0, [r2], #1 + 800184e: f813 5f01 ldrb.w r5, [r3, #1]! + 8001852: 4285 cmp r5, r0 + 8001854: d0f3 beq.n 800183e + 8001856: f642 1305 movw r3, #10501 ; 0x2905 + 800185a: 9300 str r3, [sp, #0] + 800185c: 69a3 ldr r3, [r4, #24] + 800185e: 4905 ldr r1, [pc, #20] ; (8001874 ) + 8001860: 2208 movs r2, #8 + 8001862: e7b6 b.n 80017d2 + 8001864: 200000d4 ldrdcs r0, [r0], -r4 + 8001868: 0800663c stmdaeq r0, {r2, r3, r4, r5, r9, sl, sp, lr} + 800186c: 080064b3 stmdaeq r0, {r0, r1, r4, r5, r7, sl, sp, lr} + 8001870: 080064ad stmdaeq r0, {r0, r2, r3, r5, r7, sl, sp, lr} + 8001874: 080064bc stmdaeq r0, {r2, r3, r4, r5, r7, sl, sp, lr} + +08001878 : + 8001878: 2306 movs r3, #6 + 800187a: 8383 strh r3, [r0, #28] + 800187c: 4b02 ldr r3, [pc, #8] ; (8001888 ) + 800187e: 681b ldr r3, [r3, #0] + 8001880: 2230 movs r2, #48 ; 0x30 + 8001882: 719a strb r2, [r3, #6] + 8001884: f7ff be72 b.w 800156c + 8001888: 200000d4 ldrdcs r0, [r0], -r4 + +0800188c : + 800188c: b538 push {r3, r4, r5, lr} + 800188e: 4d05 ldr r5, [pc, #20] ; (80018a4 ) + 8001890: 2400 movs r4, #0 + 8001892: 4621 mov r1, r4 + 8001894: 6828 ldr r0, [r5, #0] + 8001896: 3401 adds r4, #1 + 8001898: f000 facc bl 8001e34 + 800189c: 2c1c cmp r4, #28 + 800189e: d1f8 bne.n 8001892 + 80018a0: bd38 pop {r3, r4, r5, pc} + 80018a2: bf00 nop + 80018a4: 20000118 andcs r0, r0, r8, lsl r1 + +080018a8 : + 80018a8: b510 push {r4, lr} + 80018aa: 2220 movs r2, #32 + 80018ac: 4604 mov r4, r0 + 80018ae: f840 1b04 str.w r1, [r0], #4 + 80018b2: 2100 movs r1, #0 + 80018b4: f002 fcb5 bl 8004222 + 80018b8: 4620 mov r0, r4 + 80018ba: bd10 pop {r4, pc} + +080018bc : + 80018bc: b508 push {r3, lr} + 80018be: 2300 movs r3, #0 + 80018c0: 4601 mov r1, r0 + 80018c2: 6043 str r3, [r0, #4] + 80018c4: 6800 ldr r0, [r0, #0] + 80018c6: b120 cbz r0, 80018d2 + 80018c8: 6803 ldr r3, [r0, #0] + 80018ca: 3104 adds r1, #4 + 80018cc: 68db ldr r3, [r3, #12] + 80018ce: 4798 blx r3 + 80018d0: 2001 movs r0, #1 + 80018d2: bd08 pop {r3, pc} + +080018d4 : + 80018d4: b538 push {r3, r4, r5, lr} + 80018d6: 460c mov r4, r1 + 80018d8: 6841 ldr r1, [r0, #4] + 80018da: 4605 mov r5, r0 + 80018dc: f001 0101 and.w r1, r1, #1 + 80018e0: 4620 mov r0, r4 + 80018e2: f7ff ff05 bl 80016f0 + 80018e6: 686b ldr r3, [r5, #4] + 80018e8: f3c3 0240 ubfx r2, r3, #1, #1 + 80018ec: 7362 strb r2, [r4, #13] + 80018ee: f3c3 0280 ubfx r2, r3, #2, #1 + 80018f2: 73a2 strb r2, [r4, #14] + 80018f4: f3c3 02c0 ubfx r2, r3, #3, #1 + 80018f8: 73e2 strb r2, [r4, #15] + 80018fa: f3c3 1240 ubfx r2, r3, #5, #1 + 80018fe: 06db lsls r3, r3, #27 + 8001900: 7422 strb r2, [r4, #16] + 8001902: d506 bpl.n 8001912 + 8001904: f105 010c add.w r1, r5, #12 + 8001908: 4620 mov r0, r4 + 800190a: e8bd 4038 ldmia.w sp!, {r3, r4, r5, lr} + 800190e: f7ff bf0f b.w 8001730 + 8001912: bd38 pop {r3, r4, r5, pc} + +08001914 : + 8001914: 7b83 ldrb r3, [r0, #14] + 8001916: b537 push {r0, r1, r2, r4, r5, lr} + 8001918: 2b00 cmp r3, #0 + 800191a: d03c beq.n 8001996 + 800191c: 4c1f ldr r4, [pc, #124] ; (800199c ) + 800191e: 6825 ldr r5, [r4, #0] + 8001920: 2301 movs r3, #1 + 8001922: 7443 strb r3, [r0, #17] + 8001924: 69a8 ldr r0, [r5, #24] + 8001926: b138 cbz r0, 8001938 + 8001928: 6803 ldr r3, [r0, #0] + 800192a: 2100 movs r1, #0 + 800192c: 6a9b ldr r3, [r3, #40] ; 0x28 + 800192e: 7429 strb r1, [r5, #16] + 8001930: 4798 blx r3 + 8001932: 4b1b ldr r3, [pc, #108] ; (80019a0 ) + 8001934: 681b ldr r3, [r3, #0] + 8001936: 606b str r3, [r5, #4] + 8001938: 4d1a ldr r5, [pc, #104] ; (80019a4 ) + 800193a: 6828 ldr r0, [r5, #0] + 800193c: f000 fafe bl 8001f3c + 8001940: 2800 cmp r0, #0 + 8001942: d1fa bne.n 800193a + 8001944: 4b18 ldr r3, [pc, #96] ; (80019a8 ) + 8001946: 6818 ldr r0, [r3, #0] + 8001948: f001 fc98 bl 800327c + 800194c: 4817 ldr r0, [pc, #92] ; (80019ac ) + 800194e: f7ff fb35 bl 8000fbc + 8001952: 6823 ldr r3, [r4, #0] + 8001954: 6998 ldr r0, [r3, #24] + 8001956: b110 cbz r0, 800195e + 8001958: 6803 ldr r3, [r0, #0] + 800195a: 68db ldr r3, [r3, #12] + 800195c: 4798 blx r3 + 800195e: 6824 ldr r4, [r4, #0] + 8001960: 4913 ldr r1, [pc, #76] ; (80019b0 ) + 8001962: 4620 mov r0, r4 + 8001964: f7ff fd9c bl 80014a0 + 8001968: 7c63 ldrb r3, [r4, #17] + 800196a: b183 cbz r3, 800198e + 800196c: f64b 7312 movw r3, #48914 ; 0xbf12 + 8001970: 7a20 ldrb r0, [r4, #8] + 8001972: f8ad 3004 strh.w r3, [sp, #4] + 8001976: 23bf movs r3, #191 ; 0xbf + 8001978: f88d 3006 strb.w r3, [sp, #6] + 800197c: f003 ff0a bl 8005794 + 8001980: 68e0 ldr r0, [r4, #12] + 8001982: f003 feff bl 8005784 + 8001986: 2103 movs r1, #3 + 8001988: a801 add r0, sp, #4 + 800198a: f003 ff09 bl 80057a0 + 800198e: 4b09 ldr r3, [pc, #36] ; (80019b4 ) + 8001990: 6818 ldr r0, [r3, #0] + 8001992: f002 fb79 bl 8004088 + 8001996: b003 add sp, #12 + 8001998: bd30 pop {r4, r5, pc} + 800199a: bf00 nop + 800199c: 20000128 andcs r0, r0, r8, lsr #2 + 80019a0: 20002244 andcs r2, r0, r4, asr #4 + 80019a4: 20000118 andcs r0, r0, r8, lsl r1 + 80019a8: 20001f18 andcs r1, r0, r8, lsl pc + 80019ac: 080066ac stmdaeq r0, {r2, r3, r5, r7, r9, sl, sp, lr} + 80019b0: 080066bb stmdaeq r0, {r0, r1, r3, r4, r5, r7, r9, sl, sp, lr} + 80019b4: 20002234 andcs r2, r0, r4, lsr r2 + +080019b8 : + 80019b8: 2000 movs r0, #0 + 80019ba: 4770 bx lr + +080019bc : + 80019bc: 2000 movs r0, #0 + 80019be: 4770 bx lr + +080019c0 : + 80019c0: 4b01 ldr r3, [pc, #4] ; (80019c8 ) + 80019c2: 6818 ldr r0, [r3, #0] + 80019c4: f7ff bf58 b.w 8001878 + 80019c8: 200000fc strdcs r0, [r0], -ip + +080019cc : + 80019cc: b510 push {r4, lr} + 80019ce: 4b03 ldr r3, [pc, #12] ; (80019dc ) + 80019d0: 6003 str r3, [r0, #0] + 80019d2: 4604 mov r4, r0 + 80019d4: f001 fa62 bl 8002e9c + 80019d8: 4620 mov r0, r4 + 80019da: bd10 pop {r4, pc} + 80019dc: 08006710 stmdaeq r0, {r4, r8, r9, sl, sp, lr} + +080019e0 : + 80019e0: b510 push {r4, lr} + 80019e2: 4604 mov r4, r0 + 80019e4: f7ff fff2 bl 80019cc + 80019e8: 4620 mov r0, r4 + 80019ea: f002 fb8b bl 8004104 + 80019ee: 4620 mov r0, r4 + 80019f0: bd10 pop {r4, pc} + +080019f2 : + 80019f2: b5f8 push {r3, r4, r5, r6, r7, lr} + 80019f4: 461d mov r5, r3 + 80019f6: f8d0 3238 ldr.w r3, [r0, #568] ; 0x238 + 80019fa: ebb5 2f53 cmp.w r5, r3, lsr #9 + 80019fe: 4606 mov r6, r0 + 8001a00: 460f mov r7, r1 + 8001a02: 4614 mov r4, r2 + 8001a04: d904 bls.n 8001a10 + 8001a06: 2400 movs r4, #0 + 8001a08: f8c0 423c str.w r4, [r0, #572] ; 0x23c + 8001a0c: 4620 mov r0, r4 + 8001a0e: bdf8 pop {r3, r4, r5, r6, r7, pc} + 8001a10: 2d01 cmp r5, #1 + 8001a12: d00f beq.n 8001a34 + 8001a14: f46f 7300 mvn.w r3, #512 ; 0x200 + 8001a18: 026d lsls r5, r5, #9 + 8001a1a: 441d add r5, r3 + 8001a1c: f8d6 3234 ldr.w r3, [r6, #564] ; 0x234 + 8001a20: 193a adds r2, r7, r4 + 8001a22: 442b add r3, r5 + 8001a24: 42ba cmp r2, r7 + 8001a26: d10c bne.n 8001a42 + 8001a28: f8d6 323c ldr.w r3, [r6, #572] ; 0x23c + 8001a2c: 4423 add r3, r4 + 8001a2e: f8c6 323c str.w r3, [r6, #572] ; 0x23c + 8001a32: e7eb b.n 8001a0c + 8001a34: 4608 mov r0, r1 + 8001a36: f000 f867 bl 8001b08 + 8001a3a: 2800 cmp r0, #0 + 8001a3c: d1ea bne.n 8001a14 + 8001a3e: 4604 mov r4, r0 + 8001a40: e7e4 b.n 8001a0c + 8001a42: f817 1b01 ldrb.w r1, [r7], #1 + 8001a46: f803 1f01 strb.w r1, [r3, #1]! + 8001a4a: e7eb b.n 8001a24 + +08001a4c : + 8001a4c: b513 push {r0, r1, r4, lr} + 8001a4e: 2401 movs r4, #1 + 8001a50: f880 4240 strb.w r4, [r0, #576] ; 0x240 + 8001a54: 4808 ldr r0, [pc, #32] ; (8001a78 ) + 8001a56: f7ff fab1 bl 8000fbc + 8001a5a: 4b08 ldr r3, [pc, #32] ; (8001a7c ) + 8001a5c: 4908 ldr r1, [pc, #32] ; (8001a80 ) + 8001a5e: 6818 ldr r0, [r3, #0] + 8001a60: 9001 str r0, [sp, #4] + 8001a62: f7ff fd1d bl 80014a0 + 8001a66: 9801 ldr r0, [sp, #4] + 8001a68: f645 3171 movw r1, #23409 ; 0x5b71 + 8001a6c: f7fe ffee bl 8000a4c + 8001a70: 4620 mov r0, r4 + 8001a72: b002 add sp, #8 + 8001a74: bd10 pop {r4, pc} + 8001a76: bf00 nop + 8001a78: 080066c9 stmdaeq r0, {r0, r3, r6, r7, r9, sl, sp, lr} + 8001a7c: 20000128 andcs r0, r0, r8, lsr #2 + 8001a80: 080066d5 stmdaeq r0, {r0, r2, r4, r6, r7, r9, sl, sp, lr} + +08001a84 : + 8001a84: b537 push {r0, r1, r2, r4, r5, lr} + 8001a86: 4604 mov r4, r0 + 8001a88: b9fa cbnz r2, 8001aca + 8001a8a: 4a11 ldr r2, [pc, #68] ; (8001ad0 ) + 8001a8c: 1e4b subs r3, r1, #1 + 8001a8e: 310b adds r1, #11 + 8001a90: f812 5b01 ldrb.w r5, [r2], #1 + 8001a94: f813 0f01 ldrb.w r0, [r3, #1]! + 8001a98: 42a8 cmp r0, r5 + 8001a9a: d116 bne.n 8001aca + 8001a9c: b108 cbz r0, 8001aa2 + 8001a9e: 428b cmp r3, r1 + 8001aa0: d1f6 bne.n 8001a90 + 8001aa2: 480c ldr r0, [pc, #48] ; (8001ad4 ) + 8001aa4: f7ff fa8a bl 8000fbc + 8001aa8: 4b0b ldr r3, [pc, #44] ; (8001ad8 ) + 8001aaa: 490c ldr r1, [pc, #48] ; (8001adc ) + 8001aac: 6818 ldr r0, [r3, #0] + 8001aae: 9001 str r0, [sp, #4] + 8001ab0: f7ff fcf6 bl 80014a0 + 8001ab4: 9801 ldr r0, [sp, #4] + 8001ab6: f240 6171 movw r1, #1649 ; 0x671 + 8001aba: f7fe ffc7 bl 8000a4c + 8001abe: 2300 movs r3, #0 + 8001ac0: f8c4 323c str.w r3, [r4, #572] ; 0x23c + 8001ac4: 2001 movs r0, #1 + 8001ac6: b003 add sp, #12 + 8001ac8: bd30 pop {r4, r5, pc} + 8001aca: 2000 movs r0, #0 + 8001acc: e7fb b.n 8001ac6 + 8001ace: bf00 nop + 8001ad0: 080066fb stmdaeq r0, {r0, r1, r3, r4, r5, r6, r7, r9, sl, sp, lr} + 8001ad4: 080066e0 stmdaeq r0, {r5, r6, r7, r9, sl, sp, lr} + 8001ad8: 20000128 andcs r0, r0, r8, lsr #2 + 8001adc: 080066ee stmdaeq r0, {r1, r2, r3, r5, r6, r7, r9, sl, sp, lr} + +08001ae0 : + 8001ae0: b570 push {r4, r5, r6, lr} + 8001ae2: 4604 mov r4, r0 + 8001ae4: 460e mov r6, r1 + 8001ae6: 4615 mov r5, r2 + 8001ae8: f001 f9aa bl 8002e40 + 8001aec: 4b05 ldr r3, [pc, #20] ; (8001b04 ) + 8001aee: 6023 str r3, [r4, #0] + 8001af0: 2300 movs r3, #0 + 8001af2: e9c4 658d strd r6, r5, [r4, #564] ; 0x234 + 8001af6: f8c4 323c str.w r3, [r4, #572] ; 0x23c + 8001afa: f884 3240 strb.w r3, [r4, #576] ; 0x240 + 8001afe: 4620 mov r0, r4 + 8001b00: bd70 pop {r4, r5, r6, pc} + 8001b02: bf00 nop + 8001b04: 08006710 stmdaeq r0, {r4, r8, r9, sl, sp, lr} + +08001b08 : + 8001b08: 2001 movs r0, #1 + 8001b0a: 4770 bx lr + +08001b0c : + 8001b0c: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 8001b10: 460e mov r6, r1 + 8001b12: 4615 mov r5, r2 + 8001b14: f502 4100 add.w r1, r2, #32768 ; 0x8000 + 8001b18: 6882 ldr r2, [r0, #8] + 8001b1a: 4291 cmp r1, r2 + 8001b1c: b085 sub sp, #20 + 8001b1e: 4604 mov r4, r0 + 8001b20: d906 bls.n 8001b30 + 8001b22: 4836 ldr r0, [pc, #216] ; (8001bfc ) + 8001b24: f7ff fa4a bl 8000fbc + 8001b28: 2000 movs r0, #0 + 8001b2a: b005 add sp, #20 + 8001b2c: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 8001b30: 4f33 ldr r7, [pc, #204] ; (8001c00 ) + 8001b32: 683b ldr r3, [r7, #0] + 8001b34: f893 8000 ldrb.w r8, [r3] + 8001b38: f1b8 0f00 cmp.w r8, #0 + 8001b3c: d006 beq.n 8001b4c + 8001b3e: 2200 movs r2, #0 + 8001b40: 701a strb r2, [r3, #0] + 8001b42: 2104 movs r1, #4 + 8001b44: f64f 70ff movw r0, #65535 ; 0xffff + 8001b48: f003 fa12 bl 8004f70 + 8001b4c: 482d ldr r0, [pc, #180] ; (8001c04 ) + 8001b4e: f8df a0cc ldr.w sl, [pc, #204] ; 8001c1c + 8001b52: f002 fb87 bl 8004264 + 8001b56: 4620 mov r0, r4 + 8001b58: f000 feb2 bl 80028c0 + 8001b5c: f105 39ff add.w r9, r5, #4294967295 ; 0xffffffff + 8001b60: 4481 add r9, r0 + 8001b62: 4240 negs r0, r0 + 8001b64: 4928 ldr r1, [pc, #160] ; (8001c08 ) + 8001b66: ea09 0900 and.w r9, r9, r0 + 8001b6a: 2302 movs r3, #2 + 8001b6c: f8da 0000 ldr.w r0, [sl] + 8001b70: f240 6239 movw r2, #1593 ; 0x639 + 8001b74: f10d 0b0c add.w fp, sp, #12 + 8001b78: f7ff fccf bl 800151a + 8001b7c: 465b mov r3, fp + 8001b7e: 464a mov r2, r9 + 8001b80: f44f 4100 mov.w r1, #32768 ; 0x8000 + 8001b84: 4620 mov r0, r4 + 8001b86: f000 fec7 bl 8002918 + 8001b8a: 9b03 ldr r3, [sp, #12] + 8001b8c: 2b01 cmp r3, #1 + 8001b8e: d103 bne.n 8001b98 + 8001b90: 481e ldr r0, [pc, #120] ; (8001c0c ) + 8001b92: f002 fb67 bl 8004264 + 8001b96: e7c7 b.n 8001b28 + 8001b98: 491d ldr r1, [pc, #116] ; (8001c10 ) + 8001b9a: f8da 0000 ldr.w r0, [sl] + 8001b9e: 2302 movs r3, #2 + 8001ba0: f645 3239 movw r2, #23353 ; 0x5b39 + 8001ba4: f7ff fcb9 bl 800151a + 8001ba8: 4633 mov r3, r6 + 8001baa: f8cd b000 str.w fp, [sp] + 8001bae: 462a mov r2, r5 + 8001bb0: f44f 4100 mov.w r1, #32768 ; 0x8000 + 8001bb4: 4620 mov r0, r4 + 8001bb6: f000 fe86 bl 80028c6 + 8001bba: 9b03 ldr r3, [sp, #12] + 8001bbc: 2b01 cmp r3, #1 + 8001bbe: d101 bne.n 8001bc4 + 8001bc0: 4814 ldr r0, [pc, #80] ; (8001c14 ) + 8001bc2: e7e6 b.n 8001b92 + 8001bc4: f1b8 0f00 cmp.w r8, #0 + 8001bc8: d00d beq.n 8001be6 + 8001bca: 2102 movs r1, #2 + 8001bcc: f64f 70ff movw r0, #65535 ; 0xffff + 8001bd0: 683c ldr r4, [r7, #0] + 8001bd2: f003 f9cd bl 8004f70 + 8001bd6: 2801 cmp r0, #1 + 8001bd8: bf0c ite eq + 8001bda: 2301 moveq r3, #1 + 8001bdc: 2300 movne r3, #0 + 8001bde: 7023 strb r3, [r4, #0] + 8001be0: d101 bne.n 8001be6 + 8001be2: f003 f9b5 bl 8004f50 + 8001be6: f8da 0000 ldr.w r0, [sl] + 8001bea: 490b ldr r1, [pc, #44] ; (8001c18 ) + 8001bec: 2302 movs r3, #2 + 8001bee: f643 1239 movw r2, #14649 ; 0x3939 + 8001bf2: f7ff fc92 bl 800151a + 8001bf6: 2001 movs r0, #1 + 8001bf8: e797 b.n 8001b2a + 8001bfa: bf00 nop + 8001bfc: 08006730 stmdaeq r0, {r4, r5, r8, r9, sl, sp, lr} + 8001c00: 20002234 andcs r2, r0, r4, lsr r2 + 8001c04: 0800674b stmdaeq r0, {r0, r1, r3, r6, r8, r9, sl, sp, lr} + 8001c08: 0800675a stmdaeq r0, {r1, r3, r4, r6, r8, r9, sl, sp, lr} + 8001c0c: 08006760 stmdaeq r0, {r5, r6, r8, r9, sl, sp, lr} + 8001c10: 08006773 stmdaeq r0, {r0, r1, r4, r5, r6, r8, r9, sl, sp, lr} + 8001c14: 0800677b stmdaeq r0, {r0, r1, r3, r4, r5, r6, r8, r9, sl, sp, lr} + 8001c18: 0800678e stmdaeq r0, {r1, r2, r3, r7, r8, r9, sl, sp, lr} + 8001c1c: 20000128 andcs r0, r0, r8, lsr #2 + +08001c20 : + 8001c20: b57f push {r0, r1, r2, r3, r4, r5, r6, lr} + 8001c22: 4604 mov r4, r0 + 8001c24: f000 fe26 bl 8002874 + 8001c28: 2300 movs r3, #0 + 8001c2a: 6163 str r3, [r4, #20] + 8001c2c: e9c4 3301 strd r3, r3, [r4, #4] + 8001c30: e9c4 3303 strd r3, r3, [r4, #12] + 8001c34: 4d1a ldr r5, [pc, #104] ; (8001ca0 ) + 8001c36: 7623 strb r3, [r4, #24] + 8001c38: 4b1a ldr r3, [pc, #104] ; (8001ca4 ) + 8001c3a: 601c str r4, [r3, #0] + 8001c3c: 682b ldr r3, [r5, #0] + 8001c3e: 6998 ldr r0, [r3, #24] + 8001c40: b110 cbz r0, 8001c48 + 8001c42: 6803 ldr r3, [r0, #0] + 8001c44: 68db ldr r3, [r3, #12] + 8001c46: 4798 blx r3 + 8001c48: 4620 mov r0, r4 + 8001c4a: f000 fe33 bl 80028b4 + 8001c4e: 60a0 str r0, [r4, #8] + 8001c50: 4620 mov r0, r4 + 8001c52: f000 fe2b bl 80028ac + 8001c56: 9003 str r0, [sp, #12] + 8001c58: 4620 mov r0, r4 + 8001c5a: f000 fe31 bl 80028c0 + 8001c5e: 68a3 ldr r3, [r4, #8] + 8001c60: 9903 ldr r1, [sp, #12] + 8001c62: 4602 mov r2, r0 + 8001c64: 0a98 lsrs r0, r3, #10 + 8001c66: 9000 str r0, [sp, #0] + 8001c68: 480f ldr r0, [pc, #60] ; (8001ca8 ) + 8001c6a: f7ff f9a7 bl 8000fbc + 8001c6e: 682d ldr r5, [r5, #0] + 8001c70: 4620 mov r0, r4 + 8001c72: f000 fe1b bl 80028ac + 8001c76: 69ad ldr r5, [r5, #24] + 8001c78: 4602 mov r2, r0 + 8001c7a: b16d cbz r5, 8001c98 + 8001c7c: 7928 ldrb r0, [r5, #4] + 8001c7e: 2300 movs r3, #0 + 8001c80: 5cd1 ldrb r1, [r2, r3] + 8001c82: b119 cbz r1, 8001c8c + 8001c84: 1c59 adds r1, r3, #1 + 8001c86: 4298 cmp r0, r3 + 8001c88: 460b mov r3, r1 + 8001c8a: dcf9 bgt.n 8001c80 + 8001c8c: 6829 ldr r1, [r5, #0] + 8001c8e: b2db uxtb r3, r3 + 8001c90: 69ce ldr r6, [r1, #28] + 8001c92: 4628 mov r0, r5 + 8001c94: 2101 movs r1, #1 + 8001c96: 47b0 blx r6 + 8001c98: 4620 mov r0, r4 + 8001c9a: b004 add sp, #16 + 8001c9c: bd70 pop {r4, r5, r6, pc} + 8001c9e: bf00 nop + 8001ca0: 20000128 andcs r0, r0, r8, lsr #2 + 8001ca4: 20000100 andcs r0, r0, r0, lsl #2 + 8001ca8: 08006793 stmdaeq r0, {r0, r1, r4, r7, r8, r9, sl, sp, lr} + +08001cac : + 8001cac: b510 push {r4, lr} + 8001cae: 4a05 ldr r2, [pc, #20] ; (8001cc4 ) + 8001cb0: 2300 movs r3, #0 + 8001cb2: 2020 movs r0, #32 + 8001cb4: 428b cmp r3, r1 + 8001cb6: d100 bne.n 8001cba + 8001cb8: bd10 pop {r4, pc} + 8001cba: f852 4b04 ldr.w r4, [r2], #4 + 8001cbe: 3301 adds r3, #1 + 8001cc0: 4420 add r0, r4 + 8001cc2: e7f7 b.n 8001cb4 + 8001cc4: 080067bc stmdaeq r0, {r2, r3, r4, r5, r7, r8, r9, sl, sp, lr} + +08001cc8 : + 8001cc8: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} + 8001ccc: b085 sub sp, #20 + 8001cce: 4607 mov r7, r0 + 8001cd0: f000 fafb bl 80022ca + 8001cd4: f5b0 5f80 cmp.w r0, #4096 ; 0x1000 + 8001cd8: 4605 mov r5, r0 + 8001cda: d004 beq.n 8001ce6 + 8001cdc: 2500 movs r5, #0 + 8001cde: 4628 mov r0, r5 + 8001ce0: b005 add sp, #20 + 8001ce2: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} + 8001ce6: 4638 mov r0, r7 + 8001ce8: f000 faec bl 80022c4 + 8001cec: 4b3a ldr r3, [pc, #232] ; (8001dd8 ) + 8001cee: f5a0 5180 sub.w r1, r0, #4096 ; 0x1000 + 8001cf2: f3c1 060b ubfx r6, r1, #0, #12 + 8001cf6: 6019 str r1, [r3, #0] + 8001cf8: 2e00 cmp r6, #0 + 8001cfa: d1ef bne.n 8001cdc + 8001cfc: 4c37 ldr r4, [pc, #220] ; (8001ddc ) + 8001cfe: ab03 add r3, sp, #12 + 8001d00: 462a mov r2, r5 + 8001d02: 9300 str r3, [sp, #0] + 8001d04: 4638 mov r0, r7 + 8001d06: 4623 mov r3, r4 + 8001d08: f000 fae2 bl 80022d0 + 8001d0c: 7823 ldrb r3, [r4, #0] + 8001d0e: 2b41 cmp r3, #65 ; 0x41 + 8001d10: bf1c itt ne + 8001d12: 2341 movne r3, #65 ; 0x41 + 8001d14: 7023 strbne r3, [r4, #0] + 8001d16: 7863 ldrb r3, [r4, #1] + 8001d18: bf14 ite ne + 8001d1a: 4635 movne r5, r6 + 8001d1c: 2501 moveq r5, #1 + 8001d1e: 2b76 cmp r3, #118 ; 0x76 + 8001d20: bf1c itt ne + 8001d22: 2376 movne r3, #118 ; 0x76 + 8001d24: 7063 strbne r3, [r4, #1] + 8001d26: 78a3 ldrb r3, [r4, #2] + 8001d28: bf18 it ne + 8001d2a: 2500 movne r5, #0 + 8001d2c: 2b56 cmp r3, #86 ; 0x56 + 8001d2e: bf1c itt ne + 8001d30: 2356 movne r3, #86 ; 0x56 + 8001d32: 70a3 strbne r3, [r4, #2] + 8001d34: 78e3 ldrb r3, [r4, #3] + 8001d36: bf18 it ne + 8001d38: 2500 movne r5, #0 + 8001d3a: 2b10 cmp r3, #16 + 8001d3c: d01f beq.n 8001d7e + 8001d3e: 2310 movs r3, #16 + 8001d40: 70e3 strb r3, [r4, #3] + 8001d42: 4b27 ldr r3, [pc, #156] ; (8001de0 ) + 8001d44: f8df 80a0 ldr.w r8, [pc, #160] ; 8001de8 + 8001d48: 2201 movs r2, #1 + 8001d4a: 701a strb r2, [r3, #0] + 8001d4c: 2500 movs r5, #0 + 8001d4e: f04f 09ff mov.w r9, #255 ; 0xff + 8001d52: 4631 mov r1, r6 + 8001d54: 4638 mov r0, r7 + 8001d56: f7ff ffa9 bl 8001cac + 8001d5a: 1823 adds r3, r4, r0 + 8001d5c: 5425 strb r5, [r4, r0] + 8001d5e: 705d strb r5, [r3, #1] + 8001d60: 709d strb r5, [r3, #2] + 8001d62: 70dd strb r5, [r3, #3] + 8001d64: f858 3b04 ldr.w r3, [r8], #4 + 8001d68: 1d02 adds r2, r0, #4 + 8001d6a: 4403 add r3, r0 + 8001d6c: 429a cmp r2, r3 + 8001d6e: d32f bcc.n 8001dd0 + 8001d70: 3601 adds r6, #1 + 8001d72: 2e1c cmp r6, #28 + 8001d74: d1ed bne.n 8001d52 + 8001d76: 4b1b ldr r3, [pc, #108] ; (8001de4 ) + 8001d78: 2501 movs r5, #1 + 8001d7a: 601d str r5, [r3, #0] + 8001d7c: e7af b.n 8001cde + 8001d7e: 2d00 cmp r5, #0 + 8001d80: d0df beq.n 8001d42 + 8001d82: f04f 0900 mov.w r9, #0 + 8001d86: 46c8 mov r8, r9 + 8001d88: 4631 mov r1, r6 + 8001d8a: 4638 mov r0, r7 + 8001d8c: f7ff ff8e bl 8001cac + 8001d90: 5c23 ldrb r3, [r4, r0] + 8001d92: 2bff cmp r3, #255 ; 0xff + 8001d94: d112 bne.n 8001dbc + 8001d96: 1823 adds r3, r4, r0 + 8001d98: 785a ldrb r2, [r3, #1] + 8001d9a: 2aff cmp r2, #255 ; 0xff + 8001d9c: d10e bne.n 8001dbc + 8001d9e: 789a ldrb r2, [r3, #2] + 8001da0: 2aff cmp r2, #255 ; 0xff + 8001da2: d10b bne.n 8001dbc + 8001da4: 78da ldrb r2, [r3, #3] + 8001da6: 2aff cmp r2, #255 ; 0xff + 8001da8: d108 bne.n 8001dbc + 8001daa: f804 8000 strb.w r8, [r4, r0] + 8001dae: 46a9 mov r9, r5 + 8001db0: f883 8001 strb.w r8, [r3, #1] + 8001db4: f883 8002 strb.w r8, [r3, #2] + 8001db8: f883 8003 strb.w r8, [r3, #3] + 8001dbc: 3601 adds r6, #1 + 8001dbe: 2e1c cmp r6, #28 + 8001dc0: d1e2 bne.n 8001d88 + 8001dc2: f1b9 0f00 cmp.w r9, #0 + 8001dc6: d08a beq.n 8001cde + 8001dc8: 4b06 ldr r3, [pc, #24] ; (8001de4 ) + 8001dca: 2201 movs r2, #1 + 8001dcc: 601a str r2, [r3, #0] + 8001dce: e786 b.n 8001cde + 8001dd0: f804 9002 strb.w r9, [r4, r2] + 8001dd4: 3201 adds r2, #1 + 8001dd6: e7c9 b.n 8001d6c + 8001dd8: 20000108 andcs r0, r0, r8, lsl #2 + 8001ddc: 40024000 andmi r4, r2, r0 + 8001de0: 2000011c andcs r0, r0, ip, lsl r1 + 8001de4: 20000114 andcs r0, r0, r4, lsl r1 + 8001de8: 080067bc stmdaeq r0, {r2, r3, r4, r5, r7, r8, r9, sl, sp, lr} + +08001dec : + 8001dec: b538 push {r3, r4, r5, lr} + 8001dee: 4604 mov r4, r0 + 8001df0: f000 fa3a bl 8002268 + 8001df4: 4b0b ldr r3, [pc, #44] ; (8001e24 ) + 8001df6: 4d0c ldr r5, [pc, #48] ; (8001e28 ) + 8001df8: 601c str r4, [r3, #0] + 8001dfa: 7aa3 ldrb r3, [r4, #10] + 8001dfc: b11b cbz r3, 8001e06 + 8001dfe: 4620 mov r0, r4 + 8001e00: f7ff ff62 bl 8001cc8 + 8001e04: 7028 strb r0, [r5, #0] + 8001e06: 782b ldrb r3, [r5, #0] + 8001e08: b153 cbz r3, 8001e20 + 8001e0a: 4908 ldr r1, [pc, #32] ; (8001e2c ) + 8001e0c: 2320 movs r3, #32 + 8001e0e: 2200 movs r2, #0 + 8001e10: f851 0b04 ldr.w r0, [r1], #4 + 8001e14: 3201 adds r2, #1 + 8001e16: 2a1c cmp r2, #28 + 8001e18: 4403 add r3, r0 + 8001e1a: d1f9 bne.n 8001e10 + 8001e1c: 4a04 ldr r2, [pc, #16] ; (8001e30 ) + 8001e1e: 6013 str r3, [r2, #0] + 8001e20: 4620 mov r0, r4 + 8001e22: bd38 pop {r3, r4, r5, pc} + 8001e24: 20000118 andcs r0, r0, r8, lsl r1 + 8001e28: 2000010c andcs r0, r0, ip, lsl #2 + 8001e2c: 080067bc stmdaeq r0, {r2, r3, r4, r5, r7, r8, r9, sl, sp, lr} + 8001e30: 20000110 andcs r0, r0, r0, lsl r1 + +08001e34 : + 8001e34: b508 push {r3, lr} + 8001e36: f7ff ff39 bl 8001cac + 8001e3a: 4905 ldr r1, [pc, #20] ; (8001e50 ) + 8001e3c: 1842 adds r2, r0, r1 + 8001e3e: 2300 movs r3, #0 + 8001e40: 540b strb r3, [r1, r0] + 8001e42: 7053 strb r3, [r2, #1] + 8001e44: 7093 strb r3, [r2, #2] + 8001e46: 70d3 strb r3, [r2, #3] + 8001e48: 4b02 ldr r3, [pc, #8] ; (8001e54 ) + 8001e4a: 2201 movs r2, #1 + 8001e4c: 601a str r2, [r3, #0] + 8001e4e: bd08 pop {r3, pc} + 8001e50: 40024000 andmi r4, r2, r0 + 8001e54: 20000114 andcs r0, r0, r4, lsl r1 + +08001e58 : + 8001e58: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} + 8001e5c: 461c mov r4, r3 + 8001e5e: 4b19 ldr r3, [pc, #100] ; (8001ec4 ) + 8001e60: 9d07 ldr r5, [sp, #28] + 8001e62: 781f ldrb r7, [r3, #0] + 8001e64: 4616 mov r6, r2 + 8001e66: b307 cbz r7, 8001eaa + 8001e68: f7ff ff20 bl 8001cac + 8001e6c: 4a16 ldr r2, [pc, #88] ; (8001ec8 ) + 8001e6e: 1831 adds r1, r6, r0 + 8001e70: 1e63 subs r3, r4, #1 + 8001e72: 9c06 ldr r4, [sp, #24] + 8001e74: 4411 add r1, r2 + 8001e76: 440c add r4, r1 + 8001e78: f04f 0c00 mov.w ip, #0 + 8001e7c: 42a1 cmp r1, r4 + 8001e7e: d116 bne.n 8001eae + 8001e80: f1bc 0f00 cmp.w ip, #0 + 8001e84: d011 beq.n 8001eaa + 8001e86: 4b11 ldr r3, [pc, #68] ; (8001ecc ) + 8001e88: 6819 ldr r1, [r3, #0] + 8001e8a: b109 cbz r1, 8001e90 + 8001e8c: 2906 cmp r1, #6 + 8001e8e: d101 bne.n 8001e94 + 8001e90: 2101 movs r1, #1 + 8001e92: 6019 str r1, [r3, #0] + 8001e94: 4b0e ldr r3, [pc, #56] ; (8001ed0 ) + 8001e96: 6819 ldr r1, [r3, #0] + 8001e98: 4b0e ldr r3, [pc, #56] ; (8001ed4 ) + 8001e9a: 6019 str r1, [r3, #0] + 8001e9c: b12e cbz r6, 8001eaa + 8001e9e: b125 cbz r5, 8001eaa + 8001ea0: 9b08 ldr r3, [sp, #32] + 8001ea2: 4418 add r0, r3 + 8001ea4: 5813 ldr r3, [r2, r0] + 8001ea6: 432b orrs r3, r5 + 8001ea8: 5013 str r3, [r2, r0] + 8001eaa: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + 8001eae: f891 8000 ldrb.w r8, [r1] + 8001eb2: f813 ef01 ldrb.w lr, [r3, #1]! + 8001eb6: 45f0 cmp r8, lr + 8001eb8: bf1c itt ne + 8001eba: f881 e000 strbne.w lr, [r1] + 8001ebe: 46bc movne ip, r7 + 8001ec0: 3101 adds r1, #1 + 8001ec2: e7db b.n 8001e7c + 8001ec4: 2000010c andcs r0, r0, ip, lsl #2 + 8001ec8: 40024000 andmi r4, r2, r0 + 8001ecc: 20000114 andcs r0, r0, r4, lsl r1 + 8001ed0: 20002244 andcs r2, r0, r4, asr #4 + 8001ed4: 20000104 andcs r0, r0, r4, lsl #2 + +08001ed8 : + 8001ed8: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} + 8001edc: 461d mov r5, r3 + 8001ede: 4b15 ldr r3, [pc, #84] ; (8001f34 ) + 8001ee0: b085 sub sp, #20 + 8001ee2: 781b ldrb r3, [r3, #0] + 8001ee4: f8dd 8030 ldr.w r8, [sp, #48] ; 0x30 + 8001ee8: f89d 9034 ldrb.w r9, [sp, #52] ; 0x34 + 8001eec: 4607 mov r7, r0 + 8001eee: 4614 mov r4, r2 + 8001ef0: b193 cbz r3, 8001f18 + 8001ef2: f7ff fedb bl 8001cac + 8001ef6: 4a10 ldr r2, [pc, #64] ; (8001f38 ) + 8001ef8: eb08 0600 add.w r6, r8, r0 + 8001efc: 18b3 adds r3, r6, r2 + 8001efe: f1b9 0f00 cmp.w r9, #0 + 8001f02: d013 beq.n 8001f2c + 8001f04: 5990 ldr r0, [r2, r6] + 8001f06: b988 cbnz r0, 8001f2c + 8001f08: e9cd 0001 strd r0, r0, [sp, #4] + 8001f0c: 9500 str r5, [sp, #0] + 8001f0e: 4623 mov r3, r4 + 8001f10: 4642 mov r2, r8 + 8001f12: 4638 mov r0, r7 + 8001f14: f7ff ffa0 bl 8001e58 + 8001f18: b005 add sp, #20 + 8001f1a: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} + 8001f1e: f813 2b01 ldrb.w r2, [r3], #1 + 8001f22: f804 2f01 strb.w r2, [r4, #1]! + 8001f26: 429d cmp r5, r3 + 8001f28: d1f9 bne.n 8001f1e + 8001f2a: e7f5 b.n 8001f18 + 8001f2c: 3c01 subs r4, #1 + 8001f2e: 441d add r5, r3 + 8001f30: e7f9 b.n 8001f26 + 8001f32: bf00 nop + 8001f34: 2000010c andcs r0, r0, ip, lsl #2 + 8001f38: 40024000 andmi r4, r2, r0 + +08001f3c : + 8001f3c: b51f push {r0, r1, r2, r3, r4, lr} + 8001f3e: 4c24 ldr r4, [pc, #144] ; (8001fd0 ) + 8001f40: 6823 ldr r3, [r4, #0] + 8001f42: 2b00 cmp r3, #0 + 8001f44: d041 beq.n 8001fca + 8001f46: 3b01 subs r3, #1 + 8001f48: 2b05 cmp r3, #5 + 8001f4a: d82f bhi.n 8001fac + 8001f4c: e8df f003 tbb [pc, r3] + 8001f50: 2c140b03 ; instruction: 0x2c140b03 + 8001f54: 4b1f2e23 blmi 87cd7e8 <__exidx_end+0x7c68c8> + 8001f58: 681a ldr r2, [r3, #0] + 8001f5a: 4b1f ldr r3, [pc, #124] ; (8001fd8 ) + 8001f5c: 601a str r2, [r3, #0] + 8001f5e: 2302 movs r3, #2 + 8001f60: 6023 str r3, [r4, #0] + 8001f62: 2001 movs r0, #1 + 8001f64: e02f b.n 8001fc6 + 8001f66: 4b1b ldr r3, [pc, #108] ; (8001fd4 ) + 8001f68: 4a1b ldr r2, [pc, #108] ; (8001fd8 ) + 8001f6a: 681b ldr r3, [r3, #0] + 8001f6c: 6812 ldr r2, [r2, #0] + 8001f6e: 1a9b subs r3, r3, r2 + 8001f70: 2b63 cmp r3, #99 ; 0x63 + 8001f72: d9f6 bls.n 8001f62 + 8001f74: 2303 movs r3, #3 + 8001f76: e7f3 b.n 8001f60 + 8001f78: 4918 ldr r1, [pc, #96] ; (8001fdc ) + 8001f7a: ab03 add r3, sp, #12 + 8001f7c: 6809 ldr r1, [r1, #0] + 8001f7e: f44f 5280 mov.w r2, #4096 ; 0x1000 + 8001f82: f000 f9c9 bl 8002318 + 8001f86: 2800 cmp r0, #0 + 8001f88: d0eb beq.n 8001f62 + 8001f8a: 4b12 ldr r3, [pc, #72] ; (8001fd4 ) + 8001f8c: 681a ldr r2, [r3, #0] + 8001f8e: 4b12 ldr r3, [pc, #72] ; (8001fd8 ) + 8001f90: 601a str r2, [r3, #0] + 8001f92: 2305 movs r3, #5 + 8001f94: e7e4 b.n 8001f60 + 8001f96: 4b0f ldr r3, [pc, #60] ; (8001fd4 ) + 8001f98: 4a0f ldr r2, [pc, #60] ; (8001fd8 ) + 8001f9a: 681b ldr r3, [r3, #0] + 8001f9c: 6812 ldr r2, [r2, #0] + 8001f9e: 1a9b subs r3, r3, r2 + 8001fa0: 2b63 cmp r3, #99 ; 0x63 + 8001fa2: d9de bls.n 8001f62 + 8001fa4: 2304 movs r3, #4 + 8001fa6: e7db b.n 8001f60 + 8001fa8: 2306 movs r3, #6 + 8001faa: e7d9 b.n 8001f60 + 8001fac: ab03 add r3, sp, #12 + 8001fae: 4a0c ldr r2, [pc, #48] ; (8001fe0 ) + 8001fb0: 490a ldr r1, [pc, #40] ; (8001fdc ) + 8001fb2: 9300 str r3, [sp, #0] + 8001fb4: 6812 ldr r2, [r2, #0] + 8001fb6: 4b0b ldr r3, [pc, #44] ; (8001fe4 ) + 8001fb8: 6809 ldr r1, [r1, #0] + 8001fba: f000 f9b1 bl 8002320 + 8001fbe: 2800 cmp r0, #0 + 8001fc0: d0cf beq.n 8001f62 + 8001fc2: 2000 movs r0, #0 + 8001fc4: 6020 str r0, [r4, #0] + 8001fc6: b004 add sp, #16 + 8001fc8: bd10 pop {r4, pc} + 8001fca: 4618 mov r0, r3 + 8001fcc: e7fb b.n 8001fc6 + 8001fce: bf00 nop + 8001fd0: 20000114 andcs r0, r0, r4, lsl r1 + 8001fd4: 20002244 andcs r2, r0, r4, asr #4 + 8001fd8: 20000104 andcs r0, r0, r4, lsl #2 + 8001fdc: 20000108 andcs r0, r0, r8, lsl #2 + 8001fe0: 20000110 andcs r0, r0, r0, lsl r1 + 8001fe4: 40024000 andmi r4, r2, r0 + +08001fe8 : + 8001fe8: 4770 bx lr + +08001fea : + 8001fea: 3804 subs r0, #4 + 8001fec: 4770 bx lr ... -08001adc : - 8001adc: b510 push {r4, lr} - 8001ade: 4a05 ldr r2, [pc, #20] ; (8001af4 ) - 8001ae0: 2300 movs r3, #0 - 8001ae2: 2020 movs r0, #32 - 8001ae4: 428b cmp r3, r1 - 8001ae6: d100 bne.n 8001aea - 8001ae8: bd10 pop {r4, pc} - 8001aea: f852 4b04 ldr.w r4, [r2], #4 - 8001aee: 3301 adds r3, #1 - 8001af0: 4420 add r0, r4 - 8001af2: e7f7 b.n 8001ae4 - 8001af4: 08006858 stmdaeq r0, {r3, r4, r6, fp, sp, lr} - -08001af8 : - 8001af8: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} - 8001afc: 4607 mov r7, r0 - 8001afe: f000 ff1f bl 8002940 - 8001b02: f5b0 5f80 cmp.w r0, #4096 ; 0x1000 - 8001b06: 4605 mov r5, r0 - 8001b08: d003 beq.n 8001b12 - 8001b0a: 2500 movs r5, #0 - 8001b0c: 4628 mov r0, r5 - 8001b0e: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} - 8001b12: f000 ff0f bl 8002934 - 8001b16: 4b3a ldr r3, [pc, #232] ; (8001c00 ) - 8001b18: f5a0 5080 sub.w r0, r0, #4096 ; 0x1000 - 8001b1c: f3c0 060b ubfx r6, r0, #0, #12 - 8001b20: 6018 str r0, [r3, #0] - 8001b22: 2e00 cmp r6, #0 - 8001b24: d1f1 bne.n 8001b0a - 8001b26: 4c37 ldr r4, [pc, #220] ; (8001c04 ) - 8001b28: 4629 mov r1, r5 - 8001b2a: 4622 mov r2, r4 - 8001b2c: f000 ff0d bl 800294a - 8001b30: 7823 ldrb r3, [r4, #0] - 8001b32: 2b41 cmp r3, #65 ; 0x41 - 8001b34: bf1c itt ne - 8001b36: 2341 movne r3, #65 ; 0x41 - 8001b38: 7023 strbne r3, [r4, #0] - 8001b3a: 7863 ldrb r3, [r4, #1] - 8001b3c: bf14 ite ne - 8001b3e: 4635 movne r5, r6 - 8001b40: 2501 moveq r5, #1 - 8001b42: 2b76 cmp r3, #118 ; 0x76 - 8001b44: bf1c itt ne - 8001b46: 2376 movne r3, #118 ; 0x76 - 8001b48: 7063 strbne r3, [r4, #1] - 8001b4a: 78a3 ldrb r3, [r4, #2] - 8001b4c: bf18 it ne - 8001b4e: 2500 movne r5, #0 - 8001b50: 2b56 cmp r3, #86 ; 0x56 - 8001b52: bf1c itt ne - 8001b54: 2356 movne r3, #86 ; 0x56 - 8001b56: 70a3 strbne r3, [r4, #2] - 8001b58: 78e3 ldrb r3, [r4, #3] - 8001b5a: bf18 it ne - 8001b5c: 2500 movne r5, #0 - 8001b5e: 2b10 cmp r3, #16 - 8001b60: d020 beq.n 8001ba4 - 8001b62: 2310 movs r3, #16 - 8001b64: 70e3 strb r3, [r4, #3] - 8001b66: 4b28 ldr r3, [pc, #160] ; (8001c08 ) - 8001b68: f8df 80a4 ldr.w r8, [pc, #164] ; 8001c10 - 8001b6c: 2201 movs r2, #1 - 8001b6e: 701a strb r2, [r3, #0] - 8001b70: 2500 movs r5, #0 - 8001b72: f04f 09ff mov.w r9, #255 ; 0xff - 8001b76: 4631 mov r1, r6 - 8001b78: 4638 mov r0, r7 - 8001b7a: f7ff ffaf bl 8001adc - 8001b7e: 1821 adds r1, r4, r0 - 8001b80: 5425 strb r5, [r4, r0] - 8001b82: 704d strb r5, [r1, #1] - 8001b84: 708d strb r5, [r1, #2] - 8001b86: 70cd strb r5, [r1, #3] - 8001b88: f858 1b04 ldr.w r1, [r8], #4 - 8001b8c: 4603 mov r3, r0 - 8001b8e: 1d02 adds r2, r0, #4 - 8001b90: 440b add r3, r1 - 8001b92: 429a cmp r2, r3 - 8001b94: d32f bcc.n 8001bf6 - 8001b96: 3601 adds r6, #1 - 8001b98: 2e1c cmp r6, #28 - 8001b9a: d1ec bne.n 8001b76 - 8001b9c: 4b1b ldr r3, [pc, #108] ; (8001c0c ) - 8001b9e: 2501 movs r5, #1 - 8001ba0: 601d str r5, [r3, #0] - 8001ba2: e7b3 b.n 8001b0c - 8001ba4: 2d00 cmp r5, #0 - 8001ba6: d0de beq.n 8001b66 - 8001ba8: f04f 0900 mov.w r9, #0 - 8001bac: 46c8 mov r8, r9 - 8001bae: 4631 mov r1, r6 - 8001bb0: 4638 mov r0, r7 - 8001bb2: f7ff ff93 bl 8001adc - 8001bb6: 5c23 ldrb r3, [r4, r0] - 8001bb8: 2bff cmp r3, #255 ; 0xff - 8001bba: d112 bne.n 8001be2 - 8001bbc: 1823 adds r3, r4, r0 - 8001bbe: 785a ldrb r2, [r3, #1] - 8001bc0: 2aff cmp r2, #255 ; 0xff - 8001bc2: d10e bne.n 8001be2 - 8001bc4: 789a ldrb r2, [r3, #2] - 8001bc6: 2aff cmp r2, #255 ; 0xff - 8001bc8: d10b bne.n 8001be2 - 8001bca: 78da ldrb r2, [r3, #3] - 8001bcc: 2aff cmp r2, #255 ; 0xff - 8001bce: d108 bne.n 8001be2 - 8001bd0: f804 8000 strb.w r8, [r4, r0] - 8001bd4: 46a9 mov r9, r5 - 8001bd6: f883 8001 strb.w r8, [r3, #1] - 8001bda: f883 8002 strb.w r8, [r3, #2] - 8001bde: f883 8003 strb.w r8, [r3, #3] - 8001be2: 3601 adds r6, #1 - 8001be4: 2e1c cmp r6, #28 - 8001be6: d1e2 bne.n 8001bae - 8001be8: f1b9 0f00 cmp.w r9, #0 - 8001bec: d08e beq.n 8001b0c - 8001bee: 4b07 ldr r3, [pc, #28] ; (8001c0c ) - 8001bf0: 2201 movs r2, #1 - 8001bf2: 601a str r2, [r3, #0] - 8001bf4: e78a b.n 8001b0c - 8001bf6: f804 9002 strb.w r9, [r4, r2] - 8001bfa: 3201 adds r2, #1 - 8001bfc: e7c9 b.n 8001b92 - 8001bfe: bf00 nop - 8001c00: 20001164 andcs r1, r0, r4, ror #2 - 8001c04: 20000164 andcs r0, r0, r4, ror #2 - 8001c08: 20001178 andcs r1, r0, r8, ror r1 - 8001c0c: 20001170 andcs r1, r0, r0, ror r1 - 8001c10: 08006858 stmdaeq r0, {r3, r4, r6, fp, sp, lr} - -08001c14 : - 8001c14: 4b16 ldr r3, [pc, #88] ; (8001c70 ) - 8001c16: b537 push {r0, r1, r2, r4, r5, lr} - 8001c18: 2200 movs r2, #0 - 8001c1a: 6018 str r0, [r3, #0] - 8001c1c: 4604 mov r4, r0 - 8001c1e: 4611 mov r1, r2 - 8001c20: 4610 mov r0, r2 - 8001c22: f000 fe90 bl 8002946 - 8001c26: 2800 cmp r0, #0 - 8001c28: 4d12 ldr r5, [pc, #72] ; (8001c74 ) - 8001c2a: db11 blt.n 8001c50 - 8001c2c: f000 fe7e bl 800292c - 8001c30: 9001 str r0, [sp, #4] - 8001c32: f000 fe85 bl 8002940 - 8001c36: 9000 str r0, [sp, #0] - 8001c38: f000 fe7c bl 8002934 - 8001c3c: e9dd 2100 ldrd r2, r1, [sp] - 8001c40: 4603 mov r3, r0 - 8001c42: 480d ldr r0, [pc, #52] ; (8001c78 ) - 8001c44: f7ff fb06 bl 8001254 - 8001c48: 4620 mov r0, r4 - 8001c4a: f7ff ff55 bl 8001af8 - 8001c4e: 7028 strb r0, [r5, #0] - 8001c50: 782b ldrb r3, [r5, #0] - 8001c52: b153 cbz r3, 8001c6a - 8001c54: 4909 ldr r1, [pc, #36] ; (8001c7c ) - 8001c56: 2320 movs r3, #32 - 8001c58: 2200 movs r2, #0 - 8001c5a: f851 0b04 ldr.w r0, [r1], #4 - 8001c5e: 3201 adds r2, #1 - 8001c60: 2a1c cmp r2, #28 - 8001c62: 4403 add r3, r0 - 8001c64: d1f9 bne.n 8001c5a - 8001c66: 4a06 ldr r2, [pc, #24] ; (8001c80 ) - 8001c68: 6013 str r3, [r2, #0] - 8001c6a: 4620 mov r0, r4 - 8001c6c: b003 add sp, #12 - 8001c6e: bd30 pop {r4, r5, pc} - 8001c70: 20001174 andcs r1, r0, r4, ror r1 - 8001c74: 20001168 andcs r1, r0, r8, ror #2 - 8001c78: 08006808 stmdaeq r0, {r3, fp, sp, lr} - 8001c7c: 08006858 stmdaeq r0, {r3, r4, r6, fp, sp, lr} - 8001c80: 2000116c andcs r1, r0, ip, ror #2 - -08001c84 : - 8001c84: b508 push {r3, lr} - 8001c86: f7ff ff29 bl 8001adc - 8001c8a: 4905 ldr r1, [pc, #20] ; (8001ca0 ) - 8001c8c: 1842 adds r2, r0, r1 - 8001c8e: 2300 movs r3, #0 - 8001c90: 540b strb r3, [r1, r0] - 8001c92: 7053 strb r3, [r2, #1] - 8001c94: 7093 strb r3, [r2, #2] - 8001c96: 70d3 strb r3, [r2, #3] - 8001c98: 4b02 ldr r3, [pc, #8] ; (8001ca4 ) - 8001c9a: 2201 movs r2, #1 - 8001c9c: 601a str r2, [r3, #0] - 8001c9e: bd08 pop {r3, pc} - 8001ca0: 20000164 andcs r0, r0, r4, ror #2 - 8001ca4: 20001170 andcs r1, r0, r0, ror r1 - -08001ca8 : - 8001ca8: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - 8001cac: 461c mov r4, r3 - 8001cae: 4b17 ldr r3, [pc, #92] ; (8001d0c ) - 8001cb0: 9e07 ldr r6, [sp, #28] - 8001cb2: 781f ldrb r7, [r3, #0] - 8001cb4: 4615 mov r5, r2 - 8001cb6: b1df cbz r7, 8001cf0 - 8001cb8: f7ff ff10 bl 8001adc - 8001cbc: 4a14 ldr r2, [pc, #80] ; (8001d10 ) - 8001cbe: 1941 adds r1, r0, r5 - 8001cc0: 1e63 subs r3, r4, #1 - 8001cc2: 9c06 ldr r4, [sp, #24] - 8001cc4: 4411 add r1, r2 - 8001cc6: 440c add r4, r1 - 8001cc8: f04f 0c00 mov.w ip, #0 - 8001ccc: 42a1 cmp r1, r4 - 8001cce: d111 bne.n 8001cf4 - 8001cd0: f1bc 0f00 cmp.w ip, #0 - 8001cd4: d00c beq.n 8001cf0 - 8001cd6: 4b0f ldr r3, [pc, #60] ; (8001d14 ) - 8001cd8: 6819 ldr r1, [r3, #0] - 8001cda: 2902 cmp r1, #2 - 8001cdc: d001 beq.n 8001ce2 - 8001cde: 2101 movs r1, #1 - 8001ce0: 6019 str r1, [r3, #0] - 8001ce2: b12d cbz r5, 8001cf0 - 8001ce4: b126 cbz r6, 8001cf0 - 8001ce6: 9b08 ldr r3, [sp, #32] - 8001ce8: 4403 add r3, r0 - 8001cea: 58d1 ldr r1, [r2, r3] - 8001cec: 4331 orrs r1, r6 - 8001cee: 50d1 str r1, [r2, r3] - 8001cf0: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} - 8001cf4: f891 8000 ldrb.w r8, [r1] - 8001cf8: f813 ef01 ldrb.w lr, [r3, #1]! - 8001cfc: 45f0 cmp r8, lr - 8001cfe: bf1c itt ne - 8001d00: f881 e000 strbne.w lr, [r1] - 8001d04: 46bc movne ip, r7 - 8001d06: 3101 adds r1, #1 - 8001d08: e7e0 b.n 8001ccc - 8001d0a: bf00 nop - 8001d0c: 20001168 andcs r1, r0, r8, ror #2 - 8001d10: 20000164 andcs r0, r0, r4, ror #2 - 8001d14: 20001170 andcs r1, r0, r0, ror r1 - -08001d18 : - 8001d18: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} - 8001d1c: 461d mov r5, r3 - 8001d1e: 4b15 ldr r3, [pc, #84] ; (8001d74 ) - 8001d20: b085 sub sp, #20 - 8001d22: 781b ldrb r3, [r3, #0] - 8001d24: f8dd 9030 ldr.w r9, [sp, #48] ; 0x30 - 8001d28: 4607 mov r7, r0 - 8001d2a: 4688 mov r8, r1 - 8001d2c: 4614 mov r4, r2 - 8001d2e: b1eb cbz r3, 8001d6c - 8001d30: f7ff fed4 bl 8001adc - 8001d34: 4910 ldr r1, [pc, #64] ; (8001d78 ) - 8001d36: 4a11 ldr r2, [pc, #68] ; (8001d7c ) - 8001d38: 7809 ldrb r1, [r1, #0] - 8001d3a: eb00 0609 add.w r6, r0, r9 - 8001d3e: 18b3 adds r3, r6, r2 - 8001d40: b951 cbnz r1, 8001d58 - 8001d42: 5992 ldr r2, [r2, r6] - 8001d44: b142 cbz r2, 8001d58 - 8001d46: 3c01 subs r4, #1 - 8001d48: 441d add r5, r3 - 8001d4a: 429d cmp r5, r3 - 8001d4c: d00e beq.n 8001d6c - 8001d4e: f813 2b01 ldrb.w r2, [r3], #1 - 8001d52: f804 2f01 strb.w r2, [r4, #1]! - 8001d56: e7f8 b.n 8001d4a - 8001d58: 2300 movs r3, #0 - 8001d5a: e9cd 3301 strd r3, r3, [sp, #4] - 8001d5e: 9500 str r5, [sp, #0] - 8001d60: 4623 mov r3, r4 - 8001d62: 464a mov r2, r9 - 8001d64: 4641 mov r1, r8 - 8001d66: 4638 mov r0, r7 - 8001d68: f7ff ff9e bl 8001ca8 - 8001d6c: b005 add sp, #20 - 8001d6e: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} - 8001d72: bf00 nop - 8001d74: 20001168 andcs r1, r0, r8, ror #2 - 8001d78: 20001178 andcs r1, r0, r8, ror r1 - 8001d7c: 20000164 andcs r0, r0, r4, ror #2 - -08001d80 : - 8001d80: b570 push {r4, r5, r6, lr} - 8001d82: 4e10 ldr r6, [pc, #64] ; (8001dc4 ) - 8001d84: 6834 ldr r4, [r6, #0] - 8001d86: b134 cbz r4, 8001d96 - 8001d88: 4b0f ldr r3, [pc, #60] ; (8001dc8 ) - 8001d8a: 681d ldr r5, [r3, #0] - 8001d8c: b92d cbnz r5, 8001d9a - 8001d8e: 480f ldr r0, [pc, #60] ; (8001dcc ) - 8001d90: f7ff fa60 bl 8001254 - 8001d94: 2400 movs r4, #0 - 8001d96: 4620 mov r0, r4 - 8001d98: bd70 pop {r4, r5, r6, pc} - 8001d9a: 2c01 cmp r4, #1 - 8001d9c: d00a beq.n 8001db4 - 8001d9e: 2c02 cmp r4, #2 - 8001da0: d1f8 bne.n 8001d94 - 8001da2: 4b0b ldr r3, [pc, #44] ; (8001dd0 ) - 8001da4: 4a0b ldr r2, [pc, #44] ; (8001dd4 ) - 8001da6: 6819 ldr r1, [r3, #0] - 8001da8: 4628 mov r0, r5 - 8001daa: 2400 movs r4, #0 - 8001dac: f000 fdd9 bl 8002962 - 8001db0: 6034 str r4, [r6, #0] - 8001db2: e7f0 b.n 8001d96 - 8001db4: f44f 5180 mov.w r1, #4096 ; 0x1000 - 8001db8: 4628 mov r0, r5 - 8001dba: f000 fdf5 bl 80029a8 - 8001dbe: 2302 movs r3, #2 - 8001dc0: 6033 str r3, [r6, #0] - 8001dc2: e7e8 b.n 8001d96 - 8001dc4: 20001170 andcs r1, r0, r0, ror r1 - 8001dc8: 20001164 andcs r1, r0, r4, ror #2 - 8001dcc: 08006838 stmdaeq r0, {r3, r4, r5, fp, sp, lr} - 8001dd0: 2000116c andcs r1, r0, ip, ror #2 - 8001dd4: 20000164 andcs r0, r0, r4, ror #2 - -08001dd8 : - 8001dd8: 4770 bx lr - -08001dda : - 8001dda: 3804 subs r0, #4 - 8001ddc: 4770 bx lr +08001ff0 : + 8001ff0: b51f push {r0, r1, r2, r3, r4, lr} + 8001ff2: 2200 movs r2, #0 + 8001ff4: e9cd 2201 strd r2, r2, [sp, #4] + 8001ff8: 460b mov r3, r1 + 8001ffa: 4805 ldr r0, [pc, #20] ; (8002010 ) + 8001ffc: 215e movs r1, #94 ; 0x5e + 8001ffe: 9100 str r1, [sp, #0] + 8002000: 6800 ldr r0, [r0, #0] + 8002002: 4611 mov r1, r2 + 8002004: f7ff ff28 bl 8001e58 + 8002008: b005 add sp, #20 + 800200a: f85d fb04 ldr.w pc, [sp], #4 + 800200e: bf00 nop + 8002010: 20000118 andcs r0, r0, r8, lsl r1 + +08002014 : + 8002014: b57f push {r0, r1, r2, r3, r4, r5, r6, lr} + 8002016: 2301 movs r3, #1 + 8002018: f88d 1017 strb.w r1, [sp, #23] + 800201c: 2100 movs r1, #0 + 800201e: e9cd 3101 strd r3, r1, [sp, #4] + 8002022: 4805 ldr r0, [pc, #20] ; (8002038 ) + 8002024: 9300 str r3, [sp, #0] + 8002026: 6800 ldr r0, [r0, #0] + 8002028: f10d 0317 add.w r3, sp, #23 + 800202c: 2214 movs r2, #20 + 800202e: f7ff ff13 bl 8001e58 + 8002032: b007 add sp, #28 + 8002034: f85d fb04 ldr.w pc, [sp], #4 + 8002038: 20000118 andcs r0, r0, r8, lsl r1 + +0800203c : + 800203c: f1a0 0004 sub.w r0, r0, #4 + 8002040: e7e8 b.n 8002014 + 8002042: bf00 nop + +08002044 : + 8002044: b57f push {r0, r1, r2, r3, r4, r5, r6, lr} + 8002046: 2308 movs r3, #8 + 8002048: 9105 str r1, [sp, #20] + 800204a: 2100 movs r1, #0 + 800204c: e9cd 3101 strd r3, r1, [sp, #4] + 8002050: 4805 ldr r0, [pc, #20] ; (8002068 ) + 8002052: 2304 movs r3, #4 + 8002054: 9300 str r3, [sp, #0] + 8002056: 6800 ldr r0, [r0, #0] + 8002058: ab05 add r3, sp, #20 + 800205a: 220c movs r2, #12 + 800205c: f7ff fefc bl 8001e58 + 8002060: b007 add sp, #28 + 8002062: f85d fb04 ldr.w pc, [sp], #4 + 8002066: bf00 nop + 8002068: 20000118 andcs r0, r0, r8, lsl r1 + +0800206c : + 800206c: f1a0 0004 sub.w r0, r0, #4 + 8002070: e7e8 b.n 8002044 + 8002072: bf00 nop + +08002074 : + 8002074: b57f push {r0, r1, r2, r3, r4, r5, r6, lr} + 8002076: 2304 movs r3, #4 + 8002078: 9105 str r1, [sp, #20] + 800207a: 2100 movs r1, #0 + 800207c: e9cd 3101 strd r3, r1, [sp, #4] + 8002080: 4804 ldr r0, [pc, #16] ; (8002094 ) + 8002082: 9300 str r3, [sp, #0] + 8002084: 6800 ldr r0, [r0, #0] + 8002086: ab05 add r3, sp, #20 + 8002088: 2208 movs r2, #8 + 800208a: f7ff fee5 bl 8001e58 + 800208e: b007 add sp, #28 + 8002090: f85d fb04 ldr.w pc, [sp], #4 + 8002094: 20000118 andcs r0, r0, r8, lsl r1 + +08002098 : + 8002098: f1a0 0004 sub.w r0, r0, #4 + 800209c: e7ea b.n 8002074 + 800209e: bf00 nop + +080020a0 : + 80020a0: b57f push {r0, r1, r2, r3, r4, r5, r6, lr} + 80020a2: 2302 movs r3, #2 + 80020a4: 9105 str r1, [sp, #20] + 80020a6: 2100 movs r1, #0 + 80020a8: e9cd 3101 strd r3, r1, [sp, #4] + 80020ac: 2204 movs r2, #4 + 80020ae: 4804 ldr r0, [pc, #16] ; (80020c0 ) + 80020b0: 9200 str r2, [sp, #0] + 80020b2: 6800 ldr r0, [r0, #0] + 80020b4: ab05 add r3, sp, #20 + 80020b6: f7ff fecf bl 8001e58 + 80020ba: b007 add sp, #28 + 80020bc: f85d fb04 ldr.w pc, [sp], #4 + 80020c0: 20000118 andcs r0, r0, r8, lsl r1 + +080020c4 : + 80020c4: f1a0 0004 sub.w r0, r0, #4 + 80020c8: e7ea b.n 80020a0 + 80020ca: bf00 nop + +080020cc : + 80020cc: b51f push {r0, r1, r2, r3, r4, lr} + 80020ce: 460b mov r3, r1 + 80020d0: 2000 movs r0, #0 + 80020d2: 2120 movs r1, #32 + 80020d4: e9cd 1001 strd r1, r0, [sp, #4] + 80020d8: 2a40 cmp r2, #64 ; 0x40 + 80020da: bf28 it cs + 80020dc: 2240 movcs r2, #64 ; 0x40 + 80020de: 4601 mov r1, r0 + 80020e0: 4804 ldr r0, [pc, #16] ; (80020f4 ) + 80020e2: 9200 str r2, [sp, #0] + 80020e4: 6800 ldr r0, [r0, #0] + 80020e6: 2215 movs r2, #21 + 80020e8: f7ff feb6 bl 8001e58 + 80020ec: b005 add sp, #20 + 80020ee: f85d fb04 ldr.w pc, [sp], #4 + 80020f2: bf00 nop + 80020f4: 20000118 andcs r0, r0, r8, lsl r1 + +080020f8 : + 80020f8: f1a0 0004 sub.w r0, r0, #4 + 80020fc: e7e6 b.n 80020cc + 80020fe: bf00 nop + +08002100 : + 8002100: b510 push {r4, lr} + 8002102: 4604 mov r4, r0 + 8002104: f001 fffe bl 8004104 + 8002108: 4620 mov r0, r4 + 800210a: bd10 pop {r4, pc} + +0800210c : + 800210c: f1a0 0004 sub.w r0, r0, #4 + 8002110: e7f6 b.n 8002100 ... -08001de0 : - 8001de0: b51f push {r0, r1, r2, r3, r4, lr} - 8001de2: 2200 movs r2, #0 - 8001de4: e9cd 2201 strd r2, r2, [sp, #4] - 8001de8: 460b mov r3, r1 - 8001dea: 4805 ldr r0, [pc, #20] ; (8001e00 ) - 8001dec: 215e movs r1, #94 ; 0x5e - 8001dee: 9100 str r1, [sp, #0] - 8001df0: 6800 ldr r0, [r0, #0] - 8001df2: 4611 mov r1, r2 - 8001df4: f7ff ff58 bl 8001ca8 - 8001df8: b005 add sp, #20 - 8001dfa: f85d fb04 ldr.w pc, [sp], #4 - 8001dfe: bf00 nop - 8001e00: 20001174 andcs r1, r0, r4, ror r1 - -08001e04 : - 8001e04: b57f push {r0, r1, r2, r3, r4, r5, r6, lr} - 8001e06: 2301 movs r3, #1 - 8001e08: f88d 1017 strb.w r1, [sp, #23] - 8001e0c: 2100 movs r1, #0 - 8001e0e: e9cd 3101 strd r3, r1, [sp, #4] - 8001e12: 4805 ldr r0, [pc, #20] ; (8001e28 ) - 8001e14: 9300 str r3, [sp, #0] - 8001e16: 6800 ldr r0, [r0, #0] - 8001e18: f10d 0317 add.w r3, sp, #23 - 8001e1c: 2214 movs r2, #20 - 8001e1e: f7ff ff43 bl 8001ca8 - 8001e22: b007 add sp, #28 - 8001e24: f85d fb04 ldr.w pc, [sp], #4 - 8001e28: 20001174 andcs r1, r0, r4, ror r1 - -08001e2c : - 8001e2c: f1a0 0004 sub.w r0, r0, #4 - 8001e30: e7e8 b.n 8001e04 - 8001e32: bf00 nop - -08001e34 : - 8001e34: b57f push {r0, r1, r2, r3, r4, r5, r6, lr} - 8001e36: 2308 movs r3, #8 - 8001e38: 9105 str r1, [sp, #20] - 8001e3a: 2100 movs r1, #0 - 8001e3c: e9cd 3101 strd r3, r1, [sp, #4] - 8001e40: 4805 ldr r0, [pc, #20] ; (8001e58 ) - 8001e42: 2304 movs r3, #4 - 8001e44: 9300 str r3, [sp, #0] - 8001e46: 6800 ldr r0, [r0, #0] - 8001e48: ab05 add r3, sp, #20 - 8001e4a: 220c movs r2, #12 - 8001e4c: f7ff ff2c bl 8001ca8 - 8001e50: b007 add sp, #28 - 8001e52: f85d fb04 ldr.w pc, [sp], #4 - 8001e56: bf00 nop - 8001e58: 20001174 andcs r1, r0, r4, ror r1 - -08001e5c : - 8001e5c: f1a0 0004 sub.w r0, r0, #4 - 8001e60: e7e8 b.n 8001e34 - 8001e62: bf00 nop - -08001e64 : - 8001e64: b57f push {r0, r1, r2, r3, r4, r5, r6, lr} - 8001e66: 2304 movs r3, #4 - 8001e68: 9105 str r1, [sp, #20] - 8001e6a: 2100 movs r1, #0 - 8001e6c: e9cd 3101 strd r3, r1, [sp, #4] - 8001e70: 4804 ldr r0, [pc, #16] ; (8001e84 ) - 8001e72: 9300 str r3, [sp, #0] - 8001e74: 6800 ldr r0, [r0, #0] - 8001e76: ab05 add r3, sp, #20 - 8001e78: 2208 movs r2, #8 - 8001e7a: f7ff ff15 bl 8001ca8 - 8001e7e: b007 add sp, #28 - 8001e80: f85d fb04 ldr.w pc, [sp], #4 - 8001e84: 20001174 andcs r1, r0, r4, ror r1 - -08001e88 : - 8001e88: f1a0 0004 sub.w r0, r0, #4 - 8001e8c: e7ea b.n 8001e64 - 8001e8e: bf00 nop - -08001e90 : - 8001e90: b57f push {r0, r1, r2, r3, r4, r5, r6, lr} - 8001e92: 2302 movs r3, #2 - 8001e94: 9105 str r1, [sp, #20] - 8001e96: 2100 movs r1, #0 - 8001e98: e9cd 3101 strd r3, r1, [sp, #4] - 8001e9c: 2204 movs r2, #4 - 8001e9e: 4804 ldr r0, [pc, #16] ; (8001eb0 ) - 8001ea0: 9200 str r2, [sp, #0] - 8001ea2: 6800 ldr r0, [r0, #0] - 8001ea4: ab05 add r3, sp, #20 - 8001ea6: f7ff feff bl 8001ca8 - 8001eaa: b007 add sp, #28 - 8001eac: f85d fb04 ldr.w pc, [sp], #4 - 8001eb0: 20001174 andcs r1, r0, r4, ror r1 - -08001eb4 : - 8001eb4: f1a0 0004 sub.w r0, r0, #4 - 8001eb8: e7ea b.n 8001e90 - 8001eba: bf00 nop - -08001ebc : - 8001ebc: b51f push {r0, r1, r2, r3, r4, lr} - 8001ebe: 460b mov r3, r1 - 8001ec0: 2000 movs r0, #0 - 8001ec2: 2120 movs r1, #32 - 8001ec4: e9cd 1001 strd r1, r0, [sp, #4] - 8001ec8: 2a40 cmp r2, #64 ; 0x40 - 8001eca: bf28 it cs - 8001ecc: 2240 movcs r2, #64 ; 0x40 - 8001ece: 4601 mov r1, r0 - 8001ed0: 4804 ldr r0, [pc, #16] ; (8001ee4 ) - 8001ed2: 9200 str r2, [sp, #0] - 8001ed4: 6800 ldr r0, [r0, #0] - 8001ed6: 2215 movs r2, #21 - 8001ed8: f7ff fee6 bl 8001ca8 - 8001edc: b005 add sp, #20 - 8001ede: f85d fb04 ldr.w pc, [sp], #4 - 8001ee2: bf00 nop - 8001ee4: 20001174 andcs r1, r0, r4, ror r1 - -08001ee8 : - 8001ee8: f1a0 0004 sub.w r0, r0, #4 - 8001eec: e7e6 b.n 8001ebc - 8001eee: bf00 nop - -08001ef0 : - 8001ef0: b510 push {r4, lr} - 8001ef2: 4604 mov r4, r0 - 8001ef4: f002 f94a bl 800418c - 8001ef8: 4620 mov r0, r4 - 8001efa: bd10 pop {r4, pc} - -08001efc : - 8001efc: f1a0 0004 sub.w r0, r0, #4 - 8001f00: e7f6 b.n 8001ef0 +08002114 : + 8002114: b507 push {r0, r1, r2, lr} + 8002116: 2301 movs r3, #1 + 8002118: 460a mov r2, r1 + 800211a: 2100 movs r1, #0 + 800211c: e9cd 1300 strd r1, r3, [sp] + 8002120: 4803 ldr r0, [pc, #12] ; (8002130 ) + 8002122: 235e movs r3, #94 ; 0x5e + 8002124: 6800 ldr r0, [r0, #0] + 8002126: f7ff fed7 bl 8001ed8 + 800212a: b003 add sp, #12 + 800212c: f85d fb04 ldr.w pc, [sp], #4 + 8002130: 20000118 andcs r0, r0, r8, lsl r1 + +08002134 : + 8002134: 4a03 ldr r2, [pc, #12] ; (8002144 ) + 8002136: 6002 str r2, [r0, #0] + 8002138: 322c adds r2, #44 ; 0x2c + 800213a: 6042 str r2, [r0, #4] + 800213c: 4a02 ldr r2, [pc, #8] ; (8002148 ) + 800213e: 6010 str r0, [r2, #0] + 8002140: 4770 bx lr + 8002142: bf00 nop + 8002144: 08006834 stmdaeq r0, {r2, r4, r5, fp, sp, lr} + 8002148: 20000120 andcs r0, r0, r0, lsr #2 + +0800214c : + 800214c: 4770 bx lr ... -08001f04 : - 8001f04: b507 push {r0, r1, r2, lr} - 8001f06: 460a mov r2, r1 - 8001f08: 4804 ldr r0, [pc, #16] ; (8001f1c ) - 8001f0a: 2100 movs r1, #0 - 8001f0c: 9100 str r1, [sp, #0] - 8001f0e: 6800 ldr r0, [r0, #0] - 8001f10: 235e movs r3, #94 ; 0x5e - 8001f12: f7ff ff01 bl 8001d18 - 8001f16: b003 add sp, #12 - 8001f18: f85d fb04 ldr.w pc, [sp], #4 - 8001f1c: 20001174 andcs r1, r0, r4, ror r1 - -08001f20 : - 8001f20: 4a03 ldr r2, [pc, #12] ; (8001f30 ) - 8001f22: 6002 str r2, [r0, #0] - 8001f24: 322c adds r2, #44 ; 0x2c - 8001f26: 6042 str r2, [r0, #4] - 8001f28: 4a02 ldr r2, [pc, #8] ; (8001f34 ) - 8001f2a: 6010 str r0, [r2, #0] - 8001f2c: 4770 bx lr - 8001f2e: bf00 nop - 8001f30: 080068d0 stmdaeq r0, {r4, r6, r7, fp, sp, lr} - 8001f34: 2000117c andcs r1, r0, ip, ror r1 - -08001f38 : - 8001f38: 4770 bx lr +08002150 : + 8002150: b507 push {r0, r1, r2, lr} + 8002152: 2300 movs r3, #0 + 8002154: 460a mov r2, r1 + 8002156: 2101 movs r1, #1 + 8002158: e9cd 3100 strd r3, r1, [sp] + 800215c: 4804 ldr r0, [pc, #16] ; (8002170 ) + 800215e: 2320 movs r3, #32 + 8002160: 6800 ldr r0, [r0, #0] + 8002162: 210c movs r1, #12 + 8002164: f7ff feb8 bl 8001ed8 + 8002168: b003 add sp, #12 + 800216a: f85d fb04 ldr.w pc, [sp], #4 + 800216e: bf00 nop + 8002170: 20000118 andcs r0, r0, r8, lsl r1 + +08002174 : + 8002174: b51f push {r0, r1, r2, r3, r4, lr} + 8002176: 2200 movs r2, #0 + 8002178: e9cd 2201 strd r2, r2, [sp, #4] + 800217c: 460b mov r3, r1 + 800217e: 4805 ldr r0, [pc, #20] ; (8002194 ) + 8002180: 2120 movs r1, #32 + 8002182: 9100 str r1, [sp, #0] + 8002184: 6800 ldr r0, [r0, #0] + 8002186: 210c movs r1, #12 + 8002188: f7ff fe66 bl 8001e58 + 800218c: b005 add sp, #20 + 800218e: f85d fb04 ldr.w pc, [sp], #4 + 8002192: bf00 nop + 8002194: 20000118 andcs r0, r0, r8, lsl r1 + +08002198 : + 8002198: b510 push {r4, lr} + 800219a: 4604 mov r4, r0 + 800219c: f001 ffb2 bl 8004104 + 80021a0: 4620 mov r0, r4 + 80021a2: bd10 pop {r4, pc} + +080021a4 : + 80021a4: 4a02 ldr r2, [pc, #8] ; (80021b0 ) + 80021a6: 6002 str r2, [r0, #0] + 80021a8: 4a02 ldr r2, [pc, #8] ; (80021b4 ) + 80021aa: 6010 str r0, [r2, #0] + 80021ac: 4770 bx lr + 80021ae: bf00 nop + 80021b0: 08006884 stmdaeq r0, {r2, r7, fp, sp, lr} + 80021b4: 20000124 andcs r0, r0, r4, lsr #2 + +080021b8 : + 80021b8: b510 push {r4, lr} + 80021ba: 4604 mov r4, r0 + 80021bc: 7800 ldrb r0, [r0, #0] + 80021be: f003 fae9 bl 8005794 + 80021c2: 6860 ldr r0, [r4, #4] + 80021c4: e8bd 4010 ldmia.w sp!, {r4, lr} + 80021c8: f003 badc b.w 8005784 + +080021cc : + 80021cc: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 80021d0: b08d sub sp, #52 ; 0x34 + 80021d2: 4606 mov r6, r0 + 80021d4: 9301 str r3, [sp, #4] + 80021d6: 7a03 ldrb r3, [r0, #8] + 80021d8: 460c mov r4, r1 + 80021da: 4617 mov r7, r2 + 80021dc: 2b00 cmp r3, #0 + 80021de: d13c bne.n 800225a + 80021e0: b00d add sp, #52 ; 0x34 + 80021e2: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 80021e6: 2101 movs r1, #1 + 80021e8: 4640 mov r0, r8 + 80021ea: f003 fb3f bl 800586c + 80021ee: 2800 cmp r0, #0 + 80021f0: d1f9 bne.n 80021e6 + 80021f2: 7a73 ldrb r3, [r6, #9] + 80021f4: f8cd 9008 str.w r9, [sp, #8] + 80021f8: 2d1d cmp r5, #29 + 80021fa: bf8c ite hi + 80021fc: a902 addhi r1, sp, #8 + 80021fe: a901 addls r1, sp, #4 + 8002200: fbb4 f2f3 udiv r2, r4, r3 + 8002204: fb03 4212 mls r2, r3, r2, r4 + 8002208: 1a9b subs r3, r3, r2 + 800220a: 680a ldr r2, [r1, #0] + 800220c: 9303 str r3, [sp, #12] + 800220e: 4293 cmp r3, r2 + 8002210: bf98 it ls + 8002212: 4641 movls r1, r8 + 8002214: ba63 rev16 r3, r4 + 8002216: f8d1 a000 ldr.w sl, [r1] + 800221a: f8ad 3010 strh.w r3, [sp, #16] + 800221e: eb07 030b add.w r3, r7, fp + 8002222: f10d 0211 add.w r2, sp, #17 + 8002226: eb03 010a add.w r1, r3, sl + 800222a: 428b cmp r3, r1 + 800222c: d110 bne.n 8002250 + 800222e: 4630 mov r0, r6 + 8002230: f7ff ffc2 bl 80021b8 + 8002234: eba5 050a sub.w r5, r5, sl + 8002238: f10a 0102 add.w r1, sl, #2 + 800223c: a804 add r0, sp, #16 + 800223e: f003 faaf bl 80057a0 + 8002242: 4454 add r4, sl + 8002244: 9501 str r5, [sp, #4] + 8002246: 44d3 add fp, sl + 8002248: 9d01 ldr r5, [sp, #4] + 800224a: 2d00 cmp r5, #0 + 800224c: d1cb bne.n 80021e6 + 800224e: e7c7 b.n 80021e0 + 8002250: f813 0b01 ldrb.w r0, [r3], #1 + 8002254: f802 0f01 strb.w r0, [r2, #1]! + 8002258: e7e7 b.n 800222a + 800225a: f04f 0b00 mov.w fp, #0 + 800225e: f10d 080c add.w r8, sp, #12 + 8002262: f04f 091e mov.w r9, #30 + 8002266: e7ef b.n 8002248 + +08002268 : + 8002268: b537 push {r0, r1, r2, r4, r5, lr} + 800226a: 4604 mov r4, r0 + 800226c: f44f 5300 mov.w r3, #8192 ; 0x2000 + 8002270: 2050 movs r0, #80 ; 0x50 + 8002272: 4d11 ldr r5, [pc, #68] ; (80022b8 ) + 8002274: 8123 strh r3, [r4, #8] + 8002276: 7020 strb r0, [r4, #0] + 8002278: 6065 str r5, [r4, #4] + 800227a: f003 fa8b bl 8005794 + 800227e: 4628 mov r0, r5 + 8002280: f003 fa80 bl 8005784 + 8002284: 2101 movs r1, #1 + 8002286: f10d 0007 add.w r0, sp, #7 + 800228a: f003 faef bl 800586c + 800228e: 2800 cmp r0, #0 + 8002290: bf0c ite eq + 8002292: 2301 moveq r3, #1 + 8002294: 2300 movne r3, #0 + 8002296: 7223 strb r3, [r4, #8] + 8002298: 72a3 strb r3, [r4, #10] + 800229a: d006 beq.n 80022aa + 800229c: 7821 ldrb r1, [r4, #0] + 800229e: 4807 ldr r0, [pc, #28] ; (80022bc ) + 80022a0: f7fe fe8c bl 8000fbc + 80022a4: 4620 mov r0, r4 + 80022a6: b003 add sp, #12 + 80022a8: bd30 pop {r4, r5, pc} + 80022aa: 2204 movs r2, #4 + 80022ac: f44f 5180 mov.w r1, #4096 ; 0x1000 + 80022b0: 4803 ldr r0, [pc, #12] ; (80022c0 ) + 80022b2: f7fe fe83 bl 8000fbc + 80022b6: e7f5 b.n 80022a4 + 80022b8: 00061a80 andeq r1, r6, r0, lsl #21 + 80022bc: 08006894 stmdaeq r0, {r2, r4, r7, fp, sp, lr} + 80022c0: 080068b3 stmdaeq r0, {r0, r1, r4, r5, r7, fp, sp, lr} + +080022c4 : + 80022c4: f44f 5080 mov.w r0, #4096 ; 0x1000 + 80022c8: 4770 bx lr + +080022ca : + 80022ca: f44f 5080 mov.w r0, #4096 ; 0x1000 + 80022ce: 4770 bx lr + +080022d0 : + 80022d0: b5f7 push {r0, r1, r2, r4, r5, r6, r7, lr} + 80022d2: 461e mov r6, r3 + 80022d4: 7a03 ldrb r3, [r0, #8] + 80022d6: 4604 mov r4, r0 + 80022d8: 460d mov r5, r1 + 80022da: 4617 mov r7, r2 + 80022dc: b1b3 cbz r3, 800230c + 80022de: 2101 movs r1, #1 + 80022e0: a801 add r0, sp, #4 + 80022e2: f003 fac3 bl 800586c + 80022e6: 2800 cmp r0, #0 + 80022e8: d1f9 bne.n 80022de + 80022ea: 4620 mov r0, r4 + 80022ec: ba6d rev16 r5, r5 + 80022ee: f8ad 5004 strh.w r5, [sp, #4] + 80022f2: f7ff ff61 bl 80021b8 + 80022f6: 2102 movs r1, #2 + 80022f8: a801 add r0, sp, #4 + 80022fa: f003 fa51 bl 80057a0 + 80022fe: 4620 mov r0, r4 + 8002300: f7ff ff5a bl 80021b8 + 8002304: 4639 mov r1, r7 + 8002306: 4630 mov r0, r6 + 8002308: f003 fab0 bl 800586c + 800230c: 9b08 ldr r3, [sp, #32] + 800230e: 2200 movs r2, #0 + 8002310: 2001 movs r0, #1 + 8002312: 601a str r2, [r3, #0] + 8002314: b003 add sp, #12 + 8002316: bdf0 pop {r4, r5, r6, r7, pc} + +08002318 : + 8002318: 2200 movs r2, #0 + 800231a: 601a str r2, [r3, #0] + 800231c: 2001 movs r0, #1 + 800231e: 4770 bx lr + +08002320 : + 8002320: b510 push {r4, lr} + 8002322: 4614 mov r4, r2 + 8002324: 461a mov r2, r3 + 8002326: 4623 mov r3, r4 + 8002328: f7ff ff50 bl 80021cc + 800232c: 9b02 ldr r3, [sp, #8] + 800232e: 2200 movs r2, #0 + 8002330: 601a str r2, [r3, #0] + 8002332: 2001 movs r0, #1 + 8002334: bd10 pop {r4, pc} ... -08001f3c : - 8001f3c: b507 push {r0, r1, r2, lr} - 8001f3e: 2300 movs r3, #0 - 8001f40: 4805 ldr r0, [pc, #20] ; (8001f58 ) - 8001f42: 9300 str r3, [sp, #0] - 8001f44: 460a mov r2, r1 - 8001f46: 6800 ldr r0, [r0, #0] - 8001f48: 2320 movs r3, #32 - 8001f4a: 210c movs r1, #12 - 8001f4c: f7ff fee4 bl 8001d18 - 8001f50: b003 add sp, #12 - 8001f52: f85d fb04 ldr.w pc, [sp], #4 - 8001f56: bf00 nop - 8001f58: 20001174 andcs r1, r0, r4, ror r1 - -08001f5c : - 8001f5c: b51f push {r0, r1, r2, r3, r4, lr} - 8001f5e: 2200 movs r2, #0 - 8001f60: e9cd 2201 strd r2, r2, [sp, #4] - 8001f64: 460b mov r3, r1 - 8001f66: 4805 ldr r0, [pc, #20] ; (8001f7c ) - 8001f68: 2120 movs r1, #32 - 8001f6a: 9100 str r1, [sp, #0] - 8001f6c: 6800 ldr r0, [r0, #0] - 8001f6e: 210c movs r1, #12 - 8001f70: f7ff fe9a bl 8001ca8 - 8001f74: b005 add sp, #20 - 8001f76: f85d fb04 ldr.w pc, [sp], #4 - 8001f7a: bf00 nop - 8001f7c: 20001174 andcs r1, r0, r4, ror r1 - -08001f80 : - 8001f80: b510 push {r4, lr} - 8001f82: 4604 mov r4, r0 - 8001f84: f002 f902 bl 800418c - 8001f88: 4620 mov r0, r4 - 8001f8a: bd10 pop {r4, pc} - -08001f8c : - 8001f8c: 4a02 ldr r2, [pc, #8] ; (8001f98 ) - 8001f8e: 6002 str r2, [r0, #0] - 8001f90: 4a02 ldr r2, [pc, #8] ; (8001f9c ) - 8001f92: 6010 str r0, [r2, #0] - 8001f94: 4770 bx lr - 8001f96: bf00 nop - 8001f98: 08006920 stmdaeq r0, {r5, r8, fp, sp, lr} - 8001f9c: 20001180 andcs r1, r0, r0, lsl #3 - -08001fa0 : - 8001fa0: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} - 8001fa4: 6801 ldr r1, [r0, #0] - 8001fa6: 4a2b ldr r2, [pc, #172] ; (8002054 ) - 8001fa8: 4b2b ldr r3, [pc, #172] ; (8002058 ) - 8001faa: 4e2c ldr r6, [pc, #176] ; (800205c ) - 8001fac: 681b ldr r3, [r3, #0] - 8001fae: 6835 ldr r5, [r6, #0] - 8001fb0: 695f ldr r7, [r3, #20] - 8001fb2: 4604 mov r4, r0 - 8001fb4: 2012 movs r0, #18 - 8001fb6: fb00 2201 mla r2, r0, r1, r2 - 8001fba: 6860 ldr r0, [r4, #4] - 8001fbc: 4928 ldr r1, [pc, #160] ; (8002060 ) - 8001fbe: f04f 080c mov.w r8, #12 - 8001fc2: fb08 1100 mla r1, r8, r0, r1 - 8001fc6: 4827 ldr r0, [pc, #156] ; (8002064 ) - 8001fc8: f8d4 8008 ldr.w r8, [r4, #8] - 8001fcc: f890 9009 ldrb.w r9, [r0, #9] - 8001fd0: b2fb uxtb r3, r7 - 8001fd2: f3c7 2c07 ubfx ip, r7, #8, #8 - 8001fd6: f3c7 4e07 ubfx lr, r7, #16, #8 - 8001fda: b089 sub sp, #36 ; 0x24 - 8001fdc: 3507 adds r5, #7 - 8001fde: 0e3f lsrs r7, r7, #24 - 8001fe0: f1b9 0f00 cmp.w r9, #0 - 8001fe4: d01d beq.n 8002022 - 8001fe6: 3009 adds r0, #9 - 8001fe8: e9cd 2103 strd r2, r1, [sp, #12] - 8001fec: e9cd 8005 strd r8, r0, [sp, #20] - 8001ff0: e9cd e701 strd lr, r7, [sp, #4] - 8001ff4: 4a1c ldr r2, [pc, #112] ; (8002068 ) - 8001ff6: f8cd c000 str.w ip, [sp] - 8001ffa: f44f 717e mov.w r1, #1016 ; 0x3f8 - 8001ffe: 4628 mov r0, r5 - 8002000: f7ff f938 bl 8001274 - 8002004: 8ba3 ldrh r3, [r4, #28] - 8002006: 2b05 cmp r3, #5 - 8002008: d118 bne.n 800203c - 800200a: f642 1305 movw r3, #10501 ; 0x2905 - 800200e: 9300 str r3, [sp, #0] - 8002010: 69a3 ldr r3, [r4, #24] - 8002012: b282 uxth r2, r0 - 8002014: 4629 mov r1, r5 - 8002016: 7d20 ldrb r0, [r4, #20] - 8002018: f000 fea8 bl 8002d6c - 800201c: b009 add sp, #36 ; 0x24 - 800201e: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} - 8002022: e9cd 1804 strd r1, r8, [sp, #16] - 8002026: e9cd 7202 strd r7, r2, [sp, #8] - 800202a: e9cd ce00 strd ip, lr, [sp] - 800202e: 4a0f ldr r2, [pc, #60] ; (800206c ) - 8002030: f44f 717e mov.w r1, #1016 ; 0x3f8 - 8002034: 4628 mov r0, r5 - 8002036: f7ff f91d bl 8001274 - 800203a: e7e3 b.n 8002004 - 800203c: 2b06 cmp r3, #6 - 800203e: d1ed bne.n 800201c - 8002040: 6833 ldr r3, [r6, #0] - 8002042: 799b ldrb r3, [r3, #6] - 8002044: 2b2a cmp r3, #42 ; 0x2a - 8002046: d1e9 bne.n 800201c - 8002048: f642 1305 movw r3, #10501 ; 0x2905 - 800204c: 9300 str r3, [sp, #0] - 800204e: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 8002052: e7de b.n 8002012 - 8002054: 08006a0c stmdaeq r0, {r2, r3, r9, fp, sp, lr} - 8002058: 20002f10 andcs r2, r0, r0, lsl pc - 800205c: 20001184 andcs r1, r0, r4, lsl #3 - 8002060: 08006ac0 stmdaeq r0, {r6, r7, r9, fp, sp, lr} - 8002064: 20001188 andcs r1, r0, r8, lsl #3 - 8002068: 08006930 stmdaeq r0, {r4, r5, r8, fp, sp, lr} - 800206c: 08006949 stmdaeq r0, {r0, r3, r6, r8, fp, sp, lr} - -08002070 : - 8002070: 8b83 ldrh r3, [r0, #28] - 8002072: 2b05 cmp r3, #5 - 8002074: d11a bne.n 80020ac - 8002076: b537 push {r0, r1, r2, r4, r5, lr} - 8002078: 4b0d ldr r3, [pc, #52] ; (80020b0 ) - 800207a: f890 102c ldrb.w r1, [r0, #44] ; 0x2c - 800207e: 4d0d ldr r5, [pc, #52] ; (80020b4 ) - 8002080: 4a0d ldr r2, [pc, #52] ; (80020b8 ) - 8002082: 4604 mov r4, r0 - 8002084: 2900 cmp r1, #0 - 8002086: bf08 it eq - 8002088: 4613 moveq r3, r2 - 800208a: 6828 ldr r0, [r5, #0] - 800208c: 4a0b ldr r2, [pc, #44] ; (80020bc ) - 800208e: f240 31ff movw r1, #1023 ; 0x3ff - 8002092: f7ff f8ef bl 8001274 - 8002096: f642 1305 movw r3, #10501 ; 0x2905 - 800209a: 9300 str r3, [sp, #0] - 800209c: b282 uxth r2, r0 - 800209e: 69a3 ldr r3, [r4, #24] - 80020a0: 6829 ldr r1, [r5, #0] - 80020a2: 7d20 ldrb r0, [r4, #20] - 80020a4: f000 fe62 bl 8002d6c - 80020a8: b003 add sp, #12 - 80020aa: bd30 pop {r4, r5, pc} - 80020ac: 4770 bx lr - 80020ae: bf00 nop - 80020b0: 08006998 stmdaeq r0, {r3, r4, r7, r8, fp, sp, lr} - 80020b4: 20001184 andcs r1, r0, r4, lsl #3 - 80020b8: 080069bf stmdaeq r0, {r0, r1, r2, r3, r4, r5, r7, r8, fp, sp, lr} - 80020bc: 0800695f stmdaeq r0, {r0, r1, r2, r3, r4, r6, r8, fp, sp, lr} - -080020c0 : - 80020c0: 8b83 ldrh r3, [r0, #28] - 80020c2: 2b08 cmp r3, #8 - 80020c4: d114 bne.n 80020f0 - 80020c6: b537 push {r0, r1, r2, r4, r5, lr} - 80020c8: 4d0a ldr r5, [pc, #40] ; (80020f4 ) - 80020ca: 4b0b ldr r3, [pc, #44] ; (80020f8 ) - 80020cc: 4a0b ldr r2, [pc, #44] ; (80020fc ) - 80020ce: 4604 mov r4, r0 - 80020d0: f240 31ff movw r1, #1023 ; 0x3ff - 80020d4: 6828 ldr r0, [r5, #0] - 80020d6: f7ff f8cd bl 8001274 - 80020da: f642 1305 movw r3, #10501 ; 0x2905 - 80020de: 9300 str r3, [sp, #0] - 80020e0: b282 uxth r2, r0 - 80020e2: 69a3 ldr r3, [r4, #24] - 80020e4: 6829 ldr r1, [r5, #0] - 80020e6: 7d20 ldrb r0, [r4, #20] - 80020e8: f000 fe40 bl 8002d6c - 80020ec: b003 add sp, #12 - 80020ee: bd30 pop {r4, r5, pc} - 80020f0: 4770 bx lr - 80020f2: bf00 nop - 80020f4: 20001184 andcs r1, r0, r4, lsl #3 - 80020f8: 200031e2 andcs r3, r0, r2, ror #3 - 80020fc: 08006968 stmdaeq r0, {r3, r5, r6, r8, fp, sp, lr} - -08002100 : - 8002100: 7bc3 ldrb r3, [r0, #15] - 8002102: b1e3 cbz r3, 800213e - 8002104: 4b0e ldr r3, [pc, #56] ; (8002140 ) - 8002106: b537 push {r0, r1, r2, r4, r5, lr} - 8002108: 681a ldr r2, [r3, #0] - 800210a: 8b83 ldrh r3, [r0, #28] - 800210c: 2b07 cmp r3, #7 - 800210e: 4604 mov r4, r0 - 8002110: d113 bne.n 800213a - 8002112: 4d0c ldr r5, [pc, #48] ; (8002144 ) - 8002114: f240 31ff movw r1, #1023 ; 0x3ff - 8002118: 6828 ldr r0, [r5, #0] - 800211a: f44f 737a mov.w r3, #1000 ; 0x3e8 - 800211e: fbb2 f3f3 udiv r3, r2, r3 - 8002122: 4a09 ldr r2, [pc, #36] ; (8002148 ) - 8002124: f7ff f8a6 bl 8001274 - 8002128: f642 1305 movw r3, #10501 ; 0x2905 - 800212c: 9300 str r3, [sp, #0] - 800212e: b282 uxth r2, r0 - 8002130: 69a3 ldr r3, [r4, #24] - 8002132: 6829 ldr r1, [r5, #0] - 8002134: 7d20 ldrb r0, [r4, #20] - 8002136: f000 fe19 bl 8002d6c - 800213a: b003 add sp, #12 - 800213c: bd30 pop {r4, r5, pc} - 800213e: 4770 bx lr - 8002140: 2000323c andcs r3, r0, ip, lsr r2 - 8002144: 20001184 andcs r1, r0, r4, lsl #3 - 8002148: 08006973 stmdaeq r0, {r0, r1, r4, r5, r6, r8, fp, sp, lr} - -0800214c : - 800214c: e92d 41f3 stmdb sp!, {r0, r1, r4, r5, r6, r7, r8, lr} - 8002150: 4604 mov r4, r0 - 8002152: 6980 ldr r0, [r0, #24] - 8002154: 2800 cmp r0, #0 - 8002156: d033 beq.n 80021c0 - 8002158: 7946 ldrb r6, [r0, #5] - 800215a: 6803 ldr r3, [r0, #0] - 800215c: f890 8004 ldrb.w r8, [r0, #4] - 8002160: 6a1b ldr r3, [r3, #32] - 8002162: 1e72 subs r2, r6, #1 - 8002164: b2d2 uxtb r2, r2 - 8002166: 9201 str r2, [sp, #4] - 8002168: 460d mov r5, r1 - 800216a: 2100 movs r1, #0 - 800216c: 4798 blx r3 - 800216e: 9a01 ldr r2, [sp, #4] - 8002170: 2700 movs r7, #0 - 8002172: f108 38ff add.w r8, r8, #4294967295 ; 0xffffffff - 8002176: 45b8 cmp r8, r7 - 8002178: 69a0 ldr r0, [r4, #24] - 800217a: d818 bhi.n 80021ae - 800217c: b118 cbz r0, 8002186 - 800217e: 6803 ldr r3, [r0, #0] - 8002180: 2100 movs r1, #0 - 8002182: 6a1b ldr r3, [r3, #32] - 8002184: 4798 blx r3 - 8002186: 69a0 ldr r0, [r4, #24] - 8002188: b1d0 cbz r0, 80021c0 - 800218a: 7901 ldrb r1, [r0, #4] - 800218c: 2300 movs r3, #0 - 800218e: 5cea ldrb r2, [r5, r3] - 8002190: b11a cbz r2, 800219a - 8002192: 1c5a adds r2, r3, #1 - 8002194: 4299 cmp r1, r3 - 8002196: 4613 mov r3, r2 - 8002198: dcf9 bgt.n 800218e - 800219a: 6802 ldr r2, [r0, #0] - 800219c: 69d4 ldr r4, [r2, #28] - 800219e: b2db uxtb r3, r3 - 80021a0: 462a mov r2, r5 - 80021a2: 4631 mov r1, r6 - 80021a4: 46a4 mov ip, r4 - 80021a6: b002 add sp, #8 - 80021a8: e8bd 41f0 ldmia.w sp!, {r4, r5, r6, r7, r8, lr} - 80021ac: 4760 bx ip - 80021ae: b128 cbz r0, 80021bc - 80021b0: 6803 ldr r3, [r0, #0] - 80021b2: 9201 str r2, [sp, #4] - 80021b4: 695b ldr r3, [r3, #20] - 80021b6: 2120 movs r1, #32 - 80021b8: 4798 blx r3 - 80021ba: 9a01 ldr r2, [sp, #4] - 80021bc: 3701 adds r7, #1 - 80021be: e7da b.n 8002176 - 80021c0: b002 add sp, #8 - 80021c2: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} - -080021c6 : - 80021c6: b5f7 push {r0, r1, r2, r4, r5, r6, r7, lr} - 80021c8: 4605 mov r5, r0 - 80021ca: 461e mov r6, r3 - 80021cc: 460f mov r7, r1 - 80021ce: 4614 mov r4, r2 - 80021d0: f7ff ffbc bl 800214c - 80021d4: 7c6b ldrb r3, [r5, #17] - 80021d6: b19b cbz r3, 8002200 - 80021d8: 43e2 mvns r2, r4 - 80021da: 2312 movs r3, #18 - 80021dc: 7a28 ldrb r0, [r5, #8] - 80021de: f88d 3004 strb.w r3, [sp, #4] - 80021e2: f3c2 2307 ubfx r3, r2, #8, #8 - 80021e6: f88d 3005 strb.w r3, [sp, #5] - 80021ea: f88d 2006 strb.w r2, [sp, #6] - 80021ee: f002 ff1d bl 800502c - 80021f2: 68e8 ldr r0, [r5, #12] - 80021f4: f002 ff12 bl 800501c - 80021f8: 2103 movs r1, #3 - 80021fa: a801 add r0, sp, #4 - 80021fc: f002 ff1c bl 8005038 - 8002200: 1c73 adds r3, r6, #1 - 8002202: d006 beq.n 8002212 - 8002204: 4639 mov r1, r7 - 8002206: 4630 mov r0, r6 - 8002208: b003 add sp, #12 - 800220a: e8bd 40f0 ldmia.w sp!, {r4, r5, r6, r7, lr} - 800220e: f001 be55 b.w 8003ebc - 8002212: b003 add sp, #12 - 8002214: bdf0 pop {r4, r5, r6, r7, pc} +08002338 : + 8002338: b910 cbnz r0, 8002340 + 800233a: 4803 ldr r0, [pc, #12] ; (8002348 ) + 800233c: f001 bf92 b.w 8004264 + 8002340: 6803 ldr r3, [r0, #0] + 8002342: 6b5b ldr r3, [r3, #52] ; 0x34 + 8002344: 4718 bx r3 + 8002346: bf00 nop + 8002348: 080068ee stmdaeq r0, {r1, r2, r3, r5, r6, r7, fp, sp, lr} + +0800234c : + 800234c: b513 push {r0, r1, r4, lr} + 800234e: 4604 mov r4, r0 + 8002350: 0a13 lsrs r3, r2, #8 + 8002352: 7800 ldrb r0, [r0, #0] + 8002354: f88d 1004 strb.w r1, [sp, #4] + 8002358: f88d 3005 strb.w r3, [sp, #5] + 800235c: f88d 2006 strb.w r2, [sp, #6] + 8002360: f003 fa18 bl 8005794 + 8002364: 6860 ldr r0, [r4, #4] + 8002366: f003 fa0d bl 8005784 + 800236a: 2103 movs r1, #3 + 800236c: a801 add r0, sp, #4 + 800236e: f003 fa17 bl 80057a0 + 8002372: b002 add sp, #8 + 8002374: bd10 pop {r4, pc} + +08002376 : + 8002376: b537 push {r0, r1, r2, r4, r5, lr} + 8002378: 460d mov r5, r1 + 800237a: 4604 mov r4, r0 + 800237c: f003 fa0a bl 8005794 + 8002380: 4628 mov r0, r5 + 8002382: f003 f9ff bl 8005784 + 8002386: f1a4 0330 sub.w r3, r4, #48 ; 0x30 + 800238a: 2b07 cmp r3, #7 + 800238c: d902 bls.n 8002394 + 800238e: 3c50 subs r4, #80 ; 0x50 + 8002390: 2c0f cmp r4, #15 + 8002392: d809 bhi.n 80023a8 + 8002394: 2101 movs r1, #1 + 8002396: f10d 0007 add.w r0, sp, #7 + 800239a: f003 fa67 bl 800586c + 800239e: fab0 f080 clz r0, r0 + 80023a2: 0940 lsrs r0, r0, #5 + 80023a4: b003 add sp, #12 + 80023a6: bd30 pop {r4, r5, pc} + 80023a8: 2100 movs r1, #0 + 80023aa: 4608 mov r0, r1 + 80023ac: f003 f9f8 bl 80057a0 + 80023b0: e7f5 b.n 800239e + +080023b2 : + 80023b2: b513 push {r0, r1, r4, lr} + 80023b4: 68c1 ldr r1, [r0, #12] + 80023b6: 4604 mov r4, r0 + 80023b8: 7a00 ldrb r0, [r0, #8] + 80023ba: f7ff ffdc bl 8002376 + 80023be: 7460 strb r0, [r4, #17] + 80023c0: b170 cbz r0, 80023e0 + 80023c2: 2200 movs r2, #0 + 80023c4: f104 0008 add.w r0, r4, #8 + 80023c8: 4611 mov r1, r2 + 80023ca: 9001 str r0, [sp, #4] + 80023cc: f7ff ffbe bl 800234c + 80023d0: 7c63 ldrb r3, [r4, #17] + 80023d2: 9801 ldr r0, [sp, #4] + 80023d4: b123 cbz r3, 80023e0 + 80023d6: f24c 02ff movw r2, #49407 ; 0xc0ff + 80023da: 2112 movs r1, #18 + 80023dc: f7ff ffb6 bl 800234c + 80023e0: b002 add sp, #8 + 80023e2: bd10 pop {r4, pc} + +080023e4 : + 80023e4: b538 push {r3, r4, r5, lr} + 80023e6: 4605 mov r5, r0 + 80023e8: 460c mov r4, r1 + 80023ea: 203c movs r0, #60 ; 0x3c + 80023ec: 4911 ldr r1, [pc, #68] ; (8002434 ) + 80023ee: f7ff ffc2 bl 8002376 + 80023f2: b1b0 cbz r0, 8002422 + 80023f4: 2c04 cmp r4, #4 + 80023f6: f04f 0018 mov.w r0, #24 + 80023fa: d816 bhi.n 800242a + 80023fc: f001 fe86 bl 800410c + 8002400: 2101 movs r1, #1 + 8002402: 4604 mov r4, r0 + 8002404: f000 f8a2 bl 800254c + 8002408: 6823 ldr r3, [r4, #0] + 800240a: 61ac str r4, [r5, #24] + 800240c: 689b ldr r3, [r3, #8] + 800240e: 4620 mov r0, r4 + 8002410: 4798 blx r3 + 8002412: b130 cbz r0, 8002422 + 8002414: 2302 movs r3, #2 + 8002416: 4a08 ldr r2, [pc, #32] ; (8002438 ) + 8002418: 602b str r3, [r5, #0] + 800241a: 2101 movs r1, #1 + 800241c: 4628 mov r0, r5 + 800241e: f7fe fa02 bl 8000826 + 8002422: 69ab ldr r3, [r5, #24] + 8002424: b903 cbnz r3, 8002428 + 8002426: 616b str r3, [r5, #20] + 8002428: bd38 pop {r3, r4, r5, pc} + 800242a: f001 fe6f bl 800410c + 800242e: 2100 movs r1, #0 + 8002430: 4604 mov r4, r0 + 8002432: e7e7 b.n 8002404 + 8002434: 000186a0 andeq r8, r1, r0, lsr #13 + 8002438: 080068ff stmdaeq r0, {r0, r1, r2, r3, r4, r5, r6, r7, fp, sp, lr} + +0800243c : + 800243c: 2304 movs r3, #4 + 800243e: b510 push {r4, lr} + 8002440: 6003 str r3, [r0, #0] + 8002442: 4b0e ldr r3, [pc, #56] ; (800247c ) + 8002444: 4a0e ldr r2, [pc, #56] ; (8002480 ) + 8002446: 681b ldr r3, [r3, #0] + 8002448: 6043 str r3, [r0, #4] + 800244a: 2321 movs r3, #33 ; 0x21 + 800244c: 7203 strb r3, [r0, #8] + 800244e: 4b0d ldr r3, [pc, #52] ; (8002484 ) + 8002450: 60c3 str r3, [r0, #12] + 8002452: 2300 movs r3, #0 + 8002454: e9c0 2305 strd r2, r3, [r0, #20] + 8002458: 8203 strh r3, [r0, #16] + 800245a: 4b0b ldr r3, [pc, #44] ; (8002488 ) + 800245c: 4604 mov r4, r0 + 800245e: 6018 str r0, [r3, #0] + 8002460: f7ff ffc0 bl 80023e4 + 8002464: 4620 mov r0, r4 + 8002466: f7ff ffa4 bl 80023b2 + 800246a: 69a3 ldr r3, [r4, #24] + 800246c: b10b cbz r3, 8002472 + 800246e: f000 f9ff bl 8002870 + 8002472: 69a0 ldr r0, [r4, #24] + 8002474: f7ff ff60 bl 8002338 + 8002478: 4620 mov r0, r4 + 800247a: bd10 pop {r4, pc} + 800247c: 20002244 andcs r2, r0, r4, asr #4 + 8002480: 000493e0 andeq r9, r4, r0, ror #7 + 8002484: 00061a80 andeq r1, r6, r0, lsl #21 + 8002488: 20000128 andcs r0, r0, r8, lsr #2 + +0800248c : + 800248c: 4770 bx lr + +0800248e : + 800248e: 4770 bx lr + +08002490 : + 8002490: b410 push {r4} + 8002492: 4906 ldr r1, [pc, #24] ; (80024ac ) + 8002494: 7c44 ldrb r4, [r0, #17] + 8002496: 7903 ldrb r3, [r0, #4] + 8002498: 7942 ldrb r2, [r0, #5] + 800249a: 4805 ldr r0, [pc, #20] ; (80024b0 ) + 800249c: 2c00 cmp r4, #0 + 800249e: bf08 it eq + 80024a0: 4601 moveq r1, r0 + 80024a2: 4804 ldr r0, [pc, #16] ; (80024b4 ) + 80024a4: f85d 4b04 ldr.w r4, [sp], #4 + 80024a8: f7fe bd88 b.w 8000fbc + 80024ac: 08006907 stmdaeq r0, {r0, r1, r2, r8, fp, sp, lr} + 80024b0: 080068ff stmdaeq r0, {r0, r1, r2, r3, r4, r5, r6, r7, fp, sp, lr} + 80024b4: 0800690e stmdaeq r0, {r1, r2, r3, r8, fp, sp, lr} + +080024b8 : + 80024b8: b510 push {r4, lr} + 80024ba: 4604 mov r4, r0 + 80024bc: f001 fe22 bl 8004104 + 80024c0: 4620 mov r0, r4 + 80024c2: bd10 pop {r4, pc} + +080024c4 : + 80024c4: b510 push {r4, lr} + 80024c6: 3920 subs r1, #32 + 80024c8: 295f cmp r1, #95 ; 0x5f + 80024ca: f100 0008 add.w r0, r0, #8 + 80024ce: bf94 ite ls + 80024d0: 460c movls r4, r1 + 80024d2: 2400 movhi r4, #0 + 80024d4: f7ff fe70 bl 80021b8 + 80024d8: 4804 ldr r0, [pc, #16] ; (80024ec ) + 80024da: ebc4 04c4 rsb r4, r4, r4, lsl #3 + 80024de: 4420 add r0, r4 + 80024e0: 2107 movs r1, #7 + 80024e2: e8bd 4010 ldmia.w sp!, {r4, lr} + 80024e6: f003 b95b b.w 80057a0 + 80024ea: bf00 nop + 80024ec: 08006920 stmdaeq r0, {r5, r8, fp, sp, lr} + +080024f0 : + 80024f0: b538 push {r3, r4, r5, lr} + 80024f2: 4605 mov r5, r0 + 80024f4: 1e4c subs r4, r1, #1 + 80024f6: f814 1f01 ldrb.w r1, [r4, #1]! + 80024fa: b901 cbnz r1, 80024fe + 80024fc: bd38 pop {r3, r4, r5, pc} + 80024fe: 4628 mov r0, r5 + 8002500: f7ff ffe0 bl 80024c4 + 8002504: e7f7 b.n 80024f6 + +08002506 : + 8002506: b570 push {r4, r5, r6, lr} + 8002508: 7903 ldrb r3, [r0, #4] + 800250a: 4605 mov r5, r0 + 800250c: 460c mov r4, r1 + 800250e: 4293 cmp r3, r2 + 8002510: bf94 ite ls + 8002512: 18ce addls r6, r1, r3 + 8002514: 188e addhi r6, r1, r2 + 8002516: 42b4 cmp r4, r6 + 8002518: d100 bne.n 800251c + 800251a: bd70 pop {r4, r5, r6, pc} + 800251c: f814 1b01 ldrb.w r1, [r4], #1 + 8002520: 4628 mov r0, r5 + 8002522: f7ff ffcf bl 80024c4 + 8002526: e7f6 b.n 8002516 + +08002528 : + 8002528: 7c03 ldrb r3, [r0, #16] + 800252a: b14b cbz r3, 8002540 + 800252c: 3b01 subs r3, #1 + 800252e: 2b01 cmp r3, #1 + 8002530: d909 bls.n 8002546 + 8002532: 2308 movs r3, #8 + 8002534: 2204 movs r2, #4 + 8002536: 2115 movs r1, #21 + 8002538: 7101 strb r1, [r0, #4] + 800253a: 7143 strb r3, [r0, #5] + 800253c: 6142 str r2, [r0, #20] + 800253e: 4770 bx lr + 8002540: 2308 movs r3, #8 + 8002542: 461a mov r2, r3 + 8002544: e7f7 b.n 8002536 + 8002546: 2304 movs r3, #4 + 8002548: e7fb b.n 8002542 ... -08002218 : - 8002218: 8b83 ldrh r3, [r0, #28] - 800221a: 2b06 cmp r3, #6 - 800221c: d172 bne.n 8002304 - 800221e: b570 push {r4, r5, r6, lr} - 8002220: 4b39 ldr r3, [pc, #228] ; (8002308 ) - 8002222: 681b ldr r3, [r3, #0] - 8002224: 799b ldrb r3, [r3, #6] - 8002226: 2b30 cmp r3, #48 ; 0x30 - 8002228: bf14 ite ne - 800222a: 2301 movne r3, #1 - 800222c: 2300 moveq r3, #0 - 800222e: 4604 mov r4, r0 - 8002230: f880 302c strb.w r3, [r0, #44] ; 0x2c - 8002234: d02d beq.n 8002292 - 8002236: 4e35 ldr r6, [pc, #212] ; (800230c ) - 8002238: 6835 ldr r5, [r6, #0] - 800223a: 69a8 ldr r0, [r5, #24] - 800223c: b9e8 cbnz r0, 800227a - 800223e: 6a63 ldr r3, [r4, #36] ; 0x24 - 8002240: b9d3 cbnz r3, 8002278 - 8002242: 4833 ldr r0, [pc, #204] ; (8002310 ) - 8002244: f002 f852 bl 80042ec - 8002248: f44f 3060 mov.w r0, #229376 ; 0x38000 - 800224c: f001 ffa4 bl 8004198 - 8002250: 62a0 str r0, [r4, #40] ; 0x28 - 8002252: f44f 7011 mov.w r0, #580 ; 0x244 - 8002256: f001 ff9d bl 8004194 - 800225a: 6aa1 ldr r1, [r4, #40] ; 0x28 - 800225c: f44f 3260 mov.w r2, #229376 ; 0x38000 - 8002260: 4605 mov r5, r0 - 8002262: f000 fa93 bl 800278c - 8002266: 492b ldr r1, [pc, #172] ; (8002314 ) - 8002268: 6830 ldr r0, [r6, #0] - 800226a: 6265 str r5, [r4, #36] ; 0x24 - 800226c: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 8002270: f244 0271 movw r2, #16497 ; 0x4071 - 8002274: f7ff ffa7 bl 80021c6 - 8002278: bd70 pop {r4, r5, r6, pc} - 800227a: 6803 ldr r3, [r0, #0] - 800227c: 2100 movs r1, #0 - 800227e: 6a9b ldr r3, [r3, #40] ; 0x28 - 8002280: 7429 strb r1, [r5, #16] - 8002282: 4798 blx r3 - 8002284: 4b24 ldr r3, [pc, #144] ; (8002318 ) - 8002286: 681b ldr r3, [r3, #0] - 8002288: 606b str r3, [r5, #4] - 800228a: f894 302c ldrb.w r3, [r4, #44] ; 0x2c - 800228e: 2b00 cmp r3, #0 - 8002290: d1d5 bne.n 800223e - 8002292: 6a63 ldr r3, [r4, #36] ; 0x24 - 8002294: 2b00 cmp r3, #0 - 8002296: d0ef beq.n 8002278 - 8002298: f8d3 223c ldr.w r2, [r3, #572] ; 0x23c - 800229c: f893 3240 ldrb.w r3, [r3, #576] ; 0x240 - 80022a0: b9f3 cbnz r3, 80022e0 - 80022a2: 2501 movs r5, #1 - 80022a4: 481d ldr r0, [pc, #116] ; (800231c ) - 80022a6: f002 f821 bl 80042ec - 80022aa: 6a66 ldr r6, [r4, #36] ; 0x24 - 80022ac: b13e cbz r6, 80022be - 80022ae: 4b1c ldr r3, [pc, #112] ; (8002320 ) - 80022b0: 6033 str r3, [r6, #0] - 80022b2: 4630 mov r0, r6 - 80022b4: f000 fe38 bl 8002f28 - 80022b8: 4630 mov r0, r6 - 80022ba: f001 ff67 bl 800418c - 80022be: 6aa0 ldr r0, [r4, #40] ; 0x28 - 80022c0: 2600 movs r6, #0 - 80022c2: 6266 str r6, [r4, #36] ; 0x24 - 80022c4: b108 cbz r0, 80022ca - 80022c6: f001 ff63 bl 8004190 - 80022ca: 62a6 str r6, [r4, #40] ; 0x28 - 80022cc: 2d00 cmp r5, #0 - 80022ce: d0d3 beq.n 8002278 - 80022d0: 480e ldr r0, [pc, #56] ; (800230c ) - 80022d2: 4914 ldr r1, [pc, #80] ; (8002324 ) - 80022d4: 6800 ldr r0, [r0, #0] - 80022d6: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 80022da: f248 0271 movw r2, #32881 ; 0x8071 - 80022de: e7c9 b.n 8002274 - 80022e0: 4b11 ldr r3, [pc, #68] ; (8002328 ) - 80022e2: 6aa1 ldr r1, [r4, #40] ; 0x28 - 80022e4: 6818 ldr r0, [r3, #0] - 80022e6: f000 faa7 bl 8002838 - 80022ea: 4605 mov r5, r0 - 80022ec: 2800 cmp r0, #0 - 80022ee: d1d8 bne.n 80022a2 - 80022f0: 4806 ldr r0, [pc, #24] ; (800230c ) - 80022f2: 490e ldr r1, [pc, #56] ; (800232c ) - 80022f4: 6800 ldr r0, [r0, #0] - 80022f6: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 80022fa: f247 1279 movw r2, #29049 ; 0x7179 - 80022fe: f7ff ff62 bl 80021c6 - 8002302: e7cf b.n 80022a4 - 8002304: 4770 bx lr - 8002306: bf00 nop - 8002308: 20001184 andcs r1, r0, r4, lsl #3 - 800230c: 200000d4 ldrdcs r0, [r0], -r4 - 8002310: 08006980 stmdaeq r0, {r7, r8, fp, sp, lr} - 8002314: 08006993 stmdaeq r0, {r0, r1, r4, r7, r8, fp, sp, lr} - 8002318: 2000323c andcs r3, r0, ip, lsr r2 - 800231c: 080069a7 stmdaeq r0, {r0, r1, r2, r5, r7, r8, fp, sp, lr} - 8002320: 08006c24 stmdaeq r0, {r2, r5, sl, fp, sp, lr} - 8002324: 080069ba stmdaeq r0, {r1, r3, r4, r5, r7, r8, fp, sp, lr} - 8002328: 200011b0 ; instruction: 0x200011b0 - 800232c: 0800699b stmdaeq r0, {r0, r1, r3, r4, r7, r8, fp, sp, lr} - -08002330 : - 8002330: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} - 8002334: 2500 movs r5, #0 - 8002336: 461f mov r7, r3 - 8002338: 6083 str r3, [r0, #8] - 800233a: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 800233e: 4e14 ldr r6, [pc, #80] ; (8002390 ) - 8002340: f8df a054 ldr.w sl, [pc, #84] ; 8002398 - 8002344: 60c5 str r5, [r0, #12] - 8002346: e9c0 3505 strd r3, r5, [r0, #20] - 800234a: 4b12 ldr r3, [pc, #72] ; (8002394 ) - 800234c: 8205 strh r5, [r0, #16] - 800234e: e9c0 1200 strd r1, r2, [r0] - 8002352: 4604 mov r4, r0 - 8002354: 6018 str r0, [r3, #0] - 8002356: e9c0 5508 strd r5, r5, [r0, #32] - 800235a: 4689 mov r9, r1 - 800235c: 8385 strh r5, [r0, #28] - 800235e: 6285 str r5, [r0, #40] ; 0x28 - 8002360: f880 502c strb.w r5, [r0, #44] ; 0x2c - 8002364: 4631 mov r1, r6 - 8002366: f8da 0000 ldr.w r0, [sl] - 800236a: 4690 mov r8, r2 - 800236c: f000 ffdc bl 8003328 - 8002370: f8da 0000 ldr.w r0, [sl] - 8002374: f886 9006 strb.w r9, [r6, #6] - 8002378: f642 1105 movw r1, #10501 ; 0x2905 - 800237c: f886 8007 strb.w r8, [r6, #7] - 8002380: 7237 strb r7, [r6, #8] - 8002382: 7275 strb r5, [r6, #9] - 8002384: f000 ffca bl 800331c - 8002388: 6160 str r0, [r4, #20] - 800238a: 4620 mov r0, r4 - 800238c: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} - 8002390: 20001188 andcs r1, r0, r8, lsl #3 - 8002394: 200011ac andcs r1, r0, ip, lsr #3 - 8002398: 20002f10 andcs r2, r0, r0, lsl pc - -0800239c : - 800239c: b538 push {r3, r4, r5, lr} - 800239e: 7b03 ldrb r3, [r0, #12] - 80023a0: 4604 mov r4, r0 - 80023a2: b161 cbz r1, 80023be - 80023a4: b953 cbnz r3, 80023bc - 80023a6: 4b0c ldr r3, [pc, #48] ; (80023d8 ) - 80023a8: f642 1105 movw r1, #10501 ; 0x2905 - 80023ac: 6818 ldr r0, [r3, #0] - 80023ae: f000 ffb8 bl 8003322 - 80023b2: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 80023b6: 6163 str r3, [r4, #20] - 80023b8: 2301 movs r3, #1 - 80023ba: 7323 strb r3, [r4, #12] - 80023bc: bd38 pop {r3, r4, r5, pc} - 80023be: 2b00 cmp r3, #0 - 80023c0: d0fc beq.n 80023bc - 80023c2: 4b05 ldr r3, [pc, #20] ; (80023d8 ) - 80023c4: 460d mov r5, r1 - 80023c6: 6818 ldr r0, [r3, #0] - 80023c8: f642 1105 movw r1, #10501 ; 0x2905 - 80023cc: f000 ffa6 bl 800331c - 80023d0: 7325 strb r5, [r4, #12] - 80023d2: 6160 str r0, [r4, #20] - 80023d4: e7f2 b.n 80023bc - 80023d6: bf00 nop - 80023d8: 20002f10 andcs r2, r0, r0, lsl pc - -080023dc : - 80023dc: 4809 ldr r0, [pc, #36] ; (8002404 ) - 80023de: b508 push {r3, lr} - 80023e0: 2217 movs r2, #23 - 80023e2: 1e4b subs r3, r1, #1 - 80023e4: f813 1f01 ldrb.w r1, [r3, #1]! - 80023e8: b911 cbnz r1, 80023f0 - 80023ea: f001 ff5e bl 80042aa - 80023ee: e003 b.n 80023f8 - 80023f0: 3a01 subs r2, #1 - 80023f2: f800 1b01 strb.w r1, [r0], #1 - 80023f6: d1f5 bne.n 80023e4 - 80023f8: 4b03 ldr r3, [pc, #12] ; (8002408 ) - 80023fa: 2200 movs r2, #0 - 80023fc: f883 2020 strb.w r2, [r3, #32] - 8002400: bd08 pop {r3, pc} - 8002402: bf00 nop - 8002404: 20001191 mulcs r0, r1, r1 - 8002408: 20001188 andcs r1, r0, r8, lsl #3 - -0800240c : - 800240c: e92d 41ff stmdb sp!, {r0, r1, r2, r3, r4, r5, r6, r7, r8, lr} - 8002410: 7b03 ldrb r3, [r0, #12] - 8002412: 2b00 cmp r3, #0 - 8002414: d14b bne.n 80024ae - 8002416: 4604 mov r4, r0 - 8002418: 6a40 ldr r0, [r0, #36] ; 0x24 - 800241a: b108 cbz r0, 8002420 - 800241c: f000 fee6 bl 80031ec - 8002420: 4d3b ldr r5, [pc, #236] ; (8002510 ) - 8002422: 7d20 ldrb r0, [r4, #20] - 8002424: f10d 030e add.w r3, sp, #14 - 8002428: f104 0218 add.w r2, r4, #24 - 800242c: 4629 mov r1, r5 - 800242e: f000 fc77 bl 8002d20 - 8002432: 2803 cmp r0, #3 - 8002434: 83a0 strh r0, [r4, #28] - 8002436: d93a bls.n 80024ae - 8002438: 682b ldr r3, [r5, #0] - 800243a: 181a adds r2, r3, r0 - 800243c: f812 2c01 ldrb.w r2, [r2, #-1] - 8002440: 2a0a cmp r2, #10 - 8002442: bf04 itt eq - 8002444: f100 30ff addeq.w r0, r0, #4294967295 ; 0xffffffff - 8002448: 83a0 strheq r0, [r4, #28] - 800244a: 781a ldrb r2, [r3, #0] - 800244c: 2a3f cmp r2, #63 ; 0x3f - 800244e: d13b bne.n 80024c8 - 8002450: 8ba1 ldrh r1, [r4, #28] - 8002452: 4830 ldr r0, [pc, #192] ; (8002514 ) - 8002454: 3901 subs r1, #1 - 8002456: b289 uxth r1, r1 - 8002458: 83a1 strh r1, [r4, #28] - 800245a: 2200 movs r2, #0 - 800245c: 4684 mov ip, r0 - 800245e: 7b86 ldrb r6, [r0, #14] - 8002460: 8985 ldrh r5, [r0, #12] - 8002462: b186 cbz r6, 8002486 - 8002464: 42a9 cmp r1, r5 - 8002466: d810 bhi.n 800248a - 8002468: 3201 adds r2, #1 - 800246a: 2a07 cmp r2, #7 - 800246c: f100 0010 add.w r0, r0, #16 - 8002470: d1f5 bne.n 800245e - 8002472: f642 1305 movw r3, #10501 ; 0x2905 - 8002476: 9300 str r3, [sp, #0] - 8002478: 69a3 ldr r3, [r4, #24] - 800247a: 4927 ldr r1, [pc, #156] ; (8002518 ) - 800247c: 2208 movs r2, #8 - 800247e: 7d20 ldrb r0, [r4, #20] - 8002480: f000 fc74 bl 8002d6c - 8002484: e013 b.n 80024ae - 8002486: 42a9 cmp r1, r5 - 8002488: d1ee bne.n 8002468 - 800248a: 6886 ldr r6, [r0, #8] - 800248c: 461f mov r7, r3 - 800248e: 3e01 subs r6, #1 - 8002490: 441d add r5, r3 - 8002492: 42af cmp r7, r5 - 8002494: d10e bne.n 80024b4 - 8002496: 0113 lsls r3, r2, #4 - 8002498: eb0c 1202 add.w r2, ip, r2, lsl #4 - 800249c: f85c 3003 ldr.w r3, [ip, r3] - 80024a0: 6852 ldr r2, [r2, #4] - 80024a2: 1051 asrs r1, r2, #1 - 80024a4: eb04 0062 add.w r0, r4, r2, asr #1 - 80024a8: 07d2 lsls r2, r2, #31 - 80024aa: d40a bmi.n 80024c2 - 80024ac: 4798 blx r3 - 80024ae: b004 add sp, #16 - 80024b0: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} - 80024b4: f817 8f01 ldrb.w r8, [r7, #1]! - 80024b8: f816 ef01 ldrb.w lr, [r6, #1]! - 80024bc: 45f0 cmp r8, lr - 80024be: d0e8 beq.n 8002492 - 80024c0: e7d2 b.n 8002468 - 80024c2: 5862 ldr r2, [r4, r1] - 80024c4: 58d3 ldr r3, [r2, r3] - 80024c6: e7f1 b.n 80024ac - 80024c8: 7b61 ldrb r1, [r4, #13] - 80024ca: 2900 cmp r1, #0 - 80024cc: d1ef bne.n 80024ae - 80024ce: 2a23 cmp r2, #35 ; 0x23 - 80024d0: d101 bne.n 80024d6 - 80024d2: 6221 str r1, [r4, #32] - 80024d4: e7eb b.n 80024ae - 80024d6: 2a21 cmp r2, #33 ; 0x21 - 80024d8: d1e9 bne.n 80024ae - 80024da: 8ba2 ldrh r2, [r4, #28] - 80024dc: 3a01 subs r2, #1 - 80024de: b292 uxth r2, r2 - 80024e0: 2a05 cmp r2, #5 - 80024e2: 83a2 strh r2, [r4, #28] - 80024e4: d90d bls.n 8002502 - 80024e6: 4a0d ldr r2, [pc, #52] ; (800251c ) - 80024e8: 1d59 adds r1, r3, #5 - 80024ea: 4299 cmp r1, r3 - 80024ec: d103 bne.n 80024f6 - 80024ee: 4620 mov r0, r4 - 80024f0: f7ff fe92 bl 8002218 - 80024f4: e7db b.n 80024ae - 80024f6: f812 0b01 ldrb.w r0, [r2], #1 - 80024fa: f813 5f01 ldrb.w r5, [r3, #1]! - 80024fe: 4285 cmp r5, r0 - 8002500: d0f3 beq.n 80024ea - 8002502: f642 1305 movw r3, #10501 ; 0x2905 - 8002506: 9300 str r3, [sp, #0] - 8002508: 69a3 ldr r3, [r4, #24] - 800250a: 4905 ldr r1, [pc, #20] ; (8002520 ) - 800250c: 2208 movs r2, #8 - 800250e: e7b6 b.n 800247e - 8002510: 20001184 andcs r1, r0, r4, lsl #3 - 8002514: 08006b50 stmdaeq r0, {r4, r6, r8, r9, fp, sp, lr} - 8002518: 080069c9 stmdaeq r0, {r0, r3, r6, r7, r8, fp, sp, lr} - 800251c: 080069c3 stmdaeq r0, {r0, r1, r6, r7, r8, fp, sp, lr} - 8002520: 080069d2 stmdaeq r0, {r1, r4, r6, r7, r8, fp, sp, lr} - -08002524 : - 8002524: 2306 movs r3, #6 - 8002526: 8383 strh r3, [r0, #28] - 8002528: 4b02 ldr r3, [pc, #8] ; (8002534 ) - 800252a: 681b ldr r3, [r3, #0] - 800252c: 2230 movs r2, #48 ; 0x30 - 800252e: 719a strb r2, [r3, #6] - 8002530: f7ff be72 b.w 8002218 - 8002534: 20001184 andcs r1, r0, r4, lsl #3 - -08002538 : - 8002538: b538 push {r3, r4, r5, lr} - 800253a: 4d05 ldr r5, [pc, #20] ; (8002550 ) - 800253c: 2400 movs r4, #0 - 800253e: 4621 mov r1, r4 - 8002540: 6828 ldr r0, [r5, #0] - 8002542: 3401 adds r4, #1 - 8002544: f7ff fb9e bl 8001c84 - 8002548: 2c1c cmp r4, #28 - 800254a: d1f8 bne.n 800253e - 800254c: bd38 pop {r3, r4, r5, pc} - 800254e: bf00 nop - 8002550: 20001174 andcs r1, r0, r4, ror r1 - -08002554 : - 8002554: b510 push {r4, lr} - 8002556: 2220 movs r2, #32 - 8002558: 4604 mov r4, r0 - 800255a: f840 1b04 str.w r1, [r0], #4 - 800255e: 2100 movs r1, #0 - 8002560: f001 fea3 bl 80042aa - 8002564: 4620 mov r0, r4 - 8002566: bd10 pop {r4, pc} - -08002568 : - 8002568: b508 push {r3, lr} - 800256a: 2300 movs r3, #0 - 800256c: 4601 mov r1, r0 - 800256e: 6043 str r3, [r0, #4] - 8002570: 6800 ldr r0, [r0, #0] - 8002572: b120 cbz r0, 800257e - 8002574: 6803 ldr r3, [r0, #0] - 8002576: 3104 adds r1, #4 - 8002578: 68db ldr r3, [r3, #12] - 800257a: 4798 blx r3 - 800257c: 2001 movs r0, #1 - 800257e: bd08 pop {r3, pc} - -08002580 : - 8002580: b538 push {r3, r4, r5, lr} - 8002582: 460c mov r4, r1 - 8002584: 6841 ldr r1, [r0, #4] - 8002586: 4605 mov r5, r0 - 8002588: f001 0101 and.w r1, r1, #1 - 800258c: 4620 mov r0, r4 - 800258e: f7ff ff05 bl 800239c - 8002592: 686b ldr r3, [r5, #4] - 8002594: f3c3 0240 ubfx r2, r3, #1, #1 - 8002598: 7362 strb r2, [r4, #13] - 800259a: f3c3 0280 ubfx r2, r3, #2, #1 - 800259e: 73a2 strb r2, [r4, #14] - 80025a0: f3c3 02c0 ubfx r2, r3, #3, #1 - 80025a4: 73e2 strb r2, [r4, #15] - 80025a6: f3c3 1240 ubfx r2, r3, #5, #1 - 80025aa: 06db lsls r3, r3, #27 - 80025ac: 7422 strb r2, [r4, #16] - 80025ae: d506 bpl.n 80025be - 80025b0: f105 010c add.w r1, r5, #12 - 80025b4: 4620 mov r0, r4 - 80025b6: e8bd 4038 ldmia.w sp!, {r3, r4, r5, lr} - 80025ba: f7ff bf0f b.w 80023dc - 80025be: bd38 pop {r3, r4, r5, pc} - -080025c0 : - 80025c0: 7b83 ldrb r3, [r0, #14] - 80025c2: b537 push {r0, r1, r2, r4, r5, lr} - 80025c4: 2b00 cmp r3, #0 - 80025c6: d03c beq.n 8002642 - 80025c8: 4c1f ldr r4, [pc, #124] ; (8002648 ) - 80025ca: 6825 ldr r5, [r4, #0] - 80025cc: 2301 movs r3, #1 - 80025ce: 7443 strb r3, [r0, #17] - 80025d0: 69a8 ldr r0, [r5, #24] - 80025d2: b138 cbz r0, 80025e4 - 80025d4: 6803 ldr r3, [r0, #0] - 80025d6: 2100 movs r1, #0 - 80025d8: 6a9b ldr r3, [r3, #40] ; 0x28 - 80025da: 7429 strb r1, [r5, #16] - 80025dc: 4798 blx r3 - 80025de: 4b1b ldr r3, [pc, #108] ; (800264c ) - 80025e0: 681b ldr r3, [r3, #0] - 80025e2: 606b str r3, [r5, #4] - 80025e4: 4d1a ldr r5, [pc, #104] ; (8002650 ) - 80025e6: 6828 ldr r0, [r5, #0] - 80025e8: f7ff fbca bl 8001d80 - 80025ec: 2800 cmp r0, #0 - 80025ee: d1fa bne.n 80025e6 - 80025f0: 4b18 ldr r3, [pc, #96] ; (8002654 ) - 80025f2: 6818 ldr r0, [r3, #0] - 80025f4: f000 fe8a bl 800330c - 80025f8: 4817 ldr r0, [pc, #92] ; (8002658 ) - 80025fa: f7fe fe2b bl 8001254 - 80025fe: 6823 ldr r3, [r4, #0] - 8002600: 6998 ldr r0, [r3, #24] - 8002602: b110 cbz r0, 800260a - 8002604: 6803 ldr r3, [r0, #0] - 8002606: 68db ldr r3, [r3, #12] - 8002608: 4798 blx r3 - 800260a: 6824 ldr r4, [r4, #0] - 800260c: 4913 ldr r1, [pc, #76] ; (800265c ) - 800260e: 4620 mov r0, r4 - 8002610: f7ff fd9c bl 800214c - 8002614: 7c63 ldrb r3, [r4, #17] - 8002616: b183 cbz r3, 800263a - 8002618: f64b 7312 movw r3, #48914 ; 0xbf12 - 800261c: 7a20 ldrb r0, [r4, #8] - 800261e: f8ad 3004 strh.w r3, [sp, #4] - 8002622: 23bf movs r3, #191 ; 0xbf - 8002624: f88d 3006 strb.w r3, [sp, #6] - 8002628: f002 fd00 bl 800502c - 800262c: 68e0 ldr r0, [r4, #12] - 800262e: f002 fcf5 bl 800501c - 8002632: 2103 movs r1, #3 - 8002634: a801 add r0, sp, #4 - 8002636: f002 fcff bl 8005038 - 800263a: 4b09 ldr r3, [pc, #36] ; (8002660 ) - 800263c: 6818 ldr r0, [r3, #0] - 800263e: f001 fd67 bl 8004110 - 8002642: b003 add sp, #12 - 8002644: bd30 pop {r4, r5, pc} +0800254c : + 800254c: 4a08 ldr r2, [pc, #32] ; (8002570 ) + 800254e: 6002 str r2, [r0, #0] + 8002550: 227f movs r2, #127 ; 0x7f + 8002552: b508 push {r3, lr} + 8002554: 80c2 strh r2, [r0, #6] + 8002556: 223c movs r2, #60 ; 0x3c + 8002558: 7202 strb r2, [r0, #8] + 800255a: 4a06 ldr r2, [pc, #24] ; (8002574 ) + 800255c: 60c2 str r2, [r0, #12] + 800255e: 2200 movs r2, #0 + 8002560: 7442 strb r2, [r0, #17] + 8002562: 4a05 ldr r2, [pc, #20] ; (8002578 ) + 8002564: 7401 strb r1, [r0, #16] + 8002566: 6010 str r0, [r2, #0] + 8002568: f7ff ffde bl 8002528 + 800256c: bd08 pop {r3, pc} + 800256e: bf00 nop + 8002570: 08006bf8 stmdaeq r0, {r3, r4, r5, r6, r7, r8, r9, fp, sp, lr} + 8002574: 00061a80 andeq r1, r6, r0, lsl #21 + 8002578: 200001b4 ; instruction: 0x200001b4 + +0800257c : + 800257c: b507 push {r0, r1, r2, lr} + 800257e: 2300 movs r3, #0 + 8002580: 3008 adds r0, #8 + 8002582: f88d 3004 strb.w r3, [sp, #4] + 8002586: f88d 1005 strb.w r1, [sp, #5] + 800258a: f7ff fe15 bl 80021b8 + 800258e: 2102 movs r1, #2 + 8002590: a801 add r0, sp, #4 + 8002592: f003 f905 bl 80057a0 + 8002596: b003 add sp, #12 + 8002598: f85d fb04 ldr.w pc, [sp], #4 + +0800259c : + 800259c: 2914 cmp r1, #20 + 800259e: b537 push {r0, r1, r2, r4, r5, lr} + 80025a0: 4615 mov r5, r2 + 80025a2: d81d bhi.n 80025e0 + 80025a4: 7943 ldrb r3, [r0, #5] + 80025a6: 4293 cmp r3, r2 + 80025a8: d91a bls.n 80025e0 + 80025aa: eb01 0141 add.w r1, r1, r1, lsl #1 + 80025ae: 7c43 ldrb r3, [r0, #17] + 80025b0: 004c lsls r4, r1, #1 + 80025b2: b2e4 uxtb r4, r4 + 80025b4: b10b cbz r3, 80025ba + 80025b6: 3404 adds r4, #4 + 80025b8: b2e4 uxtb r4, r4 + 80025ba: f004 010e and.w r1, r4, #14 + 80025be: 9001 str r0, [sp, #4] + 80025c0: f7ff ffdc bl 800257c + 80025c4: 0921 lsrs r1, r4, #4 + 80025c6: 9801 ldr r0, [sp, #4] + 80025c8: f041 0110 orr.w r1, r1, #16 + 80025cc: f7ff ffd6 bl 800257c + 80025d0: 9801 ldr r0, [sp, #4] + 80025d2: f045 01b0 orr.w r1, r5, #176 ; 0xb0 + 80025d6: b003 add sp, #12 + 80025d8: e8bd 4030 ldmia.w sp!, {r4, r5, lr} + 80025dc: f7ff bfce b.w 800257c + 80025e0: b003 add sp, #12 + 80025e2: bd30 pop {r4, r5, pc} + +080025e4 : + 80025e4: b5e0 push {r5, r6, r7, lr} + 80025e6: 461f mov r7, r3 + 80025e8: 7943 ldrb r3, [r0, #5] + 80025ea: 428b cmp r3, r1 + 80025ec: 4605 mov r5, r0 + 80025ee: 4616 mov r6, r2 + 80025f0: d30b bcc.n 800260a + 80025f2: 1e4a subs r2, r1, #1 + 80025f4: b2d2 uxtb r2, r2 + 80025f6: 2100 movs r1, #0 + 80025f8: f7ff ffd0 bl 800259c + 80025fc: 463a mov r2, r7 + 80025fe: 4631 mov r1, r6 + 8002600: 4628 mov r0, r5 + 8002602: e8bd 40e0 ldmia.w sp!, {r5, r6, r7, lr} + 8002606: f7ff bf7e b.w 8002506 + 800260a: bde0 pop {r5, r6, r7, pc} + +0800260c : + 800260c: b513 push {r0, r1, r4, lr} + 800260e: 7943 ldrb r3, [r0, #5] + 8002610: 428b cmp r3, r1 + 8002612: 4604 mov r4, r0 + 8002614: d315 bcc.n 8002642 + 8002616: 1e4a subs r2, r1, #1 + 8002618: b2d2 uxtb r2, r2 + 800261a: 2100 movs r1, #0 + 800261c: 9201 str r2, [sp, #4] + 800261e: f7ff ffbd bl 800259c + 8002622: f104 0008 add.w r0, r4, #8 + 8002626: f7ff fdc7 bl 80021b8 + 800262a: 2181 movs r1, #129 ; 0x81 + 800262c: 4806 ldr r0, [pc, #24] ; (8002648 ) + 800262e: f003 f8b7 bl 80057a0 + 8002632: 9a01 ldr r2, [sp, #4] + 8002634: 2100 movs r1, #0 + 8002636: 4620 mov r0, r4 + 8002638: b002 add sp, #8 + 800263a: e8bd 4010 ldmia.w sp!, {r4, lr} + 800263e: f7ff bfad b.w 800259c + 8002642: b002 add sp, #8 + 8002644: bd10 pop {r4, pc} 8002646: bf00 nop - 8002648: 200000d4 ldrdcs r0, [r0], -r4 - 800264c: 2000323c andcs r3, r0, ip, lsr r2 - 8002650: 20001174 andcs r1, r0, r4, ror r1 - 8002654: 20002f10 andcs r2, r0, r0, lsl pc - 8002658: 08006bc0 stmdaeq r0, {r6, r7, r8, r9, fp, sp, lr} - 800265c: 08006bcf stmdaeq r0, {r0, r1, r2, r3, r6, r7, r8, r9, fp, sp, lr} - 8002660: 2000322c andcs r3, r0, ip, lsr #4 - -08002664 : - 8002664: 2000 movs r0, #0 - 8002666: 4770 bx lr - -08002668 : - 8002668: 2000 movs r0, #0 - 800266a: 4770 bx lr - -0800266c : - 800266c: 4b01 ldr r3, [pc, #4] ; (8002674 ) - 800266e: 6818 ldr r0, [r3, #0] - 8002670: f7ff bf58 b.w 8002524 - 8002674: 200011ac andcs r1, r0, ip, lsr #3 - -08002678 : - 8002678: b510 push {r4, lr} - 800267a: 4b03 ldr r3, [pc, #12] ; (8002688 ) - 800267c: 6003 str r3, [r0, #0] - 800267e: 4604 mov r4, r0 - 8002680: f000 fc52 bl 8002f28 - 8002684: 4620 mov r0, r4 - 8002686: bd10 pop {r4, pc} - 8002688: 08006c24 stmdaeq r0, {r2, r5, sl, fp, sp, lr} - -0800268c : - 800268c: b510 push {r4, lr} - 800268e: 4604 mov r4, r0 - 8002690: f7ff fff2 bl 8002678 - 8002694: 4620 mov r0, r4 - 8002696: f001 fd79 bl 800418c - 800269a: 4620 mov r0, r4 - 800269c: bd10 pop {r4, pc} - -0800269e : - 800269e: b5f8 push {r3, r4, r5, r6, r7, lr} - 80026a0: 461d mov r5, r3 - 80026a2: f8d0 3238 ldr.w r3, [r0, #568] ; 0x238 - 80026a6: ebb5 2f53 cmp.w r5, r3, lsr #9 - 80026aa: 4606 mov r6, r0 - 80026ac: 460f mov r7, r1 - 80026ae: 4614 mov r4, r2 - 80026b0: d904 bls.n 80026bc - 80026b2: 2400 movs r4, #0 - 80026b4: f8c0 423c str.w r4, [r0, #572] ; 0x23c - 80026b8: 4620 mov r0, r4 - 80026ba: bdf8 pop {r3, r4, r5, r6, r7, pc} - 80026bc: 2d01 cmp r5, #1 - 80026be: d00f beq.n 80026e0 - 80026c0: f46f 7300 mvn.w r3, #512 ; 0x200 - 80026c4: 026d lsls r5, r5, #9 - 80026c6: 441d add r5, r3 - 80026c8: f8d6 3234 ldr.w r3, [r6, #564] ; 0x234 - 80026cc: 193a adds r2, r7, r4 - 80026ce: 442b add r3, r5 - 80026d0: 42ba cmp r2, r7 - 80026d2: d10c bne.n 80026ee - 80026d4: f8d6 323c ldr.w r3, [r6, #572] ; 0x23c - 80026d8: 4423 add r3, r4 - 80026da: f8c6 323c str.w r3, [r6, #572] ; 0x23c - 80026de: e7eb b.n 80026b8 - 80026e0: 4608 mov r0, r1 - 80026e2: f000 f867 bl 80027b4 - 80026e6: 2800 cmp r0, #0 - 80026e8: d1ea bne.n 80026c0 - 80026ea: 4604 mov r4, r0 - 80026ec: e7e4 b.n 80026b8 - 80026ee: f817 1b01 ldrb.w r1, [r7], #1 - 80026f2: f803 1f01 strb.w r1, [r3, #1]! - 80026f6: e7eb b.n 80026d0 - -080026f8 : - 80026f8: b513 push {r0, r1, r4, lr} - 80026fa: 2401 movs r4, #1 - 80026fc: f880 4240 strb.w r4, [r0, #576] ; 0x240 - 8002700: 4808 ldr r0, [pc, #32] ; (8002724 ) - 8002702: f7fe fda7 bl 8001254 - 8002706: 4b08 ldr r3, [pc, #32] ; (8002728 ) - 8002708: 4908 ldr r1, [pc, #32] ; (800272c ) - 800270a: 6818 ldr r0, [r3, #0] - 800270c: 9001 str r0, [sp, #4] - 800270e: f7ff fd1d bl 800214c - 8002712: 9801 ldr r0, [sp, #4] - 8002714: f645 3171 movw r1, #23409 ; 0x5b71 - 8002718: f7fe f9e8 bl 8000aec - 800271c: 4620 mov r0, r4 - 800271e: b002 add sp, #8 - 8002720: bd10 pop {r4, pc} - 8002722: bf00 nop - 8002724: 08006bdd stmdaeq r0, {r0, r2, r3, r4, r6, r7, r8, r9, fp, sp, lr} - 8002728: 200000d4 ldrdcs r0, [r0], -r4 - 800272c: 08006be9 stmdaeq r0, {r0, r3, r5, r6, r7, r8, r9, fp, sp, lr} - -08002730 : - 8002730: b537 push {r0, r1, r2, r4, r5, lr} - 8002732: 4604 mov r4, r0 - 8002734: b9fa cbnz r2, 8002776 - 8002736: 4a11 ldr r2, [pc, #68] ; (800277c ) - 8002738: 1e4b subs r3, r1, #1 - 800273a: 310b adds r1, #11 - 800273c: f812 5b01 ldrb.w r5, [r2], #1 - 8002740: f813 0f01 ldrb.w r0, [r3, #1]! - 8002744: 42a8 cmp r0, r5 - 8002746: d116 bne.n 8002776 - 8002748: b108 cbz r0, 800274e - 800274a: 428b cmp r3, r1 - 800274c: d1f6 bne.n 800273c - 800274e: 480c ldr r0, [pc, #48] ; (8002780 ) - 8002750: f7fe fd80 bl 8001254 - 8002754: 4b0b ldr r3, [pc, #44] ; (8002784 ) - 8002756: 490c ldr r1, [pc, #48] ; (8002788 ) - 8002758: 6818 ldr r0, [r3, #0] - 800275a: 9001 str r0, [sp, #4] - 800275c: f7ff fcf6 bl 800214c - 8002760: 9801 ldr r0, [sp, #4] - 8002762: f240 6171 movw r1, #1649 ; 0x671 - 8002766: f7fe f9c1 bl 8000aec - 800276a: 2300 movs r3, #0 - 800276c: f8c4 323c str.w r3, [r4, #572] ; 0x23c - 8002770: 2001 movs r0, #1 - 8002772: b003 add sp, #12 - 8002774: bd30 pop {r4, r5, pc} - 8002776: 2000 movs r0, #0 - 8002778: e7fb b.n 8002772 - 800277a: bf00 nop - 800277c: 08006c0f stmdaeq r0, {r0, r1, r2, r3, sl, fp, sp, lr} - 8002780: 08006bf4 stmdaeq r0, {r2, r4, r5, r6, r7, r8, r9, fp, sp, lr} - 8002784: 200000d4 ldrdcs r0, [r0], -r4 - 8002788: 08006c02 stmdaeq r0, {r1, sl, fp, sp, lr} - -0800278c : - 800278c: b570 push {r4, r5, r6, lr} - 800278e: 4604 mov r4, r0 - 8002790: 460e mov r6, r1 - 8002792: 4615 mov r5, r2 - 8002794: f000 fb9a bl 8002ecc - 8002798: 4b05 ldr r3, [pc, #20] ; (80027b0 ) - 800279a: 6023 str r3, [r4, #0] - 800279c: 2300 movs r3, #0 - 800279e: e9c4 658d strd r6, r5, [r4, #564] ; 0x234 - 80027a2: f8c4 323c str.w r3, [r4, #572] ; 0x23c - 80027a6: f884 3240 strb.w r3, [r4, #576] ; 0x240 - 80027aa: 4620 mov r0, r4 - 80027ac: bd70 pop {r4, r5, r6, pc} - 80027ae: bf00 nop - 80027b0: 08006c24 stmdaeq r0, {r2, r5, sl, fp, sp, lr} - -080027b4 : - 80027b4: 2001 movs r0, #1 - 80027b6: 4770 bx lr - -080027b8 : - 80027b8: b57f push {r0, r1, r2, r3, r4, r5, r6, lr} - 80027ba: 2300 movs r3, #0 - 80027bc: e9c0 3300 strd r3, r3, [r0] - 80027c0: e9c0 3302 strd r3, r3, [r0, #8] - 80027c4: 6103 str r3, [r0, #16] - 80027c6: 7503 strb r3, [r0, #20] - 80027c8: 4d18 ldr r5, [pc, #96] ; (800282c ) - 80027ca: 4b19 ldr r3, [pc, #100] ; (8002830 ) - 80027cc: 6018 str r0, [r3, #0] - 80027ce: 682b ldr r3, [r5, #0] - 80027d0: 4604 mov r4, r0 - 80027d2: 6998 ldr r0, [r3, #24] - 80027d4: b110 cbz r0, 80027dc - 80027d6: 6803 ldr r3, [r0, #0] - 80027d8: 68db ldr r3, [r3, #12] - 80027da: 4798 blx r3 - 80027dc: f000 f8aa bl 8002934 - 80027e0: 6060 str r0, [r4, #4] - 80027e2: f000 f8a3 bl 800292c - 80027e6: 9003 str r0, [sp, #12] - 80027e8: f000 f8aa bl 8002940 - 80027ec: 6863 ldr r3, [r4, #4] - 80027ee: 9903 ldr r1, [sp, #12] - 80027f0: 4602 mov r2, r0 - 80027f2: 0a98 lsrs r0, r3, #10 - 80027f4: 9000 str r0, [sp, #0] - 80027f6: 480f ldr r0, [pc, #60] ; (8002834 ) - 80027f8: f7fe fd2c bl 8001254 - 80027fc: 682d ldr r5, [r5, #0] - 80027fe: f000 f895 bl 800292c - 8002802: 69ad ldr r5, [r5, #24] - 8002804: 4602 mov r2, r0 - 8002806: b16d cbz r5, 8002824 - 8002808: 7928 ldrb r0, [r5, #4] - 800280a: 2300 movs r3, #0 - 800280c: 5cd1 ldrb r1, [r2, r3] - 800280e: b119 cbz r1, 8002818 - 8002810: 1c59 adds r1, r3, #1 - 8002812: 4298 cmp r0, r3 - 8002814: 460b mov r3, r1 - 8002816: dcf9 bgt.n 800280c - 8002818: 6829 ldr r1, [r5, #0] - 800281a: b2db uxtb r3, r3 - 800281c: 69ce ldr r6, [r1, #28] - 800281e: 4628 mov r0, r5 - 8002820: 2101 movs r1, #1 - 8002822: 47b0 blx r6 - 8002824: 4620 mov r0, r4 - 8002826: b004 add sp, #16 - 8002828: bd70 pop {r4, r5, r6, pc} - 800282a: bf00 nop - 800282c: 200000d4 ldrdcs r0, [r0], -r4 - 8002830: 200011b0 ; instruction: 0x200011b0 - 8002834: 08006c44 stmdaeq r0, {r2, r6, sl, fp, sp, lr} - -08002838 : - 8002838: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} - 800283c: 460e mov r6, r1 - 800283e: 4614 mov r4, r2 - 8002840: f502 4100 add.w r1, r2, #32768 ; 0x8000 - 8002844: 6842 ldr r2, [r0, #4] - 8002846: 4291 cmp r1, r2 - 8002848: d905 bls.n 8002856 - 800284a: 482f ldr r0, [pc, #188] ; (8002908 ) - 800284c: f7fe fd02 bl 8001254 - 8002850: 2000 movs r0, #0 - 8002852: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} - 8002856: 4f2d ldr r7, [pc, #180] ; (800290c ) - 8002858: 683b ldr r3, [r7, #0] - 800285a: f893 8000 ldrb.w r8, [r3] - 800285e: f1b8 0f00 cmp.w r8, #0 - 8002862: d006 beq.n 8002872 - 8002864: 2200 movs r2, #0 - 8002866: 701a strb r2, [r3, #0] - 8002868: 2104 movs r1, #4 - 800286a: f64f 70ff movw r0, #65535 ; 0xffff - 800286e: f001 ffd7 bl 8004820 - 8002872: 4827 ldr r0, [pc, #156] ; (8002910 ) - 8002874: f8df 90b0 ldr.w r9, [pc, #176] ; 8002928 - 8002878: f001 fd38 bl 80042ec - 800287c: f000 f860 bl 8002940 - 8002880: 1e65 subs r5, r4, #1 - 8002882: 4405 add r5, r0 - 8002884: 4240 negs r0, r0 - 8002886: 4923 ldr r1, [pc, #140] ; (8002914 ) - 8002888: 4005 ands r5, r0 - 800288a: 2302 movs r3, #2 - 800288c: f8d9 0000 ldr.w r0, [r9] - 8002890: f240 6239 movw r2, #1593 ; 0x639 - 8002894: f7ff fc97 bl 80021c6 - 8002898: 4629 mov r1, r5 - 800289a: f44f 4000 mov.w r0, #32768 ; 0x8000 - 800289e: f000 f883 bl 80029a8 - 80028a2: 2800 cmp r0, #0 - 80028a4: da03 bge.n 80028ae - 80028a6: 481c ldr r0, [pc, #112] ; (8002918 ) - 80028a8: f001 fd20 bl 80042ec - 80028ac: e7d0 b.n 8002850 - 80028ae: 491b ldr r1, [pc, #108] ; (800291c ) - 80028b0: f8d9 0000 ldr.w r0, [r9] - 80028b4: 2302 movs r3, #2 - 80028b6: f645 3239 movw r2, #23353 ; 0x5b39 - 80028ba: f7ff fc84 bl 80021c6 - 80028be: 4632 mov r2, r6 - 80028c0: 4621 mov r1, r4 - 80028c2: f44f 4000 mov.w r0, #32768 ; 0x8000 - 80028c6: f000 f84c bl 8002962 - 80028ca: 2800 cmp r0, #0 - 80028cc: da01 bge.n 80028d2 - 80028ce: 4814 ldr r0, [pc, #80] ; (8002920 ) - 80028d0: e7ea b.n 80028a8 - 80028d2: f1b8 0f00 cmp.w r8, #0 - 80028d6: d00d beq.n 80028f4 - 80028d8: 2102 movs r1, #2 - 80028da: f64f 70ff movw r0, #65535 ; 0xffff - 80028de: 683c ldr r4, [r7, #0] - 80028e0: f001 ff9e bl 8004820 - 80028e4: 2801 cmp r0, #1 - 80028e6: bf0c ite eq - 80028e8: 2301 moveq r3, #1 - 80028ea: 2300 movne r3, #0 - 80028ec: 7023 strb r3, [r4, #0] - 80028ee: d101 bne.n 80028f4 - 80028f0: f001 ff86 bl 8004800 - 80028f4: f8d9 0000 ldr.w r0, [r9] - 80028f8: 490a ldr r1, [pc, #40] ; (8002924 ) - 80028fa: 2302 movs r3, #2 - 80028fc: f643 1239 movw r2, #14649 ; 0x3939 - 8002900: f7ff fc61 bl 80021c6 - 8002904: 2001 movs r0, #1 - 8002906: e7a4 b.n 8002852 - 8002908: 08006c6a stmdaeq r0, {r1, r3, r5, r6, sl, fp, sp, lr} - 800290c: 2000322c andcs r3, r0, ip, lsr #4 - 8002910: 08006c85 stmdaeq r0, {r0, r2, r7, sl, fp, sp, lr} - 8002914: 08006c94 stmdaeq r0, {r2, r4, r7, sl, fp, sp, lr} - 8002918: 08006c9a stmdaeq r0, {r1, r3, r4, r7, sl, fp, sp, lr} - 800291c: 08006cad stmdaeq r0, {r0, r2, r3, r5, r7, sl, fp, sp, lr} - 8002920: 08006cb5 stmdaeq r0, {r0, r2, r4, r5, r7, sl, fp, sp, lr} - 8002924: 08006cc8 stmdaeq r0, {r3, r6, r7, sl, fp, sp, lr} - 8002928: 200000d4 ldrdcs r0, [r0], -r4 - -0800292c : - 800292c: 4800 ldr r0, [pc, #0] ; (8002930 ) - 800292e: 4770 bx lr - 8002930: 08006ccd stmdaeq r0, {r0, r2, r3, r6, r7, sl, fp, sp, lr} - -08002934 : - 8002934: 4b01 ldr r3, [pc, #4] ; (800293c ) - 8002936: 8c58 ldrh r0, [r3, #34] ; 0x22 - 8002938: 0280 lsls r0, r0, #10 - 800293a: 4770 bx lr - 800293c: 1fff7a00 svcne 0x00ff7a00 - -08002940 : - 8002940: f44f 4080 mov.w r0, #16384 ; 0x4000 - 8002944: 4770 bx lr - -08002946 : - 8002946: 2001 movs r0, #1 - 8002948: 4770 bx lr - -0800294a : - 800294a: f100 6000 add.w r0, r0, #134217728 ; 0x8000000 - 800294e: 4411 add r1, r2 - 8002950: 428a cmp r2, r1 - 8002952: d101 bne.n 8002958 - 8002954: 2000 movs r0, #0 - 8002956: 4770 bx lr - 8002958: f850 3b04 ldr.w r3, [r0], #4 - 800295c: f842 3b04 str.w r3, [r2], #4 - 8002960: e7f6 b.n 8002950 - -08002962 : - 8002962: b570 push {r4, r5, r6, lr} - 8002964: 4604 mov r4, r0 - 8002966: 460e mov r6, r1 - 8002968: 4615 mov r5, r2 - 800296a: f001 fe9f bl 80046ac - 800296e: 20d3 movs r0, #211 ; 0xd3 - 8002970: f001 feb8 bl 80046e4 - 8002974: f104 6400 add.w r4, r4, #134217728 ; 0x8000000 - 8002978: 2e03 cmp r6, #3 - 800297a: 462b mov r3, r5 - 800297c: d809 bhi.n 8002992 - 800297e: b126 cbz r6, 800298a - 8002980: 6829 ldr r1, [r5, #0] - 8002982: 4620 mov r0, r4 - 8002984: f001 ff12 bl 80047ac - 8002988: b948 cbnz r0, 800299e - 800298a: f001 fea1 bl 80046d0 - 800298e: 2000 movs r0, #0 - 8002990: e006 b.n 80029a0 - 8002992: 6819 ldr r1, [r3, #0] - 8002994: 4620 mov r0, r4 - 8002996: 3504 adds r5, #4 - 8002998: f001 ff08 bl 80047ac - 800299c: b108 cbz r0, 80029a2 - 800299e: 4240 negs r0, r0 - 80029a0: bd70 pop {r4, r5, r6, pc} - 80029a2: 3404 adds r4, #4 - 80029a4: 3e04 subs r6, #4 - 80029a6: e7e7 b.n 8002978 - -080029a8 : - 80029a8: b570 push {r4, r5, r6, lr} - 80029aa: f100 6500 add.w r5, r0, #134217728 ; 0x8000000 - 80029ae: b086 sub sp, #24 - 80029b0: 460c mov r4, r1 - 80029b2: 2c00 cmp r4, #0 - 80029b4: dc01 bgt.n 80029ba - 80029b6: 2000 movs r0, #0 - 80029b8: e009 b.n 80029ce - 80029ba: 4629 mov r1, r5 - 80029bc: a801 add r0, sp, #4 - 80029be: f000 f817 bl 80029f0 - 80029c2: 9b01 ldr r3, [sp, #4] - 80029c4: 9e03 ldr r6, [sp, #12] - 80029c6: 3301 adds r3, #1 - 80029c8: d103 bne.n 80029d2 - 80029ca: f04f 30ff mov.w r0, #4294967295 ; 0xffffffff - 80029ce: b006 add sp, #24 - 80029d0: bd70 pop {r4, r5, r6, pc} - 80029d2: f001 fe6b bl 80046ac - 80029d6: 20d3 movs r0, #211 ; 0xd3 - 80029d8: f001 fe84 bl 80046e4 - 80029dc: 9802 ldr r0, [sp, #8] - 80029de: f001 feb7 bl 8004750 - 80029e2: 2800 cmp r0, #0 - 80029e4: d1f1 bne.n 80029ca - 80029e6: f001 fe73 bl 80046d0 - 80029ea: 1ba4 subs r4, r4, r6 - 80029ec: 4435 add r5, r6 - 80029ee: e7e0 b.n 80029b2 - -080029f0 : - 80029f0: f1b1 6f00 cmp.w r1, #134217728 ; 0x8000000 - 80029f4: b530 push {r4, r5, lr} - 80029f6: d35e bcc.n 8002ab6 - 80029f8: 4b39 ldr r3, [pc, #228] ; (8002ae0 ) - 80029fa: 8c5a ldrh r2, [r3, #34] ; 0x22 - 80029fc: f06f 4378 mvn.w r3, #4160749568 ; 0xf8000000 - 8002a00: eb03 2382 add.w r3, r3, r2, lsl #10 - 8002a04: 428b cmp r3, r1 - 8002a06: d356 bcc.n 8002ab6 - 8002a08: f1b1 6f01 cmp.w r1, #135266304 ; 0x8100000 - 8002a0c: d225 bcs.n 8002a5a - 8002a0e: f101 4178 add.w r1, r1, #4160749568 ; 0xf8000000 - 8002a12: f5b1 3f80 cmp.w r1, #65536 ; 0x10000 - 8002a16: d210 bcs.n 8002a3a - 8002a18: 0b8d lsrs r5, r1, #14 - 8002a1a: 00ec lsls r4, r5, #3 - 8002a1c: f505 5100 add.w r1, r5, #8192 ; 0x2000 - 8002a20: f643 72ff movw r2, #16383 ; 0x3fff - 8002a24: 038b lsls r3, r1, #14 - 8002a26: eb02 3281 add.w r2, r2, r1, lsl #14 - 8002a2a: f44f 4180 mov.w r1, #16384 ; 0x4000 - 8002a2e: e9c0 5400 strd r5, r4, [r0] - 8002a32: e9c0 1302 strd r1, r3, [r0, #8] - 8002a36: 6102 str r2, [r0, #16] - 8002a38: bd30 pop {r4, r5, pc} - 8002a3a: f5b1 3f00 cmp.w r1, #131072 ; 0x20000 - 8002a3e: d341 bcc.n 8002ac4 - 8002a40: 0c49 lsrs r1, r1, #17 - 8002a42: 1d0d adds r5, r1, #4 - 8002a44: 00ec lsls r4, r5, #3 - 8002a46: f501 6180 add.w r1, r1, #1024 ; 0x400 - 8002a4a: 044b lsls r3, r1, #17 - 8002a4c: f503 32ff add.w r2, r3, #130560 ; 0x1fe00 - 8002a50: f202 12ff addw r2, r2, #511 ; 0x1ff - 8002a54: f44f 3100 mov.w r1, #131072 ; 0x20000 - 8002a58: e7e9 b.n 8002a2e - 8002a5a: f1a1 6101 sub.w r1, r1, #135266304 ; 0x8100000 - 8002a5e: f5b1 3f80 cmp.w r1, #65536 ; 0x10000 - 8002a62: d208 bcs.n 8002a76 - 8002a64: 0b89 lsrs r1, r1, #14 - 8002a66: f101 0410 add.w r4, r1, #16 - 8002a6a: f101 050c add.w r5, r1, #12 - 8002a6e: 00e4 lsls r4, r4, #3 - 8002a70: f501 5100 add.w r1, r1, #8192 ; 0x2000 - 8002a74: e7d4 b.n 8002a20 - 8002a76: f5b1 3f00 cmp.w r1, #131072 ; 0x20000 - 8002a7a: d32a bcc.n 8002ad2 - 8002a7c: f5b1 1f80 cmp.w r1, #1048576 ; 0x100000 - 8002a80: d208 bcs.n 8002a94 - 8002a82: 0c49 lsrs r1, r1, #17 - 8002a84: f101 0414 add.w r4, r1, #20 - 8002a88: f101 0510 add.w r5, r1, #16 - 8002a8c: 00e4 lsls r4, r4, #3 - 8002a8e: f501 6181 add.w r1, r1, #1032 ; 0x408 - 8002a92: e7da b.n 8002a4a - 8002a94: 0c89 lsrs r1, r1, #18 - 8002a96: f101 0408 add.w r4, r1, #8 - 8002a9a: f101 0514 add.w r5, r1, #20 - 8002a9e: f501 7101 add.w r1, r1, #516 ; 0x204 - 8002aa2: 048b lsls r3, r1, #18 - 8002aa4: 00e4 lsls r4, r4, #3 - 8002aa6: f503 327f add.w r2, r3, #261120 ; 0x3fc00 - 8002aaa: b2e4 uxtb r4, r4 - 8002aac: f202 32ff addw r2, r2, #1023 ; 0x3ff - 8002ab0: f44f 2180 mov.w r1, #262144 ; 0x40000 - 8002ab4: e7bb b.n 8002a2e - 8002ab6: f04f 32ff mov.w r2, #4294967295 ; 0xffffffff - 8002aba: 4613 mov r3, r2 - 8002abc: 4611 mov r1, r2 - 8002abe: 4614 mov r4, r2 - 8002ac0: 4615 mov r5, r2 - 8002ac2: e7b4 b.n 8002a2e - 8002ac4: 4a07 ldr r2, [pc, #28] ; (8002ae4 ) - 8002ac6: 4b08 ldr r3, [pc, #32] ; (8002ae8 ) - 8002ac8: f44f 3180 mov.w r1, #65536 ; 0x10000 - 8002acc: 2420 movs r4, #32 - 8002ace: 2504 movs r5, #4 - 8002ad0: e7ad b.n 8002a2e - 8002ad2: 4a06 ldr r2, [pc, #24] ; (8002aec ) - 8002ad4: 4b06 ldr r3, [pc, #24] ; (8002af0 ) - 8002ad6: f44f 3180 mov.w r1, #65536 ; 0x10000 - 8002ada: 24a0 movs r4, #160 ; 0xa0 - 8002adc: 2510 movs r5, #16 - 8002ade: e7a6 b.n 8002a2e - 8002ae0: 1fff7a00 svcne 0x00ff7a00 - 8002ae4: 0801ffff stmdaeq r1, {r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, ip, sp, lr, pc} - 8002ae8: 08010000 stmdaeq r1, {} ; - 8002aec: 0811ffff ldmdaeq r1, {r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, ip, sp, lr, pc} - 8002af0: 08110000 ldmdaeq r1, {} ; - -08002af4 : - 8002af4: 4b05 ldr r3, [pc, #20] ; (8002b0c ) - 8002af6: 4a06 ldr r2, [pc, #24] ; (8002b10 ) - 8002af8: 681b ldr r3, [r3, #0] - 8002afa: 6811 ldr r1, [r2, #0] - 8002afc: 4299 cmp r1, r3 - 8002afe: d803 bhi.n 8002b08 - 8002b00: 3364 adds r3, #100 ; 0x64 - 8002b02: 6013 str r3, [r2, #0] - 8002b04: f001 b920 b.w 8003d48 - 8002b08: 4770 bx lr - 8002b0a: bf00 nop - 8002b0c: 2000323c andcs r3, r0, ip, lsr r2 - 8002b10: 200011cc andcs r1, r0, ip, asr #3 - -08002b14 : - 8002b14: e92d 4ff8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr} - 8002b18: 4b19 ldr r3, [pc, #100] ; (8002b80 ) - 8002b1a: 4f1a ldr r7, [pc, #104] ; (8002b84 ) - 8002b1c: 791a ldrb r2, [r3, #4] - 8002b1e: 78dc ldrb r4, [r3, #3] - 8002b20: f8df 8064 ldr.w r8, [pc, #100] ; 8002b88 - 8002b24: f8d7 9000 ldr.w r9, [r7] - 8002b28: f8df b060 ldr.w fp, [pc, #96] ; 8002b8c - 8002b2c: f8df a060 ldr.w sl, [pc, #96] ; 8002b90 - 8002b30: eb04 2402 add.w r4, r4, r2, lsl #8 - 8002b34: 4606 mov r6, r0 - 8002b36: ea48 4404 orr.w r4, r8, r4, lsl #16 - 8002b3a: 25ff movs r5, #255 ; 0xff - 8002b3c: 4659 mov r1, fp - 8002b3e: 4620 mov r0, r4 - 8002b40: f000 fe62 bl 8003808 - 8002b44: b190 cbz r0, 8002b6c - 8002b46: ba24 rev r4, r4 - 8002b48: 3401 adds r4, #1 - 8002b4a: 3d01 subs r5, #1 - 8002b4c: ba24 rev r4, r4 - 8002b4e: b2ad uxth r5, r5 - 8002b50: 4554 cmp r4, sl - 8002b52: bf08 it eq - 8002b54: 4644 moveq r4, r8 - 8002b56: b18d cbz r5, 8002b7c - 8002b58: 683b ldr r3, [r7, #0] - 8002b5a: eba3 0309 sub.w r3, r3, r9 - 8002b5e: f5b3 7ffa cmp.w r3, #500 ; 0x1f4 - 8002b62: d3eb bcc.n 8002b3c - 8002b64: 2400 movs r4, #0 - 8002b66: 4623 mov r3, r4 - 8002b68: 4620 mov r0, r4 - 8002b6a: e002 b.n 8002b72 - 8002b6c: f64f 73ff movw r3, #65535 ; 0xffff - 8002b70: 2001 movs r0, #1 - 8002b72: e9c6 3401 strd r3, r4, [r6, #4] - 8002b76: 6034 str r4, [r6, #0] - 8002b78: e8bd 8ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} - 8002b7c: 462c mov r4, r5 - 8002b7e: e7f2 b.n 8002b66 - 8002b80: 200011d0 ldrdcs r1, [r0], -r0 - 8002b84: 2000323c andcs r3, r0, ip, lsr r2 - 8002b88: 0100fea9 smlatbeq r0, r9, lr, pc ; - 8002b8c: 200011d8 ldrdcs r1, [r0], -r8 - 8002b90: fffefea9 ; instruction: 0xfffefea9 - -08002b94 : - 8002b94: 3801 subs r0, #1 - 8002b96: 440a add r2, r1 - 8002b98: 4291 cmp r1, r2 - 8002b9a: d100 bne.n 8002b9e - 8002b9c: 4770 bx lr - 8002b9e: f811 3b01 ldrb.w r3, [r1], #1 - 8002ba2: f800 3f01 strb.w r3, [r0, #1]! - 8002ba6: e7f7 b.n 8002b98 - -08002ba8 : - 8002ba8: 3801 subs r0, #1 - 8002baa: 440a add r2, r1 - 8002bac: 4291 cmp r1, r2 - 8002bae: d100 bne.n 8002bb2 - 8002bb0: 4770 bx lr - 8002bb2: f811 3b01 ldrb.w r3, [r1], #1 - 8002bb6: f800 3f01 strb.w r3, [r0, #1]! - 8002bba: e7f7 b.n 8002bac - -08002bbc : - 8002bbc: ea40 0301 orr.w r3, r0, r1 - 8002bc0: 079b lsls r3, r3, #30 - 8002bc2: b570 push {r4, r5, r6, lr} - 8002bc4: d108 bne.n 8002bd8 - 8002bc6: f022 0303 bic.w r3, r2, #3 - 8002bca: 1f04 subs r4, r0, #4 - 8002bcc: 18cd adds r5, r1, r3 - 8002bce: 42a9 cmp r1, r5 - 8002bd0: d108 bne.n 8002be4 - 8002bd2: 1ad2 subs r2, r2, r3 - 8002bd4: 4403 add r3, r0 - 8002bd6: e000 b.n 8002bda - 8002bd8: 4603 mov r3, r0 - 8002bda: 3b01 subs r3, #1 - 8002bdc: 440a add r2, r1 - 8002bde: 4291 cmp r1, r2 - 8002be0: d105 bne.n 8002bee - 8002be2: bd70 pop {r4, r5, r6, pc} - 8002be4: f851 6b04 ldr.w r6, [r1], #4 - 8002be8: f844 6f04 str.w r6, [r4, #4]! - 8002bec: e7ef b.n 8002bce - 8002bee: f811 4b01 ldrb.w r4, [r1], #1 - 8002bf2: f803 4f01 strb.w r4, [r3, #1]! - 8002bf6: e7f2 b.n 8002bde - -08002bf8 : - 8002bf8: b513 push {r0, r1, r4, lr} - 8002bfa: 2204 movs r2, #4 - 8002bfc: 4604 mov r4, r0 - 8002bfe: 6803 ldr r3, [r0, #0] - 8002c00: 4809 ldr r0, [pc, #36] ; (8002c28 ) - 8002c02: 9301 str r3, [sp, #4] - 8002c04: eb0d 0102 add.w r1, sp, r2 - 8002c08: f7ff ffce bl 8002ba8 - 8002c0c: 6862 ldr r2, [r4, #4] - 8002c0e: 4b07 ldr r3, [pc, #28] ; (8002c2c ) - 8002c10: 43d1 mvns r1, r2 - 8002c12: 6019 str r1, [r3, #0] - 8002c14: 6823 ldr r3, [r4, #0] - 8002c16: 4013 ands r3, r2 - 8002c18: 4a05 ldr r2, [pc, #20] ; (8002c30 ) - 8002c1a: 6013 str r3, [r2, #0] - 8002c1c: 68a2 ldr r2, [r4, #8] - 8002c1e: 4b05 ldr r3, [pc, #20] ; (8002c34 ) - 8002c20: 601a str r2, [r3, #0] - 8002c22: b002 add sp, #8 - 8002c24: bd10 pop {r4, pc} - 8002c26: bf00 nop - 8002c28: 2000293a andcs r2, r0, sl, lsr r9 - 8002c2c: 200011e0 andcs r1, r0, r0, ror #3 - 8002c30: 200011e8 andcs r1, r0, r8, ror #3 - 8002c34: 200011e4 andcs r1, r0, r4, ror #3 - -08002c38 : - 8002c38: 4a0c ldr r2, [pc, #48] ; (8002c6c ) - 8002c3a: b508 push {r3, lr} - 8002c3c: 6813 ldr r3, [r2, #0] - 8002c3e: 4283 cmp r3, r0 - 8002c40: d00f beq.n 8002c62 - 8002c42: b15b cbz r3, 8002c5c - 8002c44: 6853 ldr r3, [r2, #4] - 8002c46: 4298 cmp r0, r3 - 8002c48: d00d beq.n 8002c66 - 8002c4a: b133 cbz r3, 8002c5a - 8002c4c: 4808 ldr r0, [pc, #32] ; (8002c70 ) - 8002c4e: f001 f923 bl 8003e98 - 8002c52: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 8002c56: 4618 mov r0, r3 - 8002c58: bd08 pop {r3, pc} - 8002c5a: 2301 movs r3, #1 - 8002c5c: f842 0023 str.w r0, [r2, r3, lsl #2] - 8002c60: e7f9 b.n 8002c56 - 8002c62: 2300 movs r3, #0 - 8002c64: e7f7 b.n 8002c56 - 8002c66: 2301 movs r3, #1 - 8002c68: e7f5 b.n 8002c56 - 8002c6a: bf00 nop - 8002c6c: 200011f0 strdcs r1, [r0], -r0 - 8002c70: 08006cd8 stmdaeq r0, {r3, r4, r6, r7, sl, fp, sp, lr} - -08002c74 : - 8002c74: 4a0c ldr r2, [pc, #48] ; (8002ca8 ) - 8002c76: b508 push {r3, lr} - 8002c78: 6813 ldr r3, [r2, #0] - 8002c7a: 4283 cmp r3, r0 - 8002c7c: d008 beq.n 8002c90 - 8002c7e: 6853 ldr r3, [r2, #4] - 8002c80: 4298 cmp r0, r3 - 8002c82: d00f beq.n 8002ca4 - 8002c84: 4809 ldr r0, [pc, #36] ; (8002cac ) - 8002c86: f001 f907 bl 8003e98 - 8002c8a: f04f 30ff mov.w r0, #4294967295 ; 0xffffffff - 8002c8e: bd08 pop {r3, pc} - 8002c90: 2300 movs r3, #0 - 8002c92: 2000 movs r0, #0 - 8002c94: f842 0023 str.w r0, [r2, r3, lsl #2] - 8002c98: f640 3294 movw r2, #2964 ; 0xb94 - 8002c9c: 4353 muls r3, r2 - 8002c9e: 4a04 ldr r2, [pc, #16] ; (8002cb0 ) - 8002ca0: 50d0 str r0, [r2, r3] - 8002ca2: e7f4 b.n 8002c8e - 8002ca4: 2301 movs r3, #1 - 8002ca6: e7f4 b.n 8002c92 - 8002ca8: 200011f0 strdcs r1, [r0], -r0 - 8002cac: 08006cdd stmdaeq r0, {r0, r2, r3, r4, r6, r7, sl, fp, sp, lr} - 8002cb0: 200011f8 strdcs r1, [r0], -r8 - -08002cb4 : - 8002cb4: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - 8002cb8: 4604 mov r4, r0 - 8002cba: 4698 mov r8, r3 - 8002cbc: 4608 mov r0, r1 - 8002cbe: f640 3394 movw r3, #2964 ; 0xb94 - 8002cc2: 4916 ldr r1, [pc, #88] ; (8002d1c ) - 8002cc4: 435c muls r4, r3 - 8002cc6: 190f adds r7, r1, r4 - 8002cc8: 5b0b ldrh r3, [r1, r4] - 8002cca: f8b7 c002 ldrh.w ip, [r7, #2] - 8002cce: 4563 cmp r3, ip - 8002cd0: d021 beq.n 8002d16 - 8002cd2: f44f 63b9 mov.w r3, #1480 ; 0x5c8 - 8002cd6: fb03 fc0c mul.w ip, r3, ip - 8002cda: eb0c 0604 add.w r6, ip, r4 - 8002cde: 440e add r6, r1 - 8002ce0: 3404 adds r4, #4 - 8002ce2: f8b6 55ca ldrh.w r5, [r6, #1482] ; 0x5ca - 8002ce6: 4295 cmp r5, r2 - 8002ce8: bf28 it cs - 8002cea: 4615 movcs r5, r2 - 8002cec: 4464 add r4, ip - 8002cee: 462a mov r2, r5 - 8002cf0: 4421 add r1, r4 - 8002cf2: f7ff ff63 bl 8002bbc - 8002cf6: f8d6 35c4 ldr.w r3, [r6, #1476] ; 0x5c4 - 8002cfa: f8c8 3000 str.w r3, [r8] - 8002cfe: 9b06 ldr r3, [sp, #24] - 8002d00: f8b6 25c8 ldrh.w r2, [r6, #1480] ; 0x5c8 - 8002d04: 801a strh r2, [r3, #0] - 8002d06: 887b ldrh r3, [r7, #2] - 8002d08: 3301 adds r3, #1 - 8002d0a: f003 0301 and.w r3, r3, #1 - 8002d0e: 807b strh r3, [r7, #2] - 8002d10: 4628 mov r0, r5 - 8002d12: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} - 8002d16: 2500 movs r5, #0 - 8002d18: e7fa b.n 8002d10 - 8002d1a: bf00 nop - 8002d1c: 200011f8 strdcs r1, [r0], -r8 - -08002d20 : - 8002d20: b5f0 push {r4, r5, r6, r7, lr} - 8002d22: 4c11 ldr r4, [pc, #68] ; (8002d68 ) - 8002d24: f640 3594 movw r5, #2964 ; 0xb94 - 8002d28: 4368 muls r0, r5 - 8002d2a: 1827 adds r7, r4, r0 - 8002d2c: 5a26 ldrh r6, [r4, r0] - 8002d2e: 887d ldrh r5, [r7, #2] - 8002d30: 42ae cmp r6, r5 - 8002d32: d017 beq.n 8002d64 - 8002d34: f44f 6cb9 mov.w ip, #1480 ; 0x5c8 - 8002d38: 1d06 adds r6, r0, #4 - 8002d3a: fb0c f505 mul.w r5, ip, r5 - 8002d3e: 442e add r6, r5 - 8002d40: 4405 add r5, r0 - 8002d42: 4426 add r6, r4 - 8002d44: 442c add r4, r5 - 8002d46: 600e str r6, [r1, #0] - 8002d48: f8d4 15c4 ldr.w r1, [r4, #1476] ; 0x5c4 - 8002d4c: 6011 str r1, [r2, #0] - 8002d4e: f8b4 25c8 ldrh.w r2, [r4, #1480] ; 0x5c8 - 8002d52: 801a strh r2, [r3, #0] - 8002d54: 887b ldrh r3, [r7, #2] - 8002d56: f8b4 05ca ldrh.w r0, [r4, #1482] ; 0x5ca - 8002d5a: 3301 adds r3, #1 - 8002d5c: f003 0301 and.w r3, r3, #1 - 8002d60: 807b strh r3, [r7, #2] - 8002d62: bdf0 pop {r4, r5, r6, r7, pc} - 8002d64: 2000 movs r0, #0 - 8002d66: e7fc b.n 8002d62 - 8002d68: 200011f8 strdcs r1, [r0], -r8 - -08002d6c : - 8002d6c: e92d 47f3 stmdb sp!, {r0, r1, r4, r5, r6, r7, r8, r9, sl, lr} - 8002d70: f8df 9150 ldr.w r9, [pc, #336] ; 8002ec4 - 8002d74: 461c mov r4, r3 - 8002d76: f859 3020 ldr.w r3, [r9, r0, lsl #2] - 8002d7a: 4607 mov r7, r0 - 8002d7c: 4688 mov r8, r1 - 8002d7e: 4616 mov r6, r2 - 8002d80: 2b00 cmp r3, #0 - 8002d82: f000 808b beq.w 8002e9c - 8002d86: 1c63 adds r3, r4, #1 - 8002d88: d141 bne.n 8002e0e - 8002d8a: 4a46 ldr r2, [pc, #280] ; (8002ea4 ) - 8002d8c: 2307 movs r3, #7 - 8002d8e: 4611 mov r1, r2 - 8002d90: 20ff movs r0, #255 ; 0xff - 8002d92: e001 b.n 8002d98 - 8002d94: f802 0b01 strb.w r0, [r2], #1 - 8002d98: 3b01 subs r3, #1 - 8002d9a: d1fb bne.n 8002d94 - 8002d9c: f64f 73ff movw r3, #65535 ; 0xffff - 8002da0: 83cb strh r3, [r1, #30] - 8002da2: 840b strh r3, [r1, #32] - 8002da4: f8df a120 ldr.w sl, [pc, #288] ; 8002ec8 - 8002da8: 4c3e ldr r4, [pc, #248] ; (8002ea4 ) - 8002daa: f8ba 3000 ldrh.w r3, [sl] - 8002dae: 8263 strh r3, [r4, #18] - 8002db0: f106 031c add.w r3, r6, #28 - 8002db4: ba5b rev16 r3, r3 - 8002db6: 2500 movs r5, #0 - 8002db8: 2114 movs r1, #20 - 8002dba: f104 000e add.w r0, r4, #14 - 8002dbe: 8223 strh r3, [r4, #16] - 8002dc0: 8325 strh r5, [r4, #24] - 8002dc2: f001 f81e bl 8003e02 - 8002dc6: f859 3027 ldr.w r3, [r9, r7, lsl #2] - 8002dca: 8320 strh r0, [r4, #24] - 8002dcc: ba5b rev16 r3, r3 - 8002dce: 8463 strh r3, [r4, #34] ; 0x22 - 8002dd0: f8bd 3028 ldrh.w r3, [sp, #40] ; 0x28 - 8002dd4: ba5b rev16 r3, r3 - 8002dd6: f5b6 6fb8 cmp.w r6, #1472 ; 0x5c0 - 8002dda: 84a3 strh r3, [r4, #36] ; 0x24 - 8002ddc: f106 0308 add.w r3, r6, #8 - 8002de0: ba5b rev16 r3, r3 - 8002de2: 4632 mov r2, r6 - 8002de4: 4641 mov r1, r8 - 8002de6: bf28 it cs - 8002de8: f44f 62b8 movcs.w r2, #1472 ; 0x5c0 - 8002dec: f104 002a add.w r0, r4, #42 ; 0x2a - 8002df0: 84e3 strh r3, [r4, #38] ; 0x26 - 8002df2: f7ff fee3 bl 8002bbc - 8002df6: 4620 mov r0, r4 - 8002df8: f106 012a add.w r1, r6, #42 ; 0x2a - 8002dfc: f002 f850 bl 8004ea0 - 8002e00: f8ba 3000 ldrh.w r3, [sl] - 8002e04: 3301 adds r3, #1 - 8002e06: f8aa 3000 strh.w r3, [sl] - 8002e0a: 4628 mov r0, r5 - 8002e0c: e037 b.n 8002e7e - 8002e0e: 4b26 ldr r3, [pc, #152] ; (8002ea8 ) - 8002e10: 681b ldr r3, [r3, #0] - 8002e12: 43a3 bics r3, r4 - 8002e14: d10f bne.n 8002e36 - 8002e16: 4a23 ldr r2, [pc, #140] ; (8002ea4 ) - 8002e18: 2307 movs r3, #7 - 8002e1a: 21ff movs r1, #255 ; 0xff - 8002e1c: e001 b.n 8002e22 - 8002e1e: f802 1b01 strb.w r1, [r2], #1 - 8002e22: 3b01 subs r3, #1 - 8002e24: d1fb bne.n 8002e1e - 8002e26: 2204 movs r2, #4 - 8002e28: 4820 ldr r0, [pc, #128] ; (8002eac ) - 8002e2a: 9401 str r4, [sp, #4] - 8002e2c: eb0d 0102 add.w r1, sp, r2 - 8002e30: f7ff feba bl 8002ba8 - 8002e34: e7b6 b.n 8002da4 - 8002e36: f004 03e0 and.w r3, r4, #224 ; 0xe0 - 8002e3a: 2be0 cmp r3, #224 ; 0xe0 - 8002e3c: d10e bne.n 8002e5c - 8002e3e: 491c ldr r1, [pc, #112] ; (8002eb0 ) - 8002e40: 4818 ldr r0, [pc, #96] ; (8002ea4 ) - 8002e42: f3c4 2206 ubfx r2, r4, #8, #7 - 8002e46: 70ca strb r2, [r1, #3] - 8002e48: f3c4 4207 ubfx r2, r4, #16, #8 - 8002e4c: 710a strb r2, [r1, #4] - 8002e4e: f3c4 6207 ubfx r2, r4, #24, #8 - 8002e52: 714a strb r2, [r1, #5] - 8002e54: 2206 movs r2, #6 - 8002e56: f7ff fea7 bl 8002ba8 - 8002e5a: e7e4 b.n 8002e26 - 8002e5c: 4b15 ldr r3, [pc, #84] ; (8002eb4 ) - 8002e5e: 681b ldr r3, [r3, #0] - 8002e60: 43a3 bics r3, r4 - 8002e62: d00f beq.n 8002e84 - 8002e64: 4d14 ldr r5, [pc, #80] ; (8002eb8 ) - 8002e66: 490f ldr r1, [pc, #60] ; (8002ea4 ) - 8002e68: 6828 ldr r0, [r5, #0] - 8002e6a: f000 fccd bl 8003808 - 8002e6e: 682b ldr r3, [r5, #0] - 8002e70: 4298 cmp r0, r3 - 8002e72: d0d8 beq.n 8002e26 - 8002e74: 4811 ldr r0, [pc, #68] ; (8002ebc ) - 8002e76: f001 f80f bl 8003e98 - 8002e7a: f06f 0002 mvn.w r0, #2 - 8002e7e: b002 add sp, #8 - 8002e80: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} - 8002e84: 4907 ldr r1, [pc, #28] ; (8002ea4 ) - 8002e86: 4620 mov r0, r4 - 8002e88: f000 fcbe bl 8003808 - 8002e8c: 42a0 cmp r0, r4 - 8002e8e: d0ca beq.n 8002e26 - 8002e90: 480b ldr r0, [pc, #44] ; (8002ec0 ) - 8002e92: f001 f801 bl 8003e98 - 8002e96: f06f 0001 mvn.w r0, #1 - 8002e9a: e7f0 b.n 8002e7e - 8002e9c: f04f 30ff mov.w r0, #4294967295 ; 0xffffffff - 8002ea0: e7ed b.n 8002e7e - 8002ea2: bf00 nop - 8002ea4: 20002920 andcs r2, r0, r0, lsr #18 - 8002ea8: 200011e0 andcs r1, r0, r0, ror #3 - 8002eac: 2000293e andcs r2, r0, lr, lsr r9 - 8002eb0: 20000000 andcs r0, r0, r0 - 8002eb4: 200011e8 andcs r1, r0, r8, ror #3 - 8002eb8: 200011e4 andcs r1, r0, r4, ror #3 - 8002ebc: 08006ce5 stmdaeq r0, {r0, r2, r5, r6, r7, sl, fp, sp, lr} - 8002ec0: 08006d0b stmdaeq r0, {r0, r1, r3, r8, sl, fp, sp, lr} - 8002ec4: 200011f0 strdcs r1, [r0], -r0 - 8002ec8: 200011ec andcs r1, r0, ip, ror #3 - -08002ecc : - 8002ecc: b538 push {r3, r4, r5, lr} - 8002ece: 4b14 ldr r3, [pc, #80] ; (8002f20 ) - 8002ed0: 4d14 ldr r5, [pc, #80] ; (8002f24 ) - 8002ed2: 6003 str r3, [r0, #0] - 8002ed4: f04f 32ff mov.w r2, #4294967295 ; 0xffffffff - 8002ed8: 2300 movs r3, #0 - 8002eda: e9c0 3201 strd r3, r2, [r0, #4] - 8002ede: 4604 mov r4, r0 - 8002ee0: f8c0 321c str.w r3, [r0, #540] ; 0x21c - 8002ee4: f8a0 3220 strh.w r3, [r0, #544] ; 0x220 - 8002ee8: f8c0 3224 str.w r3, [r0, #548] ; 0x224 - 8002eec: f8a0 3228 strh.w r3, [r0, #552] ; 0x228 - 8002ef0: f8c0 322c str.w r3, [r0, #556] ; 0x22c - 8002ef4: f8a0 3230 strh.w r3, [r0, #560] ; 0x230 - 8002ef8: f880 3232 strb.w r3, [r0, #562] ; 0x232 - 8002efc: 6828 ldr r0, [r5, #0] - 8002efe: b110 cbz r0, 8002f06 - 8002f00: 6803 ldr r3, [r0, #0] - 8002f02: 69db ldr r3, [r3, #28] - 8002f04: 4798 blx r3 - 8002f06: 602c str r4, [r5, #0] - 8002f08: f104 030c add.w r3, r4, #12 - 8002f0c: f504 7207 add.w r2, r4, #540 ; 0x21c - 8002f10: 2100 movs r1, #0 - 8002f12: 429a cmp r2, r3 - 8002f14: d101 bne.n 8002f1a - 8002f16: 4620 mov r0, r4 - 8002f18: bd38 pop {r3, r4, r5, pc} - 8002f1a: f803 1b01 strb.w r1, [r3], #1 - 8002f1e: e7f8 b.n 8002f12 - 8002f20: 08006d88 stmdaeq r0, {r3, r7, r8, sl, fp, sp, lr} - 8002f24: 20002f0c andcs r2, r0, ip, lsl #30 - -08002f28 : - 8002f28: 4b06 ldr r3, [pc, #24] ; (8002f44 ) - 8002f2a: b510 push {r4, lr} - 8002f2c: 6003 str r3, [r0, #0] - 8002f2e: 4b06 ldr r3, [pc, #24] ; (8002f48 ) - 8002f30: 4604 mov r4, r0 - 8002f32: 2145 movs r1, #69 ; 0x45 - 8002f34: 6818 ldr r0, [r3, #0] - 8002f36: f000 f9f4 bl 8003322 - 8002f3a: 4b04 ldr r3, [pc, #16] ; (8002f4c ) - 8002f3c: 2200 movs r2, #0 - 8002f3e: 601a str r2, [r3, #0] - 8002f40: 4620 mov r0, r4 - 8002f42: bd10 pop {r4, pc} - 8002f44: 08006d88 stmdaeq r0, {r3, r7, r8, sl, fp, sp, lr} - 8002f48: 20002f10 andcs r2, r0, r0, lsl pc - 8002f4c: 20002f0c andcs r2, r0, ip, lsl #30 - -08002f50 : - 8002f50: b510 push {r4, lr} - 8002f52: b0a4 sub sp, #144 ; 0x90 - 8002f54: f44f 63a0 mov.w r3, #1280 ; 0x500 - 8002f58: ba49 rev16 r1, r1 - 8002f5a: f8ad 300c strh.w r3, [sp, #12] - 8002f5e: f8ad 100e strh.w r1, [sp, #14] - 8002f62: 3a01 subs r2, #1 - 8002f64: 237f movs r3, #127 ; 0x7f - 8002f66: a904 add r1, sp, #16 - 8002f68: f812 4f01 ldrb.w r4, [r2, #1]! - 8002f6c: b92c cbnz r4, 8002f7a - 8002f6e: 440b add r3, r1 - 8002f70: 4299 cmp r1, r3 - 8002f72: d006 beq.n 8002f82 - 8002f74: f801 4b01 strb.w r4, [r1], #1 - 8002f78: e7fa b.n 8002f70 - 8002f7a: 3b01 subs r3, #1 - 8002f7c: f801 4b01 strb.w r4, [r1], #1 - 8002f80: d1f2 bne.n 8002f68 - 8002f82: f8b0 3220 ldrh.w r3, [r0, #544] ; 0x220 - 8002f86: 9300 str r3, [sp, #0] - 8002f88: f8d0 321c ldr.w r3, [r0, #540] ; 0x21c - 8002f8c: 7a00 ldrb r0, [r0, #8] - 8002f8e: 2284 movs r2, #132 ; 0x84 - 8002f90: a903 add r1, sp, #12 - 8002f92: f7ff feeb bl 8002d6c - 8002f96: b024 add sp, #144 ; 0x90 - 8002f98: bd10 pop {r4, pc} - -08002f9a : - 8002f9a: 6843 ldr r3, [r0, #4] - 8002f9c: 2b02 cmp r3, #2 - 8002f9e: b573 push {r0, r1, r4, r5, r6, lr} - 8002fa0: 4604 mov r4, r0 - 8002fa2: f100 050c add.w r5, r0, #12 - 8002fa6: d128 bne.n 8002ffa - 8002fa8: 6803 ldr r3, [r0, #0] - 8002faa: 695e ldr r6, [r3, #20] - 8002fac: f8b0 3228 ldrh.w r3, [r0, #552] ; 0x228 - 8002fb0: 3301 adds r3, #1 - 8002fb2: b29b uxth r3, r3 - 8002fb4: f8a0 3228 strh.w r3, [r0, #552] ; 0x228 - 8002fb8: f44f 7200 mov.w r2, #512 ; 0x200 - 8002fbc: f100 0110 add.w r1, r0, #16 - 8002fc0: 47b0 blx r6 - 8002fc2: 2300 movs r3, #0 - 8002fc4: 7323 strb r3, [r4, #12] - 8002fc6: 2303 movs r3, #3 - 8002fc8: 7363 strb r3, [r4, #13] - 8002fca: f8b4 3228 ldrh.w r3, [r4, #552] ; 0x228 - 8002fce: f8c4 022c str.w r0, [r4, #556] ; 0x22c - 8002fd2: ba5b rev16 r3, r3 - 8002fd4: f5b0 7f00 cmp.w r0, #512 ; 0x200 - 8002fd8: 81e3 strh r3, [r4, #14] - 8002fda: f100 0304 add.w r3, r0, #4 - 8002fde: f8a4 3230 strh.w r3, [r4, #560] ; 0x230 - 8002fe2: bf2c ite cs - 8002fe4: 2300 movcs r3, #0 - 8002fe6: 2301 movcc r3, #1 - 8002fe8: f5b0 7f00 cmp.w r0, #512 ; 0x200 - 8002fec: f884 3232 strb.w r3, [r4, #562] ; 0x232 - 8002ff0: d203 bcs.n 8002ffa - 8002ff2: 6823 ldr r3, [r4, #0] - 8002ff4: 4620 mov r0, r4 - 8002ff6: 691b ldr r3, [r3, #16] - 8002ff8: 4798 blx r3 - 8002ffa: f8b4 3220 ldrh.w r3, [r4, #544] ; 0x220 - 8002ffe: 9300 str r3, [sp, #0] - 8003000: f8b4 2230 ldrh.w r2, [r4, #560] ; 0x230 - 8003004: f8d4 321c ldr.w r3, [r4, #540] ; 0x21c - 8003008: 7a20 ldrb r0, [r4, #8] - 800300a: 4629 mov r1, r5 - 800300c: f7ff feae bl 8002d6c - 8003010: 2303 movs r3, #3 - 8003012: 6063 str r3, [r4, #4] - 8003014: b002 add sp, #8 - 8003016: bd70 pop {r4, r5, r6, pc} - -08003018 : - 8003018: 8983 ldrh r3, [r0, #12] - 800301a: f5b3 6f80 cmp.w r3, #1024 ; 0x400 - 800301e: d10c bne.n 800303a - 8003020: f8b0 3228 ldrh.w r3, [r0, #552] ; 0x228 - 8003024: 89c2 ldrh r2, [r0, #14] - 8003026: ba5b rev16 r3, r3 - 8003028: b29b uxth r3, r3 - 800302a: 429a cmp r2, r3 - 800302c: bf01 itttt eq - 800302e: f890 3232 ldrbeq.w r3, [r0, #562] ; 0x232 - 8003032: f083 0301 eoreq.w r3, r3, #1 - 8003036: 005b lsleq r3, r3, #1 - 8003038: 6043 streq r3, [r0, #4] - 800303a: 4770 bx lr - -0800303c : - 800303c: 2300 movs r3, #0 - 800303e: b507 push {r0, r1, r2, lr} - 8003040: 7303 strb r3, [r0, #12] - 8003042: f8b0 3228 ldrh.w r3, [r0, #552] ; 0x228 - 8003046: ba5b rev16 r3, r3 - 8003048: 81c3 strh r3, [r0, #14] - 800304a: f890 3232 ldrb.w r3, [r0, #562] ; 0x232 - 800304e: 2b00 cmp r3, #0 - 8003050: bf14 ite ne - 8003052: 2300 movne r3, #0 - 8003054: 2305 moveq r3, #5 - 8003056: 6043 str r3, [r0, #4] - 8003058: 2204 movs r2, #4 - 800305a: f8b0 3220 ldrh.w r3, [r0, #544] ; 0x220 - 800305e: 7342 strb r2, [r0, #13] - 8003060: 9300 str r3, [sp, #0] - 8003062: f8d0 321c ldr.w r3, [r0, #540] ; 0x21c - 8003066: f100 010c add.w r1, r0, #12 - 800306a: 7a00 ldrb r0, [r0, #8] - 800306c: f7ff fe7e bl 8002d6c - 8003070: b003 add sp, #12 - 8003072: f85d fb04 ldr.w pc, [sp], #4 + 8002648: 2000012c andcs r0, r0, ip, lsr #2 + +0800264c : + 800264c: b111 cbz r1, 8002654 + 800264e: 21ae movs r1, #174 ; 0xae + 8002650: f7ff bf94 b.w 800257c + 8002654: 21af movs r1, #175 ; 0xaf + 8002656: e7fb b.n 8002650 + +08002658 : + 8002658: b538 push {r3, r4, r5, lr} + 800265a: 4604 mov r4, r0 + 800265c: 460d mov r5, r1 + 800265e: 7181 strb r1, [r0, #6] + 8002660: 2181 movs r1, #129 ; 0x81 + 8002662: f7ff ff8b bl 800257c + 8002666: 4629 mov r1, r5 + 8002668: 4620 mov r0, r4 + 800266a: e8bd 4038 ldmia.w sp!, {r3, r4, r5, lr} + 800266e: f7ff bf85 b.w 800257c + +08002672 : + 8002672: b510 push {r4, lr} + 8002674: 4604 mov r4, r0 + 8002676: 71c1 strb r1, [r0, #7] + 8002678: b141 cbz r1, 800268c + 800267a: 21c0 movs r1, #192 ; 0xc0 + 800267c: f7ff ff7e bl 800257c + 8002680: 21a0 movs r1, #160 ; 0xa0 + 8002682: 4620 mov r0, r4 + 8002684: e8bd 4010 ldmia.w sp!, {r4, lr} + 8002688: f7ff bf78 b.w 800257c + 800268c: 21c8 movs r1, #200 ; 0xc8 + 800268e: f7ff ff75 bl 800257c + 8002692: 21a1 movs r1, #161 ; 0xa1 + 8002694: e7f5 b.n 8002682 ... -08003078 : - 8003078: b5f8 push {r3, r4, r5, r6, r7, lr} - 800307a: 8985 ldrh r5, [r0, #12] - 800307c: ba6d rev16 r5, r5 - 800307e: b2ad uxth r5, r5 - 8003080: 1e6b subs r3, r5, #1 - 8003082: 2b01 cmp r3, #1 - 8003084: 4604 mov r4, r0 - 8003086: d906 bls.n 8003096 - 8003088: 4a37 ldr r2, [pc, #220] ; (8003168 ) - 800308a: 2104 movs r1, #4 - 800308c: 4620 mov r0, r4 - 800308e: e8bd 40f8 ldmia.w sp!, {r3, r4, r5, r6, r7, lr} - 8003092: f7ff bf5d b.w 8002f50 - 8003096: f100 010e add.w r1, r0, #14 - 800309a: 460a mov r2, r1 - 800309c: 4613 mov r3, r2 - 800309e: 3201 adds r2, #1 - 80030a0: 7818 ldrb r0, [r3, #0] - 80030a2: 2800 cmp r0, #0 - 80030a4: d1fa bne.n 800309c - 80030a6: 1a5b subs r3, r3, r1 - 80030a8: 1e5a subs r2, r3, #1 - 80030aa: 2a7f cmp r2, #127 ; 0x7f - 80030ac: d902 bls.n 80030b4 - 80030ae: 4a2f ldr r2, [pc, #188] ; (800316c ) - 80030b0: 4601 mov r1, r0 - 80030b2: e7eb b.n 800308c - 80030b4: 4423 add r3, r4 - 80030b6: f103 000e add.w r0, r3, #14 - 80030ba: f8df c0c4 ldr.w ip, [pc, #196] ; 8003180 - 80030be: f103 060f add.w r6, r3, #15 - 80030c2: 4607 mov r7, r0 - 80030c4: 3313 adds r3, #19 - 80030c6: f817 2f01 ldrb.w r2, [r7, #1]! - 80030ca: f81c eb01 ldrb.w lr, [ip], #1 - 80030ce: 4572 cmp r2, lr - 80030d0: d00c beq.n 80030ec - 80030d2: 4a27 ldr r2, [pc, #156] ; (8003170 ) - 80030d4: 1df3 adds r3, r6, #7 - 80030d6: f810 6f01 ldrb.w r6, [r0, #1]! - 80030da: f812 7b01 ldrb.w r7, [r2], #1 - 80030de: 42be cmp r6, r7 - 80030e0: d1d2 bne.n 8003088 - 80030e2: b10e cbz r6, 80030e8 - 80030e4: 4283 cmp r3, r0 - 80030e6: d1f6 bne.n 80030d6 - 80030e8: 2201 movs r2, #1 - 80030ea: e003 b.n 80030f4 - 80030ec: b112 cbz r2, 80030f4 - 80030ee: 429f cmp r7, r3 - 80030f0: d1e9 bne.n 80030c6 - 80030f2: 2200 movs r2, #0 - 80030f4: 2d02 cmp r5, #2 - 80030f6: 6823 ldr r3, [r4, #0] - 80030f8: d01d beq.n 8003136 - 80030fa: 689b ldr r3, [r3, #8] - 80030fc: 4620 mov r0, r4 - 80030fe: 4798 blx r3 - 8003100: b938 cbnz r0, 8003112 - 8003102: 4a1c ldr r2, [pc, #112] ; (8003174 ) - 8003104: 2101 movs r1, #1 - 8003106: 4620 mov r0, r4 - 8003108: f7ff ff22 bl 8002f50 - 800310c: 2301 movs r3, #1 - 800310e: 6063 str r3, [r4, #4] - 8003110: bdf8 pop {r3, r4, r5, r6, r7, pc} - 8003112: 4d19 ldr r5, [pc, #100] ; (8003178 ) - 8003114: 2145 movs r1, #69 ; 0x45 - 8003116: 6828 ldr r0, [r5, #0] - 8003118: f000 f903 bl 8003322 - 800311c: f8b4 1220 ldrh.w r1, [r4, #544] ; 0x220 - 8003120: 6828 ldr r0, [r5, #0] - 8003122: f000 f8fb bl 800331c - 8003126: 2302 movs r3, #2 - 8003128: 60a0 str r0, [r4, #8] - 800312a: 6063 str r3, [r4, #4] - 800312c: 4620 mov r0, r4 - 800312e: e8bd 40f8 ldmia.w sp!, {r3, r4, r5, r6, r7, lr} - 8003132: f7ff bf32 b.w 8002f9a - 8003136: 68db ldr r3, [r3, #12] - 8003138: 4620 mov r0, r4 - 800313a: 4798 blx r3 - 800313c: b910 cbnz r0, 8003144 - 800313e: 4a0f ldr r2, [pc, #60] ; (800317c ) - 8003140: 4629 mov r1, r5 - 8003142: e7e0 b.n 8003106 - 8003144: 4d0c ldr r5, [pc, #48] ; (8003178 ) - 8003146: 2145 movs r1, #69 ; 0x45 - 8003148: 6828 ldr r0, [r5, #0] - 800314a: f000 f8ea bl 8003322 - 800314e: f8b4 1220 ldrh.w r1, [r4, #544] ; 0x220 - 8003152: 6828 ldr r0, [r5, #0] - 8003154: f000 f8e2 bl 800331c - 8003158: 2304 movs r3, #4 - 800315a: 60a0 str r0, [r4, #8] - 800315c: 6063 str r3, [r4, #4] - 800315e: 4620 mov r0, r4 - 8003160: e8bd 40f8 ldmia.w sp!, {r3, r4, r5, r6, r7, lr} - 8003164: f7ff bf6a b.w 800303c - 8003168: 08006d1e stmdaeq r0, {r1, r2, r3, r4, r8, sl, fp, sp, lr} - 800316c: 08006d30 stmdaeq r0, {r4, r5, r8, sl, fp, sp, lr} - 8003170: 08006d48 stmdaeq r0, {r3, r6, r8, sl, fp, sp, lr} - 8003174: 08006d51 stmdaeq r0, {r0, r4, r6, r8, sl, fp, sp, lr} - 8003178: 20002f10 andcs r2, r0, r0, lsl pc - 800317c: 08006d60 stmdaeq r0, {r5, r6, r8, sl, fp, sp, lr} - 8003180: 08006d42 stmdaeq r0, {r1, r6, r8, sl, fp, sp, lr} - -08003184 : - 8003184: b570 push {r4, r5, r6, lr} - 8003186: 8983 ldrh r3, [r0, #12] - 8003188: f5b3 7f40 cmp.w r3, #768 ; 0x300 - 800318c: 4604 mov r4, r0 - 800318e: d129 bne.n 80031e4 - 8003190: 4601 mov r1, r0 - 8003192: f8d0 5224 ldr.w r5, [r0, #548] ; 0x224 - 8003196: 89c3 ldrh r3, [r0, #14] - 8003198: f851 2b10 ldr.w r2, [r1], #16 - 800319c: 3d04 subs r5, #4 - 800319e: ba5b rev16 r3, r3 - 80031a0: 6996 ldr r6, [r2, #24] - 80031a2: f8a0 3228 strh.w r3, [r0, #552] ; 0x228 - 80031a6: f8c0 522c str.w r5, [r0, #556] ; 0x22c - 80031aa: b29b uxth r3, r3 - 80031ac: 462a mov r2, r5 - 80031ae: 47b0 blx r6 - 80031b0: 4285 cmp r5, r0 - 80031b2: d110 bne.n 80031d6 - 80031b4: f8d4 322c ldr.w r3, [r4, #556] ; 0x22c - 80031b8: f5b3 7f00 cmp.w r3, #512 ; 0x200 - 80031bc: d206 bcs.n 80031cc - 80031be: 2301 movs r3, #1 - 80031c0: f884 3232 strb.w r3, [r4, #562] ; 0x232 - 80031c4: 6823 ldr r3, [r4, #0] - 80031c6: 4620 mov r0, r4 - 80031c8: 691b ldr r3, [r3, #16] - 80031ca: 4798 blx r3 - 80031cc: 4620 mov r0, r4 - 80031ce: e8bd 4070 ldmia.w sp!, {r4, r5, r6, lr} - 80031d2: f7ff bf33 b.w 800303c - 80031d6: 4a04 ldr r2, [pc, #16] ; (80031e8 ) - 80031d8: 2103 movs r1, #3 - 80031da: 4620 mov r0, r4 - 80031dc: f7ff feb8 bl 8002f50 - 80031e0: 2300 movs r3, #0 - 80031e2: 6063 str r3, [r4, #4] - 80031e4: bd70 pop {r4, r5, r6, pc} - 80031e6: bf00 nop - 80031e8: 08006d71 stmdaeq r0, {r0, r4, r5, r6, r8, sl, fp, sp, lr} - -080031ec : - 80031ec: b5f7 push {r0, r1, r2, r4, r5, r6, r7, lr} - 80031ee: 6847 ldr r7, [r0, #4] - 80031f0: 4604 mov r4, r0 - 80031f2: f100 050c add.w r5, r0, #12 - 80031f6: bb07 cbnz r7, 800323a - 80031f8: f8b0 1220 ldrh.w r1, [r0, #544] ; 0x220 - 80031fc: 4e25 ldr r6, [pc, #148] ; (8003294 ) - 80031fe: b139 cbz r1, 8003210 - 8003200: 6830 ldr r0, [r6, #0] - 8003202: f000 f88e bl 8003322 - 8003206: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 800320a: 60a3 str r3, [r4, #8] - 800320c: f8a4 7220 strh.w r7, [r4, #544] ; 0x220 - 8003210: 6830 ldr r0, [r6, #0] - 8003212: 2145 movs r1, #69 ; 0x45 - 8003214: f000 f882 bl 800331c - 8003218: 2300 movs r3, #0 - 800321a: 2201 movs r2, #1 - 800321c: 60a0 str r0, [r4, #8] - 800321e: f8a4 3228 strh.w r3, [r4, #552] ; 0x228 - 8003222: 6062 str r2, [r4, #4] - 8003224: f884 3232 strb.w r3, [r4, #562] ; 0x232 - 8003228: 34a0 adds r4, #160 ; 0xa0 - 800322a: 42ac cmp r4, r5 - 800322c: d102 bne.n 8003234 - 800322e: 2001 movs r0, #1 - 8003230: b003 add sp, #12 - 8003232: bdf0 pop {r4, r5, r6, r7, pc} - 8003234: f805 3b01 strb.w r3, [r5], #1 - 8003238: e7f7 b.n 800322a - 800323a: f500 7308 add.w r3, r0, #544 ; 0x220 - 800323e: 9300 str r3, [sp, #0] - 8003240: f44f 7204 mov.w r2, #528 ; 0x210 - 8003244: f500 7307 add.w r3, r0, #540 ; 0x21c - 8003248: 4629 mov r1, r5 - 800324a: 7a00 ldrb r0, [r0, #8] - 800324c: f7ff fd32 bl 8002cb4 - 8003250: 6863 ldr r3, [r4, #4] - 8003252: f8c4 0224 str.w r0, [r4, #548] ; 0x224 - 8003256: 3b01 subs r3, #1 - 8003258: 2b04 cmp r3, #4 - 800325a: d814 bhi.n 8003286 - 800325c: e8df f003 tbb [pc, r3] - 8003260: 130d0903 movwne r0, #55555 ; 0xd903 - 8003264: 28040013 stmdacs r4, {r0, r1, r4} - 8003268: d9e1 bls.n 800322e - 800326a: 4620 mov r0, r4 - 800326c: f7ff ff04 bl 8003078 - 8003270: e7dd b.n 800322e - 8003272: 4620 mov r0, r4 - 8003274: f7ff fe91 bl 8002f9a - 8003278: e7d9 b.n 800322e - 800327a: 2804 cmp r0, #4 - 800327c: d1d7 bne.n 800322e - 800327e: 4620 mov r0, r4 - 8003280: f7ff feca bl 8003018 - 8003284: e7d3 b.n 800322e - 8003286: f5b0 7f01 cmp.w r0, #516 ; 0x204 - 800328a: d8d0 bhi.n 800322e - 800328c: 4620 mov r0, r4 - 800328e: f7ff ff79 bl 8003184 - 8003292: e7cc b.n 800322e - 8003294: 20002f10 andcs r2, r0, r0, lsl pc - -08003298 : - 8003298: 3901 subs r1, #1 - 800329a: 233f movs r3, #63 ; 0x3f - 800329c: f811 2f01 ldrb.w r2, [r1, #1]! - 80032a0: b92a cbnz r2, 80032ae - 80032a2: 4403 add r3, r0 - 80032a4: 4298 cmp r0, r3 - 80032a6: d006 beq.n 80032b6 - 80032a8: f800 2b01 strb.w r2, [r0], #1 - 80032ac: e7fa b.n 80032a4 - 80032ae: 3b01 subs r3, #1 - 80032b0: f800 2b01 strb.w r2, [r0], #1 - 80032b4: d1f2 bne.n 800329c - 80032b6: 4770 bx lr - -080032b8 : - 80032b8: 4a12 ldr r2, [pc, #72] ; (8003304 ) - 80032ba: 2300 movs r3, #0 - 80032bc: f04f 1101 mov.w r1, #65537 ; 0x10001 - 80032c0: 6010 str r0, [r2, #0] - 80032c2: e9c0 3330 strd r3, r3, [r0, #192] ; 0xc0 - 80032c6: 2201 movs r2, #1 - 80032c8: e9c0 3305 strd r3, r3, [r0, #20] - 80032cc: e9c0 2100 strd r2, r1, [r0] - 80032d0: e9c0 2302 strd r2, r3, [r0, #8] - 80032d4: 490c ldr r1, [pc, #48] ; (8003308 ) - 80032d6: f8c0 30b8 str.w r3, [r0, #184] ; 0xb8 - 80032da: 2200 movs r2, #0 - 80032dc: 6102 str r2, [r0, #16] - 80032de: f8c0 30c8 str.w r3, [r0, #200] ; 0xc8 - 80032e2: f880 30a0 strb.w r3, [r0, #160] ; 0xa0 - 80032e6: 61c3 str r3, [r0, #28] - 80032e8: f880 3020 strb.w r3, [r0, #32] - 80032ec: f880 3060 strb.w r3, [r0, #96] ; 0x60 - 80032f0: f100 02a5 add.w r2, r0, #165 ; 0xa5 - 80032f4: f811 3b01 ldrb.w r3, [r1], #1 - 80032f8: f802 3f01 strb.w r3, [r2, #1]! - 80032fc: 2b00 cmp r3, #0 - 80032fe: d1f9 bne.n 80032f4 - 8003300: 4770 bx lr - 8003302: bf00 nop - 8003304: 20002f10 andcs r2, r0, r0, lsl pc - 8003308: 08006da8 stmdaeq r0, {r3, r5, r7, r8, sl, fp, sp, lr} - -0800330c : - 800330c: b508 push {r3, lr} - 800330e: 30bc adds r0, #188 ; 0xbc - 8003310: f7fd fc4c bl 8000bac - 8003314: e8bd 4008 ldmia.w sp!, {r3, lr} - 8003318: f7fc bf94 b.w 8000244 - -0800331c : - 800331c: 4608 mov r0, r1 - 800331e: f7ff bc8b b.w 8002c38 - -08003322 : - 8003322: 4608 mov r0, r1 - 8003324: f7ff bca6 b.w 8002c74 - -08003328 : - 8003328: f100 039f add.w r3, r0, #159 ; 0x9f - 800332c: 3901 subs r1, #1 - 800332e: 30a5 adds r0, #165 ; 0xa5 - 8003330: f813 2f01 ldrb.w r2, [r3, #1]! - 8003334: f801 2f01 strb.w r2, [r1, #1]! - 8003338: 4283 cmp r3, r0 - 800333a: d1f9 bne.n 8003330 - 800333c: 4770 bx lr - -0800333e : - 800333e: f890 30a4 ldrb.w r3, [r0, #164] ; 0xa4 - 8003342: f890 20a3 ldrb.w r2, [r0, #163] ; 0xa3 - 8003346: 041b lsls r3, r3, #16 - 8003348: eb03 2302 add.w r3, r3, r2, lsl #8 - 800334c: f890 20a5 ldrb.w r2, [r0, #165] ; 0xa5 - 8003350: 3302 adds r3, #2 - 8003352: eb03 6302 add.w r3, r3, r2, lsl #24 - 8003356: 22ff movs r2, #255 ; 0xff - 8003358: e9c0 3206 strd r3, r2, [r0, #24] - 800335c: 6143 str r3, [r0, #20] - 800335e: 4770 bx lr - -08003360 : - 8003360: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 8003364: b0a5 sub sp, #148 ; 0x94 - 8003366: 4604 mov r4, r0 - 8003368: a80b add r0, sp, #44 ; 0x2c - 800336a: f000 f9c1 bl 80036f0 - 800336e: a80b add r0, sp, #44 ; 0x2c - 8003370: f000 f9ca bl 8003708 - 8003374: b110 cbz r0, 800337c - 8003376: a80b add r0, sp, #44 ; 0x2c - 8003378: f000 f9d2 bl 8003720 - 800337c: f104 05bc add.w r5, r4, #188 ; 0xbc - 8003380: 4628 mov r0, r5 - 8003382: f7fd fbcd bl 8000b20 - 8003386: 9b0d ldr r3, [sp, #52] ; 0x34 - 8003388: 9308 str r3, [sp, #32] - 800338a: 9b0e ldr r3, [sp, #56] ; 0x38 - 800338c: 9309 str r3, [sp, #36] ; 0x24 - 800338e: 9b0f ldr r3, [sp, #60] ; 0x3c - 8003390: 930a str r3, [sp, #40] ; 0x28 - 8003392: f89d 3044 ldrb.w r3, [sp, #68] ; 0x44 - 8003396: 7163 strb r3, [r4, #5] - 8003398: 9b0c ldr r3, [sp, #48] ; 0x30 - 800339a: f013 0240 ands.w r2, r3, #64 ; 0x40 - 800339e: bf18 it ne - 80033a0: f8dd 2085 ldrne.w r2, [sp, #133] ; 0x85 - 80033a4: 60e2 str r2, [r4, #12] - 80033a6: 061b lsls r3, r3, #24 - 80033a8: bf4c ite mi - 80033aa: f8dd 3089 ldrmi.w r3, [sp, #137] ; 0x89 - 80033ae: 2300 movpl r3, #0 - 80033b0: f104 06a0 add.w r6, r4, #160 ; 0xa0 - 80033b4: 6123 str r3, [r4, #16] - 80033b6: 4630 mov r0, r6 - 80033b8: f002 f960 bl 800567c - 80033bc: f89d 3045 ldrb.w r3, [sp, #69] ; 0x45 - 80033c0: f104 0720 add.w r7, r4, #32 - 80033c4: 2b00 cmp r3, #0 - 80033c6: f040 80cb bne.w 8003560 - 80033ca: 4987 ldr r1, [pc, #540] ; (80035e8 ) - 80033cc: f104 001f add.w r0, r4, #31 - 80033d0: f811 2b01 ldrb.w r2, [r1], #1 - 80033d4: f103 0c01 add.w ip, r3, #1 - 80033d8: 2a00 cmp r2, #0 - 80033da: f040 80bd bne.w 8003558 - 80033de: f894 20a3 ldrb.w r2, [r4, #163] ; 0xa3 - 80033e2: 0910 lsrs r0, r2, #4 - 80033e4: 2a9f cmp r2, #159 ; 0x9f - 80033e6: f002 020f and.w r2, r2, #15 - 80033ea: bf94 ite ls - 80033ec: 3030 addls r0, #48 ; 0x30 - 80033ee: 3037 addhi r0, #55 ; 0x37 - 80033f0: 18e1 adds r1, r4, r3 - 80033f2: 2a09 cmp r2, #9 - 80033f4: 44a4 add ip, r4 - 80033f6: bf94 ite ls - 80033f8: 3230 addls r2, #48 ; 0x30 - 80033fa: 3237 addhi r2, #55 ; 0x37 - 80033fc: f881 0020 strb.w r0, [r1, #32] - 8003400: f88c 2020 strb.w r2, [ip, #32] - 8003404: f894 20a4 ldrb.w r2, [r4, #164] ; 0xa4 - 8003408: f103 0802 add.w r8, r3, #2 - 800340c: 0910 lsrs r0, r2, #4 - 800340e: 2a9f cmp r2, #159 ; 0x9f - 8003410: eb04 0c08 add.w ip, r4, r8 - 8003414: f002 020f and.w r2, r2, #15 - 8003418: bf94 ite ls - 800341a: 3030 addls r0, #48 ; 0x30 - 800341c: 3037 addhi r0, #55 ; 0x37 - 800341e: f103 0e03 add.w lr, r3, #3 - 8003422: f88c 0020 strb.w r0, [ip, #32] - 8003426: 2a09 cmp r2, #9 - 8003428: eb04 000e add.w r0, r4, lr - 800342c: bf94 ite ls - 800342e: 3230 addls r2, #48 ; 0x30 - 8003430: 3237 addhi r2, #55 ; 0x37 - 8003432: f880 2020 strb.w r2, [r0, #32] - 8003436: f894 20a5 ldrb.w r2, [r4, #165] ; 0xa5 - 800343a: f103 0c04 add.w ip, r3, #4 - 800343e: 0910 lsrs r0, r2, #4 - 8003440: 2a9f cmp r2, #159 ; 0x9f - 8003442: f103 0305 add.w r3, r3, #5 - 8003446: f002 020f and.w r2, r2, #15 - 800344a: bf94 ite ls - 800344c: 3030 addls r0, #48 ; 0x30 - 800344e: 3037 addhi r0, #55 ; 0x37 - 8003450: 4423 add r3, r4 - 8003452: 2a09 cmp r2, #9 - 8003454: 44a4 add ip, r4 - 8003456: bf94 ite ls - 8003458: 3230 addls r2, #48 ; 0x30 - 800345a: 3237 addhi r2, #55 ; 0x37 - 800345c: f88c 0020 strb.w r0, [ip, #32] - 8003460: f883 2020 strb.w r2, [r3, #32] - 8003464: 2300 movs r3, #0 - 8003466: f881 3026 strb.w r3, [r1, #38] ; 0x26 - 800346a: f002 fa17 bl 800589c - 800346e: 7963 ldrb r3, [r4, #5] - 8003470: 6020 str r0, [r4, #0] - 8003472: 2800 cmp r0, #0 - 8003474: f040 80a1 bne.w 80035ba - 8003478: 2b00 cmp r3, #0 - 800347a: f040 80af bne.w 80035dc - 800347e: 9b08 ldr r3, [sp, #32] - 8003480: 2b00 cmp r3, #0 - 8003482: d176 bne.n 8003572 - 8003484: 4620 mov r0, r4 - 8003486: f7ff ff5a bl 800333e - 800348a: 6963 ldr r3, [r4, #20] - 800348c: 69e2 ldr r2, [r4, #28] - 800348e: 9308 str r3, [sp, #32] - 8003490: e9cd 2309 strd r2, r3, [sp, #36] ; 0x24 - 8003494: f104 0905 add.w r9, r4, #5 - 8003498: f104 0a07 add.w sl, r4, #7 - 800349c: 464b mov r3, r9 - 800349e: f8cd a000 str.w sl, [sp] - 80034a2: 463a mov r2, r7 - 80034a4: a908 add r1, sp, #32 - 80034a6: 4630 mov r0, r6 - 80034a8: f7fc fe80 bl 80001ac - 80034ac: 79e3 ldrb r3, [r4, #7] - 80034ae: b11b cbz r3, 80034b8 - 80034b0: 2104 movs r1, #4 - 80034b2: 4628 mov r0, r5 - 80034b4: f7fd fb8c bl 8000bd0 - 80034b8: f89d 308d ldrb.w r3, [sp, #141] ; 0x8d - 80034bc: 9302 str r3, [sp, #8] - 80034be: f89d 3044 ldrb.w r3, [sp, #68] ; 0x44 - 80034c2: 9303 str r3, [sp, #12] - 80034c4: f89d 308d ldrb.w r3, [sp, #141] ; 0x8d - 80034c8: f8df 8124 ldr.w r8, [pc, #292] ; 80035f0 - 80034cc: f8df b124 ldr.w fp, [pc, #292] ; 80035f4 - 80034d0: ebc3 1303 rsb r3, r3, r3, lsl #4 - 80034d4: 009b lsls r3, r3, #2 - 80034d6: 9305 str r3, [sp, #20] - 80034d8: 79e3 ldrb r3, [r4, #7] - 80034da: b38b cbz r3, 8003540 - 80034dc: 9b02 ldr r3, [sp, #8] - 80034de: b37b cbz r3, 8003540 - 80034e0: 9b03 ldr r3, [sp, #12] - 80034e2: b36b cbz r3, 8003540 - 80034e4: f8d8 0000 ldr.w r0, [r8] - 80034e8: 2104 movs r1, #4 - 80034ea: f000 fd6f bl 8003fcc - 80034ee: 2103 movs r1, #3 - 80034f0: 4628 mov r0, r5 - 80034f2: f7fd fb6d bl 8000bd0 - 80034f6: 2000 movs r0, #0 - 80034f8: f000 ffb4 bl 8004464