[*] Binary protection state of libgstcoreelements.so

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


[*] Function popen tear down of libgstcoreelements.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/libgstcoreelements.so @ 0x1af5c */
                                                                 | #include <stdint.h>
                                                                 |  
    ; (fcn) fcn.0001af5c ()                                      | void fcn_0001af5c (int16_t arg_a0h, int16_t arg_a4h, int16_t arg1, int16_t arg3, int16_t arg4) {
                                                                 |     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_44h;
                                                                 |     int16_t var_4ch;
                                                                 |     r0 = arg1;
                                                                 |     r2 = arg3;
                                                                 |     r3 = arg4;
    0x0001af5c svcmi 0xf0e92d                                    |     __asm ("svcmi 0xf0e92d");
    0x0001af60 sub sp, 0x7c                                      |     
    0x0001af62 strd r2, r3, [sp, 0x2c]                           |     __asm ("strd r2, r3, [var_2ch]");
    0x0001af66 mov r6, r0                                        |     r6 = r0;
    0x0001af68 ldr r3, [sp, 0xa4]                                |     r3 = *(arg_a4h);
    0x0001af6a ldr r3, [r3]                                      |     r3 = *(r3);
    0x0001af6c str r3, [sp, 0x24]                                |     var_24h = r3;
    0x0001af6e cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0001af70 beq.w 0x1b38e                                     |         goto label_13;
                                                                 |     }
                                                                 | label_11:
    0x0001af74 add r3, sp, 0x44                                  |     r3 += var_44h;
    0x0001af76 ldr r0, [sp, 0x24]                                |     r0 = var_24h;
    0x0001af78 movs r2, 2                                        |     r2 = 2;
    0x0001af7a mov r1, r3                                        |     r1 = r3;
    0x0001af7c str r3, [sp, 0x38]                                |     var_38h = r3;
    0x0001af7e blx 0x6bf0                                        |     r0 = fcn_00006bf0 ();
    0x0001af82 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0001af84 beq.w 0x1b31c                                     |         goto label_14;
                                                                 |     }
    0x0001af88 ldr.w r3, [r6, 0x2e8]                             |     r3 = *((r6 + 0x2e8));
    0x0001af8c movs r2, 0                                        |     r2 = 0;
    0x0001af8e ldr.w r0, [r6, 0x1fc]                             |     r0 = *((r6 + 0x1fc));
    0x0001af92 ldr.w r1, [r6, 0x2ec]                             |     r1 = *((r6 + 0x2ec));
    0x0001af96 str r3, [sp, 0x1c]                                |     var_1ch = r3;
    0x0001af98 cmp r3, r0                                        |     
    0x0001af9a str r2, [sp, 0x34]                                |     var_34h = r2;
    0x0001af9c mov r2, r3                                        |     r2 = r3;
    0x0001af9e sbcs r3, r1, 0                                    |     __asm ("sbcs r3, r1, 0");
    0x0001afa2 ldr r3, [sp, 0xa0]                                |     r3 = *(arg_a0h);
    0x0001afa4 str r0, [sp, 0x28]                                |     var_28h = r0;
    0x0001afa6 ldr.w sb, [sp, 0x4c]                              |     sb = var_4ch;
    0x0001afaa str r1, [sp, 0x20]                                |     var_20h = r1;
    0x0001afac itt lo                                            |     
                                                                 |     if (r3 >= r0) {
    0x0001afae strlo r2, [sp, 0x28]                              |         var_28h = r2;
                                                                 |     }
                                                                 |     if (r3 >= r0) {
    0x0001afb0 strlo r1, [sp, 0x34]                              |         var_34h = r1;
                                                                 |     }
    0x0001afb2 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0001afb4 beq.w 0x1b440                                     |         goto label_15;
                                                                 |     }
    0x0001afb8 ldrd r4, r7, [sp, 0x2c]                           |     __asm ("ldrd r4, r7, [var_2ch]");
    0x0001afbc movs r3, 1                                        |     r3 = 1;
    0x0001afbe ldr.w sl, [sp, 0xa0]                              |     sl = *(arg_a0h);
    0x0001afc2 movt r3, 8                                        |     r3 = (r3 & 0xFFFF) | 0x80000;
    0x0001afc6 str r3, [sp, 0x3c]                                |     var_3ch = r3;
                                                                 | label_0:
    0x0001afc8 ldr.w r5, [r6, 0x2cc]                             |     r5 = *((r6 + 0x2cc));
                                                                 |     if (r5 == 0) {
    0x0001afcc cbz r5, 0x1afec                                   |         goto label_16;
                                                                 |     }
                                                                 |     do {
    0x0001afce ldrd r2, r3, [r5, 8]                              |         __asm ("ldrd r2, r3, [r5, 8]");
    0x0001afd2 cmp r4, r2                                        |         
    0x0001afd4 sbcs.w r3, r7, r3                                 |         __asm ("sbcs.w r3, r7, r3");
                                                                 |         if (r4 > r2) {
    0x0001afd8 blo 0x1afe6                                       |             
    0x0001afda ldrd r2, r3, [r5, 0x18]                           |             __asm ("ldrd r2, r3, [r5, 0x18]");
    0x0001afde cmp r2, r4                                        |             
    0x0001afe0 sbcs.w r1, r3, r7                                 |             __asm ("sbcs.w r1, r3, r7");
                                                                 |             if (r2 >= r4) {
    0x0001afe4 bhs 0x1b0a0                                       |                 goto label_17;
                                                                 |             }
                                                                 |         }
    0x0001afe6 ldr r5, [r5]                                      |         r5 = *(r5);
    0x0001afe8 cmp r5, 0                                         |         
    0x0001afea bne 0x1afce                                       |         
                                                                 |     } while (r5 != 0);
                                                                 | label_16:
    0x0001afec ldr.w r2, [r6, 0x1c0]                             |     r2 = *((r6 + 0x1c0));
                                                                 |     if (r2 == 0) {
    0x0001aff0 cbnz r2, 0x1b042                                  |         
    0x0001aff2 ldr.w r3, [r6, 0x2d0]                             |         r3 = *((r6 + 0x2d0));
                                                                 |         if (r3 == 0) {
    0x0001aff6 cbz r3, 0x1b042                                   |             goto label_9;
                                                                 |         }
    0x0001aff8 ldrd ip, r5, [r6, 0x2e8]                          |         __asm ("ldrd ip, r5, [r6, 0x2e8]");
    0x0001affc orrs.w r1, ip, r5                                 |         r1 = ip | r5;
    0x0001b000 it eq                                             |         
                                                                 |         if (r1 != ip) {
    0x0001b002 moveq lr, 0x80000                                 |             lr = 0x80000;
                                                                 |         }
                                                                 |         if (r1 != ip) {
    0x0001b006 beq 0x1b034                                       |             
    0x0001b008 ldr.w r0, [r6, 0x1fc]                             |             r0 = *((r6 + 0x1fc));
    0x0001b00c cmp ip, r0                                        |             
    0x0001b00e sbcs r1, r5, 0                                    |             __asm ("sbcs r1, r5, 0");
    0x0001b012 ldr.w r1, [r6, 0x1e4]                             |             r1 = *((r6 + 0x1e4));
    0x0001b014 asrs r4, r4, 7                                    |             r4 >>= 7;
    0x0001b016 itt lo                                            |             
                                                                 |             if (ip >= r0) {
    0x0001b018 movlo r0, ip                                      |                 r0 = ip;
                                                                 |             }
                                                                 |             if (ip >= r0) {
    0x0001b01a movlo r2, r5                                      |                 r2 = r5;
                                                                 |             }
    0x0001b01c subs.w lr, r0, r1                                 |             lr = r0 - r1;
    0x0001b01e lsrs r1, r0, 0x18                                 |             r1 = r0 >> 0x18;
    0x0001b020 ldr r1, [sp, 0x3c]                                |             r1 = var_3ch;
    0x0001b022 sbc r2, r2, 0                                     |             __asm ("sbc r2, r2, 0");
    0x0001b026 cmp lr, r1                                        |             
    0x0001b028 sbcs r1, r2, 0                                    |             __asm ("sbcs r1, r2, 0");
    0x0001b02c itt hs                                            |             
                                                                 |             if (lr < r1) {
    0x0001b02e movhs lr, 0x80000                                 |                 lr = 0x80000;
                                                                 |             }
                                                                 |             if (lr >= r1) {
    0x0001b030 cmphs r6, 0                                       |                 __asm ("cmphs r6, 0");
                                                                 |             }
    0x0001b032 movs r2, 0                                        |             r2 = 0;
                                                                 |         }
    0x0001b034 ldrd r0, r1, [r3, 8]                              |         __asm ("ldrd r0, r1, [r3, 8]");
    0x0001b038 cmp r4, r0                                        |         
    0x0001b03a sbcs.w r1, r7, r1                                 |         __asm ("sbcs.w r1, r7, r1");
    0x0001b03c lsls r1, r0, 4                                    |         r1 = r0 << 4;
                                                                 |         if (r1 >= r0) {
    0x0001b03e bhs.w 0x1b378                                     |             goto label_18;
                                                                 |         }
                                                                 |     }
                                                                 | label_9:
    0x0001b042 mov r2, r4                                        |     r2 = r4;
    0x0001b044 mov r3, r7                                        |     r3 = r7;
    0x0001b046 mov r0, r6                                        |     r0 = r6;
    0x0001b048 bl 0x1a630                                        |     fcn_0001a630 (r0, r1, r2);
    0x0001b04c ldrd ip, r5, [r6, 0x2e8]                          |     __asm ("ldrd ip, r5, [r6, 0x2e8]");
                                                                 | label_10:
    0x0001b050 orrs.w r5, ip, r5                                 |     r5 = ip | r5;
                                                                 |     if (r5 != ip) {
    0x0001b054 bne.w 0x1b2ac                                     |         goto label_19;
                                                                 |     }
                                                                 | label_1:
    0x0001b058 ldr.w r3, [r6, 0x210]                             |     r3 = *((r6 + 0x210));
    0x0001b05c cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0001b05e bne.w 0x1b2a4                                     |         goto label_20;
                                                                 |     }
                                                                 | label_4:
    0x0001b062 movs r3, 1                                        |     r3 = 1;
    0x0001b064 add.w r1, r6, 0x290                               |     r1 = r6 + 0x290;
    0x0001b066 strb r4, [r4, 4]                                  |     *((r4 + 4)) = r4;
    0x0001b068 str.w r3, [r6, 0x298]                             |     __asm ("str.w r3, [r6, 0x298]");
    0x0001b06c add.w r0, r6, 0x29c                               |     r0 = r6 + 0x29c;
    0x0001b070 blx 0x6c38                                        |     fcn_00006c38 ();
    0x0001b074 movs r3, 0                                        |     r3 = 0;
    0x0001b076 str.w r3, [r6, 0x298]                             |     __asm ("str.w r3, [r6, 0x298]");
    0x0001b07a ldr.w r3, [r6, 0x1b8]                             |     r3 = *((r6 + 0x1b8));
    0x0001b07c adds r1, 0xb8                                     |     r1 += 0xb8;
    0x0001b07e cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0001b080 beq 0x1afc8                                       |         goto label_0;
                                                                 |     }
    0x0001b082 ldr r1, [sp, 0x38]                                |     r1 = var_38h;
    0x0001b084 mvn r4, 1                                         |     r4 = ~1;
    0x0001b088 ldr r0, [sp, 0x24]                                |     r0 = var_24h;
    0x0001b08a blx 0x62b8                                        |     gst_event_parse_segment ();
    0x0001b08e ldr r3, [sp, 0xa4]                                |     r3 = *(arg_a4h);
    0x0001b090 ldr r3, [r3]                                      |     r3 = *(r3);
    0x0001b092 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0001b094 beq.w 0x1b39c                                     |         goto label_21;
                                                                 |     }
                                                                 | label_7:
    0x0001b098 mov r0, r4                                        |     r0 = r4;
    0x0001b09a add sp, 0x7c                                      |     
    0x0001b09c pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}        |     
                                                                 | label_17:
    0x0001b0a0 ldr.w r1, [r6, 0x2d0]                             |     r1 = *((r6 + 0x2d0));
    0x0001b0a4 cmp r5, r1                                        |     
                                                                 |     if (r5 != r1) {
    0x0001b0a6 beq 0x1b0ae                                       |         
    0x0001b0a8 mov r0, r6                                        |         r0 = r6;
    0x0001b0aa bl 0x1a630                                        |         fcn_0001a630 (r0, r1, r2);
                                                                 |     }
    0x0001b0ae ldrd r3, r2, [r6, 0x2e8]                          |     __asm ("ldrd r3, r2, [r6, 0x2e8]");
    0x0001b0b2 orrs r3, r2                                       |     r3 |= r2;
                                                                 |     if (r3 != r2) {
    0x0001b0b4 bne.w 0x1b21e                                     |         goto label_22;
                                                                 |     }
    0x0001b0b8 ldr.w r3, [r6, 0x1c0]                             |     r3 = *((r6 + 0x1c0));
                                                                 |     if (r3 != 0) {
    0x0001b0bc cbnz r3, 0x1b0d0                                  |         goto label_23;
                                                                 |     }
    0x0001b0be ldrd r0, r3, [r5, 0x18]                           |     __asm ("ldrd r0, r3, [r5, 0x18]");
    0x0001b0c2 adds.w r1, sl, r4                                 |     r1 = sl + r4;
    0x0001b0c6 adc r2, r7, 0                                     |     __asm ("adc r2, r7, 0");
    0x0001b0ca cmp r0, r1                                        |     
    0x0001b0cc sbcs r3, r2                                       |     __asm ("sbcs r3, r2");
                                                                 |     if (r0 <= r1) {
    0x0001b0ce blo 0x1b058                                       |         goto label_1;
                                                                 |     }
                                                                 | label_23:
    0x0001b0d0 ldr.w ip, [r6, 0x2d0]                             |     ip = *((r6 + 0x2d0));
    0x0001b0d4 mov fp, sl                                        |     
                                                                 | label_3:
    0x0001b0d6 strd r4, r7, [ip, 0x28]                           |     __asm ("strd r4, r7, [ip, 0x28]");
    0x0001b0da ldrd r3, r2, [r6, 0x2e8]                          |     __asm ("ldrd r3, r2, [r6, 0x2e8]");
    0x0001b0de orrs r3, r2                                       |     r3 |= r2;
                                                                 |     if (r3 != r2) {
    0x0001b0e0 beq 0x1b120                                       |         
    0x0001b0e2 ldr.w r5, [r6, 0x2d0]                             |         r5 = *((r6 + 0x2d0));
    0x0001b0e6 ldrd r2, r8, [sp, 0x1c]                           |         __asm ("ldrd r2, r8, [var_1ch]");
    0x0001b0ea ldr r1, [r5, 0x10]                                |         r1 = *((r5 + 0x10));
    0x0001b0ec ldr r0, [r5, 8]                                   |         r0 = *((r5 + 8));
    0x0001b0ee mov r3, r8                                        |         r3 = r8;
    0x0001b0f0 subs r0, r1, r0                                   |         r0 = r1 - r0;
    0x0001b0f2 ldr r1, [r5, 0x14]                                |         r1 = *((r5 + 0x14));
    0x0001b0f4 ldr r5, [r5, 0xc]                                 |         r5 = *((r5 + 0xc));
    0x0001b0f6 sbc.w r1, r1, r5                                  |         __asm ("sbc.w r1, r1, r5");
    0x0001b0fa adds r0, r0, r4                                   |         r0 += r4;
    0x0001b0fc adc.w r1, r7, r1                                  |         __asm ("adc.w r1, r7, r1");
    0x0001b100 bl 0x22978                                        |         fcn_00022978 (r0, r1, r2, r3);
    0x0001b104 ldr r0, [sp, 0x1c]                                |         r0 = var_1ch;
    0x0001b106 adds.w r1, fp, r2                                 |         r1 = fp + r2;
    0x0001b108 lsls r2, r0, 4                                    |         r2 = r0 << 4;
    0x0001b10a mov r7, r3                                        |         r7 = r3;
    0x0001b10c adc r3, r3, 0                                     |         __asm ("adc r3, r3, 0");
    0x0001b110 mov r4, r2                                        |         r4 = r2;
    0x0001b112 cmp r0, r1                                        |         
    0x0001b114 sbcs.w r3, r8, r3                                 |         __asm ("sbcs.w r3, r8, r3");
    0x0001b116 lsls r3, r0, 0xc                                  |         r3 = r0 << 0xc;
    0x0001b118 it lo                                             |         
                                                                 |         if (r3 >= r0) {
    0x0001b11a sublo r8, r0, r2                                  |             r8 = r0 - r2;
                                                                 |         }
                                                                 |         if (r3 <= r0) {
    0x0001b11e blo 0x1b204                                       |             goto label_24;
                                                                 |         }
                                                                 |     }
    0x0001b120 ldr.w r3, [r6, 0x2b8]                             |     r3 = *((r6 + 0x2b8));
    0x0001b124 mov r8, fp                                        |     r8 = fp;
    0x0001b126 ldr.w r5, [r6, 0x2f0]                             |     r5 = *((r6 + 0x2f0));
    0x0001b12a cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0001b12c beq 0x1b210                                       |         goto label_25;
                                                                 |     }
                                                                 |     do {
    0x0001b12e movs r3, 0                                        |         r3 = 0;
    0x0001b130 mov r2, r4                                        |         r2 = r4;
    0x0001b132 str r3, [sp]                                      |         *(sp) = r3;
    0x0001b134 mov r3, r7                                        |         r3 = r7;
    0x0001b136 ldr.w r0, [r6, 0x2c8]                             |         r0 = *((r6 + 0x2c8));
    0x0001b13a blx 0x6c14                                        |         r0 = fcn_00006c14 ();
    0x0001b13e cmp r0, 0                                         |         
                                                                 |         if (r0 != 0) {
    0x0001b140 bne.w 0x1b446                                     |             goto label_26;
                                                                 |         }
    0x0001b144 ldr.w r3, [r6, 0x2b8]                             |         r3 = *((r6 + 0x2b8));
    0x0001b148 cmp r3, 0                                         |         
                                                                 |         if (r3 == 0) {
    0x0001b14a beq 0x1b210                                       |             goto label_25;
                                                                 |         }
    0x0001b14c ldr.w r3, [r6, 0x2c8]                             |         r3 = *((r6 + 0x2c8));
    0x0001b150 mov r2, r8                                        |         r2 = r8;
    0x0001b152 movs r1, 1                                        |         r1 = 1;
    0x0001b154 mov r0, sb                                        |         r0 = sb;
    0x0001b156 blx 0x73d4                                        |         r0 = gst_clock_id_unref ();
    0x0001b15a cmp r0, r8                                        |         
    0x0001b15c mov r5, r0                                        |         r5 = r0;
                                                                 |         if (r0 < r8) {
    0x0001b15e bhs 0x1b18c                                       |             
    0x0001b160 ldr.w r3, [r6, 0x2b8]                             |             r3 = *((r6 + 0x2b8));
    0x0001b164 cmp r3, 0                                         |             
                                                                 |             if (r3 == 0) {
    0x0001b166 beq.w 0x1b3a8                                     |                 goto label_27;
                                                                 |             }
    0x0001b16a ldr.w r0, [r6, 0x2c8]                             |             r0 = *((r6 + 0x2c8));
    0x0001b16e blx 0x7444                                        |             r0 = fcn_00007444 ();
    0x0001b172 cmp r0, 0                                         |             
                                                                 |             if (r0 != 0) {
    0x0001b174 bne.w 0x1b3a8                                     |                 goto label_27;
                                                                 |             }
    0x0001b178 ldr.w r0, [r6, 0x2c8]                             |             r0 = *((r6 + 0x2c8));
    0x0001b17c blx 0x6b68                                        |             fcn_00006b68 ();
    0x0001b180 cmp.w r8, 0                                       |             
    0x0001b184 it ne                                             |             
                                                                 |             if (r8 != 0) {
    0x0001b186 cmpne r0, 0                                       |                 __asm ("cmpne r0, 0");
                                                                 |             }
                                                                 |             if (r8 != 0) {
    0x0001b188 bne.w 0x1b492                                     |                 goto label_28;
                                                                 |             }
                                                                 |         }
                                                                 | label_2:
    0x0001b18c ldrd r3, r2, [r6, 0x2e8]                          |         __asm ("ldrd r3, r2, [r6, 0x2e8]");
    0x0001b190 adds r4, r5, r4                                   |         r4 = r5 + r4;
    0x0001b192 adc r7, r7, 0                                     |         __asm ("adc r7, r7, 0");
    0x0001b196 orrs r3, r2                                       |         r3 |= r2;
                                                                 |         if (r3 != r2) {
    0x0001b198 beq 0x1b1aa                                       |             
    0x0001b19a mov r0, r4                                        |             r0 = r4;
    0x0001b19c mov r1, r7                                        |             r1 = r7;
    0x0001b19e ldrd r2, r3, [sp, 0x1c]                           |             __asm ("ldrd r2, r3, [var_1ch]");
    0x0001b1a2 bl 0x22978                                        |             fcn_00022978 (r0, r1, r2, r3);
    0x0001b1a6 mov r4, r2                                        |             r4 = r2;
    0x0001b1a8 mov r7, r3                                        |             r7 = r3;
                                                                 |         }
    0x0001b1aa ldr.w r3, [r6, 0x2d0]                             |         r3 = *((r6 + 0x2d0));
    0x0001b1ae sub.w r8, fp, r5                                  |         r8 = fp - r5;
    0x0001b1b2 add sb, r5                                        |         sb += r5;
    0x0001b1b4 sub.w sl, sl, r5                                  |         sl -= r5;
    0x0001b1b8 ldr r2, [r3, 0x28]                                |         r2 = *((r3 + 0x28));
    0x0001b1ba ldr r0, [r3, 0x2c]                                |         r0 = *((r3 + 0x2c));
    0x0001b1bc adds r5, r5, r2                                   |         r5 += r2;
    0x0001b1be adc r0, r0, 0                                     |         __asm ("adc r0, r0, 0");
    0x0001b1c2 str r5, [r3, 0x28]                                |         *((r3 + 0x28)) = r5;
    0x0001b1c4 str r0, [r3, 0x2c]                                |         *((r3 + 0x2c)) = r0;
    0x0001b1c6 ldr.w r2, [r6, 0x2d0]                             |         r2 = *((r6 + 0x2d0));
    0x0001b1ca ldr r3, [r2, 0x28]                                |         r3 = *((r2 + 0x28));
    0x0001b1cc ldr.w lr, [r2, 0x30]                              |         
    0x0001b1d0 ldr r1, [r2, 0x2c]                                |         r1 = *((r2 + 0x2c));
    0x0001b1d2 ldr.w ip, [r2, 0x34]                              |         ip = *((r2 + 0x34));
    0x0001b1d6 cmp r3, lr                                        |         
    0x0001b1d8 sbcs.w fp, r1, ip                                 |         __asm ("sbcs.w fp, r1, ip");
    0x0001b1dc itt lo                                            |         
                                                                 |         if (r3 >= lr) {
    0x0001b1de movlo r3, lr                                      |             r3 = lr;
                                                                 |         }
                                                                 |         if (r3 >= lr) {
    0x0001b1e0 movlo r1, ip                                      |             r1 = ip;
                                                                 |         }
    0x0001b1e2 strd r3, r1, [r2, 0x30]                           |         __asm ("strd r3, r1, [r2, 0x30]");
    0x0001b1e6 ldrd ip, r2, [r2, 0x18]                           |         __asm ("ldrd ip, r2, [r2, 0x18]");
    0x0001b1ea cmp r3, ip                                        |         
    0x0001b1ec sbcs.w r2, r1, r2                                 |         __asm ("sbcs.w r2, r1, r2");
    0x0001b1f0 ite lo                                            |         
                                                                 |         if (r3 >= ip) {
    0x0001b1f2 sublo r3, ip, r3                                  |             r3 = ip - r3;
                                                                 |         }
                                                                 |         if (r3 >= ip) {
    0x0001b1f6 movs r3, 0                                        |             r3 = 0;
                                                                 |         }
    0x0001b1f8 str.w r3, [r6, 0x1e4]                             |         __asm ("str.w r3, [r6, 0x1e4]");
    0x0001b1fc cmp.w r8, 0                                       |         
                                                                 |         if (r8 == 0) {
    0x0001b200 beq 0x1b2f4                                       |             goto label_29;
                                                                 |         }
    0x0001b202 mov fp, r8                                        |         
                                                                 | label_24:
    0x0001b204 ldr.w r3, [r6, 0x2b8]                             |         r3 = *((r6 + 0x2b8));
    0x0001b208 ldr.w r5, [r6, 0x2f0]                             |         r5 = *((r6 + 0x2f0));
    0x0001b20c cmp r3, 0                                         |         
    0x0001b20e bne 0x1b12e                                       |         
                                                                 |     } while (r3 != 0);
                                                                 | label_25:
    0x0001b210 adds r1, r5, r4                                   |     r1 = r5 + r4;
    0x0001b212 mov r2, r8                                        |     r2 = r8;
    0x0001b214 mov r0, sb                                        |     r0 = sb;
    0x0001b216 mov r5, r8                                        |     r5 = r8;
    0x0001b218 blx 0x6aa0                                        |     fcn_00006aa0 ();
    0x0001b21c b 0x1b18c                                         |     goto label_2;
                                                                 | label_22:
    0x0001b21e ldrd lr, r2, [r5, 0x18]                           |     __asm ("ldrd lr, r2, [r5, 0x18]");
    0x0001b222 adds.w r0, sl, r4                                 |     r0 = sl + r4;
    0x0001b226 adc r1, r7, 0                                     |     __asm ("adc r1, r7, 0");
    0x0001b22a ldr.w ip, [r6, 0x2d0]                             |     ip = *((r6 + 0x2d0));
    0x0001b22e cmp lr, r0                                        |     
    0x0001b230 sbcs r2, r1                                       |     __asm ("sbcs r2, r1");
    0x0001b232 mov r3, ip                                        |     r3 = ip;
                                                                 |     if (lr >= r0) {
    0x0001b234 bhs 0x1b2f0                                       |         goto label_30;
                                                                 |     }
    0x0001b236 ldrd r2, r1, [r3, 0x18]                           |     __asm ("ldrd r2, r1, [r3, 0x18]");
    0x0001b23a mov ip, r3                                        |     
    0x0001b23c cmp r4, r2                                        |     
    0x0001b23e sbcs.w r0, r7, r1                                 |     __asm ("sbcs.w r0, r7, r1");
                                                                 |     if (r4 >= r2) {
    0x0001b242 bhs 0x1b2be                                       |         goto label_31;
                                                                 |     }
                                                                 | label_5:
    0x0001b244 ldr r0, [sp, 0x28]                                |     r0 = var_28h;
    0x0001b246 subs r5, r2, r4                                   |     r5 = r2 - r4;
    0x0001b248 sbc.w lr, r1, r7                                  |     __asm ("sbc.w lr, r1, r7");
    0x0001b24c cmp r5, r0                                        |     
    0x0001b24e ldr r0, [sp, 0x34]                                |     r0 = var_34h;
    0x0001b250 sbcs.w r0, lr, r0                                 |     __asm ("sbcs.w r0, lr, r0");
                                                                 |     if (r5 <= r0) {
    0x0001b254 blo 0x1b30c                                       |         goto label_32;
                                                                 |     }
    0x0001b256 ldr r0, [sp, 0x28]                                |     r0 = var_28h;
    0x0001b258 mov fp, r0                                        |     
    0x0001b25a cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x0001b25c bne.w 0x1b0d6                                     |         goto label_3;
                                                                 |     }
                                                                 | label_6:
    0x0001b260 ldrd lr, ip, [r3, 0x30]                           |     __asm ("ldrd lr, ip, [r3, 0x30]");
    0x0001b264 mov r5, r4                                        |     r5 = r4;
    0x0001b266 mov r0, r7                                        |     r0 = r7;
    0x0001b268 cmp r4, lr                                        |     
    0x0001b26a sbcs.w r8, r7, ip                                 |     __asm ("sbcs.w r8, r7, ip");
    0x0001b26e itt lo                                            |     
                                                                 |     if (r4 >= lr) {
    0x0001b270 movlo r5, lr                                      |         r5 = lr;
                                                                 |     }
                                                                 |     if (r4 >= lr) {
    0x0001b272 movlo r0, ip                                      |         r0 = ip;
                                                                 |     }
    0x0001b274 cmp r5, r2                                        |     
    0x0001b276 strd r5, r0, [r3, 0x30]                           |     __asm ("strd r5, r0, [r3, 0x30]");
    0x0001b27a sbcs r0, r1                                       |     __asm ("sbcs r0, r1");
    0x0001b27c it hs                                             |     
                                                                 |     if (r5 < r2) {
    0x0001b27e movhs r2, 0                                       |         r2 = 0;
                                                                 |     }
                                                                 |     if (r5 < r2) {
    0x0001b280 bhs 0x1b284                                       |         
    0x0001b282 subs r2, r2, r5                                   |         r2 -= r5;
                                                                 |     }
    0x0001b284 ldr.w r3, [r6, 0x2a8]                             |     r3 = *((r6 + 0x2a8));
    0x0001b288 str.w r2, [r6, 0x1e4]                             |     __asm ("str.w r2, [r6, 0x1e4]");
    0x0001b28c cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0001b28e beq.w 0x1b058                                     |         goto label_1;
                                                                 |     }
    0x0001b292 add.w r0, r6, 0x2ac                               |     r0 = r6 + 0x2ac;
    0x0001b296 blx 0x706c                                        |     fcn_0000706c ();
    0x0001b29a ldr.w r3, [r6, 0x210]                             |     r3 = *((r6 + 0x210));
    0x0001b29e cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0001b2a0 beq.w 0x1b062                                     |         goto label_4;
                                                                 |     }
                                                                 | label_20:
    0x0001b2a4 mov r0, r6                                        |     r0 = r6;
    0x0001b2a6 bl 0x1ae84                                        |     fcn_0001ae84 (r0);
    0x0001b2aa b 0x1b062                                         |     goto label_4;
                                                                 | label_19:
    0x0001b2ac ldr.w r3, [r6, 0x2d0]                             |     r3 = *((r6 + 0x2d0));
    0x0001b2b0 ldrd r2, r1, [r3, 0x18]                           |     __asm ("ldrd r2, r1, [r3, 0x18]");
    0x0001b2b4 mov ip, r3                                        |     
    0x0001b2b6 cmp r4, r2                                        |     
    0x0001b2b8 sbcs.w r0, r7, r1                                 |     __asm ("sbcs.w r0, r7, r1");
                                                                 |     if (r4 <= r2) {
    0x0001b2bc blo 0x1b244                                       |         goto label_5;
                                                                 |     }
                                                                 | label_31:
    0x0001b2be ldr r0, [sp, 0x28]                                |     r0 = var_28h;
    0x0001b2c0 ldr r5, [sp, 0x34]                                |     r5 = var_34h;
    0x0001b2c2 orrs r0, r5                                       |     r0 |= r5;
                                                                 |     if (r0 == r5) {
    0x0001b2c4 beq 0x1b260                                       |         goto label_6;
                                                                 |     }
    0x0001b2c6 ldr.w r0, [r6, 0x1c0]                             |     r0 = *((r6 + 0x1c0));
    0x0001b2ca cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0001b2cc beq 0x1b260                                       |         goto label_6;
                                                                 |     }
    0x0001b2ce ldr r1, [sp, 0x38]                                |     r1 = var_38h;
    0x0001b2d0 mvn r4, 2                                         |     r4 = ~2;
    0x0001b2d4 ldr r0, [sp, 0x24]                                |     r0 = var_24h;
    0x0001b2d6 blx 0x62b8                                        |     gst_event_parse_segment ();
    0x0001b2da ldr r3, [sp, 0xa4]                                |     r3 = *(arg_a4h);
    0x0001b2dc ldr r3, [r3]                                      |     r3 = *(r3);
    0x0001b2de cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0001b2e0 bne.w 0x1b098                                     |         goto label_7;
                                                                 |     }
    0x0001b2e4 ldr r0, [sp, 0x24]                                |     r0 = var_24h;
    0x0001b2e6 mvn r4, 2                                         |     r4 = ~2;
    0x0001b2ea blx 0x6a64                                        |     fcn_00006a64 ();
    0x0001b2ee b 0x1b098                                         |     goto label_7;
                                                                 | label_30:
    0x0001b2f0 mov fp, sl                                        |     
    0x0001b2f2 b 0x1b0d6                                         |     goto label_3;
                                                                 | label_29:
    0x0001b2f4 ldr.w r3, [r6, 0x2a8]                             |     r3 = *((r6 + 0x2a8));
    0x0001b2f8 mov fp, r0                                        |     
    0x0001b2fa cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0001b2fc bne 0x1b36e                                       |         goto label_33;
                                                                 |     }
                                                                 | label_8:
    0x0001b2fe cmp.w sl, 0                                       |     
                                                                 |     if (sl == 0) {
    0x0001b302 beq.w 0x1b40c                                     |         goto label_34;
                                                                 |     }
    0x0001b306 mov r4, r5                                        |     r4 = r5;
    0x0001b308 mov r7, fp                                        |     r7 = fp;
    0x0001b30a b 0x1afc8                                         |     goto label_0;
                                                                 | label_32:
    0x0001b30c ldr.w r0, [r6, 0x1c0]                             |     r0 = *((r6 + 0x1c0));
    0x0001b310 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0001b312 beq 0x1b260                                       |         goto label_6;
                                                                 |     }
    0x0001b314 mov sl, r5                                        |     sl = r5;
    0x0001b316 mov fp, r5                                        |     
    0x0001b318 str r5, [sp, 0xa0]                                |     *(arg_a0h) = r5;
    0x0001b31a b 0x1b0d6                                         |     goto label_3;
                                                                 | label_14:
    0x0001b31c blx 0x7050                                        |     r0 = gst_query_remove_nth_allocation_meta ();
    0x0001b320 mov r4, r0                                        |     r4 = r0;
    0x0001b322 ldr r0, [pc, 0x174]                               |     
    0x0001b324 add r0, pc                                        |     r0 = 0x367c2;
    0x0001b326 blx 0x7050                                        |     r0 = gst_query_remove_nth_allocation_meta ();
    0x0001b32a mov r5, r0                                        |     r5 = r0;
    0x0001b32c blx 0x74a4                                        |     fcn_000074a4 ();
    0x0001b330 ldr r1, [pc, 0x168]                               |     
    0x0001b332 mov r2, r0                                        |     r2 = r0;
    0x0001b334 movs r3, 0xa                                      |     r3 = 0xa;
    0x0001b336 str r4, [sp]                                      |     *(sp) = r4;
    0x0001b338 mov r0, r6                                        |     r0 = r6;
    0x0001b33a str r5, [sp, 4]                                   |     var_4h = r5;
    0x0001b33c add r1, pc                                        |     r1 = 0x367dc;
    0x0001b33e mvn r4, 4                                         |     r4 = ~4;
    0x0001b342 adds r1, 0x24                                     |     r1 += 0x24;
    0x0001b344 str r1, [sp, 0xc]                                 |     var_ch = r1;
    0x0001b346 ldr r1, [pc, 0x158]                               |     
    0x0001b348 add r1, pc                                        |     r1 = 0x367ee;
    0x0001b34a str r1, [sp, 8]                                   |     var_8h = r1;
    0x0001b34c mov.w r1, 0x6a8                                   |     r1 = 0x6a8;
    0x0001b350 str r1, [sp, 0x10]                                |     var_10h = r1;
    0x0001b352 movs r1, 2                                        |     r1 = 2;
    0x0001b354 blx 0x63a4                                        |     fcn_000063a4 ();
    0x0001b358 ldr r3, [sp, 0xa4]                                |     r3 = *(arg_a4h);
    0x0001b35a ldr r3, [r3]                                      |     r3 = *(r3);
    0x0001b35c cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0001b35e bne.w 0x1b098                                     |         goto label_7;
                                                                 |     }
    0x0001b362 ldr r0, [sp, 0x24]                                |     r0 = var_24h;
    0x0001b364 mvn r4, 4                                         |     r4 = ~4;
    0x0001b368 blx 0x6a64                                        |     fcn_00006a64 ();
    0x0001b36c b 0x1b098                                         |     goto label_7;
                                                                 | label_33:
    0x0001b36e add.w r0, r6, 0x2ac                               |     r0 = r6 + 0x2ac;
    0x0001b372 blx 0x706c                                        |     fcn_0000706c ();
    0x0001b376 b 0x1b2fe                                         |     goto label_8;
                                                                 | label_18:
    0x0001b378 ldr r1, [r3, 0x18]                                |     r1 = *((r3 + 0x18));
    0x0001b37a ldr r3, [r3, 0x1c]                                |     r3 = *((r3 + 0x1c));
    0x0001b37c adds.w lr, lr, r1                                 |     lr += r1;
    0x0001b380 adc.w r2, r2, r3                                  |     __asm ("adc.w r2, r2, r3");
    0x0001b384 cmp lr, r4                                        |     
    0x0001b386 sbcs r2, r7                                       |     __asm ("sbcs r2, r7");
                                                                 |     if (lr <= r4) {
    0x0001b388 blo.w 0x1b042                                     |         goto label_9;
                                                                 |     }
    0x0001b38c b 0x1b050                                         |     goto label_10;
                                                                 | label_13:
    0x0001b38e ldr r1, [sp, 0xa0]                                |     r1 = *(arg_a0h);
    0x0001b390 mov r2, r3                                        |     r2 = r3;
    0x0001b392 mov r0, r3                                        |     r0 = r3;
    0x0001b394 blx 0x71a4                                        |     fcn_000071a4 ();
    0x0001b398 str r0, [sp, 0x24]                                |     var_24h = r0;
    0x0001b39a b 0x1af74                                         |     goto label_11;
                                                                 | label_21:
    0x0001b39c ldr r0, [sp, 0x24]                                |     r0 = var_24h;
    0x0001b39e mvn r4, 1                                         |     r4 = ~1;
    0x0001b3a2 blx 0x6a64                                        |     fcn_00006a64 ();
    0x0001b3a6 b 0x1b098                                         |     goto label_7;
                                                                 | label_27:
    0x0001b3a8 movs r0, 0                                        |     r0 = 0;
    0x0001b3aa blx 0x7050                                        |     r0 = gst_query_remove_nth_allocation_meta ();
    0x0001b3ae mov r4, r0                                        |     r4 = r0;
    0x0001b3b0 blx 0x7594                                        |     r0 = fcn_00007594 ();
    0x0001b3b4 ldr r0, [r0]                                      |     r0 = *(r0);
    0x0001b3b6 blx 0x7204                                        |     r0 = fcn_00007204 ();
    0x0001b3ba mov r1, r0                                        |     r1 = r0;
    0x0001b3bc ldr r0, [pc, 0xe4]                                |     
    0x0001b3be add r0, pc                                        |     r0 = 0x36866;
    0x0001b3c0 blx 0x7050                                        |     r0 = gst_query_remove_nth_allocation_meta ();
    0x0001b3c4 mov r5, r0                                        |     r5 = r0;
    0x0001b3c6 blx 0x74a4                                        |     fcn_000074a4 ();
    0x0001b3ca ldr r3, [pc, 0xdc]                                |     
    0x0001b3cc mov r2, r0                                        |     r2 = r0;
    0x0001b3ce strd r4, r5, [sp]                                 |     __asm ("strd r4, r5, [sp]");
    0x0001b3d2 mvn r4, 4                                         |     r4 = ~4;
    0x0001b3d6 mov r0, r6                                        |     r0 = r6;
    0x0001b3d8 movs r1, 2                                        |     r1 = 2;
    0x0001b3da add r3, pc                                        |     r3 = 0x36888;
    0x0001b3dc adds r3, 0x3c                                     |     r3 += 0x3c;
    0x0001b3de str r3, [sp, 0xc]                                 |     var_ch = r3;
    0x0001b3e0 ldr r3, [pc, 0xc8]                                |     
    0x0001b3e2 add r3, pc                                        |     r3 = 0x36892;
    0x0001b3e4 str r3, [sp, 8]                                   |     var_8h = r3;
    0x0001b3e6 mov.w r3, 0x5f0                                   |     r3 = 0x5f0;
    0x0001b3ea str r3, [sp, 0x10]                                |     var_10h = r3;
    0x0001b3ec movs r3, 9                                        |     r3 = 9;
    0x0001b3ee blx 0x63a4                                        |     fcn_000063a4 ();
                                                                 | label_12:
    0x0001b3f2 ldr r1, [sp, 0x38]                                |     r1 = var_38h;
    0x0001b3f4 ldr r0, [sp, 0x24]                                |     r0 = var_24h;
    0x0001b3f6 blx 0x62b8                                        |     gst_event_parse_segment ();
    0x0001b3fa ldr r3, [sp, 0xa4]                                |     r3 = *(arg_a4h);
    0x0001b3fc ldr r3, [r3]                                      |     r3 = *(r3);
    0x0001b3fe cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0001b400 bne.w 0x1b098                                     |         goto label_7;
                                                                 |     }
    0x0001b404 ldr r0, [sp, 0x24]                                |     r0 = var_24h;
    0x0001b406 blx 0x6a64                                        |     fcn_00006a64 ();
    0x0001b40a b 0x1b098                                         |     goto label_7;
                                                                 | label_34:
    0x0001b40c ldr r3, [sp, 0xa0]                                |     r3 = *(arg_a0h);
    0x0001b40e ldr r2, [sp, 0x2c]                                |     r2 = var_2ch;
    0x0001b410 adds r5, r3, r2                                   |     r5 = r3 + r2;
    0x0001b412 ldr r3, [sp, 0x30]                                |     r3 = var_30h;
    0x0001b414 adc r4, r3, 0                                     |     __asm ("adc r4, r3, 0");
    0x0001b416 lsls r0, r0, 0x10                                 |     r0 <<= 0x10;
                                                                 |     do {
    0x0001b418 ldr r6, [sp, 0x24]                                |         r6 = var_24h;
    0x0001b41a ldr r1, [sp, 0x38]                                |         r1 = var_38h;
    0x0001b41c mov r0, r6                                        |         r0 = r6;
    0x0001b41e blx 0x62b8                                        |         gst_event_parse_segment ();
    0x0001b422 ldr r2, [sp, 0xa0]                                |         r2 = *(arg_a0h);
    0x0001b424 movs r1, 0                                        |         r1 = 0;
    0x0001b426 mov r0, r6                                        |         r0 = r6;
    0x0001b428 blx 0x728c                                        |         fcn_0000728c ();
    0x0001b42c ldr r2, [sp, 0x2c]                                |         r2 = var_2ch;
    0x0001b42e str r4, [r6, 0x4c]                                |         *((r6 + 0x4c)) = r4;
    0x0001b430 movs r4, 0                                        |         r4 = 0;
    0x0001b432 str r2, [r6, 0x40]                                |         *((r6 + 0x40)) = r2;
    0x0001b434 ldr r2, [sp, 0x30]                                |         r2 = var_30h;
    0x0001b436 strd r2, r5, [r6, 0x44]                           |         __asm ("strd r2, r5, [r6, 0x44]");
    0x0001b43a ldr r2, [sp, 0xa4]                                |         r2 = *(arg_a4h);
    0x0001b43c str r6, [r2]                                      |         *(r2) = r6;
    0x0001b43e b 0x1b098                                         |         goto label_7;
                                                                 | label_15:
    0x0001b440 ldrd r5, r4, [sp, 0x2c]                           |         __asm ("ldrd r5, r4, [var_2ch]");
    0x0001b444 b 0x1b418                                         |         
                                                                 |     } while (1);
                                                                 | label_26:
    0x0001b446 movs r0, 0                                        |     r0 = 0;
    0x0001b448 blx 0x7050                                        |     r0 = gst_query_remove_nth_allocation_meta ();
    0x0001b44c mov r4, r0                                        |     r4 = r0;
    0x0001b44e blx 0x7594                                        |     r0 = fcn_00007594 ();
    0x0001b452 ldr r0, [r0]                                      |     r0 = *(r0);
    0x0001b454 blx 0x7204                                        |     r0 = fcn_00007204 ();
    0x0001b458 mov r1, r0                                        |     r1 = r0;
    0x0001b45a ldr r0, [pc, 0x54]                                |     
    0x0001b45c add r0, pc                                        |     r0 = 0x36912;
    0x0001b45e blx 0x7050                                        |     r0 = gst_query_remove_nth_allocation_meta ();
    0x0001b462 mov r5, r0                                        |     r5 = r0;
    0x0001b464 blx 0x74a4                                        |     fcn_000074a4 ();
    0x0001b468 ldr r3, [pc, 0x48]                                |     
    0x0001b46a mov r2, r0                                        |     r2 = r0;
    0x0001b46c strd r4, r5, [sp]                                 |     __asm ("strd r4, r5, [sp]");
    0x0001b470 mov r0, r6                                        |     r0 = r6;
    0x0001b472 movs r1, 2                                        |     r1 = 2;
    0x0001b474 mvn r4, 4                                         |     r4 = ~4;
    0x0001b478 add r3, pc                                        |     r3 = 0x36930;
    0x0001b47a adds r3, 0x3c                                     |     r3 += 0x3c;
    0x0001b47c str r3, [sp, 0xc]                                 |     var_ch = r3;
    0x0001b47e ldr r3, [pc, 0x38]                                |     
    0x0001b480 add r3, pc                                        |     r3 = 0x3693e;
    0x0001b482 str r3, [sp, 8]                                   |     var_8h = r3;
    0x0001b484 movw r3, 0x5eb                                    |     r3 = 0x5eb;
    0x0001b488 str r3, [sp, 0x10]                                |     var_10h = r3;
    0x0001b48a movs r3, 0xb                                      |     r3 = 0xb;
    0x0001b48c blx 0x63a4                                        |     fcn_000063a4 ();
    0x0001b490 b 0x1b3f2                                         |     goto label_12;
                                                                 | label_28:
    0x0001b492 mvn r4, 2                                         |     r4 = ~2;
    0x0001b496 b 0x1b3f2                                         |     goto label_12;
                                                                 | }
    ; 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/libgstcoreelements.so @ 0x1b7d0 */
                                                                     | #include <stdint.h>
                                                                     |  
    ; (fcn) fcn.0001b7d0 ()                                          | void fcn_0001b7d0 (int16_t arg_1bch, int16_t arg_1e4h, int16_t arg_1fch, int16_t arg_210h, int16_t arg_238h, int16_t arg_23ch, int16_t arg_290h, int16_t arg_298h, int16_t arg_29ch, int16_t arg_2a8h, int16_t arg_2ach, int16_t arg_2b8h, int16_t arg_2c8h, int16_t arg_2cch, int16_t arg_2d0h, int16_t arg_2e8h, int16_t arg_2f0h, int16_t arg_2f8h, int16_t arg_300h, int16_t arg_308h, int16_t arg_310h, int16_t arg_314h, 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_18h;
                                                                     |     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_54h;
                                                                     |     int16_t var_5ch;
                                                                     |     int16_t var_60h;
                                                                     |     r0 = arg1;
                                                                     |     r1 = arg2;
    0x0001b7d0 push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}           |     
    0x0001b7d4 sub sp, 0x8c                                          |     
    0x0001b7d6 ldr.w r3, [r0, 0x2e8]                                 |     r3 = *((r0 + 0x2e8));
    0x0001b7da mov fp, r0                                            |     
    0x0001b7dc ldr.w r2, [r0, 0x2ec]                                 |     r2 = *((r0 + 0x2ec));
    0x0001b7e0 str r1, [sp, 0x40]                                    |     var_40h = r1;
    0x0001b7e2 mov r1, r3                                            |     r1 = r3;
    0x0001b7e4 str r3, [sp, 0x2c]                                    |     var_2ch = r3;
    0x0001b7e6 ldr.w r3, [r0, 0x2d0]                                 |     r3 = *((r0 + 0x2d0));
    0x0001b7ea orrs r2, r1                                           |     r2 |= r1;
    0x0001b7ec ldr r0, [sp, 0x40]                                    |     r0 = var_40h;
    0x0001b7ee mov.w r2, 1                                           |     r2 = 1;
    0x0001b7f2 ite ne                                                |     
                                                                     |     if (r2 != r1) {
    0x0001b7f4 ldrdne r8, sb, [r3, 0x20]                             |         __asm ("ldrdne r8, sb, [r3, 0x20]");
                                                                     |     }
                                                                     |     if (r2 == r1) {
    0x0001b7f8 ldrd r8, sb, [r3, 0x18]                               |         __asm ("ldrd r8, sb, [r3, 0x18]");
                                                                     |     }
    0x0001b7fc add r3, sp, 0x54                                      |     r3 += var_54h;
    0x0001b7fe mov r1, r3                                            |     r1 = r3;
    0x0001b800 str r3, [sp, 0x48]                                    |     var_48h = r3;
    0x0001b802 ldr.w r3, [fp, 0x2f0]                                 |     r3 = *(arg_2f0h);
    0x0001b806 str r3, [sp, 0x44]                                    |     var_44h = r3;
    0x0001b808 blx 0x6bf0                                            |     r0 = fcn_00006bf0 ();
    0x0001b80c mov r4, r0                                            |     r4 = r0;
    0x0001b80e cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0001b810 beq.w 0x1bd46                                         |         goto label_20;
                                                                     |     }
    0x0001b814 ldr r3, [sp, 0x60]                                    |     r3 = var_60h;
    0x0001b816 ldr r2, [sp, 0x5c]                                    |     r2 = var_5ch;
    0x0001b818 str r3, [sp, 0x18]                                    |     var_18h = r3;
    0x0001b81a str r2, [sp, 0x20]                                    |     var_20h = r2;
    0x0001b81c cmp r3, 0                                             |     
                                                                     |     if (r3 == 0) {
    0x0001b81e beq.w 0x1bd90                                         |         goto label_21;
                                                                     |     }
    0x0001b822 movs r2, 1                                            |     r2 = 1;
    0x0001b824 movs r3, 0                                            |     r3 = 0;
    0x0001b826 movt r2, 8                                            |     r2 = (r2 & 0xFFFF) | 0x80000;
    0x0001b82a mov sl, r3                                            |     sl = r3;
    0x0001b82c str r3, [sp, 0x28]                                    |     var_28h = r3;
    0x0001b82e str r2, [sp, 0x4c]                                    |     var_4ch = r2;
    0x0001b830 b 0x1b8e6                                             |     
                                                                     |     while (r3 != 0) {
    0x0001b832 str.w sl, [sp]                                        |         __asm ("str.w sl, [sp]");
    0x0001b836 mov r2, r8                                            |         r2 = r8;
    0x0001b838 ldr.w r0, [fp, 0x2c8]                                 |         r0 = *(arg_2c8h);
    0x0001b83c mov r3, sb                                            |         r3 = sb;
    0x0001b83e blx 0x6c14                                            |         r0 = fcn_00006c14 ();
    0x0001b842 cmp r0, 0                                             |         
                                                                     |         if (r0 != 0) {
    0x0001b844 bne.w 0x1bb58                                         |             goto label_11;
                                                                     |         }
    0x0001b848 cmp r8, r4                                            |         
    0x0001b84a ldr.w r3, [fp, 0x2b8]                                 |         r3 = *(arg_2b8h);
    0x0001b84e sbcs.w r2, sb, r5                                     |         __asm ("sbcs.w r2, sb, r5");
                                                                     |         if (r8 >= r4) {
    0x0001b852 bhs.w 0x1bbb0                                         |             goto label_22;
                                                                     |         }
    0x0001b856 cmp r3, 0                                             |         
                                                                     |         if (r3 == 0) {
    0x0001b858 beq.w 0x1bc70                                         |             goto label_23;
                                                                     |         }
    0x0001b85c ldr.w r3, [fp, 0x2c8]                                 |         r3 = *(arg_2c8h);
    0x0001b860 movs r2, 1                                            |         r2 = 1;
    0x0001b862 ldrd r1, r0, [sp, 0x1c]                               |         __asm ("ldrd r1, r0, [var_20h]");
    0x0001b866 blx 0x6e44                                            |         r0 = fcn_00006e44 ();
    0x0001b86a cmp r0, 1                                             |         
                                                                     |         if (r0 != 1) {
    0x0001b86c bne.w 0x1bc1a                                         |             goto label_24;
                                                                     |         }
                                                                     | label_14:
    0x0001b870 ldrd r3, r2, [sp, 0x18]                               |         __asm ("ldrd r3, r2, [var_18h]");
    0x0001b874 ldr.w r7, [fp, 0x2d0]                                 |         r7 = *(arg_2d0h);
    0x0001b878 subs r6, r3, r2                                       |         r6 = r3 - r2;
    0x0001b87a ldrd r2, r3, [fp, 0x2e8]                              |         __asm ("ldrd r2, r3, [arg_2e8h]");
    0x0001b87e mov r0, r7                                            |         r0 = r7;
    0x0001b880 orrs r3, r2                                           |         r3 |= r2;
                                                                     |         if (r3 == r2) {
    0x0001b882 beq.w 0x1bc9a                                         |             goto label_25;
                                                                     |         }
                                                                     | label_0:
    0x0001b886 ldrd r2, r3, [sp, 0x1c]                               |         __asm ("ldrd r2, r3, [var_20h]");
    0x0001b88a mov r8, r4                                            |         r8 = r4;
    0x0001b88c mov sb, r5                                            |         sb = r5;
    0x0001b88e str r6, [sp, 0x18]                                    |         var_18h = r6;
    0x0001b890 add r3, r2                                            |         r3 += r2;
    0x0001b892 str r3, [sp, 0x20]                                    |         var_20h = r3;
    0x0001b894 ldr r3, [r0, 0x18]                                    |         r3 = *((r0 + 0x18));
    0x0001b896 adds r3, r3, r2                                       |         r3 += r2;
    0x0001b898 str r3, [r0, 0x18]                                    |         *((r0 + 0x18)) = r3;
    0x0001b89a ldr r3, [r0, 0x1c]                                    |         r3 = *((r0 + 0x1c));
    0x0001b89c adc r3, r3, 0                                         |         __asm ("adc r3, r3, 0");
    0x0001b8a0 str r3, [r0, 0x1c]                                    |         *((r0 + 0x1c)) = r3;
    0x0001b8a2 ldr.w r3, [fp, 0x2d0]                                 |         r3 = *(arg_2d0h);
    0x0001b8a6 strd r4, r5, [r3, 0x20]                               |         __asm ("strd r4, r5, [r3, 0x20]");
    0x0001b8aa ldr r3, [sp, 0x28]                                    |         r3 = var_28h;
    0x0001b8ac cmp r3, 0                                             |         
                                                                     |         if (r3 != 0) {
    0x0001b8ae bne 0x1b950                                           |             goto label_26;
                                                                     |         }
                                                                     | label_1:
    0x0001b8b0 ldr.w r3, [fp, 0x2d0]                                 |         r3 = *(arg_2d0h);
    0x0001b8b4 ldr r2, [r3, 0x18]                                    |         r2 = *((r3 + 0x18));
    0x0001b8b6 ldr r1, [r3, 0x30]                                    |         r1 = *((r3 + 0x30));
    0x0001b8b8 ldr r0, [r3, 0x1c]                                    |         r0 = *((r3 + 0x1c));
    0x0001b8ba ldr r3, [r3, 0x34]                                    |         r3 = *((r3 + 0x34));
    0x0001b8bc cmp r1, r2                                            |         
    0x0001b8be sbcs r3, r0                                           |         __asm ("sbcs r3, r0");
    0x0001b8c0 ldr.w r3, [fp, 0x210]                                 |         r3 = *(arg_210h);
    0x0001b8c4 ite lo                                                |         
                                                                     |         if (r1 >= r2) {
    0x0001b8c6 sublo r2, r2, r1                                      |             r2 -= r1;
                                                                     |         }
                                                                     |         if (r1 < r2) {
    0x0001b8c8 movhs r2, 0                                           |             r2 = 0;
                                                                     |         }
    0x0001b8ca str.w r2, [fp, 0x1e4]                                 |         __asm ("str.w r2, [arg_1e4h]");
    0x0001b8ce cmp r3, 0                                             |         
                                                                     |         if (r3 != 0) {
    0x0001b8d0 bne.w 0x1bac8                                         |             goto label_27;
                                                                     |         }
                                                                     | label_8:
    0x0001b8d4 ldr.w r3, [fp, 0x298]                                 |         r3 = *(arg_298h);
    0x0001b8d8 cmp r3, 0                                             |         
                                                                     |         if (r3 != 0) {
    0x0001b8da bne.w 0x1babe                                         |             goto label_28;
                                                                     |         }
                                                                     | label_7:
    0x0001b8de ldr r3, [sp, 0x18]                                    |         r3 = var_18h;
    0x0001b8e0 cmp r3, 0                                             |         
                                                                     |         if (r3 == 0) {
    0x0001b8e2 beq.w 0x1bd90                                         |             goto label_21;
                                                                     |         }
    0x0001b8e6 ldrd r2, r5, [fp, 0x2e8]                              |         __asm ("ldrd r2, r5, [arg_2e8h]");
    0x0001b8ea orrs.w r3, r2, r5                                     |         r3 = r2 | r5;
    0x0001b8ee itt ne                                                |         
                                                                     |         if (r3 == r2) {
    0x0001b8f0 movne r4, 1                                           |             r4 = 1;
                                                                     |         }
                                                                     |         if (r3 == r2) {
    0x0001b8f2 addne r6, fp, 0x290                                   |             r6 += arg_290h;
                                                                     |         }
                                                                     |         if (r3 != r2) {
    0x0001b8f6 bne 0x1b976                                           |             goto label_29;
                                                                     |         }
    0x0001b8f8 ldr r3, [sp, 0x18]                                    |         r3 = var_18h;
    0x0001b8fa adds.w r4, r3, r8                                     |         r4 = r3 + r8;
    0x0001b8fe str r3, [sp, 0x1c]                                    |         var_1ch = r3;
    0x0001b900 adc r5, sb, 0                                         |         __asm ("adc r5, sb, 0");
                                                                     | label_2:
    0x0001b904 ldr.w r3, [fp, 0x2b8]                                 |         r3 = *(arg_2b8h);
    0x0001b908 cmp r3, 0                                             |         
    0x0001b90a bne 0x1b832                                           |         
                                                                     |     }
    0x0001b90c cmp r8, r4                                            |     
    0x0001b90e sbcs.w r3, sb, r5                                     |     __asm ("sbcs.w r3, sb, r5");
                                                                     |     if (r8 <= r4) {
    0x0001b912 blo.w 0x1bc70                                         |         goto label_23;
                                                                     |     }
    0x0001b916 ldr r3, [sp, 0x2c]                                    |     r3 = var_2ch;
    0x0001b918 ldr r2, [sp, 0x1c]                                    |     r2 = var_1ch;
    0x0001b91a subs.w r7, r3, r8                                     |     r7 = r3 - r8;
    0x0001b91e sub.w r6, r8, r3                                      |     r6 = r8 - r3;
    0x0001b922 add r6, r2                                            |     r6 += r2;
                                                                     |     if (r7 != r3) {
    0x0001b924 bne.w 0x1bc80                                         |         goto label_30;
                                                                     |     }
                                                                     | label_10:
    0x0001b928 cmp r6, 0                                             |     
                                                                     |     if (r6 != 0) {
    0x0001b92a bne.w 0x1bd28                                         |         goto label_31;
                                                                     |     }
                                                                     | label_12:
    0x0001b92e ldrd r3, r2, [sp, 0x18]                               |     __asm ("ldrd r3, r2, [var_18h]");
    0x0001b932 mov r8, r4                                            |     r8 = r4;
    0x0001b934 ldr.w r0, [fp, 0x2d0]                                 |     r0 = *(arg_2d0h);
    0x0001b938 mov sb, r5                                            |     sb = r5;
    0x0001b93a subs r6, r3, r2                                       |     r6 = r3 - r2;
                                                                     | label_17:
    0x0001b93c ldrd r3, r2, [fp, 0x2e8]                              |     __asm ("ldrd r3, r2, [arg_2e8h]");
    0x0001b940 str r6, [sp, 0x18]                                    |     var_18h = r6;
    0x0001b942 orrs r3, r2                                           |     r3 |= r2;
                                                                     |     if (r3 != r2) {
    0x0001b944 bne 0x1b886                                           |         goto label_0;
                                                                     |     }
                                                                     | label_19:
    0x0001b946 ldr r3, [sp, 0x28]                                    |     r3 = var_28h;
    0x0001b948 strd r4, r5, [r0, 0x18]                               |     __asm ("strd r4, r5, [r0, 0x18]");
    0x0001b94c cmp r3, 0                                             |     
                                                                     |     if (r3 == 0) {
    0x0001b94e beq 0x1b8b0                                           |         goto label_1;
                                                                     |     }
                                                                     | label_26:
    0x0001b950 mov r2, r4                                            |     r2 = r4;
    0x0001b952 mov r3, r5                                            |     r3 = r5;
    0x0001b954 mov r0, fp                                            |     r0 = fp;
    0x0001b956 bl 0x1a630                                            |     fcn_0001a630 (r0, r1, r2);
    0x0001b95a b 0x1b8b0                                             |     goto label_1;
                                                                     |     do {
    0x0001b95c str.w r4, [fp, 0x2a8]                                 |         __asm ("str.w r4, [arg_2a8h]");
    0x0001b960 blx 0x6c38                                            |         fcn_00006c38 ();
    0x0001b964 ldr.w r3, [fp, 0x1bc]                                 |         r3 = *(arg_1bch);
    0x0001b968 str.w sl, [fp, 0x2a8]                                 |         __asm ("str.w sl, [arg_2a8h]");
    0x0001b96c cmp r3, 0                                             |         
                                                                     |         if (r3 != 0) {
    0x0001b96e bne.w 0x1bb9e                                         |             goto label_13;
                                                                     |         }
    0x0001b972 ldrd r2, r5, [fp, 0x2e8]                              |         __asm ("ldrd r2, r5, [arg_2e8h]");
                                                                     | label_29:
    0x0001b976 ldr.w r3, [fp, 0x1fc]                                 |         r3 = *(arg_1fch);
    0x0001b97a movs r7, 0                                            |         r7 = 0;
    0x0001b97c mov r1, r6                                            |         r1 = r6;
    0x0001b97e add.w r0, fp, 0x2ac                                   |         r0 += arg_2ach;
    0x0001b982 cmp r2, r3                                            |         
    0x0001b984 sbcs ip, r5, 0                                        |         __asm ("sbcs ip, r5, 0");
    0x0001b988 it lo                                                 |         
                                                                     |         if (r2 >= r3) {
    0x0001b98a movlo r3, r2                                          |             r3 = r2;
                                                                     |         }
    0x0001b98c ldr.w r2, [fp, 0x1e4]                                 |         r2 = *(arg_1e4h);
    0x0001b990 it lo                                                 |         
                                                                     |         if (r2 >= r3) {
    0x0001b992 movlo r7, r5                                          |             r7 = r5;
                                                                     |         }
    0x0001b994 cmp r2, r3                                            |         
    0x0001b996 sbcs.w r5, sl, r7                                     |         __asm ("sbcs.w r5, sl, r7");
    0x0001b99a bhs 0x1b95c                                           |         
                                                                     |     } while (r2 >= r3);
    0x0001b99c subs r3, r3, r2                                       |     r3 -= r2;
    0x0001b99e ldr r2, [sp, 0x18]                                    |     r2 = var_18h;
    0x0001b9a0 sbc r7, r7, 0                                         |     __asm ("sbc r7, r7, 0");
    0x0001b9a4 cmp r2, r3                                            |     
    0x0001b9a6 sbcs.w r7, sl, r7                                     |     __asm ("sbcs.w r7, sl, r7");
    0x0001b9aa it lt                                                 |     
                                                                     |     if (r2 >= r3) {
    0x0001b9ac movlt r3, r2                                          |         r3 = r2;
                                                                     |     }
    0x0001b9ae ldr r2, [sp, 0x2c]                                    |     r2 = var_2ch;
    0x0001b9b0 adds.w r0, r3, r8                                     |     r0 = r3 + r8;
    0x0001b9b4 str r3, [sp, 0x1c]                                    |     var_1ch = r3;
    0x0001b9b6 adc r1, sb, 0                                         |     __asm ("adc r1, sb, 0");
    0x0001b9ba movs r3, 0                                            |     r3 = 0;
    0x0001b9bc str r0, [sp, 0x38]                                    |     var_38h = r0;
    0x0001b9be str r1, [sp, 0x34]                                    |     var_34h = r1;
    0x0001b9c0 bl 0x22978                                            |     fcn_00022978 (r0, r1, r2, r3);
    0x0001b9c4 ldr.w r1, [fp, 0x2cc]                                 |     r1 = *(arg_2cch);
    0x0001b9c8 mov r4, r2                                            |     r4 = r2;
    0x0001b9ca mov r5, r3                                            |     r5 = r3;
    0x0001b9cc cmp r1, 0                                             |     
                                                                     |     if (r1 == 0) {
    0x0001b9ce beq 0x1b904                                           |         goto label_2;
                                                                     |     }
    0x0001b9d0 movs r7, 0                                            |     r7 = 0;
    0x0001b9d2 str.w r8, [sp, 0x3c]                                  |     __asm ("str.w r8, [var_3ch]");
    0x0001b9d4 strh r4, [r7]                                         |     *(r7) = r4;
    0x0001b9d6 str r7, [sp, 0x24]                                    |     var_24h = r7;
    0x0001b9d8 str.w sb, [sp, 0x30]                                  |     __asm ("str.w sb, [var_30h]");
                                                                     |     do {
                                                                     | label_3:
    0x0001b9dc ldr.w r3, [fp, 0x2d0]                                 |         r3 = *(arg_2d0h);
    0x0001b9e0 ldr r6, [r1]                                          |         r6 = *(r1);
    0x0001b9e2 cmp r3, r1                                            |         
                                                                     |         if (r3 == r1) {
    0x0001b9e4 beq 0x1ba62                                           |             goto label_5;
                                                                     |         }
    0x0001b9e6 ldrd r3, r2, [r1, 8]                                  |         __asm ("ldrd r3, r2, [r1, 8]");
    0x0001b9ea ldr r0, [r1, 0x1c]                                    |         r0 = *((r1 + 0x1c));
    0x0001b9ec ldr r7, [r1, 0x18]                                    |         r7 = *((r1 + 0x18));
    0x0001b9ee ldrd lr, r8, [r1, 0x10]                               |         __asm ("ldrd lr, r8, [r1, 0x10]");
    0x0001b9f2 ldrd sb, ip, [r1, 0x20]                               |         __asm ("ldrd sb, ip, [r1, 0x20]");
    0x0001b9f6 cmp r0, r2                                            |         
    0x0001b9f8 it eq                                                 |         
                                                                     |         if (r0 == r2) {
    0x0001b9fa cmpeq r7, r3                                          |             __asm ("cmpeq r7, r3");
                                                                     |         }
                                                                     |         if (r0 != r2) {
    0x0001b9fc beq 0x1ba3a                                           |             
    0x0001b9fe cmp lr, sb                                            |             
    0x0001ba00 sbcs.w r0, r8, ip                                     |             __asm ("sbcs.w r0, r8, ip");
                                                                     |             if (lr >= sb) {
    0x0001ba04 bhs 0x1ba6c                                           |                 goto label_32;
                                                                     |             }
    0x0001ba06 ldr r7, [sp, 0x3c]                                    |             r7 = var_3ch;
    0x0001ba08 ldr r0, [sp, 0x30]                                    |             r0 = var_30h;
    0x0001ba0a cmp r7, sb                                            |             
    0x0001ba0c sbcs.w r0, r0, ip                                     |             __asm ("sbcs.w r0, r0, ip");
    0x0001ba10 ite hs                                                |             
                                                                     |             if (r7 < sb) {
    0x0001ba12 movhs r0, 1                                           |                 r0 = 1;
                                                                     |             }
                                                                     |             if (r7 >= sb) {
    0x0001ba14 movlo r0, 0                                           |                 r0 = 0;
                                                                     |             }
    0x0001ba16 cmp r4, r7                                            |             
    0x0001ba18 ldr r7, [sp, 0x30]                                    |             r7 = var_30h;
    0x0001ba1a and r0, r0, 1                                         |             r0 &= 1;
    0x0001ba1e sbcs.w r7, r5, r7                                     |             __asm ("sbcs.w r7, r5, r7");
    0x0001ba22 it lo                                                 |             
                                                                     |             if (r4 >= r7) {
    0x0001ba24 movlo r0, 0                                           |                 r0 = 0;
                                                                     |             }
                                                                     |             if (r0 != 0) {
    0x0001ba26 cbnz r0, 0x1ba62                                      |                 goto label_5;
                                                                     |             }
    0x0001ba28 cmp lr, r4                                            |             
    0x0001ba2a sbcs.w r0, r8, r5                                     |             __asm ("sbcs.w r0, r8, r5");
    0x0001ba2c movs r5, r0                                           |             r5 = r0;
                                                                     |             if (r5 >= r0) {
    0x0001ba2e bhs 0x1ba62                                           |                 goto label_5;
                                                                     |             }
    0x0001ba30 cmp r4, sb                                            |             
    0x0001ba32 sbcs.w ip, r5, ip                                     |             __asm ("sbcs.w ip, r5, ip");
                                                                     |             if (r4 <= sb) {
    0x0001ba36 blo.w 0x1bc90                                         |                 goto label_33;
                                                                     |             }
                                                                     |         }
                                                                     | label_6:
    0x0001ba3a ldr r3, [sp, 0x24]                                    |         r3 = var_24h;
                                                                     |         if (r3 != 0) {
    0x0001ba3c cbz r3, 0x1ba42                                       |             
    0x0001ba3e str r6, [r3]                                          |             *(r3) = r6;
    0x0001ba40 ldr r6, [r1]                                          |             r6 = *(r1);
                                                                     |         }
    0x0001ba42 ldr.w r3, [fp, 0x2cc]                                 |         r3 = *(arg_2cch);
    0x0001ba46 cmp r3, r1                                            |         
                                                                     |         if (r3 == r1) {
    0x0001ba48 beq.w 0x1bb52                                         |             goto label_34;
                                                                     |         }
                                                                     | label_9:
    0x0001ba4c movs r0, 0x38                                         |         r0 = 0x38;
    0x0001ba4e blx 0x74f0                                            |         fcn_000074f0 ();
    0x0001ba52 mov r1, r6                                            |         r1 = r6;
    0x0001ba54 cmp r6, 0                                             |         
    0x0001ba56 bne 0x1b9dc                                           |         
                                                                     |     } while (r6 != 0);
                                                                     | label_4:
    0x0001ba58 ldr.w r8, [sp, 0x3c]                                  |     r8 = var_3ch;
    0x0001ba5c ldr.w sb, [sp, 0x30]                                  |     sb = var_30h;
    0x0001ba60 b 0x1b904                                             |     goto label_2;
                                                                     | label_5:
    0x0001ba62 str r1, [sp, 0x24]                                    |     var_24h = r1;
    0x0001ba64 mov r1, r6                                            |     r1 = r6;
    0x0001ba66 cmp r6, 0                                             |     
                                                                     |     if (r6 != 0) {
    0x0001ba68 bne 0x1b9dc                                           |         goto label_3;
                                                                     |     }
    0x0001ba6a b 0x1ba58                                             |     goto label_4;
                                                                     | label_32:
    0x0001ba6c ldr r7, [sp, 0x38]                                    |     r7 = var_38h;
    0x0001ba6e ldr r0, [sp, 0x34]                                    |     r0 = var_34h;
    0x0001ba70 cmp lr, r7                                            |     
    0x0001ba72 sbcs.w r0, r8, r0                                     |     __asm ("sbcs.w r0, r8, r0");
                                                                     |     if (lr >= r7) {
    0x0001ba76 bhs 0x1ba62                                           |         goto label_5;
                                                                     |     }
    0x0001ba78 ldr r0, [sp, 0x2c]                                    |     r0 = var_2ch;
    0x0001ba7a cmp r0, r7                                            |     
    0x0001ba7c ldr r0, [sp, 0x34]                                    |     r0 = var_34h;
    0x0001ba7e sbcs.w r0, sl, r0                                     |     __asm ("sbcs.w r0, sl, r0");
    0x0001ba82 ite lo                                                |     
                                                                     |     if (r0 >= r7) {
    0x0001ba84 movlo r0, 1                                           |         r0 = 1;
                                                                     |     }
                                                                     |     if (r0 < r7) {
    0x0001ba86 movhs r0, 0                                           |         r0 = 0;
                                                                     |     }
    0x0001ba88 cmp r4, sb                                            |     
    0x0001ba8a and r0, r0, 1                                         |     r0 &= 1;
    0x0001ba8e sbcs.w ip, r5, ip                                     |     __asm ("sbcs.w ip, r5, ip");
    0x0001ba92 it lo                                                 |     
                                                                     |     if (r4 >= sb) {
    0x0001ba94 movlo r0, 0                                           |         r0 = 0;
                                                                     |     }
    0x0001ba96 cmp r0, 0                                             |     
                                                                     |     if (r0 != 0) {
    0x0001ba98 bne 0x1ba3a                                           |         goto label_6;
                                                                     |     }
    0x0001ba9a ldr r0, [sp, 0x38]                                    |     r0 = var_38h;
    0x0001ba9c str r4, [r1, 0x10]                                    |     *((r1 + 0x10)) = r4;
    0x0001ba9e adds r3, r0, r3                                       |     r3 = r0 + r3;
    0x0001baa0 ldr r0, [sp, 0x34]                                    |     r0 = var_34h;
    0x0001baa2 adc.w r2, r0, r2                                      |     __asm ("adc.w r2, r0, r2");
                                                                     | label_16:
    0x0001baa6 subs.w r3, r3, lr                                     |     r3 -= lr;
    0x0001baaa str r5, [r1, 0x14]                                    |     *((r1 + 0x14)) = r5;
    0x0001baac sbc.w r2, r2, r8                                      |     __asm ("sbc.w r2, r2, r8");
    0x0001bab0 str r1, [sp, 0x24]                                    |     var_24h = r1;
    0x0001bab2 strd r3, r2, [r1, 8]                                  |     __asm ("strd r3, r2, [r1, 8]");
    0x0001bab6 mov r1, r6                                            |     r1 = r6;
    0x0001bab8 cmp r6, 0                                             |     
                                                                     |     if (r6 != 0) {
    0x0001baba bne 0x1b9dc                                           |         goto label_3;
                                                                     |     }
    0x0001babc b 0x1ba58                                             |     goto label_4;
                                                                     | label_28:
    0x0001babe add.w r0, fp, 0x29c                                   |     r0 += arg_29ch;
    0x0001bac2 blx 0x706c                                            |     fcn_0000706c ();
    0x0001bac6 b 0x1b8de                                             |     goto label_7;
                                                                     | label_27:
    0x0001bac8 mov r0, fp                                            |     r0 = fp;
    0x0001baca bl 0x1ae84                                            |     fcn_0001ae84 (r0);
    0x0001bace ldr.w r3, [fp, 0x310]                                 |     r3 = *(arg_310h);
    0x0001bad2 cmp r3, 0                                             |     
                                                                     |     if (r3 == 0) {
    0x0001bad4 beq.w 0x1b8d4                                         |         goto label_8;
                                                                     |     }
    0x0001bad8 ldr.w r3, [fp, 0x2a8]                                 |     r3 = *(arg_2a8h);
    0x0001badc str r3, [sp, 0x1c]                                    |     var_1ch = r3;
    0x0001bade cmp r3, 0                                             |     
                                                                     |     if (r3 != 0) {
    0x0001bae0 bne.w 0x1b8d4                                         |         goto label_8;
                                                                     |     }
    0x0001bae4 ldrd r5, r3, [fp, 0x238]                              |     __asm ("ldrd r5, r3, [arg_238h]");
    0x0001bae8 cmp r3, r5                                            |     
                                                                     |     if (r3 == r5) {
    0x0001baea beq.w 0x1b8d4                                         |         goto label_8;
                                                                     |     }
    0x0001baee mov r1, r5                                            |     r1 = r5;
    0x0001baf0 mov r0, fp                                            |     r0 = fp;
    0x0001baf2 blx 0x6ae8                                            |     fcn_00006ae8 ();
    0x0001baf6 ldrd r6, r7, [fp, 0x300]                              |     __asm ("ldrd r6, r7, [arg_300h]");
    0x0001bafa mov r4, r0                                            |     r4 = r0;
    0x0001bafc ldrd r2, r3, [fp, 0x308]                              |     __asm ("ldrd r2, r3, [arg_308h]");
    0x0001bb00 ldr.w r1, [fp, 0x2f8]                                 |     r1 = *(arg_2f8h);
    0x0001bb04 strd r6, r7, [sp]                                     |     __asm ("strd r6, r7, [sp]");
    0x0001bb08 blx 0x65cc                                            |     fcn_000065cc ();
    0x0001bb0c cmp r4, 0                                             |     
                                                                     |     if (r4 == 0) {
    0x0001bb0e beq.w 0x1b8d4                                         |         goto label_8;
                                                                     |     }
    0x0001bb12 add.w r7, fp, 0x290                                   |     r7 += arg_290h;
    0x0001bb16 add.w r6, fp, 0x314                                   |     r6 += arg_314h;
    0x0001bb1a mov r0, r7                                            |     r0 = r7;
    0x0001bb1c blx 0x69bc                                            |     fcn_000069bc ();
    0x0001bb20 mov r0, r6                                            |     r0 = r6;
    0x0001bb22 blx 0x7198                                            |     fcn_00007198 ();
    0x0001bb26 mov r1, r4                                            |     r1 = r4;
    0x0001bb28 mov r0, fp                                            |     r0 = fp;
    0x0001bb2a blx 0x6f6c                                            |     r0 = gst_caps_new_empty_simple ();
    0x0001bb2e mov r4, r0                                            |     r4 = r0;
    0x0001bb30 mov r0, r7                                            |     r0 = r7;
    0x0001bb32 blx 0x7198                                            |     fcn_00007198 ();
                                                                     |     if (r4 != 0) {
    0x0001bb36 cbz r4, 0x1bb4a                                       |         
    0x0001bb38 ldr.w r3, [fp, 0x238]                                 |         r3 = *(arg_238h);
    0x0001bb3c str.w r5, [fp, 0x23c]                                 |         __asm ("str.w r5, [arg_23ch]");
    0x0001bb40 cmp r3, r5                                            |         
    0x0001bb42 itt eq                                                |         
                                                                     |         if (r3 != r5) {
    0x0001bb44 ldreq r3, [sp, 0x1c]                                  |             r3 = var_1ch;
                                                                     |         }
                                                                     |         if (r3 == r5) {
    0x0001bb46 streq r3, [fp, 0x310]                                 |             *(arg_310h) = r3;
                                                                     |             goto label_35;
                                                                     |         }
                                                                     |     }
                                                                     | label_35:
    0x0001bb4a mov r0, r6                                            |     r0 = r6;
    0x0001bb4c blx 0x69bc                                            |     fcn_000069bc ();
    0x0001bb50 b 0x1b8d4                                             |     goto label_8;
                                                                     | label_34:
    0x0001bb52 str.w r6, [fp, 0x2cc]                                 |     __asm ("str.w r6, [arg_2cch]");
    0x0001bb56 b 0x1ba4c                                             |     goto label_9;
                                                                     | label_11:
    0x0001bb58 movs r0, 0                                            |     r0 = 0;
    0x0001bb5a blx 0x7050                                            |     r0 = gst_query_remove_nth_allocation_meta ();
    0x0001bb5e mov r4, r0                                            |     r4 = r0;
    0x0001bb60 blx 0x7594                                            |     r0 = fcn_00007594 ();
    0x0001bb64 ldr r0, [r0]                                          |     r0 = *(r0);
    0x0001bb66 blx 0x7204                                            |     r0 = fcn_00007204 ();
    0x0001bb6a mov r1, r0                                            |     r1 = r0;
    0x0001bb6c ldr r0, [pc, 0x26c]                                   |     
    0x0001bb6e add r0, pc                                            |     r0 = 0x3794e;
    0x0001bb70 blx 0x7050                                            |     r0 = gst_query_remove_nth_allocation_meta ();
    0x0001bb74 mov r5, r0                                            |     r5 = r0;
    0x0001bb76 blx 0x74a4                                            |     fcn_000074a4 ();
    0x0001bb7a ldr r1, [pc, 0x264]                                   |     
    0x0001bb7c mov r2, r0                                            |     r2 = r0;
    0x0001bb7e movs r3, 0xb                                          |     r3 = 0xb;
    0x0001bb80 mov r0, fp                                            |     r0 = fp;
    0x0001bb82 str r5, [sp, 4]                                       |     var_4h = r5;
    0x0001bb84 add r1, pc                                            |     r1 = 0x3796a;
    0x0001bb86 str r4, [sp]                                          |     *(sp) = r4;
    0x0001bb88 adds r1, 0x5c                                         |     r1 += 0x5c;
    0x0001bb8a str r1, [sp, 0xc]                                     |     var_ch = r1;
    0x0001bb8c ldr r1, [pc, 0x254]                                   |     
    0x0001bb8e add r1, pc                                            |     r1 = 0x37976;
    0x0001bb90 str r1, [sp, 8]                                       |     var_8h = r1;
    0x0001bb92 movw r1, 0x8c9                                        |     r1 = 0x8c9;
    0x0001bb96 str r1, [sp, 0x10]                                    |     var_10h = r1;
    0x0001bb98 movs r1, 2                                            |     r1 = 2;
    0x0001bb9a blx 0x63a4                                            |     fcn_000063a4 ();
                                                                     | label_13:
    0x0001bb9e ldr r1, [sp, 0x48]                                    |     r1 = var_48h;
    0x0001bba0 movs r4, 0                                            |     r4 = 0;
    0x0001bba2 ldr r0, [sp, 0x40]                                    |     r0 = var_40h;
    0x0001bba4 blx 0x62b8                                            |     gst_event_parse_segment ();
                                                                     | label_18:
    0x0001bba8 mov r0, r4                                            |     r0 = r4;
    0x0001bbaa add sp, 0x8c                                          |     
    0x0001bbac pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}            |     
                                                                     | label_22:
    0x0001bbb0 ldr r2, [sp, 0x2c]                                    |     r2 = var_2ch;
    0x0001bbb2 ldr r1, [sp, 0x1c]                                    |     r1 = var_1ch;
    0x0001bbb4 subs.w r7, r2, r8                                     |     r7 = r2 - r8;
    0x0001bbb8 sub.w r6, r8, r2                                      |     r6 = r8 - r2;
    0x0001bbbc add r6, r1                                            |     r6 += r1;
                                                                     |     if (r7 != r2) {
    0x0001bbbe beq 0x1bbda                                           |         
    0x0001bbc0 cmp r3, 0                                             |         
                                                                     |         if (r3 == 0) {
    0x0001bbc2 beq 0x1bc80                                           |             goto label_30;
                                                                     |         }
    0x0001bbc4 ldr.w r3, [fp, 0x2c8]                                 |         r3 = *(arg_2c8h);
    0x0001bbc8 movs r2, 1                                            |         r2 = 1;
    0x0001bbca ldr r0, [sp, 0x20]                                    |         r0 = var_20h;
    0x0001bbcc mov r1, r7                                            |         r1 = r7;
    0x0001bbce blx 0x6e44                                            |         r0 = fcn_00006e44 ();
    0x0001bbd2 cmp r0, 1                                             |         
                                                                     |         if (r0 != 1) {
    0x0001bbd4 bne 0x1bc1a                                           |             goto label_24;
                                                                     |         }
                                                                     | label_15:
    0x0001bbd6 ldr.w r3, [fp, 0x2b8]                                 |         r3 = *(arg_2b8h);
                                                                     |     }
    0x0001bbda cmp r3, 0                                             |     
                                                                     |     if (r3 == 0) {
    0x0001bbdc beq.w 0x1b928                                         |         goto label_10;
                                                                     |     }
    0x0001bbe0 str.w sl, [sp]                                        |     __asm ("str.w sl, [sp]");
    0x0001bbe4 movs r2, 0                                            |     r2 = 0;
    0x0001bbe6 ldr.w r0, [fp, 0x2c8]                                 |     r0 = *(arg_2c8h);
    0x0001bbea movs r3, 0                                            |     r3 = 0;
    0x0001bbec blx 0x6c14                                            |     r0 = fcn_00006c14 ();
    0x0001bbf0 cmp r0, 0                                             |     
                                                                     |     if (r0 != 0) {
    0x0001bbf2 bne 0x1bb58                                           |         goto label_11;
                                                                     |     }
    0x0001bbf4 cmp r6, 0                                             |     
                                                                     |     if (r6 == 0) {
    0x0001bbf6 beq.w 0x1b92e                                         |         goto label_12;
                                                                     |     }
    0x0001bbfa ldr r3, [sp, 0x20]                                    |     r3 = var_20h;
    0x0001bbfc adds r0, r3, r7                                       |     r0 = r3 + r7;
    0x0001bbfe ldr.w r3, [fp, 0x2b8]                                 |     r3 = *(arg_2b8h);
    0x0001bc02 cmp r3, 0                                             |     
                                                                     |     if (r3 == 0) {
    0x0001bc04 beq.w 0x1bd2c                                         |         goto label_36;
                                                                     |     }
    0x0001bc08 ldr.w r3, [fp, 0x2c8]                                 |     r3 = *(arg_2c8h);
    0x0001bc0c mov r1, r6                                            |     r1 = r6;
    0x0001bc0e movs r2, 1                                            |     r2 = 1;
    0x0001bc10 blx 0x6e44                                            |     r0 = fcn_00006e44 ();
    0x0001bc14 cmp r0, 1                                             |     
                                                                     |     if (r0 == 1) {
    0x0001bc16 beq.w 0x1b92e                                         |         goto label_12;
                                                                     |     }
                                                                     | label_24:
    0x0001bc1a blx 0x7594                                            |     r0 = fcn_00007594 ();
    0x0001bc1e ldr r3, [r0]                                          |     r3 = *(r0);
    0x0001bc20 mov r4, r0                                            |     r4 = r0;
    0x0001bc22 cmp r3, 0x1c                                          |     
                                                                     |     if (r3 == 0x1c) {
    0x0001bc24 beq.w 0x1bd9c                                         |         goto label_37;
                                                                     |     }
    0x0001bc28 ldr r0, [pc, 0x1bc]                                   |     
    0x0001bc2a add r0, pc                                            |     r0 = 0x37a16;
    0x0001bc2c blx 0x7050                                            |     r0 = gst_query_remove_nth_allocation_meta ();
    0x0001bc30 mov r3, r0                                            |     r3 = r0;
    0x0001bc32 ldr r0, [r4]                                          |     r0 = *(r4);
    0x0001bc34 mov r4, r3                                            |     r4 = r3;
    0x0001bc36 blx 0x7204                                            |     r0 = fcn_00007204 ();
    0x0001bc3a mov r1, r0                                            |     r1 = r0;
    0x0001bc3c ldr r0, [pc, 0x1ac]                                   |     
    0x0001bc3e add r0, pc                                            |     r0 = 0x37a2e;
    0x0001bc40 blx 0x7050                                            |     r0 = gst_query_remove_nth_allocation_meta ();
    0x0001bc44 mov r5, r0                                            |     r5 = r0;
    0x0001bc46 blx 0x74a4                                            |     fcn_000074a4 ();
    0x0001bc4a ldr r1, [pc, 0x1a4]                                   |     
    0x0001bc4c mov r2, r0                                            |     r2 = r0;
    0x0001bc4e movs r3, 0xa                                          |     r3 = 0xa;
    0x0001bc50 mov r0, fp                                            |     r0 = fp;
    0x0001bc52 str r5, [sp, 4]                                       |     var_4h = r5;
    0x0001bc54 add r1, pc                                            |     r1 = 0x37a4a;
    0x0001bc56 str r4, [sp]                                          |     *(sp) = r4;
    0x0001bc58 adds r1, 0x5c                                         |     r1 += 0x5c;
    0x0001bc5a str r1, [sp, 0xc]                                     |     var_ch = r1;
    0x0001bc5c ldr r1, [pc, 0x194]                                   |     
    0x0001bc5e add r1, pc                                            |     r1 = 0x37a56;
    0x0001bc60 str r1, [sp, 8]                                       |     var_8h = r1;
    0x0001bc62 movw r1, 0x8d5                                        |     r1 = 0x8d5;
    0x0001bc66 str r1, [sp, 0x10]                                    |     var_10h = r1;
    0x0001bc68 movs r1, 2                                            |     r1 = 2;
    0x0001bc6a blx 0x63a4                                            |     fcn_000063a4 ();
    0x0001bc6e b 0x1bb9e                                             |     goto label_13;
                                                                     | label_23:
    0x0001bc70 ldr r3, [sp, 0x44]                                    |     r3 = var_44h;
    0x0001bc72 ldrd r2, r1, [sp, 0x1c]                               |     __asm ("ldrd r2, r1, [var_20h]");
    0x0001bc76 add.w r0, r3, r8                                      |     r0 = r3 + r8;
    0x0001bc7a blx 0x6aa0                                            |     fcn_00006aa0 ();
    0x0001bc7e b 0x1b870                                             |     goto label_14;
                                                                     | label_30:
    0x0001bc80 ldr r3, [sp, 0x44]                                    |     r3 = var_44h;
    0x0001bc82 mov r2, r7                                            |     r2 = r7;
    0x0001bc84 ldr r1, [sp, 0x20]                                    |     r1 = var_20h;
    0x0001bc86 add.w r0, r3, r8                                      |     r0 = r3 + r8;
    0x0001bc8a blx 0x6aa0                                            |     fcn_00006aa0 ();
    0x0001bc8e b 0x1bbd6                                             |     goto label_15;
                                                                     | label_33:
    0x0001bc90 adds r3, r3, r4                                       |     r3 += r4;
    0x0001bc92 str r4, [r1, 0x10]                                    |     *((r1 + 0x10)) = r4;
    0x0001bc94 adc.w r2, r2, r5                                      |     __asm ("adc.w r2, r2, r5");
    0x0001bc98 b 0x1baa6                                             |     goto label_16;
                                                                     | label_25:
    0x0001bc9a ldr r1, [r7]                                          |     r1 = *(r7);
    0x0001bc9c str r6, [sp, 0x18]                                    |     var_18h = r6;
    0x0001bc9e cmp r1, 0                                             |     
                                                                     |     if (r1 == 0) {
    0x0001bca0 beq.w 0x1bdd6                                         |         goto label_38;
                                                                     |     }
    0x0001bca4 ldr r6, [sp, 0x28]                                    |     r6 = var_28h;
    0x0001bca6 ldr.w r8, [sp, 0x4c]                                  |     r8 = var_4ch;
    0x0001bcaa b 0x1bd0e                                             |     
                                                                     |     while (r4 >= r2) {
    0x0001bcac ldr r3, [r1]                                          |         r3 = *(r1);
    0x0001bcae str r3, [r7]                                          |         *(r7) = r3;
    0x0001bcb0 ldrd lr, r2, [fp, 0x2e8]                              |         __asm ("ldrd lr, r2, [arg_2e8h]");
    0x0001bcb4 ldrd ip, r7, [r1, 0x18]                               |         __asm ("ldrd ip, r7, [r1, 0x18]");
    0x0001bcb8 orrs.w r3, lr, r2                                     |         r3 = lr | r2;
                                                                     |         if (r3 != lr) {
    0x0001bcbc beq 0x1bce2                                           |             
    0x0001bcbe ldr.w r3, [fp, 0x1fc]                                 |             r3 = *(arg_1fch);
    0x0001bcc2 cmp lr, r3                                            |             
    0x0001bcc4 sbcs sb, r2, 0                                        |             __asm ("sbcs sb, r2, 0");
    0x0001bcc8 it lo                                                 |             
                                                                     |             if (lr >= r3) {
    0x0001bcca movlo r0, r2                                          |                 r0 = r2;
                                                                     |             }
    0x0001bccc ldr.w r2, [fp, 0x1e4]                                 |             r2 = *(arg_1e4h);
    0x0001bcd0 it lo                                                 |             
                                                                     |             if (lr >= r3) {
    0x0001bcd2 movlo r3, lr                                          |                 r3 = lr;
                                                                     |             }
    0x0001bcd4 subs r3, r3, r2                                       |             r3 -= r2;
    0x0001bcd6 sbc r2, r0, 0                                         |             __asm ("sbc r2, r0, 0");
    0x0001bcda cmp r3, r8                                            |             
    0x0001bcdc sbcs r0, r2, 0                                        |             __asm ("sbcs r0, r2, 0");
                                                                     |             if (r3 <= r8) {
    0x0001bce0 blo 0x1bce8                                           |                 goto label_39;
                                                                     |             }
                                                                     |         }
    0x0001bce2 mov.w r3, 0x80000                                     |         r3 = 0x80000;
    0x0001bce6 movs r2, 0                                            |         r2 = 0;
                                                                     | label_39:
    0x0001bce8 adds r3, r3, r4                                       |         r3 += r4;
    0x0001bcea mov.w r0, 0x38                                        |         r0 = 0x38;
    0x0001bcee adc.w r2, r5, r2                                      |         __asm ("adc.w r2, r5, r2");
    0x0001bcf2 cmp r3, ip                                            |         
    0x0001bcf4 sbcs r2, r7                                           |         __asm ("sbcs r2, r7");
    0x0001bcf6 ittt lo                                               |         
                                                                     |         if (r3 >= ip) {
    0x0001bcf8 movlo r5, r7                                          |             r5 = r7;
                                                                     |         }
                                                                     |         if (r3 >= ip) {
    0x0001bcfa movlo r4, ip                                          |             r4 = ip;
                                                                     |         }
                                                                     |         if (r3 >= ip) {
    0x0001bcfc movlo r6, 1                                           |             r6 = 1;
                                                                     |         }
    0x0001bcfe blx 0x74f0                                            |         fcn_000074f0 ();
    0x0001bd02 ldr.w r0, [fp, 0x2d0]                                 |         r0 = *(arg_2d0h);
    0x0001bd06 ldr r1, [r0]                                          |         r1 = *(r0);
    0x0001bd08 mov r7, r0                                            |         r7 = r0;
    0x0001bd0a cmp r1, 0                                             |         
                                                                     |         if (r1 == 0) {
    0x0001bd0c beq 0x1bd86                                           |             goto label_40;
                                                                     |         }
    0x0001bd0e ldrd r2, r3, [r1, 8]                                  |         __asm ("ldrd r2, r3, [r1, 8]");
    0x0001bd12 movs r0, 0                                            |         r0 = 0;
    0x0001bd14 cmp r4, r2                                            |         
    0x0001bd16 sbcs.w r3, r5, r3                                     |         __asm ("sbcs.w r3, r5, r3");
    0x0001bd1a bhs 0x1bcac                                           |         
                                                                     |     }
    0x0001bd1c str r6, [sp, 0x28]                                    |     var_28h = r6;
    0x0001bd1e mov r0, r7                                            |     r0 = r7;
    0x0001bd20 ldr r6, [sp, 0x18]                                    |     r6 = var_18h;
    0x0001bd22 mov r8, r4                                            |     r8 = r4;
    0x0001bd24 mov sb, r5                                            |     sb = r5;
    0x0001bd26 b 0x1b93c                                             |     goto label_17;
                                                                     | label_31:
    0x0001bd28 ldr r3, [sp, 0x20]                                    |     r3 = var_20h;
    0x0001bd2a adds r0, r3, r7                                       |     r0 = r3 + r7;
                                                                     | label_36:
    0x0001bd2c mov r1, r0                                            |     r1 = r0;
    0x0001bd2e ldrd r3, r0, [sp, 0x18]                               |     __asm ("ldrd r3, r0, [var_18h]");
    0x0001bd32 mov r2, r6                                            |     r2 = r6;
    0x0001bd34 mov r8, r4                                            |     r8 = r4;
    0x0001bd36 mov sb, r5                                            |     sb = r5;
    0x0001bd38 subs r6, r3, r0                                       |     r6 = r3 - r0;
    0x0001bd3a ldr r0, [sp, 0x44]                                    |     r0 = var_44h;
    0x0001bd3c blx 0x6aa0                                            |     fcn_00006aa0 ();
    0x0001bd40 ldr.w r0, [fp, 0x2d0]                                 |     r0 = *(arg_2d0h);
    0x0001bd44 b 0x1b93c                                             |     goto label_17;
                                                                     | label_20:
    0x0001bd46 blx 0x7050                                            |     r0 = gst_query_remove_nth_allocation_meta ();
    0x0001bd4a mov r5, r0                                            |     r5 = r0;
    0x0001bd4c ldr r0, [pc, 0xa8]                                    |     
    0x0001bd4e add r0, pc                                            |     r0 = 0x37b4a;
    0x0001bd50 blx 0x7050                                            |     r0 = gst_query_remove_nth_allocation_meta ();
    0x0001bd54 mov r6, r0                                            |     r6 = r0;
    0x0001bd56 blx 0x74a4                                            |     fcn_000074a4 ();
    0x0001bd5a ldr r1, [pc, 0xa0]                                    |     
    0x0001bd5c mov r2, r0                                            |     r2 = r0;
    0x0001bd5e str r5, [sp]                                          |     *(sp) = r5;
    0x0001bd60 movw r5, 0x8df                                        |     r5 = 0x8df;
    0x0001bd64 mov r0, fp                                            |     r0 = fp;
    0x0001bd66 movs r3, 9                                            |     r3 = 9;
    0x0001bd68 add r1, pc                                            |     r1 = 0x37b6a;
    0x0001bd6a str r6, [sp, 4]                                       |     var_4h = r6;
    0x0001bd6c adds r1, 0x5c                                         |     r1 += 0x5c;
    0x0001bd6e str r5, [sp, 0x10]                                    |     var_10h = r5;
    0x0001bd70 str r1, [sp, 0xc]                                     |     var_ch = r1;
    0x0001bd72 ldr r1, [pc, 0x8c]                                    |     
    0x0001bd74 add r1, pc                                            |     r1 = 0x37b7a;
    0x0001bd76 str r1, [sp, 8]                                       |     var_8h = r1;
    0x0001bd78 movs r1, 2                                            |     r1 = 2;
    0x0001bd7a blx 0x63a4                                            |     fcn_000063a4 ();
    0x0001bd7e mov r0, r4                                            |     r0 = r4;
    0x0001bd80 add sp, 0x8c                                          |     
    0x0001bd82 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}            |     
                                                                     | label_40:
    0x0001bd86 str r6, [sp, 0x28]                                    |     var_28h = r6;
    0x0001bd88 mov r8, r4                                            |     r8 = r4;
    0x0001bd8a ldr r6, [sp, 0x18]                                    |     r6 = var_18h;
    0x0001bd8c mov sb, r5                                            |     sb = r5;
    0x0001bd8e b 0x1b93c                                             |     goto label_17;
                                                                     | label_21:
    0x0001bd90 ldr r1, [sp, 0x48]                                    |     r1 = var_48h;
    0x0001bd92 movs r4, 1                                            |     r4 = 1;
    0x0001bd94 ldr r0, [sp, 0x40]                                    |     r0 = var_40h;
    0x0001bd96 blx 0x62b8                                            |     gst_event_parse_segment ();
    0x0001bd9a b 0x1bba8                                             |     goto label_18;
                                                                     | label_37:
    0x0001bd9c movs r0, 0                                            |     r0 = 0;
    0x0001bd9e blx 0x7050                                            |     r0 = gst_query_remove_nth_allocation_meta ();
    0x0001bda2 mov r4, r0                                            |     r4 = r0;
    0x0001bda4 movs r0, 0                                            |     r0 = 0;
    0x0001bda6 blx 0x7050                                            |     r0 = gst_query_remove_nth_allocation_meta ();
    0x0001bdaa mov r5, r0                                            |     r5 = r0;
    0x0001bdac blx 0x74a4                                            |     fcn_000074a4 ();
    0x0001bdb0 ldr r1, [pc, 0x50]                                    |     
    0x0001bdb2 mov r2, r0                                            |     r2 = r0;
    0x0001bdb4 movs r3, 0xe                                          |     r3 = 0xe;
    0x0001bdb6 mov r0, fp                                            |     r0 = fp;
    0x0001bdb8 str r5, [sp, 4]                                       |     var_4h = r5;
    0x0001bdba add r1, pc                                            |     r1 = 0x37bc2;
    0x0001bdbc str r4, [sp]                                          |     *(sp) = r4;
    0x0001bdbe adds r1, 0x5c                                         |     r1 += 0x5c;
    0x0001bdc0 str r1, [sp, 0xc]                                     |     var_ch = r1;
    0x0001bdc2 ldr r1, [pc, 0x44]                                    |     
    0x0001bdc4 add r1, pc                                            |     r1 = 0x37bd2;
    0x0001bdc6 str r1, [sp, 8]                                       |     var_8h = r1;
    0x0001bdc8 movw r1, 0x8d1                                        |     r1 = 0x8d1;
    0x0001bdcc str r1, [sp, 0x10]                                    |     var_10h = r1;
    0x0001bdce movs r1, 2                                            |     r1 = 2;
    0x0001bdd0 blx 0x63a4                                            |     fcn_000063a4 ();
    0x0001bdd4 b 0x1bb9e                                             |     goto label_13;
                                                                     | label_38:
    0x0001bdd6 mov r8, r4                                            |     r8 = r4;
    0x0001bdd8 mov sb, r5                                            |     sb = r5;
    0x0001bdda b 0x1b946                                             |     goto label_19;
                                                                     | }

[*] Function popen used 1 times libgstcoreelements.so