[*] Binary protection state of scheduled

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


[*] Function strcpy tear down of scheduled

    ; assembly                                                   | /* r2dec pseudo code output */
                                                                 | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/scheduled @ 0x11330 */
                                                                 | #include <stdint.h>
                                                                 |  
    ; (fcn) fcn.00011330 ()                                      | void fcn_00011330 (int16_t arg_68h, int16_t arg1, int16_t arg2, int16_t arg3, int16_t arg4) {
                                                                 |     int16_t var_0h_2;
                                                                 |     int16_t var_4h_2;
                                                                 |     int16_t var_8h;
                                                                 |     int16_t var_18h_2;
                                                                 |     int16_t var_20h;
                                                                 |     int16_t var_24h;
                                                                 |     int16_t var_28h;
                                                                 |     int16_t var_2ch;
                                                                 |     int16_t var_30h;
                                                                 |     int16_t var_34h;
                                                                 |     int16_t var_38h;
                                                                 |     int16_t var_3ch_2;
                                                                 |     int16_t var_40h;
                                                                 |     int16_t var_44h;
                                                                 |     int16_t var_48h;
                                                                 |     int16_t var_54h;
                                                                 |     int16_t var_88h;
                                                                 |     int16_t var_8ch;
                                                                 |     r0 = arg1;
                                                                 |     r1 = arg2;
                                                                 |     r2 = arg3;
                                                                 |     r3 = arg4;
    0x00011330 push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}       |     
    0x00011334 mov r7, r3                                        |     r7 = r3;
    0x00011336 vpush {d8}                                        |     __asm ("vpush {d8}");
    0x0001133a sub sp, 0x5c                                      |     
    0x0001133c mov r6, r1                                        |     r6 = r1;
    0x0001133e mov r5, r0                                        |     r5 = r0;
    0x00011340 str r2, [sp, 0x20]                                |     var_20h = r2;
    0x00011342 ldr r2, [pc, 0x3a0]                               |     
    0x00011344 ldr r3, [pc, 0x3a0]                               |     r3 = *(0x116e8);
    0x00011346 ldr.w sl, [pc, 0x3a4]                             |     sl = *(0x000116ec);
    0x0001134a add r2, pc                                        |     r2 = 0x22a34;
    0x0001134c ldr.w sb, [pc, 0x3a0]                             |     
    0x00011350 ldr r3, [r2, r3]                                  |     
    0x00011352 add sl, pc                                        |     sl += pc;
    0x00011354 add.w sl, sl, 0x5c                                |     sl += 0x5c;
    0x00011358 add sb, pc                                        |     sb = 0x22a4c;
    0x0001135a ldr r3, [r3]                                      |     r3 = *(0x22a34);
    0x0001135c str r3, [sp, 0x54]                                |     var_54h = r3;
    0x0001135e mov.w r3, 0                                       |     r3 = 0;
    0x00011362 ldr r3, [sp, 0x88]                                |     r3 = var_88h;
    0x00011364 mov r1, sl                                        |     r1 = sl;
    0x00011366 str r3, [sp, 0x24]                                |     var_24h = r3;
    0x00011368 ldrd r8, r3, [sp, 0x8c]                           |     __asm ("ldrd r8, r3, [var_8ch]");
    0x0001136c str r3, [sp, 0x28]                                |     var_28h = r3;
    0x0001136e blx 0x4558                                        |     r0 = fcn_00004558 ();
    0x00011372 mov r4, r0                                        |     r4 = r0;
    0x00011374 ldr r0, [r0, 4]                                   |     r0 = *((r0 + 4));
    0x00011376 blx 0x42b8                                        |     fcn_000042b8 ();
    0x0001137a vmov.i32 d16, 0                                   |     __asm ("vmov.i32 d16, 0");
    0x0001137e str r0, [sp, 0x2c]                                |     var_2ch = r0;
    0x00011380 vstr d16, [sp, 0x48]                              |     __asm ("vstr d16, [sp, 0x48]");
    0x00011384 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x00011386 bne.w 0x1149c                                     |         goto label_9;
                                                                 |     }
    0x0001138a ldr r1, [r4, 4]                                   |     r1 = *((r4 + 4));
    0x0001138c mov r0, r5                                        |     r0 = r5;
    0x0001138e blx 0x48bc                                        |     r0 = sprintf_chk ();
    0x00011392 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x00011394 bne.w 0x11504                                     |         goto label_10;
                                                                 |     }
    0x00011398 ldr r0, [r4, 0x18]                                |     r0 = *((r4 + 0x18));
    0x0001139a blx 0x41ac                                        |     r0 = fcn_000041ac ();
    0x0001139e cmp r0, 0x64                                      |     
    0x000113a0 mov sl, r0                                        |     sl = r0;
                                                                 |     if (r0 != 0x64) {
    0x000113a2 bne.w 0x1162a                                     |         goto label_11;
                                                                 |     }
                                                                 |     do {
    0x000113a6 movs r1, 0                                        |         r1 = 0;
    0x000113a8 ldr r0, [r4, 0x18]                                |         r0 = *((r4 + 0x18));
    0x000113aa blx 0x3f94                                        |         r0 = fcn_00003f94 ();
    0x000113ae mov fp, r0                                        |         
    0x000113b0 ldr r0, [r4, 0x18]                                |         r0 = *((r4 + 0x18));
    0x000113b2 mov sl, fp                                        |         sl = fp;
    0x000113b4 blx 0x4814                                        |         event_free ();
                                                                 |         if (r6 != 0) {
    0x000113b8 cbz r6, 0x113c0                                   |             
    0x000113ba cmp fp, r6                                        |             
    0x000113bc it ge                                             |             
                                                                 |             if (fp >= r6) {
    0x000113be movge sl, r6                                      |                 sl = r6;
                                                                 |                 goto label_12;
                                                                 |             }
                                                                 |         }
                                                                 | label_12:
    0x000113c0 ldr r3, [pc, 0x330]                               |         
    0x000113c2 ldr.w r3, [sb, r3]                                |         r3 = *((sb + r3));
    0x000113c6 str r3, [sp, 0x30]                                |         var_30h = r3;
    0x000113c8 ldr r3, [r3]                                      |         r3 = *(0x116f4);
    0x000113ca lsls r2, r3, 0x1b                                 |         r2 = r3 << 0x1b;
                                                                 |         if (r2 < r3) {
    0x000113cc bmi.w 0x115fe                                     |             goto label_13;
                                                                 |         }
                                                                 | label_3:
    0x000113d0 ldr r0, [r4, 0xc]                                 |         r0 = *((r4 + 0xc));
    0x000113d2 mov r3, r7                                        |         r3 = r7;
    0x000113d4 ldr r2, [sp, 0x20]                                |         r2 = var_20h;
    0x000113d6 movs r1, 1                                        |         r1 = 1;
    0x000113d8 blx 0x402c                                        |         r0 = fcn_0000402c ();
    0x000113dc mov r6, r0                                        |         r6 = r0;
    0x000113de cmp r0, 0                                         |         
                                                                 |         if (r0 != 0) {
    0x000113e0 bne.w 0x115c6                                     |             goto label_14;
                                                                 |         }
    0x000113e4 ldr r0, [r4, 0xc]                                 |         r0 = *((r4 + 0xc));
    0x000113e6 mov r2, sl                                        |         r2 = sl;
    0x000113e8 movs r1, 2                                        |         r1 = 2;
    0x000113ea blx 0x45ac                                        |         r0 = fcn_000045ac ();
    0x000113ee mov fp, r0                                        |         
    0x000113f0 cmp r0, 0                                         |         
                                                                 |         if (r0 != 0) {
    0x000113f2 bne.w 0x11518                                     |             goto label_15;
                                                                 |         }
    0x000113f6 add.w r1, sl, sl, lsl 2                           |         r1 = sl + (sl << 2);
    0x000113fa add.w r0, r5, 0x58                                |         r0 = r5 + 0x58;
    0x000113fe lsls r1, r1, 3                                    |         r1 <<= 3;
    0x00011400 blx 0x46bc                                        |         fcn_000046bc ();
    0x00011404 str.w r0, [r8]                                    |         __asm ("str.w r0, [r8]");
    0x00011408 ldr.w r8, [r5, 0x30]                              |         r8 = *((r5 + 0x30));
    0x0001140c ldr r3, [sp, 0x24]                                |         r3 = var_24h;
    0x0001140e cmp.w r8, 0                                       |         
                                                                 |         if (r8 != 0) {
    0x00011412 bne.w 0x1169a                                     |             goto label_16;
                                                                 |         }
    0x00011416 cmp.w sl, 0                                       |         
    0x0001141a str.w sl, [r3]                                    |         __asm ("str.w sl, [r3]");
                                                                 |         if (sl <= 0) {
    0x0001141e ble.w 0x116d0                                     |             goto label_17;
                                                                 |         }
    0x00011422 ldr r3, [pc, 0x2d4]                               |         
    0x00011424 mov sb, r0                                        |         sb = r0;
    0x00011426 ldr.w fp, [sp, 0x30]                              |         fp = var_30h;
    0x0001142a add r3, pc                                        |         r3 = 0x22b28;
    0x0001142c addw r3, r3, 0x414                                |         __asm ("addw r3, r3, 0x414");
    0x00011430 str r3, [sp, 0x44]                                |         var_44h = r3;
    0x00011432 movw r3, 0x5c29                                   |         
    0x00011436 movt r3, 0xc28f                                   |         r3 = 0xc28f5c29;
    0x0001143a str r3, [sp, 0x34]                                |         var_34h = r3;
    0x0001143c movw r3, 0x5c28                                   |         
    0x00011440 movt r3, 0x28f                                    |         r3 = 0x28f5c28;
    0x00011444 str r3, [sp, 0x38]                                |         var_38h = r3;
    0x00011446 ldr r3, [pc, 0x2b4]                               |         
    0x00011448 add r3, pc                                        |         r3 = 0x22b4a;
    0x0001144a str r3, [sp, 0x3c]                                |         var_3ch_2 = r3;
    0x0001144c ldr r3, [pc, 0x2b0]                               |         
    0x0001144e add r3, pc                                        |         r3 = 0x22b52;
    0x00011450 str r3, [sp, 0x40]                                |         var_40h = r3;
                                                                 | label_1:
    0x00011452 ldr r0, [r4, 0xc]                                 |         r0 = *((r4 + 0xc));
    0x00011454 blx 0x41ac                                        |         r0 = fcn_000041ac ();
    0x00011458 cmp r0, 0x64                                      |         
    0x0001145a mov r6, r0                                        |         r6 = r0;
                                                                 |         if (r0 == 0x64) {
    0x0001145c beq 0x11550                                       |             goto label_18;
                                                                 |         }
    0x0001145e ldr r3, [sp, 0x24]                                |         r3 = var_24h;
    0x00011460 mov fp, r8                                        |         
    0x00011462 vldr d8, [sp, 0x48]                               |         __asm ("vldr d8, [sp, 0x48]");
    0x00011466 str.w r8, [r3]                                    |         __asm ("str.w r8, [r3]");
    0x0001146a ldr r3, [sp, 0x28]                                |         r3 = var_28h;
    0x0001146c vstr d8, [r3]                                     |         __asm ("vstr d8, [r3]");
    0x00011470 ldr r3, [sp, 0x20]                                |         r3 = var_20h;
    0x00011472 orrs r3, r7                                       |         r3 |= r7;
                                                                 |         if (r3 == r7) {
    0x00011474 beq.w 0x11658                                     |             goto label_19;
                                                                 |         }
                                                                 | label_8:
    0x00011478 ldr r3, [sp, 0x24]                                |         r3 = var_24h;
    0x0001147a ldr r0, [r4, 0xc]                                 |         r0 = *((r4 + 0xc));
    0x0001147c str.w fp, [r3]                                    |         __asm ("str.w fp, [r3]");
    0x00011480 blx 0x4814                                        |         event_free ();
    0x00011484 ldr r3, [sp, 0x2c]                                |         r3 = var_2ch;
    0x00011486 cmp r3, 0                                         |         
                                                                 |         if (r3 == 0) {
    0x00011488 beq.w 0x116bc                                     |             goto label_20;
                                                                 |         }
                                                                 | label_7:
    0x0001148c ldr r1, [pc, 0x274]                               |         
    0x0001148e mov r2, r4                                        |         r2 = r4;
    0x00011490 ldr r3, [sp, 0x28]                                |         r3 = var_28h;
    0x00011492 mov r0, r5                                        |         r0 = r5;
    0x00011494 add r1, pc                                        |         r1 = 0x22b9c;
    0x00011496 vstr d8, [r3]                                     |         __asm ("vstr d8, [r3]");
    0x0001149a b 0x114d6                                         |         goto label_0;
                                                                 | label_9:
    0x0001149c ldr r0, [r4, 0x18]                                |         r0 = *((r4 + 0x18));
    0x0001149e blx 0x41ac                                        |         r0 = fcn_000041ac ();
    0x000114a2 cmp r0, 0x64                                      |         
    0x000114a4 mov sl, r0                                        |         sl = r0;
    0x000114a6 beq.w 0x113a6                                     |         
                                                                 |     } while (r0 == 0x64);
    0x000114aa ldr r3, [pc, 0x25c]                               |     
    0x000114ac movs r0, 3                                        |     r0 = 3;
    0x000114ae ldr r2, [pc, 0x25c]                               |     
    0x000114b0 movs r1, 1                                        |     r1 = 1;
    0x000114b2 str.w sl, [sp]                                    |     __asm ("str.w sl, [sp]");
    0x000114b6 add r3, pc                                        |     r3 = 0x22bc4;
    0x000114b8 addw r3, r3, 0x414                                |     __asm ("addw r3, r3, 0x414");
    0x000114bc add r2, pc                                        |     r2 = 0x22bce;
    0x000114be blx 0x457c                                        |     fcn_0000457c ();
    0x000114c2 movs r3, 1                                        |     r3 = 1;
    0x000114c4 ldr r0, [r4, 0x18]                                |     r0 = *((r4 + 0x18));
    0x000114c6 strd r3, sl, [r5, 0x30]                           |     __asm ("strd r3, sl, [r5, 0x30]");
    0x000114ca blx 0x4814                                        |     event_free ();
                                                                 | label_4:
    0x000114ce ldr r1, [pc, 0x240]                               |     
    0x000114d0 mov r2, r4                                        |     r2 = r4;
    0x000114d2 mov r0, r5                                        |     r0 = r5;
    0x000114d4 add r1, pc                                        |     r1 = 0x22bea;
                                                                 | label_0:
    0x000114d6 adds r1, 0x5c                                     |     r1 += 0x5c;
    0x000114d8 blx 0x3fa0                                        |     fcn_00003fa0 ();
    0x000114dc ldr r0, [r5, 0x30]                                |     r0 = *((r5 + 0x30));
    0x000114de clz r0, r0                                        |     r0 &= r0;
    0x000114e2 lsrs r0, r0, 5                                    |     r0 >>= 5;
                                                                 |     do {
    0x000114e4 ldr r2, [pc, 0x22c]                               |         
    0x000114e6 ldr r3, [pc, 0x200]                               |         r3 = *(0x116ea);
    0x000114e8 add r2, pc                                        |         r2 = 0x22c00;
    0x000114ea ldr r3, [r2, r3]                                  |         r3 = *(0x22c00);
    0x000114ec ldr r2, [r3]                                      |         r2 = *(0x22c00);
    0x000114ee ldr r3, [sp, 0x54]                                |         r3 = var_54h;
    0x000114f0 eors r2, r3                                       |         r2 ^= r3;
    0x000114f2 mov.w r3, 0                                       |         r3 = 0;
                                                                 |         if (r2 != r3) {
    0x000114f6 bne.w 0x116d6                                     |             goto label_21;
                                                                 |         }
    0x000114fa add sp, 0x5c                                      |         
    0x000114fc vpop {d8}                                         |         __asm ("vpop {d8}");
    0x00011500 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}        |         
                                                                 | label_10:
    0x00011504 mov r0, r5                                        |         r0 = r5;
    0x00011506 mov r2, r4                                        |         r2 = r4;
    0x00011508 mov r1, sl                                        |         r1 = sl;
    0x0001150a blx 0x3fa0                                        |         fcn_00003fa0 ();
    0x0001150e ldr r0, [r5, 0x30]                                |         r0 = *((r5 + 0x30));
    0x00011510 clz r0, r0                                        |         r0 &= r0;
    0x00011514 lsrs r0, r0, 5                                    |         r0 >>= 5;
    0x00011516 b 0x114e4                                         |         
                                                                 |     } while (1);
                                                                 | label_15:
    0x00011518 ldr r3, [pc, 0x1fc]                               |     
    0x0001151a movs r1, 1                                        |     r1 = 1;
    0x0001151c ldr r2, [pc, 0x1fc]                               |     
    0x0001151e strd sl, r0, [sp]                                 |     __asm ("strd sl, r0, [sp]");
    0x00011522 movs r0, 3                                        |     r0 = 3;
    0x00011524 add r3, pc                                        |     r3 = 0x22c40;
    0x00011526 addw r3, r3, 0x414                                |     __asm ("addw r3, r3, 0x414");
    0x0001152a add r2, pc                                        |     r2 = 0x22c4a;
    0x0001152c blx 0x457c                                        |     fcn_0000457c ();
    0x00011530 movs r3, 1                                        |     r3 = 1;
    0x00011532 ldr r0, [r4, 0xc]                                 |     r0 = *((r4 + 0xc));
    0x00011534 str r3, [r5, 0x30]                                |     *((r5 + 0x30)) = r3;
    0x00011536 str.w fp, [r5, 0x34]                              |     __asm ("str.w fp, [r5, 0x34]");
    0x0001153a blx 0x4814                                        |     event_free ();
    0x0001153e ldr r3, [sp, 0x2c]                                |     r3 = var_2ch;
    0x00011540 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00011542 beq.w 0x116b2                                     |         goto label_22;
                                                                 |     }
                                                                 | label_6:
    0x00011546 ldr r1, [pc, 0x1d8]                               |     
    0x00011548 mov r2, r4                                        |     r2 = r4;
    0x0001154a mov r0, r5                                        |     r0 = r5;
    0x0001154c add r1, pc                                        |     r1 = 0x22c72;
    0x0001154e b 0x114d6                                         |     goto label_0;
                                                                 | label_18:
    0x00011550 add r3, sp, 0x48                                  |     r3 += var_48h;
    0x00011552 ldr r2, [r4, 0xc]                                 |     r2 = *((r4 + 0xc));
    0x00011554 ldr r1, [r4, 4]                                   |     r1 = *((r4 + 4));
    0x00011556 mov r0, r5                                        |     r0 = r5;
    0x00011558 str r3, [sp]                                      |     *(sp) = r3;
    0x0001155a mov r3, sb                                        |     r3 = sb;
    0x0001155c add.w r6, r8, 1                                   |     r6 = r8 + 1;
    0x00011560 bl 0x105b8                                        |     fcn_000105b8 (r0, r1, r2, r3, r4);
    0x00011564 cmp.w r8, 0                                       |     
                                                                 |     if (r8 == 0) {
    0x00011568 beq 0x115a2                                       |         goto label_23;
                                                                 |     }
    0x0001156a ldr r3, [sp, 0x34]                                |     r3 = var_34h;
    0x0001156c ldr r2, [sp, 0x38]                                |     r2 = var_38h;
    0x0001156e mul r3, r3, r6                                    |     r3 *= r6;
    0x00011572 cmp.w r2, r3, ror 2                               |     
                                                                 |     if (r2 >= r3) {
    0x00011576 bhs 0x115a2                                       |         goto label_23;
                                                                 |     }
    0x00011578 add.w r3, sl, -1                                  |     r3 = sl + -1;
    0x0001157c cmp r3, r8                                        |     
    0x0001157e beq 0x115a2                                       |     
                                                                 |     while (r3 >= r3) {
                                                                 | label_2:
    0x00011580 ldr r2, [pc, 0x1a0]                               |         
    0x00011582 add r2, pc                                        |         r2 = 0x22caa;
    0x00011584 ldr.w r3, [r2, 0x8c]                              |         r3 = *(0x22d36);
                                                                 |         if (r3 != 0) {
    0x00011588 cbz r3, 0x11594                                   |             
    0x0001158a ldr.w r2, [r2, 0xb4]                              |             r2 = *((r2 + 0xb4));
    0x0001158e mov r1, sb                                        |             r1 = sb;
    0x00011590 mov r0, r5                                        |             r0 = r5;
    0x00011592 blx r3                                            |             uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r1, r2);
                                                                 |         }
    0x00011594 cmp sl, r6                                        |         
    0x00011596 add.w sb, sb, 0x28                                |         sb += 0x28;
                                                                 |         if (sl == r6) {
    0x0001159a beq.w 0x116da                                     |             goto label_24;
                                                                 |         }
    0x0001159e mov r8, r6                                        |         r8 = r6;
    0x000115a0 b 0x11452                                         |         goto label_1;
                                                                 | label_23:
    0x000115a2 ldr.w r3, [fp]                                    |         r3 = *(fp);
    0x000115a6 lsls r3, r3, 0x1b                                 |         r3 <<= 0x1b;
    0x000115a8 bpl 0x11580                                       |         
                                                                 |     }
    0x000115aa ldr.w r3, [sb, 8]                                 |     r3 = *((sb + 8));
    0x000115ae movs r1, 0x20                                     |     r1 = 0x20;
    0x000115b0 movs r0, 0                                        |     r0 = 0;
    0x000115b2 str r6, [sp, 4]                                   |     var_4h_2 = r6;
    0x000115b4 strd sl, r3, [sp, 8]                              |     __asm ("strd sl, r3, [sp, 8]");
    0x000115b8 ldr r3, [sp, 0x44]                                |     r3 = var_44h;
    0x000115ba str r3, [sp]                                      |     *(sp) = r3;
    0x000115bc ldrd r3, r2, [sp, 0x3c]                           |     __asm ("ldrd r3, r2, [var_3ch_2]");
    0x000115c0 blx 0x4130                                        |     event_producer_prepare_event ();
    0x000115c4 b 0x11580                                         |     goto label_2;
                                                                 | label_14:
    0x000115c6 ldr r3, [sp, 0x20]                                |     r3 = var_20h;
    0x000115c8 movs r1, 1                                        |     r1 = 1;
    0x000115ca ldr r2, [pc, 0x15c]                               |     
    0x000115cc strd r7, r0, [sp, 4]                              |     __asm ("strd r7, r0, [sp, 4]");
    0x000115d0 movs r0, 3                                        |     r0 = 3;
    0x000115d2 str r3, [sp]                                      |     *(sp) = r3;
    0x000115d4 ldr r3, [pc, 0x154]                               |     
    0x000115d6 add r2, pc                                        |     r2 = 0x22d04;
    0x000115d8 add r3, pc                                        |     r3 = 0x22d08;
    0x000115da addw r3, r3, 0x414                                |     __asm ("addw r3, r3, 0x414");
    0x000115de blx 0x457c                                        |     fcn_0000457c ();
    0x000115e2 movs r3, 1                                        |     r3 = 1;
    0x000115e4 ldr r0, [r4, 0xc]                                 |     r0 = *((r4 + 0xc));
    0x000115e6 str r3, [r5, 0x30]                                |     *((r5 + 0x30)) = r3;
    0x000115e8 str r6, [r5, 0x34]                                |     *((r5 + 0x34)) = r6;
    0x000115ea blx 0x4814                                        |     event_free ();
    0x000115ee ldr r3, [sp, 0x2c]                                |     r3 = var_2ch;
    0x000115f0 cmp r3, 0                                         |     
    0x000115f2 beq 0x11686                                       |     
                                                                 |     while (1) {
    0x000115f4 ldr r1, [pc, 0x138]                               |         
    0x000115f6 mov r2, r4                                        |         r2 = r4;
    0x000115f8 mov r0, r5                                        |         r0 = r5;
    0x000115fa add r1, pc                                        |         r1 = 0x22d2e;
    0x000115fc b 0x114d6                                         |         goto label_0;
                                                                 | label_13:
    0x000115fe ldr r3, [sp, 0x20]                                |         r3 = var_20h;
    0x00011600 movs r1, 0x20                                     |         r1 = 0x20;
    0x00011602 ldr r2, [pc, 0x130]                               |         
    0x00011604 movs r0, 0                                        |         r0 = 0;
    0x00011606 str r6, [sp, 0x18]                                |         var_18h_2 = r6;
    0x00011608 strd r3, r7, [sp, 0x10]                           |         __asm ("strd r3, r7, [sp, 0x10]");
    0x0001160c ldr r3, [pc, 0x128]                               |         
    0x0001160e add r2, pc                                        |         r2 = 0x22d48;
    0x00011610 str.w fp, [sp, 4]                                 |         __asm ("str.w fp, [var_4h_2]");
    0x00011614 str.w sl, [sp, 8]                                 |         __asm ("str.w sl, [var_8h]");
    0x00011618 add r3, pc                                        |         r3 = 0x22d54;
    0x0001161a addw r3, r3, 0x414                                |         __asm ("addw r3, r3, 0x414");
    0x0001161e str r3, [sp]                                      |         *(sp) = r3;
    0x00011620 ldr r3, [pc, 0x118]                               |         
    0x00011622 add r3, pc                                        |         r3 = 0x22d62;
    0x00011624 blx 0x4130                                        |         event_producer_prepare_event ();
    0x00011628 b 0x113d0                                         |         goto label_3;
                                                                 | label_11:
    0x0001162a ldr r3, [pc, 0x114]                               |         
    0x0001162c movs r1, 1                                        |         r1 = 1;
    0x0001162e ldr r2, [pc, 0x114]                               |         
    0x00011630 movs r0, 3                                        |         r0 = 3;
    0x00011632 str.w sl, [sp]                                    |         __asm ("str.w sl, [sp]");
    0x00011636 add r3, pc                                        |         r3 = 0x22d7c;
    0x00011638 add r2, pc                                        |         r2 = 0x22d82;
    0x0001163a addw r3, r3, 0x414                                |         __asm ("addw r3, r3, 0x414");
    0x0001163e blx 0x457c                                        |         fcn_0000457c ();
    0x00011642 movs r3, 1                                        |         r3 = 1;
    0x00011644 ldr r0, [r4, 0x18]                                |         r0 = *((r4 + 0x18));
    0x00011646 strd r3, sl, [r5, 0x30]                           |         __asm ("strd r3, sl, [r5, 0x30]");
    0x0001164a blx 0x4814                                        |         event_free ();
    0x0001164e ldr r1, [r4, 4]                                   |         r1 = *((r4 + 4));
    0x00011650 mov r0, r5                                        |         r0 = r5;
    0x00011652 blx 0x41c4                                        |         fcn_000041c4 ();
    0x00011656 b 0x114ce                                         |         goto label_4;
                                                                 | label_19:
    0x00011658 ldr r3, [pc, 0xec]                                |         
    0x0001165a movs r0, 3                                        |         r0 = 3;
    0x0001165c ldr r2, [pc, 0xec]                                |         
    0x0001165e movs r1, 1                                        |         r1 = 1;
    0x00011660 add r3, pc                                        |         r3 = 0x22dac;
    0x00011662 addw r3, r3, 0x414                                |         __asm ("addw r3, r3, 0x414");
    0x00011666 add r2, pc                                        |         r2 = 0x22db6;
    0x00011668 blx 0x457c                                        |         fcn_0000457c ();
    0x0001166c movs r3, 1                                        |         r3 = 1;
    0x0001166e ldr r0, [r4, 0xc]                                 |         r0 = *((r4 + 0xc));
    0x00011670 str r3, [r5, 0x30]                                |         *((r5 + 0x30)) = r3;
    0x00011672 str r6, [r5, 0x34]                                |         *((r5 + 0x34)) = r6;
    0x00011674 blx 0x4814                                        |         event_free ();
    0x00011678 ldr r3, [sp, 0x2c]                                |         r3 = var_2ch;
                                                                 |         if (r3 == 0) {
    0x0001167a cbz r3, 0x11690                                   |             goto label_25;
                                                                 |         }
                                                                 | label_5:
    0x0001167c ldr r1, [pc, 0xd0]                                |         
    0x0001167e mov r2, r4                                        |         r2 = r4;
    0x00011680 mov r0, r5                                        |         r0 = r5;
    0x00011682 add r1, pc                                        |         r1 = 0x22dd6;
    0x00011684 b 0x114d6                                         |         goto label_0;
    0x00011686 ldr r1, [r4, 4]                                   |         r1 = *((r4 + 4));
    0x00011688 mov r0, r5                                        |         r0 = r5;
    0x0001168a blx 0x41c4                                        |         fcn_000041c4 ();
    0x0001168e b 0x115f4                                         |         
                                                                 |     }
                                                                 | label_25:
    0x00011690 ldr r1, [r4, 4]                                   |     r1 = *((r4 + 4));
    0x00011692 mov r0, r5                                        |     r0 = r5;
    0x00011694 blx 0x41c4                                        |     fcn_000041c4 ();
    0x00011698 b 0x1167c                                         |     goto label_5;
                                                                 | label_16:
    0x0001169a str.w fp, [r3]                                    |     __asm ("str.w fp, [r3]");
    0x0001169e ldr r0, [r4, 0xc]                                 |     r0 = *((r4 + 0xc));
    0x000116a0 blx 0x4814                                        |     event_free ();
    0x000116a4 ldr r3, [sp, 0x2c]                                |     r3 = var_2ch;
    0x000116a6 cbz r3, 0x116c6                                   |     
                                                                 |     while (1) {
    0x000116a8 ldr r1, [pc, 0xa8]                                |         
    0x000116aa mov r2, r4                                        |         r2 = r4;
    0x000116ac mov r0, r5                                        |         r0 = r5;
    0x000116ae add r1, pc                                        |         r1 = 0x22e06;
    0x000116b0 b 0x114d6                                         |         goto label_0;
                                                                 | label_22:
    0x000116b2 ldr r1, [r4, 4]                                   |         r1 = *((r4 + 4));
    0x000116b4 mov r0, r5                                        |         r0 = r5;
    0x000116b6 blx 0x41c4                                        |         fcn_000041c4 ();
    0x000116ba b 0x11546                                         |         goto label_6;
                                                                 | label_20:
    0x000116bc ldr r1, [r4, 4]                                   |         r1 = *((r4 + 4));
    0x000116be mov r0, r5                                        |         r0 = r5;
    0x000116c0 blx 0x45f8                                        |         g_mutex_unlock ();
    0x000116c4 b 0x1148c                                         |         goto label_7;
    0x000116c6 ldr r1, [r4, 4]                                   |         r1 = *((r4 + 4));
    0x000116c8 mov r0, r5                                        |         r0 = r5;
    0x000116ca blx 0x41c4                                        |         fcn_000041c4 ();
    0x000116ce b 0x116a8                                         |         
                                                                 |     }
                                                                 | label_17:
    0x000116d0 vmov.i32 d8, 0                                    |     __asm ("vmov.i32 d8, 0");
    0x000116d4 b 0x11478                                         |     goto label_8;
                                                                 | label_21:
    0x000116d6 blx 0x4594                                        |     fcn_00004594 ();
                                                                 | label_24:
    0x000116da vldr d8, [sp, 0x48]                               |     __asm ("vldr d8, [sp, 0x48]");
    0x000116de mov fp, sl                                        |     
    0x000116e0 b 0x11478                                         |     goto label_8;
                                                                 | }
    ; assembly                                                   | /* r2dec pseudo code output */
                                                                 | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/scheduled @ 0x12e20 */
                                                                 | #include <stdint.h>
                                                                 |  
    ; (fcn) fcn.00012e20 ()                                      | void fcn_00012e20 (int16_t arg_0h, int16_t arg_88h, int16_t arg_8ch, int16_t arg1, int16_t arg2, int16_t arg3, int16_t arg4) {
                                                                 |     int16_t var_0h;
                                                                 |     int16_t var_4h;
                                                                 |     int16_t var_8h;
                                                                 |     int32_t var_8h_2;
                                                                 |     int32_t var_10h;
                                                                 |     int32_t var_10h_2;
                                                                 |     int16_t var_18h;
                                                                 |     int16_t var_20h;
                                                                 |     int16_t var_24h;
                                                                 |     int16_t var_28h;
                                                                 |     int16_t var_2ch;
                                                                 |     int16_t var_30h;
                                                                 |     int16_t var_34h;
                                                                 |     int16_t var_38h;
                                                                 |     int16_t var_3ch;
                                                                 |     int16_t var_40h;
                                                                 |     int16_t var_44h;
                                                                 |     int16_t var_48h;
                                                                 |     int16_t var_54h;
                                                                 |     r0 = arg1;
                                                                 |     r1 = arg2;
                                                                 |     r2 = arg3;
                                                                 |     r3 = arg4;
    0x00012e20 push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}       |     
    0x00012e24 mov r7, r3                                        |     r7 = r3;
    0x00012e26 vpush {d8}                                        |     __asm ("vpush {d8}");
    0x00012e2a sub sp, 0x5c                                      |     
    0x00012e2c mov r6, r1                                        |     r6 = r1;
    0x00012e2e mov r5, r0                                        |     r5 = r0;
    0x00012e30 str r2, [sp, 0x20]                                |     var_20h = r2;
    0x00012e32 ldr r2, [pc, 0x3a0]                               |     
    0x00012e34 ldr r3, [pc, 0x3a0]                               |     r3 = *(0x131d8);
    0x00012e36 ldr.w sl, [pc, 0x3a4]                             |     
    0x00012e3a add r2, pc                                        |     r2 = 0x26014;
    0x00012e3c ldr.w sb, [pc, 0x3a0]                             |     
    0x00012e40 ldr r3, [r2, r3]                                  |     
    0x00012e42 add sl, pc                                        |     
    0x00012e44 add.w sl, sl, 0xb8                                |     sl = 0x260dc;
    0x00012e48 add sb, pc                                        |     sb = 0x2602c;
    0x00012e4a ldr r3, [r3]                                      |     r3 = *(0x26014);
    0x00012e4c str r3, [sp, 0x54]                                |     var_54h = r3;
    0x00012e4e mov.w r3, 0                                       |     r3 = 0;
    0x00012e52 ldr r3, [sp, 0x88]                                |     r3 = *(arg_88h);
    0x00012e54 mov r1, sl                                        |     r1 = sl;
    0x00012e56 str r3, [sp, 0x24]                                |     var_24h = r3;
    0x00012e58 ldrd r8, r3, [sp, 0x8c]                           |     __asm ("ldrd r8, r3, [arg_8ch]");
    0x00012e5c str r3, [sp, 0x28]                                |     var_28h = r3;
    0x00012e5e blx 0x4558                                        |     r0 = fcn_00004558 ();
    0x00012e62 mov r4, r0                                        |     r4 = r0;
    0x00012e64 ldr r0, [r0, 4]                                   |     r0 = *((r0 + 4));
    0x00012e66 blx 0x42b8                                        |     fcn_000042b8 ();
    0x00012e6a vmov.i32 d16, 0                                   |     __asm ("vmov.i32 d16, 0");
    0x00012e6e str r0, [sp, 0x2c]                                |     var_2ch = r0;
    0x00012e70 vstr d16, [sp, 0x48]                              |     __asm ("vstr d16, [sp, 0x48]");
    0x00012e74 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x00012e76 bne.w 0x12f8c                                     |         goto label_9;
                                                                 |     }
    0x00012e7a ldr r1, [r4, 4]                                   |     r1 = *((r4 + 4));
    0x00012e7c mov r0, r5                                        |     r0 = r5;
    0x00012e7e blx 0x48bc                                        |     r0 = sprintf_chk ();
    0x00012e82 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x00012e84 bne.w 0x12ff4                                     |         goto label_10;
                                                                 |     }
    0x00012e88 ldr r0, [r4, 0x18]                                |     r0 = *((r4 + 0x18));
    0x00012e8a blx 0x41ac                                        |     r0 = fcn_000041ac ();
    0x00012e8e cmp r0, 0x64                                      |     
    0x00012e90 mov sl, r0                                        |     sl = r0;
                                                                 |     if (r0 != 0x64) {
    0x00012e92 bne.w 0x1311a                                     |         goto label_11;
                                                                 |     }
                                                                 |     do {
    0x00012e96 movs r1, 0                                        |         r1 = 0;
    0x00012e98 ldr r0, [r4, 0x18]                                |         r0 = *((r4 + 0x18));
    0x00012e9a blx 0x3f94                                        |         r0 = fcn_00003f94 ();
    0x00012e9e mov fp, r0                                        |         
    0x00012ea0 ldr r0, [r4, 0x18]                                |         r0 = *((r4 + 0x18));
    0x00012ea2 mov sl, fp                                        |         sl = fp;
    0x00012ea4 blx 0x4814                                        |         event_free ();
                                                                 |         if (r6 != 0) {
    0x00012ea8 cbz r6, 0x12eb0                                   |             
    0x00012eaa cmp fp, r6                                        |             
    0x00012eac it ge                                             |             
                                                                 |             if (fp >= r6) {
    0x00012eae movge sl, r6                                      |                 sl = r6;
                                                                 |                 goto label_12;
                                                                 |             }
                                                                 |         }
                                                                 | label_12:
    0x00012eb0 ldr r3, [pc, 0x330]                               |         
    0x00012eb2 ldr.w r3, [sb, r3]                                |         r3 = *((sb + r3));
    0x00012eb6 str r3, [sp, 0x30]                                |         var_30h = r3;
    0x00012eb8 ldr r3, [r3]                                      |         r3 = *(0x131e4);
    0x00012eba lsls r2, r3, 0x1b                                 |         r2 = r3 << 0x1b;
                                                                 |         if (r2 < r3) {
    0x00012ebc bmi.w 0x130ee                                     |             goto label_13;
                                                                 |         }
                                                                 | label_3:
    0x00012ec0 ldr r0, [r4, 0xc]                                 |         r0 = *((r4 + 0xc));
    0x00012ec2 mov r3, r7                                        |         r3 = r7;
    0x00012ec4 ldr r2, [sp, 0x20]                                |         r2 = var_20h;
    0x00012ec6 movs r1, 1                                        |         r1 = 1;
    0x00012ec8 blx 0x402c                                        |         r0 = fcn_0000402c ();
    0x00012ecc mov r6, r0                                        |         r6 = r0;
    0x00012ece cmp r0, 0                                         |         
                                                                 |         if (r0 != 0) {
    0x00012ed0 bne.w 0x130b6                                     |             goto label_14;
                                                                 |         }
    0x00012ed4 ldr r0, [r4, 0xc]                                 |         r0 = *((r4 + 0xc));
    0x00012ed6 mov r2, sl                                        |         r2 = sl;
    0x00012ed8 movs r1, 2                                        |         r1 = 2;
    0x00012eda blx 0x45ac                                        |         r0 = fcn_000045ac ();
    0x00012ede mov fp, r0                                        |         
    0x00012ee0 cmp r0, 0                                         |         
                                                                 |         if (r0 != 0) {
    0x00012ee2 bne.w 0x13008                                     |             goto label_15;
                                                                 |         }
    0x00012ee6 add.w r1, sl, sl, lsl 1                           |         r1 = sl + (sl << 1);
    0x00012eea add.w r0, r5, 0x58                                |         r0 = r5 + 0x58;
    0x00012eee lsls r1, r1, 2                                    |         r1 <<= 2;
    0x00012ef0 blx 0x46bc                                        |         fcn_000046bc ();
    0x00012ef4 str.w r0, [r8]                                    |         __asm ("str.w r0, [r8]");
    0x00012ef8 ldr.w r8, [r5, 0x30]                              |         r8 = *((r5 + 0x30));
    0x00012efc ldr r3, [sp, 0x24]                                |         r3 = var_24h;
    0x00012efe cmp.w r8, 0                                       |         
                                                                 |         if (r8 != 0) {
    0x00012f02 bne.w 0x1318a                                     |             goto label_16;
                                                                 |         }
    0x00012f06 cmp.w sl, 0                                       |         
    0x00012f0a str.w sl, [r3]                                    |         __asm ("str.w sl, [r3]");
                                                                 |         if (sl <= 0) {
    0x00012f0e ble.w 0x131c0                                     |             goto label_17;
                                                                 |         }
    0x00012f12 ldr r3, [pc, 0x2d4]                               |         
    0x00012f14 mov sb, r0                                        |         sb = r0;
    0x00012f16 ldr.w fp, [sp, 0x30]                              |         fp = var_30h;
    0x00012f1a add r3, pc                                        |         
    0x00012f1c add.w r3, r3, 0x778                               |         r3 = 0x26880;
    0x00012f20 str r3, [sp, 0x44]                                |         var_44h = r3;
    0x00012f22 movw r3, 0x5c29                                   |         
    0x00012f26 movt r3, 0xc28f                                   |         r3 = 0xc28f5c29;
    0x00012f2a str r3, [sp, 0x34]                                |         var_34h = r3;
    0x00012f2c movw r3, 0x5c28                                   |         
    0x00012f30 movt r3, 0x28f                                    |         r3 = 0x28f5c28;
    0x00012f34 str r3, [sp, 0x38]                                |         var_38h = r3;
    0x00012f36 ldr r3, [pc, 0x2b4]                               |         
    0x00012f38 add r3, pc                                        |         r3 = 0x2612a;
    0x00012f3a str r3, [sp, 0x3c]                                |         var_3ch = r3;
    0x00012f3c ldr r3, [pc, 0x2b0]                               |         
    0x00012f3e add r3, pc                                        |         r3 = 0x26132;
    0x00012f40 str r3, [sp, 0x40]                                |         var_40h = r3;
                                                                 | label_1:
    0x00012f42 ldr r0, [r4, 0xc]                                 |         r0 = *((r4 + 0xc));
    0x00012f44 blx 0x41ac                                        |         r0 = fcn_000041ac ();
    0x00012f48 cmp r0, 0x64                                      |         
    0x00012f4a mov r6, r0                                        |         r6 = r0;
                                                                 |         if (r0 == 0x64) {
    0x00012f4c beq 0x13040                                       |             goto label_18;
                                                                 |         }
    0x00012f4e ldr r3, [sp, 0x24]                                |         r3 = var_24h;
    0x00012f50 mov fp, r8                                        |         
    0x00012f52 vldr d8, [sp, 0x48]                               |         __asm ("vldr d8, [sp, 0x48]");
    0x00012f56 str.w r8, [r3]                                    |         __asm ("str.w r8, [r3]");
    0x00012f5a ldr r3, [sp, 0x28]                                |         r3 = var_28h;
    0x00012f5c vstr d8, [r3]                                     |         __asm ("vstr d8, [r3]");
    0x00012f60 ldr r3, [sp, 0x20]                                |         r3 = var_20h;
    0x00012f62 orrs r3, r7                                       |         r3 |= r7;
                                                                 |         if (r3 == r7) {
    0x00012f64 beq.w 0x13148                                     |             goto label_19;
                                                                 |         }
                                                                 | label_8:
    0x00012f68 ldr r3, [sp, 0x24]                                |         r3 = var_24h;
    0x00012f6a ldr r0, [r4, 0xc]                                 |         r0 = *((r4 + 0xc));
    0x00012f6c str.w fp, [r3]                                    |         __asm ("str.w fp, [r3]");
    0x00012f70 blx 0x4814                                        |         event_free ();
    0x00012f74 ldr r3, [sp, 0x2c]                                |         r3 = var_2ch;
    0x00012f76 cmp r3, 0                                         |         
                                                                 |         if (r3 == 0) {
    0x00012f78 beq.w 0x131ac                                     |             goto label_20;
                                                                 |         }
                                                                 | label_7:
    0x00012f7c ldr r1, [pc, 0x274]                               |         
    0x00012f7e mov r2, r4                                        |         r2 = r4;
    0x00012f80 ldr r3, [sp, 0x28]                                |         r3 = var_28h;
    0x00012f82 mov r0, r5                                        |         r0 = r5;
    0x00012f84 add r1, pc                                        |         r1 = 0x2617c;
    0x00012f86 vstr d8, [r3]                                     |         __asm ("vstr d8, [r3]");
    0x00012f8a b 0x12fc6                                         |         goto label_0;
                                                                 | label_9:
    0x00012f8c ldr r0, [r4, 0x18]                                |         r0 = *((r4 + 0x18));
    0x00012f8e blx 0x41ac                                        |         r0 = fcn_000041ac ();
    0x00012f92 cmp r0, 0x64                                      |         
    0x00012f94 mov sl, r0                                        |         sl = r0;
    0x00012f96 beq.w 0x12e96                                     |         
                                                                 |     } while (r0 == 0x64);
    0x00012f9a ldr r3, [pc, 0x25c]                               |     
    0x00012f9c movs r0, 3                                        |     r0 = 3;
    0x00012f9e ldr r2, [pc, 0x25c]                               |     
    0x00012fa0 movs r1, 1                                        |     r1 = 1;
    0x00012fa2 str.w sl, [sp]                                    |     __asm ("str.w sl, [sp]");
    0x00012fa6 add r3, pc                                        |     
    0x00012fa8 add.w r3, r3, 0x778                               |     r3 = 0x2691c;
    0x00012fac add r2, pc                                        |     r2 = 0x261ae;
    0x00012fae blx 0x457c                                        |     fcn_0000457c ();
    0x00012fb2 movs r3, 1                                        |     r3 = 1;
    0x00012fb4 ldr r0, [r4, 0x18]                                |     r0 = *((r4 + 0x18));
    0x00012fb6 strd r3, sl, [r5, 0x30]                           |     __asm ("strd r3, sl, [r5, 0x30]");
    0x00012fba blx 0x4814                                        |     event_free ();
                                                                 | label_4:
    0x00012fbe ldr r1, [pc, 0x240]                               |     
    0x00012fc0 mov r2, r4                                        |     r2 = r4;
    0x00012fc2 mov r0, r5                                        |     r0 = r5;
    0x00012fc4 add r1, pc                                        |     r1 = 0x261ca;
                                                                 | label_0:
    0x00012fc6 adds r1, 0xb8                                     |     r1 += 0xb8;
    0x00012fc8 blx 0x3fa0                                        |     fcn_00003fa0 ();
    0x00012fcc ldr r0, [r5, 0x30]                                |     r0 = *((r5 + 0x30));
    0x00012fce clz r0, r0                                        |     r0 &= r0;
    0x00012fd2 lsrs r0, r0, 5                                    |     r0 >>= 5;
                                                                 |     do {
    0x00012fd4 ldr r2, [pc, 0x22c]                               |         
    0x00012fd6 ldr r3, [pc, 0x200]                               |         r3 = *(0x131da);
    0x00012fd8 add r2, pc                                        |         r2 = 0x261e0;
    0x00012fda ldr r3, [r2, r3]                                  |         r3 = *(0x261e0);
    0x00012fdc ldr r2, [r3]                                      |         r2 = *(0x261e0);
    0x00012fde ldr r3, [sp, 0x54]                                |         r3 = var_54h;
    0x00012fe0 eors r2, r3                                       |         r2 ^= r3;
    0x00012fe2 mov.w r3, 0                                       |         r3 = 0;
                                                                 |         if (r2 != r3) {
    0x00012fe6 bne.w 0x131c6                                     |             goto label_21;
                                                                 |         }
    0x00012fea add sp, 0x5c                                      |         
    0x00012fec vpop {d8}                                         |         __asm ("vpop {d8}");
    0x00012ff0 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}        |         
                                                                 | label_10:
    0x00012ff4 mov r0, r5                                        |         r0 = r5;
    0x00012ff6 mov r2, r4                                        |         r2 = r4;
    0x00012ff8 mov r1, sl                                        |         r1 = sl;
    0x00012ffa blx 0x3fa0                                        |         fcn_00003fa0 ();
    0x00012ffe ldr r0, [r5, 0x30]                                |         r0 = *((r5 + 0x30));
    0x00013000 clz r0, r0                                        |         r0 &= r0;
    0x00013004 lsrs r0, r0, 5                                    |         r0 >>= 5;
    0x00013006 b 0x12fd4                                         |         
                                                                 |     } while (1);
                                                                 | label_15:
    0x00013008 ldr r3, [pc, 0x1fc]                               |     
    0x0001300a movs r1, 1                                        |     r1 = 1;
    0x0001300c ldr r2, [pc, 0x1fc]                               |     
    0x0001300e strd sl, r0, [sp]                                 |     __asm ("strd sl, r0, [sp]");
    0x00013012 movs r0, 3                                        |     r0 = 3;
    0x00013014 add r3, pc                                        |     
    0x00013016 add.w r3, r3, 0x778                               |     r3 = 0x26998;
    0x0001301a add r2, pc                                        |     r2 = 0x2622a;
    0x0001301c blx 0x457c                                        |     fcn_0000457c ();
    0x00013020 movs r3, 1                                        |     r3 = 1;
    0x00013022 ldr r0, [r4, 0xc]                                 |     r0 = *((r4 + 0xc));
    0x00013024 str r3, [r5, 0x30]                                |     *((r5 + 0x30)) = r3;
    0x00013026 str.w fp, [r5, 0x34]                              |     __asm ("str.w fp, [r5, 0x34]");
    0x0001302a blx 0x4814                                        |     event_free ();
    0x0001302e ldr r3, [sp, 0x2c]                                |     r3 = var_2ch;
    0x00013030 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00013032 beq.w 0x131a2                                     |         goto label_22;
                                                                 |     }
                                                                 | label_6:
    0x00013036 ldr r1, [pc, 0x1d8]                               |     
    0x00013038 mov r2, r4                                        |     r2 = r4;
    0x0001303a mov r0, r5                                        |     r0 = r5;
    0x0001303c add r1, pc                                        |     r1 = 0x26252;
    0x0001303e b 0x12fc6                                         |     goto label_0;
                                                                 | label_18:
    0x00013040 add r3, sp, 0x48                                  |     r3 += var_48h;
    0x00013042 ldr r2, [r4, 0xc]                                 |     r2 = *((r4 + 0xc));
    0x00013044 ldr r1, [r4, 4]                                   |     r1 = *((r4 + 4));
    0x00013046 mov r0, r5                                        |     r0 = r5;
    0x00013048 str r3, [sp]                                      |     *(sp) = r3;
    0x0001304a mov r3, sb                                        |     r3 = sb;
    0x0001304c add.w r6, r8, 1                                   |     r6 = r8 + 1;
    0x00013050 bl 0x12830                                        |     fcn_00012830 (r0, r1, r2, r3);
    0x00013054 cmp.w r8, 0                                       |     
                                                                 |     if (r8 == 0) {
    0x00013058 beq 0x13092                                       |         goto label_23;
                                                                 |     }
    0x0001305a ldr r3, [sp, 0x34]                                |     r3 = var_34h;
    0x0001305c ldr r2, [sp, 0x38]                                |     r2 = var_38h;
    0x0001305e mul r3, r3, r6                                    |     r3 *= r6;
    0x00013062 cmp.w r2, r3, ror 2                               |     
                                                                 |     if (r2 >= r3) {
    0x00013066 bhs 0x13092                                       |         goto label_23;
                                                                 |     }
    0x00013068 add.w r3, sl, -1                                  |     r3 = sl + -1;
    0x0001306c cmp r3, r8                                        |     
    0x0001306e beq 0x13092                                       |     
                                                                 |     while (r3 >= r3) {
                                                                 | label_2:
    0x00013070 ldr r2, [pc, 0x1a0]                               |         
    0x00013072 add r2, pc                                        |         r2 = 0x2628a;
    0x00013074 ldr.w r3, [r2, 0xe8]                              |         r3 = *(0x26372);
                                                                 |         if (r3 != 0) {
    0x00013078 cbz r3, 0x13084                                   |             
    0x0001307a ldr.w r2, [r2, 0x110]                             |             r2 = *((r2 + 0x110));
    0x0001307e mov r1, sb                                        |             r1 = sb;
    0x00013080 mov r0, r5                                        |             r0 = r5;
    0x00013082 blx r3                                            |             uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r1, r2);
                                                                 |         }
    0x00013084 cmp sl, r6                                        |         
    0x00013086 add.w sb, sb, 0xc                                 |         sb += 0xc;
                                                                 |         if (sl == r6) {
    0x0001308a beq.w 0x131ca                                     |             goto label_24;
                                                                 |         }
    0x0001308e mov r8, r6                                        |         r8 = r6;
    0x00013090 b 0x12f42                                         |         goto label_1;
                                                                 | label_23:
    0x00013092 ldr.w r3, [fp]                                    |         r3 = *(fp);
    0x00013096 lsls r3, r3, 0x1b                                 |         r3 <<= 0x1b;
    0x00013098 bpl 0x13070                                       |         
                                                                 |     }
    0x0001309a ldr.w r3, [sb]                                    |     r3 = *(sb);
    0x0001309e movs r1, 0x20                                     |     r1 = 0x20;
    0x000130a0 movs r0, 0                                        |     r0 = 0;
    0x000130a2 str r6, [sp, 4]                                   |     var_4h = r6;
    0x000130a4 strd sl, r3, [sp, 8]                              |     __asm ("strd sl, r3, [var_8h]");
    0x000130a8 ldr r3, [sp, 0x44]                                |     r3 = var_44h;
    0x000130aa str r3, [sp]                                      |     *(sp) = r3;
    0x000130ac ldrd r3, r2, [sp, 0x3c]                           |     __asm ("ldrd r3, r2, [var_3ch]");
    0x000130b0 blx 0x4130                                        |     event_producer_prepare_event ();
    0x000130b4 b 0x13070                                         |     goto label_2;
                                                                 | label_14:
    0x000130b6 ldr r3, [sp, 0x20]                                |     r3 = var_20h;
    0x000130b8 movs r1, 1                                        |     r1 = 1;
    0x000130ba ldr r2, [pc, 0x15c]                               |     
    0x000130bc strd r7, r0, [sp, 4]                              |     __asm ("strd r7, r0, [var_4h]");
    0x000130c0 movs r0, 3                                        |     r0 = 3;
    0x000130c2 str r3, [sp]                                      |     *(sp) = r3;
    0x000130c4 ldr r3, [pc, 0x154]                               |     
    0x000130c6 add r2, pc                                        |     r2 = 0x262e4;
    0x000130c8 add r3, pc                                        |     
    0x000130ca add.w r3, r3, 0x778                               |     r3 = 0x26a60;
    0x000130ce blx 0x457c                                        |     fcn_0000457c ();
    0x000130d2 movs r3, 1                                        |     r3 = 1;
    0x000130d4 ldr r0, [r4, 0xc]                                 |     r0 = *((r4 + 0xc));
    0x000130d6 str r3, [r5, 0x30]                                |     *((r5 + 0x30)) = r3;
    0x000130d8 str r6, [r5, 0x34]                                |     *((r5 + 0x34)) = r6;
    0x000130da blx 0x4814                                        |     event_free ();
    0x000130de ldr r3, [sp, 0x2c]                                |     r3 = var_2ch;
    0x000130e0 cmp r3, 0                                         |     
    0x000130e2 beq 0x13176                                       |     
                                                                 |     while (1) {
    0x000130e4 ldr r1, [pc, 0x138]                               |         
    0x000130e6 mov r2, r4                                        |         r2 = r4;
    0x000130e8 mov r0, r5                                        |         r0 = r5;
    0x000130ea add r1, pc                                        |         r1 = 0x2630e;
    0x000130ec b 0x12fc6                                         |         goto label_0;
                                                                 | label_13:
    0x000130ee ldr r3, [sp, 0x20]                                |         r3 = var_20h;
    0x000130f0 movs r1, 0x20                                     |         r1 = 0x20;
    0x000130f2 ldr r2, [pc, 0x130]                               |         
    0x000130f4 movs r0, 0                                        |         r0 = 0;
    0x000130f6 str r6, [sp, 0x18]                                |         var_18h = r6;
    0x000130f8 strd r3, r7, [sp, 0x10]                           |         __asm ("strd r3, r7, [var_10h]");
    0x000130fc ldr r3, [pc, 0x128]                               |         
    0x000130fe add r2, pc                                        |         r2 = 0x26328;
    0x00013100 str.w fp, [sp, 4]                                 |         __asm ("str.w fp, [var_4h]");
    0x00013104 str.w sl, [sp, 8]                                 |         __asm ("str.w sl, [var_8h]");
    0x00013108 add r3, pc                                        |         
    0x0001310a add.w r3, r3, 0x778                               |         r3 = 0x26aac;
    0x0001310e str r3, [sp]                                      |         *(sp) = r3;
    0x00013110 ldr r3, [pc, 0x118]                               |         
    0x00013112 add r3, pc                                        |         r3 = 0x26342;
    0x00013114 blx 0x4130                                        |         event_producer_prepare_event ();
    0x00013118 b 0x12ec0                                         |         goto label_3;
                                                                 | label_11:
    0x0001311a ldr r3, [pc, 0x114]                               |         
    0x0001311c movs r1, 1                                        |         r1 = 1;
    0x0001311e ldr r2, [pc, 0x114]                               |         
    0x00013120 movs r0, 3                                        |         r0 = 3;
    0x00013122 str.w sl, [sp]                                    |         __asm ("str.w sl, [sp]");
    0x00013126 add r3, pc                                        |         
    0x00013128 add r2, pc                                        |         r2 = 0x26362;
    0x0001312a add.w r3, r3, 0x778                               |         r3 = 0x26ad4;
    0x0001312e blx 0x457c                                        |         fcn_0000457c ();
    0x00013132 movs r3, 1                                        |         r3 = 1;
    0x00013134 ldr r0, [r4, 0x18]                                |         r0 = *((r4 + 0x18));
    0x00013136 strd r3, sl, [r5, 0x30]                           |         __asm ("strd r3, sl, [r5, 0x30]");
    0x0001313a blx 0x4814                                        |         event_free ();
    0x0001313e ldr r1, [r4, 4]                                   |         r1 = *((r4 + 4));
    0x00013140 mov r0, r5                                        |         r0 = r5;
    0x00013142 blx 0x41c4                                        |         fcn_000041c4 ();
    0x00013146 b 0x12fbe                                         |         goto label_4;
                                                                 | label_19:
    0x00013148 ldr r3, [pc, 0xec]                                |         
    0x0001314a movs r0, 3                                        |         r0 = 3;
    0x0001314c ldr r2, [pc, 0xec]                                |         
    0x0001314e movs r1, 1                                        |         r1 = 1;
    0x00013150 add r3, pc                                        |         
    0x00013152 add.w r3, r3, 0x778                               |         r3 = 0x26b04;
    0x00013156 add r2, pc                                        |         r2 = 0x26396;
    0x00013158 blx 0x457c                                        |         fcn_0000457c ();
    0x0001315c movs r3, 1                                        |         r3 = 1;
    0x0001315e ldr r0, [r4, 0xc]                                 |         r0 = *((r4 + 0xc));
    0x00013160 str r3, [r5, 0x30]                                |         *((r5 + 0x30)) = r3;
    0x00013162 str r6, [r5, 0x34]                                |         *((r5 + 0x34)) = r6;
    0x00013164 blx 0x4814                                        |         event_free ();
    0x00013168 ldr r3, [sp, 0x2c]                                |         r3 = var_2ch;
                                                                 |         if (r3 == 0) {
    0x0001316a cbz r3, 0x13180                                   |             goto label_25;
                                                                 |         }
                                                                 | label_5:
    0x0001316c ldr r1, [pc, 0xd0]                                |         
    0x0001316e mov r2, r4                                        |         r2 = r4;
    0x00013170 mov r0, r5                                        |         r0 = r5;
    0x00013172 add r1, pc                                        |         r1 = 0x263b6;
    0x00013174 b 0x12fc6                                         |         goto label_0;
    0x00013176 ldr r1, [r4, 4]                                   |         r1 = *((r4 + 4));
    0x00013178 mov r0, r5                                        |         r0 = r5;
    0x0001317a blx 0x41c4                                        |         fcn_000041c4 ();
    0x0001317e b 0x130e4                                         |         
                                                                 |     }
                                                                 | label_25:
    0x00013180 ldr r1, [r4, 4]                                   |     r1 = *((r4 + 4));
    0x00013182 mov r0, r5                                        |     r0 = r5;
    0x00013184 blx 0x41c4                                        |     fcn_000041c4 ();
    0x00013188 b 0x1316c                                         |     goto label_5;
                                                                 | label_16:
    0x0001318a str.w fp, [r3]                                    |     __asm ("str.w fp, [r3]");
    0x0001318e ldr r0, [r4, 0xc]                                 |     r0 = *((r4 + 0xc));
    0x00013190 blx 0x4814                                        |     event_free ();
    0x00013194 ldr r3, [sp, 0x2c]                                |     r3 = var_2ch;
    0x00013196 cbz r3, 0x131b6                                   |     
                                                                 |     while (1) {
    0x00013198 ldr r1, [pc, 0xa8]                                |         
    0x0001319a mov r2, r4                                        |         r2 = r4;
    0x0001319c mov r0, r5                                        |         r0 = r5;
    0x0001319e add r1, pc                                        |         r1 = 0x263e6;
    0x000131a0 b 0x12fc6                                         |         goto label_0;
                                                                 | label_22:
    0x000131a2 ldr r1, [r4, 4]                                   |         r1 = *((r4 + 4));
    0x000131a4 mov r0, r5                                        |         r0 = r5;
    0x000131a6 blx 0x41c4                                        |         fcn_000041c4 ();
    0x000131aa b 0x13036                                         |         goto label_6;
                                                                 | label_20:
    0x000131ac ldr r1, [r4, 4]                                   |         r1 = *((r4 + 4));
    0x000131ae mov r0, r5                                        |         r0 = r5;
    0x000131b0 blx 0x45f8                                        |         g_mutex_unlock ();
    0x000131b4 b 0x12f7c                                         |         goto label_7;
    0x000131b6 ldr r1, [r4, 4]                                   |         r1 = *((r4 + 4));
    0x000131b8 mov r0, r5                                        |         r0 = r5;
    0x000131ba blx 0x41c4                                        |         fcn_000041c4 ();
    0x000131be b 0x13198                                         |         
                                                                 |     }
                                                                 | label_17:
    0x000131c0 vmov.i32 d8, 0                                    |     __asm ("vmov.i32 d8, 0");
    0x000131c4 b 0x12f68                                         |     goto label_8;
                                                                 | label_21:
    0x000131c6 blx 0x4594                                        |     fcn_00004594 ();
                                                                 | label_24:
    0x000131ca vldr d8, [sp, 0x48]                               |     __asm ("vldr d8, [sp, 0x48]");
    0x000131ce mov fp, sl                                        |     
    0x000131d0 b 0x12f68                                         |     goto label_8;
                                                                 | }

[*] Function strcpy used 1 times scheduled