[*] Binary protection state of sshd

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


[*] Function strcat tear down of sshd

    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/sshd @ 0x9be18 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.ssh_krl_from_blob ()         | void ssh_krl_from_blob () {
    0x0009be18 lui gp, 6                     |     
    0x0009be1c addiu gp, gp, 0x64d8          |     
    0x0009be20 addu gp, gp, t9               |     gp += t9;
    0x0009be24 addiu sp, sp, -0x130          |     
    0x0009be28 lw t9, -0x7f9c(gp)            |     t9 = sym.sshbuf_len;
    0x0009be2c sw s3, 0x114(sp)              |     *(var_114h) = s3;
    0x0009be30 lw s3, -0x6fc4(gp)            |     s3 = *((gp - 7153));
    0x0009be34 sw gp, 0x38(sp)               |     *(var_38h) = gp;
    0x0009be38 sw fp, 0x128(sp)              |     *(var_128h) = fp;
    0x0009be3c sw s7, 0x124(sp)              |     *(var_124h) = s7;
    0x0009be40 sw s5, 0x11c(sp)              |     *(var_11ch) = s5;
    0x0009be44 sw s2, 0x110(sp)              |     *(var_110h) = s2;
    0x0009be48 sw ra, 0x12c(sp)              |     *(var_12ch) = ra;
    0x0009be4c sw s6, 0x120(sp)              |     *(var_120h) = s6;
    0x0009be50 sw s4, 0x118(sp)              |     *(var_118h) = s4;
    0x0009be54 sw s1, 0x10c(sp)              |     *(var_10ch) = s1;
    0x0009be58 sw s0, 0x108(sp)              |     *(var_108h) = s0;
    0x0009be5c lw v0, (s3)                   |     v0 = *(s3);
    0x0009be60 sw zero, 0x80(sp)             |     *(var_80h) = 0;
    0x0009be64 sw zero, (a1)                 |     *(a1) = 0;
    0x0009be68 sw v0, 0x104(sp)              |     *(var_104h) = v0;
    0x0009be6c sw zero, 0x84(sp)             |     *(var_84h) = 0;
    0x0009be70 move s5, a1                   |     s5 = a1;
    0x0009be74 move s2, a0                   |     s2 = a0;
    0x0009be78 move fp, a2                   |     fp = a2;
    0x0009be7c move s7, a3                   |     s7 = a3;
    0x0009be80 jalr t9                       |     t9 ();
    0x0009be84 sltiu v0, v0, 8               |     v0 = (v0 < 8) ? 1 : 0;
    0x0009be88 lw gp, 0x38(sp)               |     gp = *(var_38h);
                                             |     if (v0 != 0) {
    0x0009be8c bnez v0, 0x9c2f4              |         goto label_13;
                                             |     }
    0x0009be90 lw t9, -0x7fa0(gp)            |     t9 = sym.sshbuf_ptr;
    0x0009be94 move a0, s2                   |     a0 = s2;
    0x0009be98 jalr t9                       |     t9 ();
    0x0009be9c lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0009bea0 addiu a2, zero, 8             |     a2 = 8;
    0x0009bea4 move a0, v0                   |     a0 = v0;
    0x0009bea8 lw a1, -0x7e48(gp)            |     a1 = *(gp);
    0x0009beac lw t9, -0x6cb0(gp)            |     t9 = sym.imp.memcmp;
                                             |     /* str.SSHKRL_n */
    0x0009beb0 addiu a1, a1, -0x4230         |     a1 += -aav.0x00004230;
    0x0009beb4 jalr t9                       |     t9 ();
    0x0009beb8 lw gp, 0x38(sp)               |     gp = *(var_38h);
                                             |     if (v0 != 0) {
    0x0009bebc bnez v0, 0x9c2f4              |         goto label_13;
                                             |     }
    0x0009bec0 lw t9, -0x79d0(gp)            |     t9 = sym.sshbuf_fromb;
    0x0009bec4 move a0, s2                   |     a0 = s2;
    0x0009bec8 jalr t9                       |     t9 ();
    0x0009becc move s0, v0                   |     s0 = v0;
    0x0009bed0 lw gp, 0x38(sp)               |     gp = *(var_38h);
                                             |     if (v0 == 0) {
    0x0009bed4 beqz v0, 0x9bfd8              |         goto label_14;
                                             |     }
    0x0009bed8 lw t9, -0x77f8(gp)            |     t9 = sym.sshbuf_consume;
    0x0009bedc addiu a1, zero, 8             |     a1 = 8;
    0x0009bee0 move a0, v0                   |     a0 = v0;
    0x0009bee4 jalr t9                       |     t9 ();
    0x0009bee8 move s1, v0                   |     s1 = v0;
    0x0009beec lw gp, 0x38(sp)               |     gp = *(var_38h);
                                             |     if (v0 == 0) {
    0x0009bef0 beqz v0, 0x9bf78              |         goto label_15;
                                             |     }
    0x0009bef4 move s4, zero                 |     s4 = 0;
                                             |     do {
                                             | label_0:
    0x0009bef8 lw t9, -0x6e6c(gp)            |         t9 = sym.imp.free;
                                             | label_2:
    0x0009befc move a0, s4                   |         a0 = s4;
    0x0009bf00 jalr t9                       |         t9 ();
    0x0009bf04 lw gp, 0x38(sp)               |         gp = *(var_38h);
    0x0009bf08 lw t9, -0x7f10(gp)            |         t9 = sym.sshkey_free;
    0x0009bf0c lw a0, 0x84(sp)               |         a0 = *(var_84h);
    0x0009bf10 jalr t9                       |         t9 ();
    0x0009bf14 lw gp, 0x38(sp)               |         gp = *(var_38h);
    0x0009bf18 lw t9, -0x7f90(gp)            |         t9 = sym.sshbuf_free;
    0x0009bf1c move a0, s0                   |         a0 = s0;
    0x0009bf20 jalr t9                       |         t9 ();
    0x0009bf24 lw gp, 0x38(sp)               |         gp = *(var_38h);
    0x0009bf28 lw t9, -0x7f90(gp)            |         t9 = sym.sshbuf_free;
    0x0009bf2c lw a0, 0x80(sp)               |         a0 = *(var_80h);
    0x0009bf30 jalr t9                       |         t9 ();
    0x0009bf34 lw gp, 0x38(sp)               |         gp = *(var_38h);
                                             | label_3:
    0x0009bf38 lw a0, 0x104(sp)              |         a0 = *(var_104h);
    0x0009bf3c lw v1, (s3)                   |         v1 = *(s3);
    0x0009bf40 move v0, s1                   |         v0 = s1;
                                             |         if (a0 != v1) {
    0x0009bf44 bne a0, v1, 0x9c8f4           |             goto label_16;
                                             |         }
    0x0009bf48 lw ra, 0x12c(sp)              |         ra = *(var_12ch);
    0x0009bf4c lw fp, 0x128(sp)              |         fp = *(var_128h);
    0x0009bf50 lw s7, 0x124(sp)              |         s7 = *(var_124h);
    0x0009bf54 lw s6, 0x120(sp)              |         s6 = *(var_120h);
    0x0009bf58 lw s5, 0x11c(sp)              |         s5 = *(var_11ch);
    0x0009bf5c lw s4, 0x118(sp)              |         s4 = *(var_118h);
    0x0009bf60 lw s3, 0x114(sp)              |         s3 = *(var_114h);
    0x0009bf64 lw s2, 0x110(sp)              |         s2 = *(var_110h);
    0x0009bf68 lw s1, 0x10c(sp)              |         s1 = *(var_10ch);
    0x0009bf6c lw s0, 0x108(sp)              |         s0 = *(var_108h);
    0x0009bf70 addiu sp, sp, 0x130           |         
    0x0009bf74 jr ra                         |         return v0;
                                             | label_15:
    0x0009bf78 lw t9, -0x7348(gp)            |         t9 = sym.ssh_krl_init;
    0x0009bf7c bal 0x99b94                   |         sym_ssh_krl_init ();
    0x0009bf80 nop                           |         
    0x0009bf84 move s6, v0                   |         s6 = v0;
    0x0009bf88 lw gp, 0x38(sp)               |         gp = *(var_38h);
                                             |         if (v0 == 0) {
    0x0009bf8c beqz v0, 0x9c01c              |             goto label_17;
                                             |         }
    0x0009bf90 lw t9, -0x79c8(gp)            |         t9 = sym.sshbuf_get_u32;
    0x0009bf94 addiu a1, sp, 0x90            |         a1 = sp + 0x90;
    0x0009bf98 move a0, s0                   |         a0 = s0;
    0x0009bf9c jalr t9                       |         t9 ();
    0x0009bfa0 move s1, v0                   |         s1 = v0;
    0x0009bfa4 lw gp, 0x38(sp)               |         gp = *(var_38h);
                                             |         if (v0 != 0) {
    0x0009bfa8 bnez v0, 0x9c000              |             goto label_1;
                                             |         }
    0x0009bfac lw v1, 0x90(sp)               |         v1 = *(var_90h);
    0x0009bfb0 addiu v0, zero, 1             |         v0 = 1;
    0x0009bfb4 lw t9, -0x7364(gp)            |         t9 = *(gp);
                                             |         if (v1 == v0) {
    0x0009bfb8 beq v1, v0, 0x9bfe4           |             goto label_18;
                                             |         }
                                             |         /* fcn.00099364 */
    0x0009bfbc addiu t9, t9, -0x6c9c         |         t9 += -0x6c9c;
    0x0009bfc0 move a0, s6                   |         a0 = s6;
    0x0009bfc4 bal 0x99364                   |         fcn_00099364 ();
    0x0009bfc8 move s4, zero                 |         s4 = 0;
    0x0009bfcc lw gp, 0x38(sp)               |         gp = *(var_38h);
    0x0009bfd0 addiu s1, zero, -4            |         s1 = -4;
    0x0009bfd4 b 0x9bef8                     |         
                                             |     } while (1);
                                             | label_14:
    0x0009bfd8 move s4, zero                 |     s4 = 0;
    0x0009bfdc addiu s1, zero, -2            |     s1 = -2;
    0x0009bfe0 b 0x9bef8                     |     goto label_0;
                                             | label_18:
    0x0009bfe4 lw t9, -0x79a8(gp)            |     t9 = sym.sshbuf_get_u64;
    0x0009bfe8 move a1, s6                   |     a1 = s6;
    0x0009bfec move a0, s0                   |     a0 = s0;
    0x0009bff0 jalr t9                       |     t9 ();
    0x0009bff4 move s1, v0                   |     s1 = v0;
    0x0009bff8 lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0009bffc beqz v0, 0x9c060              |     
                                             |     while (v0 != 0) {
                                             | label_1:
    0x0009c000 lw t9, -0x7364(gp)            |         t9 = *(gp);
                                             |         /* fcn.00099364 */
    0x0009c004 addiu t9, t9, -0x6c9c         |         t9 += -0x6c9c;
    0x0009c008 move a0, s6                   |         a0 = s6;
    0x0009c00c bal 0x99364                   |         fcn_00099364 ();
    0x0009c010 move s4, zero                 |         s4 = 0;
    0x0009c014 lw gp, 0x38(sp)               |         gp = *(var_38h);
    0x0009c018 b 0x9bef8                     |         goto label_0;
                                             | label_17:
    0x0009c01c lw v0, -0x7f34(gp)            |         v0 = *(gp);
    0x0009c020 lw a1, -0x7e48(gp)            |         a1 = *(gp);
    0x0009c024 lw a0, -0x7e48(gp)            |         a0 = *(gp);
                                             |         /* esilref: 'alloc failed' */
    0x0009c028 addiu v0, v0, -0x2730         |         v0 += -0x2730;
    0x0009c02c lw t9, -0x7f6c(gp)            |         t9 = sym.sshlog;
    0x0009c030 sw v0, 0x18(sp)               |         *(var_18h) = v0;
    0x0009c034 addiu v0, zero, 2             |         v0 = 2;
    0x0009c038 sw zero, 0x14(sp)             |         *(var_14h) = 0;
    0x0009c03c sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x0009c040 addiu a3, zero, 1             |         a3 = 1;
    0x0009c044 addiu a2, zero, 0x3f3         |         a2 = 0x3f3;
                                             |         /* str.ssh_krl_from_blob */
    0x0009c048 addiu a1, a1, -0x41b0         |         a1 += -0x41b0;
                                             |         /* str.krl.c */
    0x0009c04c addiu a0, a0, -0x4530         |         a0 += -0x4530;
    0x0009c050 jalr t9                       |         t9 ();
    0x0009c054 move s4, zero                 |         s4 = 0;
    0x0009c058 lw gp, 0x38(sp)               |         gp = *(var_38h);
    0x0009c05c b 0x9bef8                     |         goto label_0;
    0x0009c060 lw t9, -0x79a8(gp)            |         t9 = sym.sshbuf_get_u64;
    0x0009c064 addiu a1, s6, 8               |         a1 = s6 + 8;
    0x0009c068 move a0, s0                   |         a0 = s0;
    0x0009c06c jalr t9                       |         t9 ();
    0x0009c070 move s1, v0                   |         s1 = v0;
    0x0009c074 lw gp, 0x38(sp)               |         gp = *(var_38h);
    0x0009c078 bnez v0, 0x9c000              |         
                                             |     }
    0x0009c07c lw t9, -0x79a8(gp)            |     t9 = sym.sshbuf_get_u64;
    0x0009c080 addiu a1, s6, 0x10            |     a1 = s6 + 0x10;
    0x0009c084 move a0, s0                   |     a0 = s0;
    0x0009c088 jalr t9                       |     t9 ();
    0x0009c08c move s1, v0                   |     s1 = v0;
    0x0009c090 lw gp, 0x38(sp)               |     gp = *(var_38h);
                                             |     if (v0 != 0) {
    0x0009c094 bnez v0, 0x9c000              |         goto label_1;
                                             |     }
    0x0009c098 lw t9, -0x7800(gp)            |     t9 = sym.sshbuf_get_string_direct;
    0x0009c09c move a2, zero                 |     a2 = 0;
    0x0009c0a0 move a1, zero                 |     a1 = 0;
    0x0009c0a4 move a0, s0                   |     a0 = s0;
    0x0009c0a8 jalr t9                       |     t9 ();
    0x0009c0ac move s1, v0                   |     s1 = v0;
    0x0009c0b0 lw gp, 0x38(sp)               |     gp = *(var_38h);
                                             |     if (v0 != 0) {
    0x0009c0b4 bnez v0, 0x9c000              |         goto label_1;
                                             |     }
    0x0009c0b8 lw t9, -0x7f14(gp)            |     t9 = sym.sshbuf_get_cstring;
    0x0009c0bc move a2, zero                 |     a2 = 0;
    0x0009c0c0 addiu a1, s6, 0x18            |     a1 = s6 + 0x18;
    0x0009c0c4 move a0, s0                   |     a0 = s0;
    0x0009c0c8 jalr t9                       |     t9 ();
    0x0009c0cc move s1, v0                   |     s1 = v0;
    0x0009c0d0 lw gp, 0x38(sp)               |     gp = *(var_38h);
                                             |     if (v0 != 0) {
    0x0009c0d4 bnez v0, 0x9c000              |         goto label_1;
                                             |     }
    0x0009c0d8 lw t9, -0x7364(gp)            |     t9 = *(gp);
    0x0009c0dc addiu s1, sp, 0xc4            |     s1 = sp + 0xc4;
    0x0009c0e0 lw a0, 8(s6)                  |     a0 = *((s6 + 2));
    0x0009c0e4 lw a1, 0xc(s6)                |     a1 = *((s6 + 3));
                                             |     /* fcn.00099adc */
    0x0009c0e8 addiu t9, t9, -0x6524         |     t9 += -0x6524;
    0x0009c0ec move a2, s1                   |     a2 = s1;
    0x0009c0f0 bal 0x99adc                   |     fcn_00099adc ();
    0x0009c0f4 lw v1, 0x18(s6)               |     v1 = *((s6 + 6));
    0x0009c0f8 lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0009c0fc lw t0, (s6)                   |     t0 = *(s6);
    0x0009c100 lb v0, (v1)                   |     v0 = *(v1);
    0x0009c104 lw t1, 4(s6)                  |     t1 = *((s6 + 1));
                                             |     if (v0 != 0) {
    0x0009c108 bnez v0, 0x9c358              |         goto label_19;
                                             |     }
    0x0009c10c lw v0, -0x7f34(gp)            |     v0 = *(gp);
    0x0009c110 addiu v0, v0, -0x6990         |     v0 += -0x6990;
                                             | label_4:
    0x0009c114 sw v0, 0x2c(sp)               |     *(var_2ch) = v0;
    0x0009c118 lw v0, -0x7e48(gp)            |     v0 = *(gp);
    0x0009c11c lw t2, -0x7e48(gp)            |     t2 = *(gp);
    0x0009c120 lw a0, -0x7e48(gp)            |     a0 = *(gp);
                                             |     /* str.KRL_version__llu_generated_at__s_s_s */
    0x0009c124 addiu v0, v0, -0x449c         |     v0 += -0x449c;
    0x0009c128 lw t9, -0x7f6c(gp)            |     t9 = sym.sshlog;
    0x0009c12c sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x0009c130 addiu v0, zero, 5             |     v0 = 5;
                                             |     /* str.ssh_krl_from_blob */
    0x0009c134 addiu a1, a0, -0x41b0         |     a1 = a0 + -0x41b0;
    0x0009c138 sw t2, 0x48(sp)               |     *(var_48h) = t2;
    0x0009c13c move a3, zero                 |     a3 = 0;
    0x0009c140 addiu a2, zero, 0x407         |     a2 = 0x407;
    0x0009c144 sw v1, 0x30(sp)               |     *(var_30h) = v1;
    0x0009c148 sw t0, 0x20(sp)               |     *(var_20h) = t0;
    0x0009c14c sw t1, 0x24(sp)               |     *(var_24h) = t1;
    0x0009c150 sw a0, 0x4c(sp)               |     *(var_4ch) = a0;
    0x0009c154 sw s1, 0x28(sp)               |     *(var_28h) = s1;
                                             |     /* str.krl.c */
    0x0009c158 addiu a0, t2, -0x4530         |     a0 = t2 + -0x4530;
    0x0009c15c sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0009c160 sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x0009c164 jalr t9                       |     t9 ();
    0x0009c168 lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0009c16c lw t9, -0x7f9c(gp)            |     t9 = sym.sshbuf_len;
    0x0009c170 move a0, s2                   |     a0 = s2;
    0x0009c174 jalr t9                       |     t9 ();
    0x0009c178 lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0009c17c move a0, s0                   |     a0 = s0;
    0x0009c180 lw t9, -0x7f9c(gp)            |     t9 = sym.sshbuf_len;
    0x0009c184 move s1, v0                   |     s1 = v0;
    0x0009c188 jalr t9                       |     t9 ();
    0x0009c18c sltu v0, s1, v0               |     v0 = (s1 < v0) ? 1 : 0;
    0x0009c190 lw gp, 0x38(sp)               |     gp = *(var_38h);
                                             |     if (v0 != 0) {
    0x0009c194 bnez v0, 0x9c338              |         goto label_20;
                                             |     }
    0x0009c198 lw t9, -0x7f9c(gp)            |     t9 = sym.sshbuf_len;
    0x0009c19c move a0, s2                   |     a0 = s2;
    0x0009c1a0 jalr t9                       |     t9 ();
    0x0009c1a4 lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0009c1a8 move a0, s0                   |     a0 = s0;
    0x0009c1ac sw v0, 0x50(sp)               |     *(var_50h) = v0;
    0x0009c1b0 lw t9, -0x7f9c(gp)            |     t9 = sym.sshbuf_len;
    0x0009c1b4 move s4, zero                 |     s4 = 0;
    0x0009c1b8 jalr t9                       |     t9 ();
    0x0009c1bc sw v0, 0x54(sp)               |     *(var_54h) = v0;
    0x0009c1c0 addiu t3, sp, 0x7e            |     t3 = sp + 0x7e;
    0x0009c1c4 move v0, zero                 |     v0 = 0;
    0x0009c1c8 addiu t1, sp, 0x8c            |     t1 = sp + 0x8c;
    0x0009c1cc addiu t0, sp, 0x88            |     t0 = sp + 0x88;
    0x0009c1d0 addiu t2, sp, 0x84            |     t2 = sp + 0x84;
    0x0009c1d4 lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0009c1d8 sw s6, 0x44(sp)               |     *(var_44h) = s6;
    0x0009c1dc sw s5, 0x58(sp)               |     *(var_58h) = s5;
    0x0009c1e0 sw fp, 0x5c(sp)               |     *(var_5ch) = fp;
    0x0009c1e4 sw s7, 0x13c(sp)              |     *(arg_13ch) = s7;
    0x0009c1e8 sw zero, 0x40(sp)             |     *(var_40h) = 0;
    0x0009c1ec move s7, v0                   |     s7 = v0;
    0x0009c1f0 move fp, t3                   |     fp = t3;
    0x0009c1f4 move s5, t1                   |     s5 = t1;
    0x0009c1f8 move s6, t0                   |     s6 = t0;
    0x0009c1fc move s1, t2                   |     s1 = t2;
                                             | label_8:
    0x0009c200 lw t9, -0x7f9c(gp)            |     t9 = sym.sshbuf_len;
                                             |     do {
    0x0009c204 move a0, s0                   |         a0 = s0;
    0x0009c208 jalr t9                       |         t9 ();
    0x0009c20c lw gp, 0x38(sp)               |         gp = *(var_38h);
                                             |         if (v0 == 0) {
    0x0009c210 beqz v0, 0x9c374              |             goto label_21;
                                             |         }
    0x0009c214 lw t9, -0x7f28(gp)            |         t9 = sym.sshbuf_get_u8;
    0x0009c218 move a1, fp                   |         a1 = fp;
    0x0009c21c move a0, s0                   |         a0 = s0;
    0x0009c220 jalr t9                       |         t9 ();
    0x0009c224 lw gp, 0x38(sp)               |         gp = *(var_38h);
                                             |         if (v0 != 0) {
    0x0009c228 bnez v0, 0x9c364              |             goto label_6;
                                             |         }
    0x0009c22c lw t9, -0x7800(gp)            |         t9 = sym.sshbuf_get_string_direct;
    0x0009c230 move a2, s5                   |         a2 = s5;
    0x0009c234 move a1, s6                   |         a1 = s6;
    0x0009c238 move a0, s0                   |         a0 = s0;
    0x0009c23c jalr t9                       |         t9 ();
    0x0009c240 lw gp, 0x38(sp)               |         gp = *(var_38h);
                                             |         if (v0 != 0) {
    0x0009c244 bnez v0, 0x9c364              |             goto label_6;
                                             |         }
    0x0009c248 lbu v0, 0x7e(sp)              |         v0 = *(var_7eh);
    0x0009c24c addiu v1, zero, 4             |         v1 = 4;
    0x0009c250 lw v0, 0x40(sp)               |         v0 = *(var_40h);
                                             |         if (v0 == v1) {
    0x0009c254 beq v0, v1, 0x9c788           |             goto label_22;
                                             |         }
    0x0009c258 lw t9, -0x7f9c(gp)            |         t9 = sym.sshbuf_len;
    0x0009c25c beqz v0, 0x9c204              |         
                                             |     } while (v0 == 0);
    0x0009c260 lw v0, -0x7e48(gp)            |     v0 = *(gp);
    0x0009c264 lw s6, 0x44(sp)               |     s6 = *(var_44h);
                                             |     /* str.KRL_contains_non_signature_section_after_signature */
    0x0009c268 addiu v0, v0, -0x4474         |     v0 += -0x4474;
    0x0009c26c sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x0009c270 lw t9, -0x7f6c(gp)            |     t9 = sym.sshlog;
    0x0009c274 addiu v0, zero, 2             |     v0 = 2;
    0x0009c278 sw s7, 0x40(sp)               |     *(var_40h) = s7;
    0x0009c27c sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x0009c280 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0009c284 move a3, zero                 |     a3 = 0;
    0x0009c288 addiu a2, zero, 0x41c         |     a2 = aav.0x0000041c;
                                             | label_7:
    0x0009c28c lw v0, 0x4c(sp)               |     v0 = *(var_4ch);
    0x0009c290 addiu s1, zero, -4            |     s1 = -4;
    0x0009c294 addiu a1, v0, -0x41b0         |     a1 = v0 + -0x41b0;
    0x0009c298 lw v0, 0x48(sp)               |     v0 = *(var_48h);
    0x0009c29c addiu a0, v0, -0x4530         |     a0 = v0 + -0x4530;
    0x0009c2a0 jalr t9                       |     t9 ();
    0x0009c2a4 lw gp, 0x38(sp)               |     gp = *(var_38h);
                                             | label_5:
    0x0009c2a8 lw t9, -0x7364(gp)            |     t9 = *(gp);
                                             |     /* fcn.00099364 */
    0x0009c2ac addiu t9, t9, -0x6c9c         |     t9 += -0x6c9c;
    0x0009c2b0 move a0, s6                   |     a0 = s6;
    0x0009c2b4 bal 0x99364                   |     fcn_00099364 ();
    0x0009c2b8 lw gp, 0x38(sp)               |     gp = *(var_38h);
                                             | label_10:
    0x0009c2bc lw v0, 0x40(sp)               |     v0 = *(var_40h);
    0x0009c2c0 lw t9, -0x6e6c(gp)            |     t9 = sym.imp.free;
                                             |     if (v0 == 0) {
    0x0009c2c4 beqz v0, 0x9befc              |         goto label_2;
                                             |     }
    0x0009c2c8 sll s5, v0, 2                 |     s5 = v0 << 2;
    0x0009c2cc move s2, s4                   |     s2 = s4;
    0x0009c2d0 addu s5, s5, s4               |     s5 += s4;
                                             |     do {
    0x0009c2d4 lw t9, -0x7f10(gp)            |         t9 = sym.sshkey_free;
    0x0009c2d8 lw a0, (s2)                   |         a0 = *(s2);
    0x0009c2dc addiu s2, s2, 4               |         s2 += 4;
    0x0009c2e0 jalr t9                       |         t9 ();
    0x0009c2e4 lw gp, 0x38(sp)               |         gp = *(var_38h);
    0x0009c2e8 bne s2, s5, 0x9c2d4           |         
                                             |     } while (s2 != s5);
    0x0009c2ec lw t9, -0x6e6c(gp)            |     t9 = sym.imp.free;
    0x0009c2f0 b 0x9befc                     |     goto label_2;
                                             | label_13:
    0x0009c2f4 lw v0, -0x7e48(gp)            |     v0 = *(gp);
    0x0009c2f8 lw a1, -0x7e48(gp)            |     a1 = *(gp);
    0x0009c2fc lw a0, -0x7e48(gp)            |     a0 = *(gp);
                                             |     /* str.not_a_KRL */
    0x0009c300 addiu v0, v0, -0x44a8         |     v0 += -0x44a8;
    0x0009c304 lw t9, -0x7f6c(gp)            |     t9 = sym.sshlog;
    0x0009c308 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x0009c30c addiu v0, zero, 7             |     v0 = 7;
    0x0009c310 sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x0009c314 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0009c318 addiu a3, zero, 1             |     a3 = 1;
    0x0009c31c addiu a2, zero, 0x3e6         |     a2 = 0x3e6;
                                             |     /* str.ssh_krl_from_blob */
    0x0009c320 addiu a1, a1, -0x41b0         |     a1 += -0x41b0;
                                             |     /* str.krl.c */
    0x0009c324 addiu a0, a0, -0x4530         |     a0 += -0x4530;
    0x0009c328 jalr t9                       |     t9 ();
    0x0009c32c addiu s1, zero, -0x32         |     s1 = -0x32;
    0x0009c330 lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0009c334 b 0x9bf38                     |     goto label_3;
                                             | label_20:
    0x0009c338 lw t9, -0x7364(gp)            |     t9 = *(gp);
                                             |     /* fcn.00099364 */
    0x0009c33c addiu t9, t9, -0x6c9c         |     t9 += -0x6c9c;
    0x0009c340 move a0, s6                   |     a0 = s6;
    0x0009c344 bal 0x99364                   |     fcn_00099364 ();
    0x0009c348 move s4, zero                 |     s4 = 0;
    0x0009c34c lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0009c350 addiu s1, zero, -1            |     s1 = -1;
    0x0009c354 b 0x9bef8                     |     goto label_0;
                                             | label_19:
    0x0009c358 lw v0, -0x7f34(gp)            |     v0 = *(gp);
                                             |     /* esilref: ': ' */
    0x0009c35c addiu v0, v0, -0x4810         |     v0 += -aav.0x00004810;
    0x0009c360 b 0x9c114                     |     goto label_4;
                                             | label_6:
    0x0009c364 lw s6, 0x44(sp)               |     s6 = *(var_44h);
    0x0009c368 sw s7, 0x40(sp)               |     *(var_40h) = s7;
                                             |     do {
    0x0009c36c move s1, v0                   |         s1 = v0;
    0x0009c370 b 0x9c2a8                     |         goto label_5;
                                             | label_21:
    0x0009c374 lw t9, -0x7f9c(gp)            |         t9 = sym.sshbuf_len;
    0x0009c378 sw s7, 0x40(sp)               |         *(var_40h) = s7;
    0x0009c37c move a0, s0                   |         a0 = s0;
    0x0009c380 lw s6, 0x44(sp)               |         s6 = *(var_44h);
    0x0009c384 lw s5, 0x58(sp)               |         s5 = *(var_58h);
    0x0009c388 lw fp, 0x5c(sp)               |         fp = *(var_5ch);
    0x0009c38c lw s7, 0x13c(sp)              |         s7 = *(arg_13ch);
    0x0009c390 jalr t9                       |         t9 ();
    0x0009c394 lw gp, 0x38(sp)               |         gp = *(var_38h);
                                             |         if (v0 != 0) {
    0x0009c398 bnez v0, 0x9c780              |             goto label_23;
                                             |         }
    0x0009c39c lw t9, -0x7f90(gp)            |         t9 = sym.sshbuf_free;
    0x0009c3a0 move a0, s0                   |         a0 = s0;
    0x0009c3a4 jalr t9                       |         t9 ();
    0x0009c3a8 lw gp, 0x38(sp)               |         gp = *(var_38h);
    0x0009c3ac lw t9, -0x79d0(gp)            |         t9 = sym.sshbuf_fromb;
    0x0009c3b0 move a0, s2                   |         a0 = s2;
    0x0009c3b4 jalr t9                       |         t9 ();
    0x0009c3b8 move s0, v0                   |         s0 = v0;
    0x0009c3bc lw gp, 0x38(sp)               |         gp = *(var_38h);
                                             |         if (v0 == 0) {
    0x0009c3c0 beqz v0, 0x9c778              |             goto label_24;
                                             |         }
    0x0009c3c4 lw v0, 0x50(sp)               |         v0 = *(var_50h);
    0x0009c3c8 lw v1, 0x54(sp)               |         v1 = *(var_54h);
    0x0009c3cc lw t9, -0x77f8(gp)            |         t9 = sym.sshbuf_consume;
    0x0009c3d0 subu a1, v0, v1               |         __asm ("subu a1, v0, v1");
    0x0009c3d4 move a0, s0                   |         a0 = s0;
    0x0009c3d8 jalr t9                       |         t9 ();
    0x0009c3dc lw gp, 0x38(sp)               |         gp = *(var_38h);
    0x0009c3e0 bnez v0, 0x9c36c              |         
                                             |     } while (v0 != 0);
    0x0009c3e4 lw v0, -0x7e48(gp)            |     v0 = *(gp);
    0x0009c3e8 sw s4, 0x44(sp)               |     *(var_44h) = s4;
    0x0009c3ec addiu v0, v0, -0x4224         |     v0 += -0x4224;
    0x0009c3f0 sw v0, 0x64(sp)               |     *(var_64h) = v0;
    0x0009c3f4 lw v0, -0x7364(gp)            |     v0 = *(gp);
    0x0009c3f8 sw s5, 0x70(sp)               |     *(var_70h) = s5;
    0x0009c3fc addiu v0, v0, -0x715c         |     v0 += -0x715c;
    0x0009c400 sw v0, 0x54(sp)               |     *(var_54h) = v0;
    0x0009c404 lw v0, -0x7e48(gp)            |     v0 = *(gp);
    0x0009c408 sw fp, 0x74(sp)               |     *(var_74h) = fp;
                                             |     /* str.Unsupported_KRL_certificate_section__u */
    0x0009c40c addiu v0, v0, -0x4400         |     v0 += -0x4400;
    0x0009c410 sw v0, 0x6c(sp)               |     *(var_6ch) = v0;
    0x0009c414 sw s7, 0x13c(sp)              |     *(arg_13ch) = s7;
    0x0009c418 lw v0, -0x7e48(gp)            |     v0 = *(gp);
    0x0009c41c lw s5, -0x7e48(gp)            |     s5 = *(gp);
    0x0009c420 sw v0, 0x68(sp)               |     *(var_68h) = v0;
    0x0009c424 lw t9, -0x7f9c(gp)            |     t9 = sym.sshbuf_len;
    0x0009c428 move a0, s0                   |     a0 = s0;
    0x0009c42c jalr t9                       |     t9 ();
    0x0009c430 lw gp, 0x38(sp)               |     gp = *(var_38h);
                                             |     if (v0 == 0) {
    0x0009c434 beqz v0, 0x9c984              |         goto label_25;
                                             |     }
    0x0009c438 lw t9, -0x7f90(gp)            |     t9 = sym.sshbuf_free;
    0x0009c43c lw a0, 0x80(sp)               |     a0 = *(var_80h);
    0x0009c440 jalr t9                       |     t9 ();
    0x0009c444 lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0009c448 addiu a1, sp, 0x7e            |     a1 = sp + 0x7e;
    0x0009c44c move a0, s0                   |     a0 = s0;
    0x0009c450 lw t9, -0x7f28(gp)            |     t9 = sym.sshbuf_get_u8;
    0x0009c454 sw zero, 0x80(sp)             |     *(var_80h) = 0;
    0x0009c458 jalr t9                       |     t9 ();
    0x0009c45c move s1, v0                   |     s1 = v0;
    0x0009c460 lw gp, 0x38(sp)               |     gp = *(var_38h);
                                             |     if (v0 == 0) {
    0x0009c464 bnez v0, 0x9c550              |         
    0x0009c468 lw t9, -0x79cc(gp)            |         t9 = sym.sshbuf_froms;
    0x0009c46c addiu a1, sp, 0x80            |         a1 = sp + 0x80;
    0x0009c470 move a0, s0                   |         a0 = s0;
    0x0009c474 jalr t9                       |         t9 ();
    0x0009c478 move s1, v0                   |         s1 = v0;
    0x0009c47c lw gp, 0x38(sp)               |         gp = *(var_38h);
                                             |         if (v0 != 0) {
    0x0009c480 bnez v0, 0x9c550              |             goto label_26;
                                             |         }
    0x0009c484 lbu v1, 0x7e(sp)              |         v1 = *(var_7eh);
    0x0009c488 addiu v0, v1, -1              |         v0 = v1 + -1;
    0x0009c48c andi v0, v0, 0xff             |         v0 &= 0xff;
    0x0009c490 sltiu a0, v0, 5               |         a0 = (v0 < 5) ? 1 : 0;
    0x0009c494 sll v0, v0, 2                 |         v0 <<= 2;
                                             |         if (a0 == 0) {
    0x0009c498 beqz a0, 0x9c9dc              |             goto label_27;
                                             |         }
    0x0009c49c lw v1, 0x64(sp)               |         v1 = *(var_64h);
    0x0009c4a0 lwx v0, v0(v1)                |         __asm ("lwx v0, v0(v1)");
    0x0009c4a4 addu v0, v0, gp               |         v0 += gp;
    0x0009c4a8 jr v0                         |         v0 ();
    0x0009c4ac nop                           |         
                                             |     }
                                             | label_26:
    0x0009c550 lw s4, 0x44(sp)               |     s4 = *(var_44h);
    0x0009c554 b 0x9c2a8                     |     goto label_5;
                                             | label_24:
    0x0009c778 addiu s1, zero, -2            |     s1 = -2;
    0x0009c77c b 0x9c2a8                     |     goto label_5;
                                             | label_23:
    0x0009c780 addiu s1, zero, -1            |     s1 = -1;
    0x0009c784 b 0x9c2a8                     |     goto label_5;
                                             | label_22:
    0x0009c788 lw t9, -0x7b24(gp)            |     t9 = sym.sshkey_from_blob;
    0x0009c78c lw a1, 0x8c(sp)               |     a1 = *(var_8ch);
    0x0009c790 lw a0, 0x88(sp)               |     a0 = *(var_88h);
    0x0009c794 move a2, s1                   |     a2 = s1;
    0x0009c798 jalr t9                       |     t9 ();
    0x0009c79c lw gp, 0x38(sp)               |     gp = *(var_38h);
                                             |     if (v0 != 0) {
    0x0009c7a0 bnez v0, 0x9c964              |         goto label_28;
                                             |     }
    0x0009c7a4 lw t9, -0x7f9c(gp)            |     t9 = sym.sshbuf_len;
    0x0009c7a8 move a0, s2                   |     a0 = s2;
    0x0009c7ac jalr t9                       |     t9 ();
    0x0009c7b0 lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0009c7b4 move a0, s0                   |     a0 = s0;
    0x0009c7b8 lw t9, -0x7f9c(gp)            |     t9 = sym.sshbuf_len;
    0x0009c7bc sw v0, 0x40(sp)               |     *(var_40h) = v0;
    0x0009c7c0 jalr t9                       |     t9 ();
    0x0009c7c4 lw v1, 0x40(sp)               |     v1 = *(var_40h);
    0x0009c7c8 sltu v0, v1, v0               |     v0 = (v1 < v0) ? 1 : 0;
    0x0009c7cc lw gp, 0x38(sp)               |     gp = *(var_38h);
                                             |     if (v0 != 0) {
    0x0009c7d0 bnez v0, 0x9c954              |         goto label_29;
                                             |     }
    0x0009c7d4 lw t9, -0x7f9c(gp)            |     t9 = sym.sshbuf_len;
    0x0009c7d8 move a0, s2                   |     a0 = s2;
    0x0009c7dc jalr t9                       |     t9 ();
    0x0009c7e0 lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0009c7e4 move a0, s0                   |     a0 = s0;
    0x0009c7e8 lw t9, -0x7f9c(gp)            |     t9 = sym.sshbuf_len;
    0x0009c7ec sw v0, 0x40(sp)               |     *(var_40h) = v0;
    0x0009c7f0 jalr t9                       |     t9 ();
    0x0009c7f4 lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0009c7f8 lw v1, 0x40(sp)               |     v1 = *(var_40h);
    0x0009c7fc move a2, s5                   |     a2 = s5;
    0x0009c800 lw t9, -0x7800(gp)            |     t9 = sym.sshbuf_get_string_direct;
    0x0009c804 subu v0, v1, v0               |     __asm ("subu v0, v1, v0");
    0x0009c808 move a1, s6                   |     a1 = s6;
    0x0009c80c move a0, s0                   |     a0 = s0;
    0x0009c810 sw v0, 0x40(sp)               |     *(var_40h) = v0;
    0x0009c814 jalr t9                       |     t9 ();
    0x0009c818 lw gp, 0x38(sp)               |     gp = *(var_38h);
                                             |     if (v0 != 0) {
    0x0009c81c bnez v0, 0x9c964              |         goto label_28;
                                             |     }
    0x0009c820 lw v1, 0x84(sp)               |     v1 = *(var_84h);
    0x0009c824 lw a1, 0x88(sp)               |     a1 = *(var_88h);
    0x0009c828 lw a2, 0x8c(sp)               |     a2 = *(var_8ch);
    0x0009c82c lw t9, -0x7fa0(gp)            |     t9 = sym.sshbuf_ptr;
    0x0009c830 sw v1, 0x68(sp)               |     *(var_68h) = v1;
    0x0009c834 sw a1, 0x64(sp)               |     *(var_64h) = a1;
    0x0009c838 sw a2, 0x60(sp)               |     *(var_60h) = a2;
    0x0009c83c move a0, s2                   |     a0 = s2;
    0x0009c840 jalr t9                       |     t9 ();
    0x0009c844 lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0009c848 lw v1, 0x40(sp)               |     v1 = *(var_40h);
    0x0009c84c lw a2, 0x60(sp)               |     a2 = *(var_60h);
    0x0009c850 sw v1, 0x10(sp)               |     *(var_10h) = v1;
    0x0009c854 lw v1, 0x68(sp)               |     v1 = *(var_68h);
    0x0009c858 lw t9, -0x78ac(gp)            |     t9 = sym.sshkey_verify;
    0x0009c85c lw a1, 0x64(sp)               |     a1 = *(var_64h);
    0x0009c860 sw zero, 0x1c(sp)             |     *(var_1ch) = 0;
    0x0009c864 sw zero, 0x18(sp)             |     *(var_18h) = 0;
    0x0009c868 sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x0009c86c move a3, v0                   |     a3 = v0;
    0x0009c870 move a0, v1                   |     a0 = v1;
    0x0009c874 jalr t9                       |     t9 ();
    0x0009c878 lw gp, 0x38(sp)               |     gp = *(var_38h);
                                             |     if (v0 != 0) {
    0x0009c87c bnez v0, 0x9c364              |         goto label_6;
                                             |     }
    0x0009c880 move a2, s4                   |     a2 = s4;
                                             |     if (s7 == 0) {
    0x0009c884 beqz s7, 0x9c900              |         goto label_30;
                                             |     }
    0x0009c888 move v1, zero                 |     v1 = 0;
    0x0009c88c b 0x9c89c                     |     
                                             |     while (v0 == 0) {
    0x0009c890 addiu v1, v1, 1               |         v1++;
    0x0009c894 addiu a2, a2, 4               |         a2 += 4;
                                             |         if (s7 == v1) {
    0x0009c898 beq s7, v1, 0x9c900           |             goto label_30;
                                             |         }
    0x0009c89c lw t9, -0x7fd0(gp)            |         t9 = sym.sshkey_equal;
    0x0009c8a0 lw a0, (a2)                   |         a0 = *(a2);
    0x0009c8a4 lw a1, 0x84(sp)               |         a1 = *(var_84h);
    0x0009c8a8 sw v1, 0x60(sp)               |         *(var_60h) = v1;
    0x0009c8ac sw a2, 0x40(sp)               |         *(var_40h) = a2;
    0x0009c8b0 jalr t9                       |         t9 ();
    0x0009c8b4 lw gp, 0x38(sp)               |         gp = *(var_38h);
    0x0009c8b8 lw a2, 0x40(sp)               |         a2 = *(var_40h);
    0x0009c8bc lw v1, 0x60(sp)               |         v1 = *(var_60h);
    0x0009c8c0 beqz v0, 0x9c890              |         
                                             |     }
    0x0009c8c4 lw v0, -0x7e48(gp)            |     v0 = *(gp);
    0x0009c8c8 sw s7, 0x40(sp)               |     *(var_40h) = s7;
                                             |     /* str.KRL_signed_more_than_once_with_the_same_key */
    0x0009c8cc addiu v0, v0, -0x4440         |     v0 += -0x4440;
    0x0009c8d0 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x0009c8d4 addiu v0, zero, 2             |     v0 = 2;
    0x0009c8d8 lw s6, 0x44(sp)               |     s6 = *(var_44h);
    0x0009c8dc lw t9, -0x7f6c(gp)            |     t9 = sym.sshlog;
    0x0009c8e0 sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x0009c8e4 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0009c8e8 move a3, zero                 |     a3 = 0;
    0x0009c8ec addiu a2, zero, 0x43c         |     a2 = aav.0x0000043c;
    0x0009c8f0 b 0x9c28c                     |     goto label_7;
                                             | label_16:
    0x0009c8f4 lw t9, -0x7068(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x0009c8f8 jalr t9                       |     t9 ();
    0x0009c8fc nop                           |     
                                             | label_30:
    0x0009c900 lw t9, -0x7a38(gp)            |     t9 = sym.recallocarray;
    0x0009c904 addiu t0, s7, 1               |     t0 = s7 + 1;
    0x0009c908 addiu a3, zero, 4             |     a3 = 4;
    0x0009c90c move a2, t0                   |     a2 = t0;
    0x0009c910 sw t0, 0x40(sp)               |     *(var_40h) = t0;
    0x0009c914 move a1, s7                   |     a1 = s7;
    0x0009c918 move a0, s4                   |     a0 = s4;
    0x0009c91c bal 0xaef20                   |     sym_recallocarray ();
    0x0009c920 lw gp, 0x38(sp)               |     gp = *(var_38h);
                                             |     if (v0 != 0) {
    0x0009c924 beqz v0, 0x9c974              |         
    0x0009c928 sll v1, s7, 2                 |         v1 = s7 << 2;
    0x0009c92c addu v1, v0, v1               |         v1 = v0 + v1;
    0x0009c930 lw t0, 0x40(sp)               |         t0 = *(var_40h);
    0x0009c934 lw a0, 0x84(sp)               |         a0 = *(var_84h);
    0x0009c938 move s4, v0                   |         s4 = v0;
    0x0009c93c addiu v0, zero, 1             |         v0 = 1;
    0x0009c940 sw a0, (v1)                   |         *(v1) = a0;
    0x0009c944 move s7, t0                   |         s7 = t0;
    0x0009c948 sw zero, 0x84(sp)             |         *(var_84h) = 0;
    0x0009c94c sw v0, 0x40(sp)               |         *(var_40h) = v0;
    0x0009c950 b 0x9c200                     |         goto label_8;
                                             | label_29:
    0x0009c954 sw s7, 0x40(sp)               |         *(var_40h) = s7;
    0x0009c958 lw s6, 0x44(sp)               |         s6 = *(var_44h);
    0x0009c95c addiu s1, zero, -1            |         s1 = -1;
    0x0009c960 b 0x9c2a8                     |         goto label_5;
                                             | label_28:
    0x0009c964 sw s7, 0x40(sp)               |         *(var_40h) = s7;
    0x0009c968 lw s6, 0x44(sp)               |         s6 = *(var_44h);
    0x0009c96c addiu s1, zero, -4            |         s1 = -4;
    0x0009c970 b 0x9c2a8                     |         goto label_5;
                                             |     }
    0x0009c974 sw s7, 0x40(sp)               |     *(var_40h) = s7;
    0x0009c978 lw s6, 0x44(sp)               |     s6 = *(var_44h);
    0x0009c97c addiu s1, zero, -2            |     s1 = -2;
    0x0009c980 b 0x9c2a8                     |     goto label_5;
                                             | label_25:
    0x0009c984 lw v0, 0x40(sp)               |     v0 = *(var_40h);
    0x0009c988 lw s4, 0x44(sp)               |     s4 = *(var_44h);
    0x0009c98c sll s1, v0, 2                 |     s1 = v0 << 2;
    0x0009c990 lw v0, -0x7344(gp)            |     v0 = sym.ssh_krl_check_key;
    0x0009c994 lw s5, 0x70(sp)               |     s5 = *(var_70h);
    0x0009c998 lw fp, 0x74(sp)               |     fp = *(var_74h);
    0x0009c99c lw s7, 0x13c(sp)              |     s7 = *(arg_13ch);
    0x0009c9a0 sw s0, 0x50(sp)               |     *(var_50h) = s0;
    0x0009c9a4 addu s1, s1, s4               |     s1 += s4;
    0x0009c9a8 move s2, zero                 |     s2 = 0;
    0x0009c9ac sw v0, 0x44(sp)               |     *(var_44h) = v0;
    0x0009c9b0 move s0, s4                   |     s0 = s4;
                                             |     do {
                                             | label_9:
    0x0009c9b4 lw t9, 0x44(sp)               |         t9 = *(var_44h);
                                             |         if (s0 == s1) {
    0x0009c9b8 beq s0, s1, 0x9ca44           |             goto label_31;
                                             |         }
    0x0009c9bc lw a1, (s0)                   |         a1 = *(s0);
    0x0009c9c0 move a0, s6                   |         a0 = s6;
    0x0009c9c4 jalr t9                       |         t9 ();
    0x0009c9c8 lw gp, 0x38(sp)               |         gp = *(var_38h);
                                             |         if (v0 != 0) {
    0x0009c9cc bnez v0, 0x9ca28              |             goto label_32;
                                             |         }
    0x0009c9d0 addiu s2, zero, 1             |         s2 = 1;
    0x0009c9d4 addiu s0, s0, 4               |         s0 += 4;
    0x0009c9d8 b 0x9c9b4                     |         
                                             |     } while (1);
                                             | label_27:
    0x0009c9dc lw v0, -0x7e48(gp)            |     v0 = *(gp);
    0x0009c9e0 lw t9, -0x7f6c(gp)            |     t9 = sym.sshlog;
                                             |     /* str.Unsupported_KRL_section__u */
    0x0009c9e4 addiu v0, v0, -0x43a8         |     v0 += -0x43a8;
    0x0009c9e8 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x0009c9ec addiu v0, zero, 2             |     v0 = 2;
    0x0009c9f0 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0009c9f4 lw v0, 0x4c(sp)               |     v0 = *(var_4ch);
    0x0009c9f8 sw v1, 0x1c(sp)               |     *(var_1ch) = v1;
    0x0009c9fc addiu a1, v0, -0x41b0         |     a1 = v0 + -0x41b0;
    0x0009ca00 lw v0, 0x48(sp)               |     v0 = *(var_48h);
    0x0009ca04 sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x0009ca08 move a3, zero                 |     a3 = 0;
    0x0009ca0c addiu a2, zero, 0x482         |     a2 = 0x482;
    0x0009ca10 addiu a0, v0, -0x4530         |     a0 = v0 + -0x4530;
    0x0009ca14 lw s4, 0x44(sp)               |     s4 = *(var_44h);
    0x0009ca18 addiu s1, zero, -4            |     s1 = -4;
    0x0009ca1c jalr t9                       |     t9 ();
    0x0009ca20 lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0009ca24 b 0x9c2a8                     |     goto label_5;
                                             | label_32:
    0x0009ca28 lw t9, -0x7f10(gp)            |     t9 = sym.sshkey_free;
    0x0009ca2c lw a0, (s0)                   |     a0 = *(s0);
    0x0009ca30 addiu s0, s0, 4               |     s0 += 4;
    0x0009ca34 jalr t9                       |     t9 ();
    0x0009ca38 lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0009ca3c sw zero, -4(s0)               |     *((s0 - 1)) = 0;
    0x0009ca40 b 0x9c9b4                     |     goto label_9;
                                             | label_31:
    0x0009ca44 lw v0, 0x40(sp)               |     v0 = *(var_40h);
    0x0009ca48 lw s0, 0x50(sp)               |     s0 = *(var_50h);
                                             |     if (v0 == 0) {
    0x0009ca4c beqz v0, 0x9cb5c              |         goto label_33;
                                             |     }
    0x0009ca50 lw v0, -0x7e48(gp)            |     v0 = *(gp);
                                             |     if (s2 == 0) {
    0x0009ca54 beqz s2, 0x9cb1c              |         goto label_34;
                                             |     }
                                             |     if (s7 == 0) {
                                             | label_12:
    0x0009ca58 beql s7, zero, 0x9cac0        |         goto label_35;
                                             |     }
    0x0009ca5c sw s6, (s5)                   |     *(s5) = s6;
    0x0009ca60 sw s5, 0x44(sp)               |     *(var_44h) = s5;
    0x0009ca64 move s1, zero                 |     s1 = 0;
    0x0009ca68 move s5, s0                   |     s5 = s0;
    0x0009ca6c sll v0, s1, 2                 |     v0 = s1 << 2;
                                             | label_11:
    0x0009ca70 addu s0, fp, v0               |     s0 = fp + v0;
    0x0009ca74 move s2, zero                 |     s2 = 0;
                                             |     do {
    0x0009ca78 lw v0, 0x40(sp)               |         v0 = *(var_40h);
    0x0009ca7c sll a0, s2, 2                 |         a0 = s2 << 2;
                                             |         if (s2 == v0) {
    0x0009ca80 beq s2, v0, 0x9cac8           |             goto label_36;
                                             |         }
    0x0009ca84 lwx a0, a0(s4)                |         __asm ("lwx a0, a0(s4)");
    0x0009ca88 lw t9, -0x7fd0(gp)            |         t9 = sym.sshkey_equal;
                                             |         if (a0 != 0) {
    0x0009ca8c beqz a0, 0x9caa0              |             
    0x0009ca90 lw a1, (s0)                   |             a1 = *(s0);
    0x0009ca94 jalr t9                       |             t9 ();
    0x0009ca98 lw gp, 0x38(sp)               |             gp = *(var_38h);
                                             |             if (v0 != 0) {
    0x0009ca9c bnez v0, 0x9cab4              |                 goto label_37;
                                             |             }
                                             |         }
    0x0009caa0 addiu s2, s2, 1               |         s2++;
    0x0009caa4 b 0x9ca78                     |         
                                             |     } while (1);
                                             | label_37:
    0x0009cab4 move s0, s5                   |     s0 = s5;
    0x0009cab8 lw s5, 0x44(sp)               |     s5 = *(var_44h);
    0x0009cabc sw s6, (s5)                   |     *(s5) = s6;
                                             | label_35:
    0x0009cac0 move s1, zero                 |     s1 = 0;
    0x0009cac4 b 0x9c2bc                     |     goto label_10;
                                             | label_36:
    0x0009cac8 addiu s1, s1, 1               |     s1++;
    0x0009cacc sll v0, s1, 2                 |     v0 = s1 << 2;
                                             |     if (s7 != s1) {
    0x0009cad0 bne s7, s1, 0x9ca70           |         goto label_11;
                                             |     }
    0x0009cad4 lw v0, -0x7e48(gp)            |     v0 = *(gp);
    0x0009cad8 lw t9, -0x7f6c(gp)            |     t9 = sym.sshlog;
                                             |     /* str.KRL_not_signed_with_any_trusted_key */
    0x0009cadc addiu v0, v0, -0x4340         |     v0 += -0x4340;
    0x0009cae0 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x0009cae4 addiu v0, zero, 2             |     v0 = 2;
    0x0009cae8 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0009caec lw v0, 0x4c(sp)               |     v0 = *(var_4ch);
    0x0009caf0 sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x0009caf4 addiu a1, v0, -0x41b0         |     a1 = v0 + -0x41b0;
    0x0009caf8 lw v0, 0x48(sp)               |     v0 = *(var_48h);
    0x0009cafc move a3, zero                 |     a3 = 0;
    0x0009cb00 addiu a2, zero, 0x4ac         |     a2 = aav.0x000004ac;
    0x0009cb04 addiu a0, v0, -0x4530         |     a0 = v0 + -0x4530;
    0x0009cb08 jalr t9                       |     t9 ();
    0x0009cb0c move s0, s5                   |     s0 = s5;
    0x0009cb10 lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0009cb14 addiu s1, zero, -0x15         |     s1 = -0x15;
    0x0009cb18 b 0x9c2a8                     |     goto label_5;
                                             | label_34:
    0x0009cb1c lw t9, -0x7f6c(gp)            |     t9 = sym.sshlog;
                                             |     /* str.All_keys_used_to_sign_KRL_were_revoked */
    0x0009cb20 addiu v0, v0, -0x4368         |     v0 += -0x4368;
    0x0009cb24 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x0009cb28 addiu v0, zero, 2             |     v0 = 2;
    0x0009cb2c sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0009cb30 lw v0, 0x4c(sp)               |     v0 = *(var_4ch);
    0x0009cb34 sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x0009cb38 addiu a1, v0, -0x41b0         |     a1 = v0 + -0x41b0;
    0x0009cb3c lw v0, 0x48(sp)               |     v0 = *(var_48h);
    0x0009cb40 move a3, zero                 |     a3 = 0;
    0x0009cb44 addiu a2, zero, 0x498         |     a2 = aav.0x00000498;
    0x0009cb48 addiu a0, v0, -0x4530         |     a0 = v0 + -0x4530;
    0x0009cb4c jalr t9                       |     t9 ();
    0x0009cb50 addiu s1, zero, -0x33         |     s1 = -0x33;
    0x0009cb54 lw gp, 0x38(sp)               |     gp = *(var_38h);
    0x0009cb58 b 0x9c2a8                     |     goto label_5;
                                             | label_33:
    0x0009cb5c move s1, zero                 |     s1 = 0;
                                             |     if (s2 != 0) {
    0x0009cb60 bnez s2, 0x9ca58              |         goto label_12;
                                             |     }
    0x0009cb64 sw s6, (s5)                   |     *(s5) = s6;
    0x0009cb68 b 0x9c2bc                     |     goto label_10;
                                             | }

[*] Function strcat used 1 times sshd