[*] Binary protection state of wsd
Full RELRO Canary found NX disabled PIE enabled No RPATH No RUNPATH No Symbols
[*] Function fprintf tear down of wsd
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/wsd @ 0x27e0 */
| #include <stdint.h>
|
; (fcn) main () | int32_t main () {
| /* [13] -r-x section size 9616 named .text */
0x000027e0 lui gp, 2 |
0x000027e4 addiu gp, gp, -0x3480 |
0x000027e8 addu gp, gp, t9 | gp += t9;
0x000027ec addiu sp, sp, -0x90 |
0x000027f0 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x000027f4 sw s7, 0x84(sp) | *(var_84h) = s7;
0x000027f8 lw s7, -0x7ef8(gp) | s7 = *((gp - 8126));
0x000027fc sw fp, 0x88(sp) | *(var_88h) = fp;
0x00002800 sw s4, 0x78(sp) | *(var_78h) = s4;
0x00002804 sw s1, 0x6c(sp) | *(var_6ch) = s1;
0x00002808 sw gp, 0x18(sp) | *(var_18h) = gp;
0x0000280c sw ra, 0x8c(sp) | *(var_8ch) = ra;
0x00002810 sw s6, 0x80(sp) | *(var_80h) = s6;
0x00002814 sw s5, 0x7c(sp) | *(var_7ch) = s5;
0x00002818 sw s3, 0x74(sp) | *(var_74h) = s3;
0x0000281c sw s2, 0x70(sp) | *(var_70h) = s2;
0x00002820 sw s0, 0x68(sp) | *(var_68h) = s0;
0x00002824 lw v1, (s7) | v1 = *(s7);
0x00002828 addiu fp, sp, 0x34 | fp = sp + 0x34;
| /* esilref: 'transfer-socket' */
0x0000282c addiu v0, v0, 0x7010 | v0 += 0x7010;
0x00002830 sw v1, 0x64(sp) | *(var_64h) = v1;
0x00002834 move s4, a0 | s4 = a0;
0x00002838 move s1, a1 | s1 = a1;
0x0000283c move v1, fp | v1 = fp;
0x00002840 addiu t1, v0, 0x30 | t1 = v0 + 0x30;
| do {
0x00002844 lw a3, (v0) | a3 = *(v0);
0x00002848 lw a2, 4(v0) | a2 = *((v0 + 1));
0x0000284c lw a1, 8(v0) | a1 = *((v0 + 2));
0x00002850 lw a0, 0xc(v0) | a0 = *((v0 + 3));
0x00002854 addiu v0, v0, 0x10 | v0 += 0x10;
0x00002858 sw a3, (v1) | *(v1) = a3;
0x0000285c sw a2, 4(v1) | *((v1 + 1)) = a2;
0x00002860 sw a1, 8(v1) | *((v1 + 2)) = a1;
0x00002864 sw a0, 0xc(v1) | *((v1 + 3)) = a0;
0x00002868 addiu v1, v1, 0x10 | v1 += 0x10;
0x0000286c bne v0, t1, 0x2844 |
| } while (v0 != t1);
0x00002870 lw s0, -0x7fd4(gp) | s0 = *((gp - 8181));
0x00002874 lw t9, -0x7fd8(gp) | t9 = sym.probe_rtc_available;
0x00002878 sw s0, 0x2c(sp) | *(var_2ch) = s0;
0x0000287c bal 0x331c | sym_probe_rtc_available ();
0x00002880 lw gp, 0x18(sp) | gp = *(var_18h);
0x00002884 addiu a0, s0, 0x55bc | a0 = s0 + 0x55bc;
0x00002888 addiu a2, zero, 0x18 | a2 = 0x18;
0x0000288c lw t9, -0x7ee0(gp) | t9 = sym.imp.openlog;
0x00002890 addiu a1, zero, 1 | a1 = 1;
0x00002894 jalr t9 | t9 ();
0x00002898 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000289c addiu s2, sp, 0x30 | s2 = sp + 0x30;
0x000028a0 addiu s3, zero, -1 | s3 = -1;
0x000028a4 lw v0, -0x7eb8(gp) | v0 = *((gp - 8110));
0x000028a8 lw s0, -0x7fd4(gp) | s0 = *((gp - 8181));
0x000028ac sw v0, 0x28(sp) | *(var_28h) = v0;
0x000028b0 addiu v0, zero, 1 | v0 = 1;
0x000028b4 sw v0, 0x20(sp) | *(var_20h) = v0;
0x000028b8 lw v0, -0x7fd4(gp) | v0 = *((gp - 8181));
0x000028bc addiu s0, s0, 0x55c0 | s0 += 0x55c0;
0x000028c0 addiu v0, v0, 0x55a8 | v0 += str._run_wsd_transfer;
0x000028c4 sw v0, 0x24(sp) | *(var_24h) = v0;
0x000028c8 addiu s6, zero, 0x6e | s6 = 0x6e;
0x000028cc addiu s5, zero, 0x73 | s5 = 0x73;
| do {
| label_0:
0x000028d0 lw t9, -0x7e4c(gp) | t9 = sym.imp.getopt_long;
0x000028d4 sw s2, 0x10(sp) | *(var_10h) = s2;
0x000028d8 move a3, fp | a3 = fp;
0x000028dc move a2, s0 | a2 = s0;
0x000028e0 move a1, s1 | a1 = s1;
0x000028e4 move a0, s4 | a0 = s4;
0x000028e8 sw zero, 0x30(sp) | *(var_30h) = 0;
0x000028ec jalr t9 | t9 ();
0x000028f0 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == s3) {
0x000028f4 beq v0, s3, 0x2974 | goto label_7;
| }
0x000028f8 beql v0, s6, 0x28d0 |
| } while (v0 == s6);
0x000028fc sw zero, 0x20(sp) | *(var_20h) = 0;
0x00002900 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
| if (v0 == s5) {
0x00002904 bne v0, s5, 0x2918 |
0x00002908 lw v0, 0x28(sp) | v0 = *(var_28h);
0x0000290c lw v0, (v0) | v0 = *(v0);
0x00002910 sw v0, 0x24(sp) | *(var_24h) = v0;
0x00002914 b 0x28d0 | goto label_0;
| }
0x00002918 lw t9, -0x7f2c(gp) | t9 = sym.imp.__printf_chk;
0x0000291c lw a2, (s1) | a2 = *(s1);
0x00002920 addiu a1, a1, 0x55c4 | a1 += str.Usage:_n___s__OPTION...__n_nOptions:_n___s____transfer_socket_request_transfer_socket_path_n___n____no_daemon_______dont_daemonize_n;
0x00002924 addiu a0, zero, 1 | a0 = 1;
0x00002928 jalr t9 | t9 ();
0x0000292c lw gp, 0x18(sp) | gp = *(var_18h);
0x00002930 addiu s0, zero, 1 | s0 = 1;
| label_1:
0x00002934 lw a0, 0x64(sp) | a0 = *(var_64h);
0x00002938 lw v1, (s7) | v1 = *(s7);
0x0000293c move v0, s0 | v0 = s0;
| if (a0 != v1) {
0x00002940 bne a0, v1, 0x3024 | goto label_8;
| }
0x00002944 lw ra, 0x8c(sp) | ra = *(var_8ch);
0x00002948 lw fp, 0x88(sp) | fp = *(var_88h);
0x0000294c lw s7, 0x84(sp) | s7 = *(var_84h);
0x00002950 lw s6, 0x80(sp) | s6 = *(var_80h);
0x00002954 lw s5, 0x7c(sp) | s5 = *(var_7ch);
0x00002958 lw s4, 0x78(sp) | s4 = *(var_78h);
0x0000295c lw s3, 0x74(sp) | s3 = *(var_74h);
0x00002960 lw s2, 0x70(sp) | s2 = *(var_70h);
0x00002964 lw s1, 0x6c(sp) | s1 = *(var_6ch);
0x00002968 lw s0, 0x68(sp) | s0 = *(var_68h);
0x0000296c addiu sp, sp, 0x90 |
0x00002970 jr ra | return v0;
| label_7:
0x00002974 lw t9, -0x7f28(gp) | t9 = sym.imp.command_source_register_mainloop_thread;
0x00002978 jalr t9 | t9 ();
0x0000297c nop |
0x00002980 lw gp, 0x18(sp) | gp = *(var_18h);
0x00002984 lw t9, -0x7f50(gp) | t9 = sym.imp.media_config_init;
0x00002988 jalr t9 | t9 ();
0x0000298c nop |
0x00002990 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00002994 beqz v0, 0x3030 | goto label_9;
| }
0x00002998 lw t9, -0x7fd0(gp) | t9 = sym.create_transfer_socket;
0x0000299c lw a0, 0x24(sp) | a0 = *(var_24h);
0x000029a0 bal 0x4698 | sym_create_transfer_socket ();
0x000029a4 move s3, v0 | s3 = v0;
0x000029a8 lw v0, 0x20(sp) | v0 = *(var_20h);
0x000029ac lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x000029b0 beqz v0, 0x29fc |
0x000029b4 lw t9, -0x7e1c(gp) | t9 = sym.imp.daemon;
0x000029b8 move a1, zero | a1 = 0;
0x000029bc move a0, zero | a0 = 0;
0x000029c0 jalr t9 | t9 ();
0x000029c4 lw gp, 0x18(sp) | gp = *(var_18h);
0x000029c8 lw t9, -0x7e48(gp) | t9 = sym.imp.__syslog_chk;
| if (v0 < 0) {
0x000029cc bltz v0, 0x3058 | goto label_10;
| }
0x000029d0 lw v0, -0x7fd4(gp) | v0 = *((gp - 8181));
0x000029d4 lw a2, -0x7fd4(gp) | a2 = *((gp - 8181));
0x000029d8 addiu v0, v0, 0x569c | v0 += str.0.01;
0x000029dc sw v0, 0x10(sp) | *(var_10h) = v0;
0x000029e0 lw v0, 0x2c(sp) | v0 = *(var_2ch);
0x000029e4 addiu a2, a2, 0x568c | a2 += str.Starting__s__s;
0x000029e8 addiu a3, v0, 0x55bc | a3 = v0 + 0x55bc;
0x000029ec addiu a1, zero, 1 | a1 = 1;
0x000029f0 addiu a0, zero, 6 | a0 = 6;
0x000029f4 jalr t9 | t9 ();
0x000029f8 lw gp, 0x18(sp) | gp = *(var_18h);
| }
0x000029fc lw s1, -0x7fd4(gp) | s1 = *((gp - 8181));
0x00002a00 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x00002a04 lw t9, -0x7f30(gp) | t9 = sym.imp.fopen;
0x00002a08 addiu a1, a1, 0x5b80 | a1 += 0x5b80;
0x00002a0c addiu a0, s1, 0x56a4 | a0 = s1 + str._run_wsd_wsd.pid;
0x00002a10 sw zero, 0x30(sp) | *(var_30h) = 0;
0x00002a14 jalr t9 | t9 ();
0x00002a18 move s0, v0 | s0 = v0;
0x00002a1c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00002a20 beqz v0, 0x2a50 |
0x00002a24 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x00002a28 lw t9, -0x7d8c(gp) | t9 = sym.imp.__isoc99_fscanf;
0x00002a2c move a2, s2 | a2 = s2;
0x00002a30 addiu a1, a1, 0x56b8 | a1 += 0x56b8;
0x00002a34 move a0, v0 | a0 = v0;
0x00002a38 jalr t9 | t9 ();
0x00002a3c lw gp, 0x18(sp) | gp = *(var_18h);
0x00002a40 lw t9, -0x7df8(gp) | t9 = sym.imp.fclose;
0x00002a44 move a0, s0 | a0 = s0;
0x00002a48 jalr t9 | t9 ();
0x00002a4c lw gp, 0x18(sp) | gp = *(var_18h);
| }
0x00002a50 lw s0, 0x30(sp) | s0 = *(var_30h);
0x00002a54 lw t9, -0x7ddc(gp) | t9 = sym.imp.open;
| if (s0 == 0) {
0x00002a58 beqz s0, 0x2ad8 | goto label_11;
| }
0x00002a5c lw t9, -0x7f3c(gp) | t9 = sym.imp.getpid;
0x00002a60 jalr t9 | t9 ();
0x00002a64 nop |
0x00002a68 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == s0) {
0x00002a6c beq v0, s0, 0x2ad4 | goto label_12;
| }
0x00002a70 lw t9, -0x7e0c(gp) | t9 = sym.imp.kill;
0x00002a74 move a1, zero | a1 = 0;
0x00002a78 move a0, s0 | a0 = s0;
0x00002a7c jalr t9 | t9 ();
0x00002a80 lw gp, 0x18(sp) | gp = *(var_18h);
0x00002a84 bnez v0, 0x2ab8 |
| while (v1 != v0) {
0x00002a88 lw a3, -0x7fd4(gp) | a3 = *((gp - 8181));
0x00002a8c lw a2, -0x7fd4(gp) | a2 = *((gp - 8181));
0x00002a90 lw t9, -0x7e78(gp) | t9 = sym.imp.g_log;
0x00002a94 move a0, zero | a0 = 0;
0x00002a98 addiu a3, a3, 0x577c | a3 += 0x577c;
0x00002a9c addiu a2, a2, 0x58dc | a2 += str._sAlready_running.;
| label_2:
0x00002aa0 addiu a1, zero, 8 | a1 = 8;
0x00002aa4 jalr t9 | t9 ();
0x00002aa8 lw gp, 0x18(sp) | gp = *(var_18h);
0x00002aac lw t9, -0x7da8(gp) | t9 = sym.imp.exit;
0x00002ab0 addiu a0, zero, 1 | a0 = 1;
0x00002ab4 jalr t9 | t9 ();
0x00002ab8 lw t9, -0x7e8c(gp) | t9 = sym.imp.__errno_location;
0x00002abc jalr t9 | t9 ();
0x00002ac0 nop |
0x00002ac4 lw v1, (v0) | v1 = *(v0);
0x00002ac8 addiu v0, zero, 3 | v0 = 3;
0x00002acc lw gp, 0x18(sp) | gp = *(var_18h);
0x00002ad0 bne v1, v0, 0x2a88 |
| }
| label_12:
0x00002ad4 lw t9, -0x7ddc(gp) | t9 = sym.imp.open;
| label_11:
0x00002ad8 addiu a2, zero, 0x1a4 | a2 = 0x1a4;
0x00002adc addiu a1, zero, 0x102 | a1 = 0x102;
0x00002ae0 addiu a0, s1, 0x56a4 | a0 = s1 + str._run_wsd_wsd.pid;
0x00002ae4 sw zero, 0x30(sp) | *(var_30h) = 0;
0x00002ae8 jalr t9 | t9 ();
0x00002aec addiu s5, zero, -1 | s5 = -1;
0x00002af0 lw gp, 0x18(sp) | gp = *(var_18h);
0x00002af4 move s0, v0 | s0 = v0;
| if (v0 == s5) {
0x00002af8 beq v0, s5, 0x2dbc | goto label_13;
| }
0x00002afc lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x00002b00 lw t9, -0x7de0(gp) | t9 = sym.imp.fdopen;
0x00002b04 addiu a1, a1, 0x56dc | a1 += 0x56dc;
0x00002b08 move a0, v0 | a0 = v0;
0x00002b0c jalr t9 | t9 ();
0x00002b10 move s4, v0 | s4 = v0;
0x00002b14 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00002b18 beqz v0, 0x2dbc | goto label_13;
| }
0x00002b1c lw t9, -0x7e80(gp) | t9 = sym.imp.flock;
0x00002b20 addiu a1, zero, 6 | a1 = 6;
0x00002b24 move a0, s0 | a0 = s0;
0x00002b28 jalr t9 | t9 ();
0x00002b2c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == s5) {
0x00002b30 beq v0, s5, 0x2f60 | goto label_14;
| }
0x00002b34 lw t9, -0x7f3c(gp) | t9 = sym.imp.getpid;
0x00002b38 jalr t9 | t9 ();
0x00002b3c nop |
0x00002b40 lw gp, 0x18(sp) | gp = *(var_18h);
0x00002b44 move a3, v0 | a3 = v0;
0x00002b48 addiu a1, zero, 1 | a1 = 1;
0x00002b4c lw a2, -0x7fd4(gp) | a2 = *((gp - 8181));
0x00002b50 lw t9, -0x7dd0(gp) | t9 = sym.imp.__fprintf_chk
0x00002b54 addiu a2, a2, 0x5708 | a2 += 0x5708;
0x00002b58 move a0, s4 | a0 = s4;
0x00002b5c sw v0, 0x30(sp) | *(var_30h) = v0;
0x00002b60 jalr t9 | t9 ();
0x00002b64 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00002b68 beqz v0, 0x2e20 | goto label_15;
| }
0x00002b6c lw t9, -0x7e80(gp) | t9 = sym.imp.flock;
0x00002b70 addiu a1, zero, 8 | a1 = 8;
0x00002b74 move a0, s0 | a0 = s0;
0x00002b78 jalr t9 | t9 ();
0x00002b7c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == s5) {
0x00002b80 beq v0, s5, 0x2fd4 | goto label_16;
| }
0x00002b84 lw t9, -0x7df8(gp) | t9 = sym.imp.fclose;
0x00002b88 move a0, s4 | a0 = s4;
0x00002b8c jalr t9 | t9 ();
0x00002b90 lw gp, 0x18(sp) | gp = *(var_18h);
0x00002b94 lw v0, 0x2c(sp) | v0 = *(var_2ch);
0x00002b98 lw t9, -0x7db8(gp) | t9 = sym.imp.getpwnam;
0x00002b9c addiu a0, v0, 0x55bc | a0 = v0 + 0x55bc;
0x00002ba0 jalr t9 | t9 ();
0x00002ba4 move s2, v0 | s2 = v0;
0x00002ba8 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00002bac beqz v0, 0x2e8c | goto label_17;
| }
0x00002bb0 lw v0, 0x2c(sp) | v0 = *(var_2ch);
0x00002bb4 lw t9, -0x7dec(gp) | t9 = sym.imp.getgrnam;
0x00002bb8 addiu a0, v0, 0x55bc | a0 = v0 + 0x55bc;
0x00002bbc jalr t9 | t9 ();
0x00002bc0 move s0, v0 | s0 = v0;
0x00002bc4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00002bc8 beqz v0, 0x2f04 | goto label_18;
| }
0x00002bcc lw t9, -0x7d84(gp) | t9 = sym.imp.setgid;
0x00002bd0 lw a0, 8(v0) | a0 = *((v0 + 2));
0x00002bd4 jalr t9 | t9 ();
0x00002bd8 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x00002bdc bltz v0, 0x2edc | goto label_19;
| }
0x00002be0 lw t9, -0x7e34(gp) | t9 = sym.imp.initgroups;
0x00002be4 lw a1, 8(s0) | a1 = *((s0 + 2));
0x00002be8 lw a0, (s2) | a0 = *(s2);
0x00002bec jalr t9 | t9 ();
0x00002bf0 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x00002bf4 bltz v0, 0x2f30 | goto label_20;
| }
0x00002bf8 lw t9, -0x7ea8(gp) | t9 = sym.imp.setuid;
0x00002bfc lw a0, 8(s2) | a0 = *((s2 + 2));
0x00002c00 jalr t9 | t9 ();
0x00002c04 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x00002c08 bltz v0, 0x2fac | goto label_21;
| }
0x00002c0c lw v0, 0x20(sp) | v0 = *(var_20h);
0x00002c10 lw t9, -0x7d68(gp) | t9 = sym.imp.ax_log_stdout;
| if (v0 == 0) {
0x00002c14 beqz v0, 0x2e7c | goto label_22;
| }
0x00002c18 lw t9, -0x7f0c(gp) | t9 = sym.imp.ax_log_syslog;
0x00002c1c jalr t9 | t9 ();
0x00002c20 nop |
0x00002c24 lw gp, 0x18(sp) | gp = *(var_18h);
| label_3:
0x00002c28 lw t9, -0x7db4(gp) | t9 = sym.imp.wssecurity_uh_init;
0x00002c2c jalr t9 | t9 ();
0x00002c30 nop |
0x00002c34 lw gp, 0x18(sp) | gp = *(var_18h);
0x00002c38 lw t9, -0x7fcc(gp) | t9 = sym.wssecurity_read_config;
0x00002c3c bal 0x37c8 | sym_wssecurity_read_config ();
0x00002c40 nop |
0x00002c44 lw gp, 0x18(sp) | gp = *(var_18h);
0x00002c48 lw t9, -0x7dd8(gp) | t9 = sym.imp.media_init_max_fps;
0x00002c4c jalr t9 | t9 ();
0x00002c50 nop |
0x00002c54 lw gp, 0x18(sp) | gp = *(var_18h);
0x00002c58 lw t9, -0x7dfc(gp) | t9 = sym.imp.wsd_services_call_init;
0x00002c5c jalr t9 | t9 ();
0x00002c60 nop |
0x00002c64 lw gp, 0x18(sp) | gp = *(var_18h);
0x00002c68 move a1, zero | a1 = 0;
0x00002c6c lw t9, -0x7db0(gp) | t9 = sym.imp.g_main_loop_new;
0x00002c70 move a0, zero | a0 = 0;
0x00002c74 jalr t9 | t9 ();
0x00002c78 lw gp, 0x18(sp) | gp = *(var_18h);
0x00002c7c move a0, v0 | a0 = v0;
0x00002c80 lw t9, -0x7fc8(gp) | t9 = sym.signals_init;
0x00002c84 move s2, v0 | s2 = v0;
0x00002c88 bal 0x4a80 | sym_signals_init ();
0x00002c8c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00002c90 bnez v0, 0x3044 | goto label_23;
| }
0x00002c94 lw t9, -0x7fc4(gp) | t9 = sym.events_init;
0x00002c98 move a0, s2 | a0 = s2;
0x00002c9c bal 0x4bb0 | sym_events_init ();
0x00002ca0 move s0, v0 | s0 = v0;
0x00002ca4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00002ca8 bnez v0, 0x3084 | goto label_24;
| }
0x00002cac lw t9, -0x7fc0(gp) | t9 = sym.wsreq_setup_socket;
0x00002cb0 move a0, s3 | a0 = s3;
0x00002cb4 bal 0x47d4 | sym_wsreq_setup_socket ();
0x00002cb8 move s3, v0 | s3 = v0;
0x00002cbc lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00002cc0 beqz v0, 0x3068 | goto label_25;
| }
0x00002cc4 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x00002cc8 lw t9, -0x7ef4(gp) | t9 = sym.imp.sd_notify;
0x00002ccc addiu a1, a1, 0x58b8 | a1 += str.READY1;
0x00002cd0 move a0, zero | a0 = 0;
0x00002cd4 jalr t9 | t9 ();
0x00002cd8 lw gp, 0x18(sp) | gp = *(var_18h);
0x00002cdc lw t9, -0x7ee4(gp) | t9 = sym.imp.g_main_loop_run;
0x00002ce0 move a0, s2 | a0 = s2;
0x00002ce4 jalr t9 | t9 ();
0x00002ce8 lw gp, 0x18(sp) | gp = *(var_18h);
0x00002cec lw t9, -0x7fbc(gp) | t9 = sym.wsreq_teardown;
0x00002cf0 move a0, s3 | a0 = s3;
0x00002cf4 bal 0x4970 | sym_wsreq_teardown ();
0x00002cf8 lw gp, 0x18(sp) | gp = *(var_18h);
0x00002cfc lw t9, -0x7fb8(gp) | t9 = sym.events_cleanup;
0x00002d00 bal 0x4ca4 | sym_events_cleanup ();
0x00002d04 nop |
0x00002d08 lw gp, 0x18(sp) | gp = *(var_18h);
0x00002d0c lw t9, -0x7fb4(gp) | t9 = sym.signals_cleanup;
0x00002d10 bal 0x4b54 | sym_signals_cleanup ();
0x00002d14 nop |
0x00002d18 lw gp, 0x18(sp) | gp = *(var_18h);
0x00002d1c lw t9, -0x7d64(gp) | t9 = sym.imp.g_main_loop_unref;
0x00002d20 move a0, s2 | a0 = s2;
0x00002d24 jalr t9 | t9 ();
0x00002d28 lw gp, 0x18(sp) | gp = *(var_18h);
0x00002d2c lw t9, -0x7e30(gp) | t9 = sym.imp.media_config_cleanup;
0x00002d30 jalr t9 | t9 ();
0x00002d34 nop |
0x00002d38 lw gp, 0x18(sp) | gp = *(var_18h);
0x00002d3c lw t9, -0x7dc8(gp) | t9 = sym.imp.wssecurity_uh_cleanup;
0x00002d40 jalr t9 | t9 ();
0x00002d44 nop |
0x00002d48 lw gp, 0x18(sp) | gp = *(var_18h);
0x00002d4c lw t9, -0x7d78(gp) | t9 = sym.imp.g_unlink;
0x00002d50 addiu a0, s1, 0x56a4 | a0 = s1 + str._run_wsd_wsd.pid;
0x00002d54 jalr t9 | t9 ();
0x00002d58 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00002d5c beqz v0, 0x2934 | goto label_1;
| }
0x00002d60 lw t9, -0x7e8c(gp) | t9 = sym.imp.__errno_location;
0x00002d64 jalr t9 | t9 ();
0x00002d68 nop |
0x00002d6c lw a0, (v0) | a0 = *(v0);
0x00002d70 addiu v0, zero, 2 | v0 = 2;
0x00002d74 lw gp, 0x18(sp) | gp = *(var_18h);
| if (a0 == v0) {
0x00002d78 beq a0, v0, 0x2934 | goto label_1;
| }
0x00002d7c lw t9, -0x7f80(gp) | t9 = sym.imp.strerror;
0x00002d80 addiu s1, s1, 0x56a4 | s1 += str._run_wsd_wsd.pid;
0x00002d84 jalr t9 | t9 ();
0x00002d88 lw gp, 0x18(sp) | gp = *(var_18h);
0x00002d8c sw v0, 0x14(sp) | *(var_14h) = v0;
0x00002d90 sw s1, 0x10(sp) | *(var_10h) = s1;
0x00002d94 lw a3, -0x7fd4(gp) | a3 = *((gp - 8181));
0x00002d98 lw a2, -0x7fd4(gp) | a2 = *((gp - 8181));
0x00002d9c lw t9, -0x7e78(gp) | t9 = sym.imp.g_log;
0x00002da0 addiu a3, a3, 0x577c | a3 += 0x577c;
0x00002da4 addiu a2, a2, 0x58c0 | a2 += str._sFailed_to_remove__s:__s;
0x00002da8 addiu a1, zero, 0x10 | a1 = 0x10;
0x00002dac move a0, zero | a0 = 0;
0x00002db0 jalr t9 | t9 ();
0x00002db4 lw gp, 0x18(sp) | gp = *(var_18h);
0x00002db8 b 0x2934 | goto label_1;
| label_13:
0x00002dbc lw t9, -0x7e8c(gp) | t9 = sym.imp.__errno_location;
0x00002dc0 lw s0, -0x7fd4(gp) | s0 = *((gp - 8181));
0x00002dc4 addiu s1, s1, 0x56a4 | s1 += str._run_wsd_wsd.pid;
0x00002dc8 jalr t9 | t9 ();
0x00002dcc lw gp, 0x18(sp) | gp = *(var_18h);
0x00002dd0 lw t9, -0x7f80(gp) | t9 = sym.imp.strerror;
0x00002dd4 lw a0, (v0) | a0 = *(v0);
0x00002dd8 jalr t9 | t9 ();
0x00002ddc lw gp, 0x18(sp) | gp = *(var_18h);
0x00002de0 sw v0, 0x14(sp) | *(var_14h) = v0;
0x00002de4 sw s1, 0x10(sp) | *(var_10h) = s1;
0x00002de8 lw a2, -0x7fd4(gp) | a2 = *((gp - 8181));
0x00002dec lw t9, -0x7e78(gp) | t9 = sym.imp.g_log;
0x00002df0 addiu a3, s0, 0x577c | a3 = s0 + 0x577c;
0x00002df4 addiu a2, a2, 0x56bc | a2 += str._sCant_open_or_create__s:__s;
0x00002df8 addiu a1, zero, 0x10 | a1 = 0x10;
0x00002dfc move a0, zero | a0 = 0;
0x00002e00 jalr t9 | t9 ();
0x00002e04 lw gp, 0x18(sp) | gp = *(var_18h);
| do {
0x00002e08 lw a2, -0x7fd4(gp) | a2 = *((gp - 8181));
0x00002e0c lw t9, -0x7e78(gp) | t9 = sym.imp.g_log;
0x00002e10 move a0, zero | a0 = 0;
0x00002e14 addiu a3, s0, 0x577c | a3 = s0 + 0x577c;
0x00002e18 addiu a2, a2, 0x5744 | a2 += str._sCould_not_write_pid.;
0x00002e1c b 0x2aa0 | goto label_2;
| label_15:
0x00002e20 lw t9, -0x7e8c(gp) | t9 = sym.imp.__errno_location;
0x00002e24 lw s0, -0x7fd4(gp) | s0 = *((gp - 8181));
0x00002e28 jalr t9 | t9 ();
0x00002e2c nop |
0x00002e30 lw gp, 0x18(sp) | gp = *(var_18h);
0x00002e34 lw t9, -0x7f80(gp) | t9 = sym.imp.strerror;
0x00002e38 lw a0, (v0) | a0 = *(v0);
0x00002e3c jalr t9 | t9 ();
0x00002e40 lw gp, 0x18(sp) | gp = *(var_18h);
0x00002e44 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00002e48 addiu a3, s0, 0x577c | a3 = s0 + 0x577c;
0x00002e4c lw a2, -0x7fd4(gp) | a2 = *((gp - 8181));
0x00002e50 lw t9, -0x7e78(gp) | t9 = sym.imp.g_log;
0x00002e54 addiu a2, a2, 0x570c | a2 += str._sCant_write_pid:__s;
0x00002e58 addiu a1, zero, 0x10 | a1 = 0x10;
0x00002e5c move a0, zero | a0 = 0;
0x00002e60 jalr t9 | t9 ();
0x00002e64 lw gp, 0x18(sp) | gp = *(var_18h);
| label_5:
0x00002e68 lw t9, -0x7df8(gp) | t9 = sym.imp.fclose;
0x00002e6c move a0, s4 | a0 = s4;
0x00002e70 jalr t9 | t9 ();
0x00002e74 lw gp, 0x18(sp) | gp = *(var_18h);
0x00002e78 b 0x2e08 |
| } while (1);
| label_22:
0x00002e7c jalr t9 | t9 ();
0x00002e80 nop |
0x00002e84 lw gp, 0x18(sp) | gp = *(var_18h);
0x00002e88 b 0x2c28 | goto label_3;
| label_17:
0x00002e8c lw v0, -0x7ea0(gp) | v0 = *((gp - 8104));
0x00002e90 lw a2, -0x7fd4(gp) | a2 = *((gp - 8181));
0x00002e94 lw t9, -0x7dd0(gp) | t9 = sym.imp.__fprintf_chk
0x00002e98 lw a0, (v0) | a0 = *(v0);
0x00002e9c lw v0, 0x2c(sp) | v0 = *(var_2ch);
0x00002ea0 addiu a2, a2, 0x575c | a2 += str.Couldnt_get_uid_for_user___s_._n;
0x00002ea4 addiu a3, v0, 0x55bc | a3 = v0 + 0x55bc;
0x00002ea8 addiu a1, zero, 1 | a1 = 1;
0x00002eac jalr t9 | t9 ();
0x00002eb0 lw gp, 0x18(sp) | gp = *(var_18h);
| do {
| label_4:
0x00002eb4 lw a2, -0x7fd4(gp) | a2 = *((gp - 8181));
0x00002eb8 lw t9, -0x7e48(gp) | t9 = sym.imp.__syslog_chk;
0x00002ebc addiu a0, zero, 3 | a0 = 3;
0x00002ec0 addiu a2, a2, 0x5820 | a2 += str.Failed_setting_uid_and_gid_of_the_process.;
| label_6:
0x00002ec4 addiu a1, zero, 1 | a1 = 1;
0x00002ec8 jalr t9 | t9 ();
0x00002ecc lw gp, 0x18(sp) | gp = *(var_18h);
0x00002ed0 lw t9, -0x7da8(gp) | t9 = sym.imp.exit;
0x00002ed4 addiu a0, zero, 1 | a0 = 1;
0x00002ed8 jalr t9 | t9 ();
| label_19:
0x00002edc lw v0, -0x7ea0(gp) | v0 = *((gp - 8104));
0x00002ee0 lw a2, -0x7fd4(gp) | a2 = *((gp - 8181));
0x00002ee4 lw t9, -0x7dd0(gp) | t9 = sym.imp.__fprintf_chk
0x00002ee8 lw a3, 8(s0) | a3 = *((s0 + 2));
0x00002eec lw a0, (v0) | a0 = *(v0);
0x00002ef0 addiu a2, a2, 0x57a4 | a2 += str.Failed_setting_gid_to__d:__m_n;
0x00002ef4 addiu a1, zero, 1 | a1 = 1;
0x00002ef8 jalr t9 | t9 ();
0x00002efc lw gp, 0x18(sp) | gp = *(var_18h);
0x00002f00 b 0x2eb4 |
| } while (1);
| label_18:
0x00002f04 lw v0, -0x7ea0(gp) | v0 = *((gp - 8104));
0x00002f08 lw a2, -0x7fd4(gp) | a2 = *((gp - 8181));
0x00002f0c lw t9, -0x7dd0(gp) | t9 = sym.imp.__fprintf_chk
0x00002f10 lw a0, (v0) | a0 = *(v0);
0x00002f14 lw v0, 0x2c(sp) | v0 = *(var_2ch);
0x00002f18 addiu a2, a2, 0x5780 | a2 += str.Couldnt_get_gid_for_group___s_._n;
0x00002f1c addiu a3, v0, 0x55bc | a3 = v0 + 0x55bc;
0x00002f20 addiu a1, zero, 1 | a1 = 1;
0x00002f24 jalr t9 | t9 ();
0x00002f28 lw gp, 0x18(sp) | gp = *(var_18h);
0x00002f2c b 0x2eb4 | goto label_4;
| label_20:
0x00002f30 lw v1, -0x7ea0(gp) | v1 = *((gp - 8104));
0x00002f34 lw a2, -0x7fd4(gp) | a2 = *((gp - 8181));
0x00002f38 lw v0, 8(s0) | v0 = *((s0 + 2));
0x00002f3c lw t9, -0x7dd0(gp) | t9 = sym.imp.__fprintf_chk
0x00002f40 lw a3, (s2) | a3 = *(s2);
0x00002f44 lw a0, (v1) | a0 = *(v1);
0x00002f48 addiu a2, a2, 0x57c4 | a2 += str.Unable_to_run_initgroups____with_username:__s__gid:__d:__m_n;
0x00002f4c sw v0, 0x10(sp) | *(var_10h) = v0;
0x00002f50 addiu a1, zero, 1 | a1 = 1;
0x00002f54 jalr t9 | t9 ();
0x00002f58 lw gp, 0x18(sp) | gp = *(var_18h);
0x00002f5c b 0x2eb4 | goto label_4;
| label_14:
0x00002f60 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x00002f64 lw t9, -0x7d8c(gp) | t9 = sym.imp.__isoc99_fscanf;
0x00002f68 move a2, s2 | a2 = s2;
0x00002f6c addiu a1, a1, 0x56b8 | a1 += 0x56b8;
0x00002f70 move a0, s4 | a0 = s4;
0x00002f74 jalr t9 | t9 ();
0x00002f78 lw gp, 0x18(sp) | gp = *(var_18h);
0x00002f7c lw v0, 0x30(sp) | v0 = *(var_30h);
0x00002f80 addiu a1, zero, 0x10 | a1 = 0x10;
0x00002f84 lw s0, -0x7fd4(gp) | s0 = *((gp - 8181));
0x00002f88 lw a2, -0x7fd4(gp) | a2 = *((gp - 8181));
0x00002f8c lw t9, -0x7e78(gp) | t9 = sym.imp.g_log;
0x00002f90 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00002f94 addiu a3, s0, 0x577c | a3 = s0 + 0x577c;
0x00002f98 addiu a2, a2, 0x56e0 | a2 += str._sCant_lock__lock_is_held_by_pid__d;
0x00002f9c move a0, zero | a0 = 0;
0x00002fa0 jalr t9 | t9 ();
0x00002fa4 lw gp, 0x18(sp) | gp = *(var_18h);
0x00002fa8 b 0x2e68 | goto label_5;
| label_21:
0x00002fac lw v0, -0x7ea0(gp) | v0 = *((gp - 8104));
0x00002fb0 lw a2, -0x7fd4(gp) | a2 = *((gp - 8181));
0x00002fb4 lw t9, -0x7dd0(gp) | t9 = sym.imp.__fprintf_chk
0x00002fb8 lw a3, 8(s2) | a3 = *((s2 + 2));
0x00002fbc lw a0, (v0) | a0 = *(v0);
0x00002fc0 addiu a2, a2, 0x5800 | a2 += str.Failed_setting_uid_to__d:__m_n;
0x00002fc4 addiu a1, zero, 1 | a1 = 1;
0x00002fc8 jalr t9 | t9 ();
0x00002fcc lw gp, 0x18(sp) | gp = *(var_18h);
0x00002fd0 b 0x2eb4 | goto label_4;
| label_16:
0x00002fd4 lw t9, -0x7e8c(gp) | t9 = sym.imp.__errno_location;
0x00002fd8 lw s0, -0x7fd4(gp) | s0 = *((gp - 8181));
0x00002fdc addiu s1, s1, 0x56a4 | s1 += str._run_wsd_wsd.pid;
0x00002fe0 jalr t9 | t9 ();
0x00002fe4 lw gp, 0x18(sp) | gp = *(var_18h);
0x00002fe8 lw t9, -0x7f80(gp) | t9 = sym.imp.strerror;
0x00002fec lw a0, (v0) | a0 = *(v0);
0x00002ff0 jalr t9 | t9 ();
0x00002ff4 lw gp, 0x18(sp) | gp = *(var_18h);
0x00002ff8 sw v0, 0x14(sp) | *(var_14h) = v0;
0x00002ffc sw s1, 0x10(sp) | *(var_10h) = s1;
0x00003000 lw a2, -0x7fd4(gp) | a2 = *((gp - 8181));
0x00003004 lw t9, -0x7e78(gp) | t9 = sym.imp.g_log;
0x00003008 addiu a3, s0, 0x577c | a3 = s0 + 0x577c;
0x0000300c addiu a2, a2, 0x5724 | a2 += str._sCant_unlock_pidfile__s:__s;
0x00003010 addiu a1, zero, 0x10 | a1 = 0x10;
0x00003014 move a0, zero | a0 = 0;
0x00003018 jalr t9 | t9 ();
0x0000301c lw gp, 0x18(sp) | gp = *(var_18h);
0x00003020 b 0x2e68 | goto label_5;
| label_8:
0x00003024 lw t9, -0x7de8(gp) | t9 = sym.imp.__stack_chk_fail;
0x00003028 jalr t9 | t9 ();
0x0000302c nop |
| label_9:
0x00003030 lw a2, -0x7fd4(gp) | a2 = *((gp - 8181));
0x00003034 lw t9, -0x7e48(gp) | t9 = sym.imp.__syslog_chk;
0x00003038 addiu a0, zero, 3 | a0 = 3;
0x0000303c addiu a2, a2, 0x5644 | a2 += str.Failed_to_create_migrate_the_media_configuration.;
0x00003040 b 0x2ec4 | goto label_6;
| label_23:
0x00003044 lw a2, -0x7fd4(gp) | a2 = *((gp - 8181));
0x00003048 lw t9, -0x7e48(gp) | t9 = sym.imp.__syslog_chk;
0x0000304c addiu a0, zero, 3 | a0 = 3;
0x00003050 addiu a2, a2, 0x584c | a2 += str.Failed_setting_up_signal_handlers.;
0x00003054 b 0x2ec4 | goto label_6;
| label_10:
0x00003058 lw a2, -0x7fd4(gp) | a2 = *((gp - 8181));
0x0000305c addiu a0, zero, 3 | a0 = 3;
0x00003060 addiu a2, a2, 0x5678 | a2 += str.daemon_failed___m;
0x00003064 b 0x2ec4 | goto label_6;
| label_25:
0x00003068 lw a3, -0x7fd4(gp) | a3 = *((gp - 8181));
0x0000306c lw a2, -0x7fd4(gp) | a2 = *((gp - 8181));
0x00003070 lw t9, -0x7e78(gp) | t9 = sym.imp.g_log;
0x00003074 move a0, zero | a0 = 0;
0x00003078 addiu a3, a3, 0x577c | a3 += 0x577c;
0x0000307c addiu a2, a2, 0x5894 | a2 += str._sError_setting_up_transfer_socket.;
0x00003080 b 0x2aa0 | goto label_2;
| label_24:
0x00003084 lw a2, -0x7fd4(gp) | a2 = *((gp - 8181));
0x00003088 lw t9, -0x7e48(gp) | t9 = sym.imp.__syslog_chk;
0x0000308c addiu a0, zero, 3 | a0 = 3;
0x00003090 addiu a2, a2, 0x5870 | a2 += str.Failed_setting_up_event_handlers.;
0x00003094 b 0x2ec4 | goto label_6;
| }
[*] Function fprintf used 7 times wsd