[*] Binary protection state of systemd-udevd
Full RELRO Canary found NX disabled PIE enabled RPATH No RUNPATH No Symbols
[*] Function system 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 @ 0x5c538 */
| #include <stdint.h>
|
; (fcn) sym.message_new_empty () | void message_new_empty () {
0x0005c538 lui gp, 7 |
0x0005c53c addiu gp, gp, -0x53c8 |
0x0005c540 addu gp, gp, t9 | gp += t9;
0x0005c544 addiu sp, sp, -0x30 |
0x0005c548 sw gp, 0x18(sp) | *(var_18h_3) = gp;
0x0005c54c sw ra, 0x2c(sp) | *(var_2ch_3) = ra;
0x0005c550 sw s1, 0x28(sp) | *(var_28h_3) = s1;
0x0005c554 sw s0, 0x24(sp) | *(var_24h_2) = s0;
0x0005c558 lw t9, -0x7530(gp) | t9 = sym.imp.calloc;
| if (a1 == 0) {
0x0005c55c beqz a1, 0x5c5b0 | goto label_1;
| }
0x0005c560 move s0, a1 | s0 = a1;
0x0005c564 move s1, a0 | s1 = a0;
0x0005c568 addiu a1, zero, 0x21c | a1 = aav.0x0000021c;
0x0005c56c addiu a0, zero, 1 | a0 = 1;
0x0005c570 jalr t9 | t9 ();
0x0005c574 addiu a1, zero, 1 | a1 = 1;
| if (v0 == 0) {
0x0005c578 beqz v0, 0x5c5e4 | goto label_2;
| }
0x0005c57c lbu v1, 0x214(v0) | v1 = *(v0);
0x0005c580 lw a0, 0x18(s1) | a0 = *((s1 + 6));
0x0005c584 ins v1, zero, 0, 1 | __asm ("ins v1, zero, 0, 1");
0x0005c588 sw a1, (v0) | *(v0) = a1;
0x0005c58c sw a0, 8(v0) | *((v0 + 2)) = a0;
0x0005c590 sb v1, 0x214(v0) | *(v0) = v1;
0x0005c594 sw v0, (s0) | *(s0) = v0;
0x0005c598 move v0, zero | v0 = 0;
| do {
| label_0:
0x0005c59c lw ra, 0x2c(sp) | ra = *(var_2ch_3);
0x0005c5a0 lw s1, 0x28(sp) | s1 = *(var_28h_3);
0x0005c5a4 lw s0, 0x24(sp) | s0 = *(var_24h_2);
0x0005c5a8 addiu sp, sp, 0x30 |
0x0005c5ac jr ra | return v0;
| label_1:
0x0005c5b0 lw v0, -0x7fc4(gp) | v0 = *(gp);
0x0005c5b4 lw a2, -0x7fc4(gp) | a2 = *(gp);
0x0005c5b8 lw a1, -0x7fc4(gp) | a1 = *(gp);
| /* str.message_new_empty */
0x0005c5bc addiu v0, v0, 0x7ce4 | v0 += 0x7ce4;
0x0005c5c0 lw t9, -0x7d68(gp) | t9 = sym.log_assert_failed_return_realm;
0x0005c5c4 sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x0005c5c8 addiu a3, zero, 0x1b | a3 = 0x1b;
| /* esilref: 'src/libsystemd/sd-netlink/netlink-message.c' */
0x0005c5cc addiu a2, a2, 0x7a4f | a2 += 0x7a4f;
| /* esilref: 'ret' */
0x0005c5d0 addiu a1, a1, -0x6790 | a1 += -0x6790;
0x0005c5d4 move a0, zero | a0 = 0;
0x0005c5d8 bal 0x6fc1c | sym_log_assert_failed_return_realm ();
0x0005c5dc addiu v0, zero, -0x16 | v0 = -0x16;
0x0005c5e0 b 0x5c59c |
| } while (1);
| label_2:
0x0005c5e4 addiu v0, zero, -0xc | v0 = -0xc;
0x0005c5e8 b 0x5c59c | goto label_0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/systemd/systemd-udevd @ 0x5c6bc */
| #include <stdint.h>
|
; (fcn) sym.message_new () | void message_new () {
0x0005c6bc lui gp, 7 |
0x0005c6c0 addiu gp, gp, -0x554c |
0x0005c6c4 addu gp, gp, t9 | gp += t9;
0x0005c6c8 addiu sp, sp, -0x50 |
0x0005c6cc sw s2, 0x3c(sp) | *(var_3ch) = s2;
0x0005c6d0 lw s2, -0x71f0(gp) | s2 = *((gp - 7292));
0x0005c6d4 sw gp, 0x18(sp) | *(var_18h) = gp;
0x0005c6d8 sw ra, 0x4c(sp) | *(var_4ch) = ra;
0x0005c6dc sw s5, 0x48(sp) | *(var_48h) = s5;
0x0005c6e0 sw s4, 0x44(sp) | *(var_44h) = s4;
0x0005c6e4 sw s3, 0x40(sp) | *(var_40h) = s3;
0x0005c6e8 sw s1, 0x38(sp) | *(var_38h) = s1;
0x0005c6ec sw s0, 0x34(sp) | *(var_34h) = s0;
0x0005c6f0 lw v0, (s2) | v0 = *(s2);
0x0005c6f4 sw zero, 0x24(sp) | *(var_24h) = 0;
0x0005c6f8 sw v0, 0x2c(sp) | *(var_2ch) = v0;
0x0005c6fc lw t9, -0x7838(gp) | t9 = sym.type_system_get_root
| if (a0 == 0) {
0x0005c700 beqz a0, 0x5c848 | goto label_1;
| }
0x0005c704 move s1, a0 | s1 = a0;
0x0005c708 lw a0, 0x18(a0) | a0 = *((a0 + 6));
0x0005c70c move s4, a1 | s4 = a1;
0x0005c710 move s3, a2 | s3 = a2;
0x0005c714 bal 0x5e8ec | sym_type_system_get_root ()
0x0005c718 lw gp, 0x18(sp) | gp = *(var_18h);
0x0005c71c move a2, s3 | a2 = s3;
0x0005c720 addiu a1, sp, 0x28 | a1 = sp + 0x28;
0x0005c724 lw t9, -0x7844(gp) | t9 = sym.type_system_get_type
0x0005c728 move a0, v0 | a0 = v0;
0x0005c72c bal 0x5e90c | sym_type_system_get_type ()
0x0005c730 move s0, v0 | s0 = v0;
0x0005c734 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x0005c738 bltz v0, 0x5c7f8 | goto label_2;
| }
0x0005c73c lw t9, -0x7840(gp) | t9 = sym.type_get_type;
0x0005c740 lw a0, 0x28(sp) | a0 = *(var_28h);
0x0005c744 bal 0x5e760 | sym_type_get_type ();
0x0005c748 addiu v1, zero, 0xa | v1 = 0xa;
0x0005c74c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == v1) {
0x0005c750 bne v0, v1, 0x5c7f4 |
0x0005c754 lw t9, -0x7834(gp) | t9 = sym.message_new_empty;
0x0005c758 addiu a1, sp, 0x24 | a1 = sp + 0x24;
0x0005c75c move a0, s1 | a0 = s1;
0x0005c760 bal 0x5c538 | sym_message_new_empty ();
0x0005c764 move s0, v0 | s0 = v0;
0x0005c768 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x0005c76c bltz v0, 0x5c7f8 | goto label_2;
| }
0x0005c770 lw t9, -0x783c(gp) | t9 = sym.type_get_size;
0x0005c774 lw a0, 0x28(sp) | a0 = *(var_28h);
0x0005c778 addiu s5, zero, -4 | s5 = -4;
0x0005c77c bal 0x5e7ac | sym_type_get_size ();
0x0005c780 addiu v0, v0, 0x13 | v0 += 0x13;
0x0005c784 and s5, v0, s5 | s5 = v0 & s5;
0x0005c788 sltiu v0, s5, 0x10 | v0 = (s5 < 0x10) ? 1 : 0;
0x0005c78c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x0005c790 bnez v0, 0x5c87c | goto label_3;
| }
0x0005c794 lw t9, -0x7530(gp) | t9 = sym.imp.calloc;
0x0005c798 lw s1, 0x24(sp) | s1 = *(var_24h);
0x0005c79c move a1, s5 | a1 = s5;
0x0005c7a0 addiu a0, zero, 1 | a0 = 1;
0x0005c7a4 jalr t9 | t9 ();
0x0005c7a8 lw gp, 0x18(sp) | gp = *(var_18h);
0x0005c7ac sw v0, 0xc(s1) | *((s1 + 3)) = v0;
| if (v0 == 0) {
0x0005c7b0 beqz v0, 0x5c8a8 | goto label_4;
| }
0x0005c7b4 lw t9, -0x7830(gp) | t9 = sym.type_get_type_system
0x0005c7b8 addiu v1, zero, 5 | v1 = 5;
0x0005c7bc lw a0, 0x28(sp) | a0 = *(var_28h);
0x0005c7c0 sh v1, 6(v0) | *((v0 + 3)) = v1;
0x0005c7c4 addiu a1, s1, 0x10 | a1 = s1 + 0x10;
0x0005c7c8 bal 0x5e7f8 | sym_type_get_type_system ()
0x0005c7cc lw v0, 0x24(sp) | v0 = *(var_24h);
0x0005c7d0 lw gp, 0x18(sp) | gp = *(var_18h);
0x0005c7d4 move s0, zero | s0 = 0;
0x0005c7d8 lw v0, 0xc(v0) | v0 = *((v0 + 3));
0x0005c7dc sw s5, (v0) | *(v0) = s5;
0x0005c7e0 lw v0, 0x24(sp) | v0 = *(var_24h);
0x0005c7e4 lw v1, 0xc(v0) | v1 = *((v0 + 3));
0x0005c7e8 sh s3, 4(v1) | *((v1 + 2)) = s3;
0x0005c7ec sw v0, (s4) | *(s4) = v0;
0x0005c7f0 b 0x5c814 | goto label_5;
| }
0x0005c7f4 addiu s0, zero, -0x16 | s0 = -0x16;
| do {
| label_2:
0x0005c7f8 lw s1, 0x24(sp) | s1 = *(var_24h);
| if (s1 != 0) {
0x0005c7fc beqz s1, 0x5c814 |
0x0005c800 nop |
| label_0:
0x0005c804 lw t9, -0x791c(gp) | t9 = sym.sd_netlink_message_unref;
0x0005c808 move a0, s1 | a0 = s1;
0x0005c80c bal 0x5c5ec | sym_sd_netlink_message_unref ();
0x0005c810 lw gp, 0x18(sp) | gp = *(var_18h);
| }
| label_5:
0x0005c814 lw a0, 0x2c(sp) | a0 = *(var_2ch);
0x0005c818 lw v1, (s2) | v1 = *(s2);
0x0005c81c move v0, s0 | v0 = s0;
| if (a0 != v1) {
0x0005c820 bne a0, v1, 0x5c8b0 | goto label_6;
| }
0x0005c824 lw ra, 0x4c(sp) | ra = *(var_4ch);
0x0005c828 lw s5, 0x48(sp) | s5 = *(var_48h);
0x0005c82c lw s4, 0x44(sp) | s4 = *(var_44h);
0x0005c830 lw s3, 0x40(sp) | s3 = *(var_40h);
0x0005c834 lw s2, 0x3c(sp) | s2 = *(var_3ch);
0x0005c838 lw s1, 0x38(sp) | s1 = *(var_38h);
0x0005c83c lw s0, 0x34(sp) | s0 = *(var_34h);
0x0005c840 addiu sp, sp, 0x50 |
0x0005c844 jr ra | return v0;
| label_1:
0x0005c848 lw v0, -0x7fc4(gp) | v0 = *(gp);
0x0005c84c lw a2, -0x7fc4(gp) | a2 = *(gp);
0x0005c850 lw a1, -0x7fc4(gp) | a1 = *(gp);
0x0005c854 lw t9, -0x7d68(gp) | t9 = sym.log_assert_failed_return_realm;
| /* str.message_new */
0x0005c858 addiu v0, v0, 0x7cd8 | v0 += 0x7cd8;
0x0005c85c sw v0, 0x10(sp) | *(var_10h) = v0;
0x0005c860 addiu a3, zero, 0x36 | a3 = 0x36;
| /* esilref: 'src/libsystemd/sd-netlink/netlink-message.c' */
0x0005c864 addiu a2, a2, 0x7a4f | a2 += 0x7a4f;
| /* str.rtnl */
0x0005c868 addiu a1, a1, 0x6048 | a1 += 0x6048;
0x0005c86c bal 0x6fc1c | sym_log_assert_failed_return_realm ();
0x0005c870 addiu s0, zero, -0x16 | s0 = -0x16;
0x0005c874 lw gp, 0x18(sp) | gp = *(var_18h);
0x0005c878 b 0x5c7f8 |
| } while (1);
| label_3:
0x0005c87c lw v0, -0x7fc4(gp) | v0 = *(gp);
0x0005c880 lw a2, -0x7fc4(gp) | a2 = *(gp);
0x0005c884 lw a1, -0x7fc4(gp) | a1 = *(gp);
| /* str.message_new */
0x0005c888 addiu v0, v0, 0x7cd8 | v0 += 0x7cd8;
0x0005c88c lw t9, -0x7fc0(gp) | t9 = sym.log_assert_failed_realm;
0x0005c890 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0005c894 addiu a3, zero, 0x47 | a3 = 0x47;
| /* esilref: 'src/libsystemd/sd-netlink/netlink-message.c' */
0x0005c898 addiu a2, a2, 0x7a4f | a2 += 0x7a4f;
| /* str.size___sizeof_struct_nlmsghdr_ */
0x0005c89c addiu a1, a1, 0x7b6c | a1 += 0x7b6c;
0x0005c8a0 move a0, zero | a0 = 0;
0x0005c8a4 bal 0x6e764 | sym_log_assert_failed_realm ();
| label_4:
0x0005c8a8 addiu s0, zero, -0xc | s0 = -0xc;
0x0005c8ac b 0x5c804 | goto label_0;
| label_6:
0x0005c8b0 lw t9, -0x7230(gp) | t9 = sym.imp.__stack_chk_fail;
0x0005c8b4 jalr t9 | t9 ();
0x0005c8b8 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/systemd/systemd-udevd @ 0x5cfbc */
| #include <stdint.h>
|
; (fcn) sym.sd_netlink_message_rewind () | void sd_netlink_message_rewind () {
0x0005cfbc lui gp, 7 |
0x0005cfc0 addiu gp, gp, -0x5e4c |
0x0005cfc4 addu gp, gp, t9 | gp += t9;
0x0005cfc8 addiu sp, sp, -0x50 |
0x0005cfcc sw s3, 0x44(sp) | *(var_44h) = s3;
0x0005cfd0 lw s3, -0x71f0(gp) | s3 = *((gp - 7292));
0x0005cfd4 sw gp, 0x18(sp) | *(var_18h_2) = gp;
0x0005cfd8 sw ra, 0x4c(sp) | *(var_4ch) = ra;
0x0005cfdc sw s4, 0x48(sp) | *(var_48h) = s4;
0x0005cfe0 sw s2, 0x40(sp) | *(var_40h) = s2;
0x0005cfe4 sw s1, 0x3c(sp) | *(var_3ch) = s1;
0x0005cfe8 sw s0, 0x38(sp) | *(var_38h) = s0;
0x0005cfec lw v0, (s3) | v0 = *(s3);
0x0005cff0 sw v0, 0x34(sp) | *(var_34h) = v0;
0x0005cff4 lw v0, -0x7fc4(gp) | v0 = *(gp);
| if (a0 == 0) {
0x0005cff8 beqz a0, 0x5d180 | goto label_3;
| }
0x0005cffc lw v0, 0x214(a0) | v0 = *(a0);
0x0005d000 andi v0, v0, 1 | v0 &= 1;
0x0005d004 move s2, a0 | s2 = a0;
| if (v0 == 0) {
0x0005d008 beqz v0, 0x5d16c | goto label_4;
| }
| label_2:
0x0005d00c lw t9, -0x7838(gp) | t9 = sym.type_system_get_root
0x0005d010 lw a0, 8(s2) | a0 = *((s2 + 2));
0x0005d014 bal 0x5e8ec | sym_type_system_get_root ()
0x0005d018 lw v1, 0x210(s2) | v1 = *(s2);
0x0005d01c lw gp, 0x18(sp) | gp = *(var_18h_2);
0x0005d020 move s4, v0 | s4 = v0;
| if (v1 == 0) {
0x0005d024 beqz v1, 0x5d058 | goto label_5;
| }
0x0005d028 addiu s0, s2, 0x28 | s0 = s2 + 0x28;
0x0005d02c addiu s1, zero, 1 | s1 = 1;
| do {
0x0005d030 lw t9, -0x71d0(gp) | t9 = *((gp - 7284));
0x0005d034 lw a0, (s0) | a0 = *(s0);
0x0005d038 addiu s1, s1, 1 | s1++;
0x0005d03c jalr t9 | t9 ();
0x0005d040 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x0005d044 sw zero, (s0) | *(s0) = 0;
0x0005d048 lw v0, 0x210(s2) | v0 = *(s2);
0x0005d04c sltu v0, v0, s1 | v0 = (v0 < s1) ? 1 : 0;
0x0005d050 addiu s0, s0, 0x10 | s0 += 0x10;
0x0005d054 beqz v0, 0x5d030 |
| } while (v0 == 0);
| label_5:
0x0005d058 lw v0, 0x18(s2) | v0 = *((s2 + 6));
0x0005d05c sw zero, 0x210(s2) | *(s2) = 0;
| if (v0 == 0) {
0x0005d060 beqz v0, 0x5d094 | goto label_6;
| }
| label_0:
0x0005d064 move v0, zero | v0 = 0;
| do {
| label_1:
0x0005d068 lw a0, 0x34(sp) | a0 = *(var_34h);
0x0005d06c lw v1, (s3) | v1 = *(s3);
0x0005d070 lw ra, 0x4c(sp) | ra = *(var_4ch);
| if (a0 != v1) {
0x0005d074 bne a0, v1, 0x5d1dc | goto label_7;
| }
0x0005d078 lw s4, 0x48(sp) | s4 = *(var_48h);
0x0005d07c lw s3, 0x44(sp) | s3 = *(var_44h);
0x0005d080 lw s2, 0x40(sp) | s2 = *(var_40h);
0x0005d084 lw s1, 0x3c(sp) | s1 = *(var_3ch);
0x0005d088 lw s0, 0x38(sp) | s0 = *(var_38h);
0x0005d08c addiu sp, sp, 0x50 |
0x0005d090 jr ra | return v0;
| label_6:
0x0005d094 lw v0, 0xc(s2) | v0 = *((s2 + 3));
0x0005d098 lw t9, -0x7844(gp) | t9 = sym.type_system_get_type
| if (v0 == 0) {
0x0005d09c beqz v0, 0x5d1b0 | goto label_8;
| }
0x0005d0a0 lhu a2, 4(v0) | a2 = *((v0 + 2));
0x0005d0a4 addiu a1, sp, 0x2c | a1 = sp + 0x2c;
0x0005d0a8 move a0, s4 | a0 = s4;
0x0005d0ac bal 0x5e90c | sym_type_system_get_type ()
0x0005d0b0 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x0005d0b4 bltz v0, 0x5d068 |
| } while (v0 < 0);
0x0005d0b8 lw t9, -0x7840(gp) | t9 = sym.type_get_type;
0x0005d0bc lw a0, 0x2c(sp) | a0 = *(var_2ch);
0x0005d0c0 bal 0x5e760 | sym_type_get_type ();
0x0005d0c4 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x0005d0c8 lw a0, 0x2c(sp) | a0 = *(var_2ch);
0x0005d0cc lw t9, -0x783c(gp) | t9 = sym.type_get_size;
0x0005d0d0 move s0, v0 | s0 = v0;
0x0005d0d4 bal 0x5e7ac | sym_type_get_size ();
0x0005d0d8 addiu v1, zero, 0xa | v1 = 0xa;
0x0005d0dc lw gp, 0x18(sp) | gp = *(var_18h_2);
| if (s0 != v1) {
0x0005d0e0 bne s0, v1, 0x5d064 | goto label_0;
| }
0x0005d0e4 lw t9, -0x7830(gp) | t9 = sym.type_get_type_system
0x0005d0e8 lw a0, 0x2c(sp) | a0 = *(var_2ch);
0x0005d0ec sw v0, 0x24(sp) | *(var_24h_2) = v0;
0x0005d0f0 addiu a1, sp, 0x30 | a1 = sp + 0x30;
0x0005d0f4 bal 0x5e7f8 | sym_type_get_type_system ()
0x0005d0f8 lw a3, 0xc(s2) | a3 = *((s2 + 3));
0x0005d0fc lw a0, 0x30(sp) | a0 = *(var_30h);
0x0005d100 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x0005d104 lw v1, 0x210(s2) | v1 = *(s2);
0x0005d108 lw v0, 0x24(sp) | v0 = *(var_24h_2);
0x0005d10c sw a0, 0x10(s2) | *((s2 + 4)) = a0;
0x0005d110 lw a2, (a3) | a2 = *(a3);
0x0005d114 addiu a1, zero, -4 | a1 = -4;
0x0005d118 addiu a0, v0, 3 | a0 = v0 + 3;
0x0005d11c addiu v1, v1, 1 | v1++;
0x0005d120 addiu v0, v0, 0x13 | v0 += 0x13;
0x0005d124 sll v1, v1, 4 | v1 <<= 4;
0x0005d128 lw t9, -0x7870(gp) | t9 = *(gp);
0x0005d12c and a0, a0, a1 | a0 &= a1;
0x0005d130 and v0, v0, a1 | v0 &= a1;
0x0005d134 subu v0, a2, v0 | __asm ("subu v0, a2, v0");
0x0005d138 addu a1, s2, v1 | a1 = s2 + v1;
0x0005d13c addiu a0, a0, 0x10 | a0 += 0x10;
0x0005d140 addu a3, a3, a0 | a3 += a0;
0x0005d144 addiu a2, a1, 0xc | a2 = a1 + 0xc;
0x0005d148 sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x0005d14c addiu a1, a1, 8 | a1 += 8;
| /* fcn.0005c2fc */
0x0005d150 addiu t9, t9, -0x3d04 | t9 += -0x3d04;
0x0005d154 addiu a0, s2, 0xc | a0 = s2 + 0xc;
0x0005d158 bal 0x5c2fc | fcn_0005c2fc ();
0x0005d15c sra v1, v0, 0x1f | v1 = v0 >> 0x1f;
0x0005d160 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x0005d164 and v0, v1, v0 | v0 = v1 & v0;
0x0005d168 b 0x5d068 | goto label_1;
| label_4:
0x0005d16c lw t9, -0x78f4(gp) | t9 = sym.rtnl_message_seal;
0x0005d170 bal 0x5cf24 | sym_rtnl_message_seal ();
0x0005d174 nop |
0x0005d178 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x0005d17c b 0x5d00c | goto label_2;
| label_3:
0x0005d180 lw a2, -0x7fc4(gp) | a2 = *(gp);
0x0005d184 lw a1, -0x7fc4(gp) | a1 = *(gp);
0x0005d188 lw t9, -0x7d68(gp) | t9 = sym.log_assert_failed_return_realm;
| /* str.sd_netlink_message_rewind */
0x0005d18c addiu v0, v0, 0x7ba0 | v0 += 0x7ba0;
0x0005d190 sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x0005d194 addiu a3, zero, 0x3ef | a3 = 0x3ef;
| /* esilref: 'src/libsystemd/sd-netlink/netlink-message.c' */
0x0005d198 addiu a2, a2, 0x7a4f | a2 += 0x7a4f;
0x0005d19c addiu a1, a1, 0x664c | a1 += 0x664c;
0x0005d1a0 bal 0x6fc1c | sym_log_assert_failed_return_realm ();
0x0005d1a4 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x0005d1a8 addiu v0, zero, -0x16 | v0 = -0x16;
0x0005d1ac b 0x5d068 | goto label_1;
| label_8:
0x0005d1b0 lw v0, -0x7fc4(gp) | v0 = *(gp);
0x0005d1b4 lw a2, -0x7fc4(gp) | a2 = *(gp);
0x0005d1b8 lw a1, -0x7fc4(gp) | a1 = *(gp);
| /* str.sd_netlink_message_rewind */
0x0005d1bc addiu v0, v0, 0x7ba0 | v0 += 0x7ba0;
0x0005d1c0 lw t9, -0x7fc0(gp) | t9 = sym.log_assert_failed_realm;
0x0005d1c4 sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x0005d1c8 addiu a3, zero, 0x400 | a3 = 0x400;
| /* esilref: 'src/libsystemd/sd-netlink/netlink-message.c' */
0x0005d1cc addiu a2, a2, 0x7a4f | a2 += 0x7a4f;
| /* str.m__hdr */
0x0005d1d0 addiu a1, a1, 0x60ec | a1 += 0x60ec;
0x0005d1d4 move a0, zero | a0 = 0;
0x0005d1d8 bal 0x6e764 | sym_log_assert_failed_realm ();
| label_7:
0x0005d1dc lw t9, -0x7230(gp) | t9 = sym.imp.__stack_chk_fail;
0x0005d1e0 jalr t9 | t9 ();
0x0005d1e4 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/systemd/systemd-udevd @ 0x5dfd0 */
| #include <stdint.h>
|
; (fcn) sym.socket_read_message () | void socket_read_message () {
0x0005dfd0 lui gp, 7 |
0x0005dfd4 addiu gp, gp, -0x6e60 |
0x0005dfd8 addu gp, gp, t9 | gp += t9;
0x0005dfdc addiu sp, sp, -0x80 |
0x0005dfe0 sw s3, 0x64(sp) | *(var_64h) = s3;
0x0005dfe4 lw s3, -0x71f0(gp) | s3 = *((gp - 7292));
0x0005dfe8 sw gp, 0x20(sp) | *(var_20h) = gp;
0x0005dfec sw ra, 0x7c(sp) | *(var_7ch) = ra;
0x0005dff0 sw fp, 0x78(sp) | *(var_78h) = fp;
0x0005dff4 sw s7, 0x74(sp) | *(var_74h) = s7;
0x0005dff8 sw s6, 0x70(sp) | *(var_70h) = s6;
0x0005dffc sw s5, 0x6c(sp) | *(var_6ch) = s5;
0x0005e000 sw s4, 0x68(sp) | *(var_68h) = s4;
0x0005e004 sw s2, 0x60(sp) | *(var_60h) = s2;
0x0005e008 sw s1, 0x5c(sp) | *(var_5ch) = s1;
0x0005e00c sw s0, 0x58(sp) | *(var_58h) = s0;
0x0005e010 lw v0, (s3) | v0 = *(s3);
0x0005e014 sw zero, 0x4c(sp) | *(var_4ch) = 0;
0x0005e018 sw zero, 0x50(sp) | *(var_50h) = 0;
0x0005e01c sw v0, 0x54(sp) | *(var_54h) = v0;
0x0005e020 sw zero, 0x40(sp) | *(var_40h) = 0;
| if (a0 == 0) {
0x0005e024 beqz a0, 0x5e3b8 | goto label_12;
| }
0x0005e028 lw v0, 0x3c(a0) | v0 = *((a0 + 15));
0x0005e02c move s0, a0 | s0 = a0;
| if (v0 == 0) {
0x0005e030 beqz v0, 0x5e3e0 | goto label_13;
| }
0x0005e034 lw v0, 0x40(a0) | v0 = *((arg_4h + 1));
0x0005e038 sltiu v0, v0, 0x10 | v0 = (v0 < 0x10) ? 1 : 0;
0x0005e03c lw t9, -0x7838(gp) | t9 = sym.type_system_get_root
| if (v0 != 0) {
0x0005e040 bnez v0, 0x5e40c | goto label_14;
| }
0x0005e044 lw a0, 0x18(a0) | a0 = *((a0 + 6));
0x0005e048 addiu s2, sp, 0x4c | s2 = sp + 0x4c;
0x0005e04c bal 0x5e8ec | sym_type_system_get_root ()
0x0005e050 lw gp, 0x20(sp) | gp = *(var_20h);
0x0005e054 lw a0, 4(s0) | a0 = *((s0 + 1));
0x0005e058 move a2, zero | a2 = 0;
0x0005e05c lw s1, -0x7870(gp) | s1 = *(gp);
0x0005e060 addiu a3, zero, 1 | a3 = 1;
| /* fcn.0005d578 */
0x0005e064 addiu s1, s1, -0x2a88 | s1 += -0x2a88;
0x0005e068 move a1, s2 | a1 = s2;
0x0005e06c move t9, s1 | t9 = s1;
0x0005e070 move s4, v0 | s4 = v0;
0x0005e074 bal 0x5d578 | fcn_0005d578 ();
0x0005e078 move a2, v0 | a2 = v0;
0x0005e07c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 > 0) {
0x0005e080 blez v0, 0x5e1bc |
0x0005e084 lw t9, -0x79dc(gp) | t9 = sym.greedy_realloc;
0x0005e088 addiu a3, zero, 1 | a3 = 1;
0x0005e08c addiu a1, s0, 0x40 | a1 = s0 + 0x40;
0x0005e090 addiu a0, s0, 0x3c | a0 = s0 + 0x3c;
0x0005e094 bal 0x5edbc | sym_greedy_realloc ();
0x0005e098 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0005e09c beqz v0, 0x5e6f8 | goto label_15;
| }
0x0005e0a0 lw v0, 0x40(s0) | v0 = *((s0 + 16));
0x0005e0a4 lw v1, 0x3c(s0) | v1 = *((s0 + 15));
0x0005e0a8 lw a0, 4(s0) | a0 = *((s0 + 1));
0x0005e0ac addiu a2, sp, 0x40 | a2 = sp + 0x40;
0x0005e0b0 move a3, zero | a3 = 0;
0x0005e0b4 move a1, s2 | a1 = s2;
0x0005e0b8 sw v1, 0x4c(sp) | *(var_4ch) = v1;
0x0005e0bc move t9, s1 | t9 = s1;
0x0005e0c0 sw v0, 0x50(sp) | *(var_50h) = v0;
0x0005e0c4 bal 0x5d578 | fcn_0005d578 ();
0x0005e0c8 move a2, v0 | a2 = v0;
0x0005e0cc lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 <= 0) {
0x0005e0d0 blez v0, 0x5e1bc | goto label_2;
| }
0x0005e0d4 lw v0, 0x40(s0) | v0 = *((s0 + 16));
0x0005e0d8 sltu v0, v0, a2 | v0 = (v0 < a2) ? 1 : 0;
0x0005e0dc move s7, a2 | s7 = a2;
| if (v0 != 0) {
0x0005e0e0 bnez v0, 0x5e700 | goto label_16;
| }
0x0005e0e4 sltiu v0, a2, 0x10 | v0 = (a2 < 0x10) ? 1 : 0;
| if (v0 == 0) {
0x0005e0e8 beql v0, zero, 0x5e1fc | goto label_17;
| }
0x0005e0ec lw fp, 0x3c(s0) | fp = *((s0 + 15));
0x0005e0f0 lw t9, -0x7fcc(gp) | t9 = sym.log_get_max_level_realm;
0x0005e0f4 move a0, zero | a0 = 0;
0x0005e0f8 bal 0x705b8 | sym_log_get_max_level_realm ();
0x0005e0fc slti v0, v0, 7 | v0 = (v0 < 7) ? 1 : 0;
0x0005e100 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x0005e104 bnez v0, 0x5e45c | goto label_18;
| }
0x0005e108 move s1, zero | s1 = 0;
0x0005e10c sw zero, 0x2c(sp) | *(var_2ch) = 0;
0x0005e110 sw zero, 0x28(sp) | *(var_28h) = 0;
0x0005e114 move s2, zero | s2 = 0;
0x0005e118 lw v0, -0x7fc4(gp) | v0 = *(gp);
| label_1:
0x0005e11c lw a2, -0x7fc4(gp) | a2 = *(gp);
| /* str.sd_netlink:_discarding__zu_bytes_of_incoming_message */
0x0005e120 addiu v0, v0, 0x7edc | v0 += 0x7edc;
0x0005e124 sw v0, 0x14(sp) | *(var_14h) = v0;
0x0005e128 lw v0, -0x7fc4(gp) | v0 = *(gp);
0x0005e12c lw t9, -0x7fc8(gp) | t9 = sym.log_internal_realm;
| /* esilref: 'socket_read_message' */
0x0005e130 addiu v0, v0, 0x7f3c | v0 += 0x7f3c;
0x0005e134 sw s7, 0x18(sp) | *(var_18h) = s7;
0x0005e138 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0005e13c addiu a3, zero, 0x1a5 | a3 = 0x1a5;
| /* esilref: 'src/libsystemd/sd-netlink/netlink-socket.c' */
0x0005e140 addiu a2, a2, 0x7d77 | a2 += 0x7d77;
0x0005e144 move a1, zero | a1 = 0;
0x0005e148 addiu a0, zero, 7 | a0 = 7;
0x0005e14c bal 0x6f6f8 | sym_log_internal_realm ();
0x0005e150 lw gp, 0x20(sp) | gp = *(var_20h);
| label_0:
0x0005e154 move a2, zero | a2 = 0;
| if (s2 == 0) {
0x0005e158 beqz s2, 0x5e1bc | goto label_2;
| }
0x0005e15c lw v0, 0x2c(sp) | v0 = *(var_2ch);
0x0005e160 lw t9, -0x7820(gp) | t9 = sym.rtnl_rqueue_make_room;
| if (v0 == 0) {
0x0005e164 beqz v0, 0x5e388 | goto label_19;
| }
| if (s1 == 0) {
0x0005e168 beql s1, zero, 0x5e438 | goto label_20;
| }
0x0005e16c lw v0, 0x34(s0) | v0 = *((s0 + 13));
0x0005e170 lw t9, -0x7820(gp) | t9 = sym.rtnl_rqueue_make_room;
0x0005e174 move a0, s0 | a0 = s0;
0x0005e178 bal 0x50ed8 | sym_rtnl_rqueue_make_room ();
0x0005e17c move a2, v0 | a2 = v0;
0x0005e180 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 < 0) {
0x0005e184 bltz v0, 0x5e39c | goto label_21;
| }
0x0005e188 lw v0, 0x28(s0) | v0 = *((s0 + 10));
0x0005e18c lw v1, 0x24(s0) | v1 = *((s0 + 9));
0x0005e190 sll a0, v0, 2 | a0 = v0 << 2;
0x0005e194 addu v1, v1, a0 | v1 += a0;
0x0005e198 addiu v0, v0, 1 | v0++;
0x0005e19c sw v0, 0x28(s0) | *((s0 + 10)) = v0;
0x0005e1a0 sw s2, (v1) | *(v1) = s2;
0x0005e1a4 lw v0, 0x34(s0) | v0 = *((s0 + 13));
0x0005e1a8 lw v1, 0x28(sp) | v1 = *(var_28h);
0x0005e1ac sltu v1, v1, v0 | v1 = (v1 < v0) ? 1 : 0;
0x0005e1b0 lw a1, 0x28(sp) | a1 = *(var_28h);
| if (v1 != 0) {
0x0005e1b4 bnez v1, 0x5e688 | goto label_22;
| }
0x0005e1b8 addiu a2, zero, 1 | a2 = 1;
| }
| label_2:
0x0005e1bc lw a0, 0x54(sp) | a0 = *(var_54h);
0x0005e1c0 lw v1, (s3) | v1 = *(s3);
0x0005e1c4 move v0, a2 | v0 = a2;
| if (a0 != v1) {
0x0005e1c8 bne a0, v1, 0x5e718 | goto label_23;
| }
0x0005e1cc lw ra, 0x7c(sp) | ra = *(var_7ch);
0x0005e1d0 lw fp, 0x78(sp) | fp = *(var_78h);
0x0005e1d4 lw s7, 0x74(sp) | s7 = *(var_74h);
0x0005e1d8 lw s6, 0x70(sp) | s6 = *(var_70h);
0x0005e1dc lw s5, 0x6c(sp) | s5 = *(var_6ch);
0x0005e1e0 lw s4, 0x68(sp) | s4 = *(var_68h);
0x0005e1e4 lw s3, 0x64(sp) | s3 = *(var_64h);
0x0005e1e8 lw s2, 0x60(sp) | s2 = *(var_60h);
0x0005e1ec lw s1, 0x5c(sp) | s1 = *(var_5ch);
0x0005e1f0 lw s0, 0x58(sp) | s0 = *(var_58h);
0x0005e1f4 addiu sp, sp, 0x80 |
0x0005e1f8 jr ra | return v0;
| label_17:
0x0005e1fc lw v0, (fp) | v0 = *(fp);
0x0005e200 sltiu a0, v0, 0x10 | a0 = (v0 < 0x10) ? 1 : 0;
0x0005e204 sw zero, 0x28(sp) | *(var_28h) = 0;
| if (a0 == 0) {
0x0005e208 bnel a0, zero, 0x5e35c | goto label_24;
| }
0x0005e20c sltu v0, a2, v0 | v0 = (a2 < v0) ? 1 : 0;
0x0005e210 sw zero, 0x28(sp) | *(var_28h) = 0;
| if (v0 == 0) {
0x0005e214 bnel v0, zero, 0x5e35c | goto label_24;
| }
0x0005e218 lhu v0, 6(fp) | v0 = *(arg_6h);
0x0005e21c andi v0, v0, 2 | v0 &= 2;
| if (v0 == 0) {
0x0005e220 beql v0, zero, 0x5e660 | goto label_25;
| }
0x0005e224 sw zero, 0x2c(sp) | *(var_2ch) = 0;
0x0005e228 lw v0, 0x34(s0) | v0 = *((s0 + 13));
0x0005e22c addiu v0, zero, 1 | v0 = 1;
| if (v0 == 0) {
0x0005e230 beqz v0, 0x5e708 | goto label_26;
| }
0x0005e234 sw zero, 0x28(sp) | *(var_28h) = 0;
0x0005e238 b 0x5e254 |
| while (v0 != a0) {
0x0005e23c lw v1, 0x28(sp) | v1 = *(var_28h);
0x0005e240 lw v0, 0x34(s0) | v0 = *((s0 + 13));
0x0005e244 addiu v1, v1, 1 | v1++;
0x0005e248 sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
0x0005e24c sw v1, 0x28(sp) | *(var_28h) = v1;
| if (v0 == 0) {
0x0005e250 beqz v0, 0x5e6ec | goto label_27;
| }
0x0005e254 lw v0, 0x28(sp) | v0 = *(var_28h);
0x0005e258 lw a0, 0x30(s0) | a0 = *((s0 + 12));
0x0005e25c sll s1, v0, 2 | s1 = v0 << 2;
0x0005e260 lw t9, -0x78ec(gp) | t9 = sym.rtnl_message_get_serial;
0x0005e264 lwx a0, s1(a0) | __asm ("lwx a0, s1(a0)");
0x0005e268 sw a2, 0x2c(sp) | *(var_2ch) = a2;
0x0005e26c bal 0x5cd40 | sym_rtnl_message_get_serial ();
0x0005e270 lw fp, 0x3c(s0) | fp = *((s0 + 15));
0x0005e274 lw gp, 0x20(sp) | gp = *(var_20h);
0x0005e278 lw a0, 8(fp) | a0 = *(arg_8h);
0x0005e27c lw a2, 0x2c(sp) | a2 = *(var_2ch);
0x0005e280 bne v0, a0, 0x5e23c |
| }
0x0005e284 lw s2, 0x30(s0) | s2 = *((s0 + 12));
0x0005e288 lw v0, (fp) | v0 = *(fp);
0x0005e28c lwx s2, s1(s2) | __asm ("lwx s2, s1(s2)");
| label_10:
0x0005e290 sltiu a0, v0, 0x10 | a0 = (v0 < 0x10) ? 1 : 0;
0x0005e294 sltu a2, a2, v0 | a2 = (a2 < v0) ? 1 : 0;
| if (a0 != 0) {
0x0005e298 bnez a0, 0x5e72c | goto label_28;
| }
0x0005e29c addiu v0, zero, 1 | v0 = 1;
0x0005e2a0 sw v0, 0x2c(sp) | *(var_2ch) = v0;
| if (a2 != 0) {
0x0005e2a4 bnez a2, 0x5e724 | goto label_29;
| }
| label_7:
0x0005e2a8 lw v0, -0x7fc4(gp) | v0 = *(gp);
0x0005e2ac lw s6, -0x7fc4(gp) | s6 = *(gp);
0x0005e2b0 sw v0, 0x34(sp) | *(var_34h) = v0;
0x0005e2b4 lw v0, -0x7fc4(gp) | v0 = *(gp);
0x0005e2b8 addiu s5, sp, 0x48 | s5 = sp + 0x48;
| /* str.sd_netlink:_message_is_shorter_than_expected__dropping */
0x0005e2bc addiu v0, v0, 0x7ea4 | v0 += 0x7ea4;
0x0005e2c0 sw v0, 0x38(sp) | *(var_38h) = v0;
| /* esilref: 'socket_read_message' */
0x0005e2c4 addiu v0, s6, 0x7f3c | v0 = s6 + 0x7f3c;
0x0005e2c8 sw v0, 0x30(sp) | *(var_30h) = v0;
0x0005e2cc lw v0, -0x7fc4(gp) | v0 = *(gp);
| /* str.sd_netlink:_ignored_message_with_unknown_type:__i */
0x0005e2d0 addiu v0, v0, 0x7e70 | v0 += 0x7e70;
0x0005e2d4 sw v0, 0x3c(sp) | *(var_3ch) = v0;
0x0005e2d8 lw v0, 0x40(sp) | v0 = *(var_40h);
| do {
0x0005e2dc sw zero, 0x44(sp) | *(var_44h) = 0;
| if (v0 == 0) {
0x0005e2e0 bnez v0, 0x5e2f4 |
0x0005e2e4 lw a0, 0xc(fp) | a0 = *(arg_ch);
0x0005e2e8 lw v0, 0xc(s0) | v0 = *((s0 + 3));
0x0005e2ec move s1, zero | s1 = 0;
| if (a0 != v0) {
0x0005e2f0 bne a0, v0, 0x5e314 | goto label_3;
| }
| }
0x0005e2f4 lhu a2, 4(fp) | a2 = *(arg_4h);
0x0005e2f8 addiu v0, zero, 1 | v0 = 1;
0x0005e2fc addiu v0, zero, 3 | v0 = 3;
| if (a2 == v0) {
0x0005e300 beq a2, v0, 0x5e4c4 | goto label_30;
| }
0x0005e304 move s1, zero | s1 = 0;
| if (a2 == v0) {
0x0005e308 bnel a2, v0, 0x5e4cc | goto label_31;
| }
0x0005e30c addiu s1, zero, 1 | s1 = 1;
| if (s2 == 0) {
0x0005e310 beqz s2, 0x5e4cc | goto label_31;
| }
| label_3:
0x0005e314 lw v0, (fp) | v0 = *(fp);
0x0005e318 addiu a0, zero, -4 | a0 = -4;
0x0005e31c addiu v0, v0, 3 | v0 += 3;
0x0005e320 and v0, v0, a0 | v0 &= a0;
0x0005e324 subu s7, s7, v0 | __asm ("subu s7, s7, v0");
0x0005e328 sltiu a0, s7, 0x10 | a0 = (s7 < 0x10) ? 1 : 0;
0x0005e32c addu fp, fp, v0 | fp += v0;
| if (a0 != 0) {
0x0005e330 bnez a0, 0x5e650 | goto label_32;
| }
0x0005e334 lw v0, (fp) | v0 = *(fp);
0x0005e338 sltiu a0, v0, 0x10 | a0 = (v0 < 0x10) ? 1 : 0;
0x0005e33c sltu v0, s7, v0 | v0 = (s7 < v0) ? 1 : 0;
| if (a0 != 0) {
0x0005e340 bnez a0, 0x5e368 | goto label_11;
| }
0x0005e344 lw t9, -0x7fcc(gp) | t9 = sym.log_get_max_level_realm;
| if (v0 != 0) {
0x0005e348 bnez v0, 0x5e36c | goto label_6;
| }
0x0005e34c lw v0, 0x40(sp) | v0 = *(var_40h);
0x0005e350 beqz s1, 0x5e2dc |
| } while (s1 == 0);
0x0005e354 b 0x5e36c | goto label_6;
0x0005e358 nop |
| label_24:
0x0005e35c sw zero, 0x2c(sp) | *(var_2ch) = 0;
0x0005e360 move s2, zero | s2 = 0;
0x0005e364 move s1, zero | s1 = 0;
| label_11:
0x0005e368 lw t9, -0x7fcc(gp) | t9 = sym.log_get_max_level_realm;
| label_6:
0x0005e36c move a0, zero | a0 = 0;
0x0005e370 bal 0x705b8 | sym_log_get_max_level_realm ();
0x0005e374 slti v0, v0, 7 | v0 = (v0 < 7) ? 1 : 0;
0x0005e378 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x0005e37c bnez v0, 0x5e154 | goto label_0;
| }
0x0005e380 lw v0, -0x7fc4(gp) | v0 = *(gp);
0x0005e384 b 0x5e11c | goto label_1;
| label_19:
0x0005e388 move a0, s0 | a0 = s0;
0x0005e38c bal 0x50ed8 | sym_rtnl_rqueue_make_room ();
0x0005e390 move a2, v0 | a2 = v0;
0x0005e394 lw gp, 0x20(sp) | gp = *(var_20h);
0x0005e398 bgez v0, 0x5e464 |
| while (v0 < 0) {
| label_21:
0x0005e39c lw t9, -0x791c(gp) | t9 = sym.sd_netlink_message_unref;
0x0005e3a0 sw a2, 0x28(sp) | *(var_28h) = a2;
| label_8:
0x0005e3a4 move a0, s2 | a0 = s2;
0x0005e3a8 bal 0x5c5ec | sym_sd_netlink_message_unref ();
0x0005e3ac lw gp, 0x20(sp) | gp = *(var_20h);
0x0005e3b0 lw a2, 0x28(sp) | a2 = *(var_28h);
0x0005e3b4 b 0x5e1bc | goto label_2;
| label_12:
0x0005e3b8 lw v0, -0x7fc4(gp) | v0 = *(gp);
0x0005e3bc lw a2, -0x7fc4(gp) | a2 = *(gp);
0x0005e3c0 lw a1, -0x7fc4(gp) | a1 = *(gp);
| /* str.socket_read_message */
0x0005e3c4 addiu v0, v0, 0x7f50 | v0 += 0x7f50;
0x0005e3c8 lw t9, -0x7fc0(gp) | t9 = sym.log_assert_failed_realm;
0x0005e3cc sw v0, 0x10(sp) | *(var_10h) = v0;
0x0005e3d0 addiu a3, zero, 0x13e | a3 = 0x13e;
| /* esilref: 'src/libsystemd/sd-netlink/netlink-socket.c' */
0x0005e3d4 addiu a2, a2, 0x7d77 | a2 += 0x7d77;
| /* str.rtnl */
0x0005e3d8 addiu a1, a1, 0x6048 | a1 += 0x6048;
0x0005e3dc bal 0x6e764 | sym_log_assert_failed_realm ();
| label_13:
0x0005e3e0 lw v0, -0x7fc4(gp) | v0 = *(gp);
0x0005e3e4 lw a2, -0x7fc4(gp) | a2 = *(gp);
0x0005e3e8 lw a1, -0x7fc4(gp) | a1 = *(gp);
| /* str.socket_read_message */
0x0005e3ec addiu v0, v0, 0x7f50 | v0 += 0x7f50;
0x0005e3f0 lw t9, -0x7fc0(gp) | t9 = sym.log_assert_failed_realm;
0x0005e3f4 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0005e3f8 addiu a3, zero, 0x13f | a3 = 0x13f;
| /* esilref: 'src/libsystemd/sd-netlink/netlink-socket.c' */
0x0005e3fc addiu a2, a2, 0x7d77 | a2 += 0x7d77;
| /* str.rtnl__rbuffer */
0x0005e400 addiu a1, a1, 0x7e2c | a1 += 0x7e2c;
0x0005e404 move a0, zero | a0 = 0;
0x0005e408 bal 0x6e764 | sym_log_assert_failed_realm ();
| label_14:
0x0005e40c lw v0, -0x7fc4(gp) | v0 = *(gp);
0x0005e410 lw a2, -0x7fc4(gp) | a2 = *(gp);
0x0005e414 lw a1, -0x7fc4(gp) | a1 = *(gp);
| /* str.socket_read_message */
0x0005e418 addiu v0, v0, 0x7f50 | v0 += 0x7f50;
0x0005e41c lw t9, -0x7fc0(gp) | t9 = sym.log_assert_failed_realm;
0x0005e420 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0005e424 addiu a3, zero, 0x140 | a3 = aav.0x00000140;
| /* esilref: 'src/libsystemd/sd-netlink/netlink-socket.c' */
0x0005e428 addiu a2, a2, 0x7d77 | a2 += 0x7d77;
| /* str.rtnl__rbuffer_allocated___sizeof_struct_nlmsghdr_ */
0x0005e42c addiu a1, a1, 0x7e3c | a1 += 0x7e3c;
0x0005e430 move a0, zero | a0 = 0;
0x0005e434 bal 0x6e764 | sym_log_assert_failed_realm ();
| label_20:
0x0005e438 lw v1, 0x28(sp) | v1 = *(var_28h);
0x0005e43c sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
0x0005e440 sll s5, v1, 2 | s5 = v1 << 2;
| if (v0 != 0) {
0x0005e444 beqz v0, 0x5e488 |
0x0005e448 lw v0, 0x30(s0) | v0 = *((s0 + 12));
0x0005e44c addu v0, v0, s5 | v0 += s5;
0x0005e450 move a2, zero | a2 = 0;
0x0005e454 sw s2, (v0) | *(v0) = s2;
0x0005e458 b 0x5e1bc | goto label_2;
| label_18:
0x0005e45c move a2, zero | a2 = 0;
0x0005e460 b 0x5e1bc | goto label_2;
0x0005e464 lw v0, 0x28(s0) | v0 = *((s0 + 10));
0x0005e468 lw v1, 0x24(s0) | v1 = *((s0 + 9));
0x0005e46c sll a0, v0, 2 | a0 = v0 << 2;
0x0005e470 addu v1, v1, a0 | v1 += a0;
0x0005e474 addiu v0, v0, 1 | v0++;
0x0005e478 sw v0, 0x28(s0) | *((s0 + 10)) = v0;
0x0005e47c addiu a2, zero, 1 | a2 = 1;
0x0005e480 sw s2, (v1) | *(v1) = s2;
0x0005e484 b 0x5e1bc | goto label_2;
| }
0x0005e488 lw t9, -0x781c(gp) | t9 = sym.rtnl_rqueue_partial_make_room;
0x0005e48c move a0, s0 | a0 = s0;
0x0005e490 bal 0x50fdc | sym_rtnl_rqueue_partial_make_room ();
0x0005e494 move a2, v0 | a2 = v0;
0x0005e498 lw gp, 0x20(sp) | gp = *(var_20h);
0x0005e49c bltz v0, 0x5e39c |
| }
0x0005e4a0 lw v0, 0x34(s0) | v0 = *((s0 + 13));
0x0005e4a4 lw v1, 0x30(s0) | v1 = *((s0 + 12));
0x0005e4a8 sll a0, v0, 2 | a0 = v0 << 2;
0x0005e4ac addu v1, v1, a0 | v1 += a0;
0x0005e4b0 addiu v0, v0, 1 | v0++;
0x0005e4b4 sw v0, 0x34(s0) | *((s0 + 13)) = v0;
0x0005e4b8 move a2, zero | a2 = 0;
0x0005e4bc sw s2, (v1) | *(v1) = s2;
0x0005e4c0 b 0x5e1bc | goto label_2;
| label_30:
0x0005e4c4 move s1, zero | s1 = 0;
0x0005e4c8 b 0x5e314 | goto label_3;
| label_31:
0x0005e4cc lw t9, -0x7844(gp) | t9 = sym.type_system_get_type
0x0005e4d0 move a1, s5 | a1 = s5;
0x0005e4d4 move a0, s4 | a0 = s4;
0x0005e4d8 bal 0x5e90c | sym_type_system_get_type ()
0x0005e4dc lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 < 0) {
0x0005e4e0 bltz v0, 0x5e538 | goto label_33;
| }
0x0005e4e4 lw t9, -0x783c(gp) | t9 = sym.type_get_size;
0x0005e4e8 lw a0, 0x48(sp) | a0 = *(var_48h);
0x0005e4ec lw s6, (fp) | s6 = *(fp);
0x0005e4f0 bal 0x5e7ac | sym_type_get_size ();
0x0005e4f4 addiu v0, v0, 0x10 | v0 += 0x10;
0x0005e4f8 sltu a1, s6, v0 | a1 = (s6 < v0) ? 1 : 0;
0x0005e4fc lw gp, 0x20(sp) | gp = *(var_20h);
| if (a1 == 0) {
0x0005e500 beqz a1, 0x5e598 | goto label_34;
| }
0x0005e504 lw t9, -0x7fcc(gp) | t9 = sym.log_get_max_level_realm;
0x0005e508 move a0, zero | a0 = 0;
0x0005e50c bal 0x705b8 | sym_log_get_max_level_realm ();
0x0005e510 slti v0, v0, 7 | v0 = (v0 < 7) ? 1 : 0;
0x0005e514 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0005e518 beqz v0, 0x5e61c | goto label_35;
| }
| label_5:
0x0005e51c lw a0, 0x44(sp) | a0 = *(var_44h);
| label_4:
0x0005e520 lw t9, -0x791c(gp) | t9 = sym.sd_netlink_message_unref;
| if (a0 == 0) {
0x0005e524 beqz a0, 0x5e314 | goto label_3;
| }
0x0005e528 bal 0x5c5ec | sym_sd_netlink_message_unref ();
0x0005e52c nop |
0x0005e530 lw gp, 0x20(sp) | gp = *(var_20h);
0x0005e534 b 0x5e314 | goto label_3;
| label_33:
0x0005e538 addiu a0, zero, -0x7a | a0 = -0x7a;
0x0005e53c lw a0, 0x44(sp) | a0 = *(var_44h);
| if (v0 != a0) {
0x0005e540 bne v0, a0, 0x5e520 | goto label_4;
| }
0x0005e544 lw t9, -0x7fcc(gp) | t9 = sym.log_get_max_level_realm;
0x0005e548 move a0, zero | a0 = 0;
0x0005e54c bal 0x705b8 | sym_log_get_max_level_realm ();
0x0005e550 slti v0, v0, 7 | v0 = (v0 < 7) ? 1 : 0;
0x0005e554 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x0005e558 bnez v0, 0x5e51c | goto label_5;
| }
0x0005e55c lhu v0, 4(fp) | v0 = *(arg_4h);
0x0005e560 lw t9, -0x7fc8(gp) | t9 = sym.log_internal_realm;
0x0005e564 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0005e568 lw v0, 0x3c(sp) | v0 = *(var_3ch);
0x0005e56c addiu a3, zero, 0x184 | a3 = aav.0x00000184;
0x0005e570 sw v0, 0x14(sp) | *(var_14h) = v0;
0x0005e574 lw v0, 0x30(sp) | v0 = *(var_30h);
0x0005e578 move a1, zero | a1 = 0;
0x0005e57c sw v0, 0x10(sp) | *(var_10h) = v0;
0x0005e580 lw v0, 0x34(sp) | v0 = *(var_34h);
0x0005e584 addiu a0, zero, 7 | a0 = 7;
0x0005e588 addiu a2, v0, 0x7d77 | a2 = v0 + 0x7d77;
0x0005e58c bal 0x6f6f8 | sym_log_internal_realm ();
0x0005e590 lw gp, 0x20(sp) | gp = *(var_20h);
0x0005e594 b 0x5e51c | goto label_5;
| label_34:
0x0005e598 lw t9, -0x7834(gp) | t9 = sym.message_new_empty;
0x0005e59c addiu a1, sp, 0x44 | a1 = sp + 0x44;
0x0005e5a0 move a0, s0 | a0 = s0;
0x0005e5a4 bal 0x5c538 | sym_message_new_empty ();
0x0005e5a8 move a2, v0 | a2 = v0;
0x0005e5ac lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 < 0) {
0x0005e5b0 bltz v0, 0x5e66c | goto label_36;
| }
0x0005e5b4 lw s6, 0x44(sp) | s6 = *(var_44h);
0x0005e5b8 lw v0, 0x40(sp) | v0 = *(var_40h);
0x0005e5bc lw t9, -0x7818(gp) | t9 = sym.memdup;
0x0005e5c0 lbu a0, 0x214(s6) | a0 = *(s6);
0x0005e5c4 sltu v0, zero, v0 | v0 = (0 < v0) ? 1 : 0;
0x0005e5c8 ins a0, v0, 1, 1 | __asm ("ins a0, v0, 1, 1");
0x0005e5cc sb a0, 0x214(s6) | *(s6) = a0;
0x0005e5d0 lw a1, (fp) | a1 = *(fp);
0x0005e5d4 move a0, fp | a0 = fp;
0x0005e5d8 bal 0x5ed14 | sym_memdup ();
0x0005e5dc lw a0, 0x44(sp) | a0 = *(var_44h);
0x0005e5e0 lw gp, 0x20(sp) | gp = *(var_20h);
0x0005e5e4 sw v0, 0xc(s6) | *((s6 + 3)) = v0;
0x0005e5e8 lw v0, 0xc(a0) | v0 = *((a0 + 3));
0x0005e5ec lw t9, -0x7814(gp) | t9 = sym.sd_netlink_message_rewind;
| if (v0 == 0) {
0x0005e5f0 beqz v0, 0x5e6d0 | goto label_37;
| }
0x0005e5f4 bal 0x5cfbc | sym_sd_netlink_message_rewind ();
0x0005e5f8 nop |
0x0005e5fc move a2, v0 | a2 = v0;
0x0005e600 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 < 0) {
0x0005e604 bltz v0, 0x5e66c | goto label_36;
| }
0x0005e608 lw v0, 0x44(sp) | v0 = *(var_44h);
| if (s2 != 0) {
0x0005e60c beqz s2, 0x5e614 |
0x0005e610 sw s2, 0x218(v0) | *(v0) = s2;
| }
0x0005e614 move s2, v0 | s2 = v0;
0x0005e618 b 0x5e314 | goto label_3;
| label_35:
0x0005e61c lw v0, 0x38(sp) | v0 = *(var_38h);
0x0005e620 lw t9, -0x7fc8(gp) | t9 = sym.log_internal_realm;
0x0005e624 sw v0, 0x14(sp) | *(var_14h) = v0;
0x0005e628 lw v0, 0x30(sp) | v0 = *(var_30h);
0x0005e62c addiu a3, zero, 0x18b | a3 = 0x18b;
0x0005e630 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0005e634 lw v0, 0x34(sp) | v0 = *(var_34h);
0x0005e638 move a1, zero | a1 = 0;
0x0005e63c addiu a2, v0, 0x7d77 | a2 = v0 + 0x7d77;
0x0005e640 addiu a0, zero, 7 | a0 = 7;
0x0005e644 bal 0x6f6f8 | sym_log_internal_realm ();
0x0005e648 lw gp, 0x20(sp) | gp = *(var_20h);
0x0005e64c b 0x5e51c | goto label_5;
| label_32:
0x0005e650 lw t9, -0x7fcc(gp) | t9 = sym.log_get_max_level_realm;
| if (s7 == 0) {
0x0005e654 beqz s7, 0x5e154 | goto label_0;
| }
0x0005e658 b 0x5e36c | goto label_6;
0x0005e65c nop |
| label_25:
0x0005e660 sw zero, 0x28(sp) | *(var_28h) = 0;
0x0005e664 move s2, zero | s2 = 0;
0x0005e668 b 0x5e2a8 | goto label_7;
| label_36:
0x0005e66c lw a0, 0x44(sp) | a0 = *(var_44h);
0x0005e670 lw t9, -0x791c(gp) | t9 = sym.sd_netlink_message_unref;
| if (a0 != 0) {
0x0005e674 bnez a0, 0x5e6d8 | goto label_38;
| }
| label_9:
0x0005e678 lw t9, -0x791c(gp) | t9 = sym.sd_netlink_message_unref;
| if (s2 == 0) {
0x0005e67c beqz s2, 0x5e1bc | goto label_2;
| }
0x0005e680 sw a2, 0x28(sp) | *(var_28h) = a2;
0x0005e684 b 0x5e3a4 | goto label_8;
| label_22:
0x0005e688 lui a2, 0x3fff | a2 = 0x3fffffff;
0x0005e68c ori a2, a2, 0xffff |
0x0005e690 lw a0, 0x30(s0) | a0 = *((s0 + 12));
0x0005e694 sll v1, a1, 2 | v1 = a1 << 2;
0x0005e698 addu v0, v0, a2 | v0 += a2;
0x0005e69c subu a2, v0, a1 | __asm ("subu a2, v0, a1");
0x0005e6a0 lw t9, -0x71c8(gp) | t9 = sym.imp.memmove;
0x0005e6a4 addiu a1, v1, 4 | a1 = v1 + 4;
0x0005e6a8 sll a2, a2, 2 | a2 <<= 2;
0x0005e6ac addu a1, a0, a1 | a1 = a0 + a1;
0x0005e6b0 addu a0, a0, v1 | a0 += v1;
0x0005e6b4 jalr t9 | t9 ();
0x0005e6b8 lw v0, 0x34(s0) | v0 = *((s0 + 13));
0x0005e6bc lw gp, 0x20(sp) | gp = *(var_20h);
0x0005e6c0 addiu v0, v0, -1 | v0 += -1;
0x0005e6c4 addiu a2, zero, 1 | a2 = 1;
0x0005e6c8 sw v0, 0x34(s0) | *((s0 + 13)) = v0;
0x0005e6cc b 0x5e1bc | goto label_2;
| label_37:
0x0005e6d0 addiu a2, zero, -0xc | a2 = -0xc;
0x0005e6d4 lw t9, -0x791c(gp) | t9 = sym.sd_netlink_message_unref;
| label_38:
0x0005e6d8 sw a2, 0x28(sp) | *(var_28h) = a2;
0x0005e6dc bal 0x5c5ec | sym_sd_netlink_message_unref ();
0x0005e6e0 lw gp, 0x20(sp) | gp = *(var_20h);
0x0005e6e4 lw a2, 0x28(sp) | a2 = *(var_28h);
0x0005e6e8 b 0x5e678 | goto label_9;
| label_27:
0x0005e6ec lw v0, (fp) | v0 = *(fp);
0x0005e6f0 move s2, zero | s2 = 0;
0x0005e6f4 b 0x5e290 | goto label_10;
| label_15:
0x0005e6f8 addiu a2, zero, -0xc | a2 = -0xc;
0x0005e6fc b 0x5e1bc | goto label_2;
| label_16:
0x0005e700 addiu a2, zero, -5 | a2 = -5;
0x0005e704 b 0x5e1bc | goto label_2;
| label_26:
0x0005e708 sw v0, 0x2c(sp) | *(var_2ch) = v0;
0x0005e70c sw zero, 0x28(sp) | *(var_28h) = 0;
0x0005e710 move s2, zero | s2 = 0;
0x0005e714 b 0x5e2a8 | goto label_7;
| label_23:
0x0005e718 lw t9, -0x7230(gp) | t9 = sym.imp.__stack_chk_fail;
0x0005e71c jalr t9 | t9 ();
0x0005e720 nop |
| label_29:
0x0005e724 move s1, zero | s1 = 0;
0x0005e728 b 0x5e368 | goto label_11;
| label_28:
0x0005e72c addiu v0, zero, 1 | v0 = 1;
0x0005e730 sw v0, 0x2c(sp) | *(var_2ch) = v0;
0x0005e734 move s1, zero | s1 = 0;
0x0005e738 b 0x5e368 | goto label_11;
| }
[*] Function system used 31 times systemd-udevd