[*] Binary protection state of lldpd
Full RELRO Canary found NX disabled PIE enabled No RPATH No RUNPATH No Symbols
[*] Function fprintf tear down of lldpd
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/lldpd @ 0x5bd8 */
| #include <stdint.h>
|
; (fcn) fcn.00005bd8 () | void fcn_00005bd8 () {
0x00005bd8 lui gp, 5 |
0x00005bdc addiu gp, gp, 0xd38 |
0x00005be0 addu gp, gp, t9 | gp += t9;
0x00005be4 addiu sp, sp, -0x28 |
0x00005be8 lw v0, -0x7904(gp) | v0 = *((gp - 7745));
0x00005bec sw s0, 0x1c(sp) | *(var_1ch) = s0;
0x00005bf0 lw s0, -0x792c(gp) | s0 = *((gp - 7755));
0x00005bf4 lw a2, -0x7fc4(gp) | a2 = *(gp);
0x00005bf8 lw t9, -0x7ae0(gp) | t9 = sym.imp.__fprintf_chk
0x00005bfc sw fp, 0x20(sp) | *(var_20h) = fp;
0x00005c00 lw a0, (s0) | a0 = *(s0);
0x00005c04 move fp, sp | fp = sp;
0x00005c08 lw a3, (v0) | a3 = *(v0);
0x00005c0c sw ra, 0x24(sp) | *(var_24h) = ra;
0x00005c10 sw gp, 0x10(sp) | *(var_10h) = gp;
| /* str.Usage:____s__OPTIONS_...__n */
0x00005c14 addiu a2, a2, 0x5494 | a2 += 0x5494;
0x00005c18 addiu a1, zero, 1 | a1 = 1;
0x00005c1c jalr t9 | t9 ();
0x00005c20 lw gp, 0x10(fp) | gp = *(var_10h);
0x00005c24 lw a0, (s0) | a0 = *(s0);
0x00005c28 addiu a1, zero, 1 | a1 = 1;
0x00005c2c lw a3, -0x7fc4(gp) | a3 = *(gp);
0x00005c30 lw a2, -0x7fc4(gp) | a2 = *(gp);
0x00005c34 lw t9, -0x7ae0(gp) | t9 = sym.imp.__fprintf_chk
| /* str.lldpd_1.0.3 */
0x00005c38 addiu a3, a3, 0x54b0 | a3 += 0x54b0;
| /* str.Version:__s_n */
0x00005c3c addiu a2, a2, 0x54bc | a2 += 0x54bc;
0x00005c40 jalr t9 | t9 ();
0x00005c44 lw gp, 0x10(fp) | gp = *(var_10h);
0x00005c48 lw a1, (s0) | a1 = *(s0);
0x00005c4c lw t9, -0x7aac(gp) | t9 = sym.imp.fputc;
0x00005c50 addiu a0, zero, 0xa | a0 = 0xa;
0x00005c54 jalr t9 | t9 ();
0x00005c58 lw gp, 0x10(fp) | gp = *(var_10h);
0x00005c5c lw a3, (s0) | a3 = *(s0);
0x00005c60 addiu a2, zero, 0x1b | a2 = 0x1b;
0x00005c64 lw a0, -0x7fc4(gp) | a0 = *(gp);
0x00005c68 lw t9, -0x79c0(gp) | t9 = sym.imp.fwrite;
0x00005c6c addiu a1, zero, 1 | a1 = 1;
| /* str._d_______Do_not_daemonize._n */
0x00005c70 addiu a0, a0, 0x54cc | a0 += 0x54cc;
0x00005c74 jalr t9 | t9 ();
0x00005c78 lw gp, 0x10(fp) | gp = *(var_10h);
0x00005c7c lw a3, (s0) | a3 = *(s0);
0x00005c80 addiu a2, zero, 0x1b | a2 = 0x1b;
0x00005c84 lw a0, -0x7fc4(gp) | a0 = *(gp);
0x00005c88 lw t9, -0x79c0(gp) | t9 = sym.imp.fwrite;
0x00005c8c addiu a1, zero, 1 | a1 = 1;
| /* str._r_______Receive_only_mode_n */
0x00005c90 addiu a0, a0, 0x54e8 | a0 += 0x54e8;
0x00005c94 jalr t9 | t9 ();
0x00005c98 lw gp, 0x10(fp) | gp = *(var_10h);
0x00005c9c lw a3, (s0) | a3 = *(s0);
0x00005ca0 addiu a2, zero, 0x36 | a2 = 0x36;
0x00005ca4 lw a0, -0x7fc4(gp) | a0 = *(gp);
0x00005ca8 lw t9, -0x79c0(gp) | t9 = sym.imp.fwrite;
0x00005cac addiu a1, zero, 1 | a1 = 1;
| /* str._i_______Disable_LLDP_MED_inventory_TLV_transmission._n */
0x00005cb0 addiu a0, a0, 0x5504 | a0 += 0x5504;
0x00005cb4 jalr t9 | t9 ();
0x00005cb8 lw gp, 0x10(fp) | gp = *(var_10h);
0x00005cbc lw a3, (s0) | a3 = *(s0);
0x00005cc0 addiu a2, zero, 0x42 | a2 = 0x42;
0x00005cc4 lw a0, -0x7fc4(gp) | a0 = *(gp);
0x00005cc8 lw t9, -0x79c0(gp) | t9 = sym.imp.fwrite;
0x00005ccc addiu a1, zero, 1 | a1 = 1;
| /* str._k_______Disable_advertising_of_kernel_release__version__machine._n */
0x00005cd0 addiu a0, a0, 0x553c | a0 += 0x553c;
0x00005cd4 jalr t9 | t9 ();
0x00005cd8 lw gp, 0x10(fp) | gp = *(var_10h);
0x00005cdc lw a3, (s0) | a3 = *(s0);
0x00005ce0 addiu a2, zero, 0x32 | a2 = 0x32;
0x00005ce4 lw a0, -0x7fc4(gp) | a0 = *(gp);
0x00005ce8 lw t9, -0x79c0(gp) | t9 = sym.imp.fwrite;
0x00005cec addiu a1, zero, 1 | a1 = 1;
| /* str._S_descr_Override_the_default_system_description._n */
0x00005cf0 addiu a0, a0, 0x5580 | a0 += 0x5580;
0x00005cf4 jalr t9 | t9 ();
0x00005cf8 lw gp, 0x10(fp) | gp = *(var_10h);
0x00005cfc lw a3, (s0) | a3 = *(s0);
0x00005d00 addiu a2, zero, 0x31 | a2 = 0x31;
0x00005d04 lw a0, -0x7fc4(gp) | a0 = *(gp);
0x00005d08 lw t9, -0x79c0(gp) | t9 = sym.imp.fwrite;
0x00005d0c addiu a1, zero, 1 | a1 = 1;
| /* str._P_name__Override_the_default_hardware_platform._n */
0x00005d10 addiu a0, a0, 0x55b4 | a0 += 0x55b4;
0x00005d14 jalr t9 | t9 ();
0x00005d18 lw gp, 0x10(fp) | gp = *(var_10h);
0x00005d1c lw a3, (s0) | a3 = *(s0);
0x00005d20 addiu a2, zero, 0x3d | a2 = 0x3d;
0x00005d24 lw a0, -0x7fc4(gp) | a0 = *(gp);
0x00005d28 lw t9, -0x79c0(gp) | t9 = sym.imp.fwrite;
0x00005d2c addiu a1, zero, 1 | a1 = 1;
| /* str._m_IP____Specify_the_IP_management_addresses_of_this_system._n */
0x00005d30 addiu a0, a0, 0x55e8 | a0 += 0x55e8;
0x00005d34 jalr t9 | t9 ();
0x00005d38 lw gp, 0x10(fp) | gp = *(var_10h);
0x00005d3c lw a3, (s0) | a3 = *(s0);
0x00005d40 addiu a2, zero, 0x50 | a2 = 0x50;
0x00005d44 lw a0, -0x7fc4(gp) | a0 = *(gp);
0x00005d48 lw t9, -0x79c0(gp) | t9 = sym.imp.fwrite;
0x00005d4c addiu a1, zero, 1 | a1 = 1;
| /* str._u_file__Specify_the_Unix_domain_socket_used_for_communication_with_lldpctl_8_._n */
0x00005d50 addiu a0, a0, 0x5628 | a0 += 0x5628;
0x00005d54 jalr t9 | t9 ();
0x00005d58 lw gp, 0x10(fp) | gp = *(var_10h);
0x00005d5c lw a3, (s0) | a3 = *(s0);
0x00005d60 addiu a2, zero, 0x42 | a2 = 0x42;
0x00005d64 lw a0, -0x7fc4(gp) | a0 = *(gp);
0x00005d68 lw t9, -0x79c0(gp) | t9 = sym.imp.fwrite;
0x00005d6c addiu a1, zero, 1 | a1 = 1;
| /* str._H_mode__Specify_the_behaviour_when_detecting_multiple_neighbors._n */
0x00005d70 addiu a0, a0, 0x567c | a0 += 0x567c;
0x00005d74 jalr t9 | t9 ();
0x00005d78 lw gp, 0x10(fp) | gp = *(var_10h);
0x00005d7c lw a3, (s0) | a3 = *(s0);
0x00005d80 addiu a2, zero, 0x22 | a2 = 0x22;
0x00005d84 lw a0, -0x7fc4(gp) | a0 = *(gp);
0x00005d88 lw t9, -0x79c0(gp) | t9 = sym.imp.fwrite;
0x00005d8c addiu a1, zero, 1 | a1 = 1;
| /* str._I_iface_Limit_interfaces_to_use._n */
0x00005d90 addiu a0, a0, 0x56c0 | a0 += 0x56c0;
0x00005d94 jalr t9 | t9 ();
0x00005d98 lw gp, 0x10(fp) | gp = *(var_10h);
0x00005d9c lw a3, (s0) | a3 = *(s0);
0x00005da0 addiu a2, zero, 0x3b | a2 = 0x3b;
0x00005da4 lw a0, -0x7fc4(gp) | a0 = *(gp);
0x00005da8 lw t9, -0x79c0(gp) | t9 = sym.imp.fwrite;
0x00005dac addiu a1, zero, 1 | a1 = 1;
| /* str._C_iface_Limit_interfaces_to_use_for_computing_chassis_ID._n */
0x00005db0 addiu a0, a0, 0x56e4 | a0 += 0x56e4;
0x00005db4 jalr t9 | t9 ();
0x00005db8 lw gp, 0x10(fp) | gp = *(var_10h);
0x00005dbc lw a3, (s0) | a3 = *(s0);
0x00005dc0 addiu a2, zero, 0x2c | a2 = 0x2c;
0x00005dc4 lw a0, -0x7fc4(gp) | a0 = *(gp);
0x00005dc8 lw t9, -0x79c0(gp) | t9 = sym.imp.fwrite;
0x00005dcc addiu a1, zero, 1 | a1 = 1;
| /* str._L_path__Override_path_for_lldpcli_command._n */
0x00005dd0 addiu a0, a0, 0x5720 | a0 += 0x5720;
0x00005dd4 jalr t9 | t9 ();
0x00005dd8 lw gp, 0x10(fp) | gp = *(var_10h);
0x00005ddc lw a3, (s0) | a3 = *(s0);
0x00005de0 addiu a2, zero, 0x54 | a2 = 0x54;
0x00005de4 lw a0, -0x7fc4(gp) | a0 = *(gp);
0x00005de8 lw t9, -0x79c0(gp) | t9 = sym.imp.fwrite;
0x00005dec addiu a1, zero, 1 | a1 = 1;
| /* str._O_file__Override_default_configuration_locations_processed_by_lldpcli_8__at_start._n */
0x00005df0 addiu a0, a0, 0x5750 | a0 += 0x5750;
0x00005df4 jalr t9 | t9 ();
0x00005df8 lw gp, 0x10(fp) | gp = *(var_10h);
0x00005dfc lw a3, (s0) | a3 = *(s0);
0x00005e00 addiu a2, zero, 0x46 | a2 = 0x46;
0x00005e04 lw a0, -0x7fc4(gp) | a0 = *(gp);
0x00005e08 lw t9, -0x79c0(gp) | t9 = sym.imp.fwrite;
0x00005e0c addiu a1, zero, 1 | a1 = 1;
| /* str._M_class_Enable_emission_of_LLDP_MED_frame._class_should_be_one_of:_n */
0x00005e10 addiu a0, a0, 0x57a8 | a0 += 0x57a8;
0x00005e14 jalr t9 | t9 ();
0x00005e18 lw gp, 0x10(fp) | gp = *(var_10h);
0x00005e1c lw a3, (s0) | a3 = *(s0);
0x00005e20 addiu a2, zero, 0x2a | a2 = 0x2a;
0x00005e24 lw a0, -0x7fc4(gp) | a0 = *(gp);
0x00005e28 lw t9, -0x79c0(gp) | t9 = sym.imp.fwrite;
0x00005e2c addiu a1, zero, 1 | a1 = 1;
| /* str._____________1_Generic_Endpoint__Class_I__n */
0x00005e30 addiu a0, a0, 0x57f0 | a0 += 0x57f0;
0x00005e34 jalr t9 | t9 ();
0x00005e38 lw gp, 0x10(fp) | gp = *(var_10h);
0x00005e3c lw a3, (s0) | a3 = *(s0);
0x00005e40 addiu a2, zero, 0x29 | a2 = 0x29;
0x00005e44 lw a0, -0x7fc4(gp) | a0 = *(gp);
0x00005e48 lw t9, -0x79c0(gp) | t9 = sym.imp.fwrite;
0x00005e4c addiu a1, zero, 1 | a1 = 1;
| /* str._____________2_Media_Endpoint__Class_II__n */
0x00005e50 addiu a0, a0, 0x581c | a0 += 0x581c;
0x00005e54 jalr t9 | t9 ();
0x00005e58 lw gp, 0x10(fp) | gp = *(var_10h);
0x00005e5c lw a3, (s0) | a3 = *(s0);
0x00005e60 addiu a2, zero, 0x3a | a2 = 0x3a;
0x00005e64 lw a0, -0x7fc4(gp) | a0 = *(gp);
0x00005e68 lw t9, -0x79c0(gp) | t9 = sym.imp.fwrite;
0x00005e6c addiu a1, zero, 1 | a1 = 1;
| /* str._____________3_Communication_Device_Endpoints__Class_III__n */
0x00005e70 addiu a0, a0, 0x5848 | a0 += 0x5848;
0x00005e74 jalr t9 | t9 ();
0x00005e78 lw gp, 0x10(fp) | gp = *(var_10h);
0x00005e7c lw a3, (s0) | a3 = *(s0);
0x00005e80 addiu a2, zero, 0x2b | a2 = 0x2b;
0x00005e84 lw a0, -0x7fc4(gp) | a0 = *(gp);
0x00005e88 lw t9, -0x79c0(gp) | t9 = sym.imp.fwrite;
0x00005e8c addiu a1, zero, 1 | a1 = 1;
| /* str._____________4_Network_Connectivity_Device_n */
0x00005e90 addiu a0, a0, 0x5884 | a0 += 0x5884;
0x00005e94 jalr t9 | t9 ();
0x00005e98 lw gp, 0x10(fp) | gp = *(var_10h);
0x00005e9c lw a1, (s0) | a1 = *(s0);
0x00005ea0 lw t9, -0x7aac(gp) | t9 = sym.imp.fputc;
0x00005ea4 addiu a0, zero, 0xa | a0 = 0xa;
0x00005ea8 jalr t9 | t9 ();
0x00005eac lw gp, 0x10(fp) | gp = *(var_10h);
0x00005eb0 lw a3, (s0) | a3 = *(s0);
0x00005eb4 addiu a2, zero, 0x1d | a2 = 0x1d;
0x00005eb8 lw a0, -0x7fc4(gp) | a0 = *(gp);
0x00005ebc lw t9, -0x79c0(gp) | t9 = sym.imp.fwrite;
0x00005ec0 addiu a1, zero, 1 | a1 = 1;
| /* str.Additional_protocol_support._n */
0x00005ec4 addiu a0, a0, 0x58b0 | a0 += 0x58b0;
0x00005ec8 jalr t9 | t9 ();
0x00005ecc lw gp, 0x10(fp) | gp = *(var_10h);
0x00005ed0 lw a3, (s0) | a3 = *(s0);
0x00005ed4 addiu a2, zero, 0x35 | a2 = 0x35;
0x00005ed8 lw a0, -0x7fc4(gp) | a0 = *(gp);
0x00005edc lw t9, -0x79c0(gp) | t9 = sym.imp.fwrite;
0x00005ee0 addiu a1, zero, 1 | a1 = 1;
| /* str._c_______Enable_the_support_of_CDP_protocol.__Cisco__n */
0x00005ee4 addiu a0, a0, 0x58d0 | a0 += 0x58d0;
0x00005ee8 jalr t9 | t9 ();
0x00005eec lw gp, 0x10(fp) | gp = *(var_10h);
0x00005ef0 lw a1, (s0) | a1 = *(s0);
0x00005ef4 lw t9, -0x7aac(gp) | t9 = sym.imp.fputc;
0x00005ef8 addiu a0, zero, 0xa | a0 = 0xa;
0x00005efc jalr t9 | t9 ();
0x00005f00 lw gp, 0x10(fp) | gp = *(var_10h);
0x00005f04 lw a3, (s0) | a3 = *(s0);
0x00005f08 addiu a2, zero, 0x2e | a2 = 0x2e;
0x00005f0c lw a0, -0x7fc4(gp) | a0 = *(gp);
0x00005f10 lw t9, -0x79c0(gp) | t9 = sym.imp.fwrite;
| /* str.see_manual_page_lldpd_8__for_more_information_n */
0x00005f14 addiu a0, a0, 0x5908 | a0 += 0x5908;
0x00005f18 addiu a1, zero, 1 | a1 = 1;
0x00005f1c jalr t9 | t9 ();
0x00005f20 lw gp, 0x10(fp) | gp = *(var_10h);
0x00005f24 lw t9, -0x7a0c(gp) | t9 = sym.imp.exit;
0x00005f28 addiu a0, zero, 1 | a0 = 1;
0x00005f2c jalr t9 | return t9 ();
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/lldpd @ 0x14850 */
| #include <stdint.h>
|
; (fcn) fcn.00014850 () | void fcn_00014850 () {
0x00014850 lui gp, 4 |
0x00014854 addiu gp, gp, 0x20c0 |
0x00014858 addu gp, gp, t9 | gp += t9;
0x0001485c addiu sp, sp, -0x40 |
0x00014860 lw t9, -0x7b14(gp) | t9 = sym.imp.fputs;
0x00014864 sw s2, 0x28(sp) | *(var_28h) = s2;
0x00014868 sw s0, 0x20(sp) | *(var_20h) = s0;
0x0001486c move s2, a0 | s2 = a0;
0x00014870 move s0, a2 | s0 = a2;
0x00014874 sw fp, 0x38(sp) | *(var_38h) = fp;
0x00014878 sw gp, 0x18(sp) | *(var_18h) = gp;
0x0001487c move fp, sp | fp = sp;
0x00014880 move a0, a1 | a0 = a1;
0x00014884 sw ra, 0x3c(sp) | *(var_3ch) = ra;
0x00014888 sw s5, 0x34(sp) | *(var_34h) = s5;
0x0001488c sw s4, 0x30(sp) | *(var_30h) = s4;
0x00014890 sw s3, 0x2c(sp) | *(var_2ch) = s3;
0x00014894 sw s1, 0x24(sp) | *(var_24h) = s1;
0x00014898 move a1, s2 | a1 = s2;
0x0001489c jalr t9 | t9 ();
0x000148a0 lw v0, (s0) | v0 = *(s0);
0x000148a4 lw gp, 0x18(fp) | gp = *(var_18h);
| if (v0 == 0) {
0x000148a8 beqz v0, 0x14940 | goto label_0;
| }
0x000148ac lw s4, -0x7fbc(gp) | s4 = *((gp - 8175));
0x000148b0 lw s3, -0x7fbc(gp) | s3 = *((gp - 8175));
0x000148b4 lw s5, -0x7fbc(gp) | s5 = *((gp - 8175));
0x000148b8 addiu s4, s4, -0x7068 | s4 += -0x7068;
0x000148bc move s1, zero | s1 = 0;
0x000148c0 move a3, s4 | a3 = s4;
| /* str._s_s */
0x000148c4 addiu s3, s3, -0x7170 | s3 += -0x7170;
| /* esilref: ', ' */
0x000148c8 addiu s5, s5, -0x717c | s5 += -0x717c;
0x000148cc b 0x148d8 |
| while (v0 != 0) {
0x000148d0 move a3, s4 | a3 = s4;
| if (s1 == 0) {
0x000148d4 movn a3, s5, s1 | a3 = s5;
| }
0x000148d8 lw t9, -0x7ae0(gp) | t9 = sym.imp.__fprintf_chk
0x000148dc addiu s0, s0, 4 | s0 += 4;
0x000148e0 sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x000148e4 move a2, s3 | a2 = s3;
0x000148e8 addiu a1, zero, 1 | a1 = 1;
0x000148ec move a0, s2 | a0 = s2;
0x000148f0 jalr t9 | t9 ();
0x000148f4 lw v0, (s0) | v0 = *(s0);
0x000148f8 lw gp, 0x18(fp) | gp = *(var_18h);
0x000148fc addiu s1, s1, 1 | s1++;
0x00014900 bnez v0, 0x148d0 |
| }
0x00014904 move a1, s2 | a1 = s2;
| if (s1 != 0) {
0x00014908 beqz s1, 0x14940 |
0x0001490c move sp, fp |
0x00014910 lw ra, 0x3c(sp) | ra = *(var_3ch);
0x00014914 lw fp, 0x38(sp) | fp = *(var_38h);
0x00014918 lw s5, 0x34(sp) | s5 = *(var_34h);
0x0001491c lw s4, 0x30(sp) | s4 = *(var_30h);
0x00014920 lw s3, 0x2c(sp) | s3 = *(var_2ch);
0x00014924 lw s2, 0x28(sp) | s2 = *(var_28h);
0x00014928 lw s1, 0x24(sp) | s1 = *(var_24h);
0x0001492c lw s0, 0x20(sp) | s0 = *(var_20h);
0x00014930 lw t9, -0x7aac(gp) | t9 = sym.imp.fputc;
0x00014934 addiu a0, zero, 0xa | a0 = 0xa;
0x00014938 addiu sp, sp, 0x40 |
0x0001493c jr t9 | t9 ();
| }
| label_0:
0x00014940 move sp, fp |
0x00014944 lw a0, -0x7fbc(gp) | a0 = *((gp - 8175));
0x00014948 lw ra, 0x3c(sp) | ra = *(var_3ch);
0x0001494c lw fp, 0x38(sp) | fp = *(var_38h);
0x00014950 lw s5, 0x34(sp) | s5 = *(var_34h);
0x00014954 lw s4, 0x30(sp) | s4 = *(var_30h);
0x00014958 lw s3, 0x2c(sp) | s3 = *(var_2ch);
0x0001495c lw s1, 0x24(sp) | s1 = *(var_24h);
0x00014960 lw s0, 0x20(sp) | s0 = *(var_20h);
0x00014964 move a3, s2 | a3 = s2;
0x00014968 lw t9, -0x79c0(gp) | t9 = sym.imp.fwrite;
0x0001496c lw s2, 0x28(sp) | s2 = *(var_28h);
0x00014970 addiu a2, zero, 7 | a2 = 7;
0x00014974 addiu a1, zero, 1 | a1 = 1;
| /* str._none__n */
0x00014978 addiu a0, a0, -0x7178 | a0 += -0x7178;
0x0001497c addiu sp, sp, 0x40 |
0x00014980 jr t9 | return t9 ();
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/lldpd @ 0x2ea00 */
| #include <stdint.h>
|
; (fcn) fcn.0002ea00 () | void fcn_0002ea00 () {
0x0002ea00 lui gp, 2 |
0x0002ea04 addiu gp, gp, 0x7f10 |
0x0002ea08 addu gp, gp, t9 | gp += t9;
0x0002ea0c addiu sp, sp, -0x440 |
0x0002ea10 sw s1, 0x430(sp) | *(var_430h) = s1;
0x0002ea14 lw s1, -0x794c(gp) | s1 = *((gp - 7763));
0x0002ea18 sw s3, 0x438(sp) | *(var_438h) = s3;
0x0002ea1c sw s2, 0x434(sp) | *(var_434h) = s2;
0x0002ea20 sw gp, 0x18(sp) | *(var_18h) = gp;
0x0002ea24 sw ra, 0x43c(sp) | *(var_43ch) = ra;
0x0002ea28 sw s0, 0x42c(sp) | *(var_42ch) = s0;
0x0002ea2c lw v0, (s1) | v0 = *(s1);
0x0002ea30 move s2, a0 | s2 = a0;
0x0002ea34 move s3, a1 | s3 = a1;
0x0002ea38 sw v0, 0x424(sp) | *(var_424h) = v0;
0x0002ea3c lw t9, -0x7c6c(gp) | t9 = sym.evutil_vsnprintf;
| if (a2 == 0) {
0x0002ea40 beqz a2, 0x2eb3c | goto label_3;
| }
0x0002ea44 addiu s0, sp, 0x24 | s0 = sp + 0x24;
0x0002ea48 addiu a1, zero, 0x400 | a1 = aav.0x00000400;
0x0002ea4c move a0, s0 | a0 = s0;
0x0002ea50 bal 0x30218 | sym_evutil_vsnprintf ();
0x0002ea54 lw gp, 0x18(sp) | gp = *(var_18h);
| label_1:
0x0002ea58 lw t9, -0x7a28(gp) | t9 = sym.imp.strlen;
| if (s3 != 0) {
0x0002ea5c beqz s3, 0x2ea74 |
0x0002ea60 move a0, s0 | a0 = s0;
0x0002ea64 jalr t9 | t9 ();
0x0002ea68 sltiu v1, v0, 0x3fd | v1 = (v0 < 0x3fd) ? 1 : 0;
0x0002ea6c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v1 != 0) {
0x0002ea70 bnez v1, 0x2eabc | goto label_4;
| }
| }
0x0002ea74 lw v0, -0x7fd4(gp) | v0 = *((gp - 8181));
0x0002ea78 lw t9, -0x690(v0) | t9 = *(v0);
0x0002ea7c addiu v0, zero, 2 | v0 = 2;
| if (t9 == 0) {
0x0002ea80 beqz t9, 0x2eaf4 | goto label_5;
| }
0x0002ea84 move a1, s0 | a1 = s0;
| do {
0x0002ea88 move a0, s2 | a0 = s2;
0x0002ea8c jalr t9 | t9 ();
0x0002ea90 lw gp, 0x18(sp) | gp = *(var_18h);
| label_0:
0x0002ea94 lw v1, 0x424(sp) | v1 = *(var_424h);
0x0002ea98 lw v0, (s1) | v0 = *(s1);
0x0002ea9c lw ra, 0x43c(sp) | ra = *(var_43ch);
| if (v1 != v0) {
0x0002eaa0 bne v1, v0, 0x2eb68 | goto label_6;
| }
0x0002eaa4 lw s3, 0x438(sp) | s3 = *(var_438h);
0x0002eaa8 lw s2, 0x434(sp) | s2 = *(var_434h);
0x0002eaac lw s1, 0x430(sp) | s1 = *(var_430h);
0x0002eab0 lw s0, 0x42c(sp) | s0 = *(var_42ch);
0x0002eab4 addiu sp, sp, 0x440 |
0x0002eab8 jr ra | return v0;
| label_4:
0x0002eabc lw a2, -0x7fbc(gp) | a2 = *((gp - 8175));
0x0002eac0 lw t9, -0x7cf8(gp) | t9 = sym.evutil_snprintf;
0x0002eac4 addiu a1, zero, 0x400 | a1 = aav.0x00000400;
0x0002eac8 move a3, s3 | a3 = s3;
| /* esilref: ': &s' */
0x0002eacc addiu a2, a2, -0x637c | a2 += -0x637c;
0x0002ead0 subu a1, a1, v0 | __asm ("subu a1, a1, v0");
0x0002ead4 addu a0, s0, v0 | a0 = s0 + v0;
0x0002ead8 bal 0x30284 | sym_evutil_snprintf ();
0x0002eadc lw gp, 0x18(sp) | gp = *(var_18h);
0x0002eae0 lw v0, -0x7fd4(gp) | v0 = *((gp - 8181));
0x0002eae4 lw t9, -0x690(v0) | t9 = *(v0);
0x0002eae8 move a1, s0 | a1 = s0;
0x0002eaec bnez t9, 0x2ea88 |
| } while (t9 != 0);
0x0002eaf0 addiu v0, zero, 2 | v0 = 2;
| label_5:
0x0002eaf4 addiu v0, zero, 3 | v0 = 3;
| if (s2 == v0) {
0x0002eaf8 beq s2, v0, 0x2eb5c | goto label_7;
| }
0x0002eafc addiu v0, zero, 1 | v0 = 1;
| if (s2 == v0) {
0x0002eb00 beq s2, v0, 0x2eb50 | goto label_8;
| }
0x0002eb04 lw a3, -0x7fbc(gp) | a3 = *((gp - 8175));
| if (s2 == v0) {
0x0002eb08 beq s2, v0, 0x2eb48 | goto label_9;
| }
0x0002eb0c lw a3, -0x7fbc(gp) | a3 = *((gp - 8175));
| /* str.debug */
0x0002eb10 addiu a3, a3, -0x398c | a3 += -0x398c;
| do {
| label_2:
0x0002eb14 lw v0, -0x792c(gp) | v0 = *((gp - 7755));
0x0002eb18 lw a2, -0x7fbc(gp) | a2 = *((gp - 8175));
0x0002eb1c lw t9, -0x7ae0(gp) | t9 = sym.imp.__fprintf_chk
0x0002eb20 lw a0, (v0) | a0 = *(v0);
| /* str.__s___s_n */
0x0002eb24 addiu a2, a2, -0x397c | a2 += -0x397c;
0x0002eb28 sw s0, 0x10(sp) | *(var_10h) = s0;
0x0002eb2c addiu a1, zero, 1 | a1 = 1;
0x0002eb30 jalr t9 | t9 ();
0x0002eb34 lw gp, 0x18(sp) | gp = *(var_18h);
0x0002eb38 b 0x2ea94 | goto label_0;
| label_3:
0x0002eb3c sb zero, 0x24(sp) | *(var_24h) = 0;
0x0002eb40 addiu s0, sp, 0x24 | s0 = sp + 0x24;
0x0002eb44 b 0x2ea58 | goto label_1;
| /* esilref: 'msg' */
| label_9:
0x0002eb48 addiu a3, a3, -0x5fd8 | a3 += -0x5fd8;
0x0002eb4c b 0x2eb14 |
| } while (1);
| label_8:
0x0002eb50 lw a3, -0x7fbc(gp) | a3 = *((gp - 8175));
| /* esilref: 'err' */
0x0002eb54 addiu a3, a3, -0x3990 | a3 += -0x3990;
0x0002eb58 b 0x2eb14 | goto label_2;
| label_7:
0x0002eb5c lw a3, -0x7fbc(gp) | a3 = *((gp - 8175));
| /* str.warn */
0x0002eb60 addiu a3, a3, -0x3984 | a3 += -0x3984;
0x0002eb64 b 0x2eb14 | goto label_2;
| label_6:
0x0002eb68 lw t9, -0x7984(gp) | t9 = sym.imp.__stack_chk_fail;
0x0002eb6c jalr t9 | t9 ();
0x0002eb70 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/lldpd @ 0x23710 */
| #include <stdint.h>
|
; (fcn) sym.event_base_dump_events () | void event_base_dump_events () {
0x00023710 lui gp, 3 |
0x00023714 addiu gp, gp, 0x3200 |
0x00023718 addu gp, gp, t9 | gp += t9;
0x0002371c addiu sp, sp, -0x60 |
0x00023720 lw t9, -0x79c0(gp) | t9 = sym.imp.fwrite;
0x00023724 sw s5, 0x4c(sp) | *(var_4ch) = s5;
0x00023728 move s5, a0 | s5 = a0;
0x0002372c lw a0, -0x7fbc(gp) | a0 = *((gp - 8175));
0x00023730 sw gp, 0x28(sp) | *(var_28h) = gp;
0x00023734 sw s7, 0x54(sp) | *(var_54h) = s7;
0x00023738 sw s0, 0x38(sp) | *(var_38h) = s0;
0x0002373c move a3, a1 | a3 = a1;
0x00023740 sw ra, 0x5c(sp) | *(var_5ch) = ra;
0x00023744 sw fp, 0x58(sp) | *(var_58h) = fp;
0x00023748 sw s6, 0x50(sp) | *(var_50h) = s6;
0x0002374c sw s4, 0x48(sp) | *(var_48h) = s4;
0x00023750 sw s3, 0x44(sp) | *(var_44h) = s3;
0x00023754 sw s2, 0x40(sp) | *(var_40h) = s2;
0x00023758 sw s1, 0x3c(sp) | *(var_3ch) = s1;
0x0002375c move s0, a1 | s0 = a1;
0x00023760 addiu a2, zero, 0x11 | a2 = 0x11;
0x00023764 addiu a1, zero, 1 | a1 = 1;
| /* str.Inserted_events:_n */
0x00023768 addiu a0, a0, -0x47e4 | a0 += -0x47e4;
0x0002376c jalr t9 | t9 ();
0x00023770 lw s7, 0xd4(s5) | s7 = *((s5 + 53));
0x00023774 lw gp, 0x28(sp) | gp = *(var_28h);
| if (s7 == 0) {
0x00023778 beqz s7, 0x23860 | goto label_6;
| }
0x0002377c lw s2, -0x7fbc(gp) | s2 = *((gp - 8175));
0x00023780 lw fp, -0x7fbc(gp) | fp = *((gp - 8175));
0x00023784 lw s1, -0x7fbc(gp) | s1 = *((gp - 8175));
0x00023788 lw s3, -0x7fbc(gp) | s3 = *((gp - 8175));
0x0002378c lw s6, -0x7fbc(gp) | s6 = *((gp - 8175));
0x00023790 lw s4, -0x7fbc(gp) | s4 = *((gp - 8175));
| /* str._Read */
0x00023794 addiu s2, s2, -0x4854 | s2 += -0x4854;
0x00023798 addiu fp, fp, -0x7068 | fp += -0x7068;
| /* str._Signal */
0x0002379c addiu s1, s1, -0x4844 | s1 += -0x4844;
0x000237a0 b 0x2380c |
| while (v1 == 0) {
0x000237a4 andi v1, v0, 8 | v1 = v0 & 8;
0x000237a8 move a3, fp | a3 = fp;
| if (v1 == 0) {
0x000237ac movn a3, s1, v1 | a3 = s1;
| }
0x000237b0 andi a1, v0, 1 | a1 = v0 & 1;
0x000237b4 move t0, fp | t0 = fp;
0x000237b8 move v1, a3 | v1 = a3;
| if (a1 != 0) {
0x000237bc bnez a1, 0x23848 | goto label_7;
| }
| label_0:
0x000237c0 andi v0, v0, 0x10 | v0 &= 0x10;
0x000237c4 move a1, fp | a1 = fp;
| if (v0 != 0) {
0x000237c8 bnez v0, 0x23854 | goto label_8;
| }
| label_1:
0x000237cc move v0, fp | v0 = fp;
| label_2:
0x000237d0 lw t9, -0x7ae0(gp) | t9 = sym.imp.__fprintf_chk
0x000237d4 move a3, s7 | a3 = s7;
0x000237d8 sw a1, 0x20(sp) | *(var_20h) = a1;
0x000237dc sw a0, 0x14(sp) | *(var_14h) = a0;
0x000237e0 sw a2, 0x10(sp) | *(var_10h) = a2;
0x000237e4 sw v0, 0x24(sp) | *(var_24h) = v0;
0x000237e8 sw v1, 0x1c(sp) | *(var_1ch) = v1;
0x000237ec sw t0, 0x18(sp) | *(var_18h) = t0;
| /* str.___p__fd__d__s_s_s_s_s_n */
0x000237f0 addiu a2, s3, -0x47d0 | a2 = s3 + -0x47d0;
0x000237f4 addiu a1, zero, 1 | a1 = 1;
0x000237f8 move a0, s0 | a0 = s0;
0x000237fc jalr t9 | t9 ();
0x00023800 lw s7, 8(s7) | s7 = *((s7 + 2));
0x00023804 lw gp, 0x28(sp) | gp = *(var_28h);
| if (s7 == 0) {
0x00023808 beqz s7, 0x23860 | goto label_6;
| }
0x0002380c lhu v0, 0x30(s7) | v0 = *((s7 + 24));
0x00023810 move a1, fp | a1 = fp;
0x00023814 andi a0, v0, 2 | a0 = v0 & 2;
| if (a0 == 0) {
0x00023818 movn a1, s2, a0 | a1 = s2;
| }
0x0002381c andi v1, v0, 4 | v1 = v0 & 4;
0x00023820 lw a2, 0x18(s7) | a2 = *((s7 + 6));
0x00023824 move a0, a1 | a0 = a1;
0x00023828 beqz v1, 0x237a4 |
| }
0x0002382c andi v1, v0, 8 | v1 = v0 & 8;
0x00023830 move a3, fp | a3 = fp;
| if (v1 == 0) {
0x00023834 movn a3, s1, v1 | a3 = s1;
| }
0x00023838 andi a1, v0, 1 | a1 = v0 & 1;
| /* str._Write */
0x0002383c addiu t0, s6, -0x484c | t0 = s6 + -0x484c;
0x00023840 move v1, a3 | v1 = a3;
| if (a1 == 0) {
0x00023844 beqz a1, 0x237c0 | goto label_0;
| }
| label_7:
0x00023848 andi v0, v0, 0x10 | v0 &= 0x10;
| /* str._Timeout */
0x0002384c addiu a1, s4, -0x483c | a1 = s4 + -0x483c;
| if (v0 == 0) {
0x00023850 beqz v0, 0x237cc | goto label_1;
| }
| label_8:
0x00023854 lw v0, -0x7fbc(gp) | v0 = *((gp - 8175));
| /* str._Persist */
0x00023858 addiu v0, v0, -0x4830 | v0 += -0x4830;
0x0002385c b 0x237d0 | goto label_2;
| label_6:
0x00023860 lw a0, 0x9c(s5) | a0 = *((s5 + 39));
0x00023864 lw s4, -0x7fbc(gp) | s4 = *((gp - 8175));
| if (a0 <= 0) {
0x00023868 blez a0, 0x23998 | goto label_9;
| }
0x0002386c lw t0, -0x7fbc(gp) | t0 = *((gp - 8175));
0x00023870 lw s3, -0x7fbc(gp) | s3 = *((gp - 8175));
0x00023874 move s1, zero | s1 = 0;
| /* str._Read_active */
0x00023878 addiu s4, s4, -0x4824 | s4 += -0x4824;
0x0002387c addiu s6, t0, -0x7068 | s6 = t0 + -0x7068;
| /* str._Signal_active */
0x00023880 addiu s3, s3, -0x4804 | s3 += -0x4804;
0x00023884 b 0x23894 |
| while (v0 == 0) {
0x00023888 slt v0, s1, a0 | v0 = (s1 < a0) ? 1 : 0;
0x0002388c lw ra, 0x5c(sp) | ra = *(var_5ch);
| if (v0 == 0) {
0x00023890 beqz v0, 0x2399c | goto label_10;
| }
0x00023894 lw v0, 0x98(s5) | v0 = *((s5 + 38));
| label_5:
0x00023898 sll v1, s1, 3 | v1 = s1 << 3;
0x0002389c lwx v0, v1(v0) | __asm ("lwx v0, v1(v0)");
0x000238a0 beql v0, zero, 0x23888 |
| }
0x000238a4 addiu s1, s1, 1 | s1++;
0x000238a8 lw a2, -0x7fbc(gp) | a2 = *((gp - 8175));
0x000238ac lw t9, -0x7ae0(gp) | t9 = sym.imp.__fprintf_chk
0x000238b0 move a3, s1 | a3 = s1;
| /* str.Active_events__priority__d_:_n */
0x000238b4 addiu a2, a2, -0x47b8 | a2 += -0x47b8;
0x000238b8 addiu a1, zero, 1 | a1 = 1;
0x000238bc move a0, s0 | a0 = s0;
0x000238c0 jalr t9 | t9 ();
0x000238c4 lw fp, 0xd4(s5) | fp = *((s5 + 53));
0x000238c8 lw gp, 0x28(sp) | gp = *(var_28h);
| if (fp == 0) {
0x000238cc beqz fp, 0x23984 | goto label_11;
| }
0x000238d0 lw v0, -0x7fbc(gp) | v0 = *((gp - 8175));
0x000238d4 lw s2, -0x7fbc(gp) | s2 = *((gp - 8175));
0x000238d8 lw s7, -0x7fbc(gp) | s7 = *((gp - 8175));
0x000238dc sw v0, 0x34(sp) | *(var_34h) = v0;
0x000238e0 b 0x2393c |
| while (a0 == 0) {
0x000238e4 andi a0, v0, 8 | a0 = v0 & 8;
0x000238e8 move a3, s6 | a3 = s6;
| if (a0 == 0) {
0x000238ec movn a3, s3, a0 | a3 = s3;
| }
0x000238f0 andi v0, v0, 1 | v0 &= 1;
0x000238f4 move a2, s6 | a2 = s6;
0x000238f8 move a0, a3 | a0 = a3;
| if (v0 != 0) {
0x000238fc bnez v0, 0x23978 | goto label_12;
| }
| label_3:
0x00023900 move v0, s6 | v0 = s6;
| label_4:
0x00023904 lw t9, -0x7ae0(gp) | t9 = sym.imp.__fprintf_chk
0x00023908 move a3, fp | a3 = fp;
0x0002390c sw a0, 0x1c(sp) | *(var_1ch) = a0;
0x00023910 sw a2, 0x18(sp) | *(var_18h) = a2;
0x00023914 sw a1, 0x10(sp) | *(var_10h) = a1;
0x00023918 sw v0, 0x20(sp) | *(var_20h) = v0;
0x0002391c sw v1, 0x14(sp) | *(var_14h) = v1;
| /* str.___p__fd__d__s_s_s_s_n */
0x00023920 addiu a2, s2, -0x4798 | a2 = s2 + -0x4798;
0x00023924 addiu a1, zero, 1 | a1 = 1;
0x00023928 move a0, s0 | a0 = s0;
0x0002392c jalr t9 | t9 ();
0x00023930 lw fp, 8(fp) | fp = *(arg_8h);
0x00023934 lw gp, 0x28(sp) | gp = *(var_28h);
| if (fp == 0) {
0x00023938 beqz fp, 0x23984 | goto label_11;
| }
0x0002393c lhu v0, 0x32(fp) | v0 = *(arg_32h);
0x00023940 move a2, s6 | a2 = s6;
0x00023944 andi v1, v0, 2 | v1 = v0 & 2;
| if (v1 == 0) {
0x00023948 movn a2, s4, v1 | a2 = s4;
| }
0x0002394c andi a0, v0, 4 | a0 = v0 & 4;
0x00023950 lw a1, 0x18(fp) | a1 = *(arg_18h);
0x00023954 move v1, a2 | v1 = a2;
0x00023958 beqz a0, 0x238e4 |
| }
0x0002395c andi a0, v0, 8 | a0 = v0 & 8;
0x00023960 move a3, s6 | a3 = s6;
| if (a0 == 0) {
0x00023964 movn a3, s3, a0 | a3 = s3;
| }
0x00023968 andi v0, v0, 1 | v0 &= 1;
| /* str._Write_active */
0x0002396c addiu a2, s7, -0x4814 | a2 = s7 + -0x4814;
0x00023970 move a0, a3 | a0 = a3;
| if (v0 == 0) {
0x00023974 beqz v0, 0x23900 | goto label_3;
| }
| label_12:
0x00023978 lw v0, 0x34(sp) | v0 = *(var_34h);
0x0002397c addiu v0, v0, -0x47f4 | v0 += -0x47f4;
0x00023980 b 0x23904 | goto label_4;
| label_11:
0x00023984 lw a0, 0x9c(s5) | a0 = *((s5 + 39));
0x00023988 addiu s1, s1, 1 | s1++;
0x0002398c slt v0, s1, a0 | v0 = (s1 < a0) ? 1 : 0;
0x00023990 lw v0, 0x98(s5) | v0 = *((s5 + 38));
| if (v0 == 0) {
0x00023994 bnel v0, zero, 0x23898 | goto label_5;
| }
| label_9:
0x00023998 lw ra, 0x5c(sp) | ra = *(var_5ch);
| label_10:
0x0002399c lw fp, 0x58(sp) | fp = *(var_58h);
0x000239a0 lw s7, 0x54(sp) | s7 = *(var_54h);
0x000239a4 lw s6, 0x50(sp) | s6 = *(var_50h);
0x000239a8 lw s5, 0x4c(sp) | s5 = *(var_4ch);
0x000239ac lw s4, 0x48(sp) | s4 = *(var_48h);
0x000239b0 lw s3, 0x44(sp) | s3 = *(var_44h);
0x000239b4 lw s2, 0x40(sp) | s2 = *(var_40h);
0x000239b8 lw s1, 0x3c(sp) | s1 = *(var_3ch);
0x000239bc lw s0, 0x38(sp) | s0 = *(var_38h);
0x000239c0 addiu sp, sp, 0x60 |
0x000239c4 jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/lldpd @ 0x14984 */
| #include <stdint.h>
|
; (fcn) sym.version_display () | void version_display () {
0x00014984 lui gp, 4 |
0x00014988 addiu gp, gp, 0x1f8c |
0x0001498c addu gp, gp, t9 | gp += t9;
0x00014990 addiu sp, sp, -0x68 |
0x00014994 sw s1, 0x54(sp) | *(var_54h) = s1;
0x00014998 lw s1, -0x794c(gp) | s1 = *((gp - 7763));
0x0001499c sw fp, 0x60(sp) | *(var_60h) = fp;
0x000149a0 move fp, sp | fp = sp;
0x000149a4 lw v0, (s1) | v0 = *(s1);
0x000149a8 sw ra, 0x64(sp) | *(var_64h) = ra;
0x000149ac sw s3, 0x5c(sp) | *(var_5ch) = s3;
0x000149b0 sw s2, 0x58(sp) | *(var_58h) = s2;
0x000149b4 sw s0, 0x50(sp) | *(var_50h) = s0;
0x000149b8 sw gp, 0x18(sp) | *(var_18h) = gp;
0x000149bc sw v0, 0x4c(fp) | *(var_4ch) = v0;
0x000149c0 lw v0, -0x7fbc(gp) | v0 = *((gp - 8175));
| if (a2 == 0) {
0x000149c4 beqz a2, 0x14cb4 | goto label_3;
| }
0x000149c8 lw a2, -0x7fbc(gp) | a2 = *((gp - 8175));
| /* str.1.0.3 */
0x000149cc addiu v0, v0, -0x7168 | v0 += -0x7168;
0x000149d0 sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x000149d4 lw v0, -0x7fbc(gp) | v0 = *((gp - 8175));
0x000149d8 lw t9, -0x7ae0(gp) | t9 = sym.imp.__fprintf_chk
| /* str.LLDP_MED */
0x000149dc addiu v0, v0, -0x7160 | v0 += -0x7160;
0x000149e0 sw v0, 0x2c(fp) | *(var_2ch) = v0;
0x000149e4 lw v0, -0x7fbc(gp) | v0 = *((gp - 8175));
0x000149e8 move a3, a1 | a3 = a1;
| /* str.Dot3 */
0x000149ec addiu v0, v0, -0x7154 | v0 += -0x7154;
0x000149f0 sw v0, 0x30(fp) | *(var_30h) = v0;
0x000149f4 lw v0, -0x7fbc(gp) | v0 = *((gp - 8175));
0x000149f8 move s2, a1 | s2 = a1;
| /* str.Custom_TLV */
0x000149fc addiu v0, v0, -0x714c | v0 += -0x714c;
0x00014a00 sw v0, 0x34(fp) | *(var_34h) = v0;
0x00014a04 lw v0, -0x7fbc(gp) | v0 = *((gp - 8175));
| /* str._s__s_n */
0x00014a08 addiu a2, a2, -0x7128 | a2 += -0x7128;
| /* esilref: 'CDP' */
0x00014a0c addiu v0, v0, -0x7140 | v0 += -0x7140;
0x00014a10 sw v0, 0x24(fp) | *(var_24h) = v0;
0x00014a14 lw v0, -0x7fbc(gp) | v0 = *((gp - 8175));
0x00014a18 addiu a1, zero, 1 | a1 = 1;
| /* str.TEXT */
0x00014a1c addiu v0, v0, -0x713c | v0 += -0x713c;
0x00014a20 sw v0, 0x3c(fp) | *(var_3ch) = v0;
0x00014a24 lw v0, -0x7fbc(gp) | v0 = *((gp - 8175));
0x00014a28 sw zero, 0x38(fp) | *(var_38h) = 0;
| /* esilref: 'KV' */
0x00014a2c addiu v0, v0, -0x7134 | v0 += -0x7134;
0x00014a30 sw v0, 0x40(fp) | *(var_40h) = v0;
0x00014a34 lw v0, -0x7fbc(gp) | v0 = *((gp - 8175));
0x00014a38 sw zero, 0x28(fp) | *(var_28h) = 0;
| /* str.JSON */
0x00014a3c addiu v0, v0, -0x7130 | v0 += -0x7130;
0x00014a40 sw v0, 0x44(fp) | *(var_44h) = v0;
0x00014a44 sw zero, 0x48(fp) | *(var_48h) = 0;
0x00014a48 move s0, a0 | s0 = a0;
0x00014a4c jalr t9 | t9 ();
0x00014a50 lw gp, 0x18(fp) | gp = *(var_18h);
0x00014a54 move a3, s0 | a3 = s0;
0x00014a58 addiu a2, zero, 0x20 | a2 = 0x20;
0x00014a5c lw a0, -0x7fbc(gp) | a0 = *((gp - 8175));
0x00014a60 lw t9, -0x79c0(gp) | t9 = sym.imp.fwrite;
0x00014a64 addiu a1, zero, 1 | a1 = 1;
| /* str.__Built_on_2023_05_31T13:12:12Z_n */
0x00014a68 addiu a0, a0, -0x7120 | a0 += -0x7120;
0x00014a6c jalr t9 | t9 ();
0x00014a70 lw gp, 0x18(fp) | gp = *(var_18h);
0x00014a74 move a1, s0 | a1 = s0;
0x00014a78 lw t9, -0x7aac(gp) | t9 = sym.imp.fputc;
0x00014a7c addiu a0, zero, 0xa | a0 = 0xa;
0x00014a80 jalr t9 | t9 ();
0x00014a84 lw gp, 0x18(fp) | gp = *(var_18h);
0x00014a88 move a0, s2 | a0 = s2;
0x00014a8c lw a1, -0x7fc4(gp) | a1 = *(gp);
0x00014a90 lw t9, -0x7908(gp) | t9 = sym.imp.strcmp;
| /* str.lldpd */
0x00014a94 addiu a1, a1, 0x6450 | a1 += 0x6450;
0x00014a98 jalr t9 | t9 ();
0x00014a9c lw gp, 0x18(fp) | gp = *(var_18h);
| if (v0 == 0) {
0x00014aa0 beqz v0, 0x14b70 | goto label_4;
| }
0x00014aa4 lw a1, -0x7fc4(gp) | a1 = *(gp);
0x00014aa8 lw t9, -0x7908(gp) | t9 = sym.imp.strcmp;
| /* esilref: 'lldpcli' */
0x00014aac addiu a1, a1, 0x6970 | a1 += 0x6970;
0x00014ab0 move a0, s2 | a0 = s2;
0x00014ab4 jalr t9 | t9 ();
0x00014ab8 lw gp, 0x18(fp) | gp = *(var_18h);
0x00014abc beqz v0, 0x14b4c |
| while (1) {
| label_0:
0x00014ac0 lw t9, -0x7aac(gp) | t9 = sym.imp.fputc;
0x00014ac4 move a1, s0 | a1 = s0;
0x00014ac8 addiu a0, zero, 0xa | a0 = 0xa;
0x00014acc jalr t9 | t9 ();
0x00014ad0 lw gp, 0x18(fp) | gp = *(var_18h);
0x00014ad4 addiu a1, zero, 1 | a1 = 1;
0x00014ad8 move a0, s0 | a0 = s0;
0x00014adc lw a3, -0x7fbc(gp) | a3 = *((gp - 8175));
0x00014ae0 lw a2, -0x7fbc(gp) | a2 = *((gp - 8175));
0x00014ae4 lw t9, -0x7ae0(gp) | t9 = sym.imp.__fprintf_chk
| /* str.mipsisa32r2el_axis_linux_gnu_gcc___mel__mabi32__msoft_float___march34kc__msynci__fstack_protector_strong__pie__fPIE__D_FORTIFY_SOURCE2__Wformat__Wformat_security__Werrorformat_security___sysroot_home_svcj_build_build_build_tmp_work_mips32r2el_nf_poky_linux_lldpd_1.0.3_r0_recipe_sysroot___fdiagnostics_show_option__fdiagnostics_colorauto__pipe__Wall__W__Wextra__Wformat__Wformat_security__Wfatal_errors__Wcast_align__Winline__Wpointer_arith__fno_omit_frame_pointer__Wno_unused_parameter__Wno_missing_field_initializers__Wno_sign_compare__fstack_protector__fstack_protector_all__fstack_protector_strong___D_FORTIFY_SOURCE2__D_GNU_SOURCE___O2__pipe__g__feliminate_unused_debug_types__fmacro_prefix_map_home_svcj_build_build_build_tmp_work_mips32r2el_nf_poky_linux_lldpd_1.0.3_r0_usr_src_debug_lldpd_1.0.3_r0_______________________fdebug_prefix_map_home_svcj_build_build_build_tmp_work_mips32r2el_nf_poky_linux_lldpd_1.0.3_r0_usr_src_debug_lldpd_1.0.3_r0_______________________fdebug_prefix_map_home_svcj_build_build_build_tmp_work_mips32r2el_nf_poky_linux_lldpd_1.0.3_r0_recipe_sysroot_______________________fdebug_prefix_map_home_svcj_build_build_build_tmp_work_mips32r2el_nf_poky_linux_lldpd_1.0.3_r0_recipe_sysroot_native__ */
0x00014ae8 addiu a3, a3, -0x6f80 | a3 += -0x6f80;
| /* str.C_compiler_command:__s_n */
0x00014aec addiu a2, a2, -0x6aa8 | a2 += -0x6aa8;
0x00014af0 jalr t9 | t9 ();
0x00014af4 lw gp, 0x18(fp) | gp = *(var_18h);
0x00014af8 addiu a1, zero, 1 | a1 = 1;
0x00014afc move a0, s0 | a0 = s0;
0x00014b00 lw a3, -0x7fbc(gp) | a3 = *((gp - 8175));
0x00014b04 lw a2, -0x7fbc(gp) | a2 = *((gp - 8175));
0x00014b08 lw t9, -0x7ae0(gp) | t9 = sym.imp.__fprintf_chk
| /* str.mipsisa32r2el_axis_linux_gnu_ld___sysroot_home_svcj_build_build_build_tmp_work_mips32r2el_nf_poky_linux_lldpd_1.0.3_r0_recipe_sysroot____Wl__z_relro__Wl__z_now___Wl__O1___Wl___as_needed__fstack_protector_strong__Wl__z_relro__z_now_ */
0x00014b0c addiu a3, a3, -0x6a90 | a3 += -0x6a90;
| /* str.Linker_command:______s_n */
0x00014b10 addiu a2, a2, -0x69a4 | a2 += -0x69a4;
0x00014b14 jalr t9 | t9 ();
0x00014b18 lw gp, 0x18(fp) | gp = *(var_18h);
| label_2:
0x00014b1c lw v1, 0x4c(fp) | v1 = *(var_4ch);
0x00014b20 lw v0, (s1) | v0 = *(s1);
0x00014b24 lw ra, 0x64(fp) | ra = *(var_64h);
| if (v1 != v0) {
0x00014b28 bne v1, v0, 0x14cd8 | goto label_5;
| }
0x00014b2c move sp, fp |
0x00014b30 lw fp, 0x60(sp) | fp = *(var_60h);
0x00014b34 lw s3, 0x5c(sp) | s3 = *(var_5ch);
0x00014b38 lw s2, 0x58(sp) | s2 = *(var_58h);
0x00014b3c lw s1, 0x54(sp) | s1 = *(var_54h);
0x00014b40 lw s0, 0x50(sp) | s0 = *(var_50h);
0x00014b44 addiu sp, sp, 0x68 |
0x00014b48 jr ra | return v0;
0x00014b4c lw a1, -0x7fbc(gp) | a1 = *((gp - 8175));
| label_1:
0x00014b50 lw t9, -0x7f08(gp) | t9 = *(gp);
0x00014b54 addiu a2, fp, 0x3c | a2 = fp + 0x3c;
| /* str.Additional_output_formats:___ */
0x00014b58 addiu a1, a1, -0x6fa0 | a1 += -0x6fa0;
| /* fcn.00014850 */
0x00014b5c addiu t9, t9, 0x4850 | t9 += 0x4850;
0x00014b60 move a0, s0 | a0 = s0;
0x00014b64 bal 0x14850 | fcn_00014850 ();
0x00014b68 lw gp, 0x18(fp) | gp = *(var_18h);
0x00014b6c b 0x14ac0 |
| }
| label_4:
0x00014b70 lw s3, -0x7f08(gp) | s3 = *(gp);
0x00014b74 lw a1, -0x7fbc(gp) | a1 = *((gp - 8175));
| /* fcn.00014850 */
0x00014b78 addiu s3, s3, 0x4850 | s3 += 0x4850;
0x00014b7c addiu a2, fp, 0x2c | a2 = fp + 0x2c;
| /* str.Additional_LLDP_features:____ */
0x00014b80 addiu a1, a1, -0x70fc | a1 += -0x70fc;
0x00014b84 move t9, s3 | t9 = s3;
0x00014b88 move a0, s0 | a0 = s0;
0x00014b8c bal 0x14850 | fcn_00014850 ();
0x00014b90 lw gp, 0x18(fp) | gp = *(var_18h);
0x00014b94 addiu a2, fp, 0x24 | a2 = fp + 0x24;
0x00014b98 move a0, s0 | a0 = s0;
0x00014b9c lw a1, -0x7fbc(gp) | a1 = *((gp - 8175));
0x00014ba0 move t9, s3 | t9 = s3;
| /* str.Additional_protocols:________ */
0x00014ba4 addiu a1, a1, -0x70dc | a1 += -0x70dc;
0x00014ba8 bal 0x14850 | fcn_00014850 ();
0x00014bac lw gp, 0x18(fp) | gp = *(var_18h);
0x00014bb0 move a3, s0 | a3 = s0;
0x00014bb4 addiu a2, zero, 0x20 | a2 = 0x20;
0x00014bb8 lw a0, -0x7fbc(gp) | a0 = *((gp - 8175));
0x00014bbc lw t9, -0x79c0(gp) | t9 = sym.imp.fwrite;
0x00014bc0 addiu a1, zero, 1 | a1 = 1;
| /* str.SNMP_support:________________no_n */
0x00014bc4 addiu a0, a0, -0x70bc | a0 += -0x70bc;
0x00014bc8 jalr t9 | t9 ();
0x00014bcc lw gp, 0x18(fp) | gp = *(var_18h);
0x00014bd0 move a3, s0 | a3 = s0;
0x00014bd4 addiu a2, zero, 0x30 | a2 = 0x30;
0x00014bd8 lw a0, -0x7fbc(gp) | a0 = *((gp - 8175));
0x00014bdc lw t9, -0x79c0(gp) | t9 = sym.imp.fwrite;
0x00014be0 addiu a1, zero, 1 | a1 = 1;
| /* str.Old_kernel_support:__________no__Linux_2.6.39__n */
0x00014be4 addiu a0, a0, -0x7098 | a0 += -0x7098;
0x00014be8 jalr t9 | t9 ();
0x00014bec lw gp, 0x18(fp) | gp = *(var_18h);
0x00014bf0 move a3, s0 | a3 = s0;
0x00014bf4 addiu a2, zero, 0x25 | a2 = 0x25;
0x00014bf8 lw a0, -0x7fbc(gp) | a0 = *((gp - 8175));
0x00014bfc lw t9, -0x79c0(gp) | t9 = sym.imp.fwrite;
0x00014c00 addiu a1, zero, 1 | a1 = 1;
| /* str.Privilege_separation:________enabled_n */
0x00014c04 addiu a0, a0, -0x7064 | a0 += -0x7064;
0x00014c08 jalr t9 | t9 ();
0x00014c0c lw gp, 0x18(fp) | gp = *(var_18h);
0x00014c10 move a3, s0 | a3 = s0;
0x00014c14 addiu a2, zero, 0x23 | a2 = 0x23;
0x00014c18 lw a0, -0x7fbc(gp) | a0 = *((gp - 8175));
0x00014c1c lw t9, -0x79c0(gp) | t9 = sym.imp.fwrite;
0x00014c20 addiu a1, zero, 1 | a1 = 1;
| /* str.Privilege_separation_user:___lldpd_n */
0x00014c24 addiu a0, a0, -0x703c | a0 += -0x703c;
0x00014c28 jalr t9 | t9 ();
0x00014c2c lw gp, 0x18(fp) | gp = *(var_18h);
0x00014c30 move a3, s0 | a3 = s0;
0x00014c34 addiu a2, zero, 0x23 | a2 = 0x23;
0x00014c38 lw a0, -0x7fbc(gp) | a0 = *((gp - 8175));
0x00014c3c lw t9, -0x79c0(gp) | t9 = sym.imp.fwrite;
0x00014c40 addiu a1, zero, 1 | a1 = 1;
| /* str.Privilege_separation_group:__lldpd_n */
0x00014c44 addiu a0, a0, -0x7018 | a0 += -0x7018;
0x00014c48 jalr t9 | t9 ();
0x00014c4c lw gp, 0x18(fp) | gp = *(var_18h);
0x00014c50 move a3, s0 | a3 = s0;
0x00014c54 addiu a2, zero, 0x2c | a2 = 0x2c;
0x00014c58 lw a0, -0x7fbc(gp) | a0 = *((gp - 8175));
0x00014c5c lw t9, -0x79c0(gp) | t9 = sym.imp.fwrite;
0x00014c60 addiu a1, zero, 1 | a1 = 1;
| /* str.Privilege_separation_chroot:__var_run_lldpd_n */
0x00014c64 addiu a0, a0, -0x6ff4 | a0 += -0x6ff4;
0x00014c68 jalr t9 | t9 ();
0x00014c6c lw gp, 0x18(fp) | gp = *(var_18h);
0x00014c70 move a3, s0 | a3 = s0;
0x00014c74 addiu a2, zero, 0x22 | a2 = 0x22;
0x00014c78 lw a0, -0x7fbc(gp) | a0 = *((gp - 8175));
0x00014c7c lw t9, -0x79c0(gp) | t9 = sym.imp.fwrite;
0x00014c80 addiu a1, zero, 1 | a1 = 1;
| /* str.Configuration_directory:______etc_n */
0x00014c84 addiu a0, a0, -0x6fc4 | a0 += -0x6fc4;
0x00014c88 jalr t9 | t9 ();
0x00014c8c lw gp, 0x18(fp) | gp = *(var_18h);
0x00014c90 move a0, s2 | a0 = s2;
0x00014c94 lw a1, -0x7fc4(gp) | a1 = *(gp);
0x00014c98 lw t9, -0x7908(gp) | t9 = sym.imp.strcmp;
| /* esilref: 'lldpcli' */
0x00014c9c addiu a1, a1, 0x6970 | a1 += 0x6970;
0x00014ca0 jalr t9 | t9 ();
0x00014ca4 lw gp, 0x18(fp) | gp = *(var_18h);
| if (v0 != 0) {
0x00014ca8 bnez v0, 0x14ac0 | goto label_0;
| }
0x00014cac lw a1, -0x7fbc(gp) | a1 = *((gp - 8175));
0x00014cb0 b 0x14b50 | goto label_1;
| label_3:
0x00014cb4 lw a3, -0x7fbc(gp) | a3 = *((gp - 8175));
0x00014cb8 lw a2, -0x7fbc(gp) | a2 = *((gp - 8175));
0x00014cbc lw t9, -0x7ae0(gp) | t9 = sym.imp.__fprintf_chk
| /* str.1.0.3 */
0x00014cc0 addiu a3, a3, -0x7168 | a3 += -0x7168;
| /* esilref: '&s
' */
0x00014cc4 addiu a2, a2, -0x6990 | a2 += -0x6990;
0x00014cc8 addiu a1, zero, 1 | a1 = 1;
0x00014ccc jalr t9 | t9 ();
0x00014cd0 lw gp, 0x18(fp) | gp = *(var_18h);
0x00014cd4 b 0x14b1c | goto label_2;
| label_5:
0x00014cd8 lw t9, -0x7984(gp) | t9 = sym.imp.__stack_chk_fail;
0x00014cdc jalr t9 | t9 ();
0x00014ce0 nop |
0x00014ce4 nop |
0x00014ce8 nop |
0x00014cec nop |
| }
[*] Function fprintf used 12 times lldpd