From cff9c2bcb48edd3de72c6b0046c1f13ee6a74188 Mon Sep 17 00:00:00 2001 From: Robin Mueller Date: Sat, 13 Nov 2021 18:58:51 +0100 Subject: [PATCH] added most recent sections file --- benchmark/sections.txt | 2998 ++++++++++++++++++++++++++++++++++++ benchmark/sections_lto.txt | 4 - sections.txt | 2450 ----------------------------- va108xx-hal-rs | 2 +- 4 files changed, 2999 insertions(+), 2455 deletions(-) create mode 100644 benchmark/sections.txt delete mode 100644 sections.txt diff --git a/benchmark/sections.txt b/benchmark/sections.txt new file mode 100644 index 0000000..c770b6c --- /dev/null +++ b/benchmark/sections.txt @@ -0,0 +1,2998 @@ + +blinky-button-irq: file format elf32-littlearm + +Disassembly of section .text: + +000000c0 <__stext>: + c0: ldr r4, [pc, #0x2c] <$d> + c2: mov lr, r4 + c4: bl 0x9b2 <__pre_init> @ imm = #0x8ea + c8: mov lr, r4 + ca: ldr r0, [pc, #0x28] <$d+0x6> + cc: ldr r1, [pc, #0x28] <$d+0x8> + ce: movs r2, #0x0 + d0: cmp r1, r0 + d2: beq 0xd8 <__stext+0x18> @ imm = #0x2 + d4: stm r0!, {r2} + d6: b 0xd0 <__stext+0x10> @ imm = #-0xa + d8: ldr r0, [pc, #0x20] <$d+0xc> + da: ldr r1, [pc, #0x24] <$d+0x12> + dc: ldr r2, [pc, #0x24] <$d+0x14> + de: cmp r1, r0 + e0: beq 0xe8 <__stext+0x28> @ imm = #0x4 + e2: ldm r2!, {r3} + e4: stm r0!, {r3} + e6: b 0xde <__stext+0x1e> @ imm = #-0xc + e8: bl 0x10c
@ imm = #0x20 + ec: udf #0x0 + +000000ee <$d>: + ee: 00 00 .short 0x0000 + +000000f0 <$d>: + f0: ff ff ff ff .word 0xffffffff + f4: 10 00 00 10 .word 0x10000010 + f8: 5c 04 00 10 .word 0x1000045c + fc: 00 00 00 10 .word 0x10000000 + 100: 10 00 00 10 .word 0x10000010 + 104: 50 1b 00 00 .word 0x00001b50 + +00000108 ::he29365ec1f454834>: + 108: bx lr + +0000010a ::h791ba165b8c1cf2a>: + 10a: bx lr + +0000010c
: + 10c: push {r7, lr} + 10e: add r7, sp, #0x0 + 110: bl 0x118 @ imm = #0x4 + 114: trap + 116: bmi 0xc2 <__stext+0x2> @ imm = #-0x58 + +00000118 : + 118: push {r7, lr} + 11a: add r7, sp, #0x0 + 11c: sub sp, #0x28 + 11e: ldr r6, [pc, #0x158] <$d.4+0x2> + 120: movs r1, #0x30 + 122: mov r0, r6 + 124: bl 0x168c <__aeabi_memclr8> @ imm = #0x1564 + 128: movs r4, #0x1 + 12a: lsls r0, r4, #0xa + 12c: str r0, [sp, #0x4] + 12e: str r0, [sp] + 130: adds r6, #0x18 + 132: ldr r1, [pc, #0x148] <$d.4+0x6> + 134: movs r5, #0x0 + 136: ldr r3, [pc, #0x148] <$d.4+0xa> + 138: mov r0, r6 + 13a: mov r2, r5 + 13c: bl 0x7b8 @ imm = #0x678 + 140: ldr r0, [pc, #0x134] <$d.4> + 142: mov r1, r4 + 144: mov r2, r5 + 146: bl 0x790 @ imm = #0x646 + 14a: mov r0, r6 + 14c: bl 0x54c @ imm = #0x3fc + 150: bl 0x8e0 @ imm = #0x78c + 154: ldr r1, [pc, #0x12c] <$d.4+0xc> + 156: movs r2, #0x20 + 158: str r5, [sp, #0x8] + 15a: mov r0, r5 + 15c: mov r5, r4 + 15e: bl 0x97c @ imm = #0x81a + 162: bl 0x9bc <__primask_r> @ imm = #0x856 + 166: mov r4, r0 + 168: ands r4, r5 + 16a: bl 0x9b4 <__cpsid> @ imm = #0x846 + 16e: bl 0x9c2 @ imm = #0x850 + 172: ldr r0, [pc, #0x114] <$d.4+0x12> + 174: ldrb r6, [r0] + 176: cmp r6, #0x0 + 178: bne 0x17c @ imm = #0x0 + 17a: strb r5, [r0] + 17c: cmp r4, #0x0 + 17e: bne 0x184 @ imm = #0x2 + 180: bl 0x9b8 <__cpsie> @ imm = #0x834 + 184: cmp r6, #0x0 + 186: bne 0x254 @ imm = #0xca + 188: ldr r0, [pc, #0x108] <$d.4+0x1c> + 18a: ldr r1, [r0] + 18c: ldr r2, [pc, #0x108] <$d.4+0x20> + 18e: orrs r2, r1 + 190: str r2, [r0] + 192: bl 0x3e0 @ imm = #0x24a + 196: movs r0, #0x2 + 198: add r6, sp, #0x24 + 19a: movs r3, #0xf + 19c: mov r1, r6 + 19e: mov r2, r6 + 1a0: bl 0x3f8 @ imm = #0x254 + 1a4: movs r0, #0x32 + 1a6: bl 0x4dc <::mhz::hbef7ecfa9a56a219> @ imm = #0x332 + 1aa: bl 0x4e0 <>::from::h69de299fb7f67399> @ imm = #0x332 + 1ae: mov r2, r0 + 1b0: mov r0, r6 + 1b2: mov r1, r6 + 1b4: ldr r4, [sp, #0x8] + 1b6: mov r3, r4 + 1b8: bl 0x4ec @ imm = #0x330 + 1bc: ldr r1, [pc, #0xdc] <$d.4+0x24> + 1be: str r4, [r1, #0x10] + 1c0: ldr r0, [pc, #0xdc] <$d.4+0x28> + 1c2: ldr r2, [r0, #0xc] + 1c4: ldr r3, [sp, #0x4] + 1c6: orrs r2, r3 + 1c8: str r2, [r0, #0xc] + 1ca: str r3, [r0] + 1cc: str r4, [r1, #0x4] + 1ce: ldr r2, [r0, #0xc] + 1d0: movs r3, #0x80 + 1d2: orrs r2, r3 + 1d4: str r2, [r0, #0xc] + 1d6: str r3, [r0] + 1d8: str r4, [r1] + 1da: ldr r1, [r0, #0xc] + 1dc: movs r2, #0x40 + 1de: orrs r1, r2 + 1e0: str r1, [r0, #0xc] + 1e2: str r2, [r0] + 1e4: add r4, sp, #0xc + 1e6: mov r0, r4 + 1e8: bl 0x464 @ imm = #0x278 + 1ec: mov r0, r4 + 1ee: bl 0x488 <::deref_mut::hefa09cec0bd55afa> @ imm = #0x296 + 1f2: cmp r1, #0x0 + 1f4: beq 0x208 @ imm = #0x10 + 1f6: mov r6, r0 + 1f8: lsls r4, r1, #0x2 + 1fa: mov r0, r6 + 1fc: bl 0x48c @ imm = #0x28c + 200: subs r4, r4, #0x4 + 202: adds r6, r6, #0x4 + 204: cmp r4, #0x0 + 206: bne 0x1fa @ imm = #-0x10 + 208: ldr r0, [pc, #0x98] <$d.4+0x2c> + 20a: str r5, [r0] + 20c: str r5, [sp, #0x4] + 20e: lsls r1, r5, #0xf + 210: str r1, [r0] + 212: add r0, sp, #0xc + 214: add r1, sp, #0x18 + 216: ldm r0!, {r2, r3, r4} + 218: stm r1!, {r2, r3, r4} + 21a: bl 0x9bc <__primask_r> @ imm = #0x79e + 21e: mov r6, r0 + 220: bl 0x9b4 <__cpsid> @ imm = #0x790 + 224: bl 0x9c2 @ imm = #0x79a + 228: ldr r0, [pc, #0x7c] <$d.4+0x30> + 22a: ldr r1, [r0] + 22c: cmp r1, #0x0 + 22e: bne 0x260 @ imm = #0x2e + 230: adds r1, r0, #0x4 + 232: add r2, sp, #0x18 + 234: ldm r2!, {r3, r4, r5} + 236: stm r1!, {r3, r4, r5} + 238: ldr r2, [sp, #0x8] + 23a: str r2, [r0] + 23c: ldr r0, [pc, #0x78] <$d.4+0x40> + 23e: ldr r1, [r0] + 240: cmp r1, #0x0 + 242: bne 0x264 @ imm = #0x1e + 244: ldr r1, [sp, #0x4] + 246: ands r6, r1 + 248: str r2, [r0] + 24a: strb r1, [r0, #0x4] + 24c: bne 0x252 @ imm = #0x2 + 24e: bl 0x9b8 <__cpsie> @ imm = #0x766 + 252: b 0x252 @ imm = #-0x4 + 254: ldr r0, [pc, #0x34] <$d.4+0x14> + 256: movs r1, #0x2b + 258: ldr r2, [pc, #0x34] <$d.4+0x18> + 25a: bl 0xb20 @ imm = #0x8c2 + 25e: trap + 260: ldr r0, [pc, #0x48] <$d.4+0x34> + 262: b 0x266 @ imm = #0x0 + 264: ldr r0, [pc, #0x54] <$d.4+0x44> + 266: str r0, [sp] + 268: ldr r0, [pc, #0x44] <$d.4+0x38> + 26a: movs r1, #0x10 + 26c: add r2, sp, #0x24 + 26e: ldr r3, [pc, #0x44] <$d.4+0x3e> + 270: bl 0xbb0 @ imm = #0x93c + 274: trap + 276: mov r8, r8 + +00000278 <$d.4>: + 278: 1c 00 00 10 .word 0x1000001c + 27c: c0 18 00 00 .word 0x000018c0 + 280: 4c 00 00 10 .word 0x1000004c + 284: ec 18 00 00 .word 0x000018ec + 288: 4c 04 00 10 .word 0x1000044c + 28c: 74 18 00 00 .word 0x00001874 + 290: 38 19 00 00 .word 0x00001938 + 294: 7c 00 00 40 .word 0x4000007c + 298: 01 00 40 01 .word 0x01400001 + 29c: 18 20 00 40 .word 0x40002018 + 2a0: 14 00 00 50 .word 0x50000014 + 2a4: 00 e1 00 e0 .word 0xe000e100 + 2a8: 00 00 00 10 .word 0x10000000 + 2ac: 48 19 00 00 .word 0x00001948 + 2b0: 3c 18 00 00 .word 0x0000183c + 2b4: a0 18 00 00 .word 0x000018a0 + 2b8: 14 00 00 10 .word 0x10000014 + 2bc: 58 19 00 00 .word 0x00001958 + +000002c0 : + 2c0: push {r4, r6, r7, lr} + 2c2: add r7, sp, #0x8 + 2c4: bl 0x9bc <__primask_r> @ imm = #0x6f4 + 2c8: mov r4, r0 + 2ca: bl 0x9b4 <__cpsid> @ imm = #0x6e6 + 2ce: bl 0x9c2 @ imm = #0x6f0 + 2d2: ldr r0, [pc, #0x10] <$d.6+0x2> + 2d4: ldr r1, [r0] + 2d6: adds r1, r1, #0x1 + 2d8: str r1, [r0] + 2da: lsls r0, r4, #0x1f + 2dc: bne 0x2e2 @ imm = #0x2 + 2de: bl 0x9b8 <__cpsie> @ imm = #0x6d6 + 2e2: pop {r4, r6, r7, pc} + +000002e4 <$d.6>: + 2e4: 10 00 00 10 .word 0x10000010 + +000002e8 : + 2e8: push {r4, r5, r6, r7, lr} + 2ea: add r7, sp, #0xc + 2ec: sub sp, #0xc + 2ee: bl 0x9bc <__primask_r> @ imm = #0x6ca + 2f2: mov r4, r0 + 2f4: bl 0x9b4 <__cpsid> @ imm = #0x6bc + 2f8: bl 0x9c2 @ imm = #0x6c6 + 2fc: ldr r2, [pc, #0xb4] <$d.8> + 2fe: ldr r0, [r2] + 300: cmp r0, #0x0 + 302: bne 0x394 @ imm = #0x8e + 304: movs r5, #0x0 + 306: mvns r0, r5 + 308: str r0, [r2] + 30a: ldrb r0, [r2, #0x4] + 30c: cmp r0, #0x2 + 30e: mov r1, r5 + 310: beq 0x31e @ imm = #0xa + 312: adds r0, r2, #0x4 + 314: mov r5, r2 + 316: bl 0x488 <::deref_mut::hefa09cec0bd55afa> @ imm = #0x16e + 31a: mov r2, r5 + 31c: mov r5, r0 + 31e: ldr r6, [pc, #0xa4] <$d.8+0x12> + 320: ldr r0, [r6] + 322: ldr r3, [pc, #0xa4] <$d.8+0x16> + 324: cmp r0, r3 + 326: bhs 0x3a2 @ imm = #0x78 + 328: adds r0, r0, #0x1 + 32a: str r0, [r6] + 32c: cmp r5, #0x0 + 32e: beq 0x366 @ imm = #0x34 + 330: ldrb r0, [r6, #0x4] + 332: cmp r0, #0x1 + 334: bne 0x366 @ imm = #0x2e + 336: cmp r0, #0x1 + 338: str r1, [sp, #0x4] + 33a: beq 0x340 @ imm = #0x2 + 33c: movs r0, #0x0 + 33e: b 0x342 @ imm = #0x0 + 340: adds r0, r6, #0x5 + 342: bl 0x3e4 @ imm = #0x9e + 346: cmp r0, #0x0 + 348: beq 0x358 @ imm = #0xc + 34a: ldr r0, [sp, #0x4] + 34c: cmp r0, #0x0 + 34e: beq 0x382 @ imm = #0x30 + 350: mov r0, r5 + 352: bl 0x48c @ imm = #0x136 + 356: b 0x364 @ imm = #0xa + 358: ldr r0, [sp, #0x4] + 35a: cmp r0, #0x0 + 35c: beq 0x388 @ imm = #0x28 + 35e: mov r0, r5 + 360: bl 0x4b4 @ imm = #0x150 + 364: ldr r2, [pc, #0x4c] <$d.8> + 366: movs r0, #0x1 + 368: ands r4, r0 + 36a: ldr r0, [r6] + 36c: subs r0, r0, #0x1 + 36e: str r0, [r6] + 370: ldr r0, [r2] + 372: adds r0, r0, #0x1 + 374: str r0, [r2] + 376: cmp r4, #0x0 + 378: bne 0x37e @ imm = #0x2 + 37a: bl 0x9b8 <__cpsie> @ imm = #0x63a + 37e: add sp, #0xc + 380: pop {r4, r5, r6, r7, pc} + 382: movs r0, #0x0 + 384: ldr r2, [pc, #0x54] <$d.8+0x28> + 386: b 0x38c @ imm = #0x2 + 388: movs r0, #0x0 + 38a: ldr r2, [pc, #0x4c] <$d.8+0x26> + 38c: mov r1, r0 + 38e: bl 0xb4c @ imm = #0x7ba + 392: trap + 394: ldr r0, [pc, #0x20] <$d.8+0x4> + 396: str r0, [sp] + 398: ldr r0, [pc, #0x20] <$d.8+0x8> + 39a: movs r1, #0x10 + 39c: add r2, sp, #0x8 + 39e: ldr r3, [pc, #0x20] <$d.8+0xe> + 3a0: b 0x3ae @ imm = #0xa + 3a2: ldr r0, [pc, #0x28] <$d.8+0x1a> + 3a4: str r0, [sp] + 3a6: ldr r0, [pc, #0x28] <$d.8+0x1e> + 3a8: movs r1, #0x18 + 3aa: add r2, sp, #0x8 + 3ac: ldr r3, [pc, #0x24] <$d.8+0x20> + 3ae: bl 0xbb0 @ imm = #0x7fe + 3b2: trap + +000003b4 <$d.8>: + 3b4: 00 00 00 10 .word 0x10000000 + 3b8: 68 19 00 00 .word 0x00001968 + 3bc: 3c 18 00 00 .word 0x0000183c + 3c0: a0 18 00 00 .word 0x000018a0 + 3c4: 14 00 00 10 .word 0x10000014 + 3c8: ff ff ff 7f .word 0x7fffffff + 3cc: 78 19 00 00 .word 0x00001978 + 3d0: 5c 18 00 00 .word 0x0000185c + 3d4: b0 18 00 00 .word 0x000018b0 + 3d8: 98 19 00 00 .word 0x00001998 + 3dc: 88 19 00 00 .word 0x00001988 + +000003e0 : + 3e0: bx lr + 3e2: bmi 0x38e @ imm = #-0x58 + +000003e4 : + 3e4: movs r0, #0x1 + 3e6: lsls r0, r0, #0xb + 3e8: ldr r1, [pc, #0x8] <$d.4> + 3ea: ldr r1, [r1] + 3ec: ands r1, r0 + 3ee: lsrs r0, r1, #0xb + 3f0: bx lr + 3f2: mov r8, r8 + +000003f4 <$d.4>: + 3f4: 04 00 00 50 .word 0x50000004 + +000003f8 : + 3f8: push {r7, lr} + 3fa: add r7, sp, #0x0 + 3fc: bl 0x404 >::interrupt_edge::h2d7cd0d2272b978b> @ imm = #0x4 + 400: pop {r7, pc} + 402: bmi 0x3ae @ imm = #-0x58 + +00000404 >::interrupt_edge::h2d7cd0d2272b978b>: + 404: push {r4, r5, r7, lr} + 406: add r7, sp, #0x8 + 408: mov r5, r3 + 40a: mov r4, r0 + 40c: cmp r1, #0x0 + 40e: beq 0x41a >::interrupt_edge::h2d7cd0d2272b978b+0x16> @ imm = #0x8 + 410: movs r2, #0x15 + 412: mov r0, r1 + 414: mov r1, r2 + 416: bl 0x538 @ imm = #0x11e + 41a: movs r0, #0x1 + 41c: lsls r1, r0, #0xb + 41e: ldr r0, [pc, #0x38] <$d.5+0x2> + 420: ldr r2, [r0, #0xc] + 422: orrs r2, r1 + 424: str r2, [r0, #0xc] + 426: uxth r2, r5 + 428: ldr r3, [pc, #0x30] <$d.5+0x4> + 42a: str r2, [r3] + 42c: ldr r3, [r0] + 42e: ldr r2, [pc, #0x30] <$d.5+0xa> + 430: ands r3, r2 + 432: str r3, [r0] + 434: uxtb r3, r4 + 436: cmp r3, #0x0 + 438: beq 0x446 >::interrupt_edge::h2d7cd0d2272b978b+0x42> @ imm = #0xa + 43a: cmp r3, #0x1 + 43c: bne 0x44e >::interrupt_edge::h2d7cd0d2272b978b+0x4a> @ imm = #0xe + 43e: ldr r2, [r0, #0x8] + 440: orrs r2, r1 + 442: str r2, [r0, #0x8] + 444: pop {r4, r5, r7, pc} + 446: ldr r1, [r0, #0x8] + 448: ands r1, r2 + 44a: str r1, [r0, #0x8] + 44c: pop {r4, r5, r7, pc} + 44e: ldr r2, [r0, #0x4] + 450: orrs r2, r1 + 452: str r2, [r0, #0x4] + 454: pop {r4, r5, r7, pc} + 456: mov r8, r8 + +00000458 <$d.5>: + 458: 34 00 00 50 .word 0x50000034 + 45c: 2c 10 00 40 .word 0x4000102c + 460: ff f7 ff ff .word 0xfffff7ff + +00000464 : + 464: movs r1, #0x0 + 466: strb r1, [r0, #0xb] + 468: movs r2, #0x1 + 46a: strb r2, [r0, #0xa] + 46c: movs r3, #0x6 + 46e: strb r3, [r0, #0x9] + 470: strb r1, [r0, #0x8] + 472: strb r1, [r0, #0x7] + 474: strb r2, [r0, #0x6] + 476: movs r3, #0x7 + 478: strb r3, [r0, #0x5] + 47a: strb r1, [r0, #0x4] + 47c: strb r1, [r0, #0x3] + 47e: strb r2, [r0, #0x2] + 480: movs r2, #0xa + 482: strb r2, [r0, #0x1] + 484: strb r1, [r0] + 486: bx lr + +00000488 <::deref_mut::hefa09cec0bd55afa>: + 488: movs r1, #0x3 + 48a: bx lr + +0000048c : + 48c: ldrb r1, [r0, #0x2] + 48e: cmp r1, #0x1 + 490: bne 0x4aa @ imm = #0x16 + 492: ldrb r1, [r0] + 494: cmp r1, #0x0 + 496: beq 0x49c @ imm = #0x2 + 498: ldr r1, [pc, #0x14] <$d.6+0x4> + 49a: b 0x49e @ imm = #0x0 + 49c: ldr r1, [pc, #0xc] <$d.6> + 49e: ldrb r0, [r0, #0x1] + 4a0: movs r2, #0x1f + 4a2: ands r2, r0 + 4a4: movs r0, #0x1 + 4a6: lsls r0, r2 + 4a8: str r0, [r1] + 4aa: bx lr + +000004ac <$d.6>: + 4ac: 10 00 00 50 .word 0x50000010 + 4b0: 10 10 00 50 .word 0x50001010 + +000004b4 : + 4b4: ldrb r1, [r0, #0x2] + 4b6: cmp r1, #0x1 + 4b8: bne 0x4d2 @ imm = #0x16 + 4ba: ldrb r1, [r0] + 4bc: cmp r1, #0x0 + 4be: beq 0x4c4 @ imm = #0x2 + 4c0: ldr r1, [pc, #0x14] <$d.8+0x4> + 4c2: b 0x4c6 @ imm = #0x0 + 4c4: ldr r1, [pc, #0xc] <$d.8> + 4c6: ldrb r0, [r0, #0x1] + 4c8: movs r2, #0x1f + 4ca: ands r2, r0 + 4cc: movs r0, #0x1 + 4ce: lsls r0, r2 + 4d0: str r0, [r1] + 4d2: bx lr + +000004d4 <$d.8>: + 4d4: 14 00 00 50 .word 0x50000014 + 4d8: 14 10 00 50 .word 0x50001014 + +000004dc <::mhz::hbef7ecfa9a56a219>: + 4dc: bx lr + 4de: bmi 0x48a <::deref_mut::hefa09cec0bd55afa+0x2> @ imm = #-0x58 + +000004e0 <>::from::h69de299fb7f67399>: + 4e0: ldr r1, [pc, #0x4] <$d.11> + 4e2: muls r0, r1, r0 + 4e4: bx lr + 4e6: mov r8, r8 + +000004e8 <$d.11>: + 4e8: 40 42 0f 00 .word 0x000f4240 + +000004ec : + 4ec: push {r4, r5, r7, lr} + 4ee: add r7, sp, #0x8 + 4f0: mov r0, r2 + 4f2: ldr r1, [pc, #0x38] <$d.1+0x2> + 4f4: ldr r2, [r1] + 4f6: movs r5, #0x1 + 4f8: orrs r2, r5 + 4fa: str r2, [r1] + 4fc: ldr r4, [pc, #0x30] <$d.1+0x4> + 4fe: ldr r2, [r4] + 500: orrs r2, r5 + 502: str r2, [r4] + 504: lsls r2, r5, #0x15 + 506: ldr r5, [r1, #0x8] + 508: orrs r5, r2 + 50a: str r5, [r1, #0x8] + 50c: uxth r1, r3 + 50e: ldr r2, [pc, #0x24] <$d.1+0xa> + 510: str r1, [r2] + 512: ldr r1, [r4] + 514: movs r2, #0x10 + 516: orrs r2, r1 + 518: str r2, [r4] + 51a: movs r1, #0x7d + 51c: lsls r1, r1, #0x3 + 51e: bl 0x15fa <__aeabi_uidiv> @ imm = #0x10d8 + 522: subs r0, r0, #0x1 + 524: str r0, [r4, #0x4] + 526: str r0, [r4, #0x8] + 528: pop {r4, r5, r7, pc} + 52a: mov r8, r8 + +0000052c <$d.1>: + 52c: 74 00 00 40 .word 0x40000074 + 530: 00 00 02 40 .word 0x40020000 + 534: 00 11 00 40 .word 0x40001100 + +00000538 : + 538: uxtb r0, r1 + 53a: movs r1, #0x1 + 53c: lsls r1, r0 + 53e: ldr r0, [pc, #0x8] <$d.9+0x2> + 540: ldr r2, [r0] + 542: orrs r2, r1 + 544: str r2, [r0] + 546: bx lr + +00000548 <$d.9>: + 548: 7c 00 00 40 .word 0x4000007c + +0000054c : + 54c: bx lr + +0000054e : + 54e: ldr r0, [r0] + 550: ldr r2, [r0, #0x14] + 552: movs r3, #0x3 + 554: bics r2, r3 + 556: orrs r2, r1 + 558: dmb sy + 55c: dmb sy + 560: str r2, [r0, #0x14] + 562: dmb sy + 566: bx lr + +00000568 : + 568: ldr r1, [pc, #0x18] <$d.15> + 56a: ldr r2, [r1, #0x10] + 56c: cmp r2, r0 + 56e: bls 0x580 @ imm = #0xe + 570: movs r2, #0x18 + 572: muls r2, r0, r2 + 574: adds r1, r1, r2 + 576: ldr r0, [r1, #0x1c] + 578: subs r2, r0, #0x1 + 57a: sbcs r0, r2 + 57c: adds r1, #0x18 + 57e: bx lr + 580: movs r0, #0x0 + 582: bx lr + +00000584 <$d.15>: + 584: 1c 00 00 10 .word 0x1000001c + +00000588 <::write_fmt::hdc924a788f6db9e4>: + 588: push {r4, r5, r6, r7, lr} + 58a: add r7, sp, #0xc + 58c: sub sp, #0x2c + 58e: ldr r0, [r0] + 590: ldr r2, [r0, #0xc] + 592: dmb sy + 596: ldr r3, [r0, #0x10] + 598: dmb sy + 59c: ldr r4, [r0, #0x8] + 59e: cmp r2, r4 + 5a0: bhs 0x5a6 <::write_fmt::hdc924a788f6db9e4+0x1e> @ imm = #0x2 + 5a2: cmp r3, r4 + 5a4: blo 0x5bc <::write_fmt::hdc924a788f6db9e4+0x34> @ imm = #0x14 + 5a6: dmb sy + 5aa: movs r2, #0x0 + 5ac: str r2, [r0, #0xc] + 5ae: dmb sy + 5b2: dmb sy + 5b6: str r2, [r0, #0x10] + 5b8: dmb sy + 5bc: mov r4, sp + 5be: movs r3, #0x0 + 5c0: strb r3, [r4, #0xc] + 5c2: add r5, sp, #0x0 + 5c4: stm r5!, {r0, r2, r3} + 5c6: str r4, [sp, #0x10] + 5c8: add r2, sp, #0x14 + 5ca: mov r0, r2 + 5cc: ldm r1!, {r3, r5, r6} + 5ce: stm r0!, {r3, r5, r6} + 5d0: ldm r1!, {r3, r5, r6} + 5d2: stm r0!, {r3, r5, r6} + 5d4: add r0, sp, #0x10 + 5d6: ldr r1, [pc, #0x1c] <$d.18+0x2> + 5d8: bl 0xbf8 @ imm = #0x61c + 5dc: ldrb r1, [r4, #0xc] + 5de: cmp r1, #0x1 + 5e0: bhi 0x5f0 <::write_fmt::hdc924a788f6db9e4+0x68> @ imm = #0xc + 5e2: ldr r1, [sp, #0x4] + 5e4: ldr r2, [sp] + 5e6: dmb sy + 5ea: str r1, [r2, #0xc] + 5ec: dmb sy + 5f0: add sp, #0x2c + 5f2: pop {r4, r5, r6, r7, pc} + +000005f4 <$d.18>: + 5f4: a8 19 00 00 .word 0x000019a8 + +000005f8 : + 5f8: push {r4, r5, r6, r7, lr} + 5fa: add r7, sp, #0xc + 5fc: sub sp, #0x1c + 5fe: mov r3, r1 + 600: mov r4, r0 + 602: ldr r0, [r1] + 604: ldr r6, [r0, #0xc] + 606: dmb sy + 60a: ldr r1, [r0, #0x10] + 60c: dmb sy + 610: uxtb r5, r2 + 612: ldr r2, [r0, #0x8] + 614: cmp r6, r2 + 616: bhs 0x61c @ imm = #0x2 + 618: cmp r1, r2 + 61a: blo 0x632 @ imm = #0x14 + 61c: dmb sy + 620: movs r6, #0x0 + 622: str r6, [r0, #0xc] + 624: dmb sy + 628: dmb sy + 62c: str r6, [r0, #0x10] + 62e: dmb sy + 632: add r2, sp, #0x8 + 634: movs r1, #0x0 + 636: strb r1, [r2, #0xc] + 638: str r1, [sp, #0x10] + 63a: str r6, [sp, #0xc] + 63c: str r0, [sp, #0x8] + 63e: adds r6, r3, #0x4 + 640: ldrb r2, [r3, #0x4] + 642: cmp r2, r5 + 644: beq 0x678 @ imm = #0x30 + 646: movs r2, #0xf + 648: ands r2, r5 + 64a: ldr r3, [pc, #0x48] <$d.24+0x2> + 64c: ldrb r3, [r3, r2] + 64e: ldr r0, [r0, #0x14] + 650: dmb sy + 654: add r2, sp, #0x18 + 656: strb r3, [r2, #0x1] + 658: movs r3, #0xff + 65a: strb r3, [r2] + 65c: movs r3, #0x3 + 65e: ands r3, r0 + 660: cmp r3, #0x3 + 662: mov r0, r1 + 664: beq 0x668 @ imm = #0x0 + 666: mov r0, r3 + 668: cmp r0, #0x1 + 66a: beq 0x66e @ imm = #0x0 + 66c: mov r1, r0 + 66e: add r0, sp, #0x8 + 670: movs r3, #0x2 + 672: bl 0x7dc @ imm = #0x166 + 676: strb r5, [r6] + 678: add r0, sp, #0x8 + 67a: mov r1, r4 + 67c: str r5, [sp, #0x4] + 67e: mov r5, r4 + 680: str r6, [sp] + 682: ldm r0!, {r2, r3, r4, r6} + 684: stm r1!, {r2, r3, r4, r6} + 686: ldr r0, [sp] + 688: str r0, [r5, #0x10] + 68a: ldr r0, [sp, #0x4] + 68c: strb r0, [r5, #0x14] + 68e: add sp, #0x1c + 690: pop {r4, r5, r6, r7, pc} + 692: mov r8, r8 + +00000694 <$d.24>: + 694: 4c 18 00 00 .word 0x0000184c + +00000698 : + 698: push {r4, r5, r7, lr} + 69a: add r7, sp, #0x8 + 69c: sub sp, #0x8 + 69e: movs r4, #0x0 + 6a0: str r4, [sp, #0x4] + 6a2: cmp r1, #0x80 + 6a4: bhs 0x6ae @ imm = #0x6 + 6a6: add r2, sp, #0x4 + 6a8: strb r1, [r2] + 6aa: movs r3, #0x1 + 6ac: b 0x70e @ imm = #0x5e + 6ae: lsrs r2, r1, #0xb + 6b0: bne 0x6c8 @ imm = #0x14 + 6b2: movs r2, #0x3f + 6b4: ands r2, r1 + 6b6: adds r2, #0x80 + 6b8: add r3, sp, #0x4 + 6ba: strb r2, [r3, #0x1] + 6bc: lsrs r1, r1, #0x6 + 6be: movs r2, #0xc0 + 6c0: orrs r2, r1 + 6c2: strb r2, [r3] + 6c4: movs r3, #0x2 + 6c6: b 0x70e @ imm = #0x44 + 6c8: lsrs r2, r1, #0x10 + 6ca: bne 0x6ea @ imm = #0x1c + 6cc: movs r2, #0x3f + 6ce: ands r2, r1 + 6d0: adds r2, #0x80 + 6d2: add r3, sp, #0x4 + 6d4: strb r2, [r3, #0x2] + 6d6: lsrs r2, r1, #0xc + 6d8: movs r5, #0xe0 + 6da: orrs r5, r2 + 6dc: strb r5, [r3] + 6de: lsls r1, r1, #0x14 + 6e0: lsrs r1, r1, #0x1a + 6e2: adds r1, #0x80 + 6e4: strb r1, [r3, #0x1] + 6e6: movs r3, #0x3 + 6e8: b 0x70e @ imm = #0x22 + 6ea: movs r2, #0x3f + 6ec: ands r2, r1 + 6ee: adds r2, #0x80 + 6f0: add r3, sp, #0x4 + 6f2: strb r2, [r3, #0x3] + 6f4: lsrs r2, r1, #0x12 + 6f6: movs r5, #0xf0 + 6f8: orrs r5, r2 + 6fa: strb r5, [r3] + 6fc: lsls r2, r1, #0x14 + 6fe: lsrs r2, r2, #0x1a + 700: adds r2, #0x80 + 702: strb r2, [r3, #0x2] + 704: lsls r1, r1, #0xe + 706: lsrs r1, r1, #0x1a + 708: adds r1, #0x80 + 70a: strb r1, [r3, #0x1] + 70c: movs r3, #0x4 + 70e: ldr r1, [r0] + 710: ldr r1, [r1, #0x14] + 712: movs r2, #0x3 + 714: ands r2, r1 + 716: cmp r2, #0x3 + 718: mov r1, r4 + 71a: beq 0x71e @ imm = #0x0 + 71c: mov r1, r2 + 71e: dmb sy + 722: add r2, sp, #0x4 + 724: bl 0x7dc @ imm = #0xb4 + 728: mov r0, r4 + 72a: add sp, #0x8 + 72c: pop {r4, r5, r7, pc} + +0000072e ::h7cc291cdf5493fd5.llvm.5289361103779779729>: + 72e: bx lr + +00000730 <<&mut W as core::fmt::Write>::write_char::h5b5b90fd90cd1d6e>: + 730: push {r7, lr} + 732: add r7, sp, #0x0 + 734: ldr r0, [r0] + 736: bl 0x698 @ imm = #-0xa2 + 73a: movs r0, #0x0 + 73c: pop {r7, pc} + 73e: bmi 0x6ea @ imm = #-0x58 + +00000740 <<&mut W as core::fmt::Write>::write_fmt::h88024271bef3690e>: + 740: push {r4, r5, r7, lr} + 742: add r7, sp, #0x8 + 744: sub sp, #0x20 + 746: ldr r0, [r0] + 748: str r0, [sp, #0x4] + 74a: add r2, sp, #0x8 + 74c: mov r0, r2 + 74e: ldm r1!, {r3, r4, r5} + 750: stm r0!, {r3, r4, r5} + 752: ldm r1!, {r3, r4, r5} + 754: stm r0!, {r3, r4, r5} + 756: add r0, sp, #0x4 + 758: ldr r1, [pc, #0x8] <$d.6> + 75a: bl 0xbf8 @ imm = #0x49a + 75e: add sp, #0x20 + 760: pop {r4, r5, r7, pc} + 762: mov r8, r8 + +00000764 <$d.6>: + 764: a8 19 00 00 .word 0x000019a8 + +00000768 <<&mut W as core::fmt::Write>::write_str::hf023da69e6bcdd4c>: + 768: push {r4, r5, r7, lr} + 76a: add r7, sp, #0x8 + 76c: mov r3, r2 + 76e: mov r2, r1 + 770: ldr r0, [r0] + 772: ldr r1, [r0] + 774: ldr r1, [r1, #0x14] + 776: movs r5, #0x3 + 778: ands r5, r1 + 77a: movs r4, #0x0 + 77c: cmp r5, #0x3 + 77e: mov r1, r4 + 780: beq 0x784 <<&mut W as core::fmt::Write>::write_str::hf023da69e6bcdd4c+0x1c> @ imm = #0x0 + 782: mov r1, r5 + 784: dmb sy + 788: bl 0x7dc @ imm = #0x50 + 78c: mov r0, r4 + 78e: pop {r4, r5, r7, pc} + +00000790 : + 790: push {r4, r6, r7, lr} + 792: add r7, sp, #0x8 + 794: mov r4, r0 + 796: str r1, [r0, #0x10] + 798: str r2, [r0, #0x14] + 79a: ldr r1, [pc, #0x14] <$d.9+0x2> + 79c: movs r2, #0x5 + 79e: bl 0x1604 <__aeabi_memcpy> @ imm = #0xe62 + 7a2: dmb sy + 7a6: adds r0, r4, #0x4 + 7a8: ldr r1, [pc, #0x8] <$d.9+0x4> + 7aa: ldm r1!, {r2, r3, r4} + 7ac: stm r0!, {r2, r3, r4} + 7ae: pop {r4, r6, r7, pc} + +000007b0 <$d.9>: + 7b0: c0 19 00 00 .word 0x000019c0 + 7b4: c8 19 00 00 .word 0x000019c8 + +000007b8 : + 7b8: push {r4, r6, r7, lr} + 7ba: add r7, sp, #0x8 + 7bc: str r1, [r0] + 7be: ldr r1, [r7, #0x8] + 7c0: str r1, [r0, #0x8] + 7c2: ldr r1, [r0, #0x14] + 7c4: movs r4, #0x3 + 7c6: bics r1, r4 + 7c8: orrs r1, r2 + 7ca: dmb sy + 7ce: dmb sy + 7d2: str r1, [r0, #0x14] + 7d4: dmb sy + 7d8: str r3, [r0, #0x4] + 7da: pop {r4, r6, r7, pc} + +000007dc : + 7dc: push {r4, r5, r6, r7, lr} + 7de: add r7, sp, #0xc + 7e0: sub sp, #0x14 + 7e2: str r3, [sp, #0x10] + 7e4: str r2, [sp, #0x8] + 7e6: str r1, [sp, #0xc] + 7e8: mov r5, r0 + 7ea: ldrb r0, [r0, #0xc] + 7ec: cmp r0, #0x0 + 7ee: bne 0x8b4 @ imm = #0xc2 + 7f0: ldr r0, [sp, #0x10] + 7f2: cmp r0, #0x0 + 7f4: beq 0x8b4 @ imm = #0xbc + 7f6: ldr r0, [r5] + 7f8: ldr r3, [r0, #0xc] + 7fa: dmb sy + 7fe: ldr r1, [r0, #0x10] + 800: dmb sy + 804: ldr r2, [r0, #0x8] + 806: cmp r3, r2 + 808: bhs 0x818 @ imm = #0xc + 80a: cmp r1, r2 + 80c: bhs 0x818 @ imm = #0x8 + 80e: ldr r6, [r5, #0x4] + 810: cmp r1, r6 + 812: bls 0x85e @ imm = #0x48 + 814: mvns r0, r6 + 816: b 0x836 @ imm = #0x1c + 818: dmb sy + 81c: movs r1, #0x0 + 81e: str r1, [r0, #0xc] + 820: dmb sy + 824: dmb sy + 828: str r1, [r0, #0x10] + 82a: dmb sy + 82e: ldr r6, [r5, #0x4] + 830: mvns r0, r6 + 832: ldr r1, [r5] + 834: ldr r1, [r1, #0x8] + 836: adds r0, r1, r0 + 838: ldr r4, [sp, #0x10] + 83a: cmp r0, r4 + 83c: bhi 0x840 @ imm = #0x0 + 83e: mov r4, r0 + 840: cmp r4, #0x0 + 842: bne 0x874 @ imm = #0x2e + 844: ldr r0, [sp, #0xc] + 846: cmp r0, #0x2 + 848: bne 0x86a @ imm = #0x1e + 84a: ldr r0, [r5] + 84c: dmb sy + 850: str r6, [r0, #0xc] + 852: dmb sy + 856: ldrb r0, [r5, #0xc] + 858: cmp r0, #0x0 + 85a: beq 0x7f6 @ imm = #-0x68 + 85c: b 0x8b4 @ imm = #0x54 + 85e: cmp r1, #0x0 + 860: beq 0x830 @ imm = #-0x34 + 862: ldr r0, [r5] + 864: ldr r0, [r0, #0x8] + 866: subs r0, r0, r6 + 868: b 0x838 @ imm = #-0x34 + 86a: ldr r0, [sp, #0xc] + 86c: cmp r0, #0x0 + 86e: beq 0x8b0 @ imm = #0x3e + 870: movs r0, #0x1 + 872: strb r0, [r5, #0xc] + 874: ldr r0, [r5] + 876: str r0, [sp, #0x4] + 878: ldr r0, [r0, #0x4] + 87a: adds r0, r0, r6 + 87c: ldr r1, [sp, #0x8] + 87e: mov r2, r4 + 880: bl 0x1604 <__aeabi_memcpy> @ imm = #0xd80 + 884: adds r0, r4, r6 + 886: str r0, [r5, #0x4] + 888: ldr r1, [r5, #0x8] + 88a: adds r1, r1, r4 + 88c: str r1, [r5, #0x8] + 88e: ldr r1, [sp, #0x4] + 890: ldr r1, [r1, #0x8] + 892: cmp r0, r1 + 894: blo 0x89a @ imm = #0x2 + 896: movs r0, #0x0 + 898: str r0, [r5, #0x4] + 89a: ldrb r0, [r5, #0xc] + 89c: cmp r0, #0x0 + 89e: bne 0x8b4 @ imm = #0x12 + 8a0: ldr r0, [sp, #0x8] + 8a2: adds r0, r0, r4 + 8a4: str r0, [sp, #0x8] + 8a6: ldr r0, [sp, #0x10] + 8a8: subs r0, r0, r4 + 8aa: str r0, [sp, #0x10] + 8ac: bne 0x7f6 @ imm = #-0xba + 8ae: b 0x8b4 @ imm = #0x2 + 8b0: movs r0, #0x2 + 8b2: strb r0, [r5, #0xc] + 8b4: add sp, #0x14 + 8b6: pop {r4, r5, r6, r7, pc} + +000008b8 : + 8b8: push {r4, r5, r6, r7, lr} + 8ba: add r7, sp, #0xc + 8bc: sub sp, #0x4 + 8be: mov r4, r1 + 8c0: mov r5, r0 + 8c2: bl 0x9bc <__primask_r> @ imm = #0xf6 + 8c6: mov r6, r0 + 8c8: bl 0x9b4 <__cpsid> @ imm = #0xe8 + 8cc: bl 0x9c2 @ imm = #0xf2 + 8d0: mov r0, r5 + 8d2: blx r4 + 8d4: lsls r0, r6, #0x1f + 8d6: bne 0x8dc @ imm = #0x2 + 8d8: bl 0x9b8 <__cpsie> @ imm = #0xdc + 8dc: add sp, #0x4 + 8de: pop {r4, r5, r6, r7, pc} + +000008e0 : + 8e0: push {r4, r5, r7, lr} + 8e2: add r7, sp, #0x8 + 8e4: mov r4, r0 + 8e6: bl 0x9bc <__primask_r> @ imm = #0xd2 + 8ea: mov r5, r0 + 8ec: bl 0x9b4 <__cpsid> @ imm = #0xc4 + 8f0: bl 0x9c2 @ imm = #0xce + 8f4: ldr r0, [pc, #0x1c] <$d.6> + 8f6: movs r1, #0x0 + 8f8: strb r1, [r0, #0x4] + 8fa: str r4, [r0] + 8fc: lsls r0, r5, #0x1f + 8fe: bne 0x904 @ imm = #0x2 + 900: bl 0x9b8 <__cpsie> @ imm = #0xb4 + 904: dmb sy + 908: ldr r0, [pc, #0xc] <$d.6+0x4> + 90a: ldr r1, [pc, #0x10] <$d.6+0xa> + 90c: str r1, [r0] + 90e: dmb sy + 912: pop {r4, r5, r7, pc} + +00000914 <$d.6>: + 914: 54 04 00 10 .word 0x10000454 + 918: 50 04 00 10 .word 0x10000450 + 91c: d4 19 00 00 .word 0x000019d4 + +00000920 : + 920: push {r4, r5, r7, lr} + 922: add r7, sp, #0x8 + 924: sub sp, #0x18 + 926: mov r5, r0 + 928: ldrb r2, [r0] + 92a: mov r4, sp + 92c: ldr r1, [pc, #0x48] <$d.3> + 92e: mov r0, r4 + 930: bl 0x5f8 @ imm = #-0x33c + 934: ldr r0, [r5, #0x4] + 936: ldm r0!, {r2, r3} + 938: ldr r0, [sp] + 93a: ldr r0, [r0, #0x14] + 93c: movs r1, #0x3 + 93e: ands r1, r0 + 940: cmp r1, #0x3 + 942: bne 0x946 @ imm = #0x0 + 944: movs r1, #0x0 + 946: dmb sy + 94a: mov r0, r4 + 94c: bl 0x7dc @ imm = #-0x174 + 950: ldrb r0, [r4, #0xc] + 952: cmp r0, #0x2 + 954: bne 0x964 @ imm = #0xc + 956: ldr r0, [sp, #0x10] + 958: ldr r1, [sp, #0x14] + 95a: strb r1, [r0] + 95c: mov r0, sp + 95e: ldrb r0, [r0, #0xc] + 960: cmp r0, #0x1 + 962: bhi 0x972 @ imm = #0xc + 964: ldr r0, [sp, #0x4] + 966: ldr r1, [sp] + 968: dmb sy + 96c: str r0, [r1, #0xc] + 96e: dmb sy + 972: add sp, #0x18 + 974: pop {r4, r5, r7, pc} + 976: mov r8, r8 + +00000978 <$d.3>: + 978: 54 04 00 10 .word 0x10000454 + +0000097c : + 97c: push {r7, lr} + 97e: add r7, sp, #0x0 + 980: sub sp, #0x10 + 982: str r2, [sp, #0x4] + 984: str r1, [sp] + 986: ldr r1, [pc, #0x20] <$d.5+0x2> + 988: ldr r1, [r1] + 98a: dmb sy + 98e: cmp r1, #0x0 + 990: beq 0x9a2 @ imm = #0xe + 992: add r2, sp, #0x8 + 994: strb r0, [r2] + 996: mov r0, sp + 998: str r0, [sp, #0xc] + 99a: ldr r3, [r1] + 99c: ldr r1, [pc, #0xc] <$d.5+0x4> + 99e: mov r0, r2 + 9a0: blx r3 + 9a2: add sp, #0x10 + 9a4: pop {r7, pc} + 9a6: mov r8, r8 + +000009a8 <$d.5>: + 9a8: 50 04 00 10 .word 0x10000450 + 9ac: 21 09 00 00 .word 0x00000921 + +000009b0 : + 9b0: b 0x9b0 @ imm = #-0x4 + +000009b2 <__pre_init>: + 9b2: bx lr + +000009b4 <__cpsid>: + 9b4: cpsid i + 9b6: bx lr + +000009b8 <__cpsie>: + 9b8: cpsie i + 9ba: bx lr + +000009bc <__primask_r>: + 9bc: mrs r0, primask + 9c0: bx lr + +000009c2 : + 9c2: bx lr + +000009c4 : + 9c4: ldr r0, [r0] + 9c6: b 0x9c6 @ imm = #-0x4 + +000009c8 >>::hfaa022ea9f302e4a>: + 9c8: bx lr + 9ca: bmi 0x976 @ imm = #-0x58 + +000009cc <::type_id::hc7e5c3525e389ccd>: + 9cc: ldr r0, [pc, #0x4] <$d.164> + 9ce: ldr r1, [pc, #0x8] <$d.164+0x6> + 9d0: bx lr + 9d2: mov r8, r8 + +000009d4 <$d.164>: + 9d4: 4e 08 33 ba .word 0xba33084e + 9d8: eb 93 15 f1 .word 0xf11593eb + +000009dc <::fmt::h13cefdfa433bd005>: + 9dc: push {r7, lr} + 9de: add r7, sp, #0x0 + 9e0: ldr r0, [r1, #0x18] + 9e2: ldr r1, [r1, #0x1c] + 9e4: ldr r3, [r1, #0xc] + 9e6: ldr r1, [pc, #0x8] <$d.186+0x2> + 9e8: movs r2, #0xb + 9ea: blx r3 + 9ec: pop {r7, pc} + 9ee: mov r8, r8 + +000009f0 <$d.186>: + 9f0: d8 19 00 00 .word 0x000019d8 + +000009f4 <::fmt::hf6fce6dfb3862f4b>: + 9f4: push {r7, lr} + 9f6: add r7, sp, #0x0 + 9f8: ldr r0, [r1, #0x18] + 9fa: ldr r1, [r1, #0x1c] + 9fc: ldr r3, [r1, #0xc] + 9fe: ldr r1, [pc, #0x8] <$d.190+0x2> + a00: movs r2, #0xe + a02: blx r3 + a04: pop {r7, pc} + a06: mov r8, r8 + +00000a08 <$d.190>: + a08: e3 19 00 00 .word 0x000019e3 + +00000a0c <::fmt::hfe5dd1fd882165a9>: + a0c: push {r4, r5, r6, r7, lr} + a0e: add r7, sp, #0xc + a10: sub sp, #0x44 + a12: mov r4, r0 + a14: ldr r5, [r1, #0x18] + a16: ldr r6, [r1, #0x1c] + a18: ldr r3, [r6, #0xc] + a1a: ldr r1, [pc, #0xe0] <$d.264+0x2> + a1c: movs r2, #0xc + a1e: mov r0, r5 + a20: blx r3 + a22: movs r2, #0x1 + a24: cmp r0, #0x0 + a26: bne 0xa68 <::fmt::hfe5dd1fd882165a9+0x5c> @ imm = #0x3e + a28: str r6, [sp, #0xc] + a2a: ldr r0, [r4, #0x8] + a2c: cmp r0, #0x0 + a2e: str r4, [sp, #0x8] + a30: beq 0xa6e <::fmt::hfe5dd1fd882165a9+0x62> @ imm = #0x3a + a32: str r0, [sp, #0x10] + a34: ldr r0, [pc, #0xc8] <$d.264+0x4> + a36: str r0, [sp, #0x18] + a38: add r0, sp, #0x10 + a3a: str r0, [sp, #0x14] + a3c: movs r0, #0x1 + a3e: str r0, [sp, #0x40] + a40: add r0, sp, #0x14 + a42: str r0, [sp, #0x3c] + a44: movs r0, #0x0 + a46: str r0, [sp, #0x38] + a48: str r0, [sp, #0x34] + a4a: movs r0, #0x2 + a4c: str r0, [sp, #0x30] + a4e: ldr r0, [pc, #0xb4] <$d.264+0xa> + a50: str r0, [sp, #0x2c] + a52: mov r6, r2 + a54: add r2, sp, #0x2c + a56: mov r4, r5 + a58: mov r0, r5 + a5a: ldr r5, [sp, #0xc] + a5c: mov r1, r5 + a5e: bl 0xbf8 @ imm = #0x196 + a62: mov r2, r6 + a64: cmp r0, #0x0 + a66: beq 0xab8 <::fmt::hfe5dd1fd882165a9+0xac> @ imm = #0x4e + a68: mov r0, r2 + a6a: add sp, #0x44 + a6c: pop {r4, r5, r6, r7, pc} + a6e: ldm r4!, {r0, r1} + a70: ldr r1, [r1, #0xc] + a72: mov r6, r0 + a74: str r2, [sp, #0x4] + a76: blx r1 + a78: ldr r2, [pc, #0x8c] <$d.264+0xc> + a7a: eors r2, r1 + a7c: ldr r1, [pc, #0x8c] <$d.264+0x10> + a7e: eors r1, r0 + a80: orrs r1, r2 + a82: mov r4, r5 + a84: ldr r5, [sp, #0xc] + a86: bne 0xab8 <::fmt::hfe5dd1fd882165a9+0xac> @ imm = #0x2e + a88: str r6, [sp, #0x10] + a8a: ldr r0, [pc, #0x84] <$d.264+0x16> + a8c: str r0, [sp, #0x18] + a8e: add r0, sp, #0x10 + a90: str r0, [sp, #0x14] + a92: movs r0, #0x1 + a94: str r0, [sp, #0x40] + a96: add r0, sp, #0x14 + a98: str r0, [sp, #0x3c] + a9a: movs r0, #0x0 + a9c: str r0, [sp, #0x38] + a9e: str r0, [sp, #0x34] + aa0: movs r0, #0x2 + aa2: str r0, [sp, #0x30] + aa4: ldr r0, [pc, #0x5c] <$d.264+0x8> + aa6: str r0, [sp, #0x2c] + aa8: add r2, sp, #0x2c + aaa: mov r0, r4 + aac: mov r1, r5 + aae: bl 0xbf8 @ imm = #0x146 + ab2: ldr r2, [sp, #0x4] + ab4: cmp r0, #0x0 + ab6: bne 0xa68 <::fmt::hfe5dd1fd882165a9+0x5c> @ imm = #-0x52 + ab8: ldr r0, [sp, #0x8] + aba: ldr r0, [r0, #0xc] + abc: ldr r1, [pc, #0x54] <$d.264+0x18> + abe: str r1, [sp, #0x28] + ac0: mov r2, r0 + ac2: adds r2, #0xc + ac4: str r2, [sp, #0x24] + ac6: str r1, [sp, #0x20] + ac8: mov r1, r0 + aca: adds r1, #0x8 + acc: str r1, [sp, #0x1c] + ace: ldr r1, [pc, #0x48] <$d.264+0x1e> + ad0: str r1, [sp, #0x18] + ad2: str r0, [sp, #0x14] + ad4: movs r0, #0x3 + ad6: str r0, [sp, #0x40] + ad8: add r1, sp, #0x14 + ada: str r1, [sp, #0x3c] + adc: movs r1, #0x0 + ade: str r1, [sp, #0x38] + ae0: str r1, [sp, #0x34] + ae2: str r0, [sp, #0x30] + ae4: ldr r0, [pc, #0x34] <$d.264+0x20> + ae6: str r0, [sp, #0x2c] + ae8: add r2, sp, #0x2c + aea: mov r0, r4 + aec: mov r1, r5 + aee: bl 0xbf8 @ imm = #0x106 + af2: mov r2, r0 + af4: mov r0, r2 + af6: add sp, #0x44 + af8: pop {r4, r5, r6, r7, pc} + afa: mov r8, r8 + +00000afc <$d.264>: + afc: 1c 1a 00 00 .word 0x00001a1c + b00: c5 14 00 00 .word 0x000014c5 + b04: 2c 1a 00 00 .word 0x00001a2c + b08: 1e a9 f2 7e .word 0x7ef2a91e + b0c: f4 bc c7 ec .word 0xecc7bcf4 + b10: e9 14 00 00 .word 0x000014e9 + b14: ad 13 00 00 .word 0x000013ad + b18: b5 14 00 00 .word 0x000014b5 + b1c: f4 19 00 00 .word 0x000019f4 + +00000b20 : + b20: push {r7, lr} + b22: add r7, sp, #0x0 + b24: sub sp, #0x20 + b26: movs r3, #0x0 + b28: str r3, [sp, #0x14] + b2a: ldr r4, [pc, #0x1c] <$d.266+0x2> + b2c: str r4, [sp, #0x10] + b2e: str r3, [sp, #0xc] + b30: str r3, [sp, #0x8] + b32: movs r3, #0x1 + b34: str r3, [sp, #0x4] + b36: add r3, sp, #0x18 + b38: str r3, [sp] + b3a: str r1, [sp, #0x1c] + b3c: str r0, [sp, #0x18] + b3e: mov r0, sp + b40: mov r1, r2 + b42: bl 0xb8c @ imm = #0x46 + b46: trap + +00000b48 <$d.266>: + b48: d8 19 00 00 .word 0x000019d8 + +00000b4c : + b4c: push {r7, lr} + b4e: add r7, sp, #0x0 + b50: sub sp, #0x30 + b52: str r1, [sp, #0x4] + b54: str r0, [sp] + b56: movs r0, #0x2 + b58: str r0, [sp, #0x1c] + b5a: add r1, sp, #0x20 + b5c: str r1, [sp, #0x18] + b5e: movs r1, #0x0 + b60: str r1, [sp, #0x14] + b62: str r1, [sp, #0x10] + b64: str r0, [sp, #0xc] + b66: ldr r0, [pc, #0x1c] <$d.270+0x2> + b68: str r0, [sp, #0x8] + b6a: ldr r0, [pc, #0x1c] <$d.270+0x6> + b6c: str r0, [sp, #0x2c] + b6e: mov r1, sp + b70: str r1, [sp, #0x28] + b72: str r0, [sp, #0x24] + b74: add r0, sp, #0x4 + b76: str r0, [sp, #0x20] + b78: add r0, sp, #0x8 + b7a: mov r1, r2 + b7c: bl 0xb8c @ imm = #0xc + b80: trap + b82: mov r8, r8 + +00000b84 <$d.270>: + b84: 50 1a 00 00 .word 0x00001a50 + b88: ad 13 00 00 .word 0x000013ad + +00000b8c : + b8c: push {r7, lr} + b8e: add r7, sp, #0x0 + b90: sub sp, #0x10 + b92: str r1, [sp, #0xc] + b94: str r0, [sp, #0x8] + b96: ldr r0, [pc, #0x10] <$d.272+0x2> + b98: str r0, [sp, #0x4] + b9a: ldr r0, [pc, #0x10] <$d.272+0x6> + b9c: str r0, [sp] + b9e: mov r0, sp + ba0: bl 0x14fc @ imm = #0x958 + ba4: trap + ba6: mov r8, r8 + +00000ba8 <$d.272>: + ba8: 0c 1a 00 00 .word 0x00001a0c + bac: d8 19 00 00 .word 0x000019d8 + +00000bb0 : + bb0: push {r7, lr} + bb2: add r7, sp, #0x0 + bb4: sub sp, #0x38 + bb6: str r1, [sp, #0x4] + bb8: str r0, [sp] + bba: str r3, [sp, #0xc] + bbc: str r2, [sp, #0x8] + bbe: movs r0, #0x2 + bc0: str r0, [sp, #0x24] + bc2: add r1, sp, #0x28 + bc4: str r1, [sp, #0x20] + bc6: movs r1, #0x0 + bc8: str r1, [sp, #0x1c] + bca: str r1, [sp, #0x18] + bcc: str r0, [sp, #0x14] + bce: ldr r0, [pc, #0x1c] <$d.281+0x2> + bd0: str r0, [sp, #0x10] + bd2: ldr r0, [pc, #0x1c] <$d.281+0x6> + bd4: str r0, [sp, #0x34] + bd6: add r0, sp, #0x8 + bd8: str r0, [sp, #0x30] + bda: ldr r0, [pc, #0x18] <$d.281+0xa> + bdc: str r0, [sp, #0x2c] + bde: mov r0, sp + be0: str r0, [sp, #0x28] + be2: add r0, sp, #0x10 + be4: ldr r1, [r7, #0x8] + be6: bl 0xb8c @ imm = #-0x5e + bea: trap + +00000bec <$d.281>: + bec: 64 1a 00 00 .word 0x00001a64 + bf0: a5 14 00 00 .word 0x000014a5 + bf4: b5 14 00 00 .word 0x000014b5 + +00000bf8 : + bf8: push {r4, r5, r6, r7, lr} + bfa: add r7, sp, #0xc + bfc: sub sp, #0x44 + bfe: movs r4, #0x20 + c00: add r5, sp, #0x20 + c02: movs r3, #0x3 + c04: str r5, [sp, #0x1c] + c06: strb r3, [r5, r4] + c08: str r4, [sp, #0x24] + c0a: movs r3, #0x0 + c0c: str r3, [sp, #0x20] + c0e: str r1, [sp, #0x3c] + c10: str r0, [sp, #0x38] + c12: str r3, [sp, #0x30] + c14: str r3, [sp, #0x28] + c16: ldr r5, [r2, #0x8] + c18: cmp r5, #0x0 + c1a: beq 0xcd8 @ imm = #0xba + c1c: ldr r0, [r2, #0xc] + c1e: cmp r0, #0x0 + c20: mov r4, r3 + c22: beq 0xd20 @ imm = #0xfa + c24: str r3, [sp, #0x8] + c26: ldr r1, [sp, #0x1c] + c28: adds r1, #0x20 + c2a: str r1, [sp, #0x1c] + c2c: str r2, [sp, #0x18] + c2e: ldr r4, [r2] + c30: lsls r0, r0, #0x5 + c32: str r0, [sp, #0x10] + c34: subs r0, #0x20 + c36: lsrs r0, r0, #0x5 + c38: adds r0, r0, #0x1 + c3a: str r0, [sp, #0x4] + c3c: movs r6, #0x0 + c3e: str r5, [sp, #0x14] + c40: ldr r2, [r4, #0x4] + c42: cmp r2, #0x0 + c44: beq 0xc54 @ imm = #0xc + c46: ldr r0, [sp, #0x3c] + c48: ldr r3, [r0, #0xc] + c4a: ldr r1, [r4] + c4c: ldr r0, [sp, #0x38] + c4e: blx r3 + c50: cmp r0, #0x0 + c52: bne 0xd46 @ imm = #0xf0 + c54: adds r2, r5, r6 + c56: ldrb r0, [r2, #0x1c] + c58: ldr r1, [sp, #0x1c] + c5a: strb r0, [r1] + c5c: ldr r0, [r2, #0x4] + c5e: str r0, [sp, #0x24] + c60: ldr r0, [r2, #0x8] + c62: str r0, [sp, #0x20] + c64: ldr r0, [r2, #0x14] + c66: ldr r3, [r2, #0x18] + c68: ldr r1, [sp, #0x18] + c6a: ldr r1, [r1, #0x10] + c6c: movs r5, #0x0 + c6e: cmp r0, #0x0 + c70: beq 0xc8e @ imm = #0x1a + c72: cmp r0, #0x1 + c74: mov r0, r5 + c76: bne 0xc90 @ imm = #0x16 + c78: lsls r0, r3, #0x3 + c7a: str r0, [sp, #0xc] + c7c: adds r0, r1, r0 + c7e: ldr r0, [r0, #0x4] + c80: ldr r3, [pc, #0xd0] <$d.361> + c82: cmp r0, r3 + c84: mov r0, r5 + c86: bne 0xc90 @ imm = #0x6 + c88: ldr r0, [sp, #0xc] + c8a: ldr r0, [r1, r0] + c8c: ldr r3, [r0] + c8e: movs r0, #0x1 + c90: str r3, [sp, #0x2c] + c92: str r0, [sp, #0x28] + c94: ldr r0, [r2, #0xc] + c96: ldr r2, [r2, #0x10] + c98: cmp r0, #0x0 + c9a: beq 0xcb0 @ imm = #0x12 + c9c: cmp r0, #0x1 + c9e: bne 0xcb4 @ imm = #0x12 + ca0: lsls r0, r2, #0x3 + ca2: adds r2, r1, r0 + ca4: ldr r2, [r2, #0x4] + ca6: ldr r3, [pc, #0xac] <$d.361+0x2> + ca8: cmp r2, r3 + caa: bne 0xcb4 @ imm = #0x6 + cac: ldr r0, [r1, r0] + cae: ldr r2, [r0] + cb0: movs r5, #0x1 + cb2: b 0xcb4 @ imm = #-0x2 + cb4: str r2, [sp, #0x34] + cb6: str r5, [sp, #0x30] + cb8: ldr r5, [sp, #0x14] + cba: ldr r0, [r5, r6] + cbc: lsls r2, r0, #0x3 + cbe: ldr r0, [r1, r2] + cc0: adds r1, r1, r2 + cc2: ldr r2, [r1, #0x4] + cc4: add r1, sp, #0x20 + cc6: blx r2 + cc8: cmp r0, #0x0 + cca: bne 0xd46 @ imm = #0x78 + ccc: adds r6, #0x20 + cce: adds r4, #0x8 + cd0: ldr r0, [sp, #0x10] + cd2: cmp r0, r6 + cd4: bne 0xc40 @ imm = #-0x98 + cd6: b 0xd1a @ imm = #0x40 + cd8: ldr r0, [r2, #0x14] + cda: cmp r0, #0x0 + cdc: mov r4, r3 + cde: beq 0xd20 @ imm = #0x3e + ce0: str r3, [sp, #0x8] + ce2: ldr r4, [r2] + ce4: str r2, [sp, #0x18] + ce6: ldr r5, [r2, #0x10] + ce8: lsls r0, r0, #0x3 + cea: subs r0, #0x8 + cec: lsrs r0, r0, #0x3 + cee: adds r6, r0, #0x1 + cf0: str r6, [sp, #0x4] + cf2: ldr r2, [r4, #0x4] + cf4: cmp r2, #0x0 + cf6: beq 0xd06 @ imm = #0xc + cf8: ldr r0, [sp, #0x3c] + cfa: ldr r3, [r0, #0xc] + cfc: ldr r1, [r4] + cfe: ldr r0, [sp, #0x38] + d00: blx r3 + d02: cmp r0, #0x0 + d04: bne 0xd46 @ imm = #0x3e + d06: ldm r5!, {r0, r2} + d08: add r1, sp, #0x20 + d0a: subs r5, #0x8 + d0c: blx r2 + d0e: cmp r0, #0x0 + d10: bne 0xd46 @ imm = #0x32 + d12: adds r5, #0x8 + d14: adds r4, #0x8 + d16: subs r6, r6, #0x1 + d18: bne 0xcf2 @ imm = #-0x2a + d1a: ldr r3, [sp, #0x8] + d1c: ldr r2, [sp, #0x18] + d1e: ldr r4, [sp, #0x4] + d20: ldr r0, [r2, #0x4] + d22: cmp r4, r0 + d24: blo 0xd2e @ imm = #0x6 + d26: mov r2, r3 + d28: cmp r4, r0 + d2a: blo 0xd38 @ imm = #0xa + d2c: b 0xd4c @ imm = #0x1c + d2e: lsls r1, r4, #0x3 + d30: ldr r2, [r2] + d32: adds r2, r2, r1 + d34: cmp r4, r0 + d36: bhs 0xd4c @ imm = #0x12 + d38: ldr r0, [sp, #0x3c] + d3a: ldr r3, [r0, #0xc] + d3c: ldm r2, {r1, r2} + d3e: ldr r0, [sp, #0x38] + d40: blx r3 + d42: cmp r0, #0x0 + d44: beq 0xd4c @ imm = #0x4 + d46: movs r0, #0x1 + d48: add sp, #0x44 + d4a: pop {r4, r5, r6, r7, pc} + d4c: movs r0, #0x0 + d4e: add sp, #0x44 + d50: pop {r4, r5, r6, r7, pc} + d52: mov r8, r8 + +00000d54 <$d.361>: + d54: c5 09 00 00 .word 0x000009c5 + +00000d58 : + d58: push {r4, r5, r6, r7, lr} + d5a: add r7, sp, #0xc + d5c: sub sp, #0x24 + d5e: str r3, [sp, #0x20] + d60: mov r4, r0 + d62: ldr r6, [r7, #0xc] + d64: cmp r1, #0x0 + d66: beq 0xd74 @ imm = #0xa + d68: ldr r0, [r4] + d6a: movs r1, #0x1 + d6c: ands r1, r0 + d6e: beq 0xda8 @ imm = #0x36 + d70: movs r3, #0x2b + d72: b 0xdac @ imm = #0x36 + d74: ldr r0, [r4] + d76: adds r1, r6, #0x1 + d78: str r1, [sp, #0x1c] + d7a: movs r1, #0x2d + d7c: str r1, [sp, #0x18] + d7e: lsls r3, r0, #0x1d + d80: movs r1, #0x0 + d82: cmp r3, #0x0 + d84: bpl 0xdba @ imm = #0x32 + d86: str r2, [sp, #0x14] + d88: ldr r2, [sp, #0x20] + d8a: cmp r2, #0x0 + d8c: beq 0xde4 @ imm = #0x54 + d8e: movs r1, #0x3 + d90: mov r3, r2 + d92: ands r3, r1 + d94: str r3, [sp, #0x8] + d96: subs r3, r2, #0x1 + d98: cmp r3, #0x3 + d9a: bhs 0xde8 @ imm = #0x4a + d9c: movs r1, #0x0 + d9e: ldr r3, [sp, #0x14] + da0: ldr r2, [sp, #0x8] + da2: cmp r2, #0x0 + da4: bne 0xe4a @ imm = #0xa2 + da6: b 0xe76 @ imm = #0xcc + da8: movs r3, #0x11 + daa: lsls r3, r3, #0x10 + dac: str r3, [sp, #0x18] + dae: adds r1, r1, r6 + db0: str r1, [sp, #0x1c] + db2: lsls r3, r0, #0x1d + db4: movs r1, #0x0 + db6: cmp r3, #0x0 + db8: bmi 0xd86 @ imm = #-0x36 + dba: mov r2, r1 + dbc: str r1, [sp, #0x20] + dbe: ldr r3, [sp, #0x1c] + dc0: ldr r5, [r7, #0x8] + dc2: ldr r1, [r4, #0x8] + dc4: cmp r1, #0x1 + dc6: beq 0xe84 @ imm = #0xba + dc8: mov r0, r4 + dca: ldr r1, [sp, #0x18] + dcc: ldr r3, [sp, #0x20] + dce: bl 0x105e @ imm = #0x28c + dd2: cmp r0, #0x0 + dd4: beq 0xdd8 @ imm = #0x0 + dd6: b 0xf4a @ imm = #0x170 + dd8: ldr r0, [r4, #0x18] + dda: ldr r1, [r4, #0x1c] + ddc: ldr r3, [r1, #0xc] + dde: mov r1, r5 + de0: mov r2, r6 + de2: b 0xecc @ imm = #0xe6 + de4: movs r1, #0x0 + de6: b 0xe76 @ imm = #0x8c + de8: str r6, [sp, #0xc] + dea: str r4, [sp, #0x10] + dec: mov r3, r2 + dee: bics r3, r1 + df0: rsbs r6, r3, #0 + df2: movs r1, #0x0 + df4: ldr r3, [sp, #0x14] + df6: b 0xdfe @ imm = #0x4 + df8: adds r3, r3, #0x4 + dfa: adds r6, r6, #0x4 + dfc: beq 0xe40 @ imm = #0x40 + dfe: ldrb r4, [r3, #0x1] + e00: movs r5, #0xc0 + e02: ands r4, r5 + e04: ldrb r2, [r3] + e06: ands r2, r5 + e08: cmp r2, #0x80 + e0a: bne 0xe22 @ imm = #0x14 + e0c: cmp r4, #0x80 + e0e: bne 0xe28 @ imm = #0x16 + e10: ldrb r2, [r3, #0x2] + e12: ands r2, r5 + e14: cmp r2, #0x80 + e16: bne 0xe32 @ imm = #0x18 + e18: ldrb r2, [r3, #0x3] + e1a: ands r2, r5 + e1c: cmp r2, #0x80 + e1e: beq 0xdf8 @ imm = #-0x2a + e20: b 0xe3c @ imm = #0x18 + e22: adds r1, r1, #0x1 + e24: cmp r4, #0x80 + e26: beq 0xe10 @ imm = #-0x1a + e28: adds r1, r1, #0x1 + e2a: ldrb r2, [r3, #0x2] + e2c: ands r2, r5 + e2e: cmp r2, #0x80 + e30: beq 0xe18 @ imm = #-0x1c + e32: adds r1, r1, #0x1 + e34: ldrb r2, [r3, #0x3] + e36: ands r2, r5 + e38: cmp r2, #0x80 + e3a: beq 0xdf8 @ imm = #-0x46 + e3c: adds r1, r1, #0x1 + e3e: b 0xdf8 @ imm = #-0x4a + e40: ldr r4, [sp, #0x10] + e42: ldr r6, [sp, #0xc] + e44: ldr r2, [sp, #0x8] + e46: cmp r2, #0x0 + e48: beq 0xe76 @ imm = #0x2a + e4a: ldrb r2, [r3] + e4c: movs r5, #0xc0 + e4e: ands r2, r5 + e50: cmp r2, #0x80 + e52: beq 0xe56 @ imm = #0x0 + e54: adds r1, r1, #0x1 + e56: ldr r2, [sp, #0x8] + e58: cmp r2, #0x1 + e5a: beq 0xe76 @ imm = #0x18 + e5c: ldrb r2, [r3, #0x1] + e5e: ands r2, r5 + e60: cmp r2, #0x80 + e62: beq 0xe66 @ imm = #0x0 + e64: adds r1, r1, #0x1 + e66: ldr r2, [sp, #0x8] + e68: cmp r2, #0x2 + e6a: beq 0xe76 @ imm = #0x8 + e6c: ldrb r2, [r3, #0x2] + e6e: ands r2, r5 + e70: cmp r2, #0x80 + e72: beq 0xe76 @ imm = #0x0 + e74: adds r1, r1, #0x1 + e76: ldr r3, [sp, #0x1c] + e78: adds r3, r1, r3 + e7a: ldr r2, [sp, #0x14] + e7c: ldr r5, [r7, #0x8] + e7e: ldr r1, [r4, #0x8] + e80: cmp r1, #0x1 + e82: bne 0xdc8 @ imm = #-0xbe + e84: str r6, [sp, #0xc] + e86: ldr r6, [r4, #0xc] + e88: cmp r6, r3 + e8a: bls 0xeb4 @ imm = #0x26 + e8c: str r4, [sp, #0x10] + e8e: lsls r0, r0, #0x1c + e90: str r5, [sp, #0x8] + e92: bmi 0xed6 @ imm = #0x40 + e94: movs r0, #0x20 + e96: ldr r1, [sp, #0x10] + e98: ldrb r1, [r1, r0] + e9a: cmp r1, #0x3 + e9c: bne 0xea0 @ imm = #0x0 + e9e: movs r1, #0x1 + ea0: subs r0, r6, r3 + ea2: lsls r3, r1, #0x1e + ea4: str r2, [sp, #0x14] + ea6: beq 0xf22 @ imm = #0x78 + ea8: cmp r1, #0x1 + eaa: bne 0xf26 @ imm = #0x78 + eac: movs r1, #0x0 + eae: str r1, [sp, #0x4] + eb0: mov r1, r0 + eb2: b 0xf2e @ imm = #0x78 + eb4: mov r0, r4 + eb6: ldr r1, [sp, #0x18] + eb8: ldr r3, [sp, #0x20] + eba: bl 0x105e @ imm = #0x1a0 + ebe: cmp r0, #0x0 + ec0: bne 0xf4a @ imm = #0x86 + ec2: ldr r0, [r4, #0x18] + ec4: ldr r1, [r4, #0x1c] + ec6: ldr r3, [r1, #0xc] + ec8: mov r1, r5 + eca: ldr r2, [sp, #0xc] + ecc: blx r3 + ece: mov r5, r0 + ed0: mov r0, r5 + ed2: add sp, #0x24 + ed4: pop {r4, r5, r6, r7, pc} + ed6: mov r5, r3 + ed8: movs r0, #0x20 + eda: ldr r4, [sp, #0x10] + edc: ldrb r1, [r4, r0] + ede: str r1, [sp, #0x4] + ee0: movs r1, #0x1 + ee2: str r1, [sp, #0x1c] + ee4: strb r1, [r4, r0] + ee6: ldr r0, [r4, #0x4] + ee8: str r0, [sp] + eea: movs r0, #0x30 + eec: str r0, [r4, #0x4] + eee: mov r0, r4 + ef0: ldr r1, [sp, #0x18] + ef2: ldr r3, [sp, #0x20] + ef4: bl 0x105e @ imm = #0x166 + ef8: cmp r0, #0x0 + efa: beq 0xf04 @ imm = #0x6 + efc: ldr r5, [sp, #0x1c] + efe: mov r0, r5 + f00: add sp, #0x24 + f02: pop {r4, r5, r6, r7, pc} + f04: adds r4, #0x20 + f06: ldrb r1, [r4] + f08: cmp r1, #0x3 + f0a: bne 0xf0e @ imm = #0x0 + f0c: movs r1, #0x1 + f0e: subs r0, r6, r5 + f10: lsls r2, r1, #0x1e + f12: str r4, [sp, #0x14] + f14: beq 0xf8c @ imm = #0x74 + f16: cmp r1, #0x1 + f18: bne 0xf90 @ imm = #0x74 + f1a: movs r1, #0x0 + f1c: str r1, [sp, #0x18] + f1e: mov r1, r0 + f20: b 0xf98 @ imm = #0x74 + f22: movs r1, #0x0 + f24: b 0xf2c @ imm = #0x4 + f26: lsrs r1, r0, #0x1 + f28: adds r0, r0, #0x1 + f2a: lsrs r0, r0, #0x1 + f2c: str r0, [sp, #0x4] + f2e: ldr r0, [sp, #0x10] + f30: adds r4, r1, #0x1 + f32: ldr r1, [r0, #0x4] + f34: str r1, [sp, #0x1c] + f36: ldr r6, [r0, #0x18] + f38: ldr r5, [r0, #0x1c] + f3a: subs r4, r4, #0x1 + f3c: beq 0xf52 @ imm = #0x12 + f3e: ldr r2, [r5, #0x10] + f40: mov r0, r6 + f42: ldr r1, [sp, #0x1c] + f44: blx r2 + f46: cmp r0, #0x0 + f48: beq 0xf3a @ imm = #-0x12 + f4a: movs r5, #0x1 + f4c: mov r0, r5 + f4e: add sp, #0x24 + f50: pop {r4, r5, r6, r7, pc} + f52: movs r0, #0x11 + f54: lsls r0, r0, #0x10 + f56: ldr r1, [sp, #0x1c] + f58: cmp r1, r0 + f5a: bne 0xf60 @ imm = #0x2 + f5c: movs r1, #0x0 + f5e: str r1, [sp, #0x4] + f60: ldr r4, [sp, #0x10] + f62: ldr r5, [sp, #0xc] + f64: ldr r3, [sp, #0x20] + f66: movs r6, #0x1 + f68: ldr r1, [sp, #0x1c] + f6a: cmp r1, r0 + f6c: bne 0xf76 @ imm = #0x6 + f6e: mov r5, r6 + f70: mov r0, r5 + f72: add sp, #0x24 + f74: pop {r4, r5, r6, r7, pc} + f76: mov r0, r4 + f78: ldr r1, [sp, #0x18] + f7a: ldr r2, [sp, #0x14] + f7c: bl 0x105e @ imm = #0xde + f80: cmp r0, #0x0 + f82: beq 0x1018 @ imm = #0x92 + f84: mov r5, r6 + f86: mov r0, r5 + f88: add sp, #0x24 + f8a: pop {r4, r5, r6, r7, pc} + f8c: movs r1, #0x0 + f8e: b 0xf96 @ imm = #0x4 + f90: lsrs r1, r0, #0x1 + f92: adds r0, r0, #0x1 + f94: lsrs r0, r0, #0x1 + f96: str r0, [sp, #0x18] + f98: ldr r0, [sp, #0x10] + f9a: adds r4, r1, #0x1 + f9c: ldr r1, [r0, #0x4] + f9e: str r1, [sp, #0x20] + fa0: ldr r6, [r0, #0x18] + fa2: ldr r5, [r0, #0x1c] + fa4: subs r4, r4, #0x1 + fa6: beq 0xfbc @ imm = #0x12 + fa8: ldr r2, [r5, #0x10] + faa: mov r0, r6 + fac: ldr r1, [sp, #0x20] + fae: blx r2 + fb0: cmp r0, #0x0 + fb2: beq 0xfa4 @ imm = #-0x12 + fb4: ldr r5, [sp, #0x1c] + fb6: mov r0, r5 + fb8: add sp, #0x24 + fba: pop {r4, r5, r6, r7, pc} + fbc: movs r0, #0x11 + fbe: lsls r0, r0, #0x10 + fc0: ldr r3, [sp, #0x20] + fc2: cmp r3, r0 + fc4: bne 0xfca @ imm = #0x2 + fc6: movs r1, #0x0 + fc8: str r1, [sp, #0x18] + fca: add r4, sp, #0x8 + fcc: ldm r4, {r1, r2, r4} + fce: ldr r5, [sp, #0x1c] + fd0: cmp r3, r0 + fd2: bne 0xfd6 @ imm = #0x0 + fd4: b 0xed0 @ imm = #-0x108 + fd6: ldr r0, [r4, #0x18] + fd8: ldr r3, [r4, #0x1c] + fda: ldr r3, [r3, #0xc] + fdc: blx r3 + fde: cmp r0, #0x0 + fe0: beq 0xfe4 @ imm = #0x0 + fe2: b 0xed0 @ imm = #-0x116 + fe4: ldr r0, [r4, #0x18] + fe6: str r0, [sp, #0x1c] + fe8: ldr r6, [r4, #0x1c] + fea: movs r4, #0x0 + fec: ldr r0, [sp, #0x18] + fee: cmp r0, r4 + ff0: beq 0x100a @ imm = #0x16 + ff2: ldr r2, [r6, #0x10] + ff4: ldr r0, [sp, #0x1c] + ff6: ldr r1, [sp, #0x20] + ff8: blx r2 + ffa: adds r4, r4, #0x1 + ffc: cmp r0, #0x0 + ffe: beq 0xfec @ imm = #-0x16 + 1000: subs r0, r4, #0x1 + 1002: ldr r1, [sp, #0x18] + 1004: cmp r0, r1 + 1006: bhs 0x100a @ imm = #0x0 + 1008: b 0xed0 @ imm = #-0x13c + 100a: ldr r0, [sp, #0x4] + 100c: ldr r1, [sp, #0x14] + 100e: strb r0, [r1] + 1010: ldr r0, [sp, #0x10] + 1012: ldr r1, [sp] + 1014: str r1, [r0, #0x4] + 1016: b 0x1056 @ imm = #0x3c + 1018: ldr r0, [r4, #0x18] + 101a: ldr r1, [r4, #0x1c] + 101c: ldr r3, [r1, #0xc] + 101e: ldr r1, [sp, #0x8] + 1020: mov r2, r5 + 1022: blx r3 + 1024: cmp r0, #0x0 + 1026: mov r5, r6 + 1028: beq 0x102c @ imm = #0x0 + 102a: b 0xed0 @ imm = #-0x15e + 102c: ldr r0, [sp, #0x10] + 102e: ldr r1, [r0, #0x18] + 1030: str r1, [sp, #0x20] + 1032: ldr r6, [r0, #0x1c] + 1034: movs r4, #0x0 + 1036: ldr r5, [sp, #0x4] + 1038: cmp r5, r4 + 103a: beq 0x104e @ imm = #0x10 + 103c: ldr r2, [r6, #0x10] + 103e: ldr r0, [sp, #0x20] + 1040: ldr r1, [sp, #0x1c] + 1042: blx r2 + 1044: adds r4, r4, #0x1 + 1046: cmp r0, #0x0 + 1048: beq 0x1038 @ imm = #-0x14 + 104a: subs r0, r4, #0x1 + 104c: b 0x1050 @ imm = #0x0 + 104e: mov r0, r5 + 1050: cmp r0, r5 + 1052: bhs 0x1056 @ imm = #0x0 + 1054: b 0xf4a @ imm = #-0x10e + 1056: movs r5, #0x0 + 1058: mov r0, r5 + 105a: add sp, #0x24 + 105c: pop {r4, r5, r6, r7, pc} + +0000105e : + 105e: push {r4, r5, r6, r7, lr} + 1060: add r7, sp, #0xc + 1062: sub sp, #0x4 + 1064: mov r4, r3 + 1066: mov r5, r2 + 1068: mov r6, r0 + 106a: movs r0, #0x11 + 106c: lsls r0, r0, #0x10 + 106e: cmp r1, r0 + 1070: beq 0x1084 @ imm = #0x10 + 1072: ldr r0, [r6, #0x18] + 1074: ldr r2, [r6, #0x1c] + 1076: ldr r2, [r2, #0x10] + 1078: blx r2 + 107a: cmp r0, #0x0 + 107c: beq 0x1084 @ imm = #0x4 + 107e: movs r0, #0x1 + 1080: add sp, #0x4 + 1082: pop {r4, r5, r6, r7, pc} + 1084: cmp r5, #0x0 + 1086: beq 0x1098 @ imm = #0xe + 1088: ldr r0, [r6, #0x18] + 108a: ldr r1, [r6, #0x1c] + 108c: ldr r3, [r1, #0xc] + 108e: mov r1, r5 + 1090: mov r2, r4 + 1092: blx r3 + 1094: add sp, #0x4 + 1096: pop {r4, r5, r6, r7, pc} + 1098: movs r0, #0x0 + 109a: add sp, #0x4 + 109c: pop {r4, r5, r6, r7, pc} + +0000109e : + 109e: push {r4, r5, r6, r7, lr} + 10a0: add r7, sp, #0xc + 10a2: sub sp, #0x2c + 10a4: mov r5, r1 + 10a6: ldr r1, [r0, #0x10] + 10a8: ldr r3, [r0, #0x8] + 10aa: cmp r3, #0x1 + 10ac: str r0, [sp, #0x24] + 10ae: bne 0x10b6 @ imm = #0x4 + 10b0: cmp r1, #0x1 + 10b2: beq 0x10bc @ imm = #0x6 + 10b4: b 0x1222 @ imm = #0x16a + 10b6: cmp r1, #0x1 + 10b8: beq 0x10bc @ imm = #0x0 + 10ba: b 0x1302 @ imm = #0x244 + 10bc: str r3, [sp, #0x10] + 10be: str r2, [sp, #0x1c] + 10c0: adds r1, r5, r2 + 10c2: str r1, [sp, #0x28] + 10c4: ldr r4, [r0, #0x14] + 10c6: cmp r4, #0x0 + 10c8: str r5, [sp, #0x20] + 10ca: beq 0x116e @ imm = #0xa0 + 10cc: movs r1, #0x11 + 10ce: lsls r0, r1, #0x10 + 10d0: str r0, [sp, #0xc] + 10d2: movs r1, #0x7 + 10d4: lsls r0, r1, #0x12 + 10d6: str r0, [sp, #0x8] + 10d8: movs r0, #0x0 + 10da: b 0x1110 @ imm = #0x32 + 10dc: str r0, [sp, #0x4] + 10de: ldrb r0, [r5] + 10e0: str r0, [sp, #0x14] + 10e2: movs r2, #0x3f + 10e4: ldr r0, [sp, #0x14] + 10e6: ands r2, r0 + 10e8: ldr r0, [sp, #0x4] + 10ea: str r2, [sp, #0x14] + 10ec: adds r5, r5, #0x1 + 10ee: lsls r6, r6, #0x12 + 10f0: ldr r2, [sp, #0x8] + 10f2: ands r6, r2 + 10f4: lsls r1, r1, #0xc + 10f6: adds r1, r1, r6 + 10f8: ldr r2, [sp, #0x18] + 10fa: lsls r6, r2, #0x6 + 10fc: adds r1, r1, r6 + 10fe: ldr r2, [sp, #0x14] + 1100: adds r1, r1, r2 + 1102: ldr r6, [sp, #0xc] + 1104: cmp r1, r6 + 1106: beq 0x11d8 @ imm = #0xce + 1108: subs r1, r0, r3 + 110a: adds r0, r1, r5 + 110c: subs r4, r4, #0x1 + 110e: beq 0x1170 @ imm = #0x5e + 1110: ldr r1, [sp, #0x28] + 1112: cmp r5, r1 + 1114: beq 0x11d8 @ imm = #0xc0 + 1116: mov r3, r5 + 1118: movs r1, #0x0 + 111a: ldrsb r6, [r5, r1] + 111c: adds r5, r5, #0x1 + 111e: cmp r6, #0x0 + 1120: bpl 0x1108 @ imm = #-0x1c + 1122: ldr r2, [sp, #0x28] + 1124: cmp r5, r2 + 1126: mov r5, r2 + 1128: beq 0x1132 @ imm = #0x6 + 112a: ldrb r5, [r3, #0x1] + 112c: movs r1, #0x3f + 112e: ands r1, r5 + 1130: adds r5, r3, #0x2 + 1132: uxtb r6, r6 + 1134: cmp r6, #0xe0 + 1136: blo 0x1108 @ imm = #-0x32 + 1138: ldr r2, [sp, #0x28] + 113a: cmp r5, r2 + 113c: beq 0x1156 @ imm = #0x16 + 113e: ldrb r2, [r5] + 1140: str r2, [sp, #0x18] + 1142: str r6, [sp, #0x14] + 1144: movs r6, #0x3f + 1146: ldr r2, [sp, #0x18] + 1148: ands r6, r2 + 114a: str r6, [sp, #0x18] + 114c: ldr r6, [sp, #0x14] + 114e: adds r5, r5, #0x1 + 1150: cmp r6, #0xf0 + 1152: blo 0x1108 @ imm = #-0x4e + 1154: b 0x1160 @ imm = #0x8 + 1156: movs r5, #0x0 + 1158: str r5, [sp, #0x18] + 115a: ldr r5, [sp, #0x28] + 115c: cmp r6, #0xf0 + 115e: blo 0x1108 @ imm = #-0x5a + 1160: ldr r2, [sp, #0x28] + 1162: cmp r5, r2 + 1164: bne 0x10dc @ imm = #-0x8c + 1166: movs r5, #0x0 + 1168: str r5, [sp, #0x14] + 116a: ldr r5, [sp, #0x28] + 116c: b 0x10ee @ imm = #-0x82 + 116e: movs r0, #0x0 + 1170: ldr r1, [sp, #0x28] + 1172: cmp r5, r1 + 1174: beq 0x11d8 @ imm = #0x60 + 1176: movs r3, #0x0 + 1178: ldrsb r1, [r5, r3] + 117a: cmp r1, #0x0 + 117c: bpl 0x11e6 @ imm = #0x66 + 117e: uxtb r1, r1 + 1180: adds r4, r5, #0x1 + 1182: ldr r6, [sp, #0x28] + 1184: cmp r4, r6 + 1186: beq 0x1190 @ imm = #0x6 + 1188: adds r6, r5, #0x2 + 118a: ldrb r3, [r5, #0x1] + 118c: lsls r3, r3, #0x1a + 118e: lsrs r3, r3, #0x14 + 1190: cmp r1, #0xe0 + 1192: blo 0x11e6 @ imm = #0x50 + 1194: ldr r2, [sp, #0x28] + 1196: cmp r6, r2 + 1198: beq 0x11a8 @ imm = #0xc + 119a: ldrb r5, [r6] + 119c: movs r4, #0x3f + 119e: ands r4, r5 + 11a0: adds r5, r6, #0x1 + 11a2: cmp r1, #0xf0 + 11a4: bhs 0x11b0 @ imm = #0x8 + 11a6: b 0x11e6 @ imm = #0x3c + 11a8: movs r4, #0x0 + 11aa: ldr r5, [sp, #0x28] + 11ac: cmp r1, #0xf0 + 11ae: blo 0x11e6 @ imm = #0x34 + 11b0: mov r6, r0 + 11b2: orrs r4, r3 + 11b4: ldr r0, [sp, #0x28] + 11b6: cmp r5, r0 + 11b8: beq 0x11c2 @ imm = #0x6 + 11ba: ldrb r3, [r5] + 11bc: movs r0, #0x3f + 11be: ands r0, r3 + 11c0: b 0x11c4 @ imm = #0x0 + 11c2: movs r0, #0x0 + 11c4: lsls r3, r4, #0x6 + 11c6: lsls r1, r1, #0x1d + 11c8: lsrs r1, r1, #0xb + 11ca: adds r1, r3, r1 + 11cc: adds r0, r1, r0 + 11ce: movs r1, #0x11 + 11d0: lsls r1, r1, #0x10 + 11d2: cmp r0, r1 + 11d4: mov r0, r6 + 11d6: bne 0x11e6 @ imm = #0xc + 11d8: ldr r2, [sp, #0x1c] + 11da: ldr r5, [sp, #0x20] + 11dc: ldr r0, [sp, #0x24] + 11de: ldr r1, [sp, #0x10] + 11e0: cmp r1, #0x1 + 11e2: beq 0x1222 @ imm = #0x3c + 11e4: b 0x1302 @ imm = #0x11a + 11e6: cmp r0, #0x0 + 11e8: ldr r2, [sp, #0x1c] + 11ea: ldr r5, [sp, #0x20] + 11ec: beq 0x120e @ imm = #0x1e + 11ee: cmp r0, r2 + 11f0: bhs 0x1206 @ imm = #0x12 + 11f2: ldrsb r1, [r5, r0] + 11f4: mov r4, r0 + 11f6: movs r0, #0x3f + 11f8: mvns r3, r0 + 11fa: mov r0, r4 + 11fc: movs r4, #0x0 + 11fe: cmp r1, r3 + 1200: mov r1, r4 + 1202: bge 0x120e @ imm = #0x8 + 1204: b 0x1212 @ imm = #0xa + 1206: movs r4, #0x0 + 1208: cmp r0, r2 + 120a: mov r1, r4 + 120c: bne 0x1212 @ imm = #0x2 + 120e: mov r4, r5 + 1210: mov r1, r0 + 1212: cmp r4, #0x0 + 1214: bne 0x1312 @ imm = #0xfa + 1216: cmp r4, #0x0 + 1218: ldr r0, [sp, #0x24] + 121a: ldr r1, [sp, #0x10] + 121c: bne 0x131e @ imm = #0xfe + 121e: cmp r1, #0x1 + 1220: bne 0x1302 @ imm = #0xde + 1222: ldr r1, [r0, #0xc] + 1224: str r1, [sp, #0x28] + 1226: cmp r2, #0x0 + 1228: beq 0x1244 @ imm = #0x18 + 122a: movs r0, #0x3 + 122c: mov r1, r2 + 122e: ands r1, r0 + 1230: str r1, [sp, #0x18] + 1232: subs r1, r2, #0x1 + 1234: cmp r1, #0x3 + 1236: bhs 0x1248 @ imm = #0xe + 1238: movs r3, #0x0 + 123a: mov r4, r5 + 123c: ldr r0, [sp, #0x18] + 123e: cmp r0, #0x0 + 1240: bne 0x12a8 @ imm = #0x64 + 1242: b 0x12d4 @ imm = #0x8e + 1244: movs r3, #0x0 + 1246: b 0x12d4 @ imm = #0x8a + 1248: str r2, [sp, #0x1c] + 124a: bics r2, r0 + 124c: mov r4, r5 + 124e: rsbs r5, r2, #0 + 1250: movs r3, #0x0 + 1252: str r4, [sp, #0x20] + 1254: b 0x125c @ imm = #0x4 + 1256: adds r4, r4, #0x4 + 1258: adds r5, r5, #0x4 + 125a: beq 0x129e @ imm = #0x40 + 125c: ldrb r6, [r4, #0x1] + 125e: movs r0, #0xc0 + 1260: ands r6, r0 + 1262: ldrb r1, [r4] + 1264: ands r1, r0 + 1266: cmp r1, #0x80 + 1268: bne 0x1280 @ imm = #0x14 + 126a: cmp r6, #0x80 + 126c: bne 0x1286 @ imm = #0x16 + 126e: ldrb r1, [r4, #0x2] + 1270: ands r1, r0 + 1272: cmp r1, #0x80 + 1274: bne 0x1290 @ imm = #0x18 + 1276: ldrb r1, [r4, #0x3] + 1278: ands r1, r0 + 127a: cmp r1, #0x80 + 127c: beq 0x1256 @ imm = #-0x2a + 127e: b 0x129a @ imm = #0x18 + 1280: adds r3, r3, #0x1 + 1282: cmp r6, #0x80 + 1284: beq 0x126e @ imm = #-0x1a + 1286: adds r3, r3, #0x1 + 1288: ldrb r1, [r4, #0x2] + 128a: ands r1, r0 + 128c: cmp r1, #0x80 + 128e: beq 0x1276 @ imm = #-0x1c + 1290: adds r3, r3, #0x1 + 1292: ldrb r1, [r4, #0x3] + 1294: ands r1, r0 + 1296: cmp r1, #0x80 + 1298: beq 0x1256 @ imm = #-0x46 + 129a: adds r3, r3, #0x1 + 129c: b 0x1256 @ imm = #-0x4a + 129e: ldr r2, [sp, #0x1c] + 12a0: ldr r5, [sp, #0x20] + 12a2: ldr r0, [sp, #0x18] + 12a4: cmp r0, #0x0 + 12a6: beq 0x12d4 @ imm = #0x2a + 12a8: ldrb r1, [r4] + 12aa: movs r0, #0xc0 + 12ac: ands r1, r0 + 12ae: cmp r1, #0x80 + 12b0: beq 0x12b4 @ imm = #0x0 + 12b2: adds r3, r3, #0x1 + 12b4: ldr r1, [sp, #0x18] + 12b6: cmp r1, #0x1 + 12b8: beq 0x12d4 @ imm = #0x18 + 12ba: ldrb r1, [r4, #0x1] + 12bc: ands r1, r0 + 12be: cmp r1, #0x80 + 12c0: beq 0x12c4 @ imm = #0x0 + 12c2: adds r3, r3, #0x1 + 12c4: ldr r1, [sp, #0x18] + 12c6: cmp r1, #0x2 + 12c8: beq 0x12d4 @ imm = #0x8 + 12ca: ldrb r1, [r4, #0x2] + 12cc: ands r1, r0 + 12ce: cmp r1, #0x80 + 12d0: beq 0x12d4 @ imm = #0x0 + 12d2: adds r3, r3, #0x1 + 12d4: ldr r0, [sp, #0x28] + 12d6: cmp r0, r3 + 12d8: bls 0x1300 @ imm = #0x24 + 12da: str r5, [sp, #0x20] + 12dc: movs r0, #0x20 + 12de: ldr r1, [sp, #0x24] + 12e0: ldrb r0, [r1, r0] + 12e2: movs r5, #0x0 + 12e4: cmp r0, #0x3 + 12e6: mov r4, r5 + 12e8: beq 0x12ec @ imm = #0x0 + 12ea: mov r4, r0 + 12ec: ldr r0, [sp, #0x28] + 12ee: subs r0, r0, r3 + 12f0: lsls r1, r4, #0x1e + 12f2: str r2, [sp, #0x1c] + 12f4: beq 0x1326 @ imm = #0x2e + 12f6: cmp r4, #0x1 + 12f8: bne 0x132c @ imm = #0x30 + 12fa: movs r1, #0x0 + 12fc: str r1, [sp, #0x18] + 12fe: b 0x1336 @ imm = #0x34 + 1300: ldr r0, [sp, #0x24] + 1302: ldr r1, [r0, #0x18] + 1304: ldr r0, [r0, #0x1c] + 1306: ldr r3, [r0, #0xc] + 1308: mov r0, r1 + 130a: mov r1, r5 + 130c: blx r3 + 130e: add sp, #0x2c + 1310: pop {r4, r5, r6, r7, pc} + 1312: mov r2, r1 + 1314: cmp r4, #0x0 + 1316: ldr r0, [sp, #0x24] + 1318: ldr r1, [sp, #0x10] + 131a: bne 0x131e @ imm = #0x0 + 131c: b 0x121e @ imm = #-0x102 + 131e: mov r5, r4 + 1320: cmp r1, #0x1 + 1322: bne 0x1302 @ imm = #-0x24 + 1324: b 0x1222 @ imm = #-0x106 + 1326: str r0, [sp, #0x18] + 1328: mov r0, r5 + 132a: b 0x1336 @ imm = #0x8 + 132c: lsrs r1, r0, #0x1 + 132e: adds r0, r0, #0x1 + 1330: lsrs r0, r0, #0x1 + 1332: str r0, [sp, #0x18] + 1334: mov r0, r1 + 1336: ldr r1, [sp, #0x24] + 1338: adds r5, r0, #0x1 + 133a: ldr r6, [r1, #0x4] + 133c: ldr r0, [r1, #0x18] + 133e: str r0, [sp, #0x28] + 1340: ldr r4, [r1, #0x1c] + 1342: subs r5, r5, #0x1 + 1344: beq 0x1358 @ imm = #0x10 + 1346: ldr r2, [r4, #0x10] + 1348: ldr r0, [sp, #0x28] + 134a: mov r1, r6 + 134c: blx r2 + 134e: cmp r0, #0x0 + 1350: beq 0x1342 @ imm = #-0x12 + 1352: movs r0, #0x1 + 1354: add sp, #0x2c + 1356: pop {r4, r5, r6, r7, pc} + 1358: movs r0, #0x11 + 135a: lsls r3, r0, #0x10 + 135c: cmp r6, r3 + 135e: bne 0x1364 @ imm = #0x2 + 1360: movs r1, #0x0 + 1362: str r1, [sp, #0x18] + 1364: ldr r1, [sp, #0x20] + 1366: ldr r0, [sp, #0x28] + 1368: mov r2, r4 + 136a: movs r5, #0x1 + 136c: cmp r6, r3 + 136e: bne 0x1376 @ imm = #0x4 + 1370: mov r0, r5 + 1372: add sp, #0x2c + 1374: pop {r4, r5, r6, r7, pc} + 1376: ldr r3, [r2, #0xc] + 1378: ldr r2, [sp, #0x1c] + 137a: blx r3 + 137c: cmp r0, #0x0 + 137e: mov r0, r5 + 1380: bne 0x1354 @ imm = #-0x30 + 1382: movs r5, #0x0 + 1384: ldr r1, [sp, #0x18] + 1386: cmp r1, r5 + 1388: beq 0x139e @ imm = #0x12 + 138a: ldr r2, [r4, #0x10] + 138c: ldr r0, [sp, #0x28] + 138e: mov r1, r6 + 1390: blx r2 + 1392: ldr r1, [sp, #0x18] + 1394: adds r5, r5, #0x1 + 1396: cmp r0, #0x0 + 1398: beq 0x1386 @ imm = #-0x16 + 139a: subs r0, r5, #0x1 + 139c: b 0x13a0 @ imm = #0x0 + 139e: mov r0, r1 + 13a0: cmp r0, r1 + 13a2: blo 0x1352 @ imm = #-0x54 + 13a4: movs r0, #0x0 + 13a6: add sp, #0x2c + 13a8: pop {r4, r5, r6, r7, pc} + 13aa: bmi 0x1356 @ imm = #-0x58 + +000013ac ::fmt::haad0271efb4433f7>: + 13ac: push {r4, r5, r6, r7, lr} + 13ae: add r7, sp, #0xc + 13b0: sub sp, #0x3c + 13b2: str r1, [sp, #0x8] + 13b4: ldr r2, [r0] + 13b6: ldr r4, [pc, #0xd4] <$d.911+0x2> + 13b8: movs r6, #0x27 + 13ba: cmp r2, r4 + 13bc: bls 0x141c ::fmt::haad0271efb4433f7+0x70> @ imm = #0x5c + 13be: mov r5, r2 + 13c0: str r6, [sp, #0x10] + 13c2: mov r0, r5 + 13c4: ldr r1, [pc, #0xc8] <$d.911+0x4> + 13c6: bl 0x15fa <__aeabi_uidiv> @ imm = #0x230 + 13ca: str r0, [sp, #0xc] + 13cc: adds r1, r4, #0x1 + 13ce: muls r1, r0, r1 + 13d0: subs r1, r5, r1 + 13d2: uxth r2, r1 + 13d4: lsrs r2, r2, #0x2 + 13d6: ldr r0, [pc, #0xbc] <$d.911+0xa> + 13d8: muls r2, r0, r2 + 13da: lsrs r2, r2, #0x11 + 13dc: lsls r3, r2, #0x1 + 13de: ldr r0, [pc, #0xb8] <$d.911+0xe> + 13e0: ldrb r0, [r0, r3] + 13e2: add r4, sp, #0x14 + 13e4: adds r4, r4, r6 + 13e6: subs r6, r4, #0x4 + 13e8: strb r0, [r6] + 13ea: ldr r0, [pc, #0xac] <$d.911+0xe> + 13ec: adds r0, r0, r3 + 13ee: ldrb r0, [r0, #0x1] + 13f0: strb r0, [r6, #0x1] + 13f2: ldr r6, [sp, #0x10] + 13f4: movs r0, #0x64 + 13f6: muls r0, r2, r0 + 13f8: subs r0, r1, r0 + 13fa: uxth r0, r0 + 13fc: lsls r0, r0, #0x1 + 13fe: ldr r2, [pc, #0x98] <$d.911+0xe> + 1400: ldrb r1, [r2, r0] + 1402: mov r3, r2 + 1404: subs r2, r4, #0x2 + 1406: ldr r4, [pc, #0x84] <$d.911+0x2> + 1408: strb r1, [r2] + 140a: adds r0, r3, r0 + 140c: ldrb r0, [r0, #0x1] + 140e: strb r0, [r2, #0x1] + 1410: ldr r2, [sp, #0xc] + 1412: subs r6, r6, #0x4 + 1414: ldr r0, [pc, #0x84] <$d.911+0x10> + 1416: cmp r5, r0 + 1418: mov r5, r2 + 141a: bhi 0x13c0 ::fmt::haad0271efb4433f7+0x14> @ imm = #-0x5e + 141c: cmp r2, #0x63 + 141e: ble 0x1460 ::fmt::haad0271efb4433f7+0xb4> @ imm = #0x3e + 1420: uxth r0, r2 + 1422: lsrs r0, r0, #0x2 + 1424: ldr r1, [pc, #0x6c] <$d.911+0x8> + 1426: muls r1, r0, r1 + 1428: lsrs r1, r1, #0x11 + 142a: movs r0, #0x64 + 142c: muls r0, r1, r0 + 142e: subs r0, r2, r0 + 1430: uxth r0, r0 + 1432: lsls r0, r0, #0x1 + 1434: ldr r2, [pc, #0x60] <$d.911+0xc> + 1436: ldrb r3, [r2, r0] + 1438: subs r6, r6, #0x2 + 143a: add r4, sp, #0x14 + 143c: strb r3, [r4, r6] + 143e: adds r3, r4, r6 + 1440: adds r0, r2, r0 + 1442: ldrb r0, [r0, #0x1] + 1444: strb r0, [r3, #0x1] + 1446: cmp r1, #0xa + 1448: blt 0x1466 ::fmt::haad0271efb4433f7+0xba> @ imm = #0x1a + 144a: lsls r1, r1, #0x1 + 144c: ldr r2, [pc, #0x48] <$d.911+0xc> + 144e: ldrb r3, [r2, r1] + 1450: subs r0, r6, #0x2 + 1452: add r4, sp, #0x14 + 1454: strb r3, [r4, r0] + 1456: adds r3, r4, r0 + 1458: adds r1, r2, r1 + 145a: ldrb r1, [r1, #0x1] + 145c: strb r1, [r3, #0x1] + 145e: b 0x146e ::fmt::haad0271efb4433f7+0xc2> @ imm = #0xc + 1460: mov r1, r2 + 1462: cmp r1, #0xa + 1464: bge 0x144a ::fmt::haad0271efb4433f7+0x9e> @ imm = #-0x1e + 1466: subs r0, r6, #0x1 + 1468: adds r1, #0x30 + 146a: add r2, sp, #0x14 + 146c: strb r1, [r2, r0] + 146e: movs r1, #0x27 + 1470: subs r1, r1, r0 + 1472: str r1, [sp, #0x4] + 1474: add r1, sp, #0x14 + 1476: adds r0, r1, r0 + 1478: str r0, [sp] + 147a: movs r1, #0x1 + 147c: ldr r2, [pc, #0x20] <$d.911+0x14> + 147e: movs r3, #0x0 + 1480: ldr r0, [sp, #0x8] + 1482: bl 0xd58 @ imm = #-0x72e + 1486: add sp, #0x3c + 1488: pop {r4, r5, r6, r7, pc} + 148a: mov r8, r8 + +0000148c <$d.911>: + 148c: 0f 27 00 00 .word 0x0000270f + 1490: 10 27 00 00 .word 0x00002710 + 1494: 7b 14 00 00 .word 0x0000147b + 1498: 74 1a 00 00 .word 0x00001a74 + 149c: ff e0 f5 05 .word 0x05f5e0ff + 14a0: d8 19 00 00 .word 0x000019d8 + +000014a4 <<&T as core::fmt::Debug>::fmt::h6f0c0a920de8d5a4>: + 14a4: push {r7, lr} + 14a6: add r7, sp, #0x0 + 14a8: ldr r2, [r0] + 14aa: ldr r0, [r0, #0x4] + 14ac: ldr r3, [r0, #0xc] + 14ae: mov r0, r2 + 14b0: blx r3 + 14b2: pop {r7, pc} + +000014b4 <<&T as core::fmt::Display>::fmt::h485290c43ed74af0>: + 14b4: push {r7, lr} + 14b6: add r7, sp, #0x0 + 14b8: mov r3, r1 + 14ba: ldm r0!, {r1, r2} + 14bc: mov r0, r3 + 14be: bl 0x109e @ imm = #-0x424 + 14c2: pop {r7, pc} + +000014c4 <<&T as core::fmt::Display>::fmt::h5eec314a4f33db6e>: + 14c4: push {r4, r5, r6, r7, lr} + 14c6: add r7, sp, #0xc + 14c8: sub sp, #0x1c + 14ca: ldr r2, [r1, #0x18] + 14cc: str r2, [sp] + 14ce: ldr r1, [r1, #0x1c] + 14d0: ldr r0, [r0] + 14d2: add r2, sp, #0x4 + 14d4: mov r4, r2 + 14d6: ldm r0!, {r3, r5, r6} + 14d8: stm r4!, {r3, r5, r6} + 14da: ldm r0!, {r3, r5, r6} + 14dc: stm r4!, {r3, r5, r6} + 14de: ldr r0, [sp] + 14e0: bl 0xbf8 @ imm = #-0x8ec + 14e4: add sp, #0x1c + 14e6: pop {r4, r5, r6, r7, pc} + +000014e8 <<&T as core::fmt::Display>::fmt::hebaa948f08d04b9f>: + 14e8: push {r7, lr} + 14ea: add r7, sp, #0x0 + 14ec: mov r3, r1 + 14ee: ldr r0, [r0] + 14f0: ldm r0!, {r1, r2} + 14f2: mov r0, r3 + 14f4: bl 0x109e @ imm = #-0x45a + 14f8: pop {r7, pc} + 14fa: bmi 0x14a6 <<&T as core::fmt::Debug>::fmt::h6f0c0a920de8d5a4+0x2> @ imm = #-0x58 + +000014fc : + 14fc: push {r7, lr} + 14fe: add r7, sp, #0x0 + 1500: sub sp, #0x28 + 1502: str r0, [sp] + 1504: bl 0x9b4 <__cpsid> @ imm = #-0xb54 + 1508: movs r4, #0x0 + 150a: mov r0, r4 + 150c: bl 0x568 @ imm = #-0xfa8 + 1510: cmp r0, #0x1 + 1512: bne 0x1544 @ imm = #0x2e + 1514: str r1, [sp, #0x4] + 1516: add r5, sp, #0x4 + 1518: movs r6, #0x2 + 151a: mov r0, r5 + 151c: mov r1, r6 + 151e: bl 0x54e @ imm = #-0xfd4 + 1522: movs r0, #0x1 + 1524: str r0, [sp, #0x1c] + 1526: add r0, sp, #0x20 + 1528: str r0, [sp, #0x18] + 152a: str r4, [sp, #0x14] + 152c: str r4, [sp, #0x10] + 152e: str r6, [sp, #0xc] + 1530: ldr r0, [pc, #0x14] <$d.1> + 1532: str r0, [sp, #0x8] + 1534: ldr r0, [pc, #0x14] <$d.1+0x4> + 1536: str r0, [sp, #0x24] + 1538: mov r0, sp + 153a: str r0, [sp, #0x20] + 153c: add r1, sp, #0x8 + 153e: mov r0, r5 + 1540: bl 0x588 <::write_fmt::hdc924a788f6db9e4> @ imm = #-0xfbc + 1544: b 0x1544 @ imm = #-0x4 + 1546: mov r8, r8 + +00001548 <$d.1>: + 1548: 40 1b 00 00 .word 0x00001b40 + 154c: 51 15 00 00 .word 0x00001551 + +00001550 <<&T as core::fmt::Display>::fmt::h8a7949594c7a4707>: + 1550: push {r7, lr} + 1552: add r7, sp, #0x0 + 1554: ldr r0, [r0] + 1556: bl 0xa0c <::fmt::hfe5dd1fd882165a9> @ imm = #-0xb4e + 155a: pop {r7, pc} + +0000155c : + 155c: push {r4, r5, r6, r7, lr} + 155e: add r7, sp, #0xc + 1560: sub sp, #0x4 + 1562: cmp r2, #0x0 + 1564: beq 0x15b4 @ imm = #0x4c + 1566: movs r4, #0x3 + 1568: mov r3, r2 + 156a: ands r3, r4 + 156c: subs r5, r2, #0x1 + 156e: cmp r5, #0x3 + 1570: str r3, [sp] + 1572: bhs 0x1578 @ imm = #0x2 + 1574: movs r4, #0x0 + 1576: b 0x1596 @ imm = #0x1c + 1578: bics r2, r4 + 157a: movs r4, #0x0 + 157c: ldrb r5, [r1, r4] + 157e: strb r5, [r0, r4] + 1580: adds r5, r0, r4 + 1582: adds r6, r1, r4 + 1584: ldrb r3, [r6, #0x1] + 1586: strb r3, [r5, #0x1] + 1588: ldrb r3, [r6, #0x2] + 158a: strb r3, [r5, #0x2] + 158c: ldrb r3, [r6, #0x3] + 158e: strb r3, [r5, #0x3] + 1590: adds r4, r4, #0x4 + 1592: cmp r2, r4 + 1594: bne 0x157c @ imm = #-0x1c + 1596: ldr r5, [sp] + 1598: cmp r5, #0x0 + 159a: beq 0x15b4 @ imm = #0x16 + 159c: ldrb r2, [r1, r4] + 159e: strb r2, [r0, r4] + 15a0: cmp r5, #0x1 + 15a2: beq 0x15b4 @ imm = #0xe + 15a4: adds r2, r4, #0x1 + 15a6: ldrb r3, [r1, r2] + 15a8: strb r3, [r0, r2] + 15aa: cmp r5, #0x2 + 15ac: beq 0x15b4 @ imm = #0x4 + 15ae: adds r2, r4, #0x2 + 15b0: ldrb r1, [r1, r2] + 15b2: strb r1, [r0, r2] + 15b4: add sp, #0x4 + 15b6: pop {r4, r5, r6, r7, pc} + +000015b8 : + 15b8: push {r4, r5, r7, lr} + 15ba: add r7, sp, #0x8 + 15bc: cmp r2, #0x0 + 15be: beq 0x15f8 @ imm = #0x36 + 15c0: movs r4, #0x3 + 15c2: mov r3, r2 + 15c4: ands r3, r4 + 15c6: subs r5, r2, #0x1 + 15c8: cmp r5, #0x3 + 15ca: bhs 0x15d0 @ imm = #0x2 + 15cc: movs r4, #0x0 + 15ce: b 0x15e4 @ imm = #0x12 + 15d0: bics r2, r4 + 15d2: movs r4, #0x0 + 15d4: strb r1, [r0, r4] + 15d6: adds r5, r0, r4 + 15d8: strb r1, [r5, #0x3] + 15da: strb r1, [r5, #0x2] + 15dc: strb r1, [r5, #0x1] + 15de: adds r4, r4, #0x4 + 15e0: cmp r2, r4 + 15e2: bne 0x15d4 @ imm = #-0x12 + 15e4: cmp r3, #0x0 + 15e6: beq 0x15f8 @ imm = #0xe + 15e8: strb r1, [r0, r4] + 15ea: cmp r3, #0x1 + 15ec: beq 0x15f8 @ imm = #0x8 + 15ee: adds r2, r4, r0 + 15f0: strb r1, [r2, #0x1] + 15f2: cmp r3, #0x2 + 15f4: beq 0x15f8 @ imm = #0x0 + 15f6: strb r1, [r2, #0x2] + 15f8: pop {r4, r5, r7, pc} + +000015fa <__aeabi_uidiv>: + 15fa: push {r7, lr} + 15fc: add r7, sp, #0x0 + 15fe: bl 0x1698 @ imm = #0x96 + 1602: pop {r7, pc} + +00001604 <__aeabi_memcpy>: + 1604: push {r7, lr} + 1606: add r7, sp, #0x0 + 1608: bl 0x155c @ imm = #-0xb0 + 160c: pop {r7, pc} + +0000160e <__aeabi_memset>: + 160e: push {r7, lr} + 1610: add r7, sp, #0x0 + 1612: mov r3, r1 + 1614: mov r1, r2 + 1616: mov r2, r3 + 1618: bl 0x15b8 @ imm = #-0x64 + 161c: pop {r7, pc} + +0000161e <__aeabi_memset4>: + 161e: push {r4, r5, r6, r7, lr} + 1620: add r7, sp, #0xc + 1622: sub sp, #0x4 + 1624: mov r5, r2 + 1626: mov r4, r1 + 1628: mov r3, r0 + 162a: uxtb r2, r2 + 162c: cmp r1, #0x4 + 162e: blo 0x165e <__aeabi_memset4+0x40> @ imm = #0x2c + 1630: lsls r0, r5, #0x18 + 1632: lsls r1, r2, #0x10 + 1634: adds r0, r1, r0 + 1636: lsls r1, r2, #0x8 + 1638: adds r0, r0, r1 + 163a: adds r5, r0, r2 + 163c: subs r1, r4, #0x4 + 163e: lsrs r0, r1, #0x2 + 1640: adds r0, r0, #0x1 + 1642: movs r6, #0x3 + 1644: ands r6, r0 + 1646: str r1, [sp] + 1648: beq 0x166a <__aeabi_memset4+0x4c> @ imm = #0x1e + 164a: mov r0, r3 + 164c: stm r0!, {r5} + 164e: cmp r6, #0x1 + 1650: beq 0x166e <__aeabi_memset4+0x50> @ imm = #0x1a + 1652: str r5, [r3, #0x4] + 1654: cmp r6, #0x2 + 1656: bne 0x1664 <__aeabi_memset4+0x46> @ imm = #0xa + 1658: subs r4, #0x8 + 165a: adds r3, #0x8 + 165c: b 0x166a <__aeabi_memset4+0x4c> @ imm = #0xa + 165e: mov r0, r3 + 1660: mov r1, r4 + 1662: b 0x1684 <__aeabi_memset4+0x66> @ imm = #0x1e + 1664: str r5, [r3, #0x8] + 1666: subs r4, #0xc + 1668: adds r3, #0xc + 166a: mov r1, r4 + 166c: mov r0, r3 + 166e: ldr r3, [sp] + 1670: cmp r3, #0xc + 1672: blo 0x1684 <__aeabi_memset4+0x66> @ imm = #0xe + 1674: str r5, [r0] + 1676: str r5, [r0, #0x4] + 1678: str r5, [r0, #0x8] + 167a: str r5, [r0, #0xc] + 167c: adds r0, #0x10 + 167e: subs r1, #0x10 + 1680: cmp r1, #0x3 + 1682: bhi 0x1674 <__aeabi_memset4+0x56> @ imm = #-0x12 + 1684: bl 0x160e <__aeabi_memset> @ imm = #-0x7a + 1688: add sp, #0x4 + 168a: pop {r4, r5, r6, r7, pc} + +0000168c <__aeabi_memclr8>: + 168c: push {r7, lr} + 168e: add r7, sp, #0x0 + 1690: movs r2, #0x0 + 1692: bl 0x161e <__aeabi_memset4> @ imm = #-0x78 + 1696: pop {r7, pc} + +00001698 : + 1698: push {r4, r5, r6, r7, lr} + 169a: add r7, sp, #0xc + 169c: sub sp, #0xc + 169e: mov r2, r0 + 16a0: cmp r0, r1 + 16a2: bhs 0x16ac @ imm = #0x6 + 16a4: movs r0, #0x0 + 16a6: mov r1, r2 + 16a8: add sp, #0xc + 16aa: pop {r4, r5, r6, r7, pc} + 16ac: lsrs r5, r2, #0x10 + 16ae: cmp r1, r5 + 16b0: mov r0, r2 + 16b2: bhi 0x16ce @ imm = #0x18 + 16b4: mov r0, r5 + 16b6: lsrs r6, r0, #0x8 + 16b8: cmp r1, r6 + 16ba: bls 0x16d4 @ imm = #0x16 + 16bc: lsrs r3, r0, #0x4 + 16be: cmp r1, r3 + 16c0: bhi 0x16dc @ imm = #0x18 + 16c2: mov r0, r3 + 16c4: str r3, [sp, #0x4] + 16c6: lsrs r3, r0, #0x2 + 16c8: cmp r1, r3 + 16ca: bls 0x16e4 @ imm = #0x16 + 16cc: b 0x16e6 @ imm = #0x16 + 16ce: lsrs r6, r0, #0x8 + 16d0: cmp r1, r6 + 16d2: bhi 0x16bc @ imm = #-0x1a + 16d4: mov r0, r6 + 16d6: lsrs r3, r0, #0x4 + 16d8: cmp r1, r3 + 16da: bls 0x16c2 @ imm = #-0x1c + 16dc: str r3, [sp, #0x4] + 16de: lsrs r3, r0, #0x2 + 16e0: cmp r1, r3 + 16e2: bhi 0x16e6 @ imm = #0x0 + 16e4: mov r0, r3 + 16e6: str r3, [sp, #0x8] + 16e8: lsrs r3, r0, #0x1 + 16ea: movs r4, #0x1 + 16ec: movs r0, #0x0 + 16ee: cmp r1, r3 + 16f0: mov r3, r4 + 16f2: bls 0x16f6 @ imm = #0x0 + 16f4: mov r3, r0 + 16f6: cmp r1, r5 + 16f8: mov r5, r4 + 16fa: bls 0x16fe @ imm = #0x0 + 16fc: mov r5, r0 + 16fe: str r3, [sp] + 1700: lsls r5, r5, #0x4 + 1702: cmp r1, r6 + 1704: mov r6, r4 + 1706: bls 0x170a @ imm = #0x0 + 1708: mov r6, r0 + 170a: lsls r3, r6, #0x3 + 170c: adds r5, r3, r5 + 170e: ldr r3, [sp, #0x4] + 1710: cmp r1, r3 + 1712: mov r3, r4 + 1714: bls 0x1718 @ imm = #0x0 + 1716: mov r3, r0 + 1718: lsls r3, r3, #0x2 + 171a: adds r3, r5, r3 + 171c: ldr r5, [sp, #0x8] + 171e: cmp r1, r5 + 1720: mov r5, r4 + 1722: bls 0x1726 @ imm = #0x0 + 1724: mov r5, r0 + 1726: lsls r0, r5, #0x1 + 1728: adds r0, r3, r0 + 172a: ldr r3, [sp] + 172c: adds r3, r0, r3 + 172e: lsls r4, r3 + 1730: mov r5, r1 + 1732: lsls r5, r3 + 1734: subs r6, r2, r5 + 1736: cmp r6, r1 + 1738: bhs 0x1744 @ imm = #0x8 + 173a: mov r2, r6 + 173c: mov r0, r4 + 173e: mov r1, r2 + 1740: add sp, #0xc + 1742: pop {r4, r5, r6, r7, pc} + 1744: cmp r5, #0x0 + 1746: bmi 0x1750 @ imm = #0x6 + 1748: mov r1, r4 + 174a: mov r0, r4 + 174c: mov r2, r6 + 174e: b 0x177c @ imm = #0x2a + 1750: lsrs r5, r5, #0x1 + 1752: subs r2, r6, r5 + 1754: subs r3, r3, #0x1 + 1756: movs r0, #0x1f + 1758: str r3, [sp, #0x4] + 175a: ands r0, r3 + 175c: str r0, [sp, #0x8] + 175e: movs r0, #0x1 + 1760: ldr r3, [sp, #0x8] + 1762: lsls r0, r3 + 1764: cmp r2, #0x0 + 1766: str r0, [sp, #0x8] + 1768: bge 0x176c @ imm = #0x0 + 176a: movs r0, #0x0 + 176c: cmp r2, #0x0 + 176e: bge 0x1772 @ imm = #0x0 + 1770: mov r2, r6 + 1772: orrs r0, r4 + 1774: cmp r2, r1 + 1776: ldr r1, [sp, #0x8] + 1778: ldr r3, [sp, #0x4] + 177a: blo 0x16a6 @ imm = #-0xd8 + 177c: subs r1, r1, #0x1 + 177e: cmp r3, #0x0 + 1780: beq 0x17ae @ imm = #0x2a + 1782: str r1, [sp, #0x4] + 1784: subs r4, r5, #0x1 + 1786: movs r6, #0x3 + 1788: ands r6, r3 + 178a: subs r1, r3, #0x1 + 178c: str r1, [sp, #0x8] + 178e: cmp r6, #0x0 + 1790: beq 0x17b2 @ imm = #0x1e + 1792: lsls r2, r2, #0x1 + 1794: subs r2, r2, r4 + 1796: asrs r5, r2, #0x1f + 1798: ands r5, r4 + 179a: adds r5, r5, r2 + 179c: cmp r6, #0x1 + 179e: bne 0x17be @ imm = #0x1c + 17a0: mov r2, r5 + 17a2: ldr r6, [sp, #0x8] + 17a4: ldr r1, [sp, #0x8] + 17a6: cmp r1, #0x3 + 17a8: ldr r1, [sp, #0x4] + 17aa: blo 0x1814 @ imm = #0x66 + 17ac: b 0x17e6 @ imm = #0x36 + 17ae: mov r5, r2 + 17b0: b 0x1814 @ imm = #0x60 + 17b2: mov r6, r3 + 17b4: ldr r1, [sp, #0x8] + 17b6: cmp r1, #0x3 + 17b8: ldr r1, [sp, #0x4] + 17ba: blo 0x1814 @ imm = #0x56 + 17bc: b 0x17e6 @ imm = #0x26 + 17be: lsls r2, r5, #0x1 + 17c0: subs r2, r2, r4 + 17c2: asrs r5, r2, #0x1f + 17c4: ands r5, r4 + 17c6: adds r5, r5, r2 + 17c8: cmp r6, #0x2 + 17ca: bne 0x17d0 @ imm = #0x2 + 17cc: subs r6, r3, #0x2 + 17ce: b 0x17dc @ imm = #0xa + 17d0: lsls r2, r5, #0x1 + 17d2: subs r2, r2, r4 + 17d4: asrs r5, r2, #0x1f + 17d6: ands r5, r4 + 17d8: adds r5, r5, r2 + 17da: subs r6, r3, #0x3 + 17dc: mov r2, r5 + 17de: ldr r1, [sp, #0x8] + 17e0: cmp r1, #0x3 + 17e2: ldr r1, [sp, #0x4] + 17e4: blo 0x1814 @ imm = #0x2c + 17e6: mov r5, r2 + 17e8: lsls r2, r5, #0x1 + 17ea: subs r2, r2, r4 + 17ec: asrs r5, r2, #0x1f + 17ee: ands r5, r4 + 17f0: adds r2, r5, r2 + 17f2: lsls r2, r2, #0x1 + 17f4: subs r2, r2, r4 + 17f6: asrs r5, r2, #0x1f + 17f8: ands r5, r4 + 17fa: adds r2, r5, r2 + 17fc: lsls r2, r2, #0x1 + 17fe: subs r2, r2, r4 + 1800: asrs r5, r2, #0x1f + 1802: ands r5, r4 + 1804: adds r2, r5, r2 + 1806: lsls r2, r2, #0x1 + 1808: subs r2, r2, r4 + 180a: asrs r5, r2, #0x1f + 180c: ands r5, r4 + 180e: adds r5, r5, r2 + 1810: subs r6, r6, #0x4 + 1812: bne 0x17e8 @ imm = #-0x2e + 1814: movs r2, #0x1f + 1816: ands r3, r2 + 1818: mov r2, r5 + 181a: lsrs r2, r3 + 181c: ands r1, r5 + 181e: orrs r0, r1 + 1820: mov r1, r2 + 1822: add sp, #0xc + 1824: pop {r4, r5, r6, r7, pc} + +00001826 : + 1826: mov r0, lr + 1828: movs r1, #0x4 + 182a: tst r0, r1 + 182c: bne 0x1834 @ imm = #0x4 + 182e: mrs r0, msp + 1832: b 0x183a @ imm = #0x4 + 1834: mrs r0, psp + 1838: b 0x183a @ imm = #-0x2 + +0000183a : + 183a: b 0x183a @ imm = #-0x4 diff --git a/benchmark/sections_lto.txt b/benchmark/sections_lto.txt index a8639ac..f644a19 100644 --- a/benchmark/sections_lto.txt +++ b/benchmark/sections_lto.txt @@ -1,7 +1,3 @@ -Generated using: - -cargo objdump -p vorago-reb1 --example blinky-button-irq --release \ - -- --disassemble --no-show-raw-insn --print-imm-hex > sections.txt blinky-button-irq: file format elf32-littlearm diff --git a/sections.txt b/sections.txt deleted file mode 100644 index 8798d64..0000000 --- a/sections.txt +++ /dev/null @@ -1,2450 +0,0 @@ - -Generated using: - -cargo objdump -p vorago-reb1 --example blinky-button-irq --release \ - -- --disassemble --no-show-raw-insn --print-imm-hex > sections.txt - -blinky-button-irq: file format elf32-littlearm - -Disassembly of section .text: - -000000c0 <__stext>: - c0: ldr r4, [pc, #0x2c] <$d> - c2: mov lr, r4 - c4: bl 0xca6 <__pre_init> @ imm = #0xbde - c8: mov lr, r4 - ca: ldr r0, [pc, #0x28] <$d+0x6> - cc: ldr r1, [pc, #0x28] <$d+0x8> - ce: movs r2, #0x0 - d0: cmp r1, r0 - d2: beq 0xd8 <__stext+0x18> @ imm = #0x2 - d4: stm r0!, {r2} - d6: b 0xd0 <__stext+0x10> @ imm = #-0xa - d8: ldr r0, [pc, #0x20] <$d+0xc> - da: ldr r1, [pc, #0x24] <$d+0x12> - dc: ldr r2, [pc, #0x24] <$d+0x14> - de: cmp r1, r0 - e0: beq 0xe8 <__stext+0x28> @ imm = #0x4 - e2: ldm r2!, {r3} - e4: stm r0!, {r3} - e6: b 0xde <__stext+0x1e> @ imm = #-0xc - e8: bl 0x10c
@ imm = #0x20 - ec: udf #0x0 - -000000ee <$d>: - ee: 00 00 .short 0x0000 - -000000f0 <$d>: - f0: ff ff ff ff .word 0xffffffff - f4: 10 00 00 10 .word 0x10000010 - f8: 5c 04 00 10 .word 0x1000045c - fc: 00 00 00 10 .word 0x10000000 - 100: 10 00 00 10 .word 0x10000010 - 104: e0 16 00 00 .word 0x000016e0 - -00000108 ::h1ddd9306d86e0d6a>: - 108: bx lr - -0000010a ::h0aa9974d9ffb5bb5>: - 10a: bx lr - -0000010c
: - 10c: push {r7, lr} - 10e: add r7, sp, #0x0 - 110: bl 0x118 @ imm = #0x4 - 114: trap - 116: bmi 0xc2 <__stext+0x2> @ imm = #-0x58 - -00000118 : - 118: push {r7, lr} - 11a: add r7, sp, #0x0 - 11c: sub sp, #0x28 - 11e: ldr r4, [pc, #0x1dc] <$d.4+0x2> - 120: movs r1, #0x30 - 122: mov r0, r4 - 124: bl 0x11e0 <__aeabi_memclr8> @ imm = #0x10b8 - 128: ldr r0, [pc, #0x1d4] <$d.4+0x4> - 12a: str r0, [r4, #0x18] - 12c: movs r2, #0x1 - 12e: lsls r0, r2, #0xa - 130: str r0, [sp, #0x4] - 132: str r0, [r4, #0x20] - 134: ldr r0, [r4, #0x2c] - 136: movs r1, #0x3 - 138: bics r0, r1 - 13a: dmb sy - 13e: dmb sy - 142: str r0, [r4, #0x2c] - 144: dmb sy - 148: ldr r0, [pc, #0x1b8] <$d.4+0x8> - 14a: str r0, [r4, #0x1c] - 14c: str r2, [sp, #0x8] - 14e: str r2, [r4, #0x10] - 150: movs r5, #0x0 - 152: str r5, [r4, #0x14] - 154: ldr r1, [pc, #0x1b0] <$d.4+0xc> - 156: movs r2, #0x5 - 158: mov r0, r4 - 15a: bl 0x1158 <__aeabi_memcpy> @ imm = #0xffa - 15e: dmb sy - 162: adds r0, r4, #0x4 - 164: ldr r1, [pc, #0x1a4] <$d.4+0x10> - 166: ldm r1!, {r2, r3, r6} - 168: stm r0!, {r2, r3, r6} - 16a: bl 0x1148 <__primask_r> @ imm = #0xfda - 16e: mov r6, r0 - 170: bl 0x1140 <__cpsid> @ imm = #0xfcc - 174: ldr r0, [pc, #0x198] <$d.4+0x14> - 176: strb r5, [r0, #0x4] - 178: adds r4, #0x18 - 17a: str r4, [r0] - 17c: lsls r0, r6, #0x1f - 17e: bne 0x184 @ imm = #0x2 - 180: bl 0x1144 <__cpsie> @ imm = #0xfc0 - 184: dmb sy - 188: ldr r0, [pc, #0x188] <$d.4+0x18> - 18a: ldr r1, [pc, #0x18c] <$d.4+0x1e> - 18c: str r1, [r0] - 18e: dmb sy - 192: movs r1, #0x20 - 194: str r1, [sp, #0x10] - 196: ldr r1, [pc, #0x184] <$d.4+0x22> - 198: str r1, [sp, #0xc] - 19a: ldr r1, [r0] - 19c: dmb sy - 1a0: cmp r1, #0x0 - 1a2: beq 0x1b2 @ imm = #0xc - 1a4: add r0, sp, #0x18 - 1a6: strb r5, [r0] - 1a8: add r2, sp, #0xc - 1aa: str r2, [sp, #0x1c] - 1ac: ldr r2, [r1] - 1ae: ldr r1, [pc, #0x170] <$d.4+0x26> - 1b0: blx r2 - 1b2: bl 0x1148 <__primask_r> @ imm = #0xf92 - 1b6: mov r4, r0 - 1b8: ldr r6, [sp, #0x8] - 1ba: ands r4, r6 - 1bc: bl 0x1140 <__cpsid> @ imm = #0xf80 - 1c0: ldr r0, [pc, #0x160] <$d.4+0x28> - 1c2: ldrb r1, [r0] - 1c4: cmp r1, #0x0 - 1c6: bne 0x1ca @ imm = #0x0 - 1c8: strb r6, [r0] - 1ca: cmp r4, #0x0 - 1cc: bne 0x1d6 @ imm = #0x6 - 1ce: mov r4, r1 - 1d0: bl 0x1144 <__cpsie> @ imm = #0xf70 - 1d4: mov r1, r4 - 1d6: cmp r1, #0x0 - 1d8: beq 0x1dc @ imm = #0x0 - 1da: b 0x2e0 @ imm = #0x102 - 1dc: ldr r1, [pc, #0x148] <$d.4+0x2c> - 1de: ldr r0, [r1] - 1e0: ldr r2, [pc, #0x148] <$d.4+0x30> - 1e2: orrs r2, r0 - 1e4: str r2, [r1] - 1e6: lsls r2, r6, #0x15 - 1e8: ldr r0, [r1] - 1ea: orrs r0, r2 - 1ec: str r0, [r1] - 1ee: lsls r3, r6, #0xb - 1f0: ldr r0, [pc, #0x13c] <$d.4+0x34> - 1f2: ldr r4, [r0, #0x2c] - 1f4: orrs r4, r3 - 1f6: str r4, [r0, #0x2c] - 1f8: ldr r4, [pc, #0x138] <$d.4+0x38> - 1fa: movs r6, #0xf - 1fc: str r6, [r4] - 1fe: ldr r6, [sp, #0x8] - 200: ldr r4, [r0, #0x20] - 202: bics r4, r3 - 204: str r4, [r0, #0x20] - 206: ldr r4, [r0, #0x24] - 208: orrs r4, r3 - 20a: str r4, [r0, #0x24] - 20c: mov r3, r1 - 20e: subs r3, #0x8 - 210: ldr r4, [r3] - 212: orrs r4, r6 - 214: str r4, [r3] - 216: ldr r3, [pc, #0x120] <$d.4+0x3e> - 218: ldr r4, [r3] - 21a: orrs r4, r6 - 21c: str r4, [r3] - 21e: ldr r4, [r1] - 220: orrs r4, r2 - 222: str r4, [r1] - 224: ldr r1, [pc, #0x114] <$d.4+0x40> - 226: str r5, [r1] - 228: ldr r1, [r3] - 22a: movs r2, #0x10 - 22c: orrs r2, r1 - 22e: str r2, [r3] - 230: ldr r1, [pc, #0x10c] <$d.4+0x44> - 232: str r1, [r3, #0x4] - 234: str r1, [r3, #0x8] - 236: ldr r1, [pc, #0x10c] <$d.4+0x4a> - 238: str r5, [r1, #0x10] - 23a: ldr r2, [r0, #0xc] - 23c: ldr r3, [sp, #0x4] - 23e: orrs r2, r3 - 240: str r2, [r0, #0xc] - 242: str r3, [r0] - 244: str r5, [r1, #0x4] - 246: ldr r2, [r0, #0xc] - 248: movs r3, #0x80 - 24a: orrs r2, r3 - 24c: str r2, [r0, #0xc] - 24e: str r3, [r0] - 250: str r5, [r1] - 252: ldr r1, [r0, #0xc] - 254: movs r2, #0x40 - 256: orrs r1, r2 - 258: str r1, [r0, #0xc] - 25a: str r2, [r0] - 25c: movs r1, #0x83 - 25e: lsls r1, r1, #0x9 - 260: str r1, [sp, #0x14] - 262: ldr r1, [pc, #0xe4] <$d.4+0x4e> - 264: str r1, [sp, #0x10] - 266: movs r1, #0x85 - 268: lsls r1, r1, #0x9 - 26a: str r1, [sp, #0xc] - 26c: ldr r1, [pc, #0xdc] <$d.4+0x50> - 26e: add r2, sp, #0xc - 270: adds r2, r2, r5 - 272: ldrb r2, [r2, #0x2] - 274: cmp r2, #0x1 - 276: bne 0x294 @ imm = #0x1a - 278: add r3, sp, #0xc - 27a: ldrb r2, [r3, r5] - 27c: cmp r2, #0x0 - 27e: beq 0x284 @ imm = #0x2 - 280: mov r2, r1 - 282: b 0x286 @ imm = #0x0 - 284: subs r2, r0, #0x4 - 286: adds r3, r3, r5 - 288: ldrb r3, [r3, #0x1] - 28a: movs r4, #0x1f - 28c: ands r4, r3 - 28e: mov r3, r6 - 290: lsls r3, r4 - 292: str r3, [r2] - 294: adds r5, r5, #0x4 - 296: cmp r5, #0xc - 298: bne 0x26e @ imm = #-0x2e - 29a: ldr r0, [pc, #0xb4] <$d.4+0x56> - 29c: str r6, [r0] - 29e: lsls r1, r6, #0xf - 2a0: str r1, [r0] - 2a2: add r0, sp, #0xc - 2a4: add r1, sp, #0x18 - 2a6: ldm r0!, {r2, r3, r4} - 2a8: stm r1!, {r2, r3, r4} - 2aa: bl 0x1148 <__primask_r> @ imm = #0xe9a - 2ae: mov r4, r0 - 2b0: bl 0x1140 <__cpsid> @ imm = #0xe8c - 2b4: ldr r0, [pc, #0x9c] <$d.4+0x58> - 2b6: ldr r1, [r0] - 2b8: cmp r1, #0x0 - 2ba: bne 0x2e6 @ imm = #0x28 - 2bc: adds r1, r0, #0x4 - 2be: add r2, sp, #0x18 - 2c0: ldm r2!, {r3, r5, r6} - 2c2: stm r1!, {r3, r5, r6} - 2c4: movs r1, #0x0 - 2c6: str r1, [r0] - 2c8: ldr r0, [pc, #0x98] <$d.4+0x68> - 2ca: ldr r2, [r0] - 2cc: cmp r2, #0x0 - 2ce: bne 0x2ea @ imm = #0x18 - 2d0: ldr r2, [sp, #0x8] - 2d2: ands r4, r2 - 2d4: str r1, [r0] - 2d6: strb r2, [r0, #0x4] - 2d8: bne 0x2de @ imm = #0x2 - 2da: bl 0x1144 <__cpsie> @ imm = #0xe66 - 2de: b 0x2de @ imm = #-0x4 - 2e0: bl 0xa3c @ imm = #0x758 - 2e4: trap - 2e6: ldr r0, [pc, #0x70] <$d.4+0x5e> - 2e8: b 0x2ec @ imm = #0x0 - 2ea: ldr r0, [pc, #0x7c] <$d.4+0x6e> - 2ec: str r0, [sp] - 2ee: ldr r0, [pc, #0x6c] <$d.4+0x62> - 2f0: movs r1, #0x10 - 2f2: add r2, sp, #0x24 - 2f4: ldr r3, [pc, #0x68] <$d.4+0x64> - 2f6: bl 0xc5c @ imm = #0x962 - 2fa: trap - -000002fc <$d.4>: - 2fc: 28 04 00 10 .word 0x10000428 - 300: b4 14 00 00 .word 0x000014b4 - 304: 1c 00 00 10 .word 0x1000001c - 308: cc 16 00 00 .word 0x000016cc - 30c: d4 16 00 00 .word 0x000016d4 - 310: 20 04 00 10 .word 0x10000420 - 314: 1c 04 00 10 .word 0x1000041c - 318: b0 16 00 00 .word 0x000016b0 - 31c: bd 14 00 00 .word 0x000014bd - 320: 9d 0e 00 00 .word 0x00000e9d - 324: 58 04 00 10 .word 0x10000458 - 328: 7c 00 00 40 .word 0x4000007c - 32c: 01 00 40 01 .word 0x01400001 - 330: 14 00 00 50 .word 0x50000014 - 334: 2c 10 00 40 .word 0x4000102c - 338: 00 00 02 40 .word 0x40020000 - 33c: 00 11 00 40 .word 0x40001100 - 340: 4f c3 00 00 .word 0x0000c34f - 344: 18 20 00 40 .word 0x40002018 - 348: 00 07 01 00 .word 0x00010700 - 34c: 10 10 00 50 .word 0x50001010 - 350: 00 e1 00 e0 .word 0xe000e100 - 354: 00 00 00 10 .word 0x10000000 - 358: 1c 15 00 00 .word 0x0000151c - 35c: 30 14 00 00 .word 0x00001430 - 360: a4 14 00 00 .word 0x000014a4 - 364: 14 00 00 10 .word 0x10000014 - 368: 2c 15 00 00 .word 0x0000152c - -0000036c : - 36c: push {r4, r6, r7, lr} - 36e: add r7, sp, #0x8 - 370: bl 0x1148 <__primask_r> @ imm = #0xdd4 - 374: mov r4, r0 - 376: bl 0x1140 <__cpsid> @ imm = #0xdc6 - 37a: ldr r0, [pc, #0x10] <$d.6+0x2> - 37c: ldr r1, [r0] - 37e: adds r1, r1, #0x1 - 380: str r1, [r0] - 382: lsls r0, r4, #0x1f - 384: bne 0x38a @ imm = #0x2 - 386: bl 0x1144 <__cpsie> @ imm = #0xdba - 38a: pop {r4, r6, r7, pc} - -0000038c <$d.6>: - 38c: 10 00 00 10 .word 0x10000010 - -00000390 : - 390: push {r4, r5, r6, r7, lr} - 392: add r7, sp, #0xc - 394: sub sp, #0xc - 396: bl 0x1148 <__primask_r> @ imm = #0xdae - 39a: mov r4, r0 - 39c: bl 0x1140 <__cpsid> @ imm = #0xda0 - 3a0: ldr r0, [pc, #0xb8] <$d.8> - 3a2: ldr r1, [r0] - 3a4: cmp r1, #0x0 - 3a6: bne 0x43c @ imm = #0x92 - 3a8: movs r1, #0x0 - 3aa: mvns r1, r1 - 3ac: str r1, [r0] - 3ae: ldr r1, [pc, #0xbc] <$d.8+0x12> - 3b0: ldr r2, [r1] - 3b2: ldr r3, [pc, #0xbc] <$d.8+0x16> - 3b4: cmp r2, r3 - 3b6: bhs 0x44a @ imm = #0x90 - 3b8: movs r5, #0x1 - 3ba: ands r4, r5 - 3bc: ldrb r3, [r0, #0x4] - 3be: adds r2, r2, #0x1 - 3c0: str r2, [r1] - 3c2: cmp r3, #0x2 - 3c4: beq 0x424 @ imm = #0x5c - 3c6: ldrb r2, [r1, #0x4] - 3c8: cmp r2, #0x1 - 3ca: bne 0x424 @ imm = #0x56 - 3cc: ldr r2, [pc, #0xb0] <$d.8+0x24> - 3ce: ldr r6, [r2] - 3d0: lsls r6, r6, #0x14 - 3d2: bmi 0x3dc @ imm = #0x6 - 3d4: cmp r3, #0x2 - 3d6: bne 0x3e4 @ imm = #0xa - 3d8: mov r5, r3 - 3da: b 0x3e6 @ imm = #0x8 - 3dc: cmp r3, #0x2 - 3de: bne 0x3f8 @ imm = #0x16 - 3e0: mov r6, r3 - 3e2: b 0x3fa @ imm = #0x14 - 3e4: adds r5, r0, #0x6 - 3e6: ldrb r5, [r5] - 3e8: cmp r5, #0x1 - 3ea: bne 0x424 @ imm = #0x36 - 3ec: ldrb r5, [r0, #0x4] - 3ee: cmp r5, #0x0 - 3f0: beq 0x40a @ imm = #0x16 - 3f2: ldr r2, [pc, #0x90] <$d.8+0x2a> - 3f4: adds r2, r2, #0x4 - 3f6: b 0x40c @ imm = #0x12 - 3f8: adds r6, r0, #0x6 - 3fa: ldrb r6, [r6] - 3fc: cmp r6, #0x1 - 3fe: bne 0x424 @ imm = #0x22 - 400: ldrb r6, [r0, #0x4] - 402: cmp r6, #0x0 - 404: beq 0x410 @ imm = #0x8 - 406: ldr r2, [pc, #0x7c] <$d.8+0x2a> - 408: b 0x412 @ imm = #0x6 - 40a: adds r2, #0x10 - 40c: movs r5, #0x1 - 40e: b 0x412 @ imm = #0x0 - 410: adds r2, #0xc - 412: cmp r3, #0x2 - 414: mov r3, r5 - 416: beq 0x41a @ imm = #0x0 - 418: adds r3, r0, #0x5 - 41a: ldrb r3, [r3] - 41c: movs r6, #0x1f - 41e: ands r6, r3 - 420: lsls r5, r6 - 422: str r5, [r2] - 424: ldr r2, [r1] - 426: subs r2, r2, #0x1 - 428: str r2, [r1] - 42a: ldr r1, [r0] - 42c: adds r1, r1, #0x1 - 42e: str r1, [r0] - 430: cmp r4, #0x0 - 432: bne 0x438 @ imm = #0x2 - 434: bl 0x1144 <__cpsie> @ imm = #0xd0c - 438: add sp, #0xc - 43a: pop {r4, r5, r6, r7, pc} - 43c: ldr r0, [pc, #0x20] <$d.8+0x4> - 43e: str r0, [sp] - 440: ldr r0, [pc, #0x20] <$d.8+0x8> - 442: movs r1, #0x10 - 444: add r2, sp, #0x8 - 446: ldr r3, [pc, #0x20] <$d.8+0xe> - 448: b 0x456 @ imm = #0xa - 44a: ldr r0, [pc, #0x28] <$d.8+0x1a> - 44c: str r0, [sp] - 44e: ldr r0, [pc, #0x28] <$d.8+0x1e> - 450: movs r1, #0x18 - 452: add r2, sp, #0x8 - 454: ldr r3, [pc, #0x24] <$d.8+0x20> - 456: bl 0xc5c @ imm = #0x802 - 45a: trap - -0000045c <$d.8>: - 45c: 00 00 00 10 .word 0x10000000 - 460: 3c 15 00 00 .word 0x0000153c - 464: 30 14 00 00 .word 0x00001430 - 468: a4 14 00 00 .word 0x000014a4 - 46c: 14 00 00 10 .word 0x10000014 - 470: ff ff ff 7f .word 0x7fffffff - 474: 4c 15 00 00 .word 0x0000154c - 478: 50 14 00 00 .word 0x00001450 - 47c: 94 14 00 00 .word 0x00001494 - 480: 04 00 00 50 .word 0x50000004 - 484: 10 10 00 50 .word 0x50001010 - -00000488 : - 488: ldr r0, [r0] - 48a: b 0x48a @ imm = #-0x4 - -0000048c ::fmt::h55a201de7649bb77>: - 48c: push {r4, r5, r6, r7, lr} - 48e: add r7, sp, #0xc - 490: sub sp, #0x4c - 492: str r1, [sp, #0x18] - 494: ldr r2, [r0] - 496: ldr r3, [pc, #0x23c] <$d.11+0x2> - 498: ldr r1, [pc, #0x23c] <$d.11+0x4> - 49a: movs r5, #0x27 - 49c: cmp r2, r1 - 49e: blo 0x4fc ::fmt::h55a201de7649bb77+0x70> @ imm = #0x5a - 4a0: mov r4, r2 - 4a2: str r5, [sp, #0x20] - 4a4: mov r0, r4 - 4a6: ldr r1, [pc, #0x230] <$d.11+0x6> - 4a8: bl 0x114e <__aeabi_uidiv> @ imm = #0xca2 - 4ac: str r0, [sp, #0x1c] - 4ae: ldr r1, [pc, #0x22c] <$d.11+0xa> - 4b0: muls r1, r0, r1 - 4b2: adds r1, r1, r4 - 4b4: uxth r2, r1 - 4b6: lsrs r2, r2, #0x2 - 4b8: ldr r0, [pc, #0x224] <$d.11+0xc> - 4ba: muls r2, r0, r2 - 4bc: lsrs r2, r2, #0x11 - 4be: lsls r3, r2, #0x1 - 4c0: ldr r0, [pc, #0x220] <$d.11+0x10> - 4c2: ldrb r0, [r0, r3] - 4c4: add r6, sp, #0x24 - 4c6: adds r6, r6, r5 - 4c8: subs r5, r6, #0x4 - 4ca: strb r0, [r5] - 4cc: ldr r0, [pc, #0x214] <$d.11+0x10> - 4ce: adds r0, r0, r3 - 4d0: ldr r3, [pc, #0x200] <$d.11> - 4d2: ldrb r0, [r0, #0x1] - 4d4: strb r0, [r5, #0x1] - 4d6: ldr r5, [sp, #0x20] - 4d8: muls r2, r3, r2 - 4da: adds r0, r2, r1 - 4dc: uxth r0, r0 - 4de: lsls r0, r0, #0x1 - 4e0: ldr r1, [pc, #0x200] <$d.11+0x10> - 4e2: ldrb r1, [r1, r0] - 4e4: subs r2, r6, #0x2 - 4e6: strb r1, [r2] - 4e8: ldr r1, [pc, #0x1f8] <$d.11+0x10> - 4ea: adds r0, r1, r0 - 4ec: ldrb r0, [r0, #0x1] - 4ee: strb r0, [r2, #0x1] - 4f0: ldr r2, [sp, #0x1c] - 4f2: subs r5, r5, #0x4 - 4f4: ldr r0, [pc, #0x1f0] <$d.11+0x14> - 4f6: cmp r4, r0 - 4f8: mov r4, r2 - 4fa: bhi 0x4a2 ::fmt::h55a201de7649bb77+0x16> @ imm = #-0x5c - 4fc: cmp r2, #0x63 - 4fe: ble 0x53e ::fmt::h55a201de7649bb77+0xb2> @ imm = #0x3c - 500: uxth r0, r2 - 502: lsrs r0, r0, #0x2 - 504: ldr r1, [pc, #0x1d8] <$d.11+0xc> - 506: muls r1, r0, r1 - 508: lsrs r1, r1, #0x11 - 50a: muls r3, r1, r3 - 50c: adds r0, r3, r2 - 50e: uxth r0, r0 - 510: lsls r0, r0, #0x1 - 512: ldr r2, [pc, #0x1d0] <$d.11+0x12> - 514: ldrb r3, [r2, r0] - 516: subs r5, r5, #0x2 - 518: add r4, sp, #0x24 - 51a: strb r3, [r4, r5] - 51c: adds r3, r4, r5 - 51e: adds r0, r2, r0 - 520: ldrb r0, [r0, #0x1] - 522: strb r0, [r3, #0x1] - 524: cmp r1, #0xa - 526: blt 0x544 ::fmt::h55a201de7649bb77+0xb8> @ imm = #0x1a - 528: lsls r0, r1, #0x1 - 52a: ldr r1, [pc, #0x1b8] <$d.11+0x12> - 52c: ldrb r2, [r1, r0] - 52e: subs r5, r5, #0x2 - 530: add r3, sp, #0x24 - 532: strb r2, [r3, r5] - 534: adds r2, r3, r5 - 536: adds r0, r1, r0 - 538: ldrb r0, [r0, #0x1] - 53a: strb r0, [r2, #0x1] - 53c: b 0x54c ::fmt::h55a201de7649bb77+0xc0> @ imm = #0xc - 53e: mov r1, r2 - 540: cmp r1, #0xa - 542: bge 0x528 ::fmt::h55a201de7649bb77+0x9c> @ imm = #-0x1e - 544: subs r5, r5, #0x1 - 546: adds r1, #0x30 - 548: add r0, sp, #0x24 - 54a: strb r1, [r0, r5] - 54c: movs r1, #0x27 - 54e: ldr r0, [sp, #0x18] - 550: ldr r0, [r0] - 552: movs r3, #0x1 - 554: mov r6, r0 - 556: ands r6, r3 - 558: movs r2, #0x11 - 55a: lsls r2, r2, #0x10 - 55c: cmp r6, #0x0 - 55e: str r2, [sp, #0xc] - 560: beq 0x564 ::fmt::h55a201de7649bb77+0xd8> @ imm = #0x0 - 562: movs r2, #0x2b - 564: str r2, [sp, #0x14] - 566: subs r4, r1, r5 - 568: add r1, sp, #0x24 - 56a: str r5, [sp, #0x20] - 56c: adds r1, r1, r5 - 56e: str r1, [sp, #0x10] - 570: lsls r1, r0, #0x1d - 572: asrs r1, r1, #0x1f - 574: ldr r2, [pc, #0x174] <$d.11+0x18> - 576: ands r2, r1 - 578: ldr r5, [sp, #0x18] - 57a: ldr r1, [r5, #0x8] - 57c: cmp r1, #0x1 - 57e: bne 0x5b0 ::fmt::h55a201de7649bb77+0x124> @ imm = #0x2e - 580: str r2, [sp, #0x8] - 582: adds r1, r4, r6 - 584: ldr r2, [r5, #0xc] - 586: cmp r2, r1 - 588: bls 0x5b6 ::fmt::h55a201de7649bb77+0x12a> @ imm = #0x2a - 58a: str r2, [sp, #0x1c] - 58c: str r4, [sp, #0x4] - 58e: lsls r0, r0, #0x1c - 590: bmi 0x5dc ::fmt::h55a201de7649bb77+0x150> @ imm = #0x48 - 592: movs r0, #0x20 - 594: ldr r3, [sp, #0x18] - 596: ldrb r2, [r3, r0] - 598: cmp r2, #0x3 - 59a: bne 0x59e ::fmt::h55a201de7649bb77+0x112> @ imm = #0x0 - 59c: movs r2, #0x1 - 59e: ldr r0, [sp, #0x1c] - 5a0: subs r0, r0, r1 - 5a2: lsls r1, r2, #0x1e - 5a4: beq 0x628 ::fmt::h55a201de7649bb77+0x19c> @ imm = #0x80 - 5a6: cmp r2, #0x1 - 5a8: bne 0x62e ::fmt::h55a201de7649bb77+0x1a2> @ imm = #0x82 - 5aa: movs r5, #0x0 - 5ac: mov r1, r0 - 5ae: b 0x634 ::fmt::h55a201de7649bb77+0x1a8> @ imm = #0x82 - 5b0: mov r0, r5 - 5b2: ldr r1, [sp, #0x14] - 5b4: b 0x5bc ::fmt::h55a201de7649bb77+0x130> @ imm = #0x4 - 5b6: mov r0, r5 - 5b8: ldr r1, [sp, #0x14] - 5ba: ldr r2, [sp, #0x8] - 5bc: mov r6, r3 - 5be: bl 0x728 @ imm = #0x166 - 5c2: mov r1, r6 - 5c4: cmp r0, #0x0 - 5c6: bne 0x5d6 ::fmt::h55a201de7649bb77+0x14a> @ imm = #0xc - 5c8: ldr r0, [r5, #0x18] - 5ca: ldr r1, [r5, #0x1c] - 5cc: ldr r3, [r1, #0xc] - 5ce: ldr r1, [sp, #0x10] - 5d0: mov r2, r4 - 5d2: blx r3 - 5d4: mov r1, r0 - 5d6: mov r0, r1 - 5d8: add sp, #0x4c - 5da: pop {r4, r5, r6, r7, pc} - 5dc: movs r0, #0x20 - 5de: ldr r5, [sp, #0x18] - 5e0: ldrb r4, [r5, r0] - 5e2: movs r1, #0x1 - 5e4: str r1, [sp, #0xc] - 5e6: strb r1, [r5, r0] - 5e8: ldr r0, [r5, #0x4] - 5ea: str r0, [sp] - 5ec: movs r0, #0x30 - 5ee: str r0, [r5, #0x4] - 5f0: mov r0, r5 - 5f2: ldr r1, [sp, #0x14] - 5f4: ldr r2, [sp, #0x8] - 5f6: bl 0x728 @ imm = #0x12e - 5fa: cmp r0, #0x0 - 5fc: bne 0x624 ::fmt::h55a201de7649bb77+0x198> @ imm = #0x24 - 5fe: str r4, [sp, #0x14] - 600: mov r0, r5 - 602: adds r0, #0x20 - 604: str r0, [sp, #0x8] - 606: ldr r0, [sp, #0x20] - 608: ldr r1, [sp, #0x1c] - 60a: adds r0, r0, r1 - 60c: subs r6, r0, r6 - 60e: subs r6, #0x26 - 610: ldr r4, [r5, #0x18] - 612: ldr r5, [r5, #0x1c] - 614: subs r6, r6, #0x1 - 616: beq 0x662 ::fmt::h55a201de7649bb77+0x1d6> @ imm = #0x48 - 618: ldr r2, [r5, #0x10] - 61a: movs r1, #0x30 - 61c: mov r0, r4 - 61e: blx r2 - 620: cmp r0, #0x0 - 622: beq 0x614 ::fmt::h55a201de7649bb77+0x188> @ imm = #-0x12 - 624: ldr r1, [sp, #0xc] - 626: b 0x5d6 ::fmt::h55a201de7649bb77+0x14a> @ imm = #-0x54 - 628: movs r1, #0x0 - 62a: mov r5, r0 - 62c: b 0x634 ::fmt::h55a201de7649bb77+0x1a8> @ imm = #0x4 - 62e: lsrs r1, r0, #0x1 - 630: adds r0, r0, #0x1 - 632: lsrs r5, r0, #0x1 - 634: adds r6, r1, #0x1 - 636: ldr r4, [r3, #0x4] - 638: ldr r0, [r3, #0x18] - 63a: str r0, [sp, #0x20] - 63c: ldr r0, [r3, #0x1c] - 63e: str r0, [sp, #0x1c] - 640: subs r6, r6, #0x1 - 642: beq 0x656 ::fmt::h55a201de7649bb77+0x1ca> @ imm = #0x10 - 644: ldr r0, [sp, #0x1c] - 646: ldr r2, [r0, #0x10] - 648: ldr r0, [sp, #0x20] - 64a: mov r1, r4 - 64c: blx r2 - 64e: cmp r0, #0x0 - 650: beq 0x640 ::fmt::h55a201de7649bb77+0x1b4> @ imm = #-0x14 - 652: movs r1, #0x1 - 654: b 0x5d6 ::fmt::h55a201de7649bb77+0x14a> @ imm = #-0x82 - 656: ldr r0, [sp, #0xc] - 658: cmp r4, r0 - 65a: beq 0x680 ::fmt::h55a201de7649bb77+0x1f4> @ imm = #0x22 - 65c: ldr r2, [sp, #0x8] - 65e: mov r6, r5 - 660: b 0x684 ::fmt::h55a201de7649bb77+0x1f8> @ imm = #0x20 - 662: ldr r3, [r5, #0xc] - 664: mov r0, r4 - 666: ldr r1, [sp, #0x10] - 668: ldr r2, [sp, #0x4] - 66a: blx r3 - 66c: cmp r0, #0x0 - 66e: ldr r0, [sp, #0x18] - 670: ldr r1, [sp, #0xc] - 672: bne 0x5d6 ::fmt::h55a201de7649bb77+0x14a> @ imm = #-0xa0 - 674: ldr r1, [sp, #0x14] - 676: ldr r2, [sp, #0x8] - 678: strb r1, [r2] - 67a: ldr r1, [sp] - 67c: str r1, [r0, #0x4] - 67e: b 0x6ce ::fmt::h55a201de7649bb77+0x242> @ imm = #0x4c - 680: movs r6, #0x0 - 682: ldr r2, [sp, #0x8] - 684: movs r1, #0x1 - 686: cmp r4, r0 - 688: beq 0x5d6 ::fmt::h55a201de7649bb77+0x14a> @ imm = #-0xb6 - 68a: mov r5, r1 - 68c: ldr r0, [sp, #0x18] - 68e: ldr r1, [sp, #0x14] - 690: bl 0x728 @ imm = #0x94 - 694: cmp r0, #0x0 - 696: beq 0x69c ::fmt::h55a201de7649bb77+0x210> @ imm = #0x2 - 698: mov r1, r5 - 69a: b 0x5d6 ::fmt::h55a201de7649bb77+0x14a> @ imm = #-0xc8 - 69c: ldr r0, [sp, #0x1c] - 69e: ldr r3, [r0, #0xc] - 6a0: ldr r0, [sp, #0x20] - 6a2: ldr r1, [sp, #0x10] - 6a4: ldr r2, [sp, #0x4] - 6a6: blx r3 - 6a8: cmp r0, #0x0 - 6aa: mov r1, r5 - 6ac: bne 0x5d6 ::fmt::h55a201de7649bb77+0x14a> @ imm = #-0xda - 6ae: movs r5, #0x0 - 6b0: cmp r6, r5 - 6b2: beq 0x6c8 ::fmt::h55a201de7649bb77+0x23c> @ imm = #0x12 - 6b4: ldr r0, [sp, #0x1c] - 6b6: ldr r2, [r0, #0x10] - 6b8: ldr r0, [sp, #0x20] - 6ba: mov r1, r4 - 6bc: blx r2 - 6be: adds r5, r5, #0x1 - 6c0: cmp r0, #0x0 - 6c2: beq 0x6b0 ::fmt::h55a201de7649bb77+0x224> @ imm = #-0x16 - 6c4: subs r0, r5, #0x1 - 6c6: b 0x6ca ::fmt::h55a201de7649bb77+0x23e> @ imm = #0x0 - 6c8: mov r0, r6 - 6ca: cmp r0, r6 - 6cc: blo 0x652 ::fmt::h55a201de7649bb77+0x1c6> @ imm = #-0x7e - 6ce: movs r1, #0x0 - 6d0: b 0x5d6 ::fmt::h55a201de7649bb77+0x14a> @ imm = #-0xfe - 6d2: mov r8, r8 - -000006d4 <$d.11>: - 6d4: 9c ff 00 00 .word 0x0000ff9c - 6d8: 10 27 00 00 .word 0x00002710 - 6dc: f0 d8 ff ff .word 0xffffd8f0 - 6e0: 7b 14 00 00 .word 0x0000147b - 6e4: d4 15 00 00 .word 0x000015d4 - 6e8: ff e0 f5 05 .word 0x05f5e0ff - 6ec: 9c 16 00 00 .word 0x0000169c - -000006f0 : - 6f0: push {r7, lr} - 6f2: add r7, sp, #0x0 - 6f4: sub sp, #0x10 - 6f6: str r1, [sp, #0xc] - 6f8: str r0, [sp, #0x8] - 6fa: ldr r0, [pc, #0x10] <$d.13+0x2> - 6fc: str r0, [sp, #0x4] - 6fe: ldr r0, [pc, #0x10] <$d.13+0x6> - 700: str r0, [sp] - 702: mov r0, sp - 704: bl 0xdb4 @ imm = #0x6ac - 708: trap - 70a: mov r8, r8 - -0000070c <$d.13>: - 70c: 90 15 00 00 .word 0x00001590 - 710: 9c 16 00 00 .word 0x0000169c - -00000714 >>::hfaa022ea9f302e4a>: - 714: bx lr - 716: bmi 0x6c2 ::fmt::h55a201de7649bb77+0x236> @ imm = #-0x58 - -00000718 <::type_id::hc7e5c3525e389ccd>: - 718: ldr r0, [pc, #0x4] <$d.16> - 71a: ldr r1, [pc, #0x8] <$d.16+0x6> - 71c: bx lr - 71e: mov r8, r8 - -00000720 <$d.16>: - 720: 4e 08 33 ba .word 0xba33084e - 724: eb 93 15 f1 .word 0xf11593eb - -00000728 : - 728: push {r4, r5, r7, lr} - 72a: add r7, sp, #0x8 - 72c: mov r4, r2 - 72e: mov r5, r0 - 730: movs r0, #0x11 - 732: lsls r0, r0, #0x10 - 734: cmp r1, r0 - 736: beq 0x748 @ imm = #0xe - 738: ldr r0, [r5, #0x18] - 73a: ldr r2, [r5, #0x1c] - 73c: ldr r2, [r2, #0x10] - 73e: blx r2 - 740: cmp r0, #0x0 - 742: beq 0x748 @ imm = #0x2 - 744: movs r0, #0x1 - 746: pop {r4, r5, r7, pc} - 748: cmp r4, #0x0 - 74a: beq 0x75a @ imm = #0xc - 74c: ldr r0, [r5, #0x18] - 74e: ldr r1, [r5, #0x1c] - 750: ldr r3, [r1, #0xc] - 752: movs r2, #0x0 - 754: mov r1, r4 - 756: blx r3 - 758: pop {r4, r5, r7, pc} - 75a: movs r0, #0x0 - 75c: pop {r4, r5, r7, pc} - -0000075e : - 75e: push {r4, r5, r6, r7, lr} - 760: add r7, sp, #0xc - 762: sub sp, #0x2c - 764: mov r5, r1 - 766: ldr r1, [r0, #0x10] - 768: ldr r3, [r0, #0x8] - 76a: cmp r3, #0x1 - 76c: str r0, [sp, #0x24] - 76e: bne 0x776 @ imm = #0x4 - 770: cmp r1, #0x1 - 772: beq 0x77c @ imm = #0x6 - 774: b 0x8e2 @ imm = #0x16a - 776: cmp r1, #0x1 - 778: beq 0x77c @ imm = #0x0 - 77a: b 0x9a6 @ imm = #0x228 - 77c: str r3, [sp, #0x10] - 77e: str r2, [sp, #0x1c] - 780: adds r1, r5, r2 - 782: str r1, [sp, #0x28] - 784: ldr r4, [r0, #0x14] - 786: cmp r4, #0x0 - 788: str r5, [sp, #0x20] - 78a: beq 0x82e @ imm = #0xa0 - 78c: movs r1, #0x11 - 78e: lsls r0, r1, #0x10 - 790: str r0, [sp, #0xc] - 792: movs r1, #0x7 - 794: lsls r0, r1, #0x12 - 796: str r0, [sp, #0x8] - 798: movs r0, #0x0 - 79a: b 0x7d0 @ imm = #0x32 - 79c: str r0, [sp, #0x4] - 79e: ldrb r0, [r5] - 7a0: str r0, [sp, #0x14] - 7a2: movs r2, #0x3f - 7a4: ldr r0, [sp, #0x14] - 7a6: ands r2, r0 - 7a8: ldr r0, [sp, #0x4] - 7aa: str r2, [sp, #0x14] - 7ac: adds r5, r5, #0x1 - 7ae: lsls r6, r6, #0x12 - 7b0: ldr r2, [sp, #0x8] - 7b2: ands r6, r2 - 7b4: lsls r1, r1, #0xc - 7b6: adds r1, r1, r6 - 7b8: ldr r2, [sp, #0x18] - 7ba: lsls r6, r2, #0x6 - 7bc: adds r1, r1, r6 - 7be: ldr r2, [sp, #0x14] - 7c0: adds r1, r1, r2 - 7c2: ldr r6, [sp, #0xc] - 7c4: cmp r1, r6 - 7c6: beq 0x898 @ imm = #0xce - 7c8: subs r1, r0, r3 - 7ca: adds r0, r1, r5 - 7cc: subs r4, r4, #0x1 - 7ce: beq 0x830 @ imm = #0x5e - 7d0: ldr r1, [sp, #0x28] - 7d2: cmp r5, r1 - 7d4: beq 0x898 @ imm = #0xc0 - 7d6: mov r3, r5 - 7d8: movs r1, #0x0 - 7da: ldrsb r6, [r5, r1] - 7dc: adds r5, r5, #0x1 - 7de: cmp r6, #0x0 - 7e0: bpl 0x7c8 @ imm = #-0x1c - 7e2: ldr r2, [sp, #0x28] - 7e4: cmp r5, r2 - 7e6: mov r5, r2 - 7e8: beq 0x7f2 @ imm = #0x6 - 7ea: ldrb r5, [r3, #0x1] - 7ec: movs r1, #0x3f - 7ee: ands r1, r5 - 7f0: adds r5, r3, #0x2 - 7f2: uxtb r6, r6 - 7f4: cmp r6, #0xe0 - 7f6: blo 0x7c8 @ imm = #-0x32 - 7f8: ldr r2, [sp, #0x28] - 7fa: cmp r5, r2 - 7fc: beq 0x816 @ imm = #0x16 - 7fe: ldrb r2, [r5] - 800: str r2, [sp, #0x18] - 802: str r6, [sp, #0x14] - 804: movs r6, #0x3f - 806: ldr r2, [sp, #0x18] - 808: ands r6, r2 - 80a: str r6, [sp, #0x18] - 80c: ldr r6, [sp, #0x14] - 80e: adds r5, r5, #0x1 - 810: cmp r6, #0xf0 - 812: blo 0x7c8 @ imm = #-0x4e - 814: b 0x820 @ imm = #0x8 - 816: movs r5, #0x0 - 818: str r5, [sp, #0x18] - 81a: ldr r5, [sp, #0x28] - 81c: cmp r6, #0xf0 - 81e: blo 0x7c8 @ imm = #-0x5a - 820: ldr r2, [sp, #0x28] - 822: cmp r5, r2 - 824: bne 0x79c @ imm = #-0x8c - 826: movs r5, #0x0 - 828: str r5, [sp, #0x14] - 82a: ldr r5, [sp, #0x28] - 82c: b 0x7ae @ imm = #-0x82 - 82e: movs r0, #0x0 - 830: ldr r1, [sp, #0x28] - 832: cmp r5, r1 - 834: beq 0x898 @ imm = #0x60 - 836: movs r3, #0x0 - 838: ldrsb r1, [r5, r3] - 83a: cmp r1, #0x0 - 83c: bpl 0x8a2 @ imm = #0x62 - 83e: uxtb r1, r1 - 840: adds r4, r5, #0x1 - 842: ldr r6, [sp, #0x28] - 844: cmp r4, r6 - 846: beq 0x850 @ imm = #0x6 - 848: adds r6, r5, #0x2 - 84a: ldrb r3, [r5, #0x1] - 84c: lsls r3, r3, #0x1a - 84e: lsrs r3, r3, #0x14 - 850: cmp r1, #0xe0 - 852: blo 0x8a2 @ imm = #0x4c - 854: ldr r2, [sp, #0x28] - 856: cmp r6, r2 - 858: beq 0x868 @ imm = #0xc - 85a: ldrb r5, [r6] - 85c: movs r4, #0x3f - 85e: ands r4, r5 - 860: adds r5, r6, #0x1 - 862: cmp r1, #0xf0 - 864: bhs 0x870 @ imm = #0x8 - 866: b 0x8a2 @ imm = #0x38 - 868: movs r4, #0x0 - 86a: ldr r5, [sp, #0x28] - 86c: cmp r1, #0xf0 - 86e: blo 0x8a2 @ imm = #0x30 - 870: mov r6, r0 - 872: orrs r4, r3 - 874: ldr r0, [sp, #0x28] - 876: cmp r5, r0 - 878: beq 0x882 @ imm = #0x6 - 87a: ldrb r3, [r5] - 87c: movs r0, #0x3f - 87e: ands r0, r3 - 880: b 0x884 @ imm = #0x0 - 882: movs r0, #0x0 - 884: lsls r3, r4, #0x6 - 886: lsls r1, r1, #0x1d - 888: lsrs r1, r1, #0xb - 88a: adds r1, r3, r1 - 88c: adds r0, r1, r0 - 88e: movs r1, #0x11 - 890: lsls r1, r1, #0x10 - 892: cmp r0, r1 - 894: mov r0, r6 - 896: bne 0x8a2 @ imm = #0x8 - 898: ldr r2, [sp, #0x1c] - 89a: ldr r5, [sp, #0x20] - 89c: ldr r0, [sp, #0x24] - 89e: ldr r1, [sp, #0x10] - 8a0: b 0x8de @ imm = #0x3a - 8a2: cmp r0, #0x0 - 8a4: ldr r2, [sp, #0x1c] - 8a6: ldr r5, [sp, #0x20] - 8a8: beq 0x8ca @ imm = #0x1e - 8aa: cmp r0, r2 - 8ac: bhs 0x8c2 @ imm = #0x12 - 8ae: ldrsb r1, [r5, r0] - 8b0: mov r4, r0 - 8b2: movs r0, #0x3f - 8b4: mvns r3, r0 - 8b6: mov r0, r4 - 8b8: movs r4, #0x0 - 8ba: cmp r1, r3 - 8bc: mov r1, r4 - 8be: bge 0x8ca @ imm = #0x8 - 8c0: b 0x8ce @ imm = #0xa - 8c2: movs r4, #0x0 - 8c4: cmp r0, r2 - 8c6: mov r1, r4 - 8c8: bne 0x8ce @ imm = #0x2 - 8ca: mov r4, r5 - 8cc: mov r1, r0 - 8ce: cmp r4, #0x0 - 8d0: beq 0x8d4 @ imm = #0x0 - 8d2: mov r2, r1 - 8d4: cmp r4, #0x0 - 8d6: ldr r0, [sp, #0x24] - 8d8: ldr r1, [sp, #0x10] - 8da: beq 0x8de @ imm = #0x0 - 8dc: mov r5, r4 - 8de: cmp r1, #0x1 - 8e0: bne 0x9a6 @ imm = #0xc2 - 8e2: ldr r1, [r0, #0xc] - 8e4: str r1, [sp, #0x28] - 8e6: cmp r2, #0x0 - 8e8: beq 0x8fe @ imm = #0x12 - 8ea: movs r0, #0x3 - 8ec: mov r1, r2 - 8ee: ands r1, r0 - 8f0: str r1, [sp, #0x18] - 8f2: subs r1, r2, #0x1 - 8f4: cmp r1, #0x3 - 8f6: bhs 0x902 @ imm = #0x8 - 8f8: movs r3, #0x0 - 8fa: mov r4, r5 - 8fc: b 0x946 @ imm = #0x46 - 8fe: movs r3, #0x0 - 900: b 0x978 @ imm = #0x74 - 902: str r2, [sp, #0x1c] - 904: bics r2, r0 - 906: mov r4, r5 - 908: rsbs r5, r2, #0 - 90a: movs r3, #0x0 - 90c: str r4, [sp, #0x20] - 90e: b 0x916 @ imm = #0x4 - 910: adds r4, r4, #0x4 - 912: adds r5, r5, #0x4 - 914: beq 0x942 @ imm = #0x2a - 916: ldrb r6, [r4, #0x1] - 918: movs r0, #0xc0 - 91a: ands r6, r0 - 91c: ldrb r1, [r4] - 91e: ands r1, r0 - 920: cmp r1, #0x80 - 922: beq 0x926 @ imm = #0x0 - 924: adds r3, r3, #0x1 - 926: cmp r6, #0x80 - 928: beq 0x92c @ imm = #0x0 - 92a: adds r3, r3, #0x1 - 92c: ldrb r1, [r4, #0x2] - 92e: ands r1, r0 - 930: cmp r1, #0x80 - 932: beq 0x936 @ imm = #0x0 - 934: adds r3, r3, #0x1 - 936: ldrb r1, [r4, #0x3] - 938: ands r1, r0 - 93a: cmp r1, #0x80 - 93c: beq 0x910 @ imm = #-0x30 - 93e: adds r3, r3, #0x1 - 940: b 0x910 @ imm = #-0x34 - 942: ldr r2, [sp, #0x1c] - 944: ldr r5, [sp, #0x20] - 946: ldr r0, [sp, #0x18] - 948: cmp r0, #0x0 - 94a: beq 0x978 @ imm = #0x2a - 94c: ldrb r1, [r4] - 94e: movs r0, #0xc0 - 950: ands r1, r0 - 952: cmp r1, #0x80 - 954: beq 0x958 @ imm = #0x0 - 956: adds r3, r3, #0x1 - 958: ldr r1, [sp, #0x18] - 95a: cmp r1, #0x1 - 95c: beq 0x978 @ imm = #0x18 - 95e: ldrb r1, [r4, #0x1] - 960: ands r1, r0 - 962: cmp r1, #0x80 - 964: beq 0x968 @ imm = #0x0 - 966: adds r3, r3, #0x1 - 968: ldr r1, [sp, #0x18] - 96a: cmp r1, #0x2 - 96c: beq 0x978 @ imm = #0x8 - 96e: ldrb r1, [r4, #0x2] - 970: ands r1, r0 - 972: cmp r1, #0x80 - 974: beq 0x978 @ imm = #0x0 - 976: adds r3, r3, #0x1 - 978: ldr r0, [sp, #0x28] - 97a: cmp r0, r3 - 97c: bls 0x9a4 @ imm = #0x24 - 97e: str r5, [sp, #0x20] - 980: movs r0, #0x20 - 982: ldr r1, [sp, #0x24] - 984: ldrb r0, [r1, r0] - 986: movs r5, #0x0 - 988: cmp r0, #0x3 - 98a: mov r4, r5 - 98c: beq 0x990 @ imm = #0x0 - 98e: mov r4, r0 - 990: ldr r0, [sp, #0x28] - 992: subs r0, r0, r3 - 994: lsls r1, r4, #0x1e - 996: str r2, [sp, #0x1c] - 998: beq 0x9b6 @ imm = #0x1a - 99a: cmp r4, #0x1 - 99c: bne 0x9bc @ imm = #0x1c - 99e: movs r1, #0x0 - 9a0: str r1, [sp, #0x18] - 9a2: b 0x9c6 @ imm = #0x20 - 9a4: ldr r0, [sp, #0x24] - 9a6: ldr r1, [r0, #0x18] - 9a8: ldr r0, [r0, #0x1c] - 9aa: ldr r3, [r0, #0xc] - 9ac: mov r0, r1 - 9ae: mov r1, r5 - 9b0: blx r3 - 9b2: add sp, #0x2c - 9b4: pop {r4, r5, r6, r7, pc} - 9b6: str r0, [sp, #0x18] - 9b8: mov r0, r5 - 9ba: b 0x9c6 @ imm = #0x8 - 9bc: lsrs r1, r0, #0x1 - 9be: adds r0, r0, #0x1 - 9c0: lsrs r0, r0, #0x1 - 9c2: str r0, [sp, #0x18] - 9c4: mov r0, r1 - 9c6: ldr r1, [sp, #0x24] - 9c8: adds r5, r0, #0x1 - 9ca: ldr r6, [r1, #0x4] - 9cc: ldr r0, [r1, #0x18] - 9ce: str r0, [sp, #0x28] - 9d0: ldr r4, [r1, #0x1c] - 9d2: subs r5, r5, #0x1 - 9d4: beq 0x9e8 @ imm = #0x10 - 9d6: ldr r2, [r4, #0x10] - 9d8: ldr r0, [sp, #0x28] - 9da: mov r1, r6 - 9dc: blx r2 - 9de: cmp r0, #0x0 - 9e0: beq 0x9d2 @ imm = #-0x12 - 9e2: movs r0, #0x1 - 9e4: add sp, #0x2c - 9e6: pop {r4, r5, r6, r7, pc} - 9e8: movs r0, #0x11 - 9ea: lsls r3, r0, #0x10 - 9ec: cmp r6, r3 - 9ee: bne 0x9f4 @ imm = #0x2 - 9f0: movs r1, #0x0 - 9f2: str r1, [sp, #0x18] - 9f4: ldr r1, [sp, #0x20] - 9f6: ldr r0, [sp, #0x28] - 9f8: mov r2, r4 - 9fa: movs r5, #0x1 - 9fc: cmp r6, r3 - 9fe: bne 0xa06 @ imm = #0x4 - a00: mov r0, r5 - a02: add sp, #0x2c - a04: pop {r4, r5, r6, r7, pc} - a06: ldr r3, [r2, #0xc] - a08: ldr r2, [sp, #0x1c] - a0a: blx r3 - a0c: cmp r0, #0x0 - a0e: mov r0, r5 - a10: bne 0x9e4 @ imm = #-0x30 - a12: movs r5, #0x0 - a14: ldr r1, [sp, #0x18] - a16: cmp r1, r5 - a18: beq 0xa2e @ imm = #0x12 - a1a: ldr r2, [r4, #0x10] - a1c: ldr r0, [sp, #0x28] - a1e: mov r1, r6 - a20: blx r2 - a22: ldr r1, [sp, #0x18] - a24: adds r5, r5, #0x1 - a26: cmp r0, #0x0 - a28: beq 0xa16 @ imm = #-0x16 - a2a: subs r0, r5, #0x1 - a2c: b 0xa30 @ imm = #0x0 - a2e: mov r0, r1 - a30: cmp r0, r1 - a32: blo 0x9e2 @ imm = #-0x54 - a34: movs r0, #0x0 - a36: add sp, #0x2c - a38: pop {r4, r5, r6, r7, pc} - a3a: bmi 0x9e6 @ imm = #-0x58 - -00000a3c : - a3c: push {r7, lr} - a3e: add r7, sp, #0x0 - a40: sub sp, #0x20 - a42: movs r0, #0x0 - a44: str r0, [sp, #0x14] - a46: ldr r1, [pc, #0x20] <$d.20+0x2> - a48: str r1, [sp, #0x10] - a4a: str r0, [sp, #0xc] - a4c: str r0, [sp, #0x8] - a4e: movs r0, #0x1 - a50: str r0, [sp, #0x4] - a52: add r0, sp, #0x18 - a54: str r0, [sp] - a56: movs r0, #0x2b - a58: str r0, [sp, #0x1c] - a5a: ldr r0, [pc, #0x10] <$d.20+0x6> - a5c: str r0, [sp, #0x18] - a5e: mov r0, sp - a60: ldr r1, [pc, #0xc] <$d.20+0x8> - a62: bl 0x6f0 @ imm = #-0x376 - a66: trap - -00000a68 <$d.20>: - a68: 9c 16 00 00 .word 0x0000169c - a6c: 68 14 00 00 .word 0x00001468 - a70: 0c 15 00 00 .word 0x0000150c - -00000a74 <<&T as core::fmt::Display>::fmt::h485290c43ed74af0>: - a74: push {r7, lr} - a76: add r7, sp, #0x0 - a78: mov r3, r1 - a7a: ldm r0!, {r1, r2} - a7c: mov r0, r3 - a7e: bl 0x75e @ imm = #-0x324 - a82: pop {r7, pc} - -00000a84 <<&T as core::fmt::Debug>::fmt::h6f0c0a920de8d5a4>: - a84: push {r7, lr} - a86: add r7, sp, #0x0 - a88: ldr r2, [r0] - a8a: ldr r0, [r0, #0x4] - a8c: ldr r3, [r0, #0xc] - a8e: mov r0, r2 - a90: blx r3 - a92: pop {r7, pc} - -00000a94 : - a94: push {r4, r5, r6, r7, lr} - a96: add r7, sp, #0xc - a98: sub sp, #0x44 - a9a: movs r4, #0x20 - a9c: add r5, sp, #0x20 - a9e: movs r3, #0x3 - aa0: str r5, [sp, #0x1c] - aa2: strb r3, [r5, r4] - aa4: str r4, [sp, #0x24] - aa6: movs r3, #0x0 - aa8: str r3, [sp, #0x20] - aaa: str r1, [sp, #0x3c] - aac: str r0, [sp, #0x38] - aae: str r3, [sp, #0x30] - ab0: str r3, [sp, #0x28] - ab2: ldr r5, [r2, #0x8] - ab4: cmp r5, #0x0 - ab6: beq 0xb74 @ imm = #0xba - ab8: ldr r0, [r2, #0xc] - aba: cmp r0, #0x0 - abc: mov r4, r3 - abe: beq 0xbbc @ imm = #0xfa - ac0: str r3, [sp, #0x8] - ac2: ldr r1, [sp, #0x1c] - ac4: adds r1, #0x20 - ac6: str r1, [sp, #0x1c] - ac8: str r2, [sp, #0x18] - aca: ldr r4, [r2] - acc: lsls r0, r0, #0x5 - ace: str r0, [sp, #0x10] - ad0: subs r0, #0x20 - ad2: lsrs r0, r0, #0x5 - ad4: adds r0, r0, #0x1 - ad6: str r0, [sp, #0x4] - ad8: movs r6, #0x0 - ada: str r5, [sp, #0x14] - adc: ldr r2, [r4, #0x4] - ade: cmp r2, #0x0 - ae0: beq 0xaf0 @ imm = #0xc - ae2: ldr r0, [sp, #0x3c] - ae4: ldr r3, [r0, #0xc] - ae6: ldr r1, [r4] - ae8: ldr r0, [sp, #0x38] - aea: blx r3 - aec: cmp r0, #0x0 - aee: bne 0xbe2 @ imm = #0xf0 - af0: adds r2, r5, r6 - af2: ldrb r0, [r2, #0x1c] - af4: ldr r1, [sp, #0x1c] - af6: strb r0, [r1] - af8: ldr r0, [r2, #0x4] - afa: str r0, [sp, #0x24] - afc: ldr r0, [r2, #0x8] - afe: str r0, [sp, #0x20] - b00: ldr r0, [r2, #0x14] - b02: ldr r3, [r2, #0x18] - b04: ldr r1, [sp, #0x18] - b06: ldr r1, [r1, #0x10] - b08: movs r5, #0x0 - b0a: cmp r0, #0x0 - b0c: beq 0xb2a @ imm = #0x1a - b0e: cmp r0, #0x1 - b10: mov r0, r5 - b12: bne 0xb2c @ imm = #0x16 - b14: lsls r0, r3, #0x3 - b16: str r0, [sp, #0xc] - b18: adds r0, r1, r0 - b1a: ldr r0, [r0, #0x4] - b1c: ldr r3, [pc, #0xd0] <$d.24> - b1e: cmp r0, r3 - b20: mov r0, r5 - b22: bne 0xb2c @ imm = #0x6 - b24: ldr r0, [sp, #0xc] - b26: ldr r0, [r1, r0] - b28: ldr r3, [r0] - b2a: movs r0, #0x1 - b2c: str r3, [sp, #0x2c] - b2e: str r0, [sp, #0x28] - b30: ldr r0, [r2, #0xc] - b32: ldr r2, [r2, #0x10] - b34: cmp r0, #0x0 - b36: beq 0xb4c @ imm = #0x12 - b38: cmp r0, #0x1 - b3a: bne 0xb50 @ imm = #0x12 - b3c: lsls r0, r2, #0x3 - b3e: adds r2, r1, r0 - b40: ldr r2, [r2, #0x4] - b42: ldr r3, [pc, #0xac] <$d.24+0x2> - b44: cmp r2, r3 - b46: bne 0xb50 @ imm = #0x6 - b48: ldr r0, [r1, r0] - b4a: ldr r2, [r0] - b4c: movs r5, #0x1 - b4e: b 0xb50 @ imm = #-0x2 - b50: str r2, [sp, #0x34] - b52: str r5, [sp, #0x30] - b54: ldr r5, [sp, #0x14] - b56: ldr r0, [r5, r6] - b58: lsls r2, r0, #0x3 - b5a: ldr r0, [r1, r2] - b5c: adds r1, r1, r2 - b5e: ldr r2, [r1, #0x4] - b60: add r1, sp, #0x20 - b62: blx r2 - b64: cmp r0, #0x0 - b66: bne 0xbe2 @ imm = #0x78 - b68: adds r6, #0x20 - b6a: adds r4, #0x8 - b6c: ldr r0, [sp, #0x10] - b6e: cmp r0, r6 - b70: bne 0xadc @ imm = #-0x98 - b72: b 0xbb6 @ imm = #0x40 - b74: ldr r0, [r2, #0x14] - b76: cmp r0, #0x0 - b78: mov r4, r3 - b7a: beq 0xbbc @ imm = #0x3e - b7c: str r3, [sp, #0x8] - b7e: ldr r4, [r2] - b80: str r2, [sp, #0x18] - b82: ldr r5, [r2, #0x10] - b84: lsls r0, r0, #0x3 - b86: subs r0, #0x8 - b88: lsrs r0, r0, #0x3 - b8a: adds r6, r0, #0x1 - b8c: str r6, [sp, #0x4] - b8e: ldr r2, [r4, #0x4] - b90: cmp r2, #0x0 - b92: beq 0xba2 @ imm = #0xc - b94: ldr r0, [sp, #0x3c] - b96: ldr r3, [r0, #0xc] - b98: ldr r1, [r4] - b9a: ldr r0, [sp, #0x38] - b9c: blx r3 - b9e: cmp r0, #0x0 - ba0: bne 0xbe2 @ imm = #0x3e - ba2: ldm r5!, {r0, r2} - ba4: add r1, sp, #0x20 - ba6: subs r5, #0x8 - ba8: blx r2 - baa: cmp r0, #0x0 - bac: bne 0xbe2 @ imm = #0x32 - bae: adds r5, #0x8 - bb0: adds r4, #0x8 - bb2: subs r6, r6, #0x1 - bb4: bne 0xb8e @ imm = #-0x2a - bb6: ldr r3, [sp, #0x8] - bb8: ldr r2, [sp, #0x18] - bba: ldr r4, [sp, #0x4] - bbc: ldr r0, [r2, #0x4] - bbe: cmp r4, r0 - bc0: blo 0xbca @ imm = #0x6 - bc2: mov r2, r3 - bc4: cmp r4, r0 - bc6: blo 0xbd4 @ imm = #0xa - bc8: b 0xbe8 @ imm = #0x1c - bca: lsls r1, r4, #0x3 - bcc: ldr r2, [r2] - bce: adds r2, r2, r1 - bd0: cmp r4, r0 - bd2: bhs 0xbe8 @ imm = #0x12 - bd4: ldr r0, [sp, #0x3c] - bd6: ldr r3, [r0, #0xc] - bd8: ldm r2, {r1, r2} - bda: ldr r0, [sp, #0x38] - bdc: blx r3 - bde: cmp r0, #0x0 - be0: beq 0xbe8 @ imm = #0x4 - be2: movs r0, #0x1 - be4: add sp, #0x44 - be6: pop {r4, r5, r6, r7, pc} - be8: movs r0, #0x0 - bea: add sp, #0x44 - bec: pop {r4, r5, r6, r7, pc} - bee: mov r8, r8 - -00000bf0 <$d.24>: - bf0: 89 04 00 00 .word 0x00000489 - -00000bf4 <::fmt::h13cefdfa433bd005>: - bf4: push {r7, lr} - bf6: add r7, sp, #0x0 - bf8: ldr r0, [r1, #0x18] - bfa: ldr r1, [r1, #0x1c] - bfc: ldr r3, [r1, #0xc] - bfe: ldr r1, [pc, #0x8] <$d.26+0x2> - c00: movs r2, #0xb - c02: blx r3 - c04: pop {r7, pc} - c06: mov r8, r8 - -00000c08 <$d.26>: - c08: 5c 15 00 00 .word 0x0000155c - -00000c0c <::fmt::hf6fce6dfb3862f4b>: - c0c: push {r7, lr} - c0e: add r7, sp, #0x0 - c10: ldr r0, [r1, #0x18] - c12: ldr r1, [r1, #0x1c] - c14: ldr r3, [r1, #0xc] - c16: ldr r1, [pc, #0x8] <$d.28+0x2> - c18: movs r2, #0xe - c1a: blx r3 - c1c: pop {r7, pc} - c1e: mov r8, r8 - -00000c20 <$d.28>: - c20: 67 15 00 00 .word 0x00001567 - -00000c24 <<&T as core::fmt::Display>::fmt::h5eec314a4f33db6e>: - c24: push {r4, r5, r6, r7, lr} - c26: add r7, sp, #0xc - c28: sub sp, #0x1c - c2a: ldr r2, [r1, #0x18] - c2c: str r2, [sp] - c2e: ldr r1, [r1, #0x1c] - c30: ldr r0, [r0] - c32: add r2, sp, #0x4 - c34: mov r4, r2 - c36: ldm r0!, {r3, r5, r6} - c38: stm r4!, {r3, r5, r6} - c3a: ldm r0!, {r3, r5, r6} - c3c: stm r4!, {r3, r5, r6} - c3e: ldr r0, [sp] - c40: bl 0xa94 @ imm = #-0x1b0 - c44: add sp, #0x1c - c46: pop {r4, r5, r6, r7, pc} - -00000c48 <<&T as core::fmt::Display>::fmt::hebaa948f08d04b9f>: - c48: push {r7, lr} - c4a: add r7, sp, #0x0 - c4c: mov r3, r1 - c4e: ldr r0, [r0] - c50: ldm r0!, {r1, r2} - c52: mov r0, r3 - c54: bl 0x75e @ imm = #-0x4fa - c58: pop {r7, pc} - c5a: bmi 0xc06 <::fmt::h13cefdfa433bd005+0x12> @ imm = #-0x58 - -00000c5c : - c5c: push {r7, lr} - c5e: add r7, sp, #0x0 - c60: sub sp, #0x38 - c62: str r1, [sp, #0x4] - c64: str r0, [sp] - c66: str r3, [sp, #0xc] - c68: str r2, [sp, #0x8] - c6a: movs r0, #0x2 - c6c: str r0, [sp, #0x24] - c6e: add r1, sp, #0x28 - c70: str r1, [sp, #0x20] - c72: movs r1, #0x0 - c74: str r1, [sp, #0x1c] - c76: str r1, [sp, #0x18] - c78: str r0, [sp, #0x14] - c7a: ldr r0, [pc, #0x1c] <$d.32+0x2> - c7c: str r0, [sp, #0x10] - c7e: ldr r0, [pc, #0x1c] <$d.32+0x6> - c80: str r0, [sp, #0x34] - c82: add r0, sp, #0x8 - c84: str r0, [sp, #0x30] - c86: ldr r0, [pc, #0x18] <$d.32+0xa> - c88: str r0, [sp, #0x2c] - c8a: mov r0, sp - c8c: str r0, [sp, #0x28] - c8e: add r0, sp, #0x10 - c90: ldr r1, [r7, #0x8] - c92: bl 0x6f0 @ imm = #-0x5a6 - c96: trap - -00000c98 <$d.32>: - c98: c4 15 00 00 .word 0x000015c4 - c9c: 85 0a 00 00 .word 0x00000a85 - ca0: 75 0a 00 00 .word 0x00000a75 - -00000ca4 : - ca4: b 0xca4 @ imm = #-0x4 - -00000ca6 <__pre_init>: - ca6: bx lr - -00000ca8 <<&T as core::fmt::Display>::fmt::hca3d309fecf45fc9>: - ca8: push {r4, r5, r6, r7, lr} - caa: add r7, sp, #0xc - cac: sub sp, #0x44 - cae: ldr r4, [r0] - cb0: ldr r5, [r1, #0x18] - cb2: ldr r6, [r1, #0x1c] - cb4: ldr r3, [r6, #0xc] - cb6: ldr r1, [pc, #0xd8] <$d.37+0x2> - cb8: movs r2, #0xc - cba: mov r0, r5 - cbc: blx r3 - cbe: movs r1, #0x1 - cc0: cmp r0, #0x0 - cc2: bne 0xd88 <<&T as core::fmt::Display>::fmt::hca3d309fecf45fc9+0xe0> @ imm = #0xc2 - cc4: str r6, [sp, #0xc] - cc6: ldr r0, [r4, #0x8] - cc8: cmp r0, #0x0 - cca: str r4, [sp, #0x8] - ccc: beq 0xd02 <<&T as core::fmt::Display>::fmt::hca3d309fecf45fc9+0x5a> @ imm = #0x32 - cce: str r0, [sp, #0x10] - cd0: ldr r0, [pc, #0xc0] <$d.37+0x4> - cd2: str r0, [sp, #0x18] - cd4: add r0, sp, #0x10 - cd6: str r0, [sp, #0x14] - cd8: movs r0, #0x1 - cda: str r0, [sp, #0x40] - cdc: add r0, sp, #0x14 - cde: str r0, [sp, #0x3c] - ce0: movs r0, #0x0 - ce2: str r0, [sp, #0x38] - ce4: str r0, [sp, #0x34] - ce6: movs r0, #0x2 - ce8: str r0, [sp, #0x30] - cea: ldr r0, [pc, #0xac] <$d.37+0xa> - cec: str r0, [sp, #0x2c] - cee: add r2, sp, #0x2c - cf0: mov r4, r5 - cf2: mov r0, r5 - cf4: ldr r5, [sp, #0xc] - cf6: mov r6, r1 - cf8: mov r1, r5 - cfa: bl 0xa94 @ imm = #-0x26a - cfe: mov r1, r6 - d00: b 0xd48 <<&T as core::fmt::Display>::fmt::hca3d309fecf45fc9+0xa0> @ imm = #0x44 - d02: ldm r4!, {r0, r2} - d04: str r1, [sp, #0x4] - d06: ldr r1, [r2, #0xc] - d08: mov r6, r0 - d0a: blx r1 - d0c: ldr r2, [pc, #0x8c] <$d.37+0xc> - d0e: eors r2, r1 - d10: ldr r1, [pc, #0x8c] <$d.37+0x10> - d12: eors r1, r0 - d14: orrs r1, r2 - d16: mov r4, r5 - d18: ldr r5, [sp, #0xc] - d1a: bne 0xd4c <<&T as core::fmt::Display>::fmt::hca3d309fecf45fc9+0xa4> @ imm = #0x2e - d1c: str r6, [sp, #0x10] - d1e: ldr r0, [pc, #0x84] <$d.37+0x16> - d20: str r0, [sp, #0x18] - d22: add r0, sp, #0x10 - d24: str r0, [sp, #0x14] - d26: movs r0, #0x1 - d28: str r0, [sp, #0x40] - d2a: add r0, sp, #0x14 - d2c: str r0, [sp, #0x3c] - d2e: movs r0, #0x0 - d30: str r0, [sp, #0x38] - d32: str r0, [sp, #0x34] - d34: movs r0, #0x2 - d36: str r0, [sp, #0x30] - d38: ldr r0, [pc, #0x5c] <$d.37+0x8> - d3a: str r0, [sp, #0x2c] - d3c: add r2, sp, #0x2c - d3e: mov r0, r4 - d40: mov r1, r5 - d42: bl 0xa94 @ imm = #-0x2b2 - d46: ldr r1, [sp, #0x4] - d48: cmp r0, #0x0 - d4a: bne 0xd88 <<&T as core::fmt::Display>::fmt::hca3d309fecf45fc9+0xe0> @ imm = #0x3a - d4c: ldr r0, [sp, #0x8] - d4e: ldr r0, [r0, #0xc] - d50: ldr r1, [pc, #0x54] <$d.37+0x18> - d52: str r1, [sp, #0x28] - d54: mov r2, r0 - d56: adds r2, #0xc - d58: str r2, [sp, #0x24] - d5a: str r1, [sp, #0x20] - d5c: mov r1, r0 - d5e: adds r1, #0x8 - d60: str r1, [sp, #0x1c] - d62: ldr r1, [pc, #0x48] <$d.37+0x1e> - d64: str r1, [sp, #0x18] - d66: str r0, [sp, #0x14] - d68: movs r0, #0x3 - d6a: str r0, [sp, #0x40] - d6c: add r1, sp, #0x14 - d6e: str r1, [sp, #0x3c] - d70: movs r1, #0x0 - d72: str r1, [sp, #0x38] - d74: str r1, [sp, #0x34] - d76: str r0, [sp, #0x30] - d78: ldr r0, [pc, #0x34] <$d.37+0x20> - d7a: str r0, [sp, #0x2c] - d7c: add r2, sp, #0x2c - d7e: mov r0, r4 - d80: mov r1, r5 - d82: bl 0xa94 @ imm = #-0x2f2 - d86: mov r1, r0 - d88: mov r0, r1 - d8a: add sp, #0x44 - d8c: pop {r4, r5, r6, r7, pc} - d8e: mov r8, r8 - -00000d90 <$d.37>: - d90: a0 15 00 00 .word 0x000015a0 - d94: 25 0c 00 00 .word 0x00000c25 - d98: b0 15 00 00 .word 0x000015b0 - d9c: 1e a9 f2 7e .word 0x7ef2a91e - da0: f4 bc c7 ec .word 0xecc7bcf4 - da4: 49 0c 00 00 .word 0x00000c49 - da8: 8d 04 00 00 .word 0x0000048d - dac: 75 0a 00 00 .word 0x00000a75 - db0: 78 15 00 00 .word 0x00001578 - -00000db4 : - db4: push {r7, lr} - db6: add r7, sp, #0x0 - db8: sub sp, #0x38 - dba: str r0, [sp] - dbc: bl 0x1140 <__cpsid> @ imm = #0x380 - dc0: ldr r0, [pc, #0xa4] <$d.39> - dc2: ldr r1, [r0, #0x1c] - dc4: rsbs r2, r1, #0 - dc6: adcs r2, r1 - dc8: ldr r1, [r0, #0x10] - dca: rsbs r3, r1, #0 - dcc: adcs r3, r1 - dce: orrs r3, r2 - dd0: bne 0xe66 @ imm = #0x92 - dd2: ldr r2, [r0, #0x2c] - dd4: movs r1, #0x2 - dd6: orrs r2, r1 - dd8: movs r3, #0x1 - dda: bics r2, r3 - ddc: dmb sy - de0: dmb sy - de4: str r2, [r0, #0x2c] - de6: dmb sy - dea: ldr r2, [pc, #0x80] <$d.39+0x6> - dec: str r2, [sp, #0x8] - dee: mov r2, sp - df0: str r2, [sp, #0x4] - df2: ldr r2, [r0, #0x24] - df4: dmb sy - df8: ldr r5, [r0, #0x28] - dfa: dmb sy - dfe: ldr r4, [r0, #0x20] - e00: cmp r5, r4 - e02: bhs 0xe06 @ imm = #0x0 - e04: movs r3, #0x0 - e06: cmp r2, r4 - e08: blo 0xe0c @ imm = #0x0 - e0a: movs r3, #0x1 - e0c: cmp r3, #0x1 - e0e: bne 0xe26 @ imm = #0x14 - e10: dmb sy - e14: movs r2, #0x0 - e16: str r2, [r0, #0x24] - e18: dmb sy - e1c: dmb sy - e20: str r2, [r0, #0x28] - e22: dmb sy - e26: add r4, sp, #0xc - e28: movs r3, #0x0 - e2a: strb r3, [r4, #0xc] - e2c: str r3, [sp, #0x14] - e2e: str r2, [sp, #0x10] - e30: adds r0, #0x18 - e32: str r0, [sp, #0xc] - e34: str r4, [sp, #0x1c] - e36: movs r0, #0x1 - e38: str r0, [sp, #0x34] - e3a: add r0, sp, #0x4 - e3c: str r0, [sp, #0x30] - e3e: str r3, [sp, #0x2c] - e40: str r3, [sp, #0x28] - e42: str r1, [sp, #0x24] - e44: ldr r0, [pc, #0x28] <$d.39+0x8> - e46: str r0, [sp, #0x20] - e48: add r0, sp, #0x1c - e4a: ldr r1, [pc, #0x28] <$d.39+0xe> - e4c: add r2, sp, #0x20 - e4e: bl 0xa94 @ imm = #-0x3be - e52: ldrb r0, [r4, #0xc] - e54: cmp r0, #0x1 - e56: bhi 0xe66 @ imm = #0xc - e58: ldr r0, [sp, #0x10] - e5a: ldr r1, [sp, #0xc] - e5c: dmb sy - e60: str r0, [r1, #0xc] - e62: dmb sy - e66: b 0xe66 @ imm = #-0x4 - -00000e68 <$d.39>: - e68: 28 04 00 10 .word 0x10000428 - e6c: a9 0c 00 00 .word 0x00000ca9 - e70: a0 16 00 00 .word 0x000016a0 - e74: b4 16 00 00 .word 0x000016b4 - -00000e78 : - e78: push {r4, r5, r6, r7, lr} - e7a: add r7, sp, #0xc - e7c: sub sp, #0x4 - e7e: mov r4, r1 - e80: mov r5, r0 - e82: bl 0x1148 <__primask_r> @ imm = #0x2c2 - e86: mov r6, r0 - e88: bl 0x1140 <__cpsid> @ imm = #0x2b4 - e8c: mov r0, r5 - e8e: blx r4 - e90: lsls r0, r6, #0x1f - e92: bne 0xe98 @ imm = #0x2 - e94: bl 0x1144 <__cpsie> @ imm = #0x2ac - e98: add sp, #0x4 - e9a: pop {r4, r5, r6, r7, pc} - -00000e9c : - e9c: push {r4, r5, r6, r7, lr} - e9e: add r7, sp, #0xc - ea0: sub sp, #0x34 - ea2: str r0, [sp, #0x8] - ea4: ldrb r4, [r0] - ea6: ldr r5, [pc, #0xc8] <$d.42+0x2> - ea8: ldr r0, [r5] - eaa: ldr r2, [r0, #0xc] - eac: dmb sy - eb0: ldr r1, [r0, #0x10] - eb2: dmb sy - eb6: ldr r3, [r0, #0x8] - eb8: cmp r2, r3 - eba: bhs 0xec0 @ imm = #0x2 - ebc: cmp r1, r3 - ebe: blo 0xed6 @ imm = #0x14 - ec0: dmb sy - ec4: movs r2, #0x0 - ec6: str r2, [r0, #0xc] - ec8: dmb sy - ecc: dmb sy - ed0: str r2, [r0, #0x10] - ed2: dmb sy - ed6: add r3, sp, #0x24 - ed8: movs r1, #0x0 - eda: strb r1, [r3, #0xc] - edc: str r1, [sp, #0x2c] - ede: str r2, [sp, #0x28] - ee0: str r0, [sp, #0x24] - ee2: ldrb r2, [r5, #0x4] - ee4: cmp r2, r4 - ee6: beq 0xf1a @ imm = #0x30 - ee8: movs r2, #0xf - eea: ands r2, r4 - eec: ldr r3, [pc, #0x84] <$d.42+0x4> - eee: ldrb r3, [r3, r2] - ef0: ldr r0, [r0, #0x14] - ef2: dmb sy - ef6: add r2, sp, #0xc - ef8: strb r3, [r2, #0x1] - efa: movs r3, #0xff - efc: strb r3, [r2] - efe: movs r3, #0x3 - f00: ands r3, r0 - f02: cmp r3, #0x3 - f04: mov r0, r1 - f06: beq 0xf0a @ imm = #0x0 - f08: mov r0, r3 - f0a: cmp r0, #0x1 - f0c: beq 0xf10 @ imm = #0x0 - f0e: mov r1, r0 - f10: add r0, sp, #0x24 - f12: movs r3, #0x2 - f14: bl 0xf78 @ imm = #0x60 - f18: strb r4, [r5, #0x4] - f1a: add r0, sp, #0x24 - f1c: add r5, sp, #0xc - f1e: mov r1, r5 - f20: str r4, [sp, #0x4] - f22: ldm r0!, {r2, r3, r4, r6} - f24: stm r1!, {r2, r3, r4, r6} - f26: ldr r0, [sp, #0x4] - f28: strb r0, [r5, #0x14] - f2a: ldr r0, [pc, #0x44] <$d.42+0x2> - f2c: adds r0, r0, #0x4 - f2e: str r0, [sp, #0x1c] - f30: ldr r0, [sp, #0x8] - f32: ldr r0, [r0, #0x4] - f34: ldm r0!, {r2, r3} - f36: ldr r0, [sp, #0xc] - f38: ldr r0, [r0, #0x14] - f3a: movs r1, #0x3 - f3c: ands r1, r0 - f3e: cmp r1, #0x3 - f40: bne 0xf44 @ imm = #0x0 - f42: movs r1, #0x0 - f44: dmb sy - f48: mov r0, r5 - f4a: bl 0xf78 @ imm = #0x2a - f4e: ldrb r0, [r5, #0xc] - f50: cmp r0, #0x2 - f52: bne 0xf5c @ imm = #0x6 - f54: ldr r0, [sp, #0x1c] - f56: ldr r1, [sp, #0x20] - f58: strb r1, [r0] - f5a: b 0xf6a @ imm = #0xc - f5c: ldr r0, [sp, #0x10] - f5e: ldr r1, [sp, #0xc] - f60: dmb sy - f64: str r0, [r1, #0xc] - f66: dmb sy - f6a: add sp, #0x34 - f6c: pop {r4, r5, r6, r7, pc} - f6e: mov r8, r8 - -00000f70 <$d.42>: - f70: 20 04 00 10 .word 0x10000420 - f74: 40 14 00 00 .word 0x00001440 - -00000f78 : - f78: push {r4, r5, r6, r7, lr} - f7a: add r7, sp, #0xc - f7c: sub sp, #0x14 - f7e: str r3, [sp, #0x10] - f80: str r2, [sp, #0x8] - f82: str r1, [sp, #0xc] - f84: mov r5, r0 - f86: ldrb r0, [r0, #0xc] - f88: cmp r0, #0x0 - f8a: bne 0x1052 @ imm = #0xc4 - f8c: ldr r0, [sp, #0x10] - f8e: cmp r0, #0x0 - f90: beq 0x1052 @ imm = #0xbe - f92: ldr r0, [r5] - f94: ldr r3, [r0, #0xc] - f96: dmb sy - f9a: ldr r1, [r0, #0x10] - f9c: dmb sy - fa0: ldr r2, [r0, #0x8] - fa2: cmp r3, r2 - fa4: bhs 0xfb4 @ imm = #0xc - fa6: cmp r1, r2 - fa8: bhs 0xfb4 @ imm = #0x8 - faa: ldr r6, [r5, #0x4] - fac: cmp r1, r6 - fae: bls 0xffa @ imm = #0x48 - fb0: mvns r0, r6 - fb2: b 0xfd2 @ imm = #0x1c - fb4: dmb sy - fb8: movs r1, #0x0 - fba: str r1, [r0, #0xc] - fbc: dmb sy - fc0: dmb sy - fc4: str r1, [r0, #0x10] - fc6: dmb sy - fca: ldr r6, [r5, #0x4] - fcc: mvns r0, r6 - fce: ldr r1, [r5] - fd0: ldr r1, [r1, #0x8] - fd2: adds r0, r1, r0 - fd4: ldr r4, [sp, #0x10] - fd6: cmp r0, r4 - fd8: bhi 0xfdc @ imm = #0x0 - fda: mov r4, r0 - fdc: cmp r4, #0x0 - fde: bne 0x1012 @ imm = #0x30 - fe0: ldr r0, [sp, #0xc] - fe2: cmp r0, #0x2 - fe4: bne 0x1006 @ imm = #0x1e - fe6: ldr r0, [r5] - fe8: dmb sy - fec: str r6, [r0, #0xc] - fee: dmb sy - ff2: ldrb r0, [r5, #0xc] - ff4: cmp r0, #0x0 - ff6: beq 0xf92 @ imm = #-0x68 - ff8: b 0x1052 @ imm = #0x56 - ffa: cmp r1, #0x0 - ffc: beq 0xfcc @ imm = #-0x34 - ffe: ldr r0, [r5] - 1000: ldr r0, [r0, #0x8] - 1002: subs r0, r0, r6 - 1004: b 0xfd4 @ imm = #-0x34 - 1006: ldr r0, [sp, #0xc] - 1008: cmp r0, #0x0 - 100a: beq 0x104e @ imm = #0x40 - 100c: movs r0, #0x1 - 100e: strb r0, [r5, #0xc] - 1010: movs r4, #0x0 - 1012: ldr r0, [r5] - 1014: str r0, [sp, #0x4] - 1016: ldr r0, [r0, #0x4] - 1018: adds r0, r0, r6 - 101a: ldr r1, [sp, #0x8] - 101c: mov r2, r4 - 101e: bl 0x1158 <__aeabi_memcpy> @ imm = #0x136 - 1022: adds r0, r6, r4 - 1024: str r0, [r5, #0x4] - 1026: ldr r1, [r5, #0x8] - 1028: adds r1, r1, r4 - 102a: str r1, [r5, #0x8] - 102c: ldr r1, [sp, #0x4] - 102e: ldr r1, [r1, #0x8] - 1030: cmp r0, r1 - 1032: blo 0x1038 @ imm = #0x2 - 1034: movs r0, #0x0 - 1036: str r0, [r5, #0x4] - 1038: ldrb r0, [r5, #0xc] - 103a: cmp r0, #0x0 - 103c: bne 0x1052 @ imm = #0x12 - 103e: ldr r0, [sp, #0x8] - 1040: adds r0, r0, r4 - 1042: str r0, [sp, #0x8] - 1044: ldr r0, [sp, #0x10] - 1046: subs r0, r0, r4 - 1048: str r0, [sp, #0x10] - 104a: bne 0xf92 @ imm = #-0xbc - 104c: b 0x1052 @ imm = #0x2 - 104e: movs r0, #0x2 - 1050: strb r0, [r5, #0xc] - 1052: add sp, #0x14 - 1054: pop {r4, r5, r6, r7, pc} - -00001056 ::h591a17950d8b161c>: - 1056: bx lr - -00001058 <<&mut W as core::fmt::Write>::write_str::h4c57be8250dbbbd5>: - 1058: push {r4, r5, r7, lr} - 105a: add r7, sp, #0x8 - 105c: mov r3, r2 - 105e: mov r2, r1 - 1060: ldr r0, [r0] - 1062: ldr r1, [r0] - 1064: ldr r1, [r1, #0x14] - 1066: movs r5, #0x3 - 1068: ands r5, r1 - 106a: movs r4, #0x0 - 106c: cmp r5, #0x3 - 106e: mov r1, r4 - 1070: beq 0x1074 <<&mut W as core::fmt::Write>::write_str::h4c57be8250dbbbd5+0x1c> @ imm = #0x0 - 1072: mov r1, r5 - 1074: dmb sy - 1078: bl 0xf78 @ imm = #-0x104 - 107c: mov r0, r4 - 107e: pop {r4, r5, r7, pc} - -00001080 <<&mut W as core::fmt::Write>::write_char::h90ce787962b13e7e>: - 1080: push {r4, r5, r7, lr} - 1082: add r7, sp, #0x8 - 1084: sub sp, #0x8 - 1086: ldr r0, [r0] - 1088: movs r4, #0x0 - 108a: str r4, [sp, #0x4] - 108c: cmp r1, #0x80 - 108e: bhs 0x1098 <<&mut W as core::fmt::Write>::write_char::h90ce787962b13e7e+0x18> @ imm = #0x6 - 1090: add r2, sp, #0x4 - 1092: strb r1, [r2] - 1094: movs r3, #0x1 - 1096: b 0x10f8 <<&mut W as core::fmt::Write>::write_char::h90ce787962b13e7e+0x78> @ imm = #0x5e - 1098: lsrs r2, r1, #0xb - 109a: bne 0x10b2 <<&mut W as core::fmt::Write>::write_char::h90ce787962b13e7e+0x32> @ imm = #0x14 - 109c: movs r2, #0x3f - 109e: ands r2, r1 - 10a0: adds r2, #0x80 - 10a2: add r3, sp, #0x4 - 10a4: strb r2, [r3, #0x1] - 10a6: lsrs r1, r1, #0x6 - 10a8: movs r2, #0xc0 - 10aa: orrs r2, r1 - 10ac: strb r2, [r3] - 10ae: movs r3, #0x2 - 10b0: b 0x10f8 <<&mut W as core::fmt::Write>::write_char::h90ce787962b13e7e+0x78> @ imm = #0x44 - 10b2: lsrs r2, r1, #0x10 - 10b4: bne 0x10d4 <<&mut W as core::fmt::Write>::write_char::h90ce787962b13e7e+0x54> @ imm = #0x1c - 10b6: movs r2, #0x3f - 10b8: ands r2, r1 - 10ba: adds r2, #0x80 - 10bc: add r3, sp, #0x4 - 10be: strb r2, [r3, #0x2] - 10c0: lsrs r2, r1, #0xc - 10c2: movs r5, #0xe0 - 10c4: orrs r5, r2 - 10c6: strb r5, [r3] - 10c8: lsls r1, r1, #0x14 - 10ca: lsrs r1, r1, #0x1a - 10cc: adds r1, #0x80 - 10ce: strb r1, [r3, #0x1] - 10d0: movs r3, #0x3 - 10d2: b 0x10f8 <<&mut W as core::fmt::Write>::write_char::h90ce787962b13e7e+0x78> @ imm = #0x22 - 10d4: movs r2, #0x3f - 10d6: ands r2, r1 - 10d8: adds r2, #0x80 - 10da: add r3, sp, #0x4 - 10dc: strb r2, [r3, #0x3] - 10de: lsrs r2, r1, #0x12 - 10e0: movs r5, #0xf0 - 10e2: orrs r5, r2 - 10e4: strb r5, [r3] - 10e6: lsls r2, r1, #0x14 - 10e8: lsrs r2, r2, #0x1a - 10ea: adds r2, #0x80 - 10ec: strb r2, [r3, #0x2] - 10ee: lsls r1, r1, #0xe - 10f0: lsrs r1, r1, #0x1a - 10f2: adds r1, #0x80 - 10f4: strb r1, [r3, #0x1] - 10f6: movs r3, #0x4 - 10f8: ldr r1, [r0] - 10fa: ldr r1, [r1, #0x14] - 10fc: movs r2, #0x3 - 10fe: ands r2, r1 - 1100: cmp r2, #0x3 - 1102: mov r1, r4 - 1104: beq 0x1108 <<&mut W as core::fmt::Write>::write_char::h90ce787962b13e7e+0x88> @ imm = #0x0 - 1106: mov r1, r2 - 1108: dmb sy - 110c: add r2, sp, #0x4 - 110e: bl 0xf78 @ imm = #-0x19a - 1112: mov r0, r4 - 1114: add sp, #0x8 - 1116: pop {r4, r5, r7, pc} - -00001118 <<&mut W as core::fmt::Write>::write_fmt::h4fea0ca5dfc7d23c>: - 1118: push {r4, r5, r7, lr} - 111a: add r7, sp, #0x8 - 111c: sub sp, #0x20 - 111e: ldr r0, [r0] - 1120: str r0, [sp, #0x4] - 1122: add r2, sp, #0x8 - 1124: mov r0, r2 - 1126: ldm r1!, {r3, r4, r5} - 1128: stm r0!, {r3, r4, r5} - 112a: ldm r1!, {r3, r4, r5} - 112c: stm r0!, {r3, r4, r5} - 112e: add r0, sp, #0x4 - 1130: ldr r1, [pc, #0x8] <$d.48> - 1132: bl 0xa94 @ imm = #-0x6a2 - 1136: add sp, #0x20 - 1138: pop {r4, r5, r7, pc} - 113a: mov r8, r8 - -0000113c <$d.48>: - 113c: b4 16 00 00 .word 0x000016b4 - -00001140 <__cpsid>: - 1140: cpsid i - 1142: bx lr - -00001144 <__cpsie>: - 1144: cpsie i - 1146: bx lr - -00001148 <__primask_r>: - 1148: mrs r0, primask - 114c: bx lr - -0000114e <__aeabi_uidiv>: - 114e: push {r7, lr} - 1150: add r7, sp, #0x0 - 1152: bl 0x128a @ imm = #0x134 - 1156: pop {r7, pc} - -00001158 <__aeabi_memcpy>: - 1158: push {r7, lr} - 115a: add r7, sp, #0x0 - 115c: bl 0x11ec @ imm = #0x8c - 1160: pop {r7, pc} - -00001162 <__aeabi_memset>: - 1162: push {r7, lr} - 1164: add r7, sp, #0x0 - 1166: mov r3, r1 - 1168: mov r1, r2 - 116a: mov r2, r3 - 116c: bl 0x1248 @ imm = #0xd8 - 1170: pop {r7, pc} - -00001172 <__aeabi_memset4>: - 1172: push {r4, r5, r6, r7, lr} - 1174: add r7, sp, #0xc - 1176: sub sp, #0x4 - 1178: mov r5, r2 - 117a: mov r4, r1 - 117c: mov r3, r0 - 117e: uxtb r2, r2 - 1180: cmp r1, #0x4 - 1182: blo 0x11b2 <__aeabi_memset4+0x40> @ imm = #0x2c - 1184: lsls r0, r5, #0x18 - 1186: lsls r1, r2, #0x10 - 1188: adds r0, r1, r0 - 118a: lsls r1, r2, #0x8 - 118c: adds r0, r0, r1 - 118e: adds r5, r0, r2 - 1190: subs r1, r4, #0x4 - 1192: lsrs r0, r1, #0x2 - 1194: adds r0, r0, #0x1 - 1196: movs r6, #0x3 - 1198: ands r6, r0 - 119a: str r1, [sp] - 119c: beq 0x11be <__aeabi_memset4+0x4c> @ imm = #0x1e - 119e: mov r0, r3 - 11a0: stm r0!, {r5} - 11a2: cmp r6, #0x1 - 11a4: beq 0x11c2 <__aeabi_memset4+0x50> @ imm = #0x1a - 11a6: str r5, [r3, #0x4] - 11a8: cmp r6, #0x2 - 11aa: bne 0x11b8 <__aeabi_memset4+0x46> @ imm = #0xa - 11ac: subs r4, #0x8 - 11ae: adds r3, #0x8 - 11b0: b 0x11be <__aeabi_memset4+0x4c> @ imm = #0xa - 11b2: mov r0, r3 - 11b4: mov r1, r4 - 11b6: b 0x11d8 <__aeabi_memset4+0x66> @ imm = #0x1e - 11b8: str r5, [r3, #0x8] - 11ba: subs r4, #0xc - 11bc: adds r3, #0xc - 11be: mov r1, r4 - 11c0: mov r0, r3 - 11c2: ldr r3, [sp] - 11c4: cmp r3, #0xc - 11c6: blo 0x11d8 <__aeabi_memset4+0x66> @ imm = #0xe - 11c8: str r5, [r0] - 11ca: str r5, [r0, #0x4] - 11cc: str r5, [r0, #0x8] - 11ce: str r5, [r0, #0xc] - 11d0: adds r0, #0x10 - 11d2: subs r1, #0x10 - 11d4: cmp r1, #0x3 - 11d6: bhi 0x11c8 <__aeabi_memset4+0x56> @ imm = #-0x12 - 11d8: bl 0x1162 <__aeabi_memset> @ imm = #-0x7a - 11dc: add sp, #0x4 - 11de: pop {r4, r5, r6, r7, pc} - -000011e0 <__aeabi_memclr8>: - 11e0: push {r7, lr} - 11e2: add r7, sp, #0x0 - 11e4: movs r2, #0x0 - 11e6: bl 0x1172 <__aeabi_memset4> @ imm = #-0x78 - 11ea: pop {r7, pc} - -000011ec : - 11ec: push {r4, r5, r6, r7, lr} - 11ee: add r7, sp, #0xc - 11f0: sub sp, #0x4 - 11f2: cmp r2, #0x0 - 11f4: beq 0x1244 @ imm = #0x4c - 11f6: movs r4, #0x3 - 11f8: mov r3, r2 - 11fa: ands r3, r4 - 11fc: subs r5, r2, #0x1 - 11fe: cmp r5, #0x3 - 1200: str r3, [sp] - 1202: bhs 0x1208 @ imm = #0x2 - 1204: movs r4, #0x0 - 1206: b 0x1226 @ imm = #0x1c - 1208: bics r2, r4 - 120a: movs r4, #0x0 - 120c: ldrb r5, [r1, r4] - 120e: strb r5, [r0, r4] - 1210: adds r5, r0, r4 - 1212: adds r6, r1, r4 - 1214: ldrb r3, [r6, #0x1] - 1216: strb r3, [r5, #0x1] - 1218: ldrb r3, [r6, #0x2] - 121a: strb r3, [r5, #0x2] - 121c: ldrb r3, [r6, #0x3] - 121e: strb r3, [r5, #0x3] - 1220: adds r4, r4, #0x4 - 1222: cmp r2, r4 - 1224: bne 0x120c @ imm = #-0x1c - 1226: ldr r5, [sp] - 1228: cmp r5, #0x0 - 122a: beq 0x1244 @ imm = #0x16 - 122c: ldrb r2, [r1, r4] - 122e: strb r2, [r0, r4] - 1230: cmp r5, #0x1 - 1232: beq 0x1244 @ imm = #0xe - 1234: adds r2, r4, #0x1 - 1236: ldrb r3, [r1, r2] - 1238: strb r3, [r0, r2] - 123a: cmp r5, #0x2 - 123c: beq 0x1244 @ imm = #0x4 - 123e: adds r2, r4, #0x2 - 1240: ldrb r1, [r1, r2] - 1242: strb r1, [r0, r2] - 1244: add sp, #0x4 - 1246: pop {r4, r5, r6, r7, pc} - -00001248 : - 1248: push {r4, r5, r7, lr} - 124a: add r7, sp, #0x8 - 124c: cmp r2, #0x0 - 124e: beq 0x1288 @ imm = #0x36 - 1250: movs r4, #0x3 - 1252: mov r3, r2 - 1254: ands r3, r4 - 1256: subs r5, r2, #0x1 - 1258: cmp r5, #0x3 - 125a: bhs 0x1260 @ imm = #0x2 - 125c: movs r4, #0x0 - 125e: b 0x1274 @ imm = #0x12 - 1260: bics r2, r4 - 1262: movs r4, #0x0 - 1264: strb r1, [r0, r4] - 1266: adds r5, r0, r4 - 1268: strb r1, [r5, #0x3] - 126a: strb r1, [r5, #0x2] - 126c: strb r1, [r5, #0x1] - 126e: adds r4, r4, #0x4 - 1270: cmp r2, r4 - 1272: bne 0x1264 @ imm = #-0x12 - 1274: cmp r3, #0x0 - 1276: beq 0x1288 @ imm = #0xe - 1278: strb r1, [r0, r4] - 127a: cmp r3, #0x1 - 127c: beq 0x1288 @ imm = #0x8 - 127e: adds r2, r4, r0 - 1280: strb r1, [r2, #0x1] - 1282: cmp r3, #0x2 - 1284: beq 0x1288 @ imm = #0x0 - 1286: strb r1, [r2, #0x2] - 1288: pop {r4, r5, r7, pc} - -0000128a : - 128a: push {r4, r5, r6, r7, lr} - 128c: add r7, sp, #0xc - 128e: sub sp, #0xc - 1290: mov r2, r0 - 1292: cmp r0, r1 - 1294: bhs 0x129e @ imm = #0x6 - 1296: movs r0, #0x0 - 1298: mov r1, r2 - 129a: add sp, #0xc - 129c: pop {r4, r5, r6, r7, pc} - 129e: lsrs r5, r2, #0x10 - 12a0: cmp r1, r5 - 12a2: mov r0, r2 - 12a4: bhi 0x12c0 @ imm = #0x18 - 12a6: mov r0, r5 - 12a8: lsrs r6, r0, #0x8 - 12aa: cmp r1, r6 - 12ac: bls 0x12c6 @ imm = #0x16 - 12ae: lsrs r3, r0, #0x4 - 12b0: cmp r1, r3 - 12b2: bhi 0x12ce @ imm = #0x18 - 12b4: mov r0, r3 - 12b6: str r3, [sp, #0x4] - 12b8: lsrs r3, r0, #0x2 - 12ba: cmp r1, r3 - 12bc: bls 0x12d6 @ imm = #0x16 - 12be: b 0x12d8 @ imm = #0x16 - 12c0: lsrs r6, r0, #0x8 - 12c2: cmp r1, r6 - 12c4: bhi 0x12ae @ imm = #-0x1a - 12c6: mov r0, r6 - 12c8: lsrs r3, r0, #0x4 - 12ca: cmp r1, r3 - 12cc: bls 0x12b4 @ imm = #-0x1c - 12ce: str r3, [sp, #0x4] - 12d0: lsrs r3, r0, #0x2 - 12d2: cmp r1, r3 - 12d4: bhi 0x12d8 @ imm = #0x0 - 12d6: mov r0, r3 - 12d8: str r3, [sp, #0x8] - 12da: lsrs r3, r0, #0x1 - 12dc: movs r4, #0x1 - 12de: movs r0, #0x0 - 12e0: cmp r1, r3 - 12e2: mov r3, r4 - 12e4: bls 0x12e8 @ imm = #0x0 - 12e6: mov r3, r0 - 12e8: cmp r1, r5 - 12ea: mov r5, r4 - 12ec: bls 0x12f0 @ imm = #0x0 - 12ee: mov r5, r0 - 12f0: str r3, [sp] - 12f2: lsls r5, r5, #0x4 - 12f4: cmp r1, r6 - 12f6: mov r6, r4 - 12f8: bls 0x12fc @ imm = #0x0 - 12fa: mov r6, r0 - 12fc: lsls r3, r6, #0x3 - 12fe: adds r5, r3, r5 - 1300: ldr r3, [sp, #0x4] - 1302: cmp r1, r3 - 1304: mov r3, r4 - 1306: bls 0x130a @ imm = #0x0 - 1308: mov r3, r0 - 130a: lsls r3, r3, #0x2 - 130c: adds r3, r5, r3 - 130e: ldr r5, [sp, #0x8] - 1310: cmp r1, r5 - 1312: mov r5, r4 - 1314: bls 0x1318 @ imm = #0x0 - 1316: mov r5, r0 - 1318: lsls r0, r5, #0x1 - 131a: adds r0, r3, r0 - 131c: ldr r3, [sp] - 131e: adds r3, r0, r3 - 1320: lsls r4, r3 - 1322: mov r5, r1 - 1324: lsls r5, r3 - 1326: subs r6, r2, r5 - 1328: cmp r6, r1 - 132a: bhs 0x1336 @ imm = #0x8 - 132c: mov r2, r6 - 132e: mov r0, r4 - 1330: mov r1, r2 - 1332: add sp, #0xc - 1334: pop {r4, r5, r6, r7, pc} - 1336: cmp r5, #0x0 - 1338: bmi 0x1342 @ imm = #0x6 - 133a: mov r1, r4 - 133c: mov r0, r4 - 133e: mov r2, r6 - 1340: b 0x136e @ imm = #0x2a - 1342: lsrs r5, r5, #0x1 - 1344: subs r2, r6, r5 - 1346: subs r3, r3, #0x1 - 1348: movs r0, #0x1f - 134a: str r3, [sp, #0x4] - 134c: ands r0, r3 - 134e: str r0, [sp, #0x8] - 1350: movs r0, #0x1 - 1352: ldr r3, [sp, #0x8] - 1354: lsls r0, r3 - 1356: cmp r2, #0x0 - 1358: str r0, [sp, #0x8] - 135a: bge 0x135e @ imm = #0x0 - 135c: movs r0, #0x0 - 135e: cmp r2, #0x0 - 1360: bge 0x1364 @ imm = #0x0 - 1362: mov r2, r6 - 1364: orrs r0, r4 - 1366: cmp r2, r1 - 1368: ldr r1, [sp, #0x8] - 136a: ldr r3, [sp, #0x4] - 136c: blo 0x1298 @ imm = #-0xd8 - 136e: subs r1, r1, #0x1 - 1370: cmp r3, #0x0 - 1372: beq 0x13a0 @ imm = #0x2a - 1374: str r1, [sp, #0x4] - 1376: subs r4, r5, #0x1 - 1378: movs r6, #0x3 - 137a: ands r6, r3 - 137c: subs r1, r3, #0x1 - 137e: str r1, [sp, #0x8] - 1380: cmp r6, #0x0 - 1382: beq 0x13a4 @ imm = #0x1e - 1384: lsls r2, r2, #0x1 - 1386: subs r2, r2, r4 - 1388: asrs r5, r2, #0x1f - 138a: ands r5, r4 - 138c: adds r5, r5, r2 - 138e: cmp r6, #0x1 - 1390: bne 0x13b0 @ imm = #0x1c - 1392: mov r2, r5 - 1394: ldr r6, [sp, #0x8] - 1396: ldr r1, [sp, #0x8] - 1398: cmp r1, #0x3 - 139a: ldr r1, [sp, #0x4] - 139c: blo 0x1406 @ imm = #0x66 - 139e: b 0x13d8 @ imm = #0x36 - 13a0: mov r5, r2 - 13a2: b 0x1406 @ imm = #0x60 - 13a4: mov r6, r3 - 13a6: ldr r1, [sp, #0x8] - 13a8: cmp r1, #0x3 - 13aa: ldr r1, [sp, #0x4] - 13ac: blo 0x1406 @ imm = #0x56 - 13ae: b 0x13d8 @ imm = #0x26 - 13b0: lsls r2, r5, #0x1 - 13b2: subs r2, r2, r4 - 13b4: asrs r5, r2, #0x1f - 13b6: ands r5, r4 - 13b8: adds r5, r5, r2 - 13ba: cmp r6, #0x2 - 13bc: bne 0x13c2 @ imm = #0x2 - 13be: subs r6, r3, #0x2 - 13c0: b 0x13ce @ imm = #0xa - 13c2: lsls r2, r5, #0x1 - 13c4: subs r2, r2, r4 - 13c6: asrs r5, r2, #0x1f - 13c8: ands r5, r4 - 13ca: adds r5, r5, r2 - 13cc: subs r6, r3, #0x3 - 13ce: mov r2, r5 - 13d0: ldr r1, [sp, #0x8] - 13d2: cmp r1, #0x3 - 13d4: ldr r1, [sp, #0x4] - 13d6: blo 0x1406 @ imm = #0x2c - 13d8: mov r5, r2 - 13da: lsls r2, r5, #0x1 - 13dc: subs r2, r2, r4 - 13de: asrs r5, r2, #0x1f - 13e0: ands r5, r4 - 13e2: adds r2, r5, r2 - 13e4: lsls r2, r2, #0x1 - 13e6: subs r2, r2, r4 - 13e8: asrs r5, r2, #0x1f - 13ea: ands r5, r4 - 13ec: adds r2, r5, r2 - 13ee: lsls r2, r2, #0x1 - 13f0: subs r2, r2, r4 - 13f2: asrs r5, r2, #0x1f - 13f4: ands r5, r4 - 13f6: adds r2, r5, r2 - 13f8: lsls r2, r2, #0x1 - 13fa: subs r2, r2, r4 - 13fc: asrs r5, r2, #0x1f - 13fe: ands r5, r4 - 1400: adds r5, r5, r2 - 1402: subs r6, r6, #0x4 - 1404: bne 0x13da @ imm = #-0x2e - 1406: movs r2, #0x1f - 1408: ands r3, r2 - 140a: mov r2, r5 - 140c: lsrs r2, r3 - 140e: ands r1, r5 - 1410: orrs r0, r1 - 1412: mov r1, r2 - 1414: add sp, #0xc - 1416: pop {r4, r5, r6, r7, pc} - -00001418 : - 1418: mov r0, lr - 141a: movs r1, #0x4 - 141c: tst r0, r1 - 141e: bne 0x1426 @ imm = #0x4 - 1420: mrs r0, msp - 1424: b 0x142c @ imm = #0x4 - 1426: mrs r0, psp - 142a: b 0x142c @ imm = #-0x2 - -0000142c : - 142c: b 0x142c @ imm = #-0x4 - 142e: bmi 0x13da @ imm = #-0x58 diff --git a/va108xx-hal-rs b/va108xx-hal-rs index de0e000..c07d937 160000 --- a/va108xx-hal-rs +++ b/va108xx-hal-rs @@ -1 +1 @@ -Subproject commit de0e000af3df14c4cdc28fcbe622be062174ed37 +Subproject commit c07d937c12c49bd63e166eb6df3657a830bd8798