[*] Binary protection state of image2d
Full RELRO Canary found NX disabled PIE enabled No RPATH No RUNPATH No Symbols
[*] Function mmap tear down of image2d
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/image2d @ 0xebb08 */
| #include <stdint.h>
|
; (fcn) sym.platform_init_for_stream () | void platform_init_for_stream () {
0x000ebb08 lui gp, 0x16 |
0x000ebb0c addiu gp, gp, 0x37c8 |
0x000ebb10 addu gp, gp, t9 | gp += t9;
0x000ebb14 addiu sp, sp, -0x70 |
0x000ebb18 sw gp, 0x20(sp) | *(var_20h) = gp;
0x000ebb1c sw ra, 0x6c(sp) | *(var_6ch) = ra;
0x000ebb20 sw fp, 0x68(sp) | *(var_68h) = fp;
0x000ebb24 sw s7, 0x64(sp) | *(var_64h) = s7;
0x000ebb28 sw s6, 0x60(sp) | *(var_60h) = s6;
0x000ebb2c sw s5, 0x5c(sp) | *(var_5ch) = s5;
0x000ebb30 sw s4, 0x58(sp) | *(var_58h) = s4;
0x000ebb34 sw s3, 0x54(sp) | *(var_54h) = s3;
0x000ebb38 sw s2, 0x50(sp) | *(var_50h) = s2;
0x000ebb3c sw s1, 0x4c(sp) | *(var_4ch) = s1;
0x000ebb40 sw s0, 0x48(sp) | *(var_48h) = s0;
0x000ebb44 lw t9, -0x6048(gp) | t9 = sym.imp.g_malloc0;
| if (a1 == 0) {
0x000ebb48 beqz a1, 0xec800 | goto label_15;
| }
0x000ebb4c lw v0, (a1) | v0 = *(a1);
0x000ebb50 sw a3, 0x44(sp) | *(var_44h) = a3;
0x000ebb54 addiu a0, zero, 0x10e4 | a0 = 0x10e4;
0x000ebb58 sw v0, 0x40(sp) | *(var_40h) = v0;
0x000ebb5c move s0, a2 | s0 = a2;
0x000ebb60 jalr t9 | t9 ();
0x000ebb64 lw gp, 0x20(sp) | gp = *(var_20h);
0x000ebb68 move a0, v0 | a0 = v0;
0x000ebb6c sw v0, 0x3c(sp) | *(var_3ch) = v0;
0x000ebb70 lw t9, -0x703c(gp) | t9 = sym.platform_common_init;
0x000ebb74 move fp, v0 | fp = v0;
0x000ebb78 bal 0x10b188 | sym_platform_common_init ();
0x000ebb7c addiu a0, zero, -0xff | a0 = -0xff;
0x000ebb80 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != a0) {
0x000ebb84 bne v0, a0, 0xebff4 | goto label_16;
| }
0x000ebb88 lw t9, -0x6048(gp) | t9 = sym.imp.g_malloc0;
0x000ebb8c addiu a0, zero, 0x48 | a0 = 0x48;
0x000ebb90 jalr t9 | t9 ();
0x000ebb94 sw v0, 0x3c(fp) | *(arg_3ch) = v0;
0x000ebb98 lw gp, 0x20(sp) | gp = *(var_20h);
0x000ebb9c sw s0, 0xb4(fp) | *(arg_b4h) = s0;
| if (s0 <= 0) {
0x000ebba0 blez s0, 0xebd40 | goto label_17;
| }
0x000ebba4 lw v0, -0x7054(gp) | v0 = *(gp);
0x000ebba8 lw s4, -0x7054(gp) | s4 = *(gp);
0x000ebbac sw v0, 0x2c(sp) | *(var_2ch) = v0;
0x000ebbb0 lw v0, -0x7da8(gp) | v0 = *(gp);
0x000ebbb4 lw s7, -0x7038(gp) | s7 = sym.platform_get_stat;
0x000ebbb8 addiu v0, v0, -0x77c | v0 += -aav.0x0000077c;
0x000ebbbc sw v0, 0x30(sp) | *(var_30h) = v0;
0x000ebbc0 lw v0, -0x7da8(gp) | v0 = *(gp);
0x000ebbc4 lw s6, 0x40(sp) | s6 = *(var_40h);
| /* str._s_dev_cam_d */
0x000ebbc8 addiu v0, v0, 0x1900 | v0 += 0x1900;
0x000ebbcc sw v0, 0x34(sp) | *(var_34h) = v0;
0x000ebbd0 lw v0, -0x7da8(gp) | v0 = *(gp);
0x000ebbd4 move s2, zero | s2 = 0;
| /* str.stat_fd_d */
0x000ebbd8 addiu v0, v0, 0x1910 | v0 += 0x1910;
0x000ebbdc move s5, zero | s5 = 0;
0x000ebbe0 addiu s4, s4, -0x7d44 | s4 += -aav.0x00007d44;
0x000ebbe4 addiu s3, zero, 0x12c | s3 = aav.0x0000012c;
0x000ebbe8 sw v0, 0x38(sp) | *(var_38h) = v0;
| label_0:
0x000ebbec sll v0, s5, 8 | v0 = s5 << 8;
0x000ebbf0 slti a0, v0, 0 | a0 = (v0 < 0) ? 1 : 0;
| if (a0 == 0) {
0x000ebbf4 movn v0, zero, a0 | v0 = 0;
| }
0x000ebbf8 ext a1, v0, 8, 8 | __asm ("ext a1, v0, 8, 8");
0x000ebbfc mul v1, a1, s3 | __asm ("mul v1, a1, s3");
0x000ebc00 move a0, s6 | a0 = s6;
0x000ebc04 addiu t4, s6, 0x50 | t4 = s6 + 0x50;
0x000ebc08 addu v0, v1, fp | v0 = v1 + fp;
0x000ebc0c addiu v0, v0, 0xbc | v0 += 0xbc;
| do {
0x000ebc10 lw t3, (a0) | t3 = *(a0);
0x000ebc14 lw t2, 4(a0) | t2 = *((a0 + 1));
0x000ebc18 lw a3, 8(a0) | a3 = *((a0 + 2));
0x000ebc1c lw a2, 0xc(a0) | a2 = *((a0 + 3));
0x000ebc20 addiu a0, a0, 0x10 | a0 += 0x10;
0x000ebc24 sw t3, (v0) | *(v0) = t3;
0x000ebc28 sw t2, 4(v0) | *(var_4h) = t2;
0x000ebc2c sw a3, 8(v0) | *(var_8h) = a3;
0x000ebc30 sw a2, 0xc(v0) | *(var_ch) = a2;
0x000ebc34 addiu v0, v0, 0x10 | v0 += 0x10;
0x000ebc38 bne a0, t4, 0xebc10 |
| } while (a0 != t4);
0x000ebc3c mul v1, a1, s3 | __asm ("mul v1, a1, s3");
0x000ebc40 lw t3, (a0) | t3 = *(a0);
0x000ebc44 lw t2, 4(a0) | t2 = *((a0 + 1));
0x000ebc48 lw a0, 8(a0) | a0 = *((a0 + 2));
0x000ebc4c lw t9, -0x5dc4(gp) | t9 = *(gp);
0x000ebc50 addu a3, v1, fp | a3 = v1 + fp;
0x000ebc54 sw t3, (v0) | *(v0) = t3;
0x000ebc58 sw t2, 4(v0) | *(var_4h_2) = t2;
0x000ebc5c sw a0, 8(v0) | *(var_8h_2) = a0;
0x000ebc60 lw a1, 0x30(sp) | a1 = *(var_30h);
0x000ebc64 lw a0, 0x34(sp) | a0 = *(var_34h);
0x000ebc68 addiu v0, zero, 0x10 | v0 = 0x10;
0x000ebc6c move a2, s5 | a2 = s5;
0x000ebc70 sw v0, 0xd8(a3) | *(var_d8h) = v0;
0x000ebc74 jalr t9 | t9 ();
0x000ebc78 lw gp, 0x20(sp) | gp = *(var_20h);
0x000ebc7c lw a0, 0x38(sp) | a0 = *(var_38h);
0x000ebc80 move a1, s5 | a1 = s5;
0x000ebc84 lw t9, -0x5dc4(gp) | t9 = *(gp);
0x000ebc88 move s1, v0 | s1 = v0;
0x000ebc8c jalr t9 | t9 ();
0x000ebc90 lw gp, 0x20(sp) | gp = *(var_20h);
0x000ebc94 move s0, v0 | s0 = v0;
0x000ebc98 lw v0, 0x2c(sp) | v0 = *(var_2ch);
0x000ebc9c lw t9, -0x7034(gp) | t9 = sym.platform_create_input_source;
0x000ebca0 addiu a3, v0, -0x7ce0 | a3 = v0 + -aav.0x00007ce0;
0x000ebca4 move a2, zero | a2 = 0;
0x000ebca8 move a1, s0 | a1 = s0;
0x000ebcac move a0, fp | a0 = fp;
0x000ebcb0 sw s1, 0x1c(sp) | *(var_1ch) = s1;
0x000ebcb4 sw zero, 0x18(sp) | *(var_18h) = 0;
0x000ebcb8 sw s7, 0x14(sp) | *(var_14h) = s7;
0x000ebcbc sw s4, 0x10(sp) | *(var_10h) = s4;
0x000ebcc0 bal 0x10b8a4 | sym_platform_create_input_source ();
0x000ebcc4 lw gp, 0x20(sp) | gp = *(var_20h);
0x000ebcc8 sw v0, 0x28(sp) | *(var_28h) = v0;
0x000ebccc lw t9, -0x5b98(gp) | t9 = *((gp - 5862));
0x000ebcd0 move a0, s1 | a0 = s1;
0x000ebcd4 jalr t9 | t9 ();
0x000ebcd8 lw v0, 0x28(sp) | v0 = *(var_28h);
0x000ebcdc lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x000ebce0 beqz v0, 0xebfe0 | goto label_18;
| }
0x000ebce4 lw t9, -0x7030(gp) | t9 = sym.platform_attach_input_source;
0x000ebce8 move a1, v0 | a1 = v0;
0x000ebcec move a0, fp | a0 = fp;
0x000ebcf0 bal 0x10b974 | sym_platform_attach_input_source ();
0x000ebcf4 lw gp, 0x20(sp) | gp = *(var_20h);
0x000ebcf8 move a1, s0 | a1 = s0;
0x000ebcfc move a0, fp | a0 = fp;
0x000ebd00 lw t9, -0x702c(gp) | t9 = sym.platform_get_fd_from_input_source;
0x000ebd04 lw s1, 0x3c(fp) | s1 = *(arg_3ch);
0x000ebd08 bal 0x10bad8 | sym_platform_get_fd_from_input_source ();
0x000ebd0c lw gp, 0x20(sp) | gp = *(var_20h);
0x000ebd10 addu s1, s1, s2 | s1 += s2;
0x000ebd14 move a0, s0 | a0 = s0;
0x000ebd18 lw t9, -0x5b98(gp) | t9 = *((gp - 5862));
0x000ebd1c sw v0, (s1) | *(s1) = v0;
0x000ebd20 jalr t9 | t9 ();
0x000ebd24 lw v0, 0xb4(fp) | v0 = *(arg_b4h);
0x000ebd28 addiu s5, s5, 1 | s5++;
0x000ebd2c slt v0, s5, v0 | v0 = (s5 < v0) ? 1 : 0;
0x000ebd30 lw gp, 0x20(sp) | gp = *(var_20h);
0x000ebd34 addiu s6, s6, 0x5c | s6 += 0x5c;
0x000ebd38 addiu s2, s2, 0xc | s2 += 0xc;
| if (v0 != 0) {
0x000ebd3c bnez v0, 0xebbec | goto label_0;
| }
| label_17:
0x000ebd40 lw t9, -0x5e14(gp) | t9 = sym.imp.g_hash_table_new;
0x000ebd44 move a1, zero | a1 = 0;
0x000ebd48 move a0, zero | a0 = 0;
0x000ebd4c jalr t9 | t9 ();
0x000ebd50 lw gp, 0x20(sp) | gp = *(var_20h);
0x000ebd54 move a1, zero | a1 = 0;
0x000ebd58 move a0, zero | a0 = 0;
0x000ebd5c lw t9, -0x5e14(gp) | t9 = sym.imp.g_hash_table_new;
0x000ebd60 sw v0, 0xf30(fp) | *(arg_f30h) = v0;
0x000ebd64 jalr t9 | t9 ();
0x000ebd68 lw gp, 0x20(sp) | gp = *(var_20h);
0x000ebd6c move a1, zero | a1 = 0;
0x000ebd70 move a0, zero | a0 = 0;
0x000ebd74 lw t9, -0x5e14(gp) | t9 = sym.imp.g_hash_table_new;
0x000ebd78 sw v0, 0xf34(fp) | *(arg_f34h) = v0;
0x000ebd7c jalr t9 | t9 ();
0x000ebd80 lw gp, 0x20(sp) | gp = *(var_20h);
0x000ebd84 move a1, zero | a1 = 0;
0x000ebd88 move a0, zero | a0 = 0;
0x000ebd8c lw t9, -0x5e14(gp) | t9 = sym.imp.g_hash_table_new;
0x000ebd90 sw v0, 0xf38(fp) | *(arg_f38h) = v0;
0x000ebd94 jalr t9 | t9 ();
0x000ebd98 lw gp, 0x20(sp) | gp = *(var_20h);
0x000ebd9c move a1, zero | a1 = 0;
0x000ebda0 move a0, zero | a0 = 0;
0x000ebda4 lw t9, -0x5e14(gp) | t9 = sym.imp.g_hash_table_new;
0x000ebda8 sw v0, 0xf3c(fp) | *(arg_f3ch) = v0;
0x000ebdac jalr t9 | t9 ();
0x000ebdb0 lw gp, 0x20(sp) | gp = *(var_20h);
0x000ebdb4 move a1, zero | a1 = 0;
0x000ebdb8 move a0, zero | a0 = 0;
0x000ebdbc lw t9, -0x5e14(gp) | t9 = sym.imp.g_hash_table_new;
0x000ebdc0 sw v0, 0xf40(fp) | *(arg_f40h) = v0;
0x000ebdc4 jalr t9 | t9 ();
0x000ebdc8 lw gp, 0x20(sp) | gp = *(var_20h);
0x000ebdcc sw v0, 0xf44(fp) | *(arg_f44h) = v0;
0x000ebdd0 move a0, fp | a0 = fp;
0x000ebdd4 lw v0, -0x7028(gp) | v0 = sym.platform_get_data;
0x000ebdd8 lw t9, -0x7024(gp) | t9 = sym.ipp_properties_init;
0x000ebddc sw v0, 0x2c(fp) | *(arg_2ch) = v0;
0x000ebde0 lw v0, -0x7020(gp) | v0 = sym.platform_check_data;
0x000ebde4 sw zero, 0xf2c(fp) | *(arg_f2ch) = 0;
0x000ebde8 sw v0, 0x30(fp) | *(arg_30h) = v0;
0x000ebdec lw v0, -0x701c(gp) | v0 = sym.platform_add_stat;
0x000ebdf0 sw zero, 0xf24(fp) | *(arg_f24h) = 0;
0x000ebdf4 sw v0, 0xa1c(fp) | *(arg_a1ch) = v0;
0x000ebdf8 sw zero, 0xf28(fp) | *(arg_f28h) = 0;
0x000ebdfc bal 0xf0d28 | sym_ipp_properties_init ();
0x000ebe00 lw gp, 0x20(sp) | gp = *(var_20h);
0x000ebe04 move a2, zero | a2 = 0;
0x000ebe08 move a1, zero | a1 = 0;
0x000ebe0c lw a3, -0x7018(gp) | a3 = sym.s_pair_destroy;
0x000ebe10 lw t9, -0x5e20(gp) | t9 = sym.imp.g_hash_table_new_full;
0x000ebe14 move a0, zero | a0 = 0;
0x000ebe18 jalr t9 | t9 ();
0x000ebe1c lw gp, 0x20(sp) | gp = *(var_20h);
0x000ebe20 sw v0, 0xa20(fp) | *(arg_a20h) = v0;
0x000ebe24 lw t9, -0x6048(gp) | t9 = sym.imp.g_malloc0;
0x000ebe28 addiu a0, zero, 0x7f8 | a0 = aav.0x000007f8;
0x000ebe2c jalr t9 | t9 ();
0x000ebe30 lw a3, 0xb4(fp) | a3 = *(arg_b4h);
0x000ebe34 lw gp, 0x20(sp) | gp = *(var_20h);
0x000ebe38 sw v0, 0x8c(fp) | *(arg_8ch) = v0;
| if (a3 <= 0) {
0x000ebe3c blez a3, 0xebea4 | goto label_19;
| }
0x000ebe40 lw v0, 0x40(sp) | v0 = *(var_40h);
0x000ebe44 move a1, zero | a1 = 0;
0x000ebe48 addiu a0, v0, 0x18 | a0 = v0 + 0x18;
0x000ebe4c addiu v0, zero, 0x5c | v0 = 0x5c;
0x000ebe50 mul v1, a3, v0 | __asm ("mul v1, a3, v0");
0x000ebe54 addiu t2, zero, 0x12c | t2 = aav.0x0000012c;
0x000ebe58 addiu t1, zero, -1 | t1 = -1;
0x000ebe5c addiu t0, zero, 0xc | t0 = 0xc;
0x000ebe60 addu a3, v1, a0 | a3 = v1 + a0;
| do {
0x000ebe64 slti v0, a1, 0 | v0 = (a1 < 0) ? 1 : 0;
0x000ebe68 move v1, a1 | v1 = a1;
| if (v0 == 0) {
0x000ebe6c movn v1, zero, v0 | v1 = 0;
| }
0x000ebe70 ext v0, v1, 8, 8 | __asm ("ext v0, v1, 8, 8");
0x000ebe74 mul v1, v0, t2 | __asm ("mul v1, v0, t2");
0x000ebe78 lw a2, (a0) | a2 = *(a0);
0x000ebe7c addiu a0, a0, 0x5c | a0 += 0x5c;
0x000ebe80 addiu a1, a1, 0x100 | a1 += aav.0x00000100;
0x000ebe84 addu v0, v1, fp | v0 = v1 + fp;
0x000ebe88 sw a2, 0xbc(v0) | *((v0 + 47)) = a2;
0x000ebe8c lw a2, -0x5c(a0) | a2 = *((a0 - 23));
0x000ebe90 sw t1, 0x154(v0) | *(v0) = t1;
0x000ebe94 sw a2, 0xc0(v0) | *((v0 + 48)) = a2;
0x000ebe98 sw zero, 0x158(v0) | *(v0) = 0;
0x000ebe9c sw t0, 0x150(v0) | *(v0) = t0;
0x000ebea0 bne a3, a0, 0xebe64 |
| } while (a3 != a0);
| label_19:
0x000ebea4 lw t9, -0x60cc(gp) | t9 = sym.imp.g_list_first;
0x000ebea8 lw a0, 0x44(sp) | a0 = *(var_44h);
0x000ebeac jalr t9 | t9 ();
0x000ebeb0 lw gp, 0x20(sp) | gp = *(var_20h);
0x000ebeb4 move s2, v0 | s2 = v0;
0x000ebeb8 lw s0, -0x7048(gp) | s0 = sym.a5_platform_stream_config_get;
| if (v0 == 0) {
0x000ebebc beqz v0, 0xec054 | goto label_20;
| }
0x000ebec0 lui s1, 0x81dc | s1 = 0x81dc0000;
0x000ebec4 addiu s1, s1, 0x2a08 |
0x000ebec8 b 0xebed4 |
| if (s2 == 0) {
| while (v0 == 0) {
0x000ebecc beql s2, zero, 0xec058 | goto label_21;
| }
0x000ebed0 lw v0, 0xb4(fp) | v0 = *(arg_b4h);
0x000ebed4 lw a1, (s2) | a1 = *(s2);
0x000ebed8 move t9, s0 | t9 = s0;
0x000ebedc move a0, fp | a0 = fp;
0x000ebee0 bal 0xeb8a4 | sym_a5_platform_stream_config_get ();
0x000ebee4 lw a1, 4(v0) | a1 = *((v0 + 1));
0x000ebee8 lw a0, 0x3c(fp) | a0 = *(arg_3ch);
0x000ebeec slti t0, a1, 0 | t0 = (a1 < 0) ? 1 : 0;
| if (t0 == 0) {
0x000ebef0 movn a1, zero, t0 | a1 = 0;
| }
0x000ebef4 ext t0, a1, 8, 8 | __asm ("ext t0, a1, 8, 8");
0x000ebef8 sll t1, t0, 1 | t1 = t0 << 1;
0x000ebefc addu t0, t1, t0 | t0 = t1 + t0;
0x000ebf00 sll t0, t0, 2 | t0 <<= 2;
0x000ebf04 lw t9, 0x14(fp) | t9 = *(arg_14h);
0x000ebf08 lw gp, 0x20(sp) | gp = *(var_20h);
0x000ebf0c addiu a3, v0, 4 | a3 = v0 + 4;
0x000ebf10 lwx a0, t0(a0) | __asm ("lwx a0, t0(a0)");
| if (t9 == 0) {
0x000ebf14 beqz t9, 0xebfc8 | goto label_22;
| }
0x000ebf18 move a1, a0 | a1 = a0;
0x000ebf1c move a2, s1 | a2 = s1;
0x000ebf20 move a0, fp | a0 = fp;
0x000ebf24 jalr t9 | t9 ();
0x000ebf28 lw gp, 0x20(sp) | gp = *(var_20h);
| label_1:
0x000ebf2c beql v0, zero, 0xebecc |
| }
0x000ebf30 lw s2, 4(s2) | s2 = *((s2 + 1));
0x000ebf34 lw t9, -0x5b94(gp) | t9 = sym.imp.__errno_location;
0x000ebf38 jalr t9 | t9 ();
0x000ebf3c nop |
0x000ebf40 lw gp, 0x20(sp) | gp = *(var_20h);
0x000ebf44 lw t9, -0x5bc4(gp) | t9 = sym.imp.strerror;
0x000ebf48 lw a0, (v0) | a0 = *(v0);
0x000ebf4c jalr t9 | t9 ();
0x000ebf50 lw gp, 0x20(sp) | gp = *(var_20h);
0x000ebf54 move a3, v0 | a3 = v0;
0x000ebf58 move a1, zero | a1 = 0;
0x000ebf5c lw a2, -0x7da8(gp) | a2 = *(gp);
0x000ebf60 lw t9, -0x7f7c(gp) | t9 = sym.debug_output;
| /* str.ioctl_CAM_IOC_STREAM_ADD_failed:__s_n */
0x000ebf64 addiu a2, a2, 0x191c | a2 += 0x191c;
0x000ebf68 addiu a0, zero, 4 | a0 = 4;
0x000ebf6c bal 0xf7988 | sym_debug_output ();
0x000ebf70 lw gp, 0x20(sp) | gp = *(var_20h);
| do {
0x000ebf74 lw t9, -0x5b98(gp) | t9 = *((gp - 5862));
0x000ebf78 lw a0, 0x3c(fp) | a0 = *(arg_3ch);
0x000ebf7c sw zero, 0x3c(sp) | *(var_3ch) = 0;
0x000ebf80 jalr t9 | t9 ();
0x000ebf84 lw gp, 0x20(sp) | gp = *(var_20h);
0x000ebf88 lw t9, -0x5b98(gp) | t9 = *((gp - 5862));
0x000ebf8c move a0, fp | a0 = fp;
0x000ebf90 jalr t9 | t9 ();
0x000ebf94 lw ra, 0x6c(sp) | ra = *(var_6ch);
0x000ebf98 lw v0, 0x3c(sp) | v0 = *(var_3ch);
0x000ebf9c lw fp, 0x68(sp) | fp = *(var_68h);
0x000ebfa0 lw s7, 0x64(sp) | s7 = *(var_64h);
0x000ebfa4 lw s6, 0x60(sp) | s6 = *(var_60h);
0x000ebfa8 lw s5, 0x5c(sp) | s5 = *(var_5ch);
0x000ebfac lw s4, 0x58(sp) | s4 = *(var_58h);
0x000ebfb0 lw s3, 0x54(sp) | s3 = *(var_54h);
0x000ebfb4 lw s2, 0x50(sp) | s2 = *(var_50h);
0x000ebfb8 lw s1, 0x4c(sp) | s1 = *(var_4ch);
0x000ebfbc lw s0, 0x48(sp) | s0 = *(var_48h);
0x000ebfc0 addiu sp, sp, 0x70 |
0x000ebfc4 jr ra | return v0;
| label_22:
0x000ebfc8 lw t9, -0x5e00(gp) | t9 = sym.imp.ioctl;
0x000ebfcc move a2, a3 | a2 = a3;
0x000ebfd0 move a1, s1 | a1 = s1;
0x000ebfd4 jalr t9 | t9 ();
0x000ebfd8 lw gp, 0x20(sp) | gp = *(var_20h);
0x000ebfdc b 0xebf2c | goto label_1;
| label_18:
0x000ebfe0 lw t9, -0x5b98(gp) | t9 = *((gp - 5862));
0x000ebfe4 move a0, s0 | a0 = s0;
0x000ebfe8 jalr t9 | t9 ();
0x000ebfec lw gp, 0x20(sp) | gp = *(var_20h);
0x000ebff0 b 0xebf74 |
| } while (1);
| label_16:
0x000ebff4 lw a2, -0x7da8(gp) | a2 = *(gp);
0x000ebff8 lw t9, -0x7f7c(gp) | t9 = sym.debug_output;
| /* str.ARTPEC_5__init_ops__failed._n */
0x000ebffc addiu a2, a2, 0x18e0 | a2 += aav.0x000018e0;
0x000ec000 move a1, zero | a1 = 0;
0x000ec004 addiu a0, zero, 4 | a0 = 4;
0x000ec008 bal 0xf7988 | sym_debug_output ();
0x000ec00c lw gp, 0x20(sp) | gp = *(var_20h);
0x000ec010 lw t9, -0x5b98(gp) | t9 = *((gp - 5862));
0x000ec014 lw a0, 0x3c(sp) | a0 = *(var_3ch);
0x000ec018 jalr t9 | t9 ();
0x000ec01c lw ra, 0x6c(sp) | ra = *(var_6ch);
0x000ec020 sw zero, 0x3c(sp) | *(var_3ch) = 0;
0x000ec024 lw v0, 0x3c(sp) | v0 = *(var_3ch);
0x000ec028 lw fp, 0x68(sp) | fp = *(var_68h);
0x000ec02c lw s7, 0x64(sp) | s7 = *(var_64h);
0x000ec030 lw s6, 0x60(sp) | s6 = *(var_60h);
0x000ec034 lw s5, 0x5c(sp) | s5 = *(var_5ch);
0x000ec038 lw s4, 0x58(sp) | s4 = *(var_58h);
0x000ec03c lw s3, 0x54(sp) | s3 = *(var_54h);
0x000ec040 lw s2, 0x50(sp) | s2 = *(var_50h);
0x000ec044 lw s1, 0x4c(sp) | s1 = *(var_4ch);
0x000ec048 lw s0, 0x48(sp) | s0 = *(var_48h);
0x000ec04c addiu sp, sp, 0x70 |
0x000ec050 jr ra | return v0;
| label_20:
0x000ec054 lw v0, 0xb4(fp) | v0 = *(arg_b4h);
| label_21:
0x000ec058 move s5, zero | s5 = 0;
| if (v0 <= 0) {
0x000ec05c blez v0, 0xec688 | goto label_23;
| }
0x000ec060 lui s7, 0x8004 | s7 = 0x80040000;
0x000ec064 addiu v0, s7, 0x2a0e | v0 = s7 + 0x2a0e;
0x000ec068 sw v0, 0x28(sp) | *(var_28h) = v0;
0x000ec06c lw v0, -0x7054(gp) | v0 = *(gp);
0x000ec070 addiu v0, v0, -0x45fc | v0 += -0x45fc;
0x000ec074 sw v0, 0x34(sp) | *(var_34h) = v0;
0x000ec078 sll s6, s5, 8 | s6 = s5 << 8;
| label_12:
0x000ec07c slti s3, s6, 0 | s3 = (s6 < 0) ? 1 : 0;
0x000ec080 move v0, s6 | v0 = s6;
| if (s3 == 0) {
0x000ec084 movn v0, zero, s3 | v0 = 0;
| }
0x000ec088 ext s3, v0, 8, 8 | __asm ("ext s3, v0, 8, 8");
0x000ec08c addiu v0, zero, 0x12c | v0 = aav.0x0000012c;
0x000ec090 mul v1, s3, v0 | __asm ("mul v1, s3, v0");
0x000ec094 sll s1, s3, 1 | s1 = s3 << 1;
0x000ec098 addu s1, s1, s3 | s1 += s3;
0x000ec09c sll s1, s1, 2 | s1 <<= 2;
0x000ec0a0 addiu s4, zero, 0xc | s4 = 0xc;
0x000ec0a4 addu s0, v1, fp | s0 = v1 + fp;
0x000ec0a8 lw t0, 0xc8(s0) | t0 = *((s0 + 50));
0x000ec0ac lw a1, 0xcc(s0) | a1 = *((s0 + 51));
0x000ec0b0 lw a2, 0xd0(s0) | a2 = *((s0 + 52));
0x000ec0b4 lw a3, 0xc4(s0) | a3 = *((s0 + 49));
0x000ec0b8 lw a0, 0xd8(s0) | a0 = *((s0 + 54));
0x000ec0bc subu v0, a1, a2 | __asm ("subu v0, a1, a2");
0x000ec0c0 subu s2, a3, t0 | __asm ("subu s2, a3, t0");
0x000ec0c4 addiu v0, v0, 1 | v0++;
0x000ec0c8 addiu s2, s2, 1 | s2++;
0x000ec0cc mul s2, v0, s2 | __asm ("mul s2, v0, s2");
0x000ec0d0 mul v0, a0, a0 | __asm ("mul v0, a0, a0");
0x000ec0d4 sw t0, 0x140(s0) | *(s0) = t0;
0x000ec0d8 sw a3, 0x148(s0) | *(s0) = a3;
0x000ec0dc sw a2, 0x144(s0) | *(s0) = a2;
0x000ec0e0 sw a1, 0x14c(s0) | *(s0) = a1;
0x000ec0e4 div zero, s2, v0 | __asm ("div zero, s2, v0");
0x000ec0e8 teq v0, zero, 7 | __asm ("teq v0, zero, 7");
0x000ec0ec mflo s2 | __asm ("mflo s2");
0x000ec0f0 sll v0, s2, 2 | v0 = s2 << 2;
0x000ec0f4 addu s2, v0, s2 | s2 = v0 + s2;
0x000ec0f8 sll s2, s2, 2 | s2 <<= 2;
0x000ec0fc b 0xec110 |
| while (a3 <= 0) {
0x000ec100 addiu v0, v0, 1 | v0++;
0x000ec104 addiu s4, s4, -1 | s4 += -1;
0x000ec108 sw v0, 0xf48(fp) | *(arg_f48h) = v0;
| if (s4 == 0) {
0x000ec10c beqz s4, 0xec218 | goto label_24;
| }
| label_2:
0x000ec110 lw a0, 0x3c(fp) | a0 = *(arg_3ch);
0x000ec114 lw t9, 0x14(fp) | t9 = *(arg_14h);
0x000ec118 lwx a0, s1(a0) | __asm ("lwx a0, s1(a0)");
| if (t9 == 0) {
0x000ec11c beqz t9, 0xec344 | goto label_25;
| }
0x000ec120 lw a2, 0x28(sp) | a2 = *(var_28h);
0x000ec124 move a1, a0 | a1 = a0;
0x000ec128 move a3, s2 | a3 = s2;
0x000ec12c move a0, fp | a0 = fp;
0x000ec130 jalr t9 | t9 ();
0x000ec134 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 <= 0) {
0x000ec138 blez v0, 0xec35c | goto label_26;
| }
| label_3:
0x000ec13c lw a0, 0x3c(fp) | a0 = *(arg_3ch);
0x000ec140 lw t9, 0x18(fp) | t9 = *(arg_18h);
0x000ec144 addiu a1, s2, 0x1d60 | a1 = s2 + 0x1d60;
0x000ec148 lwx a0, s1(a0) | __asm ("lwx a0, s1(a0)");
| if (t9 == 0) {
0x000ec14c beqz t9, 0xec3a0 | goto label_27;
| }
0x000ec150 sw a0, 0x10(sp) | *(var_10h) = a0;
0x000ec154 sw v0, 0x14(sp) | *(var_14h) = v0;
0x000ec158 addiu a3, zero, 1 | a3 = 1;
0x000ec15c addiu a2, zero, 3 | a2 = 3;
0x000ec160 move a0, zero | a0 = 0;
0x000ec164 jalr t9 | t9 ();
0x000ec168 move s7, v0 | s7 = v0;
0x000ec16c addiu v0, zero, -1 | v0 = -1;
0x000ec170 lw gp, 0x20(sp) | gp = *(var_20h);
| if (s7 == v0) {
0x000ec174 beq s7, v0, 0xec3cc | goto label_28;
| }
| label_5:
0x000ec178 lw v0, 0xf48(fp) | v0 = *(arg_f48h);
0x000ec17c lw a3, 0x110(s0) | a3 = *(s0);
0x000ec180 addiu a0, v0, 0x3d2 | a0 = v0 + 0x3d2;
0x000ec184 sll a0, a0, 2 | a0 <<= 2;
0x000ec188 addu a0, fp, a0 | a0 = fp + a0;
0x000ec18c sw s7, 4(a0) | *((a0 + 1)) = s7;
0x000ec190 blez a3, 0xec100 |
| }
0x000ec194 lw a0, 0x3c(fp) | a0 = *(arg_3ch);
0x000ec198 lw t9, 0x14(fp) | t9 = *(arg_14h);
0x000ec19c lwx a0, s1(a0) | __asm ("lwx a0, s1(a0)");
| if (t9 == 0) {
0x000ec1a0 beqz t9, 0xec450 | goto label_29;
| }
0x000ec1a4 lui a2, 0x2000 | a2 = imp.g_str_equal;
0x000ec1a8 move a1, a0 | a1 = a0;
0x000ec1ac addiu a2, a2, 0x2a90 | a2 += 0x2a90;
0x000ec1b0 move a0, fp | a0 = fp;
0x000ec1b4 jalr t9 | t9 ();
0x000ec1b8 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 <= 0) {
0x000ec1bc blez v0, 0xec46c | goto label_30;
| }
| label_9:
0x000ec1c0 lw a0, 0x3c(fp) | a0 = *(arg_3ch);
0x000ec1c4 lw a1, 0x110(s0) | a1 = *(s0);
0x000ec1c8 lw t9, 0x18(fp) | t9 = *(arg_18h);
0x000ec1cc lwx a0, s1(a0) | __asm ("lwx a0, s1(a0)");
0x000ec1d0 sw a1, 0xe68(s7) | *((s7 + 922)) = a1;
0x000ec1d4 sw v0, 0xe6c(s7) | *((s7 + 923)) = v0;
| if (t9 == 0) {
0x000ec1d8 beqz t9, 0xec4d0 | goto label_31;
| }
0x000ec1dc sw a0, 0x10(sp) | *(var_10h) = a0;
0x000ec1e0 sw v0, 0x14(sp) | *(var_14h) = v0;
0x000ec1e4 move a0, zero | a0 = 0;
0x000ec1e8 addiu a3, zero, 1 | a3 = 1;
0x000ec1ec addiu a2, zero, 3 | a2 = 3;
0x000ec1f0 jalr t9 | t9 ();
0x000ec1f4 addiu a0, zero, -1 | a0 = -1;
0x000ec1f8 lw gp, 0x20(sp) | gp = *(var_20h);
0x000ec1fc sw v0, 0xe70(s7) | *((s7 + 924)) = v0;
| if (v0 == a0) {
0x000ec200 beq v0, a0, 0xec4fc | goto label_32;
| }
| label_11:
0x000ec204 lw v0, 0xf48(fp) | v0 = *(arg_f48h);
0x000ec208 addiu s4, s4, -1 | s4 += -1;
0x000ec20c addiu v0, v0, 1 | v0++;
0x000ec210 sw v0, 0xf48(fp) | *(arg_f48h) = v0;
| if (s4 != 0) {
0x000ec214 bnez s4, 0xec110 | goto label_2;
| }
| label_24:
0x000ec218 addiu v0, zero, 0x12c | v0 = aav.0x0000012c;
0x000ec21c mul v1, s3, v0 | __asm ("mul v1, s3, v0");
0x000ec220 addu s3, v1, fp | s3 = v1 + fp;
0x000ec224 lw s1, 0xfc(s3) | s1 = *((s3 + 63));
| if (fp != 0) {
0x000ec228 beqz fp, 0xec338 |
0x000ec22c lw s0, -0x7048(gp) | s0 = sym.a5_platform_stream_config_get;
0x000ec230 move a1, s6 | a1 = s6;
0x000ec234 move t9, s0 | t9 = s0;
0x000ec238 move a0, fp | a0 = fp;
0x000ec23c bal 0xeb8a4 | sym_a5_platform_stream_config_get ();
0x000ec240 lw gp, 0x20(sp) | gp = *(var_20h);
0x000ec244 addiu s4, v0, 4 | s4 = v0 + 4;
0x000ec248 move s3, v0 | s3 = v0;
0x000ec24c lw s2, -0x7044(gp) | s2 = *(gp);
0x000ec250 move a1, s4 | a1 = s4;
0x000ec254 move t9, s2 | t9 = s2;
0x000ec258 move a0, fp | a0 = fp;
0x000ec25c bal 0xeb500 | sym_artpec5_platform_stream_config_get ();
0x000ec260 addiu a1, zero, 4 | a1 = 4;
0x000ec264 move a0, a1 | a0 = a1;
0x000ec268 lw v0, 0x1e0(s3) | v0 = *(s3);
| if (s1 == 0) {
0x000ec26c movn a0, zero, s1 | a0 = 0;
| }
0x000ec270 addiu a2, zero, 0x40 | a2 = 0x40;
0x000ec274 lw gp, 0x20(sp) | gp = *(var_20h);
0x000ec278 sw a0, 0x2c(s3) | *((s3 + 11)) = a0;
0x000ec27c sw a0, 0x30(s3) | *((s3 + 12)) = a0;
0x000ec280 sw a0, 0x34(s3) | *((s3 + 13)) = a0;
| if (v0 == a2) {
0x000ec284 beq v0, a2, 0xec70c | goto label_33;
| }
0x000ec288 slti a0, v0, 0x41 | a0 = (v0 < 0x41) ? 1 : 0;
0x000ec28c addiu a0, zero, 0x80 | a0 = 0x80;
| if (a0 == 0) {
0x000ec290 beqz a0, 0xec410 | goto label_34;
| }
0x000ec294 addiu a0, zero, 0x10 | a0 = 0x10;
0x000ec298 addiu a0, zero, 0x20 | a0 = 0x20;
| if (v0 == a0) {
0x000ec29c beq v0, a0, 0xec738 | goto label_35;
| }
0x000ec2a0 addiu v0, zero, 1 | v0 = 1;
| if (v0 != a0) {
0x000ec2a4 bne v0, a0, 0xec718 | goto label_36;
| }
0x000ec2a8 sw v0, 0x38(s3) | *((s3 + 14)) = v0;
| label_13:
0x000ec2ac lw v0, 0x1ec(s3) | v0 = *(s3);
0x000ec2b0 addiu a0, zero, 0x40 | a0 = 0x40;
| if (v0 == a0) {
0x000ec2b4 beql v0, a0, 0xec430 | goto label_37;
| }
0x000ec2b8 addiu v0, zero, 2 | v0 = 2;
| label_6:
0x000ec2bc slti a0, v0, 0x41 | a0 = (v0 < 0x41) ? 1 : 0;
0x000ec2c0 addiu a0, zero, 0x80 | a0 = 0x80;
| if (a0 == 0) {
0x000ec2c4 beqz a0, 0xec4b8 | goto label_38;
| }
0x000ec2c8 addiu a0, zero, 0x10 | a0 = 0x10;
0x000ec2cc addiu a0, zero, 0x20 | a0 = 0x20;
| if (v0 == a0) {
0x000ec2d0 beq v0, a0, 0xec76c | goto label_39;
| }
0x000ec2d4 addiu v0, zero, 1 | v0 = 1;
| if (v0 != a0) {
0x000ec2d8 bne v0, a0, 0xec74c | goto label_40;
| }
0x000ec2dc sw v0, 0x3c(s3) | *((s3 + 15)) = v0;
| label_10:
0x000ec2e0 lw v0, 0x1f8(s3) | v0 = *(s3);
0x000ec2e4 addiu a0, zero, 0x40 | a0 = 0x40;
| if (v0 == a0) {
0x000ec2e8 beql v0, a0, 0xec448 | goto label_41;
| }
0x000ec2ec addiu v0, zero, 2 | v0 = 2;
0x000ec2f0 slti a0, v0, 0x41 | a0 = (v0 < 0x41) ? 1 : 0;
| label_7:
0x000ec2f4 addiu a0, zero, 0x80 | a0 = 0x80;
| if (a0 == 0) {
0x000ec2f8 beqz a0, 0xec540 | goto label_42;
| }
0x000ec2fc addiu a0, zero, 0x10 | a0 = 0x10;
0x000ec300 addiu a0, zero, 0x20 | a0 = 0x20;
| if (v0 == a0) {
0x000ec304 beq v0, a0, 0xec7a0 | goto label_43;
| }
0x000ec308 addiu v0, zero, 1 | v0 = 1;
| if (v0 != a0) {
0x000ec30c bne v0, a0, 0xec780 | goto label_44;
| }
0x000ec310 sw v0, 0x40(s3) | *((s3 + 16)) = v0;
| label_8:
0x000ec314 lw s3, -0x7040(gp) | s3 = sym.artpec5_platform_stream_config_set;
0x000ec318 move a1, s4 | a1 = s4;
0x000ec31c move t9, s3 | t9 = s3;
0x000ec320 move a0, fp | a0 = fp;
0x000ec324 bal 0xeb5dc | sym_artpec5_platform_stream_config_set ();
0x000ec328 move s6, v0 | s6 = v0;
0x000ec32c addiu v0, zero, -0xff | v0 = -0xff;
0x000ec330 lw gp, 0x20(sp) | gp = *(var_20h);
| if (s6 == v0) {
0x000ec334 beq s6, v0, 0xec558 | goto label_45;
| }
| }
| label_4:
0x000ec338 lw t9, -0x61c4(gp) | t9 = sym.imp.exit;
0x000ec33c addiu a0, zero, 1 | a0 = 1;
0x000ec340 jalr t9 | t9 ();
| label_25:
0x000ec344 lw t9, -0x5e00(gp) | t9 = sym.imp.ioctl;
0x000ec348 lw a1, 0x28(sp) | a1 = *(var_28h);
0x000ec34c move a2, s2 | a2 = s2;
0x000ec350 jalr t9 | t9 ();
0x000ec354 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 > 0) {
0x000ec358 bgtz v0, 0xec13c | goto label_3;
| }
| label_26:
0x000ec35c lw t9, -0x5b94(gp) | t9 = sym.imp.__errno_location;
0x000ec360 jalr t9 | t9 ();
0x000ec364 nop |
0x000ec368 lw gp, 0x20(sp) | gp = *(var_20h);
0x000ec36c lw t9, -0x5bc4(gp) | t9 = sym.imp.strerror;
0x000ec370 lw a0, (v0) | a0 = *(v0);
0x000ec374 jalr t9 | t9 ();
0x000ec378 lw gp, 0x20(sp) | gp = *(var_20h);
0x000ec37c move a3, v0 | a3 = v0;
0x000ec380 move a1, zero | a1 = 0;
0x000ec384 lw a2, -0x7da8(gp) | a2 = *(gp);
0x000ec388 lw t9, -0x7f7c(gp) | t9 = sym.debug_output;
| /* str.ioctl_CAM_IOC_STATBUF_ADD__s_n */
0x000ec38c addiu a2, a2, 0x1944 | a2 += 0x1944;
0x000ec390 addiu a0, zero, 4 | a0 = 4;
0x000ec394 bal 0xf7988 | sym_debug_output ();
0x000ec398 lw gp, 0x20(sp) | gp = *(var_20h);
0x000ec39c b 0xec338 | goto label_4;
| label_27:
0x000ec3a0 lw t9, -0x5bac(gp) | t9 = sym.imp.mmap
0x000ec3a4 sw a0, 0x10(sp) | *(var_10h) = a0;
0x000ec3a8 sw v0, 0x14(sp) | *(var_14h) = v0;
0x000ec3ac addiu a3, zero, 1 | a3 = 1;
0x000ec3b0 addiu a2, zero, 3 | a2 = 3;
0x000ec3b4 move a0, zero | a0 = 0;
0x000ec3b8 jalr t9 | t9 ();
0x000ec3bc move s7, v0 | s7 = v0;
0x000ec3c0 addiu v0, zero, -1 | v0 = -1;
0x000ec3c4 lw gp, 0x20(sp) | gp = *(var_20h);
| if (s7 != v0) {
0x000ec3c8 bne s7, v0, 0xec178 | goto label_5;
| }
| label_28:
0x000ec3cc lw t9, -0x5b94(gp) | t9 = sym.imp.__errno_location;
0x000ec3d0 jalr t9 | t9 ();
0x000ec3d4 nop |
0x000ec3d8 lw gp, 0x20(sp) | gp = *(var_20h);
0x000ec3dc lw t9, -0x5bc4(gp) | t9 = sym.imp.strerror;
0x000ec3e0 lw a0, (v0) | a0 = *(v0);
0x000ec3e4 jalr t9 | t9 ();
0x000ec3e8 lw gp, 0x20(sp) | gp = *(var_20h);
0x000ec3ec move a3, v0 | a3 = v0;
0x000ec3f0 move a1, zero | a1 = 0;
0x000ec3f4 lw a2, -0x7da8(gp) | a2 = *(gp);
0x000ec3f8 lw t9, -0x7f7c(gp) | t9 = sym.debug_output;
| /* str.mmap___failed_for_statistics__s_n */
0x000ec3fc addiu a2, a2, 0x1964 | a2 += 0x1964;
0x000ec400 addiu a0, zero, 4 | a0 = 4;
0x000ec404 bal 0xf7988 | sym_debug_output ();
0x000ec408 lw gp, 0x20(sp) | gp = *(var_20h);
0x000ec40c b 0xec338 | goto label_4;
| label_34:
0x000ec410 addiu a0, zero, 0x100 | a0 = aav.0x00000100;
| if (v0 == a0) {
0x000ec414 beq v0, a0, 0xec740 | goto label_46;
| }
0x000ec418 addiu a0, zero, 0x40 | a0 = 0x40;
| if (v0 != a0) {
0x000ec41c bne v0, a0, 0xec718 | goto label_36;
| }
0x000ec420 lw v0, 0x1ec(s3) | v0 = *(s3);
0x000ec424 sw a1, 0x38(s3) | *((s3 + 14)) = a1;
| if (v0 != a0) {
0x000ec428 bne v0, a0, 0xec2bc | goto label_6;
| }
0x000ec42c addiu v0, zero, 2 | v0 = 2;
| label_37:
0x000ec430 sw v0, 0x3c(s3) | *((s3 + 15)) = v0;
0x000ec434 lw v0, 0x1f8(s3) | v0 = *(s3);
0x000ec438 addiu a0, zero, 0x40 | a0 = 0x40;
0x000ec43c slti a0, v0, 0x41 | a0 = (v0 < 0x41) ? 1 : 0;
| if (v0 != a0) {
0x000ec440 bne v0, a0, 0xec2f4 | goto label_7;
| }
0x000ec444 addiu v0, zero, 2 | v0 = 2;
| label_41:
0x000ec448 sw v0, 0x40(s3) | *((s3 + 16)) = v0;
0x000ec44c b 0xec314 | goto label_8;
| label_29:
0x000ec450 lw t9, -0x5e00(gp) | t9 = sym.imp.ioctl;
0x000ec454 lui a1, 0x2000 | a1 = imp.g_str_equal;
0x000ec458 move a2, a3 | a2 = a3;
0x000ec45c addiu a1, a1, 0x2a90 | a1 += 0x2a90;
0x000ec460 jalr t9 | t9 ();
0x000ec464 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 > 0) {
0x000ec468 bgtz v0, 0xec1c0 | goto label_9;
| }
| label_30:
0x000ec46c lw t9, -0x5b94(gp) | t9 = sym.imp.__errno_location;
0x000ec470 jalr t9 | t9 ();
0x000ec474 nop |
0x000ec478 lw gp, 0x20(sp) | gp = *(var_20h);
0x000ec47c lw t9, -0x5bc4(gp) | t9 = sym.imp.strerror;
0x000ec480 lw a0, (v0) | a0 = *(v0);
0x000ec484 jalr t9 | t9 ();
0x000ec488 lw gp, 0x20(sp) | gp = *(var_20h);
0x000ec48c sw v0, 0x10(sp) | *(var_10h) = v0;
0x000ec490 move a1, zero | a1 = 0;
0x000ec494 lw a3, -0x7da8(gp) | a3 = *(gp);
0x000ec498 lw a2, -0x7da8(gp) | a2 = *(gp);
0x000ec49c lw t9, -0x7f7c(gp) | t9 = sym.debug_output;
| /* str.platform_init_stat */
0x000ec4a0 addiu a3, a3, 0x2144 | a3 += 0x2144;
| /* str._s:_ioctl_CAM_IOC_ADD_VMEM_BUFFER__s_n */
0x000ec4a4 addiu a2, a2, 0x1988 | a2 += 0x1988;
0x000ec4a8 addiu a0, zero, 4 | a0 = 4;
0x000ec4ac bal 0xf7988 | sym_debug_output ();
0x000ec4b0 lw gp, 0x20(sp) | gp = *(var_20h);
0x000ec4b4 b 0xec338 | goto label_4;
| label_38:
0x000ec4b8 addiu a0, zero, 0x100 | a0 = aav.0x00000100;
| if (v0 == a0) {
0x000ec4bc beq v0, a0, 0xec774 | goto label_47;
| }
0x000ec4c0 addiu v0, zero, 4 | v0 = 4;
| if (v0 != a0) {
0x000ec4c4 bne v0, a0, 0xec74c | goto label_40;
| }
0x000ec4c8 sw v0, 0x3c(s3) | *((s3 + 15)) = v0;
0x000ec4cc b 0xec2e0 | goto label_10;
| label_31:
0x000ec4d0 lw t9, -0x5bac(gp) | t9 = sym.imp.mmap
0x000ec4d4 sw a0, 0x10(sp) | *(var_10h) = a0;
0x000ec4d8 sw v0, 0x14(sp) | *(var_14h) = v0;
0x000ec4dc move a0, zero | a0 = 0;
0x000ec4e0 addiu a3, zero, 1 | a3 = 1;
0x000ec4e4 addiu a2, zero, 3 | a2 = 3;
0x000ec4e8 jalr t9 | t9 ();
0x000ec4ec addiu a0, zero, -1 | a0 = -1;
0x000ec4f0 lw gp, 0x20(sp) | gp = *(var_20h);
0x000ec4f4 sw v0, 0xe70(s7) | *((s7 + 924)) = v0;
| if (v0 != a0) {
0x000ec4f8 bne v0, a0, 0xec204 | goto label_11;
| }
| label_32:
0x000ec4fc lw t9, -0x5b94(gp) | t9 = sym.imp.__errno_location;
0x000ec500 jalr t9 | t9 ();
0x000ec504 nop |
0x000ec508 lw gp, 0x20(sp) | gp = *(var_20h);
0x000ec50c lw t9, -0x5bc4(gp) | t9 = sym.imp.strerror;
0x000ec510 lw a0, (v0) | a0 = *(v0);
0x000ec514 jalr t9 | t9 ();
0x000ec518 lw gp, 0x20(sp) | gp = *(var_20h);
0x000ec51c move a3, v0 | a3 = v0;
0x000ec520 move a1, zero | a1 = 0;
0x000ec524 lw a2, -0x7da8(gp) | a2 = *(gp);
0x000ec528 lw t9, -0x7f7c(gp) | t9 = sym.debug_output;
| /* str.mmap___failed_for_AF_statistics__s_n */
0x000ec52c addiu a2, a2, 0x19b0 | a2 += aav.0x000019b0;
0x000ec530 addiu a0, zero, 4 | a0 = 4;
0x000ec534 bal 0xf7988 | sym_debug_output ();
0x000ec538 lw gp, 0x20(sp) | gp = *(var_20h);
0x000ec53c b 0xec338 | goto label_4;
| label_42:
0x000ec540 addiu a0, zero, 0x100 | a0 = aav.0x00000100;
| if (v0 == a0) {
0x000ec544 beq v0, a0, 0xec7a8 | goto label_48;
| }
0x000ec548 addiu v0, zero, 4 | v0 = 4;
| if (v0 != a0) {
0x000ec54c bne v0, a0, 0xec780 | goto label_44;
| }
0x000ec550 sw v0, 0x40(s3) | *((s3 + 16)) = v0;
0x000ec554 b 0xec314 | goto label_8;
| label_45:
0x000ec558 move a1, zero | a1 = 0;
0x000ec55c move t9, s0 | t9 = s0;
0x000ec560 move a0, fp | a0 = fp;
0x000ec564 bal 0xeb8a4 | sym_a5_platform_stream_config_get ();
0x000ec568 addiu a3, v0, 4 | a3 = v0 + 4;
0x000ec56c move a1, a3 | a1 = a3;
0x000ec570 sw a3, 0x2c(sp) | *(var_2ch) = a3;
0x000ec574 sw v0, 0x30(sp) | *(var_30h) = v0;
0x000ec578 move t9, s2 | t9 = s2;
0x000ec57c move a0, fp | a0 = fp;
0x000ec580 bal 0xeb500 | sym_artpec5_platform_stream_config_get ();
0x000ec584 lw a2, 0x30(sp) | a2 = *(var_30h);
0x000ec588 sltiu s4, s1, 1 | s4 = (s1 < 1) ? 1 : 0;
0x000ec58c lw a3, 0x2c(sp) | a3 = *(var_2ch);
0x000ec590 sw s4, 0x4c(a2) | *((a2 + 19)) = s4;
| if (s1 != 0) {
0x000ec594 bnez s1, 0xec7b4 | goto label_49;
| }
0x000ec598 addiu v0, zero, 1 | v0 = 1;
0x000ec59c sw v0, 0x19c(a2) | *(a2) = v0;
0x000ec5a0 move a1, a3 | a1 = a3;
0x000ec5a4 move t9, s3 | t9 = s3;
0x000ec5a8 move a0, fp | a0 = fp;
0x000ec5ac bal 0xeb5dc | sym_artpec5_platform_stream_config_set ();
0x000ec5b0 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != s6) {
0x000ec5b4 bne v0, s6, 0xec338 | goto label_4;
| }
0x000ec5b8 move a1, zero | a1 = 0;
0x000ec5bc move t9, s0 | t9 = s0;
0x000ec5c0 move a0, fp | a0 = fp;
0x000ec5c4 bal 0xeb8a4 | sym_a5_platform_stream_config_get ();
0x000ec5c8 addiu s6, v0, 4 | s6 = v0 + 4;
0x000ec5cc sw v0, 0x2c(sp) | *(var_2ch) = v0;
0x000ec5d0 move a1, s6 | a1 = s6;
0x000ec5d4 move t9, s2 | t9 = s2;
0x000ec5d8 move a0, fp | a0 = fp;
0x000ec5dc bal 0xeb500 | sym_artpec5_platform_stream_config_get ();
0x000ec5e0 lw a2, 0x2c(sp) | a2 = *(var_2ch);
0x000ec5e4 addiu v0, zero, 3 | v0 = 3;
| label_14:
0x000ec5e8 move a1, s6 | a1 = s6;
0x000ec5ec sw v0, 0xa8(a2) | *((a2 + 42)) = v0;
0x000ec5f0 move t9, s3 | t9 = s3;
0x000ec5f4 move a0, fp | a0 = fp;
0x000ec5f8 bal 0xeb5dc | sym_artpec5_platform_stream_config_set ();
0x000ec5fc move s6, v0 | s6 = v0;
0x000ec600 addiu v0, zero, -0xff | v0 = -0xff;
0x000ec604 lw gp, 0x20(sp) | gp = *(var_20h);
| if (s6 != v0) {
0x000ec608 bne s6, v0, 0xec338 | goto label_4;
| }
0x000ec60c lw t9, 0x34(sp) | t9 = *(var_34h);
0x000ec610 move a1, s4 | a1 = s4;
0x000ec614 move a0, fp | a0 = fp;
0x000ec618 jalr t9 | t9 ();
0x000ec61c move s4, v0 | s4 = v0;
0x000ec620 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != s6) {
0x000ec624 bne v0, s6, 0xec338 | goto label_4;
| }
0x000ec628 move t9, s0 | t9 = s0;
0x000ec62c move a1, zero | a1 = 0;
0x000ec630 move a0, fp | a0 = fp;
0x000ec634 bal 0xeb8a4 | sym_a5_platform_stream_config_get ();
0x000ec638 addiu s0, v0, 4 | s0 = v0 + 4;
0x000ec63c move a1, s0 | a1 = s0;
0x000ec640 move a0, fp | a0 = fp;
0x000ec644 move t9, s2 | t9 = s2;
0x000ec648 move s6, v0 | s6 = v0;
0x000ec64c bal 0xeb500 | sym_artpec5_platform_stream_config_get ();
0x000ec650 addiu v0, zero, 4 | v0 = 4;
| if (s1 == 0) {
0x000ec654 movn v0, zero, s1 | v0 = 0;
| }
0x000ec658 sw v0, 0x104(s6) | *(s6) = v0;
0x000ec65c move a1, s0 | a1 = s0;
0x000ec660 move t9, s3 | t9 = s3;
0x000ec664 move a0, fp | a0 = fp;
0x000ec668 bal 0xeb5dc | sym_artpec5_platform_stream_config_set ();
0x000ec66c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != s4) {
0x000ec670 bne v0, s4, 0xec338 | goto label_4;
| }
0x000ec674 lw v0, 0xb4(fp) | v0 = *(arg_b4h);
0x000ec678 addiu s5, s5, 1 | s5++;
0x000ec67c slt v0, s5, v0 | v0 = (s5 < v0) ? 1 : 0;
0x000ec680 sll s6, s5, 8 | s6 = s5 << 8;
| if (v0 != 0) {
0x000ec684 bnez v0, 0xec07c | goto label_12;
| }
| label_23:
0x000ec688 lw t9, -0x7014(gp) | t9 = sym.purb_setup;
0x000ec68c move a2, zero | a2 = 0;
0x000ec690 addiu a1, zero, 0xa0 | a1 = 0xa0;
0x000ec694 move a0, fp | a0 = fp;
0x000ec698 bal 0xf57c8 | sym_purb_setup ();
0x000ec69c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x000ec6a0 bnez v0, 0xec838 | goto label_50;
| }
0x000ec6a4 lw v0, -0x7da4(gp) | v0 = *((gp - 8041));
0x000ec6a8 lw ra, 0x6c(sp) | ra = *(var_6ch);
0x000ec6ac addiu v0, v0, 0x7eb0 | v0 += 0x7eb0;
0x000ec6b0 sw v0, 0x10d0(fp) | *(arg_10d0h) = v0;
0x000ec6b4 lw v0, -0x7da4(gp) | v0 = *((gp - 8041));
0x000ec6b8 lw s7, 0x64(sp) | s7 = *(var_64h);
| /* esilref: 'Y&' */
0x000ec6bc addiu v0, v0, 0x76b0 | v0 += 0x76b0;
0x000ec6c0 sw v0, 0x10d4(fp) | *(arg_10d4h) = v0;
0x000ec6c4 addiu v0, zero, 0x2487 | v0 = 0x2487;
0x000ec6c8 sw v0, 0x10c8(fp) | *(arg_10c8h) = v0;
0x000ec6cc lui v0, 0xffff | v0 = 0xffff00eb;
0x000ec6d0 addiu v0, v0, 0xeb |
0x000ec6d4 sw v0, 0x10cc(fp) | *(arg_10cch) = v0;
0x000ec6d8 addiu v0, zero, 0x12 | v0 = 0x12;
0x000ec6dc sw v0, 0x10c4(fp) | *(arg_10c4h) = v0;
0x000ec6e0 lw s6, 0x60(sp) | s6 = *(var_60h);
0x000ec6e4 lw v0, 0x3c(sp) | v0 = *(var_3ch);
0x000ec6e8 lw fp, 0x68(sp) | fp = *(var_68h);
0x000ec6ec lw s5, 0x5c(sp) | s5 = *(var_5ch);
0x000ec6f0 lw s4, 0x58(sp) | s4 = *(var_58h);
0x000ec6f4 lw s3, 0x54(sp) | s3 = *(var_54h);
0x000ec6f8 lw s2, 0x50(sp) | s2 = *(var_50h);
0x000ec6fc lw s1, 0x4c(sp) | s1 = *(var_4ch);
0x000ec700 lw s0, 0x48(sp) | s0 = *(var_48h);
0x000ec704 addiu sp, sp, 0x70 |
0x000ec708 jr ra | return v0;
| label_33:
0x000ec70c addiu v0, zero, 2 | v0 = 2;
0x000ec710 sw v0, 0x38(s3) | *((s3 + 14)) = v0;
0x000ec714 b 0xec2ac | goto label_13;
| label_36:
0x000ec718 lw a2, -0x7da8(gp) | a2 = *(gp);
0x000ec71c lw t9, -0x7f7c(gp) | t9 = sym.debug_output;
| /* str.Unsupported_block_size */
0x000ec720 addiu a2, a2, 0x19d4 | a2 += 0x19d4;
0x000ec724 move a1, zero | a1 = 0;
0x000ec728 addiu a0, zero, 4 | a0 = 4;
0x000ec72c bal 0xf7988 | sym_debug_output ();
0x000ec730 lw gp, 0x20(sp) | gp = *(var_20h);
0x000ec734 b 0xec338 | goto label_4;
| label_35:
0x000ec738 sw zero, 0x38(s3) | *((s3 + 14)) = 0;
0x000ec73c b 0xec2ac | goto label_13;
| label_46:
0x000ec740 addiu v0, zero, 3 | v0 = 3;
0x000ec744 sw v0, 0x38(s3) | *((s3 + 14)) = v0;
0x000ec748 b 0xec2ac | goto label_13;
| label_40:
0x000ec74c lw a2, -0x7da8(gp) | a2 = *(gp);
0x000ec750 lw t9, -0x7f7c(gp) | t9 = sym.debug_output;
| /* str.BS2:_Unsupported_block_size */
0x000ec754 addiu a2, a2, 0x19ec | a2 += 0x19ec;
0x000ec758 move a1, zero | a1 = 0;
0x000ec75c addiu a0, zero, 4 | a0 = 4;
0x000ec760 bal 0xf7988 | sym_debug_output ();
0x000ec764 lw gp, 0x20(sp) | gp = *(var_20h);
0x000ec768 b 0xec338 | goto label_4;
| label_39:
0x000ec76c sw zero, 0x3c(s3) | *((s3 + 15)) = 0;
0x000ec770 b 0xec2e0 | goto label_10;
| label_47:
0x000ec774 addiu v0, zero, 3 | v0 = 3;
0x000ec778 sw v0, 0x3c(s3) | *((s3 + 15)) = v0;
0x000ec77c b 0xec2e0 | goto label_10;
| label_44:
0x000ec780 lw a2, -0x7da8(gp) | a2 = *(gp);
0x000ec784 lw t9, -0x7f7c(gp) | t9 = sym.debug_output;
| /* str.BS3:_Unsupported_block_size */
0x000ec788 addiu a2, a2, 0x1a08 | a2 += 0x1a08;
0x000ec78c move a1, zero | a1 = 0;
0x000ec790 addiu a0, zero, 4 | a0 = 4;
0x000ec794 bal 0xf7988 | sym_debug_output ();
0x000ec798 lw gp, 0x20(sp) | gp = *(var_20h);
0x000ec79c b 0xec338 | goto label_4;
| label_43:
0x000ec7a0 sw zero, 0x40(s3) | *((s3 + 16)) = 0;
0x000ec7a4 b 0xec314 | goto label_8;
| label_48:
0x000ec7a8 addiu v0, zero, 3 | v0 = 3;
0x000ec7ac sw v0, 0x40(s3) | *((s3 + 16)) = v0;
0x000ec7b0 b 0xec314 | goto label_8;
| label_49:
0x000ec7b4 move a1, a3 | a1 = a3;
0x000ec7b8 move t9, s3 | t9 = s3;
0x000ec7bc move a0, fp | a0 = fp;
0x000ec7c0 bal 0xeb5dc | sym_artpec5_platform_stream_config_set ();
0x000ec7c4 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != s6) {
0x000ec7c8 bne v0, s6, 0xec338 | goto label_4;
| }
0x000ec7cc move a1, zero | a1 = 0;
0x000ec7d0 move t9, s0 | t9 = s0;
0x000ec7d4 move a0, fp | a0 = fp;
0x000ec7d8 bal 0xeb8a4 | sym_a5_platform_stream_config_get ();
0x000ec7dc addiu s6, v0, 4 | s6 = v0 + 4;
0x000ec7e0 sw v0, 0x2c(sp) | *(var_2ch) = v0;
0x000ec7e4 move a1, s6 | a1 = s6;
0x000ec7e8 move t9, s2 | t9 = s2;
0x000ec7ec move a0, fp | a0 = fp;
0x000ec7f0 bal 0xeb500 | sym_artpec5_platform_stream_config_get ();
0x000ec7f4 move v0, zero | v0 = 0;
0x000ec7f8 lw a2, 0x2c(sp) | a2 = *(var_2ch);
0x000ec7fc b 0xec5e8 | goto label_14;
| label_15:
0x000ec800 lw ra, 0x6c(sp) | ra = *(var_6ch);
0x000ec804 sw zero, 0x3c(sp) | *(var_3ch) = 0;
0x000ec808 lw v0, 0x3c(sp) | v0 = *(var_3ch);
0x000ec80c lw fp, 0x68(sp) | fp = *(var_68h);
0x000ec810 lw s7, 0x64(sp) | s7 = *(var_64h);
0x000ec814 lw s6, 0x60(sp) | s6 = *(var_60h);
0x000ec818 lw s5, 0x5c(sp) | s5 = *(var_5ch);
0x000ec81c lw s4, 0x58(sp) | s4 = *(var_58h);
0x000ec820 lw s3, 0x54(sp) | s3 = *(var_54h);
0x000ec824 lw s2, 0x50(sp) | s2 = *(var_50h);
0x000ec828 lw s1, 0x4c(sp) | s1 = *(var_4ch);
0x000ec82c lw s0, 0x48(sp) | s0 = *(var_48h);
0x000ec830 addiu sp, sp, 0x70 |
0x000ec834 jr ra | return v0;
| label_50:
0x000ec838 lw a2, -0x7da8(gp) | a2 = *(gp);
0x000ec83c lw t9, -0x7f7c(gp) | t9 = sym.debug_output;
0x000ec840 addiu a0, zero, 4 | a0 = 4;
| /* str.Could_not_allocate_purbs__n */
0x000ec844 addiu a2, a2, 0x1a24 | a2 += 0x1a24;
0x000ec848 move a1, zero | a1 = 0;
0x000ec84c bal 0xf7988 | sym_debug_output ();
0x000ec850 lw gp, 0x20(sp) | gp = *(var_20h);
0x000ec854 b 0xec338 | goto label_4;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/image2d @ 0xf57c8 */
| #include <stdint.h>
|
; (fcn) sym.purb_setup () | void purb_setup () {
0x000f57c8 lui gp, 0x16 |
0x000f57cc addiu gp, gp, -0x64f8 |
0x000f57d0 addu gp, gp, t9 | gp += t9;
| if (a1 <= 0) {
0x000f57d4 blez a1, 0xf5990 | goto label_3;
| }
0x000f57d8 nop |
0x000f57dc slti v0, a2, 0 | v0 = (a2 < 0) ? 1 : 0;
0x000f57e0 addiu sp, sp, -0x40 |
| if (v0 == 0) {
0x000f57e4 movn a2, zero, v0 | a2 = 0;
| }
0x000f57e8 ext v0, a2, 8, 8 | __asm ("ext v0, a2, 8, 8");
0x000f57ec sw s3, 0x2c(sp) | *(var_2ch) = s3;
0x000f57f0 sll s3, v0, 1 | s3 = v0 << 1;
0x000f57f4 sw s4, 0x30(sp) | *(var_30h) = s4;
0x000f57f8 sw gp, 0x18(sp) | *(var_18h) = gp;
0x000f57fc addu s3, s3, v0 | s3 += v0;
0x000f5800 lui s4, 0x4004 | s4 = imp.g_str_equal;
0x000f5804 sw s6, 0x38(sp) | *(var_38h) = s6;
0x000f5808 sw s5, 0x34(sp) | *(var_34h) = s5;
0x000f580c sw s2, 0x28(sp) | *(var_28h) = s2;
0x000f5810 sw s1, 0x24(sp) | *(var_24h) = s1;
0x000f5814 sw s0, 0x20(sp) | *(var_20h) = s0;
0x000f5818 sw ra, 0x3c(sp) | *(var_3ch) = ra;
0x000f581c move s0, a0 | s0 = a0;
0x000f5820 move s5, a1 | s5 = a1;
0x000f5824 sll s3, s3, 2 | s3 <<= 2;
0x000f5828 addiu s1, a0, 0xa24 | s1 = a0 + 0xa24;
0x000f582c move s2, zero | s2 = 0;
0x000f5830 addiu s4, s4, 0x2a83 | s4 += 0x2a83;
0x000f5834 addiu s6, zero, -1 | s6 = -1;
0x000f5838 b 0xf5898 |
| while (t9 != 0) {
0x000f583c move a1, v0 | a1 = v0;
0x000f5840 jalr t9 | t9 ();
0x000f5844 lw gp, 0x18(sp) | gp = *(var_18h);
0x000f5848 addiu a3, zero, 1 | a3 = 1;
0x000f584c addiu a2, zero, 3 | a2 = 3;
0x000f5850 addiu a1, zero, 0x14 | a1 = 0x14;
0x000f5854 move a0, zero | a0 = 0;
| if (v0 <= 0) {
0x000f5858 blez v0, 0xf58e0 | goto label_4;
| }
| label_0:
0x000f585c lw v1, 0x3c(s0) | v1 = *((s0 + 15));
0x000f5860 lw t9, 0x18(s0) | t9 = *((s0 + 6));
0x000f5864 lwx v1, s3(v1) | __asm ("lwx v1, s3(v1)");
| if (t9 == 0) {
0x000f5868 beqz t9, 0xf5924 | goto label_5;
| }
0x000f586c sw v0, 0x14(sp) | *(var_14h) = v0;
0x000f5870 sw v1, 0x10(sp) | *(var_10h) = v1;
0x000f5874 jalr t9 | t9 ();
0x000f5878 addiu s2, s2, 1 | s2++;
0x000f587c lw gp, 0x18(sp) | gp = *(var_18h);
0x000f5880 sw v0, (s1) | *(s1) = v0;
| if (v0 == s6) {
0x000f5884 beq v0, s6, 0xf5954 | goto label_6;
| }
| label_1:
0x000f5888 addiu v0, zero, 1 | v0 = 1;
0x000f588c sw v0, 4(s1) | *((s1 + 1)) = v0;
0x000f5890 addiu s1, s1, 8 | s1 += 8;
| if (s5 == s2) {
0x000f5894 beq s5, s2, 0xf5964 | goto label_7;
| }
0x000f5898 lw a1, 0x3c(s0) | a1 = *((s0 + 15));
0x000f589c lw t9, 0x14(s0) | t9 = *((s0 + 5));
0x000f58a0 addiu a3, zero, 0x96 | a3 = 0x96;
0x000f58a4 move a2, s4 | a2 = s4;
0x000f58a8 move a0, s0 | a0 = s0;
0x000f58ac lwx v0, s3(a1) | __asm ("lwx v0, s3(a1)");
0x000f58b0 bnez t9, 0xf583c |
| }
0x000f58b4 lw t9, -0x5e00(gp) | t9 = sym.imp.ioctl;
0x000f58b8 move a1, s4 | a1 = s4;
0x000f58bc move a0, v0 | a0 = v0;
0x000f58c0 addiu a2, zero, 0x96 | a2 = 0x96;
0x000f58c4 jalr t9 | t9 ();
0x000f58c8 lw gp, 0x18(sp) | gp = *(var_18h);
0x000f58cc addiu a3, zero, 1 | a3 = 1;
0x000f58d0 addiu a2, zero, 3 | a2 = 3;
0x000f58d4 addiu a1, zero, 0x14 | a1 = 0x14;
0x000f58d8 move a0, zero | a0 = 0;
| if (v0 > 0) {
0x000f58dc bgtz v0, 0xf585c | goto label_0;
| }
| label_4:
0x000f58e0 lw a2, -0x7da8(gp) | a2 = *(gp);
0x000f58e4 lw t9, -0x7f7c(gp) | t9 = sym.debug_output;
| /* str.ioctl_CAM_IOC_PURB_ADD_failed */
0x000f58e8 addiu a2, a2, 0x28cc | a2 += 0x28cc;
| label_2:
0x000f58ec move a1, zero | a1 = 0;
0x000f58f0 addiu a0, zero, 4 | a0 = 4;
0x000f58f4 bal 0xf7988 | sym_debug_output ();
0x000f58f8 lw ra, 0x3c(sp) | ra = *(var_3ch);
0x000f58fc lw s6, 0x38(sp) | s6 = *(var_38h);
0x000f5900 lw s5, 0x34(sp) | s5 = *(var_34h);
0x000f5904 lw s4, 0x30(sp) | s4 = *(var_30h);
0x000f5908 lw s3, 0x2c(sp) | s3 = *(var_2ch);
0x000f590c lw s2, 0x28(sp) | s2 = *(var_28h);
0x000f5910 lw s1, 0x24(sp) | s1 = *(var_24h);
0x000f5914 lw s0, 0x20(sp) | s0 = *(var_20h);
0x000f5918 addiu v0, zero, -1 | v0 = -1;
0x000f591c addiu sp, sp, 0x40 |
0x000f5920 jr ra | return v0;
| label_5:
0x000f5924 lw t9, -0x5bac(gp) | t9 = sym.imp.mmap
0x000f5928 sw v0, 0x14(sp) | *(var_14h) = v0;
0x000f592c sw v1, 0x10(sp) | *(var_10h) = v1;
0x000f5930 addiu a3, zero, 1 | a3 = 1;
0x000f5934 addiu a2, zero, 3 | a2 = 3;
0x000f5938 addiu a1, zero, 0x14 | a1 = 0x14;
0x000f593c move a0, zero | a0 = 0;
0x000f5940 jalr t9 | t9 ();
0x000f5944 addiu s2, s2, 1 | s2++;
0x000f5948 lw gp, 0x18(sp) | gp = *(var_18h);
0x000f594c sw v0, (s1) | *(s1) = v0;
| if (v0 != s6) {
0x000f5950 bne v0, s6, 0xf5888 | goto label_1;
| }
| label_6:
0x000f5954 lw a2, -0x7da8(gp) | a2 = *(gp);
0x000f5958 lw t9, -0x7f7c(gp) | t9 = sym.debug_output;
| /* str.mmap___failed_for_purbs_n */
0x000f595c addiu a2, a2, 0x28ec | a2 += 0x28ec;
0x000f5960 b 0xf58ec | goto label_2;
| label_7:
0x000f5964 lw ra, 0x3c(sp) | ra = *(var_3ch);
0x000f5968 lw s6, 0x38(sp) | s6 = *(var_38h);
0x000f596c lw s5, 0x34(sp) | s5 = *(var_34h);
0x000f5970 lw s4, 0x30(sp) | s4 = *(var_30h);
0x000f5974 lw s3, 0x2c(sp) | s3 = *(var_2ch);
0x000f5978 lw s2, 0x28(sp) | s2 = *(var_28h);
0x000f597c lw s1, 0x24(sp) | s1 = *(var_24h);
0x000f5980 lw s0, 0x20(sp) | s0 = *(var_20h);
0x000f5984 move v0, zero | v0 = 0;
0x000f5988 addiu sp, sp, 0x40 |
0x000f598c jr ra | return v0;
| label_3:
0x000f5990 move v0, zero | v0 = 0;
0x000f5994 jr ra | return v0;
| }
[*] Function mmap used 7 times image2d