[*] Binary protection state of actionengined

  
  	Full RELRO     Canary found      NX enabled   PIE enabled  No RPATH     No RUNPATH   No Symbols


[*] Function printf tear down of actionengined

    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/actionengined @ 0xd1e4 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) fcn.0000d1e4 ()                      | void fcn_0000d1e4 (int16_t arg1) {
                                                 |     r0 = arg1;
    0x0000d1e4 push {r4, r5, r6, lr}             |     
    0x0000d1e6 mov r4, r0                        |     r4 = r0;
    0x0000d1e8 ldrd r5, r6, [r0, 0x54]           |     __asm ("ldrd r5, r6, [r0, 0x54]");
    0x0000d1ea ldrsb r5, [r2, r0]                |     r5 = *((r2 + r0));
                                                 |     if (r5 != 0) {
    0x0000d1ec cbnz r5, 0xd22e                   |         goto label_2;
                                                 |     }
    0x0000d1ee subs r6, 0                        |     
    0x0000d1f0 it ne                             |     
                                                 |     if (r6 == 0) {
    0x0000d1f2 movne r6, 1                       |         r6 = 1;
                                                 |     }
                                                 | label_1:
    0x0000d1f4 ldr r0, [r4, 0x5c]                |     r0 = *((r4 + 0x5c));
                                                 |     if (r0 != 0) {
    0x0000d1f6 cbnz r0, 0xd240                   |         goto label_3;
                                                 |     }
                                                 | label_0:
    0x0000d1f8 ldr r0, [r4, 0x60]                |     r0 = *((r4 + 0x60));
                                                 |     if (r0 != 0) {
    0x0000d1fa cbnz r0, 0xd202                   |         goto label_4;
                                                 |     }
                                                 |     if (r5 != 0) {
    0x0000d1fc cbnz r5, 0xd20e                   |         goto label_5;
                                                 |     }
                                                 |     do {
                                                 |         if (r6 != 0) {
    0x0000d1fe cbnz r6, 0xd21e                   |             goto label_6;
                                                 |         }
    0x0000d200 pop {r4, r5, r6, pc}              |         
                                                 | label_4:
    0x0000d202 blx 0x4678                        |         g_slist_length ();
    0x0000d206 movs r3, 0                        |         r3 = 0;
    0x0000d208 str r3, [r4, 0x60]                |         *((r4 + 0x60)) = r3;
    0x0000d20a cmp r5, 0                         |         
    0x0000d20c beq 0xd1fe                        |         
                                                 |     } while (r5 == 0);
                                                 | label_5:
    0x0000d20e ldr r1, [pc, 0x40]                |     
    0x0000d210 mov r2, r4                        |     r2 = r4;
    0x0000d212 ldr r0, [r4, 0x54]                |     r0 = *((r4 + 0x54));
    0x0000d214 add r1, pc                        |     r1 = 0x1a46a;
    0x0000d216 blx 0x427c                        |     g_strdup_printf ()
    0x0000d21a str r0, [r4, 0x5c]                |     *((r4 + 0x5c)) = r0;
    0x0000d21c pop {r4, r5, r6, pc}              |     
                                                 | label_6:
    0x0000d21e ldr r1, [pc, 0x34]                |     
    0x0000d220 mov r2, r4                        |     r2 = r4;
    0x0000d222 ldr r0, [r4, 0x58]                |     r0 = *((r4 + 0x58));
    0x0000d224 add r1, pc                        |     r1 = 0x1a47e;
    0x0000d226 blx 0x427c                        |     g_strdup_printf ()
    0x0000d22a str r0, [r4, 0x60]                |     *((r4 + 0x60)) = r0;
    0x0000d22c pop {r4, r5, r6, pc}              |     
                                                 |     if (r6 == 0) {
                                                 | label_2:
    0x0000d22e cbz r6, 0xd24a                    |         goto label_7;
                                                 |     }
    0x0000d230 ldr r0, [r4, 0x5c]                |     r0 = *((r4 + 0x5c));
    0x0000d232 cmp r5, r6                        |     
    0x0000d234 ite hs                            |     
                                                 |     if (r5 < r6) {
    0x0000d236 movhs r5, 0                       |         r5 = 0;
                                                 |     }
                                                 |     if (r5 >= r6) {
    0x0000d238 movlo r5, 1                       |         r5 = 1;
                                                 |     }
    0x0000d23a movs r6, 0                        |     r6 = 0;
    0x0000d23c cmp r0, 0                         |     
                                                 |     if (r0 == 0) {
    0x0000d23e beq 0xd1f8                        |         goto label_0;
                                                 |     }
                                                 | label_3:
    0x0000d240 blx 0x4678                        |     g_slist_length ();
    0x0000d244 movs r3, 0                        |     r3 = 0;
    0x0000d246 str r3, [r4, 0x5c]                |     *((r4 + 0x5c)) = r3;
    0x0000d248 b 0xd1f8                          |     goto label_0;
                                                 | label_7:
    0x0000d24a movs r5, 1                        |     r5 = 1;
    0x0000d24c b 0xd1f4                          |     goto label_1;
                                                 | }
    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/actionengined @ 0xd338 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) fcn.0000d338 ()                          | void fcn_0000d338 (int16_t arg1) {
                                                     |     int16_t var_0h;
                                                     |     r0 = arg1;
                                                     | label_1:
    0x000048c0 bx pc                                 |     return void (*pc)() ();
    0x0000d338 ldr r2, [r0, 0x68]                    |     r2 = *((r0 + 0x68));
    0x0000d33a push.w {r4, r5, r6, r7, r8, lr}       |     
    0x0000d33e mov r4, r0                            |     r4 = r0;
    0x0000d340 ldr r5, [pc, 0x288]                   |     
    0x0000d342 sub sp, 8                             |     
    0x0000d344 add r5, pc                            |     r5 = 0x1a914;
                                                     |     if (r2 != 0) {
    0x0000d346 cbz r2, 0xd364                        |         
    0x0000d348 ldr r3, [pc, 0x284]                   |         
    0x0000d34a ldr r1, [pc, 0x288]                   |         
    0x0000d34c ldr r0, [pc, 0x288]                   |         
    0x0000d34e ldr r3, [r5, r3]                      |         r3 = *((r5 + r3));
    0x0000d350 add r1, pc                            |         r1 = 0x1a92a;
    0x0000d352 adds r1, 0x44                         |         r1 += 0x44;
    0x0000d354 add r0, pc                            |         r0 = 0x1a930;
    0x0000d356 ldr r3, [r3]                          |         r3 = *(0xd5d0);
    0x0000d358 blx r3                                |         uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r1, r3);
    0x0000d35a ldr r0, [r4, 0x68]                    |         r0 = *((r4 + 0x68));
    0x0000d35c blx 0x4678                            |         g_slist_length ();
    0x0000d360 movs r3, 0                            |         r3 = 0;
    0x0000d362 str r3, [r4, 0x68]                    |         *((r4 + 0x68)) = r3;
                                                     |     }
    0x0000d364 ldr r3, [r4, 0x50]                    |     r3 = *((r4 + 0x50));
    0x0000d366 cmp r3, 0                             |     
                                                     |     if (r3 != 0) {
    0x0000d368 bne 0xd3d6                            |         goto label_9;
                                                     |     }
    0x0000d36a ldr r3, [r4, 0x2c]                    |     r3 = *((r4 + 0x2c));
                                                     |     if (r3 != 0) {
    0x0000d36c cbz r3, 0xd374                        |         
    0x0000d36e ldr r3, [r3, 0xc]                     |         r3 = *((r3 + 0xc));
    0x0000d370 cmp r3, 3                             |         
                                                     |         if (r3 == 3) {
    0x0000d372 beq 0xd44e                            |             goto label_10;
                                                     |         }
                                                     |     }
    0x0000d374 ldr r1, [r4, 0x24]                    |     r1 = *((r4 + 0x24));
    0x0000d376 ldr r3, [r1, 0xc]                     |     r3 = *((r1 + 0xc));
    0x0000d378 subs r2, r3, 2                        |     r2 = r3 - 2;
    0x0000d37a bics r2, r2, 2                        |     __asm ("bics r2, r2, 2");
                                                     |     if (r2 == r3) {
    0x0000d37e beq 0xd3ee                            |         goto label_11;
                                                     |     }
    0x0000d380 cmp r3, 9                             |     
                                                     |     if (r3 != 9) {
    0x0000d382 bne 0xd406                            |         goto label_12;
                                                     |     }
                                                     | label_0:
    0x0000d384 ldr r1, [r4, 0x28]                    |     r1 = *((r4 + 0x28));
    0x0000d386 cmp r1, 0                             |     
                                                     |     if (r1 == 0) {
    0x0000d388 beq 0xd418                            |         goto label_13;
                                                     |     }
    0x0000d38a ldr r3, [r1, 0xc]                     |     r3 = *((r1 + 0xc));
    0x0000d38c subs r2, r3, 2                        |     r2 = r3 - 2;
    0x0000d38e bics r2, r2, 2                        |     __asm ("bics r2, r2, 2");
                                                     |     if (r2 != r3) {
    0x0000d392 bne 0xd40e                            |         goto label_14;
                                                     |     }
    0x0000d394 ldr r3, [pc, 0x238]                   |     r3 = *(0xd5d0);
    0x0000d396 str r1, [r4, 0x2c]                    |     *((r4 + 0x2c)) = r1;
    0x0000d398 ldr r1, [pc, 0x240]                   |     
    0x0000d39a ldr r5, [r5, r3]                      |     r5 = *((r5 + r3));
    0x0000d39c ldr r0, [pc, 0x240]                   |     
    0x0000d39e add r1, pc                            |     r1 = 0x1a97e;
    0x0000d3a0 ldr r3, [r5]                          |     r3 = *(r5);
    0x0000d3a2 adds r1, 0x60                         |     r1 += 0x60;
    0x0000d3a4 add r0, pc                            |     r0 = 0x1a988;
    0x0000d3a6 blx r3                                |     uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r1, r3);
    0x0000d3a8 ldr r6, [r4, 0x28]                    |     r6 = *((r4 + 0x28));
                                                     |     do {
    0x0000d3aa cmp r6, 0                             |         
                                                     |         if (r6 == 0) {
    0x0000d3ac beq 0xd42e                            |             goto label_15;
                                                     |         }
    0x0000d3ae ldr r3, [r4, 0x78]                    |         r3 = *((r4 + 0x78));
    0x0000d3b0 cmp r3, 1                             |         
                                                     |         if (r3 == 1) {
    0x0000d3b2 beq 0xd486                            |             goto label_16;
                                                     |         }
    0x0000d3b4 bics r2, r3, 2                        |         __asm ("bics r2, r3, 2");
                                                     |         if (r3 != 1) {
    0x0000d3b8 bne 0xd49a                            |             goto label_17;
                                                     |         }
    0x0000d3ba ldr r0, [r4, 0x4c]                    |         r0 = *((r4 + 0x4c));
    0x0000d3bc cmp r0, 0                             |         
                                                     |         if (r0 != 0) {
    0x0000d3be bne.w 0xd592                          |             goto label_18;
                                                     |         }
                                                     | label_7:
    0x0000d3c2 ldr r7, [r5]                          |         r7 = *(r5);
    0x0000d3c4 cmp r3, 3                             |         
                                                     |         if (r3 > 3) {
    0x0000d3c6 bhi.w 0xd5c0                          |             goto label_19;
                                                     |         }
                                                     |         /* switch table (5 cases) at 0xd3ce */
    0x0000d3ca tbh [pc, r3, lsl 1]                   |         __asm ("tbh [pc, r3, lsl 1]");
                                                     | label_9:
    0x0000d3d6 ldr r3, [pc, 0x1f8]                   |         
    0x0000d3d8 ldr r1, [pc, 0x208]                   |         
    0x0000d3da ldr r0, [pc, 0x20c]                   |         
    0x0000d3dc ldr r3, [r5, r3]                      |         r3 = *((r5 + r3));
    0x0000d3de add r1, pc                            |         r1 = 0x1a9c6;
    0x0000d3e0 add r0, pc                            |         r0 = 0x1a9ce;
    0x0000d3e2 adds r1, 0x44                         |         r1 += 0x44;
    0x0000d3e4 ldr r3, [r3]                          |         r3 = *(0xd5d2);
    0x0000d3e6 add sp, 8                             |         
    0x0000d3e8 pop.w {r4, r5, r6, r7, r8, lr}        |         
    0x0000d3ec bx r3                                 |         return uint32_t (*r3)() ();
                                                     | label_11:
    0x0000d3ee ldr r3, [pc, 0x1e0]                   |         r3 = *(0xd5d2);
    0x0000d3f0 str r1, [r4, 0x2c]                    |         *((r4 + 0x2c)) = r1;
    0x0000d3f2 ldr r1, [pc, 0x1f8]                   |         
    0x0000d3f4 ldr r5, [r5, r3]                      |         r5 = *((r5 + r3));
    0x0000d3f6 ldr r0, [pc, 0x1f8]                   |         
    0x0000d3f8 add r1, pc                            |         r1 = 0x1a9ea;
    0x0000d3fa ldr r3, [r5]                          |         r3 = *(r5);
    0x0000d3fc adds r1, 0x60                         |         r1 += 0x60;
    0x0000d3fe add r0, pc                            |         r0 = 0x1a9f4;
    0x0000d400 blx r3                                |         uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r1, r3);
    0x0000d402 ldr r6, [r4, 0x24]                    |         r6 = *((r4 + 0x24));
    0x0000d404 b 0xd3aa                              |         
                                                     |     } while (1);
                                                     | label_12:
    0x0000d406 mov r0, r1                            |     r0 = r1;
    0x0000d408 bl 0xd2dc                             |     fcn_0000d2dc (r0, r1);
    0x0000d40c b 0xd384                              |     goto label_0;
                                                     | label_14:
    0x0000d40e cmp r3, 9                             |     
                                                     |     if (r3 != 9) {
    0x0000d410 beq 0xd418                            |         
    0x0000d412 ldr r0, [r4, 0x24]                    |         r0 = *((r4 + 0x24));
    0x0000d414 bl 0xd2dc                             |         fcn_0000d2dc (r0, r1);
    0x0000d416 invalid                               |         
                                                     |     }
                                                     | label_13:
    0x0000d418 ldr r3, [pc, 0x1b4]                   |     r3 = *(0xd5d0);
    0x0000d41a ldr r1, [pc, 0x1d8]                   |     
    0x0000d41c ldr r0, [pc, 0x1d8]                   |     
    0x0000d41e ldr r5, [r5, r3]                      |     r5 = *((r5 + r3));
    0x0000d420 add r1, pc                            |     r1 = 0x1aa1a;
    0x0000d422 add r0, pc                            |     r0 = 0x1aa1e;
    0x0000d424 adds r1, 0x60                         |     r1 += 0x60;
    0x0000d426 ldr r3, [r5]                          |     r3 = *(r5);
    0x0000d428 blx r3                                |     uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r1, r3);
    0x0000d42a movs r3, 0                            |     r3 = 0;
    0x0000d42c str r3, [r4, 0x2c]                    |     *((r4 + 0x2c)) = r3;
                                                     | label_15:
    0x0000d42e ldr r1, [pc, 0x1cc]                   |     
    0x0000d430 ldr r0, [pc, 0x1cc]                   |     
    0x0000d432 ldr r3, [r5]                          |     r3 = *(r5);
    0x0000d434 add r1, pc                            |     r1 = 0x1aa36;
    0x0000d436 add r0, pc                            |     r0 = 0x1aa3a;
    0x0000d438 adds r1, 0x44                         |     r1 += 0x44;
    0x0000d43a blx r3                                |     uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r1, r3);
    0x0000d43c ldr r3, [r4, 0x78]                    |     r3 = *((r4 + 0x78));
    0x0000d43e ldr r5, [r5]                          |     r5 = *(r5);
    0x0000d440 cmp r3, 3                             |     
                                                     |     if (r3 > 3) {
    0x0000d442 bhi.w 0xd5c6                          |         goto label_20;
                                                     |     }
                                                     |     /* switch table (4 cases) at 0xd44a */
    0x0000d446 tbb [pc, r3]                          |     __asm ("tbb [0x0000d44c]");
                                                     | label_10:
    0x0000d44e ldr r3, [r4, 0x78]                    |     r3 = *((r4 + 0x78));
    0x0000d450 cmp r3, 1                             |     
                                                     |     if (r3 != 1) {
    0x0000d452 beq 0xd480                            |         
    0x0000d454 ldr r2, [pc, 0x178]                   |         r2 = *(0xd5d0);
    0x0000d456 cmp r3, 2                             |         
    0x0000d458 ldr r2, [r5, r2]                      |         r2 = *((r5 + r2));
    0x0000d45a ldr r5, [r2]                          |         r5 = *(0xd5d0);
                                                     |         if (r3 == 2) {
    0x0000d45c beq.w 0xd5ba                          |             goto label_21;
                                                     |         }
    0x0000d45e strh r5, [r5, 4]                      |         *((r5 + 4)) = r5;
    0x0000d460 cmp r3, 3                             |         
                                                     |         if (r3 == 3) {
    0x0000d462 beq 0xd560                            |             goto label_22;
                                                     |         }
    0x0000d464 cmp r3, 0                             |         
                                                     |         if (r3 == 0) {
    0x0000d466 beq 0xd55a                            |             goto label_23;
                                                     |         }
    0x0000d468 ldr r2, [pc, 0x198]                   |         
    0x0000d46a add r2, pc                            |         r2 = 0x1aa72;
                                                     | label_4:
    0x0000d46c ldr r1, [pc, 0x198]                   |         
    0x0000d46e ldr r3, [pc, 0x19c]                   |         
    0x0000d470 ldr r0, [pc, 0x19c]                   |         
    0x0000d472 add r1, pc                            |         r1 = 0x1aa7e;
    0x0000d474 add r3, pc                            |         r3 = 0x1aa86;
    0x0000d476 adds r1, 0x44                         |         r1 += 0x44;
    0x0000d478 add r0, pc                            |         r0 = 0x1aa8c;
    0x0000d47a blx r5                                |         uint32_t (*r5)(uint32_t, uint32_t, uint32_t, uint32_t) (r0, r1, r2, r3);
    0x0000d47c movs r3, 1                            |         r3 = 1;
    0x0000d47e str r3, [r4, 0x78]                    |         *((r4 + 0x78)) = r3;
                                                     |     }
                                                     | label_5:
    0x0000d480 add sp, 8                             |     
    0x0000d482 pop.w {r4, r5, r6, r7, r8, pc}        |     
                                                     | label_16:
    0x0000d486 ldr r1, [pc, 0x18c]                   |     
    0x0000d488 ldr r0, [pc, 0x18c]                   |     
    0x0000d48a ldr r3, [r5]                          |     r3 = *(r5);
    0x0000d48c add r1, pc                            |     r1 = 0x1aaa6;
    0x0000d48e add r0, pc                            |     r0 = 0x1aaaa;
    0x0000d490 adds r1, 0x44                         |     r1 += 0x44;
    0x0000d492 add sp, 8                             |     
    0x0000d494 pop.w {r4, r5, r6, r7, r8, lr}        |     
    0x0000d498 bx r3                                 |     return uint32_t (*r3)() ();
                                                     | label_17:
    0x0000d49a cmp r3, 3                             |     
    0x0000d49c ldr r5, [r5]                          |     r5 = *(r5);
                                                     |     if (r3 != 3) {
    0x0000d49e bne 0xd554                            |         goto label_24;
                                                     |     }
    0x0000d4a0 ldr r2, [pc, 0x178]                   |     
    0x0000d4a2 add r2, pc                            |     r2 = 0x1aac2;
                                                     | label_3:
    0x0000d4a4 ldr r1, [pc, 0x178]                   |     
    0x0000d4a6 ldr r3, [pc, 0x17c]                   |     
    0x0000d4a8 ldr r0, [pc, 0x17c]                   |     
    0x0000d4aa add r1, pc                            |     r1 = 0x1aace;
    0x0000d4ac add r3, pc                            |     r3 = 0x1aad6;
    0x0000d4ae adds r1, 0x44                         |     r1 += 0x44;
    0x0000d4b0 add r0, pc                            |     r0 = 0x1aadc;
    0x0000d4b2 blx r5                                |     uint32_t (*r5)(uint32_t, uint32_t, uint32_t, uint32_t) (r0, r1, r2, r3);
    0x0000d4b4 movs r3, 1                            |     r3 = 1;
    0x0000d4b6 str r3, [r4, 0x78]                    |     *((r4 + 0x78)) = r3;
    0x0000d4b8 add sp, 8                             |     
    0x0000d4ba pop.w {r4, r5, r6, r7, r8, pc}        |     
    0x0000d4be ldr r2, [pc, 0x16c]                   |     
    0x0000d4c0 add r2, pc                            |     r2 = 0x1aaf2;
                                                     |     do {
                                                     | label_2:
    0x0000d4c2 ldr r1, [pc, 0x16c]                   |         
    0x0000d4c4 mov.w r8, 1                           |         r8 = 1;
    0x0000d4c8 ldr r3, [pc, 0x168]                   |         
    0x0000d4ca ldr r0, [pc, 0x16c]                   |         
    0x0000d4cc add r1, pc                            |         r1 = 0x1ab02;
    0x0000d4ce add r3, pc                            |         r3 = 0x1ab06;
    0x0000d4d0 adds r1, 0x44                         |         r1 += 0x44;
    0x0000d4d2 add r0, pc                            |         r0 = 0x1ab10;
    0x0000d4d4 blx r7                                |         uint32_t (*r7)(uint32_t, uint32_t, uint32_t, uint32_t) (r0, r1, r2, r3);
    0x0000d4d6 mov r0, r4                            |         r0 = r4;
    0x0000d4d8 str.w r8, [r4, 0x78]                  |         __asm ("str.w r8, [r4, 0x78]");
    0x0000d4dc bl 0x11a18                            |         fcn_00011a18 (r0);
    0x0000d4e0 ldrd r3, r2, [r4, 0x28]               |         __asm ("ldrd r3, r2, [r4, 0x28]");
    0x0000d4e4 mov r7, r0                            |         r7 = r0;
    0x0000d4e6 cmp r2, r3                            |         
                                                     |         if (r2 != r3) {
    0x0000d4e8 beq 0xd502                            |             
    0x0000d4ea ldr r0, [r4, 0x34]                    |             r0 = *((r4 + 0x34));
    0x0000d4ec str.w r8, [r4, 0x30]                  |             __asm ("str.w r8, [r4, 0x30]");
    0x0000d4f0 cmp r0, 0                             |             
                                                     |             if (r0 != 0) {
    0x0000d4f2 bne 0xd5b4                            |                 goto label_25;
                                                     |             }
                                                     | label_8:
    0x0000d4f4 ldr r1, [pc, 0x144]                   |             
    0x0000d4f6 mov r2, r4                            |             r2 = r4;
    0x0000d4f8 movs r0, 0xc                          |             r0 = 0xc;
    0x0000d4fa add r1, pc                            |             r1 = 0x1ab3a;
    0x0000d4fc blx 0x427c                            |             g_strdup_printf ()
    0x0000d500 str r0, [r4, 0x34]                    |             *((r4 + 0x34)) = r0;
                                                     |         }
    0x0000d502 ldr r3, [r6]                          |         r3 = *(r6);
    0x0000d504 mov r0, r6                            |         r0 = r6;
    0x0000d506 ldr r4, [r4, 0x14]                    |         r4 = *((r4 + 0x14));
    0x0000d508 ldr.w r3, [r3, 0x80]                  |         r3 = *((r3 + 0x80));
    0x0000d50c blx r3                                |         uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x0000d50e ldr r2, [pc, 0x130]                   |         
    0x0000d510 mov r3, r4                            |         r3 = r4;
    0x0000d512 str r0, [sp]                          |         *(sp) = r0;
    0x0000d514 movs r1, 0x20                         |         r1 = 0x20;
    0x0000d516 movs r0, 0                            |         r0 = 0;
    0x0000d518 add r2, pc                            |         r2 = 0x1ab5e;
    0x0000d51a blx 0x4a34                            |         fcn_00004a34 ();
    0x0000d51e ldr r1, [pc, 0x124]                   |         
    0x0000d520 ldr r0, [pc, 0x124]                   |         
    0x0000d522 ldr r3, [r5]                          |         r3 = *(r5);
    0x0000d524 add r1, pc                            |         r1 = 0x1ab6e;
    0x0000d526 add r0, pc                            |         r0 = 0x1ab72;
    0x0000d528 adds r1, 0x44                         |         r1 += 0x44;
    0x0000d52a blx r3                                |         uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r1, r3);
    0x0000d52c ldr r3, [r6]                          |         r3 = *(r6);
    0x0000d52e mov r0, r6                            |         r0 = r6;
    0x0000d530 mov r1, r7                            |         r1 = r7;
    0x0000d532 ldr r3, [r3, 0x4c]                    |         r3 = *((r3 + 0x4c));
    0x0000d534 blx r3                                |         uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r1, r3);
    0x0000d536 mov r0, r7                            |         r0 = r7;
    0x0000d538 add sp, 8                             |         
    0x0000d53a pop.w {r4, r5, r6, r7, r8, lr}        |         
    0x0000d53e b.w 0x48c0                            |         goto label_1;
    0x0000d542 ldr r2, [pc, 0x108]                   |         
    0x0000d544 add r2, pc                            |         r2 = 0x1ab96;
    0x0000d546 b 0xd4c2                              |         
                                                     |     } while (1);
    0x0000d548 ldr r2, [pc, 0x104]                   |     
    0x0000d54a add r2, pc                            |     r2 = 0x1ab9e;
    0x0000d54c b 0xd4c2                              |     goto label_2;
    0x0000d54e ldr r2, [pc, 0x104]                   |     
    0x0000d550 add r2, pc                            |     r2 = 0x1abaa;
    0x0000d552 b 0xd4c2                              |     goto label_2;
                                                     | label_24:
    0x0000d554 ldr r2, [pc, 0x100]                   |     
    0x0000d556 add r2, pc                            |     r2 = 0x1abb2;
    0x0000d558 b 0xd4a4                              |     goto label_3;
                                                     | label_23:
    0x0000d55a ldr r2, [pc, 0x100]                   |     
    0x0000d55c add r2, pc                            |     r2 = 0x1abbe;
    0x0000d55e b 0xd46c                              |     goto label_4;
                                                     | label_22:
    0x0000d560 ldr r2, [pc, 0xfc]                    |     
    0x0000d562 add r2, pc                            |     r2 = 0x1abc6;
    0x0000d564 b 0xd46c                              |     goto label_4;
    0x0000d566 ldr r2, [pc, 0xfc]                    |     
    0x0000d568 add r2, pc                            |     r2 = 0x1abd2;
                                                     |     do {
                                                     | label_6:
    0x0000d56a ldr r1, [pc, 0xfc]                    |         
    0x0000d56c ldr r3, [pc, 0xfc]                    |         
    0x0000d56e ldr r0, [pc, 0x100]                   |         
    0x0000d570 add r1, pc                            |         r1 = 0x1abde;
    0x0000d572 add r3, pc                            |         r3 = 0x1abe2;
    0x0000d574 adds r1, 0x44                         |         r1 += 0x44;
    0x0000d576 add r0, pc                            |         r0 = 0x1abec;
    0x0000d578 blx r5                                |         uint32_t (*r5)(uint32_t, uint32_t, uint32_t, uint32_t) (r0, r1, r2, r3);
    0x0000d57a movs r3, 2                            |         r3 = 2;
    0x0000d57c str r3, [r4, 0x78]                    |         *((r4 + 0x78)) = r3;
    0x0000d57e b 0xd480                              |         goto label_5;
    0x0000d580 ldr r2, [pc, 0xf0]                    |         
    0x0000d582 add r2, pc                            |         r2 = 0x1abfa;
    0x0000d584 b 0xd56a                              |         
                                                     |     } while (1);
    0x0000d586 ldr r2, [pc, 0xf0]                    |     
    0x0000d588 add r2, pc                            |     r2 = 0x1ac06;
    0x0000d58a b 0xd56a                              |     goto label_6;
    0x0000d58c ldr r2, [pc, 0xec]                    |     
    0x0000d58e add r2, pc                            |     r2 = 0x1ac0e;
    0x0000d590 b 0xd56a                              |     goto label_6;
                                                     | label_18:
    0x0000d592 ldr r1, [pc, 0xec]                    |     
    0x0000d594 movs r3, 1                            |     r3 = 1;
    0x0000d596 mov r2, r4                            |     r2 = r4;
    0x0000d598 str r3, [r4, 0x50]                    |     *((r4 + 0x50)) = r3;
    0x0000d59a add r1, pc                            |     r1 = 0x1ac20;
    0x0000d59c blx 0x427c                            |     g_strdup_printf ()
    0x0000d5a0 ldr r1, [pc, 0xe0]                    |     
    0x0000d5a2 str r0, [r4, 0x64]                    |     *((r4 + 0x64)) = r0;
    0x0000d5a4 ldr r0, [pc, 0xe0]                    |     
    0x0000d5a6 add r1, pc                            |     r1 = 0x1ac2e;
    0x0000d5a8 ldr r3, [r5]                          |     r3 = *(r5);
    0x0000d5aa adds r1, 0x44                         |     r1 += 0x44;
    0x0000d5ac add r0, pc                            |     r0 = 0x1ac38;
    0x0000d5ae blx r3                                |     uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r1, r3);
    0x0000d5b0 ldr r3, [r4, 0x78]                    |     r3 = *((r4 + 0x78));
    0x0000d5b2 b 0xd3c2                              |     goto label_7;
                                                     | label_25:
    0x0000d5b4 blx 0x4678                            |     g_slist_length ();
    0x0000d5b8 b 0xd4f4                              |     goto label_8;
                                                     | label_21:
    0x0000d5ba ldr r2, [pc, 0xd0]                    |     
    0x0000d5bc add r2, pc                            |     r2 = 0x1ac4e;
    0x0000d5be b 0xd46c                              |     goto label_4;
                                                     | label_19:
    0x0000d5c0 ldr r2, [pc, 0xcc]                    |     
    0x0000d5c2 add r2, pc                            |     r2 = 0x1ac56;
    0x0000d5c4 b 0xd4c2                              |     goto label_2;
                                                     | label_20:
    0x0000d5c6 ldr r2, [pc, 0xcc]                    |     
    0x0000d5c8 add r2, pc                            |     r2 = 0x1ac62;
    0x0000d5ca b 0xd56a                              |     goto label_6;
    0x00016aca str r6, [r5, 0x44]                    |     *((r5 + 0x44)) = r6;
    0x00016acc movs r5, 0x20                         |     r5 = 0x20;
    0x00016ace movs r0, 0x73                         |     r0 = 0x73;
    0x00016ad0 ldr r7, [r6, 4]                       |     r7 = *((r6 + 4));
    0x00016ad2 ldr r1, [r5, 0x44]                    |     r1 = *((r5 + 0x44));
    0x00016ad4 movs r0, 0x65                         |     r0 = 0x65;
    0x00016ad6 ldr r1, [r5, 0x64]                    |     r1 = *((r5 + 0x64));
    0x00016ad8 strb r0, [r4, 0xc]                    |     *((r4 + 0xc)) = r0;
    0x00016ada str r4, [r6, 0x14]                    |     *((r6 + 0x14)) = r4;
    0x00016adc str r4, [r6, 0x54]                    |     *((r6 + 0x54)) = r4;
    0x00016ade add r0, r4                            |     r0 += r4;
    0x00016ae0 strh r5, [r0, r5]                     |     *((r0 + r5)) = r5;
    0x00016ae2 strh r4, [r2, r1]                     |     *((r2 + r1)) = r4;
    0x00016ae4 ldr r7, [r1, r5]                      |     r7 = *((r1 + r5));
    0x00016ae6 ldr r6, [pc, 0x124]                   |     r6 = *(0x16c0e);
    0x00016ae8 cmp r4, 0x47                          |     
    0x00016aea movs r0, r4                           |     r0 = r4;
    0x00016aec strb r5, [r4, 0xc]                    |     *((r4 + 0xc)) = r5;
    0x00016aee ldr r7, [r0, 0x74]                    |     r7 = *((r0 + 0x74));
    0x00016af0 movs r0, 0x74                         |     r0 = 0x74;
    0x00016af2 str r3, [r4, 0x14]                    |     *((r4 + 0x14)) = r3;
    0x00016af4 ldr r4, [r5, 0x44]                    |     r4 = *((r5 + 0x44));
    0x00016af6 str r2, [r4, 0x14]                    |     *((r4 + 0x14)) = r2;
    0x00016af8 ldr r3, [r4, 0x34]                    |     r3 = *((r4 + 0x34));
    0x00016afa str r0, [r4, 0x60]                    |     *((r4 + 0x60)) = r0;
    0x00016afc ldr r2, [r6, 0x74]                    |     r2 = *(0x16c82);
    0x00016afe movs r0, 0x6d                         |     r0 = 0x6d;
    0x00016b00 ldr r3, [r4, 0x74]                    |     r3 = *((r4 + 0x74));
    0x00016b02 ldr r5, [r5, 0x54]                    |     r5 = *((r5 + 0x54));
    0x00016b04 ldr r1, [r4, 0x64]                    |     r1 = *((r4 + 0x64));
    0x00016b06 movs r0, 0x64                         |     r0 = 0x64;
    0x00016b08 strb r5, [r4, 0xc]                    |     *((r4 + 0xc)) = r5;
    0x00016b0a strb r0, [r4, 0x1c]                   |     *((r4 + 0x1c)) = r0;
    0x00016b0c ldr r0, [r5, 0x14]                    |     r0 = *((r5 + 0x14));
    0x00016b0e str r4, [r5, 0x54]                    |     *((r5 + 0x54)) = r4;
    0x00016b10 ldr r0, [r4, 0x10]                    |     r0 = *((r4 + 0x10));
    0x00016b12 movs r0, 0x6e                         |     r0 = 0x6e;
    0x00016b14 strb r3, [r6, 0x11]                   |     *((r6 + 0x11)) = r3;
    0x00016b16 strb r1, [r4, 0x11]                   |     *((r4 + 0x11)) = r1;
    0x00016b18 movs r0, 0x65                         |     r0 = 0x65;
    0x00016b1a cmp r4, r8                            |     
    0x00016b1c strb r3, [r2, r1]                     |     *((r2 + r1)) = r3;
    0x00016b1e ldr r7, [pc, 0x148]                   |     r7 = *(0x16c6a);
    0x00016b20 cmp r1, fp                            |     
    0x00016b22 cmp r4, 0x44                          |     
    0x00016b24 movs r0, r4                           |     r0 = r4;
    0x00016b26 movs r0, r0                           |     
    0x00016b28 str r1, [r4, 0x34]                    |     *((r4 + 0x34)) = r1;
    0x00016b2a ldr r4, [r6, 0x14]                    |     r4 = *(0x16c22);
    0x00016b2c ldr r7, [r5, 0x64]                    |     r7 = *((r5 + 0x64));
    0x00016b2e ldr r7, [r3, 0x14]                    |     r7 = *((r3 + 0x14));
    0x00016b30 strb r6, [r5, 0xd]                    |     *((r5 + 0xd)) = r6;
    0x00016b32 str r4, [r6, 0x14]                    |     *((r6 + 0x14)) = r4;
    0x00016b34 str r6, [r5, 0x34]                    |     *((r5 + 0x34)) = r6;
    0x00016b36 cmp r6, 0x65                          |     
    0x00016b38 subs r2, 0x63                         |     r2 -= 0x63;
    0x00016b3a adds r7, 0x34                         |     r7 += 0x34;
    0x00016b3c movs r0, 0x39                         |     r0 = 0x39;
    0x00016b3e movs r5, 0x5b                         |     r5 = 0x5b;
    0x00016b40 ldrb r3, [r6, r5]                     |     r3 = *((r6 + r5));
    0x00016b42 str r0, [r4, 0x70]                    |     *((r4 + 0x70)) = r0;
    0x00016b44 strb r7, [r5, 0x11]                   |     *((r5 + 0x11)) = r7;
    0x00016b46 str r0, [r4, 0x30]                    |     *((r4 + 0x30)) = r0;
    0x00016b48 ldr r1, [r4, 0x44]                    |     r1 = *(0x16c66);
    0x00016b4a str r4, [r5, 0x24]                    |     *((r5 + 0x24)) = r4;
    0x00016b4c str r1, [r4, 0x34]                    |     *((r4 + 0x34)) = r1;
    0x00016b4e movs r0, 0x6b                         |     r0 = 0x6b;
    0x00016b50 strb r6, [r4, 9]                      |     *((r4 + 9)) = r6;
    0x00016b52 ldr r7, [r5, 0x54]                    |     r7 = *((r5 + 0x54));
    0x00016b54 movs r5, 0x20                         |     r5 = 0x20;
    0x00016b56 movs r0, 0x73                         |     r0 = 0x73;
    0x00016b58 ldr r3, [r4, 0x74]                    |     r3 = *(0x16c96);
    0x00016b5a ldr r5, [r5, 0x54]                    |     r5 = *((r5 + 0x54));
    0x00016b5c ldr r1, [r4, 0x64]                    |     r1 = *(0x16c86);
    0x00016b5e movs r0, 0x64                         |     r0 = 0x64;
    0x00016b60 ldr r7, [r6, 4]                       |     r7 = *(0x16c12);
    0x00016b62 ldr r1, [r5, 0x44]                    |     r1 = *((r5 + 0x44));
    0x00016b64 movs r0, 0x65                         |     r0 = 0x65;
    0x00016b66 ldr r1, [r5, 0x64]                    |     r1 = *((r5 + 0x64));
    0x00016b68 strb r0, [r4, 0xc]                    |     *((r4 + 0xc)) = r0;
    0x00016b6a str r4, [r6, 0x14]                    |     *((r6 + 0x14)) = r4;
    0x00016b6c str r4, [r6, 0x54]                    |     *((r6 + 0x54)) = r4;
    0x00016b6e orrs r0, r4                           |     r0 |= r4;
    0x00016b70 strh r7, [r1, r1]                     |     *((r1 + r1)) = r7;
    0x00016b72 strb r2, [r2, r5]                     |     *((r2 + r5)) = r2;
    0x00016b74 strb r0, [r2, r1]                     |     *((r2 + r1)) = r0;
    0x00016b76 add r5, r8                            |     r5 += r8;
    0x00016b78 movs r0, r0                           |     
    0x00016b7a movs r0, r0                           |     
    0x00016b7c str r1, [r4, 0x34]                    |     *((r4 + 0x34)) = r1;
    0x00016b7e ldr r4, [r6, 0x14]                    |     r4 = *(0x16c22);
    0x00016b80 ldr r7, [r5, 0x64]                    |     r7 = *((r5 + 0x64));
    0x00016b82 ldr r7, [r3, 0x14]                    |     r7 = *(0x16caa);
    0x00016b84 strb r6, [r5, 0xd]                    |     *((r5 + 0xd)) = r6;
    0x00016b86 str r4, [r6, 0x14]                    |     *((r6 + 0x14)) = r4;
    0x00016b88 str r6, [r5, 0x34]                    |     *((r5 + 0x34)) = r6;
    0x00016b8a cmp r6, 0x65                          |     
    0x00016b8c subs r2, 0x63                         |     r2 -= 0x63;
    0x00016b8e subs r0, 0x34                         |     r0 -= 0x34;
    0x00016b90 movs r0, 0x35                         |     r0 = 0x35;
    0x00016b92 movs r5, 0x5b                         |     r5 = 0x5b;
    0x00016b94 ldrb r3, [r6, r5]                     |     r3 = *((r6 + r5));
    0x00016b96 subs r0, r4, r4                       |     r0 = r4 - r4;
    0x00016b98 adds r3, 0x5b                         |     r3 += 0x5b;
    0x00016b9a subs r3, 0x33                         |     r3 -= 0x33;
    0x00016b9c adds r1, 0x30                         |     r1 += 0x30;
    0x00016b9e str r5, [r5, 0x34]                    |     *((r5 + 0x34)) = r5;
    0x00016ba0 str r0, [r5, 0x14]                    |     *((r5 + 0x14)) = r0;
    0x00016ba2 str r6, [r5, 0x74]                    |     *((r5 + 0x74)) = r6;
    0x00016ba4 ldr r1, [r5, 0x64]                    |     r1 = *((r5 + 0x64));
    0x00016ba6 movs r0, 0x67                         |     r0 = 0x67;
    0x00016ba8 str r1, [r4, 0x34]                    |     *((r4 + 0x34)) = r1;
    0x00016baa ldr r4, [r6, 0x14]                    |     r4 = *(0x16c22);
    0x00016bac ldr r7, [r5, 0x64]                    |     r7 = *((r5 + 0x64));
    0x00016bae ldr r0, [r4, 0x10]                    |     r0 = *(0x16c32);
    0x00016bb0 strb r6, [r5, 0xd]                    |     *((r5 + 0xd)) = r6;
    0x00016bb2 str r4, [r6, 0x14]                    |     *((r6 + 0x14)) = r4;
    0x00016bb4 str r6, [r5, 0x34]                    |     *((r5 + 0x34)) = r6;
    0x00016bb6 movs r0, 0x65                         |     r0 = 0x65;
    0x00016bb8 movs r5, 0x5b                         |     r5 = 0x5b;
    0x00016bba ldrb r0, [r6, r5]                     |     r0 = *((r6 + r5));
    0x00016bbc strb r0, [r4, 0xc]                    |     *((r4 + 0xc)) = r0;
    0x00016bbe str r4, [r6, 0x14]                    |     *((r6 + 0x14)) = r4;
    0x00016bc0 str r4, [r6, 0x54]                    |     *((r6 + 0x54)) = r4;
    0x00016bc2 movs r5, 0x20                         |     r5 = 0x20;
    0x00016bc4 movs r0, 0x73                         |     r0 = 0x73;
    0x00016bc6 subs r6, 0x2d                         |     r6 -= 0x2d;
    0x00016bc8 movs r5, 0x20                         |     r5 = 0x20;
    0x00016bca movs r0, 0x73                         |     r0 = 0x73;
    0x00016bcc ldrh r3, [r3, r4]                     |     r3 = *((r3 + r4));
    0x00016bce adds r7, 0x33                         |     r7 += 0x33;
    0x00016bd0 adds r0, 0x3b                         |     r0 += 0x3b;
    0x00016bd2 ldr r0, [r6, 0x50]                    |     r0 = *(0x16c5e);
    0x00016bd4 movs r0, r0                           |     
    0x00016bd6 movs r0, r0                           |     
    0x00016bd8 str r1, [r4, 0x34]                    |     *((r4 + 0x34)) = r1;
    0x00016bda ldr r4, [r6, 0x14]                    |     r4 = *(0x16c22);
    0x00016bdc ldr r7, [r5, 0x64]                    |     r7 = *((r5 + 0x64));
    0x00016bde ldr r7, [r3, 0x14]                    |     r7 = *(0x16caa);
    0x00016be0 strb r6, [r5, 0xd]                    |     *((r5 + 0xd)) = r6;
    0x00016be2 str r4, [r6, 0x14]                    |     *((r6 + 0x14)) = r4;
    0x00016be4 str r6, [r5, 0x34]                    |     *((r5 + 0x34)) = r6;
    0x00016be6 cmp r6, 0x65                          |     
    0x00016be8 subs r2, 0x63                         |     r2 -= 0x63;
    0x00016bea subs r0, 0x34                         |     r0 -= 0x34;
    0x00016bec movs r0, 0x37                         |     r0 = 0x37;
    0x00016bee movs r5, 0x5b                         |     r5 = 0x5b;
    0x00016bf0 ldrb r3, [r6, r5]                     |     r3 = *((r6 + r5));
    0x00016bf2 str r0, [r4, 0x70]                    |     *((r4 + 0x70)) = r0;
    0x00016bf4 strb r7, [r5, 0x11]                   |     *((r5 + 0x11)) = r7;
    0x00016bf6 str r0, [r4, 0x30]                    |     *((r4 + 0x30)) = r0;
    0x00016bf8 ldr r1, [r4, 0x44]                    |     r1 = *(0x16c66);
    0x00016bfa str r4, [r5, 0x24]                    |     *((r5 + 0x24)) = r4;
    0x00016bfc str r1, [r4, 0x34]                    |     *((r4 + 0x34)) = r1;
    0x00016bfe movs r0, 0x6b                         |     r0 = 0x6b;
    0x00016c00 strb r6, [r4, 9]                      |     *((r4 + 9)) = r6;
    0x00016c02 ldr r7, [r5, 0x54]                    |     r7 = *((r5 + 0x54));
    0x00016c04 str r0, [r4, 0x30]                    |     *((r4 + 0x30)) = r0;
    0x00016c06 ldr r7, [r5, 0x54]                    |     r7 = *((r5 + 0x54));
    0x00016c08 str r5, [r5, 0x14]                    |     *((r5 + 0x14)) = r5;
    0x00016c0a str r6, [r5, 0x44]                    |     *((r5 + 0x44)) = r6;
    0x00016c0c movs r5, 0x20                         |     r5 = 0x20;
    0x00016c0e movs r0, 0x73                         |     r0 = 0x73;
    0x00016c10 ldr r7, [r6, 4]                       |     r7 = *(0x16c12);
    0x00016c12 ldr r1, [r5, 0x44]                    |     r1 = *((r5 + 0x44));
    0x00016c14 movs r0, 0x65                         |     r0 = 0x65;
    0x00016c16 ldr r1, [r5, 0x64]                    |     r1 = *((r5 + 0x64));
    0x00016c18 strb r0, [r4, 0xc]                    |     *((r4 + 0xc)) = r0;
    0x00016c1a str r4, [r6, 0x14]                    |     *((r6 + 0x14)) = r4;
    0x00016c1c str r4, [r6, 0x54]                    |     *((r6 + 0x54)) = r4;
    0x00016c1e ldr r1, [pc, 0x80]                    |     r1 = *(0x16ca2);
    0x00016c20 ldr r1, [pc, 0x138]                   |     r1 = *(0x16d5c);
    0x00016c22 ldr r1, [pc, 0x150]                   |     r1 = *(0x16d76);
    0x00016c24 ldr r4, [pc, 0x104]                   |     r4 = *(0x16d2c);
    0x00016c26 ldrh r1, [r1, r1]                     |     r1 = *((r1 + r1));
    0x00016c28 ldr r6, [pc, 0x124]                   |     r6 = *(0x16d50);
    0x00016c2a cmp r4, 0x47                          |     
    0x00016c2c ldr r0, [r4, 0x10]                    |     r0 = *(0x16d3c);
    0x00016c2e ldr r7, [r4, 0x64]                    |     r7 = *(0x16d90);
    0x00016c30 strb r7, [r5, 9]                      |     *((r5 + 9)) = r7;
    0x00016c32 ldr r1, [r5, 0x64]                    |     r1 = *((r5 + 0x64));
    0x00016c34 lsls r7, r4, 1                        |     r7 = r4 << 1;
    0x00016c36 movs r0, r0                           |     
    0x00016c38 str r1, [r4, 0x34]                    |     *((r4 + 0x34)) = r1;
    0x00016c3a ldr r4, [r6, 0x14]                    |     r4 = *(0x16d64);
    0x00016c3c ldr r7, [r5, 0x64]                    |     r7 = *((r5 + 0x64));
    0x00016c3e ldr r7, [r3, 0x14]                    |     r7 = *(0x16caa);
    0x00016c40 strb r6, [r5, 0xd]                    |     *((r5 + 0xd)) = r6;
    0x00016c42 str r4, [r6, 0x14]                    |     *((r6 + 0x14)) = r4;
    0x00016c44 str r6, [r5, 0x34]                    |     *((r5 + 0x34)) = r6;
    0x00016c46 cmp r6, 0x65                          |     
    0x00016c48 subs r2, 0x63                         |     r2 -= 0x63;
    0x00016c4a subs r1, 0x34                         |     r1 -= 0x34;
    0x00016c4c movs r0, 0x37                         |     r0 = 0x37;
    0x00016c4e movs r5, 0x5b                         |     r5 = 0x5b;
    0x00016c50 ldrb r3, [r6, r5]                     |     r3 = *((r6 + r5));
    0x00016c52 subs r0, r4, r4                       |     r0 = r4 - r4;
    0x00016c54 adds r3, 0x5b                         |     r3 += 0x5b;
    0x00016c56 subs r3, 0x33                         |     r3 -= 0x33;
    0x00016c58 adds r1, 0x30                         |     r1 += 0x30;
    0x00016c5a str r5, [r5, 0x34]                    |     *((r5 + 0x34)) = r5;
    0x00016c5c str r0, [r5, 0x14]                    |     *((r5 + 0x14)) = r0;
    0x00016c5e str r6, [r5, 0x74]                    |     *((r5 + 0x74)) = r6;
    0x00016c60 ldr r1, [r5, 0x64]                    |     r1 = *((r5 + 0x64));
    0x00016c62 movs r0, 0x67                         |     r0 = 0x67;
    0x00016c64 str r1, [r4, 0x34]                    |     *((r4 + 0x34)) = r1;
    0x00016c66 ldr r4, [r6, 0x14]                    |     r4 = *(0x16d64);
    0x00016c68 ldr r7, [r5, 0x64]                    |     r7 = *((r5 + 0x64));
    0x00016c6a ldr r0, [r4, 0x10]                    |     r0 = *(0x16d74);
    0x00016c6c strb r6, [r5, 0xd]                    |     *((r5 + 0xd)) = r6;
    0x00016c6e str r4, [r6, 0x14]                    |     *((r6 + 0x14)) = r4;
    0x00016c70 str r6, [r5, 0x34]                    |     *((r5 + 0x34)) = r6;
    0x00016c72 movs r0, 0x65                         |     r0 = 0x65;
    0x00016c74 movs r5, 0x5b                         |     r5 = 0x5b;
    0x00016c76 ldrb r0, [r6, r5]                     |     r0 = *((r6 + r5));
    0x00016c78 strb r0, [r4, 0xc]                    |     *((r4 + 0xc)) = r0;
    0x00016c7a str r4, [r6, 0x14]                    |     *((r6 + 0x14)) = r4;
    0x00016c7c str r4, [r6, 0x54]                    |     *((r6 + 0x54)) = r4;
    0x00016c7e movs r5, 0x20                         |     r5 = 0x20;
    0x00016c80 movs r0, 0x73                         |     r0 = 0x73;
    0x00016c82 subs r6, 0x2d                         |     r6 -= 0x2d;
    0x00016c84 movs r5, 0x20                         |     r5 = 0x20;
    0x00016c86 movs r0, 0x73                         |     r0 = 0x73;
    0x00016c88 ldrh r3, [r3, r4]                     |     r3 = *((r3 + r4));
    0x00016c8a adds r7, 0x33                         |     r7 += 0x33;
    0x00016c8c adds r0, 0x3b                         |     r0 += 0x3b;
    0x00016c8e ldr r0, [r6, 0x50]                    |     r0 = *(0x16da0);
    0x00016c90 movs r0, r0                           |     
    0x00016c92 movs r0, r0                           |     
    0x00016c94 str r1, [r4, 0x34]                    |     *((r4 + 0x34)) = r1;
    0x00016c96 ldr r4, [r6, 0x14]                    |     r4 = *(0x16d64);
    0x00016c98 ldr r7, [r5, 0x64]                    |     r7 = *((r5 + 0x64));
    0x00016c9a ldr r7, [r3, 0x14]                    |     r7 = *(0x16caa);
    0x00016c9c strb r6, [r5, 0xd]                    |     *((r5 + 0xd)) = r6;
    0x00016c9e str r4, [r6, 0x14]                    |     *((r6 + 0x14)) = r4;
    0x00016ca0 str r6, [r5, 0x34]                    |     *((r5 + 0x34)) = r6;
    0x00016ca2 cmp r6, 0x65                          |     
    0x00016ca4 subs r2, 0x63                         |     r2 -= 0x63;
    0x00016ca6 subs r1, 0x34                         |     r1 -= 0x34;
    0x00016ca8 movs r0, 0x39                         |     r0 = 0x39;
    0x00016caa movs r5, 0x5b                         |     r5 = 0x5b;
    0x00016cac ldrb r3, [r6, r5]                     |     r3 = *((r6 + r5));
    0x00016cae subs r0, r4, r4                       |     r0 = r4 - r4;
    0x00016cb0 adds r3, 0x5b                         |     r3 += 0x5b;
    0x00016cb2 subs r3, 0x33                         |     r3 -= 0x33;
    0x00016cb4 adds r1, 0x30                         |     r1 += 0x30;
    0x00016cb6 str r5, [r5, 0x34]                    |     *((r5 + 0x34)) = r5;
    0x00016cb8 str r0, [r5, 0x14]                    |     *((r5 + 0x14)) = r0;
    0x00016cba str r6, [r5, 0x74]                    |     *((r5 + 0x74)) = r6;
    0x00016cbc ldr r1, [r5, 0x64]                    |     r1 = *((r5 + 0x64));
    0x00016cbe movs r0, 0x67                         |     r0 = 0x67;
    0x00016cc0 str r1, [r4, 0x34]                    |     *((r4 + 0x34)) = r1;
    0x00016cc2 ldr r4, [r6, 0x14]                    |     r4 = *(0x16d64);
    0x00016cc4 ldr r7, [r5, 0x64]                    |     r7 = *((r5 + 0x64));
    0x00016cc6 ldr r0, [r4, 0x10]                    |     r0 = *(0x16d74);
    0x00016cc8 strb r6, [r5, 0xd]                    |     *((r5 + 0xd)) = r6;
    0x00016cca str r4, [r6, 0x14]                    |     *((r6 + 0x14)) = r4;
    0x00016ccc str r6, [r5, 0x34]                    |     *((r5 + 0x34)) = r6;
    0x00016cce movs r0, 0x65                         |     r0 = 0x65;
    0x00016cd0 movs r5, 0x5b                         |     r5 = 0x5b;
    0x00016cd2 ldrb r0, [r6, r5]                     |     r0 = *((r6 + r5));
    0x00016cd4 strb r0, [r4, 0xc]                    |     *((r4 + 0xc)) = r0;
    0x00016cd6 str r4, [r6, 0x14]                    |     *((r6 + 0x14)) = r4;
    0x00016cd8 str r4, [r6, 0x54]                    |     *((r6 + 0x54)) = r4;
    0x00016cda movs r5, 0x20                         |     r5 = 0x20;
    0x00016cdc movs r0, 0x73                         |     r0 = 0x73;
    0x00016cde subs r6, 0x2d                         |     r6 -= 0x2d;
    0x00016ce0 movs r5, 0x20                         |     r5 = 0x20;
    0x00016ce2 movs r0, 0x73                         |     r0 = 0x73;
    0x00016ce4 ldrh r3, [r3, r4]                     |     r3 = *((r3 + r4));
    0x00016ce6 adds r7, 0x33                         |     r7 += 0x33;
    0x00016ce8 adds r0, 0x3b                         |     r0 += 0x3b;
    0x00016cea ldr r0, [r6, 0x50]                    |     r0 = *(0x16da0);
    0x00016cec movs r0, r0                           |     
    0x00016cee movs r0, r0                           |     
    0x00016cf0 str r1, [r4, 0x34]                    |     *((r4 + 0x34)) = r1;
    0x00016cf2 ldr r4, [r6, 0x14]                    |     r4 = *(0x16d64);
    0x00016cf4 ldr r7, [r5, 0x64]                    |     r7 = *((r5 + 0x64));
    0x00016cf6 ldr r7, [r3, 0x14]                    |     r7 = *(0x16caa);
    0x00016cf8 strb r6, [r5, 0xd]                    |     *((r5 + 0xd)) = r6;
    0x00016cfa str r4, [r6, 0x14]                    |     *((r6 + 0x14)) = r4;
    0x00016cfc str r6, [r5, 0x34]                    |     *((r5 + 0x34)) = r6;
    0x00016cfe cmp r6, 0x65                          |     
    0x00016d00 subs r2, 0x63                         |     r2 -= 0x63;
    0x00016d02 adds r0, 0x35                         |     r0 += 0x35;
    0x00016d04 movs r0, 0x32                         |     r0 = 0x32;
    0x00016d06 movs r5, 0x5b                         |     r5 = 0x5b;
    0x00016d08 ldrb r3, [r6, r5]                     |     r3 = *((r6 + r5));
    0x00016d0a str r0, [r4, 0x70]                    |     *((r4 + 0x70)) = r0;
    0x00016d0c strb r7, [r5, 0x11]                   |     *((r5 + 0x11)) = r7;
    0x00016d0e str r0, [r4, 0x30]                    |     *((r4 + 0x30)) = r0;
    0x00016d10 ldr r1, [r4, 0x44]                    |     r1 = "action_instance.c:512 [%s] got callback from command %s while in state STOPPING, ignoring";
    0x00016d12 str r4, [r5, 0x24]                    |     *((r5 + 0x24)) = r4;
    0x00016d14 str r1, [r4, 0x34]                    |     *((r4 + 0x34)) = r1;
    0x00016d16 movs r0, 0x6b                         |     r0 = 0x6b;
    0x00016d18 strb r6, [r4, 9]                      |     *((r4 + 9)) = r6;
    0x00016d1a ldr r7, [r5, 0x54]                    |     r7 = *((r5 + 0x54));
    0x00016d1c str r0, [r4, 0x30]                    |     *((r4 + 0x30)) = r0;
    0x00016d1e ldr r7, [r5, 0x54]                    |     r7 = *((r5 + 0x54));
    0x00016d20 str r5, [r5, 0x14]                    |     *((r5 + 0x14)) = r5;
    0x00016d22 str r6, [r5, 0x44]                    |     *((r5 + 0x44)) = r6;
    0x00016d24 movs r5, 0x20                         |     r5 = 0x20;
    0x00016d26 movs r0, 0x73                         |     r0 = 0x73;
    0x00016d28 ldr r7, [r6, 4]                       |     r7 = *(0x16d54);
    0x00016d2a ldr r1, [r5, 0x44]                    |     r1 = *((r5 + 0x44));
    0x00016d2c movs r0, 0x65                         |     r0 = 0x65;
    0x00016d2e ldr r1, [r5, 0x64]                    |     r1 = *((r5 + 0x64));
    0x00016d30 strb r0, [r4, 0xc]                    |     *((r4 + 0xc)) = r0;
    0x00016d32 str r4, [r6, 0x14]                    |     *((r6 + 0x14)) = r4;
    0x00016d34 str r4, [r6, 0x54]                    |     *((r6 + 0x54)) = r4;
    0x00016d36 strh r0, [r4, r4]                     |     *((r4 + r4)) = r0;
    0x00016d38 adcs r4, r2                           |     __asm ("adcs r4, r2");
    0x00016d3a strb r2, [r2, r1]                     |     *((r2 + r1)) = r2;
    0x00016d3c ldr r6, [pc, 0x124]                   |     r6 = *(0x16e64);
    0x00016d3e cmp r4, 0x47                          |     
    0x00016d40 ldr r0, [r4, 0x10]                    |     r0 = *(0x16d74);
    0x00016d42 ldr r7, [r4, 0x64]                    |     r7 = *(0x16dc8);
    0x00016d44 strb r7, [r5, 9]                      |     *((r5 + 9)) = r7;
    0x00016d46 ldr r1, [r5, 0x64]                    |     r1 = *((r5 + 0x64));
    0x00016d48 lsls r7, r4, 1                        |     r7 = r4 << 1;
    0x00016d4a movs r0, r0                           |     
    0x00016d4c str r1, [r4, 0x34]                    |     *((r4 + 0x34)) = r1;
    0x00016d4e ldr r4, [r6, 0x14]                    |     r4 = *(0x16e78);
    0x00016d50 ldr r7, [r5, 0x64]                    |     r7 = *((r5 + 0x64));
    0x00016d52 ldr r7, [r3, 0x14]                    |     r7 = *(0x16caa);
    0x00016d54 strb r6, [r5, 0xd]                    |     *((r5 + 0xd)) = r6;
    0x00016d56 str r4, [r6, 0x14]                    |     *((r6 + 0x14)) = r4;
    0x00016d58 str r6, [r5, 0x34]                    |     *((r5 + 0x34)) = r6;
    0x00016d5a cmp r6, 0x65                          |     
    0x00016d5c subs r2, 0x63                         |     r2 -= 0x63;
    0x00016d5e adds r1, 0x35                         |     r1 += 0x35;
    0x00016d60 movs r0, 0x30                         |     r0 = 0x30;
    0x00016d62 movs r5, 0x5b                         |     r5 = 0x5b;
    0x00016d64 ldrb r3, [r6, r5]                     |     r3 = *((r6 + r5));
    0x00016d66 subs r0, r4, r4                       |     r0 = r4 - r4;
    0x00016d68 adds r3, 0x5b                         |     r3 += 0x5b;
    0x00016d6a subs r3, 0x33                         |     r3 -= 0x33;
    0x00016d6c adds r1, 0x30                         |     r1 += 0x30;
    0x00016d6e str r5, [r5, 0x34]                    |     *((r5 + 0x34)) = r5;
    0x00016d70 str r0, [r5, 0x14]                    |     *((r5 + 0x14)) = r0;
    0x00016d72 str r6, [r5, 0x74]                    |     *((r5 + 0x74)) = r6;
    0x00016d74 ldr r1, [r5, 0x64]                    |     r1 = *((r5 + 0x64));
    0x00016d76 movs r0, 0x67                         |     r0 = 0x67;
    0x00016d78 str r1, [r4, 0x34]                    |     *((r4 + 0x34)) = r1;
    0x00016d7a ldr r4, [r6, 0x14]                    |     r4 = *(0x16e78);
    0x00016d7c ldr r7, [r5, 0x64]                    |     r7 = *((r5 + 0x64));
    0x00016d7e ldr r0, [r4, 0x10]                    |     r0 = *(0x16e88);
    0x00016d80 strb r6, [r5, 0xd]                    |     *((r5 + 0xd)) = r6;
    0x00016d82 str r4, [r6, 0x14]                    |     *((r6 + 0x14)) = r4;
    0x00016d84 str r6, [r5, 0x34]                    |     *((r5 + 0x34)) = r6;
    0x00016d86 movs r0, 0x65                         |     r0 = 0x65;
    0x00016d88 movs r5, 0x5b                         |     r5 = 0x5b;
    0x00016d8a ldrb r0, [r6, r5]                     |     r0 = *((r6 + r5));
    0x00016d8c strb r0, [r4, 0xc]                    |     *((r4 + 0xc)) = r0;
    0x00016d8e str r4, [r6, 0x14]                    |     *((r6 + 0x14)) = r4;
    0x00016d90 str r4, [r6, 0x54]                    |     *((r6 + 0x54)) = r4;
    0x00016d92 movs r5, 0x20                         |     r5 = 0x20;
    0x00016d94 movs r0, 0x73                         |     r0 = 0x73;
    0x00016d96 subs r6, 0x2d                         |     r6 -= 0x2d;
    0x00016d98 movs r5, 0x20                         |     r5 = 0x20;
    0x00016d9a movs r0, 0x73                         |     r0 = 0x73;
    0x00016d9c ldrh r3, [r3, r4]                     |     r3 = *((r3 + r4));
    0x00016d9e adds r7, 0x33                         |     r7 += 0x33;
    0x00016da0 adds r0, 0x3b                         |     r0 += 0x3b;
    0x00016da2 ldr r0, [r6, 0x50]                    |     r0 = *(0x16eb4);
    0x00016da4 movs r0, r0                           |     
    0x00016da6 movs r0, r0                           |     
    0x00016da8 str r1, [r4, 0x34]                    |     *((r4 + 0x34)) = r1;
    0x00016daa ldr r4, [r6, 0x14]                    |     r4 = *(0x16e78);
    0x00016dac ldr r7, [r5, 0x64]                    |     r7 = *((r5 + 0x64));
    0x00016dae ldr r7, [r3, 0x14]                    |     r7 = *(0x16caa);
    0x00016db0 strb r6, [r5, 0xd]                    |     *((r5 + 0xd)) = r6;
    0x00016db2 str r4, [r6, 0x14]                    |     *((r6 + 0x14)) = r4;
    0x00016db4 str r6, [r5, 0x34]                    |     *((r5 + 0x34)) = r6;
    0x00016db6 cmp r6, 0x65                          |     
    0x00016db8 subs r2, 0x63                         |     r2 -= 0x63;
    0x00016dba adds r1, 0x35                         |     r1 += 0x35;
    0x00016dbc movs r0, 0x32                         |     r0 = 0x32;
    0x00016dbe movs r5, 0x5b                         |     r5 = 0x5b;
    0x00016dc0 ldrb r3, [r6, r5]                     |     r3 = *((r6 + r5));
    0x00016dc2 str r0, [r4, 0x70]                    |     *((r4 + 0x70)) = r0;
    0x00016dc4 strb r7, [r5, 0x11]                   |     *((r5 + 0x11)) = r7;
    0x00016dc6 str r0, [r4, 0x30]                    |     *((r4 + 0x30)) = r0;
    0x00016dc8 ldr r1, [r4, 0x44]                    |     r1 = "action_instance.c:535 [%s] in state CORRPUTED, ignoring callback";
    0x00016dca str r4, [r5, 0x24]                    |     *((r5 + 0x24)) = r4;
    0x00016dcc str r1, [r4, 0x34]                    |     *((r4 + 0x34)) = r1;
    0x00016dce movs r0, 0x6b                         |     r0 = 0x6b;
    0x00016dd0 strb r6, [r4, 9]                      |     *((r4 + 9)) = r6;
    0x00016dd2 ldr r7, [r5, 0x54]                    |     r7 = *((r5 + 0x54));
    0x00016dd4 str r0, [r4, 0x30]                    |     *((r4 + 0x30)) = r0;
    0x00016dd6 ldr r7, [r5, 0x54]                    |     r7 = *((r5 + 0x54));
    0x00016dd8 str r5, [r5, 0x14]                    |     *((r5 + 0x14)) = r5;
    0x00016dda str r6, [r5, 0x44]                    |     *((r5 + 0x44)) = r6;
    0x00016ddc movs r5, 0x20                         |     r5 = 0x20;
    0x00016dde movs r0, 0x73                         |     r0 = 0x73;
    0x00016de0 ldr r7, [r6, 4]                       |     r7 = *(0x16e68);
    0x00016de2 ldr r1, [r5, 0x44]                    |     r1 = *((r5 + 0x44));
    0x00016de4 movs r0, 0x65                         |     r0 = 0x65;
    0x00016de6 ldr r1, [r5, 0x64]                    |     r1 = *((r5 + 0x64));
    0x00016de8 strb r0, [r4, 0xc]                    |     *((r4 + 0xc)) = r0;
    0x00016dea str r4, [r6, 0x14]                    |     *((r6 + 0x14)) = r4;
    0x00016dec str r4, [r6, 0x54]                    |     *((r6 + 0x54)) = r4;
    0x00016dee strh r0, [r4, r4]                     |     *((r4 + r4)) = r0;
    0x00016df0 ldr r7, [pc, 0x150]                   |     r7 = *(0x16f44);
    0x00016df2 str r0, [r2, r1]                      |     *((r2 + r1)) = r0;
    0x00016df4 ldr r6, [pc, 0x124]                   |     r6 = "action_instance.c:542 [%s] \e[33changing action instance [%p] state %s -> %s \e[37";
    0x00016df6 cmp r4, 0x47                          |     
    0x00016df8 ldr r0, [r4, 0x10]                    |     r0 = *(0x16e88);
    0x00016dfa ldr r7, [r4, 0x64]                    |     r7 = *(0x16edc);
    0x00016dfc strb r7, [r5, 9]                      |     *((r5 + 9)) = r7;
    0x00016dfe ldr r1, [r5, 0x64]                    |     r1 = *((r5 + 0x64));
    0x00016e00 lsls r7, r4, 1                        |     r7 = r4 << 1;
    0x00016e02 movs r0, r0                           |     
    0x00016e04 str r1, [r4, 0x34]                    |     *((r4 + 0x34)) = r1;
    0x00016e06 ldr r4, [r6, 0x14]                    |     r4 = *(0x16f30);
    0x00016e08 ldr r7, [r5, 0x64]                    |     r7 = *((r5 + 0x64));
    0x00016e0a ldr r7, [r3, 0x14]                    |     r7 = *(0x16caa);
    0x00016e0c strb r6, [r5, 0xd]                    |     *((r5 + 0xd)) = r6;
    0x00016e0e str r4, [r6, 0x14]                    |     *((r6 + 0x14)) = r4;
    0x00016e10 str r6, [r5, 0x34]                    |     *((r5 + 0x34)) = r6;
    0x00016e12 cmp r6, 0x65                          |     
    0x00016e14 subs r2, 0x63                         |     r2 -= 0x63;
    0x00016e16 adds r1, 0x35                         |     r1 += 0x35;
    0x00016e18 movs r0, 0x39                         |     r0 = 0x39;
    0x00016e1a movs r5, 0x5b                         |     r5 = 0x5b;
    0x00016e1c ldrb r3, [r6, r5]                     |     r3 = *((r6 + r5));
    0x00016e1e subs r0, r4, r4                       |     r0 = r4 - r4;
    0x00016e20 adds r3, 0x5b                         |     r3 += 0x5b;
    0x00016e22 subs r3, 0x33                         |     r3 -= 0x33;
    0x00016e24 adds r1, 0x30                         |     r1 += 0x30;
    0x00016e26 str r5, [r5, 0x34]                    |     *((r5 + 0x34)) = r5;
    0x00016e28 str r0, [r5, 0x14]                    |     *((r5 + 0x14)) = r0;
    0x00016e2a str r6, [r5, 0x74]                    |     *((r5 + 0x74)) = r6;
    0x00016e2c ldr r1, [r5, 0x64]                    |     r1 = *((r5 + 0x64));
    0x00016e2e movs r0, 0x67                         |     r0 = 0x67;
    0x00016e30 str r1, [r4, 0x34]                    |     *((r4 + 0x34)) = r1;
    0x00016e32 ldr r4, [r6, 0x14]                    |     r4 = *(0x16f30);
    0x00016e34 ldr r7, [r5, 0x64]                    |     r7 = *((r5 + 0x64));
    0x00016e36 ldr r0, [r4, 0x10]                    |     r0 = *(0x16f40);
    0x00016e38 strb r6, [r5, 0xd]                    |     *((r5 + 0xd)) = r6;
    0x00016e3a str r4, [r6, 0x14]                    |     *((r6 + 0x14)) = r4;
    0x00016e3c str r6, [r5, 0x34]                    |     *((r5 + 0x34)) = r6;
    0x00016e3e movs r0, 0x65                         |     r0 = 0x65;
    0x00016e40 movs r5, 0x5b                         |     r5 = 0x5b;
    0x00016e42 ldrb r0, [r6, r5]                     |     r0 = *((r6 + r5));
    0x00016e44 strb r0, [r4, 0xc]                    |     *((r4 + 0xc)) = r0;
    0x00016e46 str r4, [r6, 0x14]                    |     *((r6 + 0x14)) = r4;
    0x00016e48 str r4, [r6, 0x54]                    |     *((r6 + 0x54)) = r4;
    0x00016e4a movs r5, 0x20                         |     r5 = 0x20;
    0x00016e4c movs r0, 0x73                         |     r0 = 0x73;
    0x00016e4e subs r6, 0x2d                         |     r6 -= 0x2d;
    0x00016e50 movs r5, 0x20                         |     r5 = 0x20;
    0x00016e52 movs r0, 0x73                         |     r0 = 0x73;
    0x00016e54 ldrh r3, [r3, r4]                     |     r3 = *((r3 + r4));
    0x00016e56 adds r7, 0x33                         |     r7 += 0x33;
    0x00016e58 adds r0, 0x3b                         |     r0 += 0x3b;
    0x00016e5a ldr r0, [r6, 0x50]                    |     r0 = *(0x16f6c);
    0x00016e5c movs r0, r0                           |     
    0x00016e5e movs r0, r0                           |     
    0x00016e60 str r1, [r4, 0x34]                    |     *((r4 + 0x34)) = r1;
    0x00016e62 ldr r4, [r6, 0x14]                    |     r4 = *(0x16f30);
    0x00016e64 ldr r7, [r5, 0x64]                    |     r7 = *((r5 + 0x64));
    0x00016e66 ldr r7, [r3, 0x14]                    |     r7 = *(0x16caa);
    0x00016e68 strb r6, [r5, 0xd]                    |     *((r5 + 0xd)) = r6;
    0x00016e6a str r4, [r6, 0x14]                    |     *((r6 + 0x14)) = r4;
    0x00016e6c str r6, [r5, 0x34]                    |     *((r5 + 0x34)) = r6;
    0x00016e6e cmp r6, 0x65                          |     
    0x00016e70 subs r2, 0x63                         |     r2 -= 0x63;
    0x00016e72 adds r2, 0x35                         |     r2 += 0x35;
    0x00016e74 movs r0, 0x31                         |     r0 = 0x31;
    0x00016e76 movs r5, 0x5b                         |     r5 = 0x5b;
    0x00016e78 ldrb r3, [r6, r5]                     |     r3 = *((r6 + r5));
    0x00016e7a str r0, [r4, 0x70]                    |     *((r4 + 0x70)) = r0;
    0x00016e7c strb r7, [r5, 0x11]                   |     *((r5 + 0x11)) = r7;
    0x00016e7e str r0, [r4, 0x30]                    |     *((r4 + 0x30)) = r0;
    0x00016e80 ldr r1, [r4, 0x44]                    |     r1 = imp.property_state_deserialize_internal;
    0x00016e82 str r4, [r5, 0x24]                    |     *((r5 + 0x24)) = r4;
    0x00016e84 str r1, [r4, 0x34]                    |     *((r4 + 0x34)) = r1;
    0x00016e86 movs r0, 0x6b                         |     r0 = 0x6b;
    0x00016e88 strb r6, [r4, 9]                      |     *((r4 + 9)) = r6;
    0x00016e8a ldr r7, [r5, 0x54]                    |     r7 = *((r5 + 0x54));
    0x00016e8c str r0, [r4, 0x30]                    |     *((r4 + 0x30)) = r0;
    0x00016e8e ldr r7, [r5, 0x54]                    |     r7 = *((r5 + 0x54));
    0x00016e90 str r5, [r5, 0x14]                    |     *((r5 + 0x14)) = r5;
    0x00016e92 str r6, [r5, 0x44]                    |     *((r5 + 0x44)) = r6;
    0x00016e94 movs r5, 0x20                         |     r5 = 0x20;
    0x00016e96 movs r0, 0x73                         |     r0 = 0x73;
    0x00016e98 ldr r7, [r6, 4]                       |     r7 = *(0x16f20);
    0x00016e9a ldr r1, [r5, 0x44]                    |     r1 = *((r5 + 0x44));
    0x00016e9c movs r0, 0x65                         |     r0 = 0x65;
    0x00016e9e ldr r1, [r5, 0x64]                    |     r1 = *((r5 + 0x64));
    0x00016ea0 strb r0, [r4, 0xc]                    |     *((r4 + 0xc)) = r0;
    0x00016ea2 str r4, [r6, 0x14]                    |     *((r6 + 0x14)) = r4;
    0x00016ea4 str r4, [r6, 0x54]                    |     *((r6 + 0x54)) = r4;
    0x00016ea6 asrs r0, r4                           |     r0 >>= r4;
    0x00016ea8 ldr r7, [pc, 0x108]                   |     r7 = *(0x16fb4);
    0x00016eaa strb r2, [r2, r1]                     |     *((r2 + r1)) = r2;
    0x00016eac ldr r6, [pc, 0x124]                   |     r6 = *(0x16fd4);
    0x00016eae cmp r4, 0x47                          |     
    0x00016eb0 ldr r0, [r4, 0x10]                    |     r0 = *(0x16f40);
    0x00016eb2 ldr r7, [r4, 0x64]                    |     r7 = *(0x16f94);
    0x00016eb4 strb r7, [r5, 9]                      |     *((r5 + 9)) = r7;
    0x00016eb6 ldr r1, [r5, 0x64]                    |     r1 = *((r5 + 0x64));
    0x00016eb8 lsls r7, r4, 1                        |     r7 = r4 << 1;
    0x00016eba movs r0, r0                           |     
    0x00016ebc str r1, [r4, 0x34]                    |     *((r4 + 0x34)) = r1;
    0x00016ebe ldr r4, [r6, 0x14]                    |     r4 = *(0x16fe8);
    0x00016ec0 ldr r7, [r5, 0x64]                    |     r7 = *((r5 + 0x64));
    0x00016ec2 ldr r7, [r3, 0x14]                    |     r7 = *(0x16caa);
    0x00016ec4 strb r6, [r5, 0xd]                    |     *((r5 + 0xd)) = r6;
    0x00016ec6 str r4, [r6, 0x14]                    |     *((r6 + 0x14)) = r4;
    0x00016ec8 str r6, [r5, 0x34]                    |     *((r5 + 0x34)) = r6;
    0x00016eca cmp r6, 0x65                          |     
    0x00016ecc subs r2, 0x63                         |     r2 -= 0x63;
    0x00016ece adds r3, 0x35                         |     r3 += 0x35;
    0x00016ed0 movs r0, 0x35                         |     r0 = 0x35;
    0x00016ed2 movs r5, 0x5b                         |     r5 = 0x5b;
    0x00016ed4 ldrb r3, [r6, r5]                     |     r3 = *((r6 + r5));
    0x00016ed6 ldr r0, [r4, 0x10]                    |     r0 = *(0x16ff8);
    0x00016ed8 movs r0, 0x6e                         |     r0 = 0x6e;
    0x00016eda strb r3, [r6, 0x11]                   |     *((r6 + 0x11)) = r3;
    0x00016edc strb r1, [r4, 0x11]                   |     *((r4 + 0x11)) = r1;
    0x00016ede movs r0, 0x65                         |     r0 = 0x65;
    0x00016ee0 ldr r7, [pc, 0x10c]                   |     r7 = *(0x16ff0);
    0x00016ee2 strh r2, [r2, r1]                     |     *((r2 + r1)) = r2;
    0x00016ee4 strb r0, [r2, r5]                     |     *((r2 + r5)) = r0;
    0x00016ee6 cmp r4, sl                            |     
    0x00016ee8 cmp r4, 0x44                          |     
    0x00016eea ldr r0, [r4, 0x10]                    |     r0 = *(0x16ff8);
    0x00016eec ldr r7, [r4, 0x64]                    |     r7 = *(0x1704c);
    0x00016eee strb r7, [r5, 9]                      |     *((r5 + 9)) = r7;
    0x00016ef0 ldr r1, [r5, 0x64]                    |     r1 = *((r5 + 0x64));
    0x00016ef2 movs r0, 0x67                         |     r0 = 0x67;
    0x00016ef4 str r3, [r4, 0x14]                    |     *((r4 + 0x14)) = r3;
    0x00016ef6 ldr r4, [r5, 0x44]                    |     r4 = *((r5 + 0x44));
    0x00016ef8 str r2, [r4, 0x14]                    |     *((r4 + 0x14)) = r2;
    0x00016efa ldr r3, [r4, 0x34]                    |     r3 = *(0x1701c);
    0x00016efc movs r0, r0                           |     
    0x00016efe movs r0, r0                           |     
    0x00016f00 strb r5, [r4, 0xc]                    |     *((r4 + 0xc)) = r5;
    0x00016f02 str r6, [r4, 0x14]                    |     *((r4 + 0x14)) = r6;
    0x00016f04 ldr r1, [r5, 0x44]                    |     r1 = *((r5 + 0x44));
    0x00016f06 strb r5, [r6, 9]                      |     *((r6 + 9)) = r5;
    0x00016f08 movs r0, 0x65                         |     r0 = 0x65;
    0x00016f0a strb r6, [r4, 9]                      |     *((r4 + 9)) = r6;
    0x00016f0c ldr r7, [r5, 0x54]                    |     r7 = *((r5 + 0x54));
    0x00016f0e str r0, [r4, 0x30]                    |     *((r4 + 0x30)) = r0;
    0x00016f10 ldr r7, [r5, 0x54]                    |     r7 = *((r5 + 0x54));
    0x00016f12 str r5, [r5, 0x14]                    |     *((r5 + 0x14)) = r5;
    0x00016f14 str r6, [r5, 0x44]                    |     *((r5 + 0x44)) = r6;
    0x00016f16 movs r5, 0x20                         |     r5 = 0x20;
    0x00016f18 lsls r3, r6, 1                        |     r3 = r6 << 1;
    0x00016f1a movs r0, r0                           |     
    0x00016f1c str r1, [r4, 0x34]                    |     *((r4 + 0x34)) = r1;
    0x00016f1e ldr r4, [r6, 0x14]                    |     r4 = *(0x16fe8);
    0x00016f20 ldr r7, [r5, 0x64]                    |     r7 = *((r5 + 0x64));
    0x00016f22 ldr r7, [r3, 0x14]                    |     r7 = *(0x17030);
    0x00016f24 strb r6, [r5, 0xd]                    |     *((r5 + 0xd)) = r6;
    0x00016f26 str r4, [r6, 0x14]                    |     *((r6 + 0x14)) = r4;
    0x00016f28 str r6, [r5, 0x34]                    |     *((r5 + 0x34)) = r6;
    0x00016f2a cmp r6, 0x65                          |     
    0x00016f2c subs r2, 0x63                         |     r2 -= 0x63;
    0x00016f2e adds r4, 0x35                         |     r4 += 0x35;
    0x00016f30 movs r0, 0x32                         |     r0 = 0x32;
    0x00016f32 movs r5, 0x5b                         |     r5 = 0x5b;
    0x00016f34 ldrb r3, [r6, r5]                     |     r3 = *((r6 + r5));
    0x00016f36 subs r0, r4, r4                       |     r0 = r4 - r4;
    0x00016f38 adds r3, 0x5b                         |     r3 += 0x5b;
    0x00016f3a subs r3, 0x33                         |     r3 -= 0x33;
    0x00016f3c adds r1, 0x30                         |     r1 += 0x30;
    0x00016f3e str r5, [r5, 0x34]                    |     *((r5 + 0x34)) = r5;
    0x00016f40 str r0, [r5, 0x14]                    |     *((r5 + 0x14)) = r0;
    0x00016f42 str r6, [r5, 0x74]                    |     *((r5 + 0x74)) = r6;
    0x00016f44 ldr r1, [r5, 0x64]                    |     r1 = *((r5 + 0x64));
    0x00016f46 movs r0, 0x67                         |     r0 = 0x67;
    0x00016f48 str r1, [r4, 0x34]                    |     *((r4 + 0x34)) = r1;
    0x00016f4a ldr r4, [r6, 0x14]                    |     
    0x00016f4c ldr r7, [r5, 0x64]                    |     r7 = *((r5 + 0x64));
    0x00016f4e ldr r0, [r4, 0x10]                    |     r0 = *(0x16ff8);
    0x00016f50 strb r6, [r5, 0xd]                    |     *((r5 + 0xd)) = r6;
    0x00016f52 str r4, [r6, 0x14]                    |     *((r6 + 0x14)) = r4;
    0x00016f54 str r6, [r5, 0x34]                    |     *((r5 + 0x34)) = r6;
    0x00016f56 movs r0, 0x65                         |     r0 = 0x65;
    0x00016f58 movs r5, 0x5b                         |     r5 = 0x5b;
    0x00016f5a ldrb r0, [r6, r5]                     |     r0 = *((r6 + r5));
    0x00016f5c strb r0, [r4, 0xc]                    |     *((r4 + 0xc)) = r0;
    0x00016f5e str r4, [r6, 0x14]                    |     *((r6 + 0x14)) = r4;
    0x00016f60 str r4, [r6, 0x54]                    |     *((r6 + 0x54)) = r4;
    0x00016f62 movs r5, 0x20                         |     r5 = 0x20;
    0x00016f64 movs r0, 0x73                         |     r0 = 0x73;
    0x00016f66 subs r6, 0x2d                         |     r6 -= 0x2d;
    0x00016f68 movs r5, 0x20                         |     r5 = 0x20;
    0x00016f6a movs r0, 0x73                         |     r0 = 0x73;
    0x00016f6c ldrh r3, [r3, r4]                     |     r3 = *((r3 + r4));
    0x00016f6e adds r7, 0x33                         |     r7 += 0x33;
    0x00016f70 adds r0, 0x3b                         |     r0 += 0x3b;
    0x00016f72 ldr r0, [r6, 0x50]                    |     r0 = *(0x17024);
    0x00016f74 movs r0, r0                           |     
    0x00016f76 movs r0, r0                           |     
    0x00016f78 strb r5, [r4, 0xc]                    |     *((r4 + 0xc)) = r5;
    0x00016f7a ldr r6, [r1, 0x74]                    |     r6 = *(0x16fe8);
    0x00016f7c str r0, [r4, 0x30]                    |     *((r4 + 0x30)) = r0;
    0x00016f7e ldr r1, [r4, 0x44]                    |     r1 = *(0x1702c);
    0x00016f80 str r4, [r5, 0x24]                    |     *((r5 + 0x24)) = r4;
    0x00016f82 str r1, [r4, 0x34]                    |     *((r4 + 0x34)) = r1;
    0x00016f84 movs r0, 0x6b                         |     r0 = 0x6b;
    0x00016f86 str r2, [r6, 0x54]                    |     *((r6 + 0x54)) = r2;
    0x00016f88 ldr r7, [r4, 0x14]                    |     r7 = *(0x16ffc);
    0x00016f8a strb r3, [r6, 0x11]                   |     *((r6 + 0x11)) = r3;
    0x00016f8c strb r5, [r4, 9]                      |     *((r4 + 9)) = r5;
    0x00016f8e str r5, [r4, 0x44]                    |     *((r4 + 0x44)) = r5;
    0x00016f90 str r0, [r4, 0x60]                    |     *((r4 + 0x60)) = r0;
    0x00016f92 strb r7, [r5, 9]                      |     *((r5 + 9)) = r7;
    0x00016f94 ldr r0, [r4]                          |     r0 = *(0x16fe8);
    0x00016f96 ldr r1, [r4, 0x64]                    |     r1 = *(0x1704c);
    0x00016f98 ldr r4, [r4, 0x44]                    |     r4 = *(0x1702c);
    0x00016f9a ldr r1, [r5, 0x64]                    |     r1 = *((r5 + 0x64));
    0x00016f9c movs r0, 0x67                         |     r0 = 0x67;
    0x00016f9e str r3, [r4, 0x14]                    |     *((r4 + 0x14)) = r3;
    0x00016fa0 ldr r4, [r5, 0x44]                    |     r4 = *((r5 + 0x44));
    0x00016fa2 str r2, [r4, 0x14]                    |     *((r4 + 0x14)) = r2;
    0x00016fa4 ldr r3, [r4, 0x34]                    |     r3 = *(0x17060);
    0x00016fa6 movs r0, 0x73                         |     r0 = 0x73;
    0x00016fa8 strb r6, [r4, 9]                      |     *((r4 + 9)) = r6;
    0x00016faa ldr r7, [r5, 0x54]                    |     r7 = *((r5 + 0x54));
    0x00016fac asrs r0, r4                           |     r0 >>= r4;
    0x00016fae strb r3, [r4, 0x11]                   |     *((r4 + 0x11)) = r3;
    0x00016fb0 ldr r1, [r5, 0x74]                    |     r1 = *((r5 + 0x74));
    0x00016fb2 ldr r1, [pc, 0x1b8]                   |     r1 = *(0x1716e);
    0x00016fb4 strb r6, [r5, 0xd]                    |     *((r5 + 0xd)) = r6;
    0x00016fb6 str r4, [r6, 0x14]                    |     *((r6 + 0x14)) = r4;
    0x00016fb8 str r6, [r5, 0x34]                    |     *((r5 + 0x34)) = r6;
    0x00016fba movs r0, 0x65                         |     r0 = 0x65;
    0x00016fbc str r7, [r5, 0x24]                    |     *((r5 + 0x24)) = r7;
    0x00016fbe str r2, [r5, 0x54]                    |     *((r5 + 0x54)) = r2;
    0x00016fc0 strb r3, [r4, 0x11]                   |     *((r4 + 0x11)) = r3;
    0x00016fc2 lsls r3, r6, 1                        |     r3 = r6 << 1;
    0x00016fc4 strb r5, [r4, 0xc]                    |     *((r4 + 0xc)) = r5;
    0x00016fc6 strb r5, [r0, 9]                      |     *((r0 + 9)) = r5;
    0x00016fc8 ldr r2, [r6, 0x74]                    |     r2 = *(0x1705c);
    0x00016fca movs r0, 0x72                         |     r0 = 0x72;
    0x00016fcc str r7, [r5, 0x34]                    |     *((r5 + 0x34)) = r7;
    0x00016fce strb r3, [r4, 0x15]                   |     *((r4 + 0x15)) = r3;
    0x00016fd0 strb r2, [r6, 9]                      |     *((r6 + 9)) = r2;
    0x00016fd2 str r5, [r4, 0x44]                    |     *((r4 + 0x44)) = r5;
    0x00016fd4 strb r0, [r4, 0x1c]                   |     *((r4 + 0x1c)) = r0;
    0x00016fd6 str r0, [r5, 0x54]                    |     *((r5 + 0x54)) = r0;
    0x00016fd8 movs r0, 0x6e                         |     r0 = 0x6e;
    0x00016fda ldrb r5, [r4, 1]                      |     r5 = *((r4 + 1));
    0x00016fdc str r5, [r4, 0x34]                    |     *((r4 + 0x34)) = r5;
    0x00016fde strb r5, [r6, 0x11]                   |     *((r6 + 0x11)) = r5;
    0x00016fe0 ldr r1, [r5, 0x64]                    |     r1 = *((r5 + 0x64));
    0x00016fe2 movs r0, 0x67                         |     r0 = 0x67;
    0x00016fe4 strb r7, [r5, 1]                      |     *((r5 + 1)) = r7;
    0x00016fe6 strb r5, [r4, 9]                      |     *((r4 + 9)) = r5;
    0x00016fe8 strb r1, [r4, 0x11]                   |     *((r4 + 0x11)) = r1;
    0x00016fea ldr r1, [r5, 0x74]                    |     r1 = *((r5 + 0x74));
    0x00016fec subs r2, 0x6e                         |     r2 -= 0x6e;
    0x00016fee movs r7, 0x20                         |     r7 = 0x20;
    0x00016ff0 strb r5, [r4, 0xc]                    |     *((r4 + 0xc)) = r5;
    0x00016ff2 movs r7, r4                           |     r7 = r4;
    0x00016ff4 str r1, [r4, 0x34]                    |     *((r4 + 0x34)) = r1;
    0x00016ff6 ldr r4, [r6, 0x14]                    |     r4 = *(0x16ffc);
    0x00016ff8 ldr r7, [r5, 0x64]                    |     r7 = *((r5 + 0x64));
    0x00016ffa ldr r7, [r3, 0x14]                    |     r7 = "action_instance_init";
    0x00016ffc strb r6, [r5, 0xd]                    |     *((r5 + 0xd)) = r6;
    0x00016ffe str r4, [r6, 0x14]                    |     *((r6 + 0x14)) = r4;
    0x00017000 str r6, [r5, 0x34]                    |     *((r5 + 0x34)) = r6;
    0x00017002 ldrsh r5, [r4, r5]                    |     r5 = *((r4 + r5));
    0x00017004 str r3, [r6, 0x54]                    |     *((r6 + 0x54)) = r3;
    0x00017006 ldrsh r4, [r6, r5]                    |     r4 = *((r6 + r5));
    0x00017008 strb r0, [r6, 9]                      |     *((r6 + 9)) = r0;
    0x0001700a strb r7, [r5, 1]                      |     *((r5 + 1)) = r7;
    0x0001700c strb r5, [r4, 9]                      |     *((r4 + 9)) = r5;
    0x0001700e ldrb r4, [r6, 5]                      |     r4 = *((r6 + 5));
    0x00017010 movs r0, r0                           |     
    0x00017012 movs r0, r0                           |     
    0x00017014 str r1, [r4, 0x34]                    |     *((r4 + 0x34)) = r1;
    0x00017016 ldr r4, [r6, 0x14]                    |     r4 = *(0x16ffc);
    0x00017018 ldr r7, [r5, 0x64]                    |     r7 = *((r5 + 0x64));
    0x0001701a ldr r7, [r3, 0x14]                    |     r7 = "action_instance_init";
    0x0001701c strb r6, [r5, 0xd]                    |     *((r5 + 0xd)) = r6;
    0x0001701e str r4, [r6, 0x14]                    |     *((r6 + 0x14)) = r4;
    0x00017020 str r6, [r5, 0x34]                    |     *((r5 + 0x34)) = r6;
    0x00017022 ldrsh r5, [r4, r5]                    |     r5 = *((r4 + r5));
    0x00017024 str r6, [r6, 0x14]                    |     *((r6 + 0x14)) = r6;
    0x00017026 ldr r4, [r5, 0x14]                    |     r4 = *((r5 + 0x14));
    0x00017028 str r4, [r4, 0x14]                    |     *((r4 + 0x14)) = r4;
    0x0001702a str r4, [r6, 0x54]                    |     *((r6 + 0x54)) = r4;
    0x0001702c strb r7, [r3, 0x11]                   |     *((r3 + 0x11)) = r7;
    0x0001702e ldr r1, [r5, 0x54]                    |     r1 = *((r5 + 0x54));
    0x00017030 ldr r5, [r4, 0x74]                    |     
    0x00017032 strb r5, [r6, 0x11]                   |     *((r6 + 0x11)) = r5;
    0x00017034 movs r0, r0                           |     
    0x00017036 movs r0, r0                           |     
    0x00017038 str r1, [r4, 0x34]                    |     *((r4 + 0x34)) = r1;
    0x0001703a ldr r4, [r6, 0x14]                    |     r4 = *(0x16ffc);
    0x0001703c ldr r7, [r5, 0x64]                    |     r7 = *(0x170d4);
    0x0001703e ldr r7, [r3, 0x14]                    |     r7 = "action_instance_init";
    0x00017040 strb r6, [r5, 0xd]                    |     *((r5 + 0xd)) = r6;
    0x00017042 str r4, [r6, 0x14]                    |     *((r6 + 0x14)) = r4;
    0x00017044 str r6, [r5, 0x34]                    |     *((r5 + 0x34)) = r6;
    0x00017046 ldrsh r5, [r4, r5]                    |     r5 = *((r4 + r5));
    0x00017048 ldr r6, [r4, 0x14]                    |     r6 = imp.property_state_deserialize_internal;
    0x0001704a str r6, [r5, 0x14]                    |     *((r5 + 0x14)) = r6;
    0x0001704c ldr r4, [r5, 0x14]                    |     r4 = *(0x17084);
    0x0001704e str r2, [r7, 0x54]                    |     *((r7 + 0x54)) = r2;
    0x00017050 movs r0, r0                           |     
    0x00017052 movs r0, r0                           |     
    0x00017054 str r1, [r4, 0x34]                    |     *((r4 + 0x34)) = r1;
    0x00017056 ldr r4, [r6, 0x14]                    |     r4 = *(0x17024);
    0x00017058 ldr r7, [r5, 0x64]                    |     r7 = *(0x170d4);
    0x0001705a ldr r7, [r3, 0x14]                    |     r7 = "action_instance_init";
    0x0001705c strb r6, [r5, 0xd]                    |     *((r5 + 0xd)) = r6;
    0x0001705e str r4, [r6, 0x14]                    |     *((r6 + 0x14)) = r4;
    0x00017060 str r6, [r5, 0x34]                    |     *((r5 + 0x34)) = r6;
    0x00017062 ldrsh r5, [r4, r5]                    |     r5 = *((r4 + r5));
    0x00017064 str r3, [r4, 0x14]                    |     *((r4 + 0x14)) = r3;
    0x00017066 ldr r4, [r5, 0x44]                    |     r4 = *(0x170b4);
    0x00017068 str r2, [r4, 0x14]                    |     *((r4 + 0x14)) = r2;
    0x0001706a ldr r3, [r4, 0x34]                    |     r3 = *(0x170e8);
    0x0001706c str r7, [r3, 0x14]                    |     *((r3 + 0x14)) = r7;
    0x0001706e ldrb r3, [r6, 5]                      |     r3 = *((r6 + 5));
    0x00017070 str r6, [r5, 0x34]                    |     *((r5 + 0x34)) = r6;
    0x00017072 movs r0, r0                           |     
    0x00017074 str r1, [r4, 0x34]                    |     *((r4 + 0x34)) = r1;
    0x00017076 ldr r4, [r6, 0x14]                    |     r4 = *(0x17024);
    0x00017078 ldr r7, [r5, 0x64]                    |     r7 = *(0x170d4);
    0x0001707a ldr r7, [r3, 0x14]                    |     r7 = *(0x170fc);
    0x0001707c strb r6, [r5, 0xd]                    |     *((r5 + 0xd)) = r6;
    0x0001707e str r4, [r6, 0x14]                    |     *((r6 + 0x14)) = r4;
    0x00017080 str r6, [r5, 0x34]                    |     *((r5 + 0x34)) = r6;
    0x00017082 ldrsh r5, [r4, r5]                    |     r5 = *((r4 + r5));
    0x00017084 ldr r1, [r5, 0x64]                    |     r1 = *(0x170d4);
    0x00017086 strb r1, [r5, 0x11]                   |     *((r5 + 0x11)) = r1;
    0x00017088 movs r0, r0                           |     
    0x0001708a movs r0, r0                           |     
    0x0001708c str r7, [r3, 0x14]                    |     *((r3 + 0x14)) = r7;
    0x0001708e strb r3, [r4, 0x11]                   |     *((r4 + 0x11)) = r3;
    0x00017090 ldr r1, [r5, 0x74]                    |     r1 = *(0x170e4);
    0x00017092 ldrsh r6, [r5, r5]                    |     r6 = *((r5 + r5));
    0x00017094 ldr r1, [r5, 0x64]                    |     r1 = *(0x170d4);
    0x00017096 strb r3, [r6, 0x11]                   |     *((r6 + 0x11)) = r3;
    0x00017098 ldr r1, [r4, 0x64]                    |     r1 = imp.property_state_deserialize_internal;
    0x0001709a str r3, [r4, 0x54]                    |     *((r4 + 0x54)) = r3;
    0x0001709c str r7, [r3, 0x44]                    |     *((r3 + 0x44)) = r7;
    0x0001709e strb r5, [r4, 0xd]                    |     *((r4 + 0xd)) = r5;
    0x000170a0 strb r4, [r6, 9]                      |     *((r6 + 9)) = r4;
    0x000170a2 ldrb r7, [r5, 5]                      |     r7 = *((r5 + 5));
    0x000170a4 movs r0, r0                           |     
    0x000170a6 movs r0, r0                           |     
    0x000170a8 str r7, [r3, 0x14]                    |     *((r3 + 0x14)) = r7;
    0x000170aa strb r3, [r4, 0x11]                   |     *((r4 + 0x11)) = r3;
    0x000170ac ldr r1, [r5, 0x74]                    |     r1 = *(0x170e4);
    0x000170ae ldrsh r6, [r5, r5]                    |     r6 = *((r5 + r5));
    0x000170b0 ldr r1, [r5, 0x64]                    |     r1 = *(0x170d4);
    0x000170b2 strb r3, [r6, 0x11]                   |     *((r6 + 0x11)) = r3;
    0x000170b4 ldr r1, [r4, 0x64]                    |     r1 = imp.property_state_deserialize_internal;
    0x000170b6 str r3, [r4, 0x54]                    |     *((r4 + 0x54)) = r3;
    0x000170b8 str r7, [r3, 0x14]                    |     *((r3 + 0x14)) = r7;
    0x000170ba ldr r2, [r4, 0x74]                    |     r2 = *(0x17098);
    0x000170bc strb r2, [r6, 0x11]                   |     *((r6 + 0x11)) = r2;
    0x000170be movs r0, r0                           |     
    0x000170c0 str r7, [r3, 0x14]                    |     *((r3 + 0x14)) = r7;
    0x000170c2 strb r3, [r4, 0x11]                   |     *((r4 + 0x11)) = r3;
    0x000170c4 ldr r1, [r5, 0x74]                    |     r1 = *(0x170e4);
    0x000170c6 ldrsh r6, [r5, r5]                    |     r6 = *((r5 + r5));
    0x000170c8 ldr r1, [r5, 0x64]                    |     r1 = *(0x170d4);
    0x000170ca strb r3, [r6, 0x11]                   |     *((r6 + 0x11)) = r3;
    0x000170cc ldr r1, [r4, 0x64]                    |     r1 = imp.property_state_deserialize_internal;
    0x000170ce str r3, [r4, 0x54]                    |     *((r4 + 0x54)) = r3;
    0x000170d0 strb r7, [r3, 0xd]                    |     *((r3 + 0xd)) = r7;
    0x000170d2 str r4, [r6, 0x14]                    |     *((r6 + 0x14)) = r4;
    0x000170d4 strb r2, [r6, 0x11]                   |     *((r6 + 0x11)) = r2;
    0x000170d6 movs r0, r0                           |     
    0x000170d8 str r7, [r3, 0x14]                    |     *((r3 + 0x14)) = r7;
    0x000170da strb r3, [r4, 0x11]                   |     *((r4 + 0x11)) = r3;
    0x000170dc ldr r1, [r5, 0x74]                    |     r1 = *(0x170e4);
    0x000170de ldrsh r6, [r5, r5]                    |     r6 = *((r5 + r5));
    0x000170e0 ldr r1, [r5, 0x64]                    |     r1 = *(0x170d4);
    0x000170e2 strb r3, [r6, 0x11]                   |     *((r6 + 0x11)) = r3;
    0x000170e4 ldr r1, [r4, 0x64]                    |     r1 = imp.property_state_deserialize_internal;
    0x000170e6 str r3, [r4, 0x54]                    |     *((r4 + 0x54)) = r3;
    0x000170e8 strb r7, [r3, 0x19]                   |     *((r3 + 0x19)) = r7;
    0x000170ea ldr r1, [r4, 0x44]                    |     r1 = *(0x17068);
    0x000170ec str r1, [r5, 0x44]                    |     *((r5 + 0x44)) = r1;
    0x000170ee strb r1, [r4, 0x11]                   |     *((r4 + 0x11)) = r1;
    0x000170f0 lsls r5, r4, 1                        |     r5 = r4 << 1;
    0x000170f2 movs r0, r0                           |     
    0x000170f4 str r7, [r3, 0x14]                    |     *((r3 + 0x14)) = r7;
    0x000170f6 strb r3, [r4, 0x11]                   |     *((r4 + 0x11)) = r3;
    0x000170f8 ldr r1, [r5, 0x74]                    |     r1 = *(0x170e4);
    0x000170fa ldrsh r6, [r5, r5]                    |     r6 = *((r5 + r5));
    0x000170fc ldr r1, [r5, 0x64]                    |     r1 = *(0x170d4);
    0x000170fe strb r3, [r6, 0x11]                   |     *((r6 + 0x11)) = r3;
    0x00017100 ldr r1, [r4, 0x64]                    |     r1 = imp.property_state_deserialize_internal;
    0x00017102 str r3, [r4, 0x54]                    |     *((r4 + 0x54)) = r3;
    0x00017104 strb r7, [r3, 0xd]                    |     *((r3 + 0xd)) = r7;
    0x00017106 ldr r4, [r6, 0x74]                    |     r4 = *(0x17084);
    0x00017108 lsls r0, r6, 1                        |     r0 = r6 << 1;
    0x0001710a movs r0, r0                           |     
    0x0001710c str r7, [r3, 0x14]                    |     *((r3 + 0x14)) = r7;
    0x0001710e strb r3, [r4, 0x11]                   |     *((r4 + 0x11)) = r3;
    0x00017110 ldr r1, [r5, 0x74]                    |     r1 = *(0x170e4);
    0x00017112 ldrsh r6, [r5, r5]                    |     r6 = *((r5 + r5));
    0x00017114 ldr r1, [r5, 0x64]                    |     r1 = *(0x170d4);
    0x00017116 strb r3, [r6, 0x11]                   |     *((r6 + 0x11)) = r3;
    0x00017118 ldr r1, [r4, 0x64]                    |     r1 = *(0x170e8);
    0x0001711a str r3, [r4, 0x54]                    |     *((r4 + 0x54)) = r3;
    0x0001711c ldr r7, [r3, 0x14]                    |     r7 = *(0x170fc);
    0x0001711e ldr r6, [r5, 0x14]                    |     r6 = *(0x17084);
    0x00017120 ldr r4, [r6, 0x14]                    |     r4 = *(0x17098);
    0x00017122 ldr r1, [r4, 0x44]                    |     
    0x00017124 ldrb r1, [r5, 9]                      |     r1 = *((r5 + 9));
    0x00017126 lsls r5, r4, 1                        |     r5 = r4 << 1;
    0x00017128 str r1, [r4, 0x34]                    |     *((r4 + 0x34)) = r1;
    0x0001712a ldr r4, [r6, 0x14]                    |     r4 = *(0x17098);
    0x0001712c ldr r7, [r5, 0x64]                    |     r7 = *(0x170d4);
    0x0001712e ldr r7, [r3, 0x14]                    |     r7 = *(0x170fc);
    0x00017130 strb r6, [r5, 0xd]                    |     *((r5 + 0xd)) = r6;
    0x00017132 str r4, [r6, 0x14]                    |     *((r6 + 0x14)) = r4;
    0x00017134 str r6, [r5, 0x34]                    |     *((r5 + 0x34)) = r6;
    0x00017136 ldrsh r5, [r4, r5]                    |     r5 = *((r4 + r5));
    0x00017138 str r3, [r4, 0x14]                    |     *((r4 + 0x14)) = r3;
    0x0001713a ldr r4, [r5, 0x44]                    |     r4 = *(0x170b4);
    0x0001713c str r2, [r4, 0x14]                    |     *((r4 + 0x14)) = r2;
    0x0001713e ldr r3, [r4, 0x34]                    |     r3 = *(0x170e8);
    0x00017140 movs r0, r0                           |     
    0x00017142 movs r0, r0                           |     
    0x00017144 ldr r7, [r0, 0x44]                    |     r7 = *(0x1702c);
    0x00017146 str r5, [r6, 0x54]                    |     *((r6 + 0x54)) = r5;
    0x00017148 str r1, [r0, 0x34]                    |     *((r0 + 0x34)) = r1;
    0x0001714a ldr r4, [r6, 0x14]                    |     r4 = *(0x17098);
    0x0001714c ldr r7, [r5, 0x64]                    |     r7 = *(0x170d4);
    0x0001714e ldr r1, [r1, 0x64]                    |     r1 = imp.property_state_deserialize_internal;
    0x00017150 strb r3, [r6, 0x11]                   |     *((r6 + 0x11)) = r3;
    0x00017152 ldr r1, [r4, 0x64]                    |     r1 = *(0x170fc);
    0x00017154 str r3, [r4, 0x54]                    |     *((r4 + 0x54)) = r3;
    0x00017156 movs r0, r0                           |     
    0x00017158 ldr r7, [r4, 0x44]                    |     r7 = *(0x170dc);
    0x0001715a str r5, [r6, 0x54]                    |     *((r6 + 0x54)) = r5;
    0x0001715c str r7, [r3, 0x14]                    |     *((r3 + 0x14)) = r7;
    0x0001715e strb r3, [r4, 0x11]                   |     *((r4 + 0x11)) = r3;
    0x00017160 ldr r1, [r5, 0x74]                    |     r1 = *(0x170e4);
    0x00017162 ldrsh r6, [r5, r5]                    |     r6 = *((r5 + r5));
    0x00017164 ldr r1, [r5, 0x64]                    |     r1 = *(0x170d4);
    0x00017166 strb r3, [r6, 0x11]                   |     *((r6 + 0x11)) = r3;
    0x00017168 ldr r1, [r4, 0x64]                    |     r1 = *(0x170fc);
    0x0001716a str r3, [r4, 0x54]                    |     *((r4 + 0x54)) = r3;
    0x0001716c str r6, [r5, 0x30]                    |     *((r5 + 0x30)) = r6;
    0x0001716e adds r3, 0x3a                         |     r3 += 0x3a;
    0x00017170 adds r1, 0x32                         |     r1 += 0x32;
    0x00017172 ldrh r0, [r4, r4]                     |     r0 = *((r4 + r4));
    0x00017174 strb r5, [r4, 0xc]                    |     *((r4 + 0xc)) = r5;
    0x00017176 movs r0, 0x5d                         |     r0 = 0x5d;
    0x00017178 str r1, [r4, 0x24]                    |     *((r4 + 0x24)) = r1;
    0x0001717a strb r7, [r5, 9]                      |     *((r5 + 9)) = r7;
    0x0001717c movs r0, 0x74                         |     r0 = 0x74;
    0x0001717e ldr r3, [r4, 0x74]                    |     r3 = "_action_instance_initialize";
    0x00017180 ldr r5, [r5, 0x54]                    |     r5 = *(0x170c4);
    0x00017182 ldr r1, [r4, 0x64]                    |     r1 = *(0x170fc);
    0x00017184 movs r0, 0x64                         |     r0 = 0x64;
    0x00017186 ldr r4, [r6, 0x14]                    |     r4 = *(0x17098);
    0x00017188 str r5, [r5, 0x54]                    |     *((r5 + 0x54)) = r5;
    0x0001718a movs r0, 0x64                         |     r0 = 0x64;
    0x0001718c strb r7, [r5, 0x15]                   |     *((r5 + 0x15)) = r7;
    0x0001718e movs r0, 0x74                         |     r0 = 0x74;
    0x00017190 ldr r7, [r6, 4]                       |     r7 = imp.property_state_deserialize_internal;
    0x00017192 ldr r1, [r5, 0x44]                    |     r1 = *(0x17108);
    0x00017194 movs r0, 0x65                         |     r0 = 0x65;
    0x00017196 cmp r4, r8                            |     
    0x00017198 strb r3, [r2, r1]                     |     *((r2 + r1)) = r3;
    0x0001719a ldr r7, [pc, 0x148]                   |     r7 = *(0x172e6);
    0x0001719c ldr r1, [pc, 0x164]                   |     r1 = *(0x17304);
    0x0001719e bx sb                                 |     return uint32_t (*sb)() ();
                                                     | }

[*] Function printf used 5 times actionengined