[*] Binary protection state of sshd

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


[*] Function fprintf tear down of sshd

    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/sshd @ 0x6e770 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) fcn.0006e770 ()              | void fcn_0006e770 () {
    0x0006e770 lui gp, 9                 |     
    0x0006e774 addiu gp, gp, 0x3b80      |     
    0x0006e778 addu gp, gp, t9           |     gp += t9;
    0x0006e77c addiu sp, sp, -0x48       |     
    0x0006e780 lw t9, -0x7ef4(gp)        |     t9 = sym.xstrdup;
    0x0006e784 sw gp, 0x20(sp)           |     *(var_20h) = gp;
    0x0006e788 sw ra, 0x44(sp)           |     *(var_44h) = ra;
    0x0006e78c sw s3, 0x38(sp)           |     *(var_38h) = s3;
    0x0006e790 sw s2, 0x34(sp)           |     *(var_34h_2) = s2;
    0x0006e794 sw s1, 0x30(sp)           |     *(var_30h) = s1;
    0x0006e798 sw s0, 0x2c(sp)           |     *(var_2ch) = s0;
    0x0006e79c sw s5, 0x40(sp)           |     *(var_40h) = s5;
    0x0006e7a0 sw s4, 0x3c(sp)           |     *(var_3ch) = s4;
    0x0006e7a4 move s1, a0               |     s1 = a0;
    0x0006e7a8 move a0, a1               |     a0 = a1;
    0x0006e7ac move s2, a2               |     s2 = a2;
    0x0006e7b0 move s3, a3               |     s3 = a3;
    0x0006e7b4 bal 0x7e064               |     sym_xstrdup ();
    0x0006e7b8 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x0006e7bc move a0, v0               |     a0 = v0;
    0x0006e7c0 lw t9, -0x7aac(gp)        |     t9 = sym.lowercase;
    0x0006e7c4 move s0, v0               |     s0 = v0;
    0x0006e7c8 bal 0x84bc8               |     sym_lowercase ();
    0x0006e7cc lw v0, 0x58(sp)           |     v0 = *(var_10h);
    0x0006e7d0 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 != 0) {
    0x0006e7d4 beqz v0, 0x6e870          |         
    0x0006e7d8 lw a2, -0x7f34(gp)        |         a2 = *(gp);
    0x0006e7dc lw s5, -0x759c(gp)        |         s5 = sym.host_hash;
                                         |         /* esilref: '&s ' */
    0x0006e7e0 addiu s4, a2, 0x6b70      |         s4 = a2 + 0x6b70;
    0x0006e7e4 move a0, s0               |         a0 = s0;
                                         | label_0:
    0x0006e7e8 move a2, zero             |         a2 = 0;
    0x0006e7ec move t9, s5               |         t9 = s5;
    0x0006e7f0 move a1, zero             |         a1 = 0;
    0x0006e7f4 bal 0x6e2c4               |         sym_host_hash ();
    0x0006e7f8 lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |         if (v0 != 0) {
    0x0006e7fc bnez v0, 0x6e8f8          |             goto label_2;
                                         |         }
    0x0006e800 lw v0, -0x7f34(gp)        |         v0 = *(gp);
    0x0006e804 lw a1, -0x7f34(gp)        |         a1 = *(gp);
    0x0006e808 lw a0, -0x7f34(gp)        |         a0 = *(gp);
                                         |         /* str.host_hash_failed */
    0x0006e80c addiu v0, v0, 0x6b5c      |         v0 += 0x6b5c;
    0x0006e810 lw t9, -0x7f6c(gp)        |         t9 = sym.sshlog;
    0x0006e814 sw v0, 0x18(sp)           |         *(var_18h_2) = v0;
    0x0006e818 addiu v0, zero, 2         |         v0 = 2;
    0x0006e81c sw v0, 0x10(sp)           |         *(var_10h_2) = v0;
    0x0006e820 addiu a3, zero, 1         |         a3 = 1;
    0x0006e824 addiu a2, zero, 0x1c1     |         a2 = 0x1c1;
                                         |         /* str.write_host_entry */
    0x0006e828 addiu a1, a1, 0x6e74      |         a1 += 0x6e74;
                                         |         /* str.hostfile.c */
    0x0006e82c addiu a0, a0, 0x6970      |         a0 += 0x6970;
    0x0006e830 sw zero, 0x14(sp)         |         *(var_14h_2) = 0;
    0x0006e834 bal 0x7151c               |         sym_sshlog ();
    0x0006e838 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x0006e83c lw t9, -0x6e6c(gp)        |         t9 = sym.imp.free;
    0x0006e840 move a0, s0               |         a0 = s0;
    0x0006e844 jalr t9                   |         t9 ();
    0x0006e848 lw ra, 0x44(sp)           |         ra = *(var_44h);
    0x0006e84c lw s5, 0x40(sp)           |         s5 = *(var_40h);
    0x0006e850 lw s4, 0x3c(sp)           |         s4 = *(var_3ch);
    0x0006e854 lw s3, 0x38(sp)           |         s3 = *(var_38h);
    0x0006e858 lw s2, 0x34(sp)           |         s2 = *(var_34h_2);
    0x0006e85c lw s1, 0x30(sp)           |         s1 = *(var_30h);
    0x0006e860 lw s0, 0x2c(sp)           |         s0 = *(var_2ch);
    0x0006e864 move v0, zero             |         v0 = 0;
    0x0006e868 addiu sp, sp, 0x48        |         
    0x0006e86c jr ra                     |         return v0;
                                         |     }
    0x0006e870 lw t9, -0x6ce8(gp)        |     t9 = sym.imp.__fprintf_chk
                                         |     if (s2 == 0) {
    0x0006e874 beqz s2, 0x6ea04          |         goto label_3;
                                         |     }
    0x0006e878 lw a2, -0x7f34(gp)        |     a2 = *(gp);
    0x0006e87c sw s2, 0x10(sp)           |     *(var_10h_2) = s2;
    0x0006e880 move a3, s0               |     a3 = s0;
                                         |     /* esilref: '&s,&s ' */
    0x0006e884 addiu a2, a2, 0x6b74      |     a2 += 0x6b74;
    0x0006e888 addiu a1, zero, 1         |     a1 = 1;
    0x0006e88c move a0, s1               |     a0 = s1;
    0x0006e890 jalr t9                   |     t9 ();
    0x0006e894 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         | label_1:
    0x0006e898 lw t9, -0x6e6c(gp)        |     t9 = sym.imp.free;
    0x0006e89c move a0, s0               |     a0 = s0;
    0x0006e8a0 jalr t9                   |     t9 ();
    0x0006e8a4 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x0006e8a8 move a1, s1               |     a1 = s1;
    0x0006e8ac lw t9, -0x761c(gp)        |     t9 = sym.sshkey_write;
    0x0006e8b0 move a0, s3               |     a0 = s3;
    0x0006e8b4 bal 0x4fc64               |     sym_sshkey_write ();
    0x0006e8b8 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 != 0) {
    0x0006e8bc bnez v0, 0x6e93c          |         goto label_4;
                                         |     }
    0x0006e8c0 lw t9, -0x7080(gp)        |     t9 = sym.imp.fputc;
    0x0006e8c4 move a1, s1               |     a1 = s1;
    0x0006e8c8 addiu a0, zero, 0xa       |     a0 = 0xa;
    0x0006e8cc jalr t9                   |     t9 ();
                                         |     do {
    0x0006e8d0 lw ra, 0x44(sp)           |         ra = *(var_44h);
    0x0006e8d4 lw s5, 0x40(sp)           |         s5 = *(var_40h);
    0x0006e8d8 lw s4, 0x3c(sp)           |         s4 = *(var_3ch);
    0x0006e8dc lw s3, 0x38(sp)           |         s3 = *(var_38h);
    0x0006e8e0 lw s2, 0x34(sp)           |         s2 = *(var_34h_2);
    0x0006e8e4 lw s1, 0x30(sp)           |         s1 = *(var_30h);
    0x0006e8e8 lw s0, 0x2c(sp)           |         s0 = *(var_2ch);
    0x0006e8ec addiu v0, zero, 1         |         v0 = 1;
    0x0006e8f0 addiu sp, sp, 0x48        |         
    0x0006e8f4 jr ra                     |         return v0;
                                         | label_2:
    0x0006e8f8 lw t9, -0x6ce8(gp)        |         t9 = sym.imp.__fprintf_chk
    0x0006e8fc move a3, v0               |         a3 = v0;
    0x0006e900 move a2, s4               |         a2 = s4;
    0x0006e904 addiu a1, zero, 1         |         a1 = 1;
    0x0006e908 move a0, s1               |         a0 = s1;
    0x0006e90c jalr t9                   |         t9 ();
    0x0006e910 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x0006e914 lw t9, -0x6e6c(gp)        |         t9 = sym.imp.free;
    0x0006e918 move a0, s0               |         a0 = s0;
    0x0006e91c jalr t9                   |         t9 ();
    0x0006e920 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x0006e924 move a1, s1               |         a1 = s1;
    0x0006e928 lw t9, -0x761c(gp)        |         t9 = sym.sshkey_write;
    0x0006e92c move a0, s3               |         a0 = s3;
    0x0006e930 bal 0x4fc64               |         sym_sshkey_write ();
    0x0006e934 lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |         if (v0 != 0) {
    0x0006e938 beqz v0, 0x6e9c0          |             
                                         | label_4:
    0x0006e93c lw t9, -0x7f70(gp)        |             t9 = sym.ssh_err;
    0x0006e940 move a0, v0               |             a0 = v0;
    0x0006e944 jalr t9                   |             t9 ();
    0x0006e948 lw gp, 0x20(sp)           |             gp = *(var_20h);
    0x0006e94c sw v0, 0x14(sp)           |             *(var_14h_2) = v0;
    0x0006e950 addiu a3, zero, 1         |             a3 = 1;
    0x0006e954 lw v0, -0x7f34(gp)        |             v0 = *(gp);
    0x0006e958 lw a1, -0x7f34(gp)        |             a1 = *(gp);
    0x0006e95c lw a0, -0x7f34(gp)        |             a0 = *(gp);
                                         |             /* str.sshkey_write */
    0x0006e960 addiu v0, v0, 0x6b7c      |             v0 += 0x6b7c;
    0x0006e964 lw t9, -0x7f6c(gp)        |             t9 = sym.sshlog;
    0x0006e968 sw v0, 0x18(sp)           |             *(var_18h_2) = v0;
    0x0006e96c addiu v0, zero, 2         |             v0 = 2;
    0x0006e970 addiu a2, zero, 0x1cf     |             a2 = 0x1cf;
    0x0006e974 sw v0, 0x10(sp)           |             *(var_10h_2) = v0;
                                         |             /* str.write_host_entry */
    0x0006e978 addiu a1, a1, 0x6e74      |             a1 += 0x6e74;
                                         |             /* str.hostfile.c */
    0x0006e97c addiu a0, a0, 0x6970      |             a0 += 0x6970;
    0x0006e980 bal 0x7151c               |             sym_sshlog ();
    0x0006e984 lw gp, 0x20(sp)           |             gp = *(var_20h);
    0x0006e988 move a1, s1               |             a1 = s1;
    0x0006e98c lw t9, -0x7080(gp)        |             t9 = sym.imp.fputc;
    0x0006e990 addiu a0, zero, 0xa       |             a0 = 0xa;
    0x0006e994 jalr t9                   |             t9 ();
    0x0006e998 lw ra, 0x44(sp)           |             ra = *(var_44h);
    0x0006e99c lw s5, 0x40(sp)           |             s5 = *(var_40h);
    0x0006e9a0 lw s4, 0x3c(sp)           |             s4 = *(var_3ch);
    0x0006e9a4 lw s3, 0x38(sp)           |             s3 = *(var_38h);
    0x0006e9a8 lw s2, 0x34(sp)           |             s2 = *(var_34h_2);
    0x0006e9ac lw s1, 0x30(sp)           |             s1 = *(var_30h);
    0x0006e9b0 lw s0, 0x2c(sp)           |             s0 = *(var_2ch);
    0x0006e9b4 move v0, zero             |             v0 = 0;
    0x0006e9b8 addiu sp, sp, 0x48        |             
    0x0006e9bc jr ra                     |             return v0;
                                         |         }
    0x0006e9c0 lw t9, -0x7080(gp)        |         t9 = sym.imp.fputc;
    0x0006e9c4 addiu a0, zero, 0xa       |         a0 = 0xa;
    0x0006e9c8 move a1, s1               |         a1 = s1;
    0x0006e9cc jalr t9                   |         t9 ();
    0x0006e9d0 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x0006e9d4 move a0, s2               |         a0 = s2;
    0x0006e9d8 lw t9, -0x7ef4(gp)        |         t9 = sym.xstrdup;
    0x0006e9dc beqz s2, 0x6e8d0          |         
                                         |     } while (s2 == 0);
    0x0006e9e0 move s2, zero             |     s2 = 0;
    0x0006e9e4 bal 0x7e064               |     sym_xstrdup ();
    0x0006e9e8 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x0006e9ec move a0, v0               |     a0 = v0;
    0x0006e9f0 lw t9, -0x7aac(gp)        |     t9 = sym.lowercase;
    0x0006e9f4 move s0, v0               |     s0 = v0;
    0x0006e9f8 bal 0x84bc8               |     sym_lowercase ();
    0x0006e9fc move a0, s0               |     a0 = s0;
    0x0006ea00 b 0x6e7e8                 |     goto label_0;
                                         | label_3:
    0x0006ea04 lw a2, -0x7f34(gp)        |     a2 = *(gp);
    0x0006ea08 move a3, s0               |     a3 = s0;
                                         |     /* esilref: '&s ' */
    0x0006ea0c addiu a2, a2, 0x6b70      |     a2 += 0x6b70;
    0x0006ea10 addiu a1, zero, 1         |     a1 = 1;
    0x0006ea14 move a0, s1               |     a0 = s1;
    0x0006ea18 jalr t9                   |     t9 ();
    0x0006ea1c lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x0006ea20 b 0x6e898                 |     goto label_1;
                                         | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/sshd @ 0xda90 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) main ()                          | int32_t main () {
                                             |     /* [13] -r-x section size 685008 named .text */
    0x0000da90 lui gp, 0xf                   |     
    0x0000da94 addiu gp, gp, 0x4860          |     
    0x0000da98 addu gp, gp, t9               |     gp += t9;
    0x0000da9c addiu sp, sp, -0x698          |     
    0x0000daa0 lw v0, -0x6fc4(gp)            |     v0 = *((gp - 7153));
    0x0000daa4 sw ra, 0x694(sp)              |     *(var_694h) = ra;
    0x0000daa8 sw gp, 0x38(sp)               |     *(var_38h) = gp;
    0x0000daac sw s7, 0x68c(sp)              |     *(var_68ch) = s7;
    0x0000dab0 sw s3, 0x67c(sp)              |     *(var_67ch) = s3;
    0x0000dab4 sw s2, 0x678(sp)              |     *(var_678h) = s2;
    0x0000dab8 sw s1, 0x674(sp)              |     *(var_674h) = s1;
    0x0000dabc sw s0, 0x670(sp)              |     *(var_670h) = s0;
    0x0000dac0 sw fp, 0x690(sp)              |     *(var_690h) = fp;
    0x0000dac4 sw s6, 0x688(sp)              |     *(var_688h) = s6;
    0x0000dac8 sw s5, 0x684(sp)              |     *(var_684h) = s5;
    0x0000dacc sw s4, 0x680(sp)              |     *(var_680h) = s4;
    0x0000dad0 lw v1, (v0)                   |     v1 = *(v0);
    0x0000dad4 lw s1, -0x6d10(gp)            |     s1 = *((gp - 6980));
    0x0000dad8 lw s2, -0x7fdc(gp)            |     s2 = *((gp - 8183));
    0x0000dadc lw t9, -0x7ef8(gp)            |     t9 = sym.ssh_get_progname;
    0x0000dae0 move s0, a0                   |     s0 = a0;
    0x0000dae4 addiu v0, zero, -1            |     v0 = -1;
    0x0000dae8 lw a0, (a1)                   |     a0 = *(a1);
    0x0000daec sw v1, 0x66c(sp)              |     *(var_66ch) = v1;
    0x0000daf0 addiu v1, zero, 1             |     v1 = 1;
    0x0000daf4 sw v1, 0xd4(sp)               |     *(var_d4h) = v1;
    0x0000daf8 sw s1, 0x4c(sp)               |     *(var_4ch) = s1;
    0x0000dafc sw s2, 0x54(sp)               |     *(var_54h) = s2;
    0x0000db00 sw v0, 0xf0(sp)               |     *(var_f0h) = v0;
    0x0000db04 sw v0, 0xf4(sp)               |     *(var_f4h) = v0;
    0x0000db08 move s3, a1                   |     s3 = a1;
    0x0000db0c jalr t9                       |     t9 ();
    0x0000db10 lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0000db14 addiu a1, zero, 1             |     a1 = 1;
    0x0000db18 move a0, s0                   |     a0 = s0;
    0x0000db1c lw t9, -0x7f44(gp)            |     t9 = *(gp);
    0x0000db20 sw v0, (s1)                   |     *(s1) = v0;
    0x0000db24 sw s0, -0x482c(s2)            |     *((s2 - 4619)) = s0;
    0x0000db28 jalr t9                       |     t9 ();
    0x0000db2c lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0000db30 addiu a1, zero, 4             |     a1 = 4;
    0x0000db34 lw t9, -0x7f18(gp)            |     t9 = sym.xcalloc;
    0x0000db38 lw s7, -0x7fdc(gp)            |     s7 = *((gp - 8183));
    0x0000db3c move a0, v0                   |     a0 = v0;
    0x0000db40 jalr t9                       |     t9 ();
    0x0000db44 lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0000db48 sw v0, -0x4824(s7)            |     *((s7 - 4617)) = v0;
                                             |     if (s0 <= 0) {
    0x0000db4c blez s0, 0xe350               |         goto label_32;
                                             |     }
    0x0000db50 sll s4, s0, 2                 |     s4 = s0 << 2;
    0x0000db54 move s1, zero                 |     s1 = 0;
    0x0000db58 move s2, v0                   |     s2 = v0;
    0x0000db5c b 0xdb64                      |     
                                             |     while (s4 != s1) {
    0x0000db60 lw s2, -0x4824(s7)            |         s2 = *((s7 - 4617));
    0x0000db64 lw t9, -0x7ef4(gp)            |         t9 = sym.xstrdup;
    0x0000db68 lwx a0, s1(s3)                |         __asm ("lwx a0, s1(s3)");
    0x0000db6c addu s2, s2, s1               |         s2 += s1;
    0x0000db70 jalr t9                       |         t9 ();
    0x0000db74 addiu s1, s1, 4               |         s1 += 4;
    0x0000db78 lw gp, 0x38(sp)               |         gp = *(var_38h);
    0x0000db7c sw v0, (s2)                   |         *(s2) = v0;
    0x0000db80 bne s4, s1, 0xdb60            |         
                                             |     }
                                             | label_4:
    0x0000db84 lw v0, -0x4824(s7)            |     v0 = *((s7 - 4617));
    0x0000db88 lw t9, -0x7ef0(gp)            |     t9 = sym.compat_init_setproctitle;
    0x0000db8c addu s4, v0, s4               |     s4 = v0 + s4;
    0x0000db90 move a1, s3                   |     a1 = s3;
    0x0000db94 move a0, s0                   |     a0 = s0;
    0x0000db98 sw zero, (s4)                 |     *(s4) = 0;
    0x0000db9c jalr t9                       |     t9 ();
    0x0000dba0 lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0000dba4 lw t9, -0x7250(gp)            |     t9 = sym.imp.geteuid;
    0x0000dba8 lw s2, -0x4824(s7)            |     s2 = *((s7 - 4617));
    0x0000dbac jalr t9                       |     t9 ();
    0x0000dbb0 lw gp, 0x38(sp)               |     gp = *(var_38h);
                                             |     if (v0 == 0) {
    0x0000dbb4 beqz v0, 0xdfe4               |         goto label_33;
                                             |     }
                                             | label_1:
    0x0000dbb8 lw t9, -0x7eec(gp)            |     t9 = sym.sanitise_stdfd;
    0x0000dbbc sw zero, 0x44(sp)             |     *(var_44h) = 0;
    0x0000dbc0 jalr t9                       |     t9 ();
    0x0000dbc4 lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0000dbc8 lw t9, -0x7ee8(gp)            |     t9 = sym.seed_rng;
    0x0000dbcc sw zero, 0x40(sp)             |     *(var_40h) = 0;
    0x0000dbd0 jalr t9                       |     t9 ();
    0x0000dbd4 lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0000dbd8 lw a0, -0x7fd8(gp)            |     a0 = *(gp);
    0x0000dbdc lw t9, -0x7ee4(gp)            |     t9 = sym.initialize_server_options;
    0x0000dbe0 lw s3, -0x7fb4(gp)            |     s3 = *(gp);
    0x0000dbe4 bal 0x16fc8                   |     sym_initialize_server_options ();
    0x0000dbe8 nop                           |     
    0x0000dbec lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0000dbf0 lw s1, -0x7fb4(gp)            |     s1 = *(gp);
    0x0000dbf4 lw s5, -0x7fb4(gp)            |     s5 = *(gp);
    0x0000dbf8 lw s4, -0x7fb4(gp)            |     s4 = *(gp);
    0x0000dbfc lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x0000dc00 lw s6, -0x7fdc(gp)            |     s6 = *((gp - 8183));
    0x0000dc04 addiu s1, s1, 0x7bd4          |     s1 += 0x7bd4;
                                             |     /* str.command_line */
    0x0000dc08 addiu s5, s5, 0x6904          |     s5 += 0x6904;
                                             |     /* str._command_line_ */
    0x0000dc0c addiu s4, s4, 0x6898          |     s4 += 0x6898;
    0x0000dc10 sw v0, 0x48(sp)               |     *(var_48h) = v0;
                                             | label_0:
    0x0000dc14 lw t9, -0x7ee0(gp)            |     t9 = sym.BSDgetopt;
                                             |     do {
                                             |         /* str.C:E:b:c:f:g:h:k:o:p:u:46DQRTdeiqrt */
    0x0000dc18 addiu a2, s3, 0x69f0          |         a2 = s3 + 0x69f0;
    0x0000dc1c move a1, s2                   |         a1 = s2;
    0x0000dc20 move a0, s0                   |         a0 = s0;
    0x0000dc24 jalr t9                       |         t9 ();
    0x0000dc28 addiu v1, zero, -1            |         v1 = -1;
    0x0000dc2c lw gp, 0x38(sp)               |         gp = *(var_38h);
                                             |         if (v0 == v1) {
    0x0000dc30 beq v0, v1, 0xe064            |             goto label_34;
                                             |         }
    0x0000dc34 lw t9, -0x7f44(gp)            |         t9 = *(gp);
    0x0000dc38 addiu a1, zero, -0x34         |         a1 = -0x34;
    0x0000dc3c move a0, v0                   |         a0 = v0;
    0x0000dc40 jalr t9                       |         t9 ();
    0x0000dc44 sltiu v1, v0, 0x42            |         v1 = (v0 < 0x42) ? 1 : 0;
    0x0000dc48 lw gp, 0x38(sp)               |         gp = *(var_38h);
                                             |         if (v1 != 0) {
    0x0000dc4c beqz v1, 0xdf50               |             
    0x0000dc50 sll v0, v0, 2                 |             v0 <<= 2;
    0x0000dc54 lwx v0, v0(s1)                |             __asm ("lwx v0, v0(s1)");
    0x0000dc58 addu v0, v0, gp               |             v0 += gp;
    0x0000dc5c jr v0                         |             v0 ();
    0x0000dc60 nop                           |             
                                             |         }
    0x0000df50 lw s0, -0x6f44(gp)            |         s0 = *((gp - 7121));
    0x0000df54 lw t9, -0x71f0(gp)            |         t9 = sym.imp.OpenSSL_version;
    0x0000df58 move a0, zero                 |         a0 = 0;
    0x0000df5c lw s1, (s0)                   |         s1 = *(s0);
    0x0000df60 jalr t9                       |         t9 ();
    0x0000df64 lw gp, 0x38(sp)               |         gp = *(var_38h);
    0x0000df68 move a0, s1                   |         a0 = s1;
    0x0000df6c addiu a1, zero, 1             |         a1 = 1;
    0x0000df70 lw a3, -0x7fb4(gp)            |         a3 = *(gp);
    0x0000df74 lw a2, -0x7fb4(gp)            |         a2 = *(gp);
    0x0000df78 lw t9, -0x6ce8(gp)            |         t9 = sym.imp.__fprintf_chk
                                             |         /* str.OpenSSH_8.6p1 */
    0x0000df7c addiu a3, a3, 0x6914          |         a3 += 0x6914;
                                             |         /* str._s___s_n */
    0x0000df80 addiu a2, a2, 0x6924          |         a2 += 0x6924;
    0x0000df84 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x0000df88 jalr t9                       |         t9 ();
    0x0000df8c lw gp, 0x38(sp)               |         gp = *(var_38h);
    0x0000df90 lw a3, (s0)                   |         a3 = *(s0);
    0x0000df94 addiu a2, zero, 0xc1          |         a2 = 0xc1;
    0x0000df98 lw a0, -0x7fb4(gp)            |         a0 = *(gp);
    0x0000df9c lw t9, -0x702c(gp)            |         t9 = sym.imp.fwrite;
                                             |         /* str.usage:_sshd___46DdeiqTt____C_connection_spec____c_host_cert_file__n______________E_log_file____f_config_file____g_login_grace_time__n______________h_host_key_file____o_option____p_port____u_len__n */
    0x0000dfa0 addiu a0, a0, 0x692c          |         a0 += 0x692c;
                                             | label_3:
    0x0000dfa4 addiu a1, zero, 1             |         a1 = 1;
    0x0000dfa8 jalr t9                       |         t9 ();
    0x0000dfac lw gp, 0x38(sp)               |         gp = *(var_38h);
    0x0000dfb0 lw t9, -0x7210(gp)            |         t9 = sym.imp.exit;
    0x0000dfb4 addiu a0, zero, 1             |         a0 = 1;
    0x0000dfb8 jalr t9                       |         t9 ();
    0x0000dfbc lw a0, 0x49c(fp)              |         a0 = *(arg_49ch);
    0x0000dfc0 slti v0, a0, 7                |         v0 = (a0 < 7) ? 1 : 0;
    0x0000dfc4 lw t9, -0x7ee0(gp)            |         t9 = sym.BSDgetopt;
    0x0000dfc8 beqz v0, 0xdc18               |         
                                             |     } while (v0 == 0);
    0x0000dfcc lw t9, -0x7f44(gp)            |     t9 = *(gp);
    0x0000dfd0 addiu a1, zero, 1             |     a1 = 1;
    0x0000dfd4 jalr t9                       |     t9 ();
    0x0000dfd8 lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0000dfdc sw v0, 0x49c(fp)              |     *(arg_49ch) = v0;
    0x0000dfe0 b 0xdc14                      |     goto label_0;
                                             | label_33:
    0x0000dfe4 lw t9, -0x6c78(gp)            |     t9 = sym.imp.setgroups;
    0x0000dfe8 move a1, zero                 |     a1 = 0;
    0x0000dfec move a0, zero                 |     a0 = 0;
    0x0000dff0 jalr t9                       |     t9 ();
    0x0000dff4 addiu v1, zero, -1            |     v1 = -1;
    0x0000dff8 lw gp, 0x38(sp)               |     gp = *(var_38h);
                                             |     if (v0 != v1) {
    0x0000dffc bne v0, v1, 0xdbb8            |         goto label_1;
                                             |     }
    0x0000e000 lw t9, -0x6c58(gp)            |     t9 = sym.imp.__errno_location;
    0x0000e004 jalr t9                       |     t9 ();
    0x0000e008 nop                           |     
    0x0000e00c lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0000e010 lw t9, -0x6c90(gp)            |     t9 = sym.imp.strerror;
    0x0000e014 lw a0, (v0)                   |     a0 = *(v0);
    0x0000e018 jalr t9                       |     t9 ();
    0x0000e01c lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0000e020 sw v0, 0x1c(sp)               |     *(var_1ch) = v0;
    0x0000e024 sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x0000e028 lw v0, -0x7fb4(gp)            |     v0 = *(gp);
    0x0000e02c lw a1, -0x7fb4(gp)            |     a1 = *(gp);
    0x0000e030 lw a0, -0x7fb4(gp)            |     a0 = *(gp);
                                             |     /* str.setgroups__:__.200s */
    0x0000e034 addiu v0, v0, 0x6884          |     v0 += 0x6884;
    0x0000e038 lw t9, -0x7f6c(gp)            |     t9 = sym.sshlog;
    0x0000e03c sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x0000e040 addiu v0, zero, 5             |     v0 = 5;
    0x0000e044 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0000e048 move a3, zero                 |     a3 = 0;
    0x0000e04c addiu a2, zero, 0x60c         |     a2 = 0x60c;
                                             |     /* str.main */
    0x0000e050 addiu a1, a1, 0x7e94          |     a1 += 0x7e94;
                                             |     /* str.sshd.c */
    0x0000e054 addiu a0, a0, 0x65f4          |     a0 += 0x65f4;
    0x0000e058 jalr t9                       |     t9 ();
    0x0000e05c lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0000e060 b 0xdbb8                      |     goto label_1;
                                             | label_34:
    0x0000e064 lw v1, -0x7fdc(gp)            |     v1 = *((gp - 8183));
    0x0000e068 move fp, v0                   |     fp = v0;
    0x0000e06c lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x0000e070 lw a0, -0x4818(v1)            |     a0 = *((v1 - 4614));
    0x0000e074 sw v0, 0x58(sp)               |     *(var_58h) = v0;
    0x0000e078 lw v0, -0x4828(v0)            |     v0 = *((v0 - 4618));
    0x0000e07c or v0, v0, a0                 |     v0 |= a0;
    0x0000e080 sw v1, 0x60(sp)               |     *(var_60h) = v1;
                                             |     if (v0 == 0) {
    0x0000e084 beqz v0, 0xe1b4               |         goto label_35;
                                             |     }
    0x0000e088 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x0000e08c sw v0, 0x64(sp)               |     *(var_64h) = v0;
    0x0000e090 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x0000e094 sw zero, -0x5fb0(v0)          |     *((v0 - 6124)) = 0;
                                             | label_7:
    0x0000e098 lw v0, 0x58(sp)               |     v0 = *(var_58h);
    0x0000e09c lw v0, -0x4828(v0)            |     v0 = *((v0 - 4618));
    0x0000e0a0 lw t9, -0x7eac(gp)            |     t9 = sym.closefrom;
                                             |     if (v0 == 0) {
    0x0000e0a4 beqz v0, 0xe1c8               |         goto label_6;
                                             |     }
    0x0000e0a8 addiu a0, zero, 6             |     a0 = 6;
    0x0000e0ac jalr t9                       |     t9 ();
    0x0000e0b0 lw gp, 0x38(sp)               |     gp = *(var_38h);
                                             |     do {
    0x0000e0b4 lw a0, 0x40(sp)               |         a0 = *(var_40h);
    0x0000e0b8 lw t9, -0x7ea8(gp)            |         t9 = sym.log_redirect_stderr_to;
                                             |         if (a0 != 0) {
    0x0000e0bc beqz a0, 0xe0cc               |             
    0x0000e0c0 jalr t9                       |             t9 ();
    0x0000e0c4 nop                           |             
    0x0000e0c8 lw gp, 0x38(sp)               |             gp = *(var_38h);
                                             |         }
    0x0000e0cc lw s4, -0x7fd8(gp)            |         s4 = *(gp);
    0x0000e0d0 lw v1, 0x4c(sp)               |         v1 = *(var_4ch);
    0x0000e0d4 addiu v0, zero, -1            |         v0 = -1;
    0x0000e0d8 lw a1, 0x49c(s4)              |         a1 = *(s4);
    0x0000e0dc lw a0, (v1)                   |         a0 = *(v1);
                                             |         if (a1 == v0) {
    0x0000e0e0 bne a1, v0, 0xe0e8            |             
    0x0000e0e4 addiu a1, zero, 3             |             a1 = 3;
                                             |         }
    0x0000e0e8 lw a2, 0x498(s4)              |         a2 = *(s4);
    0x0000e0ec addiu v0, zero, -1            |         v0 = -1;
                                             |         if (a2 != v0) {
    0x0000e0f0 beql a2, v0, 0xe0f8           |             
    0x0000e0f4 addiu a2, zero, 2             |             a2 = 2;
                                             |         }
    0x0000e0f8 lw v0, 0x60(sp)               |         v0 = *(var_60h);
    0x0000e0fc lw v0, -0x4818(v0)            |         v0 = *((v0 - 4614));
    0x0000e100 addiu a3, zero, 1             |         a3 = 1;
                                             |         if (v0 != 0) {
    0x0000e104 beqz v0, 0xe120               |             
    0x0000e108 lw v0, -0x7fdc(gp)            |             v0 = *((gp - 8183));
    0x0000e10c lw a3, -0x4820(v0)            |             a3 = *((v0 - 4616));
    0x0000e110 lw v0, -0x7ed8(gp)            |             v0 = *(gp);
    0x0000e114 lw v0, (v0)                   |             v0 = *(v0);
    0x0000e118 or a3, a3, v0                 |             a3 |= v0;
    0x0000e11c sltu a3, zero, a3             |             a3 = (0 < a3) ? 1 : 0;
                                             |         }
    0x0000e120 lw t9, -0x7ea4(gp)            |         t9 = sym.log_init;
    0x0000e124 lw s1, -0x7fb4(gp)            |         s1 = *(gp);
    0x0000e128 jalr t9                       |         t9 ();
    0x0000e12c nop                           |         
    0x0000e130 lw gp, 0x38(sp)               |         gp = *(var_38h);
    0x0000e134 lw t9, -0x6d50(gp)            |         t9 = sym.imp.getenv;
                                             |         /* str.KRB5CCNAME */
    0x0000e138 addiu a0, s1, 0x6a4c          |         a0 = s1 + 0x6a4c;
    0x0000e13c jalr t9                       |         t9 ();
    0x0000e140 lw gp, 0x38(sp)               |         gp = *(var_38h);
                                             |         if (v0 != 0) {
    0x0000e144 beqz v0, 0xe158               |             
    0x0000e148 lw t9, -0x6d18(gp)            |             t9 = sym.imp.unsetenv;
                                             |             /* str.KRB5CCNAME */
    0x0000e14c addiu a0, s1, 0x6a4c          |             a0 = s1 + 0x6a4c;
    0x0000e150 jalr t9                       |             t9 ();
    0x0000e154 lw gp, 0x38(sp)               |             gp = *(var_38h);
                                             |         }
    0x0000e158 lw v0, 0x64(sp)               |         v0 = *(var_64h);
    0x0000e15c lw v1, -0x7fd4(gp)            |         v1 = *(gp);
    0x0000e160 lw v0, -0x4814(v0)            |         v0 = *((v0 - 4613));
    0x0000e164 sw v1, 0x48(sp)               |         *(var_48h) = v1;
    0x0000e168 slti v0, v0, 2                |         v0 = (v0 < 2) ? 1 : 0;
    0x0000e16c sw zero, 0xc(v1)              |         *((v1 + 3)) = 0;
                                             |         if (v0 == 0) {
    0x0000e170 beqz v0, 0xe1dc               |             goto label_36;
                                             |         }
    0x0000e174 lw v0, 0x44(sp)               |         v0 = *(var_44h);
    0x0000e178 lw v0, -0x7fb4(gp)            |         v0 = *(gp);
                                             |         if (v0 == 0) {
    0x0000e17c beqz v0, 0xe1dc               |             goto label_36;
                                             |         }
    0x0000e180 lw t9, -0x7f74(gp)            |         t9 = sym.sshfatal;
                                             |         /* str.Config_test_connection_parameter___C__provided_without_test_mode___T_ */
    0x0000e184 addiu v0, v0, 0x6a58          |         v0 += 0x6a58;
    0x0000e188 sw v0, 0x18(sp)               |         *(var_18h) = v0;
    0x0000e18c addiu v0, zero, 1             |         v0 = 1;
    0x0000e190 sw zero, 0x14(sp)             |         *(var_14h) = 0;
    0x0000e194 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x0000e198 move a3, zero                 |         a3 = 0;
    0x0000e19c addiu a2, zero, 0x6a9         |         a2 = 0x6a9;
                                             | label_2:
    0x0000e1a0 lw a1, -0x7fb4(gp)            |         a1 = *(gp);
    0x0000e1a4 lw a0, -0x7fb4(gp)            |         a0 = *(gp);
                                             |         /* str.main */
    0x0000e1a8 addiu a1, a1, 0x7e94          |         a1 += 0x7e94;
                                             |         /* str.sshd.c */
    0x0000e1ac addiu a0, a0, 0x65f4          |         a0 += 0x65f4;
    0x0000e1b0 jalr t9                       |         t9 ();
                                             | label_35:
    0x0000e1b4 lw v0, -0x7fdc(gp)            |         v0 = *((gp - 8183));
    0x0000e1b8 sw v0, 0x64(sp)               |         *(var_64h) = v0;
    0x0000e1bc lw v0, -0x4814(v0)            |         v0 = *((v0 - 4613));
    0x0000e1c0 lw v0, -0x7fdc(gp)            |         v0 = *((gp - 8183));
                                             |         if (v0 == 0) {
    0x0000e1c4 beqz v0, 0xe838               |             goto label_37;
                                             |         }
                                             | label_6:
    0x0000e1c8 lw t9, -0x7eac(gp)            |         t9 = sym.closefrom;
    0x0000e1cc addiu a0, zero, 3             |         a0 = 3;
    0x0000e1d0 jalr t9                       |         t9 ();
    0x0000e1d4 lw gp, 0x38(sp)               |         gp = *(var_38h);
    0x0000e1d8 b 0xe0b4                      |         
                                             |     } while (1);
                                             | label_36:
    0x0000e1dc lw s3, -0x7ea0(gp)            |     s3 = *(gp);
    0x0000e1e0 lw t9, -0x7fa8(gp)            |     t9 = sym.sshbuf_new;
    0x0000e1e4 sw s3, 0x5c(sp)               |     *(var_5ch) = s3;
    0x0000e1e8 jalr t9                       |     t9 ();
    0x0000e1ec move s1, v0                   |     s1 = v0;
    0x0000e1f0 lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0000e1f4 sw v0, (s3)                   |     *(s3) = v0;
                                             |     if (v0 == 0) {
    0x0000e1f8 beqz v0, 0xec30               |         goto label_38;
                                             |     }
    0x0000e1fc lw v0, 0x58(sp)               |     v0 = *(var_58h);
    0x0000e200 lw v0, -0x4828(v0)            |     v0 = *((v0 - 4618));
    0x0000e204 lw s3, -0x7eb0(gp)            |     s3 = *(gp);
                                             |     if (v0 != 0) {
    0x0000e208 bnez v0, 0xe7dc               |         goto label_39;
                                             |     }
    0x0000e20c lw a1, -0x7fb4(gp)            |     a1 = *(gp);
    0x0000e210 lw t9, -0x6ff4(gp)            |     t9 = sym.imp.strcasecmp;
    0x0000e214 lw s5, (s3)                   |     s5 = *(s3);
                                             |     /* str.none */
    0x0000e218 addiu a1, a1, 0x6aac          |     a1 += 0x6aac;
    0x0000e21c move a0, s5                   |     a0 = s5;
    0x0000e220 jalr t9                       |     t9 ();
    0x0000e224 lw gp, 0x38(sp)               |     gp = *(var_38h);
                                             |     if (v0 != 0) {
    0x0000e228 bnez v0, 0xe87c               |         goto label_40;
                                             |     }
                                             | label_26:
    0x0000e22c lw a1, (s3)                   |     a1 = *(s3);
                                             | label_5:
    0x0000e230 lw v0, 0x5c(sp)               |     v0 = *(var_5ch);
    0x0000e234 lw t9, -0x7e9c(gp)            |     t9 = sym.parse_server_config;
    0x0000e238 lw a0, -0x7fd8(gp)            |     a0 = *(gp);
    0x0000e23c lw a3, -0x7f68(gp)            |     a3 = *(gp);
    0x0000e240 lw a2, (v0)                   |     a2 = *(v0);
    0x0000e244 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x0000e248 bal 0x1ddb0                   |     sym_parse_server_config ();
    0x0000e24c lw a0, 0x43c(s4)              |     a0 = *(s4);
    0x0000e250 lw gp, 0x38(sp)               |     gp = *(var_38h);
                                             |     if (a0 != 0) {
    0x0000e254 beqz a0, 0xe268               |         
    0x0000e258 lw t9, -0x7e98(gp)            |         t9 = sym.dh_set_moduli_file;
    0x0000e25c jalr t9                       |         t9 ();
    0x0000e260 nop                           |         
    0x0000e264 lw gp, 0x38(sp)               |         gp = *(var_38h);
                                             |     }
    0x0000e268 lw t9, -0x7e94(gp)            |     t9 = sym.fill_default_server_options;
    0x0000e26c lw a0, -0x7fd8(gp)            |     a0 = *(gp);
    0x0000e270 bal 0x173d8                   |     sym_fill_default_server_options ();
    0x0000e274 nop                           |     
    0x0000e278 lw v0, 0x4ec(s4)              |     v0 = *((s4 + 315));
    0x0000e27c lw gp, 0x38(sp)               |     gp = *(var_38h);
                                             |     if (v0 != 0) {
    0x0000e280 beqz v0, 0xe28c               |         
    0x0000e284 addiu v0, zero, 1             |         v0 = 1;
    0x0000e288 sw v0, 0x4e8(s4)              |         *((s4 + 314)) = v0;
                                             |     }
    0x0000e28c lw v0, 0x11a8(s4)             |     v0 = *((s4 + 1130));
                                             |     if (v0 == 0) {
    0x0000e290 beql v0, zero, 0xeba8         |         goto label_41;
                                             |     }
    0x0000e294 lw a0, 0x11a4(s4)             |     a0 = *(s4);
                                             | label_19:
    0x0000e298 lw v0, 0x11b4(s4)             |     v0 = *((s4 + 1133));
                                             |     if (v0 == 0) {
    0x0000e29c beql v0, zero, 0xebec         |         goto label_42;
                                             |     }
    0x0000e2a0 lw a0, 0x11b0(s4)             |     a0 = *((s4 + 1132));
                                             | label_20:
    0x0000e2a4 lw v0, 0x11c8(s4)             |     v0 = *((s4 + 1138));
    0x0000e2a8 lw v0, -0x7e90(gp)            |     v0 = *(gp);
                                             |     if (v0 == 0) {
    0x0000e2ac beqz v0, 0xe320               |         goto label_43;
                                             |     }
    0x0000e2b0 move s1, zero                 |     s1 = 0;
    0x0000e2b4 b 0xe2d8                      |     
                                             |     while (v0 == 0) {
    0x0000e2b8 sll v0, s1, 2                 |         v0 = s1 << 2;
    0x0000e2bc lw t9, -0x7e8c(gp)            |         t9 = sym.auth2_methods_valid;
    0x0000e2c0 lwx a0, v0(a0)                |         __asm ("lwx a0, v0(a0)");
    0x0000e2c4 addiu a1, zero, 1             |         a1 = 1;
    0x0000e2c8 bal 0x24fc8                   |         sym_auth2_methods_valid ();
    0x0000e2cc lw gp, 0x38(sp)               |         gp = *(var_38h);
                                             |         if (v0 == 0) {
    0x0000e2d0 beqz v0, 0xe310               |             goto label_44;
                                             |         }
    0x0000e2d4 addiu s1, s1, 1               |         s1++;
    0x0000e2d8 lw v0, 0x11c8(s4)             |         v0 = *((s4 + 1138));
    0x0000e2dc sltu v0, s1, v0               |         v0 = (s1 < v0) ? 1 : 0;
    0x0000e2e0 lw a0, 0x11cc(s4)             |         a0 = *((s4 + 1139));
    0x0000e2e4 bnel v0, zero, 0xe2b8         |         
                                             |     }
                                             |     do {
    0x0000e2e8 lw v0, -0x7fb4(gp)            |         v0 = *(gp);
    0x0000e2ec lw t9, -0x7f74(gp)            |         t9 = sym.sshfatal;
                                             |         /* str.AuthenticationMethods_cannot_be_satisfied_by_enabled_authentication_methods */
    0x0000e2f0 addiu v0, v0, 0x6b38          |         v0 += 0x6b38;
    0x0000e2f4 sw v0, 0x18(sp)               |         *(var_18h) = v0;
    0x0000e2f8 addiu v0, zero, 1             |         v0 = 1;
    0x0000e2fc sw zero, 0x14(sp)             |         *(var_14h) = 0;
    0x0000e300 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x0000e304 move a3, zero                 |         a3 = 0;
    0x0000e308 addiu a2, zero, 0x6e6         |         a2 = 0x6e6;
    0x0000e30c b 0xe1a0                      |         goto label_2;
                                             | label_44:
    0x0000e310 lw v0, 0x11c8(s4)             |         v0 = *((s4 + 1138));
    0x0000e314 sltu s1, s1, v0               |         s1 = (s1 < v0) ? 1 : 0;
    0x0000e318 lw v0, -0x7e90(gp)            |         v0 = *(gp);
    0x0000e31c beqz s1, 0xe2e8               |         
                                             |     } while (s1 == 0);
                                             | label_43:
    0x0000e320 lw v0, (v0)                   |     v0 = *(v0);
    0x0000e324 slt a0, v0, s0                |     a0 = (v0 < s0) ? 1 : 0;
                                             |     if (a0 != 0) {
    0x0000e328 beql a0, zero, 0xe358         |         
    0x0000e32c lw t9, -0x71f0(gp)            |         t9 = sym.imp.OpenSSL_version;
    0x0000e330 lw v1, -0x6f44(gp)            |         v1 = *((gp - 7121));
    0x0000e334 sll v0, v0, 2                 |         v0 <<= 2;
    0x0000e338 lw a2, -0x7fb4(gp)            |         a2 = *(gp);
    0x0000e33c lw a0, (v1)                   |         a0 = *(v1);
    0x0000e340 lw t9, -0x6ce8(gp)            |         t9 = sym.imp.__fprintf_chk
    0x0000e344 lwx a3, v0(s2)                |         __asm ("lwx a3, v0(s2)");
                                             |         /* str.Extra_argument__s._n */
    0x0000e348 addiu a2, a2, 0x6b84          |         a2 += 0x6b84;
    0x0000e34c b 0xdfa4                      |         goto label_3;
                                             | label_32:
    0x0000e350 move s4, zero                 |         s4 = 0;
    0x0000e354 b 0xdb84                      |         goto label_4;
                                             |     }
    0x0000e358 move a0, zero                 |     a0 = 0;
    0x0000e35c jalr t9                       |     t9 ();
    0x0000e360 lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0000e364 sw v0, 0x20(sp)               |     *(var_20h) = v0;
    0x0000e368 sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x0000e36c lw v0, -0x7fb4(gp)            |     v0 = *(gp);
    0x0000e370 lw v1, -0x7fb4(gp)            |     v1 = *(gp);
                                             |     /* str.OpenSSH_8.6 */
    0x0000e374 addiu v0, v0, 0x6b98          |     v0 += 0x6b98;
    0x0000e378 sw v0, 0x1c(sp)               |     *(var_1ch) = v0;
    0x0000e37c lw v0, -0x7fb4(gp)            |     v0 = *(gp);
    0x0000e380 lw a0, -0x7fb4(gp)            |     a0 = *(gp);
    0x0000e384 lw s1, -0x7fc8(gp)            |     s1 = *(gp);
                                             |     /* str.sshd_version__s___s */
    0x0000e388 addiu v0, v0, 0x6ba4          |     v0 += 0x6ba4;
    0x0000e38c lw t9, -0x7f6c(gp)            |     t9 = sym.sshlog;
    0x0000e390 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x0000e394 addiu v0, zero, 5             |     v0 = 5;
    0x0000e398 sw a0, 0x40(sp)               |     *(var_40h) = a0;
    0x0000e39c sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0000e3a0 sw v1, 0x50(sp)               |     *(var_50h) = v1;
    0x0000e3a4 sw s1, 0x7c(sp)               |     *(var_7ch) = s1;
    0x0000e3a8 move a3, zero                 |     a3 = 0;
    0x0000e3ac addiu a2, zero, 0x6ef         |     a2 = 0x6ef;
                                             |     /* str.main */
    0x0000e3b0 addiu a1, v1, 0x7e94          |     a1 = v1 + 0x7e94;
                                             |     /* str.sshd.c */
    0x0000e3b4 addiu a0, a0, 0x65f4          |     a0 += 0x65f4;
    0x0000e3b8 jalr t9                       |     t9 ();
    0x0000e3bc lw v0, (s1)                   |     v0 = *(s1);
    0x0000e3c0 lw gp, 0x38(sp)               |     gp = *(var_38h);
                                             |     if (v0 != 0) {
    0x0000e3c4 bnez v0, 0xe8e8               |         goto label_45;
                                             |     }
                                             | label_10:
    0x0000e3c8 lw s3, -0x7fdc(gp)            |     s3 = *((gp - 8183));
    0x0000e3cc lw s5, -0x7e88(gp)            |     s5 = *(gp);
    0x0000e3d0 lw s1, -0x7fb4(gp)            |     s1 = *(gp);
    0x0000e3d4 lw t9, -0x71fc(gp)            |     t9 = sym.imp.getpwnam;
    0x0000e3d8 sw s3, 0x94(sp)               |     *(var_94h) = s3;
                                             |     /* str.sshd */
    0x0000e3dc addiu a0, s1, 0x6bb8          |     a0 = s1 + 0x6bb8;
    0x0000e3e0 sw s5, 0x80(sp)               |     *(var_80h) = s5;
    0x0000e3e4 sw v0, -0x5fc8(s3)            |     *((s3 - 6130)) = v0;
    0x0000e3e8 jalr t9                       |     t9 ();
    0x0000e3ec lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0000e3f0 sw v0, (s5)                   |     *(s5) = v0;
                                             |     if (v0 == 0) {
    0x0000e3f4 beqz v0, 0xe894               |         goto label_46;
                                             |     }
    0x0000e3f8 lw t9, -0x7e84(gp)            |     t9 = sym.pwcopy;
    0x0000e3fc move a0, v0                   |     a0 = v0;
    0x0000e400 jalr t9                       |     t9 ();
    0x0000e404 lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0000e408 lw s3, 0x80(sp)               |     s3 = *(var_80h);
    0x0000e40c lw s1, 4(v0)                  |     s1 = *((v0 + 1));
    0x0000e410 lw t9, -0x6f68(gp)            |     t9 = sym.imp.strlen;
    0x0000e414 move a0, s1                   |     a0 = s1;
    0x0000e418 sw v0, (s3)                   |     *(s3) = v0;
    0x0000e41c jalr t9                       |     t9 ();
    0x0000e420 lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0000e424 move a0, s1                   |     a0 = s1;
    0x0000e428 lw t9, -0x7f80(gp)            |     t9 = sym.freezero;
    0x0000e42c move a1, v0                   |     a1 = v0;
    0x0000e430 jalr t9                       |     t9 ();
    0x0000e434 lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0000e438 lw s1, (s3)                   |     s1 = *(s3);
    0x0000e43c lw a0, -0x7f34(gp)            |     a0 = *(gp);
    0x0000e440 lw t9, -0x7ef4(gp)            |     t9 = sym.xstrdup;
                                             |     /* esilref: ' ' */
    0x0000e444 addiu a0, a0, 0x65b0          |     a0 += 0x65b0;
    0x0000e448 jalr t9                       |     t9 ();
    0x0000e44c lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0000e450 sw v0, 4(s1)                  |     *((s1 + 1)) = v0;
    0x0000e454 lw t9, -0x7140(gp)            |     t9 = sym.imp.endpwent;
                                             | label_9:
    0x0000e458 jalr t9                       |     t9 ();
    0x0000e45c nop                           |     
    0x0000e460 lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0000e464 lw a0, 0x428(s4)              |     a0 = *(s4);
    0x0000e468 lw t9, -0x7f18(gp)            |     t9 = sym.xcalloc;
    0x0000e46c addiu a1, zero, 4             |     a1 = 4;
    0x0000e470 jalr t9                       |     t9 ();
    0x0000e474 lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0000e478 lw s3, 0x48(sp)               |     s3 = *(var_48h);
    0x0000e47c lw a0, 0x428(s4)              |     a0 = *(s4);
    0x0000e480 lw t9, -0x7f18(gp)            |     t9 = sym.xcalloc;
    0x0000e484 addiu a1, zero, 4             |     a1 = 4;
    0x0000e488 sw v0, (s3)                   |     *(s3) = v0;
    0x0000e48c jalr t9                       |     t9 ();
    0x0000e490 lw s1, 0x434(s4)              |     s1 = *(s4);
    0x0000e494 lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0000e498 sw v0, 4(s3)                  |     *((s3 + 1)) = v0;
                                             |     if (s1 != 0) {
    0x0000e49c beqz s1, 0xe4dc               |         
    0x0000e4a0 lw s3, -0x7fb4(gp)            |         s3 = *(gp);
    0x0000e4a4 lw t9, -0x7200(gp)            |         t9 = sym.imp.strcmp;
                                             |         /* str.SSH_AUTH_SOCK */
    0x0000e4a8 addiu a1, s3, 0x6bec          |         a1 = s3 + 0x6bec;
    0x0000e4ac move a0, s1                   |         a0 = s1;
    0x0000e4b0 jalr t9                       |         t9 ();
    0x0000e4b4 lw gp, 0x38(sp)               |         gp = *(var_38h);
                                             |         if (v0 != 0) {
    0x0000e4b8 bnez v0, 0xf6a8               |             goto label_47;
                                             |         }
                                             | label_25:
    0x0000e4bc lw t9, -0x7e80(gp)            |         t9 = sym.ssh_get_authentication_socket;
    0x0000e4c0 move a0, zero                 |         a0 = 0;
    0x0000e4c4 jalr t9                       |         t9 ();
    0x0000e4c8 lw gp, 0x38(sp)               |         gp = *(var_38h);
                                             |         if (v0 != 0) {
    0x0000e4cc bnez v0, 0xf650               |             goto label_48;
                                             |         }
    0x0000e4d0 lw v0, -0x7fdc(gp)            |         v0 = *((gp - 8183));
    0x0000e4d4 addiu a0, zero, 1             |         a0 = 1;
    0x0000e4d8 sw a0, -0x4878(v0)            |         *((v0 - 4638)) = a0;
                                             |     }
                                             | label_24:
    0x0000e4dc lw v0, -0x7f34(gp)            |     v0 = *(gp);
    0x0000e4e0 move s6, zero                 |     s6 = 0;
    0x0000e4e4 sw v0, 0x68(sp)               |     *(var_68h) = v0;
    0x0000e4e8 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x0000e4ec sw v0, 0x78(sp)               |     *(var_78h) = v0;
    0x0000e4f0 lw v0, -0x7fb4(gp)            |     v0 = *(gp);
                                             |     /* str._s_host_key__d:__s__s */
    0x0000e4f4 addiu v0, v0, 0x6d34          |     v0 += 0x6d34;
    0x0000e4f8 sw v0, 0x6c(sp)               |     *(var_6ch) = v0;
    0x0000e4fc lw v0, -0x7fb4(gp)            |     v0 = *(gp);
                                             |     /* str.private */
    0x0000e500 addiu v0, v0, 0x685c          |     v0 += 0x685c;
    0x0000e504 sw v0, 0x70(sp)               |     *(var_70h) = v0;
    0x0000e508 lw v0, -0x7fb4(gp)            |     v0 = *(gp);
                                             |     /* str.agent */
    0x0000e50c addiu v0, v0, 0x6864          |     v0 += 0x6864;
    0x0000e510 sw v0, 0x74(sp)               |     *(var_74h) = v0;
                                             |     do {
                                             | label_17:
    0x0000e514 lw v0, 0x428(s4)              |         v0 = *(s4);
    0x0000e518 sltu v0, s6, v0               |         v0 = (s6 < v0) ? 1 : 0;
    0x0000e51c sll s1, s6, 2                 |         s1 = s6 << 2;
                                             |         if (v0 == 0) {
    0x0000e520 beqz v0, 0xec9c               |             goto label_49;
                                             |         }
    0x0000e524 lw s3, 0x424(s4)              |         s3 = *(s4);
    0x0000e528 lw a0, 0x420(s4)              |         a0 = *(s4);
    0x0000e52c lwx s3, s1(s3)                |         __asm ("lwx s3, s1(s3)");
    0x0000e530 addiu v1, zero, 2             |         v1 = 2;
    0x0000e534 addiu v0, zero, 5             |         v0 = 5;
    0x0000e538 lwx a0, s1(a0)                |         __asm ("lwx a0, s1(a0)");
                                             |         if (s3 == 0) {
    0x0000e53c movn v0, v1, s3               |             v0 = v1;
                                             |         }
    0x0000e540 move s3, v0                   |         s3 = v0;
                                             |         if (a0 != 0) {
    0x0000e544 beqz a0, 0xe7d4               |             
    0x0000e548 lw v0, 0x68(sp)               |             v0 = *(var_68h);
    0x0000e54c lw t9, -0x7e7c(gp)            |             t9 = sym.sshkey_load_private;
    0x0000e550 move a3, zero                 |             a3 = 0;
    0x0000e554 addiu a2, sp, 0xd8            |             a2 = sp + 0xd8;
    0x0000e558 addiu a1, v0, -0x6990         |             a1 = v0 + -0x6990;
    0x0000e55c jalr t9                       |             t9 ();
    0x0000e560 move s5, v0                   |             s5 = v0;
    0x0000e564 lw gp, 0x38(sp)               |             gp = *(var_38h);
                                             |             if (v0 == 0) {
    0x0000e568 beqz v0, 0xe94c               |                 goto label_50;
                                             |             }
    0x0000e56c addiu v0, zero, -0x18         |             v0 = -0x18;
    0x0000e570 lw t9, -0x7e78(gp)            |             t9 = sym.sshkey_is_sk;
                                             |             if (s5 != v0) {
    0x0000e574 beq s5, v0, 0xe5d0            |                 
    0x0000e578 lw t9, -0x7f70(gp)            |                 t9 = sym.ssh_err;
    0x0000e57c move a0, s5                   |                 a0 = s5;
    0x0000e580 jalr t9                       |                 t9 ();
    0x0000e584 lw v1, 0x420(s4)              |                 v1 = *(s4);
    0x0000e588 lw gp, 0x38(sp)               |                 gp = *(var_38h);
    0x0000e58c move a3, zero                 |                 a3 = 0;
    0x0000e590 lwx v1, s1(v1)                |                 __asm ("lwx v1, s1(v1)");
    0x0000e594 sw v0, 0x14(sp)               |                 *(var_14h) = v0;
    0x0000e598 lw v0, 0x50(sp)               |                 v0 = *(var_50h);
    0x0000e59c sw v1, 0x1c(sp)               |                 *(var_1ch) = v1;
    0x0000e5a0 lw v1, -0x7fb4(gp)            |                 v1 = *(gp);
    0x0000e5a4 addiu a1, v0, 0x7e94          |                 a1 = v0 + 0x7e94;
    0x0000e5a8 lw v0, 0x40(sp)               |                 v0 = *(var_40h);
    0x0000e5ac lw t9, -0x7f6c(gp)            |                 t9 = sym.sshlog;
                                             |                 /* str.Unable_to_load_host_key___s_ */
    0x0000e5b0 addiu v1, v1, 0x6c1c          |                 v1 += 0x6c1c;
    0x0000e5b4 sw v1, 0x18(sp)               |                 *(var_18h) = v1;
    0x0000e5b8 sw s3, 0x10(sp)               |                 *(var_10h) = s3;
    0x0000e5bc addiu a2, zero, 0x718         |                 a2 = 0x718;
    0x0000e5c0 addiu a0, v0, 0x65f4          |                 a0 = v0 + 0x65f4;
    0x0000e5c4 jalr t9                       |                 t9 ();
    0x0000e5c8 lw gp, 0x38(sp)               |                 gp = *(var_38h);
    0x0000e5cc lw t9, -0x7e78(gp)            |                 t9 = sym.sshkey_is_sk;
                                             |             }
    0x0000e5d0 lw a0, 0xd8(sp)               |             a0 = *(var_d8h);
    0x0000e5d4 jalr t9                       |             t9 ();
    0x0000e5d8 lw gp, 0x38(sp)               |             gp = *(var_38h);
                                             |             if (v0 != 0) {
    0x0000e5dc beqz v0, 0xe5f4               |                 
    0x0000e5e0 lw v0, 0xd8(sp)               |                 v0 = *(var_d8h);
    0x0000e5e4 lbu v0, 0x38(v0)              |                 v0 = *((v0 + 56));
    0x0000e5e8 andi v0, v0, 1                |                 v0 &= 1;
    0x0000e5ec lw v0, 0x420(s4)              |                 v0 = *(s4);
                                             |                 if (v0 == 0) {
    0x0000e5f0 bnel v0, zero, 0xe9f8         |                     goto label_51;
                                             |                 }
                                             |             }
                                             | label_11:
    0x0000e5f4 lw a0, 0x420(s4)              |             a0 = *(s4);
                                             | label_13:
    0x0000e5f8 lw t9, -0x7e74(gp)            |             t9 = sym.sshkey_load_public;
    0x0000e5fc addiu s5, sp, 0xdc            |             s5 = sp + 0xdc;
    0x0000e600 lwx a0, s1(a0)                |             __asm ("lwx a0, s1(a0)");
    0x0000e604 move a2, zero                 |             a2 = 0;
    0x0000e608 move a1, s5                   |             a1 = s5;
    0x0000e60c jalr t9                       |             t9 ();
    0x0000e610 lw gp, 0x38(sp)               |             gp = *(var_38h);
                                             |             if (v0 != 0) {
    0x0000e614 beqz v0, 0xe678               |                 
    0x0000e618 addiu v1, zero, -0x18         |                 v1 = -0x18;
    0x0000e61c lw a0, 0xdc(sp)               |                 a0 = *(var_dch);
                                             |                 if (v0 == v1) {
    0x0000e620 beq v0, v1, 0xe67c            |                     goto label_52;
                                             |                 }
    0x0000e624 lw t9, -0x7f70(gp)            |                 t9 = sym.ssh_err;
    0x0000e628 move a0, v0                   |                 a0 = v0;
    0x0000e62c jalr t9                       |                 t9 ();
    0x0000e630 lw v1, 0x420(s4)              |                 v1 = *(s4);
    0x0000e634 lw gp, 0x38(sp)               |                 gp = *(var_38h);
    0x0000e638 move a3, zero                 |                 a3 = 0;
    0x0000e63c lwx v1, s1(v1)                |                 __asm ("lwx v1, s1(v1)");
    0x0000e640 sw v0, 0x14(sp)               |                 *(var_14h) = v0;
    0x0000e644 lw v0, 0x50(sp)               |                 v0 = *(var_50h);
    0x0000e648 sw v1, 0x1c(sp)               |                 *(var_1ch) = v1;
    0x0000e64c lw v1, -0x7fb4(gp)            |                 v1 = *(gp);
    0x0000e650 addiu a1, v0, 0x7e94          |                 a1 = v0 + 0x7e94;
    0x0000e654 lw v0, 0x40(sp)               |                 v0 = *(var_40h);
    0x0000e658 lw t9, -0x7f6c(gp)            |                 t9 = sym.sshlog;
                                             |                 /* str.Unable_to_load_host_key___s_ */
    0x0000e65c addiu v1, v1, 0x6c1c          |                 v1 += 0x6c1c;
    0x0000e660 sw v1, 0x18(sp)               |                 *(var_18h) = v1;
    0x0000e664 sw s3, 0x10(sp)               |                 *(var_10h) = s3;
    0x0000e668 addiu a2, zero, 0x729         |                 a2 = 0x729;
    0x0000e66c addiu a0, v0, 0x65f4          |                 a0 = v0 + 0x65f4;
    0x0000e670 jalr t9                       |                 t9 ();
    0x0000e674 lw gp, 0x38(sp)               |                 gp = *(var_38h);
                                             |             }
    0x0000e678 lw a0, 0xdc(sp)               |             a0 = *(var_dch);
                                             | label_52:
    0x0000e67c lw v0, 0xd8(sp)               |             v0 = *(var_d8h);
                                             |             if (a0 == 0) {
    0x0000e680 beqz a0, 0xeab4               |                 goto label_53;
                                             |             }
    0x0000e684 lw t9, -0x7fd0(gp)            |             t9 = sym.sshkey_equal;
                                             |             if (v0 != 0) {
    0x0000e688 beqz v0, 0xe6ac               |                 
    0x0000e68c move a1, v0                   |                 a1 = v0;
    0x0000e690 jalr t9                       |                 t9 ();
    0x0000e694 lw gp, 0x38(sp)               |                 gp = *(var_38h);
                                             |                 if (v0 == 0) {
    0x0000e698 beqz v0, 0xea58               |                     goto label_54;
                                             |                 }
    0x0000e69c lw v0, 0xdc(sp)               |                 v0 = *(var_dch);
    0x0000e6a0 lw v0, 0xd8(sp)               |                 v0 = *(var_d8h);
                                             |                 if (v0 == 0) {
    0x0000e6a4 beqz v0, 0xeab8               |                     goto label_55;
                                             |                 }
                                             | label_15:
    0x0000e6a8 lw v0, 0xd8(sp)               |                 v0 = *(var_d8h);
                                             |             }
                                             | label_14:
    0x0000e6ac lw a0, 0x48(sp)               |             a0 = *(var_48h);
    0x0000e6b0 lw v1, (a0)                   |             v1 = *(a0);
    0x0000e6b4 addu v1, v1, s1               |             v1 += s1;
    0x0000e6b8 sw v0, (v1)                   |             *(v1) = v0;
    0x0000e6bc lw v0, 4(a0)                  |             v0 = *((a0 + 1));
    0x0000e6c0 lw v1, 0xdc(sp)               |             v1 = *(var_dch);
    0x0000e6c4 addu v0, v0, s1               |             v0 += s1;
    0x0000e6c8 sw v1, (v0)                   |             *(v0) = v1;
    0x0000e6cc lw v0, 0xd8(sp)               |             v0 = *(var_d8h);
    0x0000e6d0 lw t9, -0x7f48(gp)            |             t9 = *(gp);
                                             |             if (v0 == 0) {
    0x0000e6d4 beqz v0, 0xeb18               |                 goto label_56;
                                             |             }
    0x0000e6d8 lw v1, 0x5c(sp)               |             v1 = *(var_5ch);
    0x0000e6dc move a1, v0                   |             a1 = v0;
    0x0000e6e0 lw a0, (v1)                   |             a0 = *(v1);
                                             |             /* fcn.00012f6c */
    0x0000e6e4 addiu t9, t9, 0x2f6c          |             t9 += 0x2f6c;
    0x0000e6e8 lw s1, (v0)                   |             s1 = *(v0);
    0x0000e6ec bal 0x12f6c                   |             fcn_00012f6c ();
    0x0000e6f0 lw gp, 0x38(sp)               |             gp = *(var_38h);
    0x0000e6f4 lw a0, 0xdc(sp)               |             a0 = *(var_dch);
                                             | label_21:
    0x0000e6f8 sltiu v0, s1, 0xd             |             v0 = (s1 < 0xd) ? 1 : 0;
    0x0000e6fc lw t9, -0x7e70(gp)            |             t9 = sym.sshkey_fingerprint;
                                             |             if (v0 != 0) {
    0x0000e700 beqz v0, 0xe740               |                 
    0x0000e704 addiu v0, zero, 1             |                 v0 = 1;
    0x0000e708 sllv v0, v0, s1               |                 v0 <<= s1;
    0x0000e70c andi v0, v0, 0x150f           |                 v0 &= 0x150f;
                                             |                 if (v0 == 0) {
    0x0000e710 beql v0, zero, 0xe744         |                     goto label_57;
                                             |                 }
    0x0000e714 lw a1, 0x11d0(s4)             |                 a1 = *((s4 + 1140));
    0x0000e718 lw v0, 0x78(sp)               |                 v0 = *(var_78h);
    0x0000e71c lw v0, -0x4878(v0)            |                 v0 = *((v0 - 4638));
    0x0000e720 lw v1, 0x48(sp)               |                 v1 = *(var_48h);
                                             |                 if (v0 == 0) {
    0x0000e724 bnez v0, 0xe734               |                     
    0x0000e728 lw v0, 0xd8(sp)               |                     v0 = *(var_d8h);
                                             |                     if (v0 == 0) {
    0x0000e72c beql v0, zero, 0xe744         |                         goto label_57;
                                             |                     }
    0x0000e730 lw a1, 0x11d0(s4)             |                     a1 = *((s4 + 1140));
                                             |                 }
    0x0000e734 addiu v0, zero, 1             |                 v0 = 1;
    0x0000e738 sw v0, 0xc(v1)                |                 *((v1 + 3)) = v0;
    0x0000e73c lw t9, -0x7e70(gp)            |                 t9 = sym.sshkey_fingerprint;
                                             |             }
    0x0000e740 lw a1, 0x11d0(s4)             |             a1 = *((s4 + 1140));
                                             | label_57:
    0x0000e744 move a2, zero                 |             a2 = 0;
    0x0000e748 jalr t9                       |             t9 ();
    0x0000e74c move s1, v0                   |             s1 = v0;
    0x0000e750 lw gp, 0x38(sp)               |             gp = *(var_38h);
                                             |             if (v0 == 0) {
    0x0000e754 beqz v0, 0xed28               |                 goto label_58;
                                             |             }
    0x0000e758 lw v1, 0x70(sp)               |             v1 = *(var_70h);
    0x0000e75c lw s3, 0xd8(sp)               |             s3 = *(var_d8h);
    0x0000e760 lw v0, 0x74(sp)               |             v0 = *(var_74h);
    0x0000e764 lw t9, -0x7e6c(gp)            |             t9 = sym.sshkey_ssh_name;
    0x0000e768 lw a0, 0xdc(sp)               |             a0 = *(var_dch);
                                             |             if (s3 == 0) {
    0x0000e76c movn v0, v1, s3               |                 v0 = v1;
                                             |             }
    0x0000e770 move s3, v0                   |             s3 = v0;
    0x0000e774 jalr t9                       |             t9 ();
    0x0000e778 sw v0, 0x24(sp)               |             *(var_24h) = v0;
    0x0000e77c lw v0, 0x50(sp)               |             v0 = *(var_50h);
    0x0000e780 lw gp, 0x38(sp)               |             gp = *(var_38h);
    0x0000e784 addiu a1, v0, 0x7e94          |             a1 = v0 + 0x7e94;
    0x0000e788 lw v0, 0x40(sp)               |             v0 = *(var_40h);
    0x0000e78c lw t9, -0x7f6c(gp)            |             t9 = sym.sshlog;
    0x0000e790 addiu a0, v0, 0x65f4          |             a0 = v0 + 0x65f4;
    0x0000e794 lw v0, 0x6c(sp)               |             v0 = *(var_6ch);
    0x0000e798 move a3, zero                 |             a3 = 0;
    0x0000e79c sw v0, 0x18(sp)               |             *(var_18h) = v0;
    0x0000e7a0 addiu v0, zero, 5             |             v0 = 5;
    0x0000e7a4 addiu a2, zero, 0x759         |             a2 = 0x759;
    0x0000e7a8 sw v0, 0x10(sp)               |             *(var_10h) = v0;
    0x0000e7ac sw s1, 0x28(sp)               |             *(var_28h) = s1;
    0x0000e7b0 sw s6, 0x20(sp)               |             *(var_20h) = s6;
    0x0000e7b4 sw s3, 0x1c(sp)               |             *(var_1ch) = s3;
    0x0000e7b8 sw zero, 0x14(sp)             |             *(var_14h) = 0;
    0x0000e7bc jalr t9                       |             t9 ();
    0x0000e7c0 lw gp, 0x38(sp)               |             gp = *(var_38h);
    0x0000e7c4 lw t9, -0x6e6c(gp)            |             t9 = sym.imp.free;
    0x0000e7c8 move a0, s1                   |             a0 = s1;
    0x0000e7cc jalr t9                       |             t9 ();
    0x0000e7d0 lw gp, 0x38(sp)               |             gp = *(var_38h);
                                             |         }
    0x0000e7d4 addiu s6, s6, 1               |         s6++;
    0x0000e7d8 b 0xe514                      |         
                                             |     } while (1);
                                             | label_39:
    0x0000e7dc lw a1, -0x7fb4(gp)            |     a1 = *(gp);
    0x0000e7e0 lw a0, -0x7f34(gp)            |     a0 = *(gp);
    0x0000e7e4 lw t9, -0x7e68(gp)            |     t9 = sym.setproctitle;
                                             |     /* str._rexeced_ */
    0x0000e7e8 addiu a1, a1, 0x6aa0          |     a1 += 0x6aa0;
                                             |     /* esilref: '&s' */
    0x0000e7ec addiu a0, a0, -0x7908         |     a0 += -0x7908;
    0x0000e7f0 jalr t9                       |     t9 ();
    0x0000e7f4 lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0000e7f8 lw v0, 0x5c(sp)               |     v0 = *(var_5ch);
    0x0000e7fc lw t9, -0x7f48(gp)            |     t9 = *(gp);
                                             |     /* fcn.00013af8 */
    0x0000e800 addiu t9, t9, 0x3af8          |     t9 += 0x3af8;
    0x0000e804 lw a0, (v0)                   |     a0 = *(v0);
    0x0000e808 bal 0x13af8                   |     fcn_00013af8 ();
    0x0000e80c lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0000e810 lw v0, -0x7ed8(gp)            |     v0 = *(gp);
    0x0000e814 lw v0, (v0)                   |     v0 = *(v0);
    0x0000e818 lw t9, -0x6f28(gp)            |     t9 = sym.imp.dup;
                                             |     if (v0 == 0) {
    0x0000e81c beqz v0, 0xe904               |         goto label_59;
                                             |     }
                                             | label_8:
    0x0000e820 lw v0, 0x58(sp)               |     v0 = *(var_58h);
    0x0000e824 lw v0, -0x4828(v0)            |     v0 = *((v0 - 4618));
    0x0000e828 lw a1, -0x7fb4(gp)            |     a1 = *(gp);
                                             |     if (v0 == 0) {
    0x0000e82c beqz v0, 0xf6c4               |         goto label_60;
                                             |     }
                                             |     /* str.rexec */
    0x0000e830 addiu a1, a1, 0x6854          |     a1 += 0x6854;
    0x0000e834 b 0xe230                      |     goto label_5;
                                             | label_37:
    0x0000e838 lw v0, -0x5fb0(v0)            |     v0 = *((v0 - 6124));
    0x0000e83c lw t9, -0x7e64(gp)            |     t9 = sym.path_absolute;
                                             |     if (v0 == 0) {
    0x0000e840 beqz v0, 0xe1c8               |         goto label_6;
                                             |     }
    0x0000e844 lw a0, (s2)                   |     a0 = *(s2);
    0x0000e848 jalr t9                       |     t9 ();
    0x0000e84c lw gp, 0x38(sp)               |     gp = *(var_38h);
                                             |     if (v0 != 0) {
    0x0000e850 bnez v0, 0xe098               |         goto label_7;
                                             |     }
    0x0000e854 lw v0, -0x7fb4(gp)            |     v0 = *(gp);
    0x0000e858 lw t9, -0x7f74(gp)            |     t9 = sym.sshfatal;
                                             |     /* str.sshd_re_exec_requires_execution_with_an_absolute_path */
    0x0000e85c addiu v0, v0, 0x6a14          |     v0 += 0x6a14;
    0x0000e860 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x0000e864 addiu v0, zero, 1             |     v0 = 1;
    0x0000e868 sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x0000e86c sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0000e870 move a3, zero                 |     a3 = 0;
    0x0000e874 addiu a2, zero, 0x686         |     a2 = 0x686;
    0x0000e878 b 0xe1a0                      |     goto label_2;
                                             | label_40:
    0x0000e87c lw t9, -0x7e60(gp)            |     t9 = sym.load_server_config;
    0x0000e880 move a1, s1                   |     a1 = s1;
    0x0000e884 move a0, s5                   |     a0 = s5;
    0x0000e888 bal 0x1814c                   |     sym_load_server_config ();
    0x0000e88c lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0000e890 b 0xe820                      |     goto label_8;
                                             | label_46:
    0x0000e894 lw v0, -0x5fc8(s3)            |     v0 = *((s3 - 6130));
    0x0000e898 lw a0, 0x4c8(s4)              |     a0 = *(s4);
    0x0000e89c or v0, v0, a0                 |     v0 |= a0;
    0x0000e8a0 lw t9, -0x7140(gp)            |     t9 = sym.imp.endpwent;
                                             |     if (v0 == 0) {
    0x0000e8a4 beqz v0, 0xe458               |         goto label_9;
                                             |     }
    0x0000e8a8 lw v0, -0x7fb4(gp)            |     v0 = *(gp);
                                             |     /* str.sshd */
    0x0000e8ac addiu s1, s1, 0x6bb8          |     s1 += 0x6bb8;
                                             |     /* str.Privilege_separation_user__s_does_not_exist */
    0x0000e8b0 addiu v0, v0, 0x6bc0          |     v0 += 0x6bc0;
    0x0000e8b4 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x0000e8b8 lw t9, -0x7f74(gp)            |     t9 = sym.sshfatal;
    0x0000e8bc addiu v0, zero, 1             |     v0 = 1;
    0x0000e8c0 sw s1, 0x1c(sp)               |     *(var_1ch) = s1;
    0x0000e8c4 sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x0000e8c8 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0000e8cc move a3, zero                 |     a3 = 0;
    0x0000e8d0 addiu a2, zero, 0x6f6         |     a2 = 0x6f6;
                                             | label_16:
    0x0000e8d4 lw v0, 0x50(sp)               |     v0 = *(var_50h);
    0x0000e8d8 addiu a1, v0, 0x7e94          |     a1 = v0 + 0x7e94;
    0x0000e8dc lw v0, 0x40(sp)               |     v0 = *(var_40h);
    0x0000e8e0 addiu a0, v0, 0x65f4          |     a0 = v0 + 0x65f4;
    0x0000e8e4 jalr t9                       |     t9 ();
                                             | label_45:
    0x0000e8e8 lw t9, -0x6fd8(gp)            |     t9 = sym.imp.getuid;
    0x0000e8ec jalr t9                       |     t9 ();
    0x0000e8f0 nop                           |     
    0x0000e8f4 lw gp, 0x38(sp)               |     gp = *(var_38h);
                                             |     if (v0 != 0) {
    0x0000e8f8 bnez v0, 0xf6cc               |         goto label_61;
                                             |     }
    0x0000e8fc addiu v0, zero, 1             |     v0 = 1;
    0x0000e900 b 0xe3c8                      |     goto label_10;
                                             | label_59:
    0x0000e904 lw s1, -0x7fdc(gp)            |     s1 = *((gp - 8183));
    0x0000e908 addiu a0, zero, 4             |     a0 = 4;
    0x0000e90c jalr t9                       |     t9 ();
    0x0000e910 lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0000e914 addiu a0, zero, 4             |     a0 = 4;
    0x0000e918 lw t9, -0x7024(gp)            |     t9 = sym.imp.close;
    0x0000e91c sw v0, -0x5fbc(s1)            |     *((s1 - 6127)) = v0;
    0x0000e920 jalr t9                       |     t9 ();
    0x0000e924 lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0000e928 lw a1, -0x5fbc(s1)            |     a1 = *((s1 - 6127));
    0x0000e92c addiu a3, zero, 1             |     a3 = 1;
    0x0000e930 lw a2, -0x7fb4(gp)            |     a2 = *(gp);
    0x0000e934 lw t9, -0x7e5c(gp)            |     t9 = sym.atomicio;
    0x0000e938 lw a0, -0x6d80(gp)            |     a0 = *((gp - 7008));
    0x0000e93c addiu a2, a2, 0x7bd0          |     a2 += 0x7bd0;
    0x0000e940 jalr t9                       |     t9 ();
    0x0000e944 lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0000e948 b 0xe820                      |     goto label_8;
                                             | label_50:
    0x0000e94c lw t9, -0x7e78(gp)            |     t9 = sym.sshkey_is_sk;
    0x0000e950 lw a0, 0xd8(sp)               |     a0 = *(var_d8h);
    0x0000e954 jalr t9                       |     t9 ();
    0x0000e958 lw gp, 0x38(sp)               |     gp = *(var_38h);
                                             |     if (v0 == 0) {
    0x0000e95c beqz v0, 0xeb94               |         goto label_62;
                                             |     }
    0x0000e960 lw v0, 0xd8(sp)               |     v0 = *(var_d8h);
    0x0000e964 lbu v1, 0x38(v0)              |     v1 = *((v0 + 56));
    0x0000e968 andi v1, v1, 1                |     v1 &= 1;
    0x0000e96c lw v0, 0x420(s4)              |     v0 = *(s4);
                                             |     if (v1 == 0) {
    0x0000e970 bnel v1, zero, 0xe9f8         |         goto label_51;
                                             |     }
                                             | label_12:
    0x0000e974 move a0, v0                   |     a0 = v0;
    0x0000e978 lw t9, -0x7e58(gp)            |     t9 = sym.sshkey_shield_private;
                                             | label_18:
    0x0000e97c jalr t9                       |     t9 ();
    0x0000e980 nop                           |     
    0x0000e984 lw gp, 0x38(sp)               |     gp = *(var_38h);
                                             |     if (v0 == 0) {
    0x0000e988 beqz v0, 0xe5f4               |         goto label_11;
                                             |     }
    0x0000e98c lw t9, -0x7f70(gp)            |     t9 = sym.ssh_err;
    0x0000e990 move a0, v0                   |     a0 = v0;
    0x0000e994 jalr t9                       |     t9 ();
    0x0000e998 lw v1, 0x420(s4)              |     v1 = *(s4);
    0x0000e99c lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0000e9a0 move a3, zero                 |     a3 = 0;
    0x0000e9a4 lwx v1, s1(v1)                |     __asm ("lwx v1, s1(v1)");
    0x0000e9a8 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x0000e9ac lw v0, 0x50(sp)               |     v0 = *(var_50h);
    0x0000e9b0 lw t9, -0x7f6c(gp)            |     t9 = sym.sshlog;
    0x0000e9b4 addiu a1, v0, 0x7e94          |     a1 = v0 + 0x7e94;
    0x0000e9b8 lw v0, 0x40(sp)               |     v0 = *(var_40h);
    0x0000e9bc addiu a2, zero, 0x722         |     a2 = 0x722;
    0x0000e9c0 addiu a0, v0, 0x65f4          |     a0 = v0 + 0x65f4;
    0x0000e9c4 lw v0, -0x7fb4(gp)            |     v0 = *(gp);
    0x0000e9c8 sw v1, 0x1c(sp)               |     *(var_1ch) = v1;
                                             |     /* str.Unable_to_shield_host_key___s_ */
    0x0000e9cc addiu v0, v0, 0x6c6c          |     v0 += 0x6c6c;
    0x0000e9d0 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x0000e9d4 sw s3, 0x10(sp)               |     *(var_10h) = s3;
    0x0000e9d8 jalr t9                       |     t9 ();
    0x0000e9dc lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0000e9e0 lw t9, -0x7f10(gp)            |     t9 = sym.sshkey_free;
    0x0000e9e4 lw a0, 0xd8(sp)               |     a0 = *(var_d8h);
    0x0000e9e8 jalr t9                       |     t9 ();
    0x0000e9ec lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0000e9f0 sw zero, 0xd8(sp)             |     *(var_d8h) = 0;
    0x0000e9f4 b 0xe5f4                      |     goto label_11;
                                             | label_51:
    0x0000e9f8 lw t9, -0x7f6c(gp)            |     t9 = sym.sshlog;
    0x0000e9fc move a3, zero                 |     a3 = 0;
    0x0000ea00 lwx v0, s1(v0)                |     __asm ("lwx v0, s1(v0)");
    0x0000ea04 addiu a2, zero, 0x71c         |     a2 = 0x71c;
    0x0000ea08 sw v0, 0x1c(sp)               |     *(var_1ch) = v0;
    0x0000ea0c lw v0, -0x7fb4(gp)            |     v0 = *(gp);
    0x0000ea10 sw zero, 0x14(sp)             |     *(var_14h) = 0;
                                             |     /* str.host_key__s_requires_user_presence__ignoring */
    0x0000ea14 addiu v0, v0, 0x6c3c          |     v0 += 0x6c3c;
    0x0000ea18 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x0000ea1c addiu v0, zero, 5             |     v0 = 5;
    0x0000ea20 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0000ea24 lw v0, 0x50(sp)               |     v0 = *(var_50h);
    0x0000ea28 addiu a1, v0, 0x7e94          |     a1 = v0 + 0x7e94;
    0x0000ea2c lw v0, 0x40(sp)               |     v0 = *(var_40h);
    0x0000ea30 addiu a0, v0, 0x65f4          |     a0 = v0 + 0x65f4;
    0x0000ea34 jalr t9                       |     t9 ();
    0x0000ea38 lw v0, 0xd8(sp)               |     v0 = *(var_d8h);
    0x0000ea3c lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0000ea40 lbu v1, 0x38(v0)              |     v1 = *((v0 + 56));
    0x0000ea44 andi v1, v1, 0xfe             |     v1 &= 0xfe;
    0x0000ea48 sb v1, 0x38(v0)               |     *((v0 + 56)) = v1;
                                             |     if (s5 == 0) {
    0x0000ea4c beqz s5, 0xe974               |         goto label_12;
                                             |     }
    0x0000ea50 lw a0, 0x420(s4)              |     a0 = *(s4);
    0x0000ea54 b 0xe5f8                      |     goto label_13;
                                             | label_54:
    0x0000ea58 lw v0, 0x420(s4)              |     v0 = *(s4);
    0x0000ea5c lw v1, 0x50(sp)               |     v1 = *(var_50h);
    0x0000ea60 lw t9, -0x7f6c(gp)            |     t9 = sym.sshlog;
    0x0000ea64 lwx v0, s1(v0)                |     __asm ("lwx v0, s1(v0)");
    0x0000ea68 addiu a1, v1, 0x7e94          |     a1 = v1 + 0x7e94;
    0x0000ea6c sw v0, 0x1c(sp)               |     *(var_1ch) = v0;
    0x0000ea70 lw v0, -0x7fb4(gp)            |     v0 = *(gp);
    0x0000ea74 lw v1, 0x40(sp)               |     v1 = *(var_40h);
                                             |     /* str.Public_key_for__s_does_not_match_private_key */
    0x0000ea78 addiu v0, v0, 0x6c8c          |     v0 += 0x6c8c;
    0x0000ea7c sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x0000ea80 addiu v0, zero, 2             |     v0 = 2;
    0x0000ea84 addiu a0, v1, 0x65f4          |     a0 = v1 + 0x65f4;
    0x0000ea88 move a3, zero                 |     a3 = 0;
    0x0000ea8c addiu a2, zero, 0x72d         |     a2 = 0x72d;
    0x0000ea90 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0000ea94 sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x0000ea98 jalr t9                       |     t9 ();
    0x0000ea9c lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0000eaa0 lw t9, -0x7f10(gp)            |     t9 = sym.sshkey_free;
    0x0000eaa4 lw a0, 0xdc(sp)               |     a0 = *(var_dch);
    0x0000eaa8 jalr t9                       |     t9 ();
    0x0000eaac lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0000eab0 sw zero, 0xdc(sp)             |     *(var_dch) = 0;
                                             | label_53:
    0x0000eab4 lw v0, 0xd8(sp)               |     v0 = *(var_d8h);
                                             | label_55:
    0x0000eab8 lw t9, -0x7f0c(gp)            |     t9 = sym.sshkey_from_private;
                                             |     if (v0 == 0) {
    0x0000eabc beqz v0, 0xe6ac               |         goto label_14;
                                             |     }
    0x0000eac0 move a1, s5                   |     a1 = s5;
    0x0000eac4 move a0, v0                   |     a0 = v0;
    0x0000eac8 jalr t9                       |     t9 ();
    0x0000eacc lw gp, 0x38(sp)               |     gp = *(var_38h);
                                             |     if (v0 == 0) {
    0x0000ead0 beqz v0, 0xe6a8               |         goto label_15;
                                             |     }
    0x0000ead4 lw t9, -0x7f70(gp)            |     t9 = sym.ssh_err;
    0x0000ead8 move a0, v0                   |     a0 = v0;
    0x0000eadc jalr t9                       |     t9 ();
    0x0000eae0 lw v1, 0x420(s4)              |     v1 = *(s4);
    0x0000eae4 lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0000eae8 move a3, zero                 |     a3 = 0;
    0x0000eaec lwx s1, s1(v1)                |     __asm ("lwx s1, s1(v1)");
    0x0000eaf0 lw v1, -0x7fb4(gp)            |     v1 = *(gp);
    0x0000eaf4 sw v0, 0x14(sp)               |     *(var_14h) = v0;
                                             |     /* str.Could_not_demote_key:___s_ */
    0x0000eaf8 addiu v1, v1, 0x6cbc          |     v1 += 0x6cbc;
    0x0000eafc addiu v0, zero, 1             |     v0 = 1;
    0x0000eb00 lw t9, -0x7f74(gp)            |     t9 = sym.sshfatal;
    0x0000eb04 sw s1, 0x1c(sp)               |     *(var_1ch) = s1;
    0x0000eb08 sw v1, 0x18(sp)               |     *(var_18h) = v1;
    0x0000eb0c sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0000eb10 addiu a2, zero, 0x735         |     a2 = 0x735;
    0x0000eb14 b 0xe8d4                      |     goto label_16;
                                             | label_56:
    0x0000eb18 lw v0, 0x420(s4)              |     v0 = *(s4);
    0x0000eb1c lw t9, -0x7f6c(gp)            |     t9 = sym.sshlog;
    0x0000eb20 lwx v0, s1(v0)                |     __asm ("lwx v0, s1(v0)");
                                             |     if (v1 != 0) {
    0x0000eb24 beqz v1, 0xeb38               |         
    0x0000eb28 lw v1, 0x78(sp)               |         v1 = *(var_78h);
    0x0000eb2c lw v1, -0x4878(v1)            |         v1 = *((v1 - 4638));
    0x0000eb30 sw v0, 0x1c(sp)               |         *(var_1ch) = v0;
                                             |         if (v1 == 0) {
    0x0000eb34 bnel v1, zero, 0xec58         |             goto label_63;
                                             |         }
                                             |     }
    0x0000eb38 sw v0, 0x1c(sp)               |     *(var_1ch) = v0;
    0x0000eb3c lw v0, -0x7fb4(gp)            |     v0 = *(gp);
    0x0000eb40 sw zero, 0x14(sp)             |     *(var_14h) = 0;
                                             |     /* str.Unable_to_load_host_key:__s */
    0x0000eb44 addiu v0, v0, 0x6cfc          |     v0 += 0x6cfc;
    0x0000eb48 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x0000eb4c lw v0, 0x50(sp)               |     v0 = *(var_50h);
    0x0000eb50 sw s3, 0x10(sp)               |     *(var_10h) = s3;
    0x0000eb54 addiu a1, v0, 0x7e94          |     a1 = v0 + 0x7e94;
    0x0000eb58 lw v0, 0x40(sp)               |     v0 = *(var_40h);
    0x0000eb5c move a3, zero                 |     a3 = 0;
    0x0000eb60 addiu a0, v0, 0x65f4          |     a0 = v0 + 0x65f4;
    0x0000eb64 addiu a2, zero, 0x743         |     a2 = 0x743;
    0x0000eb68 jalr t9                       |     t9 ();
    0x0000eb6c lw v1, 0x48(sp)               |     v1 = *(var_48h);
    0x0000eb70 lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0000eb74 addiu s6, s6, 1               |     s6++;
    0x0000eb78 lw v0, (v1)                   |     v0 = *(v1);
    0x0000eb7c addu v0, v0, s1               |     v0 += s1;
    0x0000eb80 sw zero, (v0)                 |     *(v0) = 0;
    0x0000eb84 lw v0, 4(v1)                  |     v0 = *((v1 + 1));
    0x0000eb88 addu s1, v0, s1               |     s1 = v0 + s1;
    0x0000eb8c sw zero, (s1)                 |     *(s1) = 0;
    0x0000eb90 b 0xe514                      |     goto label_17;
                                             | label_62:
    0x0000eb94 lw a0, 0xd8(sp)               |     a0 = *(var_d8h);
                                             |     if (a0 == 0) {
    0x0000eb98 beql a0, zero, 0xe5f8         |         goto label_13;
                                             |     }
    0x0000eb9c lw a0, 0x420(s4)              |     a0 = *(s4);
    0x0000eba0 lw t9, -0x7e58(gp)            |     t9 = sym.sshkey_shield_private;
    0x0000eba4 b 0xe97c                      |     goto label_18;
                                             | label_41:
    0x0000eba8 lw a1, -0x7fb4(gp)            |     a1 = *(gp);
                                             |     if (a0 == 0) {
    0x0000ebac beqz a0, 0xe298               |         goto label_19;
                                             |     }
    0x0000ebb0 lw t9, -0x6ff4(gp)            |     t9 = sym.imp.strcasecmp;
                                             |     /* str.none */
    0x0000ebb4 addiu a1, a1, 0x6aac          |     a1 += 0x6aac;
    0x0000ebb8 jalr t9                       |     t9 ();
    0x0000ebbc lw gp, 0x38(sp)               |     gp = *(var_38h);
                                             |     if (v0 == 0) {
    0x0000ebc0 beqz v0, 0xe298               |         goto label_19;
                                             |     }
    0x0000ebc4 lw v0, -0x7fb4(gp)            |     v0 = *(gp);
    0x0000ebc8 lw t9, -0x7f74(gp)            |     t9 = sym.sshfatal;
                                             |     /* str.AuthorizedKeysCommand_set_without_AuthorizedKeysCommandUser */
    0x0000ebcc addiu v0, v0, 0x6ab4          |     v0 += 0x6ab4;
    0x0000ebd0 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x0000ebd4 addiu v0, zero, 1             |     v0 = 1;
    0x0000ebd8 sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x0000ebdc sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0000ebe0 move a3, zero                 |     a3 = 0;
    0x0000ebe4 addiu a2, zero, 0x6d1         |     a2 = 0x6d1;
    0x0000ebe8 b 0xe1a0                      |     goto label_2;
                                             | label_42:
    0x0000ebec lw a1, -0x7fb4(gp)            |     a1 = *(gp);
                                             |     if (a0 == 0) {
    0x0000ebf0 beqz a0, 0xe2a4               |         goto label_20;
                                             |     }
    0x0000ebf4 lw t9, -0x6ff4(gp)            |     t9 = sym.imp.strcasecmp;
                                             |     /* str.none */
    0x0000ebf8 addiu a1, a1, 0x6aac          |     a1 += 0x6aac;
    0x0000ebfc jalr t9                       |     t9 ();
    0x0000ec00 lw gp, 0x38(sp)               |     gp = *(var_38h);
                                             |     if (v0 == 0) {
    0x0000ec04 beqz v0, 0xe2a4               |         goto label_20;
                                             |     }
    0x0000ec08 lw v0, -0x7fb4(gp)            |     v0 = *(gp);
    0x0000ec0c lw t9, -0x7f74(gp)            |     t9 = sym.sshfatal;
                                             |     /* str.AuthorizedPrincipalsCommand_set_without_AuthorizedPrincipalsCommandUser */
    0x0000ec10 addiu v0, v0, 0x6af0          |     v0 += 0x6af0;
    0x0000ec14 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x0000ec18 addiu v0, zero, 1             |     v0 = 1;
    0x0000ec1c sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x0000ec20 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0000ec24 move a3, zero                 |     a3 = 0;
    0x0000ec28 addiu a2, zero, 0x6d6         |     a2 = 0x6d6;
    0x0000ec2c b 0xe1a0                      |     goto label_2;
                                             | label_38:
    0x0000ec30 lw v0, -0x7fb4(gp)            |     v0 = *(gp);
    0x0000ec34 lw t9, -0x7f74(gp)            |     t9 = sym.sshfatal;
                                             |     /* str.sshbuf_new_failed */
    0x0000ec38 addiu v0, v0, 0x66b0          |     v0 += 0x66b0;
    0x0000ec3c sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x0000ec40 addiu v0, zero, 1             |     v0 = 1;
    0x0000ec44 sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x0000ec48 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0000ec4c addiu a3, zero, 1             |     a3 = 1;
    0x0000ec50 addiu a2, zero, 0x6ad         |     a2 = 0x6ad;
    0x0000ec54 b 0xe1a0                      |     goto label_2;
                                             | label_63:
    0x0000ec58 lw v0, -0x7fb4(gp)            |     v0 = *(gp);
    0x0000ec5c sw zero, 0x14(sp)             |     *(var_14h) = 0;
                                             |     /* str.will_rely_on_agent_for_hostkey__s */
    0x0000ec60 addiu v0, v0, 0x6cd8          |     v0 += 0x6cd8;
    0x0000ec64 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x0000ec68 addiu v0, zero, 5             |     v0 = 5;
    0x0000ec6c sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0000ec70 lw v0, 0x50(sp)               |     v0 = *(var_50h);
    0x0000ec74 move a3, zero                 |     a3 = 0;
    0x0000ec78 addiu a1, v0, 0x7e94          |     a1 = v0 + 0x7e94;
    0x0000ec7c lw v0, 0x40(sp)               |     v0 = *(var_40h);
    0x0000ec80 addiu a2, zero, 0x73c         |     a2 = 0x73c;
    0x0000ec84 addiu a0, v0, 0x65f4          |     a0 = v0 + 0x65f4;
    0x0000ec88 jalr t9                       |     t9 ();
    0x0000ec8c lw a0, 0xdc(sp)               |     a0 = *(var_dch);
    0x0000ec90 lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0000ec94 lw s1, (a0)                   |     s1 = *(a0);
    0x0000ec98 b 0xe6f8                      |     goto label_21;
                                             | label_49:
    0x0000ec9c lw v0, 0x5c(sp)               |     v0 = *(var_5ch);
    0x0000eca0 lw t9, -0x7f48(gp)            |     t9 = *(gp);
    0x0000eca4 move a1, zero                 |     a1 = 0;
                                             |     /* fcn.00012f6c */
    0x0000eca8 addiu t9, t9, 0x2f6c          |     t9 += 0x2f6c;
    0x0000ecac lw a0, (v0)                   |     a0 = *(v0);
    0x0000ecb0 bal 0x12f6c                   |     fcn_00012f6c ();
    0x0000ecb4 lw v0, 0x48(sp)               |     v0 = *(var_48h);
    0x0000ecb8 lw v0, 0xc(v0)                |     v0 = *((v0 + 3));
    0x0000ecbc lw gp, 0x38(sp)               |     gp = *(var_38h);
                                             |     if (v0 == 0) {
    0x0000ecc0 bnez v0, 0xed60               |         
    0x0000ecc4 lw v0, 0x40(sp)               |         v0 = *(var_40h);
    0x0000ecc8 lw t9, -0x7f6c(gp)            |         t9 = sym.sshlog;
    0x0000eccc addiu a0, v0, 0x65f4          |         a0 = v0 + 0x65f4;
    0x0000ecd0 lw v0, -0x7fb4(gp)            |         v0 = *(gp);
    0x0000ecd4 sw zero, 0x14(sp)             |         *(var_14h) = 0;
                                             |         /* str.sshd:_no_hostkeys_available____exiting. */
    0x0000ecd8 addiu v0, v0, 0x6d4c          |         v0 += 0x6d4c;
    0x0000ecdc sw v0, 0x18(sp)               |         *(var_18h) = v0;
    0x0000ece0 addiu v0, zero, 3             |         v0 = 3;
    0x0000ece4 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x0000ece8 lw v0, 0x50(sp)               |         v0 = *(var_50h);
    0x0000ecec move a3, zero                 |         a3 = 0;
    0x0000ecf0 addiu a2, zero, 0x75e         |         a2 = 0x75e;
    0x0000ecf4 addiu a1, v0, 0x7e94          |         a1 = v0 + 0x7e94;
    0x0000ecf8 jalr t9                       |         t9 ();
    0x0000ecfc lw gp, 0x38(sp)               |         gp = *(var_38h);
    0x0000ed00 lw t9, -0x7210(gp)            |         t9 = sym.imp.exit;
    0x0000ed04 addiu a0, zero, 1             |         a0 = 1;
    0x0000ed08 jalr t9                       |         t9 ();
    0x0000ed0c lw v0, -0x6f44(gp)            |         v0 = *((gp - 7121));
    0x0000ed10 lw a0, -0x7fb4(gp)            |         a0 = *(gp);
    0x0000ed14 lw t9, -0x702c(gp)            |         t9 = sym.imp.fwrite;
    0x0000ed18 lw a3, (v0)                   |         a3 = *(v0);
                                             |         /* str.too_many_ports._n */
    0x0000ed1c addiu a0, a0, 0x68a8          |         a0 += 0x68a8;
    0x0000ed20 addiu a2, zero, 0x10          |         a2 = 0x10;
    0x0000ed24 b 0xdfa4                      |         goto label_3;
                                             | label_58:
    0x0000ed28 lw v0, -0x7fb4(gp)            |         v0 = *(gp);
    0x0000ed2c lw t9, -0x7f74(gp)            |         t9 = sym.sshfatal;
                                             |         /* str.sshkey_fingerprint_failed */
    0x0000ed30 addiu v0, v0, 0x6d18          |         v0 += 0x6d18;
    0x0000ed34 sw v0, 0x18(sp)               |         *(var_18h) = v0;
    0x0000ed38 addiu v0, zero, 1             |         v0 = 1;
    0x0000ed3c sw zero, 0x14(sp)             |         *(var_14h) = 0;
    0x0000ed40 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x0000ed44 move a3, zero                 |         a3 = 0;
    0x0000ed48 addiu a2, zero, 0x757         |         a2 = 0x757;
    0x0000ed4c lw v0, 0x50(sp)               |         v0 = *(var_50h);
    0x0000ed50 addiu a1, v0, 0x7e94          |         a1 = v0 + 0x7e94;
    0x0000ed54 lw v0, 0x40(sp)               |         v0 = *(var_40h);
    0x0000ed58 addiu a0, v0, 0x65f4          |         a0 = v0 + 0x65f4;
    0x0000ed5c jalr t9                       |         t9 ();
                                             |     }
    0x0000ed60 lw t9, -0x7f18(gp)            |     t9 = sym.xcalloc;
    0x0000ed64 lw a0, 0x428(s4)              |     a0 = *(s4);
    0x0000ed68 addiu a1, zero, 4             |     a1 = 4;
    0x0000ed6c jalr t9                       |     t9 ();
    0x0000ed70 lw v1, 0x48(sp)               |     v1 = *(var_48h);
    0x0000ed74 lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0000ed78 move a0, zero                 |     a0 = 0;
    0x0000ed7c sw v0, 8(v1)                  |     *((v1 + 2)) = v0;
    0x0000ed80 b 0xed98                      |     
                                             |     while (v0 != 0) {
    0x0000ed84 sll v1, a0, 2                 |         v1 = a0 << 2;
    0x0000ed88 addiu a0, a0, 1               |         a0++;
    0x0000ed8c lw v0, 8(v0)                  |         v0 = *((v0 + 2));
    0x0000ed90 addu v0, v0, v1               |         v0 += v1;
    0x0000ed94 sw zero, (v0)                 |         *(v0) = 0;
    0x0000ed98 lw v0, 0x428(s4)              |         v0 = *(s4);
    0x0000ed9c sltu v0, a0, v0               |         v0 = (a0 < v0) ? 1 : 0;
    0x0000eda0 lw v0, 0x48(sp)               |         v0 = *(var_48h);
    0x0000eda4 bnez v0, 0xed84               |         
                                             |     }
    0x0000eda8 lw v0, -0x7fb4(gp)            |     v0 = *(gp);
    0x0000edac move s1, zero                 |     s1 = 0;
                                             |     /* str.No_matching_private_key_for_certificate:__s */
    0x0000edb0 addiu v0, v0, 0x6dc8          |     v0 += 0x6dc8;
    0x0000edb4 sw v0, 0x68(sp)               |     *(var_68h) = v0;
    0x0000edb8 lw v0, -0x7fb4(gp)            |     v0 = *(gp);
    0x0000edbc addiu s5, sp, 0xd8            |     s5 = sp + 0xd8;
                                             |     /* str.host_certificate:__u_type__d__s */
    0x0000edc0 addiu v0, v0, 0x6df4          |     v0 += 0x6df4;
    0x0000edc4 sw v0, 0x6c(sp)               |     *(var_6ch) = v0;
    0x0000edc8 lw v0, -0x7fb4(gp)            |     v0 = *(gp);
    0x0000edcc sw s0, 0x698(sp)              |     *(arg_698h) = s0;
    0x0000edd0 sw v0, 0x70(sp)               |     *(var_70h) = v0;
    0x0000edd4 lw v0, -0x7fb4(gp)            |     v0 = *(gp);
                                             |     /* str.Could_not_load_host_certificate___s_ */
    0x0000edd8 addiu v0, v0, 0x6d74          |     v0 += 0x6d74;
    0x0000eddc sw v0, 0x74(sp)               |     *(var_74h) = v0;
                                             | label_22:
    0x0000ede0 lw v0, 0x430(s4)              |     v0 = *(s4);
    0x0000ede4 sltu v0, s1, v0               |     v0 = (s1 < v0) ? 1 : 0;
    0x0000ede8 sll s3, s1, 2                 |     s3 = s1 << 2;
                                             |     if (v0 == 0) {
    0x0000edec beqz v0, 0xefe4               |         goto label_64;
                                             |     }
    0x0000edf0 lw a0, 0x42c(s4)              |     a0 = *(s4);
    0x0000edf4 lwx a0, s3(a0)                |     __asm ("lwx a0, s3(a0)");
    0x0000edf8 lw t9, -0x7e74(gp)            |     t9 = sym.sshkey_load_public;
                                             |     if (a0 == 0) {
    0x0000edfc beqz a0, 0xeeb8               |         goto label_65;
                                             |     }
    0x0000ee00 move a2, zero                 |     a2 = 0;
    0x0000ee04 move a1, s5                   |     a1 = s5;
    0x0000ee08 jalr t9                       |     t9 ();
    0x0000ee0c lw gp, 0x38(sp)               |     gp = *(var_38h);
                                             |     if (v0 != 0) {
    0x0000ee10 bnez v0, 0xeec0               |         goto label_66;
                                             |     }
    0x0000ee14 lw t9, -0x7fcc(gp)            |     t9 = sym.sshkey_is_cert;
    0x0000ee18 lw a0, 0xd8(sp)               |     a0 = *(var_d8h);
    0x0000ee1c jalr t9                       |     t9 ();
    0x0000ee20 lw gp, 0x38(sp)               |     gp = *(var_38h);
                                             |     if (v0 == 0) {
    0x0000ee24 beqz v0, 0xef1c               |         goto label_67;
                                             |     }
    0x0000ee28 move s6, zero                 |     s6 = 0;
    0x0000ee2c b 0xee54                      |     
                                             |     while (v0 != 0) {
    0x0000ee30 sll s0, s6, 2                 |         s0 = s6 << 2;
    0x0000ee34 lw t9, -0x7e54(gp)            |         t9 = sym.sshkey_equal_public;
    0x0000ee38 lw a1, (v0)                   |         a1 = *(v0);
    0x0000ee3c lw a0, 0xd8(sp)               |         a0 = *(var_d8h);
    0x0000ee40 lwx a1, s0(a1)                |         __asm ("lwx a1, s0(a1)");
    0x0000ee44 jalr t9                       |         t9 ();
    0x0000ee48 lw gp, 0x38(sp)               |         gp = *(var_38h);
                                             |         if (v0 != 0) {
    0x0000ee4c bnez v0, 0xef54               |             goto label_68;
                                             |         }
    0x0000ee50 addiu s6, s6, 1               |         s6++;
    0x0000ee54 lw v0, 0x428(s4)              |         v0 = *(s4);
    0x0000ee58 sltu v0, s6, v0               |         v0 = (s6 < v0) ? 1 : 0;
    0x0000ee5c lw v0, 0x48(sp)               |         v0 = *(var_48h);
    0x0000ee60 bnez v0, 0xee30               |         
                                             |     }
                                             | label_23:
    0x0000ee64 lw v0, 0x42c(s4)              |     v0 = *(s4);
    0x0000ee68 lw t9, -0x7f6c(gp)            |     t9 = sym.sshlog;
    0x0000ee6c move a3, zero                 |     a3 = 0;
    0x0000ee70 lwx s3, s3(v0)                |     __asm ("lwx s3, s3(v0)");
    0x0000ee74 lw v0, 0x50(sp)               |     v0 = *(var_50h);
    0x0000ee78 addiu a2, zero, 0x784         |     a2 = 0x784;
    0x0000ee7c addiu a1, v0, 0x7e94          |     a1 = v0 + 0x7e94;
    0x0000ee80 lw v0, 0x40(sp)               |     v0 = *(var_40h);
    0x0000ee84 sw s3, 0x1c(sp)               |     *(var_1ch) = s3;
    0x0000ee88 addiu a0, v0, 0x65f4          |     a0 = v0 + 0x65f4;
    0x0000ee8c lw v0, 0x68(sp)               |     v0 = *(var_68h);
    0x0000ee90 sw v0, 0x18(sp)               |     *(var_18h) = v0;
                                             |     do {
    0x0000ee94 addiu v0, zero, 2             |         v0 = 2;
    0x0000ee98 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x0000ee9c sw zero, 0x14(sp)             |         *(var_14h) = 0;
    0x0000eea0 jalr t9                       |         t9 ();
    0x0000eea4 lw gp, 0x38(sp)               |         gp = *(var_38h);
    0x0000eea8 lw t9, -0x7f10(gp)            |         t9 = sym.sshkey_free;
    0x0000eeac lw a0, 0xd8(sp)               |         a0 = *(var_d8h);
    0x0000eeb0 jalr t9                       |         t9 ();
    0x0000eeb4 lw gp, 0x38(sp)               |         gp = *(var_38h);
                                             | label_65:
    0x0000eeb8 addiu s1, s1, 1               |         s1++;
    0x0000eebc b 0xede0                      |         goto label_22;
                                             | label_66:
    0x0000eec0 lw t9, -0x7f70(gp)            |         t9 = sym.ssh_err;
    0x0000eec4 move a0, v0                   |         a0 = v0;
    0x0000eec8 jalr t9                       |         t9 ();
    0x0000eecc lw v1, 0x42c(s4)              |         v1 = *(s4);
    0x0000eed0 lw gp, 0x38(sp)               |         gp = *(var_38h);
    0x0000eed4 move a3, zero                 |         a3 = 0;
    0x0000eed8 lwx s3, s3(v1)                |         __asm ("lwx s3, s3(v1)");
    0x0000eedc sw v0, 0x14(sp)               |         *(var_14h) = v0;
    0x0000eee0 addiu v0, zero, 2             |         v0 = 2;
    0x0000eee4 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x0000eee8 lw v0, 0x50(sp)               |         v0 = *(var_50h);
    0x0000eeec lw v1, 0x74(sp)               |         v1 = *(var_74h);
    0x0000eef0 addiu a1, v0, 0x7e94          |         a1 = v0 + 0x7e94;
    0x0000eef4 lw v0, 0x40(sp)               |         v0 = *(var_40h);
    0x0000eef8 lw t9, -0x7f6c(gp)            |         t9 = sym.sshlog;
    0x0000eefc sw s3, 0x1c(sp)               |         *(var_1ch) = s3;
    0x0000ef00 sw v1, 0x18(sp)               |         *(var_18h) = v1;
    0x0000ef04 addiu a2, zero, 0x771         |         a2 = 0x771;
    0x0000ef08 addiu a0, v0, 0x65f4          |         a0 = v0 + 0x65f4;
    0x0000ef0c jalr t9                       |         t9 ();
    0x0000ef10 addiu s1, s1, 1               |         s1++;
    0x0000ef14 lw gp, 0x38(sp)               |         gp = *(var_38h);
    0x0000ef18 b 0xede0                      |         goto label_22;
                                             | label_67:
    0x0000ef1c lw v0, 0x42c(s4)              |         v0 = *(s4);
    0x0000ef20 lw v1, 0x70(sp)               |         v1 = *(var_70h);
    0x0000ef24 lw t9, -0x7f6c(gp)            |         t9 = sym.sshlog;
    0x0000ef28 lwx s3, s3(v0)                |         __asm ("lwx s3, s3(v0)");
    0x0000ef2c lw v0, 0x50(sp)               |         v0 = *(var_50h);
    0x0000ef30 addiu v1, v1, 0x6d9c          |         v1 += 0x6d9c;
    0x0000ef34 addiu a1, v0, 0x7e94          |         a1 = v0 + 0x7e94;
    0x0000ef38 lw v0, 0x40(sp)               |         v0 = *(var_40h);
    0x0000ef3c move a3, zero                 |         a3 = 0;
    0x0000ef40 addiu a2, zero, 0x776         |         a2 = 0x776;
    0x0000ef44 addiu a0, v0, 0x65f4          |         a0 = v0 + 0x65f4;
    0x0000ef48 sw s3, 0x1c(sp)               |         *(var_1ch) = s3;
    0x0000ef4c sw v1, 0x18(sp)               |         *(var_18h) = v1;
    0x0000ef50 b 0xee94                      |         
                                             |     } while (1);
                                             | label_68:
    0x0000ef54 lw v0, 0x48(sp)               |     v0 = *(var_48h);
    0x0000ef58 lw a0, 0xd8(sp)               |     a0 = *(var_d8h);
    0x0000ef5c lw v0, 8(v0)                  |     v0 = *((v0 + 2));
    0x0000ef60 addu v0, v0, s0               |     v0 += s0;
    0x0000ef64 sw a0, (v0)                   |     *(v0) = a0;
    0x0000ef68 lw v0, 0x428(s4)              |     v0 = *(s4);
    0x0000ef6c sltu v0, s6, v0               |     v0 = (s6 < v0) ? 1 : 0;
    0x0000ef70 lw v0, 0x48(sp)               |     v0 = *(var_48h);
                                             |     if (v0 == 0) {
    0x0000ef74 beqz v0, 0xee64               |         goto label_23;
                                             |     }
    0x0000ef78 lw a0, 0xd8(sp)               |     a0 = *(var_d8h);
    0x0000ef7c lw t9, -0x7f08(gp)            |     t9 = sym.sshkey_type;
    0x0000ef80 lw v0, 8(v0)                  |     v0 = *((v0 + 2));
    0x0000ef84 addiu s1, s1, 1               |     s1++;
    0x0000ef88 addu v1, v0, s0               |     v1 = v0 + s0;
    0x0000ef8c sw a0, (v1)                   |     *(v1) = a0;
    0x0000ef90 lw s3, (a0)                   |     s3 = *(a0);
    0x0000ef94 jalr t9                       |     t9 ();
    0x0000ef98 sw v0, 0x24(sp)               |     *(var_24h) = v0;
    0x0000ef9c lw v0, 0x6c(sp)               |     v0 = *(var_6ch);
    0x0000efa0 lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0000efa4 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x0000efa8 addiu v0, zero, 5             |     v0 = 5;
    0x0000efac sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0000efb0 lw v0, 0x50(sp)               |     v0 = *(var_50h);
    0x0000efb4 lw t9, -0x7f6c(gp)            |     t9 = sym.sshlog;
    0x0000efb8 addiu a1, v0, 0x7e94          |     a1 = v0 + 0x7e94;
    0x0000efbc lw v0, 0x40(sp)               |     v0 = *(var_40h);
    0x0000efc0 sw s3, 0x20(sp)               |     *(var_20h) = s3;
    0x0000efc4 sw s6, 0x1c(sp)               |     *(var_1ch) = s6;
    0x0000efc8 sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x0000efcc move a3, zero                 |     a3 = 0;
    0x0000efd0 addiu a2, zero, 0x78a         |     a2 = 0x78a;
    0x0000efd4 addiu a0, v0, 0x65f4          |     a0 = v0 + 0x65f4;
    0x0000efd8 jalr t9                       |     t9 ();
    0x0000efdc lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0000efe0 b 0xede0                      |     goto label_22;
                                             | label_64:
    0x0000efe4 lw v0, 0x94(sp)               |     v0 = *(var_94h);
    0x0000efe8 lw v0, -0x5fc8(v0)            |     v0 = *((v0 - 6130));
    0x0000efec lw s0, 0x698(sp)              |     s0 = *(arg_698h);
                                             |     if (v0 != 0) {
    0x0000eff0 bnez v0, 0xf844               |         goto label_69;
                                             |     }
    0x0000eff4 lw v0, 0x64(sp)               |     v0 = *(var_64h);
                                             | label_27:
    0x0000eff8 lw v0, -0x4814(v0)            |     v0 = *((v0 - 4613));
    0x0000effc slti v0, v0, 2                |     v0 = (v0 < 2) ? 1 : 0;
    0x0000f000 lw v0, 0x44(sp)               |     v0 = *(var_44h);
                                             |     if (v0 == 0) {
    0x0000f004 bnez v0, 0xf048               |         
    0x0000f008 lw t9, -0x7ec8(gp)            |         t9 = sym.get_connection_info;
                                             |         if (v0 == 0) {
    0x0000f00c beqz v0, 0xf950               |             goto label_70;
                                             |         }
                                             | label_29:
    0x0000f010 lw v1, 0x44(sp)               |         v1 = *(var_44h);
    0x0000f014 lw t9, -0x7e50(gp)            |         t9 = sym.parse_server_match_config;
    0x0000f018 lw a1, -0x7f68(gp)            |         a1 = *(gp);
    0x0000f01c lw a0, -0x7fd8(gp)            |         a0 = *(gp);
    0x0000f020 addiu v0, zero, 1             |         v0 = 1;
    0x0000f024 move a2, v1                   |         a2 = v1;
    0x0000f028 sw v0, 0x18(v1)               |         *((v1 + 6)) = v0;
    0x0000f02c bal 0x1df94                   |         sym_parse_server_match_config ();
    0x0000f030 lw gp, 0x38(sp)               |         gp = *(var_38h);
    0x0000f034 lw a0, -0x7fd8(gp)            |         a0 = *(gp);
    0x0000f038 lw t9, -0x7e4c(gp)            |         t9 = sym.dump_config;
    0x0000f03c bal 0x1e064                   |         sym_dump_config ();
    0x0000f040 nop                           |         
    0x0000f044 lw gp, 0x38(sp)               |         gp = *(var_38h);
                                             |     }
    0x0000f048 lw v0, 0x64(sp)               |     v0 = *(var_64h);
    0x0000f04c lw s1, -0x4814(v0)            |     s1 = *((v0 - 4613));
    0x0000f050 lw t9, -0x7210(gp)            |     t9 = sym.imp.exit;
                                             |     if (s1 != 0) {
    0x0000f054 bnez s1, 0xf83c               |         goto label_71;
                                             |     }
    0x0000f058 lw t9, -0x6c78(gp)            |     t9 = sym.imp.setgroups;
    0x0000f05c move a1, zero                 |     a1 = 0;
    0x0000f060 move a0, zero                 |     a0 = 0;
    0x0000f064 jalr t9                       |     t9 ();
    0x0000f068 lw gp, 0x38(sp)               |     gp = *(var_38h);
                                             |     if (v0 < 0) {
    0x0000f06c bltz v0, 0xf8ec               |         goto label_72;
                                             |     }
                                             | label_28:
    0x0000f070 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x0000f074 sw v0, 0x70(sp)               |     *(var_70h) = v0;
    0x0000f078 lw v0, -0x5fb0(v0)            |     v0 = *((v0 - 6124));
    0x0000f07c lw v0, 0x54(sp)               |     v0 = *(var_54h);
                                             |     if (v0 == 0) {
    0x0000f080 beqz v0, 0xf184               |         goto label_73;
                                             |     }
    0x0000f084 lw a0, -0x482c(v0)            |     a0 = *((v0 - 4619));
    0x0000f088 lw v0, -0x7fb4(gp)            |     v0 = *(gp);
                                             |     if (a0 < 0) {
    0x0000f08c bltz a0, 0x10fa0              |         goto label_74;
                                             |     }
    0x0000f090 lw t9, -0x7f44(gp)            |     t9 = *(gp);
    0x0000f094 addiu a1, zero, 2             |     a1 = 2;
    0x0000f098 jalr t9                       |     t9 ();
    0x0000f09c lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0000f0a0 addiu a1, zero, 4             |     a1 = 4;
    0x0000f0a4 move a0, v0                   |     a0 = v0;
    0x0000f0a8 lw t2, -0x7fdc(gp)            |     t2 = *((gp - 8183));
    0x0000f0ac lw t9, -0x7f18(gp)            |     t9 = sym.xcalloc;
    0x0000f0b0 sw t2, 0x44(sp)               |     *(var_44h) = t2;
    0x0000f0b4 jalr t9                       |     t9 ();
    0x0000f0b8 lw t2, 0x44(sp)               |     t2 = *(var_44h);
    0x0000f0bc lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0000f0c0 move s3, zero                 |     s3 = 0;
    0x0000f0c4 sw v0, -0x4830(t2)            |     *((t2 - 4620)) = v0;
    0x0000f0c8 lw v0, 0x50(sp)               |     v0 = *(var_50h);
    0x0000f0cc lw s5, -0x7fb4(gp)            |     s5 = *(gp);
    0x0000f0d0 addiu t1, v0, 0x7e94          |     t1 = v0 + 0x7e94;
    0x0000f0d4 lw v0, 0x40(sp)               |     v0 = *(var_40h);
                                             |     /* str.rexec_argv__d__s */
    0x0000f0d8 addiu s5, s5, 0x6ec0          |     s5 += 0x6ec0;
    0x0000f0dc addiu t0, zero, 5             |     t0 = 5;
    0x0000f0e0 addiu v1, v0, 0x65f4          |     v1 = v0 + 0x65f4;
    0x0000f0e4 b 0xf154                      |     
                                             |     while (v0 != 0) {
    0x0000f0e8 sll s6, s3, 2                 |         s6 = s3 << 2;
    0x0000f0ec lw t9, -0x7f6c(gp)            |         t9 = sym.sshlog;
    0x0000f0f0 lwx v0, s6(v0)                |         __asm ("lwx v0, s6(v0)");
    0x0000f0f4 move a0, v1                   |         a0 = v1;
    0x0000f0f8 sw t2, 0x68(sp)               |         *(var_68h) = t2;
    0x0000f0fc sw s3, 0x1c(sp)               |         *(var_1ch) = s3;
    0x0000f100 sw v0, 0x20(sp)               |         *(var_20h) = v0;
    0x0000f104 sw t0, 0x10(sp)               |         *(var_10h) = t0;
    0x0000f108 move a1, t1                   |         a1 = t1;
    0x0000f10c sw t1, 0x64(sp)               |         *(var_64h) = t1;
    0x0000f110 sw v1, 0x44(sp)               |         *(var_44h) = v1;
    0x0000f114 move a3, zero                 |         a3 = 0;
    0x0000f118 sw s5, 0x18(sp)               |         *(var_18h) = s5;
    0x0000f11c sw zero, 0x14(sp)             |         *(var_14h) = 0;
    0x0000f120 addiu a2, zero, 0x7bf         |         a2 = 0x7bf;
    0x0000f124 jalr t9                       |         t9 ();
    0x0000f128 lw t2, 0x68(sp)               |         t2 = *(var_68h);
    0x0000f12c lw a0, -0x4824(s7)            |         a0 = *((s7 - 4617));
    0x0000f130 lw t1, 0x64(sp)               |         t1 = *(var_64h);
    0x0000f134 lw v0, -0x4830(t2)            |         v0 = *((t2 - 4620));
    0x0000f138 lwx a0, s6(a0)                |         __asm ("lwx a0, s6(a0)");
    0x0000f13c addu v0, v0, s6               |         v0 += s6;
    0x0000f140 lw v1, 0x44(sp)               |         v1 = *(var_44h);
    0x0000f144 lw gp, 0x38(sp)               |         gp = *(var_38h);
    0x0000f148 addiu s3, s3, 1               |         s3++;
    0x0000f14c sw a0, (v0)                   |         *(v0) = a0;
    0x0000f150 addiu t0, zero, 5             |         t0 = 5;
    0x0000f154 lw v0, 0x54(sp)               |         v0 = *(var_54h);
    0x0000f158 lw a0, -0x482c(v0)            |         a0 = *((v0 - 4619));
    0x0000f15c sltu v0, s3, a0               |         v0 = (s3 < a0) ? 1 : 0;
    0x0000f160 lw v0, -0x4824(s7)            |         v0 = *((s7 - 4617));
    0x0000f164 bnez v0, 0xf0e8               |         
                                             |     }
    0x0000f168 lw v0, -0x4830(t2)            |     v0 = *((t2 - 4620));
    0x0000f16c sll a0, a0, 2                 |     a0 <<= 2;
    0x0000f170 addu v0, v0, a0               |     v0 += a0;
    0x0000f174 lw a0, -0x7fb4(gp)            |     a0 = *(gp);
    0x0000f178 sw zero, 4(v0)                |     *((v0 + 1)) = 0;
                                             |     /* esilref: '-R' */
    0x0000f17c addiu a0, a0, 0x6ed4          |     a0 += 0x6ed4;
    0x0000f180 sw a0, (v0)                   |     *(v0) = a0;
                                             | label_73:
    0x0000f184 lw v0, -0x7f34(gp)            |     v0 = *(gp);
    0x0000f188 lw s3, -0x7e48(gp)            |     s3 = *(gp);
    0x0000f18c sw zero, 0xe8(sp)             |     *(var_e8h) = 0;
    0x0000f190 addiu s5, sp, 0xe8            |     s5 = sp + 0xe8;
                                             |     /* esilref: '&s' */
    0x0000f194 addiu s6, v0, -0x7908         |     s6 = v0 + -0x7908;
    0x0000f198 addiu s3, s3, -0x52c8         |     s3 += -0x52c8;
    0x0000f19c b 0xf1d4                      |     
                                             |     while (v0 != 0) {
    0x0000f1a0 lw t9, -0x7e44(gp)            |         t9 = sym.xextendf;
    0x0000f1a4 lwx a3, a3(s2)                |         __asm ("lwx a3, a3(s2)");
    0x0000f1a8 move a2, s6                   |         a2 = s6;
    0x0000f1ac move a1, s3                   |         a1 = s3;
    0x0000f1b0 move a0, s5                   |         a0 = s5;
    0x0000f1b4 jalr t9                       |         t9 ();
    0x0000f1b8 lw gp, 0x38(sp)               |         gp = *(var_38h);
    0x0000f1bc move a0, s1                   |         a0 = s1;
    0x0000f1c0 lw t9, -0x7f44(gp)            |         t9 = *(gp);
    0x0000f1c4 addiu a1, zero, 1             |         a1 = 1;
    0x0000f1c8 jalr t9                       |         t9 ();
    0x0000f1cc lw gp, 0x38(sp)               |         gp = *(var_38h);
    0x0000f1d0 move s1, v0                   |         s1 = v0;
    0x0000f1d4 slt v0, s1, s0                |         v0 = (s1 < s0) ? 1 : 0;
    0x0000f1d8 sll a3, s1, 2                 |         a3 = s1 << 2;
    0x0000f1dc bnez v0, 0xf1a0               |         
                                             |     }
    0x0000f1e0 lw v1, -0x7fdc(gp)            |     v1 = *((gp - 8183));
    0x0000f1e4 lw s0, -0x7ed8(gp)            |     s0 = *(gp);
    0x0000f1e8 lw v0, 0xe8(sp)               |     v0 = *(var_e8h);
    0x0000f1ec lw t9, -0x6f10(gp)            |     t9 = sym.imp.umask;
    0x0000f1f0 sw v1, 0xb8(sp)               |     *(var_b8h) = v1;
    0x0000f1f4 addiu a0, zero, 0x3f          |     a0 = 0x3f;
    0x0000f1f8 sw v0, -0x488c(v1)            |     *((v1 - 4643)) = v0;
    0x0000f1fc sw s0, 0x88(sp)               |     *(var_88h) = s0;
    0x0000f200 jalr t9                       |     t9 ();
    0x0000f204 lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0000f208 lw t9, -0x6f10(gp)            |     t9 = sym.imp.umask;
    0x0000f20c ori a0, v0, 0x12              |     a0 = v0 | 0x12;
    0x0000f210 jalr t9                       |     t9 ();
    0x0000f214 lw v0, (s0)                   |     v0 = *(s0);
    0x0000f218 lw gp, 0x38(sp)               |     gp = *(var_38h);
                                             |     if (v0 == 0) {
    0x0000f21c beqz v0, 0x10f94              |         goto label_75;
                                             |     }
    0x0000f220 lw v0, 0x60(sp)               |     v0 = *(var_60h);
    0x0000f224 lw v0, -0x4818(v0)            |     v0 = *((v0 - 4614));
    0x0000f228 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
                                             |     if (v0 != 0) {
    0x0000f22c beqz v0, 0xf240               |         
    0x0000f230 lw v0, 0x58(sp)               |         v0 = *(var_58h);
    0x0000f234 lw v0, -0x4828(v0)            |         v0 = *((v0 - 4618));
    0x0000f238 lw v0, -0x7fdc(gp)            |         v0 = *((gp - 8183));
                                             |         if (v0 == 0) {
    0x0000f23c beqz v0, 0x10f98              |             goto label_76;
                                             |         }
                                             |     }
    0x0000f240 move v1, v0                   |     v1 = v0;
    0x0000f244 sw v0, 0x6c(sp)               |     *(var_6ch) = v0;
    0x0000f248 addiu v0, zero, 1             |     v0 = 1;
    0x0000f24c sw v0, -0x4820(v1)            |     *((v1 - 4616)) = v0;
                                             | label_30:
    0x0000f250 lw v0, 0x6c(sp)               |     v0 = *(var_6ch);
    0x0000f254 lw t9, -0x7ea4(gp)            |     t9 = sym.log_init;
    0x0000f258 lw a2, 0x498(s4)              |     a2 = *(s4);
    0x0000f25c lw a3, -0x4820(v0)            |     a3 = *((v0 - 4616));
    0x0000f260 lw v0, 0x4c(sp)               |     v0 = *(var_4ch);
    0x0000f264 lw a1, 0x49c(s4)              |     a1 = *(s4);
    0x0000f268 move s0, zero                 |     s0 = 0;
    0x0000f26c lw a0, (v0)                   |     a0 = *(v0);
    0x0000f270 jalr t9                       |     t9 ();
    0x0000f274 lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0000f278 b 0xf294                      |     
                                             |     while (v0 == 0) {
    0x0000f27c sll v0, s0, 2                 |         v0 = s0 << 2;
    0x0000f280 lw t9, -0x7e40(gp)            |         t9 = sym.log_verbose_add;
    0x0000f284 lwx a0, v0(a0)                |         __asm ("lwx a0, v0(a0)");
    0x0000f288 addiu s0, s0, 1               |         s0++;
    0x0000f28c jalr t9                       |         t9 ();
    0x0000f290 lw gp, 0x38(sp)               |         gp = *(var_38h);
    0x0000f294 lw v0, 0x4a0(s4)              |         v0 = *(s4);
    0x0000f298 sltu v0, s0, v0               |         v0 = (s0 < v0) ? 1 : 0;
    0x0000f29c lw a0, 0x4a4(s4)              |         a0 = *(s4);
    0x0000f2a0 bnel v0, zero, 0xf27c         |         
                                             |     }
    0x0000f2a4 lw t9, -0x7e3c(gp)            |     t9 = sym.daemonized;
    0x0000f2a8 jalr t9                       |     t9 ();
    0x0000f2ac nop                           |     
    0x0000f2b0 lw v1, 0x88(sp)               |     v1 = *(var_88h);
    0x0000f2b4 lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0000f2b8 lw a0, (v1)                   |     a0 = *(v1);
    0x0000f2bc lw v1, 0x60(sp)               |     v1 = *(var_60h);
    0x0000f2c0 lw a1, -0x7fdc(gp)            |     a1 = *((gp - 8183));
    0x0000f2c4 lw a2, -0x4818(v1)            |     a2 = *((v1 - 4614));
    0x0000f2c8 lw a1, -0x481c(a1)            |     a1 = *((a1 - 4615));
    0x0000f2cc or a0, a0, a2                 |     a0 |= a2;
    0x0000f2d0 or a0, a0, a1                 |     a0 |= a1;
    0x0000f2d4 or v0, a0, v0                 |     v0 = a0 | v0;
    0x0000f2d8 lw v0, 0x6c(sp)               |     v0 = *(var_6ch);
                                             |     if (v0 == 0) {
    0x0000f2dc bnez v0, 0xf310               |         
    0x0000f2e0 lw t9, -0x6ca8(gp)            |         t9 = sym.imp.daemon;
    0x0000f2e4 move a0, zero                 |         a0 = 0;
    0x0000f2e8 move a1, zero                 |         a1 = 0;
    0x0000f2ec jalr t9                       |         t9 ();
    0x0000f2f0 addiu a0, zero, -1            |         a0 = -1;
    0x0000f2f4 lw gp, 0x38(sp)               |         gp = *(var_38h);
                                             |         if (v0 == a0) {
    0x0000f2f8 beq v0, a0, 0x11420           |             goto label_77;
                                             |         }
    0x0000f2fc lw t9, -0x7e38(gp)            |         t9 = sym.disconnect_controlling_tty;
    0x0000f300 bal 0x15a34                   |         sym_disconnect_controlling_tty ();
    0x0000f304 nop                           |         
    0x0000f308 lw gp, 0x38(sp)               |         gp = *(var_38h);
    0x0000f30c lw v0, 0x6c(sp)               |         v0 = *(var_6ch);
                                             |     }
    0x0000f310 lw s0, -0x7e48(gp)            |     s0 = *(gp);
    0x0000f314 lw t9, -0x7ea4(gp)            |     t9 = sym.log_init;
    0x0000f318 lw a3, -0x4820(v0)            |     a3 = *((v0 - 4616));
    0x0000f31c lw v0, 0x4c(sp)               |     v0 = *(var_4ch);
    0x0000f320 lw a2, 0x498(s4)              |     a2 = *(s4);
    0x0000f324 lw a1, 0x49c(s4)              |     a1 = *(s4);
    0x0000f328 lw a0, (v0)                   |     a0 = *(v0);
    0x0000f32c sw s0, 0xbc(sp)               |     *(var_bch) = s0;
    0x0000f330 jalr t9                       |     t9 ();
    0x0000f334 lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0000f338 lw t9, -0x6fcc(gp)            |     t9 = sym.imp.chdir;
    0x0000f33c addiu a0, s0, -0x7958         |     a0 = s0 + -0x7958;
    0x0000f340 jalr t9                       |     t9 ();
    0x0000f344 addiu a0, zero, -1            |     a0 = -1;
    0x0000f348 lw gp, 0x38(sp)               |     gp = *(var_38h);
                                             |     if (v0 == a0) {
    0x0000f34c beq v0, a0, 0x12904           |         goto label_78;
                                             |     }
                                             | label_31:
    0x0000f350 lw t9, -0x7fac(gp)            |     t9 = sym.ssh_signal;
    0x0000f354 addiu a1, zero, 1             |     a1 = 1;
    0x0000f358 addiu a0, zero, 0xd           |     a0 = 0xd;
    0x0000f35c jalr t9                       |     t9 ();
    0x0000f360 lw v0, 0x60(sp)               |     v0 = *(var_60h);
    0x0000f364 lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0000f368 lw v0, -0x4818(v0)            |     v0 = *((v0 - 4614));
    0x0000f36c sw v0, 0xa8(sp)               |     *(var_a8h) = v0;
                                             |     if (v0 == 0) {
    0x0000f370 beqz v0, 0xfbe4               |         goto label_79;
                                             |     }
    0x0000f374 lw v0, 0x58(sp)               |     v0 = *(var_58h);
    0x0000f378 lw v0, -0x4828(v0)            |     v0 = *((v0 - 4618));
    0x0000f37c lw t9, -0x6f28(gp)            |     t9 = sym.imp.dup;
                                             |     if (v0 == 0) {
    0x0000f380 beqz v0, 0x115b8              |         void (*0x115b8)() ();
                                             |     }
                                             | label_48:
    0x0000f650 lw t9, -0x7f70(gp)            |     t9 = sym.ssh_err;
    0x0000f654 move a0, v0                   |     a0 = v0;
    0x0000f658 jalr t9                       |     t9 ();
    0x0000f65c lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0000f660 lw a0, 0x434(s4)              |     a0 = *(s4);
    0x0000f664 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x0000f668 addiu v0, zero, 2             |     v0 = 2;
    0x0000f66c sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0000f670 lw v0, 0x50(sp)               |     v0 = *(var_50h);
    0x0000f674 sw a0, 0x1c(sp)               |     *(var_1ch) = a0;
    0x0000f678 lw a0, -0x7fb4(gp)            |     a0 = *(gp);
    0x0000f67c addiu a1, v0, 0x7e94          |     a1 = v0 + 0x7e94;
    0x0000f680 lw v0, 0x40(sp)               |     v0 = *(var_40h);
                                             |     /* str.Could_not_connect_to_agent___s_ */
    0x0000f684 addiu a0, a0, 0x6bfc          |     a0 += 0x6bfc;
    0x0000f688 lw t9, -0x7f6c(gp)            |     t9 = sym.sshlog;
    0x0000f68c sw a0, 0x18(sp)               |     *(var_18h) = a0;
    0x0000f690 move a3, zero                 |     a3 = 0;
    0x0000f694 addiu a2, zero, 0x70c         |     a2 = 0x70c;
    0x0000f698 addiu a0, v0, 0x65f4          |     a0 = v0 + 0x65f4;
    0x0000f69c jalr t9                       |     t9 ();
    0x0000f6a0 lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0000f6a4 b 0xe4dc                      |     goto label_24;
                                             | label_47:
    0x0000f6a8 lw t9, -0x720c(gp)            |     t9 = sym.imp.setenv;
    0x0000f6ac addiu a2, zero, 1             |     a2 = 1;
    0x0000f6b0 move a1, s1                   |     a1 = s1;
                                             |     /* str.SSH_AUTH_SOCK */
    0x0000f6b4 addiu a0, s3, 0x6bec          |     a0 = s3 + 0x6bec;
    0x0000f6b8 jalr t9                       |     t9 ();
    0x0000f6bc lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0000f6c0 b 0xe4bc                      |     goto label_25;
                                             | label_60:
    0x0000f6c4 lw s3, -0x7eb0(gp)            |     s3 = *(gp);
    0x0000f6c8 b 0xe22c                      |     goto label_26;
                                             | label_61:
    0x0000f6cc lw t9, -0x7250(gp)            |     t9 = sym.imp.geteuid;
    0x0000f6d0 jalr t9                       |     t9 ();
    0x0000f6d4 nop                           |     
    0x0000f6d8 sltiu v0, v0, 1               |     v0 = (v0 < 1) ? 1 : 0;
    0x0000f6dc lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0000f6e0 b 0xe3c8                      |     goto label_10;
                                             | label_71:
    0x0000f83c invalid                       |     
    0x0000f840 invalid                       |     
                                             | label_69:
    0x0000f844 lw s1, -0x8000(gp)            |     s1 = *((gp - 8192));
    0x0000f848 lw t9, -0x6d1c(gp)            |     t9 = sym.imp.__xstat64;
    0x0000f84c addiu a0, zero, 3             |     a0 = 3;
    0x0000f850 addiu a2, sp, 0x100           |     a2 = sp + aav.0x00000100;
                                             |     /* str._var_run_sshd */
    0x0000f854 addiu a1, s1, 0x6e18          |     a1 = s1 + 0x6e18;
    0x0000f858 jalr t9                       |     t9 ();
    0x0000f85c addiu a0, zero, -1            |     a0 = -1;
    0x0000f860 lw gp, 0x38(sp)               |     gp = *(var_38h);
                                             |     if (v0 != a0) {
    0x0000f864 beq v0, a0, 0xf87c            |         
    0x0000f868 lw v0, 0x118(sp)              |         v0 = *(var_118h);
    0x0000f86c addiu a0, zero, 0x4000        |         a0 = 0x4000;
    0x0000f870 andi a1, v0, 0xf000           |         a1 = v0 & 0xf000;
    0x0000f874 lw a0, 0x120(sp)              |         a0 = *(var_120h);
                                             |         if (a1 == a0) {
    0x0000f878 beq a1, a0, 0xf8ac            |             goto label_80;
                                             |         }
                                             |     }
    0x0000f87c lw v0, -0x7fb4(gp)            |     v0 = *(gp);
                                             |     /* str._var_run_sshd */
    0x0000f880 addiu s1, s1, 0x6e18          |     s1 += 0x6e18;
                                             |     /* str.Missing_privilege_separation_directory:__s */
    0x0000f884 addiu v0, v0, 0x6e28          |     v0 += 0x6e28;
    0x0000f888 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x0000f88c addiu v0, zero, 1             |     v0 = 1;
    0x0000f890 lw t9, -0x7f74(gp)            |     t9 = sym.sshfatal;
    0x0000f894 sw s1, 0x1c(sp)               |     *(var_1ch) = s1;
    0x0000f898 sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x0000f89c sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0000f8a0 move a3, zero                 |     a3 = 0;
    0x0000f8a4 addiu a2, zero, 0x793         |     a2 = 0x793;
    0x0000f8a8 b 0xe8d4                      |     goto label_16;
                                             | label_80:
    0x0000f8ac andi v0, v0, 0x12             |     v0 &= 0x12;
    0x0000f8b0 or v0, v0, a0                 |     v0 |= a0;
    0x0000f8b4 lw v0, 0x64(sp)               |     v0 = *(var_64h);
                                             |     if (v0 == 0) {
    0x0000f8b8 beqz v0, 0xeff8               |         goto label_27;
                                             |     }
    0x0000f8bc lw v0, -0x7fb4(gp)            |     v0 = *(gp);
                                             |     /* str._var_run_sshd */
    0x0000f8c0 addiu s1, s1, 0x6e18          |     s1 += 0x6e18;
                                             |     /* str._s_must_be_owned_by_root_and_not_group_or_world_writable. */
    0x0000f8c4 addiu v0, v0, 0x6e54          |     v0 += 0x6e54;
    0x0000f8c8 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x0000f8cc addiu v0, zero, 1             |     v0 = 1;
    0x0000f8d0 lw t9, -0x7f74(gp)            |     t9 = sym.sshfatal;
    0x0000f8d4 sw s1, 0x1c(sp)               |     *(var_1ch) = s1;
    0x0000f8d8 sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x0000f8dc sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0000f8e0 move a3, zero                 |     a3 = 0;
    0x0000f8e4 addiu a2, zero, 0x79d         |     a2 = 0x79d;
    0x0000f8e8 b 0xe8d4                      |     goto label_16;
                                             | label_72:
    0x0000f8ec lw t9, -0x6c58(gp)            |     t9 = sym.imp.__errno_location;
    0x0000f8f0 jalr t9                       |     t9 ();
    0x0000f8f4 nop                           |     
    0x0000f8f8 lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0000f8fc lw t9, -0x6c90(gp)            |     t9 = sym.imp.strerror;
    0x0000f900 lw a0, (v0)                   |     a0 = *(v0);
    0x0000f904 jalr t9                       |     t9 ();
    0x0000f908 lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0000f90c sw v0, 0x1c(sp)               |     *(var_1ch) = v0;
    0x0000f910 sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x0000f914 lw v0, -0x7fb4(gp)            |     v0 = *(gp);
    0x0000f918 lw t9, -0x7f6c(gp)            |     t9 = sym.sshlog;
                                             |     /* str.setgroups___failed:__.200s */
    0x0000f91c addiu v0, v0, 0x6e90          |     v0 += 0x6e90;
    0x0000f920 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x0000f924 addiu v0, zero, 5             |     v0 = 5;
    0x0000f928 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0000f92c lw v0, 0x50(sp)               |     v0 = *(var_50h);
    0x0000f930 move a3, zero                 |     a3 = 0;
    0x0000f934 addiu a1, v0, 0x7e94          |     a1 = v0 + 0x7e94;
    0x0000f938 lw v0, 0x40(sp)               |     v0 = *(var_40h);
    0x0000f93c addiu a2, zero, 0x7b8         |     a2 = 0x7b8;
    0x0000f940 addiu a0, v0, 0x65f4          |     a0 = v0 + 0x65f4;
    0x0000f944 jalr t9                       |     t9 ();
    0x0000f948 lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0000f94c b 0xf070                      |     goto label_28;
                                             | label_70:
    0x0000f950 move a2, zero                 |     a2 = 0;
    0x0000f954 move a1, zero                 |     a1 = 0;
    0x0000f958 move a0, zero                 |     a0 = 0;
    0x0000f95c bal 0x18080                   |     sym_get_connection_info ();
    0x0000f960 sw v0, 0x44(sp)               |     *(var_44h) = v0;
    0x0000f964 lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0000f968 b 0xf010                      |     goto label_29;
                                             | label_79:
    0x0000fbe4 lw t9, -0x7e04(gp)            |     t9 = sym.platform_pre_listen;
    0x0000fbe8 sw zero, 0x54(sp)             |     *(var_54h) = 0;
    0x0000fbec bal 0x150b0                   |     sym_platform_pre_listen ();
    0x0000fbf0 lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0000fbf4 lw a3, 0x1158(s4)             |     a3 = *((s4 + 1110));
    0x0000fbf8 lw a2, 0x1154(s4)             |     a2 = *((s4 + 1109));
    0x0000fbfc lw t9, -0x7e00(gp)            |     t9 = sym.srclimit_init;
    0x0000fc00 lw a1, 0x1150(s4)             |     a1 = *((s4 + 1108));
    0x0000fc04 lw s2, -0x7fdc(gp)            |     s2 = *((gp - 8183));
    0x0000fc08 lw a0, 0x114c(s4)             |     a0 = *((s4 + 1107));
    0x0000fc0c jalr t9                       |     t9 ();
    0x0000fc10 lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0000fc14 sw fp, 0x84(sp)               |     *(var_84h) = fp;
    0x0000fc18 lw v0, -0x7fb4(gp)            |     v0 = *(gp);
    0x0000fc1c sw v0, 0x74(sp)               |     *(var_74h) = v0;
    0x0000fc20 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x0000fc24 addiu v0, v0, -0x4870         |     v0 += -0x4870;
    0x0000fc28 sw v0, 0x64(sp)               |     *(var_64h) = v0;
    0x0000fc2c lw v0, -0x7f34(gp)            |     v0 = *(gp);
    0x0000fc30 addiu v0, v0, -0x6990         |     v0 += -0x6990;
    0x0000fc34 sw v0, 0x78(sp)               |     *(var_78h) = v0;
    0x0000fc38 lw v0, 0x414(s4)              |     v0 = *(s4);
    0x0000fc3c lw v1, 0x54(sp)               |     v1 = *(var_54h);
    0x0000fc40 sltu v0, v1, v0               |     v0 = (v1 < v0) ? 1 : 0;
    0x0000fc44 lw a0, 0x410(s4)              |     a0 = *(s4);
                                             |     if (v0 == 0) {
    0x0000fc48 beqz v0, 0x1006c              |         void (*0x1006c)() ();
                                             |     }
                                             | label_75:
    0x00010f94 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
                                             | label_76:
    0x00010f98 sw v0, 0x6c(sp)               |     *(var_6ch) = v0;
    0x00010f9c b 0xf250                      |     goto label_30;
                                             | label_74:
    0x00010fa0 lw t9, -0x7f74(gp)            |     t9 = sym.sshfatal;
                                             |     /* str.rexec_argc__d___0 */
    0x00010fa4 addiu v0, v0, 0x6eac          |     v0 += 0x6eac;
    0x00010fa8 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x00010fac addiu v0, zero, 1             |     v0 = 1;
    0x00010fb0 sw a0, 0x1c(sp)               |     *(var_1ch) = a0;
    0x00010fb4 sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x00010fb8 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00010fbc move a3, zero                 |     a3 = 0;
    0x00010fc0 addiu a2, zero, 0x7bc         |     a2 = 0x7bc;
    0x00010fc4 b 0xe8d4                      |     goto label_16;
                                             | label_77:
    0x00011420 lw t9, -0x6c58(gp)            |     t9 = sym.imp.__errno_location;
    0x00011424 jalr t9                       |     t9 ();
    0x00011428 nop                           |     
    0x0001142c lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x00011430 lw t9, -0x6c90(gp)            |     t9 = sym.imp.strerror;
    0x00011434 lw a0, (v0)                   |     a0 = *(v0);
    0x00011438 jalr t9                       |     t9 ();
    0x0001143c lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x00011440 sw v0, 0x1c(sp)               |     *(var_1ch) = v0;
    0x00011444 sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x00011448 lw v0, -0x7fb4(gp)            |     v0 = *(gp);
    0x0001144c lw t9, -0x7f74(gp)            |     t9 = sym.sshfatal;
                                             |     /* str.daemon___failed:__.200s */
    0x00011450 addiu v0, v0, 0x6ed8          |     v0 += 0x6ed8;
    0x00011454 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x00011458 addiu v0, zero, 1             |     v0 = 1;
    0x0001145c sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00011460 move a3, zero                 |     a3 = 0;
    0x00011464 addiu a2, zero, 0x7dc         |     a2 = aav.0x000007dc;
    0x00011468 b 0xe8d4                      |     goto label_16;
                                             | label_78:
    0x00012904 lw t9, -0x6c58(gp)            |     t9 = sym.imp.__errno_location;
    0x00012908 jalr t9                       |     t9 ();
    0x0001290c nop                           |     
    0x00012910 lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x00012914 lw t9, -0x6c90(gp)            |     t9 = sym.imp.strerror;
    0x00012918 lw a0, (v0)                   |     a0 = *(v0);
    0x0001291c jalr t9                       |     t9 ();
    0x00012920 lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x00012924 sw v0, 0x1c(sp)               |     *(var_1ch) = v0;
    0x00012928 sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x0001292c lw v0, -0x7fb4(gp)            |     v0 = *(gp);
    0x00012930 lw t9, -0x7f6c(gp)            |     t9 = sym.sshlog;
                                             |     /* str.chdir_____:__s */
    0x00012934 addiu v0, v0, 0x6ef0          |     v0 += 0x6ef0;
    0x00012938 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x0001293c addiu v0, zero, 2             |     v0 = 2;
    0x00012940 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00012944 lw v0, 0x50(sp)               |     v0 = *(var_50h);
    0x00012948 move a3, zero                 |     a3 = 0;
    0x0001294c addiu a1, v0, 0x7e94          |     a1 = v0 + 0x7e94;
    0x00012950 lw v0, 0x40(sp)               |     v0 = *(var_40h);
    0x00012954 addiu a2, zero, 0x7e8         |     a2 = 0x7e8;
    0x00012958 addiu a0, v0, 0x65f4          |     a0 = v0 + 0x65f4;
    0x0001295c jalr t9                       |     t9 ();
    0x00012960 lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x00012964 b 0xf350                      |     goto label_31;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/sshd @ 0x2ac74 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.do_child ()                  | void do_child () {
    0x0002ac74 lui gp, 0xd                   |     
    0x0002ac78 addiu gp, gp, 0x767c          |     
    0x0002ac7c addu gp, gp, t9               |     gp += t9;
    0x0002ac80 addiu sp, sp, -0x740          |     
    0x0002ac84 lw v0, -0x6fc4(gp)            |     v0 = *((gp - 7153));
    0x0002ac88 sw ra, 0x73c(sp)              |     *(var_73ch) = ra;
    0x0002ac8c sw gp, 0x28(sp)               |     *(var_28h) = gp;
    0x0002ac90 sw s7, 0x734(sp)              |     *(var_734h) = s7;
    0x0002ac94 sw s4, 0x728(sp)              |     *(var_728h) = s4;
    0x0002ac98 sw s0, 0x718(sp)              |     *(var_718h) = s0;
    0x0002ac9c sw fp, 0x738(sp)              |     *(var_738h) = fp;
    0x0002aca0 sw s6, 0x730(sp)              |     *(var_730h) = s6;
    0x0002aca4 sw s5, 0x72c(sp)              |     *(var_72ch) = s5;
    0x0002aca8 sw s3, 0x724(sp)              |     *(var_724h) = s3;
    0x0002acac sw s2, 0x720(sp)              |     *(var_720h) = s2;
    0x0002acb0 sw s1, 0x71c(sp)              |     *(var_71ch) = s1;
    0x0002acb4 move s0, a1                   |     s0 = a1;
    0x0002acb8 lw v0, (v0)                   |     v0 = *(v0);
    0x0002acbc addiu v1, sp, 0x114           |     v1 = sp + aav.0x00000114;
    0x0002acc0 sw v0, 0x714(sp)              |     *(var_714h) = v0;
    0x0002acc4 lw v0, 0xc(s0)                |     v0 = *((s0 + 3));
    0x0002acc8 lw t9, -0x7b54(gp)            |     t9 = sym.sshpkt_fmt_connection_id;
    0x0002accc sw v0, 0x30(sp)               |     *(var_30h) = v0;
    0x0002acd0 sw v1, 0x50(sp)               |     *(var_50h) = v1;
    0x0002acd4 move a1, v1                   |     a1 = v1;
    0x0002acd8 sw a2, 0x38(sp)               |     *(var_38h) = a2;
    0x0002acdc addiu a2, zero, 0x200         |     a2 = segment.REGINFO;
    0x0002ace0 move s4, a0                   |     s4 = a0;
    0x0002ace4 jalr t9                       |     t9 ();
    0x0002ace8 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002acec lw t9, -0x7974(gp)            |     t9 = *(gp);
    0x0002acf0 bal 0x13f40                   |     sym_destroy_sensitive_data ();
    0x0002acf4 nop                           |     
    0x0002acf8 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002acfc lw t9, -0x7d0c(gp)            |     t9 = sym.ssh_packet_clear_keys;
    0x0002ad00 move a0, s4                   |     a0 = s4;
    0x0002ad04 jalr t9                       |     t9 ();
    0x0002ad08 lw v0, 0x10(s0)               |     v0 = *((s0 + 4));
    0x0002ad0c lw s7, 0x1c(v0)               |     s7 = *((v0 + 7));
    0x0002ad10 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (s7 != 0) {
    0x0002ad14 bnez s7, 0x2b6e4              |         goto label_31;
                                             |     }
    0x0002ad18 lw s3, -0x7fd8(gp)            |     s3 = *(gp);
    0x0002ad1c lw v0, 0x1180(s3)             |     v0 = *((s3 + 1120));
    0x0002ad20 lw v0, 0x30(sp)               |     v0 = *(var_30h);
                                             |     if (v0 == 0) {
    0x0002ad24 beqz v0, 0x2b4f8              |         goto label_32;
                                             |     }
                                             | label_4:
    0x0002ad28 lw t9, -0x7d04(gp)            |     t9 = sym.do_setusercontext;
                                             | label_3:
    0x0002ad2c lw a0, 0x30(sp)               |     a0 = *(var_30h);
    0x0002ad30 bal 0x2a8e4                   |     sym_do_setusercontext ();
    0x0002ad34 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002ad38 lw a1, 0x38(sp)               |     a1 = *(var_38h);
    0x0002ad3c lw t9, -0x7970(gp)            |     t9 = sym.check_quietlogin;
    0x0002ad40 move a0, s0                   |     a0 = s0;
    0x0002ad44 bal 0x2a828                   |     sym_check_quietlogin ();
    0x0002ad48 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 == 0) {
    0x0002ad4c beqz v0, 0x2b65c              |         goto label_33;
                                             |     }
                                             | label_6:
    0x0002ad50 lw v0, 0x30(sp)               |     v0 = *(var_30h);
    0x0002ad54 lw v0, 0x18(v0)               |     v0 = *((v0 + 6));
    0x0002ad58 sw v0, 0x3c(sp)               |     *(var_3ch) = v0;
    0x0002ad5c lb v0, (v0)                   |     v0 = *(v0);
    0x0002ad60 lw v0, -0x7f34(gp)            |     v0 = *(gp);
                                             |     if (v0 == 0) {
    0x0002ad64 beqz v0, 0x2b4cc              |         goto label_34;
                                             |     }
                                             | label_2:
    0x0002ad68 lw v0, 0xc(s0)                |     v0 = *((s0 + 3));
    0x0002ad6c lw t9, -0x7f18(gp)            |     t9 = sym.xcalloc;
    0x0002ad70 sw v0, 0x40(sp)               |     *(var_40h) = v0;
    0x0002ad74 addiu v0, zero, 0x64          |     v0 = 0x64;
    0x0002ad78 addiu a1, zero, 4             |     a1 = 4;
    0x0002ad7c addiu a0, zero, 0x64          |     a0 = 0x64;
    0x0002ad80 sw v0, 0x60(sp)               |     *(var_60h) = v0;
    0x0002ad84 jalr t9                       |     t9 ();
    0x0002ad88 sw v0, 0x64(sp)               |     *(var_64h) = v0;
    0x0002ad8c lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002ad90 sw zero, (v0)                 |     *(v0) = 0;
    0x0002ad94 lw v0, 0xa8(s0)               |     v0 = *((s0 + 42));
    0x0002ad98 move s5, zero                 |     s5 = 0;
                                             |     if (v0 == 0) {
    0x0002ad9c beqz v0, 0x2bd9c              |         goto label_35;
                                             |     }
    0x0002ada0 addiu s2, sp, 0x60            |     s2 = sp + 0x60;
    0x0002ada4 addiu s1, sp, 0x64            |     s1 = sp + 0x64;
                                             |     do {
    0x0002ada8 lw v0, 0xac(s0)               |         v0 = *((s0 + 43));
    0x0002adac sll v1, s5, 3                 |         v1 = s5 << 3;
    0x0002adb0 addu v0, v0, v1               |         v0 += v1;
    0x0002adb4 lw t9, -0x796c(gp)            |         t9 = *(gp);
    0x0002adb8 lw a3, 4(v0)                  |         a3 = *((v0 + 1));
    0x0002adbc lw a2, (v0)                   |         a2 = *(v0);
    0x0002adc0 move a1, s2                   |         a1 = s2;
    0x0002adc4 move a0, s1                   |         a0 = s1;
    0x0002adc8 jalr t9                       |         t9 ();
    0x0002adcc lw v0, 0xa8(s0)               |         v0 = *((s0 + 42));
    0x0002add0 addiu s5, s5, 1               |         s5++;
    0x0002add4 sltu v0, s5, v0               |         v0 = (s5 < v0) ? 1 : 0;
    0x0002add8 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0002addc bnez v0, 0x2ada8              |         
                                             |     } while (v0 != 0);
                                             | label_25:
    0x0002ade0 lw s5, 0x40(sp)               |     s5 = *(var_40h);
    0x0002ade4 lw a2, -0x7f34(gp)            |     a2 = *(gp);
    0x0002ade8 lw t9, -0x796c(gp)            |     t9 = *(gp);
    0x0002adec lw a3, (s5)                   |     a3 = *(s5);
                                             |     /* str.USER */
    0x0002adf0 addiu a2, a2, -0x3160         |     a2 += -0x3160;
    0x0002adf4 move a1, s2                   |     a1 = s2;
    0x0002adf8 move a0, s1                   |     a0 = s1;
    0x0002adfc jalr t9                       |     t9 ();
    0x0002ae00 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002ae04 lw a3, (s5)                   |     a3 = *(s5);
    0x0002ae08 move a1, s2                   |     a1 = s2;
    0x0002ae0c lw a2, -0x7f34(gp)            |     a2 = *(gp);
    0x0002ae10 lw t9, -0x796c(gp)            |     t9 = *(gp);
                                             |     /* str.LOGNAME */
    0x0002ae14 addiu a2, a2, -0x3158         |     a2 += -0x3158;
    0x0002ae18 move a0, s1                   |     a0 = s1;
    0x0002ae1c jalr t9                       |     t9 ();
    0x0002ae20 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002ae24 lw a3, 0x14(s5)               |     a3 = *((s5 + 5));
    0x0002ae28 move a1, s2                   |     a1 = s2;
    0x0002ae2c lw a2, -0x7f34(gp)            |     a2 = *(gp);
    0x0002ae30 lw t9, -0x796c(gp)            |     t9 = *(gp);
                                             |     /* str.HOME */
    0x0002ae34 addiu a2, a2, -0x3150         |     a2 += -aav.0x00003150;
    0x0002ae38 move a0, s1                   |     a0 = s1;
    0x0002ae3c jalr t9                       |     t9 ();
    0x0002ae40 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002ae44 move a1, s2                   |     a1 = s2;
    0x0002ae48 move a0, s1                   |     a0 = s1;
    0x0002ae4c lw a3, -0x7f34(gp)            |     a3 = *(gp);
    0x0002ae50 lw a2, -0x7f34(gp)            |     a2 = *(gp);
    0x0002ae54 lw t9, -0x796c(gp)            |     t9 = *(gp);
                                             |     /* str._usr_bin:_bin:_usr_sbin:_sbin */
    0x0002ae58 addiu a3, a3, -0x3148         |     a3 += -0x3148;
                                             |     /* str.PATH */
    0x0002ae5c addiu a2, a2, -0x3128         |     a2 += -0x3128;
    0x0002ae60 jalr t9                       |     t9 ();
    0x0002ae64 lw v0, 0x1180(s3)             |     v0 = *((s3 + 1120));
    0x0002ae68 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 == 0) {
    0x0002ae6c beqz v0, 0x2b5f4              |         goto label_36;
                                             |     }
                                             | label_5:
    0x0002ae70 lw a2, -0x7f34(gp)            |     a2 = *(gp);
    0x0002ae74 lw t9, -0x796c(gp)            |     t9 = *(gp);
    0x0002ae78 lw a3, 0x3c(sp)               |     a3 = *(var_3ch);
                                             |     /* str.SHELL */
    0x0002ae7c addiu a2, a2, -0x30fc         |     a2 += -0x30fc;
    0x0002ae80 move a1, s2                   |     a1 = s2;
    0x0002ae84 lw s5, -0x7f34(gp)            |     s5 = *(gp);
    0x0002ae88 move a0, s1                   |     a0 = s1;
    0x0002ae8c jalr t9                       |     t9 ();
    0x0002ae90 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002ae94 lw t9, -0x6d50(gp)            |     t9 = sym.imp.getenv;
                                             |     /* esilref: 'TZ' */
    0x0002ae98 addiu a0, s5, -0x30f4         |     a0 = s5 + -0x30f4;
    0x0002ae9c jalr t9                       |     t9 ();
    0x0002aea0 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 != 0) {
    0x0002aea4 beqz v0, 0x2aed4              |         
    0x0002aea8 lw t9, -0x6d50(gp)            |         t9 = sym.imp.getenv;
                                             |         /* esilref: 'TZ' */
    0x0002aeac addiu a0, s5, -0x30f4         |         a0 = s5 + -0x30f4;
    0x0002aeb0 jalr t9                       |         t9 ();
    0x0002aeb4 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0002aeb8 move a3, v0                   |         a3 = v0;
                                             |         /* esilref: 'TZ' */
    0x0002aebc addiu a2, s5, -0x30f4         |         a2 = s5 + -0x30f4;
    0x0002aec0 lw t9, -0x796c(gp)            |         t9 = *(gp);
    0x0002aec4 move a1, s2                   |         a1 = s2;
    0x0002aec8 move a0, s1                   |         a0 = s1;
    0x0002aecc jalr t9                       |         t9 ();
    0x0002aed0 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |     }
    0x0002aed4 lw a3, 0x1c(s0)               |     a3 = *((s0 + 7));
    0x0002aed8 lw a2, -0x7f34(gp)            |     a2 = *(gp);
                                             |     if (a3 != 0) {
    0x0002aedc beqz a3, 0x2aef8              |         
    0x0002aee0 lw t9, -0x796c(gp)            |         t9 = *(gp);
                                             |         /* str.TERM */
    0x0002aee4 addiu a2, a2, -0x30f0         |         a2 += -0x30f0;
    0x0002aee8 move a1, s2                   |         a1 = s2;
    0x0002aeec move a0, s1                   |         a0 = s1;
    0x0002aef0 jalr t9                       |         t9 ();
    0x0002aef4 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |     }
    0x0002aef8 lw a3, 0x80(s0)               |     a3 = *((s0 + 32));
    0x0002aefc lw a2, -0x7f34(gp)            |     a2 = *(gp);
                                             |     if (a3 != 0) {
    0x0002af00 beqz a3, 0x2af1c              |         
    0x0002af04 lw t9, -0x796c(gp)            |         t9 = *(gp);
                                             |         /* str.DISPLAY */
    0x0002af08 addiu a2, a2, -0x30e8         |         a2 += -0x30e8;
    0x0002af0c move a1, s2                   |         a1 = s2;
    0x0002af10 move a0, s1                   |         a0 = s1;
    0x0002af14 jalr t9                       |         t9 ();
    0x0002af18 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |     }
    0x0002af1c lw s5, -0x7fb4(gp)            |     s5 = *(gp);
    0x0002af20 lw t9, -0x6d50(gp)            |     t9 = sym.imp.getenv;
                                             |     /* str.KRB5CCNAME */
    0x0002af24 addiu a0, s5, 0x6a4c          |     a0 = s5 + 0x6a4c;
    0x0002af28 jalr t9                       |     t9 ();
    0x0002af2c lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 != 0) {
    0x0002af30 beqz v0, 0x2af50              |         
    0x0002af34 lw t9, -0x796c(gp)            |         t9 = *(gp);
    0x0002af38 move a3, v0                   |         a3 = v0;
                                             |         /* str.KRB5CCNAME */
    0x0002af3c addiu a2, s5, 0x6a4c          |         a2 = s5 + 0x6a4c;
    0x0002af40 move a1, s2                   |         a1 = s2;
    0x0002af44 move a0, s1                   |         a0 = s1;
    0x0002af48 jalr t9                       |         t9 ();
    0x0002af4c lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |     }
    0x0002af50 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x0002af54 lw a3, -0x4380(v0)            |     a3 = *((v0 - 4320));
    0x0002af58 lw a2, -0x7fb4(gp)            |     a2 = *(gp);
                                             |     if (a3 != 0) {
    0x0002af5c beqz a3, 0x2af78              |         
    0x0002af60 lw t9, -0x796c(gp)            |         t9 = *(gp);
                                             |         /* str.SSH_AUTH_SOCK */
    0x0002af64 addiu a2, a2, 0x6bec          |         a2 += 0x6bec;
    0x0002af68 move a1, s2                   |         a1 = s2;
    0x0002af6c move a0, s1                   |         a0 = s1;
    0x0002af70 jalr t9                       |         t9 ();
    0x0002af74 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |     }
    0x0002af78 lw v0, 0x4f4(s3)              |     v0 = *((s3 + 317));
                                             |     if (v0 == 0) {
    0x0002af7c beql v0, zero, 0x2b070        |         goto label_37;
                                             |     }
    0x0002af80 lw v0, 0x113c(s3)             |     v0 = *((s3 + 1103));
    0x0002af84 lw v0, -0x7d7c(gp)            |     v0 = *(gp);
    0x0002af88 sw v0, 0x34(sp)               |     *(var_34h) = v0;
    0x0002af8c lw v1, (v0)                   |     v1 = *(v0);
    0x0002af90 lw v0, 0x30(v1)               |     v0 = *((v1 + 12));
    0x0002af94 move s6, zero                 |     s6 = 0;
                                             |     if (v0 != 0) {
    0x0002af98 bnez v0, 0x2afe4              |         goto label_38;
                                             |     }
    0x0002af9c lw v0, -0x7f34(gp)            |     v0 = *(gp);
    0x0002afa0 b 0x2b7b8                     |     goto label_39;
                                             | label_0:
    0x0002afa4 move a2, zero                 |     a2 = 0;
    0x0002afa8 move a0, s5                   |     a0 = s5;
    0x0002afac jalr t9                       |     t9 ();
    0x0002afb0 addiu v1, zero, 1             |     v1 = 1;
    0x0002afb4 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 == v1) {
    0x0002afb8 beq v0, v1, 0x2b02c           |         goto label_40;
                                             |     }
                                             |     do {
                                             | label_1:
    0x0002afbc lw t9, -0x6e6c(gp)            |         t9 = sym.imp.free;
    0x0002afc0 move a0, s5                   |         a0 = s5;
    0x0002afc4 jalr t9                       |         t9 ();
    0x0002afc8 lw v0, 0x34(sp)               |         v0 = *(var_34h);
    0x0002afcc addiu s6, s6, 1               |         s6++;
    0x0002afd0 lw v1, (v0)                   |         v1 = *(v0);
    0x0002afd4 lw v0, 0x30(v1)               |         v0 = *((v1 + 12));
    0x0002afd8 sltu v0, s6, v0               |         v0 = (s6 < v0) ? 1 : 0;
    0x0002afdc lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |         if (v0 == 0) {
    0x0002afe0 beqz v0, 0x2b7ac              |             goto label_41;
                                             |         }
                                             | label_38:
    0x0002afe4 lw v0, 0x34(v1)               |         v0 = *((v1 + 13));
    0x0002afe8 sll a0, s6, 2                 |         a0 = s6 << 2;
    0x0002afec lw t9, -0x7ef4(gp)            |         t9 = sym.xstrdup;
    0x0002aff0 lwx a0, a0(v0)                |         __asm ("lwx a0, a0(v0)");
    0x0002aff4 jalr t9                       |         t9 ();
    0x0002aff8 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0002affc addiu a1, zero, 0x3d          |         a1 = 0x3d;
    0x0002b000 move a0, v0                   |         a0 = v0;
    0x0002b004 lw t9, -0x6d4c(gp)            |         t9 = sym.imp.strchr;
    0x0002b008 move s5, v0                   |         s5 = v0;
    0x0002b00c jalr t9                       |         t9 ();
    0x0002b010 move fp, v0                   |         fp = v0;
    0x0002b014 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0002b018 beqz v0, 0x2afbc              |         
                                             |     } while (v0 == 0);
    0x0002b01c sb zero, (v0)                 |     *(v0) = 0;
    0x0002b020 lw a1, 0x4f8(s3)              |     a1 = *(s3);
    0x0002b024 lw t9, -0x7f38(gp)            |     t9 = sym.match_pattern_list;
                                             |     if (a1 != 0) {
    0x0002b028 bnez a1, 0x2afa4              |         goto label_0;
                                             |     }
                                             | label_40:
    0x0002b02c lw t9, -0x796c(gp)            |     t9 = *(gp);
    0x0002b030 addiu a3, fp, 1               |     a3 = fp + 1;
    0x0002b034 move a2, s5                   |     a2 = s5;
    0x0002b038 move a1, s2                   |     a1 = s2;
    0x0002b03c move a0, s1                   |     a0 = s1;
    0x0002b040 jalr t9                       |     t9 ();
    0x0002b044 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002b048 b 0x2afbc                     |     goto label_1;
                                             | label_11:
    0x0002b04c lw t9, -0x6e6c(gp)            |     t9 = sym.imp.free;
    0x0002b050 lw a0, 0x68(sp)               |     a0 = *(var_68h);
    0x0002b054 jalr t9                       |     t9 ();
    0x0002b058 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002b05c lw t9, -0x6f38(gp)            |     t9 = sym.imp.fclose;
    0x0002b060 lw a0, 0x40(sp)               |     a0 = *(var_40h);
    0x0002b064 jalr t9                       |     t9 ();
    0x0002b068 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             | label_10:
    0x0002b06c lw v0, 0x113c(s3)             |     v0 = *((s3 + 1103));
                                             | label_37:
    0x0002b070 move s5, zero                 |     s5 = 0;
                                             |     if (v0 == 0) {
    0x0002b074 beqz v0, 0x2b0e4              |         goto label_42;
                                             |     }
                                             |     do {
    0x0002b078 lw a0, 0x1140(s3)             |         a0 = *((s3 + 1104));
    0x0002b07c sll v1, s5, 2                 |         v1 = s5 << 2;
    0x0002b080 lw t9, -0x7ef4(gp)            |         t9 = sym.xstrdup;
    0x0002b084 lwx a0, v1(a0)                |         __asm ("lwx a0, v1(a0)");
    0x0002b088 sw v1, 0x34(sp)               |         *(var_34h) = v1;
    0x0002b08c jalr t9                       |         t9 ();
    0x0002b090 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0002b094 addiu a1, zero, 0x3d          |         a1 = 0x3d;
    0x0002b098 move a0, v0                   |         a0 = v0;
    0x0002b09c lw t9, -0x6d4c(gp)            |         t9 = sym.imp.strchr;
    0x0002b0a0 move s6, v0                   |         s6 = v0;
    0x0002b0a4 jalr t9                       |         t9 ();
    0x0002b0a8 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0002b0ac lw v1, 0x34(sp)               |         v1 = *(var_34h);
                                             |         if (v0 == 0) {
    0x0002b0b0 beqz v0, 0x2beb8              |             goto label_43;
                                             |         }
    0x0002b0b4 lw t9, -0x796c(gp)            |         t9 = *(gp);
    0x0002b0b8 sb zero, (v0)                 |         *(v0) = 0;
    0x0002b0bc addiu a3, v0, 1               |         a3 = v0 + 1;
    0x0002b0c0 move a2, s6                   |         a2 = s6;
    0x0002b0c4 move a1, s2                   |         a1 = s2;
    0x0002b0c8 move a0, s1                   |         a0 = s1;
    0x0002b0cc jalr t9                       |         t9 ();
    0x0002b0d0 lw v0, 0x113c(s3)             |         v0 = *((s3 + 1103));
    0x0002b0d4 addiu s5, s5, 1               |         s5++;
    0x0002b0d8 sltu v0, s5, v0               |         v0 = (s5 < v0) ? 1 : 0;
    0x0002b0dc lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0002b0e0 bnez v0, 0x2b078              |         
                                             |     } while (v0 != 0);
                                             | label_42:
    0x0002b0e4 lw t9, -0x7fbc(gp)            |     t9 = sym.ssh_remote_ipaddr;
    0x0002b0e8 move a0, s4                   |     a0 = s4;
    0x0002b0ec jalr t9                       |     t9 ();
    0x0002b0f0 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002b0f4 move a0, s4                   |     a0 = s4;
    0x0002b0f8 move s5, v0                   |     s5 = v0;
    0x0002b0fc lw t9, -0x7fb8(gp)            |     t9 = sym.ssh_remote_port;
    0x0002b100 addiu s6, sp, 0x314           |     s6 = sp + aav.0x00000314;
    0x0002b104 jalr t9                       |     t9 ();
    0x0002b108 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002b10c move a0, s4                   |     a0 = s4;
    0x0002b110 lw t9, -0x7d94(gp)            |     t9 = sym.ssh_local_port;
    0x0002b114 sw v0, 0x34(sp)               |     *(var_34h) = v0;
    0x0002b118 jalr t9                       |     t9 ();
    0x0002b11c lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002b120 sw v0, 0x1c(sp)               |     *(var_1ch) = v0;
    0x0002b124 lw v1, 0x34(sp)               |     v1 = *(var_34h);
    0x0002b128 lw v0, -0x7f34(gp)            |     v0 = *(gp);
    0x0002b12c lw t9, -0x7180(gp)            |     t9 = sym.imp.__snprintf_chk;
                                             |     /* str._.50s__d__d */
    0x0002b130 addiu v0, v0, -0x3080         |     v0 += -0x3080;
    0x0002b134 sw v1, 0x18(sp)               |     *(var_18h) = v1;
    0x0002b138 addiu a3, zero, 0x100         |     a3 = aav.0x00000100;
    0x0002b13c addiu a2, zero, 1             |     a2 = 1;
    0x0002b140 addiu a1, zero, 0x100         |     a1 = aav.0x00000100;
    0x0002b144 move a0, s6                   |     a0 = s6;
    0x0002b148 sw s5, 0x14(sp)               |     *(var_14h) = s5;
    0x0002b14c sw s6, 0x54(sp)               |     *(var_54h) = s6;
    0x0002b150 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0002b154 jalr t9                       |     t9 ();
    0x0002b158 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002b15c move a3, s6                   |     a3 = s6;
    0x0002b160 move a1, s2                   |     a1 = s2;
    0x0002b164 lw a2, -0x7f34(gp)            |     a2 = *(gp);
    0x0002b168 lw t9, -0x796c(gp)            |     t9 = *(gp);
                                             |     /* str.SSH_CLIENT */
    0x0002b16c addiu a2, a2, -0x3074         |     a2 += -0x3074;
    0x0002b170 move a0, s1                   |     a0 = s1;
    0x0002b174 jalr t9                       |     t9 ();
    0x0002b178 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002b17c lw t9, -0x7e28(gp)            |     t9 = sym.ssh_packet_get_connection_in;
    0x0002b180 move a0, s4                   |     a0 = s4;
    0x0002b184 jalr t9                       |     t9 ();
    0x0002b188 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002b18c lw t9, -0x7dc8(gp)            |     t9 = sym.get_local_ipaddr;
    0x0002b190 move a0, v0                   |     a0 = v0;
    0x0002b194 jalr t9                       |     t9 ();
    0x0002b198 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002b19c move a0, s4                   |     a0 = s4;
    0x0002b1a0 lw t9, -0x7fbc(gp)            |     t9 = sym.ssh_remote_ipaddr;
    0x0002b1a4 move s5, v0                   |     s5 = v0;
    0x0002b1a8 jalr t9                       |     t9 ();
    0x0002b1ac lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002b1b0 move a0, s4                   |     a0 = s4;
    0x0002b1b4 lw t9, -0x7fb8(gp)            |     t9 = sym.ssh_remote_port;
    0x0002b1b8 sw v0, 0x40(sp)               |     *(var_40h) = v0;
    0x0002b1bc jalr t9                       |     t9 ();
    0x0002b1c0 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002b1c4 move a0, s4                   |     a0 = s4;
    0x0002b1c8 lw t9, -0x7d94(gp)            |     t9 = sym.ssh_local_port;
    0x0002b1cc sw v0, 0x34(sp)               |     *(var_34h) = v0;
    0x0002b1d0 jalr t9                       |     t9 ();
    0x0002b1d4 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002b1d8 sw v0, 0x20(sp)               |     *(var_20h) = v0;
    0x0002b1dc lw t0, 0x34(sp)               |     t0 = *(var_34h);
    0x0002b1e0 lw v0, -0x7f34(gp)            |     v0 = *(gp);
    0x0002b1e4 lw v1, 0x40(sp)               |     v1 = *(var_40h);
                                             |     /* str._.50s__d__.50s__d */
    0x0002b1e8 addiu v0, v0, -0x3068         |     v0 += -0x3068;
    0x0002b1ec lw t9, -0x7180(gp)            |     t9 = sym.imp.__snprintf_chk;
    0x0002b1f0 addiu a3, zero, 0x100         |     a3 = aav.0x00000100;
    0x0002b1f4 addiu a2, zero, 1             |     a2 = 1;
    0x0002b1f8 addiu a1, zero, 0x100         |     a1 = aav.0x00000100;
    0x0002b1fc sw t0, 0x18(sp)               |     *(var_18h) = t0;
    0x0002b200 sw v1, 0x14(sp)               |     *(var_14h) = v1;
    0x0002b204 move a0, s6                   |     a0 = s6;
    0x0002b208 sw s5, 0x1c(sp)               |     *(var_1ch) = s5;
    0x0002b20c sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0002b210 jalr t9                       |     t9 ();
    0x0002b214 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002b218 lw t9, -0x6e6c(gp)            |     t9 = sym.imp.free;
    0x0002b21c move a0, s5                   |     a0 = s5;
    0x0002b220 jalr t9                       |     t9 ();
    0x0002b224 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002b228 move a3, s6                   |     a3 = s6;
    0x0002b22c move a1, s2                   |     a1 = s2;
    0x0002b230 lw a2, -0x7f34(gp)            |     a2 = *(gp);
    0x0002b234 lw t9, -0x796c(gp)            |     t9 = *(gp);
                                             |     /* str.SSH_CONNECTION */
    0x0002b238 addiu a2, a2, -0x3054         |     a2 += -aav.0x00003054;
    0x0002b23c move a0, s1                   |     a0 = s1;
    0x0002b240 jalr t9                       |     t9 ();
    0x0002b244 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002b248 lw v0, -0x7b7c(gp)            |     v0 = *(gp);
    0x0002b24c lw a3, (v0)                   |     a3 = *(v0);
    0x0002b250 lw a2, -0x7f34(gp)            |     a2 = *(gp);
                                             |     if (a3 != 0) {
    0x0002b254 beqz a3, 0x2b270              |         
    0x0002b258 lw t9, -0x796c(gp)            |         t9 = *(gp);
                                             |         /* str.SSH_TUNNEL */
    0x0002b25c addiu a2, a2, -0x3028         |         a2 += -0x3028;
    0x0002b260 move a1, s2                   |         a1 = s2;
    0x0002b264 move a0, s1                   |         a0 = s1;
    0x0002b268 jalr t9                       |         t9 ();
    0x0002b26c lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |     }
    0x0002b270 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x0002b274 lw a3, -0x437c(v0)            |     a3 = *((v0 - 4319));
    0x0002b278 lw a2, -0x7f34(gp)            |     a2 = *(gp);
                                             |     if (a3 != 0) {
    0x0002b27c beqz a3, 0x2b298              |         
    0x0002b280 lw t9, -0x796c(gp)            |         t9 = *(gp);
                                             |         /* str.SSH_USER_AUTH */
    0x0002b284 addiu a2, a2, -0x301c         |         a2 += -0x301c;
    0x0002b288 move a1, s2                   |         a1 = s2;
    0x0002b28c move a0, s1                   |         a0 = s1;
    0x0002b290 jalr t9                       |         t9 ();
    0x0002b294 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |     }
    0x0002b298 lw v1, 0x24(s0)               |     v1 = *((s0 + 9));
    0x0002b29c addiu v0, zero, -1            |     v0 = -1;
    0x0002b2a0 lw a2, -0x7f34(gp)            |     a2 = *(gp);
    0x0002b2a4 bne v1, v0, 0x2b4d8           |     
                                             |     while (1) {
    0x0002b2a8 lw v0, -0x7968(gp)            |         v0 = *(gp);
    0x0002b2ac lw a3, (v0)                   |         a3 = *(v0);
    0x0002b2b0 lw a2, -0x7f34(gp)            |         a2 = *(gp);
                                             |         if (a3 != 0) {
    0x0002b2b4 beqz a3, 0x2b2d0              |             
    0x0002b2b8 lw t9, -0x796c(gp)            |             t9 = *(gp);
                                             |             /* str.SSH_ORIGINAL_COMMAND */
    0x0002b2bc addiu a2, a2, -0x3004         |             a2 += -0x3004;
    0x0002b2c0 move a1, s2                   |             a1 = s2;
    0x0002b2c4 move a0, s1                   |             a0 = s1;
    0x0002b2c8 jalr t9                       |             t9 ();
    0x0002b2cc lw gp, 0x28(sp)               |             gp = *(var_28h);
                                             |         }
    0x0002b2d0 lw s2, -0x7ed8(gp)            |         s2 = *(gp);
    0x0002b2d4 lw v0, (s2)                   |         v0 = *(s2);
    0x0002b2d8 lw s1, 0x64(sp)               |         s1 = *(var_64h);
                                             |         if (v0 != 0) {
    0x0002b2dc bnez v0, 0x2b674              |             goto label_44;
                                             |         }
                                             | label_7:
    0x0002b2e0 lw t9, -0x79a0(gp)            |         t9 = *(gp);
                                             |         /* fcn.0002958c */
                                             | label_8:
    0x0002b2e4 addiu t9, t9, -0x6a74         |         t9 += -0x6a74;
    0x0002b2e8 move a0, s4                   |         a0 = s4;
    0x0002b2ec bal 0x2958c                   |         fcn_0002958c ();
    0x0002b2f0 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0002b2f4 lw v0, 0x30(sp)               |         v0 = *(var_30h);
    0x0002b2f8 lw t9, -0x6fcc(gp)            |         t9 = sym.imp.chdir;
    0x0002b2fc lw a0, 0x14(v0)               |         a0 = *((v0 + 5));
    0x0002b300 lw v0, -0x6fdc(gp)            |         v0 = *((gp - 7159));
    0x0002b304 sw s1, (v0)                   |         *(v0) = s1;
    0x0002b308 jalr t9                       |         t9 ();
    0x0002b30c addiu v1, zero, -1            |         v1 = -1;
    0x0002b310 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |         if (v0 == v1) {
    0x0002b314 beq v0, v1, 0x2b974           |             goto label_45;
                                             |         }
                                             | label_16:
    0x0002b318 lw t9, -0x7eac(gp)            |         t9 = sym.closefrom;
                                             | label_15:
    0x0002b31c addiu a0, zero, 3             |         a0 = 3;
    0x0002b320 jalr t9                       |         t9 ();
    0x0002b324 lw v0, 0x80(s0)               |         v0 = *((s0 + 32));
    0x0002b328 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0002b32c sw zero, 0x68(sp)             |         *(var_68h) = 0;
    0x0002b330 sw zero, 0x6c(sp)             |         *(var_6ch) = 0;
                                             |         if (v0 == 0) {
    0x0002b334 beqz v0, 0x2b7a4              |             goto label_46;
                                             |         }
    0x0002b338 lw v0, 0x8c(s0)               |         v0 = *((s0 + 35));
    0x0002b33c move fp, zero                 |         fp = 0;
                                             |         if (v0 != 0) {
    0x0002b340 beqz v0, 0x2b34c              |             
    0x0002b344 lw fp, 0x90(s0)               |             fp = *((s0 + 36));
    0x0002b348 sltu fp, zero, fp             |             fp = (0 < fp) ? 1 : 0;
                                             |         }
                                             | label_9:
    0x0002b34c lw v0, 0xc(s0)                |         v0 = *((s0 + 3));
    0x0002b350 lw a3, -0x7f34(gp)            |         a3 = *(gp);
    0x0002b354 lw a1, -0x7f34(gp)            |         a1 = *(gp);
    0x0002b358 lw t9, -0x7c50(gp)            |         t9 = sym.xasprintf;
    0x0002b35c lw a2, 0x14(v0)               |         a2 = *((v0 + 5));
                                             |         /* str..ssh_rc */
    0x0002b360 addiu a3, a3, -0x2fa4         |         a3 += -0x2fa4;
                                             |         /* esilref: '&s/&s' */
    0x0002b364 addiu a1, a1, -0x78f8         |         a1 += -0x78f8;
    0x0002b368 addiu a0, sp, 0x6c            |         a0 = sp + 0x6c;
    0x0002b36c jalr t9                       |         t9 ();
    0x0002b370 lw v0, 0xa0(s0)               |         v0 = *((s0 + 40));
    0x0002b374 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |         if (v0 == 0) {
    0x0002b378 bnez v0, 0x2b388              |             
    0x0002b37c lw v0, 0x117c(s3)             |             v0 = *((s3 + 1119));
    0x0002b380 lw v0, -0x7d7c(gp)            |             v0 = *(gp);
                                             |             if (v0 == 0) {
    0x0002b384 beqz v0, 0x2ba78              |                 goto label_47;
                                             |             }
                                             |         }
    0x0002b388 addiu s4, sp, 0x70            |         s4 = sp + 0x70;
                                             | label_18:
    0x0002b38c lw s5, -0x7f34(gp)            |         s5 = *(gp);
                                             | label_19:
    0x0002b390 lw t9, -0x6d1c(gp)            |         t9 = sym.imp.__xstat64;
    0x0002b394 move a2, s4                   |         a2 = s4;
                                             |         /* esilref: '/etc/ssh/sshrc' */
    0x0002b398 addiu a1, s5, -0x2f44         |         a1 = s5 + -0x2f44;
    0x0002b39c addiu a0, zero, 3             |         a0 = 3;
    0x0002b3a0 jalr t9                       |         t9 ();
    0x0002b3a4 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |         if (v0 < 0) {
    0x0002b3a8 bltz v0, 0x2b8bc              |             goto label_48;
                                             |         }
    0x0002b3ac lw v0, (s2)                   |         v0 = *(s2);
    0x0002b3b0 lw v1, -0x6f44(gp)            |         v1 = *((gp - 7121));
                                             |         if (v0 != 0) {
    0x0002b3b4 bnez v0, 0x2bca0              |             goto label_49;
                                             |         }
                                             | label_21:
    0x0002b3b8 lw a1, -0x7fb4(gp)            |         a1 = *(gp);
    0x0002b3bc lw a0, -0x7f34(gp)            |         a0 = *(gp);
    0x0002b3c0 lw t9, -0x6e0c(gp)            |         t9 = sym.imp.popen;
    0x0002b3c4 addiu a1, a1, 0x704c          |         a1 += 0x704c;
                                             |         /* str._bin_sh__etc_ssh_sshrc */
    0x0002b3c8 addiu a0, a0, -0x2f4c         |         a0 += -0x2f4c;
    0x0002b3cc jalr t9                       |         t9 ();
    0x0002b3d0 move s2, v0                   |         s2 = v0;
    0x0002b3d4 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |         if (v0 == 0) {
    0x0002b3d8 beqz v0, 0x2bda8              |             goto label_50;
                                             |         }
                                             | label_20:
    0x0002b3dc lw a2, -0x7f34(gp)            |         a2 = *(gp);
                                             |         if (fp != 0) {
    0x0002b3e0 bnez fp, 0x2bd20              |             goto label_51;
                                             |         }
                                             | label_14:
    0x0002b3e4 lw t9, -0x706c(gp)            |         t9 = sym.imp.pclose;
    0x0002b3e8 move a0, s2                   |         a0 = s2;
    0x0002b3ec jalr t9                       |         t9 ();
    0x0002b3f0 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             | label_26:
    0x0002b3f4 lw t9, -0x6e6c(gp)            |         t9 = sym.imp.free;
                                             | label_13:
    0x0002b3f8 lw a0, 0x68(sp)               |         a0 = *(var_68h);
    0x0002b3fc jalr t9                       |         t9 ();
    0x0002b400 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0002b404 lw t9, -0x6e6c(gp)            |         t9 = sym.imp.free;
    0x0002b408 lw a0, 0x6c(sp)               |         a0 = *(var_6ch);
    0x0002b40c jalr t9                       |         t9 ();
    0x0002b410 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0002b414 move a1, zero                 |         a1 = 0;
    0x0002b418 lw t9, -0x7fac(gp)            |         t9 = sym.ssh_signal;
    0x0002b41c addiu a0, zero, 0xd           |         a0 = 0xd;
    0x0002b420 jalr t9                       |         t9 ();
    0x0002b424 lw v0, 0xa0(s0)               |         v0 = *((s0 + 40));
    0x0002b428 addiu v1, zero, 3             |         v1 = 3;
    0x0002b42c lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |         if (v0 == v1) {
    0x0002b430 beq v0, v1, 0x2bc2c           |             goto label_52;
                                             |         }
    0x0002b434 addiu v1, zero, 2             |         v1 = 2;
    0x0002b438 lw t9, -0x6ec0(gp)            |         t9 = sym.imp.fflush;
                                             |         if (v0 == v1) {
    0x0002b43c beq v0, v1, 0x2bb28           |             goto label_53;
                                             |         }
    0x0002b440 move a0, zero                 |         a0 = 0;
    0x0002b444 jalr t9                       |         t9 ();
    0x0002b448 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0002b44c lw a0, 0x3c(sp)               |         a0 = *(var_3ch);
    0x0002b450 lw t9, -0x6dfc(gp)            |         t9 = sym.imp.strrchr;
    0x0002b454 addiu a1, zero, 0x2f          |         a1 = 0x2f;
    0x0002b458 jalr t9                       |         t9 ();
    0x0002b45c lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |         if (v0 == 0) {
    0x0002b460 beqz v0, 0x2bd94              |             goto label_54;
                                             |         }
    0x0002b464 addiu v0, v0, 1               |         v0++;
                                             | label_24:
    0x0002b468 lw v1, 0x38(sp)               |         v1 = *(var_38h);
    0x0002b46c lw t9, -0x7044(gp)            |         t9 = sym.imp.execve;
                                             |         if (v1 == 0) {
    0x0002b470 beqz v1, 0x2bd48              |             goto label_55;
                                             |         }
    0x0002b474 sw v0, 0x70(sp)               |         *(var_70h) = v0;
    0x0002b478 lw v0, -0x7e48(gp)            |         v0 = *(gp);
    0x0002b47c lw s0, 0x3c(sp)               |         s0 = *(var_3ch);
                                             |         /* esilref: '-c' */
    0x0002b480 addiu v0, v0, -0x5108         |         v0 += -0x5108;
    0x0002b484 sw v0, 0x74(sp)               |         *(var_74h) = v0;
    0x0002b488 lw v0, 0x38(sp)               |         v0 = *(var_38h);
    0x0002b48c move a2, s1                   |         a2 = s1;
    0x0002b490 move a1, s4                   |         a1 = s4;
    0x0002b494 move a0, s0                   |         a0 = s0;
    0x0002b498 sw v0, 0x78(sp)               |         *(var_78h) = v0;
    0x0002b49c sw zero, 0x7c(sp)             |         *(var_7ch) = 0;
                                             | label_28:
    0x0002b4a0 jalr t9                       |         t9 ();
    0x0002b4a4 nop                           |         
    0x0002b4a8 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0002b4ac move a0, s0                   |         a0 = s0;
    0x0002b4b0 lw t9, -0x6e2c(gp)            |         t9 = sym.imp.perror;
                                             | label_23:
    0x0002b4b4 jalr t9                       |         t9 ();
    0x0002b4b8 nop                           |         
    0x0002b4bc lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0002b4c0 lw t9, -0x7210(gp)            |         t9 = sym.imp.exit;
    0x0002b4c4 addiu a0, zero, 1             |         a0 = 1;
    0x0002b4c8 jalr t9                       |         t9 ();
                                             | label_34:
    0x0002b4cc addiu v0, v0, -0x4aac         |         v0 += -aav.0x00004aac;
    0x0002b4d0 sw v0, 0x3c(sp)               |         *(var_3ch) = v0;
    0x0002b4d4 b 0x2ad68                     |         goto label_2;
    0x0002b4d8 lw t9, -0x796c(gp)            |         t9 = *(gp);
    0x0002b4dc addiu a3, s0, 0x3c            |         a3 = s0 + 0x3c;
                                             |         /* str.SSH_TTY */
    0x0002b4e0 addiu a2, a2, -0x300c         |         a2 += -0x300c;
    0x0002b4e4 move a1, s2                   |         a1 = s2;
    0x0002b4e8 move a0, s1                   |         a0 = s1;
    0x0002b4ec jalr t9                       |         t9 ();
    0x0002b4f0 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0002b4f4 b 0x2b2a8                     |         
                                             |     }
                                             | label_32:
    0x0002b4f8 lw v0, 8(v0)                  |     v0 = *((v0 + 2));
    0x0002b4fc lw t9, -0x7d04(gp)            |     t9 = sym.do_setusercontext;
                                             |     if (v0 == 0) {
    0x0002b500 beqz v0, 0x2ad2c              |         goto label_3;
                                             |     }
    0x0002b504 lw s1, -0x7f34(gp)            |     s1 = *(gp);
    0x0002b508 lw t9, -0x6d1c(gp)            |     t9 = sym.imp.__xstat64;
    0x0002b50c addiu a2, sp, 0x70            |     a2 = sp + 0x70;
                                             |     /* str._etc_nologin */
    0x0002b510 addiu a1, s1, -0x319c         |     a1 = s1 + -0x319c;
    0x0002b514 addiu a0, zero, 3             |     a0 = 3;
    0x0002b518 jalr t9                       |     t9 ();
    0x0002b51c addiu v1, zero, -1            |     v1 = -1;
    0x0002b520 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 == v1) {
    0x0002b524 beq v0, v1, 0x2ad28           |         goto label_4;
                                             |     }
    0x0002b528 lw v0, 0x30(sp)               |     v0 = *(var_30h);
                                             |     /* str._etc_nologin */
    0x0002b52c addiu s1, s1, -0x319c         |     s1 += -0x319c;
    0x0002b530 sw s1, 0x20(sp)               |     *(var_20h) = s1;
    0x0002b534 lw v0, (v0)                   |     v0 = *(v0);
    0x0002b538 lw a1, -0x7f34(gp)            |     a1 = *(gp);
    0x0002b53c sw v0, 0x1c(sp)               |     *(var_1ch) = v0;
    0x0002b540 lw v0, -0x7f34(gp)            |     v0 = *(gp);
    0x0002b544 lw a0, -0x7f34(gp)            |     a0 = *(gp);
                                             |     /* str.User__.100s_not_allowed_because__s_exists */
    0x0002b548 addiu v0, v0, -0x318c         |     v0 += -0x318c;
    0x0002b54c lw t9, -0x7f6c(gp)            |     t9 = sym.sshlog;
    0x0002b550 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x0002b554 addiu v0, zero, 3             |     v0 = 3;
    0x0002b558 move a3, zero                 |     a3 = 0;
    0x0002b55c addiu a2, zero, 0x50e         |     a2 = 0x50e;
                                             |     /* str.do_nologin */
    0x0002b560 addiu a1, a1, -0x2110         |     a1 += -0x2110;
                                             |     /* str.session.c */
    0x0002b564 addiu a0, a0, -0x3620         |     a0 += -0x3620;
    0x0002b568 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0002b56c sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x0002b570 jalr t9                       |     t9 ();
    0x0002b574 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002b578 move a0, s1                   |     a0 = s1;
    0x0002b57c lw a1, -0x7f34(gp)            |     a1 = *(gp);
    0x0002b580 lw t9, -0x7238(gp)            |     t9 = sym.imp.fopen64;
    0x0002b584 addiu a1, a1, -0x6b8c         |     a1 += -0x6b8c;
    0x0002b588 jalr t9                       |     t9 ();
    0x0002b58c move s0, v0                   |     s0 = v0;
    0x0002b590 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 == 0) {
    0x0002b594 beqz v0, 0x2b5e8              |         goto label_56;
                                             |     }
    0x0002b598 addiu v0, sp, 0x314           |     v0 = sp + aav.0x00000314;
    0x0002b59c sw v0, 0x54(sp)               |     *(var_54h) = v0;
    0x0002b5a0 lw s1, -0x6f44(gp)            |     s1 = *((gp - 7121));
    0x0002b5a4 b 0x2b5bc                     |     
                                             |     while (v0 != 0) {
    0x0002b5a8 lw t9, -0x6c50(gp)            |         t9 = sym.imp.fputs;
    0x0002b5ac lw a1, (s1)                   |         a1 = *(s1);
    0x0002b5b0 lw a0, 0x54(sp)               |         a0 = *(var_54h);
    0x0002b5b4 jalr t9                       |         t9 ();
    0x0002b5b8 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0002b5bc lw t9, -0x6da4(gp)            |         t9 = sym.imp.fgets;
    0x0002b5c0 lw a0, 0x54(sp)               |         a0 = *(var_54h);
    0x0002b5c4 move a2, s0                   |         a2 = s0;
    0x0002b5c8 addiu a1, zero, 0x400         |         a1 = aav.0x00000400;
    0x0002b5cc jalr t9                       |         t9 ();
    0x0002b5d0 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0002b5d4 bnez v0, 0x2b5a8              |         
                                             |     }
    0x0002b5d8 lw t9, -0x6f38(gp)            |     t9 = sym.imp.fclose;
    0x0002b5dc move a0, s0                   |     a0 = s0;
    0x0002b5e0 jalr t9                       |     t9 ();
    0x0002b5e4 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             | label_56:
    0x0002b5e8 lw t9, -0x7210(gp)            |     t9 = sym.imp.exit;
    0x0002b5ec addiu a0, zero, 0xfe          |     a0 = 0xfe;
    0x0002b5f0 jalr t9                       |     t9 ();
                                             | label_36:
    0x0002b5f4 lw v0, 0x40(sp)               |     v0 = *(var_40h);
    0x0002b5f8 lw t9, -0x7180(gp)            |     t9 = sym.imp.__snprintf_chk;
    0x0002b5fc addiu s5, sp, 0x314           |     s5 = sp + aav.0x00000314;
    0x0002b600 lw v0, (v0)                   |     v0 = *(v0);
    0x0002b604 addiu a3, zero, 0x100         |     a3 = aav.0x00000100;
    0x0002b608 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x0002b60c lw v0, -0x7f34(gp)            |     v0 = *(gp);
    0x0002b610 addiu a2, zero, 1             |     a2 = 1;
                                             |     /* str._var_mail */
    0x0002b614 addiu v0, v0, -0x3120         |     v0 += -0x3120;
    0x0002b618 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x0002b61c lw v0, -0x7f34(gp)            |     v0 = *(gp);
    0x0002b620 addiu a1, zero, 0x100         |     a1 = aav.0x00000100;
                                             |     /* str._.200s__.50s */
    0x0002b624 addiu v0, v0, -0x3114         |     v0 += -0x3114;
    0x0002b628 move a0, s5                   |     a0 = s5;
    0x0002b62c sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0002b630 jalr t9                       |     t9 ();
    0x0002b634 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002b638 move a3, s5                   |     a3 = s5;
    0x0002b63c move a1, s2                   |     a1 = s2;
    0x0002b640 lw a2, -0x7f34(gp)            |     a2 = *(gp);
    0x0002b644 lw t9, -0x796c(gp)            |     t9 = *(gp);
                                             |     /* str.MAIL */
    0x0002b648 addiu a2, a2, -0x3104         |     a2 += -0x3104;
    0x0002b64c move a0, s1                   |     a0 = s1;
    0x0002b650 jalr t9                       |     t9 ();
    0x0002b654 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002b658 b 0x2ae70                     |     goto label_5;
                                             | label_33:
    0x0002b65c lw t9, -0x79a0(gp)            |     t9 = *(gp);
                                             |     /* fcn.00029880 */
    0x0002b660 addiu t9, t9, -0x6780         |     t9 += -0x6780;
    0x0002b664 bal 0x29880                   |     fcn_00029880 ();
    0x0002b668 nop                           |     
    0x0002b66c lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002b670 b 0x2ad50                     |     goto label_6;
                                             | label_44:
    0x0002b674 lw s6, -0x6f44(gp)            |     s6 = *((gp - 7121));
    0x0002b678 lw a0, -0x7f34(gp)            |     a0 = *(gp);
    0x0002b67c lw t9, -0x702c(gp)            |     t9 = sym.imp.fwrite;
    0x0002b680 lw a3, (s6)                   |     a3 = *(s6);
    0x0002b684 addiu a2, zero, 0xd           |     a2 = 0xd;
    0x0002b688 addiu a1, zero, 1             |     a1 = 1;
                                             |     /* str.Environment:_n */
    0x0002b68c addiu a0, a0, -0x2fec         |     a0 += -aav.0x00002fec;
    0x0002b690 jalr t9                       |     t9 ();
    0x0002b694 lw s1, 0x64(sp)               |     s1 = *(var_64h);
    0x0002b698 lw a3, (s1)                   |     a3 = *(s1);
    0x0002b69c lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (a3 == 0) {
    0x0002b6a0 beqz a3, 0x2b2e0              |         goto label_7;
                                             |     }
    0x0002b6a4 lw v0, -0x7f34(gp)            |     v0 = *(gp);
    0x0002b6a8 addiu s5, zero, 4             |     s5 = 4;
                                             |     /* str.___.200s_n */
    0x0002b6ac addiu v0, v0, -0x2fdc         |     v0 += -0x2fdc;
    0x0002b6b0 move fp, v0                   |     fp = v0;
                                             |     do {
    0x0002b6b4 lw t9, -0x6ce8(gp)            |         t9 = sym.imp.__fprintf_chk
    0x0002b6b8 lw a0, (s6)                   |         a0 = *(s6);
    0x0002b6bc move a2, fp                   |         a2 = fp;
    0x0002b6c0 addiu a1, zero, 1             |         a1 = 1;
    0x0002b6c4 jalr t9                       |         t9 ();
    0x0002b6c8 lw s1, 0x64(sp)               |         s1 = *(var_64h);
    0x0002b6cc lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0002b6d0 lwx a3, s5(s1)                |         __asm ("lwx a3, s5(s1)");
    0x0002b6d4 addiu s5, s5, 4               |         s5 += 4;
    0x0002b6d8 bnez a3, 0x2b6b4              |         
                                             |     } while (a3 != 0);
    0x0002b6dc lw t9, -0x79a0(gp)            |     t9 = *(gp);
    0x0002b6e0 b 0x2b2e4                     |     goto label_8;
                                             | label_31:
    0x0002b6e4 lw t9, -0x7d04(gp)            |     t9 = sym.do_setusercontext;
    0x0002b6e8 lw a0, 0x30(sp)               |     a0 = *(var_30h);
    0x0002b6ec bal 0x2a8e4                   |     sym_do_setusercontext ();
    0x0002b6f0 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002b6f4 lw t9, -0x79a0(gp)            |     t9 = *(gp);
    0x0002b6f8 lw s1, -0x6f44(gp)            |     s1 = *((gp - 7121));
                                             |     /* fcn.0002958c */
    0x0002b6fc addiu t9, t9, -0x6a74         |     t9 += -0x6a74;
    0x0002b700 move a0, s4                   |     a0 = s4;
    0x0002b704 bal 0x2958c                   |     fcn_0002958c ();
    0x0002b708 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002b70c lw t9, -0x6ec0(gp)            |     t9 = sym.imp.fflush;
    0x0002b710 move a0, zero                 |     a0 = 0;
    0x0002b714 jalr t9                       |     t9 ();
    0x0002b718 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002b71c lw a3, (s1)                   |     a3 = *(s1);
    0x0002b720 addiu a2, zero, 0x24          |     a2 = 0x24;
    0x0002b724 lw a0, -0x7f34(gp)            |     a0 = *(gp);
    0x0002b728 lw t9, -0x702c(gp)            |     t9 = sym.imp.fwrite;
    0x0002b72c addiu a1, zero, 1             |     a1 = 1;
                                             |     /* str.WARNING:_Your_password_has_expired._n */
    0x0002b730 addiu a0, a0, -0x3240         |     a0 += -0x3240;
    0x0002b734 jalr t9                       |     t9 ();
    0x0002b738 lw v1, 0x24(s0)               |     v1 = *((s0 + 9));
    0x0002b73c addiu v0, zero, -1            |     v0 = -1;
    0x0002b740 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v1 == v0) {
    0x0002b744 beq v1, v0, 0x2bcd0           |         goto label_57;
                                             |     }
    0x0002b748 lw a0, -0x7f34(gp)            |     a0 = *(gp);
    0x0002b74c lw t9, -0x702c(gp)            |     t9 = sym.imp.fwrite;
    0x0002b750 lw a3, (s1)                   |     a3 = *(s1);
    0x0002b754 addiu a2, zero, 0x33          |     a2 = 0x33;
    0x0002b758 addiu a1, zero, 1             |     a1 = 1;
                                             |     /* str.You_must_change_your_password_now_and_login_again__n */
    0x0002b75c addiu a0, a0, -0x3218         |     a0 += -0x3218;
    0x0002b760 jalr t9                       |     t9 ();
    0x0002b764 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002b768 move a2, zero                 |     a2 = 0;
    0x0002b76c lw s0, -0x7f34(gp)            |     s0 = *(gp);
    0x0002b770 lw a0, -0x7f34(gp)            |     a0 = *(gp);
    0x0002b774 lw t9, -0x6de4(gp)            |     t9 = sym.imp.execl;
                                             |     /* str.passwd */
    0x0002b778 addiu a1, s0, -0x31e4         |     a1 = s0 + -0x31e4;
                                             |     /* str._usr_bin_passwd */
    0x0002b77c addiu a0, a0, -0x31dc         |     a0 += -0x31dc;
    0x0002b780 jalr t9                       |     t9 ();
    0x0002b784 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002b788 lw t9, -0x6e2c(gp)            |     t9 = sym.imp.perror;
                                             |     /* str.passwd */
    0x0002b78c addiu a0, s0, -0x31e4         |     a0 = s0 + -0x31e4;
    0x0002b790 jalr t9                       |     t9 ();
    0x0002b794 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             | label_22:
    0x0002b798 lw t9, -0x7210(gp)            |     t9 = sym.imp.exit;
    0x0002b79c addiu a0, zero, 1             |     a0 = 1;
    0x0002b7a0 jalr t9                       |     t9 ();
                                             | label_46:
    0x0002b7a4 move fp, zero                 |     fp = 0;
    0x0002b7a8 b 0x2b34c                     |     goto label_9;
                                             | label_41:
    0x0002b7ac lw v0, 0x4f4(s3)              |     v0 = *((s3 + 317));
    0x0002b7b0 lw v0, -0x7f34(gp)            |     v0 = *(gp);
                                             |     if (v0 == 0) {
    0x0002b7b4 beqz v0, 0x2b06c              |         goto label_10;
                                             |     }
                                             | label_39:
    0x0002b7b8 lw t9, -0x7180(gp)            |     t9 = sym.imp.__snprintf_chk;
                                             |     /* str..ssh */
    0x0002b7bc addiu v0, v0, -0x30e0         |     v0 += -0x30e0;
    0x0002b7c0 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x0002b7c4 lw v0, 0x40(sp)               |     v0 = *(var_40h);
    0x0002b7c8 addiu s5, sp, 0x314           |     s5 = sp + aav.0x00000314;
    0x0002b7cc addiu a3, zero, 0x100         |     a3 = aav.0x00000100;
    0x0002b7d0 lw v0, 0x14(v0)               |     v0 = *((v0 + 5));
    0x0002b7d4 addiu a2, zero, 1             |     a2 = 1;
    0x0002b7d8 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x0002b7dc lw v0, -0x7f34(gp)            |     v0 = *(gp);
    0x0002b7e0 addiu a1, zero, 0x100         |     a1 = aav.0x00000100;
                                             |     /* str._.200s__s_environment */
    0x0002b7e4 addiu v0, v0, -0x30d8         |     v0 += -aav.0x000030d8;
    0x0002b7e8 move a0, s5                   |     a0 = s5;
    0x0002b7ec sw s5, 0x54(sp)               |     *(var_54h) = s5;
    0x0002b7f0 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0002b7f4 jalr t9                       |     t9 ();
    0x0002b7f8 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002b7fc lw v0, 0x4f8(s3)              |     v0 = *(s3);
    0x0002b800 move a0, s5                   |     a0 = s5;
    0x0002b804 lw a1, -0x7f34(gp)            |     a1 = *(gp);
    0x0002b808 lw t9, -0x7238(gp)            |     t9 = sym.imp.fopen64;
    0x0002b80c addiu a1, a1, -0x6b8c         |     a1 += -0x6b8c;
    0x0002b810 sw v0, 0x44(sp)               |     *(var_44h) = v0;
    0x0002b814 sw zero, 0x68(sp)             |     *(var_68h) = 0;
    0x0002b818 sw zero, 0x6c(sp)             |     *(var_6ch) = 0;
    0x0002b81c jalr t9                       |     t9 ();
    0x0002b820 sw v0, 0x40(sp)               |     *(var_40h) = v0;
    0x0002b824 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 == 0) {
    0x0002b828 beqz v0, 0x2b06c              |         goto label_10;
                                             |     }
    0x0002b82c lw v0, -0x7f34(gp)            |     v0 = *(gp);
    0x0002b830 sw zero, 0x34(sp)             |     *(var_34h) = 0;
    0x0002b834 addiu v0, v0, 0x48bc          |     v0 += 0x48bc;
    0x0002b838 sw v0, 0x4c(sp)               |     *(var_4ch) = v0;
    0x0002b83c lw v0, -0x6f44(gp)            |     v0 = *((gp - 7121));
    0x0002b840 addiu fp, sp, 0x6c            |     fp = sp + 0x6c;
    0x0002b844 sw v0, 0x58(sp)               |     *(var_58h) = v0;
    0x0002b848 lw v0, -0x7f34(gp)            |     v0 = *(gp);
    0x0002b84c addiu s6, sp, 0x68            |     s6 = sp + 0x68;
                                             |     /* str.Bad_line__u_in__.100s_n */
    0x0002b850 addiu v0, v0, -0x3098         |     v0 += -0x3098;
    0x0002b854 sw v0, 0x5c(sp)               |     *(var_5ch) = v0;
                                             | label_17:
    0x0002b858 lw t9, -0x6d04(gp)            |     t9 = sym.imp.__getdelim;
    0x0002b85c lw a3, 0x40(sp)               |     a3 = *(var_40h);
    0x0002b860 addiu a2, zero, 0xa           |     a2 = 0xa;
    0x0002b864 move a1, fp                   |     a1 = fp;
    0x0002b868 move a0, s6                   |     a0 = s6;
    0x0002b86c jalr t9                       |     t9 ();
    0x0002b870 addiu v1, zero, -1            |     v1 = -1;
    0x0002b874 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 == v1) {
    0x0002b878 beq v0, v1, 0x2b04c           |         goto label_11;
                                             |     }
    0x0002b87c lw v0, 0x34(sp)               |     v0 = *(var_34h);
    0x0002b880 addiu v0, v0, 1               |     v0++;
    0x0002b884 move v1, v0                   |     v1 = v0;
    0x0002b888 sw v0, 0x34(sp)               |     *(var_34h) = v0;
    0x0002b88c addiu v0, zero, 0x3e9         |     v0 = 0x3e9;
    0x0002b890 lw s5, 0x68(sp)               |     s5 = *(var_68h);
                                             |     if (v1 == v0) {
    0x0002b894 beq v1, v0, 0x2be78           |         goto label_58;
                                             |     }
    0x0002b898 addiu a1, zero, 0x20          |     a1 = 0x20;
    0x0002b89c addiu a0, zero, 9             |     a0 = 9;
                                             |     do {
                                             | label_12:
    0x0002b8a0 lb v0, (s5)                   |         v0 = *(s5);
    0x0002b8a4 beql v0, a1, 0x2b8a0          |         
                                             |     } while (v0 == a1);
    0x0002b8a8 addiu s5, s5, 1               |     s5++;
                                             |     if (v0 != a0) {
    0x0002b8ac bne v0, a0, 0x2b9d8           |         goto label_59;
                                             |     }
    0x0002b8b0 nop                           |     
    0x0002b8b4 addiu s5, s5, 1               |     s5++;
    0x0002b8b8 b 0x2b8a0                     |     goto label_12;
                                             | label_48:
    0x0002b8bc lw t9, -0x6e6c(gp)            |     t9 = sym.imp.free;
                                             |     if (fp == 0) {
    0x0002b8c0 beqz fp, 0x2b3f8              |         goto label_13;
                                             |     }
    0x0002b8c4 lw a3, 0x464(s3)              |     a3 = *(s3);
                                             |     if (a3 == 0) {
    0x0002b8c8 beqz a3, 0x2b3f8              |         goto label_13;
                                             |     }
    0x0002b8cc nop                           |     
    0x0002b8d0 lw v0, (s2)                   |     v0 = *(s2);
    0x0002b8d4 lw s2, -0x6f44(gp)            |     s2 = *((gp - 7121));
                                             |     if (v0 != 0) {
    0x0002b8d8 bnez v0, 0x2be04              |         goto label_60;
                                             |     }
                                             | label_29:
    0x0002b8dc lw a1, -0x7f34(gp)            |     a1 = *(gp);
    0x0002b8e0 lw t9, -0x7c50(gp)            |     t9 = sym.xasprintf;
    0x0002b8e4 lw a2, 0x464(s3)              |     a2 = *(s3);
                                             |     /* str._s__q__ */
    0x0002b8e8 addiu a1, a1, -0x2ef0         |     a1 += -0x2ef0;
    0x0002b8ec addiu a0, sp, 0x68            |     a0 = sp + 0x68;
    0x0002b8f0 jalr t9                       |     t9 ();
    0x0002b8f4 addiu v1, zero, -1            |     v1 = -1;
    0x0002b8f8 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 == v1) {
    0x0002b8fc beq v0, v1, 0x2bf7c           |         goto label_61;
                                             |     }
    0x0002b900 lw a1, -0x7fb4(gp)            |     a1 = *(gp);
    0x0002b904 lw t9, -0x6e0c(gp)            |     t9 = sym.imp.popen;
    0x0002b908 lw a0, 0x68(sp)               |     a0 = *(var_68h);
    0x0002b90c addiu a1, a1, 0x704c          |     a1 += 0x704c;
    0x0002b910 jalr t9                       |     t9 ();
    0x0002b914 move s2, v0                   |     s2 = v0;
    0x0002b918 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 == 0) {
    0x0002b91c beqz v0, 0x2be64              |         goto label_62;
                                             |     }
    0x0002b920 lw a2, -0x7f34(gp)            |     a2 = *(gp);
    0x0002b924 lw t9, -0x6ce8(gp)            |     t9 = sym.imp.__fprintf_chk
    0x0002b928 lw a3, 0x88(s0)               |     a3 = *((s0 + 34));
                                             |     /* str.remove__s_n */
    0x0002b92c addiu a2, a2, -0x2ee8         |     a2 += -0x2ee8;
    0x0002b930 addiu a1, zero, 1             |     a1 = 1;
    0x0002b934 move a0, v0                   |     a0 = v0;
    0x0002b938 jalr t9                       |     t9 ();
    0x0002b93c lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002b940 lw v1, 0x90(s0)               |     v1 = *((s0 + 36));
    0x0002b944 lw v0, 0x8c(s0)               |     v0 = *((s0 + 35));
    0x0002b948 lw a2, -0x7f34(gp)            |     a2 = *(gp);
    0x0002b94c lw a3, 0x88(s0)               |     a3 = *((s0 + 34));
    0x0002b950 lw t9, -0x6ce8(gp)            |     t9 = sym.imp.__fprintf_chk
                                             |     /* str.add__s__s__s_n */
    0x0002b954 addiu a2, a2, -0x2edc         |     a2 += -0x2edc;
    0x0002b958 addiu a1, zero, 1             |     a1 = 1;
    0x0002b95c move a0, s2                   |     a0 = s2;
    0x0002b960 sw v1, 0x14(sp)               |     *(var_14h) = v1;
    0x0002b964 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0002b968 jalr t9                       |     t9 ();
    0x0002b96c lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002b970 b 0x2b3e4                     |     goto label_14;
                                             | label_45:
    0x0002b974 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x0002b978 lw v0, -0x4378(v0)            |     v0 = *((v0 - 4318));
    0x0002b97c lw t9, -0x7eac(gp)            |     t9 = sym.closefrom;
                                             |     if (v0 != 0) {
    0x0002b980 bnez v0, 0x2b31c              |         goto label_15;
                                             |     }
    0x0002b984 lw v0, 0x30(sp)               |     v0 = *(var_30h);
    0x0002b988 lw t9, -0x6c58(gp)            |     t9 = sym.imp.__errno_location;
    0x0002b98c lw s5, 0x14(v0)               |     s5 = *((v0 + 5));
    0x0002b990 lw v0, -0x6f44(gp)            |     v0 = *((gp - 7121));
    0x0002b994 lw s4, (v0)                   |     s4 = *(v0);
    0x0002b998 jalr t9                       |     t9 ();
    0x0002b99c lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002b9a0 lw t9, -0x6c90(gp)            |     t9 = sym.imp.strerror;
    0x0002b9a4 lw a0, (v0)                   |     a0 = *(v0);
    0x0002b9a8 jalr t9                       |     t9 ();
    0x0002b9ac lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002b9b0 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0002b9b4 move a3, s5                   |     a3 = s5;
    0x0002b9b8 lw a2, -0x7f34(gp)            |     a2 = *(gp);
    0x0002b9bc lw t9, -0x6ce8(gp)            |     t9 = sym.imp.__fprintf_chk
                                             |     /* str.Could_not_chdir_to_home_directory__s:__s_n */
    0x0002b9c0 addiu a2, a2, -0x2fd0         |     a2 += -0x2fd0;
    0x0002b9c4 addiu a1, zero, 1             |     a1 = 1;
    0x0002b9c8 move a0, s4                   |     a0 = s4;
    0x0002b9cc jalr t9                       |     t9 ();
    0x0002b9d0 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002b9d4 b 0x2b318                     |     goto label_16;
                                             | label_59:
    0x0002b9d8 addiu a0, zero, 0x23          |     a0 = 0x23;
                                             |     if (v0 == 0) {
    0x0002b9dc beqz v0, 0x2b858              |         goto label_17;
                                             |     }
    0x0002b9e0 addiu a0, zero, 0xa           |     a0 = 0xa;
                                             |     if (v0 == a0) {
    0x0002b9e4 beq v0, a0, 0x2b858           |         goto label_17;
                                             |     }
    0x0002b9e8 lw t9, -0x71d8(gp)            |     t9 = sym.imp.strcspn;
                                             |     if (v0 == a0) {
    0x0002b9ec beq v0, a0, 0x2b858           |         goto label_17;
                                             |     }
    0x0002b9f0 lw a1, 0x4c(sp)               |     a1 = *(var_4ch);
    0x0002b9f4 move a0, s5                   |     a0 = s5;
    0x0002b9f8 jalr t9                       |     t9 ();
    0x0002b9fc lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002ba00 addu v0, s5, v0               |     v0 = s5 + v0;
    0x0002ba04 addiu a1, zero, 0x3d          |     a1 = 0x3d;
    0x0002ba08 lw t9, -0x6d4c(gp)            |     t9 = sym.imp.strchr;
    0x0002ba0c sb zero, (v0)                 |     *(v0) = 0;
    0x0002ba10 move a0, s5                   |     a0 = s5;
    0x0002ba14 jalr t9                       |     t9 ();
    0x0002ba18 move a3, v0                   |     a3 = v0;
    0x0002ba1c lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 == 0) {
    0x0002ba20 beqz v0, 0x2bcf4              |         goto label_63;
                                             |     }
    0x0002ba24 sb zero, (v0)                 |     *(v0) = 0;
    0x0002ba28 lw v0, 0x44(sp)               |     v0 = *(var_44h);
    0x0002ba2c lw t9, -0x7f38(gp)            |     t9 = sym.match_pattern_list;
                                             |     if (v0 == 0) {
    0x0002ba30 beqz v0, 0x2ba58              |         goto label_64;
                                             |     }
    0x0002ba34 lw a1, 0x44(sp)               |     a1 = *(var_44h);
    0x0002ba38 sw a3, 0x48(sp)               |     *(var_48h) = a3;
    0x0002ba3c move a0, s5                   |     a0 = s5;
    0x0002ba40 move a2, zero                 |     a2 = 0;
    0x0002ba44 jalr t9                       |     t9 ();
    0x0002ba48 addiu a0, zero, 1             |     a0 = 1;
    0x0002ba4c lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002ba50 lw a3, 0x48(sp)               |     a3 = *(var_48h);
                                             |     if (v0 != a0) {
    0x0002ba54 bne v0, a0, 0x2b858           |         goto label_17;
                                             |     }
                                             | label_64:
    0x0002ba58 lw t9, -0x796c(gp)            |     t9 = *(gp);
    0x0002ba5c addiu a3, a3, 1               |     a3++;
    0x0002ba60 move a2, s5                   |     a2 = s5;
    0x0002ba64 move a1, s2                   |     a1 = s2;
    0x0002ba68 move a0, s1                   |     a0 = s1;
    0x0002ba6c jalr t9                       |     t9 ();
    0x0002ba70 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002ba74 b 0x2b858                     |     goto label_17;
                                             | label_47:
    0x0002ba78 lw v0, (v0)                   |     v0 = *(v0);
    0x0002ba7c lw v0, 0x10(v0)               |     v0 = *((v0 + 4));
    0x0002ba80 addiu s4, sp, 0x70            |     s4 = sp + 0x70;
                                             |     if (v0 == 0) {
    0x0002ba84 beqz v0, 0x2b38c              |         goto label_18;
                                             |     }
    0x0002ba88 lw v0, 0x46c(s3)              |     v0 = *(s3);
    0x0002ba8c lw s5, -0x7f34(gp)            |     s5 = *(gp);
                                             |     if (v0 == 0) {
    0x0002ba90 beqz v0, 0x2b390              |         goto label_19;
                                             |     }
    0x0002ba94 lw t9, -0x6d1c(gp)            |     t9 = sym.imp.__xstat64;
    0x0002ba98 addiu s4, sp, 0x70            |     s4 = sp + 0x70;
    0x0002ba9c lw a1, 0x6c(sp)               |     a1 = *(var_6ch);
    0x0002baa0 move a2, s4                   |     a2 = s4;
    0x0002baa4 addiu a0, zero, 3             |     a0 = 3;
    0x0002baa8 jalr t9                       |     t9 ();
    0x0002baac lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 < 0) {
    0x0002bab0 bltz v0, 0x2b38c              |         goto label_18;
                                             |     }
    0x0002bab4 lw a3, -0x7f34(gp)            |     a3 = *(gp);
    0x0002bab8 lw a1, -0x7f34(gp)            |     a1 = *(gp);
    0x0002babc lw v0, 0x6c(sp)               |     v0 = *(var_6ch);
    0x0002bac0 lw t9, -0x7c50(gp)            |     t9 = sym.xasprintf;
    0x0002bac4 lw a2, 0x3c(sp)               |     a2 = *(var_3ch);
    0x0002bac8 sw v0, 0x10(sp)               |     *(var_10h) = v0;
                                             |     /* str._bin_sh */
    0x0002bacc addiu a3, a3, -0x4aac         |     a3 += -aav.0x00004aac;
                                             |     /* str._s__c__s__s */
    0x0002bad0 addiu a1, a1, -0x2f9c         |     a1 += -0x2f9c;
    0x0002bad4 addiu a0, sp, 0x68            |     a0 = sp + 0x68;
    0x0002bad8 jalr t9                       |     t9 ();
    0x0002badc addiu v1, zero, -1            |     v1 = -1;
    0x0002bae0 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 == v1) {
    0x0002bae4 beq v0, v1, 0x2bf20           |         goto label_65;
                                             |     }
    0x0002bae8 lw v0, (s2)                   |     v0 = *(s2);
    0x0002baec lw v0, -0x6f44(gp)            |     v0 = *((gp - 7121));
                                             |     if (v0 != 0) {
    0x0002baf0 bnez v0, 0x2befc              |         goto label_66;
                                             |     }
                                             | label_30:
    0x0002baf4 lw a1, -0x7fb4(gp)            |     a1 = *(gp);
    0x0002baf8 lw t9, -0x6e0c(gp)            |     t9 = sym.imp.popen;
    0x0002bafc lw a0, 0x68(sp)               |     a0 = *(var_68h);
    0x0002bb00 addiu a1, a1, 0x704c          |     a1 += 0x704c;
    0x0002bb04 jalr t9                       |     t9 ();
    0x0002bb08 move s2, v0                   |     s2 = v0;
    0x0002bb0c lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 != 0) {
    0x0002bb10 bnez v0, 0x2b3dc              |         goto label_20;
                                             |     }
    0x0002bb14 lw v0, -0x6f44(gp)            |     v0 = *((gp - 7121));
    0x0002bb18 lw t9, -0x6ce8(gp)            |     t9 = sym.imp.__fprintf_chk
    0x0002bb1c lw a3, 0x6c(sp)               |     a3 = *(var_6ch);
    0x0002bb20 lw a0, (v0)                   |     a0 = *(v0);
    0x0002bb24 b 0x2bdb8                     |     goto label_67;
                                             | label_53:
    0x0002bb28 lw v0, 0xc(s0)                |     v0 = *((s0 + 3));
    0x0002bb2c lw a2, -0x7f34(gp)            |     a2 = *(gp);
    0x0002bb30 lw a0, -0x7f34(gp)            |     a0 = *(gp);
    0x0002bb34 lw t9, -0x7e68(gp)            |     t9 = sym.setproctitle;
    0x0002bb38 lw a1, (v0)                   |     a1 = *(v0);
                                             |     /* str.internal_sftp */
    0x0002bb3c addiu a2, a2, -0x2e70         |     a2 += -0x2e70;
                                             |     /* str._s__s */
    0x0002bb40 addiu a0, a0, -0x2e60         |     a0 += -0x2e60;
    0x0002bb44 jalr t9                       |     t9 ();
    0x0002bb48 lw v0, 0x38(sp)               |     v0 = *(var_38h);
    0x0002bb4c lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 == 0) {
    0x0002bb50 beqz v0, 0x2bdd0              |         goto label_68;
                                             |     }
                                             | label_27:
    0x0002bb54 lw t9, -0x7ef4(gp)            |     t9 = sym.xstrdup;
    0x0002bb58 lw s2, -0x7e48(gp)            |     s2 = *(gp);
    0x0002bb5c lw a0, 0x38(sp)               |     a0 = *(var_38h);
    0x0002bb60 jalr t9                       |     t9 ();
    0x0002bb64 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002bb68 addiu a1, s2, -0x52c8         |     a1 = s2 + -0x52c8;
    0x0002bb6c lw t9, -0x7090(gp)            |     t9 = sym.imp.strtok;
    0x0002bb70 move a0, v0                   |     a0 = v0;
    0x0002bb74 jalr t9                       |     t9 ();
    0x0002bb78 move s1, v0                   |     s1 = v0;
    0x0002bb7c lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 == 0) {
    0x0002bb80 beqz v0, 0x2bbd8              |         goto label_69;
                                             |     }
    0x0002bb84 addiu s2, s2, -0x52c8         |     s2 += -0x52c8;
                                             |     do {
    0x0002bb88 slti v0, s7, 9                |         v0 = (s7 < 9) ? 1 : 0;
    0x0002bb8c lw t9, -0x7090(gp)            |         t9 = sym.imp.strtok;
                                             |         if (v0 != 0) {
    0x0002bb90 beqz v0, 0x2bbc0              |             
    0x0002bb94 lw t9, -0x7f44(gp)            |             t9 = *(gp);
    0x0002bb98 move a0, s7                   |             a0 = s7;
    0x0002bb9c addiu a1, zero, 1             |             a1 = 1;
    0x0002bba0 jalr t9                       |             t9 ();
    0x0002bba4 sll s7, s7, 2                 |             s7 <<= 2;
    0x0002bba8 addiu v1, sp, 0x718           |             v1 = sp + 0x718;
    0x0002bbac addu v1, v1, s7               |             v1 += s7;
    0x0002bbb0 lw gp, 0x28(sp)               |             gp = *(var_28h);
    0x0002bbb4 move s7, v0                   |             s7 = v0;
    0x0002bbb8 sw s1, -0x6a8(v1)             |             *((v1 - 426)) = s1;
    0x0002bbbc lw t9, -0x7090(gp)            |             t9 = sym.imp.strtok;
                                             |         }
    0x0002bbc0 move a1, s2                   |         a1 = s2;
    0x0002bbc4 move a0, zero                 |         a0 = 0;
    0x0002bbc8 jalr t9                       |         t9 ();
    0x0002bbcc move s1, v0                   |         s1 = v0;
    0x0002bbd0 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0002bbd4 bnez v0, 0x2bb88              |         
                                             |     } while (v0 != 0);
                                             | label_69:
    0x0002bbd8 addiu v1, sp, 0x718           |     v1 = sp + 0x718;
    0x0002bbdc sll v0, s7, 2                 |     v0 = s7 << 2;
    0x0002bbe0 addu v0, v1, v0               |     v0 = v1 + v0;
    0x0002bbe4 lw v1, -0x7964(gp)            |     v1 = *(gp);
    0x0002bbe8 sw zero, -0x6a8(v0)           |     *((v0 - 426)) = 0;
    0x0002bbec addiu v0, zero, 1             |     v0 = 1;
    0x0002bbf0 sw v0, (v1)                   |     *(v1) = v0;
    0x0002bbf4 lw v1, -0x7e90(gp)            |     v1 = *(gp);
    0x0002bbf8 lw t9, -0x7960(gp)            |     t9 = sym.sftp_server_main;
    0x0002bbfc lw a2, 0xc(s0)                |     a2 = *((s0 + 3));
    0x0002bc00 sw v0, (v1)                   |     *(v1) = v0;
    0x0002bc04 lw v0, -0x6d10(gp)            |     v0 = *((gp - 6980));
    0x0002bc08 lw v1, 0x70(sp)               |     v1 = *(var_70h);
    0x0002bc0c move a0, s7                   |     a0 = s7;
    0x0002bc10 move a1, s4                   |     a1 = s4;
    0x0002bc14 sw v1, (v0)                   |     *(v0) = v1;
    0x0002bc18 bal 0x46c20                   |     sym_sftp_server_main ();
    0x0002bc1c lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002bc20 lw t9, -0x7210(gp)            |     t9 = sym.imp.exit;
    0x0002bc24 move a0, v0                   |     a0 = v0;
    0x0002bc28 jalr t9                       |     t9 ();
                                             | label_52:
    0x0002bc2c lw v0, 0x50(sp)               |     v0 = *(var_50h);
    0x0002bc30 lw a1, -0x7f34(gp)            |     a1 = *(gp);
    0x0002bc34 sw v0, 0x1c(sp)               |     *(var_1ch) = v0;
    0x0002bc38 lw v0, -0x7f34(gp)            |     v0 = *(gp);
    0x0002bc3c lw a0, -0x7f34(gp)            |     a0 = *(gp);
                                             |     /* str.Connection_from__s:_refusing_non_sftp_session */
    0x0002bc40 addiu v0, v0, -0x2ecc         |     v0 += -0x2ecc;
    0x0002bc44 lw t9, -0x7f6c(gp)            |     t9 = sym.sshlog;
    0x0002bc48 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x0002bc4c addiu v0, zero, 2             |     v0 = 2;
    0x0002bc50 move a3, zero                 |     a3 = 0;
    0x0002bc54 addiu a2, zero, 0x670         |     a2 = 0x670;
                                             |     /* str.do_child */
    0x0002bc58 addiu a1, a1, -0x2104         |     a1 += -0x2104;
                                             |     /* str.session.c */
    0x0002bc5c addiu a0, a0, -0x3620         |     a0 += -0x3620;
    0x0002bc60 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0002bc64 sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x0002bc68 jalr t9                       |     t9 ();
    0x0002bc6c lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002bc70 lw a0, -0x7f34(gp)            |     a0 = *(gp);
    0x0002bc74 lw t9, -0x7114(gp)            |     t9 = sym.imp.puts;
                                             |     /* str.This_service_allows_sftp_connections_only. */
    0x0002bc78 addiu a0, a0, -0x2e9c         |     a0 += -0x2e9c;
    0x0002bc7c jalr t9                       |     t9 ();
    0x0002bc80 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002bc84 lw t9, -0x6ec0(gp)            |     t9 = sym.imp.fflush;
    0x0002bc88 move a0, zero                 |     a0 = 0;
    0x0002bc8c jalr t9                       |     t9 ();
    0x0002bc90 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002bc94 lw t9, -0x7210(gp)            |     t9 = sym.imp.exit;
    0x0002bc98 addiu a0, zero, 1             |     a0 = 1;
    0x0002bc9c jalr t9                       |     t9 ();
                                             | label_49:
    0x0002bca0 lw a3, -0x7f34(gp)            |     a3 = *(gp);
    0x0002bca4 lw a2, -0x7f34(gp)            |     a2 = *(gp);
    0x0002bca8 lw t9, -0x6ce8(gp)            |     t9 = sym.imp.__fprintf_chk
                                             |     /* esilref: '/etc/ssh/sshrc' */
    0x0002bcac addiu v0, s5, -0x2f44         |     v0 = s5 + -0x2f44;
    0x0002bcb0 lw a0, (v1)                   |     a0 = *(v1);
                                             |     /* str._bin_sh */
    0x0002bcb4 addiu a3, a3, -0x4aac         |     a3 += -aav.0x00004aac;
    0x0002bcb8 sw v0, 0x10(sp)               |     *(var_10h) = v0;
                                             |     /* str.Running__s__s_n */
    0x0002bcbc addiu a2, a2, -0x2f5c         |     a2 += -0x2f5c;
    0x0002bcc0 addiu a1, zero, 1             |     a1 = 1;
    0x0002bcc4 jalr t9                       |     t9 ();
    0x0002bcc8 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002bccc b 0x2b3b8                     |     goto label_21;
                                             | label_57:
    0x0002bcd0 lw a0, -0x7f34(gp)            |     a0 = *(gp);
    0x0002bcd4 lw t9, -0x702c(gp)            |     t9 = sym.imp.fwrite;
    0x0002bcd8 lw a3, (s1)                   |     a3 = *(s1);
    0x0002bcdc addiu a2, zero, 0x2f          |     a2 = 0x2f;
    0x0002bce0 addiu a1, zero, 1             |     a1 = 1;
                                             |     /* str.Password_change_required_but_no_TTY_available._n */
    0x0002bce4 addiu a0, a0, -0x31cc         |     a0 += -0x31cc;
    0x0002bce8 jalr t9                       |     t9 ();
    0x0002bcec lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002bcf0 b 0x2b798                     |     goto label_22;
                                             | label_63:
    0x0002bcf4 lw v0, 0x58(sp)               |     v0 = *(var_58h);
    0x0002bcf8 lw t9, -0x6ce8(gp)            |     t9 = sym.imp.__fprintf_chk
    0x0002bcfc lw a3, 0x34(sp)               |     a3 = *(var_34h);
    0x0002bd00 lw a0, (v0)                   |     a0 = *(v0);
    0x0002bd04 lw v0, 0x54(sp)               |     v0 = *(var_54h);
    0x0002bd08 lw a2, 0x5c(sp)               |     a2 = *(var_5ch);
    0x0002bd0c sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0002bd10 addiu a1, zero, 1             |     a1 = 1;
    0x0002bd14 jalr t9                       |     t9 ();
    0x0002bd18 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002bd1c b 0x2b858                     |     goto label_17;
                                             | label_51:
    0x0002bd20 lw v0, 0x90(s0)               |     v0 = *((s0 + 36));
    0x0002bd24 lw t9, -0x6ce8(gp)            |     t9 = sym.imp.__fprintf_chk
    0x0002bd28 lw a3, 0x8c(s0)               |     a3 = *((s0 + 35));
                                             |     /* esilref: '&s &s
' */
    0x0002bd2c addiu a2, a2, -0x2f54         |     a2 += -0x2f54;
    0x0002bd30 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0002bd34 addiu a1, zero, 1             |     a1 = 1;
    0x0002bd38 move a0, s2                   |     a0 = s2;
    0x0002bd3c jalr t9                       |     t9 ();
    0x0002bd40 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002bd44 b 0x2b3e4                     |     goto label_14;
                                             | label_55:
    0x0002bd48 lw t9, -0x7ccc(gp)            |     t9 = sym.strlcpy;
    0x0002bd4c move a1, v0                   |     a1 = v0;
    0x0002bd50 addiu v0, zero, 0x2d          |     v0 = 0x2d;
    0x0002bd54 addiu a2, zero, 0xff          |     a2 = 0xff;
    0x0002bd58 addiu a0, sp, 0x315           |     a0 = sp + 0x315;
    0x0002bd5c sb v0, 0x314(sp)              |     *(var_314h) = v0;
    0x0002bd60 jalr t9                       |     t9 ();
    0x0002bd64 sltiu v0, v0, 0xff            |     v0 = (v0 < 0xff) ? 1 : 0;
    0x0002bd68 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 != 0) {
    0x0002bd6c bnez v0, 0x2bde0              |         goto label_70;
                                             |     }
    0x0002bd70 lw t9, -0x6c58(gp)            |     t9 = sym.imp.__errno_location;
    0x0002bd74 jalr t9                       |     t9 ();
    0x0002bd78 nop                           |     
    0x0002bd7c lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002bd80 addiu v1, zero, 0x16          |     v1 = 0x16;
    0x0002bd84 lw a0, 0x3c(sp)               |     a0 = *(var_3ch);
    0x0002bd88 lw t9, -0x6e2c(gp)            |     t9 = sym.imp.perror;
    0x0002bd8c sw v1, (v0)                   |     *(v0) = v1;
    0x0002bd90 b 0x2b4b4                     |     goto label_23;
                                             | label_54:
    0x0002bd94 lw v0, 0x3c(sp)               |     v0 = *(var_3ch);
    0x0002bd98 b 0x2b468                     |     goto label_24;
                                             | label_35:
    0x0002bd9c addiu s2, sp, 0x60            |     s2 = sp + 0x60;
    0x0002bda0 addiu s1, sp, 0x64            |     s1 = sp + 0x64;
    0x0002bda4 b 0x2ade0                     |     goto label_25;
                                             | label_50:
    0x0002bda8 lw v0, -0x6f44(gp)            |     v0 = *((gp - 7121));
    0x0002bdac lw t9, -0x6ce8(gp)            |     t9 = sym.imp.__fprintf_chk
                                             |     /* esilref: '/etc/ssh/sshrc' */
    0x0002bdb0 addiu a3, s5, -0x2f44         |     a3 = s5 + -0x2f44;
    0x0002bdb4 lw a0, (v0)                   |     a0 = *(v0);
                                             |     do {
                                             | label_67:
    0x0002bdb8 lw a2, -0x7f34(gp)            |         a2 = *(gp);
    0x0002bdbc addiu a1, zero, 1             |         a1 = 1;
                                             |         /* str.Could_not_run__s_n */
    0x0002bdc0 addiu a2, a2, -0x2f70         |         a2 += -0x2f70;
    0x0002bdc4 jalr t9                       |         t9 ();
    0x0002bdc8 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0002bdcc b 0x2b3f4                     |         goto label_26;
                                             | label_68:
    0x0002bdd0 lw v0, -0x7f34(gp)            |         v0 = *(gp);
                                             |         /* str.sftp_server */
    0x0002bdd4 addiu v0, v0, -0x324c         |         v0 += -aav.0x0000324c;
    0x0002bdd8 sw v0, 0x38(sp)               |         *(var_38h) = v0;
    0x0002bddc b 0x2bb54                     |         goto label_27;
                                             | label_70:
    0x0002bde0 lw s0, 0x3c(sp)               |         s0 = *(var_3ch);
    0x0002bde4 lw v0, 0x54(sp)               |         v0 = *(var_54h);
    0x0002bde8 lw t9, -0x7044(gp)            |         t9 = sym.imp.execve;
    0x0002bdec move a2, s1                   |         a2 = s1;
    0x0002bdf0 move a1, s4                   |         a1 = s4;
    0x0002bdf4 move a0, s0                   |         a0 = s0;
    0x0002bdf8 sw v0, 0x70(sp)               |         *(var_70h) = v0;
    0x0002bdfc sw zero, 0x74(sp)             |         *(var_74h) = 0;
    0x0002be00 b 0x2b4a0                     |         goto label_28;
                                             | label_60:
    0x0002be04 lw a2, -0x7f34(gp)            |         a2 = *(gp);
    0x0002be08 lw v0, 0x88(s0)               |         v0 = *((s0 + 34));
    0x0002be0c lw t9, -0x6ce8(gp)            |         t9 = sym.imp.__fprintf_chk
    0x0002be10 lw a0, (s2)                   |         a0 = *(s2);
                                             |         /* str.Running__.500s_remove__.100s_n */
    0x0002be14 addiu a2, a2, -0x2f34         |         a2 += -0x2f34;
    0x0002be18 addiu a1, zero, 1             |         a1 = 1;
    0x0002be1c sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x0002be20 jalr t9                       |         t9 ();
    0x0002be24 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0002be28 lw a1, 0x90(s0)               |         a1 = *((s0 + 36));
    0x0002be2c lw v1, 0x8c(s0)               |         v1 = *((s0 + 35));
    0x0002be30 lw v0, 0x88(s0)               |         v0 = *((s0 + 34));
    0x0002be34 lw a2, -0x7f34(gp)            |         a2 = *(gp);
    0x0002be38 lw a3, 0x464(s3)              |         a3 = *(s3);
    0x0002be3c lw a0, (s2)                   |         a0 = *(s2);
    0x0002be40 lw t9, -0x6ce8(gp)            |         t9 = sym.imp.__fprintf_chk
    0x0002be44 sw a1, 0x18(sp)               |         *(var_18h) = a1;
    0x0002be48 sw v1, 0x14(sp)               |         *(var_14h) = v1;
    0x0002be4c sw v0, 0x10(sp)               |         *(var_10h) = v0;
                                             |         /* str._.500s_add__.100s__.100s__.100s_n */
    0x0002be50 addiu a2, a2, -0x2f14         |         a2 += -0x2f14;
    0x0002be54 addiu a1, zero, 1             |         a1 = 1;
    0x0002be58 jalr t9                       |         t9 ();
    0x0002be5c lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0002be60 b 0x2b8dc                     |         goto label_29;
                                             | label_62:
    0x0002be64 lw v0, -0x6f44(gp)            |         v0 = *((gp - 7121));
    0x0002be68 lw t9, -0x6ce8(gp)            |         t9 = sym.imp.__fprintf_chk
    0x0002be6c lw a3, 0x68(sp)               |         a3 = *(var_68h);
    0x0002be70 lw a0, (v0)                   |         a0 = *(v0);
    0x0002be74 b 0x2bdb8                     |         
                                             |     } while (1);
                                             | label_58:
    0x0002be78 lw v0, 0x54(sp)               |     v0 = *(var_54h);
    0x0002be7c lw a1, -0x7f34(gp)            |     a1 = *(gp);
    0x0002be80 sw v0, 0x1c(sp)               |     *(var_1ch) = v0;
    0x0002be84 lw v0, -0x7f34(gp)            |     v0 = *(gp);
    0x0002be88 lw a0, -0x7f34(gp)            |     a0 = *(gp);
                                             |     /* str.Too_many_lines_in_environment_file__s */
    0x0002be8c addiu v0, v0, -0x30c0         |     v0 += -0x30c0;
    0x0002be90 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x0002be94 lw t9, -0x7f74(gp)            |     t9 = sym.sshfatal;
    0x0002be98 addiu v0, zero, 1             |     v0 = 1;
    0x0002be9c sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x0002bea0 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0002bea4 move a3, zero                 |     a3 = 0;
    0x0002bea8 addiu a2, zero, 0x35c         |     a2 = aav.0x0000035c;
                                             |     /* str.read_environment_file */
    0x0002beac addiu a1, a1, -0x2138         |     a1 += -0x2138;
                                             |     /* str.session.c */
    0x0002beb0 addiu a0, a0, -0x3620         |     a0 += -0x3620;
    0x0002beb4 jalr t9                       |     t9 ();
                                             | label_43:
    0x0002beb8 lw v0, 0x1140(s3)             |     v0 = *((s3 + 1104));
    0x0002bebc lw a1, -0x7f34(gp)            |     a1 = *(gp);
    0x0002bec0 lw a0, -0x7f34(gp)            |     a0 = *(gp);
    0x0002bec4 lwx v1, v1(v0)                |     __asm ("lwx v1, v1(v0)");
    0x0002bec8 lw v0, -0x7f34(gp)            |     v0 = *(gp);
    0x0002becc lw t9, -0x7f74(gp)            |     t9 = sym.sshfatal;
                                             |     /* str.Invalid_config_SetEnv:__s */
    0x0002bed0 addiu v0, v0, -0x3044         |     v0 += -0x3044;
    0x0002bed4 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x0002bed8 addiu v0, zero, 1             |     v0 = 1;
    0x0002bedc sw v1, 0x1c(sp)               |     *(var_1ch) = v1;
    0x0002bee0 sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x0002bee4 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0002bee8 move a3, zero                 |     a3 = 0;
    0x0002beec addiu a2, zero, 0x487         |     a2 = 0x487;
                                             |     /* str.do_setup_env */
    0x0002bef0 addiu a1, a1, -0x2120         |     a1 += -0x2120;
                                             |     /* str.session.c */
    0x0002bef4 addiu a0, a0, -0x3620         |     a0 += -0x3620;
    0x0002bef8 jalr t9                       |     t9 ();
                                             | label_66:
    0x0002befc lw a2, -0x7f34(gp)            |     a2 = *(gp);
    0x0002bf00 lw t9, -0x6ce8(gp)            |     t9 = sym.imp.__fprintf_chk
    0x0002bf04 lw a3, 0x68(sp)               |     a3 = *(var_68h);
    0x0002bf08 lw a0, (v0)                   |     a0 = *(v0);
                                             |     /* str.Running__s_n */
    0x0002bf0c addiu a2, a2, -0x2f7c         |     a2 += -0x2f7c;
    0x0002bf10 addiu a1, zero, 1             |     a1 = 1;
    0x0002bf14 jalr t9                       |     t9 ();
    0x0002bf18 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002bf1c b 0x2baf4                     |     goto label_30;
                                             | label_65:
    0x0002bf20 lw t9, -0x6c58(gp)            |     t9 = sym.imp.__errno_location;
    0x0002bf24 jalr t9                       |     t9 ();
    0x0002bf28 nop                           |     
    0x0002bf2c lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002bf30 lw t9, -0x6c90(gp)            |     t9 = sym.imp.strerror;
    0x0002bf34 lw a0, (v0)                   |     a0 = *(v0);
    0x0002bf38 jalr t9                       |     t9 ();
    0x0002bf3c lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002bf40 sw v0, 0x1c(sp)               |     *(var_1ch) = v0;
    0x0002bf44 sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x0002bf48 lw v0, -0x7f34(gp)            |     v0 = *(gp);
    0x0002bf4c lw t9, -0x7f74(gp)            |     t9 = sym.sshfatal;
                                             |     /* str.xasprintf:__s */
    0x0002bf50 addiu v0, v0, -0x2f8c         |     v0 += -0x2f8c;
    0x0002bf54 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x0002bf58 addiu v0, zero, 1             |     v0 = 1;
    0x0002bf5c sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0002bf60 addiu a3, zero, 1             |     a3 = 1;
    0x0002bf64 addiu a2, zero, 0x4c3         |     a2 = 0x4c3;
                                             |     do {
    0x0002bf68 lw a1, -0x7f34(gp)            |         a1 = *(gp);
    0x0002bf6c lw a0, -0x7f34(gp)            |         a0 = *(gp);
                                             |         /* str.do_rc_files */
    0x0002bf70 addiu a1, a1, -0x2144         |         a1 += -0x2144;
                                             |         /* str.session.c */
    0x0002bf74 addiu a0, a0, -0x3620         |         a0 += -0x3620;
    0x0002bf78 jalr t9                       |         t9 ();
                                             | label_61:
    0x0002bf7c lw t9, -0x6c58(gp)            |         t9 = sym.imp.__errno_location;
    0x0002bf80 jalr t9                       |         t9 ();
    0x0002bf84 nop                           |         
    0x0002bf88 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0002bf8c lw t9, -0x6c90(gp)            |         t9 = sym.imp.strerror;
    0x0002bf90 lw a0, (v0)                   |         a0 = *(v0);
    0x0002bf94 jalr t9                       |         t9 ();
    0x0002bf98 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0002bf9c sw v0, 0x1c(sp)               |         *(var_1ch) = v0;
    0x0002bfa0 sw zero, 0x14(sp)             |         *(var_14h) = 0;
    0x0002bfa4 lw v0, -0x7f34(gp)            |         v0 = *(gp);
    0x0002bfa8 lw t9, -0x7f74(gp)            |         t9 = sym.sshfatal;
                                             |         /* str.xasprintf:__s */
    0x0002bfac addiu v0, v0, -0x2f8c         |         v0 += -0x2f8c;
    0x0002bfb0 sw v0, 0x18(sp)               |         *(var_18h) = v0;
    0x0002bfb4 addiu v0, zero, 1             |         v0 = 1;
    0x0002bfb8 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x0002bfbc addiu a3, zero, 1             |         a3 = 1;
    0x0002bfc0 addiu a2, zero, 0x4e8         |         a2 = 0x4e8;
    0x0002bfc4 b 0x2bf68                     |         
                                             |     } while (1);
                                             | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/sshd @ 0x70f7c */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.log_init ()              | void log_init () {
    0x00070f7c lui gp, 9                 |     
    0x00070f80 addiu gp, gp, 0x1374      |     
    0x00070f84 addu gp, gp, t9           |     gp += t9;
    0x00070f88 addiu sp, sp, -0x20       |     
    0x00070f8c lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00070f90 sw gp, 0x10(sp)           |     *(var_10h) = gp;
    0x00070f94 sw ra, 0x1c(sp)           |     *(var_1ch) = ra;
    0x00070f98 sw a0, -0x3de0(v0)        |     *((v0 - 3960)) = a0;
                                         |     if (a0 != 0) {
    0x00070f9c beqz a0, 0x70fb0          |         
    0x00070fa0 sltiu v0, a1, 8           |         v0 = (a1 < 8) ? 1 : 0;
    0x00070fa4 lw v0, -0x7fdc(gp)        |         v0 = *((gp - 8183));
                                         |         if (v0 == 0) {
    0x00070fa8 beqz v0, 0x71130          |             goto label_0;
                                         |         }
    0x00070fac sw a1, -0x5df4(v0)        |         *((v0 - 6013)) = a1;
                                         |     }
    0x00070fb0 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00070fb4 sw zero, -0x3de4(v0)      |     *((v0 - 3961)) = 0;
    0x00070fb8 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00070fbc sw zero, -0x3de8(v0)      |     *((v0 - 3962)) = 0;
    0x00070fc0 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00070fc4 sw a3, -0x5df8(v0)        |     *((v0 - 6014)) = a3;
                                         |     if (a3 == 0) {
    0x00070fc8 bnez a3, 0x70ff0          |         
    0x00070fcc sltiu v0, a2, 0xc         |         v0 = (a2 < 0xc) ? 1 : 0;
    0x00070fd0 sll v0, a2, 2             |         v0 = a2 << 2;
                                         |         if (v0 == 0) {
    0x00070fd4 beqz v0, 0x71160          |             goto label_1;
                                         |         }
    0x00070fd8 lw a2, -0x7f34(gp)        |         a2 = *(gp);
    0x00070fdc addiu a2, a2, 0x70b0      |         a2 += 0x70b0;
    0x00070fe0 lwx a2, v0(a2)            |         __asm ("lwx a2, v0(a2)");
    0x00070fe4 addu a2, a2, gp           |         a2 += gp;
    0x00070fe8 jr a2                     |         a2 ();
    0x00070fec nop                       |         
                                         |     }
    0x00070ff0 lw ra, 0x1c(sp)           |     ra = *(var_1ch);
    0x00070ff4 addiu sp, sp, 0x20        |     
    0x00070ff8 jr ra                     |     return v0;
                                         | label_0:
    0x00071130 lw v0, -0x6f44(gp)        |     v0 = *((gp - 7121));
    0x00071134 lw a2, -0x7f34(gp)        |     a2 = *(gp);
    0x00071138 lw t9, -0x6ce8(gp)        |     t9 = sym.imp.__fprintf_chk
    0x0007113c lw a0, (v0)               |     a0 = *(v0);
    0x00071140 move a3, a1               |     a3 = a1;
                                         |     /* str.Unrecognized_internal_syslog_level_code__d_n */
    0x00071144 addiu a2, a2, 0x6f68      |     a2 += 0x6f68;
                                         |     do {
    0x00071148 addiu a1, zero, 1         |         a1 = 1;
    0x0007114c jalr t9                   |         t9 ();
    0x00071150 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x00071154 lw t9, -0x7210(gp)        |         t9 = sym.imp.exit;
    0x00071158 addiu a0, zero, 1         |         a0 = 1;
    0x0007115c jalr t9                   |         t9 ();
                                         | label_1:
    0x00071160 lw v0, -0x6f44(gp)        |         v0 = *((gp - 7121));
    0x00071164 move a3, a2               |         a3 = a2;
    0x00071168 lw a2, -0x7f34(gp)        |         a2 = *(gp);
    0x0007116c lw t9, -0x6ce8(gp)        |         t9 = sym.imp.__fprintf_chk
    0x00071170 lw a0, (v0)               |         a0 = *(v0);
                                         |         /* str.Unrecognized_internal_syslog_facility_code__d_n */
    0x00071174 addiu a2, a2, 0x6f94      |         a2 += 0x6f94;
    0x00071178 b 0x71148                 |         
                                         |     } while (1);
                                         | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/sshd @ 0x711f4 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.log_redirect_stderr_to ()        | void log_redirect_stderr_to () {
    0x000711f4 lui gp, 9                         |     
    0x000711f8 addiu gp, gp, 0x10fc              |     
    0x000711fc addu gp, gp, t9                   |     gp += t9;
    0x00071200 addiu sp, sp, -0x30               |     
    0x00071204 sw gp, 0x18(sp)                   |     *(var_18h) = gp;
    0x00071208 sw ra, 0x2c(sp)                   |     *(var_2ch) = ra;
    0x0007120c sw s1, 0x28(sp)                   |     *(var_28h) = s1;
    0x00071210 sw s0, 0x24(sp)                   |     *(var_24h) = s0;
    0x00071214 lw t9, -0x7164(gp)                |     t9 = sym.imp.open64;
                                                 |     if (a0 == 0) {
    0x00071218 beqz a0, 0x71254                  |         goto label_0;
                                                 |     }
    0x0007121c addiu a2, zero, 0x180             |     a2 = aav.0x00000180;
    0x00071220 addiu a1, zero, 0x109             |     a1 = 0x109;
    0x00071224 move s0, a0                       |     s0 = a0;
    0x00071228 jalr t9                           |     t9 ();
    0x0007122c addiu v1, zero, -1                |     v1 = -1;
    0x00071230 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 == v1) {
    0x00071234 beq v0, v1, 0x7128c               |         goto label_1;
                                                 |     }
    0x00071238 lw v1, -0x7fdc(gp)                |     v1 = *((gp - 8183));
    0x0007123c sw v0, -0x5dfc(v1)                |     *((v1 - 6015)) = v0;
    0x00071240 lw ra, 0x2c(sp)                   |     ra = *(var_2ch);
                                                 |     do {
    0x00071244 lw s1, 0x28(sp)                   |         s1 = *(var_28h);
    0x00071248 lw s0, 0x24(sp)                   |         s0 = *(var_24h);
    0x0007124c addiu sp, sp, 0x30                |         
    0x00071250 jr ra                             |         return v0;
                                                 | label_0:
    0x00071254 lw s0, -0x7fdc(gp)                |         s0 = *((gp - 8183));
    0x00071258 addiu s1, zero, 2                 |         s1 = 2;
    0x0007125c lw a0, -0x5dfc(s0)                |         a0 = *((s0 - 6015));
    0x00071260 lw ra, 0x2c(sp)                   |         ra = *(var_2ch);
    0x00071264 beq a0, s1, 0x71244               |         
                                                 |     } while (a0 == s1);
    0x00071268 lw t9, -0x7024(gp)                |     t9 = sym.imp.close;
    0x0007126c jalr t9                           |     t9 ();
    0x00071270 nop                               |     
    0x00071274 lw ra, 0x2c(sp)                   |     ra = *(var_2ch);
    0x00071278 sw s1, -0x5dfc(s0)                |     *((s0 - 6015)) = s1;
    0x0007127c lw s1, 0x28(sp)                   |     s1 = *(var_28h);
    0x00071280 lw s0, 0x24(sp)                   |     s0 = *(var_24h);
    0x00071284 addiu sp, sp, 0x30                |     
    0x00071288 jr ra                             |     return v0;
                                                 | label_1:
    0x0007128c lw v0, -0x6f44(gp)                |     v0 = *((gp - 7121));
    0x00071290 lw t9, -0x6c58(gp)                |     t9 = sym.imp.__errno_location;
    0x00071294 lw s1, (v0)                       |     s1 = *(v0);
    0x00071298 jalr t9                           |     t9 ();
    0x0007129c lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x000712a0 lw t9, -0x6c90(gp)                |     t9 = sym.imp.strerror;
    0x000712a4 lw a0, (v0)                       |     a0 = *(v0);
    0x000712a8 jalr t9                           |     t9 ();
    0x000712ac lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x000712b0 move a0, s1                       |     a0 = s1;
    0x000712b4 sw v0, 0x10(sp)                   |     *(var_10h) = v0;
    0x000712b8 lw a2, -0x7f34(gp)                |     a2 = *(gp);
    0x000712bc lw t9, -0x6ce8(gp)                |     t9 = sym.imp.__fprintf_chk
    0x000712c0 move a3, s0                       |     a3 = s0;
                                                 |     /* str.Couldnt_open_logfile__s:__s_n */
    0x000712c4 addiu a2, a2, 0x6fc4              |     a2 += 0x6fc4;
    0x000712c8 addiu a1, zero, 1                 |     a1 = 1;
    0x000712cc jalr t9                           |     t9 ();
    0x000712d0 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x000712d4 lw t9, -0x7210(gp)                |     t9 = sym.imp.exit;
    0x000712d8 addiu a0, zero, 1                 |     a0 = 1;
    0x000712dc jalr t9                           |     return t9 ();
                                                 | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/sshd @ 0xb09c4 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.oom_adjust_restore ()        | void oom_adjust_restore () {
    0x000b09c4 lui gp, 5                     |     
    0x000b09c8 addiu gp, gp, 0x192c          |     
    0x000b09cc addu gp, gp, t9               |     gp += t9;
    0x000b09d0 addiu sp, sp, -0x48           |     
    0x000b09d4 lw v0, -0x7f34(gp)            |     v0 = *(gp);
    0x000b09d8 sw s0, 0x30(sp)               |     *(var_30h) = s0;
    0x000b09dc lw s0, -0x7858(gp)            |     s0 = *((gp - 7702));
    0x000b09e0 sw s2, 0x38(sp)               |     *(var_38h) = s2;
    0x000b09e4 sw s1, 0x34(sp)               |     *(var_34h) = s1;
    0x000b09e8 lw s2, -0x7858(gp)            |     s2 = *((gp - 7702));
    0x000b09ec lw s1, -0x7fdc(gp)            |     s1 = *((gp - 8183));
                                             |     /* esilref: '&s' */
    0x000b09f0 addiu v0, v0, -0x7908         |     v0 += -0x7908;
    0x000b09f4 lw t9, -0x7f6c(gp)            |     t9 = sym.sshlog;
                                             |     /* str.oom_adjust_restore */
    0x000b09f8 addiu s0, s0, -0x7ea0         |     s0 += -0x7ea0;
    0x000b09fc sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x000b0a00 addiu v0, zero, 7             |     v0 = 7;
    0x000b0a04 sw gp, 0x28(sp)               |     *(var_28h) = gp;
    0x000b0a08 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x000b0a0c sw ra, 0x44(sp)               |     *(var_44h) = ra;
    0x000b0a10 sw s4, 0x40(sp)               |     *(var_40h) = s4;
    0x000b0a14 sw s3, 0x3c(sp)               |     *(var_3ch) = s3;
    0x000b0a18 sw s0, 0x1c(sp)               |     *(var_1ch) = s0;
    0x000b0a1c sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x000b0a20 move a3, zero                 |     a3 = 0;
    0x000b0a24 addiu a2, zero, 0x128         |     a2 = aav.0x00000128;
    0x000b0a28 move a1, s0                   |     a1 = s0;
                                             |     /* str.port_linux.c */
    0x000b0a2c addiu a0, s2, -0x7f40         |     a0 = s2 + -0x7f40;
    0x000b0a30 jalr t9                       |     t9 ();
    0x000b0a34 lw v1, -0x5d40(s1)            |     v1 = *((s1 - 5968));
    0x000b0a38 lui v0, 0x8000                |     v0 = 0x80000000;
    0x000b0a3c lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v1 != v0) {
    0x000b0a40 beq v1, v0, 0xb0afc           |         
    0x000b0a44 lw s3, -0x7fdc(gp)            |         s3 = *((gp - 8183));
    0x000b0a48 lw a0, -0x3360(s3)            |         a0 = *(s3);
    0x000b0a4c lw a1, -0x7fb4(gp)            |         a1 = *(gp);
                                             |         if (a0 == 0) {
    0x000b0a50 beqz a0, 0xb0afc              |             goto label_0;
                                             |         }
    0x000b0a54 lw t9, -0x7238(gp)            |         t9 = sym.imp.fopen64;
    0x000b0a58 addiu a1, a1, 0x704c          |         a1 += 0x704c;
    0x000b0a5c jalr t9                       |         t9 ();
    0x000b0a60 move s4, v0                   |         s4 = v0;
    0x000b0a64 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |         if (v0 == 0) {
    0x000b0a68 beqz v0, 0xb0afc              |             goto label_0;
                                             |         }
    0x000b0a6c lw a2, -0x7f34(gp)            |         a2 = *(gp);
    0x000b0a70 lw t9, -0x6ce8(gp)            |         t9 = sym.imp.__fprintf_chk
    0x000b0a74 lw a3, -0x5d40(s1)            |         a3 = *((s1 - 5968));
                                             |         /* esilref: '&d
' */
    0x000b0a78 addiu a2, a2, 0x6f90          |         a2 += 0x6f90;
    0x000b0a7c addiu a1, zero, 1             |         a1 = 1;
    0x000b0a80 move a0, v0                   |         a0 = v0;
    0x000b0a84 jalr t9                       |         t9 ();
    0x000b0a88 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |         if (v0 <= 0) {
    0x000b0a8c blez v0, 0xb0b1c              |             goto label_1;
                                             |         }
    0x000b0a90 lw v0, -0x3360(s3)            |         v0 = *(s3);
    0x000b0a94 lw v1, -0x5d40(s1)            |         v1 = *((s1 - 5968));
    0x000b0a98 sw v0, 0x1c(sp)               |         *(var_1ch) = v0;
    0x000b0a9c lw v0, -0x7858(gp)            |         v0 = *((gp - 7702));
    0x000b0aa0 lw t9, -0x7f6c(gp)            |         t9 = sym.sshlog;
                                             |         /* str.Set__s_to__d */
    0x000b0aa4 addiu v0, v0, -0x7ee4         |         v0 += -0x7ee4;
    0x000b0aa8 sw v0, 0x18(sp)               |         *(var_18h) = v0;
    0x000b0aac addiu v0, zero, 5             |         v0 = 5;
                                             |         /* str.port_linux.c */
    0x000b0ab0 addiu a0, s2, -0x7f40         |         a0 = s2 + -0x7f40;
    0x000b0ab4 sw v1, 0x20(sp)               |         *(var_20h) = v1;
    0x000b0ab8 sw zero, 0x14(sp)             |         *(var_14h) = 0;
    0x000b0abc sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x000b0ac0 move a1, s0                   |         a1 = s0;
    0x000b0ac4 move a3, zero                 |         a3 = 0;
    0x000b0ac8 addiu a2, zero, 0x130         |         a2 = aav.0x00000130;
    0x000b0acc jalr t9                       |         t9 ();
    0x000b0ad0 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x000b0ad4 lw ra, 0x44(sp)               |         ra = *(var_44h);
    0x000b0ad8 lw s3, 0x3c(sp)               |         s3 = *(var_3ch);
    0x000b0adc lw s2, 0x38(sp)               |         s2 = *(var_38h);
    0x000b0ae0 lw s1, 0x34(sp)               |         s1 = *(var_34h);
    0x000b0ae4 lw s0, 0x30(sp)               |         s0 = *(var_30h);
    0x000b0ae8 move a0, s4                   |         a0 = s4;
    0x000b0aec lw t9, -0x6f38(gp)            |         t9 = sym.imp.fclose;
    0x000b0af0 lw s4, 0x40(sp)               |         s4 = *(var_40h);
    0x000b0af4 addiu sp, sp, 0x48            |         
    0x000b0af8 jr t9                         |         t9 ();
                                             |     }
                                             | label_0:
    0x000b0afc lw ra, 0x44(sp)               |     ra = *(var_44h);
    0x000b0b00 lw s4, 0x40(sp)               |     s4 = *(var_40h);
    0x000b0b04 lw s3, 0x3c(sp)               |     s3 = *(var_3ch);
    0x000b0b08 lw s2, 0x38(sp)               |     s2 = *(var_38h);
    0x000b0b0c lw s1, 0x34(sp)               |     s1 = *(var_34h);
    0x000b0b10 lw s0, 0x30(sp)               |     s0 = *(var_30h);
    0x000b0b14 addiu sp, sp, 0x48            |     
    0x000b0b18 jr ra                         |     return v0;
                                             | label_1:
    0x000b0b1c lw t9, -0x6c58(gp)            |     t9 = sym.imp.__errno_location;
    0x000b0b20 lw s1, -0x3360(s3)            |     s1 = *(s3);
    0x000b0b24 jalr t9                       |     t9 ();
    0x000b0b28 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000b0b2c lw t9, -0x6c90(gp)            |     t9 = sym.imp.strerror;
    0x000b0b30 lw a0, (v0)                   |     a0 = *(v0);
    0x000b0b34 jalr t9                       |     t9 ();
    0x000b0b38 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000b0b3c sw v0, 0x20(sp)               |     *(var_20h) = v0;
    0x000b0b40 sw s1, 0x1c(sp)               |     *(var_1ch) = s1;
    0x000b0b44 lw v0, -0x7858(gp)            |     v0 = *((gp - 7702));
    0x000b0b48 lw t9, -0x7f6c(gp)            |     t9 = sym.sshlog;
                                             |     /* str.error_writing__s:__s */
    0x000b0b4c addiu v0, v0, -0x7f14         |     v0 += -0x7f14;
    0x000b0b50 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x000b0b54 addiu v0, zero, 4             |     v0 = 4;
                                             |     /* str.port_linux.c */
    0x000b0b58 addiu a0, s2, -0x7f40         |     a0 = s2 + -0x7f40;
    0x000b0b5c sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x000b0b60 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x000b0b64 move a1, s0                   |     a1 = s0;
    0x000b0b68 move a3, zero                 |     a3 = 0;
    0x000b0b6c addiu a2, zero, 0x12e         |     a2 = 0x12e;
    0x000b0b70 jalr t9                       |     t9 ();
    0x000b0b74 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000b0b78 lw ra, 0x44(sp)               |     ra = *(var_44h);
    0x000b0b7c lw s3, 0x3c(sp)               |     s3 = *(var_3ch);
    0x000b0b80 lw s2, 0x38(sp)               |     s2 = *(var_38h);
    0x000b0b84 lw s1, 0x34(sp)               |     s1 = *(var_34h);
    0x000b0b88 lw s0, 0x30(sp)               |     s0 = *(var_30h);
    0x000b0b8c move a0, s4                   |     a0 = s4;
    0x000b0b90 lw t9, -0x6f38(gp)            |     t9 = sym.imp.fclose;
    0x000b0b94 lw s4, 0x40(sp)               |     s4 = *(var_40h);
    0x000b0b98 addiu sp, sp, 0x48            |     
    0x000b0b9c jr t9                         |     return t9 ();
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/sshd @ 0xb0740 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.oom_adjust_setup ()          | void oom_adjust_setup () {
    0x000b0740 lui gp, 5                     |     
    0x000b0744 addiu gp, gp, 0x1bb0          |     
    0x000b0748 addu gp, gp, t9               |     gp += t9;
    0x000b074c addiu sp, sp, -0x50           |     
    0x000b0750 lw v0, -0x7f34(gp)            |     v0 = *(gp);
    0x000b0754 sw s5, 0x44(sp)               |     *(var_44h) = s5;
    0x000b0758 lw s5, -0x7858(gp)            |     s5 = *((gp - 7702));
    0x000b075c sw s4, 0x40(sp)               |     *(var_40h) = s4;
                                             |     /* esilref: '&s' */
    0x000b0760 addiu v0, v0, -0x7908         |     v0 += -0x7908;
    0x000b0764 lw s4, -0x7858(gp)            |     s4 = *((gp - 7702));
    0x000b0768 lw t9, -0x7f6c(gp)            |     t9 = sym.sshlog;
                                             |     /* str.oom_adjust_setup */
    0x000b076c addiu a1, s5, -0x7e8c         |     a1 = s5 + -0x7e8c;
    0x000b0770 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x000b0774 addiu v0, zero, 7             |     v0 = 7;
    0x000b0778 sw gp, 0x28(sp)               |     *(var_28h) = gp;
    0x000b077c sw s3, 0x3c(sp)               |     *(var_3ch) = s3;
    0x000b0780 sw s0, 0x30(sp)               |     *(var_30h) = s0;
    0x000b0784 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x000b0788 sw ra, 0x4c(sp)               |     *(var_4ch) = ra;
    0x000b078c sw s6, 0x48(sp)               |     *(var_48h) = s6;
    0x000b0790 sw s2, 0x38(sp)               |     *(var_38h) = s2;
    0x000b0794 sw s1, 0x34(sp)               |     *(var_34h) = s1;
    0x000b0798 sw a1, 0x1c(sp)               |     *(var_1ch) = a1;
    0x000b079c sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x000b07a0 move a3, zero                 |     a3 = 0;
    0x000b07a4 addiu a2, zero, 0x10a         |     a2 = 0x10a;
                                             |     /* str.port_linux.c */
    0x000b07a8 addiu a0, s4, -0x7f40         |     a0 = s4 + -0x7f40;
    0x000b07ac jalr t9                       |     t9 ();
    0x000b07b0 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000b07b4 lw s0, -0x726c(gp)            |     s0 = *(gp);
    0x000b07b8 lw v0, (s0)                   |     v0 = *(s0);
    0x000b07bc lw s3, -0x7fdc(gp)            |     s3 = *((gp - 8183));
                                             |     if (v0 == 0) {
    0x000b07c0 beqz v0, 0xb08b8              |         goto label_1;
                                             |     }
    0x000b07c4 lw s2, -0x7858(gp)            |     s2 = *((gp - 7702));
                                             |     /* esilref: 'r+' */
    0x000b07c8 addiu s2, s2, -0x7f30         |     s2 += -0x7f30;
    0x000b07cc b 0xb07dc                     |     
                                             |     while (v0 == 0) {
    0x000b07d0 lw v0, (s0)                   |         v0 = *(s0);
    0x000b07d4 lw ra, 0x4c(sp)               |         ra = *(var_4ch);
                                             |         if (v0 == 0) {
    0x000b07d8 beqz v0, 0xb08bc              |             goto label_2;
                                             |         }
    0x000b07dc lw t9, -0x7238(gp)            |         t9 = sym.imp.fopen64;
    0x000b07e0 addiu s0, s0, 8               |         s0 += 8;
    0x000b07e4 move a0, v0                   |         a0 = v0;
    0x000b07e8 move a1, s2                   |         a1 = s2;
    0x000b07ec sw v0, -0x3360(s3)            |         *(s3) = v0;
    0x000b07f0 lw s6, -4(s0)                 |         s6 = *((s0 - 1));
    0x000b07f4 jalr t9                       |         t9 ();
    0x000b07f8 move s1, v0                   |         s1 = v0;
    0x000b07fc lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x000b0800 beqz v0, 0xb07d0              |         
                                             |     }
    0x000b0804 lw s0, -0x7fdc(gp)            |     s0 = *((gp - 8183));
    0x000b0808 lw a1, -0x7f34(gp)            |     a1 = *(gp);
    0x000b080c lw t9, -0x7154(gp)            |     t9 = sym.imp.fscanf;
    0x000b0810 addiu a2, s0, -0x5d40         |     a2 = s0 + -0x5d40;
                                             |     /* esilref: '&d' */
    0x000b0814 addiu a1, a1, 0x7b70          |     a1 += 0x7b70;
    0x000b0818 move a0, v0                   |     a0 = v0;
    0x000b081c jalr t9                       |     t9 ();
    0x000b0820 addiu v1, zero, 1             |     v1 = 1;
    0x000b0824 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 == v1) {
    0x000b0828 beq v0, v1, 0xb08e4           |         goto label_3;
                                             |     }
    0x000b082c lw t9, -0x6c58(gp)            |     t9 = sym.imp.__errno_location;
    0x000b0830 lw s0, -0x3360(s3)            |     s0 = *(s3);
    0x000b0834 jalr t9                       |     t9 ();
    0x000b0838 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000b083c lw t9, -0x6c90(gp)            |     t9 = sym.imp.strerror;
    0x000b0840 lw a0, (v0)                   |     a0 = *(v0);
    0x000b0844 jalr t9                       |     t9 ();
    0x000b0848 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000b084c sw v0, 0x20(sp)               |     *(var_20h) = v0;
    0x000b0850 sw s0, 0x1c(sp)               |     *(var_1ch) = s0;
    0x000b0854 lw v0, -0x7858(gp)            |     v0 = *((gp - 7702));
    0x000b0858 lw t9, -0x7f6c(gp)            |     t9 = sym.sshlog;
                                             |     /* str.error_reading__s:__s */
    0x000b085c addiu v0, v0, -0x7f2c         |     v0 += -0x7f2c;
    0x000b0860 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x000b0864 addiu v0, zero, 4             |     v0 = 4;
    0x000b0868 sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x000b086c sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x000b0870 move a3, zero                 |     a3 = 0;
    0x000b0874 addiu a2, zero, 0x111         |     a2 = 0x111;
                                             |     /* str.oom_adjust_setup */
    0x000b0878 addiu a1, s5, -0x7e8c         |     a1 = s5 + -0x7e8c;
                                             |     /* str.port_linux.c */
    0x000b087c addiu a0, s4, -0x7f40         |     a0 = s4 + -0x7f40;
    0x000b0880 jalr t9                       |     t9 ();
    0x000b0884 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     do {
                                             | label_0:
    0x000b0888 lw ra, 0x4c(sp)               |         ra = *(var_4ch);
    0x000b088c lw s6, 0x48(sp)               |         s6 = *(var_48h);
    0x000b0890 lw s5, 0x44(sp)               |         s5 = *(var_44h);
    0x000b0894 lw s4, 0x40(sp)               |         s4 = *(var_40h);
    0x000b0898 lw s3, 0x3c(sp)               |         s3 = *(var_3ch);
    0x000b089c lw s2, 0x38(sp)               |         s2 = *(var_38h);
    0x000b08a0 lw s0, 0x30(sp)               |         s0 = *(var_30h);
    0x000b08a4 move a0, s1                   |         a0 = s1;
    0x000b08a8 lw t9, -0x6f38(gp)            |         t9 = sym.imp.fclose;
    0x000b08ac lw s1, 0x34(sp)               |         s1 = *(var_34h);
    0x000b08b0 addiu sp, sp, 0x50            |         
    0x000b08b4 jr t9                         |         t9 ();
                                             | label_1:
    0x000b08b8 lw ra, 0x4c(sp)               |         ra = *(var_4ch);
                                             | label_2:
    0x000b08bc lw s6, 0x48(sp)               |         s6 = *(var_48h);
    0x000b08c0 lw s5, 0x44(sp)               |         s5 = *(var_44h);
    0x000b08c4 lw s4, 0x40(sp)               |         s4 = *(var_40h);
    0x000b08c8 lw s2, 0x38(sp)               |         s2 = *(var_38h);
    0x000b08cc lw s1, 0x34(sp)               |         s1 = *(var_34h);
    0x000b08d0 lw s0, 0x30(sp)               |         s0 = *(var_30h);
    0x000b08d4 sw zero, -0x3360(s3)          |         *(s3) = 0;
    0x000b08d8 lw s3, 0x3c(sp)               |         s3 = *(var_3ch);
    0x000b08dc addiu sp, sp, 0x50            |         
    0x000b08e0 jr ra                         |         return v0;
                                             | label_3:
    0x000b08e4 lw t9, -0x6d14(gp)            |         t9 = sym.imp.rewind;
    0x000b08e8 move a0, s1                   |         a0 = s1;
    0x000b08ec jalr t9                       |         t9 ();
    0x000b08f0 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x000b08f4 move a3, s6                   |         a3 = s6;
    0x000b08f8 addiu a1, zero, 1             |         a1 = 1;
    0x000b08fc lw a2, -0x7f34(gp)            |         a2 = *(gp);
    0x000b0900 lw t9, -0x6ce8(gp)            |         t9 = sym.imp.__fprintf_chk
                                             |         /* esilref: '&d
' */
    0x000b0904 addiu a2, a2, 0x6f90          |         a2 += 0x6f90;
    0x000b0908 move a0, s1                   |         a0 = s1;
    0x000b090c jalr t9                       |         t9 ();
    0x000b0910 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |         if (v0 <= 0) {
    0x000b0914 blez v0, 0xb0964              |             goto label_4;
                                             |         }
    0x000b0918 lw v0, -0x3360(s3)            |         v0 = *(s3);
    0x000b091c lw v1, -0x5d40(s0)            |         v1 = *((s0 - 5968));
    0x000b0920 sw v0, 0x1c(sp)               |         *(var_1ch) = v0;
    0x000b0924 lw v0, -0x7858(gp)            |         v0 = *((gp - 7702));
    0x000b0928 lw t9, -0x7f6c(gp)            |         t9 = sym.sshlog;
                                             |         /* str.Set__s_from__d_to__d */
    0x000b092c addiu v0, v0, -0x7efc         |         v0 += -0x7efc;
    0x000b0930 sw v0, 0x18(sp)               |         *(var_18h) = v0;
    0x000b0934 addiu v0, zero, 5             |         v0 = 5;
    0x000b0938 sw s6, 0x24(sp)               |         *(var_24h) = s6;
    0x000b093c sw v1, 0x20(sp)               |         *(var_20h) = v1;
    0x000b0940 sw zero, 0x14(sp)             |         *(var_14h) = 0;
    0x000b0944 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x000b0948 move a3, zero                 |         a3 = 0;
    0x000b094c addiu a2, zero, 0x119         |         a2 = 0x119;
                                             |         /* str.oom_adjust_setup */
    0x000b0950 addiu a1, s5, -0x7e8c         |         a1 = s5 + -0x7e8c;
                                             |         /* str.port_linux.c */
    0x000b0954 addiu a0, s4, -0x7f40         |         a0 = s4 + -0x7f40;
    0x000b0958 jalr t9                       |         t9 ();
    0x000b095c lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x000b0960 b 0xb0888                     |         
                                             |     } while (1);
                                             | label_4:
    0x000b0964 lw t9, -0x6c58(gp)            |     t9 = sym.imp.__errno_location;
    0x000b0968 lw s0, -0x3360(s3)            |     s0 = *(s3);
    0x000b096c jalr t9                       |     t9 ();
    0x000b0970 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000b0974 lw t9, -0x6c90(gp)            |     t9 = sym.imp.strerror;
    0x000b0978 lw a0, (v0)                   |     a0 = *(v0);
    0x000b097c jalr t9                       |     t9 ();
    0x000b0980 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000b0984 sw v0, 0x20(sp)               |     *(var_20h) = v0;
    0x000b0988 sw s0, 0x1c(sp)               |     *(var_1ch) = s0;
    0x000b098c lw v0, -0x7858(gp)            |     v0 = *((gp - 7702));
    0x000b0990 lw t9, -0x7f6c(gp)            |     t9 = sym.sshlog;
                                             |     /* str.error_writing__s:__s */
    0x000b0994 addiu v0, v0, -0x7f14         |     v0 += -0x7f14;
    0x000b0998 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x000b099c addiu v0, zero, 4             |     v0 = 4;
    0x000b09a0 sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x000b09a4 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x000b09a8 move a3, zero                 |     a3 = 0;
    0x000b09ac addiu a2, zero, 0x116         |     a2 = 0x116;
                                             |     /* str.oom_adjust_setup */
    0x000b09b0 addiu a1, s5, -0x7e8c         |     a1 = s5 + -0x7e8c;
                                             |     /* str.port_linux.c */
    0x000b09b4 addiu a0, s4, -0x7f40         |     a0 = s4 + -0x7f40;
    0x000b09b8 jalr t9                       |     t9 ();
    0x000b09bc lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000b09c0 b 0xb0888                     |     goto label_0;
                                             | }
    ; assembly                                           | /* r2dec pseudo code output */
                                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/sshd @ 0x1cda0 */
                                                         | #include <stdint.h>
                                                         |  
    ; (fcn) sym.parse_server_match_testspec ()           | void parse_server_match_testspec () {
    0x0001cda0 lui gp, 0xe                               |     
    0x0001cda4 addiu gp, gp, 0x5550                      |     
    0x0001cda8 addu gp, gp, t9                           |     gp += t9;
    0x0001cdac addiu sp, sp, -0x50                       |     
    0x0001cdb0 sw s6, 0x40(sp)                           |     *(var_40h) = s6;
    0x0001cdb4 sw s4, 0x38(sp)                           |     *(var_38h) = s4;
    0x0001cdb8 sw s1, 0x2c(sp)                           |     *(var_2ch) = s1;
    0x0001cdbc lw s4, -0x7f34(gp)                        |     s4 = *(gp);
    0x0001cdc0 lw s1, -0x7f34(gp)                        |     s1 = *(gp);
    0x0001cdc4 lw s6, -0x7f34(gp)                        |     s6 = *(gp);
    0x0001cdc8 sw s7, 0x44(sp)                           |     *(var_44h) = s7;
    0x0001cdcc sw s5, 0x3c(sp)                           |     *(var_3ch) = s5;
    0x0001cdd0 sw s2, 0x30(sp)                           |     *(var_30h) = s2;
    0x0001cdd4 lw s5, -0x7f34(gp)                        |     s5 = *(gp);
    0x0001cdd8 lw s2, -0x7fb4(gp)                        |     s2 = *(gp);
    0x0001cddc lw s7, -0x7f34(gp)                        |     s7 = *(gp);
    0x0001cde0 sw fp, 0x48(sp)                           |     *(var_48h) = fp;
    0x0001cde4 sw s3, 0x34(sp)                           |     *(var_34h) = s3;
    0x0001cde8 sw gp, 0x18(sp)                           |     *(var_18h) = gp;
    0x0001cdec sw ra, 0x4c(sp)                           |     *(var_4ch) = ra;
    0x0001cdf0 sw s0, 0x28(sp)                           |     *(var_28h) = s0;
    0x0001cdf4 move s3, a0                               |     s3 = a0;
    0x0001cdf8 sw a1, 0x54(sp)                           |     *(arg_54h) = a1;
    0x0001cdfc addiu fp, sp, 0x54                        |     fp = sp + 0x54;
                                                         |     /* str.addr */
    0x0001ce00 addiu s1, s1, -0x65d4                     |     s1 += -0x65d4;
                                                         |     /* str.host */
    0x0001ce04 addiu s4, s4, -0x65cc                     |     s4 += -0x65cc;
                                                         |     /* str.laddr */
    0x0001ce08 addiu s6, s6, -0x65bc                     |     s6 += -0x65bc;
                                                         |     do {
                                                         | label_1:
    0x0001ce0c lw t9, -0x6d00(gp)                        |         t9 = sym.imp.strsep;
                                                         |         /* esilref: '' */
    0x0001ce10 addiu a1, s2, 0x6750                      |         a1 = s2 + 0x6750;
    0x0001ce14 move a0, fp                               |         a0 = fp;
    0x0001ce18 jalr t9                                   |         t9 ();
    0x0001ce1c move s0, v0                               |         s0 = v0;
    0x0001ce20 lw gp, 0x18(sp)                           |         gp = *(var_18h);
                                                         |         if (v0 == 0) {
    0x0001ce24 beqz v0, 0x1cf64                          |             goto label_2;
                                                         |         }
                                                         | label_0:
    0x0001ce28 lb v0, (v0)                               |         v0 = *(v0);
    0x0001ce2c lw t9, -0x7160(gp)                        |         t9 = sym.imp.strncmp;
                                                         |         if (v0 == 0) {
    0x0001ce30 beqz v0, 0x1cf64                          |             goto label_2;
                                                         |         }
    0x0001ce34 addiu a2, zero, 5                         |         a2 = 5;
    0x0001ce38 move a1, s1                               |         a1 = s1;
    0x0001ce3c move a0, s0                               |         a0 = s0;
    0x0001ce40 jalr t9                                   |         t9 ();
    0x0001ce44 lw gp, 0x18(sp)                           |         gp = *(var_18h);
                                                         |         if (v0 == 0) {
    0x0001ce48 beqz v0, 0x1cf34                          |             goto label_3;
                                                         |         }
    0x0001ce4c lw t9, -0x7160(gp)                        |         t9 = sym.imp.strncmp;
    0x0001ce50 addiu a2, zero, 5                         |         a2 = 5;
    0x0001ce54 move a1, s4                               |         a1 = s4;
    0x0001ce58 move a0, s0                               |         a0 = s0;
    0x0001ce5c jalr t9                                   |         t9 ();
    0x0001ce60 lw gp, 0x18(sp)                           |         gp = *(var_18h);
                                                         |         if (v0 == 0) {
    0x0001ce64 beqz v0, 0x1cf9c                          |             goto label_4;
                                                         |         }
    0x0001ce68 lw t9, -0x7160(gp)                        |         t9 = sym.imp.strncmp;
    0x0001ce6c addiu a2, zero, 5                         |         a2 = 5;
                                                         |         /* str.user */
    0x0001ce70 addiu a1, s5, -0x65c4                     |         a1 = s5 + -0x65c4;
    0x0001ce74 move a0, s0                               |         a0 = s0;
    0x0001ce78 jalr t9                                   |         t9 ();
    0x0001ce7c lw gp, 0x18(sp)                           |         gp = *(var_18h);
                                                         |         if (v0 == 0) {
    0x0001ce80 beqz v0, 0x1cfb4                          |             goto label_5;
                                                         |         }
    0x0001ce84 lw t9, -0x7160(gp)                        |         t9 = sym.imp.strncmp;
    0x0001ce88 addiu a2, zero, 6                         |         a2 = 6;
    0x0001ce8c move a1, s6                               |         a1 = s6;
    0x0001ce90 move a0, s0                               |         a0 = s0;
    0x0001ce94 jalr t9                                   |         t9 ();
    0x0001ce98 lw gp, 0x18(sp)                           |         gp = *(var_18h);
                                                         |         if (v0 == 0) {
    0x0001ce9c beqz v0, 0x1cfcc                          |             goto label_6;
                                                         |         }
    0x0001cea0 lw t9, -0x7160(gp)                        |         t9 = sym.imp.strncmp;
    0x0001cea4 addiu a2, zero, 8                         |         a2 = 8;
                                                         |         /* str.rdomain */
    0x0001cea8 addiu a1, s7, -0x65b4                     |         a1 = s7 + -0x65b4;
    0x0001ceac move a0, s0                               |         a0 = s0;
    0x0001ceb0 jalr t9                                   |         t9 ();
    0x0001ceb4 lw gp, 0x18(sp)                           |         gp = *(var_18h);
                                                         |         if (v0 == 0) {
    0x0001ceb8 beqz v0, 0x1cfe4                          |             goto label_7;
                                                         |         }
    0x0001cebc lw a1, -0x7f34(gp)                        |         a1 = *(gp);
    0x0001cec0 lw t9, -0x7160(gp)                        |         t9 = sym.imp.strncmp;
    0x0001cec4 addiu a2, zero, 6                         |         a2 = 6;
                                                         |         /* str.lport */
    0x0001cec8 addiu a1, a1, -0x65a8                     |         a1 += -0x65a8;
    0x0001cecc move a0, s0                               |         a0 = s0;
    0x0001ced0 jalr t9                                   |         t9 ();
    0x0001ced4 lw gp, 0x18(sp)                           |         gp = *(var_18h);
                                                         |         if (v0 != 0) {
    0x0001ced8 bnez v0, 0x1cffc                          |             goto label_8;
                                                         |         }
    0x0001cedc addiu a3, s0, 6                           |         a3 = s0 + 6;
    0x0001cee0 lw t9, -0x7ec0(gp)                        |         t9 = sym.a2port;
    0x0001cee4 move a0, a3                               |         a0 = a3;
    0x0001cee8 sw a3, 0x24(sp)                           |         *(var_24h) = a3;
    0x0001ceec jalr t9                                   |         t9 ();
    0x0001cef0 move v1, v0                               |         v1 = v0;
    0x0001cef4 addiu v0, zero, -1                        |         v0 = -1;
    0x0001cef8 lw gp, 0x18(sp)                           |         gp = *(var_18h);
    0x0001cefc sw v1, 0x10(s3)                           |         *((s3 + 4)) = v1;
    0x0001cf00 lw a3, 0x24(sp)                           |         a3 = *(var_24h);
    0x0001cf04 bne v1, v0, 0x1ce0c                       |         
                                                         |     } while (v1 != v0);
    0x0001cf08 lw v0, -0x6f44(gp)                        |     v0 = *((gp - 7121));
    0x0001cf0c lw a2, -0x7f34(gp)                        |     a2 = *(gp);
    0x0001cf10 lw t9, -0x6ce8(gp)                        |     t9 = sym.imp.__fprintf_chk
    0x0001cf14 lw a0, (v0)                               |     a0 = *(v0);
    0x0001cf18 sw v1, 0x24(sp)                           |     *(var_24h) = v1;
    0x0001cf1c sw s0, 0x10(sp)                           |     *(var_10h) = s0;
                                                         |     /* str.Invalid_port__s_in_test_mode_specification__s_n */
    0x0001cf20 addiu a2, a2, -0x65a0                     |     a2 += -0x65a0;
    0x0001cf24 addiu a1, zero, 1                         |     a1 = 1;
    0x0001cf28 jalr t9                                   |     t9 ();
    0x0001cf2c lw v1, 0x24(sp)                           |     v1 = *(var_24h);
    0x0001cf30 b 0x1cf68                                 |     goto label_9;
                                                         | label_3:
    0x0001cf34 lw t9, -0x7ef4(gp)                        |     t9 = sym.xstrdup;
    0x0001cf38 addiu a0, s0, 5                           |     a0 = s0 + 5;
    0x0001cf3c jalr t9                                   |     t9 ();
    0x0001cf40 lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x0001cf44 sw v0, 8(s3)                              |     *((s3 + 2)) = v0;
                                                         |     /* esilref: '' */
    0x0001cf48 addiu a1, s2, 0x6750                      |     a1 = s2 + 0x6750;
    0x0001cf4c lw t9, -0x6d00(gp)                        |     t9 = sym.imp.strsep;
    0x0001cf50 move a0, fp                               |     a0 = fp;
    0x0001cf54 jalr t9                                   |     t9 ();
    0x0001cf58 move s0, v0                               |     s0 = v0;
    0x0001cf5c lw gp, 0x18(sp)                           |     gp = *(var_18h);
                                                         |     if (v0 != 0) {
    0x0001cf60 bnez v0, 0x1ce28                          |         goto label_0;
                                                         |     }
                                                         | label_2:
    0x0001cf64 move v1, zero                             |     v1 = 0;
                                                         |     do {
                                                         | label_9:
    0x0001cf68 lw ra, 0x4c(sp)                           |         ra = *(var_4ch);
    0x0001cf6c lw fp, 0x48(sp)                           |         fp = *(var_48h);
    0x0001cf70 lw s7, 0x44(sp)                           |         s7 = *(var_44h);
    0x0001cf74 lw s6, 0x40(sp)                           |         s6 = *(var_40h);
    0x0001cf78 lw s5, 0x3c(sp)                           |         s5 = *(var_3ch);
    0x0001cf7c lw s4, 0x38(sp)                           |         s4 = *(var_38h);
    0x0001cf80 lw s3, 0x34(sp)                           |         s3 = *(var_34h);
    0x0001cf84 lw s2, 0x30(sp)                           |         s2 = *(var_30h);
    0x0001cf88 lw s1, 0x2c(sp)                           |         s1 = *(var_2ch);
    0x0001cf8c lw s0, 0x28(sp)                           |         s0 = *(var_28h);
    0x0001cf90 move v0, v1                               |         v0 = v1;
    0x0001cf94 addiu sp, sp, 0x50                        |         
    0x0001cf98 jr ra                                     |         return v1;
                                                         | label_4:
    0x0001cf9c lw t9, -0x7ef4(gp)                        |         t9 = sym.xstrdup;
    0x0001cfa0 addiu a0, s0, 5                           |         a0 = s0 + 5;
    0x0001cfa4 jalr t9                                   |         t9 ();
    0x0001cfa8 lw gp, 0x18(sp)                           |         gp = *(var_18h);
    0x0001cfac sw v0, 4(s3)                              |         *((s3 + 1)) = v0;
    0x0001cfb0 b 0x1ce0c                                 |         goto label_1;
                                                         | label_5:
    0x0001cfb4 lw t9, -0x7ef4(gp)                        |         t9 = sym.xstrdup;
    0x0001cfb8 addiu a0, s0, 5                           |         a0 = s0 + 5;
    0x0001cfbc jalr t9                                   |         t9 ();
    0x0001cfc0 lw gp, 0x18(sp)                           |         gp = *(var_18h);
    0x0001cfc4 sw v0, (s3)                               |         *(s3) = v0;
    0x0001cfc8 b 0x1ce0c                                 |         goto label_1;
                                                         | label_6:
    0x0001cfcc lw t9, -0x7ef4(gp)                        |         t9 = sym.xstrdup;
    0x0001cfd0 addiu a0, s0, 6                           |         a0 = s0 + 6;
    0x0001cfd4 jalr t9                                   |         t9 ();
    0x0001cfd8 lw gp, 0x18(sp)                           |         gp = *(var_18h);
    0x0001cfdc sw v0, 0xc(s3)                            |         *((s3 + 3)) = v0;
    0x0001cfe0 b 0x1ce0c                                 |         goto label_1;
                                                         | label_7:
    0x0001cfe4 lw t9, -0x7ef4(gp)                        |         t9 = sym.xstrdup;
    0x0001cfe8 addiu a0, s0, 8                           |         a0 = s0 + 8;
    0x0001cfec jalr t9                                   |         t9 ();
    0x0001cff0 lw gp, 0x18(sp)                           |         gp = *(var_18h);
    0x0001cff4 sw v0, 0x14(s3)                           |         *((s3 + 5)) = v0;
    0x0001cff8 b 0x1ce0c                                 |         goto label_1;
                                                         | label_8:
    0x0001cffc lw v0, -0x6f44(gp)                        |         v0 = *((gp - 7121));
    0x0001d000 lw a2, -0x7f34(gp)                        |         a2 = *(gp);
    0x0001d004 lw t9, -0x6ce8(gp)                        |         t9 = sym.imp.__fprintf_chk
    0x0001d008 lw a0, (v0)                               |         a0 = *(v0);
    0x0001d00c move a3, s0                               |         a3 = s0;
                                                         |         /* str.Invalid_test_mode_specification__s_n */
    0x0001d010 addiu a2, a2, -0x656c                     |         a2 += -aav.0x0000656c;
    0x0001d014 addiu a1, zero, 1                         |         a1 = 1;
    0x0001d018 jalr t9                                   |         t9 ();
    0x0001d01c addiu v1, zero, -1                        |         v1 = -1;
    0x0001d020 b 0x1cf68                                 |         
                                                         |     } while (1);
                                                         | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/sshd @ 0x83720 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.sanitise_stdfd ()        | void sanitise_stdfd () {
    0x00083720 lui gp, 8                 |     
    0x00083724 addiu gp, gp, -0x1430     |     
    0x00083728 addu gp, gp, t9           |     gp += t9;
    0x0008372c addiu sp, sp, -0x30       |     
    0x00083730 lw a0, -0x7f34(gp)        |     a0 = *(gp);
    0x00083734 lw t9, -0x7164(gp)        |     t9 = sym.imp.open64;
    0x00083738 addiu a1, zero, 2         |     a1 = 2;
    0x0008373c sw gp, 0x10(sp)           |     *(var_10h) = gp;
    0x00083740 sw s4, 0x28(sp)           |     *(var_28h) = s4;
    0x00083744 sw ra, 0x2c(sp)           |     *(var_2ch) = ra;
    0x00083748 sw s3, 0x24(sp)           |     *(var_24h) = s3;
    0x0008374c sw s2, 0x20(sp)           |     *(var_20h) = s2;
    0x00083750 sw s1, 0x1c(sp)           |     *(var_1ch) = s1;
    0x00083754 sw s0, 0x18(sp)           |     *(var_18h) = s0;
                                         |     /* str._dev_null */
    0x00083758 addiu a0, a0, -0x7ac      |     a0 += -0x7ac;
    0x0008375c jalr t9                   |     t9 ();
    0x00083760 move s4, v0               |     s4 = v0;
    0x00083764 addiu v0, zero, -1        |     v0 = -1;
    0x00083768 lw gp, 0x10(sp)           |     gp = *(var_10h);
                                         |     if (s4 == v0) {
    0x0008376c beq s4, v0, 0x83878       |         goto label_1;
                                         |     }
    0x00083770 move s0, s4               |     s0 = s4;
    0x00083774 addiu s1, zero, -1        |     s1 = -1;
    0x00083778 addiu s3, zero, 9         |     s3 = 9;
                                         |     do {
                                         | label_0:
    0x0008377c lw t9, -0x7f44(gp)        |         t9 = *(gp);
    0x00083780 move a0, s0               |         a0 = s0;
    0x00083784 addiu a1, zero, 1         |         a1 = 1;
    0x00083788 jalr t9                   |         t9 ();
    0x0008378c move s0, v0               |         s0 = v0;
    0x00083790 slti v0, v0, 3            |         v0 = (v0 < 3) ? 1 : 0;
    0x00083794 lw gp, 0x10(sp)           |         gp = *(var_10h);
                                         |         if (v0 == 0) {
    0x00083798 beqz v0, 0x8382c          |             goto label_2;
                                         |         }
    0x0008379c lw t9, -0x713c(gp)        |         t9 = sym.imp.fcntl;
    0x000837a0 addiu a1, zero, 3         |         a1 = 3;
    0x000837a4 move a0, s0               |         a0 = s0;
    0x000837a8 jalr t9                   |         t9 ();
    0x000837ac lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x000837b0 bne v0, s1, 0x8377c       |         
                                         |     } while (v0 != s1);
    0x000837b4 lw t9, -0x6c58(gp)        |     t9 = sym.imp.__errno_location;
    0x000837b8 jalr t9                   |     t9 ();
    0x000837bc nop                       |     
    0x000837c0 move s2, v0               |     s2 = v0;
    0x000837c4 lw v0, (v0)               |     v0 = *(v0);
    0x000837c8 lw gp, 0x10(sp)           |     gp = *(var_10h);
                                         |     if (v0 != s3) {
    0x000837cc bne v0, s3, 0x8377c       |         goto label_0;
                                         |     }
    0x000837d0 lw t9, -0x6ee8(gp)        |     t9 = sym.imp.dup2;
    0x000837d4 move a1, s0               |     a1 = s0;
    0x000837d8 move a0, s4               |     a0 = s4;
    0x000837dc jalr t9                   |     t9 ();
    0x000837e0 lw gp, 0x10(sp)           |     gp = *(var_10h);
                                         |     if (v0 != s1) {
    0x000837e4 bne v0, s1, 0x8377c       |         goto label_0;
                                         |     }
    0x000837e8 lw v0, -0x6f44(gp)        |     v0 = *((gp - 7121));
    0x000837ec lw t9, -0x6c90(gp)        |     t9 = sym.imp.strerror;
    0x000837f0 lw a0, (s2)               |     a0 = *(s2);
    0x000837f4 lw s0, (v0)               |     s0 = *(v0);
    0x000837f8 jalr t9                   |     t9 ();
    0x000837fc lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x00083800 move a0, s0               |     a0 = s0;
    0x00083804 move a3, v0               |     a3 = v0;
    0x00083808 lw a2, -0x7e48(gp)        |     a2 = *(gp);
    0x0008380c lw t9, -0x6ce8(gp)        |     t9 = sym.imp.__fprintf_chk
                                         |     /* str.dup2:__s_n */
    0x00083810 addiu a2, a2, -0x710c     |     a2 += -0x710c;
                                         |     do {
    0x00083814 addiu a1, zero, 1         |         a1 = 1;
    0x00083818 jalr t9                   |         t9 ();
    0x0008381c lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x00083820 lw t9, -0x7210(gp)        |         t9 = sym.imp.exit;
    0x00083824 addiu a0, zero, 1         |         a0 = 1;
    0x00083828 jalr t9                   |         t9 ();
                                         | label_2:
    0x0008382c slti v0, s4, 3            |         v0 = (s4 < 3) ? 1 : 0;
    0x00083830 lw ra, 0x2c(sp)           |         ra = *(var_2ch);
                                         |         if (v0 != 0) {
    0x00083834 beqz v0, 0x83854          |             
    0x00083838 lw s4, 0x28(sp)           |             s4 = *(var_28h);
    0x0008383c lw s3, 0x24(sp)           |             s3 = *(var_24h);
    0x00083840 lw s2, 0x20(sp)           |             s2 = *(var_20h);
    0x00083844 lw s1, 0x1c(sp)           |             s1 = *(var_1ch);
    0x00083848 lw s0, 0x18(sp)           |             s0 = *(var_18h);
    0x0008384c addiu sp, sp, 0x30        |             
    0x00083850 jr ra                     |             return v0;
                                         |         }
    0x00083854 lw s3, 0x24(sp)           |         s3 = *(var_24h);
    0x00083858 lw s2, 0x20(sp)           |         s2 = *(var_20h);
    0x0008385c lw s1, 0x1c(sp)           |         s1 = *(var_1ch);
    0x00083860 lw s0, 0x18(sp)           |         s0 = *(var_18h);
    0x00083864 move a0, s4               |         a0 = s4;
    0x00083868 lw t9, -0x7024(gp)        |         t9 = sym.imp.close;
    0x0008386c lw s4, 0x28(sp)           |         s4 = *(var_28h);
    0x00083870 addiu sp, sp, 0x30        |         
    0x00083874 jr t9                     |         t9 ();
                                         | label_1:
    0x00083878 lw v0, -0x6f44(gp)        |         v0 = *((gp - 7121));
    0x0008387c lw t9, -0x6c58(gp)        |         t9 = sym.imp.__errno_location;
    0x00083880 lw s0, (v0)               |         s0 = *(v0);
    0x00083884 jalr t9                   |         t9 ();
    0x00083888 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x0008388c lw t9, -0x6c90(gp)        |         t9 = sym.imp.strerror;
    0x00083890 lw a0, (v0)               |         a0 = *(v0);
    0x00083894 jalr t9                   |         t9 ();
    0x00083898 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x0008389c move a0, s0               |         a0 = s0;
    0x000838a0 move a3, v0               |         a3 = v0;
    0x000838a4 lw a2, -0x7e48(gp)        |         a2 = *(gp);
    0x000838a8 lw t9, -0x6ce8(gp)        |         t9 = sym.imp.__fprintf_chk
                                         |         /* str.Couldnt_open__dev_null:__s_n */
    0x000838ac addiu a2, a2, -0x712c     |         a2 += -0x712c;
    0x000838b0 b 0x83814                 |         
                                         |     } while (1);
                                         | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/sshd @ 0x46c20 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.sftp_server_main ()          | void sftp_server_main () {
    0x00046c20 lui gp, 0xc                   |     
    0x00046c24 addiu gp, gp, -0x4930         |     
    0x00046c28 addu gp, gp, t9               |     gp += t9;
    0x00046c2c addiu sp, sp, -0x40b8         |     
    0x00046c30 lw v0, -0x6fc4(gp)            |     v0 = *((gp - 7153));
    0x00046c34 sw ra, 0x40b4(sp)             |     *(arg_40b4h) = ra;
    0x00046c38 sw gp, 0x28(sp)               |     *(var_28h) = gp;
    0x00046c3c sw fp, 0x40b0(sp)             |     *(arg_40b0h) = fp;
    0x00046c40 sw s7, 0x40ac(sp)             |     *(arg_40ach) = s7;
    0x00046c44 sw s6, 0x40a8(sp)             |     *(arg_40a8h) = s6;
    0x00046c48 sw s5, 0x40a4(sp)             |     *(arg_40a4h) = s5;
    0x00046c4c sw s4, 0x40a0(sp)             |     *(arg_40a0h) = s4;
    0x00046c50 sw s3, 0x409c(sp)             |     *(arg_409ch) = s3;
    0x00046c54 sw s2, 0x4098(sp)             |     *(arg_4098h) = s2;
    0x00046c58 sw s0, 0x4090(sp)             |     *(arg_4090h) = s0;
    0x00046c5c sw s1, 0x4094(sp)             |     *(arg_4094h) = s1;
    0x00046c60 lw v0, (v0)                   |     v0 = *(v0);
    0x00046c64 lw t9, -0x7ef8(gp)            |     t9 = sym.ssh_get_progname;
    0x00046c68 move s4, a0                   |     s4 = a0;
    0x00046c6c lw a0, (a1)                   |     a0 = *(a1);
    0x00046c70 sw v0, 0x408c(sp)             |     *(arg_408ch) = v0;
    0x00046c74 lw fp, -0x7fdc(gp)            |     fp = *((gp - 8183));
    0x00046c78 move s6, a2                   |     s6 = a2;
    0x00046c7c lw s7, -0x6d10(gp)            |     s7 = *((gp - 6980));
    0x00046c80 move s3, a1                   |     s3 = a1;
    0x00046c84 jalr t9                       |     t9 ();
    0x00046c88 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00046c8c lw a1, -0x5e14(fp)            |     a1 = *(var_5e14h);
    0x00046c90 move a0, v0                   |     a0 = v0;
    0x00046c94 lw t9, -0x7ea4(gp)            |     t9 = sym.log_init;
    0x00046c98 move a3, zero                 |     a3 = 0;
    0x00046c9c addiu a2, zero, 2             |     a2 = 2;
    0x00046ca0 sw v0, (s7)                   |     *(s7) = v0;
    0x00046ca4 jalr t9                       |     t9 ();
    0x00046ca8 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00046cac move a0, s6                   |     a0 = s6;
    0x00046cb0 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x00046cb4 lw t9, -0x7e84(gp)            |     t9 = sym.pwcopy;
    0x00046cb8 sw v0, 0x3c(sp)               |     *(var_3ch) = v0;
    0x00046cbc move s0, v0                   |     s0 = v0;
    0x00046cc0 jalr t9                       |     t9 ();
    0x00046cc4 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00046cc8 sw v0, -0x4218(s0)            |     *((s0 - 4230)) = v0;
    0x00046ccc addiu v0, zero, 2             |     v0 = 2;
    0x00046cd0 sw v0, 0x38(sp)               |     *(var_38h) = v0;
    0x00046cd4 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x00046cd8 lw s2, -0x7f34(gp)            |     s2 = *(gp);
    0x00046cdc sw v0, 0x30(sp)               |     *(var_30h) = v0;
    0x00046ce0 lw v0, -0x7f34(gp)            |     v0 = *(gp);
    0x00046ce4 lw s5, -0x7f34(gp)            |     s5 = *(gp);
                                             |     /* str._llu */
    0x00046ce8 addiu v0, v0, -0x4d48         |     v0 += -0x4d48;
    0x00046cec sw v0, 0x44(sp)               |     *(var_44h) = v0;
    0x00046cf0 lw v0, -0x7f34(gp)            |     v0 = *(gp);
    0x00046cf4 sw zero, 0x40(sp)             |     *(var_40h) = 0;
    0x00046cf8 addiu v0, v0, -0x4d40         |     v0 += -0x4d40;
    0x00046cfc sw zero, 0x34(sp)             |     *(var_34h) = 0;
    0x00046d00 addiu s2, s2, 0x77c           |     s2 += 0x77c;
    0x00046d04 sw v0, 0x48(sp)               |     *(var_48h) = v0;
                                             |     /* str.d:f:l:P:p:Q:u:cehR */
    0x00046d08 addiu s1, s5, 0x148c          |     s1 = s5 + aav.0x0000148c;
    0x00046d0c addiu s0, zero, -1            |     s0 = -1;
    0x00046d10 lw t9, -0x7ee0(gp)            |     t9 = sym.BSDgetopt;
    0x00046d14 move a2, s1                   |     a2 = s1;
    0x00046d18 move a1, s3                   |     a1 = s3;
    0x00046d1c move a0, s4                   |     a0 = s4;
    0x00046d20 jalr t9                       |     t9 ();
    0x00046d24 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 != s0) {
    0x00046d28 beq v0, s0, 0x47054           |         
    0x00046d2c lw t9, -0x7f44(gp)            |         t9 = *(gp);
    0x00046d30 addiu a1, zero, -0x50         |         a1 = -0x50;
    0x00046d34 move a0, v0                   |         a0 = v0;
    0x00046d38 jalr t9                       |         t9 ();
    0x00046d3c sltiu v1, v0, 0x26            |         v1 = (v0 < 0x26) ? 1 : 0;
    0x00046d40 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |         if (v1 != 0) {
    0x00046d44 beqz v1, 0x47020              |             
    0x00046d48 sll v0, v0, 2                 |             v0 <<= 2;
    0x00046d4c lwx v0, v0(s2)                |             __asm ("lwx v0, v0(s2)");
    0x00046d50 addu v0, v0, gp               |             v0 += gp;
    0x00046d54 jr v0                         |             v0 ();
    0x00046d58 nop                           |             
                                             |         }
    0x00047020 lw v0, -0x6f44(gp)            |         v0 = *((gp - 7121));
    0x00047024 lw a2, -0x7f34(gp)            |         a2 = *(gp);
    0x00047028 lw a3, (s7)                   |         a3 = *(s7);
    0x0004702c lw t9, -0x6ce8(gp)            |         t9 = sym.imp.__fprintf_chk
    0x00047030 lw a0, (v0)                   |         a0 = *(v0);
                                             |         /* str.usage:__s___ehR____d_start_directory____f_log_facility____l_log_level__n_t__P_denied_requests____p_allowed_requests____u_umask__n________s__Q_protocol_feature_n */
    0x00047034 addiu a2, a2, 0x13ec          |         a2 += 0x13ec;
    0x00047038 sw a3, 0x10(sp)               |         *(var_10h) = a3;
    0x0004703c addiu a1, zero, 1             |         a1 = 1;
    0x00047040 jalr t9                       |         t9 ();
    0x00047044 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x00047048 lw t9, -0x7210(gp)            |         t9 = sym.imp.exit;
    0x0004704c addiu a0, zero, 1             |         a0 = 1;
    0x00047050 jalr t9                       |         t9 ();
                                             |     }
    0x00047054 lw a1, -0x5e14(fp)            |     a1 = *(var_5e14h);
    0x00047058 lw t9, -0x7ea4(gp)            |     t9 = sym.log_init;
    0x0004705c lw a3, 0x34(sp)               |     a3 = *(var_34h);
    0x00047060 lw a2, 0x38(sp)               |     a2 = *(var_38h);
    0x00047064 lw a0, (s7)                   |     a0 = *(s7);
    0x00047068 jalr t9                       |     t9 ();
    0x0004706c lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00047070 lw t9, -0x7760(gp)            |     t9 = sym.platform_disable_tracing;
    0x00047074 addiu a0, zero, 1             |     a0 = 1;
    0x00047078 jalr t9                       |     t9 ();
    0x0004707c lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00047080 lw t9, -0x775c(gp)            |     t9 = sym.platform_pledge_sftp_server;
    0x00047084 lw s0, -0x7f34(gp)            |     s0 = *(gp);
    0x00047088 jalr t9                       |     t9 ();
    0x0004708c nop                           |     
    0x00047090 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00047094 lw t9, -0x6d50(gp)            |     t9 = sym.imp.getenv;
                                             |     /* str.SSH_CONNECTION */
    0x00047098 addiu a0, s0, -0x3054         |     a0 = s0 + -aav.0x00003054;
    0x0004709c jalr t9                       |     t9 ();
    0x000470a0 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000470a4 sw v0, 0x60(sp)               |     *(arg_60h) = v0;
    0x000470a8 lw t9, -0x7ef4(gp)            |     t9 = sym.xstrdup;
                                             |     if (v0 == 0) {
    0x000470ac beqz v0, 0x4755c              |         goto label_7;
                                             |     }
    0x000470b0 move a0, v0                   |     a0 = v0;
    0x000470b4 jalr t9                       |     t9 ();
    0x000470b8 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000470bc addiu a1, zero, 0x20          |     a1 = 0x20;
    0x000470c0 move a0, v0                   |     a0 = v0;
    0x000470c4 lw s5, -0x7fdc(gp)            |     s5 = *((gp - 8183));
    0x000470c8 lw t9, -0x6d4c(gp)            |     t9 = sym.imp.strchr;
    0x000470cc sw v0, -0x421c(s5)            |     *((s5 - 4231)) = v0;
    0x000470d0 jalr t9                       |     t9 ();
    0x000470d4 sw v0, 0x60(sp)               |     *(arg_60h) = v0;
    0x000470d8 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 == 0) {
    0x000470dc beqz v0, 0x47828              |         goto label_8;
                                             |     }
    0x000470e0 sb zero, (v0)                 |     *(v0) = 0;
                                             | label_3:
    0x000470e4 lw v0, 0x3c(sp)               |     v0 = *(var_3ch);
    0x000470e8 lw v1, -0x421c(s5)            |     v1 = *((s5 - 4231));
    0x000470ec lw s6, -0x7f34(gp)            |     s6 = *(gp);
    0x000470f0 lw v0, -0x4218(v0)            |     v0 = *((v0 - 4230));
    0x000470f4 sw v1, 0x20(sp)               |     *(var_20h) = v1;
    0x000470f8 lw s4, -0x7f34(gp)            |     s4 = *(gp);
    0x000470fc lw v0, (v0)                   |     v0 = *(v0);
    0x00047100 lw t9, -0x7f6c(gp)            |     t9 = sym.sshlog;
    0x00047104 sw v0, 0x1c(sp)               |     *(var_1ch) = v0;
    0x00047108 lw v0, -0x7f34(gp)            |     v0 = *(gp);
    0x0004710c move a3, zero                 |     a3 = 0;
                                             |     /* str.session_opened_for_local_user__s_from___s_ */
    0x00047110 addiu v0, v0, 0x14c8          |     v0 += aav.0x000014c8;
    0x00047114 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x00047118 addiu v0, zero, 3             |     v0 = 3;
    0x0004711c addiu a2, zero, 0x6de         |     a2 = 0x6de;
                                             |     /* str.sftp_server_main */
    0x00047120 addiu a1, s6, 0xab0           |     a1 = s6 + 0xab0;
                                             |     /* str.sftp_server.c */
    0x00047124 addiu a0, s4, 0xb00           |     a0 = s4 + 0xb00;
    0x00047128 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0004712c sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x00047130 jalr t9                       |     t9 ();
    0x00047134 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00047138 lw s3, -0x7784(gp)            |     s3 = *(gp);
    0x0004713c lw t9, -0x7fa8(gp)            |     t9 = sym.sshbuf_new;
    0x00047140 bal 0x4b790                   |     sym_sshbuf_new ();
    0x00047144 nop                           |     
    0x00047148 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0004714c sw v0, (s3)                   |     *(s3) = v0;
                                             |     if (v0 == 0) {
    0x00047150 beqz v0, 0x47578              |         goto label_9;
                                             |     }
    0x00047154 lw t9, -0x7fa8(gp)            |     t9 = sym.sshbuf_new;
    0x00047158 lw s2, -0x7788(gp)            |     s2 = *(gp);
    0x0004715c bal 0x4b790                   |     sym_sshbuf_new ();
    0x00047160 nop                           |     
    0x00047164 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00047168 sw v0, (s2)                   |     *(s2) = v0;
                                             |     if (v0 == 0) {
    0x0004716c beqz v0, 0x475a8              |         goto label_10;
                                             |     }
    0x00047170 lw t9, -0x7f18(gp)            |     t9 = sym.xcalloc;
    0x00047174 addiu a1, zero, 4             |     a1 = 4;
    0x00047178 addiu a0, zero, 1             |     a0 = 1;
    0x0004717c jalr t9                       |     t9 ();
    0x00047180 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00047184 addiu a0, zero, 1             |     a0 = 1;
    0x00047188 addiu a1, zero, 4             |     a1 = 4;
    0x0004718c lw t9, -0x7f18(gp)            |     t9 = sym.xcalloc;
    0x00047190 move s1, v0                   |     s1 = v0;
    0x00047194 jalr t9                       |     t9 ();
    0x00047198 lw a0, 0x40(sp)               |     a0 = *(var_40h);
    0x0004719c lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000471a0 move s0, v0                   |     s0 = v0;
                                             |     if (a0 != 0) {
    0x000471a4 beqz a0, 0x4721c              |         
    0x000471a8 lw t9, -0x6fcc(gp)            |         t9 = sym.imp.chdir;
    0x000471ac jalr t9                       |         t9 ();
    0x000471b0 nop                           |         
    0x000471b4 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |         if (v0 == 0) {
    0x000471b8 beqz v0, 0x4721c              |             goto label_11;
                                             |         }
    0x000471bc lw t9, -0x6c58(gp)            |         t9 = sym.imp.__errno_location;
    0x000471c0 jalr t9                       |         t9 ();
    0x000471c4 nop                           |         
    0x000471c8 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x000471cc lw t9, -0x6c90(gp)            |         t9 = sym.imp.strerror;
    0x000471d0 lw a0, (v0)                   |         a0 = *(v0);
    0x000471d4 jalr t9                       |         t9 ();
    0x000471d8 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x000471dc sw v0, 0x20(sp)               |         *(var_20h) = v0;
    0x000471e0 lw v0, 0x40(sp)               |         v0 = *(var_40h);
    0x000471e4 lw t9, -0x7f6c(gp)            |         t9 = sym.sshlog;
    0x000471e8 sw v0, 0x1c(sp)               |         *(var_1ch) = v0;
    0x000471ec lw v0, -0x7f34(gp)            |         v0 = *(gp);
    0x000471f0 sw zero, 0x14(sp)             |         *(var_14h) = 0;
                                             |         /* str.chdir_to___s__failed:__s */
    0x000471f4 addiu v0, v0, 0x14f4          |         v0 += 0x14f4;
    0x000471f8 sw v0, 0x18(sp)               |         *(var_18h) = v0;
    0x000471fc addiu v0, zero, 2             |         v0 = 2;
    0x00047200 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x00047204 move a3, zero                 |         a3 = 0;
    0x00047208 addiu a2, zero, 0x6f9         |         a2 = 0x6f9;
                                             |         /* str.sftp_server_main */
    0x0004720c addiu a1, s6, 0xab0           |         a1 = s6 + 0xab0;
                                             |         /* str.sftp_server.c */
    0x00047210 addiu a0, s4, 0xb00           |         a0 = s4 + 0xb00;
    0x00047214 jalr t9                       |         t9 ();
    0x00047218 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |     }
                                             | label_11:
    0x0004721c lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x00047220 sw v0, 0x40(sp)               |     *(var_40h) = v0;
    0x00047224 lw v0, -0x7f34(gp)            |     v0 = *(gp);
    0x00047228 sw v0, 0x34(sp)               |     *(var_34h) = v0;
    0x0004722c lw v0, -0x7f34(gp)            |     v0 = *(gp);
                                             |     /* str.received_client_version__u */
    0x00047230 addiu v0, v0, 0x154c          |     v0 += 0x154c;
    0x00047234 sw v0, 0x44(sp)               |     *(var_44h) = v0;
    0x00047238 lw v0, -0x7810(gp)            |     v0 = *(gp);
    0x0004723c addiu v0, v0, 0x6970          |     v0 += 0x6970;
    0x00047240 sw v0, 0x30(sp)               |     *(var_30h) = v0;
    0x00047244 lw v0, -0x7810(gp)            |     v0 = *(gp);
                                             |     /* fcn.000410c0 */
    0x00047248 addiu v0, v0, 0x10c0          |     v0 += aav.0x000010c0;
    0x0004724c sw v0, 0x48(sp)               |     *(var_48h) = v0;
                                             |     do {
                                             | label_4:
    0x00047250 sb zero, (s1)                 |         *(s1) = 0;
                                             | label_0:
    0x00047254 sb zero, 1(s1)                |         *((s1 + 1)) = 0;
    0x00047258 sb zero, 2(s1)                |         *((s1 + 2)) = 0;
    0x0004725c sb zero, 3(s1)                |         *((s1 + 3)) = 0;
    0x00047260 sb zero, (s0)                 |         *(s0) = 0;
    0x00047264 sb zero, 1(s0)                |         *((s0 + 1)) = 0;
    0x00047268 sb zero, 2(s0)                |         *((s0 + 2)) = 0;
    0x0004726c sb zero, 3(s0)                |         *((s0 + 3)) = 0;
    0x00047270 lw t9, -0x7758(gp)            |         t9 = sym.sshbuf_check_reserve;
    0x00047274 lw a0, (s3)                   |         a0 = *(s3);
    0x00047278 addiu a1, zero, 0x4000        |         a1 = 0x4000;
    0x0004727c bal 0x4c514                   |         sym_sshbuf_check_reserve ();
    0x00047280 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |         if (v0 == 0) {
    0x00047284 beqz v0, 0x4752c              |             goto label_12;
                                             |         }
                                             | label_1:
    0x00047288 addiu v1, zero, -9            |         v1 = -9;
    0x0004728c lw t9, -0x7f70(gp)            |         t9 = sym.ssh_err;
                                             |         if (v0 != v1) {
    0x00047290 bne v0, v1, 0x478e4           |             goto label_13;
                                             |         }
                                             | label_2:
    0x00047294 lw t9, -0x7f9c(gp)            |         t9 = sym.sshbuf_len;
    0x00047298 lw a0, (s2)                   |         a0 = *(s2);
    0x0004729c bal 0x4c154                   |         sym_sshbuf_len ();
    0x000472a0 move s7, v0                   |         s7 = v0;
    0x000472a4 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |         if (v0 > 0) {
    0x000472a8 blez v0, 0x472c0              |             
    0x000472ac lw t9, -0x7de8(gp)            |             t9 = sym.kludge_FD_SET;
    0x000472b0 move a1, s0                   |             a1 = s0;
    0x000472b4 addiu a0, zero, 1             |             a0 = 1;
    0x000472b8 jalr t9                       |             t9 ();
    0x000472bc lw gp, 0x28(sp)               |             gp = *(var_28h);
                                             |         }
    0x000472c0 lw t9, -0x7010(gp)            |         t9 = sym.imp.select;
    0x000472c4 sw zero, 0x10(sp)             |         *(var_10h) = 0;
    0x000472c8 move a3, zero                 |         a3 = 0;
    0x000472cc move a2, s0                   |         a2 = s0;
    0x000472d0 move a1, s1                   |         a1 = s1;
    0x000472d4 addiu a0, zero, 2             |         a0 = 2;
    0x000472d8 jalr t9                       |         t9 ();
    0x000472dc addiu fp, zero, -1            |         fp = -1;
    0x000472e0 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |         if (v0 != fp) {
    0x000472e4 bne v0, fp, 0x47388           |             goto label_14;
                                             |         }
    0x000472e8 lw t9, -0x6c58(gp)            |         t9 = sym.imp.__errno_location;
    0x000472ec jalr t9                       |         t9 ();
    0x000472f0 nop                           |         
    0x000472f4 lw a0, (v0)                   |         a0 = *(v0);
    0x000472f8 addiu v0, zero, 4             |         v0 = 4;
    0x000472fc lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x00047300 beq a0, v0, 0x47250           |         
                                             |     } while (a0 == v0);
    0x00047304 lw t9, -0x6c90(gp)            |     t9 = sym.imp.strerror;
    0x00047308 jalr t9                       |     t9 ();
    0x0004730c nop                           |     
    0x00047310 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00047314 sw v0, 0x1c(sp)               |     *(var_1ch) = v0;
                                             |     /* str.sftp_server.c */
    0x00047318 addiu a0, s4, 0xb00           |     a0 = s4 + 0xb00;
    0x0004731c lw v0, -0x7f34(gp)            |     v0 = *(gp);
    0x00047320 lw t9, -0x7f6c(gp)            |     t9 = sym.sshlog;
                                             |     /* str.select:__s */
    0x00047324 addiu v0, v0, 0x1510          |     v0 += 0x1510;
    0x00047328 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x0004732c addiu v0, zero, 2             |     v0 = 2;
    0x00047330 sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x00047334 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00047338 move a3, zero                 |     a3 = 0;
    0x0004733c addiu a2, zero, 0x715         |     a2 = 0x715;
                                             |     /* str.sftp_server_main */
    0x00047340 addiu a1, s6, 0xab0           |     a1 = s6 + 0xab0;
    0x00047344 jalr t9                       |     t9 ();
    0x00047348 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0004734c lw t9, -0x7754(gp)            |     t9 = sym.sftp_server_cleanup_exit;
    0x00047350 addiu a0, zero, 2             |     a0 = 2;
    0x00047354 bal 0x46af0                   |     sym_sftp_server_cleanup_exit ();
    0x00047358 lw v0, -0x6f44(gp)            |     v0 = *((gp - 7121));
    0x0004735c lw a0, -0x7f34(gp)            |     a0 = *(gp);
    0x00047360 lw t9, -0x702c(gp)            |     t9 = sym.imp.fwrite;
    0x00047364 lw a3, (v0)                   |     a3 = *(v0);
                                             |     /* str.Invalid_query_type_n */
    0x00047368 addiu a0, a0, 0x1350          |     a0 += 0x1350;
    0x0004736c addiu a2, zero, 0x13          |     a2 = 0x13;
    0x00047370 addiu a1, zero, 1             |     a1 = 1;
    0x00047374 jalr t9                       |     t9 ();
    0x00047378 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0004737c lw t9, -0x7210(gp)            |     t9 = sym.imp.exit;
    0x00047380 addiu a0, zero, 1             |     a0 = 1;
    0x00047384 jalr t9                       |     t9 ();
                                             | label_14:
    0x00047388 lw t9, -0x7de4(gp)            |     t9 = sym.kludge_FD_ISSET;
    0x0004738c move a1, s1                   |     a1 = s1;
    0x00047390 move a0, zero                 |     a0 = 0;
    0x00047394 jalr t9                       |     t9 ();
    0x00047398 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 != 0) {
    0x0004739c beqz v0, 0x47428              |         
    0x000473a0 addiu a3, sp, 0x8c            |         a3 = sp + 0x8c;
    0x000473a4 lw t9, -0x6e24(gp)            |         t9 = *((gp - 7049));
    0x000473a8 move a1, a3                   |         a1 = a3;
    0x000473ac sw a3, 0x38(sp)               |         *(var_38h) = a3;
    0x000473b0 addiu a2, zero, 0x4000        |         a2 = 0x4000;
    0x000473b4 move a0, zero                 |         a0 = 0;
    0x000473b8 jalr t9                       |         t9 ();
    0x000473bc lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x000473c0 lw a3, 0x38(sp)               |         a3 = *(var_38h);
                                             |         if (v0 == 0) {
    0x000473c4 beqz v0, 0x47c7c              |             goto label_15;
                                             |         }
    0x000473c8 lw t9, -0x7f1c(gp)            |         t9 = sym.sshbuf_put;
                                             |         if (v0 == fp) {
    0x000473cc beq v0, fp, 0x47c2c           |             goto label_16;
                                             |         }
    0x000473d0 lw a0, (s3)                   |         a0 = *(s3);
    0x000473d4 move a2, v0                   |         a2 = v0;
    0x000473d8 move a1, a3                   |         a1 = a3;
    0x000473dc bal 0x5824c                   |         sym_sshbuf_put ();
    0x000473e0 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |         if (v0 == 0) {
    0x000473e4 beqz v0, 0x47428              |             goto label_17;
                                             |         }
    0x000473e8 lw t9, -0x7f70(gp)            |         t9 = sym.ssh_err;
    0x000473ec move a0, v0                   |         a0 = v0;
    0x000473f0 bal 0x4b380                   |         sym_ssh_err ();
    0x000473f4 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x000473f8 sw v0, 0x14(sp)               |         *(var_14h) = v0;
    0x000473fc addiu v0, zero, 1             |         v0 = 1;
    0x00047400 lw v1, -0x7fb4(gp)            |         v1 = *(gp);
    0x00047404 lw t9, -0x7f74(gp)            |         t9 = sym.sshfatal;
                                             |         /* str.sshbuf_put */
    0x00047408 addiu v1, v1, 0x67ec          |         v1 += 0x67ec;
    0x0004740c sw v1, 0x18(sp)               |         *(var_18h) = v1;
    0x00047410 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x00047414 addiu a3, zero, 1             |         a3 = 1;
    0x00047418 addiu a2, zero, 0x723         |         a2 = 0x723;
                                             |         /* str.sftp_server_main */
    0x0004741c addiu a1, s6, 0xab0           |         a1 = s6 + 0xab0;
                                             |         /* str.sftp_server.c */
    0x00047420 addiu a0, s4, 0xb00           |         a0 = s4 + 0xb00;
    0x00047424 jalr t9                       |         t9 ();
                                             |     }
                                             | label_17:
    0x00047428 lw t9, -0x7de4(gp)            |     t9 = sym.kludge_FD_ISSET;
    0x0004742c move a1, s0                   |     a1 = s0;
    0x00047430 addiu a0, zero, 1             |     a0 = 1;
    0x00047434 jalr t9                       |     t9 ();
    0x00047438 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 != 0) {
    0x0004743c beqz v0, 0x474c8              |         
    0x00047440 lw t9, -0x7fa0(gp)            |         t9 = sym.sshbuf_ptr;
    0x00047444 lw a0, (s2)                   |         a0 = *(s2);
    0x00047448 bal 0x4c334                   |         sym_sshbuf_ptr ();
    0x0004744c lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x00047450 move a2, s7                   |         a2 = s7;
    0x00047454 move a1, v0                   |         a1 = v0;
    0x00047458 lw t9, -0x6d80(gp)            |         t9 = *((gp - 7008));
    0x0004745c addiu a0, zero, 1             |         a0 = 1;
    0x00047460 jalr t9                       |         t9 ();
    0x00047464 addiu v1, zero, -1            |         v1 = -1;
    0x00047468 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |         if (v0 == v1) {
    0x0004746c beq v0, v1, 0x47bc8           |             goto label_18;
                                             |         }
    0x00047470 lw t9, -0x77f8(gp)            |         t9 = sym.sshbuf_consume;
    0x00047474 lw a0, (s2)                   |         a0 = *(s2);
    0x00047478 move a1, v0                   |         a1 = v0;
    0x0004747c bal 0x4c7fc                   |         sym_sshbuf_consume ();
    0x00047480 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |         if (v0 == 0) {
    0x00047484 beqz v0, 0x474c8              |             goto label_19;
                                             |         }
    0x00047488 lw t9, -0x7f70(gp)            |         t9 = sym.ssh_err;
    0x0004748c move a0, v0                   |         a0 = v0;
    0x00047490 bal 0x4b380                   |         sym_ssh_err ();
    0x00047494 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x00047498 sw v0, 0x14(sp)               |         *(var_14h) = v0;
    0x0004749c addiu v0, zero, 1             |         v0 = 1;
    0x000474a0 lw v1, -0x7f34(gp)            |         v1 = *(gp);
    0x000474a4 lw t9, -0x7f74(gp)            |         t9 = sym.sshfatal;
                                             |         /* esilref: 'consume' */
    0x000474a8 addiu v1, v1, 0x3a68          |         v1 += 0x3a68;
    0x000474ac sw v1, 0x18(sp)               |         *(var_18h) = v1;
    0x000474b0 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x000474b4 addiu a3, zero, 1             |         a3 = 1;
    0x000474b8 addiu a2, zero, 0x72c         |         a2 = 0x72c;
                                             |         /* str.sftp_server_main */
    0x000474bc addiu a1, s6, 0xab0           |         a1 = s6 + 0xab0;
                                             |         /* str.sftp_server.c */
    0x000474c0 addiu a0, s4, 0xb00           |         a0 = s4 + 0xb00;
    0x000474c4 jalr t9                       |         t9 ();
                                             |     }
                                             | label_19:
    0x000474c8 lw t9, -0x7758(gp)            |     t9 = sym.sshbuf_check_reserve;
    0x000474cc lw a0, (s2)                   |     a0 = *(s2);
    0x000474d0 lui a1, 4                     |     a1 = 0x40000;
    0x000474d4 bal 0x4c514                   |     sym_sshbuf_check_reserve ();
    0x000474d8 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 == 0) {
    0x000474dc beqz v0, 0x475d8              |         goto label_20;
                                             |     }
    0x000474e0 addiu v1, zero, -9            |     v1 = -9;
                                             |     if (v0 == v1) {
    0x000474e4 beql v0, v1, 0x47254          |         goto label_0;
                                             |     }
    0x000474e8 sb zero, (s1)                 |     *(s1) = 0;
    0x000474ec lw t9, -0x7f70(gp)            |     t9 = sym.ssh_err;
    0x000474f0 move a0, v0                   |     a0 = v0;
    0x000474f4 bal 0x4b380                   |     sym_ssh_err ();
    0x000474f8 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000474fc sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x00047500 addiu v0, zero, 1             |     v0 = 1;
    0x00047504 lw v1, -0x7f34(gp)            |     v1 = *(gp);
    0x00047508 lw t9, -0x7f74(gp)            |     t9 = sym.sshfatal;
                                             |     /* str.reserve */
    0x0004750c addiu v1, v1, -0x3c8          |     v1 += -aav.0x000003c8;
    0x00047510 sw v1, 0x18(sp)               |     *(var_18h) = v1;
    0x00047514 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00047518 addiu a3, zero, 1             |     a3 = 1;
    0x0004751c addiu a2, zero, 0x738         |     a2 = 0x738;
                                             |     /* str.sftp_server_main */
    0x00047520 addiu a1, s6, 0xab0           |     a1 = s6 + 0xab0;
                                             |     /* str.sftp_server.c */
    0x00047524 addiu a0, s4, 0xb00           |     a0 = s4 + 0xb00;
    0x00047528 jalr t9                       |     t9 ();
                                             | label_12:
    0x0004752c lw t9, -0x7758(gp)            |     t9 = sym.sshbuf_check_reserve;
    0x00047530 lw a0, (s2)                   |     a0 = *(s2);
    0x00047534 lui a1, 4                     |     a1 = 0x40000;
    0x00047538 bal 0x4c514                   |     sym_sshbuf_check_reserve ();
    0x0004753c lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 != 0) {
    0x00047540 bnez v0, 0x47288              |         goto label_1;
                                             |     }
    0x00047544 lw t9, -0x7de8(gp)            |     t9 = sym.kludge_FD_SET;
    0x00047548 move a1, s1                   |     a1 = s1;
    0x0004754c move a0, zero                 |     a0 = 0;
    0x00047550 jalr t9                       |     t9 ();
    0x00047554 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00047558 b 0x47294                     |     goto label_2;
                                             | label_7:
    0x0004755c lw a0, -0x7f34(gp)            |     a0 = *(gp);
    0x00047560 lw s5, -0x7fdc(gp)            |     s5 = *((gp - 8183));
                                             |     /* str.UNKNOWN */
    0x00047564 addiu a0, a0, -0x79d0         |     a0 += -0x79d0;
    0x00047568 jalr t9                       |     t9 ();
    0x0004756c sw v0, -0x421c(s5)            |     *((s5 - 4231)) = v0;
    0x00047570 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00047574 b 0x470e4                     |     goto label_3;
                                             | label_9:
    0x00047578 lw v0, -0x7fb4(gp)            |     v0 = *(gp);
    0x0004757c lw t9, -0x7f74(gp)            |     t9 = sym.sshfatal;
                                             |     /* str.sshbuf_new_failed */
    0x00047580 addiu v0, v0, 0x66b0          |     v0 += 0x66b0;
    0x00047584 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x00047588 addiu v0, zero, 1             |     v0 = 1;
    0x0004758c sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x00047590 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00047594 addiu a3, zero, 1             |     a3 = 1;
    0x00047598 addiu a2, zero, 0x6ef         |     a2 = 0x6ef;
                                             |     /* str.sftp_server_main */
    0x0004759c addiu a1, s6, 0xab0           |     a1 = s6 + 0xab0;
                                             |     /* str.sftp_server.c */
    0x000475a0 addiu a0, s4, 0xb00           |     a0 = s4 + 0xb00;
    0x000475a4 jalr t9                       |     t9 ();
                                             | label_10:
    0x000475a8 lw v0, -0x7fb4(gp)            |     v0 = *(gp);
    0x000475ac lw t9, -0x7f74(gp)            |     t9 = sym.sshfatal;
                                             |     /* str.sshbuf_new_failed */
    0x000475b0 addiu v0, v0, 0x66b0          |     v0 += 0x66b0;
    0x000475b4 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x000475b8 addiu v0, zero, 1             |     v0 = 1;
    0x000475bc sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x000475c0 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x000475c4 addiu a3, zero, 1             |     a3 = 1;
    0x000475c8 addiu a2, zero, 0x6f1         |     a2 = 0x6f1;
                                             |     /* str.sftp_server_main */
    0x000475cc addiu a1, s6, 0xab0           |     a1 = s6 + 0xab0;
                                             |     /* str.sftp_server.c */
    0x000475d0 addiu a0, s4, 0xb00           |     a0 = s4 + 0xb00;
    0x000475d4 jalr t9                       |     t9 ();
                                             | label_20:
    0x000475d8 lw t9, -0x7f9c(gp)            |     t9 = sym.sshbuf_len;
    0x000475dc lw a0, (s3)                   |     a0 = *(s3);
    0x000475e0 bal 0x4c154                   |     sym_sshbuf_len ();
    0x000475e4 move s7, v0                   |     s7 = v0;
    0x000475e8 sltiu v0, v0, 5               |     v0 = (v0 < 5) ? 1 : 0;
    0x000475ec lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 != 0) {
    0x000475f0 bnez v0, 0x47250              |         goto label_4;
                                             |     }
    0x000475f4 lw t9, -0x7fa0(gp)            |     t9 = sym.sshbuf_ptr;
    0x000475f8 lw a0, (s3)                   |     a0 = *(s3);
    0x000475fc bal 0x4c334                   |     sym_sshbuf_ptr ();
    0x00047600 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00047604 lw t9, -0x777c(gp)            |     t9 = sym.get_u32;
    0x00047608 move a0, v0                   |     a0 = v0;
    0x0004760c jalr t9                       |     t9 ();
    0x00047610 move v1, v0                   |     v1 = v0;
    0x00047614 sw v0, 0x38(sp)               |     *(var_38h) = v0;
    0x00047618 lui v0, 4                     |     v0 = 0x40001;
    0x0004761c addiu v0, v0, 1               |     
    0x00047620 sltu v0, v1, v0               |     v0 = (v1 < v0) ? 1 : 0;
    0x00047624 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 == 0) {
    0x00047628 beqz v0, 0x47f94              |         goto label_21;
                                             |     }
    0x0004762c lw v0, 0x38(sp)               |     v0 = *(var_38h);
    0x00047630 addiu v0, v0, 4               |     v0 += 4;
    0x00047634 sltu v0, s7, v0               |     v0 = (s7 < v0) ? 1 : 0;
    0x00047638 sb zero, (s1)                 |     *(s1) = 0;
                                             |     if (v0 == 0) {
    0x0004763c bnel v0, zero, 0x47254        |         goto label_0;
                                             |     }
    0x00047640 lw t9, -0x77f8(gp)            |     t9 = sym.sshbuf_consume;
    0x00047644 lw a0, (s3)                   |     a0 = *(s3);
    0x00047648 addiu a1, zero, 4             |     a1 = 4;
    0x0004764c bal 0x4c7fc                   |     sym_sshbuf_consume ();
    0x00047650 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 != 0) {
    0x00047654 bnez v0, 0x47ebc              |         goto label_22;
                                             |     }
    0x00047658 lw t9, -0x7f28(gp)            |     t9 = sym.sshbuf_get_u8;
    0x0004765c lw a0, (s3)                   |     a0 = *(s3);
    0x00047660 addiu a1, sp, 0x5f            |     a1 = sp + 0x5f;
    0x00047664 bal 0x57990                   |     sym_sshbuf_get_u8 ();
    0x00047668 addiu v1, s7, -4              |     v1 = s7 + -4;
    0x0004766c lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00047670 sw v1, 0x4c(sp)               |     *(var_4ch) = v1;
                                             |     if (v0 != 0) {
    0x00047674 bnez v0, 0x47e78              |         goto label_23;
                                             |     }
    0x00047678 lbu v1, 0x5f(sp)              |     v1 = *(arg_5fh);
    0x0004767c addiu v0, zero, 1             |     v0 = 1;
    0x00047680 addiu a0, zero, 0xc8          |     a0 = 0xc8;
                                             |     if (v1 == v0) {
    0x00047684 beq v1, v0, 0x479cc           |         goto label_24;
                                             |     }
                                             |     if (v1 == a0) {
    0x00047688 beql v1, a0, 0x47920          |         goto label_25;
                                             |     }
    0x0004768c lw v1, -0x7fdc(gp)            |     v1 = *((gp - 8183));
    0x00047690 lw a0, -0x7fdc(gp)            |     a0 = *((gp - 8183));
    0x00047694 lw a0, -0x4224(a0)            |     a0 = *((a0 - 4233));
    0x00047698 lw t9, -0x79c8(gp)            |     t9 = sym.sshbuf_get_u32;
                                             |     if (a0 == 0) {
    0x0004769c beqz a0, 0x47e44              |         goto label_26;
                                             |     }
    0x000476a0 lw a0, (s3)                   |     a0 = *(s3);
    0x000476a4 addiu a1, sp, 0x64            |     a1 = sp + 0x64;
    0x000476a8 bal 0x5786c                   |     sym_sshbuf_get_u32 ();
    0x000476ac lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 != 0) {
    0x000476b0 bnez v0, 0x47e00              |         goto label_27;
                                             |     }
    0x000476b4 lw v1, -0x7fdc(gp)            |     v1 = *((gp - 8183));
    0x000476b8 lbu fp, 0x5f(sp)              |     fp = *(arg_5fh);
                                             |     /* esilref: 'open' */
    0x000476bc addiu v1, v1, -0x6b10         |     v1 += -0x6b10;
    0x000476c0 sw v1, 0x50(sp)               |     *(var_50h) = v1;
    0x000476c4 move s7, v1                   |     s7 = v1;
    0x000476c8 b 0x476e8                     |     
                                             |     while (a2 == 0) {
    0x000476cc lw a0, -0xc(s7)               |         a0 = *((s7 - 3));
    0x000476d0 lw t9, -0x7f44(gp)            |         t9 = *(gp);
                                             |         if (fp == a0) {
    0x000476d4 beq fp, a0, 0x47b80           |             goto label_28;
                                             |         }
    0x000476d8 move a0, v0                   |         a0 = v0;
    0x000476dc addiu a1, zero, 1             |         a1 = 1;
    0x000476e0 jalr t9                       |         t9 ();
    0x000476e4 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x000476e8 lw a2, 0xc(s7)                |         a2 = *((s7 + 3));
    0x000476ec addiu s7, s7, 0x14            |         s7 += 0x14;
    0x000476f0 bnel a2, zero, 0x476cc        |         
                                             |     }
    0x000476f4 lw v0, -0x7f34(gp)            |     v0 = *(gp);
    0x000476f8 lw a1, -0x7f34(gp)            |     a1 = *(gp);
                                             |     /* str.Unknown_message__u */
    0x000476fc addiu v0, v0, 0x16b0          |     v0 += 0x16b0;
    0x00047700 lw t9, -0x7f6c(gp)            |     t9 = sym.sshlog;
    0x00047704 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x00047708 addiu v0, zero, 2             |     v0 = 2;
    0x0004770c sw fp, 0x1c(sp)               |     *(var_1ch) = fp;
    0x00047710 sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x00047714 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00047718 move a3, zero                 |     a3 = 0;
    0x0004771c addiu a2, zero, 0x643         |     a2 = 0x643;
                                             |     /* str.process */
    0x00047720 addiu a1, a1, 0x860           |     a1 += 0x860;
                                             |     /* str.sftp_server.c */
    0x00047724 addiu a0, s4, 0xb00           |     a0 = s4 + 0xb00;
    0x00047728 jalr t9                       |     t9 ();
    0x0004772c lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             | label_5:
    0x00047730 lw t9, -0x7f9c(gp)            |     t9 = sym.sshbuf_len;
    0x00047734 lw a0, (s3)                   |     a0 = *(s3);
    0x00047738 bal 0x4c154                   |     sym_sshbuf_len ();
    0x0004773c lw v1, 0x4c(sp)               |     v1 = *(var_4ch);
    0x00047740 sltu v0, v1, v0               |     v0 = (v1 < v0) ? 1 : 0;
    0x00047744 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 != 0) {
    0x00047748 bnez v0, 0x47f50              |         goto label_29;
                                             |     }
    0x0004774c lw t9, -0x7f9c(gp)            |     t9 = sym.sshbuf_len;
    0x00047750 lw a0, (s3)                   |     a0 = *(s3);
    0x00047754 bal 0x4c154                   |     sym_sshbuf_len ();
    0x00047758 lw v1, 0x4c(sp)               |     v1 = *(var_4ch);
    0x0004775c lw a0, 0x38(sp)               |     a0 = *(var_38h);
    0x00047760 subu v1, v1, v0               |     __asm ("subu v1, v1, v0");
    0x00047764 sltu a0, a0, v1               |     a0 = (a0 < v1) ? 1 : 0;
    0x00047768 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (a0 != 0) {
    0x0004776c bnez a0, 0x47f00              |         goto label_30;
                                             |     }
    0x00047770 lw a0, 0x38(sp)               |     a0 = *(var_38h);
    0x00047774 sltu v1, v1, a0               |     v1 = (v1 < a0) ? 1 : 0;
                                             |     if (v1 == 0) {
    0x00047778 beql v1, zero, 0x47254        |         goto label_0;
                                             |     }
    0x0004777c sb zero, (s1)                 |     *(s1) = 0;
    0x00047780 move v1, a0                   |     v1 = a0;
    0x00047784 lw a0, 0x4c(sp)               |     a0 = *(var_4ch);
    0x00047788 lw t9, -0x77f8(gp)            |     t9 = sym.sshbuf_consume;
    0x0004778c subu a1, v1, a0               |     __asm ("subu a1, v1, a0");
    0x00047790 lw a0, (s3)                   |     a0 = *(s3);
    0x00047794 addu a1, a1, v0               |     a1 += v0;
    0x00047798 bal 0x4c7fc                   |     sym_sshbuf_consume ();
    0x0004779c lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 == 0) {
    0x000477a0 beqz v0, 0x47250              |         goto label_4;
                                             |     }
    0x000477a4 lw t9, -0x7f70(gp)            |     t9 = sym.ssh_err;
    0x000477a8 move a0, v0                   |     a0 = v0;
    0x000477ac bal 0x4b380                   |     sym_ssh_err ();
    0x000477b0 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000477b4 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x000477b8 addiu v0, zero, 1             |     v0 = 1;
    0x000477bc lw v1, -0x7f34(gp)            |     v1 = *(gp);
    0x000477c0 lw a1, -0x7f34(gp)            |     a1 = *(gp);
                                             |     /* esilref: 'consume' */
    0x000477c4 addiu v1, v1, 0x3a68          |     v1 += 0x3a68;
    0x000477c8 lw t9, -0x7f74(gp)            |     t9 = sym.sshfatal;
    0x000477cc sw v1, 0x18(sp)               |     *(var_18h) = v1;
    0x000477d0 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x000477d4 addiu a3, zero, 1             |     a3 = 1;
    0x000477d8 addiu a2, zero, 0x651         |     a2 = 0x651;
                                             |     /* str.process */
    0x000477dc addiu a1, a1, 0x860           |     a1 += 0x860;
                                             |     /* str.sftp_server.c */
    0x000477e0 addiu a0, s4, 0xb00           |     a0 = s4 + 0xb00;
    0x000477e4 jalr t9                       |     t9 ();
    0x000477e8 lw v0, (s0)                   |     v0 = *(s0);
    0x000477ec lw a1, -0x7f34(gp)            |     a1 = *(gp);
    0x000477f0 sw v0, 0x1c(sp)               |     *(var_1ch) = v0;
    0x000477f4 lw v0, -0x7f34(gp)            |     v0 = *(gp);
    0x000477f8 lw a0, -0x7f34(gp)            |     a0 = *(gp);
                                             |     /* str.Invalid_umask___s_ */
    0x000477fc addiu v0, v0, 0x13d8          |     v0 += 0x13d8;
    0x00047800 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x00047804 lw t9, -0x7f74(gp)            |     t9 = sym.sshfatal;
    0x00047808 addiu v0, zero, 1             |     v0 = 1;
    0x0004780c sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x00047810 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00047814 move a3, zero                 |     a3 = 0;
    0x00047818 addiu a2, zero, 0x6bc         |     a2 = 0x6bc;
                                             |     /* str.sftp_server_main */
    0x0004781c addiu a1, a1, 0xab0           |     a1 += 0xab0;
                                             |     /* str.sftp_server.c */
    0x00047820 addiu a0, a0, 0xb00           |     a0 += 0xb00;
    0x00047824 jalr t9                       |     t9 ();
                                             | label_8:
    0x00047828 lw t9, -0x6d50(gp)            |     t9 = sym.imp.getenv;
                                             |     /* str.SSH_CONNECTION */
    0x0004782c addiu a0, s0, -0x3054         |     a0 = s0 + -aav.0x00003054;
    0x00047830 jalr t9                       |     t9 ();
    0x00047834 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00047838 sw v0, 0x1c(sp)               |     *(var_1ch) = v0;
    0x0004783c sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x00047840 lw v0, -0x7f34(gp)            |     v0 = *(gp);
    0x00047844 lw a0, -0x7f34(gp)            |     a0 = *(gp);
    0x00047848 lw a1, -0x7f34(gp)            |     a1 = *(gp);
                                             |     /* str.Malformed_SSH_CONNECTION_variable:___s_ */
    0x0004784c addiu v0, v0, 0x14a0          |     v0 += 0x14a0;
    0x00047850 lw t9, -0x7f6c(gp)            |     t9 = sym.sshlog;
    0x00047854 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x00047858 addiu v0, zero, 2             |     v0 = 2;
                                             |     /* str.sftp_server.c */
    0x0004785c addiu a0, a0, 0xb00           |     a0 += 0xb00;
    0x00047860 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00047864 move a3, zero                 |     a3 = 0;
    0x00047868 addiu a2, zero, 0x6d6         |     a2 = 0x6d6;
                                             |     /* str.sftp_server_main */
    0x0004786c addiu a1, a1, 0xab0           |     a1 += 0xab0;
    0x00047870 jalr t9                       |     t9 ();
    0x00047874 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00047878 lw t9, -0x7754(gp)            |     t9 = sym.sftp_server_cleanup_exit;
    0x0004787c addiu a0, zero, 0xff          |     a0 = 0xff;
    0x00047880 bal 0x46af0                   |     sym_sftp_server_cleanup_exit ();
    0x00047884 lw v0, -0x7f34(gp)            |     v0 = *(gp);
    0x00047888 lw t9, -0x7f74(gp)            |     t9 = sym.sshfatal;
                                             |     /* str.Refused_requests_already_set */
    0x0004788c addiu v0, v0, 0x13b8          |     v0 += aav.0x000013b8;
    0x00047890 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x00047894 addiu v0, zero, 1             |     v0 = 1;
    0x00047898 sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x0004789c sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x000478a0 move a3, zero                 |     a3 = 0;
    0x000478a4 addiu a2, zero, 0x6b4         |     a2 = 0x6b4;
                                             |     do {
    0x000478a8 lw a1, -0x7f34(gp)            |         a1 = *(gp);
    0x000478ac lw a0, -0x7f34(gp)            |         a0 = *(gp);
                                             |         /* str.sftp_server_main */
    0x000478b0 addiu a1, a1, 0xab0           |         a1 += 0xab0;
                                             |         /* str.sftp_server.c */
    0x000478b4 addiu a0, a0, 0xb00           |         a0 += 0xb00;
    0x000478b8 jalr t9                       |         t9 ();
    0x000478bc lw v0, -0x7f34(gp)            |         v0 = *(gp);
    0x000478c0 lw t9, -0x7f74(gp)            |         t9 = sym.sshfatal;
                                             |         /* str.Permitted_requests_already_set */
    0x000478c4 addiu v0, v0, 0x1398          |         v0 += 0x1398;
    0x000478c8 sw v0, 0x18(sp)               |         *(var_18h) = v0;
    0x000478cc addiu v0, zero, 1             |         v0 = 1;
    0x000478d0 sw zero, 0x14(sp)             |         *(var_14h) = 0;
    0x000478d4 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x000478d8 move a3, zero                 |         a3 = 0;
    0x000478dc addiu a2, zero, 0x6af         |         a2 = 0x6af;
    0x000478e0 b 0x478a8                     |         
                                             |     } while (1);
                                             | label_13:
    0x000478e4 move a0, v0                   |     a0 = v0;
    0x000478e8 bal 0x4b380                   |     sym_ssh_err ();
    0x000478ec lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000478f0 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x000478f4 addiu v0, zero, 1             |     v0 = 1;
    0x000478f8 lw v1, -0x7f34(gp)            |     v1 = *(gp);
    0x000478fc lw t9, -0x7f74(gp)            |     t9 = sym.sshfatal;
                                             |     /* str.reserve */
    0x00047900 addiu v1, v1, -0x3c8          |     v1 += -aav.0x000003c8;
    0x00047904 sw v1, 0x18(sp)               |     *(var_18h) = v1;
    0x00047908 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0004790c addiu a3, zero, 1             |     a3 = 1;
    0x00047910 addiu a2, zero, 0x70c         |     a2 = 0x70c;
                                             |     /* str.sftp_server_main */
    0x00047914 addiu a1, s6, 0xab0           |     a1 = s6 + 0xab0;
                                             |     /* str.sftp_server.c */
    0x00047918 addiu a0, s4, 0xb00           |     a0 = s4 + 0xb00;
    0x0004791c jalr t9                       |     t9 ();
                                             | label_25:
    0x00047920 lw v1, -0x4224(v1)            |     v1 = *((v1 - 4233));
    0x00047924 lw t9, -0x79c8(gp)            |     t9 = sym.sshbuf_get_u32;
                                             |     if (v1 == 0) {
    0x00047928 beqz v1, 0x47dd0              |         goto label_31;
                                             |     }
    0x0004792c lw a0, (s3)                   |     a0 = *(s3);
    0x00047930 addiu a1, sp, 0x64            |     a1 = sp + 0x64;
    0x00047934 bal 0x5786c                   |     sym_sshbuf_get_u32 ();
    0x00047938 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 != 0) {
    0x0004793c bnez v0, 0x47d8c              |         goto label_32;
                                             |     }
    0x00047940 lw t9, -0x7f14(gp)            |     t9 = sym.sshbuf_get_cstring;
    0x00047944 lw a0, (s3)                   |     a0 = *(s3);
    0x00047948 move a2, zero                 |     a2 = 0;
    0x0004794c addiu a1, sp, 0x68            |     a1 = sp + 0x68;
    0x00047950 lw s7, 0x64(sp)               |     s7 = *(arg_64h);
    0x00047954 bal 0x57ff0                   |     sym_sshbuf_get_cstring ();
    0x00047958 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 != 0) {
    0x0004795c bnez v0, 0x47d48              |         goto label_33;
                                             |     }
    0x00047960 lw t0, 0x68(sp)               |     t0 = *(arg_68h);
    0x00047964 lw t9, -0x7810(gp)            |     t9 = *(gp);
    0x00047968 move a0, t0                   |     a0 = t0;
                                             |     /* fcn.00043ba4 */
    0x0004796c addiu t9, t9, 0x3ba4          |     t9 += 0x3ba4;
    0x00047970 sw t0, 0x50(sp)               |     *(var_50h) = t0;
    0x00047974 bal 0x43ba4                   |     fcn_00043ba4 ();
    0x00047978 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0004797c lw t0, 0x50(sp)               |     t0 = *(var_50h);
                                             |     if (v0 == 0) {
    0x00047980 beqz v0, 0x47cbc              |         goto label_34;
                                             |     }
    0x00047984 lw t9, -0x7810(gp)            |     t9 = *(gp);
    0x00047988 addiu a1, v0, 0x10            |     a1 = v0 + 0x10;
    0x0004798c move a0, v0                   |     a0 = v0;
                                             |     /* fcn.00046790 */
    0x00047990 addiu t9, t9, 0x6790          |     t9 += 0x6790;
    0x00047994 sw v0, 0x50(sp)               |     *(var_50h) = v0;
    0x00047998 bal 0x46790                   |     fcn_00046790 ();
    0x0004799c lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000479a0 lw v1, 0x50(sp)               |     v1 = *(var_50h);
                                             |     if (v0 == 0) {
    0x000479a4 beqz v0, 0x47d14              |         goto label_35;
                                             |     }
    0x000479a8 lw t9, 0xc(v1)                |     t9 = *((v1 + 3));
    0x000479ac move a0, s7                   |     a0 = s7;
    0x000479b0 jalr t9                       |     t9 ();
    0x000479b4 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             | label_6:
    0x000479b8 lw t9, -0x6e6c(gp)            |     t9 = sym.imp.free;
    0x000479bc lw a0, 0x68(sp)               |     a0 = *(arg_68h);
    0x000479c0 jalr t9                       |     t9 ();
    0x000479c4 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000479c8 b 0x47730                     |     goto label_5;
                                             | label_24:
    0x000479cc lw v0, 0x40(sp)               |     v0 = *(var_40h);
    0x000479d0 lw t9, -0x79c8(gp)            |     t9 = sym.sshbuf_get_u32;
    0x000479d4 lw a0, (s3)                   |     a0 = *(s3);
    0x000479d8 sw v1, 0x50(sp)               |     *(var_50h) = v1;
    0x000479dc addiu a1, v0, -0x4220         |     a1 = v0 + -0x4220;
    0x000479e0 bal 0x5786c                   |     sym_sshbuf_get_u32 ();
    0x000479e4 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000479e8 lw v1, 0x50(sp)               |     v1 = *(var_50h);
                                             |     if (v0 != 0) {
    0x000479ec bnez v0, 0x48064              |         goto label_36;
                                             |     }
    0x000479f0 lw v0, 0x40(sp)               |     v0 = *(var_40h);
    0x000479f4 sw v1, 0x50(sp)               |     *(var_50h) = v1;
    0x000479f8 lw v1, 0x34(sp)               |     v1 = *(var_34h);
    0x000479fc lw v0, -0x4220(v0)            |     v0 = *((v0 - 4232));
    0x00047a00 lw t9, -0x7f6c(gp)            |     t9 = sym.sshlog;
    0x00047a04 sw v0, 0x1c(sp)               |     *(var_1ch) = v0;
    0x00047a08 lw v0, 0x44(sp)               |     v0 = *(var_44h);
    0x00047a0c addiu a1, v1, 0x850           |     a1 = v1 + 0x850;
    0x00047a10 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x00047a14 addiu v0, zero, 4             |     v0 = 4;
    0x00047a18 move a3, zero                 |     a3 = 0;
    0x00047a1c addiu a2, zero, 0x2b6         |     a2 = 0x2b6;
                                             |     /* str.sftp_server.c */
    0x00047a20 addiu a0, s4, 0xb00           |     a0 = s4 + 0xb00;
    0x00047a24 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00047a28 sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x00047a2c jalr t9                       |     t9 ();
    0x00047a30 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00047a34 lw t9, -0x7fa8(gp)            |     t9 = sym.sshbuf_new;
    0x00047a38 bal 0x4b790                   |     sym_sshbuf_new ();
    0x00047a3c nop                           |     
    0x00047a40 move s7, v0                   |     s7 = v0;
    0x00047a44 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00047a48 lw v1, 0x50(sp)               |     v1 = *(var_50h);
                                             |     if (v0 == 0) {
    0x00047a4c beqz v0, 0x48034              |         goto label_37;
                                             |     }
    0x00047a50 lw t9, -0x7c34(gp)            |     t9 = sym.sshbuf_put_u8;
    0x00047a54 addiu a1, zero, 2             |     a1 = 2;
    0x00047a58 move a0, v0                   |     a0 = v0;
    0x00047a5c bal 0x58728                   |     sym_sshbuf_put_u8 ();
    0x00047a60 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 != 0) {
    0x00047a64 bnez v0, 0x47ff0              |         goto label_38;
                                             |     }
    0x00047a68 lw t9, -0x7b48(gp)            |     t9 = sym.sshbuf_put_u32;
    0x00047a6c addiu a1, zero, 3             |     a1 = 3;
    0x00047a70 move a0, s7                   |     a0 = s7;
    0x00047a74 bal 0x585f0                   |     sym_sshbuf_put_u32 ();
    0x00047a78 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 != 0) {
    0x00047a7c bnez v0, 0x47ff0              |         goto label_38;
                                             |     }
    0x00047a80 lw fp, -0x7e48(gp)            |     fp = *(gp);
    0x00047a84 lw a1, -0x7f34(gp)            |     a1 = *(gp);
    0x00047a88 lw t9, 0x30(sp)               |     t9 = *(var_30h);
    0x00047a8c addiu a2, fp, -0x6588         |     a2 = fp + -0x6588;
                                             |     /* str.posix_rename_openssh.com */
    0x00047a90 addiu a1, a1, 0xebc           |     a1 += 0xebc;
    0x00047a94 move a0, s7                   |     a0 = s7;
    0x00047a98 jalr t9                       |     t9 ();
    0x00047a9c lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00047aa0 lw t9, 0x30(sp)               |     t9 = *(var_30h);
    0x00047aa4 move a0, s7                   |     a0 = s7;
    0x00047aa8 lw v1, -0x7e48(gp)            |     v1 = *(gp);
    0x00047aac lw a1, -0x7f34(gp)            |     a1 = *(gp);
                                             |     /* esilref: ' ' */
    0x00047ab0 addiu a2, v1, -0x7774         |     a2 = v1 + -0x7774;
    0x00047ab4 sw v1, 0x50(sp)               |     *(var_50h) = v1;
                                             |     /* str.statvfs_openssh.com */
    0x00047ab8 addiu a1, a1, 0x1568          |     a1 += 0x1568;
    0x00047abc jalr t9                       |     t9 ();
    0x00047ac0 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00047ac4 lw v1, 0x50(sp)               |     v1 = *(var_50h);
    0x00047ac8 lw t9, 0x30(sp)               |     t9 = *(var_30h);
    0x00047acc lw a1, -0x7f34(gp)            |     a1 = *(gp);
    0x00047ad0 addiu a2, v1, -0x7774         |     a2 = v1 + -0x7774;
                                             |     /* str.fstatvfs_openssh.com */
    0x00047ad4 addiu a1, a1, 0x157c          |     a1 += 0x157c;
    0x00047ad8 move a0, s7                   |     a0 = s7;
    0x00047adc jalr t9                       |     t9 ();
    0x00047ae0 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00047ae4 lw t9, 0x30(sp)               |     t9 = *(var_30h);
    0x00047ae8 addiu a2, fp, -0x6588         |     a2 = fp + -0x6588;
    0x00047aec lw a1, -0x7f34(gp)            |     a1 = *(gp);
    0x00047af0 move a0, s7                   |     a0 = s7;
                                             |     /* str.hardlink_openssh.com */
    0x00047af4 addiu a1, a1, 0x1594          |     a1 += 0x1594;
    0x00047af8 jalr t9                       |     t9 ();
    0x00047afc lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00047b00 lw t9, 0x30(sp)               |     t9 = *(var_30h);
    0x00047b04 addiu a2, fp, -0x6588         |     a2 = fp + -0x6588;
    0x00047b08 lw a1, -0x7f34(gp)            |     a1 = *(gp);
    0x00047b0c move a0, s7                   |     a0 = s7;
                                             |     /* str.fsync_openssh.com */
    0x00047b10 addiu a1, a1, 0x15ac          |     a1 += aav.0x000015ac;
    0x00047b14 jalr t9                       |     t9 ();
    0x00047b18 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00047b1c lw t9, 0x30(sp)               |     t9 = *(var_30h);
    0x00047b20 addiu a2, fp, -0x6588         |     a2 = fp + -0x6588;
    0x00047b24 lw a1, -0x7f34(gp)            |     a1 = *(gp);
    0x00047b28 move a0, s7                   |     a0 = s7;
                                             |     /* str.lsetstat_openssh.com */
    0x00047b2c addiu a1, a1, 0x15c0          |     a1 += 0x15c0;
    0x00047b30 jalr t9                       |     t9 ();
    0x00047b34 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00047b38 lw t9, 0x30(sp)               |     t9 = *(var_30h);
    0x00047b3c addiu a2, fp, -0x6588         |     a2 = fp + -0x6588;
    0x00047b40 lw a1, -0x7f34(gp)            |     a1 = *(gp);
    0x00047b44 move a0, s7                   |     a0 = s7;
                                             |     /* str.limits_openssh.com */
    0x00047b48 addiu a1, a1, 0x15d8          |     a1 += 0x15d8;
    0x00047b4c jalr t9                       |     t9 ();
    0x00047b50 lw t9, 0x48(sp)               |     t9 = *(var_48h);
    0x00047b54 move a0, s7                   |     a0 = s7;
    0x00047b58 jalr t9                       |     t9 ();
    0x00047b5c lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00047b60 lw t9, -0x7f90(gp)            |     t9 = sym.sshbuf_free;
    0x00047b64 move a0, s7                   |     a0 = s7;
    0x00047b68 bal 0x4ba3c                   |     sym_sshbuf_free ();
    0x00047b6c lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00047b70 addiu v1, zero, 1             |     v1 = 1;
    0x00047b74 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x00047b78 sw v1, -0x4224(v0)            |     *((v0 - 4233)) = v1;
    0x00047b7c b 0x47730                     |     goto label_5;
                                             | label_28:
    0x00047b80 addiu a0, zero, 0x14          |     a0 = 0x14;
    0x00047b84 mul a1, v0, a0                |     __asm ("mul a1, v0, a0");
    0x00047b88 lw v1, 0x50(sp)               |     v1 = *(var_50h);
    0x00047b8c lw t9, -0x7810(gp)            |     t9 = *(gp);
    0x00047b90 sw a2, 0x54(sp)               |     *(var_54h) = a2;
                                             |     /* fcn.00046790 */
    0x00047b94 addiu t9, t9, 0x6790          |     t9 += 0x6790;
    0x00047b98 addu a0, a1, v1               |     a0 = a1 + v1;
    0x00047b9c addiu a1, a0, 0x10            |     a1 = a0 + 0x10;
    0x00047ba0 bal 0x46790                   |     fcn_00046790 ();
    0x00047ba4 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00047ba8 lw a2, 0x54(sp)               |     a2 = *(var_54h);
    0x00047bac lw a0, 0x64(sp)               |     a0 = *(arg_64h);
                                             |     if (v0 == 0) {
    0x00047bb0 beqz v0, 0x47d30              |         goto label_39;
                                             |     }
    0x00047bb4 move t9, a2                   |     t9 = a2;
    0x00047bb8 jalr t9                       |     t9 ();
    0x00047bbc nop                           |     
    0x00047bc0 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00047bc4 b 0x47730                     |     goto label_5;
                                             | label_18:
    0x00047bc8 lw t9, -0x6c58(gp)            |     t9 = sym.imp.__errno_location;
    0x00047bcc jalr t9                       |     t9 ();
    0x00047bd0 nop                           |     
    0x00047bd4 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00047bd8 lw t9, -0x6c90(gp)            |     t9 = sym.imp.strerror;
    0x00047bdc lw a0, (v0)                   |     a0 = *(v0);
    0x00047be0 jalr t9                       |     t9 ();
    0x00047be4 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00047be8 sw v0, 0x1c(sp)               |     *(var_1ch) = v0;
                                             |     /* str.sftp_server.c */
    0x00047bec addiu a0, s4, 0xb00           |     a0 = s4 + 0xb00;
    0x00047bf0 lw v0, -0x7f34(gp)            |     v0 = *(gp);
    0x00047bf4 lw t9, -0x7f6c(gp)            |     t9 = sym.sshlog;
                                             |     /* str.write:__s */
    0x00047bf8 addiu v0, v0, -0x292c         |     v0 += -0x292c;
    0x00047bfc sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x00047c00 addiu v0, zero, 2             |     v0 = 2;
    0x00047c04 sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x00047c08 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00047c0c move a3, zero                 |     a3 = 0;
    0x00047c10 addiu a2, zero, 0x729         |     a2 = 0x729;
                                             |     do {
                                             |         /* str.sftp_server_main */
    0x00047c14 addiu a1, s6, 0xab0           |         a1 = s6 + 0xab0;
    0x00047c18 jalr t9                       |         t9 ();
    0x00047c1c lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x00047c20 lw t9, -0x7754(gp)            |         t9 = sym.sftp_server_cleanup_exit;
    0x00047c24 addiu a0, zero, 1             |         a0 = 1;
    0x00047c28 bal 0x46af0                   |         sym_sftp_server_cleanup_exit ();
                                             | label_16:
    0x00047c2c lw t9, -0x6c58(gp)            |         t9 = sym.imp.__errno_location;
    0x00047c30 jalr t9                       |         t9 ();
    0x00047c34 nop                           |         
    0x00047c38 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x00047c3c lw t9, -0x6c90(gp)            |         t9 = sym.imp.strerror;
    0x00047c40 lw a0, (v0)                   |         a0 = *(v0);
    0x00047c44 jalr t9                       |         t9 ();
    0x00047c48 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x00047c4c sw v0, 0x1c(sp)               |         *(var_1ch) = v0;
                                             |         /* str.sftp_server.c */
    0x00047c50 addiu a0, s4, 0xb00           |         a0 = s4 + 0xb00;
    0x00047c54 lw v0, -0x7f34(gp)            |         v0 = *(gp);
    0x00047c58 lw t9, -0x7f6c(gp)            |         t9 = sym.sshlog;
                                             |         /* str.read:__s */
    0x00047c5c addiu v0, v0, -0x3ec          |         v0 += -aav.0x000003ec;
    0x00047c60 sw v0, 0x18(sp)               |         *(var_18h) = v0;
    0x00047c64 addiu v0, zero, 2             |         v0 = 2;
    0x00047c68 sw zero, 0x14(sp)             |         *(var_14h) = 0;
    0x00047c6c sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x00047c70 move a3, zero                 |         a3 = 0;
    0x00047c74 addiu a2, zero, 0x720         |         a2 = 0x720;
    0x00047c78 b 0x47c14                     |         
                                             |     } while (1);
                                             | label_15:
    0x00047c7c lw v0, -0x7f34(gp)            |     v0 = *(gp);
    0x00047c80 lw t9, -0x7f6c(gp)            |     t9 = sym.sshlog;
                                             |     /* str.read_eof */
    0x00047c84 addiu v0, v0, 0x151c          |     v0 += 0x151c;
    0x00047c88 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x00047c8c addiu v0, zero, 5             |     v0 = 5;
                                             |     /* str.sftp_server.c */
    0x00047c90 addiu a0, s4, 0xb00           |     a0 = s4 + 0xb00;
    0x00047c94 sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x00047c98 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00047c9c move a3, zero                 |     a3 = 0;
    0x00047ca0 addiu a2, zero, 0x71d         |     a2 = 0x71d;
                                             |     /* str.sftp_server_main */
    0x00047ca4 addiu a1, s6, 0xab0           |     a1 = s6 + 0xab0;
    0x00047ca8 jalr t9                       |     t9 ();
    0x00047cac lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00047cb0 lw t9, -0x7754(gp)            |     t9 = sym.sftp_server_cleanup_exit;
    0x00047cb4 move a0, zero                 |     a0 = 0;
    0x00047cb8 bal 0x46af0                   |     sym_sftp_server_cleanup_exit ();
                                             | label_34:
    0x00047cbc lw v0, -0x7f34(gp)            |     v0 = *(gp);
    0x00047cc0 lw a1, -0x7f34(gp)            |     a1 = *(gp);
                                             |     /* str.Unknown_extended_request___.100s_ */
    0x00047cc4 addiu v0, v0, 0x1628          |     v0 += 0x1628;
    0x00047cc8 lw t9, -0x7f6c(gp)            |     t9 = sym.sshlog;
    0x00047ccc sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x00047cd0 addiu v0, zero, 2             |     v0 = 2;
    0x00047cd4 move a3, zero                 |     a3 = 0;
    0x00047cd8 addiu a2, zero, 0x5fc         |     a2 = aav.0x000005fc;
                                             |     /* str.process_extended */
    0x00047cdc addiu a1, a1, 0x828           |     a1 += 0x828;
                                             |     /* str.sftp_server.c */
    0x00047ce0 addiu a0, s4, 0xb00           |     a0 = s4 + 0xb00;
    0x00047ce4 sw t0, 0x1c(sp)               |     *(var_1ch) = t0;
    0x00047ce8 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00047cec sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x00047cf0 jalr t9                       |     t9 ();
    0x00047cf4 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00047cf8 addiu a1, zero, 8             |     a1 = 8;
    0x00047cfc lw t9, -0x7810(gp)            |     t9 = *(gp);
                                             |     /* fcn.00041630 */
    0x00047d00 addiu t9, t9, 0x1630          |     t9 += aav.0x00001630;
    0x00047d04 move a0, s7                   |     a0 = s7;
    0x00047d08 bal 0x41630                   |     fcn_00041630 ();
    0x00047d0c lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00047d10 b 0x479b8                     |     goto label_6;
                                             | label_35:
    0x00047d14 lw t9, -0x7810(gp)            |     t9 = *(gp);
    0x00047d18 addiu a1, zero, 3             |     a1 = 3;
                                             |     /* fcn.00041630 */
    0x00047d1c addiu t9, t9, 0x1630          |     t9 += aav.0x00001630;
    0x00047d20 move a0, s7                   |     a0 = s7;
    0x00047d24 bal 0x41630                   |     fcn_00041630 ();
    0x00047d28 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00047d2c b 0x479b8                     |     goto label_6;
                                             | label_39:
    0x00047d30 lw t9, -0x7810(gp)            |     t9 = *(gp);
                                             |     /* fcn.00041630 */
    0x00047d34 addiu t9, t9, 0x1630          |     t9 += aav.0x00001630;
    0x00047d38 addiu a1, zero, 3             |     a1 = 3;
    0x00047d3c bal 0x41630                   |     fcn_00041630 ();
    0x00047d40 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00047d44 b 0x47730                     |     goto label_5;
                                             | label_33:
    0x00047d48 lw t9, -0x7f70(gp)            |     t9 = sym.ssh_err;
    0x00047d4c move a0, v0                   |     a0 = v0;
    0x00047d50 bal 0x4b380                   |     sym_ssh_err ();
    0x00047d54 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00047d58 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x00047d5c addiu v0, zero, 1             |     v0 = 1;
    0x00047d60 lw v1, -0x7f34(gp)            |     v1 = *(gp);
    0x00047d64 lw a1, -0x7f34(gp)            |     a1 = *(gp);
                                             |     /* str.parse */
    0x00047d68 addiu v1, v1, -0x2488         |     v1 += -0x2488;
    0x00047d6c lw t9, -0x7f74(gp)            |     t9 = sym.sshfatal;
    0x00047d70 sw v1, 0x18(sp)               |     *(var_18h) = v1;
    0x00047d74 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00047d78 addiu a3, zero, 1             |     a3 = 1;
    0x00047d7c addiu a2, zero, 0x5fa         |     a2 = 0x5fa;
                                             |     /* str.process_extended */
    0x00047d80 addiu a1, a1, 0x828           |     a1 += 0x828;
                                             |     /* str.sftp_server.c */
    0x00047d84 addiu a0, s4, 0xb00           |     a0 = s4 + 0xb00;
    0x00047d88 jalr t9                       |     t9 ();
                                             | label_32:
    0x00047d8c lw t9, -0x7f70(gp)            |     t9 = sym.ssh_err;
    0x00047d90 move a0, v0                   |     a0 = v0;
    0x00047d94 bal 0x4b380                   |     sym_ssh_err ();
    0x00047d98 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00047d9c sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x00047da0 addiu v0, zero, 1             |     v0 = 1;
    0x00047da4 lw v1, -0x7f34(gp)            |     v1 = *(gp);
    0x00047da8 lw a1, -0x7f34(gp)            |     a1 = *(gp);
                                             |     /* str.parse_extended_ID */
    0x00047dac addiu v1, v1, 0x1614          |     v1 += 0x1614;
    0x00047db0 lw t9, -0x7f74(gp)            |     t9 = sym.sshfatal;
    0x00047db4 sw v1, 0x18(sp)               |     *(var_18h) = v1;
    0x00047db8 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00047dbc addiu a3, zero, 1             |     a3 = 1;
    0x00047dc0 addiu a2, zero, 0x62f         |     a2 = 0x62f;
                                             |     /* str.process */
    0x00047dc4 addiu a1, a1, 0x860           |     a1 += 0x860;
                                             |     /* str.sftp_server.c */
    0x00047dc8 addiu a0, s4, 0xb00           |     a0 = s4 + 0xb00;
    0x00047dcc jalr t9                       |     t9 ();
                                             | label_31:
    0x00047dd0 lw v1, -0x7f34(gp)            |     v1 = *(gp);
    0x00047dd4 lw a1, -0x7f34(gp)            |     a1 = *(gp);
                                             |     /* str.Received_extended_request_before_init */
    0x00047dd8 addiu v1, v1, 0x15ec          |     v1 += 0x15ec;
    0x00047ddc lw t9, -0x7f74(gp)            |     t9 = sym.sshfatal;
    0x00047de0 sw v1, 0x18(sp)               |     *(var_18h) = v1;
    0x00047de4 sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x00047de8 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00047dec move a3, zero                 |     a3 = 0;
    0x00047df0 addiu a2, zero, 0x62d         |     a2 = 0x62d;
                                             |     /* str.process */
    0x00047df4 addiu a1, a1, 0x860           |     a1 += 0x860;
                                             |     /* str.sftp_server.c */
    0x00047df8 addiu a0, s4, 0xb00           |     a0 = s4 + 0xb00;
    0x00047dfc jalr t9                       |     t9 ();
                                             | label_27:
    0x00047e00 lw t9, -0x7f70(gp)            |     t9 = sym.ssh_err;
    0x00047e04 move a0, v0                   |     a0 = v0;
    0x00047e08 bal 0x4b380                   |     sym_ssh_err ();
    0x00047e0c lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00047e10 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x00047e14 addiu v0, zero, 1             |     v0 = 1;
    0x00047e18 lw v1, -0x7f34(gp)            |     v1 = *(gp);
    0x00047e1c lw a1, -0x7f34(gp)            |     a1 = *(gp);
                                             |     /* str.parse_ID */
    0x00047e20 addiu v1, v1, 0x166c          |     v1 += 0x166c;
    0x00047e24 lw t9, -0x7f74(gp)            |     t9 = sym.sshfatal;
    0x00047e28 sw v1, 0x18(sp)               |     *(var_18h) = v1;
    0x00047e2c sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00047e30 addiu a3, zero, 1             |     a3 = 1;
    0x00047e34 addiu a2, zero, 0x636         |     a2 = 0x636;
                                             |     /* str.process */
    0x00047e38 addiu a1, a1, 0x860           |     a1 += 0x860;
                                             |     /* str.sftp_server.c */
    0x00047e3c addiu a0, s4, 0xb00           |     a0 = s4 + 0xb00;
    0x00047e40 jalr t9                       |     t9 ();
                                             | label_26:
    0x00047e44 sw v1, 0x1c(sp)               |     *(var_1ch) = v1;
    0x00047e48 lw v1, -0x7f34(gp)            |     v1 = *(gp);
    0x00047e4c lw a1, -0x7f34(gp)            |     a1 = *(gp);
                                             |     /* str.Received__u_request_before_init */
    0x00047e50 addiu v1, v1, 0x164c          |     v1 += aav.0x0000164c;
    0x00047e54 lw t9, -0x7f74(gp)            |     t9 = sym.sshfatal;
    0x00047e58 sw v1, 0x18(sp)               |     *(var_18h) = v1;
    0x00047e5c sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x00047e60 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00047e64 move a3, zero                 |     a3 = 0;
    0x00047e68 addiu a2, zero, 0x634         |     a2 = aav.0x00000634;
                                             |     /* str.process */
    0x00047e6c addiu a1, a1, 0x860           |     a1 += 0x860;
                                             |     /* str.sftp_server.c */
    0x00047e70 addiu a0, s4, 0xb00           |     a0 = s4 + 0xb00;
    0x00047e74 jalr t9                       |     t9 ();
                                             | label_23:
    0x00047e78 lw t9, -0x7f70(gp)            |     t9 = sym.ssh_err;
    0x00047e7c move a0, v0                   |     a0 = v0;
    0x00047e80 bal 0x4b380                   |     sym_ssh_err ();
    0x00047e84 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00047e88 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x00047e8c addiu v0, zero, 1             |     v0 = 1;
    0x00047e90 lw v1, -0x7f34(gp)            |     v1 = *(gp);
    0x00047e94 lw a1, -0x7f34(gp)            |     a1 = *(gp);
                                             |     /* str.parse_type */
    0x00047e98 addiu v1, v1, -0xa58          |     v1 += -0xa58;
    0x00047e9c lw t9, -0x7f74(gp)            |     t9 = sym.sshfatal;
    0x00047ea0 sw v1, 0x18(sp)               |     *(var_18h) = v1;
    0x00047ea4 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00047ea8 addiu a3, zero, 1             |     a3 = 1;
    0x00047eac addiu a2, zero, 0x624         |     a2 = 0x624;
                                             |     /* str.process */
    0x00047eb0 addiu a1, a1, 0x860           |     a1 += 0x860;
                                             |     /* str.sftp_server.c */
    0x00047eb4 addiu a0, s4, 0xb00           |     a0 = s4 + 0xb00;
    0x00047eb8 jalr t9                       |     t9 ();
                                             | label_22:
    0x00047ebc lw t9, -0x7f70(gp)            |     t9 = sym.ssh_err;
    0x00047ec0 move a0, v0                   |     a0 = v0;
    0x00047ec4 bal 0x4b380                   |     sym_ssh_err ();
    0x00047ec8 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00047ecc sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x00047ed0 addiu v0, zero, 1             |     v0 = 1;
    0x00047ed4 lw v1, -0x7f34(gp)            |     v1 = *(gp);
    0x00047ed8 lw a1, -0x7f34(gp)            |     a1 = *(gp);
                                             |     /* esilref: 'consume' */
    0x00047edc addiu v1, v1, 0x3a68          |     v1 += 0x3a68;
    0x00047ee0 lw t9, -0x7f74(gp)            |     t9 = sym.sshfatal;
    0x00047ee4 sw v1, 0x18(sp)               |     *(var_18h) = v1;
    0x00047ee8 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00047eec addiu a3, zero, 1             |     a3 = 1;
    0x00047ef0 addiu a2, zero, 0x621         |     a2 = 0x621;
                                             |     /* str.process */
    0x00047ef4 addiu a1, a1, 0x860           |     a1 += 0x860;
                                             |     /* str.sftp_server.c */
    0x00047ef8 addiu a0, s4, 0xb00           |     a0 = s4 + 0xb00;
    0x00047efc jalr t9                       |     t9 ();
                                             | label_30:
    0x00047f00 lw v0, 0x38(sp)               |     v0 = *(var_38h);
    0x00047f04 lw a1, -0x7f34(gp)            |     a1 = *(gp);
    0x00047f08 sw v0, 0x1c(sp)               |     *(var_1ch) = v0;
    0x00047f0c lw v0, -0x7f34(gp)            |     v0 = *(gp);
    0x00047f10 lw t9, -0x7f6c(gp)            |     t9 = sym.sshlog;
                                             |     /* str.msg_len__u___consumed__u */
    0x00047f14 addiu v0, v0, 0x1694          |     v0 += 0x1694;
    0x00047f18 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x00047f1c addiu v0, zero, 2             |     v0 = 2;
                                             |     /* str.sftp_server.c */
    0x00047f20 addiu a0, s4, 0xb00           |     a0 = s4 + 0xb00;
    0x00047f24 sw v1, 0x20(sp)               |     *(var_20h) = v1;
    0x00047f28 sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x00047f2c sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00047f30 move a3, zero                 |     a3 = 0;
    0x00047f34 addiu a2, zero, 0x64c         |     a2 = aav.0x0000064c;
                                             |     /* str.process */
    0x00047f38 addiu a1, a1, 0x860           |     a1 += 0x860;
    0x00047f3c jalr t9                       |     t9 ();
    0x00047f40 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00047f44 lw t9, -0x7754(gp)            |     t9 = sym.sftp_server_cleanup_exit;
    0x00047f48 addiu a0, zero, 0xff          |     a0 = 0xff;
    0x00047f4c bal 0x46af0                   |     sym_sftp_server_cleanup_exit ();
                                             | label_29:
    0x00047f50 lw v0, -0x7f34(gp)            |     v0 = *(gp);
    0x00047f54 lw a1, -0x7f34(gp)            |     a1 = *(gp);
                                             |     /* str.iqueue_grew_unexpectedly */
    0x00047f58 addiu v0, v0, 0x1678          |     v0 += 0x1678;
    0x00047f5c lw t9, -0x7f6c(gp)            |     t9 = sym.sshlog;
    0x00047f60 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x00047f64 addiu v0, zero, 2             |     v0 = 2;
                                             |     /* str.sftp_server.c */
    0x00047f68 addiu a0, s4, 0xb00           |     a0 = s4 + 0xb00;
    0x00047f6c sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x00047f70 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00047f74 move a3, zero                 |     a3 = 0;
    0x00047f78 addiu a2, zero, 0x647         |     a2 = 0x647;
                                             |     /* str.process */
    0x00047f7c addiu a1, a1, 0x860           |     a1 += 0x860;
    0x00047f80 jalr t9                       |     t9 ();
    0x00047f84 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00047f88 lw t9, -0x7754(gp)            |     t9 = sym.sftp_server_cleanup_exit;
    0x00047f8c addiu a0, zero, 0xff          |     a0 = 0xff;
    0x00047f90 bal 0x46af0                   |     sym_sftp_server_cleanup_exit ();
                                             | label_21:
    0x00047f94 lw v0, 0x3c(sp)               |     v0 = *(var_3ch);
    0x00047f98 lw a1, -0x7f34(gp)            |     a1 = *(gp);
    0x00047f9c lw t9, -0x7f6c(gp)            |     t9 = sym.sshlog;
    0x00047fa0 lw v1, -0x4218(v0)            |     v1 = *((v0 - 4230));
    0x00047fa4 lw v0, -0x421c(s5)            |     v0 = *((s5 - 4231));
                                             |     /* str.sftp_server.c */
    0x00047fa8 addiu a0, s4, 0xb00           |     a0 = s4 + 0xb00;
    0x00047fac lw v1, (v1)                   |     v1 = *(v1);
    0x00047fb0 sw v0, 0x1c(sp)               |     *(var_1ch) = v0;
    0x00047fb4 lw v0, -0x7f34(gp)            |     v0 = *(gp);
    0x00047fb8 sw v1, 0x20(sp)               |     *(var_20h) = v1;
                                             |     /* str.bad_message_from__s_local_user__s */
    0x00047fbc addiu v0, v0, 0x1528          |     v0 += 0x1528;
    0x00047fc0 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x00047fc4 addiu v0, zero, 2             |     v0 = 2;
    0x00047fc8 sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x00047fcc sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00047fd0 move a3, zero                 |     a3 = 0;
    0x00047fd4 addiu a2, zero, 0x61b         |     a2 = 0x61b;
                                             |     /* str.process */
    0x00047fd8 addiu a1, a1, 0x860           |     a1 += 0x860;
    0x00047fdc jalr t9                       |     t9 ();
    0x00047fe0 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00047fe4 lw t9, -0x7754(gp)            |     t9 = sym.sftp_server_cleanup_exit;
    0x00047fe8 addiu a0, zero, 0xb           |     a0 = 0xb;
    0x00047fec bal 0x46af0                   |     sym_sftp_server_cleanup_exit ();
                                             | label_38:
    0x00047ff0 lw t9, -0x7f70(gp)            |     t9 = sym.ssh_err;
    0x00047ff4 move a0, v0                   |     a0 = v0;
    0x00047ff8 bal 0x4b380                   |     sym_ssh_err ();
    0x00047ffc lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00048000 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x00048004 addiu v0, zero, 1             |     v0 = 1;
    0x00048008 lw v1, -0x7f34(gp)            |     v1 = *(gp);
    0x0004800c sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00048010 lw v0, 0x34(sp)               |     v0 = *(var_34h);
                                             |     /* str.compose */
    0x00048014 addiu v1, v1, -0x54d8         |     v1 += -0x54d8;
    0x00048018 lw t9, -0x7f74(gp)            |     t9 = sym.sshfatal;
    0x0004801c sw v1, 0x18(sp)               |     *(var_18h) = v1;
    0x00048020 addiu a3, zero, 1             |     a3 = 1;
    0x00048024 addiu a2, zero, 0x2bb         |     a2 = 0x2bb;
    0x00048028 addiu a1, v0, 0x850           |     a1 = v0 + 0x850;
                                             |     /* str.sftp_server.c */
    0x0004802c addiu a0, s4, 0xb00           |     a0 = s4 + 0xb00;
    0x00048030 jalr t9                       |     t9 ();
                                             | label_37:
    0x00048034 lw v0, -0x7fb4(gp)            |     v0 = *(gp);
    0x00048038 lw t9, -0x7f74(gp)            |     t9 = sym.sshfatal;
                                             |     /* str.sshbuf_new_failed */
    0x0004803c addiu v0, v0, 0x66b0          |     v0 += 0x66b0;
    0x00048040 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x00048044 lw v0, 0x34(sp)               |     v0 = *(var_34h);
    0x00048048 sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x0004804c sw v1, 0x10(sp)               |     *(var_10h) = v1;
    0x00048050 addiu a3, zero, 1             |     a3 = 1;
    0x00048054 addiu a2, zero, 0x2b8         |     a2 = aav.0x000002b8;
    0x00048058 addiu a1, v0, 0x850           |     a1 = v0 + 0x850;
                                             |     /* str.sftp_server.c */
    0x0004805c addiu a0, s4, 0xb00           |     a0 = s4 + 0xb00;
    0x00048060 jalr t9                       |     t9 ();
                                             | label_36:
    0x00048064 lw t9, -0x7f70(gp)            |     t9 = sym.ssh_err;
    0x00048068 sw v1, 0x30(sp)               |     *(var_30h) = v1;
    0x0004806c move a0, v0                   |     a0 = v0;
    0x00048070 bal 0x4b380                   |     sym_ssh_err ();
    0x00048074 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00048078 lw v1, 0x30(sp)               |     v1 = *(var_30h);
    0x0004807c sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x00048080 lw a0, -0x7f34(gp)            |     a0 = *(gp);
    0x00048084 lw a1, -0x7f34(gp)            |     a1 = *(gp);
                                             |     /* str.parse */
    0x00048088 addiu a0, a0, -0x2488         |     a0 += -0x2488;
    0x0004808c lw t9, -0x7f74(gp)            |     t9 = sym.sshfatal;
    0x00048090 sw a0, 0x18(sp)               |     *(var_18h) = a0;
    0x00048094 sw v1, 0x10(sp)               |     *(var_10h) = v1;
    0x00048098 addiu a3, zero, 1             |     a3 = 1;
    0x0004809c addiu a2, zero, 0x2b5         |     a2 = 0x2b5;
                                             |     /* str.process_init */
    0x000480a0 addiu a1, a1, 0x850           |     a1 += 0x850;
                                             |     /* str.sftp_server.c */
    0x000480a4 addiu a0, s4, 0xb00           |     a0 = s4 + 0xb00;
    0x000480a8 jalr t9                       |     t9 ();
    0x000480ac nop                           |     
                                             | }
    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/sshd @ 0x9ce5c */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.ssh_krl_file_contains_key ()         | void ssh_krl_file_contains_key () {
    0x0009ce5c lui gp, 6                             |     
    0x0009ce60 addiu gp, gp, 0x5494                  |     
    0x0009ce64 addu gp, gp, t9                       |     gp += t9;
    0x0009ce68 addiu sp, sp, -0x50                   |     
    0x0009ce6c sw s1, 0x3c(sp)                       |     *(var_3ch) = s1;
    0x0009ce70 lw s1, -0x6fc4(gp)                    |     s1 = *((gp - 7153));
    0x0009ce74 sw gp, 0x20(sp)                       |     *(var_20h) = gp;
    0x0009ce78 sw ra, 0x4c(sp)                       |     *(var_4ch) = ra;
    0x0009ce7c sw s4, 0x48(sp)                       |     *(var_48h) = s4;
    0x0009ce80 sw s3, 0x44(sp)                       |     *(var_44h) = s3;
    0x0009ce84 sw s2, 0x40(sp)                       |     *(var_40h) = s2;
    0x0009ce88 sw s0, 0x38(sp)                       |     *(var_38h) = s0;
    0x0009ce8c lw v0, (s1)                           |     v0 = *(s1);
    0x0009ce90 sw zero, 0x2c(sp)                     |     *(var_2ch) = 0;
    0x0009ce94 sw v0, 0x34(sp)                       |     *(var_34h) = v0;
    0x0009ce98 sw zero, 0x30(sp)                     |     *(var_30h) = 0;
                                                     |     if (a0 == 0) {
    0x0009ce9c beqz a0, 0x9cf08                      |         goto label_13;
                                                     |     }
    0x0009cea0 lw t9, -0x7334(gp)                    |     t9 = sym.sshbuf_load_file;
    0x0009cea4 move s4, a1                           |     s4 = a1;
    0x0009cea8 addiu a1, sp, 0x2c                    |     a1 = sp + 0x2c;
    0x0009ceac move s2, a0                           |     s2 = a0;
    0x0009ceb0 bal 0x97954                           |     sym_sshbuf_load_file ();
    0x0009ceb4 move s0, v0                           |     s0 = v0;
    0x0009ceb8 lw gp, 0x20(sp)                       |     gp = *(var_20h);
                                                     |     if (v0 == 0) {
    0x0009cebc beqz v0, 0x9cf3c                      |         goto label_14;
                                                     |     }
    0x0009cec0 lw t9, -0x6c58(gp)                    |     t9 = sym.imp.__errno_location;
    0x0009cec4 jalr t9                               |     t9 ();
    0x0009cec8 nop                                   |     
    0x0009cecc lw gp, 0x20(sp)                       |     gp = *(var_20h);
    0x0009ced0 lw a0, 0x2c(sp)                       |     a0 = *(var_2ch);
    0x0009ced4 lw t9, -0x7f90(gp)                    |     t9 = sym.sshbuf_free;
    0x0009ced8 lw s3, (v0)                           |     s3 = *(v0);
    0x0009cedc jalr t9                               |     t9 ();
    0x0009cee0 lw a0, 0x30(sp)                       |     a0 = *(var_30h);
    0x0009cee4 lw gp, 0x20(sp)                       |     gp = *(var_20h);
                                                     |     if (a0 == 0) {
    0x0009cee8 beqz a0, 0x9cf80                      |         goto label_15;
                                                     |     }
                                                     |     do {
                                                     | label_1:
    0x0009ceec lw t9, -0x7364(gp)                    |         t9 = *(gp);
                                                     |         /* fcn.00099364 */
    0x0009cef0 addiu t9, t9, -0x6c9c                 |         t9 += -0x6c9c;
    0x0009cef4 bal 0x99364                           |         fcn_00099364 ();
    0x0009cef8 nop                                   |         
    0x0009cefc lw gp, 0x20(sp)                       |         gp = *(var_20h);
                                                     | label_2:
    0x0009cf00 lw t9, -0x6c58(gp)                    |         t9 = sym.imp.__errno_location;
                                                     |         if (s0 != 0) {
    0x0009cf04 bnez s0, 0x9cf84                      |             goto label_16;
                                                     |         }
                                                     | label_13:
    0x0009cf08 move s0, zero                         |         s0 = 0;
                                                     | label_0:
    0x0009cf0c lw a0, 0x34(sp)                       |         a0 = *(var_34h);
    0x0009cf10 lw v1, (s1)                           |         v1 = *(s1);
    0x0009cf14 move v0, s0                           |         v0 = s0;
                                                     |         if (a0 != v1) {
    0x0009cf18 bne a0, v1, 0x9d010                   |             goto label_17;
                                                     |         }
    0x0009cf1c lw ra, 0x4c(sp)                       |         ra = *(var_4ch);
    0x0009cf20 lw s4, 0x48(sp)                       |         s4 = *(var_48h);
    0x0009cf24 lw s3, 0x44(sp)                       |         s3 = *(var_44h);
    0x0009cf28 lw s2, 0x40(sp)                       |         s2 = *(var_40h);
    0x0009cf2c lw s1, 0x3c(sp)                       |         s1 = *(var_3ch);
    0x0009cf30 lw s0, 0x38(sp)                       |         s0 = *(var_38h);
    0x0009cf34 addiu sp, sp, 0x50                    |         
    0x0009cf38 jr ra                                 |         return v0;
                                                     | label_14:
    0x0009cf3c lw t9, -0x7330(gp)                    |         t9 = *(gp);
    0x0009cf40 lw a0, 0x2c(sp)                       |         a0 = *(var_2ch);
    0x0009cf44 move a3, zero                         |         a3 = 0;
    0x0009cf48 move a2, zero                         |         a2 = 0;
    0x0009cf4c addiu a1, sp, 0x30                    |         a1 = sp + 0x30;
    0x0009cf50 bal 0x9be18                           |         sym_ssh_krl_from_blob ();
    0x0009cf54 move s3, v0                           |         s3 = v0;
    0x0009cf58 lw gp, 0x20(sp)                       |         gp = *(var_20h);
                                                     |         if (v0 == 0) {
    0x0009cf5c beqz v0, 0x9cf98                      |             goto label_18;
                                                     |         }
    0x0009cf60 lw t9, -0x7f90(gp)                    |         t9 = sym.sshbuf_free;
    0x0009cf64 lw a0, 0x2c(sp)                       |         a0 = *(var_2ch);
    0x0009cf68 move s0, v0                           |         s0 = v0;
    0x0009cf6c jalr t9                               |         t9 ();
    0x0009cf70 lw a0, 0x30(sp)                       |         a0 = *(var_30h);
    0x0009cf74 move s3, zero                         |         s3 = 0;
    0x0009cf78 lw gp, 0x20(sp)                       |         gp = *(var_20h);
    0x0009cf7c bnez a0, 0x9ceec                      |         
                                                     |     } while (a0 != 0);
                                                     | label_15:
    0x0009cf80 lw t9, -0x6c58(gp)                    |     t9 = sym.imp.__errno_location;
                                                     | label_16:
    0x0009cf84 jalr t9                               |     t9 ();
    0x0009cf88 nop                                   |     
    0x0009cf8c lw gp, 0x20(sp)                       |     gp = *(var_20h);
    0x0009cf90 sw s3, (v0)                           |     *(v0) = s3;
    0x0009cf94 b 0x9cf0c                             |     goto label_0;
                                                     | label_18:
    0x0009cf98 lw v0, -0x7e48(gp)                    |     v0 = *(gp);
    0x0009cf9c lw a1, -0x7e48(gp)                    |     a1 = *(gp);
    0x0009cfa0 lw a0, -0x7e48(gp)                    |     a0 = *(gp);
                                                     |     /* str.checking_KRL__s */
    0x0009cfa4 addiu v0, v0, -0x431c                 |     v0 += -0x431c;
    0x0009cfa8 lw t9, -0x7f6c(gp)                    |     t9 = sym.sshlog;
    0x0009cfac sw v0, 0x18(sp)                       |     *(var_18h_2) = v0;
    0x0009cfb0 addiu v0, zero, 6                     |     v0 = 6;
    0x0009cfb4 addiu a3, zero, 1                     |     a3 = 1;
    0x0009cfb8 addiu a2, zero, 0x541                 |     a2 = 0x541;
                                                     |     /* str.ssh_krl_file_contains_key */
    0x0009cfbc addiu a1, a1, -0x4204                 |     a1 += -0x4204;
                                                     |     /* str.krl.c */
    0x0009cfc0 addiu a0, a0, -0x4530                 |     a0 += -0x4530;
    0x0009cfc4 sw v0, 0x10(sp)                       |     *(var_10h_3) = v0;
    0x0009cfc8 sw s2, 0x1c(sp)                       |     *(var_1ch_3) = s2;
    0x0009cfcc sw zero, 0x14(sp)                     |     *(var_14h_2) = 0;
    0x0009cfd0 jalr t9                               |     t9 ();
    0x0009cfd4 lw gp, 0x20(sp)                       |     gp = *(var_20h);
    0x0009cfd8 lw a0, 0x30(sp)                       |     a0 = *(var_30h);
    0x0009cfdc lw t9, -0x7344(gp)                    |     t9 = sym.ssh_krl_check_key;
    0x0009cfe0 move a1, s4                           |     a1 = s4;
    0x0009cfe4 bal 0x9bd44                           |     sym_ssh_krl_check_key ();
    0x0009cfe8 lw gp, 0x20(sp)                       |     gp = *(var_20h);
    0x0009cfec lw a0, 0x2c(sp)                       |     a0 = *(var_2ch);
    0x0009cff0 lw t9, -0x7f90(gp)                    |     t9 = sym.sshbuf_free;
    0x0009cff4 move s0, v0                           |     s0 = v0;
    0x0009cff8 jalr t9                               |     t9 ();
    0x0009cffc lw a0, 0x30(sp)                       |     a0 = *(var_30h);
    0x0009d000 lw gp, 0x20(sp)                       |     gp = *(var_20h);
                                                     |     if (a0 != 0) {
    0x0009d004 bnez a0, 0x9ceec                      |         goto label_1;
                                                     |     }
    0x0009d008 b 0x9cf00                             |     goto label_2;
    0x0009d00c nop                                   |     
                                                     | label_17:
    0x0009d010 lw t9, -0x7068(gp)                    |     t9 = sym.imp.__stack_chk_fail;
    0x0009d014 jalr t9                               |     t9 ();
    0x0009d018 nop                                   |     
    0x0009d01c lui gp, 6                             |     
    0x0009d020 addiu gp, gp, 0x52d4                  |     
    0x0009d024 addu gp, gp, t9                       |     gp += t9;
    0x0009d028 addiu sp, sp, -0xb8                   |     
    0x0009d02c lw v0, -0x6fc4(gp)                    |     v0 = *((gp - 7153));
    0x0009d030 sw ra, 0xb4(sp)                       |     *(var_b4h) = ra;
    0x0009d034 sw gp, 0x20(sp)                       |     *(var_20h_2) = gp;
    0x0009d038 sw s2, 0x98(sp)                       |     *(var_98h) = s2;
    0x0009d03c sw s1, 0x94(sp)                       |     *(var_94h) = s1;
    0x0009d040 sw s0, 0x90(sp)                       |     *(var_90h) = s0;
    0x0009d044 move s2, a0                           |     s2 = a0;
    0x0009d048 sw fp, 0xb0(sp)                       |     *(var_b0h) = fp;
    0x0009d04c sw s7, 0xac(sp)                       |     *(var_ach) = s7;
    0x0009d050 sw s6, 0xa8(sp)                       |     *(var_a8h) = s6;
    0x0009d054 sw s5, 0xa4(sp)                       |     *(var_a4h) = s5;
    0x0009d058 sw s4, 0xa0(sp)                       |     *(var_a0h) = s4;
    0x0009d05c sw s3, 0x9c(sp)                       |     *(var_9ch) = s3;
    0x0009d060 lw t9, -0x7364(gp)                    |     t9 = *(gp);
    0x0009d064 sw v0, 0x3c(sp)                       |     *(var_3ch_2) = v0;
    0x0009d068 lw v0, (v0)                           |     v0 = *(v0);
    0x0009d06c move s0, a1                           |     s0 = a1;
    0x0009d070 lw a0, 8(a0)                          |     a0 = *((a0 + 2));
    0x0009d074 lw a1, 0xc(s2)                        |     a1 = *((s2 + 3));
    0x0009d078 addiu s1, sp, 0x4c                    |     s1 = sp + 0x4c;
    0x0009d07c move a2, s1                           |     a2 = s1;
    0x0009d080 sw v0, 0x8c(sp)                       |     *(var_8ch) = v0;
                                                     |     /* fcn.00099adc */
    0x0009d084 addiu t9, t9, -0x6524                 |     t9 += -0x6524;
    0x0009d088 sw zero, 0x40(sp)                     |     *(var_40h_2) = 0;
    0x0009d08c bal 0x99adc                           |     fcn_00099adc ();
    0x0009d090 nop                                   |     
    0x0009d094 lw gp, 0x20(sp)                       |     gp = *(var_20h_2);
    0x0009d098 lw v1, 4(s2)                          |     v1 = *((s2 + 1));
    0x0009d09c lw v0, (s2)                           |     v0 = *(s2);
    0x0009d0a0 lw a2, -0x7e48(gp)                    |     a2 = *(gp);
    0x0009d0a4 lw t9, -0x6ce8(gp)                    |     t9 = sym.imp.__fprintf_chk
                                                     |     /* str._KRL_version__llu_n */
    0x0009d0a8 addiu a2, a2, -0x430c                 |     a2 += -0x430c;
    0x0009d0ac addiu a1, zero, 1                     |     a1 = 1;
    0x0009d0b0 move a0, s0                           |     a0 = s0;
    0x0009d0b4 sw v1, 0x14(sp)                       |     *(var_14h) = v1;
    0x0009d0b8 sw v0, 0x10(sp)                       |     *(var_10h) = v0;
    0x0009d0bc jalr t9                               |     t9 ();
    0x0009d0c0 lw gp, 0x20(sp)                       |     gp = *(var_20h_2);
    0x0009d0c4 move a3, s1                           |     a3 = s1;
    0x0009d0c8 addiu a1, zero, 1                     |     a1 = 1;
    0x0009d0cc lw a2, -0x7e48(gp)                    |     a2 = *(gp);
    0x0009d0d0 lw t9, -0x6ce8(gp)                    |     t9 = sym.imp.__fprintf_chk
                                                     |     /* str._Generated_at__s_n */
    0x0009d0d4 addiu a2, a2, -0x42f8                 |     a2 += -0x42f8;
    0x0009d0d8 move a0, s0                           |     a0 = s0;
    0x0009d0dc jalr t9                               |     t9 ();
    0x0009d0e0 lw v0, 0x18(s2)                       |     v0 = *((s2 + 6));
    0x0009d0e4 lw gp, 0x20(sp)                       |     gp = *(var_20h_2);
                                                     |     if (v0 != 0) {
    0x0009d0e8 beqz v0, 0x9d0f8                      |         
    0x0009d0ec lb v1, (v0)                           |         v1 = *(v0);
    0x0009d0f0 lw a3, -0x7f34(gp)                    |         a3 = *(gp);
                                                     |         if (v1 != 0) {
    0x0009d0f4 bnez v1, 0x9d678                      |             goto label_19;
                                                     |         }
                                                     |     }
    0x0009d0f8 lw t9, -0x7080(gp)                    |     t9 = sym.imp.fputc;
    0x0009d0fc move a1, s0                           |     a1 = s0;
    0x0009d100 addiu a0, zero, 0xa                   |     a0 = 0xa;
    0x0009d104 jalr t9                               |     t9 ();
    0x0009d108 lw s6, 0x1c(s2)                       |     s6 = *((s2 + 7));
    0x0009d10c lw gp, 0x20(sp)                       |     gp = *(var_20h_2);
                                                     |     if (s6 != 0) {
    0x0009d110 bnez s6, 0x9d11c                      |         goto label_11;
                                                     |     }
    0x0009d114 sw zero, 0x30(sp)                     |     *(var_30h_2) = 0;
    0x0009d118 b 0x9d268                             |     goto label_12;
                                                     |     do {
                                                     | label_11:
    0x0009d11c lw v0, 8(s6)                          |         v0 = *((s6 + 2));
    0x0009d120 move s6, v0                           |         s6 = v0;
    0x0009d124 bnel v0, zero, 0x9d11c                |         
                                                     |     } while (v0 == 0);
    0x0009d128 lw v0, -0x7e48(gp)                    |     v0 = *(gp);
    0x0009d12c lw s1, -0x7364(gp)                    |     s1 = *(gp);
    0x0009d130 sw v0, 0x2c(sp)                       |     *(var_2ch_2) = v0;
    0x0009d134 lw v0, -0x7fb4(gp)                    |     v0 = *(gp);
    0x0009d138 lw s3, -0x7e48(gp)                    |     s3 = *(gp);
    0x0009d13c lw s5, -0x7e48(gp)                    |     s5 = *(gp);
                                                     |     /* str.sshkey_fingerprint_failed */
    0x0009d140 addiu v0, v0, 0x6d18                  |     v0 += 0x6d18;
    0x0009d144 lw s4, -0x7e48(gp)                    |     s4 = *(gp);
    0x0009d148 sw zero, 0x30(sp)                     |     *(var_30h_2) = 0;
    0x0009d14c addiu fp, sp, 0x40                    |     fp = sp + 0x40;
                                                     |     /* fcn.000986a8 */
    0x0009d150 addiu s1, s1, -0x7958                 |     s1 += -0x7958;
    0x0009d154 sw v0, 0x34(sp)                       |     *(var_34h_2) = v0;
                                                     |     /* str.krl_dump */
    0x0009d158 addiu s3, s3, -0x4210                 |     s3 += -0x4210;
                                                     |     /* str.parse_KRL_key */
    0x0009d15c addiu s5, s5, -0x42d4                 |     s5 += -0x42d4;
    0x0009d160 b 0x9d1ec                             |     
                                                     |     while (v0 == 0) {
    0x0009d164 lw t9, -0x7e70(gp)                    |         t9 = sym.sshkey_fingerprint;
    0x0009d168 lw a0, 0x40(sp)                       |         a0 = *(var_40h_2);
    0x0009d16c move a2, zero                         |         a2 = 0;
    0x0009d170 addiu a1, zero, 2                     |         a1 = 2;
    0x0009d174 jalr t9                               |         t9 ();
    0x0009d178 move s7, v0                           |         s7 = v0;
    0x0009d17c lw gp, 0x20(sp)                       |         gp = *(var_20h_2);
    0x0009d180 sw v0, 0x48(sp)                       |         *(var_48h_2) = v0;
                                                     |         if (v0 == 0) {
    0x0009d184 beqz v0, 0x9d654                      |             goto label_20;
                                                     |         }
    0x0009d188 lw t9, -0x7e6c(gp)                    |         t9 = sym.sshkey_ssh_name;
    0x0009d18c lw a0, 0x40(sp)                       |         a0 = *(var_40h_2);
    0x0009d190 jalr t9                               |         t9 ();
    0x0009d194 lw gp, 0x20(sp)                       |         gp = *(var_20h_2);
    0x0009d198 move a3, s7                           |         a3 = s7;
                                                     |         /* str.hash:_SHA256:_s___s_n */
    0x0009d19c addiu a2, s4, -0x42c4                 |         a2 = s4 + -0x42c4;
    0x0009d1a0 lw t9, -0x6ce8(gp)                    |         t9 = sym.imp.__fprintf_chk
    0x0009d1a4 addiu a1, zero, 1                     |         a1 = 1;
    0x0009d1a8 move a0, s0                           |         a0 = s0;
    0x0009d1ac sw v0, 0x10(sp)                       |         *(var_10h) = v0;
    0x0009d1b0 jalr t9                               |         t9 ();
    0x0009d1b4 lw gp, 0x20(sp)                       |         gp = *(var_20h_2);
    0x0009d1b8 lw t9, -0x6e6c(gp)                    |         t9 = sym.imp.free;
    0x0009d1bc lw a0, 0x48(sp)                       |         a0 = *(var_48h_2);
    0x0009d1c0 jalr t9                               |         t9 ();
    0x0009d1c4 lw gp, 0x20(sp)                       |         gp = *(var_20h_2);
    0x0009d1c8 lw t9, -0x6e6c(gp)                    |         t9 = sym.imp.free;
    0x0009d1cc lw a0, 0x40(sp)                       |         a0 = *(var_40h_2);
    0x0009d1d0 jalr t9                               |         t9 ();
    0x0009d1d4 move t9, s1                           |         t9 = s1;
    0x0009d1d8 move a0, s6                           |         a0 = s6;
    0x0009d1dc bal 0x986a8                           |         fcn_000986a8 ();
    0x0009d1e0 move s6, v0                           |         s6 = v0;
    0x0009d1e4 lw gp, 0x20(sp)                       |         gp = *(var_20h_2);
                                                     |         if (v0 == 0) {
    0x0009d1e8 beqz v0, 0x9d268                      |             goto label_12;
                                                     |         }
                                                     | label_3:
    0x0009d1ec lw t9, -0x7b24(gp)                    |         t9 = sym.sshkey_from_blob;
    0x0009d1f0 lw a1, 4(s6)                          |         a1 = *((s6 + 1));
    0x0009d1f4 lw a0, (s6)                           |         a0 = *(s6);
    0x0009d1f8 move a2, fp                           |         a2 = fp;
    0x0009d1fc jalr t9                               |         t9 ();
    0x0009d200 sw v0, 0x44(sp)                       |         *(var_44h_2) = v0;
    0x0009d204 lw gp, 0x20(sp)                       |         gp = *(var_20h_2);
    0x0009d208 beqz v0, 0x9d164                      |         
                                                     |     }
    0x0009d20c lw t9, -0x7f70(gp)                    |     t9 = sym.ssh_err;
    0x0009d210 move a0, v0                           |     a0 = v0;
    0x0009d214 jalr t9                               |     t9 ();
    0x0009d218 lw gp, 0x20(sp)                       |     gp = *(var_20h_2);
    0x0009d21c sw v0, 0x14(sp)                       |     *(var_14h) = v0;
    0x0009d220 addiu v0, zero, 2                     |     v0 = 2;
    0x0009d224 lw t9, -0x7f6c(gp)                    |     t9 = sym.sshlog;
    0x0009d228 sw s5, 0x18(sp)                       |     *(var_18h) = s5;
    0x0009d22c sw v0, 0x10(sp)                       |     *(var_10h) = v0;
    0x0009d230 move a3, zero                         |     a3 = 0;
    0x0009d234 addiu a2, zero, 0x566                 |     a2 = 0x566;
                                                     | label_10:
    0x0009d238 lw v0, 0x2c(sp)                       |     v0 = *(var_2ch_2);
    0x0009d23c move a1, s3                           |     a1 = s3;
    0x0009d240 addiu a0, v0, -0x4530                 |     a0 = v0 + -0x4530;
    0x0009d244 jalr t9                               |     t9 ();
    0x0009d248 addiu v0, zero, -4                    |     v0 = -4;
    0x0009d24c move a0, s6                           |     a0 = s6;
    0x0009d250 move t9, s1                           |     t9 = s1;
    0x0009d254 sw v0, 0x30(sp)                       |     *(var_30h_2) = v0;
    0x0009d258 bal 0x986a8                           |     fcn_000986a8 ();
    0x0009d25c move s6, v0                           |     s6 = v0;
    0x0009d260 lw gp, 0x20(sp)                       |     gp = *(var_20h_2);
                                                     |     if (v0 != 0) {
    0x0009d264 bnez v0, 0x9d1ec                      |         goto label_3;
                                                     |     }
                                                     | label_12:
    0x0009d268 lw s3, 0x24(s2)                       |     s3 = *((s2 + 9));
    0x0009d26c lw v0, 8(s3)                          |     v0 = *((s3 + 2));
                                                     |     if (s3 == 0) {
    0x0009d270 bnel s3, zero, 0x9d280                |         goto label_21;
                                                     |     }
    0x0009d274 lw s3, 0x20(s2)                       |     s3 = *((s2 + 8));
    0x0009d278 b 0x9d2f4                             |     goto label_22;
                                                     |     do {
    0x0009d27c lw v0, 8(s3)                          |         v0 = *((s3 + 2));
                                                     | label_21:
    0x0009d280 move s3, v0                           |         s3 = v0;
    0x0009d284 bnel v0, zero, 0x9d27c                |         
                                                     |     } while (v0 == 0);
    0x0009d288 lw s1, -0x7364(gp)                    |     s1 = *(gp);
    0x0009d28c lw s4, -0x7e48(gp)                    |     s4 = *(gp);
                                                     |     /* fcn.000986a8 */
    0x0009d290 addiu s1, s1, -0x7958                 |     s1 += -0x7958;
                                                     |     /* str.hash:_SHA256:_s_n */
    0x0009d294 addiu s4, s4, -0x42ac                 |     s4 += -0x42ac;
                                                     |     do {
    0x0009d298 lw t9, -0x75d8(gp)                    |         t9 = sym.tohex;
    0x0009d29c lw a1, 4(s3)                          |         a1 = *((s3 + 1));
    0x0009d2a0 lw a0, (s3)                           |         a0 = *(s3);
    0x0009d2a4 bal 0x838b4                           |         sym_tohex ();
    0x0009d2a8 lw gp, 0x20(sp)                       |         gp = *(var_20h_2);
    0x0009d2ac move a3, v0                           |         a3 = v0;
    0x0009d2b0 move a2, s4                           |         a2 = s4;
    0x0009d2b4 lw t9, -0x6ce8(gp)                    |         t9 = sym.imp.__fprintf_chk
    0x0009d2b8 addiu a1, zero, 1                     |         a1 = 1;
    0x0009d2bc move a0, s0                           |         a0 = s0;
    0x0009d2c0 sw v0, 0x48(sp)                       |         *(var_48h_2) = v0;
    0x0009d2c4 jalr t9                               |         t9 ();
    0x0009d2c8 lw gp, 0x20(sp)                       |         gp = *(var_20h_2);
    0x0009d2cc lw t9, -0x6e6c(gp)                    |         t9 = sym.imp.free;
    0x0009d2d0 lw a0, 0x48(sp)                       |         a0 = *(var_48h_2);
    0x0009d2d4 jalr t9                               |         t9 ();
    0x0009d2d8 move t9, s1                           |         t9 = s1;
    0x0009d2dc move a0, s3                           |         a0 = s3;
    0x0009d2e0 bal 0x986a8                           |         fcn_000986a8 ();
    0x0009d2e4 move s3, v0                           |         s3 = v0;
    0x0009d2e8 lw gp, 0x20(sp)                       |         gp = *(var_20h_2);
    0x0009d2ec bnez v0, 0x9d298                      |         
                                                     |     } while (v0 != 0);
    0x0009d2f0 lw s3, 0x20(s2)                       |     s3 = *((s2 + 8));
                                                     | label_22:
    0x0009d2f4 lw v0, 8(s3)                          |     v0 = *((s3 + 2));
                                                     |     if (s3 == 0) {
    0x0009d2f8 bnel s3, zero, 0x9d308                |         goto label_23;
                                                     |     }
    0x0009d2fc lw s1, 0x28(s2)                       |     s1 = *((s2 + 10));
    0x0009d300 b 0x9d37c                             |     goto label_24;
                                                     |     do {
    0x0009d304 lw v0, 8(s3)                          |         v0 = *((s3 + 2));
                                                     | label_23:
    0x0009d308 move s3, v0                           |         s3 = v0;
    0x0009d30c bnel v0, zero, 0x9d304                |         
                                                     |     } while (v0 == 0);
    0x0009d310 lw s1, -0x7364(gp)                    |     s1 = *(gp);
    0x0009d314 lw s4, -0x7e48(gp)                    |     s4 = *(gp);
                                                     |     /* fcn.000986a8 */
    0x0009d318 addiu s1, s1, -0x7958                 |     s1 += -0x7958;
                                                     |     /* str._hash_SHA1:_s_n */
    0x0009d31c addiu s4, s4, -0x4298                 |     s4 += -0x4298;
                                                     |     do {
    0x0009d320 lw t9, -0x75d8(gp)                    |         t9 = sym.tohex;
    0x0009d324 lw a1, 4(s3)                          |         a1 = *((s3 + 1));
    0x0009d328 lw a0, (s3)                           |         a0 = *(s3);
    0x0009d32c bal 0x838b4                           |         sym_tohex ();
    0x0009d330 lw gp, 0x20(sp)                       |         gp = *(var_20h_2);
    0x0009d334 move a3, v0                           |         a3 = v0;
    0x0009d338 move a2, s4                           |         a2 = s4;
    0x0009d33c lw t9, -0x6ce8(gp)                    |         t9 = sym.imp.__fprintf_chk
    0x0009d340 addiu a1, zero, 1                     |         a1 = 1;
    0x0009d344 move a0, s0                           |         a0 = s0;
    0x0009d348 sw v0, 0x48(sp)                       |         *(var_48h_2) = v0;
    0x0009d34c jalr t9                               |         t9 ();
    0x0009d350 lw gp, 0x20(sp)                       |         gp = *(var_20h_2);
    0x0009d354 lw t9, -0x6e6c(gp)                    |         t9 = sym.imp.free;
    0x0009d358 lw a0, 0x48(sp)                       |         a0 = *(var_48h_2);
    0x0009d35c jalr t9                               |         t9 ();
    0x0009d360 move t9, s1                           |         t9 = s1;
    0x0009d364 move a0, s3                           |         a0 = s3;
    0x0009d368 bal 0x986a8                           |         fcn_000986a8 ();
    0x0009d36c move s3, v0                           |         s3 = v0;
    0x0009d370 lw gp, 0x20(sp)                       |         gp = *(var_20h_2);
    0x0009d374 bnez v0, 0x9d320                      |         
                                                     |     } while (v0 != 0);
    0x0009d378 lw s1, 0x28(s2)                       |     s1 = *((s2 + 10));
                                                     | label_24:
    0x0009d37c lw v0, 0x3c(sp)                       |     v0 = *(var_3ch_2);
                                                     |     if (s1 == 0) {
    0x0009d380 beqz s1, 0x9d59c                      |         goto label_8;
                                                     |     }
    0x0009d384 lw v0, -0x7e48(gp)                    |     v0 = *(gp);
    0x0009d388 lw s2, -0x7364(gp)                    |     s2 = *(gp);
    0x0009d38c sw v0, 0x34(sp)                       |     *(var_34h_2) = v0;
    0x0009d390 lw v0, -0x7e48(gp)                    |     v0 = *(gp);
    0x0009d394 lw s4, -0x7364(gp)                    |     s4 = *(gp);
    0x0009d398 lw s3, -0x7f34(gp)                    |     s3 = *(gp);
    0x0009d39c sw v0, 0x38(sp)                       |     *(var_38h_2) = v0;
                                                     |     /* fcn.00098180 */
    0x0009d3a0 addiu v0, s2, -0x7e80                 |     v0 = s2 + -0x7e80;
                                                     |     /* fcn.000981ec */
    0x0009d3a4 addiu s4, s4, -0x7e14                 |     s4 += -0x7e14;
                                                     |     /* esilref: '&s' */
    0x0009d3a8 addiu s3, s3, -0x7908                 |     s3 += -0x7908;
    0x0009d3ac sw v0, 0x2c(sp)                       |     *(var_2ch_2) = v0;
                                                     | label_7:
    0x0009d3b0 lw t9, -0x7080(gp)                    |     t9 = sym.imp.fputc;
                                                     | label_6:
    0x0009d3b4 addiu a0, zero, 0xa                   |     a0 = 0xa;
    0x0009d3b8 move a1, s0                           |     a1 = s0;
    0x0009d3bc jalr t9                               |     t9 ();
    0x0009d3c0 lw a0, (s1)                           |     a0 = *(s1);
    0x0009d3c4 lw gp, 0x20(sp)                       |     gp = *(var_20h_2);
                                                     |     if (a0 == 0) {
    0x0009d3c8 beqz a0, 0x9d630                      |         goto label_25;
                                                     |     }
    0x0009d3cc lw t9, -0x7e70(gp)                    |     t9 = sym.sshkey_fingerprint;
    0x0009d3d0 move a2, zero                         |     a2 = 0;
    0x0009d3d4 addiu a1, zero, 2                     |     a1 = 2;
    0x0009d3d8 jalr t9                               |     t9 ();
    0x0009d3dc sw v0, 0x48(sp)                       |     *(var_48h_2) = v0;
    0x0009d3e0 lw gp, 0x20(sp)                       |     gp = *(var_20h_2);
                                                     |     if (v0 == 0) {
    0x0009d3e4 beqz v0, 0x9d5dc                      |         goto label_26;
                                                     |     }
    0x0009d3e8 lw t9, -0x7e6c(gp)                    |     t9 = sym.sshkey_ssh_name;
    0x0009d3ec lw a0, (s1)                           |     a0 = *(s1);
    0x0009d3f0 jalr t9                               |     t9 ();
    0x0009d3f4 lw gp, 0x20(sp)                       |     gp = *(var_20h_2);
    0x0009d3f8 move a3, v0                           |     a3 = v0;
    0x0009d3fc lw v0, 0x48(sp)                       |     v0 = *(var_48h_2);
    0x0009d400 lw a2, -0x7e48(gp)                    |     a2 = *(gp);
    0x0009d404 lw t9, -0x6ce8(gp)                    |     t9 = sym.imp.__fprintf_chk
                                                     |     /* str._CA_key__s__s_n */
    0x0009d408 addiu a2, a2, -0x4278                 |     a2 += -0x4278;
    0x0009d40c addiu a1, zero, 1                     |     a1 = 1;
    0x0009d410 move a0, s0                           |     a0 = s0;
    0x0009d414 sw v0, 0x10(sp)                       |     *(var_10h) = v0;
    0x0009d418 jalr t9                               |     t9 ();
    0x0009d41c lw gp, 0x20(sp)                       |     gp = *(var_20h_2);
    0x0009d420 lw t9, -0x6e6c(gp)                    |     t9 = sym.imp.free;
    0x0009d424 lw a0, 0x48(sp)                       |     a0 = *(var_48h_2);
    0x0009d428 jalr t9                               |     t9 ();
    0x0009d42c lw gp, 0x20(sp)                       |     gp = *(var_20h_2);
                                                     | label_9:
    0x0009d430 lw s2, 4(s1)                          |     s2 = *((s1 + 1));
    0x0009d434 lw v0, 0x10(s2)                       |     v0 = *((s2 + 4));
                                                     |     if (s2 == 0) {
    0x0009d438 bnel s2, zero, 0x9d448                |         goto label_27;
                                                     |     }
    0x0009d43c lw s6, 8(s1)                          |     s6 = *((s1 + 2));
    0x0009d440 b 0x9d4f0                             |     goto label_28;
                                                     |     do {
    0x0009d444 lw v0, 0x10(s2)                       |         v0 = *((s2 + 4));
                                                     | label_27:
    0x0009d448 move s2, v0                           |         s2 = v0;
    0x0009d44c bnel v0, zero, 0x9d444                |         
                                                     |     } while (v0 == 0);
    0x0009d450 lw v0, 0x38(sp)                       |     v0 = *(var_38h_2);
    0x0009d454 lw s6, -0x7e48(gp)                    |     s6 = *(gp);
    0x0009d458 addiu s5, v0, -0x4258                 |     s5 = v0 + -0x4258;
                                                     |     /* str.serial:__llu_n */
    0x0009d45c addiu s6, s6, -0x4268                 |     s6 += -0x4268;
    0x0009d460 b 0x9d49c                             |     
                                                     |     while (v0 != a0) {
    0x0009d464 sw a0, 0x18(sp)                       |         *(var_18h) = a0;
                                                     | label_4:
    0x0009d468 sw a2, 0x1c(sp)                       |         *(var_1ch_2) = a2;
    0x0009d46c sw a1, 0x14(sp)                       |         *(var_14h) = a1;
    0x0009d470 move a2, s5                           |         a2 = s5;
    0x0009d474 addiu a1, zero, 1                     |         a1 = 1;
    0x0009d478 move a0, s0                           |         a0 = s0;
    0x0009d47c sw v0, 0x10(sp)                       |         *(var_10h) = v0;
    0x0009d480 jalr t9                               |         t9 ();
    0x0009d484 lw t9, 0x2c(sp)                       |         t9 = *(var_2ch_2);
    0x0009d488 move a0, s2                           |         a0 = s2;
    0x0009d48c jalr t9                               |         t9 ();
    0x0009d490 move s2, v0                           |         s2 = v0;
    0x0009d494 lw gp, 0x20(sp)                       |         gp = *(var_20h_2);
                                                     |         if (v0 == 0) {
    0x0009d498 beqz v0, 0x9d4ec                      |             goto label_29;
                                                     |         }
                                                     | label_5:
    0x0009d49c lw v0, (s2)                           |         v0 = *(s2);
    0x0009d4a0 lw a0, 8(s2)                          |         a0 = *((s2 + 2));
    0x0009d4a4 lw a1, 4(s2)                          |         a1 = *((s2 + 1));
    0x0009d4a8 lw a2, 0xc(s2)                        |         a2 = *((s2 + 3));
    0x0009d4ac lw t9, -0x6ce8(gp)                    |         t9 = sym.imp.__fprintf_chk
    0x0009d4b0 bne v0, a0, 0x9d464                   |         
                                                     |     }
    0x0009d4b4 sw a0, 0x18(sp)                       |     *(var_18h) = a0;
                                                     |     if (a1 == a2) {
    0x0009d4b8 bnel a1, a2, 0x9d468                  |         goto label_4;
                                                     |     }
    0x0009d4bc sw a1, 0x14(sp)                       |     *(var_14h) = a1;
    0x0009d4c0 move a2, s6                           |     a2 = s6;
    0x0009d4c4 addiu a1, zero, 1                     |     a1 = 1;
    0x0009d4c8 move a0, s0                           |     a0 = s0;
    0x0009d4cc sw v0, 0x10(sp)                       |     *(var_10h) = v0;
    0x0009d4d0 jalr t9                               |     t9 ();
    0x0009d4d4 lw t9, 0x2c(sp)                       |     t9 = *(var_2ch_2);
    0x0009d4d8 move a0, s2                           |     a0 = s2;
    0x0009d4dc jalr t9                               |     t9 ();
    0x0009d4e0 move s2, v0                           |     s2 = v0;
    0x0009d4e4 lw gp, 0x20(sp)                       |     gp = *(var_20h_2);
                                                     |     if (v0 != 0) {
    0x0009d4e8 bnez v0, 0x9d49c                      |         goto label_5;
                                                     |     }
                                                     | label_29:
    0x0009d4ec lw s6, 8(s1)                          |     s6 = *((s1 + 2));
                                                     | label_28:
    0x0009d4f0 lw v0, 4(s6)                          |     v0 = *((s6 + 1));
                                                     |     if (s6 == 0) {
    0x0009d4f4 bnel s6, zero, 0x9d504                |         goto label_30;
                                                     |     }
    0x0009d4f8 lw s1, 0xc(s1)                        |     s1 = *((s1 + 3));
    0x0009d4fc b 0x9d590                             |     goto label_31;
                                                     |     do {
    0x0009d500 lw v0, 4(s6)                          |         v0 = *((s6 + 1));
                                                     | label_30:
    0x0009d504 move s6, v0                           |         s6 = v0;
    0x0009d508 bnel v0, zero, 0x9d500                |         
                                                     |     } while (v0 == 0);
    0x0009d50c lw v0, 0x34(sp)                       |     v0 = *(var_34h_2);
    0x0009d510 lui v1, 0x7fff                        |     v1 = 0x7fff0000;
    0x0009d514 addiu s2, sp, 0x44                    |     s2 = sp + 0x44;
    0x0009d518 addiu s7, sp, 0x48                    |     s7 = sp + 0x48;
    0x0009d51c ori fp, v1, 0xffff                    |     fp = v1 | 0xffff;
    0x0009d520 addiu s5, v0, -0x4244                 |     s5 = v0 + -0x4244;
                                                     |     do {
    0x0009d524 sw fp, 0x44(sp)                       |         *(var_44h_2) = fp;
    0x0009d528 lw v0, (s6)                           |         v0 = *(s6);
    0x0009d52c lw t9, -0x732c(gp)                    |         t9 = sym.asmprintf;
    0x0009d530 move a3, s3                           |         a3 = s3;
    0x0009d534 move a2, s2                           |         a2 = s2;
    0x0009d538 move a1, fp                           |         a1 = fp;
    0x0009d53c move a0, s7                           |         a0 = s7;
    0x0009d540 sw v0, 0x10(sp)                       |         *(var_10h) = v0;
    0x0009d544 bal 0x9e528                           |         sym_asmprintf ();
    0x0009d548 lw gp, 0x20(sp)                       |         gp = *(var_20h_2);
    0x0009d54c lw a3, 0x48(sp)                       |         a3 = *(var_48h_2);
    0x0009d550 move a2, s5                           |         a2 = s5;
    0x0009d554 lw t9, -0x6ce8(gp)                    |         t9 = sym.imp.__fprintf_chk
    0x0009d558 addiu a1, zero, 1                     |         a1 = 1;
    0x0009d55c move a0, s0                           |         a0 = s0;
    0x0009d560 jalr t9                               |         t9 ();
    0x0009d564 lw gp, 0x20(sp)                       |         gp = *(var_20h_2);
    0x0009d568 lw t9, -0x6e6c(gp)                    |         t9 = sym.imp.free;
    0x0009d56c lw a0, 0x48(sp)                       |         a0 = *(var_48h_2);
    0x0009d570 jalr t9                               |         t9 ();
    0x0009d574 move t9, s4                           |         t9 = s4;
    0x0009d578 move a0, s6                           |         a0 = s6;
    0x0009d57c bal 0x981ec                           |         fcn_000981ec ();
    0x0009d580 move s6, v0                           |         s6 = v0;
    0x0009d584 lw gp, 0x20(sp)                       |         gp = *(var_20h_2);
    0x0009d588 bnez v0, 0x9d524                      |         
                                                     |     } while (v0 != 0);
    0x0009d58c lw s1, 0xc(s1)                        |     s1 = *((s1 + 3));
                                                     | label_31:
    0x0009d590 lw t9, -0x7080(gp)                    |     t9 = sym.imp.fputc;
                                                     |     if (s1 != 0) {
    0x0009d594 bnez s1, 0x9d3b4                      |         goto label_6;
                                                     |     }
    0x0009d598 lw v0, 0x3c(sp)                       |     v0 = *(var_3ch_2);
                                                     | label_8:
    0x0009d59c lw a0, 0x8c(sp)                       |     a0 = *(var_8ch);
    0x0009d5a0 lw v1, (v0)                           |     v1 = *(v0);
    0x0009d5a4 lw v0, 0x30(sp)                       |     v0 = *(var_30h_2);
                                                     |     if (a0 != v1) {
    0x0009d5a8 bne a0, v1, 0x9d6f8                   |         goto label_32;
                                                     |     }
    0x0009d5ac lw ra, 0xb4(sp)                       |     ra = *(var_b4h);
    0x0009d5b0 lw fp, 0xb0(sp)                       |     fp = *(var_b0h);
    0x0009d5b4 lw s7, 0xac(sp)                       |     s7 = *(var_ach);
    0x0009d5b8 lw s6, 0xa8(sp)                       |     s6 = *(var_a8h);
    0x0009d5bc lw s5, 0xa4(sp)                       |     s5 = *(var_a4h);
    0x0009d5c0 lw s4, 0xa0(sp)                       |     s4 = *(var_a0h);
    0x0009d5c4 lw s3, 0x9c(sp)                       |     s3 = *(var_9ch);
    0x0009d5c8 lw s2, 0x98(sp)                       |     s2 = *(var_98h);
    0x0009d5cc lw s1, 0x94(sp)                       |     s1 = *(var_94h);
    0x0009d5d0 lw s0, 0x90(sp)                       |     s0 = *(var_90h);
    0x0009d5d4 addiu sp, sp, 0xb8                    |     
    0x0009d5d8 jr ra                                 |     return v0;
                                                     | label_26:
    0x0009d5dc lw v0, -0x7fb4(gp)                    |     v0 = *(gp);
    0x0009d5e0 lw a1, -0x7e48(gp)                    |     a1 = *(gp);
    0x0009d5e4 lw a0, -0x7e48(gp)                    |     a0 = *(gp);
                                                     |     /* str.sshkey_fingerprint_failed */
    0x0009d5e8 addiu v0, v0, 0x6d18                  |     v0 += 0x6d18;
    0x0009d5ec lw t9, -0x7f6c(gp)                    |     t9 = sym.sshlog;
    0x0009d5f0 sw v0, 0x18(sp)                       |     *(var_18h) = v0;
    0x0009d5f4 addiu v0, zero, 2                     |     v0 = 2;
    0x0009d5f8 sw v0, 0x10(sp)                       |     *(var_10h) = v0;
    0x0009d5fc sw zero, 0x14(sp)                     |     *(var_14h) = 0;
    0x0009d600 move a3, zero                         |     a3 = 0;
    0x0009d604 addiu a2, zero, 0x58a                 |     a2 = 0x58a;
                                                     |     /* str.krl_dump */
    0x0009d608 addiu a1, a1, -0x4210                 |     a1 += -0x4210;
                                                     |     /* str.krl.c */
    0x0009d60c addiu a0, a0, -0x4530                 |     a0 += -0x4530;
    0x0009d610 jalr t9                               |     t9 ();
    0x0009d614 lw s1, 0xc(s1)                        |     s1 = *((s1 + 3));
    0x0009d618 addiu v0, zero, -4                    |     v0 = -4;
    0x0009d61c lw gp, 0x20(sp)                       |     gp = *(var_20h_2);
    0x0009d620 sw v0, 0x30(sp)                       |     *(var_30h_2) = v0;
                                                     |     if (s1 != 0) {
    0x0009d624 bnez s1, 0x9d3b0                      |         goto label_7;
                                                     |     }
    0x0009d628 lw v0, 0x3c(sp)                       |     v0 = *(var_3ch_2);
    0x0009d62c b 0x9d59c                             |     goto label_8;
                                                     | label_25:
    0x0009d630 lw a0, -0x7e48(gp)                    |     a0 = *(gp);
    0x0009d634 lw t9, -0x702c(gp)                    |     t9 = sym.imp.fwrite;
    0x0009d638 move a3, s0                           |     a3 = s0;
    0x0009d63c addiu a2, zero, 0xe                   |     a2 = 0xe;
    0x0009d640 addiu a1, zero, 1                     |     a1 = 1;
                                                     |     /* str._Wildcard_CA_n */
    0x0009d644 addiu a0, a0, -0x4288                 |     a0 += -0x4288;
    0x0009d648 jalr t9                               |     t9 ();
    0x0009d64c lw gp, 0x20(sp)                       |     gp = *(var_20h_2);
    0x0009d650 b 0x9d430                             |     goto label_9;
                                                     | label_20:
    0x0009d654 lw v0, 0x34(sp)                       |     v0 = *(var_34h_2);
    0x0009d658 lw t9, -0x7f6c(gp)                    |     t9 = sym.sshlog;
    0x0009d65c sw v0, 0x18(sp)                       |     *(var_18h) = v0;
    0x0009d660 addiu v0, zero, 2                     |     v0 = 2;
    0x0009d664 sw zero, 0x14(sp)                     |     *(var_14h) = 0;
    0x0009d668 sw v0, 0x10(sp)                       |     *(var_10h) = v0;
    0x0009d66c move a3, zero                         |     a3 = 0;
    0x0009d670 addiu a2, zero, 0x56c                 |     a2 = 0x56c;
    0x0009d674 b 0x9d238                             |     goto label_10;
                                                     | label_19:
    0x0009d678 lui v1, 0x7fff                        |     v1 = 0x7fffffff;
    0x0009d67c ori v1, v1, 0xffff                    |     
    0x0009d680 lw t9, -0x732c(gp)                    |     t9 = sym.asmprintf;
    0x0009d684 move a1, v1                           |     a1 = v1;
    0x0009d688 sw v1, 0x44(sp)                       |     *(var_44h_2) = v1;
                                                     |     /* esilref: '&s' */
    0x0009d68c addiu a3, a3, -0x7908                 |     a3 += -0x7908;
    0x0009d690 addiu a2, sp, 0x44                    |     a2 = sp + 0x44;
    0x0009d694 addiu a0, sp, 0x48                    |     a0 = sp + 0x48;
    0x0009d698 sw v0, 0x10(sp)                       |     *(var_10h) = v0;
    0x0009d69c bal 0x9e528                           |     sym_asmprintf ();
    0x0009d6a0 lw gp, 0x20(sp)                       |     gp = *(var_20h_2);
    0x0009d6a4 lw a3, 0x48(sp)                       |     a3 = *(var_48h_2);
    0x0009d6a8 addiu a1, zero, 1                     |     a1 = 1;
    0x0009d6ac lw a2, -0x7e48(gp)                    |     a2 = *(gp);
    0x0009d6b0 lw t9, -0x6ce8(gp)                    |     t9 = sym.imp.__fprintf_chk
                                                     |     /* str._Comment:__s_n */
    0x0009d6b4 addiu a2, a2, -0x42e4                 |     a2 += -0x42e4;
    0x0009d6b8 move a0, s0                           |     a0 = s0;
    0x0009d6bc jalr t9                               |     t9 ();
    0x0009d6c0 lw gp, 0x20(sp)                       |     gp = *(var_20h_2);
    0x0009d6c4 lw t9, -0x6e6c(gp)                    |     t9 = sym.imp.free;
    0x0009d6c8 lw a0, 0x48(sp)                       |     a0 = *(var_48h_2);
    0x0009d6cc jalr t9                               |     t9 ();
    0x0009d6d0 lw gp, 0x20(sp)                       |     gp = *(var_20h_2);
    0x0009d6d4 move a1, s0                           |     a1 = s0;
    0x0009d6d8 lw t9, -0x7080(gp)                    |     t9 = sym.imp.fputc;
    0x0009d6dc addiu a0, zero, 0xa                   |     a0 = 0xa;
    0x0009d6e0 jalr t9                               |     t9 ();
    0x0009d6e4 lw s6, 0x1c(s2)                       |     s6 = *((s2 + 7));
    0x0009d6e8 lw gp, 0x20(sp)                       |     gp = *(var_20h_2);
                                                     |     if (s6 != 0) {
    0x0009d6ec bnez s6, 0x9d11c                      |         goto label_11;
                                                     |     }
    0x0009d6f0 sw zero, 0x30(sp)                     |     *(var_30h_2) = 0;
    0x0009d6f4 b 0x9d268                             |     goto label_12;
                                                     | label_32:
    0x0009d6f8 lw t9, -0x7068(gp)                    |     t9 = sym.imp.__stack_chk_fail;
    0x0009d6fc jalr t9                               |     t9 ();
    0x0009d700 nop                                   |     
    0x0009d704 nop                                   |     
    0x0009d708 nop                                   |     
    0x0009d70c nop                                   |     
                                                     | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/sshd @ 0x590c0 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.sshbuf_dump_data ()          | void sshbuf_dump_data () {
    0x000590c0 lui gp, 0xb                   |     
    0x000590c4 addiu gp, gp, -0x6dd0         |     
    0x000590c8 addu gp, gp, t9               |     gp += t9;
                                             |     if (a1 == 0) {
    0x000590cc beqz a1, 0x592b4              |         goto label_5;
                                             |     }
    0x000590d0 nop                           |     
    0x000590d4 addiu sp, sp, -0x48           |     
    0x000590d8 sw fp, 0x40(sp)               |     *(var_40h_2) = fp;
    0x000590dc lw fp, -0x7f34(gp)            |     fp = *(gp);
    0x000590e0 sw s7, 0x3c(sp)               |     *(var_3ch_4) = s7;
    0x000590e4 sw s5, 0x34(sp)               |     *(var_34h_4) = s5;
    0x000590e8 lw s7, -0x7f34(gp)            |     s7 = *(gp);
    0x000590ec lw s5, -0x7f34(gp)            |     s5 = *(gp);
                                             |     /* str._.4zu:_ */
    0x000590f0 addiu v0, fp, 0x3550          |     v0 = fp + 0x3550;
    0x000590f4 sw s6, 0x38(sp)               |     *(var_38h_4) = s6;
    0x000590f8 sw s4, 0x30(sp)               |     *(var_30h_3) = s4;
    0x000590fc sw s2, 0x28(sp)               |     *(var_28h_2) = s2;
    0x00059100 sw s1, 0x24(sp)               |     *(var_24h_3) = s1;
    0x00059104 sw gp, 0x10(sp)               |     *(var_10h_4) = gp;
    0x00059108 sw ra, 0x44(sp)               |     *(var_44h_2) = ra;
    0x0005910c sw s3, 0x2c(sp)               |     *(var_2ch_4) = s3;
    0x00059110 sw s0, 0x20(sp)               |     *(var_20h_2) = s0;
    0x00059114 move s2, a2                   |     s2 = a2;
    0x00059118 move s6, a0                   |     s6 = a0;
    0x0005911c move s4, a1                   |     s4 = a1;
    0x00059120 move s1, zero                 |     s1 = 0;
    0x00059124 sw v0, 0x1c(sp)               |     *(var_1ch_3) = v0;
                                             |     /* esilref: '   ' */
    0x00059128 addiu s7, s7, 0x3560          |     s7 += 0x3560;
                                             |     /* str._02x_ */
    0x0005912c addiu s5, s5, 0x3558          |     s5 += 0x3558;
                                             | label_3:
    0x00059130 lw t9, -0x6ce8(gp)            |     t9 = sym.imp.__fprintf_chk
    0x00059134 lw a2, 0x1c(sp)               |     a2 = *(var_1ch_3);
    0x00059138 move a3, s1                   |     a3 = s1;
    0x0005913c addiu a1, zero, 1             |     a1 = 1;
    0x00059140 move a0, s2                   |     a0 = s2;
    0x00059144 addiu s3, s1, 0x10            |     s3 = s1 + 0x10;
    0x00059148 jalr t9                       |     t9 ();
    0x0005914c sltu v0, s1, s3               |     v0 = (s1 < s3) ? 1 : 0;
    0x00059150 lw gp, 0x10(sp)               |     gp = *(var_10h_4);
                                             |     if (v0 == 0) {
    0x00059154 beqz v0, 0x5929c              |         goto label_6;
                                             |     }
    0x00059158 move s0, s1                   |     s0 = s1;
    0x0005915c b 0x59174                     |     
                                             |     while (v0 != 0) {
    0x00059160 lbux a3, s0(s6)               |         __asm ("lbux a3, s0(s6)");
    0x00059164 addiu s0, s0, 1               |         s0++;
    0x00059168 jalr t9                       |         t9 ();
    0x0005916c lw gp, 0x10(sp)               |         gp = *(var_10h_4);
                                             |         if (s0 == s3) {
    0x00059170 beq s0, s3, 0x591b4           |             goto label_7;
                                             |         }
                                             | label_0:
    0x00059174 sltu v0, s0, s4               |         v0 = (s0 < s4) ? 1 : 0;
    0x00059178 lw t9, -0x6ce8(gp)            |         t9 = sym.imp.__fprintf_chk
    0x0005917c move a2, s5                   |         a2 = s5;
    0x00059180 addiu a1, zero, 1             |         a1 = 1;
    0x00059184 move a0, s2                   |         a0 = s2;
    0x00059188 lw v1, -0x702c(gp)            |         v1 = sym.imp.fwrite;
    0x0005918c bnez v0, 0x59160              |         
                                             |     }
    0x00059190 move a3, s2                   |     a3 = s2;
    0x00059194 addiu a2, zero, 3             |     a2 = 3;
    0x00059198 addiu a1, zero, 1             |     a1 = 1;
    0x0005919c move a0, s7                   |     a0 = s7;
    0x000591a0 move t9, v1                   |     t9 = v1;
    0x000591a4 addiu s0, s0, 1               |     s0++;
    0x000591a8 jalr t9                       |     t9 ();
    0x000591ac lw gp, 0x10(sp)               |     gp = *(var_10h_4);
                                             |     if (s0 != s3) {
    0x000591b0 bne s0, s3, 0x59174           |         goto label_0;
                                             |     }
                                             | label_7:
    0x000591b4 lw t9, -0x7080(gp)            |     t9 = sym.imp.fputc;
    0x000591b8 move a1, s2                   |     a1 = s2;
    0x000591bc addiu a0, zero, 0x20          |     a0 = 0x20;
    0x000591c0 jalr t9                       |     t9 ();
    0x000591c4 addiu s0, zero, -0x80         |     s0 = -0x80;
    0x000591c8 lw gp, 0x10(sp)               |     gp = *(var_10h_4);
    0x000591cc b 0x591f0                     |     goto label_2;
                                             | label_1:
    0x000591d0 lw t9, -0x7080(gp)            |     t9 = sym.imp.fputc;
    0x000591d4 move a1, s2                   |     a1 = s2;
    0x000591d8 addiu a0, zero, 0x2e          |     a0 = 0x2e;
    0x000591dc jalr t9                       |     t9 ();
    0x000591e0 lw gp, 0x10(sp)               |     gp = *(var_10h_4);
    0x000591e4 addiu s1, s1, 1               |     s1++;
                                             |     do {
    0x000591e8 lw t9, -0x7080(gp)            |         t9 = sym.imp.fputc;
                                             |         if (s1 == s3) {
    0x000591ec beq s1, s3, 0x59250           |             goto label_8;
                                             |         }
                                             | label_2:
    0x000591f0 sltu v0, s1, s4               |         v0 = (s1 < s4) ? 1 : 0;
    0x000591f4 beql v0, zero, 0x591e8        |         
                                             |     } while (v0 == 0);
    0x000591f8 addiu s1, s1, 1               |     s1++;
    0x000591fc lbux fp, s1(s6)               |     __asm ("lbux fp, s1(s6)");
    0x00059200 and v0, fp, s0                |     v0 = fp & s0;
    0x00059204 lw t9, -0x6ef0(gp)            |     t9 = sym.imp.__ctype_b_loc;
                                             |     if (v0 != 0) {
    0x00059208 bnez v0, 0x591d0              |         goto label_1;
                                             |     }
    0x0005920c jalr t9                       |     t9 ();
    0x00059210 nop                           |     
    0x00059214 lw v0, (v0)                   |     v0 = *(v0);
    0x00059218 sll v1, fp, 1                 |     v1 = fp << 1;
    0x0005921c addu v0, v0, v1               |     v0 += v1;
    0x00059220 lhu v0, (v0)                  |     v0 = *(v0);
    0x00059224 andi v0, v0, 0x4000           |     v0 &= 0x4000;
    0x00059228 lw gp, 0x10(sp)               |     gp = *(var_10h_4);
                                             |     if (v0 == 0) {
    0x0005922c beqz v0, 0x591d0              |         goto label_1;
                                             |     }
    0x00059230 lw t9, -0x7080(gp)            |     t9 = sym.imp.fputc;
    0x00059234 move a1, s2                   |     a1 = s2;
    0x00059238 move a0, fp                   |     a0 = fp;
    0x0005923c addiu s1, s1, 1               |     s1++;
    0x00059240 jalr t9                       |     t9 ();
    0x00059244 lw gp, 0x10(sp)               |     gp = *(var_10h_4);
                                             |     if (s1 != s3) {
    0x00059248 bne s1, s3, 0x591f0           |         goto label_2;
                                             |     }
                                             | label_4:
    0x0005924c lw t9, -0x7080(gp)            |     t9 = sym.imp.fputc;
                                             | label_8:
    0x00059250 move a1, s2                   |     a1 = s2;
    0x00059254 addiu a0, zero, 0xa           |     a0 = 0xa;
    0x00059258 jalr t9                       |     t9 ();
    0x0005925c sltu v0, s3, s4               |     v0 = (s3 < s4) ? 1 : 0;
    0x00059260 move s1, s3                   |     s1 = s3;
    0x00059264 lw gp, 0x10(sp)               |     gp = *(var_10h_4);
                                             |     if (v0 != 0) {
    0x00059268 bnez v0, 0x59130              |         goto label_3;
                                             |     }
    0x0005926c lw ra, 0x44(sp)               |     ra = *(var_44h_2);
    0x00059270 lw fp, 0x40(sp)               |     fp = *(var_40h_2);
    0x00059274 lw s7, 0x3c(sp)               |     s7 = *(var_3ch_4);
    0x00059278 lw s6, 0x38(sp)               |     s6 = *(var_38h_4);
    0x0005927c lw s5, 0x34(sp)               |     s5 = *(var_34h_4);
    0x00059280 lw s4, 0x30(sp)               |     s4 = *(var_30h_3);
    0x00059284 lw s3, 0x2c(sp)               |     s3 = *(var_2ch_4);
    0x00059288 lw s2, 0x28(sp)               |     s2 = *(var_28h_2);
    0x0005928c lw s1, 0x24(sp)               |     s1 = *(var_24h_3);
    0x00059290 lw s0, 0x20(sp)               |     s0 = *(var_20h_2);
    0x00059294 addiu sp, sp, 0x48            |     
    0x00059298 jr ra                         |     return v0;
                                             | label_6:
    0x0005929c lw t9, -0x7080(gp)            |     t9 = sym.imp.fputc;
    0x000592a0 move a1, s2                   |     a1 = s2;
    0x000592a4 addiu a0, zero, 0x20          |     a0 = 0x20;
    0x000592a8 jalr t9                       |     t9 ();
    0x000592ac lw gp, 0x10(sp)               |     gp = *(var_10h_4);
    0x000592b0 b 0x5924c                     |     goto label_4;
                                             | label_5:
    0x000592b4 jr ra                         |     return v0;
    0x000592b8 nop                           |     
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/sshd @ 0x56504 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.sshkey_dump_ec_point ()      | void sshkey_dump_ec_point () {
    0x00056504 lui gp, 0xb                   |     
    0x00056508 addiu gp, gp, -0x4214         |     
    0x0005650c addu gp, gp, t9               |     gp += t9;
    0x00056510 addiu sp, sp, -0x38           |     
    0x00056514 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x00056518 sw ra, 0x34(sp)               |     *(var_34h) = ra;
    0x0005651c sw s3, 0x30(sp)               |     *(var_30h) = s3;
    0x00056520 sw s2, 0x2c(sp)               |     *(var_2ch) = s2;
    0x00056524 sw s1, 0x28(sp)               |     *(var_28h) = s1;
    0x00056528 sw s0, 0x24(sp)               |     *(var_24h) = s0;
    0x0005652c lw t9, -0x6fbc(gp)            |     t9 = sym.imp.BN_new;
                                             |     if (a1 == 0) {
    0x00056530 beqz a1, 0x566f0              |         goto label_1;
                                             |     }
    0x00056534 move s3, a0                   |     s3 = a0;
    0x00056538 move s0, a1                   |     s0 = a1;
    0x0005653c jalr t9                       |     t9 ();
    0x00056540 move s2, v0                   |     s2 = v0;
    0x00056544 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00056548 beqz v0, 0x565e8              |         goto label_2;
                                             |     }
    0x0005654c lw t9, -0x6fbc(gp)            |     t9 = sym.imp.BN_new;
    0x00056550 jalr t9                       |     t9 ();
    0x00056554 nop                           |     
    0x00056558 move s1, v0                   |     s1 = v0;
    0x0005655c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00056560 beqz v0, 0x565e8              |         goto label_2;
                                             |     }
    0x00056564 lw t9, -0x6dbc(gp)            |     t9 = sym.imp.EC_GROUP_method_of;
    0x00056568 move a0, s3                   |     a0 = s3;
    0x0005656c jalr t9                       |     t9 ();
    0x00056570 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00056574 lw t9, -0x7218(gp)            |     t9 = sym.imp.EC_METHOD_get_field_type;
    0x00056578 move a0, v0                   |     a0 = v0;
    0x0005657c jalr t9                       |     t9 ();
    0x00056580 addiu v1, zero, 0x196         |     v1 = 0x196;
    0x00056584 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == v1) {
    0x00056588 beq v0, v1, 0x56618           |         goto label_3;
                                             |     }
    0x0005658c lw v0, -0x6f44(gp)            |     v0 = *((gp - 7121));
    0x00056590 lw a3, -0x7f34(gp)            |     a3 = *(gp);
    0x00056594 lw a2, -0x7f34(gp)            |     a2 = *(gp);
    0x00056598 lw t9, -0x6ce8(gp)            |     t9 = sym.imp.__fprintf_chk
    0x0005659c lw a0, (v0)                   |     a0 = *(v0);
                                             |     /* str.sshkey_dump_ec_point */
    0x000565a0 addiu a3, a3, 0x3534          |     a3 += 0x3534;
                                             |     /* str._s:_group_is_not_a_prime_field_n */
    0x000565a4 addiu a2, a2, 0x2cb8          |     a2 += 0x2cb8;
    0x000565a8 addiu a1, zero, 1             |     a1 = 1;
    0x000565ac jalr t9                       |     t9 ();
    0x000565b0 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     do {
                                             | label_0:
    0x000565b4 lw t9, -0x6ec4(gp)            |         t9 = sym.imp.BN_clear_free;
    0x000565b8 move a0, s2                   |         a0 = s2;
    0x000565bc jalr t9                       |         t9 ();
    0x000565c0 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x000565c4 lw ra, 0x34(sp)               |         ra = *(var_34h);
    0x000565c8 lw s3, 0x30(sp)               |         s3 = *(var_30h);
    0x000565cc lw s2, 0x2c(sp)               |         s2 = *(var_2ch);
    0x000565d0 lw s0, 0x24(sp)               |         s0 = *(var_24h);
    0x000565d4 move a0, s1                   |         a0 = s1;
    0x000565d8 lw t9, -0x6ec4(gp)            |         t9 = sym.imp.BN_clear_free;
    0x000565dc lw s1, 0x28(sp)               |         s1 = *(var_28h);
    0x000565e0 addiu sp, sp, 0x38            |         
    0x000565e4 jr t9                         |         t9 ();
                                             | label_2:
    0x000565e8 lw v0, -0x6f44(gp)            |         v0 = *((gp - 7121));
    0x000565ec lw a3, -0x7f34(gp)            |         a3 = *(gp);
    0x000565f0 lw a2, -0x7f34(gp)            |         a2 = *(gp);
    0x000565f4 lw t9, -0x6ce8(gp)            |         t9 = sym.imp.__fprintf_chk
    0x000565f8 lw a0, (v0)                   |         a0 = *(v0);
                                             |         /* str.sshkey_dump_ec_point */
    0x000565fc addiu a3, a3, 0x3534          |         a3 += 0x3534;
                                             |         /* str._s:_BN_new_failed_n */
    0x00056600 addiu a2, a2, 0x2ca4          |         a2 += 0x2ca4;
    0x00056604 addiu a1, zero, 1             |         a1 = 1;
    0x00056608 jalr t9                       |         t9 ();
    0x0005660c move s1, zero                 |         s1 = 0;
    0x00056610 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00056614 b 0x565b4                     |         
                                             |     } while (1);
                                             | label_3:
    0x00056618 lw t9, -0x6edc(gp)            |     t9 = sym.imp.EC_POINT_get_affine_coordinates_GFp;
    0x0005661c sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x00056620 move a3, s1                   |     a3 = s1;
    0x00056624 move a2, s2                   |     a2 = s2;
    0x00056628 move a1, s0                   |     a1 = s0;
    0x0005662c move a0, s3                   |     a0 = s3;
    0x00056630 jalr t9                       |     t9 ();
    0x00056634 addiu v1, zero, 1             |     v1 = 1;
    0x00056638 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != v1) {
    0x0005663c beq v0, v1, 0x5666c           |         
    0x00056640 lw v0, -0x6f44(gp)            |         v0 = *((gp - 7121));
    0x00056644 lw a3, -0x7f34(gp)            |         a3 = *(gp);
    0x00056648 lw a2, -0x7f34(gp)            |         a2 = *(gp);
    0x0005664c lw t9, -0x6ce8(gp)            |         t9 = sym.imp.__fprintf_chk
    0x00056650 lw a0, (v0)                   |         a0 = *(v0);
                                             |         /* str.sshkey_dump_ec_point */
    0x00056654 addiu a3, a3, 0x3534          |         a3 += 0x3534;
                                             |         /* str._s:_EC_POINT_get_affine_coordinates_GFp_n */
    0x00056658 addiu a2, a2, 0x2cd8          |         a2 += 0x2cd8;
    0x0005665c addiu a1, zero, 1             |         a1 = 1;
    0x00056660 jalr t9                       |         t9 ();
    0x00056664 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00056668 b 0x565b4                     |         goto label_0;
                                             |     }
    0x0005666c lw s0, -0x6f44(gp)            |     s0 = *((gp - 7121));
    0x00056670 lw a0, -0x7f34(gp)            |     a0 = *(gp);
    0x00056674 lw t9, -0x702c(gp)            |     t9 = sym.imp.fwrite;
    0x00056678 lw a3, (s0)                   |     a3 = *(s0);
    0x0005667c addiu a2, zero, 2             |     a2 = 2;
    0x00056680 addiu a1, zero, 1             |     a1 = 1;
                                             |     /* esilref: 'x=' */
    0x00056684 addiu a0, a0, 0x2d04          |     a0 += 0x2d04;
    0x00056688 jalr t9                       |     t9 ();
    0x0005668c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00056690 lw a0, (s0)                   |     a0 = *(s0);
    0x00056694 lw t9, -0x6f6c(gp)            |     t9 = sym.imp.BN_print_fp;
    0x00056698 move a1, s2                   |     a1 = s2;
    0x0005669c jalr t9                       |     t9 ();
    0x000566a0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000566a4 lw a3, (s0)                   |     a3 = *(s0);
    0x000566a8 addiu a2, zero, 3             |     a2 = 3;
    0x000566ac lw a0, -0x7f34(gp)            |     a0 = *(gp);
    0x000566b0 lw t9, -0x702c(gp)            |     t9 = sym.imp.fwrite;
    0x000566b4 addiu a1, zero, 1             |     a1 = 1;
                                             |     /* esilref: '
y=' */
    0x000566b8 addiu a0, a0, 0x2d08          |     a0 += 0x2d08;
    0x000566bc jalr t9                       |     t9 ();
    0x000566c0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000566c4 lw a0, (s0)                   |     a0 = *(s0);
    0x000566c8 lw t9, -0x6f6c(gp)            |     t9 = sym.imp.BN_print_fp;
    0x000566cc move a1, s1                   |     a1 = s1;
    0x000566d0 jalr t9                       |     t9 ();
    0x000566d4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000566d8 lw a1, (s0)                   |     a1 = *(s0);
    0x000566dc lw t9, -0x7080(gp)            |     t9 = sym.imp.fputc;
    0x000566e0 addiu a0, zero, 0xa           |     a0 = 0xa;
    0x000566e4 jalr t9                       |     t9 ();
    0x000566e8 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000566ec b 0x565b4                     |     goto label_0;
                                             | label_1:
    0x000566f0 lw v0, -0x6f44(gp)            |     v0 = *((gp - 7121));
    0x000566f4 lw a0, -0x7f34(gp)            |     a0 = *(gp);
    0x000566f8 lw ra, 0x34(sp)               |     ra = *(var_34h);
    0x000566fc lw s3, 0x30(sp)               |     s3 = *(var_30h);
    0x00056700 lw s2, 0x2c(sp)               |     s2 = *(var_2ch);
    0x00056704 lw s1, 0x28(sp)               |     s1 = *(var_28h);
    0x00056708 lw s0, 0x24(sp)               |     s0 = *(var_24h);
    0x0005670c lw a3, (v0)                   |     a3 = *(v0);
    0x00056710 lw t9, -0x702c(gp)            |     t9 = sym.imp.fwrite;
    0x00056714 addiu a2, zero, 0xd           |     a2 = 0xd;
    0x00056718 addiu a1, zero, 1             |     a1 = 1;
                                             |     /* str.point_NULL__n */
    0x0005671c addiu a0, a0, 0x2c94          |     a0 += 0x2c94;
    0x00056720 addiu sp, sp, 0x38            |     
    0x00056724 jr t9                         |     return t9 ();
                                             | }

[*] Function fprintf used 42 times sshd