[*] Binary protection state of motion
Full RELRO Canary found NX disabled PIE enabled No RPATH No RUNPATH No Symbols
[*] Function fprintf tear down of motion
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/motion @ 0x58a8 */
| #include <stdint.h>
|
; (fcn) sym.light_estimate () | void light_estimate () {
0x000058a8 lui gp, 2 |
0x000058ac addiu gp, gp, 0x6918 |
0x000058b0 addu gp, gp, t9 | gp += t9;
0x000058b4 addiu sp, sp, -0x70 |
0x000058b8 sw s1, 0x4c(sp) | *(var_4ch) = s1;
0x000058bc lw s1, -0x7d80(gp) | s1 = *((gp - 8032));
0x000058c0 sw gp, 0x18(sp) | *(var_18h) = gp;
0x000058c4 sw ra, 0x6c(sp) | *(var_6ch) = ra;
0x000058c8 lw v0, (s1) | v0 = *(s1);
0x000058cc sw fp, 0x68(sp) | *(var_68h) = fp;
0x000058d0 sw s7, 0x64(sp) | *(var_64h) = s7;
0x000058d4 sw s6, 0x60(sp) | *(var_60h) = s6;
0x000058d8 sw s5, 0x5c(sp) | *(var_5ch) = s5;
0x000058dc sw s4, 0x58(sp) | *(var_58h) = s4;
0x000058e0 sw s3, 0x54(sp) | *(var_54h) = s3;
0x000058e4 sw s2, 0x50(sp) | *(var_50h) = s2;
0x000058e8 sw s0, 0x48(sp) | *(var_48h) = s0;
0x000058ec sw v0, 0x44(sp) | *(var_44h) = v0;
0x000058f0 move v0, zero | v0 = 0;
| if (a0 == 0) {
0x000058f4 beqz a0, 0x599c | goto label_2;
| }
0x000058f8 move s0, a1 | s0 = a1;
| if (a1 == 0) {
0x000058fc beqz a1, 0x599c | goto label_2;
| }
0x00005900 lw s2, 4(a0) | s2 = *((a0 + 1));
0x00005904 lw t9, -0x7d3c(gp) | t9 = sym.imp.av_image_read_pixels_c;
0x00005908 move s4, a0 | s4 = a0;
0x0000590c move s5, a2 | s5 = a2;
0x00005910 move a1, s2 | a1 = s2;
0x00005914 move a2, zero | a2 = 0;
0x00005918 move a0, s0 | a0 = s0;
0x0000591c jalr t9 | t9 ();
0x00005920 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00005924 beqz v0, 0x5998 | goto label_0;
| }
0x00005928 lw t9, -0x7d3c(gp) | t9 = sym.imp.av_image_read_pixels_c;
| if (s5 == 0) {
0x0000592c beqz s5, 0x5998 | goto label_0;
| }
0x00005930 move a2, zero | a2 = 0;
0x00005934 move a1, s2 | a1 = s2;
0x00005938 move a0, s5 | a0 = s5;
0x0000593c jalr t9 | t9 ();
0x00005940 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00005944 beqz v0, 0x5998 | goto label_0;
| }
0x00005948 lw t9, -0x7bb8(gp) | t9 = sym.imp.av_image_get_width;
0x0000594c move a0, s0 | a0 = s0;
0x00005950 jalr t9 | t9 ();
0x00005954 lw gp, 0x18(sp) | gp = *(var_18h);
0x00005958 move a0, s0 | a0 = s0;
0x0000595c lw t9, -0x7d94(gp) | t9 = sym.imp.av_image_get_height;
0x00005960 move s3, v0 | s3 = v0;
0x00005964 jalr t9 | t9 ();
0x00005968 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000596c move a0, s5 | a0 = s5;
0x00005970 lw t9, -0x7bb8(gp) | t9 = sym.imp.av_image_get_width;
0x00005974 move s6, v0 | s6 = v0;
0x00005978 jalr t9 | t9 ();
0x0000597c lw gp, 0x18(sp) | gp = *(var_18h);
| if (s3 != v0) {
0x00005980 bne s3, v0, 0x5998 | goto label_0;
| }
0x00005984 lw t9, -0x7d94(gp) | t9 = sym.imp.av_image_get_height;
0x00005988 move a0, s5 | a0 = s5;
0x0000598c jalr t9 | t9 ();
0x00005990 lw gp, 0x18(sp) | gp = *(var_18h);
0x00005994 beq s6, v0, 0x59d8 |
| while (s3 != v0) {
| label_0:
0x00005998 move v0, zero | v0 = 0;
| label_2:
0x0000599c lw a0, 0x44(sp) | a0 = *(var_44h);
0x000059a0 lw v1, (s1) | v1 = *(s1);
0x000059a4 lw ra, 0x6c(sp) | ra = *(var_6ch);
| if (a0 != v1) {
0x000059a8 bne a0, v1, 0x5d6c | goto label_5;
| }
0x000059ac lw fp, 0x68(sp) | fp = *(var_68h);
0x000059b0 lw s7, 0x64(sp) | s7 = *(var_64h);
0x000059b4 lw s6, 0x60(sp) | s6 = *(var_60h);
0x000059b8 lw s5, 0x5c(sp) | s5 = *(var_5ch);
0x000059bc lw s4, 0x58(sp) | s4 = *(var_58h);
0x000059c0 lw s3, 0x54(sp) | s3 = *(var_54h);
0x000059c4 lw s2, 0x50(sp) | s2 = *(var_50h);
0x000059c8 lw s1, 0x4c(sp) | s1 = *(var_4ch);
0x000059cc lw s0, 0x48(sp) | s0 = *(var_48h);
0x000059d0 addiu sp, sp, 0x70 |
0x000059d4 jr ra | return v0;
0x000059d8 lw t9, -0x7d18(gp) | t9 = sym.imp.av_image_get_type_c;
0x000059dc move a1, s2 | a1 = s2;
0x000059e0 move a0, s0 | a0 = s0;
0x000059e4 jalr t9 | t9 ();
0x000059e8 move s3, v0 | s3 = v0;
0x000059ec addiu v0, zero, 5 | v0 = 5;
0x000059f0 lw gp, 0x18(sp) | gp = *(var_18h);
0x000059f4 bne s3, v0, 0x5998 |
| }
0x000059f8 lw t9, -0x7d18(gp) | t9 = sym.imp.av_image_get_type_c;
0x000059fc move a1, s2 | a1 = s2;
0x00005a00 move a0, s5 | a0 = s5;
0x00005a04 jalr t9 | t9 ();
0x00005a08 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != s3) {
0x00005a0c bne v0, s3, 0x5998 | goto label_0;
| }
0x00005a10 lw t9, -0x7ce8(gp) | t9 = sym.imp.av_image_get_lod;
0x00005a14 move a0, s0 | a0 = s0;
0x00005a18 lw s6, 4(s4) | s6 = *((s4 + 1));
0x00005a1c jalr t9 | t9 ();
0x00005a20 lw gp, 0x18(sp) | gp = *(var_18h);
0x00005a24 move a2, zero | a2 = 0;
0x00005a28 move a1, v0 | a1 = v0;
0x00005a2c lw t9, -0x7e64(gp) | t9 = sym.imp.av_image_copy;
0x00005a30 move a0, s0 | a0 = s0;
0x00005a34 jalr t9 | t9 ();
0x00005a38 lw gp, 0x18(sp) | gp = *(var_18h);
0x00005a3c move a3, zero | a3 = 0;
0x00005a40 addiu a2, zero, 0x22 | a2 = 0x22;
0x00005a44 lw t9, -0x7cd4(gp) | t9 = sym.imp.av_pixop_single;
0x00005a48 move a1, s6 | a1 = s6;
0x00005a4c move a0, v0 | a0 = v0;
0x00005a50 sw v0, 0x2c(sp) | *(var_2ch) = v0;
0x00005a54 move s3, v0 | s3 = v0;
0x00005a58 jalr t9 | t9 ();
0x00005a5c lw gp, 0x18(sp) | gp = *(var_18h);
0x00005a60 lw t9, -0x7ce8(gp) | t9 = sym.imp.av_image_get_lod;
0x00005a64 move a0, s5 | a0 = s5;
0x00005a68 jalr t9 | t9 ();
0x00005a6c lw gp, 0x18(sp) | gp = *(var_18h);
0x00005a70 move a2, zero | a2 = 0;
0x00005a74 move a1, v0 | a1 = v0;
0x00005a78 lw t9, -0x7e64(gp) | t9 = sym.imp.av_image_copy;
0x00005a7c move a0, s5 | a0 = s5;
0x00005a80 jalr t9 | t9 ();
0x00005a84 lw gp, 0x18(sp) | gp = *(var_18h);
0x00005a88 move a3, zero | a3 = 0;
0x00005a8c addiu a2, zero, 0x22 | a2 = 0x22;
0x00005a90 lw t9, -0x7cd4(gp) | t9 = sym.imp.av_pixop_single;
0x00005a94 move a1, s6 | a1 = s6;
0x00005a98 move a0, v0 | a0 = v0;
0x00005a9c sw v0, 0x30(sp) | *(var_30h) = v0;
0x00005aa0 move s2, v0 | s2 = v0;
0x00005aa4 jalr t9 | t9 ();
0x00005aa8 lw gp, 0x18(sp) | gp = *(var_18h);
0x00005aac addiu v0, zero, 0x27 | v0 = 0x27;
0x00005ab0 move a3, zero | a3 = 0;
0x00005ab4 lw t9, -0x7c30(gp) | t9 = sym.imp.av_pixop_double;
0x00005ab8 move a1, s2 | a1 = s2;
0x00005abc move a0, s3 | a0 = s3;
0x00005ac0 move a2, s6 | a2 = s6;
0x00005ac4 sw zero, 0x14(sp) | *(var_14h) = 0;
0x00005ac8 sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x00005acc jalr t9 | t9 ();
0x00005ad0 lw gp, 0x18(sp) | gp = *(var_18h);
0x00005ad4 addiu a2, sp, 0x38 | a2 = sp + 0x38;
0x00005ad8 move a1, s6 | a1 = s6;
0x00005adc lw t9, -0x7d3c(gp) | t9 = sym.imp.av_image_read_pixels_c;
0x00005ae0 move a0, s0 | a0 = s0;
0x00005ae4 sw v0, 0x34(sp) | *(var_34h) = v0;
0x00005ae8 move s2, v0 | s2 = v0;
0x00005aec jalr t9 | t9 ();
0x00005af0 lw gp, 0x18(sp) | gp = *(var_18h);
0x00005af4 addiu a2, sp, 0x3c | a2 = sp + 0x3c;
0x00005af8 move a1, s6 | a1 = s6;
0x00005afc lw t9, -0x7d3c(gp) | t9 = sym.imp.av_image_read_pixels_c;
0x00005b00 move a0, s5 | a0 = s5;
0x00005b04 move s7, v0 | s7 = v0;
0x00005b08 jalr t9 | t9 ();
0x00005b0c lw gp, 0x18(sp) | gp = *(var_18h);
0x00005b10 addiu a2, sp, 0x40 | a2 = sp + 0x40;
0x00005b14 move a1, s6 | a1 = s6;
0x00005b18 lw t9, -0x7d3c(gp) | t9 = sym.imp.av_image_read_pixels_c;
0x00005b1c move a0, s2 | a0 = s2;
0x00005b20 move s2, v0 | s2 = v0;
0x00005b24 jalr t9 | t9 ();
0x00005b28 lw gp, 0x18(sp) | gp = *(var_18h);
0x00005b2c move a0, s0 | a0 = s0;
0x00005b30 lw t9, -0x7bb8(gp) | t9 = sym.imp.av_image_get_width;
0x00005b34 move s3, v0 | s3 = v0;
0x00005b38 jalr t9 | t9 ();
0x00005b3c lw gp, 0x18(sp) | gp = *(var_18h);
0x00005b40 move a0, s0 | a0 = s0;
0x00005b44 lw t9, -0x7d94(gp) | t9 = sym.imp.av_image_get_height;
0x00005b48 sw v0, 0x24(sp) | *(var_24h_2) = v0;
0x00005b4c jalr t9 | t9 ();
0x00005b50 lw gp, 0x18(sp) | gp = *(var_18h);
0x00005b54 lw a0, (s4) | a0 = *(s4);
0x00005b58 lw t9, -0x7f6c(gp) | t9 = sym.hist_clear;
0x00005b5c sw v0, 0x20(sp) | *(var_20h) = v0;
0x00005b60 bal 0x8574 | sym_hist_clear ();
0x00005b64 lw v0, 0x20(sp) | v0 = *(var_20h);
0x00005b68 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 <= 0) {
0x00005b6c blez v0, 0x5c40 | goto label_6;
| }
0x00005b70 lw a2, 0x24(sp) | a2 = *(var_24h_2);
0x00005b74 move fp, zero | fp = 0;
0x00005b78 ori t2, zero, 0xffff | t2 = 0xffff;
0x00005b7c lw s0, 0x38(sp) | s0 = *(var_38h);
| label_1:
0x00005b80 lw s6, 0x3c(sp) | s6 = *(var_3ch);
0x00005b84 lw a1, 0x40(sp) | a1 = *(var_40h);
0x00005b88 mul s0, fp, s0 | __asm ("mul s0, fp, s0");
0x00005b8c mul s6, fp, s6 | __asm ("mul s6, fp, s6");
0x00005b90 mul a1, fp, a1 | __asm ("mul a1, fp, a1");
| if (a2 <= 0) {
0x00005b94 blez a2, 0x5c34 | goto label_7;
| }
0x00005b98 addu s5, a2, s0 | s5 = a2 + s0;
0x00005b9c subu s6, s6, s0 | __asm ("subu s6, s6, s0");
0x00005ba0 subu a1, a1, s0 | __asm ("subu a1, a1, s0");
0x00005ba4 lbux v1, s0(s7) | __asm ("lbux v1, s0(s7)");
| do {
0x00005ba8 addiu v1, v1, -0xb | v1 += -0xb;
0x00005bac sltiu v1, v1, 0xe5 | v1 = (v1 < 0xe5) ? 1 : 0;
| if (v1 != 0) {
0x00005bb0 beql v1, zero, 0x5c2c |
0x00005bb4 addiu s0, s0, 1 | s0++;
0x00005bb8 addu v1, s6, s0 | v1 = s6 + s0;
0x00005bbc lbux v1, v1(s2) | __asm ("lbux v1, v1(s2)");
0x00005bc0 addiu v1, v1, -0xb | v1 += -0xb;
0x00005bc4 andi v1, v1, 0xff | v1 &= 0xff;
0x00005bc8 sltiu v1, v1, 0xe5 | v1 = (v1 < 0xe5) ? 1 : 0;
| if (v1 == 0) {
0x00005bcc beql v1, zero, 0x5c2c | goto label_8;
| }
0x00005bd0 addiu s0, s0, 1 | s0++;
0x00005bd4 addu v1, a1, s0 | v1 = a1 + s0;
0x00005bd8 lw a0, (s4) | a0 = *(s4);
0x00005bdc lbux v1, v1(s3) | __asm ("lbux v1, v1(s3)");
0x00005be0 lw t4, (a0) | t4 = *(a0);
0x00005be4 sll t3, v1, 2 | t3 = v1 << 2;
0x00005be8 slt v1, t3, t4 | v1 = (t3 < t4) ? 1 : 0;
0x00005bec lw t3, 0xc(a0) | t3 = *((a0 + 3));
| if (v1 == 0) {
0x00005bf0 bnel v1, zero, 0x5d1c | goto label_9;
| }
0x00005bf4 lw t5, 4(a0) | t5 = *((a0 + 1));
0x00005bf8 slt v1, t3, t5 | v1 = (t3 < t5) ? 1 : 0;
| if (v1 != 0) {
0x00005bfc movz t3, t5, v1 | t3 = t5;
| }
0x00005c00 subu v1, t3, t4 | __asm ("subu v1, t3, t4");
0x00005c04 lw t3, 0xc(a0) | t3 = *((a0 + 3));
0x00005c08 srav v1, v1, t3 | __asm ("srav v1, v1, t3");
0x00005c0c sll v1, v1, 1 | v1 <<= 1;
0x00005c10 addu v1, a0, v1 | v1 = a0 + v1;
0x00005c14 lhu t3, 0x10(v1) | t3 = *((v1 + 8));
0x00005c18 addiu t3, t3, 1 | t3++;
0x00005c1c andi t3, t3, 0xffff | t3 &= 0xffff;
0x00005c20 sh t3, 0x10(v1) | *((v1 + 8)) = t3;
| if (t3 == t2) {
0x00005c24 beq t3, t2, 0x5d40 | goto label_10;
| }
| label_3:
0x00005c28 addiu s0, s0, 1 | s0++;
| }
| label_8:
0x00005c2c lbux v1, s0(s7) | __asm ("lbux v1, s0(s7)");
0x00005c30 bnel s0, s5, 0x5ba8 |
| } while (s0 == s5);
| label_7:
0x00005c34 addiu fp, fp, 1 | fp++;
0x00005c38 lw s0, 0x38(sp) | s0 = *(var_38h);
| if (v0 == fp) {
0x00005c3c bnel v0, fp, 0x5b80 | goto label_1;
| }
| label_6:
0x00005c40 lw t9, -0x7cb0(gp) | t9 = sym.imp.av_image_delete;
0x00005c44 lw a0, 0x2c(sp) | a0 = *(var_2ch);
0x00005c48 jalr t9 | t9 ();
0x00005c4c lw gp, 0x18(sp) | gp = *(var_18h);
0x00005c50 lw t9, -0x7cb0(gp) | t9 = sym.imp.av_image_delete;
0x00005c54 lw a0, 0x30(sp) | a0 = *(var_30h);
0x00005c58 jalr t9 | t9 ();
0x00005c5c lw gp, 0x18(sp) | gp = *(var_18h);
0x00005c60 lw t9, -0x7cb0(gp) | t9 = sym.imp.av_image_delete;
0x00005c64 lw a0, 0x34(sp) | a0 = *(var_34h);
0x00005c68 jalr t9 | t9 ();
0x00005c6c lw gp, 0x18(sp) | gp = *(var_18h);
0x00005c70 lw t9, -0x7f68(gp) | t9 = sym.hist_peak;
0x00005c74 lw a0, (s4) | a0 = *(s4);
0x00005c78 bal 0x85a4 | sym_hist_peak ();
0x00005c7c lw gp, 0x18(sp) | gp = *(var_18h);
0x00005c80 lw t9, -0x7f9c(gp) | t9 = *(gp);
0x00005c84 move a0, v0 | a0 = v0;
0x00005c88 bal 0xf6f0 | fcn_0000f6f0 ();
0x00005c8c lw gp, 0x18(sp) | gp = *(var_18h);
0x00005c90 move a0, v0 | a0 = v0;
0x00005c94 lw v0, -0x7fd8(gp) | v0 = *(gp);
0x00005c98 lw t9, -0x7fcc(gp) | t9 = *(gp);
0x00005c9c lw a1, 0xe24(v0) | a1 = *((v0 + 905));
0x00005ca0 bal 0xee40 | fcn_0000ee40 ();
0x00005ca4 lw gp, 0x18(sp) | gp = *(var_18h);
0x00005ca8 move a0, v0 | a0 = v0;
0x00005cac lw v0, -0x7fd8(gp) | v0 = *(gp);
0x00005cb0 lw t9, -0x7f64(gp) | t9 = *(gp);
0x00005cb4 lw a1, 0xe28(v0) | a1 = *((v0 + 906));
0x00005cb8 bal 0xf170 | fcn_0000f170 ();
0x00005cbc lw gp, 0x18(sp) | gp = *(var_18h);
0x00005cc0 lw t9, -0x7f60(gp) | t9 = *(gp);
0x00005cc4 move a0, v0 | a0 = v0;
0x00005cc8 bal 0xfdc0 | fcn_0000fdc0 ();
0x00005ccc lw gp, 0x18(sp) | gp = *(var_18h);
0x00005cd0 move a0, v0 | a0 = v0;
0x00005cd4 move a1, v1 | a1 = v1;
0x00005cd8 lw v0, -0x7fd8(gp) | v0 = *(gp);
0x00005cdc lw t9, -0x7f5c(gp) | t9 = *(gp);
0x00005ce0 lw a2, 0xe30(v0) | a2 = *((v0 + 908));
0x00005ce4 lw a3, 0xe34(v0) | a3 = *((v0 + 909));
0x00005ce8 bal 0xf820 | fcn_0000f820 ();
0x00005cec lw gp, 0x18(sp) | gp = *(var_18h);
0x00005cf0 move a0, v0 | a0 = v0;
0x00005cf4 lw t9, -0x7ccc(gp) | t9 = sym.imp.exp;
0x00005cf8 move a1, v1 | a1 = v1;
0x00005cfc jalr t9 | t9 ();
0x00005d00 lw gp, 0x18(sp) | gp = *(var_18h);
0x00005d04 move a0, v0 | a0 = v0;
0x00005d08 lw t9, -0x7f58(gp) | t9 = *(gp);
0x00005d0c move a1, v1 | a1 = v1;
0x00005d10 bal 0xff00 | fcn_0000ff00 ();
0x00005d14 lw gp, 0x18(sp) | gp = *(var_18h);
0x00005d18 b 0x599c | goto label_2;
| label_9:
0x00005d1c move v1, zero | v1 = 0;
0x00005d20 srav v1, v1, t3 | __asm ("srav v1, v1, t3");
0x00005d24 sll v1, v1, 1 | v1 <<= 1;
0x00005d28 addu v1, a0, v1 | v1 = a0 + v1;
0x00005d2c lhu t3, 0x10(v1) | t3 = *((v1 + 8));
0x00005d30 addiu t3, t3, 1 | t3++;
0x00005d34 andi t3, t3, 0xffff | t3 &= 0xffff;
0x00005d38 sh t3, 0x10(v1) | *((v1 + 8)) = t3;
| if (t3 != t2) {
0x00005d3c bne t3, t2, 0x5c28 | goto label_3;
| }
| label_10:
0x00005d40 lw t9, -0x7f54(gp) | t9 = sym.hist_rescale;
0x00005d44 sw a1, 0x28(sp) | *(var_28h) = a1;
0x00005d48 sw v0, 0x24(sp) | *(var_24h_2) = v0;
0x00005d4c sw a2, 0x20(sp) | *(var_20h) = a2;
0x00005d50 bal 0x8738 | sym_hist_rescale ();
0x00005d54 lw gp, 0x18(sp) | gp = *(var_18h);
0x00005d58 ori t2, zero, 0xffff | t2 = 0xffff;
0x00005d5c lw a1, 0x28(sp) | a1 = *(var_28h);
0x00005d60 lw v0, 0x24(sp) | v0 = *(var_24h_2);
0x00005d64 lw a2, 0x20(sp) | a2 = *(var_20h);
0x00005d68 b 0x5c28 | goto label_3;
| label_5:
0x00005d6c lw t9, -0x7df4(gp) | t9 = sym.imp.__stack_chk_fail;
0x00005d70 jalr t9 | t9 ();
0x00005d74 nop |
0x00005d78 nop |
0x00005d7c nop |
0x00005d80 lui gp, 2 |
0x00005d84 addiu gp, gp, 0x6440 |
0x00005d88 addu gp, gp, t9 | gp += t9;
0x00005d8c addiu sp, sp, -0x28 |
0x00005d90 sw gp, 0x18(sp) | *(var_18h_2) = gp;
0x00005d94 sw ra, 0x24(sp) | *(var_24h) = ra;
0x00005d98 move v0, a2 | v0 = a2;
0x00005d9c beqz a2, 0x5dd8 |
| while (1) {
| label_4:
0x00005da0 lw a3, -0x7fdc(gp) | a3 = *((gp - 8183));
0x00005da4 sll a0, a0, 2 | a0 <<= 2;
| /* section..data.rel.ro */
0x00005da8 addiu a3, a3, 0x3fc4 | a3 += 0x3fc4;
0x00005dac lw a2, -0x7fd8(gp) | a2 = *(gp);
0x00005db0 lw t9, -0x7bf8(gp) | t9 = sym.imp.__fprintf_chk
0x00005db4 lwx a3, a0(a3) | __asm ("lwx a3, a0(a3)");
0x00005db8 sw a1, 0x10(sp) | *(var_10h) = a1;
| /* esilref: '&s&s
' */
0x00005dbc addiu a2, a2, 0xe38 | a2 += 0xe38;
0x00005dc0 addiu a1, zero, 1 | a1 = 1;
0x00005dc4 move a0, v0 | a0 = v0;
0x00005dc8 jalr t9 | t9 ();
0x00005dcc lw ra, 0x24(sp) | ra = *(var_24h);
0x00005dd0 addiu sp, sp, 0x28 |
0x00005dd4 jr ra | return v0;
| if (a0 == 0) {
0x00005dd8 beql a0, zero, 0x5dec | goto label_11;
| }
0x00005ddc lw v0, -0x7e38(gp) | v0 = *((gp - 8078));
0x00005de0 lw v0, -0x7d58(gp) | v0 = *((gp - 8022));
0x00005de4 lw v0, (v0) | v0 = *(v0);
0x00005de8 b 0x5da0 |
| }
| label_11:
0x00005dec lw v0, (v0) | v0 = *(v0);
0x00005df0 b 0x5da0 | goto label_4;
| }
[*] Function fprintf used 2 times motion