[*] Binary protection state of ethtool
Full RELRO Canary found NX disabled PIE enabled No RPATH No RUNPATH No Symbols
[*] Function strcat tear down of ethtool
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/ethtool @ 0x9914 */
| #include <stdint.h>
|
; (fcn) fcn.00009914 () | void fcn_00009914 () {
| label_2:
0x00009914 lui gp, 6 |
0x00009918 addiu gp, gp, 0x7a3c |
0x0000991c addu gp, gp, t9 | gp += t9;
0x00009920 addiu sp, sp, -0x40 |
0x00009924 sw s0, 0x2c(sp) | *(var_2ch_2) = s0;
0x00009928 lw s0, -0x7e68(gp) | s0 = *((gp - 8090));
0x0000992c sw gp, 0x10(sp) | *(var_10h_3) = gp;
0x00009930 sw ra, 0x3c(sp) | *(var_3ch_2) = ra;
0x00009934 lw v0, (s0) | v0 = *(s0);
0x00009938 sw s3, 0x38(sp) | *(var_38h_2) = s3;
0x0000993c sw s2, 0x34(sp) | *(var_34h_2) = s2;
0x00009940 sw s1, 0x30(sp) | *(var_30h) = s1;
0x00009944 sw v0, 0x24(sp) | *(var_24h_3) = v0;
0x00009948 lw t9, -0x7ed8(gp) | t9 = sym.imp.__errno_location;
| if (a0 == 0) {
0x0000994c beqz a0, 0x99dc | goto label_17;
| }
0x00009950 sw a0, 0x1c(sp) | *(var_1ch_5) = a0;
0x00009954 move s3, a2 | s3 = a2;
0x00009958 move s2, a3 | s2 = a3;
0x0000995c jalr t9 | t9 ();
0x00009960 lw gp, 0x10(sp) | gp = *(var_10h_3);
0x00009964 move s1, v0 | s1 = v0;
0x00009968 lw a0, 0x1c(sp) | a0 = *(var_1ch_5);
0x0000996c lw t9, -0x7edc(gp) | t9 = sym.imp.strtoull;
0x00009970 sw zero, (v0) | *(v0) = 0;
0x00009974 move a2, zero | a2 = 0;
0x00009978 addiu a1, sp, 0x20 | a1 = sp + 0x20;
0x0000997c jalr t9 | t9 ();
0x00009980 lw a0, (s1) | a0 = *(s1);
0x00009984 lw gp, 0x10(sp) | gp = *(var_10h_3);
| if (a0 != 0) {
0x00009988 bnez a0, 0x99dc | goto label_17;
| }
0x0000998c lw a0, 0x20(sp) | a0 = *(var_20h_10);
0x00009990 lb a0, (a0) | a0 = *(a0);
0x00009994 sltu a0, s2, v1 | a0 = (s2 < v1) ? 1 : 0;
| if (a0 != 0) {
0x00009998 bnez a0, 0x99dc | goto label_17;
| }
0x0000999c lw t9, -0x7fd4(gp) | t9 = *((gp - 8181));
| if (a0 != 0) {
0x000099a0 bnez a0, 0x99e0 | goto label_18;
| }
| if (v1 == s2) {
0x000099a4 beql v1, s2, 0x99d4 | goto label_19;
| }
0x000099a8 sltu s3, s3, v0 | s3 = (s3 < v0) ? 1 : 0;
| do {
0x000099ac lw a1, 0x24(sp) | a1 = *(var_24h_3);
0x000099b0 lw a0, (s0) | a0 = *(s0);
0x000099b4 lw ra, 0x3c(sp) | ra = *(var_3ch_2);
| if (a1 != a0) {
0x000099b8 bne a1, a0, 0x99ec | goto label_20;
| }
0x000099bc lw s3, 0x38(sp) | s3 = *(var_38h_2);
0x000099c0 lw s2, 0x34(sp) | s2 = *(var_34h_2);
0x000099c4 lw s1, 0x30(sp) | s1 = *(var_30h);
0x000099c8 lw s0, 0x2c(sp) | s0 = *(var_2ch_2);
0x000099cc addiu sp, sp, 0x40 |
0x000099d0 jr ra | return v0;
| label_19:
0x000099d4 beqz s3, 0x99ac |
| } while (s3 == 0);
0x000099d8 nop |
| label_17:
0x000099dc lw t9, -0x7fd4(gp) | t9 = *((gp - 8181));
| label_18:
0x000099e0 addiu t9, t9, 0x594c | t9 += fcn.0000594c;
0x000099e4 bal 0x594c | fcn_0000594c ();
0x000099e8 nop |
| label_20:
0x000099ec lw t9, -0x7e70(gp) | t9 = sym.imp.__stack_chk_fail;
0x000099f0 jalr t9 | t9 ();
0x000099f4 nop |
0x000099f8 lui gp, 6 |
0x000099fc addiu gp, gp, 0x7958 |
0x00009a00 addu gp, gp, t9 | gp += t9;
0x00009a04 addiu sp, sp, -0x100 |
0x00009a08 sw s2, 0xec(sp) | *(var_ech) = s2;
0x00009a0c lw s2, -0x7e68(gp) | s2 = *((gp - 8090));
0x00009a10 sw s1, 0xe8(sp) | *(var_e8h) = s1;
0x00009a14 lw s1, 0x28(a0) | s1 = *((a0 + 10));
0x00009a18 lw v0, (s2) | v0 = *(s2);
0x00009a1c sw gp, 0x10(sp) | *(var_10h_4) = gp;
0x00009a20 sw s0, 0xe4(sp) | *(var_e4h) = s0;
0x00009a24 sw ra, 0xfc(sp) | *(var_fch) = ra;
0x00009a28 sw s5, 0xf8(sp) | *(var_f8h) = s5;
0x00009a2c sw s4, 0xf4(sp) | *(var_f4h) = s4;
0x00009a30 sw s3, 0xf0(sp) | *(var_f0h) = s3;
0x00009a34 move s0, a0 | s0 = a0;
0x00009a38 sw v0, 0xdc(sp) | *(var_dch) = v0;
0x00009a3c lw a1, -0x7fdc(gp) | a1 = *(gp);
| if (s1 <= 0) {
0x00009a40 blez s1, 0x9a98 | goto label_21;
| }
0x00009a44 lw s3, 0x2c(a0) | s3 = *((a0 + 11));
0x00009a48 lw t9, -0x7e40(gp) | t9 = sym.imp.strcmp;
0x00009a4c lw s4, (s3) | s4 = *(s3);
| /* str.rx_flow_hash */
0x00009a50 addiu a1, a1, 0x5414 | a1 += 0x5414;
0x00009a54 move a0, s4 | a0 = s4;
0x00009a58 jalr t9 | t9 ();
0x00009a5c lw gp, 0x10(sp) | gp = *(var_10h_4);
| if (v0 == 0) {
0x00009a60 beqz v0, 0x9b38 | goto label_22;
| }
0x00009a64 addiu v0, zero, 2 | v0 = 2;
0x00009a68 lw a1, -0x7fdc(gp) | a1 = *(gp);
| if (s1 != v0) {
0x00009a6c bne s1, v0, 0x9a88 | goto label_0;
| }
0x00009a70 lw t9, -0x7e40(gp) | t9 = sym.imp.strcmp;
| /* str.rule */
0x00009a74 addiu a1, a1, 0x55f8 | a1 += 0x55f8;
0x00009a78 move a0, s4 | a0 = s4;
0x00009a7c jalr t9 | t9 ();
0x00009a80 lw gp, 0x10(sp) | gp = *(var_10h_4);
| if (v0 == 0) {
0x00009a84 beqz v0, 0x9cdc | goto label_23;
| }
| do {
| label_0:
0x00009a88 lw t9, -0x7fd4(gp) | t9 = *((gp - 8181));
0x00009a8c addiu t9, t9, 0x594c | t9 += fcn.0000594c;
0x00009a90 bal 0x594c | fcn_0000594c ();
0x00009a94 nop |
| label_21:
0x00009a98 addiu v0, sp, 0x18 | v0 = sp + 0x18;
0x00009a9c bnez s1, 0x9a88 |
| } while (s1 != 0);
0x00009aa0 lw t9, -0x7e78(gp) | t9 = sym.imp.ioctl;
0x00009aa4 lw a0, 4(a0) | a0 = *((a0 + 1));
0x00009aa8 sw v0, 0x18(s0) | *((s0 + 6)) = v0;
0x00009aac addiu v0, zero, 0x2d | v0 = 0x2d;
0x00009ab0 addiu a2, s0, 8 | a2 = s0 + 8;
0x00009ab4 ori a1, zero, 0x8946 | a1 = 0x8946;
0x00009ab8 sw v0, 0x18(sp) | *(var_18h) = v0;
0x00009abc jalr t9 | t9 ();
0x00009ac0 lw gp, 0x10(sp) | gp = *(var_10h_4);
| if (v0 < 0) {
0x00009ac4 bltz v0, 0x9bd8 | goto label_24;
| }
0x00009ac8 lw v0, -0x7eec(gp) | v0 = *((gp - 8123));
0x00009acc lw a2, -0x7fdc(gp) | a2 = *(gp);
0x00009ad0 lw t9, -0x7f08(gp) | t9 = sym.imp.__fprintf_chk;
0x00009ad4 lw a3, 0x20(sp) | a3 = *(var_20h_9);
0x00009ad8 lw a0, (v0) | a0 = *(v0);
| /* str._d_RX_rings_available_n */
0x00009adc addiu a2, a2, 0x5638 | a2 += 0x5638;
0x00009ae0 addiu a1, zero, 1 | a1 = 1;
0x00009ae4 jalr t9 | t9 ();
0x00009ae8 lw gp, 0x10(sp) | gp = *(var_10h_4);
0x00009aec lw t9, -0x7fc0(gp) | t9 = sym.rxclass_rule_getall;
0x00009af0 move a0, s0 | a0 = s0;
0x00009af4 bal 0x1269c | sym_rxclass_rule_getall ();
0x00009af8 move s0, v0 | s0 = v0;
0x00009afc lw gp, 0x10(sp) | gp = *(var_10h_4);
| if (v0 < 0) {
0x00009b00 bltz v0, 0x9c04 | goto label_25;
| }
| label_1:
0x00009b04 lw a0, 0xdc(sp) | a0 = *(var_dch);
0x00009b08 lw v1, (s2) | v1 = *(s2);
0x00009b0c sltu v0, zero, s0 | v0 = (0 < s0) ? 1 : 0;
| if (a0 != v1) {
0x00009b10 bne a0, v1, 0xa04c | goto label_26;
| }
0x00009b14 lw ra, 0xfc(sp) | ra = *(var_fch);
0x00009b18 lw s5, 0xf8(sp) | s5 = *(var_f8h);
0x00009b1c lw s4, 0xf4(sp) | s4 = *(var_f4h);
0x00009b20 lw s3, 0xf0(sp) | s3 = *(var_f0h);
0x00009b24 lw s2, 0xec(sp) | s2 = *(var_ech);
0x00009b28 lw s1, 0xe8(sp) | s1 = *(var_e8h);
0x00009b2c lw s0, 0xe4(sp) | s0 = *(var_e4h);
0x00009b30 addiu sp, sp, 0x100 |
0x00009b34 jr ra | return v0;
| label_22:
0x00009b38 addiu v0, zero, 4 | v0 = 4;
0x00009b3c addiu v0, zero, 2 | v0 = 2;
| if (s1 == v0) {
0x00009b40 beq s1, v0, 0x9c2c | goto label_27;
| }
0x00009b44 lw t9, -0x7fc4(gp) | t9 = *(gp);
| if (s1 != v0) {
0x00009b48 bne s1, v0, 0x9a88 | goto label_0;
| }
0x00009b4c addiu t9, t9, -0x7828 | t9 += -0x7828;
0x00009b50 lw a0, 4(s3) | a0 = *((s3 + 1));
0x00009b54 bal 0x87d8 | fcn_000087d8 ();
0x00009b58 move s1, v0 | s1 = v0;
0x00009b5c lw gp, 0x10(sp) | gp = *(var_10h_4);
| if (v0 == 0) {
0x00009b60 beqz v0, 0x9a88 | goto label_0;
| }
0x00009b64 addiu v0, sp, 0x18 | v0 = sp + 0x18;
0x00009b68 lw t9, -0x7e78(gp) | t9 = sym.imp.ioctl;
0x00009b6c sw v0, 0x18(s0) | *((s0 + 6)) = v0;
0x00009b70 lw a0, 4(s0) | a0 = *((s0 + 1));
0x00009b74 addiu v0, zero, 0x29 | v0 = 0x29;
0x00009b78 addiu a2, s0, 8 | a2 = s0 + 8;
0x00009b7c ori a1, zero, 0x8946 | a1 = 0x8946;
0x00009b80 sw v0, 0x18(sp) | *(var_18h) = v0;
0x00009b84 sw s1, 0x1c(sp) | *(var_1ch_4) = s1;
0x00009b88 jalr t9 | t9 ();
0x00009b8c move s0, v0 | s0 = v0;
0x00009b90 lw gp, 0x10(sp) | gp = *(var_10h_4);
| if (v0 < 0) {
0x00009b94 bltz v0, 0x9cc4 | goto label_28;
| }
0x00009b98 lw s5, -0x7eec(gp) | s5 = *((gp - 8123));
| label_3:
0x00009b9c lui v0, 0xdfff | v0 = 0xdfffffff;
0x00009ba0 ori v0, v0, 0xffff |
0x00009ba4 and s1, s1, v0 | s1 &= v0;
0x00009ba8 sltiu v0, s1, 0xd | v0 = (s1 < 0xd) ? 1 : 0;
0x00009bac lw s4, 0x20(sp) | s4 = *(var_20h_9);
0x00009bb0 lw s3, 0x24(sp) | s3 = *(var_24h_15);
0x00009bb4 lw a3, (s5) | a3 = *(s5);
| if (v0 == 0) {
0x00009bb8 beqz v0, 0x9d60 | goto label_29;
| }
0x00009bbc lw v0, -0x7fd0(gp) | v0 = *(gp);
0x00009bc0 sll s1, s1, 2 | s1 <<= 2;
0x00009bc4 addiu v0, v0, -0x7610 | v0 += -0x7610;
0x00009bc8 lwx s1, s1(v0) | __asm ("lwx s1, s1(v0)");
0x00009bcc addu s1, s1, gp | s1 += gp;
0x00009bd0 jr s1 | s1 ();
0x00009bd4 nop |
| label_24:
0x00009bd8 lw a0, -0x7fdc(gp) | a0 = *(gp);
0x00009bdc lw t9, -0x7e7c(gp) | t9 = sym.imp.perror;
| /* str.Cannot_get_RX_rings */
0x00009be0 addiu a0, a0, 0x5624 | a0 += 0x5624;
0x00009be4 jalr t9 | t9 ();
0x00009be8 lw gp, 0x10(sp) | gp = *(var_10h_4);
0x00009bec lw t9, -0x7fc0(gp) | t9 = sym.rxclass_rule_getall;
0x00009bf0 move a0, s0 | a0 = s0;
0x00009bf4 bal 0x1269c | sym_rxclass_rule_getall ();
0x00009bf8 move s0, v0 | s0 = v0;
0x00009bfc lw gp, 0x10(sp) | gp = *(var_10h_4);
| if (v0 >= 0) {
0x00009c00 bgez v0, 0x9b04 | goto label_1;
| }
| label_25:
0x00009c04 lw v0, -0x7e54(gp) | v0 = *((gp - 8085));
0x00009c08 lw a0, -0x7fdc(gp) | a0 = *(gp);
0x00009c0c lw t9, -0x7e80(gp) | t9 = sym.imp.fwrite;
0x00009c10 lw a3, (v0) | a3 = *(v0);
0x00009c14 addiu a2, zero, 0x28 | a2 = 0x28;
0x00009c18 addiu a1, zero, 1 | a1 = 1;
| /* str.RX_classification_rule_retrieval_failed_n */
0x00009c1c addiu a0, a0, 0x5650 | a0 += 0x5650;
0x00009c20 jalr t9 | t9 ();
0x00009c24 lw gp, 0x10(sp) | gp = *(var_10h_4);
0x00009c28 b 0x9b04 | goto label_1;
| label_27:
0x00009c2c lw a1, -0x7fdc(gp) | a1 = *(gp);
0x00009c30 lw t9, -0x7e40(gp) | t9 = sym.imp.strcmp;
0x00009c34 lw a0, 8(s3) | a0 = *((s3 + 2));
| /* str.context */
0x00009c38 addiu a1, a1, 0x5168 | a1 += 0x5168;
0x00009c3c jalr t9 | t9 ();
0x00009c40 lw gp, 0x10(sp) | gp = *(var_10h_4);
| if (v0 != 0) {
0x00009c44 bnez v0, 0x9a88 | goto label_0;
| }
0x00009c48 lw t9, -0x7fc4(gp) | t9 = *(gp);
0x00009c4c lw a0, 0xc(s3) | a0 = *((s3 + 3));
0x00009c50 addiu a2, zero, -1 | a2 = -1;
0x00009c54 addiu t9, t9, -0x66ec | t9 += -0x66ec;
0x00009c58 move a3, zero | a3 = 0;
0x00009c5c bal 0x9914 | fcn_00009914 ();
| goto label_2;
0x00009c60 lw gp, 0x10(sp) | gp = *(var_10h_4);
0x00009c64 lw v1, 0x2c(s0) | v1 = *((s0 + 11));
0x00009c68 sw v0, 0xd0(sp) | *(var_d0h_6) = v0;
0x00009c6c lw t9, -0x7fc4(gp) | t9 = *(gp);
0x00009c70 addiu t9, t9, -0x7828 | t9 += -0x7828;
0x00009c74 lw a0, 4(v1) | a0 = *((v1 + 1));
0x00009c78 bal 0x87d8 | fcn_000087d8 ();
0x00009c7c move s1, v0 | s1 = v0;
0x00009c80 lw gp, 0x10(sp) | gp = *(var_10h_4);
| if (v0 == 0) {
0x00009c84 beqz v0, 0x9a88 | goto label_0;
| }
0x00009c88 addiu v1, sp, 0x18 | v1 = sp + 0x18;
0x00009c8c lui v0, 0x2000 | v0 = 0x20000000;
0x00009c90 lw t9, -0x7e78(gp) | t9 = sym.imp.ioctl;
0x00009c94 sw v1, 0x18(s0) | *((s0 + 6)) = v1;
0x00009c98 lw a0, 4(s0) | a0 = *((s0 + 1));
0x00009c9c or v0, s1, v0 | v0 = s1 | v0;
0x00009ca0 addiu v1, zero, 0x29 | v1 = 0x29;
0x00009ca4 addiu a2, s0, 8 | a2 = s0 + 8;
0x00009ca8 ori a1, zero, 0x8946 | a1 = 0x8946;
0x00009cac sw v1, 0x18(sp) | *(var_18h) = v1;
0x00009cb0 sw v0, 0x1c(sp) | *(var_1ch_4) = v0;
0x00009cb4 jalr t9 | t9 ();
0x00009cb8 move s0, v0 | s0 = v0;
0x00009cbc lw gp, 0x10(sp) | gp = *(var_10h_4);
| if (v0 >= 0) {
0x00009cc0 bgez v0, 0x9e50 | goto label_30;
| }
| label_28:
0x00009cc4 lw a0, -0x7fdc(gp) | a0 = *(gp);
0x00009cc8 lw t9, -0x7e7c(gp) | t9 = sym.imp.perror;
| /* str.Cannot_get_RX_network_flow_hashing_options */
0x00009ccc addiu a0, a0, 0x5424 | a0 += 0x5424;
0x00009cd0 jalr t9 | t9 ();
0x00009cd4 lw gp, 0x10(sp) | gp = *(var_10h_4);
0x00009cd8 b 0x9b04 | goto label_1;
| label_23:
0x00009cdc lw t9, -0x7fc4(gp) | t9 = *(gp);
0x00009ce0 lw a0, 4(s3) | a0 = *((s3 + 1));
0x00009ce4 lui a2, 0x7fff | a2 = 0x7fffffff;
0x00009ce8 ori a2, a2, 0xffff |
0x00009cec addiu t9, t9, -0x66ec | t9 += -0x66ec;
0x00009cf0 move a3, zero | a3 = 0;
0x00009cf4 bal 0x9914 | fcn_00009914 ();
| goto label_2;
0x00009cf8 lw gp, 0x10(sp) | gp = *(var_10h_4);
0x00009cfc move a0, s0 | a0 = s0;
0x00009d00 lw t9, -0x7fbc(gp) | t9 = sym.rxclass_rule_get;
0x00009d04 move a1, v0 | a1 = v0;
0x00009d08 bal 0x1252c | sym_rxclass_rule_get ();
0x00009d0c move s0, v0 | s0 = v0;
0x00009d10 lw gp, 0x10(sp) | gp = *(var_10h_4);
| if (v0 >= 0) {
0x00009d14 bgez v0, 0x9b04 | goto label_1;
| }
0x00009d18 lw v0, -0x7e54(gp) | v0 = *((gp - 8085));
0x00009d1c lw a0, -0x7fdc(gp) | a0 = *(gp);
0x00009d20 lw t9, -0x7e80(gp) | t9 = sym.imp.fwrite;
0x00009d24 lw a3, (v0) | a3 = *(v0);
0x00009d28 addiu a2, zero, 0x22 | a2 = 0x22;
0x00009d2c addiu a1, zero, 1 | a1 = 1;
| /* str.Cannot_get_RX_classification_rule_n */
0x00009d30 addiu a0, a0, 0x5600 | a0 += 0x5600;
0x00009d34 jalr t9 | t9 ();
0x00009d38 lw gp, 0x10(sp) | gp = *(var_10h_4);
0x00009d3c b 0x9b04 | goto label_1;
| label_29:
0x00009d60 lui v0, 0x8000 | v0 = 0x80000000;
0x00009d64 and v0, s4, v0 | v0 = s4 & v0;
0x00009d68 or v0, v0, s3 | v0 |= s3;
0x00009d6c lw t9, -0x7e80(gp) | t9 = sym.imp.fwrite;
| if (v0 != 0) {
0x00009d70 bnez v0, 0x9e34 | goto label_31;
| }
0x00009d74 lw a0, -0x7fdc(gp) | a0 = *(gp);
0x00009d78 addiu a2, zero, 0x2f | a2 = 0x2f;
0x00009d7c addiu a1, zero, 1 | a1 = 1;
0x00009d80 lw s1, -0x7fc8(gp) | s1 = *((gp - 8178));
| /* str._use_these_fields_for_computing_Hash_flow_key:_n */
0x00009d84 addiu a0, a0, 0x5550 | a0 += 0x5550;
0x00009d88 jalr t9 | t9 ();
0x00009d8c lw gp, 0x10(sp) | gp = *(var_10h_4);
0x00009d90 addiu v1, s1, -0x6ac0 | v1 = s1 + -0x6ac0;
0x00009d94 move a0, v1 | a0 = v1;
0x00009d98 lw t9, -0x7ed0(gp) | t9 = sym.imp.memset;
0x00009d9c addiu a2, zero, 0x12c | a2 = aav.0x0000012c;
0x00009da0 move a1, zero | a1 = 0;
0x00009da4 lw s5, (s5) | s5 = *(s5);
0x00009da8 or s3, s4, s3 | s3 = s4 | s3;
0x00009dac jalr t9 | t9 ();
0x00009db0 move v1, v0 | v1 = v0;
0x00009db4 lw gp, 0x10(sp) | gp = *(var_10h_4);
| if (s3 == 0) {
0x00009db8 beqz s3, 0x9f74 | goto label_32;
| }
0x00009dbc andi v0, s4, 2 | v0 = s4 & 2;
0x00009dc0 lw a1, -0x7fdc(gp) | a1 = *(gp);
| if (v0 != 0) {
0x00009dc4 bnez v0, 0x9fc0 | goto label_33;
| }
| label_6:
0x00009dc8 andi v0, s4, 4 | v0 = s4 & 4;
0x00009dcc lw a1, -0x7fdc(gp) | a1 = *(gp);
| if (v0 != 0) {
0x00009dd0 bnez v0, 0x9fa4 | goto label_34;
| }
| label_5:
0x00009dd4 andi v0, s4, 8 | v0 = s4 & 8;
0x00009dd8 lw a1, -0x7fdc(gp) | a1 = *(gp);
| if (v0 != 0) {
0x00009ddc bnez v0, 0xa030 | goto label_35;
| }
| label_10:
0x00009de0 andi v0, s4, 0x10 | v0 = s4 & 0x10;
0x00009de4 lw a1, -0x7fdc(gp) | a1 = *(gp);
| if (v0 != 0) {
0x00009de8 bnez v0, 0xa014 | goto label_36;
| }
| label_9:
0x00009dec andi v0, s4, 0x20 | v0 = s4 & 0x20;
0x00009df0 lw a1, -0x7fdc(gp) | a1 = *(gp);
| if (v0 != 0) {
0x00009df4 bnez v0, 0x9ff8 | goto label_37;
| }
| label_8:
0x00009df8 andi v0, s4, 0x40 | v0 = s4 & 0x40;
0x00009dfc lw a1, -0x7fdc(gp) | a1 = *(gp);
| if (v0 != 0) {
0x00009e00 bnez v0, 0x9fdc | goto label_38;
| }
| label_7:
0x00009e04 andi s4, s4, 0x80 | s4 &= 0x80;
0x00009e08 lw a1, -0x7fdc(gp) | a1 = *(gp);
| if (s4 != 0) {
0x00009e0c bnez s4, 0x9f88 | goto label_39;
| }
| do {
| label_4:
0x00009e10 lw a2, -0x7fd0(gp) | a2 = *(gp);
0x00009e14 lw t9, -0x7f08(gp) | t9 = sym.imp.__fprintf_chk;
0x00009e18 addiu a3, s1, -0x6ac0 | a3 = s1 + -0x6ac0;
| /* esilref: '&s
' */
0x00009e1c addiu a2, a2, -0x68a4 | a2 += -0x68a4;
0x00009e20 addiu a1, zero, 1 | a1 = 1;
0x00009e24 move a0, s5 | a0 = s5;
0x00009e28 jalr t9 | t9 ();
0x00009e2c lw gp, 0x10(sp) | gp = *(var_10h_4);
0x00009e30 b 0x9b04 | goto label_1;
| label_31:
0x00009e34 lw a0, -0x7fdc(gp) | a0 = *(gp);
0x00009e38 addiu a2, zero, 0x26 | a2 = 0x26;
0x00009e3c addiu a1, zero, 1 | a1 = 1;
| /* str.___All_matching_flows_discarded_on_RX_n */
0x00009e40 addiu a0, a0, 0x5528 | a0 += 0x5528;
0x00009e44 jalr t9 | t9 ();
0x00009e48 lw gp, 0x10(sp) | gp = *(var_10h_4);
0x00009e4c b 0x9b04 | goto label_1;
| label_30:
0x00009e50 lw s5, -0x7eec(gp) | s5 = *((gp - 8123));
0x00009e54 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x00009e58 lw t9, -0x7f08(gp) | t9 = sym.imp.__fprintf_chk;
0x00009e5c lw a3, 0xd0(sp) | a3 = *(var_d0h_6);
0x00009e60 lw a0, (s5) | a0 = *(s5);
| /* str.For_RSS_context__u:_n */
0x00009e64 addiu a2, a2, 0x5450 | a2 += 0x5450;
0x00009e68 addiu a1, zero, 1 | a1 = 1;
0x00009e6c jalr t9 | t9 ();
0x00009e70 lw gp, 0x10(sp) | gp = *(var_10h_4);
0x00009e74 b 0x9b9c | goto label_3;
| label_32:
0x00009f74 lui v0, 0x656e | v0 = 0x656e6f4e;
0x00009f78 addiu v0, v0, 0x6f4e |
0x00009f7c sw v0, -0x6ac0(s1) | *((s1 - 6832)) = v0;
0x00009f80 sb zero, 4(v1) | *((v1 + 4)) = 0;
0x00009f84 b 0x9e10 |
| } while (1);
| label_39:
0x00009f88 lw t9, -0x7e30(gp) | t9 = sym.imp.__strcat_chk
0x00009f8c addiu a2, zero, 0x12c | a2 = aav.0x0000012c;
| /* str.L4_bytes_2__3__TCP_UDP_dst_port__n */
0x00009f90 addiu a1, a1, 0x55d4 | a1 += 0x55d4;
0x00009f94 addiu a0, s1, -0x6ac0 | a0 = s1 + -0x6ac0;
0x00009f98 jalr t9 | t9 ();
0x00009f9c lw gp, 0x10(sp) | gp = *(var_10h_4);
0x00009fa0 b 0x9e10 | goto label_4;
| label_34:
0x00009fa4 lw t9, -0x7e30(gp) | t9 = sym.imp.__strcat_chk
0x00009fa8 addiu a2, zero, 0x12c | a2 = aav.0x0000012c;
| /* str.VLAN_tag_n */
0x00009fac addiu a1, a1, 0x5588 | a1 += 0x5588;
0x00009fb0 addiu a0, s1, -0x6ac0 | a0 = s1 + -0x6ac0;
0x00009fb4 jalr t9 | t9 ();
0x00009fb8 lw gp, 0x10(sp) | gp = *(var_10h_4);
0x00009fbc b 0x9dd4 | goto label_5;
| label_33:
0x00009fc0 lw t9, -0x7e30(gp) | t9 = sym.imp.__strcat_chk
0x00009fc4 addiu a2, zero, 0x12c | a2 = aav.0x0000012c;
| /* str.L2DA_n */
0x00009fc8 addiu a1, a1, 0x5580 | a1 += 0x5580;
0x00009fcc move a0, v1 | a0 = v1;
0x00009fd0 jalr t9 | t9 ();
0x00009fd4 lw gp, 0x10(sp) | gp = *(var_10h_4);
0x00009fd8 b 0x9dc8 | goto label_6;
| label_38:
0x00009fdc lw t9, -0x7e30(gp) | t9 = sym.imp.__strcat_chk
0x00009fe0 addiu a2, zero, 0x12c | a2 = aav.0x0000012c;
| /* str.L4_bytes_0__1__TCP_UDP_src_port__n */
0x00009fe4 addiu a1, a1, 0x55b0 | a1 += 0x55b0;
0x00009fe8 addiu a0, s1, -0x6ac0 | a0 = s1 + -0x6ac0;
0x00009fec jalr t9 | t9 ();
0x00009ff0 lw gp, 0x10(sp) | gp = *(var_10h_4);
0x00009ff4 b 0x9e04 | goto label_7;
| label_37:
0x00009ff8 lw t9, -0x7e30(gp) | t9 = sym.imp.__strcat_chk
0x00009ffc addiu a2, zero, 0x12c | a2 = aav.0x0000012c;
| /* str.IP_DA_n */
0x0000a000 addiu a1, a1, 0x55a8 | a1 += 0x55a8;
0x0000a004 addiu a0, s1, -0x6ac0 | a0 = s1 + -0x6ac0;
0x0000a008 jalr t9 | t9 ();
0x0000a00c lw gp, 0x10(sp) | gp = *(var_10h_4);
0x0000a010 b 0x9df8 | goto label_8;
| label_36:
0x0000a014 lw t9, -0x7e30(gp) | t9 = sym.imp.__strcat_chk
0x0000a018 addiu a2, zero, 0x12c | a2 = aav.0x0000012c;
| /* str.IP_SA_n */
0x0000a01c addiu a1, a1, 0x55a0 | a1 += 0x55a0;
0x0000a020 addiu a0, s1, -0x6ac0 | a0 = s1 + -0x6ac0;
0x0000a024 jalr t9 | t9 ();
0x0000a028 lw gp, 0x10(sp) | gp = *(var_10h_4);
0x0000a02c b 0x9dec | goto label_9;
| label_35:
0x0000a030 lw t9, -0x7e30(gp) | t9 = sym.imp.__strcat_chk
0x0000a034 addiu a2, zero, 0x12c | a2 = aav.0x0000012c;
| /* str.L3_proto_n */
0x0000a038 addiu a1, a1, 0x5594 | a1 += 0x5594;
0x0000a03c addiu a0, s1, -0x6ac0 | a0 = s1 + -0x6ac0;
0x0000a040 jalr t9 | t9 ();
0x0000a044 lw gp, 0x10(sp) | gp = *(var_10h_4);
0x0000a048 b 0x9de0 | goto label_10;
| label_26:
0x0000a04c lw t9, -0x7e70(gp) | t9 = sym.imp.__stack_chk_fail;
0x0000a050 jalr t9 | t9 ();
0x0000a054 nop |
0x0000a058 lui gp, 6 |
0x0000a05c addiu gp, gp, 0x72f8 |
0x0000a060 addu gp, gp, t9 | gp += t9;
0x0000a064 addiu sp, sp, -0x1b8 |
0x0000a068 sw s1, 0x1a0(sp) | *(var_1a0h) = s1;
0x0000a06c lw s1, -0x7e68(gp) | s1 = *((gp - 8090));
0x0000a070 sw s2, 0x1a4(sp) | *(var_1a4h) = s2;
0x0000a074 lw s2, 0x28(a0) | s2 = *((a0 + 10));
0x0000a078 lw v1, (s1) | v1 = *(s1);
0x0000a07c sw gp, 0x10(sp) | *(var_10h_5) = gp;
0x0000a080 slti v0, s2, 2 | v0 = (s2 < 2) ? 1 : 0;
0x0000a084 sw ra, 0x1b4(sp) | *(var_1b4h) = ra;
0x0000a088 sw s5, 0x1b0(sp) | *(var_1b0h) = s5;
0x0000a08c sw s4, 0x1ac(sp) | *(var_1ach) = s4;
0x0000a090 sw s3, 0x1a8(sp) | *(var_1a8h) = s3;
0x0000a094 sw s0, 0x19c(sp) | *(var_19ch) = s0;
0x0000a098 sw v1, 0x194(sp) | *(var_194h) = v1;
0x0000a09c lw a1, -0x7fdc(gp) | a1 = *(gp);
| if (v0 != 0) {
0x0000a0a0 bnez v0, 0xa404 | goto label_40;
| }
0x0000a0a4 lw s3, 0x2c(a0) | s3 = *((a0 + 11));
0x0000a0a8 lw t9, -0x7e40(gp) | t9 = sym.imp.strcmp;
0x0000a0ac lw s5, (s3) | s5 = *(s3);
0x0000a0b0 move s0, a0 | s0 = a0;
| /* str.rx_flow_hash */
0x0000a0b4 addiu a1, a1, 0x5414 | a1 += 0x5414;
0x0000a0b8 move a0, s5 | a0 = s5;
0x0000a0bc jalr t9 | t9 ();
0x0000a0c0 move s4, v0 | s4 = v0;
0x0000a0c4 lw gp, 0x10(sp) | gp = *(var_10h_5);
| if (v0 == 0) {
0x0000a0c8 bnez v0, 0xa13c |
0x0000a0cc addiu v0, zero, 5 | v0 = 5;
0x0000a0d0 addiu v0, zero, 3 | v0 = 3;
| if (s2 == v0) {
0x0000a0d4 beq s2, v0, 0xa290 | goto label_41;
| }
0x0000a0d8 move s2, zero | s2 = 0;
| if (s2 != v0) {
0x0000a0dc bne s2, v0, 0xa404 | goto label_40;
| }
| label_12:
0x0000a0e0 lw t9, -0x7fc4(gp) | t9 = *(gp);
0x0000a0e4 addiu t9, t9, -0x7828 | t9 += -0x7828;
0x0000a0e8 lw a0, 4(s3) | a0 = *((s3 + 1));
0x0000a0ec bal 0x87d8 | fcn_000087d8 ();
0x0000a0f0 lw gp, 0x10(sp) | gp = *(var_10h_5);
| if (v0 == 0) {
0x0000a0f4 beqz v0, 0xa404 | goto label_40;
| }
0x0000a0f8 lw a1, 8(s3) | a1 = *((s3 + 2));
0x0000a0fc lb v1, (a1) | v1 = *(a1);
0x0000a100 move a0, zero | a0 = 0;
| if (v1 == 0) {
0x0000a104 beqz v1, 0xa1f8 | goto label_42;
| }
0x0000a108 lw a2, -0x7fd0(gp) | a2 = *(gp);
0x0000a10c lui t0, 0x8000 | t0 = 0x80000000;
0x0000a110 addiu a2, a2, -0x75dc | a2 += -0x75dc;
0x0000a114 addiu v1, v1, -0x64 | v1 += -0x64;
0x0000a118 andi v1, v1, 0xff | v1 &= 0xff;
0x0000a11c sltiu a3, v1, 0x13 | a3 = (v1 < 0x13) ? 1 : 0;
0x0000a120 lw t9, -0x7fd4(gp) | t9 = *((gp - 8181));
| if (a3 == 0) {
0x0000a124 beqz a3, 0xa408 | goto label_43;
| }
0x0000a128 sll v1, v1, 2 | v1 <<= 2;
0x0000a12c lwx v1, v1(a2) | __asm ("lwx v1, v1(a2)");
0x0000a130 addu v1, v1, gp | v1 += gp;
0x0000a134 jr v1 | v1 ();
0x0000a138 nop |
| }
0x0000a13c lw a1, -0x7fdc(gp) | a1 = *(gp);
0x0000a140 lw t9, -0x7e40(gp) | t9 = sym.imp.strcmp;
| /* str.flow_type */
0x0000a144 addiu a1, a1, 0x56ac | a1 += fcn.000056ac;
0x0000a148 move a0, s5 | a0 = s5;
0x0000a14c jalr t9 | t9 ();
0x0000a150 lw gp, 0x10(sp) | gp = *(var_10h_5);
| if (v0 == 0) {
0x0000a154 beqz v0, 0xa2d8 | goto label_44;
| }
0x0000a158 lw a1, -0x7fdc(gp) | a1 = *(gp);
0x0000a15c lw t9, -0x7e40(gp) | t9 = sym.imp.strcmp;
| /* str.delete */
0x0000a160 addiu a1, a1, 0x56fc | a1 += 0x56fc;
0x0000a164 move a0, s5 | a0 = s5;
0x0000a168 jalr t9 | t9 ();
0x0000a16c move s4, v0 | s4 = v0;
0x0000a170 lw gp, 0x10(sp) | gp = *(var_10h_5);
| if (v0 != 0) {
0x0000a174 bnez v0, 0xa404 | goto label_40;
| }
0x0000a178 lw t9, -0x7fc4(gp) | t9 = *(gp);
0x0000a17c lw a0, 4(s3) | a0 = *((s3 + 1));
0x0000a180 lui a2, 0x7fff | a2 = 0x7fffffff;
0x0000a184 ori a2, a2, 0xffff |
0x0000a188 addiu t9, t9, -0x66ec | t9 += -0x66ec;
0x0000a18c move a3, zero | a3 = 0;
0x0000a190 bal 0x9914 | fcn_00009914 ();
| goto label_2;
0x0000a194 lw gp, 0x10(sp) | gp = *(var_10h_5);
0x0000a198 move a1, v0 | a1 = v0;
0x0000a19c lw t9, -0x7fb8(gp) | t9 = sym.rxclass_rule_del;
0x0000a1a0 move a0, s0 | a0 = s0;
0x0000a1a4 bal 0x12d74 | sym_rxclass_rule_del ();
0x0000a1a8 lw gp, 0x10(sp) | gp = *(var_10h_5);
| if (v0 < 0) {
0x0000a1ac bltz v0, 0xa3d8 | goto label_45;
| }
| do {
| label_11:
0x0000a1b0 lw a0, 0x194(sp) | a0 = *(var_194h);
0x0000a1b4 lw v1, (s1) | v1 = *(s1);
0x0000a1b8 move v0, s4 | v0 = s4;
| if (a0 != v1) {
0x0000a1bc bne a0, v1, 0xa648 | goto label_46;
| }
0x0000a1c0 lw ra, 0x1b4(sp) | ra = *(var_1b4h);
0x0000a1c4 lw s5, 0x1b0(sp) | s5 = *(var_1b0h);
0x0000a1c8 lw s4, 0x1ac(sp) | s4 = *(var_1ach);
0x0000a1cc lw s3, 0x1a8(sp) | s3 = *(var_1a8h);
0x0000a1d0 lw s2, 0x1a4(sp) | s2 = *(var_1a4h);
0x0000a1d4 lw s1, 0x1a0(sp) | s1 = *(var_1a0h);
0x0000a1d8 lw s0, 0x19c(sp) | s0 = *(var_19ch);
0x0000a1dc addiu sp, sp, 0x1b8 |
0x0000a1e0 jr ra | return v0;
| label_42:
0x0000a1f8 addiu v1, zero, 0x2a | v1 = 0x2a;
0x0000a1fc sw v1, 0xd0(sp) | *(var_d0h_5) = v1;
0x0000a200 sw v0, 0xd4(sp) | *(var_d4h_5) = v0;
0x0000a204 sw a0, 0xd8(sp) | *(var_d8h) = a0;
0x0000a208 sw zero, 0xdc(sp) | *(var_dch_2) = 0;
| if (s2 != 0) {
0x0000a20c beqz s2, 0xa21c |
0x0000a210 lui v1, 0x2000 | v1 = 0x20000000;
0x0000a214 or v0, v0, v1 | v0 |= v1;
0x0000a218 sw v0, 0xd4(sp) | *(var_d4h_5) = v0;
| }
0x0000a21c lw t9, -0x7e78(gp) | t9 = sym.imp.ioctl;
0x0000a220 addiu v0, sp, 0xd0 | v0 = sp + 0xd0;
0x0000a224 lw a0, 4(s0) | a0 = *((s0 + 1));
0x0000a228 sw v0, 0x18(s0) | *((s0 + 6)) = v0;
0x0000a22c addiu a2, s0, 8 | a2 = s0 + 8;
0x0000a230 ori a1, zero, 0x8946 | a1 = 0x8946;
0x0000a234 jalr t9 | t9 ();
0x0000a238 lw gp, 0x10(sp) | gp = *(var_10h_5);
0x0000a23c bgez v0, 0xa1b0 |
| } while (v0 >= 0);
0x0000a240 lw a0, -0x7fdc(gp) | a0 = *(gp);
0x0000a244 lw t9, -0x7e7c(gp) | t9 = sym.imp.perror;
| /* str.Cannot_change_RX_network_flow_hashing_options */
0x0000a248 addiu a0, a0, 0x567c | a0 += 0x567c;
0x0000a24c jalr t9 | t9 ();
0x0000a250 lw gp, 0x10(sp) | gp = *(var_10h_5);
0x0000a254 b 0xa1b0 | goto label_11;
| label_41:
0x0000a290 lw a1, -0x7fdc(gp) | a1 = *(gp);
0x0000a294 lw t9, -0x7e40(gp) | t9 = sym.imp.strcmp;
0x0000a298 lw a0, 0xc(s3) | a0 = *((s3 + 3));
| /* str.context */
0x0000a29c addiu a1, a1, 0x5168 | a1 += 0x5168;
0x0000a2a0 jalr t9 | t9 ();
0x0000a2a4 lw gp, 0x10(sp) | gp = *(var_10h_5);
| if (v0 != 0) {
0x0000a2a8 bnez v0, 0xa404 | goto label_40;
| }
0x0000a2ac lw t9, -0x7fc4(gp) | t9 = *(gp);
0x0000a2b0 lw a0, 0x10(s3) | a0 = *((s3 + 4));
0x0000a2b4 addiu a2, zero, -1 | a2 = -1;
0x0000a2b8 addiu t9, t9, -0x66ec | t9 += -0x66ec;
0x0000a2bc move a3, zero | a3 = 0;
0x0000a2c0 bal 0x9914 | fcn_00009914 ();
| goto label_2;
0x0000a2c4 sw v0, 0x188(sp) | *(var_188h_2) = v0;
0x0000a2c8 lw gp, 0x10(sp) | gp = *(var_10h_5);
0x0000a2cc lw s3, 0x2c(s0) | s3 = *((s0 + 11));
0x0000a2d0 addiu s2, zero, 1 | s2 = 1;
0x0000a2d4 b 0xa0e0 | goto label_12;
| label_44:
0x0000a2d8 lw t9, -0x7fb4(gp) | t9 = sym.rxclass_parse_ruleopts;
0x0000a2dc addiu s2, s2, -1 | s2 += -1;
0x0000a2e0 addiu s3, s3, 4 | s3 += 4;
0x0000a2e4 addiu s5, sp, 0x28 | s5 = sp + 0x28;
0x0000a2e8 sw s2, 0x28(s0) | *((s0 + 10)) = s2;
0x0000a2ec sw s3, 0x2c(s0) | *((s0 + 11)) = s3;
0x0000a2f0 addiu a2, sp, 0x1c | a2 = sp + 0x1c;
0x0000a2f4 move a1, s5 | a1 = s5;
0x0000a2f8 move a0, s0 | a0 = s0;
0x0000a2fc sw zero, 0x1c(sp) | *(var_1ch_2) = 0;
0x0000a300 bal 0x12e04 | sym_rxclass_parse_ruleopts ();
0x0000a304 lw gp, 0x10(sp) | gp = *(var_10h_5);
| if (v0 < 0) {
0x0000a308 bltz v0, 0xa404 | goto label_40;
| }
0x0000a30c lw a1, 0xc8(sp) | a1 = *(var_c8h_4);
0x0000a310 addiu v0, zero, -1 | v0 = -1;
0x0000a314 lw t9, -0x7fb0(gp) | t9 = sym.rxclass_rule_ins;
| if (a1 != v0) {
0x0000a318 bne a1, v0, 0xa394 | goto label_14;
| }
0x0000a31c lw s2, 0x28(sp) | s2 = *(var_28h_11);
0x0000a320 ext v0, s2, 0x1e, 1 | __asm ("ext v0, s2, 0x1e, 1");
0x0000a324 lui v0, 0x8000 | v0 = 0x80000000;
| if (v0 != 0) {
0x0000a328 bnez v0, 0xa394 | goto label_14;
| }
0x0000a32c lw s4, 0xc0(sp) | s4 = *(var_c0h_3);
0x0000a330 lw a0, 0xc4(sp) | a0 = *(var_c4h_5);
0x0000a334 addu v0, s4, v0 | v0 = s4 + v0;
0x0000a338 sltu v1, v0, s4 | v1 = (v0 < s4) ? 1 : 0;
0x0000a33c addiu a0, a0, -1 | a0 += -1;
0x0000a340 addu v1, v1, a0 | v1 += a0;
0x0000a344 lui v1, 0x7fff | v1 = 0x7fff0000;
| if (v1 != a1) {
0x0000a348 bne v1, a1, 0xa394 | goto label_14;
| }
0x0000a34c ori v1, v1, 0xfffe | v1 |= 0xfffe;
0x0000a350 sltu v0, v0, v1 | v0 = (v0 < v1) ? 1 : 0;
0x0000a354 lw a2, 0x1c(sp) | a2 = *(var_1ch_2);
| if (v0 != 0) {
0x0000a358 bnez v0, 0xa398 | goto label_47;
| }
0x0000a35c lw v0, 0xb4(sp) | v0 = *(var_b4h);
| if (s2 < 0) {
0x0000a360 bltz s2, 0xa3b4 | goto label_48;
| }
0x0000a364 ext s3, s2, 0, 0x1f | __asm ("ext s3, s2, 0, 0x1f");
| do {
0x0000a368 sltiu v0, s3, 0x13 | v0 = (s3 < 0x13) ? 1 : 0;
| label_13:
0x0000a36c lw t9, -0x7fb0(gp) | t9 = sym.rxclass_rule_ins;
| if (v0 != 0) {
0x0000a370 beqz v0, 0xa394 |
0x0000a374 addiu v0, zero, 1 | v0 = 1;
0x0000a378 lui v1, 4 | v1 = 0x40000;
0x0000a37c sllv v0, v0, s3 | v0 <<= s3;
0x0000a380 addiu v1, v1, 0x260e | v1 += 0x260e;
0x0000a384 and v0, v0, v1 | v0 &= v1;
0x0000a388 lw t9, -0x7ed0(gp) | t9 = sym.imp.memset;
| if (v0 != 0) {
0x0000a38c bnez v0, 0xa414 | goto label_49;
| }
| label_15:
0x0000a390 lw t9, -0x7fb0(gp) | t9 = sym.rxclass_rule_ins;
| }
| label_14:
0x0000a394 lw a2, 0x1c(sp) | a2 = *(var_1ch_2);
| label_47:
0x0000a398 move a1, s5 | a1 = s5;
0x0000a39c move a0, s0 | a0 = s0;
0x0000a3a0 bal 0x12864 | sym_rxclass_rule_ins ();
0x0000a3a4 lw gp, 0x10(sp) | gp = *(var_10h_5);
| if (v0 < 0) {
0x0000a3a8 bltz v0, 0xa5d8 | goto label_50;
| }
0x0000a3ac move s4, zero | s4 = 0;
0x0000a3b0 b 0xa1b0 | goto label_11;
| label_48:
0x0000a3b4 lw v1, 0xb8(sp) | v1 = *(var_b8h);
0x0000a3b8 or v0, v0, v1 | v0 |= v1;
0x0000a3bc ext s3, s2, 0, 0x1f | __asm ("ext s3, s2, 0, 0x1f");
0x0000a3c0 beqz v0, 0xa368 |
| } while (v0 == 0);
0x0000a3c4 lhu v0, 0xb0(sp) | v0 = *(var_b0h);
0x0000a3c8 sltiu v0, s3, 0x13 | v0 = (s3 < 0x13) ? 1 : 0;
| if (v0 == 0) {
0x0000a3cc beqz v0, 0xa36c | goto label_13;
| }
0x0000a3d0 lw t9, -0x7fb0(gp) | t9 = sym.rxclass_rule_ins;
0x0000a3d4 b 0xa394 | goto label_14;
| label_45:
0x0000a3d8 lw v0, -0x7e54(gp) | v0 = *((gp - 8085));
0x0000a3dc lw a0, -0x7fdc(gp) | a0 = *(gp);
0x0000a3e0 lw t9, -0x7e80(gp) | t9 = sym.imp.fwrite;
0x0000a3e4 lw a3, (v0) | a3 = *(v0);
0x0000a3e8 addiu a2, zero, 0x22 | a2 = 0x22;
0x0000a3ec addiu a1, zero, 1 | a1 = 1;
| /* str.Cannot_delete_classification_rule_n */
0x0000a3f0 addiu a0, a0, 0x5704 | a0 += 0x5704;
0x0000a3f4 jalr t9 | t9 ();
0x0000a3f8 addiu s4, zero, 1 | s4 = 1;
0x0000a3fc lw gp, 0x10(sp) | gp = *(var_10h_5);
0x0000a400 b 0xa1b0 | goto label_11;
| label_40:
0x0000a404 lw t9, -0x7fd4(gp) | t9 = *((gp - 8181));
| label_43:
0x0000a408 addiu t9, t9, 0x594c | t9 += fcn.0000594c;
0x0000a40c bal 0x594c | fcn_0000594c ();
0x0000a410 nop |
| label_49:
0x0000a414 addiu a2, zero, 0x78 | a2 = 0x78;
0x0000a418 addiu a1, zero, -1 | a1 = -1;
0x0000a41c addiu a0, sp, 0x110 | a0 = sp + aav.0x00000110;
0x0000a420 jalr t9 | t9 ();
0x0000a424 lw gp, 0x10(sp) | gp = *(var_10h_5);
0x0000a428 sw s2, 0xd8(sp) | *(var_d8h) = s2;
0x0000a42c sw s4, 0x180(sp) | *(var_180h) = s4;
0x0000a430 addiu v0, sp, 0x2c | v0 = sp + 0x2c;
0x0000a434 addiu v1, sp, 0xdc | v1 = sp + 0xdc;
0x0000a438 addiu t0, sp, 0x5c | t0 = sp + 0x5c;
| do {
0x0000a43c lw a3, (v0) | a3 = *(v0);
0x0000a440 lw a2, 4(v0) | a2 = *((v0 + 1));
0x0000a444 lw a1, 8(v0) | a1 = *((v0 + 2));
0x0000a448 lw a0, 0xc(v0) | a0 = *((v0 + 3));
0x0000a44c addiu v0, v0, 0x10 | v0 += 0x10;
0x0000a450 sw a3, (v1) | *(v1) = a3;
0x0000a454 sw a2, 4(v1) | *((v1 + 1)) = a2;
0x0000a458 sw a1, 8(v1) | *((v1 + 2)) = a1;
0x0000a45c sw a0, 0xc(v1) | *((v1 + 3)) = a0;
0x0000a460 addiu v1, v1, 0x10 | v1 += 0x10;
0x0000a464 bne v0, t0, 0xa43c |
| } while (v0 != t0);
0x0000a468 lw a0, (v0) | a0 = *(v0);
0x0000a46c addiu v0, sp, 0x124 | v0 = sp + 0x124;
0x0000a470 sw a0, (v1) | *(v1) = a0;
0x0000a474 addiu t1, sp, 0xa4 | t1 = sp + 0xa4;
0x0000a478 addiu v1, sp, 0x74 | v1 = sp + 0x74;
0x0000a47c move a0, v0 | a0 = v0;
| do {
0x0000a480 lw t0, (v1) | t0 = *(v1);
0x0000a484 lw a3, 4(v1) | a3 = *((v1 + 1));
0x0000a488 lw a2, 8(v1) | a2 = *((v1 + 2));
0x0000a48c lw a1, 0xc(v1) | a1 = *((v1 + 3));
0x0000a490 addiu v1, v1, 0x10 | v1 += 0x10;
0x0000a494 sw t0, (a0) | *(a0) = t0;
0x0000a498 sw a3, 4(a0) | *((a0 + 1)) = a3;
0x0000a49c sw a2, 8(a0) | *((a0 + 2)) = a2;
0x0000a4a0 sw a1, 0xc(a0) | *((a0 + 3)) = a1;
0x0000a4a4 addiu a0, a0, 0x10 | a0 += 0x10;
0x0000a4a8 bne v1, t1, 0xa480 |
| } while (v1 != t1);
0x0000a4ac lw v1, (v1) | v1 = *(v1);
0x0000a4b0 sw v1, (a0) | *(a0) = v1;
0x0000a4b4 addiu a0, sp, 0x158 | a0 = sp + 0x158;
| do {
0x0000a4b8 lbu v1, (v0) | v1 = *(v0);
0x0000a4bc addiu v0, v0, 1 | v0++;
0x0000a4c0 nor v1, zero, v1 | __asm ("nor v1, zero, v1");
0x0000a4c4 sb v1, -1(v0) | *((v0 - 1)) = v1;
0x0000a4c8 bne v0, a0, 0xa4b8 |
| } while (v0 != a0);
0x0000a4cc lhu v0, 0xb2(sp) | v0 = *(var_b2h);
| if (s2 < 0) {
0x0000a4d0 bltz s2, 0xa578 | goto label_51;
| }
| label_16:
0x0000a4d4 addiu v0, sp, 0x20 | v0 = sp + 0x20;
0x0000a4d8 lw t9, -0x7e78(gp) | t9 = sym.imp.ioctl;
0x0000a4dc sw v0, 0x18(s0) | *((s0 + 6)) = v0;
0x0000a4e0 addiu s2, s0, 8 | s2 = s0 + 8;
0x0000a4e4 addiu v0, zero, 0x25 | v0 = 0x25;
0x0000a4e8 lw a0, 4(s0) | a0 = *((s0 + 1));
0x0000a4ec sw s3, 0xd8(sp) | *(var_d8h) = s3;
0x0000a4f0 move a2, s2 | a2 = s2;
0x0000a4f4 ori a1, zero, 0x8946 | a1 = 0x8946;
0x0000a4f8 sw v0, 0x20(sp) | *(var_20h_3) = v0;
0x0000a4fc jalr t9 | t9 ();
0x0000a500 move s4, v0 | s4 = v0;
0x0000a504 lw gp, 0x10(sp) | gp = *(var_10h_5);
| if (v0 != 0) {
0x0000a508 bnez v0, 0xa390 | goto label_15;
| }
0x0000a50c lw v0, 0x24(sp) | v0 = *(var_24h_14);
0x0000a510 ext v0, v0, 0x1b, 1 | __asm ("ext v0, v0, 0x1b, 1");
0x0000a514 addiu v0, sp, 0xd0 | v0 = sp + 0xd0;
| if (v0 == 0) {
0x0000a518 beqz v0, 0xa390 | goto label_15;
| }
0x0000a51c lw t9, -0x7e78(gp) | t9 = sym.imp.ioctl;
0x0000a520 sw v0, 0x18(s0) | *((s0 + 6)) = v0;
0x0000a524 lw a0, 4(s0) | a0 = *((s0 + 1));
0x0000a528 addiu v0, zero, 0x35 | v0 = 0x35;
0x0000a52c move a2, s2 | a2 = s2;
0x0000a530 ori a1, zero, 0x8946 | a1 = 0x8946;
0x0000a534 sw v0, 0xd0(sp) | *(var_d0h_5) = v0;
0x0000a538 jalr t9 | t9 ();
0x0000a53c lw gp, 0x10(sp) | gp = *(var_10h_5);
| if (v0 >= 0) {
0x0000a540 bgez v0, 0xa1b0 | goto label_11;
| }
0x0000a544 lw t9, -0x7ed8(gp) | t9 = sym.imp.__errno_location;
0x0000a548 jalr t9 | t9 ();
0x0000a54c nop |
0x0000a550 lw v1, (v0) | v1 = *(v0);
0x0000a554 addiu v0, zero, 0x7a | v0 = 0x7a;
0x0000a558 lw gp, 0x10(sp) | gp = *(var_10h_5);
| if (v1 == v0) {
0x0000a55c beq v1, v0, 0xa390 | goto label_15;
| }
0x0000a560 lw a0, -0x7fdc(gp) | a0 = *(gp);
0x0000a564 lw t9, -0x7e7c(gp) | t9 = sym.imp.perror;
| /* str.Cannot_add_new_rule_via_N_tuple */
0x0000a568 addiu a0, a0, 0x56b8 | a0 += 0x56b8;
0x0000a56c jalr t9 | t9 ();
0x0000a570 lw gp, 0x10(sp) | gp = *(var_10h_5);
0x0000a574 b 0xa390 | goto label_15;
| label_51:
0x0000a578 lhu a0, 0x6a(sp) | a0 = *(var_6ah);
0x0000a57c wsbh v0, v0 | __asm ("wsbh v0, v0");
0x0000a580 lhu v1, 0xb0(sp) | v1 = *(var_b0h);
0x0000a584 wsbh a0, a0 | __asm ("wsbh a0, a0");
0x0000a588 nor v0, zero, v0 | __asm ("nor v0, zero, v0");
0x0000a58c sh a0, 0x16c(sp) | *(var_16ch) = a0;
0x0000a590 sh v0, 0x16e(sp) | *(var_16eh) = v0;
0x0000a594 lw a0, 0xb4(sp) | a0 = *(var_b4h);
0x0000a598 lw v0, 0xb8(sp) | v0 = *(var_b8h);
| if (v1 == 0) {
0x0000a59c beqz v1, 0xa604 | goto label_52;
| }
0x0000a5a0 or v0, v0, a0 | v0 |= a0;
0x0000a5a4 lhu v0, 0x68(sp) | v0 = *(var_68h_9);
| if (v0 != 0) {
0x0000a5a8 bnez v0, 0xa390 | goto label_15;
| }
0x0000a5ac wsbh v1, v1 | __asm ("wsbh v1, v1");
0x0000a5b0 wsbh v0, v0 | __asm ("wsbh v0, v0");
0x0000a5b4 rotr v0, v0, 0x10 | __asm ("rotr v0, v0, 0x10");
0x0000a5b8 rotr v1, v1, 0x10 | __asm ("rotr v1, v1, 0x10");
0x0000a5bc nor v1, zero, v1 | __asm ("nor v1, zero, v1");
0x0000a5c0 sw v0, 0x170(sp) | *(var_170h) = v0;
0x0000a5c4 addiu v0, zero, -1 | v0 = -1;
0x0000a5c8 sw zero, 0x174(sp) | *(var_174h) = 0;
0x0000a5cc sw v1, 0x178(sp) | *(var_178h) = v1;
0x0000a5d0 sw v0, 0x17c(sp) | *(var_17ch) = v0;
0x0000a5d4 b 0xa4d4 | goto label_16;
| label_50:
0x0000a5d8 lw v0, -0x7e54(gp) | v0 = *((gp - 8085));
0x0000a5dc lw a0, -0x7fdc(gp) | a0 = *(gp);
0x0000a5e0 lw t9, -0x7e80(gp) | t9 = sym.imp.fwrite;
0x0000a5e4 lw a3, (v0) | a3 = *(v0);
0x0000a5e8 addiu a2, zero, 0x22 | a2 = 0x22;
0x0000a5ec addiu a1, zero, 1 | a1 = 1;
| /* str.Cannot_insert_classification_rule_n */
0x0000a5f0 addiu a0, a0, 0x56d8 | a0 += 0x56d8;
0x0000a5f4 jalr t9 | t9 ();
0x0000a5f8 addiu s4, zero, 1 | s4 = 1;
0x0000a5fc lw gp, 0x10(sp) | gp = *(var_10h_5);
0x0000a600 b 0xa1b0 | goto label_11;
| label_52:
0x0000a604 nor v1, zero, a0 | __asm ("nor v1, zero, a0");
0x0000a608 lw a1, 0x70(sp) | a1 = *(var_70h);
0x0000a60c lw a0, 0x6c(sp) | a0 = *(var_6ch);
0x0000a610 nor v0, zero, v0 | __asm ("nor v0, zero, v0");
0x0000a614 wsbh a0, a0 | __asm ("wsbh a0, a0");
0x0000a618 wsbh a1, a1 | __asm ("wsbh a1, a1");
0x0000a61c wsbh v1, v1 | __asm ("wsbh v1, v1");
0x0000a620 wsbh v0, v0 | __asm ("wsbh v0, v0");
0x0000a624 rotr a0, a0, 0x10 | __asm ("rotr a0, a0, 0x10");
0x0000a628 rotr a1, a1, 0x10 | __asm ("rotr a1, a1, 0x10");
0x0000a62c rotr v1, v1, 0x10 | __asm ("rotr v1, v1, 0x10");
0x0000a630 rotr v0, v0, 0x10 | __asm ("rotr v0, v0, 0x10");
0x0000a634 sw a1, 0x170(sp) | *(var_170h) = a1;
0x0000a638 sw a0, 0x174(sp) | *(var_174h) = a0;
0x0000a63c sw v0, 0x178(sp) | *(var_178h) = v0;
0x0000a640 sw v1, 0x17c(sp) | *(var_17ch) = v1;
0x0000a644 b 0xa4d4 | goto label_16;
| label_46:
0x0000a648 lw t9, -0x7e70(gp) | t9 = sym.imp.__stack_chk_fail;
0x0000a64c jalr t9 | t9 ();
0x0000a650 nop |
0x0000a654 lui gp, 6 |
0x0000a658 addiu gp, gp, 0x6cfc |
0x0000a65c addu gp, gp, t9 | gp += t9;
0x0000a660 addiu sp, sp, -0x40 |
0x0000a664 addiu v0, zero, 1 | v0 = 1;
0x0000a668 sw s2, 0x38(sp) | *(var_38h_3) = s2;
0x0000a66c lw s2, -0x7e68(gp) | s2 = *((gp - 8090));
0x0000a670 sw s1, 0x34(sp) | *(var_34h_3) = s1;
0x0000a674 lw s1, 0x28(a0) | s1 = *((a0 + 10));
0x0000a678 lw v1, (s2) | v1 = *(s2);
0x0000a67c sw gp, 0x10(sp) | *(var_10h_6) = gp;
0x0000a680 sw ra, 0x3c(sp) | *(var_3ch_3) = ra;
0x0000a684 sw s0, 0x30(sp) | *(var_30h_2) = s0;
0x0000a688 sw v1, 0x2c(sp) | *(var_2ch_4) = v1;
0x0000a68c lw t9, -0x7fc4(gp) | t9 = *(gp);
| if (s1 != v0) {
0x0000a690 bne s1, v0, 0xa734 | goto label_53;
| }
0x0000a694 lw v0, 0x2c(a0) | v0 = *((a0 + 11));
0x0000a698 move s0, a0 | s0 = a0;
0x0000a69c lw a0, (v0) | a0 = *(v0);
0x0000a6a0 addiu a2, zero, -1 | a2 = -1;
0x0000a6a4 addiu t9, t9, -0x66ec | t9 += -0x66ec;
0x0000a6a8 move a3, zero | a3 = 0;
0x0000a6ac bal 0x9914 | fcn_00009914 ();
| goto label_2;
0x0000a6b0 lw gp, 0x10(sp) | gp = *(var_10h_6);
0x0000a6b4 addiu v1, sp, 0x1c | v1 = sp + 0x1c;
0x0000a6b8 sw v1, 0x18(s0) | *((s0 + 6)) = v1;
0x0000a6bc lw t9, -0x7e78(gp) | t9 = sym.imp.ioctl;
0x0000a6c0 addiu v1, zero, 0x3e | v1 = 0x3e;
0x0000a6c4 lw a0, 4(s0) | a0 = *((s0 + 1));
0x0000a6c8 addiu a2, s0, 8 | a2 = s0 + 8;
0x0000a6cc ori a1, zero, 0x8946 | a1 = 0x8946;
0x0000a6d0 sw v1, 0x1c(sp) | *(var_1ch_3) = v1;
0x0000a6d4 sw v0, 0x24(sp) | *(var_24h_13) = v0;
0x0000a6d8 jalr t9 | t9 ();
0x0000a6dc lw gp, 0x10(sp) | gp = *(var_10h_6);
| if (v0 < 0) {
0x0000a6e0 bltz v0, 0xa710 | goto label_54;
| }
0x0000a6e4 move s1, zero | s1 = 0;
| do {
0x0000a6e8 lw a0, 0x2c(sp) | a0 = *(var_2ch_4);
0x0000a6ec lw v1, (s2) | v1 = *(s2);
0x0000a6f0 move v0, s1 | v0 = s1;
| if (a0 != v1) {
0x0000a6f4 bne a0, v1, 0xa728 | goto label_55;
| }
0x0000a6f8 lw ra, 0x3c(sp) | ra = *(var_3ch_3);
0x0000a6fc lw s2, 0x38(sp) | s2 = *(var_38h_3);
0x0000a700 lw s1, 0x34(sp) | s1 = *(var_34h_3);
0x0000a704 lw s0, 0x30(sp) | s0 = *(var_30h_2);
0x0000a708 addiu sp, sp, 0x40 |
0x0000a70c jr ra | return v0;
| label_54:
0x0000a710 lw a0, -0x7fdc(gp) | a0 = *(gp);
0x0000a714 lw t9, -0x7e7c(gp) | t9 = sym.imp.perror;
| /* str.Can_not_set_dump_level_n */
0x0000a718 addiu a0, a0, 0x5728 | a0 += 0x5728;
0x0000a71c jalr t9 | t9 ();
0x0000a720 lw gp, 0x10(sp) | gp = *(var_10h_6);
0x0000a724 b 0xa6e8 |
| } while (1);
| label_55:
0x0000a728 lw t9, -0x7e70(gp) | t9 = sym.imp.__stack_chk_fail;
0x0000a72c jalr t9 | t9 ();
0x0000a730 nop |
| label_53:
0x0000a734 lw t9, -0x7fd4(gp) | t9 = *((gp - 8181));
0x0000a738 addiu t9, t9, 0x594c | t9 += fcn.0000594c;
0x0000a73c bal 0x594c | fcn_0000594c ();
0x0000a740 nop |
| }
[*] Function strcat used 8 times ethtool