[*] Binary protection state of start-stop-daemon.dpkg
Full RELRO Canary found NX disabled PIE enabled No RPATH No RUNPATH No Symbols
[*] Function sprintf 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 @ 0x3e18 */
| #include <stdint.h>
|
; (fcn) fcn.00003e18 () | void fcn_00003e18 () {
0x00003e18 lui gp, 2 |
0x00003e1c addiu gp, gp, -0x2bb8 |
0x00003e20 addu gp, gp, t9 | gp += t9;
0x00003e24 addiu sp, sp, -0x70 |
0x00003e28 lw t9, -0x7eec(gp) | t9 = sym.imp.strlen;
0x00003e2c sw s4, 0x58(sp) | *(var_58h) = s4;
0x00003e30 lw s4, -0x7e64(gp) | s4 = *((gp - 8089));
0x00003e34 sw ra, 0x6c(sp) | *(var_6ch) = ra;
0x00003e38 sw gp, 0x18(sp) | *(var_18h_2) = gp;
0x00003e3c lw v0, (s4) | v0 = *(s4);
0x00003e40 sw s7, 0x64(sp) | *(var_64h) = s7;
0x00003e44 sw s6, 0x60(sp) | *(var_60h) = s6;
0x00003e48 sw s1, 0x4c(sp) | *(var_4ch) = s1;
0x00003e4c sw s0, 0x48(sp) | *(var_48h) = s0;
0x00003e50 move s1, a0 | s1 = a0;
0x00003e54 sw fp, 0x68(sp) | *(var_68h) = fp;
0x00003e58 move a0, a1 | a0 = a1;
0x00003e5c sw s5, 0x5c(sp) | *(var_5ch) = s5;
0x00003e60 sw s3, 0x54(sp) | *(var_54h) = s3;
0x00003e64 sw s2, 0x50(sp) | *(var_50h) = s2;
0x00003e68 sw v0, 0x44(sp) | *(var_44h) = v0;
0x00003e6c move s6, a1 | s6 = a1;
0x00003e70 jalr t9 | t9 ();
0x00003e74 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00003e78 addiu s0, sp, 0x24 | s0 = sp + 0x24;
0x00003e7c addiu a2, zero, 0x20 | a2 = 0x20;
0x00003e80 lw a3, -0x7fd8(gp) | a3 = *(gp);
0x00003e84 lw t9, -0x7fac(gp) | t9 = sym.imp.__sprintf_chk
0x00003e88 addiu a3, a3, 0x611c | a3 += str._proc__d_status;
0x00003e8c addiu a1, zero, 1 | a1 = 1;
0x00003e90 move a0, s0 | a0 = s0;
0x00003e94 sw s1, 0x10(sp) | *(var_10h_2) = s1;
0x00003e98 move s7, v0 | s7 = v0;
0x00003e9c jalr t9 | t9 ();
0x00003ea0 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00003ea4 move a0, s0 | a0 = s0;
0x00003ea8 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00003eac lw t9, -0x7f64(gp) | t9 = *(gp);
0x00003eb0 addiu a1, a1, 0x7900 | a1 += 0x7900;
0x00003eb4 jalr t9 | t9 ();
0x00003eb8 lw gp, 0x18(sp) | gp = *(var_18h_2);
| if (v0 == 0) {
0x00003ebc beqz v0, 0x3fb4 | goto label_2;
| }
0x00003ec0 lw s5, -0x7fdc(gp) | s5 = *((gp - 8183));
0x00003ec4 lw s3, -0x7fdc(gp) | s3 = *((gp - 8183));
0x00003ec8 move s2, v0 | s2 = v0;
0x00003ecc addiu s3, s3, -0x6b9c | s3 += -0x6b9c;
0x00003ed0 addiu fp, s5, -0x6b98 | fp = s5 + -0x6b98;
0x00003ed4 b 0x3ef8 |
| while (v0 >= 0) {
0x00003ed8 lw s1, -0x6b98(s5) | s1 = *((s5 - 6886));
0x00003edc lw t9, -0x7f34(gp) | t9 = sym.imp.strncasecmp;
0x00003ee0 move a2, s7 | a2 = s7;
0x00003ee4 move a1, s6 | a1 = s6;
0x00003ee8 move a0, s1 | a0 = s1;
0x00003eec jalr t9 | t9 ();
0x00003ef0 lw gp, 0x18(sp) | gp = *(var_18h_2);
| if (v0 == 0) {
0x00003ef4 beqz v0, 0x3f70 | goto label_3;
| }
0x00003ef8 lw t9, -0x7e94(gp) | t9 = sym.imp.__getdelim;
0x00003efc move a3, s2 | a3 = s2;
0x00003f00 addiu a2, zero, 0xa | a2 = 0xa;
0x00003f04 move a1, s3 | a1 = s3;
0x00003f08 move a0, fp | a0 = fp;
0x00003f0c jalr t9 | t9 ();
0x00003f10 move s0, v0 | s0 = v0;
0x00003f14 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00003f18 bgez v0, 0x3ed8 |
| }
0x00003f1c move s7, zero | s7 = 0;
0x00003f20 lw t9, -0x7f5c(gp) | t9 = sym.imp.fclose;
| label_0:
0x00003f24 move a0, s2 | a0 = s2;
0x00003f28 jalr t9 | t9 ();
0x00003f2c lw gp, 0x18(sp) | gp = *(var_18h_2);
| label_1:
0x00003f30 lw a0, 0x44(sp) | a0 = *(var_44h);
0x00003f34 lw v1, (s4) | v1 = *(s4);
0x00003f38 move v0, s7 | v0 = s7;
| if (a0 != v1) {
0x00003f3c bne a0, v1, 0x3fbc | goto label_4;
| }
0x00003f40 lw ra, 0x6c(sp) | ra = *(var_6ch);
0x00003f44 lw fp, 0x68(sp) | fp = *(var_68h);
0x00003f48 lw s7, 0x64(sp) | s7 = *(var_64h);
0x00003f4c lw s6, 0x60(sp) | s6 = *(var_60h);
0x00003f50 lw s5, 0x5c(sp) | s5 = *(var_5ch);
0x00003f54 lw s4, 0x58(sp) | s4 = *(var_58h);
0x00003f58 lw s3, 0x54(sp) | s3 = *(var_54h);
0x00003f5c lw s2, 0x50(sp) | s2 = *(var_50h);
0x00003f60 lw s1, 0x4c(sp) | s1 = *(var_4ch);
0x00003f64 lw s0, 0x48(sp) | s0 = *(var_48h);
0x00003f68 addiu sp, sp, 0x70 |
0x00003f6c jr ra | return v0;
| label_3:
0x00003f70 addu s0, s1, s0 | s0 = s1 + s0;
0x00003f74 lw t9, -0x7fa8(gp) | t9 = *(gp);
0x00003f78 sb zero, -1(s0) | *((s0 - 1)) = 0;
0x00003f7c lw v0, -0x6b98(s5) | v0 = *((s5 - 6886));
0x00003f80 addu s7, v0, s7 | s7 = v0 + s7;
0x00003f84 jalr t9 | t9 ();
0x00003f88 lw v1, (v0) | v1 = *(v0);
0x00003f8c lw gp, 0x18(sp) | gp = *(var_18h_2);
| do {
0x00003f90 lb v0, (s7) | v0 = *(s7);
0x00003f94 sll v0, v0, 1 | v0 <<= 1;
0x00003f98 addu v0, v1, v0 | v0 = v1 + v0;
0x00003f9c lhu v0, (v0) | v0 = *(v0);
0x00003fa0 andi v0, v0, 0x2000 | v0 &= 0x2000;
0x00003fa4 addiu s7, s7, 1 | s7++;
0x00003fa8 bnel v0, zero, 0x3f90 |
| } while (v0 == 0);
0x00003fac lw t9, -0x7f5c(gp) | t9 = sym.imp.fclose;
0x00003fb0 b 0x3f24 | goto label_0;
| label_2:
0x00003fb4 move s7, zero | s7 = 0;
0x00003fb8 b 0x3f30 | goto label_1;
| label_4:
0x00003fbc lw t9, -0x7e78(gp) | t9 = sym.imp.__stack_chk_fail;
0x00003fc0 jalr t9 | t9 ();
0x00003fc4 nop |
| }
; 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 |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/start-stop-daemon.dpkg @ 0x5088 */
| #include <stdint.h>
|
; (fcn) fcn.00005088 () | void fcn_00005088 () {
0x00005088 lui gp, 2 |
0x0000508c addiu gp, gp, -0x3e28 |
0x00005090 addu gp, gp, t9 | gp += t9;
0x00005094 addiu sp, sp, -0x108 |
0x00005098 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x0000509c sw s1, 0xf8(sp) | *(var_f8h) = s1;
0x000050a0 lw s1, -0x7e64(gp) | s1 = *((gp - 8089));
0x000050a4 lw v0, -0x6ac8(v0) | v0 = *((v0 - 6834));
0x000050a8 sw gp, 0x18(sp) | *(var_18h_3) = gp;
0x000050ac lw v1, (s1) | v1 = *(s1);
0x000050b0 sw s0, 0xf4(sp) | *(var_f4h) = s0;
0x000050b4 sw ra, 0x104(sp) | *(var_104h) = ra;
0x000050b8 sw s3, 0x100(sp) | *(var_100h) = s3;
0x000050bc sw s2, 0xfc(sp) | *(var_fch) = s2;
0x000050c0 move s0, a0 | s0 = a0;
0x000050c4 sw v1, 0xec(sp) | *(var_ech) = v1;
0x000050c8 lw t9, -0x7fd8(gp) | t9 = *(gp);
| if (v0 != 0) {
0x000050cc beqz v0, 0x50e4 |
0x000050d0 addiu t9, t9, 0x4ef0 | t9 += 0x4ef0;
0x000050d4 bal 0x4ef0 | fcn_4ef0 ();
0x000050d8 nop |
0x000050dc lw gp, 0x18(sp) | gp = *(var_18h_3);
| if (v0 == 0) {
0x000050e0 beqz v0, 0x51ec | goto label_0;
| }
| }
0x000050e4 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x000050e8 lw s2, -0x6fec(v0) | s2 = *((v0 - 7163));
0x000050ec lw a1, -0x7fd8(gp) | a1 = *(gp);
| if (s2 > 0) {
0x000050f0 bgtz s2, 0x524c | goto label_3;
| }
0x000050f4 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| label_2:
0x000050f8 lw v0, -0x6ab4(v0) | v0 = *((v0 - 6829));
0x000050fc lw a3, -0x7fd8(gp) | a3 = *(gp);
| if (v0 != 0) {
0x00005100 beqz v0, 0x5158 |
0x00005104 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00005108 lw t9, -0x7fac(gp) | t9 = sym.imp.__sprintf_chk
0x0000510c addiu s2, sp, 0xcc | s2 = sp + 0xcc;
0x00005110 addiu a3, a3, 0x6704 | a3 += str._proc__d;
0x00005114 addiu a2, zero, 0x20 | a2 = 0x20;
0x00005118 addiu a1, zero, 1 | a1 = 1;
0x0000511c move a0, s2 | a0 = s2;
0x00005120 sw s0, 0x10(sp) | *(var_10h_5) = s0;
0x00005124 lw s3, -0x6fdc(v0) | s3 = *((v0 - 7159));
0x00005128 jalr t9 | t9 ();
0x0000512c lw gp, 0x18(sp) | gp = *(var_18h_3);
0x00005130 addiu a2, sp, 0x28 | a2 = sp + 0x28;
0x00005134 move a1, s2 | a1 = s2;
0x00005138 lw t9, -0x7f80(gp) | t9 = *(gp);
0x0000513c addiu a0, zero, 3 | a0 = 3;
0x00005140 jalr t9 | t9 ();
0x00005144 lw gp, 0x18(sp) | gp = *(var_18h_3);
| if (v0 != 0) {
0x00005148 bnez v0, 0x51ec | goto label_0;
| }
0x0000514c lw v0, 0x48(sp) | v0 = *(var_48h_2);
0x00005150 addiu v0, zero, 3 | v0 = 3;
| if (s3 != v0) {
0x00005154 bne s3, v0, 0x5224 | goto label_1;
| }
| }
0x00005158 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x0000515c lw s2, -0x6ac4(v0) | s2 = *((v0 - 6833));
0x00005160 lw a1, -0x7fd8(gp) | a1 = *(gp);
| if (s2 != 0) {
0x00005164 beqz s2, 0x519c |
0x00005168 lw t9, -0x7fd8(gp) | t9 = *(gp);
0x0000516c addiu a1, a1, 0x6710 | a1 += str.Name:;
0x00005170 addiu t9, t9, 0x3e18 | t9 += fcn.00003e18;
0x00005174 move a0, s0 | a0 = s0;
0x00005178 bal 0x3e18 | fcn_00003e18 ();
0x0000517c lw gp, 0x18(sp) | gp = *(var_18h_3);
| if (v0 == 0) {
0x00005180 beqz v0, 0x51ec | goto label_0;
| }
0x00005184 lw t9, -0x7e38(gp) | t9 = sym.imp.strcmp;
0x00005188 move a1, s2 | a1 = s2;
0x0000518c move a0, v0 | a0 = v0;
0x00005190 jalr t9 | t9 ();
0x00005194 lw gp, 0x18(sp) | gp = *(var_18h_3);
| if (v0 != 0) {
0x00005198 bnez v0, 0x51ec | goto label_0;
| }
| }
0x0000519c lw v1, -0x7fdc(gp) | v1 = *((gp - 8183));
0x000051a0 addiu v0, zero, 2 | v0 = 2;
0x000051a4 lw v1, -0x6a94(v1) | v1 = *((v1 - 6821));
0x000051a8 lw t9, -0x7ed4(gp) | t9 = sym.imp.kill;
| if (v1 == v0) {
0x000051ac beq v1, v0, 0x51f4 | goto label_4;
| }
0x000051b0 move a1, zero | a1 = 0;
0x000051b4 move a0, s0 | a0 = s0;
0x000051b8 jalr t9 | t9 ();
0x000051bc lw gp, 0x18(sp) | gp = *(var_18h_3);
| if (v0 == 0) {
0x000051c0 beqz v0, 0x51f4 | goto label_4;
| }
0x000051c4 lw t9, -0x7f24(gp) | t9 = sym.imp.__errno_location;
0x000051c8 jalr t9 | t9 ();
0x000051cc nop |
0x000051d0 lw v0, (v0) | v0 = *(v0);
0x000051d4 addiu v1, zero, 1 | v1 = 1;
0x000051d8 lw gp, 0x18(sp) | gp = *(var_18h_3);
| if (v0 == v1) {
0x000051dc beq v0, v1, 0x51f4 | goto label_4;
| }
0x000051e0 addiu v1, zero, 3 | v1 = 3;
0x000051e4 lw a0, -0x7fd8(gp) | a0 = *(gp);
| if (v0 != v1) {
0x000051e8 bne v0, v1, 0x52a4 | goto label_5;
| }
| do {
| label_0:
0x000051ec addiu v0, zero, 3 | v0 = 3;
0x000051f0 b 0x5224 | goto label_1;
| label_4:
0x000051f4 lw t9, -0x7fd8(gp) | t9 = *(gp);
0x000051f8 addiu t9, t9, 0x3b38 | t9 += fcn.00003b38;
0x000051fc addiu a0, zero, 8 | a0 = 8;
0x00005200 bal 0x3b38 | fcn_00003b38 ();
0x00005204 lw gp, 0x18(sp) | gp = *(var_18h_3);
0x00005208 move v1, v0 | v1 = v0;
0x0000520c move v0, zero | v0 = 0;
0x00005210 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x00005214 sw s0, 4(v1) | *((v1 + 1)) = s0;
0x00005218 lw a1, -0x6b80(a0) | a1 = *((a0 - 6880));
0x0000521c sw v1, -0x6b80(a0) | *((a0 - 6880)) = v1;
0x00005220 sw a1, (v1) | *(v1) = a1;
| label_1:
0x00005224 lw a0, 0xec(sp) | a0 = *(var_ech);
0x00005228 lw v1, (s1) | v1 = *(s1);
0x0000522c lw ra, 0x104(sp) | ra = *(var_104h);
| if (a0 != v1) {
0x00005230 bne a0, v1, 0x52b8 | goto label_6;
| }
0x00005234 lw s3, 0x100(sp) | s3 = *(var_100h);
0x00005238 lw s2, 0xfc(sp) | s2 = *(var_fch);
0x0000523c lw s1, 0xf8(sp) | s1 = *(var_f8h);
0x00005240 lw s0, 0xf4(sp) | s0 = *(var_f4h);
0x00005244 addiu sp, sp, 0x108 |
0x00005248 jr ra | return v0;
| label_3:
0x0000524c lw t9, -0x7fd8(gp) | t9 = *(gp);
0x00005250 addiu a1, a1, 0x66fc | a1 += str.PPid:;
0x00005254 addiu t9, t9, 0x3e18 | t9 += fcn.00003e18;
0x00005258 move a0, s0 | a0 = s0;
0x0000525c bal 0x3e18 | fcn_00003e18 ();
0x00005260 lw gp, 0x18(sp) | gp = *(var_18h_3);
0x00005264 beqz v0, 0x51ec |
| } while (v0 == 0);
0x00005268 lw t9, -0x7fd8(gp) | t9 = *(gp);
0x0000526c addiu a2, sp, 0x24 | a2 = sp + 0x24;
0x00005270 addiu a1, zero, 0xa | a1 = 0xa;
0x00005274 addiu t9, t9, 0x3a50 | t9 += fcn.00003a50;
0x00005278 move a0, v0 | a0 = v0;
0x0000527c bal 0x3a50 | fcn_00003a50 ();
0x00005280 lw gp, 0x18(sp) | gp = *(var_18h_3);
| if (v0 != 0) {
0x00005284 bnez v0, 0x51ec | goto label_0;
| }
0x00005288 lw v0, 0x24(sp) | v0 = *(var_24h_2);
| if (v0 == 0) {
0x0000528c beql v0, zero, 0x5224 | goto label_1;
| }
0x00005290 addiu v0, zero, 3 | v0 = 3;
| if (s2 == v0) {
0x00005294 beql s2, v0, 0x50f8 | goto label_2;
| }
0x00005298 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x0000529c addiu v0, zero, 3 | v0 = 3;
0x000052a0 b 0x5224 | goto label_1;
| label_5:
0x000052a4 lw t9, -0x7fd8(gp) | t9 = *(gp);
0x000052a8 move a1, s0 | a1 = s0;
0x000052ac addiu t9, t9, 0x392c | t9 += fcn.0000392c;
0x000052b0 addiu a0, a0, 0x6718 | a0 += str.error_checking_pid__u_status;
0x000052b4 bal 0x392c | fcn_0000392c ();
| label_6:
0x000052b8 lw t9, -0x7e78(gp) | t9 = sym.imp.__stack_chk_fail;
0x000052bc jalr t9 | t9 ();
0x000052c0 nop |
| }
[*] Function sprintf used 4 times start-stop-daemon.dpkg