[*] Binary protection state of libgstreamer-1.0.so.0.1803.0
Full RELRO No Canary found NX enabled DSO No RPATH No RUNPATH No Symbols
[*] Function strcpy tear down of libgstreamer-1.0.so.0.1803.0
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/libgstreamer-1.0.so.0.1803.0 @ 0x2409c */
| #include <stdint.h>
|
; (fcn) fcn.0002409c () | void fcn_0002409c (int16_t arg_1h, int16_t arg_24h, int16_t arg_28h, int16_t arg_2ch, int16_t arg_30h, int16_t arg_34h, int16_t arg_38h, int16_t arg_3ch, int16_t arg_40h, int16_t arg_44h, int16_t arg_4ch, int16_t arg_54h, int16_t arg_60h, int16_t arg_128h, uint32_t arg1, int16_t arg2) {
| int16_t var_1h;
| int16_t var_0h;
| int16_t var_4h;
| int16_t var_8h;
| int16_t var_ch;
| int16_t var_10h;
| int16_t var_14h;
| int16_t var_18h;
| int16_t var_1ch;
| int16_t var_20h;
| r0 = arg1;
| r1 = arg2;
0x0002409c svcmi 0xf0e92d | __asm ("svcmi 0xf0e92d");
0x000240a0 subw sp, sp, 0xa8c | __asm ("subw sp, sp, 0xa8c");
0x000240a4 strd r1, r0, [sp, 0x28] | __asm ("strd r1, r0, [sp, 0x28]");
0x000240a8 movs r3, 0 | r3 = 0;
0x000240aa mov r4, r3 | r4 = r3;
0x000240ac add r2, sp, 0x60 | r2 += arg_60h;
0x000240ae ldr.w r1, [pc, 0xb3c] |
0x000240b2 mov r7, r2 | r7 = r2;
0x000240b4 ldr.w sb, [pc, 0xb38] |
0x000240b8 add.w sl, sp, 0x128 | sl += arg_128h;
0x000240bc ldr.w r5, [pc, 0xb34] |
0x000240c0 mov fp, r2 |
0x000240c2 add r1, pc | r1 = 0x48cb4;
0x000240c4 str r3, [sp, 0x20] | var_20h = r3;
0x000240c6 str r1, [sp, 0x10] | var_10h = r1;
0x000240c8 add sb, pc | sb = 0x48cbc;
0x000240ca ldr.w r1, [pc, 0xb2c] |
0x000240ce add r5, pc | r5 = 0x48cc6;
0x000240d0 strb.w r3, [sp, 0x60] | *(arg_60h) = r3;
0x000240d4 movs r3, 0xc8 | r3 = 0xc8;
0x000240d6 mov r8, r3 | r8 = r3;
0x000240d8 str r2, [sp, 0x14] | var_14h = r2;
0x000240da add r1, pc | r1 = 0x48cd8;
0x000240dc mvn r2, 1 | r2 = ~1;
0x000240e0 str r1, [sp, 0x24] | *(arg_24h) = r1;
0x000240e2 ldr.w r1, [pc, 0xb18] |
0x000240e6 str r5, [sp, 0x34] | *(arg_34h) = r5;
0x000240e8 str.w sl, [sp, 0xc] | __asm ("str.w sl, [var_ch]");
0x000240ec add r1, pc | r1 = 0x48cee;
0x000240ee str r2, [sp, 8] | var_8h = r2;
0x000240f0 str r1, [sp, 0x30] | *(arg_30h) = r1;
| label_1:
0x000240f2 ldr r3, [sp, 0x10] | r3 = var_10h;
0x000240f4 add r3, r4 | r3 += r4;
0x000240f6 ldrsb.w r5, [r3, 0x18] | r5 = *((r3 + 0x18));
0x000240fa cmn.w r5, 0x14 |
0x000240fc lsrs r4, r2, 0x1c | r4 = r2 >> 0x1c;
0x000240fe mov r6, r5 | r6 = r5;
| if (r4 != r2) {
0x00024100 beq 0x24176 |
0x00024102 ldr r3, [sp, 8] | r3 = var_8h;
0x00024104 adds r3, 2 | r3 += 2;
| if (r3 == 2) {
0x00024106 beq.w 0x24408 | goto label_41;
| }
| label_5:
0x0002410a ldr r3, [sp, 8] | r3 = var_8h;
0x0002410c cmp r3, 0 |
| if (r3 <= 0) {
0x0002410e ble.w 0x2438a | goto label_42;
| }
0x00024112 cmp.w r3, 0x100 |
| if (r3 == 0x100) {
0x00024116 beq.w 0x24442 | goto label_43;
| }
0x0002411a cmp.w r3, 0x10a |
0x0002411e itt gt |
| if (r3 <= 0x10a) {
0x00024120 addgt r6, r5, 2 | r6 = r5 + 2;
| }
| if (r3 <= 0x10a) {
0x00024122 movgt r2, 2 | r2 = 2;
| }
| if (r3 <= 0x10a) {
0x00024124 bgt 0x24136 |
0x00024126 ldr.w r3, [pc, 0xad8] |
0x0002412a ldr r2, [sp, 8] | r2 = var_8h;
0x0002412c add r3, pc | r3 = 0x48d32;
0x0002412e add r3, r2 | r3 += r2;
0x00024130 ldrsb.w r2, [r3, 0x40] | r2 = *((r3 + 0x40));
0x00024134 adds r6, r5, r2 | r6 = r5 + r2;
| }
| label_2:
0x00024136 cmp r6, 0x24 |
| if (r6 > 0x24) {
0x00024138 bhi 0x241e6 | goto label_44;
| }
0x0002413a ldr.w r3, [pc, 0xac8] |
0x0002413e add r3, pc | r3 = 0x48d48;
0x00024140 add r3, r6 | r3 += r6;
0x00024142 ldrsb.w r1, [r3, 0x14c] | r1 = *((r3 + 0x14c));
0x00024146 cmp r1, r2 |
| if (r1 != r2) {
0x00024148 bne 0x241e6 | goto label_44;
| }
0x0002414a ldrsb.w r4, [r3, 0x174] | r4 = *((r3 + 0x174));
0x0002414e cmp r4, 0 |
0x00024150 mov r3, r4 | r3 = r4;
0x00024152 it le |
| if (r4 <= 0) {
0x00024154 rsble r6, r4, 0 | __asm ("rsble r6, r4, 0");
| }
| if (r4 <= 0) {
0x00024156 ble 0x24180 | goto label_45;
| }
0x00024158 ldr r2, [sp, 0x20] | r2 = var_20h;
| if (r2 != 0) {
0x0002415a cbz r2, 0x24160 |
0x0002415c subs r2, 1 | r2--;
0x0002415e str r2, [sp, 0x20] | var_20h = r2;
| }
0x00024160 mvn r2, 1 | r2 = ~1;
0x00024164 add.w r5, sl, 0xc | r5 = sl + 0xc;
0x00024168 str r2, [sp, 8] | var_8h = r2;
0x0002416a add r2, sp, 0x54 | r2 += arg_54h;
0x0002416c ldm r2, {r0, r1, r2} | r0 = *(r2);
| r1 = *((r2 + 4));
| r2 = *((r2 + 8));
0x0002416e mov sl, r5 | sl = r5;
0x00024170 stm.w r5, {r0, r1, r2} | *(r5) = r0;
| *((r5 + 4)) = r1;
| *((r5 + 8)) = r2;
0x00024174 b 0x242d0 | goto label_6;
| }
0x00024176 ldrsb.w r6, [r3, 0x19c] | r6 = *((r3 + 0x19c));
0x0002417a cmp r6, 0 |
| if (r6 == 0) {
0x0002417c beq.w 0x24392 | goto label_46;
| }
| do {
| label_45:
0x00024180 ldr.w r3, [pc, 0xa84] |
0x00024184 add r3, pc | r3 = 0x48d90;
0x00024186 add r3, r6 | r3 += r6;
0x00024188 ldrsb.w r5, [r3, 0x1c4] | r5 = *((r3 + 0x1c4));
0x0002418c subs r3, r6, 2 | r3 = r6 - 2;
0x0002418e rsb.w r2, r5, 1 | r2 = 1 - r5;
0x00024192 add.w r2, r2, r2, lsl 1 | r2 += (r2 << 1);
0x00024196 add.w r1, sl, r2, lsl 2 | r1 = sl + (r2 << 2);
0x0002419a ldr.w r4, [sl, r2, lsl 2] | offset_0 = r2 << 2;
| r4 = *((sl + offset_0));
0x0002419e ldr r2, [r1, 4] | r2 = *((r1 + 4));
0x000241a0 str r2, [sp, 0x18] | var_18h = r2;
0x000241a2 ldr r2, [r1, 8] | r2 = *((r1 + 8));
0x000241a4 str r2, [sp, 0x1c] | var_1ch = r2;
0x000241a6 cmp r3, 0x1b |
| if (r3 > 0x1b) {
0x000241a8 bhi 0x2427e | goto label_7;
| }
| /* switch table (29 cases) at 0x241ae */
0x000241aa tbh [pc, r3, lsl 1] | __asm ("tbh [pc, r3, lsl 1]");
| label_44:
0x000241e6 ldr.w r3, [pc, 0xa24] |
0x000241ea add r3, pc | r3 = 0x48dfc;
0x000241ec add r3, r4 | r3 += r4;
0x000241ee ldrsb.w r6, [r3, 0x19c] | r6 = *((r3 + 0x19c));
0x000241f2 cmp r6, 0 |
0x000241f4 bne 0x24180 |
| } while (r6 != 0);
| label_3:
0x000241f6 ldr r3, [sp, 8] | r3 = var_8h;
0x000241f8 cmp.w r3, 0x10a |
0x000241fc itett ls |
| if (r3 > 0x10a) {
0x000241fe ldrls r2, [sp, 0x30] | r2 = *(arg_30h);
| }
| if (r3 <= 0x10a) {
0x00024200 movhi r0, 2 | r0 = 2;
| }
| if (r3 > 0x10a) {
0x00024202 addls r3, r2, r3 | r3 = r2 + r3;
| }
| if (r3 <= 0x10a) {
0x00024204 ldrsbls r0, [r3, 0x40] | __asm ("ldrsbls r0, [r3, 0x40]");
| }
0x00024208 ldr r3, [sp, 0x20] | r3 = var_20h;
0x0002420a cmp r3, 3 |
| if (r3 != 3) {
0x0002420c bne.w 0x2439a | goto label_47;
| }
0x0002420e strh r5, [r0, 6] | *((r0 + 6)) = r5;
0x00024210 ldr r3, [sp, 8] | r3 = var_8h;
0x00024212 cmp r3, 0 |
| if (r3 > 0) {
0x00024214 bgt.w 0x24432 | goto label_48;
| }
| if (r3 == 0) {
0x00024218 beq.w 0x24b52 | goto label_49;
| }
0x0002421c mov.w r3, -1 | r3 = -1;
0x00024220 ldr r6, [sp, 0x24] | r6 = *(arg_24h);
0x00024222 str r3, [sp, 8] | var_8h = r3;
0x00024224 b 0x24244 |
| while (r5 == 0x14) {
| label_0:
0x00024226 cmp fp, r7 |
| if (fp == r7) {
0x00024228 beq.w 0x2439e | goto label_50;
| }
0x0002422c ldrsb.w r0, [r4, 0x224] | r0 = *((r4 + 0x224));
0x00024230 sub.w sl, sl, 0xc | sl -= 0xc;
0x00024234 bl 0x23fd4 | fcn_00023fd4 (r0);
0x00024238 ldrsb r4, [fp, -0x1]! | r4 = *((fp -= 0x1));
0x0002423c add.w r3, sb, r4 | r3 = sb + r4;
0x00024240 ldrsb.w r5, [r3, 0x18] | r5 = *((r3 + 0x18));
| label_4:
0x00024244 adds r3, r5, 1 | r3 = r5 + 1;
0x00024246 adds r5, 0x14 | r5 += 0x14;
0x00024248 add r4, sb | r4 += sb;
0x0002424a mov r1, sl | r1 = sl;
0x0002424c beq 0x24226 |
| }
0x0002424e cmp r3, 0x24 |
0x00024250 add.w r2, r6, r3 | r2 = r6 + r3;
| if (r3 > 0x24) {
0x00024254 bhi 0x24226 | goto label_0;
| }
0x00024256 ldrsb.w r3, [r2, 0x14c] | r3 = *((r2 + 0x14c));
0x0002425a cmp r3, 1 |
| if (r3 != 1) {
0x0002425c bne 0x24226 | goto label_0;
| }
0x0002425e ldrsb.w r3, [r2, 0x174] | r3 = *((r2 + 0x174));
0x00024262 cmp r3, 0 |
| if (r3 <= 0) {
0x00024264 ble 0x24226 | goto label_0;
| }
0x00024266 movs r2, 3 | r2 = 3;
0x00024268 add.w r5, sl, 0xc | r5 = sl + 0xc;
0x0002426c str r2, [sp, 0x20] | var_20h = r2;
0x0002426e add r2, sp, 0x54 | r2 += arg_54h;
0x00024270 ldm r2, {r0, r1, r2} | r0 = *(r2);
| r1 = *((r2 + 4));
| r2 = *((r2 + 8));
0x00024272 mov sl, r5 | sl = r5;
0x00024274 mov r4, r3 | r4 = r3;
0x00024276 stm.w r5, {r0, r1, r2} | *(r5) = r0;
| *((r5 + 4)) = r1;
| *((r5 + 8)) = r2;
0x0002427a b 0x242d0 | goto label_6;
| label_9:
0x0002427c movs r4, 0 | r4 = 0;
| label_7:
0x0002427e add.w r3, r5, r5, lsl 1 | r3 = r5 + (r5 << 1);
0x00024282 ldr r2, [sp, 0x18] | r2 = var_18h;
0x00024284 sub.w fp, fp, r5 |
0x00024288 sub.w r3, sl, r3, lsl 2 | r3 = sl - (r3 << 2);
0x0002428c str r2, [r3, 0x10] | *((r3 + 0x10)) = r2;
0x0002428e add.w sl, r3, 0xc | sl = r3 + 0xc;
0x00024292 ldr r2, [sp, 0x1c] | r2 = var_1ch;
0x00024294 str r4, [r3, 0xc] | *((r3 + 0xc)) = r4;
0x00024296 str r2, [r3, 0x14] | *((r3 + 0x14)) = r2;
0x00024298 ldr.w r2, [pc, 0x974] |
0x0002429c ldrsb.w r0, [fp] | r0 = *(fp);
0x000242a0 add r2, pc | r2 = 0x48eb4;
0x000242a2 adds r3, r2, r6 | r3 = r2 + r6;
0x000242a4 ldrsb.w r3, [r3, 0x1e4] | r3 = *((r3 + 0x1e4));
0x000242a8 subs r3, 0x13 | r3 -= 0x13;
0x000242aa adds r1, r2, r3 | r1 = r2 + r3;
0x000242ac ldrsb.w r1, [r1, 0x204] | r1 = *((r1 + 0x204));
0x000242b0 add r1, r0 | r1 += r0;
0x000242b2 cmp r1, 0x24 |
| if (r1 <= 0x24) {
0x000242b4 bhi 0x242c2 |
0x000242b6 add r2, r1 | r2 += r1;
0x000242b8 ldrsb.w r1, [r2, 0x14c] | r1 = *((r2 + 0x14c));
0x000242bc cmp r1, r0 |
| if (r1 == r0) {
0x000242be beq.w 0x24414 | goto label_51;
| }
| }
0x000242c2 ldr.w r2, [pc, 0x950] |
0x000242c6 add r2, pc | r2 = 0x48ee0;
0x000242c8 add r3, r2 | r3 += r2;
0x000242ca ldrsb.w r3, [r3, 0x214] | r3 = *((r3 + 0x214));
0x000242ce mov r4, r3 | r4 = r3;
| label_6:
0x000242d0 strb.w r3, [fp, 1] | *(arg_1h) = r3;
0x000242d4 add.w r3, r8, -1 | r3 = r8 + -1;
0x000242d8 add.w fp, fp, 1 |
0x000242dc add r3, r7 | r3 += r7;
0x000242de cmp fp, r3 |
| if (fp > r3) {
0x000242e0 blo 0x24376 |
0x000242e2 sub.w r3, fp, r7 | r3 = fp - r7;
0x000242e6 mov r2, r3 | r2 = r3;
0x000242e8 str r3, [sp, 0x18] | var_18h = r3;
0x000242ea movw r3, 0x270f | r3 = 0x270f;
0x000242ee adds r5, r2, 1 | r5 = r2 + 1;
0x000242f0 cmp r8, r3 |
| if (r8 > r3) {
0x000242f2 bgt.w 0x249ae | goto label_52;
| }
0x000242f6 lsl.w r8, r8, 1 | r8 <<= 1;
0x000242fa movw r3, 0x2710 | r3 = 0x2710;
0x000242fe cmp r8, r3 |
0x00024300 it ge |
| if (r8 < r3) {
0x00024302 movge r8, r3 | r8 = r3;
| }
0x00024304 add.w r0, r8, r8, lsl 1 | r0 = r8 + (r8 << 1);
0x00024308 add.w r0, r8, r0, lsl 2 | r0 = r8 + (r0 << 2);
0x0002430c adds r0, 0xb | r0 += 0xb;
0x0002430e blx 0x20224 | r0 = fcn_00020224 ();
0x00024312 mov r6, r0 | r6 = r0;
0x00024314 cmp r0, 0 |
| if (r0 == 0) {
0x00024316 beq.w 0x249ae | goto label_52;
| }
0x0002431a mov r2, r5 | r2 = r5;
0x0002431c mov r1, r7 | r1 = r7;
0x0002431e add.w r5, r5, r5, lsl 1 | r5 += (r5 << 1);
0x00024322 blx 0x1fd64 | fcn_0001fd64 ();
0x00024326 movw r2, 0xaaab |
0x0002432a lsl.w sl, r5, 2 | sl = r5 << 2;
| /* if there is a right shift of 1, then it's a division by 1/3 */
0x0002432e movt r2, 0xaaaa | r2 = 0xaaaaaaab;
0x00024332 ldr r1, [sp, 0xc] | r1 = var_ch;
0x00024334 add.w r5, r8, 0xb | r5 = r8 + 0xb;
0x00024338 umull r2, r5, r2, r5 | r2:r5 = r2 * r5;
0x0002433c mov r2, sl | r2 = sl;
0x0002433e lsrs r5, r5, 3 | r5 >>= 3;
0x00024340 add.w r5, r5, r5, lsl 1 | r5 += (r5 << 1);
0x00024344 add.w r5, r6, r5, lsl 2 | r5 = r6 + (r5 << 2);
0x00024348 mov r0, r5 | r0 = r5;
0x0002434a blx 0x1fd64 | fcn_0001fd64 ();
0x0002434e ldr r3, [sp, 0x14] | r3 = var_14h;
0x00024350 cmp r7, r3 |
| if (r7 != r3) {
0x00024352 beq 0x2435a |
0x00024354 mov r0, r7 | r0 = r7;
0x00024356 blx 0x1f97c | g_string_set_size ();
| }
0x0002435a ldr r3, [sp, 0x18] | r3 = var_18h;
0x0002435c add.w r2, r8, -1 | r2 = r8 + -1;
0x00024360 add r2, r6 | r2 += r6;
0x00024362 sub.w sl, sl, 0xc | sl -= 0xc;
0x00024366 add sl, r5 | sl += r5;
0x00024368 add r3, r6 | r3 += r6;
0x0002436a cmp r3, r2 |
0x0002436c mov fp, r3 |
| if (r3 >= r2) {
0x0002436e bhs.w 0x249a6 | goto label_53;
| }
0x00024372 mov r7, r6 | r7 = r6;
0x00024374 str r5, [sp, 0xc] | var_ch = r5;
| }
0x00024376 cmp r4, 0x10 |
| if (r4 != 0x10) {
0x00024378 bne.w 0x240f2 | goto label_1;
| }
0x0002437c mov r4, fp | r4 = fp;
0x0002437e movs r5, 0 | r5 = 0;
0x00024380 mov fp, r7 |
| label_14:
0x00024382 ldr r3, [sp, 8] | r3 = var_8h;
0x00024384 adds r3, 2 | r3 += 2;
| if (r3 == 2) {
0x00024386 beq 0x243d0 | goto label_54;
| }
0x00024388 b 0x243ac | goto label_55;
| label_42:
0x0002438a movs r3, 0 | r3 = 0;
0x0002438c mov r2, r3 | r2 = r3;
0x0002438e str r3, [sp, 8] | var_8h = r3;
0x00024390 b 0x24136 | goto label_2;
| label_46:
0x00024392 ldr r3, [sp, 8] | r3 = var_8h;
0x00024394 adds r3, 2 | r3 += 2;
| if (r3 != 2) {
0x00024396 bne.w 0x241f6 | goto label_3;
| }
| label_47:
0x0002439a ldr r6, [sp, 0x24] | r6 = *(arg_24h);
0x0002439c b 0x24244 | goto label_4;
| label_50:
0x0002439e ldr r3, [sp, 8] | r3 = var_8h;
0x000243a0 adds r3, 2 | r3 += 2;
0x000243a2 it eq |
| if (r3 != 2) {
0x000243a4 moveq r5, 1 | r5 = 1;
| }
| if (r3 == 2) {
0x000243a6 beq 0x243f2 | goto label_56;
| }
0x000243a8 mov r4, fp | r4 = fp;
0x000243aa movs r5, 1 | r5 = 1;
| label_55:
0x000243ac ldr r2, [sp, 8] | r2 = var_8h;
0x000243ae cmp.w r2, 0x10a |
0x000243b2 itt hi |
| if (r2 <= 0x10a) {
0x000243b4 movhi r3, 2 | r3 = 2;
| }
| if (r2 <= 0x10a) {
0x000243b6 strhi r3, [sp, 8] | var_8h = r3;
| }
| if (r2 <= 0x10a) {
0x000243b8 bhi 0x243c8 |
0x000243ba ldr.w r3, [pc, 0x85c] |
0x000243be add r3, pc | r3 = 0x48fdc;
0x000243c0 add r3, r2 | r3 += r2;
0x000243c2 ldrsb.w r3, [r3, 0x40] | r3 = *((r3 + 0x40));
0x000243c6 str r3, [sp, 8] | var_8h = r3;
| }
| label_28:
0x000243c8 ldr r0, [sp, 8] | r0 = var_8h;
0x000243ca add r1, sp, 0x54 | r1 += arg_54h;
0x000243cc bl 0x23fd4 | fcn_00023fd4 (r0);
0x000243ce invalid |
| label_54:
0x000243d0 cmp r4, fp |
| if (r4 == fp) {
0x000243d2 beq 0x243f2 | goto label_56;
| }
0x000243d4 ldr.w r6, [pc, 0x844] |
0x000243d8 add r6, pc | r6 = 0x48ff8;
| do {
0x000243da ldrsb r3, [r4], -1 | r3 = *(r4);
| r4 += -1;
0x000243de mov r1, sl | r1 = sl;
0x000243e0 sub.w sl, sl, 0xc | sl -= 0xc;
0x000243e4 add r3, r6 | r3 += r6;
0x000243e6 ldrsb.w r0, [r3, 0x224] | r0 = *((r3 + 0x224));
0x000243ea bl 0x23fd4 | fcn_00023fd4 (r0);
0x000243ee cmp r4, fp |
0x000243f0 bne 0x243da |
| } while (r4 != fp);
| label_56:
0x000243f2 ldr r3, [sp, 0x14] | r3 = var_14h;
0x000243f4 cmp fp, r3 |
| if (fp != r3) {
0x000243f6 beq 0x243fe |
0x000243f8 mov r0, fp | r0 = fp;
0x000243fa blx 0x1f97c | g_string_set_size ();
| }
0x000243fe mov r0, r5 | r0 = r5;
0x00024400 addw sp, sp, 0xa8c | __asm ("addw sp, var_0h");
0x00024404 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc} |
| label_41:
0x00024408 ldr r1, [sp, 0x2c] | r1 = *(arg_2ch);
0x0002440a add r0, sp, 0x54 | r0 += arg_54h;
0x0002440c bl 0x22bfc | fcn_00022bfc (r0, r1, r2, r3, r4, r5, r6);
0x00024410 str r0, [sp, 8] | var_8h = r0;
0x00024412 b 0x2410a | goto label_5;
| label_51:
0x00024414 ldrsb.w r3, [r2, 0x174] | r3 = *((r2 + 0x174));
0x00024418 mov r4, r3 | r4 = r3;
0x0002441a b 0x242d0 | goto label_6;
0x0002441c ldr r1, [sl, -0xc] | r1 = *((sl - 0xc));
0x00024420 ldr.w r0, [sl] | r0 = *(sl);
0x00024424 blx 0x1fc58 | r0 = g_value_set_uchar ();
0x00024428 mov r4, r0 | r4 = r0;
0x0002442a b 0x2427e | goto label_7;
0x0002442c ldr.w r4, [sl] | r4 = *(sl);
0x00024430 b 0x2427e | goto label_7;
| label_48:
0x00024432 add r1, sp, 0x54 | r1 += arg_54h;
0x00024434 bl 0x23fd4 | fcn_00023fd4 (r0);
0x00024438 mvn r3, 1 | r3 = ~1;
0x0002443c ldr r6, [sp, 0x24] | r6 = *(arg_24h);
0x0002443e str r3, [sp, 8] | var_8h = r3;
0x00024440 b 0x24244 | goto label_4;
| label_43:
0x00024442 movw r3, 0x101 | r3 = 0x101;
0x00024446 ldr r6, [sp, 0x24] | r6 = *(arg_24h);
0x00024448 str r3, [sp, 8] | var_8h = r3;
0x0002444a b 0x24244 | goto label_4;
0x0002444c movs r0, 0x1c | r0 = 0x1c;
0x0002444e blx 0x1ff70 | g_type_check_instance_is_a ();
0x00024452 movs r3, 0 | r3 = 0;
0x00024454 mov r4, r0 | r4 = r0;
0x00024456 str r3, [r0] | *(r0) = r3;
0x00024458 str r3, [r0, 4] | *((r0 + 4)) = r3;
0x0002445a str r3, [r0, 8] | *((r0 + 8)) = r3;
0x0002445c str r3, [r0, 0xc] | *((r0 + 0xc)) = r3;
0x0002445e add.w r3, r0, 0x10 | r3 = r0 + 0x10;
0x00024462 ldm.w sl, {r0, r1, r2} | r0 = *(sl);
| r1 = *((sl + 4));
| r2 = *((sl + 8));
0x00024466 stm.w r3, {r0, r1, r2} | *(r3) = r0;
| *((r3 + 4)) = r1;
| *((r3 + 8)) = r2;
0x0002446a b 0x2427e | goto label_7;
0x0002446c ldr.w r4, [sl] | r4 = *(sl);
0x00024470 ldr r0, [r4, 0x14] | r0 = *((r4 + 0x14));
| if (r0 != 0) {
0x00024472 cbz r0, 0x2448a |
0x00024474 ldr r3, [sp, 0x28] | r3 = *(arg_28h);
0x00024476 ldr r3, [r3, 8] | r3 = *((r3 + 8));
| if (r3 != 0) {
0x00024478 cbz r3, 0x24482 |
0x0002447a ldr r2, [r3] | r2 = *(r3);
0x0002447c cmp r2, 0 |
| if (r2 == 0) {
0x0002447e beq.w 0x24bcc | goto label_57;
| }
| }
| label_29:
0x00024482 blx 0x1f14c | fcn_0001f14c ();
0x00024486 movs r3, 0 | r3 = 0;
0x00024488 str r3, [r4, 0x14] | *((r4 + 0x14)) = r3;
| }
0x0002448a ldr r0, [r4, 0x18] | r0 = *((r4 + 0x18));
0x0002448c cmp r0, 0 |
| if (r0 == 0) {
0x0002448e beq.w 0x2427e | goto label_7;
| }
0x00024492 ldr r3, [sp, 0x28] | r3 = *(arg_28h);
0x00024494 ldr r3, [r3, 8] | r3 = *((r3 + 8));
| if (r3 != 0) {
0x00024496 cbz r3, 0x244a0 |
0x00024498 ldr r2, [r3] | r2 = *(r3);
0x0002449a cmp r2, 0 |
| if (r2 == 0) {
0x0002449c beq.w 0x24c50 | goto label_58;
| }
| }
| label_30:
0x000244a0 ldr.w r3, [pc, 0x77c] | r3 = *(0x24c20);
0x000244a4 ldr r2, [sp, 0x34] | r2 = *(arg_34h);
0x000244a6 ldr r1, [r2, r3] | r1 = *((r2 + r3));
0x000244a8 movs r2, 0 | r2 = 0;
0x000244aa blx 0x200b4 | g_initially_unowned_get_type ();
0x000244ae ldr r0, [r4, 0x18] | r0 = *((r4 + 0x18));
0x000244b0 blx 0x1f330 | fcn_0001f330 ();
0x000244b4 movs r3, 0 | r3 = 0;
0x000244b6 str r3, [r4, 0x18] | *((r4 + 0x18)) = r3;
0x000244b8 b 0x2427e | goto label_7;
0x000244ba ldr.w r3, [sl] | r3 = *(sl);
0x000244be ldr r2, [sp, 0x28] | r2 = *(arg_28h);
0x000244c0 str r3, [r2] | *(r2) = r3;
0x000244c2 cmp r3, 0 |
| if (r3 == 0) {
0x000244c4 beq.w 0x24aaa | goto label_59;
| }
| label_23:
0x000244c8 ldr r4, [sp, 0x28] | r4 = *(arg_28h);
0x000244ca b 0x2427e | goto label_7;
0x000244cc movs r0, 0x1c | r0 = 0x1c;
0x000244ce blx 0x1ff70 | g_type_check_instance_is_a ();
0x000244d2 ldr.w r1, [sl] | r1 = *(sl);
0x000244d6 movs r3, 0 | r3 = 0;
0x000244d8 mov r4, r0 | r4 = r0;
0x000244da str r3, [r0] | *(r0) = r3;
0x000244dc str r3, [r0, 4] | *((r0 + 4)) = r3;
0x000244de str r3, [r0, 8] | *((r0 + 8)) = r3;
0x000244e0 str r3, [r0, 0xc] | *((r0 + 0xc)) = r3;
0x000244e2 str r3, [r0, 0x10] | *((r0 + 0x10)) = r3;
0x000244e4 str r3, [r0, 0x14] | *((r0 + 0x14)) = r3;
0x000244e6 str r3, [r0, 0x18] | *((r0 + 0x18)) = r3;
| if (r1 != 0) {
0x000244e8 cbz r1, 0x24512 |
0x000244ea mov r0, r1 | r0 = r1;
0x000244ec str r1, [sp, 0x38] | *(arg_38h) = r1;
0x000244ee bl 0x26538 | gst_object_ref ();
0x000244f2 ldr r1, [sp, 0x38] | r1 = *(arg_38h);
0x000244f4 str r0, [r4, 4] | *((r4 + 4)) = r0;
0x000244f6 mov r0, r1 | r0 = r1;
0x000244f8 bl 0x26538 | gst_object_ref ();
0x000244fc movs r3, 0 | r3 = 0;
0x000244fe ldr r1, [sp, 0x38] | r1 = *(arg_38h);
0x00024500 str r0, [r4, 0x10] | *((r4 + 0x10)) = r0;
0x00024502 mov r0, r3 | r0 = r3;
0x00024504 str r3, [r4, 0x14] | *((r4 + 0x14)) = r3;
0x00024506 str r3, [r4, 8] | *((r4 + 8)) = r3;
0x00024508 str r3, [r4, 0x18] | *((r4 + 0x18)) = r3;
0x0002450a str r3, [r4, 0xc] | *((r4 + 0xc)) = r3;
0x0002450c blx 0x1fc58 | r0 = g_value_set_uchar ();
0x00024510 mov r1, r0 | r1 = r0;
| }
0x00024512 str r1, [r4] | *(r4) = r1;
0x00024514 b 0x2427e | goto label_7;
0x00024516 ldr r4, [sl, -0xc] | r4 = *((sl - 0xc));
0x0002451a ldr.w r3, [sl] | r3 = *(sl);
0x0002451c adds r0, 0 | r0 += 0;
0x0002451e str r3, [sp, 0x38] | *(arg_38h) = r3;
0x00024520 cmp r4, 0 |
| if (r4 == 0) {
0x00024522 beq.w 0x24756 | goto label_10;
| }
0x00024526 bl 0x55874 | gst_preset_get_type ();
0x0002452a ldr r3, [r4] | r3 = *(r4);
0x0002452c mov r1, r0 | r1 = r0;
| if (r3 != 0) {
0x0002452e cbz r3, 0x24536 |
0x00024530 ldr r3, [r3] | r3 = *(r3);
0x00024532 cmp r0, r3 |
| if (r0 == r3) {
0x00024534 beq 0x24542 | goto label_60;
| }
| }
0x00024536 mov r0, r4 | r0 = r4;
0x00024538 blx 0x20050 | fcn_00020050 ();
0x0002453a stc p8, c2, [sl] | __asm ("stc p8, c2, [sl]");
| if (r0 == r3) {
0x0002453e beq.w 0x24b9e | goto label_61;
| }
| label_60:
0x00024542 ldr r3, [sp, 0x38] | r3 = *(arg_38h);
0x00024544 cmp r3, 0 |
| if (r3 == 0) {
0x00024546 beq.w 0x24756 | goto label_10;
| }
0x0002454a ldrb r2, [r3] | r2 = *(r3);
0x0002454c cmp r2, 0 |
| if (r2 == 0) {
0x0002454e beq.w 0x24756 | goto label_10;
| }
0x00024552 mov r1, r3 | r1 = r3;
0x00024554 mov.w ip, 0 |
0x00024558 b 0x24570 |
| while (r2 != 0x5c) {
0x0002455a cmp r2, 0x22 |
0x0002455c ldrb r0, [r3] | r0 = *(r3);
| if (r2 == 0x22) {
0x0002455e beq.w 0x249b6 | goto label_62;
| }
| label_8:
0x00024562 strb r0, [r1], 1 | *(r1) = r0;
| r1++;
0x00024566 adds r3, 1 | r3++;
0x00024568 ldrb r2, [r3] | r2 = *(r3);
0x0002456a cmp r2, 0 |
| if (r2 == 0) {
0x0002456c beq.w 0x24b5a | goto label_63;
| }
0x00024570 cmp r2, 0x5c |
0x00024572 bne 0x2455a |
| }
0x00024574 cmp.w ip, 0 |
| if (ip == 0) {
0x00024578 beq.w 0x249c2 | goto label_64;
| }
0x0002457c ldrb r0, [r3] | r0 = *(r3);
0x0002457e b 0x24562 | goto label_8;
0x00024580 ldr r4, [sl, -0xc] | r4 = *((sl - 0xc));
0x00024584 ldr.w r1, [sl] | r1 = *(sl);
0x00024588 ldr r0, [r4, 0x18] | r0 = *((r4 + 0x18));
0x0002458a blx 0x205e0 | fcn_000205e0 ();
0x0002458e str r0, [r4, 0x18] | *((r4 + 0x18)) = r0;
0x00024590 b 0x2427e | goto label_7;
0x00024592 ldr.w r3, [sl] | r3 = *(sl);
0x00024596 movs r0, 2 | r0 = 2;
0x00024598 mov r1, r3 | r1 = r3;
0x0002459a str r3, [sp, 0x3c] | *(arg_3ch) = r3;
0x0002459c movs r3, 0 | r3 = 0;
0x0002459e mov r2, r3 | r2 = r3;
0x000245a0 bl 0x69fe8 | gst_element_make_from_uri ();
0x000245a4 str r0, [sp, 0x38] | *(arg_38h) = r0;
0x000245a6 cmp r0, 0 |
| if (r0 == 0) {
0x000245a8 beq.w 0x24d8e | goto label_65;
| }
0x000245ac movs r0, 0x1c | r0 = 0x1c;
0x000245ae blx 0x1ff70 | g_type_check_instance_is_a ();
0x000245b2 movs r3, 0 | r3 = 0;
0x000245b4 mov r4, r0 | r4 = r0;
0x000245b6 str r3, [r0] | *(r0) = r3;
0x000245b8 str r3, [r0, 4] | *((r0 + 4)) = r3;
0x000245ba str r3, [r0, 8] | *((r0 + 8)) = r3;
0x000245bc str r3, [r0, 0xc] | *((r0 + 0xc)) = r3;
0x000245be str r3, [r0, 0x10] | *((r0 + 0x10)) = r3;
0x000245c0 str r3, [r0, 0x14] | *((r0 + 0x14)) = r3;
0x000245c2 str r3, [r0, 0x18] | *((r0 + 0x18)) = r3;
0x000245c4 ldr r0, [sp, 0x38] | r0 = *(arg_38h);
0x000245c6 bl 0x26538 | gst_object_ref ();
0x000245ca movs r3, 0 | r3 = 0;
0x000245cc str r0, [r4, 0x10] | *((r4 + 0x10)) = r0;
0x000245ce ldr r1, [sp, 0x38] | r1 = *(arg_38h);
0x000245d0 mov r0, r3 | r0 = r3;
0x000245d2 strd r3, r3, [r4, 0x14] | __asm ("strd r3, r3, [r4, 0x14]");
0x000245d6 blx 0x1fc58 | g_value_set_uchar ();
0x000245da str r0, [sp, 0x38] | *(arg_38h) = r0;
| label_37:
0x000245dc ldr r3, [sp, 0x38] | r3 = *(arg_38h);
0x000245de str r3, [r4] | *(r4) = r3;
| label_11:
0x000245e0 ldr r0, [sp, 0x3c] | r0 = *(arg_3ch);
0x000245e2 blx 0x1f14c | fcn_0001f14c ();
0x000245e6 b 0x2427e | goto label_7;
0x000245e8 ldr r3, [sl, -0x24] | r3 = *((sl - 0x24));
0x000245ec movs r1, 0 | r1 = 0;
0x000245ee ldr r4, [sl, -0xc] | r4 = *((sl - 0xc));
0x000245f2 mov r0, r3 | r0 = r3;
0x000245f4 str r3, [sp, 0x3c] | *(arg_3ch) = r3;
0x000245f6 bl 0x3dcb0 | gst_element_factory_make ();
0x000245fa str r0, [sp, 0x38] | *(arg_38h) = r0;
0x000245fc cmp r4, 0 |
| if (r4 == 0) {
0x000245fe beq.w 0x24a82 | goto label_66;
| }
| label_22:
0x00024602 ldr r3, [sp, 0x38] | r3 = *(arg_38h);
0x00024604 cmp r3, 0 |
| if (r3 == 0) {
0x00024606 beq.w 0x24c8e | goto label_67;
| }
0x0002460a ldr r3, [r4] | r3 = *(r4);
| if (r3 == 0) {
0x0002460c cbz r3, 0x2462a | goto label_68;
| }
0x0002460e strd r5, r4, [sp, 0x40] | __asm ("strd r5, r4, [sp, 0x40]");
0x00024612 mov r4, r3 | r4 = r3;
0x00024614 ldr r5, [sp, 0x38] | r5 = *(arg_38h);
| do {
0x00024616 ldr r1, [r4] | r1 = *(r4);
0x00024618 mov r0, r5 | r0 = r5;
0x0002461a bl 0x29e28 | gst_bin_add ();
0x0002461e ldr r4, [r4, 4] | r4 = *((r4 + 4));
0x00024620 cmp r4, 0 |
0x00024622 bne 0x24616 |
| } while (r4 != 0);
0x00024624 ldrd r5, r4, [sp, 0x40] | __asm ("ldrd r5, r4, [arg_40h]");
0x00024628 ldr r3, [r4] | r3 = *(r4);
| label_68:
0x0002462a mov r0, r3 | r0 = r3;
0x0002462c blx 0x1f330 | fcn_0001f330 ();
0x00024630 ldr r1, [sp, 0x38] | r1 = *(arg_38h);
0x00024632 movs r0, 0 | r0 = 0;
0x00024634 blx 0x1fc58 | g_value_set_uchar ();
0x00024638 ldr r3, [sl, -0x18] | r3 = *((sl - 0x18));
0x0002463c str r0, [r4] | *(r4) = r0;
0x0002463e str r3, [sp, 0x40] | *(arg_40h) = r3;
| if (r3 == 0) {
0x00024640 cbz r3, 0x24664 | goto label_33;
| }
0x00024642 strd r5, r7, [sp, 0x44] | __asm ("strd r5, r7, [sp, 0x44]");
0x00024646 ldr r5, [sp, 0x38] | r5 = *(arg_38h);
0x00024648 ldr r7, [sp, 0x28] | r7 = *(arg_28h);
0x0002464a str r4, [sp, 0x4c] | *(arg_4ch) = r4;
0x0002464c mov r4, r3 | r4 = r3;
| do {
0x0002464e ldr r0, [r4] | r0 = *(r4);
0x00024650 mov r2, r7 | r2 = r7;
0x00024652 mov r1, r5 | r1 = r5;
0x00024654 bl 0x23ca4 | fcn_00023ca4 (r0, r1, r2);
0x00024658 ldr r4, [r4, 4] | r4 = *((r4 + 4));
0x0002465a cmp r4, 0 |
0x0002465c bne 0x2464e |
| } while (r4 != 0);
0x0002465e ldrd r5, r7, [sp, 0x44] | __asm ("ldrd r5, r7, [arg_44h]");
0x00024662 ldr r4, [sp, 0x4c] | r4 = *(arg_4ch);
| label_33:
0x00024664 ldr r0, [sp, 0x40] | r0 = *(arg_40h);
0x00024666 blx 0x1f330 | fcn_0001f330 ();
0x0002466a ldr r0, [sp, 0x3c] | r0 = *(arg_3ch);
0x0002466c blx 0x1f14c | fcn_0001f14c ();
0x00024670 b 0x2427e | goto label_7;
0x00024672 ldr r2, [sl, -0x30] | r2 = *((sl - 0x30));
0x00024676 ldr r3, [sl, -0x24] | r3 = *((sl - 0x24));
0x0002467a ldr r4, [sl, -0xc] | r4 = *((sl - 0xc));
0x0002467e str r2, [sp, 0x3c] | *(arg_3ch) = r2;
0x00024680 adds r2, 0x10 | r2 += 0x10;
0x00024682 ldm r2, {r0, r1, r2} | r0 = *(r2);
| r1 = *((r2 + 4));
| r2 = *((r2 + 8));
0x00024684 add.w ip, r3, 0xc |
0x00024688 str r3, [sp, 0x38] | *(arg_38h) = r3;
0x0002468a stm.w r3, {r0, r1, r2} | *(r3) = r0;
| *((r3 + 4)) = r1;
| *((r3 + 8)) = r2;
0x0002468e adds r1, r4, 4 | r1 = r4 + 4;
0x00024690 ldm r1, {r0, r1, r2} | r0 = *(r1);
| r1 = *((r1 + 4));
| r2 = *((r1 + 8));
0x00024692 stm.w ip, {r0, r1, r2} | *(ip) = r0;
| *((ip + 4)) = r1;
| *((ip + 8)) = r2;
0x00024696 ldr r0, [sl, -0x18] | r0 = *((sl - 0x18));
0x0002469a ldr r1, [r3, 0x14] | r1 = *((r3 + 0x14));
0x0002469c blx 0x205e0 | fcn_000205e0 ();
0x000246a0 ldr r3, [sp, 0x38] | r3 = *(arg_38h);
0x000246a2 str r0, [r3, 0x14] | *((r3 + 0x14)) = r0;
0x000246a4 ldr r3, [r3] | r3 = *(r3);
0x000246a6 cmp r3, 0 |
| if (r3 == 0) {
0x000246a8 beq.w 0x24b10 | goto label_69;
| }
| label_26:
0x000246ac ldr r2, [sp, 0x38] | r2 = *(arg_38h);
0x000246ae ldr r3, [r2, 0xc] | r3 = *((r2 + 0xc));
0x000246b0 cmp r3, 0 |
| if (r3 == 0) {
0x000246b2 beq.w 0x24a3c | goto label_70;
| }
| label_17:
0x000246b6 ldr r3, [sp, 0x28] | r3 = *(arg_28h);
0x000246b8 ldr r1, [sp, 0x38] | r1 = *(arg_38h);
0x000246ba ldr r0, [r3, 4] | r0 = *((r3 + 4));
0x000246bc blx 0x1f9e4 | fcn_0001f9e4 ();
0x000246c0 ldr r3, [sp, 0x28] | r3 = *(arg_28h);
0x000246c2 str r0, [r3, 4] | *((r3 + 4)) = r0;
| label_18:
0x000246c4 ldr r3, [sp, 0x3c] | r3 = *(arg_3ch);
0x000246c6 adds r3, 4 | r3 += 4;
0x000246c8 ldm.w r3, {r0, r1, r2} | r0 = *(r3);
| r1 = *((r3 + 4));
| r2 = *((r3 + 8));
0x000246cc adds r3, r4, 4 | r3 = r4 + 4;
0x000246ce stm.w r3, {r0, r1, r2} | *(r3) = r0;
| *((r3 + 4)) = r1;
| *((r3 + 8)) = r2;
0x000246d2 ldr r3, [sp, 0x3c] | r3 = *(arg_3ch);
0x000246d4 ldr r1, [r4] | r1 = *(r4);
0x000246d6 ldr r0, [r3] | r0 = *(r3);
0x000246d8 blx 0x205e0 | fcn_000205e0 ();
0x000246dc ldr r1, [sp, 0x3c] | r1 = *(arg_3ch);
0x000246de str r0, [r4] | *(r4) = r0;
0x000246e0 movs r0, 0x1c | r0 = 0x1c;
0x000246e2 blx 0x208ec | fcn_000208ec ();
0x000246e6 ldr.w r1, [sl] | r1 = *(sl);
0x000246e8 asrs r0, r0, 0x20 | r0 >>= 0x20;
0x000246ea ldr r0, [r4, 0x18] | r0 = *((r4 + 0x18));
0x000246ec blx 0x205e0 | fcn_000205e0 ();
0x000246f0 str r0, [r4, 0x18] | *((r4 + 0x18)) = r0;
0x000246f2 b 0x2427e | goto label_7;
0x000246f4 ldr r3, [sl, -0xc] | r3 = *((sl - 0xc));
0x000246f8 ldm.w sl, {r0, r1, r2} | r0 = *(sl);
| r1 = *((sl + 4));
| r2 = *((sl + 8));
0x000246fc ldr r4, [sl, -0x18] | r4 = *((sl - 0x18));
0x00024700 add.w ip, r3, 0xc |
0x00024704 str r3, [sp, 0x38] | *(arg_38h) = r3;
0x00024706 stm.w ip, {r0, r1, r2} | *(ip) = r0;
| *((ip + 4)) = r1;
| *((ip + 8)) = r2;
0x0002470a add.w r3, r4, 0x10 | r3 = r4 + 0x10;
0x0002470e ldm.w r3, {r0, r1, r2} | r0 = *(r3);
| r1 = *((r3 + 4));
| r2 = *((r3 + 8));
0x00024712 ldr r3, [sp, 0x38] | r3 = *(arg_38h);
0x00024714 stm.w r3, {r0, r1, r2} | *(r3) = r0;
| *((r3 + 4)) = r1;
| *((r3 + 8)) = r2;
0x00024718 cmp r0, 0 |
| if (arg_24h == ) {
0x0002471a beq.w 0x24ad2 | goto label_71;
| }
| label_24:
0x0002471e ldr r2, [sp, 0x38] | r2 = *(arg_38h);
0x00024720 ldr r3, [r2, 0xc] | r3 = *((r2 + 0xc));
0x00024722 cmp r3, 0 |
| if (r3 == 0) {
0x00024724 beq.w 0x24a5a | goto label_72;
| }
| label_19:
0x00024728 ldr r3, [sp, 0x28] | r3 = *(arg_28h);
0x0002472a ldr r1, [sp, 0x38] | r1 = *(arg_38h);
0x0002472c ldr r0, [r3, 4] | r0 = *((r3 + 4));
0x0002472e blx 0x1f9e4 | fcn_0001f9e4 ();
0x00024732 ldr r3, [sp, 0x28] | r3 = *(arg_28h);
0x00024734 str r0, [r3, 4] | *((r3 + 4)) = r0;
| label_20:
0x00024736 movs r3, 0 | r3 = 0;
0x00024738 strd r3, r3, [r4, 0x10] | __asm ("strd r3, r3, [r4, 0x10]");
0x0002473c str r3, [r4, 0x18] | *((r4 + 0x18)) = r3;
0x0002473e b 0x2427e | goto label_7;
0x00024740 ldr.w r3, [sl] | r3 = *(sl);
0x00024744 movs r1, 0 | r1 = 0;
0x00024746 mov r0, r3 | r0 = r3;
0x00024748 str r3, [sp, 0x38] | *(arg_38h) = r3;
0x0002474a bl 0x3dcb0 | r0 = gst_element_factory_make ();
0x0002474e mov r4, r0 | r4 = r0;
0x00024750 cmp r0, 0 |
| if (r0 == 0) {
0x00024752 beq.w 0x24d10 | goto label_73;
| }
| label_10:
0x00024756 ldr r0, [sp, 0x38] | r0 = *(arg_38h);
0x00024758 blx 0x1f14c | fcn_0001f14c ();
0x0002475c b 0x2427e | goto label_7;
0x0002475e ldr r4, [sl, -0xc] | r4 = *((sl - 0xc));
0x00024762 ldr.w r0, [sl] | r0 = *(sl);
0x00024766 ldr r2, [sp, 0x28] | r2 = *(arg_28h);
0x00024768 mov r1, r4 | r1 = r4;
0x0002476a bl 0x23ca4 | fcn_00023ca4 (r0, r1, r2);
0x0002476e b 0x2427e | goto label_7;
0x00024770 ldr.w r0, [pc, 0x4b0] |
0x00024774 add r0, pc | r0 = 0x4939c;
0x00024776 blx 0x1f560 | r0 = fcn_0001f560 ();
0x0002477a mov r4, r0 | r4 = r0;
0x0002477c b 0x2427e | goto label_7;
0x0002477e ldr r3, [sp, 0x28] | r3 = *(arg_28h);
0x00024780 ldr r4, [sl, -0xc] | r4 = *((sl - 0xc));
0x00024784 ldr r3, [r3, 8] | r3 = *((r3 + 8));
0x00024786 cmp r3, 0 |
| if (r3 == 0) {
0x00024788 beq.w 0x2427e | goto label_7;
| }
0x0002478c ldr r2, [r3] | r2 = *(r3);
0x0002478e cmp r2, 0 |
| if (r2 != 0) {
0x00024790 bne.w 0x2427e | goto label_7;
| }
0x00024794 strd r3, r2, [sp, 0x38] | __asm ("strd r3, r2, [sp, 0x38]");
0x00024798 bl 0x7a948 | gst_parse_error_quark ();
0x0002479c ldrd r3, r2, [sp, 0x38] | __asm ("ldrd r3, r2, [arg_38h]");
0x000247a0 mov r1, r0 | r1 = r0;
0x000247a2 mov r0, r3 | r0 = r3;
0x000247a4 ldr.w r3, [pc, 0x480] |
0x000247a8 add r3, pc | r3 = 0x493d4;
0x000247aa blx 0x1fe70 | fcn_0001fe70 ();
0x000247ae b 0x2427e | goto label_7;
0x000247b0 ldr r3, [sl, -0xc] | r3 = *((sl - 0xc));
0x000247b4 ldr.w r4, [sl] | r4 = *(sl);
0x000247b8 str r3, [sp, 0x38] | *(arg_38h) = r3;
0x000247ba cmp r3, 0 |
| if (r3 == 0) {
0x000247bc beq.w 0x2427e | goto label_7;
| }
0x000247c0 ldr r0, [r3, 0x10] | r0 = *((r3 + 0x10));
| if (r0 != 0) {
0x000247c2 cbz r0, 0x247c8 |
0x000247c4 bl 0x26570 | gst_object_unref ();
| }
0x000247c8 ldr r3, [sp, 0x38] | r3 = *(arg_38h);
0x000247ca ldr r0, [r3, 0x14] | r0 = *((r3 + 0x14));
0x000247cc blx 0x1f14c | fcn_0001f14c ();
0x000247d0 ldr r2, [sp, 0x34] | r2 = *(arg_34h);
0x000247d2 ldr.w r3, [pc, 0x44c] | r3 = *(0x24c22);
0x000247d6 ldr r1, [r2, r3] | r1 = *((r2 + r3));
0x000247d8 movs r2, 0 | r2 = 0;
0x000247da ldr r3, [sp, 0x38] | r3 = *(arg_38h);
0x000247dc str r1, [sp, 0x3c] | *(arg_3ch) = r1;
0x000247de ldr r0, [r3, 0x18] | r0 = *(0x24c3a);
0x000247e0 blx 0x200b4 | g_initially_unowned_get_type ();
0x000247e4 ldr r3, [sp, 0x38] | r3 = *(arg_38h);
0x000247e6 ldr r0, [r3, 0x18] | r0 = *(0x24c3a);
0x000247e8 blx 0x1f330 | fcn_0001f330 ();
0x000247ea stc p8, c6, [r2, 0x180]! | __asm ("stc p8, c6, [r2, 0x180]!");
| if (r0 != 0) {
0x000247ee cbz r0, 0x247f4 |
0x000247f0 bl 0x26570 | gst_object_unref ();
| }
0x000247f4 ldr r0, [r4, 8] | r0 = *((r4 + 8));
0x000247f6 blx 0x1f14c | fcn_0001f14c ();
0x000247fa ldr r1, [sp, 0x3c] | r1 = *(arg_3ch);
0x000247fc movs r2, 0 | r2 = 0;
0x000247fe ldr r0, [r4, 0xc] | r0 = *((r4 + 0xc));
0x00024800 blx 0x200b4 | g_initially_unowned_get_type ();
0x00024804 ldr r0, [r4, 0xc] | r0 = *((r4 + 0xc));
0x00024806 blx 0x1f330 | fcn_0001f330 ();
0x0002480a ldr r3, [sp, 0x38] | r3 = *(arg_38h);
0x0002480c adds r2, r3, 4 | r2 = r3 + 4;
0x0002480e adds r3, r4, 4 | r3 = r4 + 4;
0x00024810 ldm r2, {r0, r1, r2} | r0 = *(r2);
| r1 = *((r2 + 4));
| r2 = *((r2 + 8));
0x00024812 stm.w r3, {r0, r1, r2} | *(r3) = r0;
| *((r3 + 4)) = r1;
| *((r3 + 8)) = r2;
0x00024816 ldr r3, [sp, 0x38] | r3 = *(arg_38h);
0x00024818 ldr r1, [r4] | r1 = *(r4);
0x0002481a ldr r0, [r3] | r0 = *(r3);
0x0002481c blx 0x205e0 | fcn_000205e0 ();
0x00024820 ldr r1, [sp, 0x38] | r1 = *(arg_38h);
0x00024822 str r0, [r4] | *(r4) = r0;
0x00024824 movs r0, 0x1c | r0 = 0x1c;
0x00024826 blx 0x208ec | fcn_000208ec ();
0x0002482a b 0x2427e | goto label_7;
0x0002482c ldr r0, [sl, -0xc] | r0 = *((sl - 0xc));
0x00024830 ldr.w r3, [sl] | r3 = *(sl);
0x00024834 str r0, [sp, 0x18] | var_18h = r0;
0x00024836 str r3, [sp, 0x1c] | var_1ch = r3;
0x00024838 cmp r0, 0 |
| if (r0 == 0) {
0x0002483a beq.w 0x2427c | goto label_9;
| }
0x0002483e ldrb r3, [r0] | r3 = *(r0);
0x00024840 cmp r3, 0x2e |
| if (r3 == 0x2e) {
0x00024842 beq.w 0x24c8a | goto label_74;
| }
| do {
0x00024846 ldrb r3, [r0, 1]! | r3 = *((r0 += 1));
0x0002484a cmp r3, 0x2e |
0x0002484c bne 0x24846 |
| } while (r3 != 0x2e);
| label_32:
0x0002484e ldrb r4, [r0, 1] | r4 = *((r0 + 1));
0x00024850 movs r2, 0 | r2 = 0;
0x00024852 strb r2, [r0] | *(r0) = r2;
0x00024854 cmp r4, 0 |
| if (r4 == 0) {
0x00024856 beq.w 0x2427e | goto label_7;
| }
0x0002485a adds r0, 1 | r0++;
0x0002485c mov r4, r2 | r4 = r2;
0x0002485e blx 0x1f560 | r0 = fcn_0001f560 ();
0x00024862 mov r1, r0 | r1 = r0;
0x00024864 ldr r0, [sp, 0x1c] | r0 = var_1ch;
0x00024866 blx 0x1fc58 | g_value_set_uchar ();
0x0002486a str r0, [sp, 0x1c] | var_1ch = r0;
0x0002486c b 0x2427e | goto label_7;
0x0002486e movs r0, 0x20 | r0 = 0x20;
0x00024870 blx 0x1ff70 | g_type_check_instance_is_a ();
0x00024874 movs r2, 0x20 | r2 = 0x20;
0x00024876 movs r1, 0 | r1 = 0;
0x00024878 mov r4, r0 | r4 = r0;
0x0002487a blx 0x1f724 | fsync ();
0x0002487e ldr.w r3, [sl] | r3 = *(sl);
0x00024882 mov r2, r3 | r2 = r3;
0x00024884 str r3, [sp, 0x38] | *(arg_38h) = r3;
0x00024886 movs r3, 1 | r3 = 1;
0x00024888 str r3, [r4, 0x1c] | *((r4 + 0x1c)) = r3;
0x0002488a cmp r2, 0 |
| if (r2 == 0) {
0x0002488c beq.w 0x2427e | goto label_7;
| }
0x00024890 mov r0, r2 | r0 = r2;
0x00024892 bl 0x33664 | gst_caps_from_string ();
0x00024896 str r0, [r4, 0x18] | *((r4 + 0x18)) = r0;
0x00024898 cmp r0, 0 |
| if (r0 != 0) {
0x0002489a bne.w 0x24756 | goto label_10;
| }
0x0002489e ldr r3, [sp, 0x28] | r3 = *(arg_28h);
0x000248a0 ldr r3, [r3, 8] | r3 = *((r3 + 8));
0x000248a2 cmp r3, 0 |
| if (r3 == 0) {
0x000248a4 beq.w 0x24756 | goto label_10;
| }
0x000248a8 ldr r2, [r3] | r2 = *(r3);
0x000248aa cmp r2, 0 |
| if (r2 != 0) {
0x000248ac bne.w 0x24756 | goto label_10;
| }
0x000248b0 str r3, [sp, 0x3c] | *(arg_3ch) = r3;
0x000248b2 bl 0x7a948 | gst_parse_error_quark ();
0x000248b6 ldr r3, [sp, 0x3c] | r3 = *(arg_3ch);
0x000248b8 mov r1, r0 | r1 = r0;
0x000248ba movs r2, 3 | r2 = 3;
0x000248bc mov r0, r3 | r0 = r3;
0x000248be ldr r3, [sp, 0x38] | r3 = *(arg_38h);
0x000248c0 str r3, [sp] | *(sp) = r3;
0x000248c2 ldr r3, [pc, 0x368] |
0x000248c4 add r3, pc | r3 = 0x494f6;
0x000248c6 blx 0x1fe70 | fcn_0001fe70 ();
0x000248ca b 0x24756 | goto label_10;
0x000248cc movs r0, 0x20 | r0 = 0x20;
0x000248ce blx 0x1ff70 | g_type_check_instance_is_a ();
0x000248d2 movs r2, 0x20 | r2 = 0x20;
0x000248d4 movs r1, 0 | r1 = 0;
0x000248d6 mov r4, r0 | r4 = r0;
0x000248d8 blx 0x1f724 | fsync ();
0x000248dc ldr.w r3, [sl] | r3 = *(sl);
0x000248e0 str r3, [sp, 0x38] | *(arg_38h) = r3;
0x000248e2 cmp r3, 0 |
| if (r3 == 0) {
0x000248e4 beq.w 0x2427e | goto label_7;
| }
0x000248e8 mov r0, r3 | r0 = r3;
0x000248ea bl 0x33664 | gst_caps_from_string ();
0x000248ee str r0, [r4, 0x18] | *((r4 + 0x18)) = r0;
0x000248f0 cmp r0, 0 |
| if (r0 != 0) {
0x000248f2 bne.w 0x24756 | goto label_10;
| }
0x000248f6 ldr r3, [sp, 0x28] | r3 = *(arg_28h);
0x000248f8 ldr r3, [r3, 8] | r3 = *((r3 + 8));
0x000248fa cmp r3, 0 |
| if (r3 == 0) {
0x000248fc beq.w 0x24756 | goto label_10;
| }
0x00024900 ldr r2, [r3] | r2 = *(r3);
0x00024902 cmp r2, 0 |
| if (r2 != 0) {
0x00024904 bne.w 0x24756 | goto label_10;
| }
0x00024908 str r3, [sp, 0x3c] | *(arg_3ch) = r3;
0x0002490a bl 0x7a948 | gst_parse_error_quark ();
0x0002490e ldr r3, [sp, 0x3c] | r3 = *(arg_3ch);
0x00024910 mov r1, r0 | r1 = r0;
0x00024912 movs r2, 3 | r2 = 3;
0x00024914 mov r0, r3 | r0 = r3;
0x00024916 ldr r3, [sp, 0x38] | r3 = *(arg_38h);
0x00024918 str r3, [sp] | *(sp) = r3;
0x0002491a ldr r3, [pc, 0x314] |
0x0002491c add r3, pc | r3 = 0x49552;
0x0002491e blx 0x1fe70 | fcn_0001fe70 ();
0x00024922 b 0x24756 | goto label_10;
0x00024924 ldr.w r3, [sl] | r3 = *(sl);
0x00024928 movs r0, 1 | r0 = 1;
0x0002492a mov r1, r3 | r1 = r3;
0x0002492c str r3, [sp, 0x3c] | *(arg_3ch) = r3;
0x0002492e movs r3, 0 | r3 = 0;
0x00024930 mov r2, r3 | r2 = r3;
0x00024932 bl 0x69fe8 | gst_element_make_from_uri ();
0x00024936 ldr r4, [sl, -0x18] | r4 = *((sl - 0x18));
0x0002493a str r0, [sp, 0x40] | *(arg_40h) = r0;
0x0002493c cmp r0, 0 |
| if (r0 == 0) {
0x0002493e beq 0x249ce | goto label_75;
| }
0x00024940 bl 0x26538 | gst_object_ref ();
0x00024944 ldr r2, [sl, -0xc] | r2 = *((sl - 0xc));
0x00024948 mov ip, r0 |
0x0002494a str r0, [r2, 0xc] | *((r2 + 0xc)) = r0;
0x0002494c mov r3, r2 | r3 = r2;
0x0002494e str r2, [sp, 0x38] | *(arg_38h) = r2;
0x00024950 add.w r2, r4, 0x10 | r2 = r4 + 0x10;
0x00024954 ldm r2, {r0, r1, r2} | r0 = *(r2);
| r1 = *((r2 + 4));
| r2 = *((r2 + 8));
0x00024956 stm.w r3, {r0, r1, r2} | *(r3) = r0;
| *((r3 + 4)) = r1;
| *((r3 + 8)) = r2;
| if (r0 == 0) {
0x0002495a cbz r0, 0x2498c | goto label_76;
| }
| label_12:
0x0002495c cmp.w ip, 0 |
| if (ip == 0) {
0x00024960 beq 0x249fc | goto label_77;
| }
| label_15:
0x00024962 ldr r3, [sp, 0x28] | r3 = *(arg_28h);
0x00024964 ldr r1, [sp, 0x38] | r1 = *(arg_38h);
0x00024966 ldr r0, [r3, 4] | r0 = *((r3 + 4));
0x00024968 blx 0x1f9e4 | fcn_0001f9e4 ();
0x0002496c ldr r3, [sp, 0x28] | r3 = *(arg_28h);
0x0002496e str r0, [r3, 4] | *((r3 + 4)) = r0;
| label_13:
0x00024970 movs r3, 0 | r3 = 0;
0x00024972 strd r3, r3, [r4, 0x10] | __asm ("strd r3, r3, [r4, 0x10]");
0x00024976 str r3, [r4, 0x18] | *((r4 + 0x18)) = r3;
0x00024978 ldr r3, [sp, 0x40] | r3 = *(arg_40h);
0x0002497a cmp r3, 0 |
| if (r3 == 0) {
0x0002497c beq.w 0x245e0 | goto label_11;
| }
0x00024980 ldr r0, [r4] | r0 = *(r4);
0x00024982 mov r1, r3 | r1 = r3;
0x00024984 blx 0x1f9e4 | fcn_0001f9e4 ();
0x00024988 str r0, [r4] | *(r4) = r0;
0x0002498a b 0x245e0 | goto label_11;
| label_76:
0x0002498c cmp r1, 0 |
| if (r1 != 0) {
0x0002498e bne 0x2495c | goto label_12;
| }
| do {
0x00024990 ldr r3, [sp, 0x28] | r3 = *(arg_28h);
0x00024992 ldr r2, [r3, 8] | r2 = *((r3 + 8));
| if (r2 != 0) {
0x00024994 cbz r2, 0x2499e |
0x00024996 ldr r3, [r2] | r3 = *(r2);
0x00024998 cmp r3, 0 |
| if (r3 == 0) {
0x0002499a beq.w 0x24d46 | goto label_78;
| }
| }
| label_16:
0x0002499e ldr r0, [sp, 0x38] | r0 = *(arg_38h);
0x000249a0 bl 0x23efc | fcn_00023efc (r0);
0x000249a4 b 0x24970 | goto label_13;
| label_53:
0x000249a6 mov r4, r3 | r4 = r3;
0x000249a8 mov fp, r6 |
0x000249aa movs r5, 1 | r5 = 1;
0x000249ac b 0x24382 | goto label_14;
| label_52:
0x000249ae mov r4, fp | r4 = fp;
0x000249b0 movs r5, 2 | r5 = 2;
0x000249b2 mov fp, r7 |
0x000249b4 b 0x24382 | goto label_14;
| label_62:
0x000249b6 cmp.w ip, 0 |
| if (ip != 0) {
0x000249ba bne 0x24a78 | goto label_79;
| }
| label_21:
0x000249bc eor ip, ip, 1 |
0x000249c0 b 0x24562 | goto label_8;
| label_64:
0x000249c2 ldrb r0, [r3, 1] | r0 = *((r3 + 1));
0x000249c4 cmp r0, 0 |
| if (r0 == 0) {
0x000249c6 beq.w 0x24b5a | goto label_63;
| }
0x000249ca adds r3, 1 | r3++;
0x000249cc b 0x24562 | goto label_8;
| label_75:
0x000249ce ldr r3, [sp, 0x28] | r3 = *(arg_28h);
0x000249d0 ldr r3, [r3, 8] | r3 = *((r3 + 8));
| if (r3 != 0) {
0x000249d2 cbz r3, 0x249dc |
0x000249d4 ldr r2, [r3] | r2 = *(r3);
0x000249d6 cmp r2, 0 |
| if (r2 == 0) {
0x000249d8 beq.w 0x24d6c | goto label_80;
| }
| }
| label_36:
0x000249dc ldr r3, [sl, -0xc] | r3 = *((sl - 0xc));
0x000249e0 mov r2, r3 | r2 = r3;
0x000249e2 movs r3, 0 | r3 = 0;
0x000249e4 str r3, [r2, 0xc] | *((r2 + 0xc)) = r3;
0x000249e6 add.w r3, r4, 0x10 | r3 = r4 + 0x10;
0x000249ea str r2, [sp, 0x38] | *(arg_38h) = r2;
0x000249ec ldm.w r3, {r0, r1, r2} | r0 = *(r3);
| r1 = *((r3 + 4));
| r2 = *((r3 + 8));
0x000249f0 ldr r3, [sp, 0x38] | r3 = *(arg_38h);
0x000249f2 stm.w r3, {r0, r1, r2} | *(r3) = r0;
| *((r3 + 4)) = r1;
| *((r3 + 8)) = r2;
| if (r0 != 0) {
0x000249f6 cbnz r0, 0x249fc | goto label_77;
| }
0x000249f8 cmp r1, 0 |
0x000249fa beq 0x24990 |
| } while (r1 == 0);
| label_77:
0x000249fc ldr r3, [sp, 0x38] | r3 = *(arg_38h);
0x000249fe ldr r3, [r3, 0x10] | r3 = *((r3 + 0x10));
0x00024a00 cmp r3, 0 |
| if (r3 != 0) {
0x00024a02 bne 0x24962 | goto label_15;
| }
0x00024a04 ldr r3, [sp, 0x28] | r3 = *(arg_28h);
0x00024a06 ldr r2, [r3, 8] | r2 = *((r3 + 8));
0x00024a08 cmp r2, 0 |
| if (r2 == 0) {
0x00024a0a beq 0x2499e | goto label_16;
| }
0x00024a0c ldr r3, [r2] | r3 = *(r2);
0x00024a0e cmp r3, 0 |
| if (r3 != 0) {
0x00024a10 bne 0x2499e | goto label_16;
| }
0x00024a12 str r2, [sp, 0x44] | *(arg_44h) = r2;
0x00024a14 bl 0x7a948 | gst_parse_error_quark ();
0x00024a18 ldr r3, [sp, 0x38] | r3 = *(arg_38h);
0x00024a1a mov r1, r0 | r1 = r0;
0x00024a1c ldr r2, [sp, 0x44] | r2 = *(arg_44h);
0x00024a1e ldr r3, [r3, 4] | r3 = *((r3 + 4));
0x00024a20 cmp r3, 0 |
| if (r3 == 0) {
0x00024a22 beq.w 0x24db2 | goto label_81;
| }
| label_38:
0x00024a26 mov r0, r2 | r0 = r2;
0x00024a28 ldr r2, [sp, 0x38] | r2 = *(arg_38h);
0x00024a2a ldr r2, [r2] | r2 = *(r2);
0x00024a2c strd r3, r2, [sp] | __asm ("strd r3, r2, [sp]");
0x00024a30 movs r2, 3 | r2 = 3;
0x00024a32 ldr r3, [pc, 0x200] |
0x00024a34 add r3, pc | r3 = 0x4966e;
0x00024a36 blx 0x1fe70 | fcn_0001fe70 ();
0x00024a3a b 0x2499e | goto label_16;
| label_70:
0x00024a3c ldr r3, [r2, 0x10] | r3 = *((r2 + 0x10));
0x00024a3e cmp r3, 0 |
| if (r3 != 0) {
0x00024a40 bne.w 0x246b6 | goto label_17;
| }
0x00024a44 ldr r3, [sp, 0x28] | r3 = *(arg_28h);
0x00024a46 ldr r2, [r3, 8] | r2 = *((r3 + 8));
| if (r2 != 0) {
0x00024a48 cbz r2, 0x24a52 |
0x00024a4a ldr r3, [r2] | r3 = *(r2);
0x00024a4c cmp r3, 0 |
| if (r3 == 0) {
0x00024a4e beq.w 0x24dbe | goto label_82;
| }
| }
| label_27:
0x00024a52 ldr r0, [sp, 0x38] | r0 = *(arg_38h);
0x00024a54 bl 0x23efc | fcn_00023efc (r0);
0x00024a58 b 0x246c4 | goto label_18;
| label_72:
0x00024a5a ldr r3, [r2, 0x10] | r3 = *((r2 + 0x10));
0x00024a5c cmp r3, 0 |
| if (r3 != 0) {
0x00024a5e bne.w 0x24728 | goto label_19;
| }
0x00024a62 ldr r3, [sp, 0x28] | r3 = *(arg_28h);
0x00024a64 ldr r2, [r3, 8] | r2 = *((r3 + 8));
| if (r2 != 0) {
0x00024a66 cbz r2, 0x24a70 |
0x00024a68 ldr r3, [r2] | r3 = *(r2);
0x00024a6a cmp r3, 0 |
| if (r3 == 0) {
0x00024a6c beq.w 0x24cc2 | goto label_83;
| }
| }
| label_25:
0x00024a70 ldr r0, [sp, 0x38] | r0 = *(arg_38h);
0x00024a72 bl 0x23efc | fcn_00023efc (r0);
0x00024a76 b 0x24736 | goto label_20;
| label_79:
0x00024a78 ldrb r2, [r3, -0x1] | r2 = *((r3 - 0x1));
0x00024a7c cmp r2, 0x5c |
| if (r2 != 0x5c) {
0x00024a7e bne 0x249bc | goto label_21;
| }
0x00024a80 b 0x24562 | goto label_8;
| label_66:
0x00024a82 ldr r3, [sp, 0x28] | r3 = *(arg_28h);
0x00024a84 ldr r4, [r3, 8] | r4 = *((r3 + 8));
| if (r4 != 0) {
0x00024a86 cbz r4, 0x24a90 |
0x00024a88 ldr r3, [r4] | r3 = *(r4);
0x00024a8a cmp r3, 0 |
| if (r3 == 0) {
0x00024a8c beq.w 0x24c72 | goto label_84;
| }
| }
| label_31:
0x00024a90 movs r0, 0x1c | r0 = 0x1c;
0x00024a92 blx 0x1ff70 | g_type_check_instance_is_a ();
0x00024a96 movs r3, 0 | r3 = 0;
0x00024a98 mov r4, r0 | r4 = r0;
0x00024a9a str r3, [r0] | *(r0) = r3;
0x00024a9c str r3, [r0, 4] | *((r0 + 4)) = r3;
0x00024a9e str r3, [r0, 8] | *((r0 + 8)) = r3;
0x00024aa0 str r3, [r0, 0xc] | *((r0 + 0xc)) = r3;
0x00024aa2 str r3, [r0, 0x10] | *((r0 + 0x10)) = r3;
0x00024aa4 str r3, [r0, 0x14] | *((r0 + 0x14)) = r3;
0x00024aa6 str r3, [r0, 0x18] | *((r0 + 0x18)) = r3;
0x00024aa8 b 0x24602 | goto label_22;
| label_59:
0x00024aaa ldr r4, [r2, 8] | r4 = *((r2 + 8));
0x00024aac cmp r4, 0 |
| if (r4 == 0) {
0x00024aae beq.w 0x244c8 | goto label_23;
| }
0x00024ab2 ldr r3, [r4] | r3 = *(r4);
0x00024ab4 cmp r3, 0 |
| if (r3 != 0) {
0x00024ab6 bne.w 0x244c8 | goto label_23;
| }
0x00024aba bl 0x7a948 | gst_parse_error_quark ();
0x00024abe ldr r3, [pc, 0x178] |
0x00024ac0 mov r1, r0 | r1 = r0;
0x00024ac2 movs r2, 6 | r2 = 6;
0x00024ac4 mov r0, r4 | r0 = r4;
0x00024ac6 add r3, pc | r3 = 0x49704;
0x00024ac8 blx 0x1fe70 | fcn_0001fe70 ();
0x00024acc ldr r4, [sp, 0x28] | r4 = *(arg_28h);
0x00024ace b.w 0x2427e | goto label_7;
| label_71:
0x00024ad2 cmp r1, 0 |
| if (r1 != 0) {
0x00024ad4 bne.w 0x2471e | goto label_24;
| }
0x00024ad6 add r6, sp, 0x8c | r6 = sp + 0x8c;
0x00024ad8 ldr r3, [sp, 0x28] | r3 = *(arg_28h);
0x00024ada ldr r2, [r3, 8] | r2 = *((r3 + 8));
0x00024adc cmp r2, 0 |
| if (r2 == 0) {
0x00024ade beq 0x24a70 | goto label_25;
| }
0x00024ae0 ldr r3, [r2] | r3 = *(r2);
0x00024ae2 cmp r3, 0 |
| if (r3 != 0) {
0x00024ae4 bne 0x24a70 | goto label_25;
| }
0x00024ae6 str r2, [sp, 0x3c] | *(arg_3ch) = r2;
0x00024ae8 bl 0x7a948 | gst_parse_error_quark ();
0x00024aec ldr r3, [sp, 0x38] | r3 = *(arg_38h);
0x00024aee mov r1, r0 | r1 = r0;
0x00024af0 ldr r2, [sp, 0x3c] | r2 = *(arg_3ch);
0x00024af2 ldr r3, [r3, 0x10] | r3 = *((r3 + 0x10));
0x00024af4 cmp r3, 0 |
| if (r3 == 0) {
0x00024af6 beq.w 0x24db8 | goto label_85;
| }
| label_39:
0x00024afa mov r0, r2 | r0 = r2;
0x00024afc ldr r2, [sp, 0x38] | r2 = *(arg_38h);
0x00024afe ldr r2, [r2, 0xc] | r2 = *((r2 + 0xc));
0x00024b00 strd r3, r2, [sp] | __asm ("strd r3, r2, [sp]");
0x00024b04 movs r2, 3 | r2 = 3;
0x00024b06 ldr r3, [pc, 0x134] |
0x00024b08 add r3, pc | r3 = 0x4974a;
0x00024b0a blx 0x1fe70 | fcn_0001fe70 ();
0x00024b0e b 0x24a70 | goto label_25;
| label_69:
0x00024b10 ldr r3, [sp, 0x38] | r3 = *(arg_38h);
0x00024b12 ldr r3, [r3, 4] | r3 = *((r3 + 4));
0x00024b14 cmp r3, 0 |
| if (r3 != 0) {
0x00024b16 bne.w 0x246ac | goto label_26;
| }
0x00024b1a ldr r3, [sp, 0x28] | r3 = *(arg_28h);
0x00024b1c ldr r2, [r3, 8] | r2 = *((r3 + 8));
0x00024b1e cmp r2, 0 |
| if (r2 == 0) {
0x00024b20 beq 0x24a52 | goto label_27;
| }
0x00024b22 ldr r3, [r2] | r3 = *(r2);
0x00024b24 cmp r3, 0 |
| if (r3 != 0) {
0x00024b26 bne 0x24a52 | goto label_27;
| }
0x00024b28 str r2, [sp, 0x40] | *(arg_40h) = r2;
0x00024b2a bl 0x7a948 | gst_parse_error_quark ();
0x00024b2e ldr r3, [sp, 0x38] | r3 = *(arg_38h);
0x00024b30 mov r1, r0 | r1 = r0;
0x00024b32 ldr r2, [sp, 0x40] | r2 = *(arg_40h);
0x00024b34 ldr r3, [r3, 0x10] | r3 = *((r3 + 0x10));
0x00024b36 cmp r3, 0 |
| if (r3 == 0) {
0x00024b38 beq.w 0x24d0a | goto label_86;
| }
| label_35:
0x00024b3c mov r0, r2 | r0 = r2;
0x00024b3e ldr r2, [sp, 0x38] | r2 = *(arg_38h);
0x00024b40 ldr r2, [r2, 0xc] | r2 = *((r2 + 0xc));
0x00024b42 strd r3, r2, [sp] | __asm ("strd r3, r2, [sp]");
0x00024b44 adds r2, 0 | r2 += 0;
0x00024b46 movs r2, 3 | r2 = 3;
0x00024b48 ldr r3, [pc, 0xf4] |
0x00024b4a add r3, pc | r3 = 0x4978e;
0x00024b4c blx 0x1fe70 | fcn_0001fe70 ();
0x00024b50 b 0x24a52 | goto label_27;
| label_49:
0x00024b52 mov r4, fp | r4 = fp;
0x00024b54 movs r5, 1 | r5 = 1;
0x00024b56 mov fp, r7 |
0x00024b58 b 0x243c8 | goto label_28;
| label_63:
0x00024b5a movs r3, 0 | r3 = 0;
0x00024b5c mov r0, r4 | r0 = r4;
0x00024b5e strb r3, [r1] | *(r1) = r3;
0x00024b60 ldr r1, [sp, 0x38] | r1 = *(arg_38h);
0x00024b62 bl 0x55b88 | r0 = gst_preset_load_preset ();
0x00024b66 cmp r0, 0 |
| if (r0 != 0) {
0x00024b68 bne.w 0x24756 | goto label_10;
| }
0x00024b6c ldr r3, [sp, 0x28] | r3 = *(arg_28h);
0x00024b6e ldr r3, [r3, 8] | r3 = *((r3 + 8));
0x00024b70 cmp r3, 0 |
| if (r3 == 0) {
0x00024b72 beq.w 0x24756 | goto label_10;
| }
0x00024b76 ldr r2, [r3] | r2 = *(r3);
0x00024b78 cmp r2, 0 |
| if (r2 != 0) {
0x00024b7a bne.w 0x24756 | goto label_10;
| }
0x00024b7e str r3, [sp, 0x3c] | *(arg_3ch) = r3;
0x00024b80 bl 0x7a948 | gst_parse_error_quark ();
0x00024b84 ldr r3, [sp, 0x3c] | r3 = *(arg_3ch);
0x00024b86 mov r1, r0 | r1 = r0;
0x00024b88 movs r2, 4 | r2 = 4;
0x00024b8a mov r0, r3 | r0 = r3;
0x00024b8c ldr r3, [r4, 0x14] | r3 = *((r4 + 0x14));
0x00024b8e str r3, [sp, 4] | var_4h = r3;
0x00024b90 ldr r3, [sp, 0x38] | r3 = *(arg_38h);
0x00024b92 str r3, [sp] | *(sp) = r3;
0x00024b94 ldr r3, [pc, 0xac] |
0x00024b96 add r3, pc | r3 = 0x497de;
0x00024b98 blx 0x1fe70 | fcn_0001fe70 ();
0x00024b9c b 0x24756 | goto label_10;
| label_61:
0x00024b9e ldr r3, [sp, 0x28] | r3 = *(arg_28h);
0x00024ba0 ldr r3, [r3, 8] | r3 = *((r3 + 8));
0x00024ba2 cmp r3, 0 |
| if (r3 == 0) {
0x00024ba4 beq.w 0x24756 | goto label_10;
| }
0x00024ba8 ldr r2, [r3] | r2 = *(r3);
0x00024baa cmp r2, 0 |
| if (r2 != 0) {
0x00024bac bne.w 0x24756 | goto label_10;
| }
0x00024bb0 str r3, [sp, 0x3c] | *(arg_3ch) = r3;
0x00024bb2 bl 0x7a948 | gst_parse_error_quark ();
0x00024bb6 ldr r3, [sp, 0x3c] | r3 = *(arg_3ch);
0x00024bb8 mov r1, r0 | r1 = r0;
0x00024bba movs r2, 4 | r2 = 4;
0x00024bbc mov r0, r3 | r0 = r3;
0x00024bbe ldr r3, [r4, 0x14] | r3 = *((r4 + 0x14));
0x00024bc0 str r3, [sp] | *(sp) = r3;
0x00024bc2 ldr r3, [pc, 0x84] |
0x00024bc4 add r3, pc | r3 = 0x49812;
0x00024bc6 blx 0x1fe70 | fcn_0001fe70 ();
0x00024bca b 0x24756 | goto label_10;
| label_57:
0x00024bcc strd r3, r2, [sp, 0x38] | __asm ("strd r3, r2, [sp, 0x38]");
0x00024bd0 bl 0x7a948 | gst_parse_error_quark ();
0x00024bd4 ldrd r3, r2, [sp, 0x38] | __asm ("ldrd r3, r2, [arg_38h]");
0x00024bd8 mov r1, r0 | r1 = r0;
0x00024bda mov r0, r3 | r0 = r3;
0x00024bdc ldr r3, [r4, 0x14] | r3 = *((r4 + 0x14));
0x00024bde str r3, [sp] | *(sp) = r3;
0x00024be0 ldr r3, [pc, 0x68] |
0x00024be2 add r3, pc | r3 = 0x49832;
0x00024be4 blx 0x1fe70 | fcn_0001fe70 ();
0x00024be8 ldr r0, [r4, 0x14] | r0 = *((r4 + 0x14));
0x00024bea b 0x24482 | goto label_29;
| label_58:
0x00024c50 strd r3, r2, [sp, 0x38] | __asm ("strd r3, r2, [sp, 0x38]");
0x00024c54 bl 0x7a948 | gst_parse_error_quark ();
0x00024c58 ldrd r3, r2, [sp, 0x38] | __asm ("ldrd r3, r2, [arg_38h]");
0x00024c5c mov r1, r0 | r1 = r0;
0x00024c5e mov r0, r3 | r0 = r3;
0x00024c60 ldr r3, [r4, 0x18] | r3 = *((r4 + 0x18));
0x00024c62 ldr r3, [r3] | r3 = *(r3);
0x00024c64 str r3, [sp] | *(sp) = r3;
0x00024c66 ldr r3, [pc, 0x19c] |
0x00024c68 add r3, pc | r3 = 0x49a72;
0x00024c6a blx 0x1fe70 | fcn_0001fe70 ();
0x00024c6e ldr r0, [r4, 0x18] | r0 = *((r4 + 0x18));
0x00024c70 b 0x244a0 | goto label_30;
| label_84:
0x00024c72 bl 0x7a948 | gst_parse_error_quark ();
0x00024c76 ldr r3, [sp, 0x3c] | r3 = *(arg_3ch);
0x00024c78 mov r1, r0 | r1 = r0;
0x00024c7a movs r2, 5 | r2 = 5;
0x00024c7c mov r0, r4 | r0 = r4;
0x00024c7e str r3, [sp] | *(sp) = r3;
0x00024c80 ldr r3, [pc, 0x184] |
0x00024c82 add r3, pc | r3 = 0x49a8e;
0x00024c84 blx 0x1fe70 | fcn_0001fe70 ();
0x00024c88 b 0x24a90 | goto label_31;
| label_74:
0x00024c8a ldr r0, [sp, 0x18] | r0 = var_18h;
0x00024c8c b 0x2484e | goto label_32;
| label_67:
0x00024c8e ldr r1, [sp, 0x3c] | r1 = *(arg_3ch);
0x00024c90 ldr r0, [sp, 0x28] | r0 = *(arg_28h);
0x00024c92 bl 0x237b8 | fcn_000237b8 (r0, r1);
0x00024c96 ldr r3, [sp, 0x28] | r3 = *(arg_28h);
0x00024c98 ldr r3, [r3, 8] | r3 = *((r3 + 8));
| if (r3 == 0) {
0x00024c9a cbz r3, 0x24ca0 | goto label_87;
| }
0x00024c9c ldr r2, [r3] | r2 = *(r3);
0x00024c9e cbz r2, 0x24ce8 |
| while (1) {
| label_87:
0x00024ca0 ldr r3, [pc, 0x168] | r3 = *(0x24e0c);
0x00024ca2 ldr r2, [sp, 0x34] | r2 = *(arg_34h);
0x00024ca4 ldr r0, [sl, -0x18] | r0 = *((sl - 0x18));
0x00024ca8 ldr r1, [r2, r3] | r1 = *((r2 + r3));
0x00024caa movs r2, 0 | r2 = 0;
0x00024cac str r0, [sp, 0x38] | *(arg_38h) = r0;
0x00024cae blx 0x200b4 | g_initially_unowned_get_type ();
0x00024cb2 ldr r0, [sp, 0x38] | r0 = *(arg_38h);
0x00024cb4 blx 0x1f330 | fcn_0001f330 ();
0x00024cb8 movs r3, 0 | r3 = 0;
0x00024cba str r3, [sl, -0x18] | *((sl - 0x18)) = r3;
0x00024cbe str r3, [sp, 0x40] | *(arg_40h) = r3;
0x00024cc0 b 0x24664 | goto label_33;
| label_83:
0x00024cc2 str r2, [sp, 0x3c] | *(arg_3ch) = r2;
0x00024cc4 bl 0x7a948 | gst_parse_error_quark ();
0x00024cc8 ldr r3, [sp, 0x38] | r3 = *(arg_38h);
0x00024cca mov r1, r0 | r1 = r0;
0x00024ccc ldr r2, [sp, 0x3c] | r2 = *(arg_3ch);
0x00024cce ldr r3, [r3, 4] | r3 = *((r3 + 4));
| if (r3 == 0) {
0x00024cd0 cbz r3, 0x24d04 | goto label_88;
| }
| label_34:
0x00024cd2 mov r0, r2 | r0 = r2;
0x00024cd4 ldr r2, [sp, 0x38] | r2 = *(arg_38h);
0x00024cd6 ldr r2, [r2] | r2 = *(r2);
0x00024cd8 strd r3, r2, [sp] | __asm ("strd r3, r2, [sp]");
0x00024cdc movs r2, 3 | r2 = 3;
0x00024cde ldr r3, [pc, 0x130] |
0x00024ce0 add r3, pc | r3 = 0x49af6;
0x00024ce2 blx 0x1fe70 | fcn_0001fe70 ();
0x00024ce6 b 0x24a70 | goto label_25;
0x00024ce8 str r3, [sp, 0x38] | *(arg_38h) = r3;
0x00024cea bl 0x7a948 | gst_parse_error_quark ();
0x00024cee ldr r3, [sp, 0x38] | r3 = *(arg_38h);
0x00024cf0 mov r1, r0 | r1 = r0;
0x00024cf2 movs r2, 1 | r2 = 1;
0x00024cf4 mov r0, r3 | r0 = r3;
0x00024cf6 ldr r3, [sp, 0x3c] | r3 = *(arg_3ch);
0x00024cf8 str r3, [sp] | *(sp) = r3;
0x00024cfa ldr r3, [pc, 0x118] |
0x00024cfc add r3, pc | r3 = 0x49b16;
0x00024cfe blx 0x1fe70 | fcn_0001fe70 ();
0x00024d02 b 0x24ca0 |
| }
| label_88:
0x00024d04 ldr r3, [pc, 0x110] |
0x00024d06 add r3, pc | r3 = 0x49b22;
0x00024d08 b 0x24cd2 | goto label_34;
| label_86:
0x00024d0a ldr r3, [pc, 0x110] |
0x00024d0c add r3, pc | r3 = 0x49b2e;
0x00024d0e b 0x24b3c | goto label_35;
| label_73:
0x00024d10 ldr r1, [sp, 0x38] | r1 = *(arg_38h);
0x00024d12 ldr r0, [sp, 0x28] | r0 = *(arg_28h);
0x00024d14 bl 0x237b8 | fcn_000237b8 (r0, r1);
0x00024d18 ldr r3, [sp, 0x28] | r3 = *(arg_28h);
0x00024d1a ldr r3, [r3, 8] | r3 = *((r3 + 8));
0x00024d1c cmp r3, 0 |
| if (r3 == 0) {
0x00024d1e beq.w 0x24756 | goto label_10;
| }
0x00024d22 ldr r2, [r3] | r2 = *(r3);
0x00024d24 cmp r2, 0 |
| if (r2 != 0) {
0x00024d26 bne.w 0x24756 | goto label_10;
| }
0x00024d2a str r3, [sp, 0x3c] | *(arg_3ch) = r3;
0x00024d2c bl 0x7a948 | gst_parse_error_quark ();
0x00024d30 ldr r3, [sp, 0x3c] | r3 = *(arg_3ch);
0x00024d32 mov r1, r0 | r1 = r0;
0x00024d34 movs r2, 1 | r2 = 1;
0x00024d36 mov r0, r3 | r0 = r3;
0x00024d38 ldr r3, [sp, 0x38] | r3 = *(arg_38h);
0x00024d3a str r3, [sp] | *(sp) = r3;
0x00024d3c ldr r3, [pc, 0xe0] |
0x00024d3e add r3, pc | r3 = 0x49b62;
0x00024d40 blx 0x1fe70 | fcn_0001fe70 ();
0x00024d44 b 0x24756 | goto label_10;
| label_78:
0x00024d46 str r2, [sp, 0x44] | *(arg_44h) = r2;
0x00024d48 bl 0x7a948 | gst_parse_error_quark ();
0x00024d4c ldr r3, [sp, 0x38] | r3 = *(arg_38h);
0x00024d4e mov r1, r0 | r1 = r0;
0x00024d50 ldr r2, [sp, 0x44] | r2 = *(arg_44h);
0x00024d52 ldr r3, [r3, 0x10] | r3 = *((r3 + 0x10));
0x00024d54 cbz r3, 0x24d88 |
| while (1) {
0x00024d56 mov r0, r2 | r0 = r2;
0x00024d58 ldr r2, [sp, 0x38] | r2 = *(arg_38h);
0x00024d5a ldr r2, [r2, 0xc] | r2 = *((r2 + 0xc));
0x00024d5c strd r3, r2, [sp] | __asm ("strd r3, r2, [sp]");
0x00024d60 movs r2, 3 | r2 = 3;
0x00024d62 ldr r3, [pc, 0xc0] |
0x00024d64 add r3, pc | r3 = 0x49b8e;
0x00024d66 blx 0x1fe70 | fcn_0001fe70 ();
0x00024d6a b 0x2499e | goto label_16;
| label_80:
0x00024d6c str r3, [sp, 0x38] | *(arg_38h) = r3;
0x00024d6e bl 0x7a948 | gst_parse_error_quark ();
0x00024d72 ldr r3, [sp, 0x38] | r3 = *(arg_38h);
0x00024d74 mov r1, r0 | r1 = r0;
0x00024d76 movs r2, 1 | r2 = 1;
0x00024d78 mov r0, r3 | r0 = r3;
0x00024d7a ldr r3, [sp, 0x3c] | r3 = *(arg_3ch);
0x00024d7c str r3, [sp] | *(sp) = r3;
0x00024d7e ldr r3, [pc, 0xa8] |
0x00024d80 add r3, pc | r3 = 0x49bae;
0x00024d82 blx 0x1fe70 | fcn_0001fe70 ();
0x00024d86 b 0x249dc | goto label_36;
0x00024d88 ldr r3, [pc, 0xa0] |
0x00024d8a add r3, pc | r3 = 0x49bba;
0x00024d8c b 0x24d56 |
| }
| label_65:
0x00024d8e ldr r3, [sp, 0x28] | r3 = *(arg_28h);
0x00024d90 ldr r4, [r3, 8] | r4 = *((r3 + 8));
| if (r4 == 0) {
0x00024d92 cbz r4, 0x24d98 | goto label_89;
| }
0x00024d94 ldr r2, [r4] | r2 = *(r4);
0x00024d96 cbz r2, 0x24de4 |
| while (1) {
| label_89:
0x00024d98 movs r0, 0x1c | r0 = 0x1c;
0x00024d9a blx 0x1ff70 | g_type_check_instance_is_a ();
0x00024d9e movs r3, 0 | r3 = 0;
0x00024da0 mov r4, r0 | r4 = r0;
0x00024da2 str r3, [r0] | *(r0) = r3;
0x00024da4 str r3, [r0, 4] | *((r0 + 4)) = r3;
0x00024da6 str r3, [r0, 8] | *((r0 + 8)) = r3;
0x00024da8 str r3, [r0, 0xc] | *((r0 + 0xc)) = r3;
0x00024daa str r3, [r0, 0x10] | *((r0 + 0x10)) = r3;
0x00024dac str r3, [r0, 0x14] | *((r0 + 0x14)) = r3;
0x00024dae str r3, [r0, 0x18] | *((r0 + 0x18)) = r3;
0x00024db0 b 0x245dc | goto label_37;
| label_81:
0x00024db2 ldr r3, [pc, 0x7c] |
0x00024db4 add r3, pc | r3 = 0x49bea;
0x00024db6 b 0x24a26 | goto label_38;
| label_85:
0x00024db8 ldr r3, [pc, 0x78] |
0x00024dba add r3, pc | r3 = 0x49bf2;
0x00024dbc b 0x24afa | goto label_39;
| label_82:
0x00024dbe str r2, [sp, 0x40] | *(arg_40h) = r2;
0x00024dc0 bl 0x7a948 | gst_parse_error_quark ();
0x00024dc4 ldr r3, [sp, 0x38] | r3 = *(arg_38h);
0x00024dc6 mov r1, r0 | r1 = r0;
0x00024dc8 ldr r2, [sp, 0x40] | r2 = *(arg_40h);
0x00024dca ldr r3, [r3, 4] | r3 = *((r3 + 4));
| if (r3 == 0) {
0x00024dcc cbz r3, 0x24dfc | goto label_90;
| }
| label_40:
0x00024dce mov r0, r2 | r0 = r2;
0x00024dd0 ldr r2, [sp, 0x38] | r2 = *(arg_38h);
0x00024dd2 ldr r2, [r2] | r2 = *(r2);
0x00024dd4 strd r3, r2, [sp] | __asm ("strd r3, r2, [sp]");
0x00024dd8 movs r2, 3 | r2 = 3;
0x00024dda ldr r3, [pc, 0x5c] |
0x00024ddc add r3, pc | r3 = 0x49c1a;
0x00024dde blx 0x1fe70 | fcn_0001fe70 ();
0x00024de2 b 0x24a52 | goto label_27;
0x00024de4 bl 0x7a948 | gst_parse_error_quark ();
0x00024de8 ldr r3, [sp, 0x3c] | r3 = *(arg_3ch);
0x00024dea mov r1, r0 | r1 = r0;
0x00024dec movs r2, 1 | r2 = 1;
0x00024dee mov r0, r4 | r0 = r4;
0x00024df0 str r3, [sp] | *(sp) = r3;
0x00024df2 ldr r3, [pc, 0x48] |
0x00024df4 add r3, pc | r3 = 0x49c36;
0x00024df6 blx 0x1fe70 | fcn_0001fe70 ();
0x00024dfa b 0x24d98 |
| }
| label_90:
0x00024dfc ldr r3, [pc, 0x40] |
0x00024dfe add r3, pc | r3 = 0x49c42;
0x00024e00 b 0x24dce | goto label_40;
0x0004336c push {r3, r4, r5, lr} |
0x0004336e ldr r3, [r0, 0x5c] | r3 = *(arg_24hx5c);
| if (r3 != 0) {
0x00043370 cbz r3, 0x43374 |
0x00043372 pop {r3, r4, r5, pc} |
| }
0x00043374 mov r4, r0 | r4 = r0;
0x00043376 add.w r5, r1, 0x40 | r5 = r1 + 0x40;
0x0004337a str r3, [r1, 0x40] | *((r1 + 0x40)) = r3;
0x0004337c mov r0, r5 | r0 = r5;
0x0004337e str r3, [r1, 0x44] | *((r1 + 0x44)) = r3;
0x00043380 str r3, [r1, 0x48] | *((r1 + 0x48)) = r3;
0x00043382 str r3, [r1, 0x4c] | *((r1 + 0x4c)) = r3;
0x00043384 str r3, [r1, 0x50] | *((r1 + 0x50)) = r3;
0x00043386 str r3, [r1, 0x54] | *((r1 + 0x54)) = r3;
0x00043388 ldr r1, [r4, 0x18] | r1 = *((r4 + 0x18));
0x0004338a blx 0x2046c | fcn_0002046c ();
0x0004338e mov r1, r5 | r1 = r5;
0x00043390 add.w r0, r4, 0x40 | r0 = r4 + 0x40;
0x00043394 pop.w {r3, r4, r5, lr} |
0x00043398 b.w 0x1faf4 | return void (*0x1faf4)() ();
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/libgstreamer-1.0.so.0.1803.0 @ 0x51d88 */
| #include <stdint.h>
|
; (fcn) fcn.00051d88 () | void fcn_00051d88 (int16_t arg_0h, uint32_t arg1) {
| int16_t var_0h;
| int16_t var_4h;
| int16_t var_8h;
| int16_t var_ch;
| int16_t var_14h;
| int16_t var_18h;
| int16_t var_48h;
| int16_t var_68h;
| int16_t var_84h;
| r0 = arg1;
0x00051d88 push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr} |
0x00051d8c mov r4, r0 | r4 = r0;
0x00051d8e ldr.w fp, [pc, 0x67c] |
0x00051d92 sub sp, 0x114 |
0x00051d94 add fp, pc | fp = 0xa41a6;
0x00051d96 cmp r0, 0 |
| if (arg_0h == ) {
0x00051d98 beq.w 0x51f70 | goto label_16;
| }
0x00051d9c mov r6, r1 | r6 = r1;
0x00051d9e mov r8, r2 | r8 = r2;
0x00051da0 cmp r1, 0 |
| if (r1 == 0) {
0x00051da2 beq.w 0x52142 | goto label_17;
| }
| label_4:
0x00051da6 ldr.w r7, [pc, 0x668] |
0x00051daa add r7, pc | r7 = 0xa41c0;
0x00051dac adds r7, 0xb4 | r7 += 0xb4;
0x00051dae mov r0, r7 | r0 = r7;
0x00051db0 blx 0x204ec | g_list_nth_data ();
0x00051db4 mov r1, r4 | r1 = r4;
0x00051db6 mov r0, r6 | r0 = r6;
0x00051db8 bl 0x5a21c | r0 = gst_registry_lookup ();
0x00051dbc mov r5, r0 | r5 = r0;
0x00051dbe cmp r0, 0 |
| if (r0 == 0) {
0x00051dc0 beq.w 0x51f94 | goto label_18;
| }
0x00051dc4 ldr.w r3, [r0, 0x84] | r3 = *((r0 + 0x84));
0x00051dc8 cmp r3, 0 |
| if (r3 != 0) {
0x00051dca bne.w 0x51f62 | goto label_19;
| }
0x00051dce str r3, [sp, 8] | var_8h = r3;
0x00051dd0 blx 0x20428 | r0 = fcn_00020428 ();
0x00051dd4 mov r7, r0 | r7 = r0;
0x00051dd6 cmp r0, 0 |
| if (r0 == 0) {
0x00051dd8 beq.w 0x51fa4 | goto label_20;
| }
| label_0:
0x00051ddc add r1, sp, 0x18 | r1 += var_18h;
0x00051dde mov r0, r4 | r0 = r4;
0x00051de0 blx 0x1fa94 | r0 = fcn_0001fa94 ();
0x00051de4 cmp r0, 0 |
| if (r0 != 0) {
0x00051de6 bne.w 0x52272 | goto label_21;
| }
0x00051dea ldr.w r1, [pc, 0x628] |
0x00051dee mov r0, r4 | r0 = r4;
0x00051df0 add r1, pc | r1 = 0xa420a;
0x00051df2 blx 0x20078 | r0 = g_date_get_day ();
0x00051df6 cmp r0, 0 |
0x00051df8 mov r0, r4 | r0 = r4;
0x00051dfa ite eq |
| if (r0 != 0) {
0x00051dfc moveq r1, 2 | r1 = 2;
| }
| if (r0 == 0) {
0x00051dfe movne r1, 3 | r1 = 3;
| }
0x00051e00 blx 0x20588 | r0 = g_date_valid ();
0x00051e04 mov sb, r0 | sb = r0;
0x00051e06 cmp r0, 0 |
| if (r0 == 0) {
0x00051e08 beq.w 0x5230c | goto label_22;
| }
0x00051e0c mov r0, r4 | r0 = r4;
0x00051e0e blx 0x1f3d8 | r0 = fcn_0001f3d8 ();
0x00051e12 ldrb r3, [r0] | r3 = *(r0);
0x00051e14 mov r7, r0 | r7 = r0;
0x00051e16 mov r2, r0 | r2 = r0;
0x00051e18 movs r1, 0x5f | r1 = 0x5f;
| if (r3 == 0) {
0x00051e1a cbz r3, 0x51e2a | goto label_23;
| }
| do {
0x00051e1c cmp r3, 0x2d |
0x00051e1e it eq |
| if (r3 != 0x2d) {
0x00051e20 strbeq r1, [r2] | *(r2) = r1;
| }
0x00051e22 ldrb r3, [r2, 1]! | r3 = *((r2 += 1));
0x00051e26 cmp r3, 0 |
0x00051e28 bne 0x51e1c |
| } while (r3 != 0);
| label_23:
0x00051e2a ldr.w r1, [pc, 0x5ec] |
0x00051e2e mov r0, r7 | r0 = r7;
0x00051e30 add r1, pc | r1 = 0xa424e;
0x00051e32 blx 0x20148 | r0 = fcn_00020148 ();
0x00051e36 cmp r0, 0 |
| if (r0 == 0) {
0x00051e38 beq.w 0x521c2 | goto label_24;
| }
0x00051e3c add.w sl, r7, 6 | sl = r7 + 6;
0x00051e40 movs r3, 6 | r3 = 6;
0x00051e42 str r3, [sp, 0xc] | var_ch = r3;
| label_12:
0x00051e44 movs r2, 0x2e | r2 = 0x2e;
0x00051e46 mov.w r1, -1 | r1 = -1;
0x00051e4a mov r0, r7 | r0 = r7;
0x00051e4c blx 0x1f2a4 | r0 = g_date_time_add ();
0x00051e50 cmp r0, 0 |
| if (r0 == 0) {
0x00051e52 beq.w 0x521ec | goto label_25;
| }
| label_7:
0x00051e56 ldr r3, [sp, 0xc] | r3 = var_ch;
0x00051e58 subs r0, r0, r7 | r0 -= r7;
0x00051e5a subs r1, r0, r3 | r1 = r0 - r3;
| label_8:
0x00051e5c mov r0, sl | r0 = sl;
0x00051e5e blx 0x1f890 | r0 = fcn_0001f890 ();
0x00051e62 mov sl, r0 | sl = r0;
0x00051e64 mov r0, r7 | r0 = r7;
0x00051e66 blx 0x1f14c | fcn_0001f14c ();
0x00051e68 ldrd pc, r8, [r2, -0x37c]! | __asm ("ldrd pc, r8, [r2, -0x37c]!");
0x00051e6c movs r5, 0xb0 | r5 = 0xb0;
0x00051e6e mov r1, sl | r1 = sl;
0x00051e70 ldr.w r0, [pc, 0x5ac] |
0x00051e74 movs r3, 0 | r3 = 0;
0x00051e76 add r2, pc | r2 += pc;
0x00051e78 add r0, pc | r0 = 0xa429c;
0x00051e7a blx 0x1f678 | r0 = fcn_0001f678 ();
0x00051e7e mov r7, r0 | r7 = r0;
0x00051e80 mov r0, sl | r0 = sl;
0x00051e82 add.w sl, sp, 0x14 | sl += var_14h;
0x00051e86 blx 0x1f14c | fcn_0001f14c ();
0x00051e8a mov r2, sl | r2 = sl;
0x00051e8c mov r1, r7 | r1 = r7;
0x00051e8e mov r0, sb | r0 = sb;
0x00051e90 blx 0x1ffdc | r0 = g_value_get_flags ();
0x00051e94 cmp r0, 0 |
| if (r0 == 0) {
0x00051e96 beq.w 0x52184 | goto label_26;
| }
0x00051e9a ldr r3, [sp, 0x14] | r3 = var_14h;
0x00051e9c blx r3 | uint32_t (*r3)(uint32_t) (r3);
0x00051e9e str r0, [sp, 0x14] | var_14h = r0;
0x00051ea0 mov r0, r7 | r0 = r7;
0x00051ea2 blx 0x1f14c | fcn_0001f14c ();
| label_5:
0x00051ea6 ldr.w r3, [pc, 0x57c] |
0x00051eaa ldr r7, [sp, 0x14] | r7 = var_14h;
0x00051eac add r3, pc | r3 = 0xa42d6;
0x00051eae ldr.w sl, [r3, 0xa8] | sl = *(0xa437e);
0x00051eb2 cmp.w sl, 0 |
| if (sl == 0) {
0x00051eb6 beq 0x51ed6 | goto label_27;
| }
0x00051eb8 ldr.w r2, [sl] | r2 = *(sl);
| if (r2 != 0) {
0x00051ebc cbnz r2, 0x51eca | goto label_28;
| }
0x00051ebe b 0x52250 | goto label_29;
| do {
0x00051ec0 ldr r2, [sl, 4]! | r2 = *((sl += 4));
0x00051ec4 cmp r2, 0 |
| if (r2 == 0) {
0x00051ec6 beq.w 0x52250 | goto label_29;
| }
| label_28:
0x00051eca mov r1, r4 | r1 = r4;
0x00051ecc mov r0, r7 | r0 = r7;
0x00051ece bl 0x51200 | r0 = fcn_00051200 (r0, r1, r2);
0x00051ed2 cmp r0, 0 |
0x00051ed4 beq 0x51ec0 |
| } while (r0 == 0);
| label_27:
0x00051ed6 ldr r3, [sp, 8] | r3 = var_8h;
0x00051ed8 cmp r3, 0 |
| if (r3 != 0) {
0x00051eda bne 0x51fbc | goto label_30;
| }
0x00051edc str.w sb, [r5, 0x84] | __asm ("str.w sb, [r5, 0x84]");
| label_9:
0x00051ee0 bl 0x261cc | r0 = gst_segtrap_is_enabled ();
| if (r0 != 0) {
0x00051ee4 cbz r0, 0x51f16 |
0x00051ee6 ldr.w sb, [pc, 0x540] |
0x00051eea add sb, pc | sb = 0xa4318;
0x00051eec ldr.w r1, [sb, 8] | r1 = *(0xa4320);
| if (r1 != 0) {
0x00051ef0 cbnz r1, 0x51f16 | goto label_31;
| }
0x00051ef2 movs r2, 0x88 | r2 = 0x88;
0x00051ef4 movs r3, 1 | r3 = 1;
0x00051ef6 add.w r0, sp, r2 | r0 = sp + r2;
0x00051efa str.w r3, [sb, 8] | __asm ("str.w r3, [sb, 8]");
0x00051efc adds r0, 8 | r0 += 8;
0x00051efe blx 0x1f724 | fsync ();
0x00051f02 ldr.w r3, [pc, 0x528] | r3 = *(0x0005242c);
0x00051f06 add.w r2, sb, 0xc | r2 = sb + 0xc;
0x00051f0a add r1, sp, 0x84 | r1 += var_84h;
0x00051f0c movs r0, 0xb | r0 = 0xb;
0x00051f0e add r3, pc | r3 += pc;
0x00051f10 str r3, [sp, 0x84] | var_84h = r3;
0x00051f12 blx 0x20254 | fcn_00020254 ();
| }
| label_31:
0x00051f16 mov r1, r7 | r1 = r7;
0x00051f18 ldr.w r7, [pc, 0x514] |
0x00051f1c ldr r3, [r5, 0x7c] | r3 = *((r5 + 0x7c));
0x00051f1e movs r2, 0 | r2 = 0;
0x00051f20 mov r0, r5 | r0 = r5;
0x00051f22 add r7, pc | r7 = 0xa4356;
0x00051f24 str.w r3, [r7, 0x98] | __asm ("str.w r3, [r7, 0x98]");
0x00051f28 bl 0x51350 | fcn_00051350 (r0, r1, r2, r3);
0x00051f2c ldr r3, [r7, 8] | r3 = *(0xa435e);
0x00051f2e cmp r0, 0 |
| if (r0 == 0) {
0x00051f30 beq.w 0x52348 | goto label_32;
| }
0x00051f34 cmp r3, 0 |
| if (r3 != 0) {
0x00051f36 bne.w 0x52042 | goto label_33;
| }
| label_1:
0x00051f3a ldr.w r3, [pc, 0x4f8] |
0x00051f3e movs r2, 0 | r2 = 0;
0x00051f40 add r3, pc | r3 = 0xa437a;
0x00051f42 str.w r2, [r3, 0x98] | __asm ("str.w r2, [r3, 0x98]");
0x00051f46 ldr r3, [sp, 8] | r3 = var_8h;
0x00051f48 cmp r3, 0 |
| if (r3 != 0) {
0x00051f4a bne.w 0x52052 | goto label_34;
| }
| label_2:
0x00051f4e ldr.w r0, [pc, 0x4e8] |
0x00051f52 add r0, pc | r0 = 0xa4390;
0x00051f54 adds r0, 0xb4 | r0 += 0xb4;
0x00051f56 blx 0x1fbec | g_key_file_to_data ();
0x00051f5a mov r0, r5 | r0 = r5;
0x00051f5c add sp, 0x114 |
0x00051f5e pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc} |
| label_19:
0x00051f62 mov r0, r7 | r0 = r7;
0x00051f64 blx 0x1fbec | g_key_file_to_data ();
0x00051f68 mov r0, r5 | r0 = r5;
0x00051f6a add sp, 0x114 |
0x00051f6c pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc} |
| label_16:
0x00051f70 ldr.w r1, [pc, 0x4c8] |
0x00051f74 mov r5, r0 | r5 = r0;
0x00051f76 ldr.w r3, [pc, 0x4c8] | r3 = *(0x52442);
0x00051f7a ldr.w r2, [pc, 0x4c8] |
0x00051f7e add r1, pc | r1 = 0xa43be;
0x00051f80 ldr.w r0, [fp, r3] | r0 = *((fp + r3));
0x00051f84 adds r1, 0x88 | r1 += 0x88;
0x00051f86 add r2, pc | r2 = 0xa43d0;
0x00051f88 blx 0x1fdd0 | fcn_0001fdd0 ();
0x00051f8c mov r0, r5 | r0 = r5;
0x00051f8e add sp, 0x114 |
0x00051f90 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc} |
0x00051f92 ldrh r0, [r6, 0x3e] | r0 = *((r6 + 0x3e));
| label_18:
0x00051f94 movs r3, 1 | r3 = 1;
0x00051f96 str r3, [sp, 8] | var_8h = r3;
0x00051f98 blx 0x20428 | r0 = fcn_00020428 ();
0x00051f9c mov r7, r0 | r7 = r0;
0x00051f9e cmp r0, 0 |
| if (r0 != 0) {
0x00051fa0 bne.w 0x51ddc | goto label_0;
| }
| label_20:
0x00051fa4 bl 0x518d4 | gst_plugin_error_quark ();
0x00051fa8 ldr.w r3, [pc, 0x49c] |
0x00051fac mov r1, r0 | r1 = r0;
0x00051fae mov r2, r7 | r2 = r7;
0x00051fb0 mov r0, r8 | r0 = r8;
0x00051fb2 add r3, pc | r3 = 0xa43fe;
0x00051fb4 blx 0x1fe70 | fcn_0001fe70 ();
| if (r5 == 0) {
0x00051fb8 cbz r5, 0x5202c | goto label_6;
| }
0x00051fba b 0x52026 | goto label_3;
| label_30:
0x00051fbc bl 0x51890 | gst_plugin_get_type ();
0x00051fc0 movs r1, 0 | r1 = 0;
0x00051fc2 blx 0x1f970 | g_mapped_file_get_length ();
0x00051fc4 vldmia r6, {d25, d26, d27, d28, d29, d30, d31} | __asm ("vldmia r6, {d25, d26, d27, d28, d29, d30, d31}");
0x00051fc8 mov r5, r0 | r5 = r0;
0x00051fca str.w r3, [r0, 0x90] | __asm ("str.w r3, [r0, 0x90]");
0x00051fce mov r0, r4 | r0 = r4;
0x00051fd0 ldrd r2, r3, [sp, 0x48] | __asm ("ldrd r2, r3, [var_48h]");
0x00051fd4 strd r2, r3, [r5, 0x88] | __asm ("strd r2, r3, [r5, 0x88]");
0x00051fd8 blx 0x1f560 | fcn_0001f560 ();
0x00051fdc str r0, [r5, 0x7c] | *((r5 + 0x7c)) = r0;
0x00051fde mov r0, r4 | r0 = r4;
0x00051fe0 blx 0x1f3d8 | fcn_0001f3d8 ();
0x00051fe4 strd r0, sb, [r5, 0x80] | __asm ("strd r0, sb, [r5, 0x80]");
0x00051fe8 ldr r3, [r7, 8] | r3 = *((r7 + 8));
| if (r3 != 0) {
0x00051fea cbz r3, 0x51ff0 |
0x00051fec ldrb r1, [r3] | r1 = *(r3);
| if (r1 != 0) {
0x00051fee cbnz r1, 0x52062 | goto label_35;
| }
| }
0x00051ff0 ldr.w r6, [pc, 0x458] |
0x00051ff4 movs r1, 0x10 | r1 = 0x10;
0x00051ff6 ldr.w r3, [pc, 0x448] | r3 = *(0x52442);
0x00051ffa ldr.w r2, [pc, 0x454] |
0x00051ffe add r6, pc | r6 = 0xa444e;
0x00052000 ldr.w r0, [fp, r3] | r0 = *((fp + r3));
0x00052004 mov r3, r4 | r3 = r4;
0x00052006 add r2, pc | r2 = 0xa445c;
0x00052008 str r6, [sp] | *(sp) = r6;
0x0005200a blx 0x20930 | g_param_spec_ref ();
0x0005200e bl 0x518d4 | gst_plugin_error_quark ();
0x00052012 ldr.w r3, [pc, 0x440] |
0x00052016 mov r1, r0 | r1 = r0;
0x00052018 movs r2, 0 | r2 = 0;
0x0005201a mov r0, r8 | r0 = r8;
0x0005201c str r6, [sp, 4] | var_4h = r6;
0x0005201e add r3, pc | r3 = 0xa4478;
0x00052020 str r4, [sp] | *(sp) = r4;
0x00052022 blx 0x1fe70 | fcn_0001fe70 ();
| do {
| label_3:
0x00052026 mov r0, r5 | r0 = r5;
0x00052028 bl 0x26570 | gst_object_unref ();
| label_6:
0x0005202c ldr.w r0, [pc, 0x428] |
0x00052030 movs r5, 0 | r5 = 0;
0x00052032 add r0, pc | r0 = 0xa448e;
0x00052034 adds r0, 0xb4 | r0 += 0xb4;
0x00052036 blx 0x1fbec | g_key_file_to_data ();
0x0005203a mov r0, r5 | r0 = r5;
0x0005203c add sp, 0x114 |
0x0005203e pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc} |
| label_33:
0x00052042 movs r2, 0 | r2 = 0;
0x00052044 add.w r1, r7, 0xc | r1 = r7 + 0xc;
0x00052048 movs r0, 0xb | r0 = 0xb;
0x0005204a str r2, [r7, 8] | *((r7 + 8)) = r2;
0x0005204c blx 0x20254 | fcn_00020254 ();
0x00052050 b 0x51f3a | goto label_1;
| label_34:
0x00052052 mov r0, r5 | r0 = r5;
0x00052054 bl 0x26538 | gst_object_ref ();
0x00052058 mov r1, r5 | r1 = r5;
0x0005205a mov r0, r6 | r0 = r6;
0x0005205c bl 0x595a0 | gst_registry_add_plugin ();
0x00052060 b 0x51f4e | goto label_2;
| label_35:
0x00052062 ldr r2, [r7, 0xc] | r2 = *((r7 + 0xc));
| if (r2 != 0) {
0x00052064 cbz r2, 0x5206a |
0x00052066 ldrb r2, [r2] | r2 = *(r2);
| if (r2 != 0) {
0x00052068 cbnz r2, 0x5209a | goto label_36;
| }
| }
0x0005206a ldr r6, [pc, 0x3f0] |
0x0005206c movs r1, 0x10 | r1 = 0x10;
0x0005206e ldr r3, [pc, 0x3d0] | r3 = *(0x52442);
0x00052070 ldr r2, [pc, 0x3ec] |
0x00052072 add r6, pc | r6 = 0xa44d4;
0x00052074 ldr.w r0, [fp, r3] | r0 = *((fp + r3));
0x00052078 mov r3, r4 | r3 = r4;
0x0005207a add r2, pc | r2 = 0xa44de;
0x0005207c str r6, [sp] | *(sp) = r6;
0x0005207e blx 0x20930 | g_param_spec_ref ();
0x00052082 bl 0x518d4 | gst_plugin_error_quark ();
0x00052086 ldr r3, [pc, 0x3dc] |
0x00052088 mov r1, r0 | r1 = r0;
0x0005208a movs r2, 0 | r2 = 0;
0x0005208c mov r0, r8 | r0 = r8;
0x0005208e str r6, [sp, 4] | var_4h = r6;
0x00052090 add r3, pc | r3 = 0xa44fa;
0x00052092 str r4, [sp] | *(sp) = r4;
0x00052094 blx 0x1fe70 | fcn_0001fe70 ();
0x00052098 b 0x52026 |
| } while (1);
| label_36:
0x0005209a ldr r2, [r7, 0x14] | r2 = *((r7 + 0x14));
| if (r2 != 0) {
0x0005209c cbz r2, 0x520a2 |
0x0005209e ldrb r2, [r2] | r2 = *(r2);
| if (r2 != 0) {
0x000520a0 cbnz r2, 0x520d2 | goto label_37;
| }
| }
0x000520a2 ldr r6, [pc, 0x3c4] |
0x000520a4 movs r1, 0x10 | r1 = 0x10;
0x000520a6 ldr r3, [pc, 0x398] | r3 = *(0x52442);
0x000520a8 ldr r2, [pc, 0x3c0] |
0x000520aa add r6, pc | r6 = 0xa4518;
0x000520ac ldr.w r0, [fp, r3] | r0 = *((fp + r3));
0x000520b0 mov r3, r4 | r3 = r4;
0x000520b2 add r2, pc | r2 = 0xa4522;
0x000520b4 str r6, [sp] | *(sp) = r6;
0x000520b6 blx 0x20930 | g_param_spec_ref ();
0x000520ba bl 0x518d4 | gst_plugin_error_quark ();
0x000520be ldr r3, [pc, 0x3b0] |
0x000520c0 mov r1, r0 | r1 = r0;
0x000520c2 movs r2, 0 | r2 = 0;
0x000520c4 mov r0, r8 | r0 = r8;
0x000520c6 str r6, [sp, 4] | var_4h = r6;
0x000520c8 add r3, pc | r3 = 0xa453e;
0x000520ca str r4, [sp] | *(sp) = r4;
0x000520cc blx 0x1fe70 | fcn_0001fe70 ();
0x000520d0 b 0x52026 | goto label_3;
| label_37:
0x000520d2 ldr r2, [r7, 0x18] | r2 = *((r7 + 0x18));
| if (r2 != 0) {
0x000520d4 cbz r2, 0x520da |
0x000520d6 ldrb r2, [r2] | r2 = *(r2);
| if (r2 != 0) {
0x000520d8 cbnz r2, 0x5210a | goto label_38;
| }
| }
0x000520da ldr r6, [pc, 0x398] |
0x000520dc movs r1, 0x10 | r1 = 0x10;
0x000520de ldr r3, [pc, 0x360] | r3 = *(0x52442);
0x000520e0 ldr r2, [pc, 0x394] |
0x000520e2 add r6, pc | r6 = 0xa455c;
0x000520e4 ldr.w r0, [fp, r3] | r0 = *((fp + r3));
0x000520e8 mov r3, r4 | r3 = r4;
0x000520ea add r2, pc | r2 = 0xa4566;
0x000520ec str r6, [sp] | *(sp) = r6;
0x000520ee blx 0x20930 | g_param_spec_ref ();
0x000520f2 bl 0x518d4 | gst_plugin_error_quark ();
0x000520f6 ldr r3, [pc, 0x384] |
0x000520f8 mov r1, r0 | r1 = r0;
0x000520fa movs r2, 0 | r2 = 0;
0x000520fc mov r0, r8 | r0 = r8;
0x000520fe str r6, [sp, 4] | var_4h = r6;
0x00052100 add r3, pc | r3 = 0xa4582;
0x00052102 str r4, [sp] | *(sp) = r4;
0x00052104 blx 0x1fe70 | fcn_0001fe70 ();
0x00052108 b 0x52026 | goto label_3;
| label_38:
0x0005210a ldr r2, [r7, 0x1c] | r2 = *((r7 + 0x1c));
| if (r2 != 0) {
0x0005210c cbz r2, 0x52112 |
0x0005210e ldrb r2, [r2] | r2 = *(r2);
| if (r2 != 0) {
0x00052110 cbnz r2, 0x5214a | goto label_39;
| }
| }
0x00052112 ldr r6, [pc, 0x36c] |
0x00052114 movs r1, 0x10 | r1 = 0x10;
0x00052116 ldr r3, [pc, 0x328] | r3 = *(0x52442);
0x00052118 ldr r2, [pc, 0x368] |
0x0005211a add r6, pc | r6 = 0xa45a0;
0x0005211c ldr.w r0, [fp, r3] | r0 = *((fp + r3));
0x00052120 mov r3, r4 | r3 = r4;
0x00052122 add r2, pc | r2 = 0xa45aa;
0x00052124 str r6, [sp] | *(sp) = r6;
0x00052126 blx 0x20930 | g_param_spec_ref ();
0x0005212a bl 0x518d4 | gst_plugin_error_quark ();
0x0005212e ldr r3, [pc, 0x358] |
0x00052130 mov r1, r0 | r1 = r0;
0x00052132 movs r2, 0 | r2 = 0;
0x00052134 mov r0, r8 | r0 = r8;
0x00052136 str r6, [sp, 4] | var_4h = r6;
0x00052138 add r3, pc | r3 = 0xa45c6;
0x0005213a str r4, [sp] | *(sp) = r4;
0x0005213c blx 0x1fe70 | fcn_0001fe70 ();
0x00052140 b 0x52026 | goto label_3;
| label_17:
0x00052142 bl 0x59564 | r0 = gst_registry_get ();
0x00052146 mov r6, r0 | r6 = r0;
0x00052148 b 0x51da6 | goto label_4;
| label_39:
0x0005214a ldr r2, [r7, 0x20] | r2 = *((r7 + 0x20));
| if (r2 != 0) {
0x0005214c cbz r2, 0x52154 |
0x0005214e ldrb r2, [r2] | r2 = *(r2);
0x00052150 cmp r2, 0 |
| if (r2 != 0) {
0x00052152 bne 0x521f6 | goto label_40;
| }
| }
0x00052154 ldr r6, [pc, 0x334] |
0x00052156 movs r1, 0x10 | r1 = 0x10;
0x00052158 ldr r3, [pc, 0x2e4] | r3 = *(0x52440);
0x0005215a ldr r2, [pc, 0x334] |
0x0005215c add r6, pc | r6 = 0xa45ec;
0x0005215e ldr.w r0, [fp, r3] | r0 = *((fp + r3));
0x00052162 mov r3, r4 | r3 = r4;
0x00052164 add r2, pc | r2 = 0xa45fa;
0x00052166 str r6, [sp] | *(sp) = r6;
0x00052168 blx 0x20930 | g_param_spec_ref ();
0x0005216c bl 0x518d4 | gst_plugin_error_quark ();
0x00052170 ldr r3, [pc, 0x320] |
0x00052172 mov r1, r0 | r1 = r0;
0x00052174 movs r2, 0 | r2 = 0;
0x00052176 mov r0, r8 | r0 = r8;
0x00052178 str r6, [sp, 4] | var_4h = r6;
0x0005217a add r3, pc | r3 = 0xa4612;
0x0005217c str r4, [sp] | *(sp) = r4;
0x0005217e blx 0x1fe70 | fcn_0001fe70 ();
0x00052182 b 0x52026 | goto label_3;
| label_26:
0x00052184 ldr r1, [pc, 0x310] |
0x00052186 mov r2, sl | r2 = sl;
0x00052188 mov r0, sb | r0 = sb;
0x0005218a add r1, pc | r1 = 0xa4626;
0x0005218c blx 0x1ffdc | r0 = g_value_get_flags ();
0x00052190 mov sl, r0 | sl = r0;
0x00052192 mov r0, r7 | r0 = r7;
0x00052194 blx 0x1f14c | fcn_0001f14c ();
0x00052198 cmp.w sl, 0 |
| if (sl != 0) {
0x0005219c bne.w 0x51ea6 | goto label_5;
| }
0x000521a0 bl 0x518d4 | gst_plugin_error_quark ();
0x000521a4 ldr r3, [pc, 0x2f4] |
0x000521a6 mov r1, r0 | r1 = r0;
0x000521a8 mov r2, sl | r2 = sl;
0x000521aa mov r0, r8 | r0 = r8;
0x000521ac str r4, [sp] | *(sp) = r4;
0x000521ae add r3, pc | r3 = 0xa464e;
0x000521b0 blx 0x1fe70 | fcn_0001fe70 ();
0x000521b4 mov r0, sb | r0 = sb;
0x000521b6 blx 0x1f5ec | g_list_foreach ();
0x000521ba cmp r5, 0 |
| if (r5 == 0) {
0x000521bc beq.w 0x5202c | goto label_6;
| }
0x000521c0 b 0x52026 | goto label_3;
| label_24:
0x000521c2 ldr r1, [pc, 0x2dc] |
0x000521c4 mov r0, r7 | r0 = r7;
0x000521c6 add r1, pc | r1 = 0xa466c;
0x000521c8 blx 0x20148 | r0 = fcn_00020148 ();
0x000521cc cmp r0, 0 |
| if (r0 == 0) {
0x000521ce beq.w 0x522f6 | goto label_41;
| }
| label_11:
0x000521d2 movs r3, 3 | r3 = 3;
0x000521d4 movs r2, 0x2e | r2 = 0x2e;
0x000521d6 mov.w r1, -1 | r1 = -1;
0x000521da mov r0, r7 | r0 = r7;
0x000521dc add.w sl, r7, 3 | sl = r7 + 3;
0x000521e0 str r3, [sp, 0xc] | var_ch = r3;
0x000521e2 blx 0x1f2a4 | r0 = g_date_time_add ();
0x000521e6 cmp r0, 0 |
| if (r0 != 0) {
0x000521e8 bne.w 0x51e56 | goto label_7;
| }
| label_25:
0x000521ec mov r0, sl | r0 = sl;
0x000521ee blx 0x1fc4c | r0 = g_param_value_validate ();
0x000521f2 mov r1, r0 | r1 = r0;
0x000521f4 b 0x51e5c | goto label_8;
| label_40:
0x000521f6 ldr r2, [r7, 0x24] | r2 = *((r7 + 0x24));
0x000521f8 cmp r2, 0 |
| if (r2 == 0) {
0x000521fa beq 0x5229e | goto label_42;
| }
0x000521fc ldrb r2, [r2] | r2 = *(r2);
0x000521fe cmp r2, 0 |
| if (r2 == 0) {
0x00052200 beq 0x5229e | goto label_42;
| }
0x00052202 cmp r1, 0x22 |
| if (r1 == 0x22) {
0x00052204 beq.w 0x5236e | goto label_43;
| }
| label_13:
0x00052208 ldr r0, [r7, 0x28] | r0 = *((r7 + 0x28));
0x0005220a cmp r0, 0 |
| if (r0 == 0) {
0x0005220c beq.w 0x51ee0 | goto label_9;
| }
0x00052210 ldr r3, [pc, 0x290] |
0x00052212 str r0, [sp, 0x84] | var_84h = r0;
0x00052214 ldrb r2, [r0] | r2 = *(r0);
0x00052216 ldr.w r3, [fp, r3] | r3 = *((fp + r3));
0x0005221a ldr r3, [r3] | r3 = *(0x524a4);
0x0005221c ldrh.w r3, [r3, r2, lsl 1] | offset_0 = r2 << 1;
| r3 = *((r3 + offset_0));
0x00052220 lsls r3, r3, 0x1c | r3 <<= 0x1c;
| if (r3 < r3) {
0x00052222 bmi 0x522ce | goto label_44;
| }
| label_10:
0x00052224 ldr r3, [pc, 0x218] | r3 = *(0x52440);
0x00052226 movs r1, 0x10 | r1 = 0x10;
0x00052228 ldr.w r2, [fp, r3] | r2 = *((fp + r3));
0x0005222c mov r3, r4 | r3 = r4;
0x0005222e str r0, [sp] | *(sp) = r0;
0x00052230 mov r0, r2 | r0 = r2;
0x00052232 ldr r2, [pc, 0x274] |
0x00052234 add r2, pc | r2 = 0xa46e2;
0x00052236 blx 0x20930 | g_param_spec_ref ();
0x0005223a bl 0x518d4 | gst_plugin_error_quark ();
0x0005223e ldr r3, [pc, 0x26c] |
0x00052240 mov r1, r0 | r1 = r0;
0x00052242 movs r2, 0 | r2 = 0;
0x00052244 mov r0, r8 | r0 = r8;
0x00052246 str r4, [sp] | *(sp) = r4;
0x00052248 add r3, pc | r3 = 0xa46fa;
0x0005224a blx 0x1fe70 | fcn_0001fe70 ();
0x0005224e b 0x52026 | goto label_3;
| label_29:
0x00052250 bl 0x518d4 | gst_plugin_error_quark ();
0x00052254 ldr r3, [pc, 0x258] |
0x00052256 mov r1, r0 | r1 = r0;
0x00052258 movs r2, 0 | r2 = 0;
0x0005225a mov r0, r8 | r0 = r8;
0x0005225c str r4, [sp] | *(sp) = r4;
0x0005225e add r3, pc | r3 = 0xa4712;
0x00052260 blx 0x1fe70 | fcn_0001fe70 ();
0x00052264 mov r0, sb | r0 = sb;
0x00052266 blx 0x1f5ec | g_list_foreach ();
0x0005226a cmp r5, 0 |
| if (r5 == 0) {
0x0005226c beq.w 0x5202c | goto label_6;
| }
0x00052270 b 0x52026 | goto label_3;
| label_21:
0x00052272 bl 0x518d4 | r0 = gst_plugin_error_quark ();
0x00052276 mov r6, r0 | r6 = r0;
0x00052278 blx 0x209a0 | r0 = fcn_000209a0 ();
0x0005227c ldr r0, [r0] | r0 = *(r0);
0x0005227e blx 0x205a0 | r0 = g_value_take_object ();
0x00052282 mov r3, r0 | r3 = r0;
0x00052284 mov r1, r6 | r1 = r6;
0x00052286 str r3, [sp, 4] | var_4h = r3;
0x00052288 mov r0, r8 | r0 = r8;
0x0005228a ldr r3, [pc, 0x228] |
0x0005228c movs r2, 0 | r2 = 0;
0x0005228e str r4, [sp] | *(sp) = r4;
0x00052290 add r3, pc | r3 = 0xa474a;
0x00052292 blx 0x1fe70 | fcn_0001fe70 ();
0x00052296 cmp r5, 0 |
| if (r5 == 0) {
0x00052298 beq.w 0x5202c | goto label_6;
| }
0x0005229a add r6, sp, 0x320 | r6 = sp + 0x320;
0x0005229c b 0x52026 | goto label_3;
| label_42:
0x0005229e ldr r6, [pc, 0x218] |
0x000522a0 movs r1, 0x10 | r1 = 0x10;
0x000522a2 ldr r3, [pc, 0x19c] | r3 = *(0x52442);
0x000522a4 ldr r2, [pc, 0x214] |
0x000522a6 add r6, pc | r6 = 0xa4764;
0x000522a8 ldr.w r0, [fp, r3] | r0 = *((fp + r3));
0x000522ac mov r3, r4 | r3 = r4;
0x000522ae add r2, pc | r2 = 0xa476e;
0x000522b0 str r6, [sp] | *(sp) = r6;
0x000522b2 blx 0x20930 | g_param_spec_ref ();
0x000522b6 bl 0x518d4 | gst_plugin_error_quark ();
0x000522ba ldr r3, [pc, 0x204] |
0x000522bc mov r1, r0 | r1 = r0;
0x000522be movs r2, 0 | r2 = 0;
0x000522c0 mov r0, r8 | r0 = r8;
0x000522c2 str r6, [sp, 4] | var_4h = r6;
0x000522c4 add r3, pc | r3 = 0xa478a;
0x000522c6 str r4, [sp] | *(sp) = r4;
0x000522c8 blx 0x1fe70 | fcn_0001fe70 ();
0x000522cc b 0x52026 | goto label_3;
| label_44:
0x000522ce add.w sb, sp, 0x84 | sb += var_84h;
0x000522d2 movs r2, 0xa | r2 = 0xa;
0x000522d4 mov r1, sb | r1 = sb;
0x000522d6 blx 0x1fdb4 | r0 = g_set_error ();
0x000522da subs.w r0, r0, 0x7d0 | r0 -= 0x7d0;
0x000522de sbc r1, r1, 0 | __asm ("sbc r1, r1, 0");
0x000522e2 cmp r0, 0x65 |
0x000522e4 sbcs r1, r1, 0 | __asm ("sbcs r1, r1, 0");
| if (r0 < 0x65) {
0x000522e8 bhs 0x522f2 |
0x000522ea ldr r0, [sp, 0x84] | r0 = var_84h;
0x000522ec ldrb r3, [r0] | r3 = *(r0);
0x000522ee cmp r3, 0x2d |
| if (r3 == 0x2d) {
0x000522f0 beq 0x52380 | goto label_45;
| }
| }
| label_14:
0x000522f2 ldr r0, [r7, 0x28] | r0 = *((r7 + 0x28));
0x000522f4 b 0x52224 | goto label_10;
| label_41:
0x000522f6 ldr r1, [pc, 0x1cc] |
0x000522f8 mov r0, r7 | r0 = r7;
0x000522fa add r1, pc | r1 = 0xa47c4;
0x000522fc blx 0x20148 | r0 = fcn_00020148 ();
0x00052300 cmp r0, 0 |
| if (r0 != 0) {
0x00052302 bne.w 0x521d2 | goto label_11;
| }
0x00052306 mov sl, r7 | sl = r7;
0x00052308 str r0, [sp, 0xc] | var_ch = r0;
0x0005230a b 0x51e44 | goto label_12;
| label_22:
0x0005230c bl 0x518d4 | r0 = gst_plugin_error_quark ();
0x00052310 mov r6, r0 | r6 = r0;
0x00052312 blx 0x20644 | fcn_00020644 ();
0x00052316 ldr r3, [pc, 0x1b0] |
0x00052318 mov r2, sb | r2 = sb;
0x0005231a mov r1, r6 | r1 = r6;
0x0005231c str r0, [sp] | *(sp) = r0;
0x0005231e mov r0, r8 | r0 = r8;
0x00052320 add r3, pc | r3 = 0xa47ee;
0x00052322 blx 0x1fe70 | fcn_0001fe70 ();
0x00052326 blx 0x20644 | fcn_00020644 ();
0x0005232a ldr r2, [pc, 0x114] | r2 = *(0x52442);
0x0005232c mov r3, r4 | r3 = r4;
0x0005232e ldr.w r1, [fp, r2] | r1 = *((fp + r2));
0x00052332 ldr r2, [pc, 0x198] |
0x00052334 str r0, [sp] | *(sp) = r0;
0x00052336 mov r0, r1 | r0 = r1;
0x00052338 movs r1, 0x10 | r1 = 0x10;
0x0005233a add r2, pc | r2 = 0xa480c;
0x0005233c blx 0x20930 | g_param_spec_ref ();
0x00052340 cmp r5, 0 |
| if (r5 == 0) {
0x00052342 beq.w 0x5202c | goto label_6;
| }
0x00052346 b 0x52026 | goto label_3;
| if (r3 != 0) {
| label_32:
0x00052348 cbz r3, 0x52358 |
0x0005234a mov r2, r0 | r2 = r0;
0x0005234c str r0, [r7, 8] | *((r7 + 8)) = r0;
0x0005234e add.w r1, r7, 0xc | r1 = r7 + 0xc;
0x00052352 movs r0, 0xb | r0 = 0xb;
0x00052354 blx 0x20254 | fcn_00020254 ();
| }
0x00052358 bl 0x518d4 | gst_plugin_error_quark ();
0x0005235c ldr r3, [pc, 0x170] |
0x0005235e mov r1, r0 | r1 = r0;
0x00052360 movs r2, 0 | r2 = 0;
0x00052362 mov r0, r8 | r0 = r8;
0x00052364 str r4, [sp] | *(sp) = r4;
0x00052366 add r3, pc | r3 = 0xa483a;
0x00052368 blx 0x1fe70 | fcn_0001fe70 ();
0x0005236a stc p6, c14, [r2, 0x16c] | __asm ("stc p6, c14, [r2, 0x16c]");
| label_43:
0x0005236e ldr r2, [pc, 0xd0] | r2 = *(0x52442);
0x00052370 movs r1, 0x10 | r1 = 0x10;
0x00052372 ldr.w r0, [fp, r2] | r0 = *((fp + r2));
0x00052374 movs r2, r0 | r2 = r0;
0x00052376 ldr r2, [pc, 0x15c] |
0x00052378 add r2, pc | r2 = 0xa4852;
0x0005237a blx 0x20930 | g_param_spec_ref ();
0x0005237e b 0x52208 | goto label_13;
| label_45:
0x00052380 movs r2, 0xa | r2 = 0xa;
0x00052382 adds r0, 1 | r0++;
0x00052384 mov r1, sb | r1 = sb;
0x00052386 blx 0x1fdb4 | r0 = g_set_error ();
0x0005238a subs r3, r0, 1 | r3 = r0 - 1;
0x0005238c sbc r2, r1, 0 | __asm ("sbc r2, r1, 0");
0x0005238e lsls r0, r0, 8 | r0 <<= 8;
0x00052390 cmp r3, 0xc |
0x00052392 sbcs r2, r2, 0 | __asm ("sbcs r2, r2, 0");
| if (r3 >= 0xc) {
0x00052396 bhs 0x522f2 | goto label_14;
| }
0x00052398 ldr r0, [sp, 0x84] | r0 = var_84h;
0x0005239a ldrb r3, [r0] | r3 = *(r0);
0x0005239c cmp r3, 0x2d |
| if (r3 != 0x2d) {
0x0005239e bne 0x522f2 | goto label_14;
| }
0x000523a0 movs r2, 0xa | r2 = 0xa;
0x000523a2 adds r0, 1 | r0++;
0x000523a4 mov r1, sb | r1 = sb;
0x000523a6 blx 0x1fdb4 | r0 = g_set_error ();
0x000523aa subs r3, r0, 1 | r3 = r0 - 1;
0x000523ac sbc r2, r1, 0 | __asm ("sbc r2, r1, 0");
0x000523b0 cmp r3, 0x20 |
0x000523b2 sbcs r2, r2, 0 | __asm ("sbcs r2, r2, 0");
| if (r3 >= 0x20) {
0x000523b6 bhs 0x522f2 | goto label_14;
| }
0x000523b8 ldr r0, [sp, 0x84] | r0 = var_84h;
0x000523ba ldrb r3, [r0] | r3 = *(r0);
0x000523bc cmp r3, 0x20 |
0x000523be it ne |
| if (r3 != 0x20) {
0x000523c0 cmpne r3, 0x54 | __asm ("cmpne r3, 0x54");
| }
| if (r3 == 0x20) {
0x000523c2 beq 0x523ce | goto label_46;
| }
| label_15:
0x000523c4 ldrb r3, [r0] | r3 = *(r0);
0x000523c6 cmp r3, 0 |
| if (r3 == 0) {
0x000523c8 beq.w 0x51ee0 | goto label_9;
| }
0x000523cc b 0x522f2 | goto label_14;
| label_46:
0x000523ce adds r0, 1 | r0++;
0x000523d0 movs r2, 0xa | r2 = 0xa;
0x000523d2 mov r1, sb | r1 = sb;
0x000523d4 blx 0x1fdb4 | r0 = g_set_error ();
0x000523d8 cmp r0, 0x19 |
0x000523da sbcs r1, r1, 0 | __asm ("sbcs r1, r1, 0");
| if (r0 >= 0x19) {
0x000523de bhs 0x522f2 | goto label_14;
| }
0x000523e0 ldr r0, [sp, 0x84] | r0 = var_84h;
0x000523e2 ldrb r3, [r0] | r3 = *(r0);
0x000523e4 cmp r3, 0x3a |
| if (r3 != 0x3a) {
0x000523e6 bne 0x522f2 | goto label_14;
| }
0x000523e8 mov r1, sb | r1 = sb;
0x000523ea adds r0, 1 | r0++;
0x000523ec movs r2, 0xa | r2 = 0xa;
0x000523ee blx 0x1fdb4 | r0 = g_set_error ();
0x000523f2 cmp r0, 0x3c |
0x000523f4 sbcs r1, r1, 0 | __asm ("sbcs r1, r1, 0");
| if (r0 >= 0x3c) {
0x000523f8 bhs.w 0x522f2 | goto label_14;
| }
0x000523fc ldr r0, [sp, 0x84] | r0 = var_84h;
0x000523fe ldrb r3, [r0] | r3 = *(r0);
0x00052400 cmp r3, 0x5a |
| if (r3 != 0x5a) {
0x00052402 bne.w 0x522f2 | goto label_14;
| }
0x00052406 adds r0, 1 | r0++;
0x00052408 str r0, [sp, 0x84] | var_84h = r0;
0x0005240a b 0x523c4 | goto label_15;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/libgstreamer-1.0.so.0.1803.0 @ 0x34ad0 */
| #include <stdint.h>
|
| #define BIT_MASK(t,v) ((t)(-((v)!= 0)))&(((t)-1)>>((sizeof(t)*CHAR_BIT)-(v)))
|
; (fcn) sym.gst_child_proxy_get_valist () | void gst_child_proxy_get_valist (int16_t arg_1ch, int16_t arg1, int16_t arg2, int16_t arg3) {
| int16_t var_1h;
| int16_t var_0h;
| int16_t var_4h;
| int16_t var_8h;
| int16_t var_ch;
| int16_t var_10h;
| int16_t var_14h;
| int16_t var_18h;
| int32_t var_4h_2;
| int32_t var_4h_3;
| int32_t var_ch_2;
| int32_t var_ch_3;
| int32_t var_14h_2;
| int16_t var_30h;
| r0 = arg1;
| r1 = arg2;
| r2 = arg3;
0x00034ad0 push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr} |
0x00034ad4 sub sp, 0x74 |
0x00034ad6 movs r3, 0 | r3 = 0;
0x00034ad8 add r5, sp, 0x18 | r5 += var_18h;
0x00034ada mov r7, r0 | r7 = r0;
0x00034adc mov fp, r1 |
0x00034ade str r3, [sp, 0x18] | var_18h = r3;
0x00034ae0 mov r4, r2 | r4 = r2;
0x00034ae2 strd r3, r3, [r5, 4] | __asm ("strd r3, r3, [var_4h_2]");
0x00034ae6 strd r3, r3, [r5, 0xc] | __asm ("strd r3, r3, [var_ch_2]");
0x00034aea str r3, [r5, 0x14] | var_14h_2 = r3;
0x00034aec bl 0x3472c | gst_child_proxy_get_type ();
0x00034af0 ldr r3, [pc, 0x1a4] |
0x00034af2 add r3, pc | r3 = 0x6978e;
0x00034af4 str r3, [sp, 8] | var_8h = r3;
0x00034af6 cmp r7, 0 |
| if (r7 == 0) {
0x00034af8 beq 0x34b8e | goto label_5;
| }
0x00034afa ldr r3, [r7] | r3 = *(r7);
0x00034afc mov r1, r0 | r1 = r0;
| if (r3 != 0) {
0x00034afe cbz r3, 0x34b06 |
0x00034b00 ldr r3, [r3] | r3 = *(r3);
0x00034b02 cmp r3, r0 |
| if (r3 == r0) {
0x00034b04 beq 0x34b10 | goto label_6;
| }
| }
0x00034b06 mov r0, r7 | r0 = r7;
0x00034b08 blx 0x20050 | r0 = fcn_00020050 ();
0x00034b0c cmp r0, 0 |
| if (r0 == 0) {
0x00034b0e beq 0x34b8e | goto label_5;
| }
| label_6:
0x00034b10 cmp.w fp, 0 |
| if (fp == 0) {
0x00034b14 beq 0x34ba2 | goto label_0;
| }
0x00034b16 add.w sb, sp, 0x10 | sb += var_10h;
0x00034b1a add.w r8, sp, 0x14 | r8 += var_14h;
0x00034b1e mov r3, sb | r3 = sb;
0x00034b20 mov r2, r8 | r2 = r8;
0x00034b22 mov r1, fp | r1 = fp;
0x00034b24 mov r0, r7 | r0 = r7;
0x00034b26 add r6, sp, 0x30 | r6 += var_30h;
0x00034b28 bl 0x348c0 | r0 = gst_child_proxy_lookup ();
0x00034b2c cmp r0, 0 |
| if (r0 == 0) {
0x00034b2e beq 0x34be8 | goto label_7;
| }
| label_1:
0x00034b30 ldr r3, [sp, 0x10] | r3 = var_10h;
0x00034b32 mov r0, r5 | r0 = r5;
0x00034b34 ldr r1, [r3, 0xc] | r1 = *((r3 + 0xc));
0x00034b36 blx 0x2046c | fcn_0002046c ();
0x00034b3a ldr r3, [sp, 0x10] | r3 = var_10h;
0x00034b3c mov r2, r5 | r2 = r5;
0x00034b3e ldr r0, [sp, 0x14] | r0 = var_14h;
0x00034b40 ldr r1, [r3, 4] | r1 = *((r3 + 4));
0x00034b42 blx 0x1f604 | g_list_free ();
0x00034b46 ldr r0, [sp, 0x14] | r0 = var_14h;
0x00034b48 bl 0x26570 | gst_object_unref ();
0x00034b4c ldr r0, [sp, 0x18] | r0 = var_18h;
0x00034b4e blx 0x1f348 | fcn_0001f348 ();
0x00034b52 ldr.w sl, [r0, 0x18] | sl = *((r0 + 0x18));
0x00034b56 movs r2, 0x40 | r2 = 0x40;
0x00034b58 mov fp, r0 |
0x00034b5a movs r1, 0 | r1 = 0;
0x00034b5c mov r0, r6 | r0 = r6;
0x00034b5e blx 0x1f724 | fsync ();
0x00034b62 ldrb.w r2, [sl] | r2 = *(sl);
0x00034b66 cmp r2, 0 |
| if (r2 == 0) {
0x00034b68 beq 0x34c40 | goto label_8;
| }
0x00034b6a mov r3, sl | r3 = sl;
0x00034b6c mov r0, r6 | r0 = r6;
0x00034b6e rsb.w ip, sl, 1 |
| do {
0x00034b72 subs r2, 0x64 | r2 -= 0x64;
0x00034b74 add.w r1, ip, r3 | r1 = ip + r3;
0x00034b78 cmp r2, 0xd |
| if (r2 > 0xd) {
0x00034b7a bhi 0x34c30 | goto label_9;
| }
| /* switch table (13 cases) at 0x34b80 */
0x00034b7c tbb [pc, r2] | __asm ("tbb [0x00034b84]");
| label_5:
0x00034b8e ldr r1, [pc, 0x10c] |
0x00034b90 ldr r3, [pc, 0x10c] | r3 = *(0x34ca0);
0x00034b92 ldr r2, [pc, 0x110] |
0x00034b94 ldr r0, [sp, 8] | r0 = var_8h;
0x00034b96 add r1, pc | r1 = 0x69838;
0x00034b98 adds r1, 0xa4 | r1 += 0xa4;
0x00034b9a add r2, pc | r2 = 0x69844;
0x00034b9c ldr r0, [r0, r3] | r0 = *((r0 + r3));
0x00034b9e blx 0x1fdd0 | fcn_0001fdd0 ();
| label_0:
0x00034ba2 add sp, 0x74 |
0x00034ba4 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc} |
0x00034ba8 ldr r2, [r4], 4 | r2 = *(r4);
| r4 += 4;
0x00034bac str r2, [r0] | *(r0) = r2;
| label_2:
0x00034bae ldrb r2, [r3, 1]! | r2 = *((r3 += 1));
0x00034bb2 adds r0, 8 | r0 += 8;
0x00034bb4 cmp r2, 0 |
0x00034bb6 bne 0x34b72 |
| } while (r2 != 0);
| label_3:
0x00034bb8 ldr.w fp, [fp, 0x1c] | fp = *(arg_1ch);
0x00034bbc movs r3, 0 | r3 = 0;
0x00034bbe mov r2, r6 | r2 = r6;
0x00034bc0 mov r0, r5 | r0 = r5;
0x00034bc2 blx fp | r0 = fp (r0, r2, r3);
0x00034bc4 cmp r0, 0 |
| if (r0 != 0) {
0x00034bc6 bne 0x34c44 | goto label_10;
| }
0x00034bc8 mov r0, r5 | r0 = r5;
0x00034bca blx 0x1f1d8 | g_source_set_priority ();
0x00034bce ldr fp, [r4], 4 | fp = *(r4);
| r4 += 4;
0x00034bd2 cmp.w fp, 0 |
0x00034bd4 lsrs r0, r0, 0x1c | r0 >>= 0x1c;
| if (r0 == r0) {
0x00034bd6 beq 0x34ba2 | goto label_0;
| }
0x00034bd8 mov r3, sb | r3 = sb;
0x00034bda mov r2, r8 | r2 = r8;
0x00034bdc mov r1, fp | r1 = fp;
0x00034bde mov r0, r7 | r0 = r7;
0x00034be0 bl 0x348c0 | r0 = gst_child_proxy_lookup ();
0x00034be4 cmp r0, 0 |
| if (r0 != 0) {
0x00034be6 bne 0x34b30 | goto label_1;
| }
| label_7:
0x00034be8 bl 0x263f0 | gst_object_get_type ();
0x00034bec ldr r3, [r7] | r3 = *(r7);
0x00034bee mov r1, r0 | r1 = r0;
| if (r3 != 0) {
0x00034bf0 cbz r3, 0x34bf8 |
0x00034bf2 ldr r3, [r3] | r3 = *(r3);
0x00034bf4 cmp r3, r0 |
| if (r3 == r0) {
0x00034bf6 beq 0x34c8e | goto label_11;
| }
| }
0x00034bf8 mov r0, r7 | r0 = r7;
0x00034bfa blx 0x20050 | r0 = fcn_00020050 ();
0x00034bfe cmp r0, 0 |
| if (r0 != 0) {
0x00034c00 bne 0x34c8e | goto label_11;
| }
0x00034c02 ldr r4, [pc, 0xa4] |
0x00034c04 add r4, pc | r4 = 0x698b2;
| do {
0x00034c06 ldr r0, [sp, 8] | r0 = var_8h;
0x00034c08 mov r3, fp | r3 = fp;
0x00034c0a ldr r1, [pc, 0x94] | r1 = *(0x34ca2);
0x00034c0c ldr r2, [pc, 0x9c] |
0x00034c0e ldr r0, [r0, r1] | r0 = *((r0 + r1));
0x00034c10 movs r1, 0x10 | r1 = 0x10;
0x00034c12 add r2, pc | r2 = 0x698c2;
0x00034c14 str r4, [sp] | *(sp) = r4;
0x00034c16 blx 0x20930 | g_param_spec_ref ();
0x00034c1a add sp, 0x74 |
0x00034c1c pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc} |
0x00034c20 adds r4, 7 | r4 += 7;
0x00034c22 bic r4, r4, 7 | r4 = BIT_MASK (r4, 7);
0x00034c26 vldmia r4!, {d16} | __asm ("vldmia r4!, {d16}");
0x00034c2a vstr d16, [r0] | __asm ("vstr d16, [r0]");
0x00034c2e b 0x34bae | goto label_2;
| label_9:
0x00034c30 adds r4, 7 | r4 += 7;
0x00034c32 bic r4, r4, 7 | r4 = BIT_MASK (r4, 7);
0x00034c36 vldmia r4!, {d16} | __asm ("vldmia r4!, {d16}");
0x00034c3a vstr d16, [r0] | __asm ("vstr d16, [r0]");
0x00034c3e b 0x34bae | goto label_2;
| label_8:
0x00034c40 mov r1, r2 | r1 = r2;
0x00034c42 b 0x34bb8 | goto label_3;
| label_10:
0x00034c44 ldr r3, [sp, 0x10] | r3 = var_10h;
0x00034c46 str r0, [sp, 0xc] | var_ch = r0;
0x00034c48 ldr r4, [r3, 4] | r4 = *((r3 + 4));
0x00034c4a bl 0x263f0 | r0 = gst_object_get_type ();
0x00034c4e mov r1, r0 | r1 = r0;
0x00034c50 ldr r0, [r7] | r0 = *(r7);
0x00034c52 ldr r2, [sp, 0xc] | r2 = var_ch;
| if (r0 != 0) {
0x00034c54 cbz r0, 0x34c5c |
0x00034c56 ldr r3, [r0] | r3 = *(r0);
0x00034c58 cmp r3, r1 |
| if (r3 == r1) {
0x00034c5a beq 0x34c92 | goto label_12;
| }
| }
0x00034c5c mov r0, r7 | r0 = r7;
0x00034c5e str r2, [sp, 0xc] | var_ch = r2;
0x00034c60 blx 0x20050 | fcn_00020050 ();
0x00034c64 ldr r2, [sp, 0xc] | r2 = var_ch;
| if (r0 != 0) {
0x00034c66 cbnz r0, 0x34c92 | goto label_12;
| }
0x00034c68 ldr r6, [pc, 0x44] |
0x00034c6a add r6, pc | r6 = 0x6991e;
| label_4:
0x00034c6c ldr r0, [sp, 8] | r0 = var_8h;
0x00034c6e mov r3, r4 | r3 = r4;
0x00034c70 ldr r1, [pc, 0x2c] | r1 = *(0x34ca0);
0x00034c72 ldr r0, [r0, r1] | r0 = *((r0 + r1));
0x00034c74 movs r1, 0x10 | r1 = 0x10;
0x00034c76 str r2, [sp, 4] | var_4h = r2;
0x00034c78 ldr r2, [pc, 0x38] |
0x00034c7a str r6, [sp] | *(sp) = r6;
0x00034c7c add r2, pc | r2 = 0x69934;
0x00034c7e blx 0x20930 | g_param_spec_ref ();
0x00034c82 mov r0, r5 | r0 = r5;
0x00034c84 blx 0x1f1d8 | g_source_set_priority ();
0x00034c88 add sp, 0x74 |
0x00034c8a pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc} |
| label_11:
0x00034c8e ldr r4, [r7, 0x14] | r4 = *((r7 + 0x14));
0x00034c90 b 0x34c06 |
| } while (1);
| label_12:
0x00034c92 ldr r6, [r7, 0x14] | r6 = *((r7 + 0x14));
0x00034c94 b 0x34c6c | goto label_4;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/libgstreamer-1.0.so.0.1803.0 @ 0x48e10 */
| #include <stdint.h>
|
; (fcn) sym.gst_mini_object_get_qdata () | void gst_mini_object_get_qdata (int16_t arg1, int16_t arg2) {
| r0 = arg1;
| r1 = arg2;
0x00048e10 push {r3, r4, r5, lr} |
0x00048e12 mov r4, r0 | r4 = r0;
0x00048e14 ldr r3, [pc, 0x84] |
0x00048e16 add r3, pc | r3 = 0x91cb6;
| if (r0 == 0) {
0x00048e18 cbz r0, 0x48e7c | goto label_0;
| }
0x00048e1a mov r5, r1 | r5 = r1;
| if (r1 == 0) {
0x00048e1c cbz r1, 0x48e64 | goto label_1;
| }
0x00048e1e ldr r0, [pc, 0x80] |
0x00048e20 add r0, pc | r0 = 0x91cc6;
0x00048e22 adds r0, 4 | r0 += 4;
0x00048e24 blx 0x204ec | g_list_nth_data ();
0x00048e28 dmb ish | __asm ("dmb ish");
0x00048e2c ldr r3, [r4, 0x1c] | r3 = *((r4 + 0x1c));
0x00048e2e dmb ish | __asm ("dmb ish");
0x00048e32 cmp r3, 3 |
| if (r3 != 3) {
0x00048e34 bne 0x48e50 | goto label_2;
| }
0x00048e36 ldr r3, [r4, 0x20] | r3 = *((r4 + 0x20));
0x00048e38 ldr r4, [r3, 0x10] | r4 = *((r3 + 0x10));
| if (r4 == 0) {
0x00048e3a cbz r4, 0x48e96 | goto label_3;
| }
0x00048e3c ldr r2, [r3, 0x18] | r2 = *((r3 + 0x18));
0x00048e3e movs r3, 0 | r3 = 0;
| do {
0x00048e40 ldr r1, [r2] | r1 = *(r2);
0x00048e42 adds r3, 1 | r3++;
0x00048e44 cmp r5, r1 |
| if (r5 == r1) {
0x00048e46 beq 0x48e54 | goto label_4;
| }
0x00048e48 cmp r3, r4 |
0x00048e4a add.w r2, r2, 0x10 | r2 += 0x10;
0x00048e4e bne 0x48e40 |
| } while (r3 != r4);
| label_2:
0x00048e50 movs r5, 0 | r5 = 0;
0x00048e52 b 0x48e56 | goto label_5;
| label_4:
0x00048e54 ldr r5, [r2, 8] | r5 = *((r2 + 8));
| do {
| label_5:
0x00048e56 ldr r0, [pc, 0x4c] |
0x00048e58 add r0, pc | r0 = 0x91d02;
0x00048e5a adds r0, 4 | r0 += 4;
0x00048e5c blx 0x1fbec | g_key_file_to_data ();
0x00048e60 mov r0, r5 | r0 = r5;
0x00048e62 pop {r3, r4, r5, pc} |
| label_1:
0x00048e64 ldr r1, [pc, 0x40] |
0x00048e66 ldr r0, [pc, 0x44] | r0 = *(0x48eae);
0x00048e68 ldr r2, [pc, 0x44] |
0x00048e6a add r1, pc |
0x00048e6c ldr r0, [r3, r0] | r0 = *((r3 + r0));
0x00048e6e add.w r1, r1, 0x15c | r1 = 0x91e72;
0x00048e72 add r2, pc | r2 = 0x91d26;
0x00048e74 blx 0x1fdd0 | fcn_0001fdd0 ();
0x00048e78 mov r0, r5 | r0 = r5;
0x00048e7a pop {r3, r4, r5, pc} |
| label_0:
0x00048e7c ldr r1, [pc, 0x34] |
0x00048e7e mov r5, r4 | r5 = r4;
0x00048e80 ldr r0, [pc, 0x28] | r0 = *(0x48eac);
0x00048e82 ldr r2, [pc, 0x34] |
0x00048e84 add r1, pc |
0x00048e86 ldr r0, [r3, r0] | r0 = *((r3 + r0));
0x00048e88 add.w r1, r1, 0x15c | r1 = 0x91e98;
0x00048e8c add r2, pc | r2 = 0x91d4a;
0x00048e8e blx 0x1fdd0 | fcn_0001fdd0 ();
0x00048e92 mov r0, r5 | r0 = r5;
0x00048e94 pop {r3, r4, r5, pc} |
| label_3:
0x00048e96 mov r5, r4 | r5 = r4;
0x00048e98 b 0x48e56 |
| } while (1);
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/libgstreamer-1.0.so.0.1803.0 @ 0x618e4 */
| #include <stdint.h>
|
; (fcn) sym.gst_structure_id_get_valist () | void gst_structure_id_get_valist (int16_t arg1, int16_t arg2, int16_t arg3) {
| int16_t var_0h;
| int16_t var_ch;
| int16_t var_10h;
| int16_t var_18h;
| r0 = arg1;
| r1 = arg2;
| r2 = arg3;
0x000618e4 push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr} |
0x000618e8 sub sp, 0x54 |
0x000618ea ldr.w sl, [pc, 0x124] |
0x000618ee add sl, pc | sl = 0xc3304;
| if (r0 != 0) {
0x000618f0 cbz r0, 0x61906 |
0x000618f2 mov r4, r2 | r4 = r2;
0x000618f4 ldr r2, [pc, 0x11c] |
0x000618f6 mov fp, r1 |
0x000618f8 ldr r1, [r0] | r1 = *(r0);
0x000618fa mov sb, r0 | sb = r0;
0x000618fc ldr.w r2, [sl, r2] | r2 = *((sl + r2));
0x00061900 ldr r2, [r2] | r2 = *(0x61a14);
0x00061902 cmp r1, r2 |
| if (r1 == r2) {
0x00061904 beq 0x61924 | goto label_4;
| }
| }
0x00061906 ldr r1, [pc, 0x110] |
0x00061908 ldr r3, [pc, 0x110] | r3 = *(0x61a1c);
0x0006190a ldr r2, [pc, 0x114] |
0x0006190c add r1, pc |
0x0006190e ldr.w r0, [sl, r3] | r0 = *((sl + r3));
0x00061912 add.w r1, r1, 0x700 | r1 = 0xc3a2a;
0x00061916 add r2, pc | r2 = 0xc333c;
0x00061918 blx 0x1fdd0 | fcn_0001fdd0 ();
| do {
| label_0:
0x0006191c movs r0, 0 | r0 = 0;
0x0006191e add sp, 0x54 |
0x00061920 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc} |
| label_4:
0x00061924 cmp.w fp, 0 |
| if (fp == 0) {
0x00061928 beq 0x619a2 | goto label_5;
| }
0x0006192a ldr r3, [pc, 0xf8] |
0x0006192c add r6, sp, 0x10 | r6 += var_10h;
0x0006192e add r3, pc | r3 = 0xc3358;
0x00061930 str r3, [sp, 0xc] | var_ch = r3;
| label_1:
0x00061932 mov r1, fp | r1 = fp;
0x00061934 mov r0, sb | r0 = sb;
0x00061936 ldr r5, [r4], 4 | r5 = *(r4);
| r4 += 4;
0x0006193a bl 0x5f968 | r0 = gst_structure_id_get_value ();
0x0006193e mov r7, r0 | r7 = r0;
0x00061940 cmp r0, 0 |
0x00061942 beq 0x6191c |
| } while (r0 == 0);
0x00061944 ldr r0, [r0] | r0 = *(r0);
0x00061946 cmp r0, r5 |
| if (r0 != r5) {
0x00061948 bne 0x6191c | goto label_0;
| }
0x0006194a blx 0x1f348 | fcn_0001f348 ();
0x0006194e ldr r5, [r0, 0x18] | r5 = *((r0 + 0x18));
0x00061950 movs r2, 0x40 | r2 = 0x40;
0x00061952 mov r8, r0 | r8 = r0;
0x00061954 movs r1, 0 | r1 = 0;
0x00061956 mov r0, r6 | r0 = r6;
0x00061958 blx 0x1f724 | fsync ();
0x0006195c ldrb r2, [r5] | r2 = *(r5);
| if (r2 == 0) {
0x0006195e cbz r2, 0x61990 | goto label_3;
| }
0x00061960 movs r1, 0 | r1 = 0;
| do {
0x00061962 ldr r0, [r4], 4 | r0 = *(r4);
| r4 += 4;
0x00061966 adds r1, 1 | r1++;
0x00061968 add.w r2, r6, r1, lsl 3 | r2 = r6 + (r1 << 3);
0x0006196c str r0, [r2, -0x8] | *((r2 - 0x8)) = r0;
0x00061970 ldrb r2, [r5, 1]! | r2 = *((r5 += 1));
0x00061974 cmp r2, 0 |
0x00061976 bne 0x61962 |
| } while (r2 != 0);
0x00061978 cmp r1, 2 |
0x0006197a ldr r0, [sp, 0x10] | r0 = var_10h;
| if (r1 == 2) {
0x0006197c beq 0x619c0 | goto label_6;
| }
| if (r0 != 0) {
| label_2:
0x0006197e cbz r0, 0x61990 |
0x00061980 ldr.w r5, [r8, 0x1c] | r5 = *((r8 + 0x1c));
0x00061984 movs r3, 0 | r3 = 0;
0x00061986 mov r2, r6 | r2 = r6;
0x00061988 mov r0, r7 | r0 = r7;
0x0006198a blx r5 | r0 = uint32_t (*r5)(uint32_t, uint32_t, uint32_t) (r0, r2, r3);
0x0006198c mov r5, r0 | r5 = r0;
| if (r5 != 0) {
0x0006198e cbnz r5, 0x619e6 | goto label_7;
| }
| }
| label_3:
0x00061990 ldr fp, [r4], 4 | fp = *(r4);
| r4 += 4;
0x00061994 cmp.w fp, 0 |
| if (fp != 0) {
0x00061998 bne 0x61932 | goto label_1;
| }
0x0006199a movs r0, 1 | r0 = 1;
0x0006199c add sp, 0x54 |
0x0006199e pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc} |
| label_5:
0x000619a2 ldr r1, [pc, 0x84] |
0x000619a4 ldr r0, [pc, 0x74] | r0 = *(0x61a1c);
0x000619a6 ldr r2, [pc, 0x84] |
0x000619a8 add r1, pc |
0x000619aa ldr.w r0, [sl, r0] | r0 = *((sl + r0));
0x000619ae add.w r1, r1, 0x700 | r1 = 0xc3ad6;
0x000619b2 add r2, pc | r2 = 0xc33e4;
0x000619b4 blx 0x1fdd0 | fcn_0001fdd0 ();
0x000619b8 mov r0, fp | r0 = fp;
0x000619ba add sp, 0x54 |
0x000619bc pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc} |
| label_6:
0x000619c0 ldr r2, [sp, 0x18] | r2 = var_18h;
0x000619c2 subs r2, 0 |
0x000619c4 it ne |
| if (r2 == 0) {
0x000619c6 movne r2, 1 | r2 = 1;
| }
0x000619c8 subs r5, r0, 0 | r5 = r0 - 0;
0x000619ca it ne |
| if (r5 == r0) {
0x000619cc movne r5, 1 | r5 = 1;
| }
0x000619ce cmp r5, r2 |
| if (r5 == r2) {
0x000619d0 beq 0x6197e | goto label_2;
| }
0x000619d2 mov r0, fp | r0 = fp;
0x000619d4 blx 0x208a0 | r0 = g_value_set_static_string ();
0x000619d8 mov r1, r0 | r1 = r0;
0x000619da ldr r0, [sp, 0xc] | r0 = var_ch;
0x000619dc blx 0x1fa64 | r0 = fcn_0001fa64 ();
0x000619e0 mov r5, r0 | r5 = r0;
0x000619e2 cmp r5, 0 |
| if (r5 == 0) {
0x000619e4 beq 0x61990 | goto label_3;
| }
| label_7:
0x000619e6 ldr r3, [pc, 0x48] |
0x000619e8 ldr r1, [pc, 0x30] | r1 = *(0x61a1c);
0x000619ea ldr r2, [pc, 0x48] |
0x000619ec add r3, pc |
0x000619ee ldr.w r0, [sl, r1] | r0 = *((sl + r1));
0x000619f2 add.w r3, r3, 0x700 | r3 = 0xc3b22;
0x000619f6 add r2, pc | r2 = 0xc3430;
0x000619f8 movs r1, 0x10 | r1 = 0x10;
0x000619fa str r5, [sp] | *(sp) = r5;
0x000619fc blx 0x20930 | g_param_spec_ref ();
0x00061a00 mov r0, r5 | r0 = r5;
0x00061a02 blx 0x1f14c | fcn_0001f14c ();
0x00061a06 movs r0, 0 | r0 = 0;
0x00061a08 add sp, 0x54 |
0x00061a0a pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc} |
| }
[*] Function strcpy used 1 times libgstreamer-1.0.so.0.1803.0