[*] Binary protection state of scp.openssh

  
  	Full RELRO     Canary found      NX enabled   PIE enabled  No RPATH     No RUNPATH   No Symbols


[*] Function sprintf tear down of scp.openssh

    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/scp.openssh @ 0x8678 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.tolocal ()               | void tolocal () {
    0x00008678 lui gp, 3                 |     
    0x0000867c addiu gp, gp, 0x59f8      |     
    0x00008680 addu gp, gp, t9           |     gp += t9;
    0x00008684 addiu sp, sp, -0x90       |     
    0x00008688 lw v0, -0x7bfc(gp)        |     v0 = *((gp - 7935));
    0x0000868c sw gp, 0x18(sp)           |     *(var_18h) = gp;
    0x00008690 sw s5, 0x7c(sp)           |     *(var_7ch) = s5;
    0x00008694 sw s4, 0x78(sp)           |     *(var_78h) = s4;
    0x00008698 sw s0, 0x68(sp)           |     *(var_68h) = s0;
    0x0000869c sw ra, 0x8c(sp)           |     *(var_8ch) = ra;
    0x000086a0 sw fp, 0x88(sp)           |     *(var_88h) = fp;
    0x000086a4 sw s7, 0x84(sp)           |     *(var_84h) = s7;
    0x000086a8 sw s6, 0x80(sp)           |     *(var_80h) = s6;
    0x000086ac sw s3, 0x74(sp)           |     *(var_74h) = s3;
    0x000086b0 sw s2, 0x70(sp)           |     *(var_70h) = s2;
    0x000086b4 sw s1, 0x6c(sp)           |     *(var_6ch) = s1;
    0x000086b8 sw v0, 0x34(sp)           |     *(var_34h) = v0;
    0x000086bc lw v0, (v0)               |     v0 = *(v0);
    0x000086c0 addiu s4, sp, 0x58        |     s4 = sp + 0x58;
    0x000086c4 lw t9, -0x7f7c(gp)        |     t9 = *(gp);
    0x000086c8 sw v0, 0x64(sp)           |     *(var_64h) = v0;
    0x000086cc addiu v0, zero, -1        |     v0 = -1;
    0x000086d0 sw zero, 0x58(sp)         |     *(var_58h) = 0;
    0x000086d4 move s5, a1               |     s5 = a1;
    0x000086d8 sw zero, 0x48(sp)         |     *(var_48h) = 0;
    0x000086dc sw zero, 0x4c(sp)         |     *(var_4ch) = 0;
    0x000086e0 sw zero, 0x50(sp)         |     *(var_50h) = 0;
    0x000086e4 sw v0, 0x54(sp)           |     *(var_54h) = v0;
    0x000086e8 sw zero, 4(s4)            |     *((s4 + 1)) = 0;
    0x000086ec sw zero, 8(s4)            |     *((s4 + 2)) = 0;
    0x000086f0 addiu a1, zero, -1        |     a1 = -1;
    0x000086f4 move s0, a0               |     s0 = a0;
    0x000086f8 bal 0x1d880               |     fcn_0001d880 ();
    0x000086fc lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v0 <= 0) {
    0x00008700 blez v0, 0x8aa0           |         goto label_4;
                                         |     }
    0x00008704 sll v0, v0, 2             |     v0 <<= 2;
    0x00008708 addu s3, s5, v0           |     s3 = s5 + v0;
    0x0000870c lw v0, -0x7f98(gp)        |     v0 = *((gp - 8166));
    0x00008710 lw a0, -0x7fd4(gp)        |     a0 = *(gp);
    0x00008714 addiu v0, v0, 0x46b8      |     v0 += fcn.000046b8;
    0x00008718 sw v0, 0x20(sp)           |     *(var_20h) = v0;
    0x0000871c lw v0, -0x7fd4(gp)        |     v0 = *(gp);
    0x00008720 sll s0, s0, 2             |     s0 <<= 2;
                                         |     /* esilref: '-- ' */
    0x00008724 addiu v0, v0, 0x29ac      |     v0 += 0x29ac;
    0x00008728 sw v0, 0x30(sp)           |     *(var_30h) = v0;
    0x0000872c lw v0, -0x7fd4(gp)        |     v0 = *(gp);
    0x00008730 addiu v1, s0, -4          |     v1 = s0 + -4;
    0x00008734 addiu v0, v0, 0x3674      |     v0 += 0x3674;
    0x00008738 sw v0, 0x2c(sp)           |     *(var_2ch) = v0;
    0x0000873c lw v0, -0x7f98(gp)        |     v0 = *((gp - 8166));
    0x00008740 sw a0, 0x24(sp)           |     *(var_24h) = a0;
    0x00008744 lw a0, -0x7fd4(gp)        |     a0 = *(gp);
    0x00008748 addu v1, s5, v1           |     v1 = s5 + v1;
    0x0000874c addiu v0, v0, 0x42d0      |     v0 += 0x42d0;
    0x00008750 move s0, s5               |     s0 = s5;
    0x00008754 sw a0, 0x38(sp)           |     *(var_38h) = a0;
    0x00008758 sw v1, 0x28(sp)           |     *(var_28h) = v1;
    0x0000875c move a0, zero             |     a0 = 0;
    0x00008760 addiu s7, sp, 0x54        |     s7 = sp + 0x54;
    0x00008764 addiu s6, sp, 0x48        |     s6 = sp + 0x48;
    0x00008768 addiu s5, sp, 0x50        |     s5 = sp + 0x50;
    0x0000876c addiu fp, sp, 0x4c        |     fp = sp + 0x4c;
    0x00008770 sw v0, 0x3c(sp)           |     *(var_3ch) = v0;
    0x00008774 b 0x8854                  |     goto label_2;
                                         | label_0:
    0x00008778 lw a0, 0x50(sp)           |     a0 = *(var_50h);
                                         |     do {
    0x0000877c lw t9, -0x7f1c(gp)        |         t9 = sym.okname;
                                         |         if (a0 != 0) {
    0x00008780 beqz a0, 0x8794           |             
    0x00008784 bal 0x5740                |             sym_okname ();
    0x00008788 nop                       |             
    0x0000878c lw gp, 0x18(sp)           |             gp = *(var_18h);
                                         |             if (v0 == 0) {
    0x00008790 beqz v0, 0x89b0           |                 goto label_5;
                                         |             }
                                         |         }
    0x00008794 lw v0, 0x48(sp)           |         v0 = *(var_48h);
    0x00008798 lw v0, 0x4c(sp)           |         v0 = *(var_4ch);
                                         |         if (v0 == 0) {
    0x0000879c beqz v0, 0x88d0           |             goto label_6;
                                         |         }
    0x000087a0 addiu v1, zero, 0x2d      |         v1 = 0x2d;
    0x000087a4 lb a0, (v0)               |         a0 = *(v0);
    0x000087a8 lw a3, 0x30(sp)           |         a3 = *(var_30h);
                                         |         if (a0 != v1) {
    0x000087ac beq a0, v1, 0x87b4        |             
    0x000087b0 lw a3, 0x2c(sp)           |             a3 = *(var_2ch);
                                         |         }
    0x000087b4 lw v1, 0x24(sp)           |         v1 = *(var_24h);
    0x000087b8 lw t9, -0x7f14(gp)        |         t9 = sym.xasprintf
    0x000087bc lw a2, -0x7f10(gp)        |         a2 = *(gp);
    0x000087c0 addiu a1, v1, 0x29dc      |         a1 = v1 + 0x29dc;
    0x000087c4 addiu a0, sp, 0x44        |         a0 = sp + 0x44;
    0x000087c8 lw s2, -0x7f68(gp)        |         s2 = *(gp);
    0x000087cc lw s1, -0x7f84(gp)        |         s1 = *(gp);
    0x000087d0 sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x000087d4 bal 0xb81c                |         sym_xasprintf ()
    0x000087d8 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x000087dc lw a3, 0x44(sp)           |         a3 = *(var_44h);
    0x000087e0 lw a2, 0x54(sp)           |         a2 = *(var_54h);
    0x000087e4 lw t9, -0x7f0c(gp)        |         t9 = sym.do_cmd;
    0x000087e8 lw a1, 0x50(sp)           |         a1 = *(var_50h);
    0x000087ec lw a0, 0x48(sp)           |         a0 = *(var_48h);
    0x000087f0 sw s2, 0x14(sp)           |         *(var_14h) = s2;
    0x000087f4 sw s1, 0x10(sp)           |         *(var_10h) = s1;
    0x000087f8 bal 0x4744                |         sym_do_cmd ();
    0x000087fc lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         |         if (v0 < 0) {
    0x00008800 bltz v0, 0x8a48           |             goto label_7;
                                         |         }
    0x00008804 lw t9, -0x7b60(gp)        |         t9 = sym.imp.free;
    0x00008808 lw a0, 0x44(sp)           |         a0 = *(var_44h);
    0x0000880c jalr t9                   |         t9 ();
    0x00008810 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00008814 lw a2, 0x4c(sp)           |         a2 = *(var_4ch);
    0x00008818 lw a1, 0x28(sp)           |         a1 = *(var_28h);
    0x0000881c lw t9, -0x7ee8(gp)        |         t9 = sym.sink;
    0x00008820 addiu a0, zero, 1         |         a0 = 1;
    0x00008824 bal 0x6c84                |         sym_sink ();
    0x00008828 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x0000882c lw t9, -0x7c1c(gp)        |         t9 = sym.imp.close;
    0x00008830 lw a0, (s1)               |         a0 = *(s1);
    0x00008834 jalr t9                   |         t9 ();
    0x00008838 addiu v0, zero, -1        |         v0 = -1;
    0x0000883c lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00008840 sw v0, (s2)               |         *(s2) = v0;
    0x00008844 sw v0, (s1)               |         *(s1) = v0;
                                         | label_1:
    0x00008848 addiu s0, s0, 4           |         s0 += 4;
    0x0000884c lw a0, 0x50(sp)           |         a0 = *(var_50h);
                                         |         if (s0 == s3) {
    0x00008850 beq s0, s3, 0x89d8        |             goto label_3;
                                         |         }
                                         | label_2:
    0x00008854 lw t9, -0x7b60(gp)        |         t9 = sym.imp.free;
    0x00008858 jalr t9                   |         t9 ();
    0x0000885c nop                       |         
    0x00008860 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00008864 lw t9, -0x7b60(gp)        |         t9 = sym.imp.free;
    0x00008868 lw a0, 0x48(sp)           |         a0 = *(var_48h);
    0x0000886c jalr t9                   |         t9 ();
    0x00008870 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00008874 lw t9, -0x7b60(gp)        |         t9 = sym.imp.free;
    0x00008878 lw a0, 0x4c(sp)           |         a0 = *(var_4ch);
    0x0000887c jalr t9                   |         t9 ();
    0x00008880 lw a0, (s0)               |         a0 = *(s0);
    0x00008884 lw t9, 0x20(sp)           |         t9 = *(var_20h);
    0x00008888 sw fp, 0x10(sp)           |         *(var_10h) = fp;
    0x0000888c move a3, s7               |         a3 = s7;
    0x00008890 move a2, s6               |         a2 = s6;
    0x00008894 move a1, s5               |         a1 = s5;
    0x00008898 jalr t9                   |         t9 ();
    0x0000889c addiu v1, zero, -1        |         v1 = -1;
    0x000088a0 lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         |         if (v0 == v1) {
    0x000088a4 beq v0, v1, 0x8a78        |             goto label_8;
                                         |         }
    0x000088a8 lw a0, 0x50(sp)           |         a0 = *(var_50h);
    0x000088ac beqz v0, 0x877c           |         
                                         |     } while (v0 == 0);
    0x000088b0 lw t9, -0x7f20(gp)        |     t9 = sym.parse_user_host_path;
    0x000088b4 lw a0, (s0)               |     a0 = *(s0);
    0x000088b8 move a3, fp               |     a3 = fp;
    0x000088bc move a2, s6               |     a2 = s6;
    0x000088c0 move a1, s5               |     a1 = s5;
    0x000088c4 bal 0xe664                |     sym_parse_user_host_path ();
    0x000088c8 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x000088cc b 0x8778                  |     goto label_0;
                                         | label_6:
    0x000088d0 lw t9, -0x7f04(gp)        |     t9 = sym.freeargs;
    0x000088d4 lw s1, -0x7fd4(gp)        |     s1 = *(gp);
    0x000088d8 move a0, s4               |     a0 = s4;
    0x000088dc bal 0xecec                |     sym_freeargs ();
    0x000088e0 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x000088e4 lw v0, 0x38(sp)           |     v0 = *(var_38h);
                                         |     /* esilref: '&s' */
    0x000088e8 addiu a1, s1, 0x4198      |     a1 = s1 + 0x4198;
    0x000088ec lw t9, -0x7f8c(gp)        |     t9 = sym.addargs;
    0x000088f0 addiu a2, v0, 0x2d14      |     a2 = v0 + 0x2d14;
    0x000088f4 move a0, s4               |     a0 = s4;
    0x000088f8 bal 0xea60                |     sym_addargs ();
    0x000088fc lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00008900 lw v0, -0x7f28(gp)        |     v0 = *(gp);
    0x00008904 lw v0, (v0)               |     v0 = *(v0);
    0x00008908 lw v0, -0x7f48(gp)        |     v0 = *(gp);
                                         |     if (v0 != 0) {
    0x0000890c beqz v0, 0x892c           |         
    0x00008910 lw a1, -0x7fd4(gp)        |         a1 = *(gp);
    0x00008914 lw t9, -0x7f8c(gp)        |         t9 = sym.addargs;
                                         |         /* esilref: '-r' */
    0x00008918 addiu a1, a1, 0x2d18      |         a1 += 0x2d18;
    0x0000891c move a0, s4               |         a0 = s4;
    0x00008920 bal 0xea60                |         sym_addargs ();
    0x00008924 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00008928 lw v0, -0x7f48(gp)        |         v0 = *(gp);
                                         |     }
    0x0000892c lw v0, (v0)               |     v0 = *(v0);
    0x00008930 lw a1, -0x7fd4(gp)        |     a1 = *(gp);
                                         |     if (v0 != 0) {
    0x00008934 beqz v0, 0x8954           |         
    0x00008938 lw a1, -0x7fd4(gp)        |         a1 = *(gp);
    0x0000893c lw t9, -0x7f8c(gp)        |         t9 = sym.addargs;
                                         |         /* esilref: '-p' */
    0x00008940 addiu a1, a1, 0x27b8      |         a1 += 0x27b8;
    0x00008944 move a0, s4               |         a0 = s4;
    0x00008948 bal 0xea60                |         sym_addargs ();
    0x0000894c lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00008950 lw a1, -0x7fd4(gp)        |         a1 = *(gp);
                                         |     }
    0x00008954 lw t9, -0x7f8c(gp)        |     t9 = sym.addargs;
                                         |     /* esilref: '--' */
    0x00008958 addiu a1, a1, 0x27c4      |     a1 += 0x27c4;
    0x0000895c move a0, s4               |     a0 = s4;
    0x00008960 bal 0xea60                |     sym_addargs ();
    0x00008964 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00008968 lw a2, (s0)               |     a2 = *(s0);
                                         |     /* esilref: '&s' */
    0x0000896c addiu a1, s1, 0x4198      |     a1 = s1 + 0x4198;
    0x00008970 lw t9, -0x7f8c(gp)        |     t9 = sym.addargs;
    0x00008974 move a0, s4               |     a0 = s4;
    0x00008978 bal 0xea60                |     sym_addargs ();
    0x0000897c lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00008980 lw v0, 0x28(sp)           |     v0 = *(var_28h);
                                         |     /* esilref: '&s' */
    0x00008984 addiu a1, s1, 0x4198      |     a1 = s1 + 0x4198;
    0x00008988 lw t9, -0x7f8c(gp)        |     t9 = sym.addargs;
    0x0000898c lw a2, (v0)               |     a2 = *(v0);
    0x00008990 move a0, s4               |     a0 = s4;
    0x00008994 bal 0xea60                |     sym_addargs ();
    0x00008998 lw t9, 0x3c(sp)           |     t9 = *(var_3ch);
    0x0000899c addiu a1, sp, 0x5c        |     a1 = sp + 0x5c;
    0x000089a0 move a0, s4               |     a0 = s4;
    0x000089a4 jalr t9                   |     t9 ();
    0x000089a8 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v0 == 0) {
    0x000089ac beqz v0, 0x8848           |         goto label_1;
                                         |     }
                                         | label_5:
    0x000089b0 lw s1, -0x7f80(gp)        |     s1 = *(gp);
    0x000089b4 lw t9, -0x7f7c(gp)        |     t9 = *(gp);
    0x000089b8 addiu a1, zero, 1         |     a1 = 1;
    0x000089bc lw a0, (s1)               |     a0 = *(s1);
    0x000089c0 addiu s0, s0, 4           |     s0 += 4;
    0x000089c4 bal 0x1d880               |     fcn_0001d880 ();
    0x000089c8 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x000089cc sw v0, (s1)               |     *(s1) = v0;
    0x000089d0 lw a0, 0x50(sp)           |     a0 = *(var_50h);
                                         |     if (s0 != s3) {
    0x000089d4 bne s0, s3, 0x8854        |         goto label_2;
                                         |     }
                                         | label_3:
    0x000089d8 lw t9, -0x7b60(gp)        |     t9 = sym.imp.free;
    0x000089dc jalr t9                   |     t9 ();
    0x000089e0 nop                       |     
    0x000089e4 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x000089e8 lw t9, -0x7b60(gp)        |     t9 = sym.imp.free;
    0x000089ec lw a0, 0x48(sp)           |     a0 = *(var_48h);
    0x000089f0 jalr t9                   |     t9 ();
    0x000089f4 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x000089f8 lw t9, -0x7b60(gp)        |     t9 = sym.imp.free;
    0x000089fc lw a0, 0x4c(sp)           |     a0 = *(var_4ch);
    0x00008a00 jalr t9                   |     t9 ();
    0x00008a04 lw v0, 0x34(sp)           |     v0 = *(var_34h);
    0x00008a08 lw v1, 0x64(sp)           |     v1 = *(var_64h);
    0x00008a0c lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00008a10 lw v0, (v0)               |     v0 = *(v0);
    0x00008a14 lw ra, 0x8c(sp)           |     ra = *(var_8ch);
                                         |     if (v1 != v0) {
    0x00008a18 bne v1, v0, 0x8aa8        |         goto label_9;
                                         |     }
    0x00008a1c lw fp, 0x88(sp)           |     fp = *(var_88h);
    0x00008a20 lw s7, 0x84(sp)           |     s7 = *(var_84h);
    0x00008a24 lw s6, 0x80(sp)           |     s6 = *(var_80h);
    0x00008a28 lw s5, 0x7c(sp)           |     s5 = *(var_7ch);
    0x00008a2c lw s4, 0x78(sp)           |     s4 = *(var_78h);
    0x00008a30 lw s3, 0x74(sp)           |     s3 = *(var_74h);
    0x00008a34 lw s2, 0x70(sp)           |     s2 = *(var_70h);
    0x00008a38 lw s1, 0x6c(sp)           |     s1 = *(var_6ch);
    0x00008a3c lw s0, 0x68(sp)           |     s0 = *(var_68h);
    0x00008a40 addiu sp, sp, 0x90        |     
    0x00008a44 jr ra                     |     return v1;
                                         | label_7:
    0x00008a48 lw t9, -0x7b60(gp)        |     t9 = sym.imp.free;
    0x00008a4c lw s1, -0x7f80(gp)        |     s1 = *(gp);
    0x00008a50 lw a0, 0x44(sp)           |     a0 = *(var_44h);
    0x00008a54 jalr t9                   |     t9 ();
    0x00008a58 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     do {
    0x00008a5c lw a0, (s1)               |         a0 = *(s1);
    0x00008a60 lw t9, -0x7f7c(gp)        |         t9 = *(gp);
    0x00008a64 addiu a1, zero, 1         |         a1 = 1;
    0x00008a68 bal 0x1d880               |         fcn_0001d880 ();
    0x00008a6c lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00008a70 sw v0, (s1)               |         *(s1) = v0;
    0x00008a74 b 0x8848                  |         goto label_1;
                                         | label_8:
    0x00008a78 lw v0, -0x7bc0(gp)        |         v0 = *((gp - 7920));
    0x00008a7c lw a1, -0x7fd4(gp)        |         a1 = *(gp);
    0x00008a80 lw t9, -0x7fb0(gp)        |         t9 = sym.fmprintf;
    0x00008a84 lw a2, (s0)               |         a2 = *(s0);
    0x00008a88 lw a0, (v0)               |         a0 = *(v0);
    0x00008a8c lw s1, -0x7f80(gp)        |         s1 = *(gp);
                                         |         /* str._s:_invalid_uri_n */
    0x00008a90 addiu a1, a1, 0x29b4      |         a1 += 0x29b4;
    0x00008a94 bal 0x144a8               |         sym_fmprintf ();
    0x00008a98 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00008a9c b 0x8a5c                  |         
                                         |     } while (1);
                                         | label_4:
    0x00008aa0 move a0, zero             |     a0 = 0;
    0x00008aa4 b 0x89d8                  |     goto label_3;
                                         | label_9:
    0x00008aa8 lw t9, -0x7c30(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x00008aac jalr t9                   |     t9 ();
    0x00008ab0 nop                       |     
    0x00008ab4 nop                       |     
    0x00008ab8 nop                       |     
    0x00008abc nop                       |     
    0x00008ac0 lui gp, 3                 |     
    0x00008ac4 addiu gp, gp, 0x55b0      |     
    0x00008ac8 addu gp, gp, t9           |     gp += t9;
    0x00008acc lw v0, -0x7f6c(gp)        |     v0 = *((gp - 8155));
    0x00008ad0 addiu v1, zero, 1         |     v1 = 1;
    0x00008ad4 sw v1, 0x6644(v0)         |     *((v0 + 6545)) = v1;
    0x00008ad8 jr ra                     |     return v1;
    0x00008adc nop                       |     
                                         | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/scp.openssh @ 0x6108 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.toremote ()              | void toremote () {
    0x00006108 lui gp, 3                 |     
    0x0000610c addiu gp, gp, 0x7f68      |     
    0x00006110 addu gp, gp, t9           |     gp += t9;
    0x00006114 addiu sp, sp, -0xb0       |     
    0x00006118 lw v1, -0x7bfc(gp)        |     v1 = *((gp - 7935));
    0x0000611c sll v0, a0, 2             |     v0 = a0 << 2;
    0x00006120 addiu v0, v0, -4          |     v0 += -4;
    0x00006124 sw gp, 0x20(sp)           |     *(var_20h) = gp;
    0x00006128 sw fp, 0xa8(sp)           |     *(var_a8h) = fp;
    0x0000612c sw s7, 0xa4(sp)           |     *(var_a4h) = s7;
    0x00006130 sw s6, 0xa0(sp)           |     *(var_a0h) = s6;
    0x00006134 sw s5, 0x9c(sp)           |     *(var_9ch) = s5;
    0x00006138 sw s4, 0x98(sp)           |     *(var_98h) = s4;
    0x0000613c sw s3, 0x94(sp)           |     *(var_94h) = s3;
    0x00006140 sw s2, 0x90(sp)           |     *(var_90h) = s2;
    0x00006144 sw s1, 0x8c(sp)           |     *(var_8ch) = s1;
    0x00006148 sw s0, 0x88(sp)           |     *(var_88h) = s0;
    0x0000614c sw ra, 0xac(sp)           |     *(var_ach) = ra;
    0x00006150 addu fp, a1, v0           |     fp = a1 + v0;
    0x00006154 lw s4, -0x7f98(gp)        |     s4 = *((gp - 8166));
    0x00006158 lw v0, (v1)               |     v0 = *(v1);
    0x0000615c addiu s1, sp, 0x78        |     s1 = sp + 0x78;
    0x00006160 addiu s2, zero, -1        |     s2 = -1;
    0x00006164 addiu t9, s4, 0x46b8      |     t9 = s4 + fcn.000046b8;
    0x00006168 move s3, a0               |     s3 = a0;
    0x0000616c addiu s6, sp, 0x68        |     s6 = sp + 0x68;
    0x00006170 lw a0, (fp)               |     a0 = *(fp);
    0x00006174 addiu s5, sp, 0x64        |     s5 = sp + 0x64;
    0x00006178 addiu s7, sp, 0x6c        |     s7 = sp + 0x6c;
    0x0000617c sw s7, 0x10(sp)           |     *(var_10h) = s7;
    0x00006180 sw zero, 0x78(sp)         |     *(var_78h) = 0;
    0x00006184 move s0, a1               |     s0 = a1;
    0x00006188 sw v1, 0x4c(sp)           |     *(var_4ch) = v1;
    0x0000618c addiu a3, sp, 0x74        |     a3 = sp + 0x74;
    0x00006190 move a2, s6               |     a2 = s6;
    0x00006194 move a1, s5               |     a1 = s5;
    0x00006198 sw t9, 0x30(sp)           |     *(var_30h) = t9;
    0x0000619c sw v0, 0x84(sp)           |     *(var_84h) = v0;
    0x000061a0 sw zero, 0x54(sp)         |     *(var_54h) = 0;
    0x000061a4 sw zero, 0x58(sp)         |     *(var_58h) = 0;
    0x000061a8 sw zero, 0x5c(sp)         |     *(var_5ch) = 0;
    0x000061ac sw s2, 0x70(sp)           |     *(var_70h) = s2;
    0x000061b0 sw s2, 0x74(sp)           |     *(var_74h) = s2;
    0x000061b4 sw zero, 4(s1)            |     *(var_7ch) = 0;
    0x000061b8 sw zero, 8(s1)            |     *(var_8h) = 0;
    0x000061bc bal 0x46b8                |     fcn_000046b8 ();
    0x000061c0 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 == s2) {
    0x000061c4 beq v0, s2, 0x6774        |         goto label_7;
                                         |     }
    0x000061c8 lw t9, -0x7f20(gp)        |     t9 = sym.parse_user_host_path;
                                         |     if (v0 != 0) {
    0x000061cc bnez v0, 0x6854           |         goto label_8;
                                         |     }
                                         | label_4:
    0x000061d0 lw a0, 0x64(sp)           |     a0 = *(var_64h);
    0x000061d4 lw t9, -0x7f1c(gp)        |     t9 = sym.okname;
                                         |     if (a0 != 0) {
    0x000061d8 beqz a0, 0x61ec           |         
    0x000061dc bal 0x5740                |         sym_okname ();
    0x000061e0 nop                       |         
    0x000061e4 lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |         if (v0 == 0) {
    0x000061e8 beqz v0, 0x6890           |             goto label_9;
                                         |         }
                                         |     }
    0x000061ec lw t9, -0x7f7c(gp)        |     t9 = *(gp);
    0x000061f0 addiu a1, zero, -1        |     a1 = -1;
    0x000061f4 move a0, s3               |     a0 = s3;
    0x000061f8 bal 0x1d880               |     fcn_0001d880 ();
    0x000061fc sw v0, 0x34(sp)           |     *(var_34h) = v0;
    0x00006200 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 <= 0) {
    0x00006204 blez v0, 0x67b4           |         goto label_6;
                                         |     }
    0x00006208 lw v0, -0x7fd4(gp)        |     v0 = *(gp);
    0x0000620c sw zero, 0x2c(sp)         |     *(var_2ch) = 0;
    0x00006210 sw v0, 0x44(sp)           |     *(var_44h) = v0;
    0x00006214 lw v0, -0x7fd4(gp)        |     v0 = *(gp);
    0x00006218 addiu s5, sp, 0x70        |     s5 = sp + 0x70;
                                         |     /* esilref: '-- ' */
    0x0000621c addiu v0, v0, 0x29ac      |     v0 += 0x29ac;
    0x00006220 sw v0, 0x48(sp)           |     *(var_48h) = v0;
    0x00006224 lw v0, -0x7fd4(gp)        |     v0 = *(gp);
    0x00006228 addiu s7, sp, 0x58        |     s7 = sp + 0x58;
    0x0000622c addiu v0, v0, 0x3674      |     v0 += 0x3674;
    0x00006230 sw v0, 0x3c(sp)           |     *(var_3ch) = v0;
    0x00006234 lw v0, -0x7f98(gp)        |     v0 = *((gp - 8166));
    0x00006238 addiu s4, sp, 0x54        |     s4 = sp + 0x54;
    0x0000623c addiu v0, v0, 0x42d0      |     v0 += 0x42d0;
    0x00006240 addiu fp, sp, 0x5c        |     fp = sp + 0x5c;
    0x00006244 sw v0, 0x40(sp)           |     *(var_40h) = v0;
    0x00006248 b 0x63c0                  |     goto label_10;
                                         | label_0:
    0x0000624c lw a0, 0x54(sp)           |     a0 = *(var_54h);
                                         |     do {
    0x00006250 lw t9, -0x7f1c(gp)        |         t9 = sym.okname;
                                         |         if (a0 != 0) {
    0x00006254 beqz a0, 0x6268           |             
    0x00006258 bal 0x5740                |             sym_okname ();
    0x0000625c nop                       |             
    0x00006260 lw gp, 0x20(sp)           |             gp = *(var_20h);
                                         |             if (v0 == 0) {
    0x00006264 beqz v0, 0x6650           |                 goto label_11;
                                         |             }
                                         |         }
    0x00006268 lw v0, 0x58(sp)           |         v0 = *(var_58h);
    0x0000626c lw v0, -0x7f18(gp)        |         v0 = *(gp);
                                         |         if (v0 == 0) {
    0x00006270 beqz v0, 0x6670           |             goto label_12;
                                         |         }
    0x00006274 lw v0, (v0)               |         v0 = *(v0);
    0x00006278 lw v0, 0x74(sp)           |         v0 = *(var_74h);
                                         |         if (v0 == 0) {
    0x0000627c beqz v0, 0x643c           |             goto label_13;
                                         |         }
    0x00006280 lw v0, 0x5c(sp)           |         v0 = *(var_5ch);
    0x00006284 addiu a0, zero, 0x2d      |         a0 = 0x2d;
    0x00006288 lb a1, (v0)               |         a1 = *(v0);
    0x0000628c lw a3, 0x48(sp)           |         a3 = *(var_48h);
                                         |         if (a1 != a0) {
    0x00006290 beq a1, a0, 0x6298        |             
    0x00006294 lw a3, 0x3c(sp)           |             a3 = *(var_3ch);
                                         |         }
    0x00006298 lw a1, -0x7fd4(gp)        |         a1 = *(gp);
    0x0000629c lw t9, -0x7f14(gp)        |         t9 = sym.xasprintf
    0x000062a0 lw a2, -0x7f10(gp)        |         a2 = *(gp);
    0x000062a4 addiu s6, sp, 0x60        |         s6 = sp + 0x60;
                                         |         /* str._s__f__s_s */
    0x000062a8 addiu a1, a1, 0x29dc      |         a1 += 0x29dc;
    0x000062ac move a0, s6               |         a0 = s6;
    0x000062b0 lw s3, -0x7f68(gp)        |         s3 = *(gp);
    0x000062b4 lw s2, -0x7f84(gp)        |         s2 = *(gp);
    0x000062b8 sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x000062bc bal 0xb81c                |         sym_xasprintf ()
    0x000062c0 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x000062c4 lw a3, 0x60(sp)           |         a3 = *(var_60h);
    0x000062c8 lw a2, 0x70(sp)           |         a2 = *(var_70h);
    0x000062cc lw t9, -0x7f0c(gp)        |         t9 = sym.do_cmd;
    0x000062d0 lw a1, 0x54(sp)           |         a1 = *(var_54h);
    0x000062d4 lw a0, 0x58(sp)           |         a0 = *(var_58h);
    0x000062d8 sw s3, 0x14(sp)           |         *(var_14h) = s3;
    0x000062dc sw s2, 0x10(sp)           |         *(var_10h) = s2;
    0x000062e0 bal 0x4744                |         sym_do_cmd ();
    0x000062e4 lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |         if (v0 < 0) {
    0x000062e8 bltz v0, 0x68b0           |             goto label_14;
                                         |         }
    0x000062ec lw t9, -0x7b60(gp)        |         t9 = sym.imp.free;
    0x000062f0 lw a0, 0x60(sp)           |         a0 = *(var_60h);
    0x000062f4 jalr t9                   |         t9 ();
    0x000062f8 lw v0, 0x6c(sp)           |         v0 = *(var_6ch);
    0x000062fc addiu a0, zero, 0x2d      |         a0 = 0x2d;
    0x00006300 lb a1, (v0)               |         a1 = *(v0);
    0x00006304 lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |         if (a1 == a0) {
    0x00006308 beq a1, a0, 0x676c        |             goto label_15;
                                         |         }
    0x0000630c lw a3, 0x3c(sp)           |         a3 = *(var_3ch);
                                         | label_3:
    0x00006310 lw v1, 0x44(sp)           |         v1 = *(var_44h);
    0x00006314 lw t9, -0x7f14(gp)        |         t9 = sym.xasprintf
    0x00006318 lw a2, -0x7f10(gp)        |         a2 = *(gp);
    0x0000631c addiu a1, v1, 0x29e8      |         a1 = v1 + 0x29e8;
    0x00006320 move a0, s6               |         a0 = s6;
    0x00006324 sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x00006328 bal 0xb81c                |         sym_xasprintf ()
    0x0000632c lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00006330 lw t4, (s3)               |         t4 = *(s3);
    0x00006334 lw v0, (s2)               |         v0 = *(s2);
    0x00006338 lw t9, -0x7f08(gp)        |         t9 = sym.do_cmd2;
    0x0000633c lw a3, 0x60(sp)           |         a3 = *(var_60h);
    0x00006340 lw a2, 0x74(sp)           |         a2 = *(var_74h);
    0x00006344 lw a1, 0x64(sp)           |         a1 = *(var_64h);
    0x00006348 lw a0, 0x68(sp)           |         a0 = *(var_68h);
    0x0000634c sw t4, 0x14(sp)           |         *(var_14h) = t4;
    0x00006350 sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x00006354 bal 0x4c38                |         sym_do_cmd2 ();
    0x00006358 lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |         if (v0 < 0) {
    0x0000635c bltz v0, 0x68b0           |             goto label_14;
                                         |         }
    0x00006360 lw t9, -0x7b60(gp)        |         t9 = sym.imp.free;
    0x00006364 lw a0, 0x60(sp)           |         a0 = *(var_60h);
    0x00006368 jalr t9                   |         t9 ();
    0x0000636c lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00006370 lw t9, -0x7c1c(gp)        |         t9 = sym.imp.close;
    0x00006374 lw a0, (s2)               |         a0 = *(s2);
    0x00006378 jalr t9                   |         t9 ();
    0x0000637c lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00006380 lw t9, -0x7c1c(gp)        |         t9 = sym.imp.close;
    0x00006384 lw a0, (s3)               |         a0 = *(s3);
    0x00006388 jalr t9                   |         t9 ();
    0x0000638c addiu v0, zero, -1        |         v0 = -1;
    0x00006390 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00006394 sw v0, (s3)               |         *(s3) = v0;
    0x00006398 sw v0, (s2)               |         *(s2) = v0;
                                         | label_1:
    0x0000639c lw t9, -0x7f7c(gp)        |         t9 = *(gp);
    0x000063a0 lw a0, 0x2c(sp)           |         a0 = *(var_2ch);
    0x000063a4 addiu a1, zero, 1         |         a1 = 1;
    0x000063a8 bal 0x1d880               |         fcn_0001d880 ();
    0x000063ac lw v1, 0x34(sp)           |         v1 = *(var_34h);
    0x000063b0 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x000063b4 sw v0, 0x2c(sp)           |         *(var_2ch) = v0;
    0x000063b8 addiu s0, s0, 4           |         s0 += 4;
                                         |         if (v0 == v1) {
    0x000063bc beq v0, v1, 0x67b4        |             goto label_6;
                                         |         }
                                         | label_10:
    0x000063c0 lw t9, -0x7b60(gp)        |         t9 = sym.imp.free;
    0x000063c4 lw a0, 0x54(sp)           |         a0 = *(var_54h);
    0x000063c8 jalr t9                   |         t9 ();
    0x000063cc lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x000063d0 lw t9, -0x7b60(gp)        |         t9 = sym.imp.free;
    0x000063d4 lw a0, 0x58(sp)           |         a0 = *(var_58h);
    0x000063d8 jalr t9                   |         t9 ();
    0x000063dc lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x000063e0 lw t9, -0x7b60(gp)        |         t9 = sym.imp.free;
    0x000063e4 lw a0, 0x5c(sp)           |         a0 = *(var_5ch);
    0x000063e8 jalr t9                   |         t9 ();
    0x000063ec lw a0, (s0)               |         a0 = *(s0);
    0x000063f0 lw t9, 0x30(sp)           |         t9 = *(var_30h);
    0x000063f4 sw fp, 0x10(sp)           |         *(var_10h) = fp;
    0x000063f8 move a3, s5               |         a3 = s5;
    0x000063fc move a2, s7               |         a2 = s7;
    0x00006400 move a1, s4               |         a1 = s4;
    0x00006404 jalr t9                   |         t9 ();
    0x00006408 addiu a0, zero, -1        |         a0 = -1;
    0x0000640c lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |         if (v0 == a0) {
    0x00006410 beq v0, a0, 0x6720        |             goto label_16;
                                         |         }
    0x00006414 lw a0, 0x54(sp)           |         a0 = *(var_54h);
    0x00006418 beqz v0, 0x6250           |         
                                         |     } while (v0 == 0);
    0x0000641c lw t9, -0x7f20(gp)        |     t9 = sym.parse_user_host_path;
    0x00006420 lw a0, (s0)               |     a0 = *(s0);
    0x00006424 move a3, fp               |     a3 = fp;
    0x00006428 move a2, s7               |     a2 = s7;
    0x0000642c move a1, s4               |     a1 = s4;
    0x00006430 bal 0xe664                |     sym_parse_user_host_path ();
    0x00006434 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00006438 b 0x624c                  |     goto label_0;
                                         | label_13:
    0x0000643c addiu a0, zero, -1        |     a0 = -1;
    0x00006440 addiu a0, zero, 0x16      |     a0 = 0x16;
                                         |     if (v0 != a0) {
    0x00006444 beq v0, a0, 0x6450        |         
    0x00006448 lw v0, -0x7fd4(gp)        |         v0 = *(gp);
                                         |         if (v0 != a0) {
    0x0000644c bne v0, a0, 0x68c8        |             goto label_17;
                                         |         }
                                         |     }
    0x00006450 lw t9, -0x7f04(gp)        |     t9 = sym.freeargs;
    0x00006454 move a0, s1               |     a0 = s1;
    0x00006458 bal 0xecec                |     sym_freeargs ();
    0x0000645c lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00006460 move a0, s1               |     a0 = s1;
    0x00006464 lw v0, -0x7fa0(gp)        |     v0 = *(gp);
    0x00006468 lw s2, -0x7fd4(gp)        |     s2 = *(gp);
    0x0000646c lw t9, -0x7f8c(gp)        |     t9 = sym.addargs;
    0x00006470 lw a2, (v0)               |     a2 = *(v0);
                                         |     /* esilref: '&s' */
    0x00006474 addiu a1, s2, 0x4198      |     a1 = s2 + 0x4198;
    0x00006478 sw s2, 0x38(sp)           |     *(var_38h) = s2;
    0x0000647c bal 0xea60                |     sym_addargs ();
    0x00006480 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00006484 move a0, s1               |     a0 = s1;
    0x00006488 lw a1, -0x7fd4(gp)        |     a1 = *(gp);
    0x0000648c lw t9, -0x7f8c(gp)        |     t9 = sym.addargs;
                                         |     /* esilref: '-x' */
    0x00006490 addiu a1, a1, 0x2a3c      |     a1 += 0x2a3c;
    0x00006494 bal 0xea60                |     sym_addargs ();
    0x00006498 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x0000649c move a0, s1               |     a0 = s1;
    0x000064a0 lw a1, -0x7fd4(gp)        |     a1 = *(gp);
    0x000064a4 lw t9, -0x7f8c(gp)        |     t9 = sym.addargs;
                                         |     /* str._oClearAllForwardingsyes */
    0x000064a8 addiu a1, a1, 0x2a40      |     a1 += 0x2a40;
    0x000064ac bal 0xea60                |     sym_addargs ();
    0x000064b0 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x000064b4 move a0, s1               |     a0 = s1;
    0x000064b8 lw s3, -0x7f00(gp)        |     s3 = *(gp);
    0x000064bc lw a1, -0x7fd4(gp)        |     a1 = *(gp);
    0x000064c0 lw t9, -0x7f8c(gp)        |     t9 = sym.addargs;
                                         |     /* esilref: '-n' */
    0x000064c4 addiu a1, a1, 0x2a5c      |     a1 += 0x2a5c;
    0x000064c8 bal 0xea60                |     sym_addargs ();
    0x000064cc lw v0, 4(s3)              |     v0 = *((s3 + 1));
    0x000064d0 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 == 0) {
    0x000064d4 beqz v0, 0x6510           |         goto label_18;
                                         |     }
    0x000064d8 move s6, zero             |     s6 = 0;
                                         |     /* esilref: '&s' */
    0x000064dc addiu s2, s2, 0x4198      |     s2 += 0x4198;
                                         |     do {
    0x000064e0 lw a2, (s3)               |         a2 = *(s3);
    0x000064e4 sll v0, s6, 2             |         v0 = s6 << 2;
    0x000064e8 lw t9, -0x7f8c(gp)        |         t9 = sym.addargs;
    0x000064ec lwx a2, v0(a2)            |         __asm ("lwx a2, v0(a2)");
    0x000064f0 move a1, s2               |         a1 = s2;
    0x000064f4 move a0, s1               |         a0 = s1;
    0x000064f8 bal 0xea60                |         sym_addargs ();
    0x000064fc lw v0, 4(s3)              |         v0 = *((s3 + 1));
    0x00006500 addiu s6, s6, 1           |         s6++;
    0x00006504 sltu v0, s6, v0           |         v0 = (s6 < v0) ? 1 : 0;
    0x00006508 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x0000650c bnez v0, 0x64e0           |         
                                         |     } while (v0 != 0);
                                         | label_18:
    0x00006510 lw a0, 0x70(sp)           |     a0 = *(var_70h);
    0x00006514 addiu v0, zero, -1        |     v0 = -1;
    0x00006518 lw v0, 0x54(sp)           |     v0 = *(var_54h);
                                         |     if (a0 != v0) {
    0x0000651c beq a0, v0, 0x6558        |         
    0x00006520 lw a1, -0x7fd4(gp)        |         a1 = *(gp);
    0x00006524 lw t9, -0x7f8c(gp)        |         t9 = sym.addargs;
                                         |         /* esilref: '-p' */
    0x00006528 addiu a1, a1, 0x27b8      |         a1 += 0x27b8;
    0x0000652c move a0, s1               |         a0 = s1;
    0x00006530 bal 0xea60                |         sym_addargs ();
    0x00006534 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00006538 lw a2, 0x70(sp)           |         a2 = *(var_70h);
    0x0000653c move a0, s1               |         a0 = s1;
    0x00006540 lw a1, -0x7fd4(gp)        |         a1 = *(gp);
    0x00006544 lw t9, -0x7f8c(gp)        |         t9 = sym.addargs;
                                         |         /* esilref: '&d' */
    0x00006548 addiu a1, a1, 0x27bc      |         a1 += 0x27bc;
    0x0000654c bal 0xea60                |         sym_addargs ();
    0x00006550 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00006554 lw v0, 0x54(sp)           |         v0 = *(var_54h);
                                         |     }
    0x00006558 lw a1, -0x7fd4(gp)        |     a1 = *(gp);
                                         |     if (v0 != 0) {
    0x0000655c beqz v0, 0x6590           |         
    0x00006560 lw t9, -0x7f8c(gp)        |         t9 = sym.addargs;
                                         |         /* esilref: '-l' */
    0x00006564 addiu a1, a1, 0x27c0      |         a1 += 0x27c0;
    0x00006568 move a0, s1               |         a0 = s1;
    0x0000656c bal 0xea60                |         sym_addargs ();
    0x00006570 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00006574 lw v0, 0x38(sp)           |         v0 = *(var_38h);
    0x00006578 lw a2, 0x54(sp)           |         a2 = *(var_54h);
    0x0000657c lw t9, -0x7f8c(gp)        |         t9 = sym.addargs;
    0x00006580 addiu a1, v0, 0x4198      |         a1 = v0 + 0x4198;
    0x00006584 move a0, s1               |         a0 = s1;
    0x00006588 bal 0xea60                |         sym_addargs ();
    0x0000658c lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |     }
    0x00006590 lw a1, -0x7fd4(gp)        |     a1 = *(gp);
    0x00006594 lw t9, -0x7f8c(gp)        |     t9 = sym.addargs;
                                         |     /* esilref: '--' */
    0x00006598 addiu a1, a1, 0x27c4      |     a1 += 0x27c4;
    0x0000659c move a0, s1               |     a0 = s1;
    0x000065a0 bal 0xea60                |     sym_addargs ();
    0x000065a4 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x000065a8 lw s2, 0x38(sp)           |     s2 = *(var_38h);
    0x000065ac lw a2, 0x58(sp)           |     a2 = *(var_58h);
    0x000065b0 lw t9, -0x7f8c(gp)        |     t9 = sym.addargs;
    0x000065b4 addiu a1, s2, 0x4198      |     a1 = s2 + 0x4198;
    0x000065b8 move a0, s1               |     a0 = s1;
    0x000065bc bal 0xea60                |     sym_addargs ();
    0x000065c0 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x000065c4 addiu a1, s2, 0x4198      |     a1 = s2 + 0x4198;
    0x000065c8 lw t9, -0x7f8c(gp)        |     t9 = sym.addargs;
    0x000065cc lw a2, -0x7f10(gp)        |     a2 = *(gp);
    0x000065d0 move a0, s1               |     a0 = s1;
    0x000065d4 bal 0xea60                |     sym_addargs ();
    0x000065d8 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x000065dc lw a2, 0x5c(sp)           |     a2 = *(var_5ch);
    0x000065e0 addiu a1, s2, 0x4198      |     a1 = s2 + 0x4198;
    0x000065e4 lw t9, -0x7f8c(gp)        |     t9 = sym.addargs;
    0x000065e8 move a0, s1               |     a0 = s1;
    0x000065ec bal 0xea60                |     sym_addargs ();
    0x000065f0 lw a2, 0x64(sp)           |     a2 = *(var_64h);
    0x000065f4 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (a2 == 0) {
    0x000065f8 beqz a2, 0x6760           |         goto label_19;
                                         |     }
    0x000065fc lw a3, -0x7fd4(gp)        |     a3 = *(gp);
    0x00006600 addiu a3, a3, 0x29b0      |     a3 += 0x29b0;
                                         | label_2:
    0x00006604 lw v0, 0x6c(sp)           |     v0 = *(var_6ch);
    0x00006608 lw a1, -0x7fd4(gp)        |     a1 = *(gp);
    0x0000660c sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x00006610 lw v0, 0x68(sp)           |     v0 = *(var_68h);
    0x00006614 lw t9, -0x7f8c(gp)        |     t9 = sym.addargs;
                                         |     /* str._s_s_s:_s */
    0x00006618 addiu a1, a1, 0x2a60      |     a1 += 0x2a60;
    0x0000661c move a0, s1               |     a0 = s1;
    0x00006620 nop                       |     
    0x00006624 invalid                   |     
    0x00006628 lw t9, 0x40(sp)           |     t9 = *(var_40h);
    0x0000662c addiu a1, sp, 0x7c        |     a1 = sp + 0x7c;
    0x00006630 nop                       |     
    0x00006634 move a0, s1               |     a0 = s1;
    0x00006638 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 == 0) {
    0x0000663c beqz v0, 0x639c           |         goto label_1;
                                         |     }
    0x00006640 lw v0, -0x7f80(gp)        |     v0 = *(gp);
    0x00006644 nop                       |     
    0x00006648 sw a0, (v0)               |     *(v0) = a0;
    0x0000664c b 0x639c                  |     goto label_1;
                                         | label_11:
    0x00006650 lw s2, -0x7f80(gp)        |     s2 = *(gp);
    0x00006654 lw t9, -0x7f7c(gp)        |     t9 = *(gp);
    0x00006658 addiu a1, zero, 1         |     a1 = 1;
    0x0000665c lw a0, (s2)               |     a0 = *(s2);
    0x00006660 bal 0x1d880               |     fcn_0001d880 ();
    0x00006664 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00006668 sw v0, (s2)               |     *(s2) = v0;
    0x0000666c b 0x639c                  |     goto label_1;
                                         | label_12:
    0x00006670 lw s2, -0x7f84(gp)        |     s2 = *(gp);
    0x00006674 addiu v0, zero, -1        |     v0 = -1;
    0x00006678 lw a0, (s2)               |     a0 = *(s2);
    0x0000667c lw v0, 0x6c(sp)           |     v0 = *(var_6ch);
                                         |     if (a0 == v0) {
    0x00006680 bne a0, v0, 0x6708        |         
    0x00006684 addiu a0, zero, 0x2d      |         a0 = 0x2d;
    0x00006688 lb a1, (v0)               |         a1 = *(v0);
    0x0000668c lw a3, 0x48(sp)           |         a3 = *(var_48h);
                                         |         if (a1 != a0) {
    0x00006690 beq a1, a0, 0x6698        |             
    0x00006694 lw a3, 0x3c(sp)           |             a3 = *(var_3ch);
                                         |         }
    0x00006698 lw v1, 0x44(sp)           |         v1 = *(var_44h);
    0x0000669c lw t9, -0x7f14(gp)        |         t9 = sym.xasprintf
    0x000066a0 lw a2, -0x7f10(gp)        |         a2 = *(gp);
    0x000066a4 addiu a1, v1, 0x29e8      |         a1 = v1 + 0x29e8;
    0x000066a8 addiu a0, sp, 0x60        |         a0 = sp + 0x60;
    0x000066ac sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x000066b0 bal 0xb81c                |         sym_xasprintf ()
    0x000066b4 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x000066b8 lw a3, 0x60(sp)           |         a3 = *(var_60h);
    0x000066bc lw a2, 0x74(sp)           |         a2 = *(var_74h);
    0x000066c0 lw v0, -0x7f68(gp)        |         v0 = *(gp);
    0x000066c4 lw t9, -0x7f0c(gp)        |         t9 = sym.do_cmd;
    0x000066c8 lw a1, 0x64(sp)           |         a1 = *(var_64h);
    0x000066cc lw a0, 0x68(sp)           |         a0 = *(var_68h);
    0x000066d0 sw v0, 0x14(sp)           |         *(var_14h) = v0;
    0x000066d4 sw s2, 0x10(sp)           |         *(var_10h) = s2;
    0x000066d8 bal 0x4744                |         sym_do_cmd ();
    0x000066dc lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |         if (v0 < 0) {
    0x000066e0 bltz v0, 0x68b0           |             goto label_14;
                                         |         }
    0x000066e4 lw t9, -0x7f70(gp)        |         t9 = sym.response;
    0x000066e8 bal 0x4fdc                |         sym_response ();
    0x000066ec nop                       |         
    0x000066f0 lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |         if (v0 < 0) {
    0x000066f4 bltz v0, 0x68b0           |             goto label_14;
                                         |         }
    0x000066f8 lw t9, -0x7b60(gp)        |         t9 = sym.imp.free;
    0x000066fc lw a0, 0x60(sp)           |         a0 = *(var_60h);
    0x00006700 jalr t9                   |         t9 ();
    0x00006704 lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |     }
    0x00006708 lw t9, -0x7efc(gp)        |     t9 = sym.source;
    0x0000670c move a1, s0               |     a1 = s0;
    0x00006710 addiu a0, zero, 1         |     a0 = 1;
    0x00006714 bal 0x599c                |     sym_source ();
    0x00006718 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x0000671c b 0x639c                  |     goto label_1;
                                         | label_16:
    0x00006720 lw v0, -0x7bc0(gp)        |     v0 = *((gp - 7920));
    0x00006724 lw a1, -0x7fd4(gp)        |     a1 = *(gp);
    0x00006728 lw t9, -0x7fb0(gp)        |     t9 = sym.fmprintf;
    0x0000672c lw a2, (s0)               |     a2 = *(s0);
    0x00006730 lw a0, (v0)               |     a0 = *(v0);
    0x00006734 lw s2, -0x7f80(gp)        |     s2 = *(gp);
                                         |     /* str._s:_invalid_uri_n */
    0x00006738 addiu a1, a1, 0x29b4      |     a1 += 0x29b4;
    0x0000673c bal 0x144a8               |     sym_fmprintf ();
    0x00006740 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00006744 lw a0, (s2)               |     a0 = *(s2);
    0x00006748 lw t9, -0x7f7c(gp)        |     t9 = *(gp);
    0x0000674c addiu a1, zero, 1         |     a1 = 1;
    0x00006750 bal 0x1d880               |     fcn_0001d880 ();
    0x00006754 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00006758 sw v0, (s2)               |     *(s2) = v0;
    0x0000675c b 0x639c                  |     goto label_1;
                                         | label_19:
    0x00006760 lw a3, 0x3c(sp)           |     a3 = *(var_3ch);
    0x00006764 move a2, a3               |     a2 = a3;
    0x00006768 b 0x6604                  |     goto label_2;
                                         | label_15:
    0x0000676c lw a3, 0x48(sp)           |     a3 = *(var_48h);
    0x00006770 b 0x6310                  |     goto label_3;
                                         | label_7:
    0x00006774 lw v0, -0x7bc0(gp)        |     v0 = *((gp - 7920));
    0x00006778 lw a1, -0x7fd4(gp)        |     a1 = *(gp);
    0x0000677c lw s0, -0x7f80(gp)        |     s0 = *(gp);
    0x00006780 lw a2, (fp)               |     a2 = *(fp);
    0x00006784 lw a0, (v0)               |     a0 = *(v0);
    0x00006788 lw t9, -0x7fb0(gp)        |     t9 = sym.fmprintf;
                                         |     /* str._s:_invalid_uri_n */
    0x0000678c addiu a1, a1, 0x29b4      |     a1 += 0x29b4;
                                         | label_5:
    0x00006790 bal 0x144a8               |     sym_fmprintf ();
    0x00006794 nop                       |     
    0x00006798 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x0000679c lw a0, (s0)               |     a0 = *(s0);
    0x000067a0 lw t9, -0x7f7c(gp)        |     t9 = *(gp);
    0x000067a4 addiu a1, zero, 1         |     a1 = 1;
    0x000067a8 bal 0x1d880               |     fcn_0001d880 ();
    0x000067ac lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x000067b0 sw v0, (s0)               |     *(s0) = v0;
                                         | label_6:
    0x000067b4 lw t9, -0x7b60(gp)        |     t9 = sym.imp.free;
    0x000067b8 movf zero, zero, fcc0     |     __asm ("movf zero, zero, fcc0");
    0x000067bc lw a0, 0x64(sp)           |     a0 = *(var_64h);
    0x000067c0 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x000067c4 lw t9, -0x7b60(gp)        |     t9 = sym.imp.free;
    0x000067c8 lw a0, 0x68(sp)           |     a0 = *(var_68h);
    0x000067cc jalr t9                   |     t9 ();
    0x000067d0 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x000067d4 lw t9, -0x7b60(gp)        |     t9 = sym.imp.free;
    0x000067d8 lw a0, 0x6c(sp)           |     a0 = *(var_6ch);
    0x000067dc jalr t9                   |     t9 ();
    0x000067e0 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x000067e4 lw t9, -0x7b60(gp)        |     t9 = sym.imp.free;
    0x000067e8 lw a0, 0x54(sp)           |     a0 = *(var_54h);
    0x000067ec jalr t9                   |     t9 ();
    0x000067f0 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x000067f4 lw t9, -0x7b60(gp)        |     t9 = sym.imp.free;
    0x000067f8 lw a0, 0x58(sp)           |     a0 = *(var_58h);
    0x000067fc jalr t9                   |     t9 ();
    0x00006800 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00006804 nop                       |     
    0x00006808 lw a0, 0x5c(sp)           |     a0 = *(var_5ch);
    0x0000680c jalr t9                   |     t9 ();
    0x00006810 invalid                   |     
    0x00006814 nop                       |     
    0x00006818 invalid                   |     
    0x0000681c nop                       |     
    0x00006820 nop                       |     
    0x00006824 nop                       |     
    0x00006828 nop                       |     
    0x0000682c nop                       |     
    0x00006830 nop                       |     
    0x00006834 nop                       |     
    0x00006838 nop                       |     
    0x0000683c lwl zero, (zero)          |     __asm ("lwl zero, (zero)");
    0x00006840 invalid                   |     
    0x00006844 lwl t0, 0x3d19(t9)        |     __asm ("lwl t0, 0x3d19(t9)");
    0x00006848 invalid                   |     
    0x0000684c bc0fl cc7, -0xd228        |     __asm ("bc0fl cc7, -0xd228");
    0x00006850 invalid                   |     
                                         | label_8:
    0x00006854 lw s1, -0x67d1(k1)        |     s1 = *((k1 - 6644.25));
    0x00006858 move a3, s7               |     a3 = s7;
    0x0000685c move a2, s6               |     a2 = s6;
    0x00006860 move a1, s5               |     a1 = s5;
    0x00006864 bal 0xe664                |     sym_parse_user_host_path ();
    0x00006868 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 != s2) {
    0x0000686c bne v0, s2, 0x61d0        |         goto label_4;
                                         |     }
    0x00006870 lw v0, -0x7bc0(gp)        |     v0 = *((gp - 7920));
    0x00006874 lw a1, -0x7fd4(gp)        |     a1 = *(gp);
    0x00006878 lw s0, -0x7f80(gp)        |     s0 = *(gp);
    0x0000687c lw a2, (fp)               |     a2 = *(fp);
    0x00006880 lw a0, (v0)               |     a0 = *(v0);
    0x00006884 lw t9, -0x7fb0(gp)        |     t9 = sym.fmprintf;
                                         |     /* str._s:_invalid_target_n */
    0x00006888 addiu a1, a1, 0x29c8      |     a1 += 0x29c8;
    0x0000688c b 0x6790                  |     goto label_5;
                                         | label_9:
    0x00006890 lw s0, -0x7f80(gp)        |     s0 = *(gp);
    0x00006894 lw t9, -0x7f7c(gp)        |     t9 = *(gp);
    0x00006898 addiu a1, zero, 1         |     a1 = 1;
    0x0000689c lw a0, (s0)               |     a0 = *(s0);
    0x000068a0 bal 0x1d880               |     fcn_0001d880 ();
    0x000068a4 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x000068a8 sw v0, (s0)               |     *(s0) = v0;
    0x000068ac b 0x67b4                  |     goto label_6;
                                         | label_14:
    0x000068b0 lw t9, -0x7cc8(gp)        |     t9 = sym.imp.exit;
    0x000068b4 addiu a0, zero, 1         |     a0 = 1;
    0x000068b8 jalr t9                   |     t9 ();
    0x000068bc lw t9, -0x7c30(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x000068c0 jalr t9                   |     t9 ();
    0x000068c4 nop                       |     
                                         | label_17:
    0x000068c8 lw a1, -0x7fd4(gp)        |     a1 = *(gp);
    0x000068cc addiu v0, v0, 0x29f4      |     v0 += 0x29f4;
    0x000068d0 lw a0, -0x7fd4(gp)        |     a0 = *(gp);
    0x000068d4 sw v0, 0x18(sp)           |     *(var_18h) = v0;
    0x000068d8 lw t9, -0x7fac(gp)        |     t9 = sym.sshfatal;
    0x000068dc addiu v0, zero, 1         |     v0 = 1;
    0x000068e0 sw zero, 0x14(sp)         |     *(var_14h) = 0;
    0x000068e4 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x000068e8 move a3, zero             |     a3 = 0;
    0x000068ec addiu a2, zero, 0x3bf     |     a2 = 0x3bf;
                                         |     /* str.toremote */
    0x000068f0 addiu a1, a1, 0x30b8      |     a1 += 0x30b8;
                                         |     /* str.scp.c */
    0x000068f4 addiu a0, a0, 0x2708      |     a0 += 0x2708;
    0x000068f8 bal 0x9950                |     return sym_sshfatal ();
                                         | }

[*] Function sprintf used 9 times scp.openssh