[*] 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