[*] Binary protection state of systemd-udevd
Full RELRO Canary found NX disabled PIE enabled RPATH No RUNPATH No Symbols
[*] Function popen tear down of systemd-udevd
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/systemd/systemd-udevd @ 0x22464 */
| #include <stdint.h>
|
; (fcn) fcn.00022464 () | void fcn_00022464 () {
0x00022464 lui gp, 0xa |
0x00022468 addiu gp, gp, 0x4d0c |
0x0002246c addu gp, gp, t9 | gp += t9;
| if (a0 == 0) {
0x00022470 beqz a0, 0x22558 | goto label_1;
| }
0x00022474 nop |
0x00022478 addiu sp, sp, -0x30 |
0x0002247c sw s4, 0x28(sp) | *(var_28h) = s4;
0x00022480 sw gp, 0x10(sp) | *(var_10h) = gp;
0x00022484 sw ra, 0x2c(sp) | *(var_2ch) = ra;
0x00022488 sw s3, 0x24(sp) | *(var_24h) = s3;
0x0002248c sw s2, 0x20(sp) | *(var_20h) = s2;
0x00022490 sw s1, 0x1c(sp) | *(var_1ch) = s1;
0x00022494 sw s0, 0x18(sp) | *(var_18h) = s0;
0x00022498 lw s0, 0x18(a0) | s0 = *((a0 + 6));
0x0002249c move s4, a0 | s4 = a0;
| if (s0 == 0) {
0x000224a0 beqz s0, 0x224f8 | goto label_2;
| }
0x000224a4 lw s3, -0x7c88(gp) | s3 = *(gp);
| /* fcn.0001cf08 */
0x000224a8 addiu s3, s3, -0x30f8 | s3 += -0x30f8;
| label_0:
0x000224ac lw a0, 8(s0) | a0 = *((s0 + 2));
0x000224b0 lw s2, 0xc(s0) | s2 = *((s0 + 3));
| if (a0 == 0) {
0x000224b4 beqz a0, 0x224d0 | goto label_3;
| }
| do {
0x000224b8 move t9, s3 | t9 = s3;
0x000224bc lw s1, 0x24(a0) | s1 = *((a0 + 9));
0x000224c0 bal 0x1cf08 | fcn_0001cf08 ();
0x000224c4 lw gp, 0x10(sp) | gp = *(var_10h);
0x000224c8 move a0, s1 | a0 = s1;
0x000224cc bnez s1, 0x224b8 |
| } while (s1 != 0);
| label_3:
0x000224d0 lw t9, -0x71d0(gp) | t9 = *((gp - 7284));
0x000224d4 lw a0, (s0) | a0 = *(s0);
0x000224d8 jalr t9 | t9 ();
0x000224dc lw gp, 0x10(sp) | gp = *(var_10h);
0x000224e0 move a0, s0 | a0 = s0;
0x000224e4 lw t9, -0x71d0(gp) | t9 = *((gp - 7284));
0x000224e8 move s0, s2 | s0 = s2;
0x000224ec jalr t9 | t9 ();
0x000224f0 lw gp, 0x10(sp) | gp = *(var_10h);
| if (s2 != 0) {
0x000224f4 bnez s2, 0x224ac | goto label_0;
| }
| label_2:
0x000224f8 lw t9, -0x7f94(gp) | t9 = sym.internal_hashmap_free;
0x000224fc lw a1, -0x71d0(gp) | a1 = *((gp - 7284));
0x00022500 lw a0, 0xc(s4) | a0 = *((s4 + 3));
0x00022504 move a2, zero | a2 = 0;
0x00022508 jalr t9 | t9 ();
0x0002250c lw gp, 0x10(sp) | gp = *(var_10h);
0x00022510 lw a0, 0x10(s4) | a0 = *((s4 + 4));
0x00022514 lw a1, -0x71d0(gp) | a1 = *((gp - 7284));
0x00022518 lw t9, -0x7f94(gp) | t9 = sym.internal_hashmap_free;
0x0002251c move a2, zero | a2 = 0;
0x00022520 jalr t9 | t9 ();
0x00022524 lw gp, 0x10(sp) | gp = *(var_10h);
0x00022528 lw t9, -0x71d0(gp) | t9 = *((gp - 7284));
0x0002252c move a0, s4 | a0 = s4;
0x00022530 jalr t9 | t9 ();
0x00022534 lw ra, 0x2c(sp) | ra = *(var_2ch);
0x00022538 lw s4, 0x28(sp) | s4 = *(var_28h);
0x0002253c lw s3, 0x24(sp) | s3 = *(var_24h);
0x00022540 lw s2, 0x20(sp) | s2 = *(var_20h);
0x00022544 lw s1, 0x1c(sp) | s1 = *(var_1ch);
0x00022548 lw s0, 0x18(sp) | s0 = *(var_18h);
0x0002254c move v0, zero | v0 = 0;
0x00022550 addiu sp, sp, 0x30 |
0x00022554 jr ra | return v0;
| label_1:
0x00022558 move v0, zero | v0 = 0;
0x0002255c jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/systemd/systemd-udevd @ 0x7f600 */
| #include <stdint.h>
|
; (fcn) sym.get_user_creds () | void get_user_creds () {
0x0007f600 lui gp, 4 |
0x0007f604 addiu gp, gp, 0x7b70 |
0x0007f608 addu gp, gp, t9 | gp += t9;
0x0007f60c addiu sp, sp, -0x78 |
0x0007f610 sw s3, 0x5c(sp) | *(var_5ch) = s3;
0x0007f614 lw s3, -0x71f0(gp) | s3 = *((gp - 7292));
0x0007f618 sw s5, 0x64(sp) | *(var_64h) = s5;
0x0007f61c sw gp, 0x18(sp) | *(var_18h) = gp;
0x0007f620 sw ra, 0x74(sp) | *(var_74h) = ra;
0x0007f624 sw fp, 0x70(sp) | *(var_70h) = fp;
0x0007f628 sw s7, 0x6c(sp) | *(var_6ch) = s7;
0x0007f62c sw s6, 0x68(sp) | *(var_68h) = s6;
0x0007f630 sw s4, 0x60(sp) | *(var_60h) = s4;
0x0007f634 sw s2, 0x58(sp) | *(var_58h) = s2;
0x0007f638 sw s1, 0x54(sp) | *(var_54h) = s1;
0x0007f63c sw s0, 0x50(sp) | *(var_50h) = s0;
0x0007f640 lw v0, (s3) | v0 = *(s3);
0x0007f644 lw s5, 0x88(sp) | s5 = *(arg_88h);
0x0007f648 sw v0, 0x4c(sp) | *(var_4ch) = v0;
0x0007f64c addiu v0, zero, -1 | v0 = -1;
0x0007f650 sw v0, 0x24(sp) | *(var_24h) = v0;
| if (a0 == 0) {
0x0007f654 beqz a0, 0x7f960 | goto label_11;
| }
0x0007f658 move s0, a0 | s0 = a0;
0x0007f65c lw a0, (a0) | a0 = *(a0);
0x0007f660 lw v0, 0x8c(sp) | v0 = *(arg_8ch);
| if (a0 == 0) {
0x0007f664 beqz a0, 0x7f988 | goto label_12;
| }
0x0007f668 move s7, a1 | s7 = a1;
0x0007f66c andi fp, v0, 1 | fp = v0 & 1;
0x0007f670 move s6, a2 | s6 = a2;
0x0007f674 move s4, a3 | s4 = a3;
| if (fp == 0) {
0x0007f678 beqz fp, 0x7f7f8 | goto label_13;
| }
| if (a3 == 0) {
0x0007f67c beqz a3, 0x7f7f0 | goto label_14;
| }
0x0007f680 nop |
| label_3:
0x0007f684 lw t9, -0x7bd8(gp) | t9 = sym.parse_uid;
| label_0:
0x0007f688 addiu a1, sp, 0x24 | a1 = sp + 0x24;
0x0007f68c bal 0x7f134 | sym_parse_uid ();
0x0007f690 lw gp, 0x18(sp) | gp = *(var_18h);
0x0007f694 lw t9, -0x73b8(gp) | t9 = sym.imp.__errno_location;
0x0007f698 move s2, v0 | s2 = v0;
0x0007f69c jalr t9 | t9 ();
0x0007f6a0 move s1, v0 | s1 = v0;
0x0007f6a4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (s2 < 0) {
0x0007f6a8 bltz s2, 0x7f74c | goto label_15;
| }
0x0007f6ac lw t9, -0x718c(gp) | t9 = sym.imp.getpwuid;
0x0007f6b0 lw a0, 0x24(sp) | a0 = *(var_24h);
0x0007f6b4 sw zero, (v0) | *(v0) = 0;
0x0007f6b8 jalr t9 | t9 ();
0x0007f6bc move s2, v0 | s2 = v0;
0x0007f6c0 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0007f6c4 beqz v0, 0x7f924 | goto label_16;
| }
0x0007f6c8 lw v0, (v0) | v0 = *(v0);
0x0007f6cc sw v0, (s0) | *(s0) = v0;
| do {
0x0007f6d0 lw t9, -0x7cec(gp) | t9 = sym.uid_is_valid;
| if (s7 != 0) {
0x0007f6d4 beqz s7, 0x7f6f0 |
0x0007f6d8 lw a0, 8(s2) | a0 = *((s2 + 2));
0x0007f6dc bal 0x7f118 | sym_uid_is_valid ();
0x0007f6e0 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0007f6e4 beqz v0, 0x7f9e4 | goto label_17;
| }
0x0007f6e8 lw v0, 8(s2) | v0 = *((s2 + 2));
0x0007f6ec sw v0, (s7) | *(s7) = v0;
| }
0x0007f6f0 lw t9, -0x7cec(gp) | t9 = sym.uid_is_valid;
| if (s6 != 0) {
0x0007f6f4 beqz s6, 0x7f710 |
0x0007f6f8 lw a0, 0xc(s2) | a0 = *((s2 + 3));
0x0007f6fc bal 0x7f118 | sym_uid_is_valid ();
0x0007f700 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0007f704 beqz v0, 0x7f9e4 | goto label_17;
| }
0x0007f708 lw v0, 0xc(s2) | v0 = *((s2 + 3));
0x0007f70c sw v0, (s6) | *(s6) = v0;
| }
0x0007f710 lw v0, 0x8c(sp) | v0 = *(arg_8ch);
| if (s4 != 0) {
0x0007f714 beqz s4, 0x7f728 |
0x0007f718 andi v0, v0, 4 | v0 &= 4;
0x0007f71c lw s0, 0x14(s2) | s0 = *((s2 + 5));
| if (v0 != 0) {
0x0007f720 bnez v0, 0x7f840 | goto label_18;
| }
| label_10:
0x0007f724 sw s0, (s4) | *(s4) = s0;
| }
| if (s5 == 0) {
0x0007f728 beql s5, zero, 0x7f7b0 | goto label_2;
| }
0x0007f72c move s2, zero | s2 = 0;
0x0007f730 lw v0, 0x8c(sp) | v0 = *(arg_8ch);
0x0007f734 andi s1, v0, 4 | s1 = v0 & 4;
0x0007f738 lw s0, 0x18(s2) | s0 = *((s2 + 6));
| if (s1 != 0) {
0x0007f73c bnez s1, 0x7f860 | goto label_19;
| }
| label_6:
0x0007f740 sw s0, (s5) | *(s5) = s0;
| label_5:
0x0007f744 move s2, zero | s2 = 0;
0x0007f748 b 0x7f7b0 | goto label_2;
| label_15:
0x0007f74c sw zero, (v0) | *(v0) = 0;
0x0007f750 lw t9, -0x7154(gp) | t9 = sym.imp.getpwnam;
0x0007f754 lw a0, (s0) | a0 = *(s0);
0x0007f758 jalr t9 | t9 ();
0x0007f75c move s2, v0 | s2 = v0;
0x0007f760 lw gp, 0x18(sp) | gp = *(var_18h);
0x0007f764 bnez v0, 0x7f6d0 |
| } while (v0 != 0);
0x0007f768 lw s2, (s1) | s2 = *(s1);
| label_8:
0x0007f76c negu s2, s2 | __asm ("negu s2, s2");
| if (s2 <= 0) {
0x0007f770 bgtz s2, 0x7f778 |
0x0007f774 addiu s2, zero, -3 | s2 = -3;
| }
0x0007f778 lw t9, -0x7fd0(gp) | t9 = *(gp);
| if (fp != 0) {
0x0007f77c beqz fp, 0x7f7b0 |
0x0007f780 lw v0, 0x8c(sp) | v0 = *(arg_8ch);
0x0007f784 sw s5, 0x10(sp) | *(var_10h) = s5;
0x0007f788 sw v0, 0x14(sp) | *(var_14h) = v0;
0x0007f78c move a3, s4 | a3 = s4;
0x0007f790 move a2, s6 | a2 = s6;
0x0007f794 move a1, s7 | a1 = s7;
| /* fcn.0007f438 */
0x0007f798 addiu t9, t9, -0xbc8 | t9 += -0xbc8;
0x0007f79c move a0, s0 | a0 = s0;
0x0007f7a0 bal 0x7f438 | fcn_0007f438 ();
0x0007f7a4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x0007f7a8 bltz v0, 0x7f7b0 | goto label_2;
| }
| label_1:
0x0007f7ac move s2, zero | s2 = 0;
| }
| label_2:
0x0007f7b0 lw a0, 0x4c(sp) | a0 = *(var_4ch);
0x0007f7b4 lw v1, (s3) | v1 = *(s3);
0x0007f7b8 move v0, s2 | v0 = s2;
| if (a0 != v1) {
0x0007f7bc bne a0, v1, 0x7f9ec | goto label_20;
| }
0x0007f7c0 lw ra, 0x74(sp) | ra = *(var_74h);
0x0007f7c4 lw fp, 0x70(sp) | fp = *(var_70h);
0x0007f7c8 lw s7, 0x6c(sp) | s7 = *(var_6ch);
0x0007f7cc lw s6, 0x68(sp) | s6 = *(var_68h);
0x0007f7d0 lw s5, 0x64(sp) | s5 = *(var_64h);
0x0007f7d4 lw s4, 0x60(sp) | s4 = *(var_60h);
0x0007f7d8 lw s3, 0x5c(sp) | s3 = *(var_5ch);
0x0007f7dc lw s2, 0x58(sp) | s2 = *(var_58h);
0x0007f7e0 lw s1, 0x54(sp) | s1 = *(var_54h);
0x0007f7e4 lw s0, 0x50(sp) | s0 = *(var_50h);
0x0007f7e8 addiu sp, sp, 0x78 |
0x0007f7ec jr ra | return v0;
| label_14:
0x0007f7f0 lw t9, -0x7bd8(gp) | t9 = sym.parse_uid;
| if (s5 != 0) {
0x0007f7f4 bnez s5, 0x7f688 | goto label_0;
| }
| label_13:
0x0007f7f8 lw t9, -0x7fd0(gp) | t9 = *(gp);
0x0007f7fc lw v0, 0x8c(sp) | v0 = *(arg_8ch);
0x0007f800 sw s5, 0x10(sp) | *(var_10h) = s5;
0x0007f804 sw v0, 0x14(sp) | *(var_14h) = v0;
0x0007f808 move a3, s4 | a3 = s4;
0x0007f80c move a2, s6 | a2 = s6;
0x0007f810 move a1, s7 | a1 = s7;
| /* fcn.0007f438 */
0x0007f814 addiu t9, t9, -0xbc8 | t9 += -0xbc8;
0x0007f818 move a0, s0 | a0 = s0;
0x0007f81c bal 0x7f438 | fcn_0007f438 ();
0x0007f820 move s2, v0 | s2 = v0;
0x0007f824 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 >= 0) {
0x0007f828 bgez v0, 0x7f7ac | goto label_1;
| }
0x0007f82c addiu v0, zero, -0x9f | v0 = -0x9f;
| if (s2 != v0) {
0x0007f830 bne s2, v0, 0x7f7b0 | goto label_2;
| }
0x0007f834 nop |
0x0007f838 lw a0, (s0) | a0 = *(s0);
0x0007f83c b 0x7f684 | goto label_3;
| label_18:
0x0007f840 lw t9, -0x7744(gp) | t9 = sym.empty_or_root;
0x0007f844 move a0, s0 | a0 = s0;
0x0007f848 bal 0x754e4 | sym_empty_or_root ();
0x0007f84c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0007f850 beqz v0, 0x7f9b0 | goto label_21;
| }
| label_9:
0x0007f854 sw zero, (s4) | *(s4) = 0;
| if (s5 == 0) {
0x0007f858 beqz s5, 0x7f7ac | goto label_1;
| }
0x0007f85c lw s0, 0x18(s2) | s0 = *((s2 + 6));
| if (s0 == 0) {
| label_19:
0x0007f860 beql s0, zero, 0x7f7ac | goto label_1;
| }
0x0007f864 sw zero, (s5) | *(s5) = 0;
0x0007f868 lb v0, (s0) | v0 = *(s0);
0x0007f86c lw t9, -0x7660(gp) | t9 = sym.path_is_valid;
0x0007f870 bnez v0, 0x7f87c |
| while (v0 == 0) {
| label_4:
0x0007f874 sw zero, (s5) | *(s5) = 0;
0x0007f878 b 0x7f7ac | goto label_1;
0x0007f87c lw a0, 0x14(s2) | a0 = *((s2 + 5));
0x0007f880 bal 0x74f78 | sym_path_is_valid ();
0x0007f884 lw gp, 0x18(sp) | gp = *(var_18h);
0x0007f888 beqz v0, 0x7f874 |
| }
0x0007f88c lw t9, -0x7d10(gp) | t9 = sym.path_is_absolute;
0x0007f890 move a0, s0 | a0 = s0;
0x0007f894 bal 0x73a10 | sym_path_is_absolute ();
0x0007f898 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0007f89c beqz v0, 0x7f874 | goto label_4;
| }
0x0007f8a0 lw v0, -0x7fb0(gp) | v0 = *((gp - 8172));
0x0007f8a4 addiu s1, sp, 0x28 | s1 = sp + 0x28;
| /* esilref: '/bin/nologin' */
0x0007f8a8 addiu v0, v0, -0xec0 | v0 += -0xec0;
0x0007f8ac move v1, s1 | v1 = s1;
0x0007f8b0 addiu t0, v0, 0x20 | t0 = v0 + 0x20;
| do {
0x0007f8b4 lw a3, (v0) | a3 = *(v0);
0x0007f8b8 lw a2, 4(v0) | a2 = *((v0 + 1));
0x0007f8bc lw a1, 8(v0) | a1 = *((v0 + 2));
0x0007f8c0 lw a0, 0xc(v0) | a0 = *((v0 + 3));
0x0007f8c4 addiu v0, v0, 0x10 | v0 += 0x10;
0x0007f8c8 sw a3, (v1) | *(v1) = a3;
0x0007f8cc sw a2, 4(v1) | *((v1 + 1)) = a2;
0x0007f8d0 sw a1, 8(v1) | *((v1 + 2)) = a1;
0x0007f8d4 sw a0, 0xc(v1) | *((v1 + 3)) = a0;
0x0007f8d8 addiu v1, v1, 0x10 | v1 += 0x10;
0x0007f8dc bne v0, t0, 0x7f8b4 |
| } while (v0 != t0);
0x0007f8e0 lw v0, (v0) | v0 = *(v0);
0x0007f8e4 sw v0, (v1) | *(v1) = v0;
0x0007f8e8 lw a1, 0x28(sp) | a1 = *(var_28h);
0x0007f8ec lw t9, -0x79f0(gp) | t9 = sym.path_equal;
| if (a1 != 0) {
0x0007f8f0 bnez a1, 0x7f90c | goto label_22;
| }
0x0007f8f4 sw s0, (s5) | *(s5) = s0;
0x0007f8f8 b 0x7f744 | goto label_5;
| label_7:
0x0007f8fc addiu s1, s1, 4 | s1 += 4;
0x0007f900 lw a1, (s1) | a1 = *(s1);
0x0007f904 lw t9, -0x79f0(gp) | t9 = sym.path_equal;
| if (a1 == 0) {
0x0007f908 beqz a1, 0x7f740 | goto label_6;
| }
| label_22:
0x0007f90c move a0, s0 | a0 = s0;
0x0007f910 bal 0x744ec | sym_path_equal ();
0x0007f914 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0007f918 beqz v0, 0x7f8fc | goto label_7;
| }
0x0007f91c sw zero, (s5) | *(s5) = 0;
0x0007f920 b 0x7f7ac | goto label_1;
| label_16:
0x0007f924 lw v0, 0x8c(sp) | v0 = *(arg_8ch);
0x0007f928 andi v0, v0, 2 | v0 &= 2;
| if (v0 == 0) {
0x0007f92c beql v0, zero, 0x7f76c | goto label_8;
| }
0x0007f930 lw s2, (s1) | s2 = *(s1);
0x0007f934 lw s2, (s1) | s2 = *(s1);
| if (s6 == 0) {
0x0007f938 bnel s6, zero, 0x7f76c | goto label_8;
| }
0x0007f93c lw s2, (s1) | s2 = *(s1);
| if (s4 == 0) {
0x0007f940 bnel s4, zero, 0x7f76c | goto label_8;
| }
0x0007f944 lw s2, (s1) | s2 = *(s1);
| if (s5 == 0) {
0x0007f948 bnel s5, zero, 0x7f76c | goto label_8;
| }
0x0007f94c move s2, zero | s2 = 0;
| if (s7 == 0) {
0x0007f950 beqz s7, 0x7f7ac | goto label_1;
| }
0x0007f954 lw v0, 0x24(sp) | v0 = *(var_24h);
0x0007f958 sw v0, (s7) | *(s7) = v0;
0x0007f95c b 0x7f7b0 | goto label_2;
| label_11:
0x0007f960 lw v0, -0x7e08(gp) | v0 = *((gp - 8066));
0x0007f964 lw a2, -0x7e08(gp) | a2 = *((gp - 8066));
0x0007f968 lw a1, -0x7e08(gp) | a1 = *((gp - 8066));
| /* str.get_user_creds */
0x0007f96c addiu v0, v0, -0x2074 | v0 += -0x2074;
0x0007f970 lw t9, -0x7fc0(gp) | t9 = sym.log_assert_failed_realm;
0x0007f974 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0007f978 addiu a3, zero, 0xaa | a3 = 0xaa;
| /* esilref: 'src/basic/user-util.c' */
0x0007f97c addiu a2, a2, -0x21a9 | a2 += -0x21a9;
| /* esilref: 'username' */
0x0007f980 addiu a1, a1, -0x20ec | a1 += -0x20ec;
0x0007f984 bal 0x6e764 | sym_log_assert_failed_realm ();
| label_12:
0x0007f988 lw v0, -0x7e08(gp) | v0 = *((gp - 8066));
0x0007f98c lw a2, -0x7e08(gp) | a2 = *((gp - 8066));
0x0007f990 lw a1, -0x7e08(gp) | a1 = *((gp - 8066));
| /* str.get_user_creds */
0x0007f994 addiu v0, v0, -0x2074 | v0 += -0x2074;
0x0007f998 lw t9, -0x7fc0(gp) | t9 = sym.log_assert_failed_realm;
0x0007f99c sw v0, 0x10(sp) | *(var_10h) = v0;
0x0007f9a0 addiu a3, zero, 0xab | a3 = 0xab;
| /* esilref: 'src/basic/user-util.c' */
0x0007f9a4 addiu a2, a2, -0x21a9 | a2 += -0x21a9;
| /* str.username */
0x0007f9a8 addiu a1, a1, -0x20e0 | a1 += -0x20e0;
0x0007f9ac bal 0x6e764 | sym_log_assert_failed_realm ();
| label_21:
0x0007f9b0 lw s0, 0x14(s2) | s0 = *((s2 + 5));
0x0007f9b4 lw t9, -0x7660(gp) | t9 = sym.path_is_valid;
0x0007f9b8 move a0, s0 | a0 = s0;
0x0007f9bc bal 0x74f78 | sym_path_is_valid ();
0x0007f9c0 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0007f9c4 beqz v0, 0x7f854 | goto label_9;
| }
0x0007f9c8 lw t9, -0x7d10(gp) | t9 = sym.path_is_absolute;
0x0007f9cc move a0, s0 | a0 = s0;
0x0007f9d0 bal 0x73a10 | sym_path_is_absolute ();
0x0007f9d4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x0007f9d8 bnez v0, 0x7f724 | goto label_10;
| }
0x0007f9dc b 0x7f854 | goto label_9;
0x0007f9e0 nop |
| label_17:
0x0007f9e4 addiu s2, zero, -0x4d | s2 = -0x4d;
0x0007f9e8 b 0x7f7b0 | goto label_2;
| label_20:
0x0007f9ec lw t9, -0x7230(gp) | t9 = sym.imp.__stack_chk_fail;
0x0007f9f0 jalr t9 | t9 ();
0x0007f9f4 nop |
| }
[*] Function popen used 1 times systemd-udevd