[*] Binary protection state of wsdd
Full RELRO Canary found NX disabled PIE enabled No RPATH No RUNPATH No Symbols
[*] Function strcat tear down of wsdd
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/wsdd @ 0x88d8 */
| #include <stdint.h>
|
; (fcn) fcn.000088d8 () | void fcn_000088d8 () {
0x000088d8 lui gp, 4 |
0x000088dc addiu gp, gp, -0x77f8 |
0x000088e0 addu gp, gp, t9 | gp += t9;
0x000088e4 lw v0, -0x774c(gp) | v0 = *((gp - 7635));
0x000088e8 addiu sp, sp, -0x180 |
0x000088ec lw t9, -0x79ac(gp) | t9 = sym.imp.soap_new;
0x000088f0 sw v0, 0x28(sp) | *(var_28h) = v0;
0x000088f4 lw v0, (v0) | v0 = *(v0);
0x000088f8 sw gp, 0x18(sp) | *(var_18h) = gp;
0x000088fc sw s2, 0x160(sp) | *(var_160h) = s2;
0x00008900 sw ra, 0x17c(sp) | *(var_17ch) = ra;
0x00008904 sw fp, 0x178(sp) | *(var_178h) = fp;
0x00008908 sw s7, 0x174(sp) | *(var_174h) = s7;
0x0000890c sw s6, 0x170(sp) | *(var_170h) = s6;
0x00008910 sw s5, 0x16c(sp) | *(var_16ch) = s5;
0x00008914 sw s4, 0x168(sp) | *(var_168h) = s4;
0x00008918 sw s3, 0x164(sp) | *(var_164h) = s3;
0x0000891c sw s1, 0x15c(sp) | *(var_15ch) = s1;
0x00008920 sw s0, 0x158(sp) | *(var_158h) = s0;
0x00008924 sw v0, 0x154(sp) | *(var_154h) = v0;
0x00008928 move s2, a0 | s2 = a0;
0x0000892c jalr t9 | t9 ();
0x00008930 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00008934 beqz v0, 0x9018 | goto label_7;
| }
0x00008938 lw t9, -0x7a2c(gp) | t9 = sym.imp.soap_init1;
0x0000893c move a0, v0 | a0 = v0;
0x00008940 addiu a1, zero, 4 | a1 = 4;
0x00008944 move s3, v0 | s3 = v0;
0x00008948 jalr t9 | t9 ();
0x0000894c lw gp, 0x18(sp) | gp = *(var_18h);
0x00008950 move a2, zero | a2 = 0;
0x00008954 lw t9, -0x7974(gp) | t9 = sym.imp.soap_register_plugin_arg;
0x00008958 lw a1, -0x7fac(gp) | a1 = sym.soap_wsa;
0x0000895c move a0, s3 | a0 = s3;
0x00008960 jalr t9 | t9 ();
0x00008964 lw gp, 0x18(sp) | gp = *(var_18h);
0x00008968 addiu v0, zero, 4 | v0 = 4;
0x0000896c sw v0, 0x48(s3) | *((s3 + 18)) = v0;
0x00008970 lw t9, -0x77f0(gp) | t9 = sym.imp.soap_set_namespaces;
0x00008974 lw a1, -0x7fa8(gp) | a1 = *(gp);
0x00008978 move a0, s3 | a0 = s3;
0x0000897c jalr t9 | t9 ();
0x00008980 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00008984 bnez v0, 0x8fc8 | goto label_8;
| }
0x00008988 lw t9, -0x78d8(gp) | t9 = sym.imp.strchr;
0x0000898c addiu a1, zero, 0x3a | a1 = 0x3a;
0x00008990 move a0, s2 | a0 = s2;
0x00008994 jalr t9 | t9 ();
0x00008998 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0000899c beqz v0, 0x8ba0 | goto label_9;
| }
0x000089a0 lw t9, -0x7968(gp) | t9 = sym.imp.inet_pton;
0x000089a4 addiu a2, sp, 0x40 | a2 = sp + 0x40;
0x000089a8 move a1, s2 | a1 = s2;
0x000089ac addiu a0, zero, 0xa | a0 = 0xa;
0x000089b0 jalr t9 | t9 ();
0x000089b4 lw gp, 0x18(sp) | gp = *(var_18h);
0x000089b8 lw t9, -0x77e0(gp) | t9 = sym.imp.strlen;
0x000089bc move a0, s2 | a0 = s2;
0x000089c0 jalr t9 | t9 ();
0x000089c4 lw gp, 0x18(sp) | gp = *(var_18h);
0x000089c8 lw t9, -0x7858(gp) | t9 = sym.imp.g_malloc;
0x000089cc addiu a0, v0, 0x12 | a0 = v0 + 0x12;
0x000089d0 jalr t9 | t9 ();
0x000089d4 lw gp, 0x18(sp) | gp = *(var_18h);
0x000089d8 move a0, v0 | a0 = v0;
0x000089dc move a1, s2 | a1 = s2;
0x000089e0 lw t9, -0x79f4(gp) | t9 = sym.imp.stpcpy;
0x000089e4 move s0, v0 | s0 = v0;
0x000089e8 jalr t9 | t9 ();
0x000089ec lbu a0, 0x40(sp) | a0 = *(var_40h);
0x000089f0 addiu v1, zero, 0xff | v1 = 0xff;
0x000089f4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (a0 == v1) {
0x000089f8 beq a0, v1, 0x8b64 | goto label_10;
| }
0x000089fc lw v1, 0x40(sp) | v1 = *(var_40h);
0x00008a00 ori a0, zero, 0x80fe | a0 = 0x80fe;
0x00008a04 andi v1, v1, 0xc0ff | v1 &= 0xc0ff;
0x00008a08 lw t9, -0x7fa4(gp) | t9 = sym.config_get_active_interface;
0x00008a0c beq v1, a0, 0x8b68 |
| while (1) {
| label_3:
0x00008a10 lw t9, -0x7af4(gp) | t9 = sym.imp.soap_bind;
0x00008a14 addiu a3, zero, 0x64 | a3 = 0x64;
0x00008a18 addiu a2, zero, 0xe76 | a2 = 0xe76;
0x00008a1c move a1, s0 | a1 = s0;
0x00008a20 move a0, s3 | a0 = s3;
0x00008a24 jalr t9 | t9 ();
0x00008a28 lw gp, 0x18(sp) | gp = *(var_18h);
0x00008a2c move a0, s0 | a0 = s0;
0x00008a30 lw t9, -0x7958(gp) | t9 = *((gp - 7766));
0x00008a34 move s4, v0 | s4 = v0;
0x00008a38 jalr t9 | t9 ();
0x00008a3c addiu v0, zero, -1 | v0 = -1;
0x00008a40 lw gp, 0x18(sp) | gp = *(var_18h);
| if (s4 == v0) {
0x00008a44 beq s4, v0, 0x8bc8 | goto label_11;
| }
| label_0:
0x00008a48 lw t9, -0x7a70(gp) | t9 = sym.imp.g_malloc0;
0x00008a4c addiu a0, zero, 0x38 | a0 = 0x38;
0x00008a50 jalr t9 | t9 ();
0x00008a54 lw gp, 0x18(sp) | gp = *(var_18h);
0x00008a58 addiu a2, zero, 0x2e | a2 = 0x2e;
0x00008a5c move a1, s2 | a1 = s2;
0x00008a60 lw t9, -0x78a4(gp) | t9 = sym.imp.__strcpy_chk;
0x00008a64 move a0, v0 | a0 = v0;
0x00008a68 lw s0, -0x7fd0(gp) | s0 = *((gp - 8180));
0x00008a6c move s6, v0 | s6 = v0;
0x00008a70 jalr t9 | t9 ();
0x00008a74 lw gp, 0x18(sp) | gp = *(var_18h);
0x00008a78 lw a0, -0x65a4(s0) | a0 = *((s0 - 6505));
0x00008a7c move a1, s6 | a1 = s6;
0x00008a80 lw t9, -0x7748(gp) | t9 = sym.imp.g_slist_prepend;
0x00008a84 sw s3, 0x30(s6) | *((s6 + 12)) = s3;
0x00008a88 jalr t9 | t9 ();
0x00008a8c lw gp, 0x18(sp) | gp = *(var_18h);
0x00008a90 addiu a0, zero, 4 | a0 = 4;
0x00008a94 sw v0, -0x65a4(s0) | *((s0 - 6505)) = v0;
0x00008a98 lw s1, -0x7fdc(gp) | s1 = *(gp);
0x00008a9c lw t9, -0x7858(gp) | t9 = sym.imp.g_malloc;
0x00008aa0 sw s1, 0x2c(sp) | *(var_2ch) = s1;
0x00008aa4 jalr t9 | t9 ();
0x00008aa8 lw gp, 0x18(sp) | gp = *(var_18h);
| /* str.239.255.255.250 */
0x00008aac addiu a0, s1, 0x6134 | a0 = s1 + 0x6134;
0x00008ab0 sw v0, 0x2fbc(s3) | *(s3) = v0;
0x00008ab4 lw t9, -0x7844(gp) | t9 = sym.imp.strcmp;
0x00008ab8 move a1, s2 | a1 = s2;
0x00008abc move s0, v0 | s0 = v0;
0x00008ac0 jalr t9 | t9 ();
0x00008ac4 move s1, v0 | s1 = v0;
0x00008ac8 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00008acc beqz v0, 0x8c50 | goto label_12;
| }
0x00008ad0 lw v0, -0x7fdc(gp) | v0 = *(gp);
0x00008ad4 lw t9, -0x7844(gp) | t9 = sym.imp.strcmp;
0x00008ad8 sw v0, 0x2c(sp) | *(var_2ch) = v0;
0x00008adc move a1, s2 | a1 = s2;
| /* str.FF02::C */
0x00008ae0 addiu a0, v0, 0x61e8 | a0 = v0 + 0x61e8;
0x00008ae4 jalr t9 | t9 ();
0x00008ae8 move s1, v0 | s1 = v0;
0x00008aec lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00008af0 beqz v0, 0x8d58 | goto label_13;
| }
0x00008af4 sw zero, (s0) | *(s0) = 0;
| label_2:
0x00008af8 lw a1, -0x7fb4(gp) | a1 = *(gp);
0x00008afc lui v0, 0xfffe | v0 = 0xfffe0000;
0x00008b00 lw t9, -0x7fc4(gp) | t9 = sym.common_io_channel_init;
0x00008b04 addiu v0, v0, 0x7960 | v0 += 0x7960;
0x00008b08 sw v0, 0x30(s3) | *((s3 + 12)) = v0;
0x00008b0c move a2, s6 | a2 = s6;
0x00008b10 addiu a1, a1, -0x7b58 | a1 += -0x7b58;
0x00008b14 move a0, s4 | a0 = s4;
0x00008b18 bal 0xd0e4 | sym_common_io_channel_init ();
0x00008b1c lw gp, 0x18(sp) | gp = *(var_18h);
0x00008b20 sw v0, 0x34(s6) | *((s6 + 13)) = v0;
| label_1:
0x00008b24 lw v0, 0x28(sp) | v0 = *(var_28h);
0x00008b28 lw v1, 0x154(sp) | v1 = *(var_154h);
0x00008b2c lw v0, (v0) | v0 = *(v0);
0x00008b30 lw ra, 0x17c(sp) | ra = *(var_17ch);
| if (v1 != v0) {
0x00008b34 bne v1, v0, 0x8fbc | goto label_14;
| }
0x00008b38 lw fp, 0x178(sp) | fp = *(var_178h);
0x00008b3c lw s7, 0x174(sp) | s7 = *(var_174h);
0x00008b40 lw s6, 0x170(sp) | s6 = *(var_170h);
0x00008b44 lw s5, 0x16c(sp) | s5 = *(var_16ch);
0x00008b48 lw s4, 0x168(sp) | s4 = *(var_168h);
0x00008b4c lw s3, 0x164(sp) | s3 = *(var_164h);
0x00008b50 lw s2, 0x160(sp) | s2 = *(var_160h);
0x00008b54 lw s1, 0x15c(sp) | s1 = *(var_15ch);
0x00008b58 lw s0, 0x158(sp) | s0 = *(var_158h);
0x00008b5c addiu sp, sp, 0x180 |
0x00008b60 jr ra | return v0;
| label_10:
0x00008b64 lw t9, -0x7fa4(gp) | t9 = sym.config_get_active_interface;
0x00008b68 addiu v1, zero, 0x25 | v1 = 0x25;
0x00008b6c addiu s1, sp, 0x54 | s1 = sp + 0x54;
0x00008b70 sb v1, (v0) | *(v0) = v1;
0x00008b74 sb zero, 1(v0) | *((v0 + 1)) = 0;
0x00008b78 move a0, s1 | a0 = s1;
0x00008b7c bal 0xb82c | sym_config_get_active_interface ();
0x00008b80 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00008b84 beqz v0, 0x8e68 | goto label_15;
| }
0x00008b88 lw t9, -0x76e0(gp) | t9 = sym.imp.strcat
0x00008b8c move a1, s1 | a1 = s1;
0x00008b90 move a0, s0 | a0 = s0;
0x00008b94 jalr t9 | t9 ();
0x00008b98 lw gp, 0x18(sp) | gp = *(var_18h);
0x00008b9c b 0x8a10 |
| }
| label_9:
0x00008ba0 lw t9, -0x7af4(gp) | t9 = sym.imp.soap_bind;
0x00008ba4 addiu a3, zero, 0x64 | a3 = 0x64;
0x00008ba8 addiu a2, zero, 0xe76 | a2 = 0xe76;
0x00008bac move a1, s2 | a1 = s2;
0x00008bb0 move a0, s3 | a0 = s3;
0x00008bb4 jalr t9 | t9 ();
0x00008bb8 move s4, v0 | s4 = v0;
0x00008bbc addiu v0, zero, -1 | v0 = -1;
0x00008bc0 lw gp, 0x18(sp) | gp = *(var_18h);
| if (s4 != v0) {
0x00008bc4 bne s4, v0, 0x8a48 | goto label_0;
| }
| label_11:
0x00008bc8 lw t9, -0x781c(gp) | t9 = sym.imp.soap_sprint_fault;
0x00008bcc addiu s0, sp, 0x54 | s0 = sp + 0x54;
0x00008bd0 addiu a2, zero, 0x100 | a2 = aav.0x00000100;
0x00008bd4 move a1, s0 | a1 = s0;
0x00008bd8 move a0, s3 | a0 = s3;
0x00008bdc jalr t9 | t9 ();
0x00008be0 lw gp, 0x18(sp) | gp = *(var_18h);
0x00008be4 move a0, s0 | a0 = s0;
0x00008be8 lw a1, -0x7fdc(gp) | a1 = *(gp);
0x00008bec lw t9, -0x7720(gp) | t9 = sym.imp.strstr;
| /* str.bind_failed_in_soap_bind__ */
0x00008bf0 addiu a1, a1, 0x6100 | a1 += 0x6100;
0x00008bf4 jalr t9 | t9 ();
0x00008bf8 lw gp, 0x18(sp) | gp = *(var_18h);
0x00008bfc sw s2, 0x14(sp) | *(var_14h) = s2;
0x00008c00 sw s0, 0x10(sp) | *(var_10h) = s0;
0x00008c04 lw a3, -0x7fdc(gp) | a3 = *(gp);
0x00008c08 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x00008c0c lw t9, -0x77a4(gp) | t9 = sym.imp.g_log;
0x00008c10 addiu a3, a3, 0x734c | a3 += 0x734c;
| /* str._s_s._Address_was:__s */
0x00008c14 addiu a2, a2, 0x611c | a2 += 0x611c;
| if (v0 == 0) {
0x00008c18 beqz v0, 0x8e90 | goto label_16;
| }
0x00008c1c addiu a1, zero, 0x40 | a1 = 0x40;
0x00008c20 move a0, zero | a0 = 0;
0x00008c24 jalr t9 | t9 ();
0x00008c28 lw gp, 0x18(sp) | gp = *(var_18h);
| label_4:
0x00008c2c lw t9, -0x780c(gp) | t9 = sym.imp.soap_end;
0x00008c30 move a0, s3 | a0 = s3;
0x00008c34 jalr t9 | t9 ();
0x00008c38 lw gp, 0x18(sp) | gp = *(var_18h);
0x00008c3c lw t9, -0x7984(gp) | t9 = sym.imp.soap_free;
0x00008c40 move a0, s3 | a0 = s3;
0x00008c44 jalr t9 | t9 ();
0x00008c48 lw gp, 0x18(sp) | gp = *(var_18h);
0x00008c4c b 0x8b24 | goto label_1;
| label_12:
0x00008c50 lw t9, -0x7fa0(gp) | t9 = sym.config_get_service_if;
0x00008c54 bal 0xb4bc | sym_config_get_service_if ();
0x00008c58 nop |
0x00008c5c lw v1, 0x2fbc(s3) | v1 = *(s3);
0x00008c60 move s5, v0 | s5 = v0;
0x00008c64 addiu v0, zero, 1 | v0 = 1;
0x00008c68 lw gp, 0x18(sp) | gp = *(var_18h);
0x00008c6c sw v0, (v1) | *(v1) = v0;
0x00008c70 lw v0, 4(s5) | v0 = *((s5 + 1));
0x00008c74 lw v0, -0x7fdc(gp) | v0 = *(gp);
| if (v0 == 0) {
0x00008c78 beqz v0, 0x8d44 | goto label_17;
| }
0x00008c7c addiu fp, sp, 0x34 | fp = sp + 0x34;
0x00008c80 addiu v0, v0, 0x734c | v0 += 0x734c;
0x00008c84 sw v0, 0x20(sp) | *(var_20h) = v0;
0x00008c88 lw v0, -0x7fdc(gp) | v0 = *(gp);
0x00008c8c addiu s7, zero, 0xc | s7 = 0xc;
| /* str._sTried_to_join_group__s_twice_on_interface__d */
0x00008c90 addiu v0, v0, 0x6190 | v0 += 0x6190;
0x00008c94 sw v0, 0x24(sp) | *(var_24h) = v0;
0x00008c98 lw v0, (s5) | v0 = *(s5);
| do {
0x00008c9c sll s0, s1, 2 | s0 = s1 << 2;
0x00008ca0 lw t9, -0x7968(gp) | t9 = sym.imp.inet_pton;
0x00008ca4 lwx s0, s0(v0) | __asm ("lwx s0, s0(v0)");
0x00008ca8 move a2, fp | a2 = fp;
0x00008cac sw zero, 4(fp) | *(var_4h) = 0;
0x00008cb0 sw zero, (fp) | *(fp) = 0;
0x00008cb4 move a1, s2 | a1 = s2;
0x00008cb8 addiu a0, zero, 2 | a0 = 2;
0x00008cbc sw s0, 0x3c(sp) | *(var_3ch) = s0;
0x00008cc0 jalr t9 | t9 ();
0x00008cc4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00008cc8 beqz v0, 0x8ea4 | goto label_18;
| }
0x00008ccc lw t9, -0x7734(gp) | t9 = sym.imp.setsockopt;
0x00008cd0 sw s7, 0x10(sp) | *(var_10h) = s7;
0x00008cd4 move a3, fp | a3 = fp;
0x00008cd8 addiu a2, zero, 0x23 | a2 = 0x23;
0x00008cdc move a1, zero | a1 = 0;
0x00008ce0 move a0, s4 | a0 = s4;
0x00008ce4 jalr t9 | t9 ();
0x00008ce8 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00008cec beqz v0, 0x8d30 |
0x00008cf0 lw t9, -0x7874(gp) | t9 = sym.imp.__errno_location;
0x00008cf4 jalr t9 | t9 ();
0x00008cf8 nop |
0x00008cfc lw a0, (v0) | a0 = *(v0);
0x00008d00 addiu v0, zero, 0x7d | v0 = 0x7d;
0x00008d04 lw gp, 0x18(sp) | gp = *(var_18h);
| if (a0 != v0) {
0x00008d08 bne a0, v0, 0x8f24 | goto label_19;
| }
0x00008d0c lw t9, -0x77a4(gp) | t9 = sym.imp.g_log;
0x00008d10 lw a3, 0x20(sp) | a3 = *(var_20h);
0x00008d14 lw a2, 0x24(sp) | a2 = *(var_24h);
0x00008d18 sw s0, 0x14(sp) | *(var_14h) = s0;
0x00008d1c sw s2, 0x10(sp) | *(var_10h) = s2;
0x00008d20 addiu a1, zero, 0x10 | a1 = 0x10;
0x00008d24 move a0, zero | a0 = 0;
0x00008d28 jalr t9 | t9 ();
0x00008d2c lw gp, 0x18(sp) | gp = *(var_18h);
| }
0x00008d30 lw v0, 4(s5) | v0 = *((s5 + 1));
0x00008d34 addiu s1, s1, 1 | s1++;
0x00008d38 sltu v0, s1, v0 | v0 = (s1 < v0) ? 1 : 0;
0x00008d3c lw v0, (s5) | v0 = *(s5);
0x00008d40 bnel v0, zero, 0x8c9c |
| } while (v0 == 0);
| do {
| label_17:
0x00008d44 lw t9, -0x7a10(gp) | t9 = sym.imp.g_array_unref;
0x00008d48 move a0, s5 | a0 = s5;
0x00008d4c jalr t9 | t9 ();
0x00008d50 lw gp, 0x18(sp) | gp = *(var_18h);
0x00008d54 b 0x8af8 | goto label_2;
| label_13:
0x00008d58 lw t9, -0x7fa0(gp) | t9 = sym.config_get_service_if;
0x00008d5c bal 0xb4bc | sym_config_get_service_if ();
0x00008d60 nop |
0x00008d64 lw v1, 0x2fbc(s3) | v1 = *(s3);
0x00008d68 move s5, v0 | s5 = v0;
0x00008d6c addiu v0, zero, 1 | v0 = 1;
0x00008d70 lw gp, 0x18(sp) | gp = *(var_18h);
0x00008d74 sw v0, (v1) | *(v1) = v0;
0x00008d78 lw v0, 4(s5) | v0 = *((s5 + 1));
0x00008d7c lw v0, -0x7fdc(gp) | v0 = *(gp);
0x00008d80 beqz v0, 0x8d44 |
| } while (v0 == 0);
0x00008d84 addiu fp, sp, 0x40 | fp = sp + 0x40;
0x00008d88 addiu v0, v0, 0x734c | v0 += 0x734c;
0x00008d8c sw v0, 0x20(sp) | *(var_20h) = v0;
0x00008d90 lw v0, -0x7fdc(gp) | v0 = *(gp);
0x00008d94 addiu s7, zero, 0x14 | s7 = 0x14;
| /* str._sTried_to_join_group__s_twice_on_interface__d */
0x00008d98 addiu v0, v0, 0x6190 | v0 += 0x6190;
0x00008d9c sw v0, 0x24(sp) | *(var_24h) = v0;
0x00008da0 lw v0, (s5) | v0 = *(s5);
| do {
0x00008da4 sll s0, s1, 2 | s0 = s1 << 2;
0x00008da8 lw t9, -0x7968(gp) | t9 = sym.imp.inet_pton;
0x00008dac lwx s0, s0(v0) | __asm ("lwx s0, s0(v0)");
0x00008db0 move a2, fp | a2 = fp;
0x00008db4 sw zero, (fp) | *(fp) = 0;
0x00008db8 sw zero, 4(fp) | *(var_4h_2) = 0;
0x00008dbc sw zero, 8(fp) | *(var_8h) = 0;
0x00008dc0 sw zero, 0xc(fp) | *(var_ch) = 0;
0x00008dc4 move a1, s2 | a1 = s2;
0x00008dc8 addiu a0, zero, 0xa | a0 = 0xa;
0x00008dcc sw s0, 0x50(sp) | *(var_50h) = s0;
0x00008dd0 jalr t9 | t9 ();
0x00008dd4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00008dd8 beqz v0, 0x8f60 | goto label_20;
| }
0x00008ddc lw t9, -0x7734(gp) | t9 = sym.imp.setsockopt;
0x00008de0 sw s7, 0x10(sp) | *(var_10h) = s7;
0x00008de4 move a3, fp | a3 = fp;
0x00008de8 addiu a2, zero, 0x14 | a2 = 0x14;
0x00008dec addiu a1, zero, 0x29 | a1 = 0x29;
0x00008df0 move a0, s4 | a0 = s4;
0x00008df4 jalr t9 | t9 ();
0x00008df8 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00008dfc beqz v0, 0x8e40 |
0x00008e00 lw t9, -0x7874(gp) | t9 = sym.imp.__errno_location;
0x00008e04 jalr t9 | t9 ();
0x00008e08 nop |
0x00008e0c lw a0, (v0) | a0 = *(v0);
0x00008e10 addiu v0, zero, 0x7d | v0 = 0x7d;
0x00008e14 lw gp, 0x18(sp) | gp = *(var_18h);
| if (a0 != v0) {
0x00008e18 bne a0, v0, 0x8f94 | goto label_21;
| }
0x00008e1c lw t9, -0x77a4(gp) | t9 = sym.imp.g_log;
0x00008e20 lw a3, 0x20(sp) | a3 = *(var_20h);
0x00008e24 lw a2, 0x24(sp) | a2 = *(var_24h);
0x00008e28 sw s0, 0x14(sp) | *(var_14h) = s0;
0x00008e2c sw s2, 0x10(sp) | *(var_10h) = s2;
0x00008e30 addiu a1, zero, 0x10 | a1 = 0x10;
0x00008e34 move a0, zero | a0 = 0;
0x00008e38 jalr t9 | t9 ();
0x00008e3c lw gp, 0x18(sp) | gp = *(var_18h);
| }
0x00008e40 lw v0, 4(s5) | v0 = *((s5 + 1));
0x00008e44 addiu s1, s1, 1 | s1++;
0x00008e48 sltu v0, s1, v0 | v0 = (s1 < v0) ? 1 : 0;
0x00008e4c lw v0, (s5) | v0 = *(s5);
0x00008e50 bnel v0, zero, 0x8da4 |
| } while (v0 == 0);
0x00008e54 lw t9, -0x7a10(gp) | t9 = sym.imp.g_array_unref;
0x00008e58 move a0, s5 | a0 = s5;
0x00008e5c jalr t9 | t9 ();
0x00008e60 lw gp, 0x18(sp) | gp = *(var_18h);
0x00008e64 b 0x8af8 | goto label_2;
| label_15:
0x00008e68 lw a3, -0x7fdc(gp) | a3 = *(gp);
0x00008e6c lw a2, -0x7fdc(gp) | a2 = *(gp);
0x00008e70 lw t9, -0x77a4(gp) | t9 = sym.imp.g_log;
0x00008e74 addiu a3, a3, 0x734c | a3 += 0x734c;
| /* str._sFailed_to_get_active_interface */
0x00008e78 addiu a2, a2, 0x60dc | a2 += 0x60dc;
0x00008e7c addiu a1, zero, 0x10 | a1 = 0x10;
0x00008e80 move a0, zero | a0 = 0;
0x00008e84 jalr t9 | t9 ();
0x00008e88 lw gp, 0x18(sp) | gp = *(var_18h);
0x00008e8c b 0x8a10 | goto label_3;
| label_16:
0x00008e90 addiu a1, zero, 0x10 | a1 = 0x10;
0x00008e94 move a0, zero | a0 = 0;
0x00008e98 jalr t9 | t9 ();
0x00008e9c lw gp, 0x18(sp) | gp = *(var_18h);
0x00008ea0 b 0x8c2c | goto label_4;
| label_18:
0x00008ea4 lw t9, -0x7874(gp) | t9 = sym.imp.__errno_location;
0x00008ea8 lw s0, -0x7fdc(gp) | s0 = *(gp);
0x00008eac jalr t9 | t9 ();
0x00008eb0 nop |
0x00008eb4 lw gp, 0x18(sp) | gp = *(var_18h);
0x00008eb8 lw t9, -0x79e4(gp) | t9 = sym.imp.strerror;
0x00008ebc lw a0, (v0) | a0 = *(v0);
0x00008ec0 jalr t9 | t9 ();
0x00008ec4 lw gp, 0x18(sp) | gp = *(var_18h);
0x00008ec8 lw v1, 0x2c(sp) | v1 = *(var_2ch);
0x00008ecc sw v0, 0x14(sp) | *(var_14h) = v0;
0x00008ed0 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x00008ed4 lw t9, -0x77a4(gp) | t9 = sym.imp.g_log;
0x00008ed8 addiu v1, v1, 0x6134 | v1 += 0x6134;
0x00008edc sw v1, 0x10(sp) | *(var_10h) = v1;
0x00008ee0 addiu a3, s0, 0x734c | a3 = s0 + 0x734c;
| /* str._sinet_pton_failed_on__s__s */
0x00008ee4 addiu a2, a2, 0x6144 | a2 += 0x6144;
0x00008ee8 addiu a1, zero, 8 | a1 = 8;
0x00008eec move a0, zero | a0 = 0;
0x00008ef0 jalr t9 | t9 ();
0x00008ef4 lw gp, 0x18(sp) | gp = *(var_18h);
| do {
| label_5:
0x00008ef8 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x00008efc lw t9, -0x77a4(gp) | t9 = sym.imp.g_log;
0x00008f00 move a0, zero | a0 = 0;
0x00008f04 addiu a3, s0, 0x734c | a3 = s0 + 0x734c;
| /* str._sFailed_to_join_multicast_group */
0x00008f08 addiu a2, a2, 0x61c4 | a2 += 0x61c4;
| label_6:
0x00008f0c addiu a1, zero, 8 | a1 = 8;
0x00008f10 jalr t9 | t9 ();
0x00008f14 lw gp, 0x18(sp) | gp = *(var_18h);
0x00008f18 lw t9, -0x79d4(gp) | t9 = *(gp);
0x00008f1c addiu a0, zero, 1 | a0 = 1;
0x00008f20 jalr t9 | t9 ();
| label_19:
0x00008f24 lw t9, -0x79e4(gp) | t9 = sym.imp.strerror;
0x00008f28 jalr t9 | t9 ();
0x00008f2c nop |
0x00008f30 lw gp, 0x18(sp) | gp = *(var_18h);
0x00008f34 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00008f38 addiu a1, zero, 8 | a1 = 8;
0x00008f3c lw s0, -0x7fdc(gp) | s0 = *(gp);
0x00008f40 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x00008f44 lw t9, -0x77a4(gp) | t9 = sym.imp.g_log;
0x00008f48 addiu a3, s0, 0x734c | a3 = s0 + 0x734c;
| /* str._ssetsockopt_IP_ADD_MEMBERSHIP_failed__s */
0x00008f4c addiu a2, a2, 0x6164 | a2 += 0x6164;
0x00008f50 move a0, zero | a0 = 0;
0x00008f54 jalr t9 | t9 ();
0x00008f58 lw gp, 0x18(sp) | gp = *(var_18h);
0x00008f5c b 0x8ef8 |
| } while (1);
| label_20:
0x00008f60 lw v0, 0x2c(sp) | v0 = *(var_2ch);
0x00008f64 lw s0, -0x7fdc(gp) | s0 = *(gp);
0x00008f68 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x00008f6c lw t9, -0x77a4(gp) | t9 = sym.imp.g_log;
0x00008f70 addiu v0, v0, 0x61e8 | v0 += 0x61e8;
0x00008f74 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00008f78 addiu a3, s0, 0x734c | a3 = s0 + 0x734c;
| /* str._sinet_pton_failed_on__s__m */
0x00008f7c addiu a2, a2, 0x61f0 | a2 += 0x61f0;
0x00008f80 addiu a1, zero, 8 | a1 = 8;
0x00008f84 move a0, zero | a0 = 0;
0x00008f88 jalr t9 | t9 ();
0x00008f8c lw gp, 0x18(sp) | gp = *(var_18h);
0x00008f90 b 0x8ef8 | goto label_5;
| label_21:
0x00008f94 lw s0, -0x7fdc(gp) | s0 = *(gp);
0x00008f98 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x00008f9c lw t9, -0x77a4(gp) | t9 = sym.imp.g_log;
0x00008fa0 addiu a3, s0, 0x734c | a3 = s0 + 0x734c;
| /* str._ssetsockopt_IPV6_ADD_MEMBERSHIP_failed__m */
0x00008fa4 addiu a2, a2, 0x6210 | a2 += 0x6210;
0x00008fa8 addiu a1, zero, 8 | a1 = 8;
0x00008fac move a0, zero | a0 = 0;
0x00008fb0 jalr t9 | t9 ();
0x00008fb4 lw gp, 0x18(sp) | gp = *(var_18h);
0x00008fb8 b 0x8ef8 | goto label_5;
| label_14:
0x00008fbc lw t9, -0x7934(gp) | t9 = sym.imp.__stack_chk_fail;
0x00008fc0 jalr t9 | t9 ();
0x00008fc4 nop |
| label_8:
0x00008fc8 lw t9, -0x781c(gp) | t9 = sym.imp.soap_sprint_fault;
0x00008fcc addiu s0, sp, 0x54 | s0 = sp + 0x54;
0x00008fd0 addiu a2, zero, 0x100 | a2 = aav.0x00000100;
0x00008fd4 move a1, s0 | a1 = s0;
0x00008fd8 move a0, s3 | a0 = s3;
0x00008fdc jalr t9 | t9 ();
0x00008fe0 lw gp, 0x18(sp) | gp = *(var_18h);
0x00008fe4 move a0, zero | a0 = 0;
0x00008fe8 sw s0, 0x10(sp) | *(var_10h) = s0;
0x00008fec lw a3, -0x7fdc(gp) | a3 = *(gp);
0x00008ff0 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x00008ff4 lw t9, -0x77a4(gp) | t9 = sym.imp.g_log;
0x00008ff8 addiu a3, a3, 0x734c | a3 += 0x734c;
| /* str._s_s */
0x00008ffc addiu a2, a2, 0x60d4 | a2 += 0x60d4;
0x00009000 addiu a1, zero, 8 | a1 = 8;
0x00009004 jalr t9 | t9 ();
0x00009008 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000900c lw t9, -0x79d4(gp) | t9 = *(gp);
0x00009010 addiu a0, zero, 1 | a0 = 1;
0x00009014 jalr t9 | t9 ();
| label_7:
0x00009018 lw a3, -0x7fdc(gp) | a3 = *(gp);
0x0000901c lw a2, -0x7fdc(gp) | a2 = *(gp);
0x00009020 lw t9, -0x77a4(gp) | t9 = sym.imp.g_log;
0x00009024 move a0, zero | a0 = 0;
0x00009028 addiu a3, a3, 0x734c | a3 += 0x734c;
| /* str._sFailed_to_allocate_soap_context */
0x0000902c addiu a2, a2, 0x60b0 | a2 += 0x60b0;
0x00009030 b 0x8f0c | goto label_6;
| }
[*] Function strcat used 2 times wsdd