[*] Binary protection state of libgstrtp.so

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


[*] Function printf tear down of libgstrtp.so

    ; assembly                                                   | /* r2dec pseudo code output */
                                                                 | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/gstreamer-1.0/libgstrtp.so @ 0x194b4 */
                                                                 | #include <stdint.h>
                                                                 |  
    ; (fcn) fcn.000194b4 ()                                      | void fcn_000194b4 (int16_t arg_0h, int16_t arg_4h, int16_t arg1, int16_t arg2) {
                                                                 |     int16_t var_0h;
                                                                 |     int16_t var_4h;
                                                                 |     int16_t var_8h;
                                                                 |     int16_t var_ch;
                                                                 |     int16_t var_10h;
                                                                 |     int16_t var_1ch;
                                                                 |     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_4ch;
                                                                 |     int16_t var_50h;
                                                                 |     int16_t var_54h;
                                                                 |     int16_t var_58h;
                                                                 |     int16_t var_5ch;
                                                                 |     int16_t var_60h;
                                                                 |     int16_t var_64h;
                                                                 |     int16_t var_68h;
                                                                 |     int16_t var_6ch;
                                                                 |     int16_t var_74h;
                                                                 |     int16_t var_b0h;
                                                                 |     int16_t var_bch;
                                                                 |     r0 = arg1;
                                                                 |     r1 = arg2;
                                                                 |     if (? < ?) {
    0x000194b4 strbhs pc, [r0, 0x8df]                            |         *((r0 + 0x8df)) = pc;
                                                                 |     }
    0x000194b8 ldr.w r3, [pc, 0x5c0]                             |     
    0x000194bc push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}       |     
    0x000194c0 mov sb, r0                                        |     sb = r0;
    0x000194c2 add r2, pc                                        |     r2 += pc;
    0x000194c4 vpush {d8}                                        |     __asm ("vpush {d8}");
    0x000194c8 sub sp, 0xc4                                      |     
    0x000194ca ldr r3, [r2, r3]                                  |     r3 = *((r2 + r3));
    0x000194cc ldr r3, [r3]                                      |     r3 = *(0x19a7c);
    0x000194ce str r3, [sp, 0xbc]                                |     var_bch = r3;
    0x000194d0 mov.w r3, 0                                       |     r3 = 0;
    0x000194d4 ldr.w r3, [r0, 0x1a4]                             |     r3 = *(arg_0hx1a4);
    0x000194d6 adds r1, 0xa4                                     |     r1 += 0xa4;
    0x000194d8 str r1, [sp, 0x24]                                |     var_24h = r1;
    0x000194da cmp r3, 2                                         |     
    0x000194dc str r3, [sp, 0x4c]                                |     var_4ch = r3;
                                                                 |     if (r3 == 2) {
    0x000194de beq.w 0x19724                                     |         goto label_18;
                                                                 |     }
    0x000194e2 ldr r3, [sp, 0x24]                                |     r3 = var_24h;
    0x000194e4 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x000194e6 beq.w 0x199a2                                     |         goto label_19;
                                                                 |     }
    0x000194ea ldr r3, [r3, 0xc]                                 |     r3 = *((r3 + 0xc));
    0x000194ec lsls r2, r3, 0x12                                 |     r2 = r3 << 0x12;
    0x000194ee itt mi                                            |     
                                                                 |     if (r2 >= r3) {
    0x000194f0 movmi r2, 0                                       |         r2 = 0;
                                                                 |     }
                                                                 |     if (r2 >= r3) {
    0x000194f2 strmi r2, [sp, 0x54]                              |         var_54h = r2;
                                                                 |     }
                                                                 |     if (r2 >= r3) {
    0x000194f4 bpl.w 0x19a0e                                     |         goto label_20;
                                                                 |     }
                                                                 | label_14:
    0x000194f8 ands r2, r3, 0x40                                 |     r2 = r3 & 0x40;
    0x000194fc it eq                                             |     
                                                                 |     if (r2 != r3) {
    0x000194fe streq r2, [sp, 0x58]                              |         var_58h = r2;
                                                                 |     }
                                                                 |     if (r2 != r3) {
    0x00019500 bne.w 0x199fa                                     |         goto label_21;
                                                                 |     }
                                                                 | label_13:
    0x00019504 ubfx r3, r3, 9, 1                                 |     r3 = (r3 >> 9) & ((1 << 1) - 1);
    0x00019508 ldr.w r0, [sb, 0x1bc]                             |     r0 = *((sb + 0x1bc));
    0x0001950c ldr r1, [sp, 0x24]                                |     r1 = var_24h;
    0x0001950e str r3, [sp, 0x48]                                |     var_48h = r3;
    0x00019510 blx 0x69e4                                        |     fcn_000069e4 ();
    0x00019512 invalid                                           |     
                                                                 | label_9:
    0x00019514 ldr.w r0, [sb, 0x1bc]                             |     r0 = *((sb + 0x1bc));
    0x00019518 movs r1, 0                                        |     r1 = 0;
    0x0001951a blx 0x6b2c                                        |     fcn_00006b2c ();
    0x0001951e str r0, [sp, 0x30]                                |     var_30h = r0;
    0x00019520 str r1, [sp, 0x50]                                |     var_50h = r1;
    0x00019522 movs r1, 0                                        |     r1 = 0;
    0x00019524 ldr.w r0, [sb, 0x1bc]                             |     r0 = *((sb + 0x1bc));
    0x00019526 lsls r4, r7, 6                                    |     r4 = r7 << 6;
    0x00019528 blx 0x6510                                        |     fcn_00006510 ();
    0x0001952c strd r0, r1, [sp, 0x28]                           |     __asm ("strd r0, r1, [var_28h]");
    0x00019530 ldr.w r0, [sb, 0x1bc]                             |     r0 = *((sb + 0x1bc));
    0x00019534 blx 0x64c4                                        |     r0 = g_list_free ();
    0x00019538 mov r5, r0                                        |     r5 = r0;
    0x0001953a cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0001953c beq.w 0x19782                                     |         goto label_22;
                                                                 |     }
    0x00019540 mov r1, r0                                        |     r1 = r0;
    0x00019542 ldr.w r0, [sb, 0x1bc]                             |     r0 = *((sb + 0x1bc));
    0x00019546 blx 0x70f8                                        |     fcn_000070f8 ();
    0x0001954a mov r1, r5                                        |     r1 = r5;
    0x0001954c mov r4, r0                                        |     r4 = r0;
    0x0001954e bl 0x18020                                        |     r0 = fcn_00018020 (r0, r1);
    0x00019552 subs r5, r5, r0                                   |     r5 -= r0;
    0x00019554 ldr.w fp, [sb, 0x1b0]                             |     fp = *((sb + 0x1b0));
    0x00019558 cmp r5, 4                                         |     
    0x0001955a add r4, r0                                        |     r4 += r0;
    0x0001955c str r0, [sp, 0x5c]                                |     var_5ch = r0;
                                                                 |     if (r5 < 4) {
    0x0001955e bls.w 0x19880                                     |         goto label_10;
                                                                 |     }
    0x00019562 ldr.w r3, [pc, 0x51c]                             |     
    0x00019566 add r3, pc                                        |     r3 = 0x32fec;
    0x00019568 str r3, [sp, 0x38]                                |     var_38h = r3;
    0x0001956a ldr.w r3, [pc, 0x518]                             |     
    0x0001956e add r3, pc                                        |     r3 = 0x32ff8;
    0x00019570 str r3, [sp, 0x44]                                |     var_44h = r3;
    0x00019572 movs r3, 0                                        |     r3 = 0;
    0x00019574 str r3, [sp, 0x40]                                |     var_40h = r3;
    0x00019576 ldr r3, [sp, 0x24]                                |     r3 = var_24h;
    0x00019578 subs r3, 0                                        |     
    0x0001957a it ne                                             |     
                                                                 |     if (r3 == 0) {
    0x0001957c movne r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0001957e strd fp, r3, [sp, 0x1c]                           |     __asm ("strd fp, r3, [var_1ch]");
    0x00019582 b 0x1959a                                         |     
                                                                 |     while (r2 == 0) {
                                                                 | label_1:
    0x00019584 ldr r0, [sp, 0x1c]                                |         r0 = var_1ch;
    0x00019586 subs r5, r5, r6                                   |         r5 -= r6;
    0x00019588 movs r2, 1                                        |         r2 = 1;
    0x0001958a add r1, sp, 0x60                                  |         r1 += var_60h;
    0x0001958c blx 0x73a8                                        |         fcn_000073a8 ();
    0x00019590 cmp r5, 4                                         |         
    0x00019592 add.w r4, r8, r6                                  |         r4 = r8 + r6;
                                                                 |         if (r5 < 4) {
    0x00019596 bls.w 0x19874                                     |             goto label_23;
                                                                 |         }
    0x0001959a subs r5, 3                                        |         r5 -= 3;
    0x0001959c add.w r8, r4, 3                                   |         r8 = r4 + 3;
    0x000195a0 mov r1, r5                                        |         r1 = r5;
    0x000195a2 mov r0, r8                                        |         r0 = r8;
    0x000195a4 bl 0x18020                                        |         fcn_00018020 (r0, r1);
    0x000195a8 ldr r3, [sp, 0x20]                                |         r3 = var_20h;
    0x000195aa mov r6, r0                                        |         r6 = r0;
    0x000195ac cmp r5, r0                                        |         
    0x000195ae ite ne                                            |         
                                                                 |         if (r5 == r0) {
    0x000195b0 movne r3, 0                                       |             r3 = 0;
                                                                 |         }
                                                                 |         if (r5 != r0) {
    0x000195b2 andeq r3, r3, 1                                   |             r3 &= 1;
                                                                 |         }
                                                                 |         if (r3 != 0) {
    0x000195b6 cbz r3, 0x195c2                                   |             
    0x000195b8 ldr.w r3, [sb, 0x1a8]                             |             r3 = *((sb + 0x1a8));
    0x000195bc cmp r3, 0                                         |             
                                                                 |             if (r3 == 0) {
    0x000195be beq.w 0x19874                                     |                 goto label_23;
                                                                 |             }
                                                                 |         }
    0x000195c2 ldr.w r3, [sb, 0x1b4]                             |         r3 = *((sb + 0x1b4));
    0x000195c6 str r6, [sp, 0x60]                                |         var_60h = r6;
    0x000195c8 cmp r3, 0                                         |         
                                                                 |         if (r3 == 0) {
    0x000195ca beq 0x196b0                                       |             goto label_24;
                                                                 |         }
    0x000195cc ldr.w r2, [sb, 0x1b8]                             |         r2 = *((sb + 0x1b8));
    0x000195d0 cmp r2, 0                                         |         
    0x000195d2 beq 0x19584                                       |         
                                                                 |     }
    0x000195d4 movs r2, 0                                        |     r2 = 0;
    0x000195d6 ldr r1, [sp, 0x38]                                |     r1 = var_38h;
    0x000195d8 str r2, [sp]                                      |     *(sp) = r2;
    0x000195da mov r0, sb                                        |     r0 = sb;
    0x000195dc movs r2, 0x40                                     |     r2 = 0x40;
    0x000195de blx 0x6ab8                                        |     r0 = gst_caps_merge ();
    0x000195e2 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x000195e4 beq.w 0x19a56                                     |         goto label_25;
                                                                 |     }
    0x000195e8 ldr.w r4, [sb, 0x1b4]                             |     r4 = *((sb + 0x1b4));
    0x000195ec cmp r4, 0                                         |     
                                                                 |     if (r4 == 0) {
    0x000195ee beq 0x196a6                                       |         goto label_26;
                                                                 |     }
    0x000195f0 ldr.w r0, [sb, 0x19c]                             |     r0 = *((sb + 0x19c));
    0x000195f4 movs r1, 0                                        |     r1 = 0;
    0x000195f6 blx 0x70c8                                        |     fcn_000070c8 ();
    0x000195fa ldr.w r0, [sb, 0x1a0]                             |     r0 = *((sb + 0x1a0));
    0x000195fe movs r1, 0                                        |     r1 = 0;
    0x00019600 blx 0x70c8                                        |     fcn_000070c8 ();
    0x00019604 ldr r1, [sp, 0x44]                                |     r1 = var_44h;
    0x00019606 mov r0, r4                                        |     r0 = r4;
    0x00019608 movs r2, 0                                        |     r2 = 0;
    0x0001960a blx 0x6ff4                                        |     fcn_00006ff4 ();
    0x0001960c ldcl p6, c4, [r4], 0x10                           |     __asm ("ldcl p6, c4, [r4], 0x10");
    0x00019610 str r0, [sp, 0x34]                                |     var_34h = r0;
    0x00019612 blx 0x6750                                        |     fcn_00006750 ();
    0x00019616 ldr r3, [r4]                                      |     r3 = *(r4);
    0x00019618 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0001961a beq 0x196a0                                       |         goto label_27;
                                                                 |     }
    0x0001961c add r3, sp, 0x64                                  |     r3 += var_64h;
    0x0001961e mov sl, r5                                        |     sl = r5;
    0x00019620 ldr r6, [sp, 0x34]                                |     r6 = var_34h;
    0x00019622 add r7, sp, 0x6c                                  |     r7 += var_6ch;
    0x00019624 add.w fp, sp, 0x68                                |     
    0x00019628 mov r5, r3                                        |     r5 = r3;
    0x0001962a str.w r8, [sp, 0x3c]                              |     __asm ("str.w r8, [var_3ch]");
    0x0001962e b 0x19642                                         |     
                                                                 |     while (r8 != 0) {
    0x00019630 mov r3, r4                                        |         r3 = r4;
    0x00019632 ldrd r1, r2, [sb, 0x19c]                          |         __asm ("ldrd r1, r2, aav.0x000000ff");
    0x00019636 mov r0, sb                                        |         r0 = sb;
    0x00019638 bl 0x1746c                                        |         fcn_0001746c (r0, r1, r2, r3);
    0x0001963c ldr r3, [r6, 4]!                                  |         r3 = *((r6 += 4));
                                                                 |         if (r3 == 0) {
    0x00019640 cbz r3, 0x1969a                                   |             goto label_28;
                                                                 |         }
                                                                 | label_0:
    0x00019642 movs r3, 0                                        |         r3 = 0;
    0x00019644 strd r3, r3, [sp, 0x64]                           |         __asm ("strd r3, r3, [var_64h]");
    0x00019648 ldr r0, [r6]                                      |         r0 = *(r6);
    0x0001964a blx 0x6a90                                        |         fcn_00006a90 ();
    0x0001964e movs r2, 0                                        |         r2 = 0;
    0x00019650 mov r8, r0                                        |         r8 = r0;
    0x00019652 mov r1, r0                                        |         r1 = r0;
    0x00019654 mov r0, r2                                        |         r0 = r2;
    0x00019656 blx 0x712c                                        |         fcn_0000712c ();
    0x0001965a movs r2, 2                                        |         r2 = 2;
    0x0001965c mov r1, r7                                        |         r1 = r7;
    0x0001965e mov r4, r0                                        |         r4 = r0;
    0x00019660 blx 0x6c08                                        |         gst_buffer_pool_set_config ();
    0x00019664 ldr r2, [sp, 0x74]                                |         r2 = var_74h;
    0x00019666 mov r1, r8                                        |         r1 = r8;
    0x00019668 ldr r0, [r6]                                      |         r0 = *(r6);
    0x0001966a mov r3, fp                                        |         r3 = fp;
    0x0001966c str r5, [sp]                                      |         *(sp) = r5;
    0x0001966e blx 0x684c                                        |         fcn_0000684c ();
    0x00019672 mov r1, r7                                        |         r1 = r7;
    0x00019674 mov r8, r0                                        |         r8 = r0;
    0x00019676 mov r0, r4                                        |         r0 = r4;
    0x00019678 blx 0x63f0                                        |         fcn_000063f0 ();
    0x0001967c mov r2, r8                                        |         r2 = r8;
    0x0001967e movs r1, 0                                        |         r1 = 0;
    0x00019680 mov r0, r4                                        |         r0 = r4;
    0x00019682 blx 0x71b4                                        |         gst_rtp_base_audio_payload_get_type ();
    0x00019686 cmp.w r8, 0                                       |         
    0x0001968a bne 0x19630                                       |         
                                                                 |     }
    0x0001968c mov r0, r4                                        |     r0 = r4;
    0x0001968e blx 0x6b14                                        |     fcn_00006b14 ();
    0x00019692 ldr r3, [r6, 4]!                                  |     r3 = *((r6 += 4));
    0x00019696 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x00019698 bne 0x19642                                       |         goto label_0;
                                                                 |     }
                                                                 | label_28:
    0x0001969a ldr.w r8, [sp, 0x3c]                              |     r8 = var_3ch;
    0x0001969e mov r5, sl                                        |     r5 = sl;
                                                                 | label_27:
    0x000196a0 ldr r0, [sp, 0x34]                                |     r0 = var_34h;
    0x000196a2 blx 0x7278                                        |     fcn_00007278 ();
                                                                 | label_26:
    0x000196a6 movs r3, 0                                        |     r3 = 0;
    0x000196a8 ldr r6, [sp, 0x60]                                |     r6 = var_60h;
    0x000196aa str.w r3, [sb, 0x1b8]                             |     __asm ("str.w r3, aav.0x000000ff");
    0x000196ae b 0x19584                                         |     goto label_1;
                                                                 | label_24:
    0x000196b0 ldrb r3, [r4, 3]                                  |     r3 = *((r4 + 3));
    0x000196b2 and r3, r3, 0x1f                                  |     r3 &= 0x1f;
    0x000196b6 subs r3, 7                                        |     r3 -= 7;
    0x000196b8 cmp r3, 1                                         |     
    0x000196ba itt ls                                            |     
                                                                 |     if (r3 > 1) {
    0x000196bc addls r3, r6, 3                                   |         r3 = r6 + 3;
                                                                 |     }
                                                                 |     if (r3 <= 1) {
    0x000196be addls r3, r3, r4                                  |         r3 += r4;
                                                                 |         goto label_29;
                                                                 |     }
                                                                 |     if (r3 > 1) {
                                                                 | label_29:
    0x000196c0 bhi.w 0x19584                                     |         goto label_1;
                                                                 |     }
                                                                 |     if (r6 == 0) {
    0x000196c4 cbz r6, 0x196d4                                   |         goto label_30;
                                                                 |     }
                                                                 |     do {
    0x000196c6 ldrb r2, [r3, -0x1]!                              |         r2 = *((r3 -= 0x1));
    0x000196ca subs r1, r6, 1                                    |         r1 = r6 - 1;
                                                                 |         if (r2 != 0) {
    0x000196cc cbnz r2, 0x196d4                                  |             goto label_30;
                                                                 |         }
    0x000196ce mov r6, r1                                        |         r6 = r1;
    0x000196d0 cmp r6, 0                                         |         
    0x000196d2 bne 0x196c6                                       |         
                                                                 |     } while (r6 != 0);
                                                                 | label_30:
    0x000196d4 movs r2, 0                                        |     r2 = 0;
    0x000196d6 mov r1, r6                                        |     r1 = r6;
    0x000196d8 mov r0, r2                                        |     r0 = r2;
    0x000196da blx 0x712c                                        |     fcn_0000712c ();
    0x000196de mov r3, r6                                        |     r3 = r6;
    0x000196e0 mov r4, r0                                        |     r4 = r0;
    0x000196e2 mov r2, r8                                        |     r2 = r8;
    0x000196e4 movs r1, 0                                        |     r1 = 0;
    0x000196e6 blx 0x6fb8                                        |     fcn_00006fb8 ();
    0x000196e8 stcl p6, c4, [r8], -0x8c                          |     __asm ("stcl p6, c4, [r8], -0x8c");
    0x000196ec ldrd r1, r2, [sb, 0x19c]                          |     __asm ("ldrd r1, r2, aav.0x000000ff");
    0x000196f0 mov r0, sb                                        |     r0 = sb;
    0x000196f2 bl 0x1746c                                        |     fcn_0001746c (r0, r1, r2, r3);
    0x000196f6 ldrd r2, r3, [sp, 0x28]                           |     __asm ("ldrd r2, r3, [var_28h]");
    0x000196fa mov r4, r0                                        |     r4 = r0;
    0x000196fc cmp.w r3, -1                                      |     
    0x00019700 it eq                                             |     
                                                                 |     if (r3 == -1) {
    0x00019702 cmpeq r2, -1                                      |         __asm ("cmpeq r2, -1");
                                                                 |     }
                                                                 |     if (r3 != -1) {
    0x00019706 beq 0x19716                                       |         
    0x00019708 movs r1, 3                                        |         r1 = 3;
    0x0001970a add.w r0, sb, 0x100                               |         r0 = sb + 0x100;
    0x0001970e blx 0x6314                                        |         gst_rtp_buffer_get_payload_len ();
    0x00019712 strd r0, r1, [sb, 0x1c8]                          |         __asm ("strd r0, r1, aav.0x000000ff");
                                                                 |     }
    0x00019716 ldr r3, [sp, 0x40]                                |     r3 = var_40h;
    0x00019718 cmp r4, 0                                         |     
    0x0001971a it ne                                             |     
                                                                 |     if (r4 == 0) {
    0x0001971c movne r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x0001971e ldr r6, [sp, 0x60]                                |     r6 = var_60h;
    0x00019720 str r3, [sp, 0x40]                                |     var_40h = r3;
    0x00019722 b 0x19584                                         |     goto label_1;
                                                                 |     if (r1 != 0) {
                                                                 | label_18:
    0x00019724 cbz r1, 0x19782                                   |         
    0x00019726 ldr r4, [sp, 0x24]                                |         r4 = var_24h;
    0x00019728 add r5, sp, 0x6c                                  |         r5 += var_6ch;
    0x0001972a mov r1, r5                                        |         r1 = r5;
    0x0001972c mov r0, r4                                        |         r0 = r4;
    0x0001972e bl 0x763c                                         |         fcn_0000763c (r0, r1);
    0x00019732 mov r0, r4                                        |         r0 = r4;
    0x00019734 blx 0x678c                                        |         fcn_0000678c ();
    0x00019738 ldr r3, [r4, 0xc]                                 |         r3 = *((r4 + 0xc));
    0x0001973a mov r2, r4                                        |         r2 = r4;
    0x0001973c vldr d8, [r2, 0x28]                               |         __asm ("vldr d8, [r2, 0x28]");
    0x00019740 mov r6, r0                                        |         r6 = r0;
    0x00019742 ldrd sl, fp, [r2, 0x30]                           |         __asm ("ldrd sl, fp, [r2, 0x30]");
    0x00019746 ubfx r3, r3, 0xd, 1                               |         r3 = (r3 >> 0xd) & ((1 << 1) - 1);
    0x0001974a ldr.w r4, [sb, 0x1ac]                             |         r4 = *((sb + 0x1ac));
    0x0001974e str.w r3, [sb, 0x1d8]                             |         __asm ("str.w r3, aav.0x000000ff");
    0x00019752 ldr r3, [r2, 0xc]                                 |         r3 = *((r2 + 0xc));
    0x00019754 cmp r0, r4                                        |         
    0x00019756 it hi                                             |         
                                                                 |         if (r0 <= r4) {
    0x00019758 movhi r7, 0                                       |             r7 = 0;
                                                                 |         }
    0x0001975a ubfx r3, r3, 6, 1                                 |         r3 = (r3 >> 6) & ((1 << 1) - 1);
    0x0001975e str.w r3, [sb, 0x1dc]                             |         __asm ("str.w r3, aav.0x000000ff");
    0x00019762 ldr r3, [r2, 0xc]                                 |         r3 = *((r2 + 0xc));
    0x00019764 and r3, r3, 0x200                                 |         r3 &= 0x200;
    0x00019768 str r3, [sp, 0x1c]                                |         var_1ch = r3;
                                                                 |         if (r0 > r4) {
    0x0001976a bhi 0x19830                                       |             goto label_31;
                                                                 |         }
    0x0001976c mov r0, r5                                        |         r0 = r5;
    0x0001976e bl 0x7790                                         |         fcn_00007790 (r0);
    0x00019772 ldr r0, [sp, 0x24]                                |         r0 = var_24h;
    0x00019774 blx 0x6b14                                        |         fcn_00006b14 ();
    0x00019778 ldr.w r3, [sb, 0x1e4]                             |         r3 = *((sb + 0x1e4));
    0x0001977c cmp r3, 0                                         |         
                                                                 |         if (r3 != 0) {
    0x0001977e bne.w 0x19896                                     |             goto label_12;
                                                                 |         }
                                                                 |     }
                                                                 | label_22:
    0x00019782 mov.w r8, 0                                       |     r8 = 0;
                                                                 | label_6:
    0x00019786 ldr r1, [pc, 0x300]                               |     
    0x00019788 ldr r2, [pc, 0x2f0]                               |     r2 = *(0x19a7c);
    0x0001978a add r1, pc                                        |     r1 = 0x33218;
    0x0001978c ldr r2, [r1, r2]                                  |     r2 = *(0x33218);
    0x0001978e ldr r1, [r2]                                      |     r1 = *(0x33218);
    0x00019790 ldr r2, [sp, 0xbc]                                |     r2 = var_bch;
    0x00019792 eors r1, r2                                       |     r1 ^= r2;
    0x00019794 mov.w r2, 0                                       |     r2 = 0;
    0x00019796 lsls r0, r0, 8                                    |     r0 <<= 8;
                                                                 |     if (r0 != r0) {
    0x00019798 bne.w 0x19a72                                     |         goto label_32;
                                                                 |     }
    0x0001979c mov r0, r8                                        |     r0 = r8;
    0x0001979e add sp, 0xc4                                      |     
    0x000197a0 vpop {d8}                                         |     __asm ("vpop {d8}");
    0x000197a4 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}        |     
                                                                 | label_3:
    0x000197a8 ldr r3, [sp, 0x60]                                |     r3 = var_60h;
                                                                 |     do {
    0x000197aa cmp r3, r6                                        |         
    0x000197ac itet hi                                           |         
                                                                 |         if (r3 <= r6) {
    0x000197ae movhi r3, r6                                      |             r3 = r6;
                                                                 |         }
                                                                 |         if (r3 > r6) {
    0x000197b0 subls r2, r6, r3                                  |             r2 = r6 - r3;
                                                                 |         }
                                                                 |         if (r3 <= r6) {
    0x000197b2 strhi r6, [sp, 0x60]                              |             var_60h = r6;
                                                                 |         }
                                                                 |         if (r3 < r6) {
    0x000197b4 bls 0x19868                                       |             goto label_33;
                                                                 |         }
                                                                 | label_5:
    0x000197b6 ldr r1, [sp, 0x1c]                                |         r1 = var_1ch;
    0x000197b8 ldr.w r2, [sb, 0x1a8]                             |         r2 = *((sb + 0x1a8));
    0x000197bc subs.w r8, r1, 0                                  |         r8 = r1 - 0;
    0x000197c0 it ne                                             |         
                                                                 |         if (r8 == r1) {
    0x000197c2 movne r8, 1                                       |             r8 = 1;
                                                                 |         }
    0x000197c6 cmp r2, 2                                         |         
    0x000197c8 it eq                                             |         
                                                                 |         if (r2 != 2) {
    0x000197ca orreq r8, r8, 1                                   |             r8 |= 1;
                                                                 |         }
                                                                 | label_4:
    0x000197ce mov r2, r7                                        |         r2 = r7;
    0x000197d0 movs r1, 0xf                                      |         r1 = 0xf;
    0x000197d2 ldr r0, [sp, 0x24]                                |         r0 = var_24h;
    0x000197d4 blx 0x6f34                                        |         fcn_00006f34 ();
    0x000197d8 str.w r8, [sp, 8]                                 |         __asm ("str.w r8, [var_8h]");
    0x000197dc mov r1, r0                                        |         r1 = r0;
    0x000197de vstr d8, [sp]                                     |         __asm ("vstr d8, [sp]");
    0x000197e2 mov r0, sb                                        |         r0 = sb;
    0x000197e4 ldr.w r3, [sb, 0x1dc]                             |         r3 = *((sb + 0x1dc));
    0x000197e8 mov r2, sl                                        |         r2 = sl;
    0x000197ea str r3, [sp, 0x10]                                |         var_10h = r3;
    0x000197ec ldr.w r3, [sb, 0x1d8]                             |         r3 = *((sb + 0x1d8));
    0x000197f0 str r3, [sp, 0xc]                                 |         var_ch = r3;
    0x000197f2 mov r3, fp                                        |         r3 = fp;
    0x000197f4 bl 0x190c4                                        |         fcn_000190c4 (r0, r1, r2, r3, r4, r5, r6);
    0x000197f8 ldr.w r3, [sb, 0x1d8]                             |         r3 = *((sb + 0x1d8));
                                                                 |         if (r3 == 0) {
    0x000197fc cbnz r3, 0x19804                                  |             
    0x000197fe movs r3, 1                                        |             r3 = 1;
    0x00019800 str.w r3, [sb, 0x1d8]                             |             __asm ("str.w r3, aav.0x000000ff");
                                                                 |         }
    0x00019804 ldr.w r3, [sb, 0x1dc]                             |         r3 = *((sb + 0x1dc));
                                                                 |         if (r3 != 0) {
    0x00019808 cbz r3, 0x19810                                   |             
    0x0001980a movs r3, 0                                        |             r3 = 0;
    0x0001980c str.w r3, [sb, 0x1dc]                             |             __asm ("str.w r3, aav.0x000000ff");
                                                                 |         }
    0x00019810 cmp r0, 0                                         |         
                                                                 |         if (r0 != 0) {
    0x00019812 bne.w 0x19a46                                     |             goto label_34;
                                                                 |         }
    0x00019816 ldr r1, [sp, 0x60]                                |         r1 = var_60h;
    0x00019818 mov r0, r5                                        |         r0 = r5;
    0x0001981a bl 0x76e4                                         |         r0 = fcn_000076e4 (r0, r1, r2);
    0x0001981e cmp r0, 0                                         |         
                                                                 |         if (r0 == 0) {
    0x00019820 beq.w 0x199ce                                     |             goto label_35;
                                                                 |         }
    0x00019824 ldr r3, [sp, 0x60]                                |         r3 = var_60h;
    0x00019826 subs r6, r6, r3                                   |         r6 -= r3;
    0x00019828 add r7, r3                                        |         r7 += r3;
    0x0001982a cmp r4, r6                                        |         
                                                                 |         if (r4 >= r6) {
    0x0001982c bhs.w 0x199ce                                     |             goto label_35;
                                                                 |         }
                                                                 | label_31:
    0x00019830 movs r3, 0                                        |         r3 = 0;
    0x00019832 subs r6, r6, r4                                   |         r6 -= r4;
    0x00019834 add r7, r4                                        |         r7 += r4;
    0x00019836 str r3, [sp, 0x60]                                |         var_60h = r3;
                                                                 |         if (r4 == 0) {
    0x00019838 cbz r4, 0x19864                                   |             goto label_36;
                                                                 |         }
    0x0001983a mov r8, r3                                        |         r8 = r3;
    0x0001983c mov r1, r3                                        |         r1 = r3;
    0x0001983e b 0x1984c                                         |         goto label_37;
                                                                 | label_2:
    0x00019840 ldr r1, [sp, 0x60]                                |         r1 = var_60h;
    0x00019842 add.w r8, r8, 1                                   |         r8++;
    0x00019846 cmp r8, r4                                        |         
    0x00019848 mov r3, r1                                        |         r3 = r1;
    0x0001984a beq 0x197aa                                       |         
                                                                 |     } while (r8 == r4);
                                                                 | label_37:
    0x0001984c ldr r3, [sp, 0xb0]                                |     r3 = var_b0h;
    0x0001984e mov r0, r5                                        |     r0 = r5;
    0x00019850 ldrb r2, [r3]                                     |     r2 = *(r3);
    0x00019852 add.w r2, r2, r1, lsl 8                           |     r2 += (r1 << 8);
    0x00019856 movs r1, 1                                        |     r1 = 1;
    0x00019858 str r2, [sp, 0x60]                                |     var_60h = r2;
    0x0001985a bl 0x76e4                                         |     r0 = fcn_000076e4 (r0, r1, r2);
    0x0001985e cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x00019860 bne 0x19840                                       |         goto label_2;
                                                                 |     }
    0x00019862 b 0x197a8                                         |     goto label_3;
                                                                 | label_36:
    0x00019864 mov r2, r6                                        |     r2 = r6;
    0x00019866 mov r3, r4                                        |     r3 = r4;
                                                                 | label_33:
    0x00019868 cmp r4, r2                                        |     
    0x0001986a it lo                                             |     
                                                                 |     if (r4 < r2) {
    0x0001986c movlo r8, 0                                       |         r8 = 0;
                                                                 |         goto label_38;
                                                                 |     }
                                                                 |     if (r4 <= r2) {
                                                                 | label_38:
    0x00019870 blo 0x197ce                                       |         goto label_4;
                                                                 |     }
    0x00019872 b 0x197b6                                         |     goto label_5;
                                                                 | label_23:
    0x00019874 ldr r3, [sp, 0x40]                                |     r3 = var_40h;
    0x00019876 ldr.w fp, [sp, 0x1c]                              |     fp = var_1ch;
    0x0001987a cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0001987c bne.w 0x199ac                                     |         goto label_39;
                                                                 |     }
                                                                 | label_10:
    0x00019880 ldr.w r3, [fp, 4]                                 |     r3 = *(arg_4h);
                                                                 |     if (r3 != 0) {
    0x00019884 cbnz r3, 0x198b6                                  |         goto label_40;
                                                                 |     }
                                                                 | label_7:
    0x00019886 movs r1, 0                                        |     r1 = 0;
    0x00019888 mov r0, fp                                        |     r0 = fp;
    0x0001988a blx 0x6c2c                                        |     g_assertion_message_cmpnum ();
    0x0001988e ldr.w r3, [sb, 0x1e4]                             |     r3 = *((sb + 0x1e4));
    0x00019892 mov r8, r3                                        |     r8 = r3;
                                                                 |     if (r3 == 0) {
    0x00019894 cbz r3, 0x198ac                                   |         goto label_41;
                                                                 |     }
                                                                 | label_12:
    0x00019896 ldr.w r3, [sb, 0x1ec]                             |     r3 = *((sb + 0x1ec));
    0x0001989a cmp r3, 1                                         |     
                                                                 |     if (r3 == 1) {
    0x0001989c beq.w 0x19a5c                                     |         goto label_42;
                                                                 |     }
                                                                 | label_11:
    0x000198a0 mov.w r8, 0                                       |     r8 = 0;
                                                                 | label_17:
    0x000198a4 ldr r3, [sp, 0x4c]                                |     r3 = var_4ch;
    0x000198a6 cmp r3, 2                                         |     
                                                                 |     if (r3 == 2) {
    0x000198a8 beq.w 0x19786                                     |         goto label_6;
                                                                 |     }
                                                                 | label_41:
    0x000198ac ldr.w r0, [sb, 0x1bc]                             |     r0 = *((sb + 0x1bc));
    0x000198b0 blx 0x6ec4                                        |     fcn_00006ec4 ();
    0x000198b4 b 0x19786                                         |     goto label_6;
                                                                 | label_40:
    0x000198b6 ldr r1, [sp, 0x5c]                                |     r1 = var_5ch;
    0x000198b8 ldr.w r0, [sb, 0x1bc]                             |     r0 = *((sb + 0x1bc));
    0x000198bc blx 0x6878                                        |     g_strdup_printf ()
    0x000198c0 ldr.w r3, [fp, 4]                                 |     r3 = *(arg_4h);
    0x000198c4 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x000198c6 beq 0x19886                                       |         goto label_7;
                                                                 |     }
    0x000198c8 ldr r3, [sp, 0x24]                                |     r3 = var_24h;
    0x000198ca movs r5, 0                                        |     r5 = 0;
    0x000198cc ldr r6, [sp, 0x54]                                |     r6 = var_54h;
    0x000198ce cmp r3, 0                                         |     
    0x000198d0 iteet eq                                          |     
                                                                 |     if (r3 != 0) {
    0x000198d2 moveq sl, 1                                       |         sl = 1;
                                                                 |     }
                                                                 |     if (r3 == 0) {
    0x000198d6 movne sl, r5                                      |         sl = r5;
                                                                 |     }
                                                                 |     if (r3 != 0) {
    0x000198d8 moveq r7, 1                                       |         r7 = 1;
                                                                 |     }
                                                                 |     if (r3 == 0) {
    0x000198da mov r7, r5                                        |         r7 = r5;
                                                                 |     }
    0x000198dc strd r7, sl, [sp, 0x1c]                           |     __asm ("strd r7, sl, [var_1ch]");
    0x000198e0 ldr r7, [sp, 0x58]                                |     r7 = var_58h;
    0x000198e2 ldr.w sl, [sp, 0x50]                              |     sl = var_50h;
                                                                 | label_8:
    0x000198e6 ldr.w r3, [fp]                                    |     r3 = *(fp);
    0x000198ea movs r1, 3                                        |     r1 = 3;
    0x000198ec ldr.w r0, [sb, 0x1bc]                             |     r0 = *((sb + 0x1bc));
    0x000198f0 ldr.w r3, [r3, r5, lsl 2]                         |     offset_0 = r5 << 2;
                                                                 |     r3 = *((r3 + offset_0));
    0x000198f2 adds r0, 0x25                                     |     r0 += 0x25;
    0x000198f4 str r3, [sp, 0x60]                                |     var_60h = r3;
    0x000198f6 blx 0x6878                                        |     g_strdup_printf ()
    0x000198fa ldr r4, [sp, 0x60]                                |     r4 = var_60h;
    0x000198fc ldr.w r0, [sb, 0x1bc]                             |     r0 = *((sb + 0x1bc));
    0x00019900 mov r1, r4                                        |     r1 = r4;
    0x00019902 blx 0x70f8                                        |     fcn_000070f8 ();
    0x00019906 ldr.w r1, [fp, 4]                                 |     r1 = *(arg_4h);
    0x0001990a mov ip, r5                                        |     
    0x0001990c ldr r3, [sp, 0x1c]                                |     r3 = var_1ch;
    0x0001990e adds r5, 1                                        |     r5++;
    0x00019910 add r0, r4                                        |     r0 += r4;
    0x00019912 cmp r5, r1                                        |     
    0x00019914 it ne                                             |     
                                                                 |     if (r5 == r1) {
    0x00019916 orrne r3, r3, 1                                   |         r3 |= 1;
                                                                 |     }
                                                                 |     if (r3 != 0) {
    0x0001991a cbnz r3, 0x19928                                  |         goto label_43;
                                                                 |     }
    0x0001991c b 0x1992c                                         |     goto label_44;
                                                                 |     do {
    0x0001991e ldrb r3, [r0, -0x1]!                              |         r3 = *((r0 -= 0x1));
    0x00019922 subs r2, r4, 1                                    |         r2 = r4 - 1;
                                                                 |         if (r3 != 0) {
    0x00019924 cbnz r3, 0x1992c                                  |             goto label_44;
                                                                 |         }
    0x00019926 mov r4, r2                                        |         r4 = r2;
                                                                 | label_43:
    0x00019928 cmp r4, 1                                         |         
    0x0001992a bhi 0x1991e                                       |         
                                                                 |     } while (r4 > 1);
                                                                 | label_44:
    0x0001992c subs r1, 1                                        |     r1--;
    0x0001992e cmp r1, ip                                        |     
    0x00019930 it ne                                             |     
                                                                 |     if (r1 == ip) {
    0x00019932 movne r8, 0                                       |         r8 = 0;
                                                                 |     }
                                                                 |     if (r1 == ip) {
    0x00019936 bne 0x1994c                                       |         
    0x00019938 ldr.w r3, [sb, 0x1a8]                             |         r3 = *((sb + 0x1a8));
    0x0001993c cmp r3, 2                                         |         
    0x0001993e itett ne                                          |         
                                                                 |         if (r3 == 2) {
    0x00019940 ldrne r3, [sp, 0x48]                              |             r3 = var_48h;
                                                                 |         }
                                                                 |         if (r3 != 2) {
    0x00019942 moveq r8, 1                                       |             r8 = 1;
                                                                 |         }
                                                                 |         if (r3 == 2) {
    0x00019946 ldrne r2, [sp, 0x20]                              |             r2 = var_20h;
                                                                 |         }
                                                                 |         if (r3 == 2) {
    0x00019948 orr.w r8, r3, r2                                  |             r8 = r3 | r2;
                                                                 |             goto label_45;
                                                                 |         }
                                                                 |     }
                                                                 | label_45:
    0x0001994c mov r1, r4                                        |     r1 = r4;
    0x0001994e ldr.w r0, [sb, 0x1bc]                             |     r0 = *((sb + 0x1bc));
    0x00019952 blx 0x7058                                        |     g_value_set_object ();
    0x00019956 ldr r3, [sp, 0x28]                                |     r3 = var_28h;
    0x00019958 mov r1, r0                                        |     r1 = r0;
    0x0001995a str.w r8, [sp, 8]                                 |     __asm ("str.w r8, [var_8h]");
    0x0001995e mov r0, sb                                        |     r0 = sb;
    0x00019960 ldr r2, [sp, 0x30]                                |     r2 = var_30h;
    0x00019962 rsb.w r6, r6, 1                                   |     r6 = 1 - r6;
    0x00019966 str r3, [sp]                                      |     *(sp) = r3;
    0x00019968 ldr r3, [sp, 0x2c]                                |     r3 = var_2ch;
    0x0001996a str r3, [sp, 4]                                   |     var_4h = r3;
    0x0001996c ldr.w r3, [sb, 0x1dc]                             |     r3 = *((sb + 0x1dc));
    0x00019970 str r3, [sp, 0x10]                                |     var_10h = r3;
    0x00019972 ldr.w r3, [sb, 0x1d8]                             |     r3 = *((sb + 0x1d8));
    0x00019976 str r3, [sp, 0xc]                                 |     var_ch = r3;
    0x00019978 mov r3, sl                                        |     r3 = sl;
    0x0001997a bl 0x190c4                                        |     fcn_000190c4 (r0, r1, r2, r3, r4, r5, r6);
    0x0001997e str.w r7, [sb, 0x1dc]                             |     __asm ("str.w r7, aav.0x000000ff");
    0x00019982 mov r7, r0                                        |     r7 = r0;
    0x00019984 str.w r6, [sb, 0x1d8]                             |     __asm ("str.w r6, aav.0x000000ff");
                                                                 |     if (r0 != 0) {
    0x00019988 cbnz r0, 0x199e6                                  |         goto label_46;
                                                                 |     }
    0x0001998a ldr r1, [sp, 0x60]                                |     r1 = var_60h;
    0x0001998c ldr.w r0, [sb, 0x1bc]                             |     r0 = *((sb + 0x1bc));
    0x00019990 subs r1, r1, r4                                   |     r1 -= r4;
    0x00019992 blx 0x6878                                        |     g_strdup_printf ()
    0x00019996 ldr.w r3, [fp, 4]                                 |     r3 = *(arg_4h);
    0x0001999a cmp r5, r3                                        |     
                                                                 |     if (r5 >= r3) {
    0x0001999c bhs 0x19a22                                       |         goto label_47;
                                                                 |     }
    0x0001999e mov r6, r7                                        |     r6 = r7;
    0x000199a0 b 0x198e6                                         |     goto label_8;
                                                                 | label_19:
    0x000199a2 ldr r3, [sp, 0x24]                                |     r3 = var_24h;
    0x000199a4 str r3, [sp, 0x48]                                |     var_48h = r3;
    0x000199a6 strd r3, r3, [sp, 0x54]                           |     __asm ("strd r3, r3, [var_54h]");
    0x000199aa b 0x19514                                         |     goto label_9;
                                                                 | label_39:
    0x000199ac mov r0, sb                                        |     r0 = sb;
    0x000199ae bl 0x181c8                                        |     r0 = fcn_000181c8 (r0);
    0x000199b2 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x000199b4 bne.w 0x19880                                     |         goto label_10;
                                                                 |     }
                                                                 | label_16:
    0x000199b8 movs r1, 0                                        |     r1 = 0;
    0x000199ba mov r0, fp                                        |     r0 = fp;
    0x000199bc blx 0x6c2c                                        |     g_assertion_message_cmpnum ();
    0x000199c0 ldr.w r0, [sb, 0x1bc]                             |     r0 = *((sb + 0x1bc));
    0x000199c4 mvn r8, 3                                         |     r8 = ~3;
    0x000199c8 blx 0x6ec4                                        |     fcn_00006ec4 ();
    0x000199cc b 0x19786                                         |     goto label_6;
                                                                 | label_35:
    0x000199ce mov r0, r5                                        |     r0 = r5;
    0x000199d0 bl 0x7790                                         |     fcn_00007790 (r0);
    0x000199d4 ldr r0, [sp, 0x24]                                |     r0 = var_24h;
    0x000199d6 blx 0x6b14                                        |     fcn_00006b14 ();
                                                                 | label_15:
    0x000199da ldr.w r3, [sb, 0x1e4]                             |     r3 = *((sb + 0x1e4));
    0x000199de cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x000199e0 beq.w 0x198a0                                     |         goto label_11;
                                                                 |     }
    0x000199e4 b 0x19896                                         |     goto label_12;
                                                                 | label_46:
    0x000199e6 mov r8, r0                                        |     r8 = r0;
    0x000199e8 movs r1, 0                                        |     r1 = 0;
    0x000199ea mov r0, fp                                        |     r0 = fp;
    0x000199ec blx 0x6c2c                                        |     g_assertion_message_cmpnum ();
    0x000199f0 ldr.w r0, [sb, 0x1bc]                             |     r0 = *((sb + 0x1bc));
    0x000199f4 blx 0x6ec4                                        |     fcn_00006ec4 ();
    0x000199f8 b 0x19786                                         |     goto label_6;
                                                                 | label_21:
    0x000199fa ldr.w r0, [sb, 0x1bc]                             |     r0 = *((sb + 0x1bc));
    0x000199fe blx 0x64c4                                        |     r0 = g_list_free ();
                                                                 |     if (r0 != 0) {
    0x00019a02 cbz r0, 0x19a2c                                   |         
    0x00019a04 ldr r3, [sp, 0x24]                                |         r3 = var_24h;
    0x00019a06 movs r2, 1                                        |         r2 = 1;
    0x00019a08 str r2, [sp, 0x58]                                |         var_58h = r2;
    0x00019a0a ldr r3, [r3, 0xc]                                 |         r3 = *((r3 + 0xc));
    0x00019a0c b 0x19504                                         |         goto label_13;
                                                                 | label_20:
    0x00019a0e ldr.w r0, [r0, 0x1bc]                             |         r0 = *(arg_0hx1bc);
    0x00019a12 blx 0x64c4                                        |         r0 = g_list_free ();
                                                                 |         if (r0 == 0) {
    0x00019a16 cbz r0, 0x19a3a                                   |             goto label_48;
                                                                 |         }
    0x00019a18 ldr r3, [sp, 0x24]                                |         r3 = var_24h;
    0x00019a1a movs r2, 1                                        |         r2 = 1;
    0x00019a1c str r2, [sp, 0x54]                                |         var_54h = r2;
    0x00019a1e ldr r3, [r3, 0xc]                                 |         r3 = *((r3 + 0xc));
    0x00019a20 b 0x194f8                                         |         goto label_14;
                                                                 | label_47:
    0x00019a22 mov r1, r7                                        |         r1 = r7;
    0x00019a24 mov r0, fp                                        |         r0 = fp;
    0x00019a26 blx 0x6c2c                                        |         g_assertion_message_cmpnum ();
    0x00019a2a b 0x199da                                         |         goto label_15;
                                                                 |     }
    0x00019a2c movs r3, 1                                        |     r3 = 1;
    0x00019a2e str r0, [sp, 0x58]                                |     var_58h = r0;
    0x00019a30 str.w r3, [sb, 0x1dc]                             |     __asm ("str.w r3, aav.0x000000ff");
    0x00019a34 ldr r3, [sp, 0x24]                                |     r3 = var_24h;
    0x00019a36 ldr r3, [r3, 0xc]                                 |     r3 = *((r3 + 0xc));
    0x00019a38 b 0x19504                                         |     goto label_13;
                                                                 | label_48:
    0x00019a3a ldr r3, [sp, 0x24]                                |     r3 = var_24h;
    0x00019a3c str.w r0, [sb, 0x1d8]                             |     __asm ("str.w r0, aav.0x000000ff");
    0x00019a40 str r0, [sp, 0x54]                                |     var_54h = r0;
    0x00019a42 ldr r3, [r3, 0xc]                                 |     r3 = *((r3 + 0xc));
    0x00019a44 b 0x194f8                                         |     goto label_14;
                                                                 | label_34:
    0x00019a46 mov r8, r0                                        |     r8 = r0;
    0x00019a48 mov r0, r5                                        |     r0 = r5;
    0x00019a4a bl 0x7790                                         |     fcn_00007790 (r0);
    0x00019a4e ldr r0, [sp, 0x24]                                |     r0 = var_24h;
    0x00019a50 blx 0x6b14                                        |     fcn_00006b14 ();
    0x00019a54 b 0x19786                                         |     goto label_6;
                                                                 | label_25:
    0x00019a56 ldr.w fp, [sp, 0x1c]                              |     fp = var_1ch;
    0x00019a5a b 0x199b8                                         |     goto label_16;
                                                                 | label_42:
    0x00019a5c ldr.w r3, [sb, 0x1e8]                             |     r3 = *((sb + 0x1e8));
    0x00019a60 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00019a62 beq.w 0x198a0                                     |         goto label_11;
                                                                 |     }
    0x00019a66 movs r1, 0                                        |     r1 = 0;
    0x00019a68 mov r0, sb                                        |     r0 = sb;
    0x00019a6a bl 0x18f38                                        |     r0 = fcn_00018f38 (r0, r1, r2);
    0x00019a6e mov r8, r0                                        |     r8 = r0;
    0x00019a70 b 0x198a4                                         |     goto label_17;
                                                                 | label_32:
    0x00019a72 blx 0x6f28                                        |     fcn_00006f28 ();
    0x00019a76 nop                                               |     
    0x00019a78 adr r4, 0x268                                     |     r4 = 0x268;
    0x00019a7a movs r3, r0                                       |     r3 = r0;
    0x00019a7c lsls r0, r1, 0x1a                                 |     r0 = r1 << 0x1a;
    0x00019a7e movs r0, r0                                       |     
    0x00019a80 adds r2, r4, 5                                    |     r2 = r4 + 5;
    0x00019a82 movs r2, r0                                       |     r2 = r0;
    0x00019a84 adds r2, r6, 5                                    |     r2 = r6 + 5;
    0x00019a86 movs r2, r0                                       |     r2 = r0;
    0x00019a88 adr r1, 0x348                                     |     r1 = 0x348;
    0x00019a8a movs r3, r0                                       |     r3 = r0;
    0x00019a8c cmp r1, 0x13                                      |     
    0x00019a8e push {r4, r5, r6, lr}                             |     
    0x00019a90 mov r4, r0                                        |     r4 = r0;
                                                                 |     if (r1 != 0x13) {
    0x00019a92 beq 0x19aac                                       |         
    0x00019a94 ldr r3, [pc, 0x6c]                                |         
    0x00019a96 mov r5, r1                                        |         r5 = r1;
    0x00019a98 add r3, pc                                        |         
    0x00019a9a ldr r3, [r3]                                      |         
    0x00019a9c ldr.w r3, [r3, 0x8c]                              |         r3 = *(0x3362c);
    0x00019aa0 blx r3                                            |         uint32_t (*r3)(uint32_t) (r3);
    0x00019aa2 cmp r5, 0x1a                                      |         
    0x00019aa4 mov r6, r0                                        |         r6 = r0;
                                                                 |         if (r5 == 0x1a) {
    0x00019aa6 beq 0x19ae2                                       |             goto label_49;
                                                                 |         }
    0x00019aa8 mov r0, r6                                        |         r0 = r6;
    0x00019aaa pop {r4, r5, r6, pc}                              |         
                                                                 |     }
    0x00019aac movs r5, 0                                        |     r5 = 0;
    0x00019aae ldr.w r0, [r0, 0x1bc]                             |     r0 = *((r0 + 0x1bc));
    0x00019ab2 str.w r5, [r4, 0x1c4]                             |     __asm ("str.w r5, aav.0x000000ff");
    0x00019ab6 blx 0x6588                                        |     fcn_00006588 ();
    0x00019aba ldr.w r0, [r4, 0x1e0]                             |     r0 = *((r4 + 0x1e0));
    0x00019abe str.w r5, [r4, 0x1e0]                             |     __asm ("str.w r5, aav.0x000000ff");
                                                                 |     if (r0 != 0) {
    0x00019ac2 cbz r0, 0x19ac8                                   |         
    0x00019ac4 blx 0x6b14                                        |         fcn_00006b14 ();
                                                                 |     }
    0x00019ac8 ldr r3, [pc, 0x3c]                                |     
    0x00019aca movs r2, 0                                        |     r2 = 0;
    0x00019acc strd r2, r2, [r4, 0x1e4]                          |     __asm ("strd r2, r2, aav.0x000000ff");
    0x00019ad0 mov r0, r4                                        |     r0 = r4;
    0x00019ad2 movs r1, 0x13                                     |     r1 = 0x13;
    0x00019ad4 pop.w {r4, r5, r6, lr}                            |     
    0x00019ad8 add r3, pc                                        |     
    0x00019ada ldr r3, [r3]                                      |     
    0x00019adc ldr.w r3, [r3, 0x8c]                              |     r3 = *(0x33670);
    0x00019ae0 bx r3                                             |     return uint32_t (*r3)() ();
                                                                 | label_49:
    0x00019ae2 vmov.i8 d16, 0xff                                 |     __asm ("vmov.i8 d16, 0xff");
    0x00019ae6 movs r1, 0                                        |     r1 = 0;
    0x00019ae8 ldr.w r0, [r4, 0x19c]                             |     r0 = *((r4 + 0x19c));
    0x00019aec vstr d16, [r4, 0x1c8]                             |     __asm ("vstr d16, aav.0x000000ff");
    0x00019af0 blx 0x70c8                                        |     fcn_000070c8 ();
    0x00019af4 ldr.w r0, [r4, 0x1a0]                             |     r0 = *((r4 + 0x1a0));
    0x00019af8 movs r1, 0                                        |     r1 = 0;
    0x00019afa blx 0x70c8                                        |     fcn_000070c8 ();
    0x00019afe mov r0, r6                                        |     r0 = r6;
    0x00019b00 pop {r4, r5, r6, pc}                              |     
                                                                 | }
    ; assembly                                                       | /* r2dec pseudo code output */
                                                                     | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/gstreamer-1.0/libgstrtp.so @ 0x1cd4c */
                                                                     | #include <stdint.h>
                                                                     |  
                                                                     | #define BIT_MASK(t,v) ((t)(-((v)!= 0)))&(((t)-1)>>((sizeof(t)*CHAR_BIT)-(v)))
                                                                     |  
    ; (fcn) fcn.0001cd4c ()                                          | void fcn_0001cd4c (int16_t arg_0h, int16_t arg_4h, int16_t arg_ch, int16_t arg1, uint32_t arg2) {
                                                                     |     int16_t var_0h;
                                                                     |     int16_t var_4h;
                                                                     |     int16_t var_0h_2;
                                                                     |     int16_t var_4h_2;
                                                                     |     int16_t var_8h;
                                                                     |     int16_t var_ch;
                                                                     |     int16_t var_10h;
                                                                     |     int16_t var_14h;
                                                                     |     int16_t var_18h;
                                                                     |     int32_t var_18h_2;
                                                                     |     int16_t var_20h;
                                                                     |     uint32_t var_24h;
                                                                     |     int16_t var_28h;
                                                                     |     int16_t var_2ch;
                                                                     |     int16_t var_30h;
                                                                     |     int32_t var_30h_2;
                                                                     |     int16_t var_38h;
                                                                     |     int16_t var_3ch;
                                                                     |     int16_t var_80h;
                                                                     |     int16_t var_8ch;
                                                                     |     r0 = arg1;
                                                                     |     r1 = arg2;
    0x0001cd4c ldrths pc, [r8], -0x8df                               |     __asm ("ldrths pc, [r8], -aav.0x00036c02");
    0x0001cd50 ldr.w r3, [pc, 0x438]                                 |     
    0x0001cd54 push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}           |     
    0x0001cd58 mov r5, r0                                            |     r5 = r0;
    0x0001cd5a add r2, pc                                            |     r2 += pc;
    0x0001cd5c vpush {d8, d9}                                        |     __asm ("vpush {d8, d9}");
    0x0001cd60 sub sp, 0x94                                          |     
    0x0001cd62 mov sb, r1                                            |     sb = r1;
    0x0001cd64 ldr r3, [r2, r3]                                      |     r3 = *((r2 + r3));
    0x0001cd66 ldr r3, [r3]                                          |     r3 = *(0x1d18c);
    0x0001cd68 str r3, [sp, 0x8c]                                    |     var_8ch = r3;
    0x0001cd6a mov.w r3, 0                                           |     r3 = 0;
    0x0001cd6e ldr.w r3, [r0, 0x1a4]                                 |     r3 = *(arg_0hx1a4);
    0x0001cd72 subs r3, 2                                            |     r3 -= 2;
    0x0001cd74 cmp r3, 1                                             |     
    0x0001cd76 str r3, [sp, 0x20]                                    |     var_20h = r3;
                                                                     |     if (r3 < 1) {
    0x0001cd78 bls.w 0x1ced0                                         |         goto label_13;
                                                                     |     }
                                                                     |     if (r1 != 0) {
    0x0001cd7c cbz r1, 0x1cda6                                       |         
    0x0001cd7e ldr.w r0, [r0, 0x1bc]                                 |         r0 = *(arg_0hx1bc);
    0x0001cd82 blx 0x64c4                                            |         g_list_free ();
    0x0001cd86 ldr.w r3, [sb, 0xc]                                   |         r3 = *((sb + 0xc));
    0x0001cd8a cmp r0, 0                                             |         
                                                                     |         if (r0 == 0) {
    0x0001cd8c beq.w 0x1d154                                         |             goto label_14;
                                                                     |         }
    0x0001cd90 movs r2, 0                                            |         r2 = 0;
    0x0001cd92 str r2, [sp, 0x28]                                    |         var_28h = r2;
                                                                     | label_8:
    0x0001cd94 ubfx r3, r3, 9, 1                                     |         r3 = (r3 >> 9) & ((1 << 1) - 1);
    0x0001cd98 ldr.w r0, [r5, 0x1bc]                                 |         r0 = *((r5 + 0x1bc));
    0x0001cd9c mov r1, sb                                            |         r1 = sb;
    0x0001cd9e str r3, [sp, 0x24]                                    |         var_24h = r3;
    0x0001cda0 blx 0x69e4                                            |         fcn_000069e4 ();
    0x0001cda4 b 0x1cdaa                                             |         
                                                                     |     } else {
    0x0001cda6 strd r1, r1, [sp, 0x24]                               |         __asm ("strd r1, r1, [var_24h]");
                                                                     |     }
    0x0001cdaa ldr.w r0, [r5, 0x1bc]                                 |     r0 = *((r5 + 0x1bc));
    0x0001cdae movs r1, 0                                            |     r1 = 0;
    0x0001cdb0 blx 0x6b2c                                            |     fcn_00006b2c ();
    0x0001cdb4 strd r0, r1, [sp, 0x18]                               |     __asm ("strd r0, r1, [var_18h]");
    0x0001cdb8 movs r1, 0                                            |     r1 = 0;
    0x0001cdba ldr.w r0, [r5, 0x1bc]                                 |     r0 = *((r5 + 0x1bc));
    0x0001cdbe blx 0x6510                                            |     fcn_00006510 ();
    0x0001cdc2 strd r0, r1, [sp, 0xc]                                |     __asm ("strd r0, r1, [var_ch]");
    0x0001cdc6 ldr.w r0, [r5, 0x1bc]                                 |     r0 = *((r5 + 0x1bc));
    0x0001cdca blx 0x64c4                                            |     r0 = g_list_free ();
    0x0001cdce mov r6, r0                                            |     r6 = r0;
    0x0001cdd0 cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0001cdd2 beq.w 0x1cffc                                         |         goto label_15;
                                                                     |     }
    0x0001cdd6 mov r1, r0                                            |     r1 = r0;
    0x0001cdd8 ldr.w r0, [r5, 0x1bc]                                 |     r0 = *((r5 + 0x1bc));
    0x0001cddc blx 0x70f8                                            |     fcn_000070f8 ();
    0x0001cde0 mov r1, r6                                            |     r1 = r6;
    0x0001cde2 mov r4, r0                                            |     r4 = r0;
    0x0001cde4 bl 0x1b7d0                                            |     fcn_0001b7d0 (r0, r1);
    0x0001cde6 ldc2l p10, c1, [r4], 0xd8                             |     __asm ("ldc2l p10, c1, [r4], 0xd8");
    0x0001cdea ldr.w r7, [r5, 0x1b8]                                 |     r7 = *((r5 + 0x1b8));
    0x0001cdee add r4, r0                                            |     r4 += r0;
    0x0001cdf0 str r0, [sp, 0x2c]                                    |     var_2ch = r0;
    0x0001cdf2 blx 0x729c                                            |     fcn_0000729c ();
    0x0001cdf6 cmp r6, 4                                             |     
    0x0001cdf8 mov sl, r0                                            |     sl = r0;
                                                                     |     if (r6 < 4) {
    0x0001cdfa bls.w 0x1d00c                                         |         goto label_6;
                                                                     |     }
    0x0001cdfe subs.w r3, sb, 0                                      |     r3 = sb - 0;
    0x0001ce02 add.w r2, r5, 0x100                                   |     r2 = r5 + 0x100;
    0x0001ce06 it ne                                                 |     
                                                                     |     if (r3 == sb) {
    0x0001ce08 movne r3, 1                                           |         r3 = 1;
                                                                     |     }
    0x0001ce0a strd r0, sb, [sp, 0x30]                               |     __asm ("strd r0, sb, [var_30h]");
    0x0001ce0e ldr.w sl, [sp, 0x10]                                  |     sl = var_10h;
    0x0001ce12 mov.w fp, 0                                           |     
    0x0001ce16 mov sb, r3                                            |     sb = r3;
    0x0001ce18 str r2, [sp, 0x14]                                    |     var_14h = r2;
    0x0001ce1a b 0x1ce32                                             |     
                                                                     |     while (r2 > 2) {
                                                                     | label_0:
    0x0001ce1c subs r6, r6, r3                                       |         r6 -= r3;
    0x0001ce1e movs r2, 1                                            |         r2 = 1;
    0x0001ce20 add r1, sp, 0x38                                      |         r1 += var_38h;
    0x0001ce22 mov r0, r7                                            |         r0 = r7;
    0x0001ce24 add.w r4, r8, r3                                      |         r4 = r8 + r3;
    0x0001ce28 blx 0x73a8                                            |         fcn_000073a8 ();
    0x0001ce2c cmp r6, 4                                             |         
                                                                     |         if (r6 < 4) {
    0x0001ce2e bls.w 0x1d000                                         |             goto label_16;
                                                                     |         }
    0x0001ce32 subs r6, 3                                            |         r6 -= 3;
    0x0001ce34 add.w r8, r4, 3                                       |         r8 = r4 + 3;
    0x0001ce36 lsrs r3, r0, 0x20                                     |         r3 = r0 >> 0x20;
    0x0001ce38 mov r1, r6                                            |         r1 = r6;
    0x0001ce3a mov r0, r8                                            |         r0 = r8;
    0x0001ce3c bl 0x1b7d0                                            |         r0 = fcn_0001b7d0 (r0, r1);
    0x0001ce40 cmp r6, r0                                            |         
    0x0001ce42 ite ne                                                |         
                                                                     |         if (r6 == r0) {
    0x0001ce44 movne r2, 0                                           |             r2 = 0;
                                                                     |         }
                                                                     |         if (r6 != r0) {
    0x0001ce46 andeq r2, sb, 1                                       |             r2 = sb & 1;
                                                                     |         }
    0x0001ce4a mov r3, r0                                            |         r3 = r0;
                                                                     |         if (r2 != 0) {
    0x0001ce4c cbz r2, 0x1ce58                                       |             
    0x0001ce4e ldr.w r2, [r5, 0x1a8]                                 |             r2 = *((r5 + 0x1a8));
    0x0001ce52 cmp r2, 0                                             |             
                                                                     |             if (r2 == 0) {
    0x0001ce54 beq.w 0x1d000                                         |                 goto label_16;
                                                                     |             }
                                                                     |         }
    0x0001ce58 str r3, [sp, 0x38]                                    |         var_38h = r3;
    0x0001ce5a ldrb r2, [r4, 3]                                      |         r2 = *((r4 + 3));
    0x0001ce5c ubfx r2, r2, 1, 6                                     |         r2 = (r2 >> 1) & ((1 << 6) - 1);
    0x0001ce60 subs r2, 0x20                                         |         r2 -= 0x20;
    0x0001ce62 cmp r2, 2                                             |         
    0x0001ce64 itt ls                                                |         
                                                                     |         if (r2 > 2) {
    0x0001ce66 addls r2, r3, 3                                       |             r2 = r3 + 3;
                                                                     |         }
                                                                     |         if (r2 > 2) {
    0x0001ce68 addls r2, r2, r4                                      |             r2 += r4;
                                                                     |         }
    0x0001ce6a bhi 0x1ce1c                                           |         
                                                                     |     }
                                                                     |     if (r3 == 0) {
    0x0001ce6c cbz r3, 0x1ce7c                                       |         goto label_17;
                                                                     |     }
                                                                     |     do {
    0x0001ce6e ldrb r1, [r2, -0x1]!                                  |         r1 = *((r2 -= 0x1));
    0x0001ce72 subs r0, r3, 1                                        |         r0 = r3 - 1;
                                                                     |         if (r1 != 0) {
    0x0001ce74 cbnz r1, 0x1ce7c                                      |             goto label_17;
                                                                     |         }
    0x0001ce76 mov r3, r0                                            |         r3 = r0;
    0x0001ce78 cmp r3, 0                                             |         
    0x0001ce7a bne 0x1ce6e                                           |         
                                                                     |     } while (r3 != 0);
                                                                     | label_17:
    0x0001ce7c movs r2, 0                                            |     r2 = 0;
    0x0001ce7e mov r1, r3                                            |     r1 = r3;
    0x0001ce80 mov r0, r2                                            |     r0 = r2;
    0x0001ce82 str r3, [sp, 8]                                       |     var_8h = r3;
    0x0001ce84 blx 0x712c                                            |     fcn_0000712c ();
    0x0001ce88 ldr r3, [sp, 8]                                       |     r3 = var_8h;
    0x0001ce8a mov r4, r0                                            |     r4 = r0;
    0x0001ce8c mov r2, r8                                            |     r2 = r8;
    0x0001ce8e movs r1, 0                                            |     r1 = 0;
    0x0001ce90 blx 0x6fb8                                            |     fcn_00006fb8 ();
    0x0001ce94 str r4, [sp]                                          |     *(sp) = r4;
    0x0001ce96 mov r0, r5                                            |     r0 = r5;
    0x0001ce98 ldrd r2, r3, [r5, 0x198]                              |     __asm ("ldrd r2, r3, aav.0x000000ff");
    0x0001ce9c ldr.w r1, [r5, 0x1a0]                                 |     r1 = *((r5 + 0x1a0));
    0x0001cea0 bl 0x1aa90                                            |     fcn_0001aa90 (r0, r1, r2, r3);
    0x0001cea4 ldr r3, [sp, 0xc]                                     |     r3 = var_ch;
    0x0001cea6 mov r4, r0                                            |     r4 = r0;
    0x0001cea8 cmp.w sl, -1                                          |     
    0x0001ceac it eq                                                 |     
                                                                     |     if (sl == -1) {
    0x0001ceae cmpeq r3, -1                                          |         __asm ("cmpeq r3, -1");
                                                                     |     }
    0x0001ceb0 subs r7, 0xff                                         |     r7 -= 0xff;
                                                                     |     if (r7 != 0xff) {
    0x0001ceb2 beq 0x1cec4                                           |         
    0x0001ceb4 mov r2, r3                                            |         r2 = r3;
    0x0001ceb6 ldr r0, [sp, 0x14]                                    |         r0 = var_14h;
    0x0001ceb8 mov r3, sl                                            |         r3 = sl;
    0x0001ceba movs r1, 3                                            |         r1 = 3;
    0x0001cebc blx 0x6314                                            |         gst_rtp_buffer_get_payload_len ();
    0x0001cec0 strd r0, r1, [r5, 0x1c8]                              |         __asm ("strd r0, r1, aav.0x000000ff");
                                                                     |     }
    0x0001cec4 cmp r4, 0                                             |     
    0x0001cec6 ldr r3, [sp, 0x38]                                    |     r3 = var_38h;
    0x0001cec8 it ne                                                 |     
                                                                     |     if (r4 == 0) {
    0x0001ceca movne fp, 1                                           |         
                                                                     |     }
    0x0001cece b 0x1ce1c                                             |     goto label_0;
                                                                     | label_13:
    0x0001ced0 cmp r1, 0                                             |     
                                                                     |     if (r1 == 0) {
    0x0001ced2 beq.w 0x1cffc                                         |         goto label_15;
                                                                     |     }
    0x0001ced6 add r6, sp, 0x3c                                      |     r6 += var_3ch;
    0x0001ced8 blx 0x729c                                            |     fcn_0000729c ();
    0x0001cedc mov r1, r6                                            |     r1 = r6;
    0x0001cede mov sl, r0                                            |     sl = r0;
    0x0001cee0 mov r0, sb                                            |     r0 = sb;
    0x0001cee2 ldr.w r4, [r5, 0x1b4]                                 |     r4 = *((r5 + 0x1b4));
    0x0001cee6 bl 0x763c                                             |     fcn_0000763c (r0, r1);
    0x0001ceea mov r0, sb                                            |     r0 = sb;
    0x0001ceec blx 0x678c                                            |     fcn_0000678c ();
    0x0001cef0 ldr.w r3, [sb, 0xc]                                   |     r3 = *((sb + 0xc));
    0x0001cef4 cmp r4, r0                                            |     
    0x0001cef6 vldr d8, [sb, 0x28]                                   |     __asm ("vldr d8, [sb, 0x28]");
    0x0001cefa mov r7, r0                                            |     r7 = r0;
    0x0001cefc it lo                                                 |     
                                                                     |     if (r4 >= r0) {
    0x0001cefe movlo r8, 0                                           |         r8 = 0;
                                                                     |     }
    0x0001cf02 and r3, r3, 0x200                                     |     r3 &= 0x200;
    0x0001cf06 str r3, [sp, 8]                                       |     var_8h = r3;
    0x0001cf08 ldrd r2, r3, [sb, 0x30]                               |     __asm ("ldrd r2, r3, [sb, 0x30]");
    0x0001cf0c vmov d9, r2, r3                                       |     __asm ("vmov d9, r2, r3");
                                                                     |     if (r4 >= r0) {
    0x0001cf10 bhs 0x1cfb6                                           |         goto label_18;
                                                                     |     }
                                                                     | label_1:
    0x0001cf12 movs r3, 0                                            |     r3 = 0;
    0x0001cf14 add r8, r4                                            |     r8 += r4;
    0x0001cf16 subs r7, r7, r4                                       |     r7 -= r4;
    0x0001cf18 str r3, [sp, 0x38]                                    |     var_38h = r3;
    0x0001cf1a cmp r4, 0                                             |     
                                                                     |     if (r4 == 0) {
    0x0001cf1c beq.w 0x1d172                                         |         goto label_19;
                                                                     |     }
    0x0001cf20 mov fp, r3                                            |     
    0x0001cf22 b 0x1cf30                                             |     
                                                                     |     while (r0 != 0) {
    0x0001cf24 ldr r3, [sp, 0x38]                                    |         r3 = var_38h;
    0x0001cf26 add.w fp, fp, 1                                       |         
    0x0001cf2a cmp fp, r4                                            |         
    0x0001cf2c mov r1, r3                                            |         r1 = r3;
                                                                     |         if (fp == r4) {
    0x0001cf2e beq 0x1cf48                                           |             goto label_20;
                                                                     |         }
    0x0001cf30 ldr r2, [sp, 0x80]                                    |         r2 = var_80h;
    0x0001cf32 movs r1, 1                                            |         r1 = 1;
    0x0001cf34 mov r0, r6                                            |         r0 = r6;
    0x0001cf36 ldrb r2, [r2]                                         |         r2 = *(r2);
    0x0001cf38 add.w r2, r2, r3, lsl 8                               |         r2 += (r3 << 8);
    0x0001cf3c str r2, [sp, 0x38]                                    |         var_38h = r2;
    0x0001cf3e bl 0x76e4                                             |         r0 = fcn_000076e4 (r0, r1, r2);
    0x0001cf42 cmp r0, 0                                             |         
    0x0001cf44 bne 0x1cf24                                           |         
                                                                     |     }
    0x0001cf46 ldr r1, [sp, 0x38]                                    |     r1 = var_38h;
                                                                     | label_20:
    0x0001cf48 cmp r1, r7                                            |     
    0x0001cf4a mov r3, r1                                            |     r3 = r1;
    0x0001cf4c itt hi                                                |     
                                                                     |     if (r1 <= r7) {
    0x0001cf4e movhi r3, r7                                          |         r3 = r7;
                                                                     |     }
                                                                     |     if (r1 <= r7) {
    0x0001cf50 strhi r7, [sp, 0x38]                                  |         var_38h = r7;
                                                                     |     }
                                                                     | label_10:
    0x0001cf52 mov r2, r8                                            |     r2 = r8;
    0x0001cf54 movs r1, 0xf                                          |     r1 = 0xf;
    0x0001cf56 mov r0, sb                                            |     r0 = sb;
    0x0001cf58 blx 0x6f34                                            |     r0 = fcn_00006f34 ();
    0x0001cf5c mov fp, r0                                            |     
    0x0001cf5e mov r0, sl                                            |     r0 = sl;
    0x0001cf60 mov r1, fp                                            |     r1 = fp;
    0x0001cf62 blx 0x67b0                                            |     fcn_000067b0 ();
    0x0001cf64 stc p9, c9, [r6], -0x38                               |     __asm ("stc p9, c9, [r6], -0x38");
    0x0001cf68 ldr.w r3, [fp, 0xc]                                   |     r3 = *(arg_ch);
    0x0001cf6a adds r0, 0xc                                          |     r0 += 0xc;
    0x0001cf6c subs r0, r7, r1                                       |     r0 = r7 - r1;
    0x0001cf6e cmp r0, r4                                            |     
    0x0001cf70 bic r3, r3, 0x200                                     |     r3 = BIT_MASK (r3, 0x200);
    0x0001cf74 str.w r3, [fp, 0xc]                                   |     __asm ("str.w r3, [arg_ch]");
                                                                     |     if (r0 <= r4) {
    0x0001cf78 bhi 0x1cf9c                                           |         
    0x0001cf7a ldr r2, [sp, 8]                                       |         r2 = var_8h;
    0x0001cf7c ldr.w r0, [r5, 0x1a8]                                 |         r0 = *((r5 + 0x1a8));
    0x0001cf80 subs.w ip, r2, 0                                      |         
    0x0001cf84 it ne                                                 |         
                                                                     |         if (ip == r2) {
    0x0001cf86 movne ip, 1                                           |             
                                                                     |         }
    0x0001cf8a cmp r0, 2                                             |         
    0x0001cf8c it eq                                                 |         
                                                                     |         if (r0 != 2) {
    0x0001cf8e orreq ip, ip, 1                                       |             
                                                                     |         }
    0x0001cf92 cmp.w ip, 0                                           |         
                                                                     |         if (ip == 0) {
    0x0001cf96 beq 0x1cf9c                                           |             goto label_21;
                                                                     |         }
    0x0001cf98 orr r3, r3, 0x200                                     |         r3 |= 0x200;
                                                                     |     }
                                                                     | label_21:
    0x0001cf9c bic r3, r3, 0x40                                      |     r3 = BIT_MASK (r3, 0x40);
    0x0001cfa0 mov r0, r6                                            |     r0 = r6;
    0x0001cfa2 str.w r3, [fp, 0xc]                                   |     __asm ("str.w r3, [arg_ch]");
    0x0001cfa6 bl 0x76e4                                             |     r0 = fcn_000076e4 (r0, r1, r2);
                                                                     |     if (r0 == 0) {
    0x0001cfaa cbz r0, 0x1cfb6                                       |         goto label_18;
                                                                     |     }
    0x0001cfac ldr r3, [sp, 0x38]                                    |     r3 = var_38h;
    0x0001cfae subs r7, r7, r3                                       |     r7 -= r3;
    0x0001cfb0 add r8, r3                                            |     r8 += r3;
    0x0001cfb2 cmp r4, r7                                            |     
                                                                     |     if (r4 <= r7) {
    0x0001cfb4 blo 0x1cf12                                           |         goto label_1;
                                                                     |     }
                                                                     | label_18:
    0x0001cfb6 vmov r2, r3, d9                                       |     __asm ("vmov r2, r3, d9");
    0x0001cfba mov r1, sl                                            |     r1 = sl;
    0x0001cfbc mov r0, r5                                            |     r0 = r5;
    0x0001cfbe vstr d8, [sp]                                         |     __asm ("vstr d8, [sp]");
    0x0001cfc2 bl 0x1c914                                            |     r0 = fcn_0001c914 (r0, r1, r2, r3);
    0x0001cfc6 mov r4, r0                                            |     r4 = r0;
    0x0001cfc8 mov r0, r6                                            |     r0 = r6;
    0x0001cfca bl 0x7790                                             |     fcn_00007790 (r0);
    0x0001cfce mov r0, sb                                            |     r0 = sb;
    0x0001cfd0 blx 0x6b14                                            |     fcn_00006b14 ();
    0x0001cfd4 cmp r4, 0                                             |     
                                                                     |     if (r4 == 0) {
    0x0001cfd6 beq.w 0x1d15c                                         |         goto label_22;
                                                                     |     }
                                                                     |     do {
                                                                     | label_2:
    0x0001cfda ldr r2, [pc, 0x1b4]                                   |         
    0x0001cfdc ldr r3, [pc, 0x1ac]                                   |         r3 = *(0x1d18c);
    0x0001cfde add r2, pc                                            |         r2 = 0x3a174;
    0x0001cfe0 ldr r3, [r2, r3]                                      |         r3 = *(0x3a174);
    0x0001cfe2 ldr r2, [r3]                                          |         r2 = *(0x3a174);
    0x0001cfe4 ldr r3, [sp, 0x8c]                                    |         r3 = var_8ch;
    0x0001cfe6 eors r2, r3                                           |         r2 ^= r3;
    0x0001cfe8 mov.w r3, 0                                           |         r3 = 0;
                                                                     |         if (r2 != r3) {
    0x0001cfec bne.w 0x1d182                                         |             goto label_23;
                                                                     |         }
    0x0001cff0 mov r0, r4                                            |         r0 = r4;
    0x0001cff2 add sp, 0x94                                          |         
    0x0001cff4 vpop {d8, d9}                                         |         __asm ("vpop {d8, d9}");
    0x0001cff8 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}            |         
                                                                     | label_15:
    0x0001cffc movs r4, 0                                            |         r4 = 0;
    0x0001cffe b 0x1cfda                                             |         
                                                                     |     } while (1);
                                                                     | label_16:
    0x0001d000 ldrd sl, sb, [sp, 0x30]                               |     __asm ("ldrd sl, sb, [var_30h]");
    0x0001d004 cmp.w fp, 0                                           |     
                                                                     |     if (fp != 0) {
    0x0001d008 bne.w 0x1d13a                                         |         goto label_24;
                                                                     |     }
                                                                     | label_6:
    0x0001d00c ldr r3, [r7, 4]                                       |     r3 = *((r7 + 4));
                                                                     |     if (r3 != 0) {
    0x0001d00e cbnz r3, 0x1d058                                      |         goto label_25;
                                                                     |     }
                                                                     | label_3:
    0x0001d010 ldr r3, [sp, 0xc]                                     |     r3 = var_ch;
    0x0001d012 mov r1, sl                                            |     r1 = sl;
    0x0001d014 mov r0, r5                                            |     r0 = r5;
    0x0001d016 str r3, [sp]                                          |     *(sp) = r3;
    0x0001d018 ldr r3, [sp, 0x10]                                    |     r3 = var_10h;
    0x0001d01a str r3, [sp, 4]                                       |     var_4h_2 = r3;
    0x0001d01c ldrd r2, r3, [sp, 0x18]                               |     __asm ("ldrd r2, r3, [var_18h]");
    0x0001d020 bl 0x1c914                                            |     fcn_0001c914 (r0, r1, r2, r3);
    0x0001d022 ldc2l p6, c4, [r8], -0x10                             |     __asm ("ldc2l p6, c4, [r8], -0x10");
    0x0001d026 movs r1, 0                                            |     r1 = 0;
    0x0001d028 mov r0, r7                                            |     r0 = r7;
    0x0001d02a blx 0x6c2c                                            |     g_assertion_message_cmpnum ();
                                                                     |     if (r4 != 0) {
    0x0001d02e cbnz r4, 0x1d04e                                      |         goto label_7;
                                                                     |     }
    0x0001d030 ldr.w r3, [r5, 0x1d4]                                 |     r3 = *((r5 + 0x1d4));
                                                                     |     if (r3 == 0) {
    0x0001d034 cbz r3, 0x1d04e                                       |         goto label_7;
                                                                     |     }
    0x0001d036 ldr.w r3, [r5, 0x1dc]                                 |     r3 = *((r5 + 0x1dc));
    0x0001d03a cmp r3, 1                                             |     
                                                                     |     if (r3 != 1) {
    0x0001d03c bne 0x1d04e                                           |         goto label_7;
                                                                     |     }
                                                                     | label_9:
    0x0001d03e ldr.w r4, [r5, 0x1d8]                                 |     r4 = *((r5 + 0x1d8));
    0x0001d042 cmp r4, 0                                             |     
                                                                     |     if (r4 != 0) {
    0x0001d044 bne.w 0x1d176                                         |         goto label_26;
                                                                     |     }
                                                                     | label_11:
    0x0001d048 ldr r3, [sp, 0x20]                                    |     r3 = var_20h;
    0x0001d04a cmp r3, 1                                             |     
                                                                     |     if (r3 < 1) {
    0x0001d04c bls 0x1cfda                                           |         goto label_2;
                                                                     |     }
                                                                     | label_7:
    0x0001d04e ldr.w r0, [r5, 0x1bc]                                 |     r0 = *((r5 + 0x1bc));
    0x0001d052 blx 0x6ec4                                            |     fcn_00006ec4 ();
    0x0001d056 b 0x1cfda                                             |     goto label_2;
                                                                     | label_25:
    0x0001d058 ldr r1, [sp, 0x2c]                                    |     r1 = var_2ch;
    0x0001d05a ldr.w r0, [r5, 0x1bc]                                 |     r0 = *((r5 + 0x1bc));
    0x0001d05e blx 0x6878                                            |     g_strdup_printf ()
    0x0001d062 ldr r3, [r7, 4]                                       |     r3 = *((r7 + 4));
    0x0001d064 cmp r3, 0                                             |     
                                                                     |     if (r3 == 0) {
    0x0001d066 beq 0x1d010                                           |         goto label_3;
                                                                     |     }
    0x0001d068 ldr r3, [sp, 0x24]                                    |     r3 = var_24h;
    0x0001d06a mov fp, r7                                            |     
    0x0001d06c ldr r7, [sp, 0x28]                                    |     r7 = var_28h;
    0x0001d06e cmp.w sb, 0                                           |     
    0x0001d072 mov.w r4, 0                                           |     r4 = 0;
    0x0001d076 it ne                                                 |     
                                                                     |     if (sb == 0) {
    0x0001d078 movne r8, 1                                           |         r8 = 1;
                                                                     |     }
    0x0001d07c it eq                                                 |     
                                                                     |     if (sb != 0) {
    0x0001d07e orreq r3, r3, 1                                       |         r3 |= 1;
                                                                     |     }
    0x0001d082 it eq                                                 |     
                                                                     |     if (sb != 0) {
    0x0001d084 moveq r8, 0                                           |         r8 = 0;
                                                                     |     }
    0x0001d088 str r3, [sp, 0x14]                                    |     var_14h = r3;
    0x0001d08a str.w r8, [sp, 8]                                     |     __asm ("str.w r8, [var_8h]");
                                                                     | label_4:
    0x0001d08e ldr.w r2, [fp]                                        |     r2 = *(fp);
    0x0001d092 movs r1, 3                                            |     r1 = 3;
    0x0001d094 ldr.w r0, [r5, 0x1bc]                                 |     r0 = *((r5 + 0x1bc));
    0x0001d098 mov sb, r4                                            |     sb = r4;
    0x0001d09a ldr.w r2, [r2, r4, lsl 2]                             |     offset_0 = r4 << 2;
                                                                     |     r2 = *((r2 + offset_0));
    0x0001d09e adds r4, 1                                            |     r4++;
    0x0001d0a0 str r2, [sp, 0x38]                                    |     var_38h = r2;
    0x0001d0a2 blx 0x6878                                            |     g_strdup_printf ()
    0x0001d0a6 ldr r6, [sp, 0x38]                                    |     r6 = var_38h;
    0x0001d0a8 ldr.w r0, [r5, 0x1bc]                                 |     r0 = *((r5 + 0x1bc));
    0x0001d0ac mov r1, r6                                            |     r1 = r6;
    0x0001d0ae blx 0x70f8                                            |     fcn_000070f8 ();
    0x0001d0b2 ldr.w r2, [fp, 4]                                     |     r2 = *(arg_4h);
    0x0001d0b6 add r0, r6                                            |     r0 += r6;
    0x0001d0b8 ldr r1, [sp, 8]                                       |     r1 = var_8h;
    0x0001d0ba cmp r2, r4                                            |     
    0x0001d0bc it ne                                                 |     
                                                                     |     if (r2 == r4) {
    0x0001d0be orrne r1, r1, 1                                       |         r1 |= 1;
                                                                     |     }
                                                                     |     if (r1 != 0) {
    0x0001d0c2 cbnz r1, 0x1d0d0                                      |         goto label_27;
                                                                     |     }
    0x0001d0c4 b 0x1d0d4                                             |     goto label_28;
                                                                     |     do {
    0x0001d0c6 ldrb r3, [r0, -0x1]!                                  |         r3 = *((r0 -= 0x1));
    0x0001d0ca subs r2, r6, 1                                        |         r2 = r6 - 1;
                                                                     |         if (r3 != 0) {
    0x0001d0cc cbnz r3, 0x1d0d4                                      |             goto label_28;
                                                                     |         }
    0x0001d0ce mov r6, r2                                            |         r6 = r2;
                                                                     | label_27:
    0x0001d0d0 cmp r6, 2                                             |         
    0x0001d0d2 bhi 0x1d0c6                                           |         
                                                                     |     } while (r6 > 2);
                                                                     | label_28:
    0x0001d0d4 mov r1, r6                                            |     r1 = r6;
    0x0001d0d6 ldr.w r0, [r5, 0x1bc]                                 |     r0 = *((r5 + 0x1bc));
    0x0001d0da blx 0x7058                                            |     r0 = g_value_set_object ();
    0x0001d0de mov r8, r0                                            |     r8 = r0;
    0x0001d0e0 mov r0, sl                                            |     r0 = sl;
    0x0001d0e2 mov r1, r8                                            |     r1 = r8;
    0x0001d0e4 blx 0x67b0                                            |     fcn_000067b0 ();
    0x0001d0e8 ldr.w r0, [r8, 0xc]                                   |     r0 = *((r8 + 0xc));
    0x0001d0ec bic r0, r0, 0x200                                     |     r0 = BIT_MASK (r0, 0x200);
    0x0001d0f0 str.w r0, [r8, 0xc]                                   |     __asm ("str.w r0, [r8, 0xc]");
    0x0001d0f4 ldr.w r2, [fp, 4]                                     |     r2 = *(arg_4h);
    0x0001d0f8 subs r2, 1                                            |     r2--;
    0x0001d0fa cmp r2, sb                                            |     
                                                                     |     if (r2 == sb) {
    0x0001d0fc beq 0x1d126                                           |         goto label_29;
                                                                     |     }
                                                                     | label_5:
    0x0001d0fe bic r0, r0, 0x40                                      |     r0 = BIT_MASK (r0, 0x40);
                                                                     |     if (r7 != 0) {
    0x0001d102 cbz r7, 0x1d108                                       |         
    0x0001d104 orr r0, r0, 0x40                                      |         r0 |= 0x40;
                                                                     |     }
    0x0001d108 ldr r1, [sp, 0x38]                                    |     r1 = var_38h;
    0x0001d10a movs r7, 0                                            |     r7 = 0;
    0x0001d10c str.w r0, [r8, 0xc]                                   |     __asm ("str.w r0, [r8, 0xc]");
    0x0001d110 ldr.w r0, [r5, 0x1bc]                                 |     r0 = *((r5 + 0x1bc));
    0x0001d114 subs r1, r1, r6                                       |     r1 -= r6;
    0x0001d116 blx 0x6878                                            |     r0 = g_strdup_printf ()
    0x0001d118 subs.w r8, r0, fp, lsr 31                             |     r8 = r0 - (fp >> 31);
    0x0001d11c movs r0, 4                                            |     r0 = 4;
    0x0001d11e cmp r4, r2                                            |     
                                                                     |     if (r4 <= r2) {
    0x0001d120 blo 0x1d08e                                           |         goto label_4;
                                                                     |     }
    0x0001d122 mov r7, fp                                            |     r7 = fp;
    0x0001d124 b 0x1d010                                             |     goto label_3;
                                                                     | label_29:
    0x0001d126 ldr.w r2, [r5, 0x1a8]                                 |     r2 = *((r5 + 0x1a8));
    0x0001d12a cmp r2, 2                                             |     
                                                                     |     if (r2 == 2) {
    0x0001d12c beq 0x1d134                                           |         goto label_30;
                                                                     |     }
    0x0001d12e ldr r3, [sp, 0x14]                                    |     r3 = var_14h;
    0x0001d130 cmp r3, 0                                             |     
                                                                     |     if (r3 == 0) {
    0x0001d132 beq 0x1d0fe                                           |         goto label_5;
                                                                     |     }
                                                                     | label_30:
    0x0001d134 orr r0, r0, 0x200                                     |     r0 |= 0x200;
    0x0001d138 b 0x1d0fe                                             |     goto label_5;
                                                                     | label_24:
    0x0001d13a mov r0, r5                                            |     r0 = r5;
    0x0001d13c bl 0x1b974                                            |     r0 = fcn_0001b974 (r0);
    0x0001d140 cmp r0, 0                                             |     
                                                                     |     if (r0 != 0) {
    0x0001d142 bne.w 0x1d00c                                         |         goto label_6;
                                                                     |     }
    0x0001d146 mov r1, r0                                            |     r1 = r0;
    0x0001d148 mov r0, r7                                            |     r0 = r7;
    0x0001d14a mvn r4, 3                                             |     r4 = ~3;
    0x0001d14e blx 0x6c2c                                            |     g_assertion_message_cmpnum ();
    0x0001d152 b 0x1d04e                                             |     goto label_7;
                                                                     | label_14:
    0x0001d154 ubfx r2, r3, 6, 1                                     |     r2 = (r3 >> 6) & ((1 << 1) - 1);
    0x0001d158 str r2, [sp, 0x28]                                    |     var_28h = r2;
    0x0001d15a b 0x1cd94                                             |     goto label_8;
                                                                     | label_22:
    0x0001d15c ldr.w r3, [r5, 0x1d4]                                 |     r3 = *((r5 + 0x1d4));
    0x0001d160 cmp r3, 0                                             |     
                                                                     |     if (r3 == 0) {
    0x0001d162 beq.w 0x1cfda                                         |         goto label_2;
                                                                     |     }
    0x0001d166 ldr.w r3, [r5, 0x1dc]                                 |     r3 = *((r5 + 0x1dc));
    0x0001d16a cmp r3, 1                                             |     
                                                                     |     if (r3 != 1) {
    0x0001d16c bne.w 0x1cfda                                         |         goto label_2;
                                                                     |     }
    0x0001d170 b 0x1d03e                                             |     goto label_9;
                                                                     | label_19:
    0x0001d172 mov r3, r4                                            |     r3 = r4;
    0x0001d174 b 0x1cf52                                             |     goto label_10;
                                                                     | label_26:
    0x0001d176 movs r1, 0                                            |     r1 = 0;
    0x0001d178 mov r0, r5                                            |     r0 = r5;
    0x0001d17a bl 0x1c794                                            |     r0 = fcn_0001c794 (r0, r1);
    0x0001d17e mov r4, r0                                            |     r4 = r0;
    0x0001d180 b 0x1d048                                             |     goto label_11;
                                                                     | label_23:
    0x0001d182 blx 0x6f28                                            |     fcn_00006f28 ();
    0x0001d186 nop                                                   |     
    0x0001d188 ldr r2, [r0, 0x40]                                    |     r2 = *((r0 + 0x40));
    0x0001d18a movs r3, r0                                           |     r3 = r0;
    0x0001d18c lsls r0, r1, 0x1a                                     |     r0 = r1 << 0x1a;
    0x0001d18e movs r0, r0                                           |     
    0x0001d190 ldr r6, [r7, 0x14]                                    |     r6 = *((r7 + 0x14));
    0x0001d192 movs r3, r0                                           |     r3 = r0;
    0x0001d194 ldr.w ip, [pc, 0x114]                                 |     
    0x0001d198 movw r2, 0x6e0e                                       |     r2 = 0x6e0e;
    0x0001d19c push {r4, r5, r6, lr}                                 |     
    0x0001d19e mov r5, r1                                            |     r5 = r1;
    0x0001d1a0 ldr r3, [r1, 0x24]                                    |     r3 = *((r1 + 0x24));
    0x0001d1a2 sub sp, 8                                             |     
    0x0001d1a4 add ip, pc                                            |     ip = 0x3a454;
    0x0001d1a6 mov r4, r0                                            |     r4 = r0;
    0x0001d1a8 ldr r1, [pc, 0x104]                                   |     r1 = *(0x1d2b0);
    0x0001d1aa cmp r3, r2                                            |     
    0x0001d1ac ldr.w r1, [ip, r1]                                    |     
    0x0001d1b0 ldr r1, [r1]                                          |     r1 = *(0x3a454);
    0x0001d1b2 str r1, [sp, 4]                                       |     var_4h = r1;
    0x0001d1b4 mov.w r1, 0                                           |     r1 = 0;
                                                                     |     if (r3 == r2) {
    0x0001d1b8 beq 0x1d272                                           |         goto label_31;
                                                                     |     }
                                                                     |     if (r3 > r2) {
    0x0001d1ba bhi 0x1d214                                           |         goto label_32;
                                                                     |     }
    0x0001d1bc movw r2, 0x1407                                       |     r2 = 0x1407;
    0x0001d1c0 cmp r3, r2                                            |     
                                                                     |     if (r3 == r2) {
    0x0001d1c2 beq 0x1d252                                           |         goto label_33;
                                                                     |     }
    0x0001d1c4 movw r2, 0x280e                                       |     r2 = 0x280e;
    0x0001d1c8 cmp r3, r2                                            |     
                                                                     |     if (r3 != r2) {
    0x0001d1ca bne 0x1d1ea                                           |         goto label_12;
                                                                     |     }
    0x0001d1cc ldr.w r0, [r0, 0x1a0]                                 |     r0 = *((r0 + 0x1a0));
    0x0001d1d0 movs r1, 0                                            |     r1 = 0;
    0x0001d1d2 blx 0x70c8                                            |     fcn_000070c8 ();
    0x0001d1d4 invalid                                               |     
    0x0001d1d8 lsls r0, r3, 6                                        |     r0 = r3 << 6;
    0x0001d1da movs r1, 0                                            |     r1 = 0;
    0x0001d1dc blx 0x70c8                                            |     fcn_000070c8 ();
    0x0001d1e0 ldr.w r0, [r4, 0x19c]                                 |     r0 = *((r4 + 0x19c));
    0x0001d1e4 movs r1, 0                                            |     r1 = 0;
    0x0001d1e6 blx 0x70c8                                            |     fcn_000070c8 ();
                                                                     |     do {
                                                                     | label_12:
    0x0001d1ea ldr r2, [pc, 0xc8]                                    |         
    0x0001d1ec ldr r3, [pc, 0xc0]                                    |         r3 = *(0x1d2b0);
    0x0001d1ee add r2, pc                                            |         r2 = 0x3a4a8;
    0x0001d1f0 ldr r3, [r2, r3]                                      |         r3 = *(0x3a4a8);
    0x0001d1f2 ldr r2, [r3]                                          |         r2 = *(0x3a4a8);
    0x0001d1f4 ldr r3, [sp, 4]                                       |         r3 = var_4h;
    0x0001d1f6 eors r2, r3                                           |         r2 ^= r3;
    0x0001d1f8 mov.w r3, 0                                           |         r3 = 0;
                                                                     |         if (r2 != r3) {
    0x0001d1fc bne 0x1d2a6                                           |             goto label_34;
                                                                     |         }
    0x0001d1fe ldr r3, [pc, 0xb8]                                    |         
    0x0001d200 mov r1, r5                                            |         r1 = r5;
    0x0001d202 mov r0, r4                                            |         r0 = r4;
    0x0001d204 add r3, pc                                            |         
    0x0001d206 ldr r3, [r3]                                          |         
    0x0001d208 ldr.w r3, [r3, 0x104]                                 |         r3 = *(0x3a5c6);
    0x0001d20c add sp, 8                                             |         
    0x0001d20e pop.w {r4, r5, r6, lr}                                |         
    0x0001d212 bx r3                                                 |         return uint32_t (*r3)() ();
                                                                     | label_32:
    0x0001d214 movw r2, 0x1806                                       |         
    0x0001d218 movt r2, 1                                            |         r2 = 0x11806;
    0x0001d21c cmp r3, r2                                            |         
    0x0001d21e bne 0x1d1ea                                           |         
                                                                     |     } while (r3 != r2);
    0x0001d220 mov r0, r5                                            |     r0 = r5;
    0x0001d222 blx 0x6bf0                                            |     gst_rtp_buffer_get_payload ();
    0x0001d226 ldr r1, [pc, 0x94]                                    |     
    0x0001d228 mov r6, r0                                            |     r6 = r0;
    0x0001d22a add r1, pc                                            |     r1 = 0x3a4ec;
    0x0001d22c blx 0x61f4                                            |     r0 = gst_element_class_set_metadata ();
    0x0001d230 cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0001d232 beq 0x1d1ea                                           |         goto label_12;
                                                                     |     }
    0x0001d234 ldr r1, [pc, 0x88]                                    |     
    0x0001d236 mov r2, sp                                            |     r2 = sp;
    0x0001d238 mov r0, r6                                            |     r0 = r6;
    0x0001d23a add r1, pc                                            |     r1 = 0x3a4fe;
    0x0001d23c blx 0x715c                                            |     r0 = fcn_0000715c ();
    0x0001d240 cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0001d242 beq 0x1d1ea                                           |         goto label_12;
                                                                     |     }
    0x0001d244 ldr r3, [sp]                                          |     r3 = *(sp);
    0x0001d246 cmp r3, 0                                             |     
                                                                     |     if (r3 == 0) {
    0x0001d248 beq 0x1d1ea                                           |         goto label_12;
                                                                     |     }
    0x0001d24a movs r3, 1                                            |     r3 = 1;
    0x0001d24c str.w r3, [r4, 0x1c4]                                 |     __asm ("str.w r3, aav.0x000000ff");
    0x0001d24e adds r1, 0xc4                                         |     r1 += 0xc4;
    0x0001d250 b 0x1d1ea                                             |     goto label_12;
                                                                     | label_33:
    0x0001d252 ldr.w r0, [r0, 0x1bc]                                 |     r0 = *((r0 + 0x1bc));
    0x0001d256 blx 0x6588                                            |     fcn_00006588 ();
    0x0001d25a ldr.w r0, [r4, 0x1d0]                                 |     r0 = *((r4 + 0x1d0));
    0x0001d25e movs r3, 0                                            |     r3 = 0;
    0x0001d260 str.w r3, [r4, 0x1d0]                                 |     __asm ("str.w r3, aav.0x000000ff");
                                                                     |     if (r0 != 0) {
    0x0001d264 cbz r0, 0x1d26a                                       |         
    0x0001d266 blx 0x6b14                                            |         fcn_00006b14 ();
                                                                     |     }
    0x0001d26a movs r3, 0                                            |     r3 = 0;
    0x0001d26c strd r3, r3, [r4, 0x1d4]                              |     __asm ("strd r3, r3, aav.0x000000ff");
    0x0001d270 b 0x1d1ea                                             |     goto label_12;
                                                                     | label_31:
    0x0001d272 movs r1, 0                                            |     r1 = 0;
    0x0001d274 bl 0x1cd4c                                            |     fcn_0001cd4c (r0, r1, r2, r3, r4);
    0x0001d278 ldr.w r3, [r4, 0x1d4]                                 |     r3 = *((r4 + 0x1d4));
    0x0001d27c cmp r3, 0                                             |     
                                                                     |     if (r3 == 0) {
    0x0001d27e beq 0x1d1ea                                           |         goto label_12;
                                                                     |     }
    0x0001d280 movs r1, 1                                            |     r1 = 1;
    0x0001d282 mov r0, r4                                            |     r0 = r4;
    0x0001d284 bl 0x1c794                                            |     fcn_0001c794 (r0, r1);
    0x0001d286 invalid                                               |     
                                                                     |     if (r1 == 1) {
    0x0001d28a beq 0x1d1ea                                           |         goto label_12;
                                                                     |     }
    0x0001d28c ldr r2, [pc, 0x34]                                    |     
    0x0001d28e ldr r3, [pc, 0x20]                                    |     r3 = *(0x1d2b2);
    0x0001d290 add r2, pc                                            |     r2 = 0x3a558;
    0x0001d292 ldr r3, [r2, r3]                                      |     r3 = *(0x3a558);
    0x0001d294 ldr r2, [r3]                                          |     r2 = *(0x3a558);
    0x0001d296 ldr r3, [sp, 4]                                       |     r3 = var_4h;
    0x0001d298 eors r2, r3                                           |     r2 ^= r3;
    0x0001d29a mov.w r3, 0                                           |     r3 = 0;
                                                                     |     if (r2 == r3) {
    0x0001d29e bne 0x1d2a6                                           |         
    0x0001d2a0 movs r0, 0                                            |         r0 = 0;
    0x0001d2a2 add sp, 8                                             |         
    0x0001d2a4 pop {r4, r5, r6, pc}                                  |         
                                                                     |     }
                                                                     | label_34:
    0x0001d2a6 blx 0x6f28                                            |     fcn_00006f28 ();
    0x0001d2aa nop                                                   |     
    0x0001d2ac str r0, [r7, 0x78]                                    |     *((r7 + 0x78)) = r0;
    0x0001d2ae movs r3, r0                                           |     r3 = r0;
    0x0001d2b0 lsls r0, r1, 0x1a                                     |     r0 = r1 << 0x1a;
    0x0001d2b2 movs r0, r0                                           |     
    0x0001d2b4 str r6, [r5, 0x74]                                    |     *((r5 + 0x74)) = r6;
    0x0001d2b6 movs r3, r0                                           |     r3 = r0;
    0x0001d2b8 ldrh r0, [r0, 0x10]                                   |     r0 = *((r0 + 0x10));
    0x0001d2ba movs r3, r0                                           |     r3 = r0;
    0x0001d2bc b 0x1d2f4                                             |     
    0x0001d2f4 strd pc, r8, [sl, -0x350]                             |     __asm ("strd pc, r8, aav.0x000000ff");
    0x0001d2f8 lsls r0, r2, 7                                        |     r0 = r2 << 7;
    0x0001d2fa str.w r5, [r4, 0x1d0]                                 |     __asm ("str.w r5, aav.0x000000ff");
                                                                     |     if (r0 != 0) {
    0x0001d2fe cbz r0, 0x1d304                                       |         
    0x0001d300 blx 0x6b14                                            |         fcn_00006b14 ();
                                                                     |     }
    0x0001d304 ldr r3, [pc, 0x44]                                    |     
    0x0001d306 movs r2, 0                                            |     r2 = 0;
    0x0001d308 strd r2, r2, [r4, 0x1d4]                              |     __asm ("strd r2, r2, aav.0x000000ff");
    0x0001d30c mov r0, r4                                            |     r0 = r4;
    0x0001d30e movs r1, 0x13                                         |     r1 = 0x13;
    0x0001d310 pop.w {r4, r5, r6, lr}                                |     
    0x0001d314 add r3, pc                                            |     
    0x0001d316 ldr r3, [r3]                                          |     
    0x0001d318 ldr.w r3, [r3, 0x8c]                                  |     r3 = *(0x3a6f0);
    0x0001d31c bx r3                                                 |     return uint32_t (*r3)() ();
                                                                     | }
    ; assembly                                                   | /* r2dec pseudo code output */
                                                                 | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/gstreamer-1.0/libgstrtp.so @ 0x22abc */
                                                                 | #include <stdint.h>
                                                                 |  
    ; (fcn) fcn.00022abc ()                                      | void fcn_00022abc (int16_t arg1) {
                                                                 |     int16_t var_4h;
                                                                 |     int16_t var_fch;
                                                                 |     r0 = arg1;
    0x00022abc blmi 0x12353e0                                    |     __asm ("blmi aav.0x00030e96");
    0x00022ac0 push.w {r4, r5, r6, r7, r8, sb, sl, lr}           |     
    0x00022ac4 mov r6, r0                                        |     r6 = r0;
    0x00022ac6 add r2, pc                                        |     r2 += pc;
    0x00022ac8 sub sp, 0x100                                     |     
    0x00022aca ldr r3, [r2, r3]                                  |     r3 = *((r2 + r3));
    0x00022acc ldr.w r0, [r0, 0x198]                             |     r0 = *((r0 + 0x198));
    0x00022ad0 ldr r3, [r3]                                      |     r3 = *(r3);
    0x00022ad2 str r3, [sp, 0xfc]                                |     var_fch = r3;
    0x00022ad4 mov.w r3, 0                                       |     r3 = 0;
    0x00022ad8 blx 0x64c4                                        |     g_list_free ();
    0x00022adc ldr.w r3, [r6, 0x1b8]                             |     r3 = *((r6 + 0x1b8));
    0x00022ae0 mov r4, r0                                        |     r4 = r0;
    0x00022ae2 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00022ae4 beq 0x22bc2                                       |         goto label_2;
                                                                 |     }
                                                                 |     if (r4 == 0) {
                                                                 | label_0:
    0x00022ae6 cbnz r4, 0x22b04                                  |         
                                                                 | label_1:
    0x00022ae8 ldr r2, [pc, 0xf8]                                |         
    0x00022aea ldr r3, [pc, 0xf4]                                |         r3 = *(0x22be2);
    0x00022aec add r2, pc                                        |         r2 = 0x456d4;
    0x00022aee ldr r3, [r2, r3]                                  |         r3 = *(0x456d4);
    0x00022af0 ldr r2, [r3]                                      |         r2 = *(0x456d4);
    0x00022af2 ldr r3, [sp, 0xfc]                                |         r3 = var_fch;
    0x00022af4 eors r2, r3                                       |         r2 ^= r3;
    0x00022af6 mov.w r3, 0                                       |         r3 = 0;
                                                                 |         if (r2 != r3) {
    0x00022afa bne 0x22bd6                                       |             goto label_3;
                                                                 |         }
    0x00022afc movs r0, 0                                        |         r0 = 0;
    0x00022afe add sp, 0x100                                     |         
    0x00022b00 pop.w {r4, r5, r6, r7, r8, sb, sl, pc}            |         
                                                                 |     }
    0x00022b04 ldr.w sb, [r6, 0xfc]                              |     sb = *((r6 + 0xfc));
    0x00022b08 mov r0, r4                                        |     r0 = r4;
    0x00022b0a add r7, sp, 4                                     |     r7 += var_4h;
    0x00022b0c sub.w r1, sb, 0xc                                 |     r1 = sb - 0xc;
    0x00022b10 bl 0x336d8                                        |     fcn_000336d8 (r0, r1, r2);
    0x00022b14 adds r0, 1                                        |     r0++;
    0x00022b16 blx 0x6534                                        |     r0 = fcn_00006534 ();
    0x00022b1a mov r8, r0                                        |     r8 = r0;
                                                                 |     do {
    0x00022b1c movs r2, 0xf8                                     |         r2 = 0xf8;
    0x00022b1e movs r1, 0                                        |         r1 = 0;
    0x00022b20 mov r0, r7                                        |         r0 = r7;
    0x00022b22 blx 0x65a0                                        |         fcn_000065a0 ();
    0x00022b26 movs r2, 0                                        |         r2 = 0;
    0x00022b28 mov r0, r4                                        |         r0 = r4;
    0x00022b2a mov r1, r2                                        |         r1 = r2;
    0x00022b2c blx 0x6aa8                                        |         fcn_00006aa8 ();
    0x00022b30 movs r2, 0                                        |         r2 = 0;
    0x00022b32 cmp r0, sb                                        |         
    0x00022b34 it hs                                             |         
                                                                 |         if (r0 < sb) {
    0x00022b36 movhs r0, sb                                      |             r0 = sb;
                                                                 |         }
    0x00022b38 mov r1, r2                                        |         r1 = r2;
    0x00022b3a blx 0x6218                                        |         gst_adapter_take_list ();
    0x00022b3e movs r2, 0                                        |         r2 = 0;
    0x00022b40 mov sl, r0                                        |         sl = r0;
    0x00022b42 mov r1, r2                                        |         r1 = r2;
    0x00022b44 mov r0, r2                                        |         r0 = r2;
    0x00022b46 blx 0x6264                                        |         fcn_00006264 ();
    0x00022b4a mov r1, sl                                        |         r1 = sl;
    0x00022b4c mov r5, r0                                        |         r5 = r0;
    0x00022b4e ldr.w r0, [r6, 0x198]                             |         r0 = *((r6 + 0x198));
    0x00022b52 subs r4, r4, r1                                   |         r4 -= r1;
    0x00022b54 blx 0x6424                                        |         fcn_00006424 ();
    0x00022b58 mov r2, r7                                        |         r2 = r7;
    0x00022b5a mov sl, r0                                        |         sl = r0;
    0x00022b5c movs r1, 2                                        |         r1 = 2;
    0x00022b5e mov r0, r5                                        |         r0 = r5;
    0x00022b60 blx 0x65ac                                        |         fcn_000065ac ();
    0x00022b64 clz r1, r4                                        |         r1 &= r4;
    0x00022b68 mov r0, r7                                        |         r0 = r7;
    0x00022b6a lsrs r1, r1, 5                                    |         r1 >>= 5;
    0x00022b6c blx 0x6b60                                        |         gst_rtp_buffer_get_timestamp ();
    0x00022b70 mov r0, r7                                        |         r0 = r7;
    0x00022b72 blx 0x7414                                        |         fcn_00007414 ();
    0x00022b76 mov r2, sl                                        |         r2 = sl;
    0x00022b78 mov r1, r5                                        |         r1 = r5;
    0x00022b7a mov r0, r6                                        |         r0 = r6;
    0x00022b7c bl 0x2fbe4                                        |         fcn_0002fbe4 (r0, r1, r2);
    0x00022b80 mov r1, sl                                        |         r1 = sl;
    0x00022b82 mov r0, r5                                        |         r0 = r5;
    0x00022b84 blx 0x7144                                        |         fcn_00007144 ();
    0x00022b88 vldr d16, [r6, 0x1a0]                             |         __asm ("vldr d16, aav.0x000000ff");
    0x00022b8c mov r2, r0                                        |         r2 = r0;
    0x00022b8e mov.w r1, -1                                      |         r1 = -1;
    0x00022b92 mov r0, r8                                        |         r0 = r8;
    0x00022b94 vstr d16, [r2, 0x28]                              |         __asm ("vstr d16, [r2, 0x28]");
    0x00022b98 blx 0x651c                                        |         fcn_0000651c ();
    0x00022b9c cmp r4, 0                                         |         
    0x00022b9e bne 0x22b1c                                       |         
                                                                 |     } while (r4 != 0);
    0x00022ba0 ldr r2, [pc, 0x44]                                |     
    0x00022ba2 ldr r3, [pc, 0x3c]                                |     r3 = *(0x22be2);
    0x00022ba4 add r2, pc                                        |     r2 = 0x45790;
    0x00022ba6 ldr r3, [r2, r3]                                  |     r3 = *(0x45790);
    0x00022ba8 ldr r2, [r3]                                      |     r2 = *(0x45790);
    0x00022baa ldr r3, [sp, 0xfc]                                |     r3 = var_fch;
    0x00022bac eors r2, r3                                       |     r2 ^= r3;
    0x00022bae mov.w r3, 0                                       |     r3 = 0;
                                                                 |     if (r2 != r3) {
    0x00022bb2 bne 0x22bd6                                       |         goto label_3;
                                                                 |     }
    0x00022bb4 mov r1, r8                                        |     r1 = r8;
    0x00022bb6 mov r0, r6                                        |     r0 = r6;
    0x00022bb8 add sp, 0x100                                     |     
    0x00022bba pop.w {r4, r5, r6, r7, r8, sb, sl, lr}            |     
    0x00022bbe b.w 0x6d34                                        |     void (*0x6d34)() ();
                                                                 | label_2:
    0x00022bc2 ldr.w r3, [r6, 0x1c0]                             |     r3 = *((r6 + 0x1c0));
    0x00022bc6 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00022bc8 beq 0x22ae6                                       |         goto label_0;
                                                                 |     }
    0x00022bca ldr.w r0, [r6, 0x198]                             |     r0 = *((r6 + 0x198));
    0x00022bce mov r1, r4                                        |     r1 = r4;
    0x00022bd0 blx 0x6878                                        |     g_strdup_printf ()
    0x00022bd4 b 0x22ae8                                         |     goto label_1;
                                                                 | label_3:
    0x00022bd6 blx 0x6f28                                        |     fcn_00006f28 ();
    0x00022bda nop                                               |     
    0x00022bdc lsrs r6, r2, 0x1a                                 |     r6 = r2 >> 0x1a;
    0x00022bde movs r3, r0                                       |     r3 = r0;
    0x00022be0 lsls r0, r1, 0x1a                                 |     r0 = r1 << 0x1a;
    0x00022be2 movs r0, r0                                       |     
    0x00022be4 lsrs r0, r6, 0x19                                 |     r0 = r6 >> 0x19;
    0x00022be6 movs r3, r0                                       |     r3 = r0;
    0x00022be8 lsrs r0, r7, 0x16                                 |     r0 = r7 >> 0x16;
    0x00022bea movs r3, r0                                       |     r3 = r0;
    0x00022bec push {r4, r5, r6, lr}                             |     
    0x00022bee movw r2, 0x460e                                   |     r2 = 0x460e;
    0x00022bf0 str r6, [r1, 0x20]                                |     *((r1 + 0x20)) = r6;
    0x00022bf2 ldr r3, [r1, 0x24]                                |     r3 = *((r1 + 0x24));
    0x00022bf4 mov r4, r1                                        |     r4 = r1;
    0x00022bf6 mov r5, r0                                        |     r5 = r0;
    0x00022bf8 cmp r3, r2                                        |     
                                                                 |     if (r3 == r2) {
    0x00022bfa beq 0x22c28                                       |         goto label_4;
                                                                 |     }
    0x00022bfc movw r2, 0x6e0e                                   |     r2 = 0x6e0e;
    0x00022c00 cmp r3, r2                                        |     
                                                                 |     if (r3 == r2) {
    0x00022c02 beq 0x22c28                                       |         goto label_4;
                                                                 |     }
    0x00022c04 movw r2, 0x1407                                   |     r2 = 0x1407;
    0x00022c08 cmp r3, r2                                        |     
                                                                 |     if (r3 != r2) {
    0x00022c0a bne 0x22c14                                       |         goto label_5;
                                                                 |     }
    0x00022c0c ldr.w r0, [r0, 0x198]                             |     r0 = *((r0 + 0x198));
    0x00022c10 blx 0x6588                                        |     fcn_00006588 ();
                                                                 |     do {
                                                                 | label_5:
    0x00022c14 ldr r3, [pc, 0x18]                                |         
    0x00022c16 mov r1, r4                                        |         r1 = r4;
    0x00022c18 mov r0, r5                                        |         r0 = r5;
    0x00022c1a pop.w {r4, r5, r6, lr}                            |         
    0x00022c1e add r3, pc                                        |         
    0x00022c20 ldr r3, [r3]                                      |         
    0x00022c22 ldr.w r3, [r3, 0x104]                             |         r3 = *(0x45956);
    0x00022c26 bx r3                                             |         return uint32_t (*r3)() ();
                                                                 | label_4:
    0x00022c28 mov r0, r5                                        |         r0 = r5;
    0x00022c2a bl 0x22abc                                        |         fcn_00022abc (r0);
    0x00022c2e b 0x22c14                                         |         
                                                                 |     } while (1);
                                                                 | }
    ; assembly                                                   | /* r2dec pseudo code output */
                                                                 | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/gstreamer-1.0/libgstrtp.so @ 0x262bc */
                                                                 | #include <stdint.h>
                                                                 |  
    ; (fcn) fcn.000262bc ()                                      | void fcn_000262bc (int16_t arg1) {
                                                                 |     int16_t var_0h;
                                                                 |     int16_t var_4h;
                                                                 |     int16_t var_8h;
                                                                 |     r0 = arg1;
    0x000262bc push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}       |     
    0x000262c0 mov r4, r0                                        |     r4 = r0;
    0x000262c2 ldr r7, [pc, 0xfc]                                |     
    0x000262c4 sub sp, 0x14                                      |     
    0x000262c6 ldr.w r0, [r0, 0x148]                             |     r0 = *((r0 + 0x148));
    0x000262ca add r7, pc                                        |     r7 = 0x4c690;
    0x000262cc blx 0x64c4                                        |     r0 = g_list_free ();
    0x000262d0 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x000262d2 bne 0x263b2                                       |         goto label_4;
                                                                 |     }
                                                                 | label_3:
    0x000262d4 ldr.w r5, [r4, 0x184]                             |     r5 = *((r4 + 0x184));
    0x000262d8 cmp r5, 0                                         |     
                                                                 |     if (r5 == 0) {
    0x000262da beq 0x26386                                       |         goto label_5;
                                                                 |     }
    0x000262dc add.w r6, r4, 0x184                               |     r6 = r4 + 0x184;
    0x000262e0 mov.w r8, 0                                       |     r8 = 0;
    0x000262e4 mov.w sb, 2                                       |     sb = 2;
                                                                 | label_0:
    0x000262e8 ldr.w sl, [r5]                                    |     sl = *(r5);
    0x000262ec cmp.w sl, 0                                       |     
                                                                 |     if (sl == 0) {
    0x000262f0 beq 0x2637e                                       |         goto label_6;
                                                                 |     }
    0x000262f2 ldr.w r3, [r4, 0x17c]                             |     r3 = *((r4 + 0x17c));
    0x000262f6 cmp r3, 0xff                                      |     
                                                                 |     if (r3 < 0xff) {
    0x000262f8 bls 0x2638c                                       |         goto label_7;
                                                                 |     }
    0x000262fa movs r3, 0x82                                     |     r3 = 0x82;
    0x000262fc strb.w r3, [sl]                                   |     *(sl) = r3;
    0x00026300 ldr.w r3, [r4, 0x17c]                             |     r3 = *((r4 + 0x17c));
    0x00026304 subs r3, 3                                        |     r3 -= 3;
    0x00026306 uxth r3, r3                                       |     r3 = (int16_t) r3;
    0x00026308 lsrs r2, r3, 8                                    |     r2 = r3 >> 8;
    0x0002630a strb.w r3, [sl, 2]                                |     *((sl + 2)) = r3;
    0x0002630e strb.w r2, [sl, 1]                                |     *((sl + 1)) = r2;
    0x00026312 ldr.w ip, [r4, 0x17c]                             |     ip = *((r4 + 0x17c));
    0x00026316 cmp.w ip, 0                                       |     
                                                                 |     if (ip == 0) {
    0x0002631a beq 0x263a4                                       |         goto label_8;
                                                                 |     }
                                                                 | label_1:
    0x0002631c add.w r0, ip, -1                                  |     r0 = ip + -1;
    0x00026320 add.w r3, sl, -1                                  |     r3 = sl + -1;
    0x00026324 add r0, sl                                        |     r0 += sl;
    0x00026326 movs r2, 0                                        |     r2 = 0;
                                                                 |     do {
    0x00026328 ldrb r1, [r3, 1]!                                 |         r1 = *((r3 += 1));
    0x0002632c cmp r0, r3                                        |         
    0x0002632e add r2, r1                                        |         r2 += r1;
    0x00026330 bne 0x26328                                       |         
                                                                 |     } while (r0 != r3);
    0x00026332 uxtb r3, r2                                       |     r3 = (int8_t) r2;
    0x00026334 cmp.w ip, 0xff                                    |     
    0x00026338 ubfx r2, r2, 8, 8                                 |     r2 = (r2 >> 8) & ((1 << 8) - 1);
    0x0002633c itt hi                                            |     
                                                                 |     if (ip <= 0xff) {
    0x0002633e strbhi r2, [sl, 3]                                |         *((sl + 3)) = r2;
                                                                 |     }
                                                                 |     if (ip > 0xff) {
    0x00026342 strb.w r3, [sl, 4]                                |         *((sl + 4)) = r3;
                                                                 |     }
                                                                 |     if (ip < 0xff) {
    0x00026346 bls 0x263a8                                       |         goto label_9;
                                                                 |     }
                                                                 | label_2:
    0x00026348 blx 0x6958                                        |     fcn_00006958 ();
    0x0002634c ldr r1, [pc, 0x74]                                |     r1 = *(0x263c4);
    0x0002634e mov fp, r0                                        |     
    0x00026350 ldr.w r2, [r4, 0x17c]                             |     r2 = *((r4 + 0x17c));
    0x00026354 movs r3, 0                                        |     r3 = 0;
    0x00026356 ldr r0, [r7, r1]                                  |     r0 = *((r7 + r1));
    0x00026358 mov r1, sl                                        |     r1 = sl;
    0x0002635a str r2, [sp]                                      |     *(sp) = r2;
    0x0002635c str.w sl, [sp, 4]                                 |     __asm ("str.w sl, [var_4h]");
    0x00026360 str r0, [sp, 8]                                   |     var_8h = r0;
    0x00026362 mov r0, r3                                        |     r0 = r3;
    0x00026364 blx 0x7314                                        |     r0 = fcn_00007314 ();
    0x00026368 mov r1, r0                                        |     r1 = r0;
    0x0002636a mov r0, fp                                        |     r0 = fp;
    0x0002636c blx 0x6d80                                        |     fcn_00006d80 ();
    0x00026370 ldr.w r0, [r4, 0x148]                             |     r0 = *((r4 + 0x148));
    0x00026374 mov r1, fp                                        |     r1 = fp;
    0x00026376 blx 0x69e4                                        |     fcn_000069e4 ();
    0x0002637a str.w r8, [r5]                                    |     __asm ("str.w r8, [r5]");
    0x0002637c strh r0, [r0]                                     |     *(r0) = r0;
                                                                 | label_6:
    0x0002637e ldr r5, [r6, 4]!                                  |     r5 = *((r6 += 4));
    0x00026382 cmp r5, 0                                         |     
                                                                 |     if (r5 != 0) {
    0x00026384 bne 0x262e8                                       |         goto label_0;
                                                                 |     }
                                                                 | label_5:
    0x00026386 add sp, 0x14                                      |     
    0x00026388 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}        |     
                                                                 | label_7:
    0x0002638c strb.w sb, [sl]                                   |     *(sl) = sb;
    0x00026390 ldr.w r3, [r4, 0x17c]                             |     r3 = *((r4 + 0x17c));
    0x00026394 subs r3, 2                                        |     r3 -= 2;
    0x00026396 strb.w r3, [sl, 1]                                |     *((sl + 1)) = r3;
    0x0002639a ldr.w ip, [r4, 0x17c]                             |     ip = *((r4 + 0x17c));
    0x0002639e cmp.w ip, 0                                       |     
                                                                 |     if (ip != 0) {
    0x000263a2 bne 0x2631c                                       |         goto label_1;
                                                                 |     }
                                                                 | label_8:
    0x000263a4 mov r3, ip                                        |     r3 = ip;
    0x000263a6 mov r2, ip                                        |     r2 = ip;
                                                                 | label_9:
    0x000263a8 strb.w r2, [sl, 2]                                |     *((sl + 2)) = r2;
    0x000263ac strb.w r3, [sl, 3]                                |     *((sl + 3)) = r3;
    0x000263b0 b 0x26348                                         |     goto label_2;
                                                                 | label_4:
    0x000263b2 mov r1, r0                                        |     r1 = r0;
    0x000263b4 ldr.w r0, [r4, 0x148]                             |     r0 = *((r4 + 0x148));
    0x000263b8 blx 0x6878                                        |     g_strdup_printf ()
    0x000263bc b 0x262d4                                         |     goto label_3;
                                                                 | }

[*] Function printf used 9 times libgstrtp.so