[*] Binary protection state of start-stop-daemon.dpkg
Full RELRO Canary found NX disabled PIE enabled No RPATH No RUNPATH No Symbols
[*] Function fprintf tear down of start-stop-daemon.dpkg
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/start-stop-daemon.dpkg @ 0x36e0 */
| #include <stdint.h>
|
; (fcn) fcn.000036e0 () | void fcn_000036e0 () {
0x000036e0 lui gp, 2 |
0x000036e4 addiu gp, gp, -0x2480 |
0x000036e8 addu gp, gp, t9 | gp += t9;
0x000036ec addiu sp, sp, -0x30 |
0x000036f0 sw gp, 0x18(sp) | *(var_18h) = gp;
0x000036f4 sw ra, 0x2c(sp) | *(var_2ch) = ra;
0x000036f8 sw s1, 0x28(sp) | *(var_28h) = s1;
0x000036fc sw s0, 0x24(sp) | *(var_24h) = s0;
0x00003700 lw a2, -0x7fd8(gp) | a2 = *(gp);
| if (a0 == 0) {
0x00003704 beqz a0, 0x3770 | goto label_0;
| }
0x00003708 lw s1, -0x7fdc(gp) | s1 = *((gp - 8183));
0x0000370c lw s0, -0x7e50(gp) | s0 = *((gp - 8084));
0x00003710 move v0, a0 | v0 = a0;
0x00003714 lw t9, -0x7f70(gp) | t9 = sym.imp.__fprintf_chk
0x00003718 lw a0, (s0) | a0 = *(s0);
0x0000371c lw a3, -0x6db0(s1) | a3 = *((s1 - 7020));
0x00003720 sw v0, 0x10(sp) | *(var_10h_9) = v0;
0x00003724 addiu a2, a2, 0x6024 | a2 += str._s:__s_n;
0x00003728 addiu a1, zero, 1 | a1 = 1;
0x0000372c jalr t9 | t9 ();
0x00003730 lw gp, 0x18(sp) | gp = *(var_18h);
| do {
0x00003734 lw a2, -0x7fd8(gp) | a2 = *(gp);
0x00003738 lw t9, -0x7f70(gp) | t9 = sym.imp.__fprintf_chk
0x0000373c lw a3, -0x6db0(s1) | a3 = *((s1 - 7020));
0x00003740 lw a0, (s0) | a0 = *(s0);
0x00003744 addiu a2, a2, 0x602c | a2 += str.Try__s___help_for_more_information._n;
0x00003748 addiu a1, zero, 1 | a1 = 1;
0x0000374c jalr t9 | t9 ();
0x00003750 lw gp, 0x18(sp) | gp = *(var_18h);
0x00003754 addiu v0, zero, 3 | v0 = 3;
0x00003758 lw v1, -0x7fdc(gp) | v1 = *((gp - 8183));
0x0000375c lw v1, -0x6a94(v1) | v1 = *((v1 - 6821));
0x00003760 lw t9, -0x7ed0(gp) | t9 = *(gp);
| if (v1 == v0) {
0x00003764 beq v1, v0, 0x377c | goto label_1;
| }
0x00003768 addiu a0, zero, 3 | a0 = 3;
0x0000376c jalr t9 | t9 ();
| label_0:
0x00003770 lw s1, -0x7fdc(gp) | s1 = *((gp - 8183));
0x00003774 lw s0, -0x7e50(gp) | s0 = *((gp - 8084));
0x00003778 b 0x3734 |
| } while (1);
| label_1:
0x0000377c addiu a0, zero, 4 | a0 = 4;
0x00003780 jalr t9 | t9 ();
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/start-stop-daemon.dpkg @ 0x3784 */
| #include <stdint.h>
|
; (fcn) fcn.00003784 () | void fcn_00003784 () {
0x00003784 lui gp, 2 |
0x00003788 addiu gp, gp, -0x2524 |
0x0000378c addu gp, gp, t9 | gp += t9;
0x00003790 addiu sp, sp, -0x30 |
0x00003794 lw v1, -0x7fdc(gp) | v1 = *((gp - 8183));
0x00003798 sw s1, 0x24(sp) | *(var_24h_2) = s1;
0x0000379c sw s0, 0x20(sp) | *(var_20h) = s0;
0x000037a0 lw s1, -0x7e50(gp) | s1 = *((gp - 8084));
0x000037a4 lw s0, -0x7e64(gp) | s0 = *((gp - 8089));
0x000037a8 sw a3, 0x3c(sp) | *(var_3ch) = a3;
0x000037ac sw s2, 0x28(sp) | *(var_28h_2) = s2;
0x000037b0 lw v0, (s0) | v0 = *(s0);
0x000037b4 move s2, a0 | s2 = a0;
0x000037b8 lw a0, (s1) | a0 = *(s1);
0x000037bc sw a2, 0x38(sp) | *(var_38h) = a2;
0x000037c0 lw a2, -0x7fd8(gp) | a2 = *(gp);
0x000037c4 lw a3, -0x6db0(v1) | a3 = *((v1 - 7020));
0x000037c8 lw t9, -0x7f70(gp) | t9 = sym.imp.__fprintf_chk
0x000037cc sw gp, 0x10(sp) | *(var_10h) = gp;
0x000037d0 sw ra, 0x2c(sp) | *(var_2ch_2) = ra;
0x000037d4 sw a1, 0x34(sp) | *(var_34h) = a1;
0x000037d8 addiu a2, a2, 0x6054 | a2 += str._s:_warning:_;
0x000037dc addiu a1, zero, 1 | a1 = 1;
0x000037e0 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x000037e4 jalr t9 | t9 ();
0x000037e8 nop |
0x000037ec lw gp, 0x10(sp) | gp = *(var_10h);
0x000037f0 addiu a3, sp, 0x34 | a3 = sp + 0x34;
0x000037f4 lw a0, (s1) | a0 = *(s1);
0x000037f8 lw t9, -0x7e40(gp) | t9 = *(gp);
0x000037fc sw a3, 0x18(sp) | *(var_18h_2) = a3;
0x00003800 move a2, s2 | a2 = s2;
0x00003804 addiu a1, zero, 1 | a1 = 1;
0x00003808 jalr t9 | t9 ();
0x0000380c lw v1, 0x1c(sp) | v1 = *(var_1ch);
0x00003810 lw v0, (s0) | v0 = *(s0);
0x00003814 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v1 == v0) {
0x00003818 bne v1, v0, 0x3834 |
0x0000381c lw ra, 0x2c(sp) | ra = *(var_2ch_2);
0x00003820 lw s2, 0x28(sp) | s2 = *(var_28h_2);
0x00003824 lw s1, 0x24(sp) | s1 = *(var_24h_2);
0x00003828 lw s0, 0x20(sp) | s0 = *(var_20h);
0x0000382c addiu sp, sp, 0x30 |
0x00003830 jr ra | return v1;
| }
0x00003834 lw t9, -0x7e78(gp) | t9 = sym.imp.__stack_chk_fail;
0x00003838 jalr t9 | t9 ();
0x0000383c nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/start-stop-daemon.dpkg @ 0x3840 */
| #include <stdint.h>
|
; (fcn) fcn.00003840 () | void fcn_00003840 () {
0x00003840 lui gp, 2 |
0x00003844 addiu gp, gp, -0x25e0 |
0x00003848 addu gp, gp, t9 | gp += t9;
0x0000384c addiu sp, sp, -0x30 |
0x00003850 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00003854 sw s0, 0x1c(sp) | *(var_1ch_2) = s0;
0x00003858 lw s0, -0x7e50(gp) | s0 = *((gp - 8084));
0x0000385c sw s3, 0x28(sp) | *(var_28h_3) = s3;
0x00003860 move s3, a2 | s3 = a2;
0x00003864 lw a2, -0x7fd8(gp) | a2 = *(gp);
0x00003868 lw t9, -0x7f70(gp) | t9 = sym.imp.__fprintf_chk
0x0000386c sw s1, 0x20(sp) | *(var_20h_2) = s1;
0x00003870 lw a3, -0x6db0(v0) | a3 = *((v0 - 7020));
0x00003874 move s1, a0 | s1 = a0;
0x00003878 lw a0, (s0) | a0 = *(s0);
0x0000387c sw gp, 0x10(sp) | *(var_10h_2) = gp;
0x00003880 sw ra, 0x2c(sp) | *(var_2ch_3) = ra;
0x00003884 sw s2, 0x24(sp) | *(var_24h_3) = s2;
0x00003888 addiu a2, a2, 0x6064 | a2 += str._s:_;
0x0000388c move s2, a1 | s2 = a1;
0x00003890 addiu a1, zero, 1 | a1 = 1;
0x00003894 jalr t9 | t9 ();
0x00003898 lw gp, 0x10(sp) | gp = *(var_10h_2);
0x0000389c lw a0, (s0) | a0 = *(s0);
0x000038a0 move a3, s3 | a3 = s3;
0x000038a4 lw t9, -0x7e40(gp) | t9 = *(gp);
0x000038a8 move a2, s2 | a2 = s2;
0x000038ac addiu a1, zero, 1 | a1 = 1;
0x000038b0 jalr t9 | t9 ();
0x000038b4 lw gp, 0x10(sp) | gp = *(var_10h_2);
| if (s1 == 0) {
0x000038b8 beqz s1, 0x390c | goto label_0;
| }
0x000038bc lw t9, -0x7ec0(gp) | t9 = *(gp);
0x000038c0 move a0, s1 | a0 = s1;
0x000038c4 lw s0, (s0) | s0 = *(s0);
0x000038c8 jalr t9 | t9 ();
0x000038cc lw gp, 0x10(sp) | gp = *(var_10h_2);
0x000038d0 move a3, v0 | a3 = v0;
0x000038d4 addiu a1, zero, 1 | a1 = 1;
0x000038d8 lw a2, -0x7fd8(gp) | a2 = *(gp);
0x000038dc lw t9, -0x7f70(gp) | t9 = sym.imp.__fprintf_chk
0x000038e0 addiu a2, a2, 0x606c | a2 += str.___s__n;
0x000038e4 move a0, s0 | a0 = s0;
0x000038e8 jalr t9 | t9 ();
0x000038ec lw gp, 0x10(sp) | gp = *(var_10h_2);
| do {
0x000038f0 lw v1, -0x7fdc(gp) | v1 = *((gp - 8183));
0x000038f4 addiu v0, zero, 3 | v0 = 3;
0x000038f8 lw v1, -0x6a94(v1) | v1 = *((v1 - 6821));
0x000038fc lw t9, -0x7ed0(gp) | t9 = *(gp);
| if (v1 == v0) {
0x00003900 beq v1, v0, 0x3924 | goto label_1;
| }
0x00003904 addiu a0, zero, 2 | a0 = 2;
0x00003908 jalr t9 | t9 ();
| label_0:
0x0000390c lw t9, -0x7f50(gp) | t9 = sym.imp.fputc;
0x00003910 lw a1, (s0) | a1 = *(s0);
0x00003914 addiu a0, zero, 0xa | a0 = 0xa;
0x00003918 jalr t9 | t9 ();
0x0000391c lw gp, 0x10(sp) | gp = *(var_10h_2);
0x00003920 b 0x38f0 |
| } while (1);
| label_1:
0x00003924 addiu a0, zero, 4 | a0 = 4;
0x00003928 jalr t9 | t9 ();
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/start-stop-daemon.dpkg @ 0x3c94 */
| #include <stdint.h>
|
; (fcn) fcn.00003c94 () | void fcn_00003c94 () {
0x00003c94 lui gp, 2 |
0x00003c98 addiu gp, gp, -0x2a34 |
0x00003c9c addu gp, gp, t9 | gp += t9;
0x00003ca0 addiu sp, sp, -0x28 |
0x00003ca4 lw t9, -0x7ef8(gp) | t9 = *(gp);
0x00003ca8 sw s1, 0x1c(sp) | *(var_1ch) = s1;
0x00003cac move s1, a1 | s1 = a1;
0x00003cb0 lui a1, 2 | a1 = 0x20000;
0x00003cb4 sw gp, 0x10(sp) | *(var_10h) = gp;
0x00003cb8 sw s2, 0x20(sp) | *(var_20h) = s2;
0x00003cbc sw ra, 0x24(sp) | *(var_24h) = ra;
0x00003cc0 sw s0, 0x18(sp) | *(var_18h) = s0;
0x00003cc4 addiu a2, zero, 0x1b6 | a2 = 0x1b6;
0x00003cc8 addiu a1, a1, 0x301 | a1 += 0x301;
0x00003ccc move s2, a0 | s2 = a0;
0x00003cd0 jalr t9 | t9 ();
0x00003cd4 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 >= 0) {
0x00003cd8 bltz v0, 0x3d48 |
0x00003cdc lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00003ce0 lw t9, -0x7e34(gp) | t9 = sym.imp.fdopen;
0x00003ce4 addiu a1, a1, 0x60d0 | a1 += 0x60d0;
0x00003ce8 move a0, v0 | a0 = v0;
0x00003cec jalr t9 | t9 ();
0x00003cf0 move s0, v0 | s0 = v0;
0x00003cf4 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x00003cf8 beqz v0, 0x3d48 | goto label_0;
| }
0x00003cfc lw a2, -0x7fd8(gp) | a2 = *(gp);
0x00003d00 lw t9, -0x7f70(gp) | t9 = sym.imp.__fprintf_chk
0x00003d04 move a3, s1 | a3 = s1;
0x00003d08 addiu a2, a2, 0x60d4 | a2 += 0x60d4;
0x00003d0c addiu a1, zero, 1 | a1 = 1;
0x00003d10 move a0, v0 | a0 = v0;
0x00003d14 jalr t9 | t9 ();
0x00003d18 lw gp, 0x10(sp) | gp = *(var_10h);
0x00003d1c lw t9, -0x7f5c(gp) | t9 = sym.imp.fclose;
0x00003d20 move a0, s0 | a0 = s0;
0x00003d24 jalr t9 | t9 ();
0x00003d28 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 != 0) {
0x00003d2c bnez v0, 0x3d60 | goto label_1;
| }
0x00003d30 lw ra, 0x24(sp) | ra = *(var_24h);
0x00003d34 lw s2, 0x20(sp) | s2 = *(var_20h);
0x00003d38 lw s1, 0x1c(sp) | s1 = *(var_1ch);
0x00003d3c lw s0, 0x18(sp) | s0 = *(var_18h);
0x00003d40 addiu sp, sp, 0x28 |
0x00003d44 jr ra | return v0;
| }
| label_0:
0x00003d48 lw a0, -0x7fd8(gp) | a0 = *(gp);
0x00003d4c lw t9, -0x7fd8(gp) | t9 = *(gp);
0x00003d50 move a1, s2 | a1 = s2;
0x00003d54 addiu t9, t9, 0x392c | t9 += fcn.0000392c;
0x00003d58 addiu a0, a0, 0x60a8 | a0 += str.unable_to_open_pidfile__s_for_writing;
0x00003d5c bal 0x392c | fcn_0000392c ();
| label_1:
0x00003d60 lw a0, -0x7fd8(gp) | a0 = *(gp);
0x00003d64 lw t9, -0x7fd8(gp) | t9 = *(gp);
0x00003d68 move a1, s2 | a1 = s2;
0x00003d6c addiu t9, t9, 0x392c | t9 += fcn.0000392c;
0x00003d70 addiu a0, a0, 0x60d8 | a0 += str.unable_to_close_pidfile__s;
0x00003d74 bal 0x392c | return fcn_0000392c ();
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/start-stop-daemon.dpkg @ 0x4e40 */
| #include <stdint.h>
|
; (fcn) fcn.00004e40 () | void fcn_00004e40 () {
0x00004e40 lui gp, 2 |
0x00004e44 addiu gp, gp, -0x3be0 |
0x00004e48 addu gp, gp, t9 | gp += t9;
0x00004e4c lw v0, -0x7e64(gp) | v0 = *((gp - 8089));
0x00004e50 addiu sp, sp, -0x40 |
0x00004e54 lw t9, -0x7f70(gp) | t9 = sym.imp.__fprintf_chk
0x00004e58 lw v1, (v0) | v1 = *(v0);
0x00004e5c lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00004e60 sw s0, 0x34(sp) | *(var_34h) = s0;
0x00004e64 lw s0, -0x7e50(gp) | s0 = *((gp - 8084));
0x00004e68 sw s1, 0x38(sp) | *(var_38h) = s1;
0x00004e6c move s1, a3 | s1 = a3;
0x00004e70 lw a3, -0x6db0(v0) | a3 = *((v0 - 7020));
0x00004e74 lw v0, -0x7fd8(gp) | v0 = *(gp);
0x00004e78 lw a0, (s0) | a0 = *(s0);
0x00004e7c sw a2, 0x18(sp) | *(var_18h) = a2;
0x00004e80 lw a2, -0x7fd8(gp) | a2 = *(gp);
0x00004e84 addiu v0, v0, 0x66b4 | v0 += str..._.._dpkg_1.19.7_utils_start_stop_daemon.c;
0x00004e88 sw gp, 0x20(sp) | *(var_20h) = gp;
0x00004e8c sw v1, 0x2c(sp) | *(var_2ch) = v1;
0x00004e90 sw ra, 0x3c(sp) | *(var_3ch) = ra;
0x00004e94 sw a1, 0x14(sp) | *(var_14h) = a1;
0x00004e98 addiu a2, a2, 0x6694 | a2 += str._s:_s:_d:_s:_internal_error:_;
0x00004e9c sw v0, 0x10(sp) | *(var_10h) = v0;
0x00004ea0 addiu a1, zero, 1 | a1 = 1;
0x00004ea4 jalr t9 | t9 ();
0x00004ea8 lw gp, 0x20(sp) | gp = *(var_20h);
0x00004eac addiu a3, sp, 0x50 | a3 = sp + 0x50;
0x00004eb0 lw a0, (s0) | a0 = *(s0);
0x00004eb4 lw t9, -0x7e40(gp) | t9 = *(gp);
0x00004eb8 sw a3, 0x28(sp) | *(var_28h) = a3;
0x00004ebc move a2, s1 | a2 = s1;
0x00004ec0 addiu a1, zero, 1 | a1 = 1;
0x00004ec4 jalr t9 | t9 ();
0x00004ec8 lw gp, 0x20(sp) | gp = *(var_20h);
0x00004ecc addiu v0, zero, 3 | v0 = 3;
0x00004ed0 lw v1, -0x7fdc(gp) | v1 = *((gp - 8183));
0x00004ed4 lw v1, -0x6a94(v1) | v1 = *((v1 - 6821));
0x00004ed8 lw t9, -0x7ed0(gp) | t9 = *(gp);
| if (v1 != v0) {
0x00004edc beq v1, v0, 0x4ee8 |
0x00004ee0 addiu a0, zero, 3 | a0 = 3;
0x00004ee4 jalr t9 | t9 ();
| }
0x00004ee8 addiu a0, zero, 4 | a0 = 4;
0x00004eec jalr t9 | t9 ();
0x00004ef0 lui gp, 2 |
0x00004ef4 addiu gp, gp, -0x3c90 |
0x00004ef8 addu gp, gp, t9 | gp += t9;
0x00004efc addiu sp, sp, -0x210 |
0x00004f00 lw v1, -0x7fd8(gp) | v1 = *(gp);
0x00004f04 sw s2, 0x204(sp) | *(var_204h) = s2;
0x00004f08 lw s2, -0x7e64(gp) | s2 = *((gp - 8089));
0x00004f0c addiu v0, v1, 0x66f0 | v0 = v1 + str.__deleted_;
0x00004f10 lw t1, 0x66f0(v1) | t1 = *(v1);
0x00004f14 lw t2, (s2) | t2 = *(s2);
0x00004f18 lw t0, 4(v0) | t0 = *((v0 + 1));
0x00004f1c lhu v1, 8(v0) | v1 = *((v0 + 4));
0x00004f20 lw a3, -0x7fd8(gp) | a3 = *(gp);
0x00004f24 lbu v0, 0xa(v0) | v0 = *((v0 + 10));
0x00004f28 lw t9, -0x7fac(gp) | t9 = sym.imp.__sprintf_chk;
0x00004f2c sw s1, 0x200(sp) | *(var_200h) = s1;
0x00004f30 addiu s1, sp, 0xd0 | s1 = sp + 0xd0;
0x00004f34 sw gp, 0x18(sp) | *(var_18h_2) = gp;
0x00004f38 sw ra, 0x20c(sp) | *(var_20ch) = ra;
0x00004f3c sw s0, 0x1fc(sp) | *(var_1fch) = s0;
0x00004f40 sw a0, 0x10(sp) | *(var_10h_2) = a0;
0x00004f44 addiu a3, a3, 0x66e0 | a3 += str._proc__d_exe;
0x00004f48 move a0, s1 | a0 = s1;
0x00004f4c addiu a2, zero, 0x20 | a2 = 0x20;
0x00004f50 addiu a1, zero, 1 | a1 = 1;
0x00004f54 sw t2, 0x1f4(sp) | *(var_1f4h) = t2;
0x00004f58 sw t1, 0xc4(sp) | *(var_c4h) = t1;
0x00004f5c sw t0, 0xc8(sp) | *(var_c8h) = t0;
0x00004f60 sh v1, 0xcc(sp) | *(var_cch) = v1;
0x00004f64 sw s3, 0x208(sp) | *(var_208h) = s3;
0x00004f68 sb v0, 0xce(sp) | *(var_ceh) = v0;
0x00004f6c addiu s0, sp, 0xf0 | s0 = sp + 0xf0;
0x00004f70 jalr t9 | t9 ();
0x00004f74 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00004f78 move a0, s1 | a0 = s1;
0x00004f7c lw t9, -0x7e90(gp) | t9 = sym.imp.readlink;
0x00004f80 addiu a2, zero, 0x100 | a2 = 0x100;
0x00004f84 move a1, s0 | a1 = s0;
0x00004f88 jalr t9 | t9 ();
0x00004f8c move s1, v0 | s1 = v0;
0x00004f90 addiu v0, zero, -1 | v0 = -1;
0x00004f94 lw gp, 0x18(sp) | gp = *(var_18h_2);
| if (s1 == v0) {
0x00004f98 beq s1, v0, 0x4ff8 | goto label_2;
| }
0x00004f9c addiu v0, sp, 0x1f8 | v0 = sp + aav.0x000001f8;
0x00004fa0 addu v0, v0, s1 | v0 += s1;
0x00004fa4 lw t9, -0x7f78(gp) | t9 = sym.imp.strncmp;
0x00004fa8 addiu s3, sp, 0xc4 | s3 = sp + 0xc4;
0x00004fac sb zero, -0x108(v0) | *((v0 - 264)) = 0;
0x00004fb0 addiu a2, zero, 0xa | a2 = 0xa;
0x00004fb4 move a1, s3 | a1 = s3;
0x00004fb8 move a0, s0 | a0 = s0;
0x00004fbc jalr t9 | t9 ();
0x00004fc0 lw gp, 0x18(sp) | gp = *(var_18h_2);
| if (v0 != 0) {
0x00004fc4 bnez v0, 0x5024 | goto label_3;
| }
0x00004fc8 addiu a1, sp, 0xfa | a1 = sp + 0xfa;
| do {
| label_0:
0x00004fcc lw t9, -0x7f80(gp) | t9 = *(gp);
0x00004fd0 addiu a2, sp, 0x20 | a2 = sp + 0x20;
0x00004fd4 addiu a0, zero, 3 | a0 = 3;
0x00004fd8 jalr t9 | t9 ();
0x00004fdc lw gp, 0x18(sp) | gp = *(var_18h_2);
| if (v0 == 0) {
0x00004fe0 bnez v0, 0x4ff8 |
0x00004fe4 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00004fe8 lw a0, 0x20(sp) | a0 = *(var_20h_4);
0x00004fec lw v1, -0x6b78(v0) | v1 = *((v0 - 6878));
0x00004ff0 addiu v0, v0, -0x6b78 | v0 += -0x6b78;
| if (a0 == v1) {
0x00004ff4 beq a0, v1, 0x5058 | goto label_4;
| }
| }
| label_2:
0x00004ff8 move v0, zero | v0 = 0;
| label_1:
0x00004ffc lw a0, 0x1f4(sp) | a0 = *(var_1f4h);
0x00005000 lw v1, (s2) | v1 = *(s2);
0x00005004 lw ra, 0x20c(sp) | ra = *(var_20ch);
| if (a0 != v1) {
0x00005008 bne a0, v1, 0x507c | goto label_5;
| }
0x0000500c lw s3, 0x208(sp) | s3 = *(var_208h);
0x00005010 lw s2, 0x204(sp) | s2 = *(var_204h);
0x00005014 lw s1, 0x200(sp) | s1 = *(var_200h);
0x00005018 lw s0, 0x1fc(sp) | s0 = *(var_1fch);
0x0000501c addiu sp, sp, 0x210 |
0x00005020 jr ra | return v0;
| label_3:
0x00005024 addiu s1, s1, -0xa | s1 += -0xa;
0x00005028 lw t9, -0x7e38(gp) | t9 = sym.imp.strcmp;
0x0000502c addu s1, s0, s1 | s1 = s0 + s1;
0x00005030 move a1, s3 | a1 = s3;
0x00005034 move a0, s1 | a0 = s1;
0x00005038 jalr t9 | t9 ();
0x0000503c lw gp, 0x18(sp) | gp = *(var_18h_2);
| if (v0 != 0) {
0x00005040 bnez v0, 0x5050 | goto label_6;
| }
0x00005044 sb zero, (s1) | *(s1) = 0;
0x00005048 move a1, s0 | a1 = s0;
0x0000504c b 0x4fcc |
| } while (1);
| label_6:
0x00005050 move a1, s0 | a1 = s0;
0x00005054 b 0x4fcc | goto label_0;
| label_4:
0x00005058 lw v1, 0x10(v0) | v1 = *((v0 + 4));
0x0000505c lw a0, 0x14(v0) | a0 = *((v0 + 5));
0x00005060 lw v0, 0x30(sp) | v0 = *(var_30h_2);
0x00005064 xor v0, v0, v1 | v0 ^= v1;
0x00005068 lw v1, 0x34(sp) | v1 = *(var_34h_3);
0x0000506c xor v1, v1, a0 | v1 ^= a0;
0x00005070 or v0, v0, v1 | v0 |= v1;
0x00005074 sltiu v0, v0, 1 | v0 = (v0 < 1) ? 1 : 0;
0x00005078 b 0x4ffc | goto label_1;
| label_5:
0x0000507c lw t9, -0x7e78(gp) | t9 = sym.imp.__stack_chk_fail;
0x00005080 jalr t9 | t9 ();
0x00005084 nop |
| }
[*] Function fprintf used 8 times start-stop-daemon.dpkg